Commit Graph
282 Commits
Author SHA1 Message Date
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
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 ae7696e5f1 Oops.... actually close the defgroup :)
svn-id: r47599
2010-01-27 14:10:19 +00:00
Filippos Karapetis ef313aee02 Fixed comment about vocabulary, so that it doesn't refer to the line below it
svn-id: r47598
2010-01-27 14:08:06 +00:00
Filippos Karapetis 545e221d41 Added information about all the vocabularies used in SCI
svn-id: r47573
2010-01-26 20:40:25 +00:00
Johannes Schickel aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Filippos Karapetis df149e1509 Separated the parser code
svn-id: r47480
2010-01-23 17:55:54 +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 781dd3b183 Fixed compilation with DISABLE_VALIDATIONS, and fixed a bug in kPrevNode
svn-id: r46949
2010-01-03 21:12:44 +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 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 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
Filippos Karapetis 71f6fede60 Removed the file and line parameters from the selector handling functions
svn-id: r46588
2009-12-26 14:58:23 +00:00
Filippos Karapetis 4f02900890 Kernel function 0x26 is empty in SCI1.1 games, and it has been set to kPortrait in KQ6CD only
svn-id: r46585
2009-12-26 13:53:59 +00:00
Matthew Hoops 996da19fc9 Stub SCI32's kOnMe to give better debugging info (used when clicking in the GK1 menu).
svn-id: r46533
2009-12-24 18:37:35 +00:00
Filippos Karapetis 9072b0c26e SCI32: Added some more stubs for picture manipulation, screen update and animation functions
svn-id: r46529
2009-12-24 15:02:06 +00:00
Filippos Karapetis 69fa167902 SCI32: The view related functions pass a view object as parameter, and the engine should deduce the parameters it needs from that object. Added stub view functions based on that fact. Also, added a sanity check in kCelHigh and kCelWide
svn-id: r46527
2009-12-24 13:50:50 +00:00
Matthew Hoops 65dcc0b2a3 SCI32:
- Fix dup for kArray/kString
	- Implement kFileIO::rename (SCI1.1)
	- Implement part of the SCI32 additions to kFileIO
	- Implement the GetSaveDir part of kSave (SCI2.1)
	- Torin (SCI2.1!) now shows signs of life -- it will create the torin.prf file with correct data!

svn-id: r46521
2009-12-24 02:43:07 +00:00
Matthew Hoops ef79d7f017 SCI32:
- Fully implement kArray and kIsHiRes and mostly implement kString (printf and atoi subfunctions still missing).
	- Add a dummy SciGui class for SCI32 to bypass the views. Gabriel Knight 1 will now play the Sierra logo music and the main menu music.
	- Some other minor SCI32 changes.

svn-id: r46462
2009-12-21 14:32:54 +00:00
Filippos Karapetis 4f918cd68c Removed dead code
svn-id: r46426
2009-12-20 12:43:36 +00:00
Martin Kiewitz a5f1808c83 SCI: SciEvent created, kernel_sleep() created
svn-id: r46252
2009-12-04 17:38:24 +00:00
Filippos Karapetis f755311114 priority_first and priority_last are not used by the new drawing code, thus the new code didn't handle priority changes by kGraph()
svn-id: r45658
2009-11-04 11:52:11 +00:00
Filippos Karapetis 86cafd561f Some work on the kPortrait kernel function, used to show hires character portraits in the Windows CD version of KQ6
svn-id: r45552
2009-10-30 22:55:35 +00:00
Filippos Karapetis 394fc76719 Rewrote kBaseSetter() to use new graphics functions and behave like the original, and fixed a bug in the process (the previous code ignored z when calculating the height)
svn-id: r45463
2009-10-28 14:23:23 +00:00
Filippos Karapetis b105d690e3 - Removed kShow() and the related code it uses - it's a debugging function, and we have the same functionality in the debug console
- Merged the view signal flags from kernel.h and gui_animate.h, and named them appropriately. Also, updated the notes next to them, cause some were incorrectly marked as not used in our engine
- Added a note about a hack used in the old GUI in the view signal flags
- Moved the control state flags inside gui_helpers.h

svn-id: r45310
2009-10-21 19:19:03 +00:00
Martin Kiewitz 361977e7ed SCI/newgui: kPalette cleanup, preparing for sq5 paletteAnimate support
svn-id: r45273
2009-10-20 16:11:31 +00:00
Max Horn f3ab3051d8 SCI: Make the implicit segMan param to GET_SEL32(V) and PUT_SEL32(V) explicit
svn-id: r45234
2009-10-18 19:42:56 +00:00
Martin Kiewitz 942dc2ce84 SCI: included stub for kPalVary to make Pharkas work a little bit more (currently crashes in kMessage)
svn-id: r45102
2009-10-15 06:37:05 +00:00
Max Horn c77be11ccd SCI: cleanup
svn-id: r45040
2009-10-13 18:53:11 +00:00
Walter van Niftrik 6c1cac3956 SCI: kMessage() rewrite
svn-id: r44860
2009-10-10 02:16:23 +00:00