Age | Commit message (Collapse) | Author |
|
|
|
do not check _priorityTop. Sierra never did it (I checked all sorts
of SCI versions, kq4 early, kq5, kq6, etc.) and checking it will
cause at least a priority issue in lsl2 in room 54 (airplane that
is taking off will be drawn using priority 1 instead of 0)
|
|
|
|
|
|
|
|
These issues were identified by the STACK tool.
By default, the C++ new operator will throw an exception on allocation
failure, rather than returning a null pointer.
The result is that testing the returned pointer for null is redundant
and _may_ be removed by the compiler. This is thus optimization
unstable and may result in incorrect behaviour at runtime.
However, we do not use exceptions as they are not supported by all
compilers and may be disabled.
To make this stable without removing the null check, you could qualify
the new operator call with std::nothrow to indicate that this should
return a null, rather than throwing an exception.
However, using (std::nothrow) was not desirable due to the Symbian
toolchain lacking a <new> header.
A global solution to this was also not easy by redefining "new" as "new
(std::nothrow)" due to custom constructors in NDS toolchain and various
common classes.
Also, this would then need explicit checks for OOM adding to all new
usages as per C malloc which is untidy.
For now to remove this optimisation unstable code is best as it is
likely to not be present anyway, and OOM will cause a system library
exception instead, even without exceptions enabled in the application
code.
|
|
|
|
|
|
Fixes bug #3575276 - "SCI: Freddy Pharkas: Text sometimes drawn/erased
incorrectly"
|
|
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
|
|
|
|
This allows us make _windowList private again
|
|
This can be used to see a list of the currently open windows. Also, added
a sanity check for the "al" command and performed some minor cleanup
|
|
Thanks to waltervn for his work and help on this
|
|
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 behaviour much more closely matches SSCI.
|
|
|
|
SSCI does a shr 1; shl 1 here in SetOrigin.
This fixes a crash in the ending scene of SQ3 (#3194199).
|
|
Some games have removed the menu bar from the screen. This also fixes King's Quest V's icon bar.
|
|
svn-id: r55179
|
|
The left window dimension adjustment (rev #48772) has been moved from
GfxPorts::setOrigin() into GfxPorts::addWindow(), as the updated dimension is
later used when filling the contents of the window (apparent in some fan made
games)
svn-id: r54976
|
|
fixes "GfxPorts::kernelSetActive" error
based on code by [md5]
svn-id: r54012
|
|
Our warning() and error() functions always add an exclamation mark
to the end of the message anyway.
svn-id: r52791
|
|
which is sci1 and sci1.1
fixes bug #3051145
- separating this mother goose from ega and sci2.1
- adding workaround when restoring saved games in these games, games try to calculate restored savedgameid instead of looking it up, we patch this code out and also set the global to the current savedgameid
- adding workaround for scripts checking savedgameid to be below 13 (our savedgameids begin at 100 now)
- changing official range for savedgameids from 1000->1999 to 100->199, otherwise mother goose would have required much larger patches and this range should be fine even if we replace savedgame dialogs later
svn-id: r52301
|
|
interpreter as normal ones, so this doesn't make sense. Added a FIXME with a description about the graphics glitch in fanmade games
svn-id: r52225
|
|
svn-id: r52224
|
|
sq4cd recreates the inventory window several times, but also reuses old window ids, causing kernelSetActive errors. fixes bug #3044757
svn-id: r52079
|
|
fixes bug #3044734
also fixing heap corruption during the ending
svn-id: r52077
|
|
fixes bug #3044507
svn-id: r52068
|
|
kDisposeWindow doesn't free windows immediately anymore. We free them after some calls to kSetPort, so the handle will be valid for a short time. Fixes sq4cd and hoyle 4 (commented out patching of script for hoyle 4)
svn-id: r51932
|
|
including a patch for hoyle 4 and commenting out the workaround code inside kDisposeWindow
svn-id: r51795
|
|
and adding additional comment
svn-id: r51754
|
|
fixing hoyle 4 detection entry (not a demo)
adding direct selector fix, maybe we should replace this later with a script patch
adding detailed comment about the issue
svn-id: r51753
|
|
error checking code outside the function. Also fixed script bug #3039305 - "HOYLE4: segfault"
svn-id: r51733
|
|
fixes qfg3/fairy tales restoring (bug #3035626)
also fixes ScummVM menu restoring while a window is shown (e.g. sq5)
svn-id: r51712
|
|
fixes graphics in that game
svn-id: r51643
|
|
fixes qfg3: right guard on top of the palace having wrong priority
fixes sq5 and all sorts of sci1.1 games: when loading wrong priority for some actors that fixed itself after one frame
svn-id: r51397
|
|
svn-id: r51306
|
|
check differently for null restoreRect, fixes pq3 some windows not getting fully removed
calling showBits on actual dims and not on restoreRect, fixes lb2 about window issues (and possible qfg1vga window issues as well)
svn-id: r51204
|
|
svn-id: r50450
|
|
svn-id: r50392
|
|
svn-id: r50273
|
|
svn-id: r50187
|
|
svn-id: r50169
|
|
svn-id: r50168
|
|
non-fully-removed windows
svn-id: r50166
|
|
later from lacking a selector (static selector problem).
svn-id: r50118
|
|
error pops up from these ones, please add the game where it occurred and the steps to reproduce the error before turning it into a warning
svn-id: r49973
|