Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-11-19 | SCI: Also send system strings to kString(). This makes LSL7 continue into ↵ | Filippos Karapetis | |
the actual game! :D svn-id: r54377 | |||
2010-11-19 | Implement a couple of NULL checks in kArray | Lars Skovlund | |
svn-id: r54373 | |||
2010-11-19 | SCI: Added support for script -> string copying (used by late SCI2.1 and ↵ | Filippos Karapetis | |
SCI3 games) svn-id: r54364 | |||
2010-11-18 | SCI2: Treat SCI2 raw arrays (type 3) as strings in kArray | Filippos Karapetis | |
SCI2 strings inherit from arrays, plus kArray and kString are almost the same, so this is all possible. This is needed, as SCI scripts copy strings on arrays and then process them as such (e.g. in RAMA and LSL7) However, we really need to merge SCI2 array types with the SCI2 string types, and ultimately merge the code with the SCI1 array and string types. svn-id: r54340 | |||
2010-11-17 | SCI: Call lookupArray() after allocateArray() when duplicating arrays | Filippos Karapetis | |
This ensures that the pointer to the element that lookupArray() returned won't be invalidated in case the array is reallocated because of allocateArray() - same issue as in kClone() svn-id: r54306 | |||
2010-08-18 | SCI: Fixed bug #3038433 - "HOYLE1: Crashes" | Filippos Karapetis | |
svn-id: r52182 | |||
2010-07-22 | SCI: Also allow checkListPointer() to check the result of lookupNode() itself | Filippos Karapetis | |
svn-id: r51156 | |||
2010-07-22 | SCI: allow isSaneNodePointer to handle invalid node references itself | Filippos Karapetis | |
svn-id: r51153 | |||
2010-07-21 | SCI: Moved the SCI32 kernel functions out of kernel32.cpp and into their ↵ | Filippos Karapetis | |
respective files svn-id: r51108 | |||
2010-07-17 | SCI: added special case for iceman when plotting course inside isSaneNodePointer | Martin Kiewitz | |
svn-id: r50960 | |||
2010-07-14 | SCI: | Filippos Karapetis | |
- Split SCI2 from SCI2.1 signature checks - Added signature checking for the subops of the SCI2.1 kernel call kList - Added support for calls to kAddToFront and kAddToEnd with 3 parameters (unimplemented code uncovered by the signature checks) - Added a FIXME for a potential incorrect subop (uncovered by the signature checks), which might be related to the crashes in the demo of Torin's Passage svn-id: r50861 | |||
2010-07-01 | SCI: Rename some variables to match our naming conventions | Max Horn | |
svn-id: r50549 | |||
2010-06-30 | Added support for kAddAfter with 4 parameters (used in Torin's Passage, for ↵ | Filippos Karapetis | |
example) svn-id: r50537 | |||
2010-06-30 | Changed an error back to a warning - Torin's Passage calls kAddAfter with 4 ↵ | Filippos Karapetis | |
parameters, and we don't know what the 4th parameter is yet svn-id: r50528 | |||
2010-06-30 | SCI: Reverting r50516, SSCI didn't reset the node value when deleting the ↵ | Filippos Karapetis | |
node. Also, a slight fix in VM debug code. svn-id: r50521 | |||
2010-06-30 | Updated incorrect comment | Filippos Karapetis | |
svn-id: r50517 | |||
2010-06-30 | Also erase the value of the list node itself when deleting it inside ↵ | Filippos Karapetis | |
kDeleteKey, as it might be referenced again before the GC is invoked svn-id: r50516 | |||
2010-06-30 | When deleting a list node, erase its references to predecessor and successor ↵ | Filippos Karapetis | |
nodes. Fixes cases where game scripts could reference a list node after it was deleted (e.g. QFG1 intro, Longbow when exiting the cave). Some slight cleanup svn-id: r50515 | |||
2010-06-28 | SCI: Turn more warnings into errors. | Max Horn | |
If one of these is triggered for you, you can add an exception to the error, together with a comment explaining why this exception is necessary. Ideally after verifying that the cause is a script bug and not a bug in our code... svn-id: r50442 | |||
2010-06-25 | Renamed some variables | Filippos Karapetis | |
svn-id: r50284 | |||
2010-06-24 | Initialize the stack with 'S' or 's' characters, like SSCI does (ultimately, ↵ | Filippos Karapetis | |
we should not change the stack again like we do in op_link - this is what Sierra is doing). Some cleanup svn-id: r50207 | |||
2010-06-18 | Turned more warnings into errors, some cleanup | Filippos Karapetis | |
svn-id: r49990 | |||
2010-06-18 | Process kAddAfter with 4 parameters (Torin's Passage) | Filippos Karapetis | |
svn-id: r49976 | |||
2010-06-13 | Fixed regression from commit #49251, and added an explanation. Calls to ↵ | Filippos Karapetis | |
kNewNode with 1 parameter are handled properly again. Fixes the demo of Phantasmagoria 1. Thanks to lskovlun and waltervn for spotting this svn-id: r49638 | |||
2010-06-10 | Unified invokeSelector() and invokeSelectorArgv(), and removed the INV_SEL ↵ | Filippos Karapetis | |
kludge. Also, removed the selectorInvocation parameter - if invokeSelector() fails, the error is in most cases unrecoverable, and the error description thrown covers all cases where kContinueOnInvalidSelector was used. This uncovered a bug too: in some places, non reg_t parameters were parsed svn-id: r49564 | |||
2010-05-29 | Mass 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-26 | Made _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-03-08 | SCI: Make EngineState parameter to INV_SEL explicit | Max Horn | |
svn-id: r48202 | |||
2010-03-08 | SCI: Made some stuff static | Max Horn | |
svn-id: r48199 | |||
2010-02-12 | SCI: Revert r47929 (bad idea, as we may run out of offsets). Instead, adapt ↵ | Walter van Niftrik | |
SCI32 list iteration code to store node successor before invoking. svn-id: r48036 | |||
2010-02-06 | Added a sanity check for kListAt and made the hack for displaying text work ↵ | Filippos Karapetis | |
in SCI2 only svn-id: r47931 | |||
2010-02-05 | SCI: Add a 'SELECTOR' macro | Max Horn | |
svn-id: r47918 | |||
2010-01-30 | SCI: Remove extra '\n's in debugC messages | Willem Jan Palenstijn | |
svn-id: r47707 | |||
2010-01-29 | SCI: Move selector stuff to new header; reorder k_argc & k_argp param of ↵ | Max Horn | |
invoke_selector svn-id: r47665 | |||
2010-01-28 | kDisposeList() is not needed according to waltervn, as the garbage collector ↵ | Filippos Karapetis | |
automatically clears unused objects svn-id: r47653 | |||
2010-01-28 | Disabled the automatic list fixing feature, introduced in rev. #47636 ↵ | Filippos Karapetis | |
(there's no point in fixing lists created by game scripts) svn-id: r47650 | |||
2010-01-28 | SCI: Cleanup | Walter van Niftrik | |
svn-id: r47649 | |||
2010-01-28 | Handle calls to NewNode() with just one parameter. | Lars Skovlund | |
Takes care of Phantasmagoria, Torin, etc. svn-id: r47643 | |||
2010-01-28 | Since we fix the list problems inside isSaneNodePointer(), don't abort ↵ | Filippos Karapetis | |
processing of the list svn-id: r47637 | |||
2010-01-28 | - The list checks now throw more verbose warnings | Filippos Karapetis | |
- Some obvious list problems are now fixed automatically when found, after the relevant warnings are shown - kDisposeList now clears all the nodes in the list - Some cleanup svn-id: r47636 | |||
2010-01-03 | sane_nodep() and sane_listp() should not be dummy functions when ↵ | Filippos Karapetis | |
DISABLE_VALIDATIONS is set, so that the engine doesn't try and refer to null pointer objects (and subsequently crash) svn-id: r46956 | |||
2010-01-03 | Fixed compilation with DISABLE_VALIDATIONS, and fixed a bug in kPrevNode | Filippos Karapetis | |
svn-id: r46949 | |||
2009-12-30 | Formatting. | Johannes Schickel | |
svn-id: r46755 | |||
2009-12-30 | Fixed warnings | Filippos Karapetis | |
svn-id: r46747 | |||
2009-12-30 | Initial implementation of the SCI21 kList kernel function (which calls all ↵ | Filippos Karapetis | |
the other list-related functions), thanks to the help of waltervn svn-id: r46744 | |||
2009-12-30 | SCI32: Moved all the list related kernel functions inside klists.cpp, and ↵ | Filippos Karapetis | |
implemented kListAllTrue with the help of waltervn svn-id: r46742 | |||
2009-10-18 | SCI: Make the implicit segMan param to GET_SEL32(V) and PUT_SEL32(V) explicit | Max Horn | |
svn-id: r45234 | |||
2009-10-09 | Some const correctness changes; cleanup | Max Horn | |
svn-id: r44850 | |||
2009-10-07 | SCI: Turn lookup_node & lookup_list into SegManager::lookupNode & ↵ | Max Horn | |
SegManager::lookupList svn-id: r44769 | |||
2009-10-04 | SCI: Rename EngineState::segMan to _segMan | Max Horn | |
svn-id: r44629 |