Age | Commit message (Collapse) | Author |
|
|
|
|
|
If an object defines more variables than its base class, some method
selectors may be hidden. This code tries to enumerate the affected
selectors. It may be useful for mass-scanning objects using
'find_callk Dummy'.
It's disabled by default currently since it does things to partially
uninitialized objects that I can't guarantee are 100% safe at this
point.
|
|
|
|
|
|
Also, fix the kernel signature for kFormat to require two parameters
|
|
|
|
|
|
This makes the workaround for the hang in the Colonel's Bequest
shower scene (bug #3122075) unnecessary.
|
|
This should ensure disasm will disassemble an entire function, and
not stop at an intermediate ret opcode.
|
|
This was caused by a buggy script, most probably the result of an
incorrect copy/paste while processing the original script. Fixed with a
script patch.
|
|
This ensures that these selectors will be detected regardless of the game
ID, when they're missing
|
|
|
|
The cause for this bug turns out to be a corrupt object that as
a side effect accidentally bypasses its own corruption. See the
added comments for details.
Also add a warning that points out similarly corrupted objects.
|
|
This is a heap patch for an odd object used in that scene, which will
suffice for now (until we find why this works in SSCI). Thanks to wjp
for his help and work on this
|
|
|
|
Trying to delete a script marked as deleted should do nothing. Hoyle 3
tried to uninstantiate scripts more than once, and we incorrectly
decreased the reference count of associated scripts more than once,
thereby killing them. This properly fixes bug #3038837 (removed the
hack for it). Many many thanks to wjp for his help on this :)
|
|
|
|
|
|
|
|
kGetSaveFiles() should be worked out there.
|
|
Instead of querying the event manager for the current mouse cursor coordinates
kGetEvent now uses the saved mouse positions, which will assure every event
will be processed with the correct coordinates instead of the current ones.
Various other functions using SciEvent directly were adapted too.
This fixes cursor click positions for the WinCE backend.
Thanks to wjp and waltervn for helping me with this.
|
|
|
|
|
|
|
|
|
|
Fixes SQ4CD
|
|
|
|
|
|
|
|
|
|
|
|
- Moved palette color count inside the GfxPalette class
- Enabled all of the kPalette subops for 16 color SCI1 games, apart from
the ones for intensity palette animation, and palette resource loading
- Removed isVGA() and isAmiga32color() methods from the resource manager -
they ended up in having inconsistent code
|
|
This was visible in the password of LSL5 Amiga. Thanks to waltervn for
finding this
|
|
|
|
|
|
|
|
|
|
- Folded all comparison operators in a single function, cmp()
- Simplified the + operator, and removed the SQ1 workaround, as it's not
needed anymore
- Removed the workaround for uninitialized variables in the * operator
- Removed division by zero workarounds in the / and % operators
- Added a better description of pointerComparisonWithInteger(), based
on fingolfin's description and comments. Also, changed the SCI versions
where this is used to SCI0-SCI1. The SCI1.1 case in QFG3 was a script
bug
|
|
Added wrapper functions to read/write from dynmem segments, as these are
treated as BE in Amiga versions (as we treat them like raw data instead
of reg_t's), whereas the rest are LE. Thanks to waltervn and wjp for their
help on this
|
|
|
|
The additional text positioning code in kDisplay was added in SCI1
middle, not SCI1 late. Also, did some slight cleanup
|
|
SCI32 has no ports
|
|
Thanks to fingolfin's comments regarding these
|
|
playing"
|
|
|
|
|
|
|
|
|
|
occurs with the latest fixes to kDoBresen
|