Commit graph

216 commits

Author SHA1 Message Date
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
Filippos Karapetis
c486b77bb7 Fixed crash in SCI2.1 games
svn-id: r49546
2010-06-09 18:42:21 +00:00
Filippos Karapetis
a542ce174b Proper fix for kernel name loading (regression from commit #49537)
svn-id: r49544
2010-06-09 15:28:14 +00:00
Filippos Karapetis
3c9ab81a07 Fixed regression from commit #49537
svn-id: r49543
2010-06-09 15:21:10 +00:00
Filippos Karapetis
2c629a04dd Merged script_init_engine() and game_init() and cleaned up SciEngine::run() a bit
svn-id: r49537
2010-06-09 10:45:54 +00:00
Filippos Karapetis
967d9ea308 Added a stub for kMergePoly, to avoid crashing in QFG1VGA after killing a monster
svn-id: r49288
2010-05-28 10:45:20 +00:00
Filippos Karapetis
46af5a5162 - Moved kernel_lookup_text inside the Kernel class
- Added a pointer to the segment manager from within the Kernel class, thus simplifying the calls to it

svn-id: r49076
2010-05-18 12:16:48 +00:00
Filippos Karapetis
75f4791a4a - Moved determine_reg_type() and kernel_matches_signature() inside the Kernel class, where they belong
- Moved the kernel signature defines inside kernel.h
- Removed some unused references to EngineState

svn-id: r49075
2010-05-18 11:23:13 +00:00
Max Horn
c934642bdb COMMON: Move typedef StringList from str.h to new header str-array.h
This removes the dependency on array.h from str.h.
Also, begun migration from the confusing type name "StringList" to
the more appropriate StringArray.

svn-id: r48282
2010-03-18 15:09:24 +00:00
Filippos Karapetis
24b0622e6f Removed dead code
svn-id: r48097
2010-02-20 23:30:59 +00:00
Filippos Karapetis
e321654dcd Added a stub for kCreateTextBitmap, which shows the text that should be drawn on screen
svn-id: r47816
2010-02-02 17:20:21 +00:00
Filippos Karapetis
86408ae3bc Added an initial implementation of kGetHighPlanePri
svn-id: r47799
2010-02-01 17:04:20 +00:00
Walter van Niftrik
b0b7764178 SCI: Add stub for kIntersections()
svn-id: r47784
2010-01-31 22:38:07 +00:00
Walter van Niftrik
a92bb6193b SCI: Implement kMemorySegment().
svn-id: r47776
2010-01-31 19:47:54 +00:00
Max Horn
4ffec28103 SCI: Move selector stuff to new header; reorder k_argc & k_argp param of invoke_selector
svn-id: r47665
2010-01-29 11:03:54 +00:00
Walter van Niftrik
639fb4c389 SCI: Cleanup
svn-id: r47649
2010-01-28 20:29:45 +00:00
Filippos Karapetis
493350e905 SCI2.1: Added a dummy function for kRobot (with some info on its parameters), assigned IsOnMe to OnMe (needs verification, but seems to be correct) and changed kSave(8) to return nonzero. The menu of the Phantasmagoria demo is now shown, together with its creepy music :)
svn-id: r47648
2010-01-28 19:57:14 +00:00