aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/vm.cpp
AgeCommit message (Collapse)Author
2009-10-15SCI: pointer_add -> error changed to warning b/c iceman does it. Just ↵Martin Kiewitz
ignoring it doesnt seem to have any effect on the game svn-id: r45123
2009-10-14SCI: Improve cmdSend slightly. It's still broken, thoughWillem Jan Palenstijn
svn-id: r45097
2009-10-14SCI: Fix build with VM_DEBUG_SEND enabledWillem Jan Palenstijn
svn-id: r45096
2009-10-14SCI: removed speed throttler (cause of kAnimate change)Martin Kiewitz
svn-id: r45094
2009-10-14SCI: Rename some vars (cleaning up what seems to have been caused by a blind ↵Max Horn
global search & replace) svn-id: r45060
2009-10-13SCI: Merge some sfx related global funcs into SfxState.Max Horn
This allows us to get rid of "static SfxPlayer *s_player". svn-id: r45038
2009-10-12Reverted the Common::String::printf() related commits, as the function works ↵Filippos Karapetis
fine now under MSVC svn-id: r44982
2009-10-12Fixed a warning message under MSVC... seems like Common::String::printf does ↵Filippos Karapetis
not work correctly when used on an empty string svn-id: r44972
2009-10-11More work on the Object classFilippos Karapetis
svn-id: r44921
2009-10-11SCI: change remove script FIXME warning into commentMartin Kiewitz
svn-id: r44901
2009-10-10Started rewriting the Object struct into a classFilippos Karapetis
svn-id: r44878
2009-10-09SCI/newgui: calling process_sound_events now directly within kAnimate(), ↵Martin Kiewitz
fixes hanging scripts (e.g. sq3 exiting pod, kq1 getting killed) svn-id: r44843
2009-10-04SCI: Rename EngineState::segMan to _segManMax Horn
svn-id: r44629
2009-10-02Fix cppcheck issue reported by salty-horseWillem Jan Palenstijn
svn-id: r44541
2009-10-02SCI: Use String::printf instead of temporary bufferWillem Jan Palenstijn
svn-id: r44532
2009-10-02SCI: Make NULL_REG & SIGNAL_REG const; change validate_property so that its ↵Max Horn
callers cannot modify NULL_REG accidentally anymore svn-id: r44531
2009-10-01Removed the STRICT_SEND, STRICT_READ and ASSERT_ARITHMETIC definesFilippos Karapetis
svn-id: r44519
2009-10-01- Removed the toggle for "weak" validations, as there are cases where they ↵Filippos Karapetis
fail (e.g. in Longbow), so there is no point in having strict validations - Removed the invalid toggle from kernel signatures - we now never error out on invalid object references, but throw a warning instead - Simplified determine_reg_type() svn-id: r44511
2009-10-01SCI: Remove outdated debugging hack.Willem Jan Palenstijn
In the past, a negative selector value was used to identify a callk stack frame. Currently a type of EXEC_STACK_TYPE_KERNEL already does that. svn-id: r44510
2009-09-30Fixed the warning message shown when dummy functions are invokedFilippos Karapetis
svn-id: r44506
2009-09-30Added a new special reg_t, SIGNAL_REG, for signaling when an error occurs ↵Filippos Karapetis
(usually), or to signal success in some special occasions svn-id: r44505
2009-09-30Fix code formatting (esp. 'if(' -> 'if (' etc., but also indention and other ↵Max Horn
things) svn-id: r44495
2009-09-30SCI: Replace magic '-42' by an enumMax Horn
svn-id: r44492
2009-09-30SCI: Add callk stackframe directly in run_vmWillem Jan Palenstijn
svn-id: r44473
2009-09-29- Changed the unimplemented debug SCI kernel functions (InspectObj, ↵Filippos Karapetis
ShowSends, ShowObjs, ShowFree, StackUsage and Profiler) to be dummy functions - we have our own debugger, and don't use these functions for debugging - Removed the function number parameter from all kernel functions, as it's no longer needed, and removed the FAKE_FUNCT_NR hack - Removed kUnknown() and kStub() - Dummy/unknown kernel functions are no longer invoked, and a warning is shown instead, with the paremeters passed to them Note: there is an evil hack used for debugging scripts in invoke_selector(), which probably no longer works now svn-id: r44461
2009-09-28SCI: Remove unsafe unmarkDeleted function.Willem Jan Palenstijn
It did not undo all effects of a script being deleted (specifically its superclasses remain unlocked), causing an inconsistent state. Also removed EcoQuest CD hack that worked around a specific instance of this problem. svn-id: r44449
2009-09-27SCI: change segment offsets in reg segments to be in half reg_t.Willem Jan Palenstijn
This makes offsets in raw and reg segments consistent, which fixes string addressing in savegame dialogs. svn-id: r44396
2009-09-23- Moved the SCI version in a global variableFilippos Karapetis
- Changed all the SCI version checks to use getSciVersion() - Also made getSciVersionDesc a global function (removes some ugly accessing of the SCI engine) The fallback detector should work correctly now svn-id: r44269
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-21SCI: cleanupMax Horn
svn-id: r44241
2009-09-21SCI: Replace IntMapper Script::_objIndices and Common::Array ↵Max Horn
Script::_objects by a HashMap -- goodbye, class IntMapper svn-id: r44240
2009-09-17SCI: Add EngineState::_kernel member for convenienceMax Horn
svn-id: r44173
2009-09-17SCI: Move CallsStruct into vm.cpp, the only place it is being usedMax Horn
svn-id: r44172
2009-09-17SCI: Move some selector related function into a new file selector.cppMax Horn
svn-id: r44171
2009-09-17SCI: Add a global getSciVersion() function and make use of itMax Horn
svn-id: r44170
2009-09-17SCI: Rename selector_map_t -> SelectorCache and _selectorMap -> _selectorCacheMax Horn
svn-id: r44152
2009-09-17SCI: Move parts of struct ScriptState into a new struct DebugStateMax Horn
svn-id: r44151
2009-09-17SCI: cleanupMax Horn
svn-id: r44150
2009-09-17Made script_lookup_export() a method of SegManagerFilippos Karapetis
svn-id: r44140
2009-09-17Changed the way object selectors are accessed, by removing the relevant ↵Filippos Karapetis
defines and adding appropriate methods to the Object structure svn-id: r44138
2009-09-17SCI: Change SegmentId from int to uint16; consistently use segment 0 to ↵Max Horn
indicate an invalid segment svn-id: r44131
2009-09-17SCI: Rename MemObject -> SegmentObjMax Horn
svn-id: r44130
2009-09-16SCI: Turn some SegManager methods into Script methodsMax Horn
svn-id: r44127
2009-09-16SCI: Rename Script class members, change Script from struct to classMax Horn
svn-id: r44126
2009-09-12Removed the unused ASSERT()-related code and changed a warning where ↵Filippos Karapetis
BREAKPOINT() was used to an error svn-id: r44041
2009-09-12- Made obj_get and obj_get_name methods of SegManager (getObject and ↵Filippos Karapetis
getObjectName, respectively) - Renamed alloc_List -> allocateList, alloc_Node->allocateNode, alloc_hunk_entry->allocateHunkEntry, free_hunk_entry->freeHunkEntry, for consistency svn-id: r44039
2009-09-07SCI: Replace GET_SEGMENT_ANY and GET_OBJECT_SEGMENT macros by new segman methodsMax Horn
svn-id: r43999
2009-09-06SCI: Script::obj_indices is now protectedMax Horn
Add new methods init, allocateObject and getObject to class Script, and use them instead of directly accessing Script::obj_indices. Replace RAW_GET_CLASS_INDEX with Script::getObject() svn-id: r43987
2009-09-06SCI: cleanupMax Horn
svn-id: r43984
2009-09-06SCI: Cleanup for some SegManager internalsMax Horn
- rename segGet and getSegment to getScriptSegment; the two can be distinguished by the parameter count. - rename type SCRIPT_GET to ScriptLoadType to conform with our code formatting conventions - rename get_class_address to getClassAddress - some cleanup svn-id: r43981