Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-11-20 | SCI32: Add recursion code to kListFirstTrue and kListAllTrue | Colin Snover | |
This change ensures that these kernel calls operate in the same manner that they did in SSCI. | |||
2016-09-29 | SCI32: Rewrite kArray & kString | Colin Snover | |
This change invalidates earlier SCI32 save games, which separated arrays and strings in an incompatible manner. Old save games contain invalid references to a string segment which no longer exists, and contain incompatible array structures that lack critical type information. | |||
2016-09-29 | SCI32: Fix off-by-one error | Colin Snover | |
CID 1361599. | |||
2016-08-23 | SCI32: Allow kListAt to reference an empty list | Filippos Karapetis | |
Happens in Torin when examining Di's locket in chapter 3 | |||
2016-08-23 | SCI32: Explicitly abord kEachElementDo when a game is being loaded | Filippos Karapetis | |
This is a better check than the one in commit 3d1f1a3a21 | |||
2016-08-23 | SCI32: Fix restoring games from Torin's game restore dialog | Filippos Karapetis | |
The list in kListEachElementDo may be invalidated after a selector invocation | |||
2016-08-12 | SCI32: Fix crash when multiple nodes are deleted during kListEachElementDo | Colin Snover | |
This happens in e.g. Phant1, when walking from dining, to reception, to up the stairs. | |||
2016-01-04 | SCI32: fix kString calling from within kArray | Martin Kiewitz | |
(didn't work since the introduction of kString signatures and the kString split-up) | |||
2014-02-18 | SCI: Make GPL headers consistent in themselves. | Johannes Schickel | |
2013-04-20 | SCI: Add extra sanity check | Willem Jan Palenstijn | |
2012-07-08 | SCI: Update the virtual file selected in the QFG4 character import screen | Filippos Karapetis | |
This makes the character import screen in QFG4 functional, as the virtual file index was never updated | |||
2012-06-18 | SCI: Add setter/getter methods to reg_t's | Filippos Karapetis | |
No functionality change has been made with this commit. This avoids setting and getting the reg_t members directly, and is the basis of any future work on large SCI3 scripts (larger than 64KB) | |||
2012-06-11 | SCI: Add support for variable selectors in kListFirstTrue / kListAllTrue | Filippos Karapetis | |
This is used by Torin's Passage (e.g. when trying to open the menu). Based on a slightly modified patch by LePhilousophe | |||
2012-01-15 | SCI: Remove wrong script-to-array copying code in kArray | Filippos Karapetis | |
2011-11-03 | SCI: Fix copy/paste error | Eugene Sandulenko | |
2011-10-18 | SCI: Added some hacks related to new functionality in Phantasmagoria 2 | Filippos Karapetis | |
The game will now start (but won't do anything exciting - it'll display its main menu, which doesn't work yet) | |||
2011-05-12 | GIT: Clean up: Suppress SVN tags, now useless | strangerke | |
2011-01-01 | SCI: debugC calls no longer require a debug level of 2 to show output | Filippos Karapetis | |
svn-id: r55086 | |||
2011-01-01 | SCI: Disable continuous list checking by default | Filippos Karapetis | |
svn-id: r55085 | |||
2010-12-22 | SCI: Changed the check for NULL values inside kArray(Cpy) to only ignore ↵ | Filippos Karapetis | |
such values in SCI3 svn-id: r55002 | |||
2010-12-21 | Added back the null check in kArray(cpy): it happens in SCI3 | Filippos Karapetis | |
svn-id: r54990 | |||
2010-12-07 | SCI: 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-21 | SCI: kArray wasn't changed in late SCI2.1/SCI3 games (thanks to waltervn) | Filippos Karapetis | |
svn-id: r54402 | |||
2010-11-21 | SCI: Adapted kArray/kString to use the new heuristic for late SCI2.1/SCI3 ↵ | Filippos Karapetis | |
games, and updated their subops accordingly svn-id: r54399 | |||
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 |