Age | Commit message (Collapse) | Author |
|
|
|
|
|
A regression from d2ad7898d9
|
|
|
|
|
|
- Fixed picture drawing for Longbow Amiga (view drawing is still wrong,
though)
- Added debug output for picture drawing
|
|
|
|
|
|
|
|
|
|
Using the timer mechanism for just a simple counter is not just
overkill, its also inaccurate. When using a call frequency of x,
and waiting for y callbacks, the passed time will not be x*y.
The problem amplifies on slower platforms and/or fair thread
schedulers.
Use absolute times instead. Most notably, the walking speed of
the avatar is now smooth on android, but probably on all other
handhelds we support too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
In EGA games a pixel in the framebuffer is only 4 bits. We store a full
byte per pixel to allow undithering, but when comparing pixels for
flood-fill purposes, we should only compare the visible color of a
pixel.
This fixes bug #3078365 in Iceman.
|
|
16 color patches (*.p16 and *.v16) are used in 16 color EGA SCI1 games
32 color patches (*.p32 and *.v32) are used in 32 color Amiga SCI1 games
Removed a workaround for SCI1 EGA (bug #3044500), as that bug has been
fixed already in the view patch. Thanks to waltervn for observing this.
|
|
This extra code that is responsible for changing text placing has been
found in SCI1 middle (i.e. LSL1VGA) and newer games
|
|
This fixes a lot of glitches, caused by the differences between the two
versions
|
|
This was visible in the password of LSL5 Amiga. Thanks to waltervn for
finding this
|
|
|
|
That game has its own custom made save/load system
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
that the utility READ_* and WRITE_* operations are made
|
|
- 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
|
|
Games that have the newer SCI2.1 kernel functions (i.e. kSave instead of
kSaveGame/kRestoreGame) aren't supported yet
|
|
|
|
Fixes a crash in LSL3 Amiga
|
|
SysEx messages in the driver are usually the result of a bug which should
be investigated and not silently ignored
|
|
|
|
Confirmed this behaviour in KQ1sci, KQ4, Iceman and QfG2.
Hoyle3-demo remains an exception.
|
|
Confirmed this behaviour in KQ1sci, KQ4, Iceman, and that
it isn't present in QfG2 and KQ5CD.
This fixes the graphics glitch in KQ4 when falling down the
stairs in room 61 (#3039775).
|
|
This reverts commit 74e99328ec0fa43074c52b69d21922407153a1aa.
SSCI takes care of this issue in a different manner, which
the next commit emulates.
|
|
GetLongest() could exceed the maximum width with the very last
character of a word. The same fix has been applied to the SCI32 code.
|
|
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
|