Commit Graph
89 Commits
Author SHA1 Message Date
Le Philousophe 523ed4a34d ZVISION: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Torbjörn Andersson 629b121e17 ZVISION: Work around music playing over Charon cutscenes
When riding with Charon in one direction, the script stops the
background sounds. When you ride in the other direction, it doesn't.
Since the cutscenes play music, you may now have two pieces of music
playing over each other. Work around this by pausing the mixer during
the cuscenes (there are two different ones) for going back.
2020-08-30 16:12:58 +03:00
Torbjörn Andersson 02a1552efe ZVISION: Implement indirect addressing in add()
Some ZGI scripts use action:add(14999, [...]) to add to the score.
Without this, it would always add 0 instead. This affected the puzzles
where you use the snapdragon and where you open the first time tunnel.
2020-08-24 14:15:23 +02:00
Torbjörn Andersson 496484b94b ZVISION: Do not terminate scripts when they change location
It was pointed out on the GOG forum that you can't get a perfect score
in Zork: Grand Inquisitor. Once case I've found that looks like it
should award points, but doesn't, is the Spell Checker (tp4g.scr). It
turns out that the script doesn't award the points until after it has
changed your location, and ScummVM interprets the location change as a
signal that the script has ended. With this change, the script continues
until it finishes on its own.

As far as I can see, this is how ScummVM has always done it. I don't
think the original Z-Engine project did, though.

If this was the only such case, I would feel much more comfortable about
making this change. As it is, I'm a bit nervous about it. One other
positive difference is that with the change, you get to keep the sword
and rope after entering the monastery (um1e.scr). Without it, they are
lost but apparently no longer needed?
2020-08-24 14:15:23 +02:00
Thierry Crozat e2935acfe4 ZVISION: Disable MPEG movies when liba52 is not enabled 2018-11-04 22:33:22 +01:00
Torbjörn Andersson 4cc71d42a2 ZVISION: Play hi-res videos, even if they have no low-res version
This is used for some logo animations at the start of the game. I
don't know if it's used for anything else, but probably not.
2018-11-04 22:33:22 +01:00
Torbjörn Andersson e9052a0085 ZVISION: Enable hi-res videos for testing purposes 2018-11-04 22:33:22 +01:00
Eugene Sandulenko fab199d37e JANITORIAL: Make GPL headers uniform 2016-09-03 12:46:38 +02:00
David Russo fdc4edfa99 ZVISION: Correct code style 2015-07-07 15:24:25 +01:00
Torbjörn Andersson ec16861ec9 ZVISION: Silence Cppcheck warning 2015-03-22 08:14:18 +01:00
Filippos Karapetis 53a2c30cb0 ZVISION: Fix script bug #6791 (max value of delay_render)
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.
2015-02-14 15:27:01 +02:00
Filippos Karapetis 9ce285a11e ZVISION: Also reference the script manager in ResultAction members 2015-02-14 15:08:28 +02:00
Filippos Karapetis 60c06b84b6 ZVISION: Fix script bug #6794 - "ZVISION: Yoruk's coffin instant death"
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
2015-02-14 15:08:28 +02: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
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
Filippos Karapetis 263c592490 ZVISION: Fix bug #6769 (the "Alchemical debacle" video in ZGI) 2015-01-17 23:38:50 +02:00
Filippos Karapetis 9f00880aa4 ZVISION: Properly handle sounds reusing the same sound slot (bug #6761)
This is based on Marisa-Chan's observations in commit 28e27ea1d9.
Tested with both ZNEM and ZGI
2015-01-16 14:08:15 +02:00
RichieSams 28e27ea1d9 ZVISION: Allow multiple sound effects to play at the same time
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.
2015-01-15 00:31:39 -06:00
Filippos Karapetis 21e9007d80 Revert "ZVISION: Remove ActionRestoreGame and loading of r.svr (restart slot)"
This reverts commit 9f642074ba, as it
broke the credits screen in ZGI.

This has been rewritten to use the common save code
2015-01-10 22:03:15 +02:00
Filippos Karapetis 899cf4813c ZVISION: Change screen resolution for the hires DVD videos to 800x600
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)
2015-01-10 21:32:15 +02:00
Filippos Karapetis 4ffaf4df37 ZVISION: Add stubs for the hires VOB MPEG2 videos of ZGI DVD
VOB file handling is based on clone2727's work. The lowres videos are
played for now, until AC3 sound handling is implemented
2015-01-07 11:42:27 +02:00
Filippos Karapetis cdbc06d0f7 ZVISION: Use a common function for loading game animations 2015-01-07 11:42:26 +02:00
Filippos Karapetis 9f642074ba ZVISION: Remove ActionRestoreGame and loading of r.svr (restart slot)
This is handled internally now, so r.svr isn't needed anymore
2015-01-07 11:42:24 +02:00
RichieSams 68d3ebd57b ZVISION: Rename some scripting classes to better represent what the classes are
Also, rename the graphics 'Effect' class in order to avoid naming clashes (and/or coder
confusion) with the newly named ScriptingEffect class.
Lastly, add some documentation for the classes for further clarity.
2014-12-30 01:10:36 -06:00
Filippos Karapetis db37cfb1b0 ZVISION: Remove duplicate blitting code for images and animations 2014-12-26 22:30:32 +02:00
Filippos Karapetis eea1ee445f ZVISION: Move more graphics code out of the main engine code 2014-12-26 13:14:24 +02:00
Filippos Karapetis 2350eca546 ZVISION: Remove some unused actions. Cleanup 2014-12-26 12:04:21 +02:00
Filippos Karapetis 4d0ebfaa22 ZVISION: Move the save manager together with the other file classes 2014-12-26 04:03:20 +02:00
Filippos Karapetis 6c451c9cf4 ZVISION: Document where MIDI commands are used 2014-12-25 21:48:59 +02:00
Filippos Karapetis 319323c668 ZVISION: Document some of the ActionRegion effects 2014-12-25 15:09:46 +02:00
Filippos Karapetis e8e21fabe4 ZVISION: Set all the internal graphics operations to use RGB555 (1/2)
This is the first part of the changes to make the engine use RGB555
internally again. This is done to simplify the rendering pipeline -
the engine will use RGB555 internally, but will output to RGB565.
The overall changes have been broken into two commits, thus this
first commit will break all the game colors
2014-12-24 22:56:55 +02:00
Filippos Karapetis 99073f9b57 ZVISION: Fix some buffer overruns with the usage of sscanf() 2014-12-23 02:20:17 +02:00
Filippos Karapetis 9bc0686e60 ZVISION: Remove leftover warning 2014-12-23 00:09:18 +02:00
Filippos Karapetis 3f36cc94e4 ZVISION: Limit the default engine delay for all animations
This fixes the lag between frames for all in-game animations
with a default frame delay
2014-12-23 00:07:45 +02:00
Marisa-Chan c8f8da0308 ZVISION: Fix uninitialized scalar field (CID 1257088) 2014-12-19 17:05:31 +06:00
Marisa-Chan 2cb541c651 ZVISION: Fix uninitialized scalar field (CID 1257087) 2014-12-19 17:05:03 +06:00
Marisa-Chan 7609b6d866 ZVISION: Fix uninitialized scalar field (CID 1257086) 2014-12-19 17:04:26 +06:00
Marisa-Chan 7a0b5982b1 ZVISION: Fix uninitialized scalar field (CID 1257085) 2014-12-19 17:04:04 +06:00
Marisa-Chan 7e3c270e49 ZVISION: Fix uninitialized scalar field (CID 1257084) 2014-12-19 17:03:39 +06:00
Marisa-Chan d6e3cea087 ZVISION: Fix uninitialized scalar field (CID 1257083) 2014-12-19 17:03:07 +06:00
Marisa-Chan 5db4e02f9a ZVISION: Fix uninitialized scalar field (CID 1257082) 2014-12-19 17:02:22 +06:00
Marisa-Chan 1078d0c193 ZVISION: Fix uninitialized scalar field (CID 1257079) 2014-12-19 16:51:01 +06:00
Marisa-Chan 7055ee7755 ZVISION: Fix uninitialized scalar field (CID 1257075) 2014-12-19 16:44:18 +06:00
Marisa-Chan 897ecc190f ZVISION: Fix uninitialized scalar field (CID 1257074) 2014-12-19 16:41:51 +06:00
Marisa-Chan 704a4b3400 ZVISION: Fix uninitialized scalar field (CID 1257072) 2014-12-19 16:39:21 +06:00
Marisa-Chan 8278ed6022 ZVISION: Fix uninitialized scalar field (CID 1257071) 2014-12-19 16:38:34 +06:00