aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kscripts.cpp
AgeCommit message (Collapse)Author
2010-07-02Added handling for kLock called with resource id -1 (unlock all resources of ↵Filippos Karapetis
the requested type). Happens e.g. in KQ6 and LSL6 svn-id: r50595
2010-06-30SCI: implementing workarounds for kernel calls, removing original code ↵Martin Kiewitz
workaround for kDisposeScript / qfg1 room 64 and adding it to workaround table svn-id: r50520
2010-06-27Made the script initialization/uninitialization methods part of the segment ↵Filippos Karapetis
manager svn-id: r50402
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-26Shuffled some functions around. Also, the filename in kResCheck can never be ↵Filippos Karapetis
bigger than 9 characters, when dealing with VMD videos svn-id: r50355
2010-06-26Added a workaround for broken script 377 in Castle of Dr. Brain, room 320. ↵Filippos Karapetis
It constantly tries to free the saved area rectangle (underbits) underneath the popup window svn-id: r50352
2010-06-18SCI: Rewrap some overlong commentsMax Horn
svn-id: r50012
2010-06-18Changed another warning into an error. CleanupFilippos Karapetis
svn-id: r49995
2010-06-17Fixed kLoad and kUnload (the resource type was incorrect)Filippos Karapetis
svn-id: r49931
2010-06-17Added handling of VMD video files in kResCheck, fixes video playing in GK2Filippos Karapetis
svn-id: r49913
2010-06-15SCI: OOpify class ResourceIdMax Horn
svn-id: r49841
2010-06-14CleanupFilippos Karapetis
svn-id: r49662
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-05-30Limited access to the script export table and synonyms blockFilippos Karapetis
svn-id: r49338
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-30Limit access to the _bufSize, _scriptSize and _heapSize members of the ↵Filippos Karapetis
Script class svn-id: r49327
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-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-26SCI: Making various object and script related things constMax Horn
svn-id: r49246
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-05-18- Moved determine_reg_type() and kernel_matches_signature() inside the ↵Filippos Karapetis
Kernel class, where they belong - Moved the kernel signature defines inside kernel.h - Removed some unused references to EngineState svn-id: r49075
2010-02-15SCI: No need to set _executionStackPosChanged in kDisposeScript, as the ↵Max Horn
callk opcode handler does that already svn-id: r48064
2010-02-13SCI: Get rid of EngineState::resManMax Horn
svn-id: r48048
2010-01-30SCI: Remove extra '\n's in debugC messagesWillem Jan Palenstijn
svn-id: r47707
2010-01-29SCI: Move selector stuff to new header; reorder k_argc & k_argp param of ↵Max Horn
invoke_selector svn-id: r47665
2010-01-26Wording - we ignore calls to kUnload with less than 2 parametersFilippos Karapetis
svn-id: r47564
2010-01-26Ignore kUnload calls which are not made with less than 2 parameters. ↵Filippos Karapetis
Apparently, according to the FreeSCI bugs list, SQ1 calls it with 1 parameter when exiting the Ulence flats bar svn-id: r47563
2010-01-25Strip trailing spaces/tabs.Johannes Schickel
svn-id: r47541
2010-01-23kSetSynonyms is really parser related, but it's an empty function in games ↵Filippos Karapetis
without a parser svn-id: r47484
2010-01-23- Moved all of the parser-related variables inside the Vocabulary classFilippos Karapetis
- Moved the kSetSynonyms() function inside kscripts (as it's for script synonyms, not parser word synonyms) - The parser vocabulary is now only initialized for SCI0 and SCI01 games, which had a parser svn-id: r47483
2010-01-05SCI: Removed the old graphics codeFilippos Karapetis
svn-id: r47005
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-10-28Enclose all of the old graphics code within the INCLUDE_OLDGFX safeguard ↵Filippos Karapetis
(defined in sci.h) svn-id: r45459
2009-10-10Started rewriting the Object struct into a classFilippos Karapetis
svn-id: r44878
2009-10-04SCI: Rename EngineState::segMan to _segManMax Horn
svn-id: r44629
2009-09-29Remove unused variable.Johannes Schickel
svn-id: r44464
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-29QFG3 clears clones with underbits set, so disable the warning for this behaviorFilippos Karapetis
svn-id: r44458
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-21SCI: Rename Object::flags and pos to _flags and _pos; tweak scriptObjInit0 ↵Max Horn
and scriptObjInit11 to be more similar svn-id: r44234
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-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: More cleanupMax Horn
svn-id: r44129
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-12Made is_object() a method of the segment managerFilippos Karapetis
svn-id: r44042
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-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