Commit Graph

333 Commits

Author SHA1 Message Date
Filippos Karapetis
ac025f4294 - Replaced more cases of EngineState parameters
- Made some version comparisons for old SCI0 versions easier to read
- Removed the GET_SEL32SV macro

svn-id: r43729
2009-08-25 15:14:29 +00:00
Filippos Karapetis
ed66cad677 - Simplified the parameters of some functions
- Replaced some EngineState parameters
- The SCI version is now obtained from the resource manager or the segment manager, thereby simplifying several functions
- Plugged 2 leaks in the fallback detector
- Renamed the segment manager and resource manager to "segmentManager" and "resourceManager" in all places, for consistency

svn-id: r43722
2009-08-25 08:38:14 +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
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
Walter van Niftrik
eaed412152 SCI: Added several debug command aliases.
svn-id: r43229
2009-08-10 21:30:16 +00:00
Walter van Niftrik
7dfa30d3fe SCI: Fix vmvars debug command.
svn-id: r43219
2009-08-10 18:59:59 +00:00
Willem Jan Palenstijn
57504cb699 SCI: Fix disasm_addr option parsing
svn-id: r42598
2009-07-18 22:19:07 +00:00
Willem Jan Palenstijn
d9c2544a4c SCI: don't leave debugger after bt
svn-id: r42589
2009-07-18 13:05:39 +00:00
Willem Jan Palenstijn
a1bb715611 SCI: Fix stepping in debugger
svn-id: r42587
2009-07-18 12:51:12 +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
763c6c8ca1 Fixed regression in the script parser from commit 42260
svn-id: r42371
2009-07-11 06:19:29 +00:00
Filippos Karapetis
5ca94c5cce - Moved printObject inside the Console class
- Enabled the parts where disassemble() is called

svn-id: r42263
2009-07-08 13:08:51 +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
74670cc834 Removed the superfluous sci_version_types array (it's essentially the same as the versionNames array)
svn-id: r42216
2009-07-07 12:29:55 +00:00
Filippos Karapetis
2e3419c8cb Prevent a crash when the engine errors out before the game state is initialized
svn-id: r42201
2009-07-07 06:53:53 +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
6cb5106a0b Removed validity check for atoi, which prevented console commands from interacting with resources with id 0
svn-id: r42117
2009-07-05 10:34:43 +00:00
Filippos Karapetis
49ef8ae5a4 Added a new console command, "selector", which attempts to find a selector by name
svn-id: r42093
2009-07-04 15:22:42 +00:00
Filippos Karapetis
6fa8541aed - Pushed debugstate into debug.h
- When an error occurs, manipulate the execution stack before error() opens the console inside getDebugger(), like FreeSCI did. Added another method for obtaining the SCI console for use by the engine itself.

svn-id: r42062
2009-07-03 14:22:50 +00:00
Filippos Karapetis
c3403ac739 Moved some more debug state related variables in the DebugState struct
svn-id: r42044
2009-07-02 23:58:05 +00:00
Filippos Karapetis
80cb18e87f Moved all the debug state variables in a separate struct and re-enabled several places where they're used
svn-id: r42043
2009-07-02 23:16:40 +00:00
Filippos Karapetis
245a2764fc Cleanup
svn-id: r41727
2009-06-21 13:06:08 +00:00
Filippos Karapetis
0e6a23ab3b Added aliases for the script/breakpoint related commands and added the debugflag related commands to the help screen
svn-id: r41538
2009-06-15 08:44:35 +00:00
Filippos Karapetis
95d32180df Moved some more debug commands to ScummVM's console
svn-id: r41364
2009-06-08 08:38:10 +00:00
Max Horn
0dcb1fa84f SCI: Got rid of g_EngineState
svn-id: r41359
2009-06-07 23:04:34 +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
f2ca788004 SCI: Renamed various song/songlib related structs and members
svn-id: r41342
2009-06-07 17:06:32 +00:00
Filippos Karapetis
744323ca33 Replaced/removed KP_UINT, KP_SINT, SKPV and UKPV as well as the VIEW_PRIORITY and PRIORITY_BAND_FIRST wrappers
svn-id: r41338
2009-06-07 15:53:30 +00:00
Filippos Karapetis
7375039158 Moved some more debug commands to ScummVM's coneole
svn-id: r41302
2009-06-06 20:29:37 +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
Filippos Karapetis
8033a39128 Objectified the graphics driver
svn-id: r41214
2009-06-06 10:21:48 +00:00
Filippos Karapetis
7c84cca81d Moved some more debug commands to ScummVM's coneole and removed some unused code
svn-id: r41198
2009-06-05 19:04:14 +00:00
Max Horn
ae3c6c3053 SCI: cleanup
svn-id: r41173
2009-06-04 20:51:09 +00:00
Max Horn
382ebea3fa SCI: Renamed various debug related global variables to have a g_ prefix; and moved any 'extern' decls of them into a new header file
svn-id: r41163
2009-06-04 11:28:05 +00:00
Filippos Karapetis
634e023485 Turned debug_weak_validations on by default again, as apparently some games like SQ3 fail in some validations (e.g. when loading). Also, fixed a potential out of bounds access when copying the value of __FILE__ into a buffer (as its value can be quite long in some cases).
svn-id: r41154
2009-06-04 08:25:48 +00:00
Johannes Schickel
5206ef16a6 Silence unused variable warning.
svn-id: r41144
2009-06-03 16:29:02 +00:00
Filippos Karapetis
9673beb082 Moved some more console commands to ScummVM's console
svn-id: r41141
2009-06-03 14:47:32 +00:00
Filippos Karapetis
317da8756e - Moved the engine state and the console to be private members of SciEngine
- Implemented pauseEngineIntern()
- Music now stops and resumes when entering/leaving the debugger

svn-id: r41139
2009-06-03 14:09:25 +00:00
Filippos Karapetis
cb0aed3303 Moved some more console commands to ScummVM's console
svn-id: r41137
2009-06-03 11:38:12 +00:00
Filippos Karapetis
3c7b434b04 - Sorted the console commands a bit more
- Removed the commands which manipulated variables and turned them into debug variables instead 
- Rewrote help so that it's more organized and easier to read
- Unified the debug variable names

svn-id: r41136
2009-06-03 09:45:16 +00:00
Filippos Karapetis
2ce6cca98b Moved some more console commands to ScummVM's debug console
svn-id: r41129
2009-06-02 23:29:58 +00:00
Johannes Schickel
d94f920d50 Fix warning.
svn-id: r41128
2009-06-02 23:20:14 +00:00
Filippos Karapetis
ac544e73e9 Moved some more console commands to ScummVM's debug console
svn-id: r41127
2009-06-02 21:07:34 +00:00
Filippos Karapetis
780926991e Moved some more console commands to ScummVM's debug console
svn-id: r41126
2009-06-02 19:03:43 +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
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
cf68dc1a7b SCI: Renamed some Vocabulary methods for clarity; also renamed decypherSaidBlock -> decipherSaidBlock; some cleanup in Console::cmdSentenceFragments
svn-id: r41072
2009-05-31 15:08:47 +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
dcecdc7b94 Moved the "songlib" command to console.cpp and removed the non-working "set_vismap" command - we can view the different maps with "show_map", but it doesn't make much sense to redirect the game's graphics output to another screen map on demand
svn-id: r41048
2009-05-30 20:45:57 +00:00
Filippos Karapetis
329b93acc8 Moved 4 mode commands to console.cpp: "sentence_fragments", "parser_nodes", "status_bar" and "track_mouse"
svn-id: r41043
2009-05-30 20:01:43 +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
ecfb2e5b5d - Moved the print_port, segment_info and segment_kill console commands to console.cpp
- Removed the unused gfx driver debug flags

svn-id: r41036
2009-05-30 16:36:37 +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
a21f34cf91 Moved more script debug commands to console.cpp: "visual_state", "dynamic_views", "dropped_views", "gc" and "gc_objects". Removed the "gfx_free_widgets" and "sleep" commands (they weren't really useful)
svn-id: r41030
2009-05-30 13:36:51 +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
56c0a41b71 SCI: Moved the rest of the console code out of sciconsole.cpp and into console.cpp. "list" and "hexgrep" have been added to the console commands. parse_reg_t() has been moved to kmovement.cpp (as it's the only code using it). Note that the debug commands in scriptdebug.cpp have not been converted yet, so they don't work at the moment
svn-id: r41024
2009-05-30 10:22:53 +00:00
Filippos Karapetis
b1997801da - Moved some debug code into console.cpp, adding 3 console commands: resource_types, sci0_palette and exit
- Removed the "man" command
- Removed the commands which set the SCI01 priority table flags and the crossblit alpha threshold (they're too specific, and not really useful anymore)
- Removed some leftover debug code from gfxop_clear_box()

svn-id: r41010
2009-05-29 17:19:39 +00:00
Filippos Karapetis
b042cab3a9 Fixed a bug with the "size" console command
svn-id: r40995
2009-05-29 13:19:18 +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
c75bdbc8e9 - SQ5 floppy starts now
- Added a new console command, "room", which shows the current room

svn-id: r40943
2009-05-27 16:45:42 +00:00
Max Horn
099a29b6bf SCI: Added 'opcodes' command to the debugger; fixed output wrapping in the selectors & kernelnames debugger commands
svn-id: r40919
2009-05-26 15:06:21 +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
Filippos Karapetis
8dd601d35e Moved the "dump" and "dissectscript" commands to console.cpp and renamed them to "hexdump" and "dissect_script" respectively
svn-id: r40818
2009-05-23 19:59:42 +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
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
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
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
a5a1aa5542 - Slight cleanup of c_sfx_01_header()
- "words" -> "kernelwords"

svn-id: r40474
2009-05-12 08:22:20 +00:00
Filippos Karapetis
63fe11702c Moved the "suffixes" and "words" console commands to ScummVM's debug console
svn-id: r40473
2009-05-12 08:14:24 +00:00
Max Horn
d09037fa6c SCI: Hacked stuff up so that debugger commands also print on the GUI console
svn-id: r40460
2009-05-11 18:18:43 +00:00
Max Horn
5481806635 SCI: Hook FreeSCI console commands into the ScummVM console (incomplete as of now, because printf output is not yet redirect to the GUI console)
svn-id: r40459
2009-05-11 18:02:48 +00:00
Filippos Karapetis
e3e3fbd7d1 Moved the "selectors" and "syscalls" console commands to ScummVM's debug console (as commands "selectors" and "kernelnames", respectively)
svn-id: r40457
2009-05-11 17:10:36 +00:00
Max Horn
d7b06b7d42 SCI: Renamed ResourceManager::sci_version to _sciVersion, to avoid var shadowing warnings; some other tweaks
svn-id: r38984
2009-02-28 22:19:22 +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
Jordi Vilalta Prat
b5ce8d9320 Whitespace cleanup
svn-id: r38783
2009-02-22 13:11:43 +00:00
Filippos Karapetis
fcf5e87de6 - Made ResourceManager accessible from _vm
- Replaced c_version by its corresponding ScummVM equivalent command

svn-id: r38775
2009-02-22 01:33:16 +00:00
Paweł Kołodziejski
03769a6d56 formating
svn-id: r38700
2009-02-21 15:30:47 +00:00
Sven Hesse
a69ec56869 Fixing compilation for me
svn-id: r38627
2009-02-20 21:47:51 +00:00
Filippos Karapetis
9582e48574 Some initial code for a debug console (still non-working)
svn-id: r38623
2009-02-20 21:26:31 +00:00