Commit Graph
383 Commits
Author SHA1 Message Date
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
Martin Kiewitz d982d10505 SCI: Make event constants more verbose
svn-id: r46255
2009-12-04 17:58:26 +00:00
Martin Kiewitz a5f1808c83 SCI: SciEvent created, kernel_sleep() created
svn-id: r46252
2009-12-04 17:38:24 +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 04ab6bc9fc Enclose all of the old graphics code within the INCLUDE_OLDGFX safeguard (defined in sci.h)
svn-id: r45459
2009-10-28 13:20:30 +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
Filippos Karapetis f5b7f85593 Removed unused references to operations.h
svn-id: r45217
2009-10-18 10:50:07 +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
Martin Kiewitz 3599ac0b9b SCI: now allowing calling celWide and celHigh with only 2 parameters (done by eco quest 1 when entering menu)
svn-id: r44986
2009-10-12 13:10:25 +00:00
Filippos Karapetis bb7cac5b87 Show a warning when a selector vocabulary can't be found and a static vocabulary is used
svn-id: r44950
2009-10-11 21:28:52 +00:00
Walter van Niftrik 6f553a630a SCI: Relax GetAngle() signature for KQ6.
svn-id: r44928
2009-10-11 15:32:22 +00:00
Walter van Niftrik 4a157d43b3 SCI: Implement CoordPri() with two args.
svn-id: r44927
2009-10-11 14:58:58 +00:00
Walter van Niftrik 6c1cac3956 SCI: kMessage() rewrite
svn-id: r44860
2009-10-10 02:16:23 +00:00
Filippos Karapetis bcade54247 Started rewriting the check for the graphics functions type (still not finished)
svn-id: r44787
2009-10-08 14:37:55 +00:00
Willem Jan Palenstijn b9cdb1abb7 SCI: Merge new GUI code written by m_kiewitz.
This is a major rewrite of the graphics code. A slightly adapted
version of the old code is still available and currently the default.
The new code is selectable in sci.cpp, but is not yet finished.

svn-id: r44565
2009-10-03 20:49:18 +00:00
Max Horn 523f0b34fb SCI: Remove dead code
svn-id: r44530
2009-10-02 07:44:55 +00:00
Filippos Karapetis 7d40dde96f - Removed the toggle for "weak" validations, as there are cases where they fail (e.g. in Longbow), so there is no point in having strict validations
- Removed the invalid toggle from kernel signatures - we now never error out on invalid object references, but throw a warning instead
- Simplified determine_reg_type()

svn-id: r44511
2009-10-01 10:57:59 +00:00
Filippos Karapetis 2c2cf614c8 Oops - don't attempt to print the sought kernel function name when its empty
svn-id: r44462
2009-09-29 14:28:37 +00:00
Filippos Karapetis f9296a6445 - Changed the unimplemented debug SCI kernel functions (InspectObj, ShowSends, ShowObjs, ShowFree, StackUsage and Profiler) to be dummy functions - we have our own debugger, and don't use these functions for debugging
- Removed the function number parameter from all kernel functions, as it's no longer needed, and removed the FAKE_FUNCT_NR hack
- Removed kUnknown() and kStub()
- Dummy/unknown kernel functions are no longer invoked, and a warning is shown instead, with the paremeters passed to them

Note: there is an evil hack used for debugging scripts in invoke_selector(), which probably no longer works now

svn-id: r44461
2009-09-29 14:24:07 +00:00
Filippos Karapetis 13ad217cdd - Moved the SCI version in a global variable
- Changed all the SCI version checks to use getSciVersion()
- Also made getSciVersionDesc a global function (removes some ugly accessing of the SCI engine)

The fallback detector should work correctly now

svn-id: r44269
2009-09-23 10:55:35 +00:00
Max Horn d2a6713a8e SCI: Replace IntMapper Script::_objIndices and Common::Array Script::_objects by a HashMap -- goodbye, class IntMapper
svn-id: r44240
2009-09-21 21:38:43 +00:00
Max Horn 7f728af76e SCI: Workaround for crash in debugger's backtrace
svn-id: r44239
2009-09-21 21:38:07 +00:00
Max Horn eb77efda78 SCI: Add a global getSciVersion() function and make use of it
svn-id: r44170
2009-09-17 16:50:53 +00:00
Max Horn c38f150d56 SCI: Moved Kernel::findSelector from vocabulary.cpp to engine/kernel.cpp
svn-id: r44161
2009-09-17 14:54:11 +00:00
Max Horn e3e1c0754f SCI: Properly hook up (I hope) CantBeHere instead of CanBeHere in SCI versions that need it
svn-id: r44160
2009-09-17 14:53:57 +00:00
Max Horn 730c7c9641 SCI: Get rid of the not_register() hack
svn-id: r44153
2009-09-17 13:22:00 +00:00
Max Horn 364640cfd5 SCI: Rename selector_map_t -> SelectorCache and _selectorMap -> _selectorCache
svn-id: r44152
2009-09-17 13:21:42 +00:00
Max Horn 10f898c90e SCI: Rename MemObject -> SegmentObj
svn-id: r44130
2009-09-17 00:45:12 +00:00
Max Horn b26f744e23 SCI: cleanup
svn-id: r44128
2009-09-16 23:55:11 +00:00
Max Horn a277123f54 SCI: Rename Script class members, change Script from struct to class
svn-id: r44126
2009-09-16 23:32:27 +00:00
Max Horn 0e834d0b87 SCI: kernelDeref*() functions are now seSegmentManager methods
svn-id: r44082
2009-09-14 13:13:20 +00:00
Max Horn c00edfb64f SCI: Merge kernelDerefCharPtr and kernelDerefString and change it from a macro to a function
svn-id: r44081
2009-09-14 12:59:42 +00:00
Filippos Karapetis 90ae20c3ea - Made obj_get and obj_get_name methods of SegManager (getObject and getObjectName, respectively)
- Renamed alloc_List -> allocateList, alloc_Node->allocateNode, alloc_hunk_entry->allocateHunkEntry, free_hunk_entry->freeHunkEntry, for consistency

svn-id: r44039
2009-09-12 00:10:07 +00:00
Max Horn fdaa3d423c SCI: Script::obj_indices is now protected
Add new methods init, allocateObject and getObject to class Script, and use them instead of directly accessing Script::obj_indices. Replace RAW_GET_CLASS_INDEX with Script::getObject()

svn-id: r43987
2009-09-06 13:01:00 +00:00
Max Horn d04b5d2c9b SCI: Rename resManager -> resMan; segManager -> segMan
svn-id: r43980
2009-09-06 12:57:42 +00:00
Filippos Karapetis 1bbab8f191 Some renaming:
getresourceManager -> getResourceManger
resourceManager -> resMan
segmentManager ->segMan

svn-id: r43908
2009-09-02 12:02:37 +00:00
Max Horn b391f08b46 SCI: Renamed kernel_dereference_* to kernelDeref*, and added kernelDerefString
svn-id: r43907
2009-09-02 11:38:16 +00:00
Max Horn 0c7093e05c SCI:
* removed kNOP
* renamed k_Unknown to kUnknown
* added FIXME to kfunct_mappers table
* more cleanup

svn-id: r43906
2009-09-02 11:35:00 +00:00
Filippos Karapetis a6f457b45d Rewrote the static selector mapper to use SCI versions instead of game IDs, and split the selectors in SCI generations
svn-id: r43863
2009-08-31 20:45:46 +00:00
Walter van Niftrik 1d6f946ba7 SCI: Add stub for PalVary.
svn-id: r43857
2009-08-31 18:42:07 +00:00
Matthew Hoops 3687544fbb Adding support for AVI in SCI games (such as kq6) and implement kPlatform.
svn-id: r43834
2009-08-30 19:47:47 +00:00
Walter van Niftrik 3e543d2518 SCI: Add lofs detection.
svn-id: r43824
2009-08-30 14:53:58 +00:00
Filippos Karapetis af2668145a - Removed the unused selectors "prevSignal", "who" and "distance" from the quick access selector array
- Added the "motionCue" and "egoMoveSpeed" selectors to the selector array, to limit the places where findSelector() is used only in debugging functions
- Reordered the selector initialization in mapSelectors(), so that their order matches the order found in vocab.997

svn-id: r43779
2009-08-28 10:13:03 +00:00