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
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