Commit Graph
4076 Commits
Author SHA1 Message Date
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
Filippos Karapetis 95d32180df Moved some more debug commands to ScummVM's console
svn-id: r41364
2009-06-08 08:38:10 +00:00
Filippos Karapetis ed46e223eb Hopefully fixed memory corruption when loading games
svn-id: r41361
2009-06-07 23:29:11 +00:00
Max Horn 0dcb1fa84f SCI: Got rid of g_EngineState
svn-id: r41359
2009-06-07 23:04:34 +00:00
Walter van Niftrik a6ed05740f SCI: Moved resource36 handling into resource manager.
svn-id: r41349
2009-06-07 19:15:55 +00:00
Max Horn ee21d82948 SCI: Fixed the broken SciEngine::pauseEngineIntern code by ensuring that SciEngine::_gamestate is updated whenever the EngineState gets changed (due to loading a savestate)
svn-id: r41346
2009-06-07 17:18:11 +00:00
Max Horn 21d948ec05 SCI: Simplified SongLibrary code a bit
svn-id: r41345
2009-06-07 17:07:25 +00:00
Max Horn d07e9dfb13 SCI: Objectified SongLibrary
svn-id: r41343
2009-06-07 17:06:51 +00:00
Max Horn f2ca788004 SCI: Renamed various song/songlib related structs and members
svn-id: r41342
2009-06-07 17:06:32 +00:00
Filippos Karapetis 3b687a7a04 Replaced KP_ALT, SKPV_OR_ALT and UKPV_OR_ALT
svn-id: r41340
2009-06-07 16:50:34 +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
Walter van Niftrik e3d3195a43 SCI: Resmgr cleanup and preparations for moving resource36 handling into resmgr.
svn-id: r41318
2009-06-07 02:18:38 +00:00
Filippos Karapetis 7375039158 Moved some more debug commands to ScummVM's coneole
svn-id: r41302
2009-06-06 20:29:37 +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
Willem Jan Palenstijn 60e02ad6a8 Store long-term pointers to object variables in a new ObjVarRef struct.
Storing them as reg_t* could cause the pointers to become invalid
when they pointed into CloneTable since CloneTable can be re-allocated.

svn-id: r41220
2009-06-06 11:38:20 +00:00
Filippos Karapetis 8033a39128 Objectified the graphics driver
svn-id: r41214
2009-06-06 10:21:48 +00:00