Commit Graph
233 Commits
Author SHA1 Message Date
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
Filippos Karapetis cebb052e2c Added comments on the SCI0-SCI1.1 kernel function table differences
svn-id: r48100
2010-02-21 01:25:10 +00:00
Max Horn 903b694574 SCI: Cleanup resource.h
svn-id: r48084
2010-02-17 23:37:32 +00:00
Matthew Hoops 9183ab57a3 SCI1 Mac games can call kGetFarText with a NULL destination, so we need to allocate the memory. King's Quest V Mac is now playable.
svn-id: r47950
2010-02-07 04:25:05 +00:00
Walter van Niftrik 19910ec279 SCI: Add implementation for Intersections().
svn-id: r47901
2010-02-05 12:57:05 +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
Willem Jan Palenstijn 06bd17ee71 SCI: Remove extra '\n's in debugC messages
svn-id: r47707
2010-01-30 11:59:05 +00:00
Matthew Hoops da46fc9b35 Add support for saving/loading Arrays/Strings in SCI32. It's possible to save a game in GK1 now via the console, but not load (yet).
svn-id: r47696
2010-01-30 02:03:59 +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
Matthew Hoops d883b6215f Detect whether to use the modified SCI2 or SCI2.1 kernel table based on the kDoSound call used in Sound::play(), which fixes at least my version of KQ7 - probably others. The kernel table initialization now occurs after the script signatures are adjusted as we need it adjusted before checking through Sound::play for the kDoSound call.
svn-id: r47645
2010-01-28 18:57:31 +00:00
Filippos Karapetis 0f76902068 Mention that the signature of kUnload has been set like this because of the SQ1 bug
svn-id: r47569
2010-01-26 15:39:23 +00:00
Johannes Schickel aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Filippos Karapetis dcbcb41855 kSetSynonyms is really parser related, but it's an empty function in games without a parser
svn-id: r47484
2010-01-23 20:27:14 +00:00
Filippos Karapetis c4d02f5784 Updated kernel function check for kGetEvent in Mac versions and adjusted the comments for kGetSaveDir
svn-id: r47307
2010-01-15 15:30:40 +00:00
Martin Kiewitz 7db58ae29e SCI: fix kernel signature for kDrawCel (fixes island of dr. brain), added debugging output for kernel_matches_signature
svn-id: r47288
2010-01-13 11:14:04 +00:00
Johannes Schickel 3578f8d091 Fix some memory leaks caused by never freeing the allocated memory, which is pointed at by KernelFuncWithSignature::signature.
svn-id: r47275
2010-01-12 20:19:45 +00:00
Filippos Karapetis 61e792319d Don't update the screen twice while waiting
svn-id: r47254
2010-01-11 16:33:00 +00:00
Martin Kiewitz 7f358e3bbd SCI: changed kernel signature for kDrawCel, enabled upscaled hires savebox code ("crashed" before because afterwards kDrawCel will get the handle from the savebox call)
svn-id: r47121
2010-01-07 15:25:03 +00:00
Filippos Karapetis d99aa0f126 More renaming
svn-id: r47009
2010-01-05 01:37:57 +00:00
Matthew Hoops 986a75b7ee Implement kInPolygon for SCI32. GK1 now responds when you click on things.
svn-id: r46918
2010-01-03 05:29:30 +00:00
Matthew Hoops 92a8d1360a kLocalToGlobal has a 'Plane' variant in SCI32 like its kGlobalToLocal sibling. The restore menu is now slightly navigatable.
svn-id: r46790
2009-12-31 05:30:25 +00:00
Matthew Hoops 5382aa1ab0 SCI32:
- Set signature for Array/String
	- Add the kernel table differences for the GK2 demo
	- Implement kMessage changes in SCI32
	- Use an empty string as the default path for all games now (and modify kValidPath to accept that only as valid)
	- Add dereferencing for Arrays

svn-id: r46756
2009-12-30 16:00:56 +00:00
Filippos Karapetis 17454ee80f Initial implementation of the SCI21 kList kernel function (which calls all the other list-related functions), thanks to the help of waltervn
svn-id: r46744
2009-12-30 14:31:00 +00:00
Filippos Karapetis d8b67ed7c6 SCI32: Moved all the list related kernel functions inside klists.cpp, and implemented kListAllTrue with the help of waltervn
svn-id: r46742
2009-12-30 14:00:30 +00:00
Filippos Karapetis bbc52c13ab Implemented ListFirstTrue(), thanks to the help of waltervn. Now, buttons can be highlighted and clicked when the control panel is shown in GK1, and the options dialog pops up when the options button is selected
svn-id: r46741
2009-12-30 13:43:17 +00:00
Filippos Karapetis 0e63912970 SCI32: added some of clone2727's changes to kArray and kString, and implemented kListIndexOf
svn-id: r46739
2009-12-30 12:55:24 +00:00
Filippos Karapetis fabe51c129 Renamed gameName -> gameId, to keep the same vocabulary everywhere
svn-id: r46635
2009-12-27 12:54:03 +00:00
Filippos Karapetis 8851663363 Turned some unimplemented debug related kernel functions into dummy functions
svn-id: r46613
2009-12-27 02:57:03 +00:00
Filippos Karapetis b2c170168e SCI2: Implemented kListEachElementDo (a more advanced version of SciGuiAnimate:invoke()) and kListAt. Now, the Sierra logo music can be heard, and game logic is running on objects of the animated views list
svn-id: r46591
2009-12-26 15:47:57 +00:00