Commit Graph
282 Commits
Author SHA1 Message Date
Filippos Karapetis f446dbc8d5 SCI: Implemented the kPrintDebug SCI2.1 kernel function, used in Shivers (demo)
svn-id: r52665
2010-09-09 20:09:32 +00:00
Martin Kiewitz a8afefd64b SCI: kIsOnMe is kOnMe, merge both into kIsOnMe
and map kOnMe for SCI2 to kIsOnMe, remove commented out hacks. fix signatures for those 2 functions, added TODO - someone should fix the SCI32 signatures

svn-id: r52664
2010-09-09 20:07:53 +00:00
Filippos Karapetis 746a1c5614 SCI: Kernel table changes
- Added the kernel names for all unimplemented kernel debug functions, and mapped
them all to kDummy, so that the kernel tables are correct and all kernel
functions are mapped (useful for debugging)
- Added a stub for kWinHelp (normally opens an external Windows help file), with
an appropriate dialog
- Added a stub for kWinDLL, which currently errors out on purpose (this needs to
be investigated, as it loads and uses external Windows DLLs)
- Readded kListIndexOf in kList (the signature was wrong when the previous commit
was made)

svn-id: r52660
2010-09-09 15:09:26 +00:00
Filippos Karapetis c3c36cc59b SCI: SCI2/2.1 kernel table changes
- Mark several SCI2/2.1 kernel functions used for debugging as dummy
- Added an empty function for kSetWindowsOption, used for settings specific to
Windows versions (e.g. showing/hiding the title bar)
- Added a stub for kGetWindowsOption (currently returning 0 to a Windows related
option for Phantasmagoria)

svn-id: r52652
2010-09-09 11:40:46 +00:00
Filippos Karapetis 68f3cc944c SCI: Reimplemented the kShow kernel command, used by the inbuilt SCI debugger. There is no real need to implement kernel debug commands, but since this one maps almost directly to our own "show" debug command, it has been reimplemented (was removed in rev #45310). Normally, there is no real need to implement kernel functions for debug functionality, since there are advanced tools for this purpose nowadays (plus, ScummVM's debugger). Fixes bug #3050616 - "QFG1 EGA: priority/control/view functions crash, debug mode"
svn-id: r52281
2010-08-22 16:30:33 +00:00
Martin Kiewitz fcede4680a SCI: adding bpk debug command
currently removing or listing such breakpoints is not yet supported

svn-id: r51710
2010-08-03 19:06:40 +00:00
Filippos Karapetis 5ca6b33ba7 SCI: Silenced some sound related warnings. Added an empty function for kDoSound(Restore), called when restoring games
svn-id: r51661
2010-08-02 21:20:43 +00:00
Martin Kiewitz 41ed8b4389 SCI: some subfunction support for logkernel
svn-id: r51475
2010-07-29 17:22:38 +00:00
Matthew Hoops 828434456f SCI: Better fix for bug #3035058 - ECOQUEST demo: Missing subtitles
The demo really uses kGetMessage and not kMessage. We now detect which version of the message function is used. Thanks to Walter for pointing this out.

svn-id: r51384
2010-07-27 19:07:39 +00:00
Martin Kiewitz e3866046af SCI: adding kAddPicAt dummy
svn-id: r51283
2010-07-25 20:41:23 +00:00
Martin Kiewitz 246a157d1e SCI: adding separate kCantBeHere32 (stub)
svn-id: r51273
2010-07-25 13:11:28 +00:00
Martin Kiewitz 3a45e47c5c SCI: adding new debug command logkernel
svn-id: r51220
2010-07-23 20:47:15 +00:00
Max Horn 175d6e297d SCI: More rest of the workaround defs to workarounds.h
svn-id: r51090
2010-07-21 14:54:06 +00:00
Filippos Karapetis 2ed45d3719 SCI: Moved all the static kernel-related tables in a separate file. Also, moved kStub, kStubNull and kDummy inside kmisc.cpp, together with the other misc kernel calls
svn-id: r51089
2010-07-21 14:50:31 +00:00
Martin Kiewitz a0ce89d2e9 SCI: clean up workaround tables/code
svn-id: r51068
2010-07-20 17:58:04 +00:00
Martin Kiewitz ef69fb1af5 SCI: adding uninit workarounds for cnick games
longbow and king's quest
KQ has the same issues as hoyle 3

svn-id: r51063
2010-07-20 14:27:30 +00:00
Martin Kiewitz a24de29358 SCI: renaming kDoSound(resume) to resumeAfterRestore
kDoSound(resumeAfterRestore) is called right after restoring a saved game for sound-sci0 games, we already resume playing music inside restore, so we don't need to implement this at all

svn-id: r51058
2010-07-20 11:17:33 +00:00
Martin Kiewitz 4595b8818a SCI: adding room numbers to all workarounds
svn-id: r50990
2010-07-18 13:08:47 +00:00
Martin Kiewitz 3195ab099a SCI: added signatures for kFileIO, some changes to actual kFileIO code, removed some CHECKMEs/TODOs
svn-id: r50896
2010-07-14 22:07:36 +00:00
Filippos Karapetis b5d4056e9c Typos
svn-id: r50863
2010-07-14 02:12:03 +00:00
Filippos Karapetis 2bfee401d2 SCI:
- Split SCI2 from SCI2.1 signature checks
- Added signature checking for the subops of the SCI2.1 kernel call kList
- Added support for calls to kAddToFront and kAddToEnd with 3 parameters (unimplemented code uncovered by the signature checks)
- Added a FIXME for a potential incorrect subop (uncovered by the signature checks), which might be related to the crashes in the demo of Torin's Passage

svn-id: r50861
2010-07-14 00:57:48 +00:00
Max Horn e782fec85a SCI: Remove dead code
svn-id: r50817
2010-07-12 11:09:11 +00:00
Martin Kiewitz 790e9b0351 SCI: added signatures for kGraph, removed isDummy boolean from KernelFunction
svn-id: r50786
2010-07-10 18:21:09 +00:00
Martin Kiewitz f38348b82e SCI: adding kPalette signatures, fixing 3 kPalVary calls, fixing kAssertPalette (we used the wrong parameter number before, maybe the issues were caused by this)
svn-id: r50780
2010-07-10 12:19:32 +00:00
Martin Kiewitz f687a44d2a SCI: added kPalVary signatures & mapping, removed debug-warnings
svn-id: r50777
2010-07-10 10:20:23 +00:00
Martin Kiewitz d27e4a475b SCI: removing origName from KernelFunction struct, adding debugCalls boolean for later use
svn-id: r50769
2010-07-09 21:10:14 +00:00
Martin Kiewitz ba776fb293 SCI: implemented subsignatures for kDoSound
svn-id: r50755
2010-07-09 12:06:41 +00:00
Martin Kiewitz 7e05d6e62b SCI: part of subfunction signature&mapping implemented, little cleanup
svn-id: r50750
2010-07-08 21:22:59 +00:00
Martin Kiewitz b877f3c711 SCI: sorted kernel map alphabetically
svn-id: r50746
2010-07-08 18:26:05 +00:00
Martin Kiewitz 322d57a1dd SCI: adding support to kernel signatures that invalid references may also get allowed - doing exactly this for kGraph(restoreBox) - fixes castle of dr. brain when quitting the game - maybe a game specific workaround would be better?!?!
svn-id: r50737
2010-07-07 18:35:07 +00:00
Martin Kiewitz c349d7130c SCI: removing invalid reference error from signature checking, instead adding new type "invalid", so that full call parameter debug information is available
svn-id: r50725
2010-07-06 14:26:29 +00:00
Martin Kiewitz 63c439a858 SCI: fix compilation issues from r50678
svn-id: r50679
2010-07-05 14:46:09 +00:00
Martin Kiewitz 5527882daa SCI: implemented new kernel call signature format
svn-id: r50678
2010-07-05 14:36:31 +00:00
Martin Kiewitz 5872f5bb1f SCI: adding support to identify uninitialized values, when doing debug output for kernel signatures
svn-id: r50626
2010-07-03 18:44:44 +00:00
Lars Skovlund 4dd02d2f4a Support the CD kernel call (stub) and add the TRUE_REG constant.
Would be nice to use this constant in pre-existing code.

svn-id: r50577
2010-07-01 22:38:36 +00:00
Filippos Karapetis bff3e89e48 SCI: Removed the FreeSCI music code
svn-id: r50532
2010-06-30 13:49:05 +00:00
Martin Kiewitz 7595e7c1be SCI: implementing workarounds for kernel calls, removing original code workaround for kDisposeScript / qfg1 room 64 and adding it to workaround table
svn-id: r50520
2010-06-30 09:47:04 +00:00
Martin Kiewitz f75a6a6f47 SCI: print out actual and supposed parameter types when having a kernel call signature mismatch
svn-id: r50487
2010-06-29 10:39:13 +00:00
Filippos Karapetis ab19e87414 Removed all of the non-validating code - there's no real point in removing script validations
svn-id: r50275
2010-06-25 16:54:03 +00:00
Filippos Karapetis df37aff357 Added the SCI2.1 kText kernel function (subop 0, kTextSize for now)
svn-id: r50265
2010-06-25 14:50:10 +00:00
Filippos Karapetis 0a102981f0 Moved the SelectorCache struct inside selector.h, where it belongs, and fixed some header dependencies in the process
svn-id: r50183
2010-06-23 15:23:37 +00:00
Max Horn 78cd1aa145 SCI: Remove hack related to compiled kernel signatures.
Also change some things to comply to our code formatting conventions.

svn-id: r49967
2010-06-17 23:13:54 +00:00
Max Horn cfcbdf8656 SCI: Remove selector_name function, some cleanup
svn-id: r49966
2010-06-17 23:13:30 +00:00
Filippos Karapetis 18dc295a33 Hooked the VMD player in kPlayVMD. The VMD videos in the demo of Phantasmagoria 1 are shown now (e.g. the intro and the chapter beginning)
svn-id: r49912
2010-06-16 23:30:22 +00:00
Filippos Karapetis 20d8de27ba Implemented the SCI2.1 kMulDiv kernel function. Walking in Torin's Passage is done correctly now, without leaving trails
svn-id: r49909
2010-06-16 21:56:39 +00:00
Filippos Karapetis 95f55f3b05 Hopefully fixed kOnMe (SCI2) and implemented kIsOnMe (SCI2.1). GK1 and the demo of Phantasmagoria 1 should now be responding to mouse clicks and movement correctly
svn-id: r49659
2010-06-14 15:49:11 +00:00
Filippos Karapetis 377cfe6fef Added a new kernel function, kEmpty, for really empty (not dummy, i.e. unimplemented) functions
svn-id: r49591
2010-06-11 07:47:57 +00:00
Max Horn 85b0ec3408 SCI: Fix some doxygen comments
svn-id: r49581
2010-06-10 15:26:26 +00:00
Max Horn 874151f5d1 SCI: Cleanup kernel signature code a bit.
* Moved KSIG_SPEC_* from kernel.h to kernel.cpp
* Clarified the comment on KSIG_SPEC_* a bit
* Changed the other KSIG_ #defines into an enum
* Removed KSIG_TERMINATOR and KSIG_SPEC_ARITMETIC (sic)

svn-id: r49578
2010-06-10 15:25:36 +00:00
Max Horn afa2af5dfb SCI: cleanup
svn-id: r49573
2010-06-10 13:43:38 +00:00