Commit Graph

39145 Commits

Author SHA1 Message Date
Strangerke
21a6618919 VOYEUR: Add missing break 2015-01-26 22:31:34 +01:00
Torbjörn Andersson
8c8261aa2a ZVISION: Cleanup.
We usually don't check a pointer before deleting it.
2015-01-26 22:18:23 +01:00
Torbjörn Andersson
dd5cd42f2e ZVISION: Use ValueSlot for volume in ActionMusic
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...)
2015-01-26 22:18:23 +01:00
Torbjörn Andersson
51e90b2422 ZVISION: Fix ActionMusic volume
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.
2015-01-26 19:34:21 +01:00
Filippos Karapetis
8f551202f6 Merge pull request #568 from Marisa-Chan/master
ZVISION: Fix sound bug #6767 by making pan_track code similar to origina...
2015-01-26 02:11:52 +02:00
Chris Apers
e695c01862 MORTEVIELLE: 1sec seems to be far enough here 2015-01-25 20:54:09 +01:00
Chris Apers
975b1cf7fb MORTEVIELLE: more drawBox() adjustments 2015-01-25 20:53:42 +01:00
Torbjörn Andersson
4e1ffc9434 ZVISION: Delete stream if there is no audio stream to queue to
This probably never happens, but is consistent with our common AVI
decoder.
2015-01-24 14:57:47 +01:00
Torbjörn Andersson
ca83ecd8c2 ZVISION: Fix lag at beginning of cutscenes
We have to update _curChunk when decoding audio, otherwise it will
decode the entire audio track on the first frame. For the ZGI intro
this would take 700-800 ms, and since the audio started playing
before the video it looked to me as if it had to play the first bit
faster to catch up.

Thanks to fuzzie for setting me on the right track with an off-hand
remark about the Zork AVI decoder (I was looking at the standard
AVI decoder), and for finding the cause a few seconds before I did.
2015-01-24 14:57:47 +01:00
Arnaud Boutonné
bf3e2bca07 Merge pull request #570 from chrilith/mortevielle_3rdintro
MORTEVIELLE: Added missing mesgId handling for 3rd intro screen
2015-01-24 14:37:00 +01:00
Chris Apers
a4d822f98a MORTEVIELLE: alternatively we can make it local to delay() 2015-01-24 14:03:22 +01:00
Chris Apers
6691f9d812 MORTEVIELLE: Added missing mesgId handling for 3rd intro screen
This message is displayed during disk access, so it is not visible as
is in ScummVM version, a delay is required. Also delay should hide the
mouse to prevent frozen screen.
2015-01-24 11:13:32 +01:00
chrilith
a7d5ac9963 MORTEVIELLE: Fixed read index parsing alert strings
because Pascal code is base 1
2015-01-23 14:29:29 +01:00
chrilith
3839d9ce0b MORTEVIELLE: Fixed drawBox() to match original code 2015-01-23 14:29:16 +01:00
Marisa-Chan
568c13b115 ZVISION: Use correct virtual class type instead of MusicNode 2015-01-23 16:31:10 +06:00
Marisa-Chan
9b498d576e ZVISION: Correct value for attenuate 2015-01-23 16:26:17 +06:00
Marisa-Chan
0bc61d3c21 ZVISION: Volume is not linear value, use dB map to linear for -100...0dB 2015-01-23 16:25:21 +06:00
Marisa-Chan
ad2ab98474 ZVISION: Use correct int type for volume 2015-01-23 16:20:59 +06:00
Marisa-Chan
d67727a7a4 ZVISION: Fix sound bug #6767 by making pan_track code similar to original 2015-01-23 11:13:06 +06:00
Filippos Karapetis
d75fbe79f0 ZVISION: Error out when a script file can't be found or be parsed
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
2015-01-23 03:04:50 +02:00
Filippos Karapetis
1bd83a96f0 ZVISION: Fix script bug #6780 (invalid hotspot at base of tower in ZGI) 2015-01-23 03:02:24 +02:00
Filippos Karapetis
f7e0d1e958 ZVISION: Fix shadowed variable
A bug in commit 21e9007d80. Thanks to fingolfin for pointing it out
2015-01-23 03:01:29 +02:00
Filippos Karapetis
e66883d5cb ZVISION: Add console commands to manipulate state flags and variables 2015-01-21 14:06:13 +02:00
Filippos Karapetis
46fe6b64b9 ZVISION: Properly handle confirmation dialogs in the French ver. of ZGI 2015-01-21 12:36:02 +02:00
Torbjörn Andersson
dfe04491c1 JANITORIAL: Remove unnecessary semicolons 2015-01-21 01:29:22 +01:00
Torbjörn Andersson
796fb134f1 ZVISION: Remove unnecessary spaces 2015-01-21 01:24:59 +01:00
Filippos Karapetis
1330cb7c99 ZVISION: Remove superfluous check 2015-01-21 01:42:01 +02:00
Torbjörn Andersson
5a6f711d07 ZVISION: Convert subtitles to UTF-32 before rendering them (bug #6772)
Because we use Common::String to store UTF-8 data, the font
renderer will draw the wrong glyphs for non-ASCII characters,
unless we first convert the string to UTF-32. (I thought the same
change would have to be made for the ZGI game over screens, but
apparently they work anyway. At least the German version, I'm told.)

I've discussed this change with [md5], and while it would probably
be more correct to make the engine use UTF-32 throughout, that is
also rather painful.
2015-01-20 23:41:59 +01:00
Filippos Karapetis
0776709f31 ZVISION: Do not process cheat codes while in the game menus
This prevents the cheat codes from being accidentally triggered when
using the save screen, for example
2015-01-21 00:33:54 +02:00
Filippos Karapetis
1d6a807349 ZVISION: Adapt confirmation dialogs for non-English versions 2015-01-20 22:51:25 +02:00
Torbjörn Andersson
ad83f03315 ZVISION: Fix mis-parsing of criteria, a.k.a bug #6774
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.
2015-01-20 19:21:39 +01:00
Filippos Karapetis
750d72812b ZVISION: Properly skip commented out puzzle criteria - fixes bug #6776
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.
2015-01-20 02:16:21 +02:00
Filippos Karapetis
5f9858844a ZVISION: Fix saving when using the original save dialog
A regression from commit dcac5be493
2015-01-20 01:21:16 +02:00
Filippos Karapetis
5df2e08c16 ZVISION: Fix bug #6771 (unable to leave room when loading a game)
Avoid overwriting the previous location when loading a saved game
2015-01-19 23:54:42 +02:00
Filippos Karapetis
dcac5be493 ZVISION: Simplify the checks in the location changing code 2015-01-19 23:54:41 +02:00
Fedor
08b6a5b486 ZVISION: Fix comparison between signed and unsigned integers 2015-01-19 23:25:40 +03:00
Filippos Karapetis
68b7839d99 ZVISION: Fix bug #6768 (unable to save in the prison area)
The save buffer preparation code had a bug, which triggered in the
jail area because its room is 'j'
2015-01-19 05:09:03 +02:00
RichieSams
3a31e1de96 ZVISION: Don't change location when coming back from ScummVM save dialog and 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)
2015-01-18 20:22:02 -06:00
RichieSams
0fafb6a62c Revert "ZVISION: Don't change location when coming back from ScummVM save dialog"
This reverts commit b835eacc0c.
2015-01-18 20:11:10 -06:00
RichieSams
b835eacc0c ZVISION: Don't change location when coming back from ScummVM save 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.
2015-01-18 19:26:49 -06:00
RichieSams
a26a9c7268 ZVISION: Fix formatting and add curlies 2015-01-18 17:06:37 -06:00
Sven Hesse
3f66f28624 ZVISION: Remove trailing whitespace 2015-01-18 20:35:51 +01:00
Filippos Karapetis
7c23eae102 ZVISION: Fix path handling in case-sensitive file systems (bug #6775)
A regression from commit d70503cc98. Thanks to wjp for bisecting.
2015-01-18 21:30:07 +02:00
Paul Gilbert
926404bd10 MADS: Renamings of Layer and a transition type 2015-01-17 20:51:52 -05:00
Paul Gilbert
9b8fa20c76 MADS: Fix horizontal flipping of scene background sprites 2015-01-17 17:29:08 -05:00
Paul Gilbert
4ee29ef3a8 MADS: Add loading of SpriteInfo frame numbers for scene background sprites 2015-01-17 16:46:57 -05:00
Filippos Karapetis
263c592490 ZVISION: Fix bug #6769 (the "Alchemical debacle" video in ZGI) 2015-01-17 23:38:50 +02:00
Paul Gilbert
ccd0c63a7b MADS: Implement background scrolling in anim views 2015-01-17 12:23:41 -05:00
Fedor
b3c204e2ba ZVISION: made error messages more detailed 2015-01-17 19:24:21 +03:00
Paul Gilbert
9c25e2eea0 MADS: Fix crash on exit after watching introduction twice 2015-01-17 10:57:51 -05:00