aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
AgeCommit message (Collapse)Author
2010-06-03Fixed compilationFilippos Karapetis
svn-id: r49407
2010-06-03Moved several object-related defines inside vm.h into segment.h, where the ↵Filippos Karapetis
Object class resides. Also, removed several unused defines svn-id: r49406
2010-06-02Fixed regression from commit #49332 (merging of the SCI0 and SCI11 relocate ↵Filippos Karapetis
functions, where the SCI0 equivalent had a +1 count): it seems that we should skip over zero exports, however the total number of valid exports remains the same. Fixes KQ5 and QFG2. This also fixes the relocation calculation of script 71 in SQ3, so remove the comment that the script has broken relocation entries svn-id: r49394
2010-06-01Stop reconstructing the engine state when restoring, but reset it insteadFilippos Karapetis
svn-id: r49376
2010-06-01SCI: Fix malloc<->new mismatch in SysStrings, try to increase readabilityMax Horn
svn-id: r49375
2010-06-01The parser vocabulary remains static throughout the game, thus it has been ↵Filippos Karapetis
removed from the engine state svn-id: r49373
2010-06-01The system strings segment is a fixed segment of the segment manager, which ↵Filippos Karapetis
doesn't change during the game, thus move all the system strings code and variables inside the segment manager svn-id: r49372
2010-05-31Merged all the script relocation code inside script_instantiate(), and ↵Filippos Karapetis
changed the warning when reading an invalid species into an error (as it's severe, and if it happens it means something is seriously wrong) svn-id: r49361
2010-05-31Wrote the initialization code for the exports and synonyms table to make ↵Filippos Karapetis
more sense and fixed a bug with the initialization of the synonyms pointer, introduced with rev #49336 svn-id: r49360
2010-05-31SCI: break on anything, warn on anything but spaces in kReadNumberMartin Kiewitz
svn-id: r49355
2010-05-31Fixed operator precedence warningFilippos Karapetis
svn-id: r49353
2010-05-31The code that loads saved game from the launcherFilippos Karapetis
can now load SCI2 saved games. Added an explanation why the injected call is necessary svn-id: r49349
2010-05-31SCI: added TODO at kReadNumber space codeMartin Kiewitz
svn-id: r49348
2010-05-31The save/load object init code is now unified with the regular object init codeFilippos Karapetis
svn-id: r49346
2010-05-31SCI: skip spaces in kReadNumber - this happens in lsl3 introMartin Kiewitz
svn-id: r49345
2010-05-31SCI: when getting invalid chars in kReadNumber don't error() out, but create ↵Martin Kiewitz
a warning - we get invalid chars in the intro of lsl5, cause currently unknown svn-id: r49344
2010-05-31Merged several script instantiation-related functions inside ↵Filippos Karapetis
script_instantiate() svn-id: r49343
2010-05-31CleanupFilippos Karapetis
svn-id: r49342
2010-05-31Slight cleanupFilippos Karapetis
svn-id: r49339
2010-05-30Limited access to the script export table and synonyms blockFilippos Karapetis
svn-id: r49338
2010-05-30SCI: Merge setLockers(1) call into Script::initMax Horn
svn-id: r49337
2010-05-30SCI: Script exports and synonyms are now initialized when a script is ↵Filippos Karapetis
loaded. Removed a sanity check inside script_instantiate_sci0 for a bug which no longer exists svn-id: r49336
2010-05-30CleanupFilippos Karapetis
svn-id: r49334
2010-05-30CleanupFilippos Karapetis
svn-id: r49333
2010-05-30- Merged the SCI0 scriptRelocate() and SCI11 heapRelocate() functions inside ↵Filippos Karapetis
relocate(). scriptRelocate checked one more relocation entry, which seems wrong, so we're now checking for the correct number of relocations in all SCI versions - Re-added the error when script + heap exceed 64KB (better than an assert) - this should theoretically never happen, and it never has for the games tested - Removed the relocated sanity check - again, it shouldn't occur (else something else is wrong) svn-id: r49332
2010-05-30kScriptID can be used to load scripts with no exports. Don't throw warnings ↵Filippos Karapetis
in this case if no export is requested, as it's perfectly normal behavior svn-id: r49331
2010-05-30Moved setScriptSize() inside Script::init(), and removed a FIXME - the ↵Filippos Karapetis
SCI1.1 word-align is done inside Script::init() svn-id: r49330
2010-05-30Unified the script loading code, and marked an issue with the SCI11 heap ↵Filippos Karapetis
addresses svn-id: r49329
2010-05-30Made load_script() a member of the Script classFilippos Karapetis
svn-id: r49328
2010-05-30Limit access to the _bufSize, _scriptSize and _heapSize members of the ↵Filippos Karapetis
Script class svn-id: r49327
2010-05-30Fixed findGameObject() for SCI11 gamesFilippos Karapetis
svn-id: r49326
2010-05-30Clarify reasoning behind hack in Script::scriptRelocate()Lars Skovlund
svn-id: r49320
2010-05-29Limit access to the _classTable array (now it's directly accessible only ↵Filippos Karapetis
inside saveLoadWithSerializer() svn-id: r49318
2010-05-29Mass renaming of selector-related functions, and removed some defines which ↵Filippos Karapetis
were just cloaking functions with a different name - GET_SEL32 -> readSelector - GET_SEL32V -> readSelectorValue - PUT_SEL32 -> writeSelector - PUT_SEL32V -> writeSelectorValue Also, changed some selector-related function names and variables to CamelCase svn-id: r49317
2010-05-29SCI: Merge Script::relocateBlock and Object::relocateMax Horn
The shared code now resides in a new static function named relocateBlock, which is invoked by the two methods. svn-id: r49316
2010-05-29SCI: Make Script::_exportTable const (yay :-)Max Horn
svn-id: r49315
2010-05-29CleanupFilippos Karapetis
svn-id: r49312
2010-05-29Removed the scriptRelocateExportsSci11() hack. The open spell in QFG1VGA ↵Filippos Karapetis
works now (thanks to waltervn for all his help on this) svn-id: r49311
2010-05-29Removed the hack inside findGameObject(), and replaced it with code from the ↵Filippos Karapetis
segment manager, till we find out why the segment is sometimes off by 1 (note that findGameObject() works fine for finding the game ID itself) svn-id: r49310
2010-05-29Added a method to the resource manager, to limit the places where script ↵Filippos Karapetis
exports are accessed, since for SCI11 and newer exports can be functions and objects (first step in removing scriptRelocateExportsSci11(), which is a gross hack and it fails in QFG1VGA) svn-id: r49308
2010-05-28Silenced some superfluous warnings in KQ5CDFilippos Karapetis
svn-id: r49294
2010-05-28Added some more info when severe script errors occurFilippos Karapetis
svn-id: r49293
2010-05-28Cleaned up detectGfxFunctionsType() slightly, and made it work for Hoyle 1 ↵Filippos Karapetis
and 2 properly. svn-id: r49292
2010-05-28CleanupFilippos Karapetis
svn-id: r49290
2010-05-28Added comments to kMergePoly()Filippos Karapetis
svn-id: r49289
2010-05-28Added a stub for kMergePoly, to avoid crashing in QFG1VGA after killing a ↵Filippos Karapetis
monster svn-id: r49288
2010-05-27Fix starting GK1.Matthew Hoops
svn-id: r49265
2010-05-27SCI: fixing -propDict- selector on instances to contain -propDict- of the ↵Martin Kiewitz
corresponding class - fixes sq4cd/room 381 talk-clicking on robot - thx to waltervn & wjp svn-id: r49263
2010-05-26Made _k_new_node() a method of the segment manager, and fixed a bug with the ↵Filippos Karapetis
rarely used SCI0 kernel function kSort in the process (_k_new_node was called with key, value instead of value, key inside kSort) svn-id: r49251
2010-05-26SCI: fixing kReadNumber to behave like in sierra sci (non standard atoi ↵Martin Kiewitz
implementation) - fixes big door not unlocking in sq4 svn-id: r49250