Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TWINE: collection of fixes from master #3411

Closed
wants to merge 373 commits into from

Conversation

@mgerhardy
Copy link
Contributor

@mgerhardy mgerhardy commented Oct 10, 2021

This is a collection of fixes made in master since the release. I would like to include them into the 2.5.1 point release.

eriktorbjorn and others added 30 commits Sep 6, 2021
As with NEResources, _disposeFileHandle was never set.
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: ScummVM/scummvm
Translate-URL: https://translations.scummvm.org/projects/scummvm/scummvm/
This was due to the engine both exiting immediately from the game loop
and pushing a QUIT_EVENT (through the call to quitGame()). This meant
that that QUIT_EVENT was processed only after the game had already
returned to the launcher, causing the launcher to close.

This fixes bug #12904
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: ScummVM/scummvm
Translate-URL: https://translations.scummvm.org/projects/scummvm/scummvm/
Add detection for Future Wars CD version with French translation patch
applied.

Closes #12490
We now use a U32String for the savegame descriptions, but
the code was calling c_str() directly on it, and the uint32 pointer
was casted to a char pointer along the way. This resulted in only
the first character of the description being displayed on little
endian systems (and probably none on big endian systems since the
first byte would be 0 for ASCII characters).

This fixes bug #12869
This caused the description to be missing in the Grid View of the
ScummVM saveload dialog for example.
- edits for clarity and ease of navigation
This script patch caused the bug it claimed to fix.

It appears that during SCI32 development in 2017, a bug sent the horse
at Banbury Cross on an incorrect path behind the fountain instead of in
front of it. This would have looked glitchy since the horse has a higher
priority than the fountain. But this was misdiagnosed as a priority bug,
even though the original doesn't have any problems, and the script was
patched to set the horse to a lower priority. The real ScummVM bug was
fixed some time later, and ever since the horse has taken the correct
path and looked glitchy due to the patch setting the wrong priority.
The positions of the previous and next button had been mixed up. The
previous button is left of the next button, not the other way around.

This meant you could only be awarded points when pressing the previous
button, and since you would then step away from the page that awards
point that did not work.

Since the buttons worked in other respects, the id for the previous and
next pages must also have been similarly mixed up. This too should be
fixed now.
The Agent 3 information and profile research points were awarded when
pressing the "next" button, so they were never awarded. Award them when
hitting a hotspot instead.
A few people have not noticed that the GOG version includes a CD image and some
files need to be taken from there.  This should help those people.

The same problem will happen for anyone who has an old install of the game and
forgets that it uses some files from the CD.
This was partially caused by a bug in the original source code
that was missing a comma between two strings for those two dialogs.
The original did not have a buffer overflow, but was not correctly
displaying the strings.

This fixes bug #12856.
Since the inventory contains pointers to objects from the rooms, we
need to clear the inventory before we destroy the rooms and not after!
Because the games have different global sizes, the logic for when to print a
pop-to-global warning was wrong.  It should warn for size > 2 in Crusader
(where the globals are *bytes*), or if the size popped doesn't fit in
the number of *bits* for U8.
As reported in #12913, the current process loop detection can incorrectly fire
on certain U8 map transitions.  Bump the threshold way up to avoid problems.
This will result in a nasty pause in Crusader: No Remorse Map 3, but it's
better than breaking U8.
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: ScummVM/scummvm
Translate-URL: https://translations.scummvm.org/projects/scummvm/scummvm/
Some games like Maniac Mansion Deluxe, start in-game saves
from 100 onwards. Increasing the limit will allow these
saves to be opened directly from the ScummVM launcher
…887)

The comment says it will clear the live text window, but instead
disabled the navigation arrows (I think), which it then does again right
aftewards. A cut and paste error, perhaps?
sev- and others added 29 commits Oct 1, 2021
This fixes a crash on startup on RISC OS.
This commit adds separate detection entries for the Windows and Linux versions
of Inherit The Earth.
There was a combined DOS/Windows/Linux entry with DOS as the platform. It is
not clear to me if this is a combined release or a single entry for three
separate releases, but the Windows and Linux release do exist as separate
releases. These would be detected with DOS as the platform, which would cause
the music not to work, because the DOS, Windows and Linux versions use
different music formats.
Scanning the music subdirectory is now necessary for detecting the Windows
version of Inherit The Earth.
The engine expected all files listed in the detection entries to be resource
files. This commit adds the option to use a non-resource file for detection.
This is needed to use a MID file to detect one of the Windows versions of
Inherit the Earth.
@mgerhardy mgerhardy closed this Oct 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet