Age | Commit message (Collapse) | Author |
|
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
|
|
changes regarding hunk pointers in r0d555c4
|
|
This is a bug in the SCI32 class library, and there are similar workarounds
for a number of SCI32 games.
|
|
SCI scripts can contain stale pointers, which are used later on. We now delete
the contents of hunk entries without invalidating the relevant pointers and let
the GC clear the references. Many thanks to waltervn and wjp for all their work
and help on this.
|
|
|
|
detection code
|
|
Confirmed with QfG2 disassembly (the only 1_EGA_ONLY game)
that it behaves the same as SCI_VERSION_1_EARLY games, except
for the uninitialized read already mentioned in kDoBresen.
|
|
This renaming allows us to better distinguish that this version is for games
that only had an EGA version, and avoid confusion with newer SCI1 game releases
with EGA graphics (e.g. KQ5 EGA). The only game with this SCI version is QFG2,
a SCI1 EGA game with a parser. Also, added some games for each SCI version.
|
|
|
|
This fixes moonwalking in LSL1 and movement speed in KQ5.
It appears to be have been a RE bug.
|
|
|
|
the unimplemented kTextSize kernel call in SCI32
|
|
palette in the PQ:SWAT demo
|
|
|