Commit Graph
87 Commits
Author SHA1 Message Date
Willem Jan Palenstijn e408870260 Use new Common::String::printf
svn-id: r42744
2009-07-25 10:26:17 +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 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