aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kernel.cpp
AgeCommit message (Collapse)Author
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
2009-05-20SCI: Moved some private decls from kernel.h to kernel.cpp; removed pointless ↵Max Horn
(and incorrect) fallback code in k_Unknown svn-id: r40739
2009-05-20SCI: Moved the few kernel functions that were in kernel.cpp to a new file ↵Max Horn
kmisc.cpp svn-id: r40738
2009-05-19SCI: Added some stubs for LSL6CD (lores).Walter van Niftrik
svn-id: r40719
2009-05-18SCI: Added FIXMEMax Horn
svn-id: r40695
2009-05-18SCI: Got rid of EngineState::execution_stack_pos; overally, the resulting ↵Max Horn
code should be even stricter in detecting invalid VM stack access (and some bugs when loading saves might be fixed now...) svn-id: r40694
2009-05-18SCI: Removed ENTRY_IS_VALID macroMax Horn
svn-id: r40690
2009-05-18Changed errors to be fatal, as most of them are fatal conditions. Some of ↵Filippos Karapetis
them have been changed to warnings for now, as they occur in certain games (e.g. SQ4 floppy, SQ4 CD and KQ5 CD) svn-id: r40675
2009-05-15- Moved all the files out of /sci/scicore and into /sciFilippos Karapetis
- Moved /scicore/sciconsole.h into /engine, and renamed /engine/scriptconsole.cpp to /engine/sciconsole.cpp svn-id: r40608
2009-05-14- Removed SCI_VERSION_FTU_NEW_GETTIMEFilippos Karapetis
- Added defines for SCI0 flags, to simplify game entries - Removed the leftover version_lock_flag from EngineState svn-id: r40553
2009-05-14Started using game-specific flags and removed/replaced some SCI version ↵Filippos Karapetis
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-12SCI: Changed object / script local vars storage to use a Common::ArrayMax Horn
svn-id: r40515
2009-05-12SCI: Removed sci_memory.h/.cppMax Horn
svn-id: r40514
2009-05-12SCI: Merged Message() and GetMessage(). Set SCI1.1 to use SCI1 kernel table ↵Walter van Niftrik
(for now). svn-id: r40481
2009-05-11SCI: Simplified the Table class, by making it use an Common::Array ↵Max Horn
internally. Increased savegame version, breaking compatibility to the previous one -- sorry for that, but some of my previous changes accidentally messed up the table syncing, resulting in messed up savegames anyway; these breakages should be fixed with this commit svn-id: r40453
2009-05-10SCI: Changed object list in Script instances to use Common:::ArrayMax Horn
svn-id: r40431
2009-05-08SCI: Set signature for GetMessage.Walter van Niftrik
svn-id: r40396
2009-05-08SCI: Renamed dstack_t -> DataStack; removed obsolete KF_OLD constantMax Horn
svn-id: r40374
2009-05-03SCI: Started adding methods to MemObject subclasses: constructors, ↵Max Horn
destructors, dereference() (and currently commented out refs to Common::Serializable svn-id: r40295
2009-05-03SCI: Completed transition from MemObject (a union of various structs) to ↵Max Horn
MemObjectNEW (a baseclass for these structs) svn-id: r40294