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
Filippos Karapetis
e03fba03b5
Cleanup
...
svn-id: r40558
2009-05-14 11:46:02 +00:00
Filippos Karapetis
999d46b241
Started using game-specific flags and removed/replaced some SCI version checks with flags.
...
- The SCI0 new script header and the angles check have been replaced by the GF_SCI0_OLD flag
- The SCI0 new drawpic parameter and the new priority check have been replaced by the GF_SCI0_OLDGFXFUNCS flag
- Removed the code which retries to use the newer script header in SCI0 games if the detected one is wrong, as that case should be covered by the GF_SCI0_OLD flag
- Removed the leftover min_version and max_version variables from gamestate
- Cleaned up kGetTime() a bit
svn-id: r40552
2009-05-14 09:12:27 +00:00
Filippos Karapetis
e940bcff23
- Simplified SCI version detection a bit and clarified the different version feature flags (not used yet)
...
- Removed the version verification functions (they were only used for two specific cases, but the SCI executable reader is able to detect the exact SCI game version anyway, so there is no point in having these)
- Removed the empty GameFlags structure and replaced it with a 32-bit integer instead
svn-id: r40524
2009-05-13 16:52:41 +00:00
Max Horn
37a0157c97
SCI: cleanup
...
svn-id: r40518
2009-05-12 23:32:32 +00:00
Max Horn
7f29670843
SCI: Changed object / script local vars storage to use a Common::Array
...
svn-id: r40515
2009-05-12 23:30:42 +00:00