aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kernel.cpp
AgeCommit message (Collapse)Author
2009-08-19Comment out unused function (which was also currently only enabled when ↵Johannes Schickel
SCI32 is enabled). svn-id: r43528
2009-08-18Started rewriting the SCI engine to use FSNode instead of file names. This ↵Filippos Karapetis
is the proper solution for removing the hack in the fallback detector, but it still needs work. Also, reduced the things needed to be initialized a bit, so that the detection is a bit faster svn-id: r43510
2009-08-17SCI: Fix kernel table for multilingual SCI01 games. Cleanup.Walter van Niftrik
svn-id: r43497
2009-08-17SCI: Add autodetection for DoSound. Cleanup.Walter van Niftrik
svn-id: r43482
2009-08-17- Simplified some functions to accept only the parts of the EngineState they ↵Filippos Karapetis
need as parameters, instead of the whole EngineState - Moved the class table in the Segment manager - it's the only class using it directly - Removed the sci11 flag from save games (we already know this, we don't need to store it) - Moved script_get_segment() and get_class_address() inside the segment manager class - Removed the script_locate_by_segment wrapper - Simplified script_lookup_export() a lot by removing some paranoia checks - Added some WIP code for automatically determining the game id in the fallback detector (still not working) - General cleanup svn-id: r43458
2009-08-16SCI: Stage 1 of the game detection overhaul. The end goal is to autodetectWalter van Niftrik
as much as possible. All SCI_VERSION_* information was removed from detection.cpp (much of it was incorrect anyway). svn-id: r43449
2009-08-15SCI: Added enum for map and volume versions. Removed res_version setting fromWalter van Niftrik
detection.cpp (should be detectable). Cleanup. svn-id: r43390
2009-08-10SCI: Improved multilanguage support for SCI1 and SCI1.1.Walter van Niftrik
svn-id: r43217
2009-07-11Only error out, if checkStaticSelectorNames() fails.Travis Howell
svn-id: r42376
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-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-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-06Renamed SCI_VERSION_01 -> SCI_VERSION_01_EGAFilippos Karapetis
svn-id: r42181
2009-07-06KQ6CD should be working correctly againFilippos Karapetis
svn-id: r42178
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-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-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-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-07SCI: Moved resource36 handling into resource manager.Walter van Niftrik
svn-id: r41349
2009-06-04SCI: Renamed _kfuncTable -> _kernelFuncs; and simplified/streamlined the ↵Max Horn
kernel func map in kernel.cpp a bit svn-id: r41176
2009-06-04SCI: Added MemObject::isValidOffset method; use it to simplify ↵Max Horn
determine_reg_type svn-id: r41175
2009-06-04SCI: cleanupMax Horn
svn-id: r41173
2009-06-02Removed the gfxw_new_visual and gfxw_new_port wrappers, moved _kfuncTable ↵Filippos Karapetis
inside the Kernel class and moved gfxw_find_port inside the GfxVisual struct svn-id: r41125
2009-06-01Split the kernel functions away from the vocabulary functions (WIP, ↵Filippos Karapetis
saving/loading is broken) svn-id: r41101
2009-06-01Replaced kernel_oops with error(), and added an enum to clarify the cases ↵Filippos Karapetis
where invoke_selector should stop svn-id: r41095
2009-06-01Removed the sci_max_allowed_unknown_kernel_functions arrayFilippos Karapetis
svn-id: r41094
2009-05-31Removed script_error_flag and script_debug_flag, which were used to error ↵Filippos Karapetis
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-31SCI: Renamed some Vocabulary methods for clarity; also renamed ↵Max Horn
decypherSaidBlock -> decipherSaidBlock; some cleanup in Console::cmdSentenceFragments svn-id: r41072
2009-05-31- Further objectification of the SCI vocabulary functionsFilippos Karapetis
- Rewrote the sci_opcodes enum so that it's easier to read - Made the engine error out if data is sent to an invalid selector (which is a fatal condition) svn-id: r41069
2009-05-31Further objectification of the SCI vocabulary functions. Removed the ↵Filippos Karapetis
"kernel_words" console command, as it's exactly the same as "parser_words" svn-id: r41065
2009-05-31The error() and warning() functions add ! and newline automatically. (I didn'tTorbjörn Andersson
look at debug() and debugC(), since I'm really bored with this now. :-) svn-id: r41061
2009-05-30Started objectifying the vocabulary functions (WIP)Filippos Karapetis
svn-id: r41051
2009-05-30- Removed debug_mode from the engine stateFilippos Karapetis
- 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-29SCI: Converted several fprintf(stderr) calls to warning/error (the remaining ↵Max Horn
fprintf calls should probably be replaced by suitable debug/debugC/debugN invocations) svn-id: r40993
2009-05-28SCI: cleanupMax Horn
svn-id: r40959
2009-05-26SCI: Changed signatures of StrLen and StrCpy to allow NULL pointers. This isWalter van Niftrik
needed for a game bug in KQ6CD. svn-id: r40930
2009-05-26SCI: Merged vocab_debug.cpp into vocabulary.cpp; cleanupMax Horn
svn-id: r40915
2009-05-26Turned some static tables into static const tables; added some FIXME ↵Max Horn
comments to global static vars that should be removed (many more exist in SCI, Tinsel, and some other engines) svn-id: r40908
2009-05-26SCI: Some small fixes for KQ6CD.Walter van Niftrik
svn-id: r40898
2009-05-25SCI: Force movie palettes (KQ6).Walter van Niftrik
svn-id: r40883
2009-05-23Added a stub for SetVideoMode(), and fixed some of the palette glitches in ↵Filippos Karapetis
the intro of KQ6 thanks to some comments by waltervn. Also, commented out the bounds rect in gfxr_pic_t, as it's currently unused svn-id: r40808
2009-05-21SCI: Added support for KQ6 movies.Walter van Niftrik
svn-id: r40774
2009-05-21Removed the PREG, PSTK, IS_NULL_REG and REG_EQ definesFilippos Karapetis
svn-id: r40767
2009-05-20SCI: Moved code related to loading/setting up kernel function names from ↵Max Horn
vocab_debug.cpp to engine/kernel.cpp svn-id: r40741