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
116d225411
Changed an incorrect warning back to scidprintf - the relevant message is for testing only
...
svn-id: r42394
2009-07-11 19:38:41 +00:00
Willem Jan Palenstijn
8dd3492194
SCI: don't let TimerSongIterator loop forever, and don't immediately
...
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-11 15:00:40 +00:00
Travis Howell
9594beb39f
Only error out, if checkStaticSelectorNames() fails.
...
svn-id: r42376
2009-07-11 07:03:28 +00:00
Filippos Karapetis
2b5fac58d5
Applied patch 2818733 - "SCI: Timer iterator for audio resources played via doSound"
...
svn-id: r42375
2009-07-11 06:53:39 +00:00
Filippos Karapetis
0b47fa50ae
Applied a slightly modified patch from clone2727 which adds static selector names to some demos which are missing them (KQ4, LSL1, LSL3, Iceman and Christmas1992)
...
svn-id: r42372
2009-07-11 06:33:19 +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
982153e0ab
restAdjust should be a signed integer. Fixes crashes with SCI1 games that take absolute lofs parameters (a regression of commit #42260 )
...
svn-id: r42297
2009-07-09 15:46:26 +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
d351c7b9cb
Only the kernel needs to be initialized before anything else, when saving/loading
...
svn-id: r42262
2009-07-08 10:44:25 +00:00
Filippos Karapetis
a764f274f8
Fixed saving/loading again (broken with the latest changes for game feature auto-detection)
...
svn-id: r42261
2009-07-08 10:35: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
a62b26ea80
Silenced the very chatty song iterator console messages by converting them to appropriate debug messages
...
svn-id: r42240
2009-07-07 20:43:27 +00:00
Filippos Karapetis
ab8c3d56b8
Removed the weird checks for a maximum resource number (the 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-07 13:39:24 +00:00
Filippos Karapetis
a9aaf56b3e
Cleanup: added an enum for the auto-detected features, removed the selectors 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-07 11:14:18 +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
e4f6330418
Added a SCI1.1 case in the lofss opcode, like in the lofsa opcode (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 07:51:26 +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
0a8cd4a27d
Removed unused define
...
svn-id: r42200
2009-07-07 06:29:07 +00:00
Filippos Karapetis
219b0de0d2
Renamed SCI_VERSION_01 -> SCI_VERSION_01_EGA
...
svn-id: r42181
2009-07-06 16:22:14 +00:00
Filippos Karapetis
30d1462da0
Swapped the music and audio resource check for SCI1.1 games. Digital sound effects are now preferred over the synthesized ones
...
svn-id: r42179
2009-07-06 15:50:44 +00:00
Filippos Karapetis
8f284ad396
KQ6CD should be working correctly again
...
svn-id: r42178
2009-07-06 15:30:07 +00:00
Filippos Karapetis
b38c5f8c5c
Proper handling of sound effects marked as music resources
...
svn-id: r42174
2009-07-06 12:44:55 +00:00
Filippos Karapetis
250a1a915a
When a song isn't found, send a "stop handle" event so that the engine won't wait forever (e.g. in SQ4CD, perhaps others)
...
svn-id: r42172
2009-07-06 11:33:28 +00:00
Filippos Karapetis
87988c69ee
Assigned several unimplemented/unused kernel functions as stubs, so that we know when they're used and how they're called
...
svn-id: r42170
2009-07-06 11:19:19 +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
c31d1b3180
- Fixed feature auto-detection for Conquests of Camelot
...
- Auto-detected features are now printed in the console (to ease debugging)
svn-id: r42132
2009-07-05 11:49:05 +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
c5522b3766
- Kernel function names are no longer loaded from vocab.999, but are 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-04 15:45:04 +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
9a96b20cd0
Replaced script_error and CORE_ERROR with error()
...
svn-id: r42079
2009-07-03 21:59:07 +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
69da51e71d
Replaced all calls for manipulating the mouse cursor to be made to the CursorManager instead of directly to the graphics backend
...
svn-id: r42060
2009-07-03 14:18:20 +00:00
Max Horn
72512db7fb
SCI: Fixed warning
...
svn-id: r42055
2009-07-03 10:41:03 +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
Filippos Karapetis
f3ac0a62c4
Applied patch #2815937 - "SCI: ReadString fix to repair LSL5 password". This fixes the problems with the LSL5 password for good
...
svn-id: r42049
2009-07-03 07:06:48 +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
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
Walter van Niftrik
1d0f4782fc
SCI: Fix regression in r41833.
...
svn-id: r41834
2009-06-24 19:26:06 +00:00
Walter van Niftrik
06144864e1
SCI: Partial support for dual-language games.
...
svn-id: r41833
2009-06-24 19:12:45 +00:00
Filippos Karapetis
245a2764fc
Cleanup
...
svn-id: r41727
2009-06-21 13:06:08 +00:00
Max Horn
42de7a1573
Patch
...
svn-id: r41647
2009-06-18 22:09:57 +00:00
Oystein Eftevaag
cca9202372
Buildfix for gcc 3.3 (moved a template class member into the header file)
...
svn-id: r41493
2009-06-13 13:27:21 +00:00
Walter van Niftrik
1fb78d577f
SCI: Moved audio code from AudioResource to the sfx core.
...
svn-id: r41486
2009-06-12 23:46:23 +00:00
Walter van Niftrik
5e68fbfe87
SCI: Moved SCI1 audio map handling into the resource manager.
...
svn-id: r41408
2009-06-09 19:18:48 +00:00
Filippos Karapetis
60f5ac3300
Replaced GFXWARN with warning and GFXDEBUG with debugC
...
svn-id: r41367
2009-06-08 11:42:13 +00:00