Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-04-23 | SCI32: Improve disassembly output of SCI3 property opcodes | Colin Snover | |
Since SCI3 scripts use selectors instead of offsets as operands to property-related opcodes, the disassembler can look up and display property names everywhere (unlike SCI2.1 and earlier, which need to know the object being operated on to look up the correct selector for a given offset). | |||
2017-04-23 | SCI32: Fix mustSetViewVisible for SCI3 | Colin Snover | |
In SCI2/2.1, variable indexes are used along with a range encoded in the interpreter executable to determine whether an object variable is a view-related variable. Operands to aTop, sTop, ipToa, dpToa, ipTos, and dpTos are byte offsets into an object, which are divided by two to get the varindex to check against the interpreter range. In SCI3, objects in game scripts contain groups of 32 selectors, and each group has a flag that says whether or not the selectors in that group are view-related. Operands to aTop, sTop, ipToa, dpToa, ipTos, and dpTos are selectors. | |||
2017-04-23 | SCI32: Replace magic numbers in SCI3 selector init | Colin Snover | |
2017-04-23 | SCI32: Fix race conditions in Audio32 | Colin Snover | |
2017-04-23 | SCI32: Serialize Robots in SCI3 | Colin Snover | |
This is necessary for at least Lighthouse, which maintains the state of Robots across save games. | |||
2017-04-23 | SCI: Fix SCI3 exports | Colin Snover | |
Export functions may be relocated above 64k in SCI3, but exports that do not have an entry in the relocation table must be handled the same as SCI1.1-2.1. | |||
2017-04-23 | SCI: Deduplicate Object::locateVarSelector code | Colin Snover | |
The variable count returned by Object::getVarCount is populated by variable 1 in SCI1.1, so specially reading the variable explicitly for that engine version is not necessary. | |||
2017-04-23 | SCI: Fix support for 32-bit SCI3 script offsets | Colin Snover | |
2017-04-23 | SCI: Replace mostly-unused flags property with a single boolean | Colin Snover | |
There does not appear to be any reason to use a bit field instead of a simple boolean for this one flag, since there are no other flags that need to be set on Object like this. | |||
2017-04-23 | SCI: Improve documentation of Object class | Colin Snover | |
2017-04-23 | SCI: Fix whitespace errors | Colin Snover | |
2017-04-23 | SCI: Remove dead code in Script_Offset disassembler | Colin Snover | |
Script_Offset is only ever used for lofsa/lofss opcodes. | |||
2017-04-23 | SCI: Fix bad offsets in disassembly for SCI3 lofsa/lofss | Colin Snover | |
2017-04-23 | SCI32: Fix bad relocations of SCI3 objects | Colin Snover | |
2017-04-23 | SCI: Convert Object to use Common::Array for SCI3 | Colin Snover | |
In SCI3, index-to-selector tables no longer exist in compiled object data (instead, the SCI3 VM uses selectors directly and object data contains a bit map of valid selectors). In ScummVM, the table is generated by Object::initSelectorsSci3 for compatibility with the design of the ScummVM SCI VM. For consistency, _baseVars is converted to use a standard container, which works for all SCI versions. The table for SCI3 property offsets is also changed to use a standard container instead of manually managing the memory with malloc/free. | |||
2017-04-23 | SCI32: Hook up mustSetViewVisible for SCI3 | Colin Snover | |
2017-04-23 | SCI32: Fix locals offset in SCI3 | Colin Snover | |
Locals offset needs to be set even when the script has no exports. | |||
2017-04-23 | SCI32: Implement SCI3 Script::syncStringHeap | Colin Snover | |
2017-04-23 | SCI32: Remove spinloops from Phant2 | Colin Snover | |
2017-04-23 | SCI32: Add workarounds for LSL7 | Colin Snover | |
2017-04-23 | SCI32: Fix missing main menu in LSL7 | Colin Snover | |
2017-04-23 | SCI32: Fix crash when writing word to VIRTUALFILE_HANDLE_SCI32SAVE | Colin Snover | |
This happens in Phant2 when trying to delete a save game from the in-game save dialogue. | |||
2017-04-23 | SCI32: Fix crash in Phant2 when clicking Help in the control panel | Colin Snover | |
2017-04-23 | SCI32: Fix slow fade of Phant2 interface bars | Colin Snover | |
2017-04-23 | SCI32: Remove TODO from relocateOffsetSci3 | Colin Snover | |
The field at +8 is for the MemID associated with a relocation. | |||
2017-04-23 | SCI32: Undummy AvoidPath for SCI3 | Colin Snover | |
Used by LSL7. | |||
2017-04-23 | SCI: Remove unused commented code | Colin Snover | |
2017-04-23 | SCI32: Add Lighthouse workaround | Colin Snover | |
2017-04-23 | SCI32: Add kPlayVMD subop 27 (SetPlane) | Colin Snover | |
Used by RAMA, when playing a video at the Hub Camp computer at the beginning of the game (room 1004). | |||
2017-04-23 | SCI32: Add workarounds for RAMA | Colin Snover | |
2017-04-23 | SCI32: Add workarounds for Lighthouse | Colin Snover | |
2017-04-23 | SCI32: Put Lighthouse restart game in restart save slot | Colin Snover | |
2017-04-23 | SCI32: Fix call to kFileIOIsValidDirectory in RAMA | Colin Snover | |
2017-04-22 | SCI: Avoid crashing when disassembling a call with a bad object | Colin Snover | |
lookupSelector will raise an error if the passed object ID is invalid. | |||
2017-04-22 | SCI: Improve message when crashing due to a bad selector | Colin Snover | |
2017-04-22 | SCI: Display class names in disassembly | Colin Snover | |
2017-04-22 | SCI: Remove #undef for a macro that does not exist | Colin Snover | |
2017-04-22 | SCI32: Implement support for QFG4 autosave | Colin Snover | |
2017-04-22 | SCI32: Add workarounds & patches for QFG4 | Colin Snover | |
2017-04-22 | SCI: Fix whitespace errors | Colin Snover | |
2017-04-22 | SCI: Fix typo in debug message | Colin Snover | |
2017-04-22 | SCI32: Fix bad kPointSize implementation | Colin Snover | |
Fixes text scaling gone mad in Phant2. | |||
2017-04-22 | SCI32: Fix kStringFormat signatures | Colin Snover | |
2017-04-22 | SCI: Accept 32-bit values to reg_t::incOffset | Colin Snover | |
This fixes bad variable relocation in Phant2 causing the game to crash when reading object names. | |||
2017-04-22 | SCI32: Provide more detail in console when a save game fails checks | Colin Snover | |
2017-04-22 | SCI32: Make version 41 the first supported save game version | Colin Snover | |
Save games created by earlier versions of ScummVM are prone to having subtle graphics problems or other corruption caused by incomplete save/load code. | |||
2017-04-22 | SCI32: Add palette code for late SCI2.1mid+ games | Colin Snover | |
Sometime during SCI2.1mid, the palette manager was changed to save and restore the source palette, and to add in-game gamma correction. Previously, only the vary start and target palettes were saved, and gamma correction was only configurable in SSCI by editing RESOURCE.CFG. | |||
2017-04-22 | SCI: Fix compilation when SCI32 is disabled | Colin Snover | |
2017-04-22 | SCI: Do not sync objects when saving games | Colin Snover | |
Commit 5de2668939a6735da2b3438b7c586fc185791ef8 silently changed behaviour from running this code only when restoring a game, to running all the time, in an apparent copy-paste error. | |||
2017-04-22 | SCI: Improve comments in GuestAdditions | Colin Snover | |