Commit Graph
134 Commits
Author SHA1 Message Date
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