Filippos Karapetis
60af2db2fd
- Added more mappings from Sierra's internal IDs to our own ones. Hopefully, all SCI0-SCI11 games can now be detected correctly from the fallback detector
...
- Simplified some checks for old script types
svn-id: r43678
2009-08-23 21:57:30 +00:00
Filippos Karapetis
ca9bbce9b3
- Added game ID detection to the fallback detector. We still need to map some of Sierra's internal IDs to our own ones
...
- The class table is now created in the segment manager constructor
svn-id: r43504
2009-08-18 10:01:18 +00:00
Walter van Niftrik
260a2019b6
SCI: Add autodetection for DoSound. Cleanup.
...
svn-id: r43482
2009-08-17 15:49:22 +00:00
Filippos Karapetis
c38f58598b
- Simplified some functions to accept only the parts of the EngineState they need as parameters, instead of the whole EngineState
...
- Moved the class table in the Segment manager - it's the only class using it directly
- Removed the sci11 flag from save games (we already know this, we don't need to store it)
- Moved script_get_segment() and get_class_address() inside the segment manager class
- Removed the script_locate_by_segment wrapper
- Simplified script_lookup_export() a lot by removing some paranoia checks
- Added some WIP code for automatically determining the game id in the fallback detector (still not working)
- General cleanup
svn-id: r43458
2009-08-17 05:55:21 +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
Walter van Niftrik
f99932b72a
SCI: Added enum for map and volume versions. Removed res_version setting from
...
detection.cpp (should be detectable). Cleanup.
svn-id: r43390
2009-08-15 00:28:59 +00:00
Filippos Karapetis
31a0c80905
Moved the kernel and the vocabulary outside of the engine state (they're static data, which never changes during a game)
...
svn-id: r42398
2009-07-11 23:45:54 +00:00
Filippos Karapetis
d351c7b9cb
Only the kernel needs to be initialized before anything else, when saving/loading
...
svn-id: r42262
2009-07-08 10:44:25 +00:00
Filippos Karapetis
a764f274f8
Fixed saving/loading again (broken with the latest changes for game feature auto-detection)
...
svn-id: r42261
2009-07-08 10:35:51 +00:00
Filippos Karapetis
d55f7e72d0
Added auto-detection for games with older headers for script blocks, and removed game flag GF_SCI0_OLD
...
svn-id: r42211
2009-07-07 10:28:05 +00:00
Filippos Karapetis
c716e43a2b
- Added auto-detection for EGA graphics. As a result of this, GF_SCI1_EGA has been removed and versions SCI_VERSION_01_EGA and SCI_VERSION_01_VGA have been merged into SCI_VERSION_01
...
- Simplified the checks for EGA and VGA graphics
- Fixed a bug in script_adjust_opcode_formats()
- Simplified the code in GfxResManager::getView() a bit
svn-id: r42206
2009-07-07 07:44:25 +00:00
Filippos Karapetis
219b0de0d2
Renamed SCI_VERSION_01 -> SCI_VERSION_01_EGA
...
svn-id: r42181
2009-07-06 16:22:14 +00:00
Filippos Karapetis
522b161bec
Replaced sciprintf() calls with printf, DebugPrintf, warning and error calls
...
svn-id: r42167
2009-07-06 10:39:22 +00:00
Filippos Karapetis
ed46e223eb
Hopefully fixed memory corruption when loading games
...
svn-id: r41361
2009-06-07 23:29:11 +00:00
Walter van Niftrik
a6ed05740f
SCI: Moved resource36 handling into resource manager.
...
svn-id: r41349
2009-06-07 19:15:55 +00:00
Max Horn
21d948ec05
SCI: Simplified SongLibrary code a bit
...
svn-id: r41345
2009-06-07 17:07:25 +00:00
Max Horn
d07e9dfb13
SCI: Objectified SongLibrary
...
svn-id: r41343
2009-06-07 17:06:51 +00:00
Max Horn
f2ca788004
SCI: Renamed various song/songlib related structs and members
...
svn-id: r41342
2009-06-07 17:06:32 +00:00
Max Horn
10c54394bd
SCI: Renamed EngineState::flags and version to _flags and _version (following our conventions); also slightly changed the EngineState constructor to init _version & _flags, and used this to make them constant
...
svn-id: r41177
2009-06-04 21:44:39 +00:00
Filippos Karapetis
98f64cfa2f
Removed the gfxw_new_visual and gfxw_new_port wrappers, moved _kfuncTable inside the Kernel class and moved gfxw_find_port inside the GfxVisual struct
...
svn-id: r41125
2009-06-02 14:16:59 +00:00
Filippos Karapetis
d405b2880b
Removed some unused variables from the engine state
...
svn-id: r41123
2009-06-02 07:59:04 +00:00
Filippos Karapetis
c85134bd5e
Some fixes for saving/loading (still broken)
...
svn-id: r41102
2009-06-01 15:34:33 +00:00
Filippos Karapetis
99c6874630
Split the kernel functions away from the vocabulary functions (WIP, saving/loading is broken)
...
svn-id: r41101
2009-06-01 14:12:43 +00:00
Max Horn
4fba6e5d4c
SCI: Fixed loading; added 'const' keywords to several Vocabulary methods
...
svn-id: r41071
2009-05-31 15:08:16 +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
e317012cce
Further objectification of the SCI vocabulary functions. Removed the "kernel_words" console command, as it's exactly the same as "parser_words"
...
svn-id: r41065
2009-05-31 12:05:49 +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
Filippos Karapetis
15d5b8436e
Removed the "sfx_debuglog" command. Sound debug messages are now shown if kDebugLevelSound is specified
...
svn-id: r41039
2009-05-30 17:53:12 +00:00
Filippos Karapetis
3490819a66
- Removed debug_mode from the engine state
...
- Turned all SCIkwarn and SCIkdebug functions to ScummVM's debugC function
- Placed some debug code in appropriate defines: DEBUG_PARSER, DEBUG_AVOIDPATH and DEBUG_SOUND
- Removed the "debuglog" command and the "script_checkloads_flag" and "sci_debug_flags" variables
svn-id: r41033
2009-05-30 15:40:49 +00:00
Max Horn
d3bd7b622c
SCI: Turned SfxState into a proper class (i.e., convert the sfx_ funcs to member methods)
...
svn-id: r40973
2009-05-28 22:48:15 +00:00
Max Horn
d70504c910
SCI: Renamed sfx_state_t -> SfxState, preparing it to become a class eventually
...
svn-id: r40958
2009-05-28 10:54:30 +00:00
Max Horn
7fbbaff990
SCI: Turned the global 'static MessageState state' variable into a member of EngineState
...
svn-id: r40910
2009-05-26 11:33:18 +00:00
Max Horn
b431254070
SCI: Removed the 'save_dir' gui hack
...
svn-id: r40772
2009-05-21 21:50:11 +00:00
Filippos Karapetis
4799cbf1c3
Removed the PREG, PSTK, IS_NULL_REG and REG_EQ defines
...
svn-id: r40767
2009-05-21 17:18:46 +00:00
Max Horn
bba91075bf
removed trailing whitespaces
...
svn-id: r40742
2009-05-20 17:53:31 +00:00
Max Horn
4c786a44c9
SCI: Changed EngineState::opcodes to a Common::Array (maybe we shold just remove the relevant code completely, though, it seems useless, esp. as long as we hardcode the way we interpret every opcode
...
svn-id: r40740
2009-05-20 17:52:33 +00:00
Max Horn
136fcb3810
SCI: Introduce a new subclass StringFrag of MemObject (does nothing right now); switched MemObject to subclass Common::Serializable
...
svn-id: r40714
2009-05-19 00:34:10 +00:00
Max Horn
4755fcb130
SCI: got rid of EngineState::savegame_version; some cleanup
...
svn-id: r40713
2009-05-19 00:33:48 +00:00
Max Horn
091b347a7e
SCI: Init the diff .#&$ EngineState::flags field in the constructor and when loading -- fixes many weird crashes upon loading (lesson to be learned: if you add fields to a class, then (a) init it in the construtor and (b) if the class support serializing, make sure the new field is handled when saving/loading :-)
...
svn-id: r40712
2009-05-19 00:02:44 +00:00
Max Horn
b0c1cf52e0
SCI: Got rid of EngineState::execution_stack_pos; overally, the resulting code should be even stricter in detecting invalid VM stack access (and some bugs when loading saves might be fixed now...)
...
svn-id: r40694
2009-05-18 18:15:45 +00:00
Max Horn
99713ca7fa
SCI: Tweaks, cleanup
...
svn-id: r40688
2009-05-18 12:36:04 +00:00
Max Horn
5170acd00c
SCI: Removed the unused member SegManager::gc_mark_bits; changed some int params to SegmentId
...
svn-id: r40685
2009-05-18 12:34:56 +00:00
Max Horn
9c44705f05
SCI: Got rid of SEG_ID/SCRIPT_ID
...
svn-id: r40599
2009-05-15 09:28:31 +00:00
Max Horn
75c0d719c9
SCI: Turned several script related SegManager methods into Script methods
...
svn-id: r40597
2009-05-15 09:27:07 +00:00
Filippos Karapetis
565cfa074d
Simplified SCI versions to be SCI version generations, and fixed some game entries in the process. Also, added a sanity check for invalid game entries
...
svn-id: r40596
2009-05-15 09:04:21 +00:00
Max Horn
bd2e21c97a
SCI: Fixed restoring scripts when loading a SCI 1.1 savestate
...
svn-id: r40582
2009-05-14 23:39:36 +00:00
Max Horn
d2dfa0ac11
SCI: cleanup
...
svn-id: r40581
2009-05-14 23:39:16 +00:00
Max Horn
7f2a146597
SCI: Added a paranoia check to find_unique_script_block which causes us to bail out if we are about to get stuck in an endless loop
...
svn-id: r40580
2009-05-14 23:10:22 +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