aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/seg_manager.h
AgeCommit message (Collapse)Author
2012-07-02SCI: Add a hack for a bug in the script handling codeFilippos Karapetis
When resetting the segment manager, sometimes the locals block for a script is placed in a segment smaller than the script itself. This shouldn't be happening, but it isn't fatal, however it should be resolved in a proper manner
2012-06-15SCI: Change getClassAddress() to only require the caller segmentFilippos Karapetis
The caller offset is never actually used inside the function
2011-11-05SCI: Made more fields of the Script class private. Some cleanup.Filippos Karapetis
2011-05-25ALL: initialise -> initializeMatthew Hoops
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-03-14SCI: Got rid of VERIFY() and removed some newlines in error messagesmd5
2011-03-09SCI: Removed unnecessary parameter from deallocate()md5
2010-12-15SCI: Slight cleanupFilippos Karapetis
svn-id: r54925
2010-12-07SCI: Removed the system strings code and replaced it with a much more ↵Filippos Karapetis
simplified version, thus greatly simplifying handling of system strings svn-id: r54805
2010-11-08SCI: Some changes regarding the string heap in saved gamesFilippos Karapetis
- Maintain the state of the string heap space in saved games - Merged SegManager::reconstructScripts() inside SegManager::saveLoadWithSerializer() - Disabled a now unnecessary script patch for the cipher puzzle in Castle of Dr. Brain, and performed some cleanup for another disabled patch - Removed direct access to the _baseObj variable of objects svn-id: r54133
2010-08-01SCI: Ignoring non-critical script bug in QFG1VGA, when closing any ↵Filippos Karapetis
conversation dialog with esc (doesn't affect gameplay in any manner) svn-id: r51572
2010-07-22SCI: Fixed the crash in LSL2, room 42 (when arriving at the island). ↵Filippos Karapetis
kAnimate may refer to unfrozen objects which have been deleted, thus handle that case accordingly. svn-id: r51152
2010-07-01SCI: Make SegManager::_heap privateMax Horn
svn-id: r50552
2010-07-01SCI: Make SegManager::_classTable private.Max Horn
This require a small tweak to the save/load code: I moved the syncing logic for _classtable from EngineState::saveLoadWithSerializer to SegManager::saveLoadWithSerializer, which in theory should have no effect (luckily, _classtable was being synced right after the segment manager). svn-id: r50551
2010-07-01SCI: Add SegManager::getSystemString() methodMax Horn
svn-id: r50550
2010-07-01SCI: Rename some variables to match our naming conventionsMax Horn
svn-id: r50549
2010-06-28SCI: Make various SegManager constMax Horn
svn-id: r50439
2010-06-27Made the script initialization/uninitialization methods part of the segment ↵Filippos Karapetis
manager svn-id: r50402
2010-06-27SCI: Made the code for initializing script classes, objects and locals part ↵Filippos Karapetis
of the Script class svn-id: r50398
2010-06-27SCI: Moved all the script-related code inside script.cpp/.h, and all script ↵Filippos Karapetis
opcode-related code inside vm.cpp/.h svn-id: r50396
2010-06-27SCI: Separated the code for initializing script classes from the code for ↵Filippos Karapetis
initializing script objects svn-id: r50390
2010-06-26Moved script_instantiate_sci0() inside the segment manager, and renamed it ↵Filippos Karapetis
to scriptInitialiseObjectsSci0() svn-id: r50357
2010-06-15Fix spelling, cleanupMax Horn
svn-id: r49843
2010-06-14Some cleanup of the script locals codeFilippos Karapetis
svn-id: r49649
2010-06-13The offset of script local variables is now calculated when the script is ↵Filippos Karapetis
loaded, thus we no longer need to save it. Merged scriptInitialiseLocals() with scriptInitialiseLocalsZero() svn-id: r49640
2010-06-08Made reconstruct_stack() a member of SegManagerFilippos Karapetis
svn-id: r49503
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-29Limit access to the _classTable array (now it's directly accessible only ↵Filippos Karapetis
inside saveLoadWithSerializer() svn-id: r49318
2010-05-29CleanupFilippos Karapetis
svn-id: r49312
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-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-19Removed the exportsAreWide variable from the segment manager and save games, ↵Filippos Karapetis
and moved validateExportFunc() in the Script class, thus resolving a TODO svn-id: r49093
2010-05-18- Removed the wrapper kalloc, kmem and kfree functions. Now, the associated ↵Filippos Karapetis
Segment manager functions allocateHunkEntry, getHunkPointer and freeHunkEntry are used directly (which are more descriptive, anyway) - Replaced the GET_SEGMENT macro by a method of the segment manager - Removed the unused reference to the created hunk in allocateHunkEntry(), only the reg_t reference to it is returned now svn-id: r49078
2010-02-03SCI: Move more stuff aroundMax Horn
svn-id: r47836
2010-01-25Strip trailing spaces/tabs.Johannes Schickel
svn-id: r47541
2009-12-21SCI32:Matthew Hoops
- Fully implement kArray and kIsHiRes and mostly implement kString (printf and atoi subfunctions still missing). - Add a dummy SciGui class for SCI32 to bypass the views. Gabriel Knight 1 will now play the Sierra logo music and the main menu music. - Some other minor SCI32 changes. svn-id: r46462
2009-11-04- Changed the segment manager to be a static part of the engine, and stopped ↵Filippos Karapetis
deleting and recreating it when restoring games - Merged game_exit(), script_free_vm_memory() and script_free_engine() - Cleanup svn-id: r45666
2009-10-13SCI: Merge SegManager::alloc_Hunk into SegManager::allocateHunkEntryMax Horn
svn-id: r45041
2009-10-08SCI: Turn reconstruct_scripts into SegManager::reconstructScriptsMax Horn
svn-id: r44806
2009-10-08SCI: Removed obsolete stringfrags codeMax Horn
svn-id: r44803
2009-10-08SCI: Removed SegManager::getDescriptionMax Horn
svn-id: r44795
2009-10-07SCI: Turn lookup_node & lookup_list into SegManager::lookupNode & ↵Max Horn
SegManager::lookupList svn-id: r44769
2009-10-04SCI: Add SegManager::findObjectByName() method, make parse_reg_t() local to ↵Max Horn
console.cpp, and switch other code using it to use findObjectByName() instead. svn-id: r44628
2009-09-27SCI: Add utility functions for copying data between raw/non-raw segmentsWillem Jan Palenstijn
svn-id: r44387
2009-09-22- Merged scriptObjInit0() and scriptObjInit11()Filippos Karapetis
- Replaced some cases where getSciVersion() is used with _resMan->sciVersion(), as getSciVersion() will fail with the fallback detector (as the engine is not initialized). Object property accessors still crash currently, when used with the fallback detector svn-id: r44261
2009-09-22SCI: Add new type SegmentRef which ultimately will allow us to distinguish ↵Max Horn
between raw and 'reg_t' memory blocks in client code svn-id: r44244
2009-09-22SCI: SegmentObj's now set their type in constructor; replace central ↵Max Horn
SegmentObj::createSegmentObj call in SegManager::allocSegment by several explicit 'new' statements; some extra cleanup svn-id: r44242
2009-09-17SCI: Add a global getSciVersion() function and make use of itMax Horn
svn-id: r44170
2009-09-17SCI: Rename engine/memobj.* to engine/segment.*Max Horn
svn-id: r44155
2009-09-17Made script_lookup_export() a method of SegManagerFilippos Karapetis
svn-id: r44140