Commit Graph

48 Commits

Author SHA1 Message Date
Filippos Karapetis
f9296a6445 - Changed the unimplemented debug SCI kernel functions (InspectObj, ShowSends, ShowObjs, ShowFree, StackUsage and Profiler) to be dummy functions - we have our own debugger, and don't use these functions for debugging
- Removed the function number parameter from all kernel functions, as it's no longer needed, and removed the FAKE_FUNCT_NR hack
- Removed kUnknown() and kStub()
- Dummy/unknown kernel functions are no longer invoked, and a warning is shown instead, with the paremeters passed to them

Note: there is an evil hack used for debugging scripts in invoke_selector(), which probably no longer works now

svn-id: r44461
2009-09-29 14:24:07 +00:00
Filippos Karapetis
13ad217cdd - Moved the SCI version in a global variable
- Changed all the SCI version checks to use getSciVersion()
- Also made getSciVersionDesc a global function (removes some ugly accessing of the SCI engine)

The fallback detector should work correctly now

svn-id: r44269
2009-09-23 10:55:35 +00:00
Max Horn
b2c386ed00 SCI: Move parts of struct ScriptState into a new struct DebugState
svn-id: r44151
2009-09-17 13:21:19 +00:00
Max Horn
d04b5d2c9b SCI: Rename resManager -> resMan; segManager -> segMan
svn-id: r43980
2009-09-06 12:57:42 +00:00
Filippos Karapetis
1bbab8f191 Some renaming:
getresourceManager -> getResourceManger
resourceManager -> resMan
segmentManager ->segMan

svn-id: r43908
2009-09-02 12:02:37 +00:00
Max Horn
6c44eafa97 SCI: funct_nr is not used in 99% of all opcodes -- hide it in those (to be removed eventually)
svn-id: r43905
2009-09-02 11:33:25 +00:00
Walter van Niftrik
b0ab5d48f8 SCI: Fix message property of mouse event. This fixes mouse handling in the
room with the pier in KQ6.

svn-id: r43888
2009-09-01 17:40:13 +00:00
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
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
65e9ae163f SCI: Added a crude speed throttler.
svn-id: r43289
2009-08-11 20:18:15 +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
522b161bec Replaced sciprintf() calls with printf, DebugPrintf, warning and error calls
svn-id: r42167
2009-07-06 10:39:22 +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
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
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
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
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
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
e55388c787 Removed script_error_flag and script_debug_flag, which were used to error out if something went wrong and open the debugger console. Changed all the places where they were used to error() out instead, as ScummVM's debugger console can open on error()
svn-id: r41073
2009-05-31 15:34:23 +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
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
Walter van Niftrik
f010eef04e SCI: Turned some relatively harmless yet frequently occurring warnings into debug messages.
svn-id: r40629
2009-05-16 14:24:12 +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
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
7f29670843 SCI: Changed object / script local vars storage to use a Common::Array
svn-id: r40515
2009-05-12 23:30:42 +00:00
Max Horn
dadae13545 SCI: Turned GfxWidget::print function pointer into virtual method
svn-id: r40113
2009-04-24 14:20:31 +00:00
Max Horn
ebcfd9b016 SCI: Got rid of GFXW() macro; turned GfxWidget::widfree into destructors
svn-id: r40107
2009-04-24 10:48:25 +00:00
Max Horn
9445439c4f SCI: Renamed gfxw_widget_t and subtypes to GfxWidget etc.
svn-id: r40104
2009-04-24 10:46:20 +00:00
Max Horn
2dfae035ac SCI: Reduced header interdependencies some more
svn-id: r39202
2009-03-07 19:23:47 +00:00
Max Horn
479751104f SCI: Renamed include/engine.h to engine/state.h; added a corresponding .cpp file with the EngineState constructor
svn-id: r38921
2009-02-27 02:23:40 +00:00
Max Horn
5093167fde cleanup
svn-id: r38891
2009-02-26 02:21:55 +00:00
Filippos Karapetis
71ae2d3aba Reverted my wrong commit #38870. Most of the key codes are handled by the engine itself, however there are cases where they are handled by the game scripts, e.g. in save/load dialogs. The arrow keys in the save/load dialogs should work properly again. The numpad keys still look to be broken by some other commit
svn-id: r38886
2009-02-25 19:52:17 +00:00
Filippos Karapetis
5618a81cff Replaced some of the internal SCI scan codes with the ones from ScummVM
svn-id: r38870
2009-02-24 22:58:44 +00:00
Max Horn
7d2a2ece38 SCI: Replaced gfxop_usleep by gfxop_sleep (taking millisecs instead of microsecs)
svn-id: r38854
2009-02-24 20:50:09 +00:00
Max Horn
b5df97ad2b SCI: Moved kernel.h and kdebug.h from include/ to engine/; untangled header deps some more
svn-id: r38833
2009-02-24 05:51:55 +00:00
Max Horn
6f13850161 SCI: Moved include/menubar.h -> gfx/menubar.h, untangled headers some more
svn-id: r38761
2009-02-21 22:50:35 +00:00
Jordi Vilalta Prat
3cc6cdf719 Replaced "typedef struct _state state_t" with "struct EngineState"
svn-id: r38678
2009-02-21 10:47:56 +00:00
Oystein Eftevaag
25f7c37171 Wrapped the SCI engine in the Sci namespace.
svn-id: r38676
2009-02-21 10:23:36 +00:00
Filippos Karapetis
ac716ad843 Started conversion of debug messages and debug levels to the ScummVM equivalents. Removed the "stubs" and "warnings" debug levels and replaced such kinds of messages with normal warnings
svn-id: r38617
2009-02-20 20:11:12 +00:00
Paweł Kołodziejski
7beba8edc9 formating
svn-id: r38558
2009-02-19 18:40:03 +00:00
Filippos Karapetis
e28439bebc point_t -> Common::Point
svn-id: r38437
2009-02-17 19:15:37 +00:00
Eugene Sandulenko
22a009d3c6 Update headers. engine/
svn-id: r38408
2009-02-17 15:02:16 +00:00
Max Horn
57434d955f SCI: Run astyle to make the code be more compliant with our Code Formatting Guidelines: engine dir
svn-id: r38317
2009-02-15 22:28:12 +00:00
Eugene Sandulenko
e241843bec - Remove some unneeded files
- Mass rename .c to .cpp

svn-id: r38227
2009-02-15 11:39:07 +00:00