Age | Commit message (Collapse) | Author |
|
I should have done this before it was merged, but I completely
forgot that dafioram had verified that the bug *does* in fact
happen in the original game as well.
|
|
Explicitly check if the time tunnel is open (and therefore shown in
close-up) before executing the scripts that draw the lever that is
shown in the normal view. This apparently doesn't happen in the
original engine, which suggests there may be a ScummVM bug. But it
still doesn't seem like the *wrong* thing to do here.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This fixes the delay outside the Frobozz Electric building.
In all other places, delay_render is called with a value
ranging from 1 to 10, so the 100 here looks to be a script
bug, and causes an unnecessary long pause in that scene.
Thus, we're capping the frame delay value to 10.
|
|
|
|
Fixes an edge case where the player goes to the dark room with the grue
without holding a torch, and then quickly runs away before the grue's
sound effect finishes. Many thanks to eriktorbjorn for the original
workaround
|
|
This makes the location checks more readable
|
|
and clarify the logic. Fixes bug #6801
|
|
If we set it before the animation starts, the final turn of the
wheel won't be animated, because the puzzle will already be solved.
|
|
This is to prevent the player from entering ridiculously long
savegame descriptions.
|
|
Before this change, text was drawn in black boxes in Zork Nemesis,
so while this does make it look better (and more like the original)
this may actually make the text slightly harder to read. The
original dialogs allowed only upper-case letters, but I think that
it's better to leave that to the player.
|
|
This is a bug in the original game script of the Zork Nemesis fist
puzzle, which we now patch so that the sound checks are correct for the
left fist animation
|
|
|
|
|
|
We usually don't check a pointer before deleting it.
|
|
As suggested by Marisa-Chan. I had based my earlier implementation
on parseCritera(), and was unaware of this alternative. The good
thing is that the diff from the old code is now much smaller, which
should reduce the risk of regressions. (There is a lot I haven't
tested here...)
|
|
The volume can be either a constant or a state value. The latter is
used by ZGI to simulate a sound being heard at different distances,
e.g. the beehive in the Dungeon Master's hideout.
|
|
|
|
|
|
|
|
|
|
|
|
This should be an error, as we've effectively reached a non-existing
scene (such as in bug #6780), or we haven't parsed script files of a
scene fully, thus unexpected behavior will likely occur
|
|
|
|
|
|
|
|
A condition in a criteria is made up of three tokens: An id, an
operator and an id/value. However, in my copy of ZGI, puzzle:07507
has "[00202] !3 # SPELL_12_IN_BOOK", i.e. there was no space
between the second and third tokens. This caused the "glorf" spell
to not be properly inscribed in your spell book.
To fix this, if the second token is more than one character we use
the rest of it as the third token.
|
|
In the Zork: Nemesis version bundled in the ZGI SE DVD, the bell rope
puzzle has been modified so that it's non-interactive, i.e. there isn't
a hotspot to click while the video is playing, and the player is
transported to the next room. In the patched script, all criteria of
that puzzle were commented out, resulting in an invalid criteria list.
Skip any commented out criteria, to avoid ending with an invalid list.
|
|
A regression from commit dcac5be493
|
|
Avoid overwriting the previous location when loading a saved game
|
|
|
|
The save buffer preparation code had a bug, which triggered in the
jail area because its room is 'j'
|
|
do change location when coming back from restore dialog
Fixes bug # 6771
We don't need to change locations, since we use the ScummVM save dialog instead
of the original one (which is actually a location). Instead we just need to reset _nextLocation to
_currentLocation so the engine can stop trying to save. If we change locations, the
StateKey_LastWorld/Room/etc. end up being overwritten with the current room. So if a script
refers to location 0, 0, 0, 0 (aka, the last room), the engine will try to change location to the same room.
On restore, we have to force a location change, just in case we restore to the same room. (Since the logic
will only do a location change if _nextLocation != _currentLocation)
|
|
dialog"
This reverts commit b835eacc0cd401bb0d15a33e60d2ac47ebb4d718.
|
|
Fixes bug # 6771
We don't need to change locations, since we use the ScummVM save dialog instead
of the original one (which is actually a location). Instead we just need to reset _nextLocation to
_currentLocation so the engine can stop trying to save. If we change locations, the
StateKey_LastWorld/Room/etc. end up being overwritten with the current room. So if a script
refers to location 0, 0, 0, 0 (aka, the last room), the engine will try to change location to the same room.
|
|
|
|
|
|
|
|
This is based on Marisa-Chan's observations in commit 28e27ea1d9.
Tested with both ZNEM and ZGI
|
|
Not just during the "returning" animation. Addresses part of bug #6761
|
|
We have to explicitly set the cursor each call otherwise the cursor will
be reset to the idle cursor. Addresses part of bug #6761
|
|
This is the original behavior. This was noted in bug #6761. Specifically,
the knocker on the door plays a sound whenever it is a the top of the bottom
of the swing. By only allowing one sound effect to play at the same time, the
knocker would only play once, even though it bounces at the bottom.
|
|
This reverts commit 9f642074ba8e17aa23b01bcee82b2293fe84f8f1, as it
broke the credits screen in ZGI.
This has been rewritten to use the common save code
|
|
Also, this hooks up the MPEG-PS decoder, but only if libmpeg2 is
compiled in. The DVD videos are still disabled until AC3 audio support
is implemented.
The hires DVD videos are encoded a 720x480 resolution, with double the
frame rate of the lowres ones (29.97FPS up from 15FPS)
|