Commit Graph
43 Commits
Author SHA1 Message Date
Willem Jan Palenstijn 8c57e4bf43 SCI: Fix const cast 2011-11-11 00:07:27 +01:00
Filippos Karapetis 5969c6bd2e SCI: Updated Script::getObjectMap()
It now returns a reference to the object list instead of copying it
2011-11-05 13:08:42 +02:00
Filippos Karapetis 58190c36b4 SCI: Made the object map hashmap of the Script class private 2011-11-05 10:07:03 +02:00
Filippos Karapetis 267c6f1756 SCI: Made more fields of the Script class private. Some cleanup. 2011-11-05 03:00:42 +02:00
Matthew Hoops 9539017ee3 ALL: initialise -> initialize 2011-05-25 11:17:11 -04:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Filippos Karapetis 3485d433c5 SCI: Fixed bug #3034713 - "ICEMAN Demo: Fails to find base object"
This could happen because objects in scripts can be in the wrong order.
Same thing happens in the French and German version of KQ5 (bug #3035396).
Removed the scriptObjRemove() method, which is in fact a hack.

svn-id: r54510
2010-11-27 18:08:47 +00:00
Lars Skovlund c5252071db SCI3: Add proper support for the calle instruction
svn-id: r54327
2010-11-18 17:04:00 +00:00
Lars Skovlund 5ab823b16a SCI3: relocate operand of the lofsa opcode
svn-id: r54301
2010-11-17 20:29:10 +00:00
Filippos Karapetis b707d6e7dc SCI: More work on SCI3, based on a patch by lskovlun
- Added SCI3 equivalents for access to object selectors
- Added SCI3 implementation of object relocation
- Added SCI3 implementation of Script::initialiseClasses()

svn-id: r54283
2010-11-17 11:15:52 +00:00
Filippos Karapetis 59ad5085bc SCI: Some more work on SCI3, based on a patch by lskovlun
- Added a SCI3 implementation of Script::load()
- Added a SCI3 implementation of Script::initialiseClasses()
- Removed some duplicate code

svn-id: r54282
2010-11-17 09:28:04 +00:00
Filippos Karapetis e4c967a301 SCI: Added the SCI3 equivalent of initialiseObjects(), from a patch by lskovlun
svn-id: r54281
2010-11-17 09:10:43 +00:00
Filippos Karapetis 5de2668939 SCI: Some changes regarding the string heap in saved games
- Maintain the state of the string heap space in saved games
- Merged SegManager::reconstructScripts() inside SegManager::saveLoadWithSerializer()
- Disabled a now unnecessary script patch for the cipher puzzle in Castle of Dr. Brain, and performed some cleanup for another disabled patch
- Removed direct access to the _baseObj variable of objects

svn-id: r54133
2010-11-08 00:18:34 +00:00
Filippos Karapetis 7d71d07075 SCI: Renamed findBlock() to findBlockSCI0()
svn-id: r54077
2010-11-04 23:19:23 +00:00
Filippos Karapetis e242814990 SCI: Proper fix for bug #3038837 - "HOYLE3: EGA/VGA Crashes" and some cleanup
System scripts (i.e. 0 and 900-999) are now protected and never destroyed during a
game

svn-id: r52702
2010-09-13 13:17:55 +00:00
Filippos Karapetis 57fd588327 SCI: Split the new script patch code in a separate file
svn-id: r51810
2010-08-06 22:36:46 +00:00
Filippos Karapetis 96fd9e6c82 SCI: Added support for scripts that have more than one export table. Fixes bug #3039785 - "Conquests of Camelot: Crash in Glastonbury Tor"
svn-id: r51805
2010-08-06 21:21:39 +00:00
Martin Kiewitz 753c431937 SCI: adding script patching
including a patch for hoyle 4 and commenting out the workaround code inside kDisposeWindow

svn-id: r51795
2010-08-06 18:54:58 +00:00
Martin Kiewitz 2a4768401e SCI: some work on the script patcher
signature matching is working (added hoyle 4 signature)

svn-id: r51787
2010-08-06 15:06:42 +00:00
Max Horn 4f606cc10d SCI: Clarify docs of GC related SegmentObj methods
svn-id: r50440
2010-06-28 12:28:29 +00:00
Max Horn a278c07aa6 SCI: get rid of Script::allocateObject
svn-id: r50438
2010-06-28 12:27:48 +00:00
Max Horn 31b2902714 SCI: Revise GC interface: use Common::Array<reg_t> instead of callbacks
This means a little bit more overhead but makes the code much more readable
and understandable.

svn-id: r50429
2010-06-28 11:22:41 +00:00
Max Horn 30218a2c32 SCI: Make Script member vars private; add const qualifiers
Only three Script members remain public (for now)

svn-id: r50428
2010-06-28 11:22:20 +00:00
Filippos Karapetis 8db94ef991 Cleanup
svn-id: r50404
2010-06-27 21:38:45 +00:00
Filippos Karapetis 4a60ff4090 Made the script initialization/uninitialization methods part of the segment manager
svn-id: r50402
2010-06-27 21:18:19 +00:00
Filippos Karapetis 2843feeb9a SCI: Made the code for initializing script classes, objects and locals part of the Script class
svn-id: r50398
2010-06-27 21:00:34 +00:00
Filippos Karapetis bb992b0b93 SCI: Moved all the script-related code inside script.cpp/.h, and all script opcode-related code inside vm.cpp/.h
svn-id: r50396
2010-06-27 20:38:43 +00:00
Filippos Karapetis 60d8cc5180 Removed the now unused EngineState parameter of script_adjust_opcode_formats(), as well as an obsolete TODO
svn-id: r49684
2010-06-15 07:21:52 +00:00
Max Horn 4b19acf255 SCI: Use Common::List and Common::String to simplify breakpoint handling (untested)
svn-id: r47824
2010-02-02 22:52:41 +00:00
Walter van Niftrik 31728b32ca SCI: Add debug opcodes
svn-id: r47646
2010-01-28 19:22:58 +00:00
Filippos Karapetis 104cc92d6b Changed run_vm() to use the sci_opcodes enum, and fixed several wrong opcodes inside that enum
svn-id: r47642
2010-01-28 13:07:47 +00:00
Walter van Niftrik 3e543d2518 SCI: Add lofs detection.
svn-id: r43824
2009-08-30 14:53:58 +00:00
Walter van Niftrik 00f4794c0a SCI: Stage 1 of the game detection overhaul. The end goal is to autodetect
as much as possible. All SCI_VERSION_* information was removed from
detection.cpp (much of it was incorrect anyway).

svn-id: r43449
2009-08-16 19:18:19 +00:00
Filippos Karapetis 0a8cd4a27d Removed unused define
svn-id: r42200
2009-07-07 06:29:07 +00:00
Filippos Karapetis 4441ca4b3e - Further objectification of the SCI vocabulary functions
- Rewrote the sci_opcodes enum so that it's easier to read
- Made the engine error out if data is sent to an invalid selector (which is a fatal condition)

svn-id: r41069
2009-05-31 14:55:32 +00:00
Filippos Karapetis a4d13cef8c More objectification of the Vocabulary functions
svn-id: r41057
2009-05-31 02:37:24 +00:00
Filippos Karapetis 76406c35ec Started objectifying the vocabulary functions (WIP)
svn-id: r41051
2009-05-30 22:15:00 +00:00
Max Horn cd063606a0 SCI: Changed sci_obj_* enum value names to uppercase, in accordance with our code formatting conventions
svn-id: r40578
2009-05-14 23:09:30 +00:00
Filippos Karapetis 2e59107a42 Removed some unused code
svn-id: r40486
2009-05-12 13:29:32 +00:00
Max Horn 5325f9b76e SCI: Renamed global array 'formats' to the slightly more descriptive g_opcode_formats
svn-id: r40031
2009-04-20 19:28:33 +00:00
Greg Frieger 4dd1b7dad5 Turned ResourceManager into a class, along with all related functions
svn-id: r38978
2009-02-28 20:45:36 +00:00
Jordi Vilalta Prat 501e4bb91a SCI: Renamed some kernel types and general cleanup
svn-id: r38961
2009-02-28 11:12:59 +00:00
Max Horn 170916201c SCI: Moved almost all files from include/ to other dirs; only include/engine.h remains
svn-id: r38920
2009-02-27 02:23:00 +00:00