This happened when the bitmap is saved from a script as then
the path goes through ResolveScriptPath which already adds the
prefix.
The double prefix meant that when the script tried to read the
file, the name was different (as then it only has the prefix
added once) and this failed.
One game that does this is Strangeland.
When loading a sound effect, the engine would deallocate the memory for the
currently playing sound effect, and stop playback afterwards. This commit
changes this to stop playback first, and then deallocate and load the new
sound effect.
This should fix the problem with the mixer accessing deallocated memory
reported in issue #12852.
The AGSPlatformDriver has an 'instance' static member variable
that was not rest to nullptr when the driver is deleted. This
caused trying to use a deleted driver when restarting an AGS
game after returning to the launcher.
This commit is a quick fix that properly sets this variable to
nullptr when the driver is deleted, but we may want to look
at the possibility to remove this variable altogether.
* Correct alphabetic sorting throughout
* Whitespace and indentation fixes
* German translation fix for Bibi Film Studio
* Computer Music change from game to demo
* Punycode The Gate 2-3 paths to match The Gate 1
Adds more works by Rodney Alan Greenblat:
* Funscreen 2
* Wonder Window
* Art Brain
* Crying, Screaming Baby (Clickamajig)
Funscreen 1 was learned to be Director in original Mac floppy release,
and so was moved to the games section.
Thanks to ArtFluids on Discord for providing detailed background
information from correspondence with Rodney.
These are all shareware releases. The full games can be unlocked with a
registration key.
Thank you to Elphive on Discord for extensive research in the Wayback
Machine and for providing information on the retail compilations.
Many thanks for research and suggestions from Discord, email, etc.,
particularly sev, eientei, and Lemtom.
Special thanks to Fighter19 for providing information on German
Silly Noisy House, and to Elphive for finding Shelley Duvall's
It's a Bird's Life.
This establishes detection for games in the new language codes.
* 10 unique Arabic games
* 2 unique Catalan titles
* 1 Catalan + 1 Flemish localization
* 1 potential Mexican Spanish localization
Also cleaned up indentation for Russian title comments and corrected
an existing entry with wrong language.
These can be big- or little-endian. The development platform can be
autodetected based on RIFX/XFIR in header.
These games ran in Shockwave Player either as a standalone app or as
web browser plugins on Windows and Mac.
Shockwave game added as D6 detection entry as an example.
Catalan and Flemish use existing ISO/locale codes
Arabic uses generic ARB for country code. There is no clear country code
to apply here. We can take ARB to mean Arab League or Modern Standard
Arabic.
TODO: Consult Arabic speakers on country-level dialects
When the open mode of kFile_Create is passed, files are
meant to be opened in read/write mode if they already exist,
rather than simply replacing them. The code of this commit
should allow this to be simulated, by opening the file first
for reading, and then duplicating into a new OutSaveFile for
writing
There are several Ctrl+Key combinations that are accepted by the engine.
Most famous one is Ctrl+W, which is Instant Win on monkey1 (monkey2 uses
Alt+W, and has a similar hack for passing it correctly).
This used to work with ScummVM 1.9.0/SDL1, but broke with SDL2, and was
later broken further even for SDL1 in f5ed14e93d85.
Fixes#10644.
ScummVM does not support using sub-directories in the save directory,
so we flatten the path by replacing '/' with '-'.
This fixes saving and loading with the in-game dialogs in Strangeland.
Fixes bug #12864.
WORKAROUND bug #12420 (also occurs in original) Broken window and coat missing
This happens when you skip the cutscenes in the beginning, in particular
the one where Indy enters the office for the first time. If object 23 (National
Archeology) is in possession of Indy (owner == 1) then it's safe the force the
coat (object 24) and broken window (object 25) into the room to compensate for
the skipped code.
During smush movie playback the engine simply wouldn't react to a restart attempt (except causing a palette glitch). Now it apparently works...
I'd still strongly discourage anyone from using this, since it might make the engine unstable (see the old comments in ScummEngine::restart()).