Commit graph

199 commits

Author SHA1 Message Date
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
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