Commit Graph
264 Commits
Author SHA1 Message Date
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
Martin Kiewitz 6b152e8039 SCI: fixing #define SIGFOR_ALL, so that amiga games work again :P
svn-id: r50621
2010-07-03 12:33:49 +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 fa014867cf SCI: Mark the ShiftScreen, ListOps and ATan SCI1 kernel functions as unused (dummy) - we haven't seen them being used anywhere. Added a check and an error in case a kernel function which is considered to be unused is called.
svn-id: r50567
2010-07-01 20:16:42 +00:00
Martin Kiewitz 04d8ac4114 SCI: removing sq1 workaround for kUnLoad for now, maybe it was originally meant for calling kUnLoad with just 1 argument
svn-id: r50534
2010-06-30 14:39:03 +00:00
Filippos Karapetis a14c6d7815 Fixed the signature for kUnload (thanks m_kiewitz)
svn-id: r50530
2010-06-30 13:31:47 +00:00
Martin Kiewitz cf5c60ed4f SCI: changing signature of kUnLoad, adding workaround for sq1 ulence flats bug
svn-id: r50527
2010-06-30 11:05:29 +00:00
Martin Kiewitz c6695b1d6a SCI: removing all the remaining debug output from signature matching
svn-id: r50525
2010-06-30 10:31:23 +00:00
Martin Kiewitz 915b9fa318 SCI: removing full debug output when signature fails to the point where we didnt find a workaround for a signature mismatch
svn-id: r50522
2010-06-30 10:09:07 +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 97186bd5b0 SCI: added sci32-specific signature for kGetSaveDir
svn-id: r50509
2010-06-29 21:53:27 +00:00
Martin Kiewitz 0f28c799f0 SCI: added mac-specific signature for kGetEvent
svn-id: r50508
2010-06-29 21:47:34 +00:00
Martin Kiewitz 2e58bdc202 SCI: implemented version specific signatures, added special kDrawCel signature for SCI1.1 (PC)/kq6
svn-id: r50507
2010-06-29 21:41:36 +00:00
Martin Kiewitz c536630648 SCI: adding space in kernelmap for workaround table
svn-id: r50506
2010-06-29 21:13:19 +00:00
Martin Kiewitz 7951e3ddcf SCI: kernelMap cleanup and making it possible to have version (not implemented yet) or platform specific entries - changing signature for kNewWindow - using old dummy-signature for mac-only
svn-id: r50504
2010-06-29 20:44:19 +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
Max Horn 30218a2c32 SCI: Make Script member vars private; add const qualifiers
Only three Script members remain public (for now)

svn-id: r50428
2010-06-28 11:22:20 +00:00
Max Horn 6ee82a2027 SCI: Introduce SciGameId enum
svn-id: r50273
2010-06-25 16:16:29 +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
Max Horn bb528d894c SCI: Rewrap some overlong comments
svn-id: r50012
2010-06-18 09:37:06 +00:00
Filippos Karapetis db70d66e4a Strict mode: Changed several warnings due to logic bugs into errors. If an error pops up from these ones, please add the game where it occurred and the steps to reproduce the error before turning it into a warning
svn-id: r49973
2010-06-17 23:50:28 +00:00
Max Horn 359be0c066 SCI: Change SciEngine's 'char *getGameID()' to 'Common::String getGameId()'
svn-id: r49968
2010-06-17 23:14:34 +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
Matthew Hoops 1cb4f703f1 Fix the QFG4 Demo: kStrSplit has been replaced with kRemapColors.
svn-id: r49939
2010-06-17 18:30:11 +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
Filippos Karapetis 5baa47a9cb In SCI1.1, kSetSynonyms is a dummy (empty) function
svn-id: r49586
2010-06-10 23:16:32 +00:00
Max Horn 5424d8aecb SCI: Get rid of DEFUN, cleanup
svn-id: r49579
2010-06-10 15:25:54 +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
Filippos Karapetis c486b77bb7 Fixed crash in SCI2.1 games
svn-id: r49546
2010-06-09 18:42:21 +00:00
Filippos Karapetis d191c9d0f9 Limit kPortrait to be used in the Windows version of KQ6 only
svn-id: r49545
2010-06-09 17:04:03 +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
Walter van Niftrik d30d57b923 SCI: Relax signature of kCreateTextBitmap.
svn-id: r49470
2010-06-07 02:11:19 +00:00
Filippos Karapetis c32e88fe0b Limit access to the _bufSize, _scriptSize and _heapSize members of the Script class
svn-id: r49327
2010-05-30 16:14:31 +00:00
Filippos Karapetis d9c0abe0b8 Cleanup
svn-id: r49290
2010-05-28 10:53:03 +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
Matthew Hoops a32b7b3851 Fix starting GK1.
svn-id: r49265
2010-05-27 17:47:32 +00:00
Filippos Karapetis f3892a506b - Removed the wrapper kalloc, kmem and kfree functions. Now, the associated Segment manager functions allocateHunkEntry, getHunkPointer and freeHunkEntry are used directly (which are more descriptive, anyway)
- Replaced the GET_SEGMENT macro by a method of the segment manager
- Removed the unused reference to the created hunk in allocateHunkEntry(), only the reg_t reference to it is returned now

svn-id: r49078
2010-05-18 13:05:09 +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
Matthew Hoops 3dda73d9a2 Add initial support for KQ6 Mac. Wrapper functions for read/writing to pointers are now used (found in util.*) for code that has different endianness in SCI1.1+ Mac games. Add support for Mac 'snd ' and 'CURS' resources. QFG1 Mac is not yet playable due to script compression.
svn-id: r49070
2010-05-18 04:17:58 +00:00
Matthew Hoops 47d6284c83 ListIndexOf can have a null object reference, so adjust its signature. GK1 no longer crashes when right clicking in the inventory.
svn-id: r49009
2010-05-12 01:22:37 +00:00
Max Horn cac0ac66e2 COMMON: Get rid of Common::StringList
svn-id: r48287
2010-03-18 15:54:40 +00:00
Max Horn 2e68de1e5a SCI: Turn kernel_sleep() into SciEvent::sleep()
svn-id: r48119
2010-02-23 22:47:53 +00:00
Max Horn 02201e937a SCI: Move SciGui::wait to EngineState::wait
svn-id: r48118
2010-02-23 22:44:46 +00:00