aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
AgeCommit message (Collapse)Author
2009-07-11Moved the kernel and the vocabulary outside of the engine state (they're ↵Filippos Karapetis
static data, which never changes during a game) svn-id: r42398
2009-07-11Changed an incorrect warning back to scidprintf - the relevant message is ↵Filippos Karapetis
for testing only svn-id: r42394
2009-07-11SCI: don't let TimerSongIterator loop forever, and don't immediatelyWillem Jan Palenstijn
signal completion when starting it. This fixes a sync issue with the departing spaceship at the start of SQ4CD (after the intro). svn-id: r42385
2009-07-11Only error out, if checkStaticSelectorNames() fails.Travis Howell
svn-id: r42376
2009-07-11Applied patch 2818733 - "SCI: Timer iterator for audio resources played via ↵Filippos Karapetis
doSound" svn-id: r42375
2009-07-11Applied a slightly modified patch from clone2727 which adds static selector ↵Filippos Karapetis
names to some demos which are missing them (KQ4, LSL1, LSL3, Iceman and Christmas1992) svn-id: r42372
2009-07-11Fixed regression in the script parser from commit 42260Filippos Karapetis
svn-id: r42371
2009-07-09restAdjust should be a signed integer. Fixes crashes with SCI1 games that ↵Filippos Karapetis
take absolute lofs parameters (a regression of commit #42260) svn-id: r42297
2009-07-08- Moved printObject inside the Console classFilippos Karapetis
- Enabled the parts where disassemble() is called svn-id: r42263
2009-07-08Only the kernel needs to be initialized before anything else, when ↵Filippos Karapetis
saving/loading svn-id: r42262
2009-07-08Fixed saving/loading again (broken with the latest changes for game feature ↵Filippos Karapetis
auto-detection) svn-id: r42261
2009-07-08Some cleanup for the script debugger code:Filippos Karapetis
- 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-07Silenced the very chatty song iterator console messages by converting them ↵Filippos Karapetis
to appropriate debug messages svn-id: r42240
2009-07-07Removed the weird checks for a maximum resource number (the ↵Filippos Karapetis
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-07Cleanup: added an enum for the auto-detected features, removed the selectors ↵Filippos Karapetis
which are only used for auto-detection from the convenience selector map and placed feature auto-detection in a separate function. Also, now the automatically detected graphics resources are shown in the console. svn-id: r42212
2009-07-07Added auto-detection for games with older headers for script blocks, and ↵Filippos Karapetis
removed game flag GF_SCI0_OLD svn-id: r42211
2009-07-07Added a SCI1.1 case in the lofss opcode, like in the lofsa opcode ↵Filippos Karapetis
(essentially, lofss and lofsa both load an offset, with lofsa loading it in the accumulator and lofss in the stack). lofss is rarely used in SCI1.1 games, which explains why no lofss-related crashes have been observed in SCI1.1 svn-id: r42209
2009-07-07- Added auto-detection for EGA graphics. As a result of this, GF_SCI1_EGA ↵Filippos Karapetis
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-07Removed unused defineFilippos Karapetis
svn-id: r42200
2009-07-06Renamed SCI_VERSION_01 -> SCI_VERSION_01_EGAFilippos Karapetis
svn-id: r42181
2009-07-06Swapped the music and audio resource check for SCI1.1 games. Digital sound ↵Filippos Karapetis
effects are now preferred over the synthesized ones svn-id: r42179
2009-07-06KQ6CD should be working correctly againFilippos Karapetis
svn-id: r42178
2009-07-06Proper handling of sound effects marked as music resourcesFilippos Karapetis
svn-id: r42174
2009-07-06When a song isn't found, send a "stop handle" event so that the engine won't ↵Filippos Karapetis
wait forever (e.g. in SQ4CD, perhaps others) svn-id: r42172
2009-07-06Assigned several unimplemented/unused kernel functions as stubs, so that we ↵Filippos Karapetis
know when they're used and how they're called svn-id: r42170
2009-07-06Replaced sciprintf() calls with printf, DebugPrintf, warning and error callsFilippos Karapetis
svn-id: r42167
2009-07-05- Fixed feature auto-detection for Conquests of CamelotFilippos Karapetis
- Auto-detected features are now printed in the console (to ease debugging) svn-id: r42132
2009-07-05SCI1 games with absolute parameters to lofs instructions are automatically ↵Filippos Karapetis
detected now. Removed the GF_SCI1_LOFSABSOLUTE game flag svn-id: r42118
2009-07-04- Merged the "early" and "late" SCI1 versions - these are functionally ↵Filippos Karapetis
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- Kernel function names are no longer loaded from vocab.999, but are ↵Filippos Karapetis
constructed from the hardcoded function table, depending on the SCI version used - SCI0 games using older graphics functions are now detected by the presence of the "curAngle" selector - SCI0 games using a SCI1 table (like KQ1 demo version and full version) are detected by the presence of the "sightAngle" selector (as no SCI0 game seems to have it) svn-id: r42095
2009-07-04Newer DoSound() semantics are now detected automatically, by the existence ↵Filippos Karapetis
of the "setVol" selector. Removed game flag GF_SCI1_NEWDOSOUND svn-id: r42087
2009-07-03SCI0 games using older graphics functions are automatically detected now, ↵Filippos Karapetis
from the presence of the "TimesSin" and "SinMult" kernel functions. Removed the GF_SCI0_OLDGFXFUNCS game flag svn-id: r42081
2009-07-03Replaced script_error and CORE_ERROR with error()Filippos Karapetis
svn-id: r42079
2009-07-03- Pushed debugstate into debug.hFilippos Karapetis
- 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-03Replaced all calls for manipulating the mouse cursor to be made to the ↵Filippos Karapetis
CursorManager instead of directly to the graphics backend svn-id: r42060
2009-07-03SCI: Fixed warningMax Horn
svn-id: r42055
2009-07-03Simplified the kernel name loading code: Merged the default SCI0 and SCI1 ↵Filippos Karapetis
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-03Applied patch #2815937 - "SCI: ReadString fix to repair LSL5 password". This ↵Filippos Karapetis
fixes the problems with the LSL5 password for good svn-id: r42049
2009-07-02Moved some more debug state related variables in the DebugState structFilippos Karapetis
svn-id: r42044
2009-07-02Moved all the debug state variables in a separate struct and re-enabled ↵Filippos Karapetis
several places where they're used svn-id: r42043
2009-06-25After discussing with waltervn, committing my fix for the King's Quest I ↵Matthew Hoops
Demo (original from Patch #2795916). I'm also fixing the full game as well :) svn-id: r41841
2009-06-24SCI: Fix regression in r41833.Walter van Niftrik
svn-id: r41834
2009-06-24SCI: Partial support for dual-language games.Walter van Niftrik
svn-id: r41833
2009-06-21CleanupFilippos Karapetis
svn-id: r41727
2009-06-18PatchMax Horn
svn-id: r41647
2009-06-13Buildfix for gcc 3.3 (moved a template class member into the header file)Oystein Eftevaag
svn-id: r41493
2009-06-12SCI: Moved audio code from AudioResource to the sfx core.Walter van Niftrik
svn-id: r41486
2009-06-09SCI: Moved SCI1 audio map handling into the resource manager.Walter van Niftrik
svn-id: r41408
2009-06-08Replaced GFXWARN with warning and GFXDEBUG with debugCFilippos Karapetis
svn-id: r41367
2009-06-08Moved some more debug commands to ScummVM's consoleFilippos Karapetis
svn-id: r41364