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
62499054a0
Some cleanup for the script debugger code:
...
- Renamed struct DebugState to ScriptState and r_amp_rest to restAdjust inside EngineState. Changed restAdjust to be a uint16 (actually it is a uint16, but it was being casted back and forth from an unsigned integer, so this clears up its type and size)
- Moved the script state variables from inside the run_vm() into the ScriptState struct, so that they can be accessed by the console commands and the script debugger all the time, and removed the weird isValid code
svn-id: r42260
2009-07-08 10:25:37 +00:00
Filippos Karapetis
ab8c3d56b8
Removed the weird checks for a maximum resource number (the sci_max_resource_nr array), as it doesn't serve any real purpose and leads to strange errors: if a resource is found which is bigger than the maximum number, it will be remapped to an incorrect number from this check. This makes KQ5CD work properly again (resources would be remapped to incorrect resource numbers from this code as a result of not updating this array with the latest SCI version merges).
...
svn-id: r42219
2009-07-07 13:39:24 +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
5c60d94725
SCI1 games with absolute parameters to lofs instructions are automatically detected now. Removed the GF_SCI1_LOFSABSOLUTE game flag
...
svn-id: r42118
2009-07-05 11:08:53 +00:00
Filippos Karapetis
df9570cb32
SCI0 games using older graphics functions are automatically detected now, from the presence of the "TimesSin" and "SinMult" kernel functions. Removed the GF_SCI0_OLDGFXFUNCS game flag
...
svn-id: r42081
2009-07-03 23:37:08 +00:00
Walter van Niftrik
a6ed05740f
SCI: Moved resource36 handling into resource manager.
...
svn-id: r41349
2009-06-07 19:15:55 +00:00
Filippos Karapetis
e572811aed
Moved some more debug commands to ScummVM's coneole
...
svn-id: r41227
2009-06-06 16:43:13 +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
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
4ab05f0b38
- Moved 3 more commands to console.cpp: "draw_pic", "draw_rect" and "fill_screen"
...
- Removed some FreeSCI-specific variables for checking of the on-screen console
- Removed the Control-1 key combo - the console command "visual_state" can be used for the same reason
svn-id: r41040
2009-05-30 18:22:55 +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
Filippos Karapetis
69582f0179
Moved 3 more debug commands to console.cpp ("simkey", "segment_table" and "show_map") and removed the GFXWC macro. Some cleanup
...
svn-id: r41032
2009-05-30 14:30:39 +00:00
Filippos Karapetis
4dcfaead8d
Moved some script debug commands to console.cpp: "clear_screen", "redraw_screen", "save_game", "restore_game", "restart_game", "class_table", "parser_words", "current_port" and "parse_grammar"
...
svn-id: r41029
2009-05-30 13:04:09 +00:00
Filippos Karapetis
b242d05563
- Fixed usage of kSetCursor in SCI1.1 games (e.g. when starting KQ6 floppy)
...
- Removed a static variable (vocab_version)
- vocab.996 is now freed after creating the class table in SCI1 games, like in SCI0 games
svn-id: r40979
2009-05-29 09:42:11 +00:00
Filippos Karapetis
c95e5fceee
Moved the "size" console debugger command to console.cpp and silenced a warning
...
svn-id: r40978
2009-05-29 08:59:13 +00:00
Filippos Karapetis
0ad3b7bb7d
Cleanup
...
svn-id: r40977
2009-05-29 08:46:20 +00:00
Filippos Karapetis
e9444e2b93
- Rewrote kSetCursor to be a bit simpler to understand, and got rid of GF_SCI1_NEWSETCURSOR
...
- Removed the 3 mouse pointer view, loop and cell variables (and their 3 "save" versions) from the game state, as they're all actually not used anywhere
- Cleanup
svn-id: r40976
2009-05-29 08:25:42 +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
Filippos Karapetis
e0a0593949
Fixed a typo, and added parentheses to clarify order
...
svn-id: r40938
2009-05-27 12:46:11 +00:00
Max Horn
c96cf97ea7
SCI: Merged vocab_debug.cpp into vocabulary.cpp; cleanup
...
svn-id: r40915
2009-05-26 14:44:14 +00:00
Max Horn
7d5f3e1714
Turned some static tables into static const tables; added some FIXME comments to global static vars that should be removed (many more exist in SCI, Tinsel, and some other engines)
...
svn-id: r40908
2009-05-26 11:30:21 +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
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
9da07f21fe
SCI: cleanup
...
svn-id: r40689
2009-05-18 15:07:04 +00:00
Filippos Karapetis
87e8f94fde
- Moved all the files out of /sci/scicore and into /sci
...
- Moved /scicore/sciconsole.h into /engine, and renamed /engine/scriptconsole.cpp to /engine/sciconsole.cpp
svn-id: r40608
2009-05-15 14:07:45 +00:00
Max Horn
9c44705f05
SCI: Got rid of SEG_ID/SCRIPT_ID
...
svn-id: r40599
2009-05-15 09:28:31 +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
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
443aacee79
Added a parameter to the graphics resource manager to determine if the running SCI1 game is VGA or not (better than modifying the detected SCI resource version)
...
svn-id: r40566
2009-05-14 19:33:03 +00:00
Filippos Karapetis
97bdf32a59
Added the EGA version of Longbow, and partially reverted my previous commit. SCI1 EGA games should *really* be working now
...
svn-id: r40565
2009-05-14 18:55:30 +00:00
Filippos Karapetis
d5e1ca4630
- Added a new game flag to distinguish SCI1 EGA versions
...
- Fixed the wrong detected versions of Laura Bow 2
- Changed some code regarding the resource loader of Jones in the Fast Lane (which is still non-functional)
svn-id: r40564
2009-05-14 17:50:09 +00:00
Filippos Karapetis
4a9e7e4393
Replaced the SCI_VERSION_FTU_DOSOUND_VARIANT_2 version check with the game feature flag GF_SCI1_NEWDOSOUND
...
svn-id: r40561
2009-05-14 13:51:42 +00:00
Filippos Karapetis
f75c950457
- Replaced SCI_VERSION_FTU_LOFS_ABSOLUTE with the GF_SCI1_LOFSABSOLUTE game flag
...
- Moved the version defines outside of versions.h
svn-id: r40559
2009-05-14 12:38:50 +00:00
Filippos Karapetis
891a8fae05
- Removed SCI_VERSION_FTU_NEW_GETTIME
...
- Added defines for SCI0 flags, to simplify game entries
- Removed the leftover version_lock_flag from EngineState
svn-id: r40553
2009-05-14 10:24:39 +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
Filippos Karapetis
5e83e27bf6
Performed some cleanup on the different version checks
...
svn-id: r40499
2009-05-12 18:57:28 +00:00