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