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
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
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
d424bee608
Merged the two SCI1 versions in one more file
...
svn-id: r42136
2009-07-05 13:07:11 +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
b093511239
- Merged the "early" and "late" SCI1 versions - these are functionally equivalent, and the code that does the version check is unreliable (e.g. it sets SQ1 VGA to SCI1 "late" and EcoQuest 1 to SCI1 "early")
...
- Cleanup of the vocabulary setting functions
- Cleanup of the cursor manipulation code
svn-id: r42097
2009-07-04 16:30:20 +00:00
Filippos Karapetis
230e7a8d2c
Newer DoSound() semantics are now detected automatically, by the existence of the "setVol" selector. Removed game flag GF_SCI1_NEWDOSOUND
...
svn-id: r42087
2009-07-04 11:24:09 +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
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
9664050ff0
Simplified the kernel name loading code: Merged the default SCI0 and SCI1 kernel name tables in one table. vocab.999 is only used in SCI0 and SCI01 games if it exists as an override to the default kernel name table (which works with SCI0/SCI01 demos with no vocab.999, like KQ1 and xmas1998). Removed GF_SCI0_SCI1VOCAB.
...
svn-id: r42050
2009-07-03 09:01:51 +00:00
Matthew Hoops
4df9dd82fb
After discussing with waltervn, committing my fix for the King's Quest I Demo (original from Patch #2795916 ). I'm also fixing the full game as well :)
...
svn-id: r41841
2009-06-25 00:14:07 +00:00
Filippos Karapetis
8033a39128
Objectified the graphics driver
...
svn-id: r41214
2009-06-06 10:21:48 +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
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
780926991e
Moved some more console commands to ScummVM's debug console
...
svn-id: r41126
2009-06-02 19:03:43 +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
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
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
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
Max Horn
813853ccc2
SCI: Converted several fprintf(stderr) calls to warning/error (the remaining fprintf calls should probably be replaced by suitable debug/debugC/debugN invocations)
...
svn-id: r40993
2009-05-29 13:07:14 +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
bba91075bf
removed trailing whitespaces
...
svn-id: r40742
2009-05-20 17:53:31 +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
d8d18d14ef
SCI: Keep a single copy of the versionNames array; this fixes warning about it (well, one of its many copies) being unused
...
svn-id: r40600
2009-05-15 09:29:03 +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
ad1563e5dc
SCI: Stop SCI1.1 games from complaining about an 'invalid' savedir by setting the savedir string to the only value our kValidPath considers valid, namely '/'
...
svn-id: r40579
2009-05-14 23:10:04 +00:00
Filippos Karapetis
bf5e4431d8
Fixed regression in EGA games
...
svn-id: r40567
2009-05-14 19:42:46 +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
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
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
d66d1ffab3
SCI: Replace global vars cmd_paramlength & cmd_params by Common::Array<cmd_param_t> param to console hook commands
...
svn-id: r40452
2009-05-11 13:31:37 +00:00
Max Horn
7c75e8e2ef
SCI: Reduced header deps
...
svn-id: r40451
2009-05-11 13:31:17 +00:00
Max Horn
5881abb213
SCI: Removed unused vars; doxygenified some comments; cleanup
...
svn-id: r40159
2009-04-27 12:29:51 +00:00
Max Horn
b73301748a
SCI: Renamed gfx_state_t -> GfxState
...
svn-id: r40155
2009-04-27 11:12:08 +00:00
Filippos Karapetis
20cc4f3dd7
Restored the ability to change the active port bound, by moving it inside gfx_state_t (it makes much more sense for it to be there, instead of inside user-defined settings). Placed notes inside gfxr_draw_pic01() and gfxr_draw_pic11() for the usage of the current titlebar size in there
...
svn-id: r40057
2009-04-21 19:57:11 +00:00
Matthew Hoops
2d83233503
Print out the SCI interpreter version and not the resource version when saying what version we're emulating
...
svn-id: r39892
2009-04-07 15:05:53 +00:00
Filippos Karapetis
6fe12a0888
pic_port_bounds was only set from command-line parameters it seems, so it's safe to put it together with the rest of the options
...
svn-id: r39800
2009-04-02 16:38:33 +00:00
Filippos Karapetis
1e8bd16c1e
- Wrapped all the code for custom graphics options around a CUSTOM_GRAPHICS_OPTIONS define. Most of these options don't work in 256-color mode, plus there is currently no way to actually set/change them somehow (other than modifying the code)
...
- Added a FIXME for the abuse of the pic_port_bounds graphics option - it's actually set by the game itself in kSetPort()
- Added some test code for setting palette intensity in KPalette() (currently disabled)
svn-id: r39794
2009-04-01 20:32:45 +00:00
Filippos Karapetis
a6f49a636b
- Moved palette initialization inside the graphics resource manager
...
- The static palette is no longer needlessly referenced directly outside the graphics resource manager
- Moved the SCI interpreter version inside the graphics resource manager, instead of gfx_state_t
svn-id: r39626
2009-03-23 08:43:53 +00:00
Filippos Karapetis
c9eff6e1f8
Cleaned up graphics initialization a bit
...
svn-id: r39513
2009-03-18 11:07:29 +00:00
Max Horn
aad0ad3fa6
SCI: Added new header gfx/font.h and removed some dead code
...
svn-id: r39211
2009-03-08 08:15:56 +00:00
Max Horn
2dfae035ac
SCI: Reduced header interdependencies some more
...
svn-id: r39202
2009-03-07 19:23:47 +00:00
Max Horn
302a99a2c0
SCI: cleanup
...
svn-id: r39106
2009-03-04 05:19:19 +00:00
Max Horn
8022122bb9
SCI: Added kDebugLevelDclInflate; changed decompressors to *not* use fprintf or printf
...
svn-id: r39055
2009-03-01 21:48:39 +00:00