playDialog() refreshes the screen when it finishes, so any calls to
toggleAnimArea() should be done before playDialog() starts.
This fixes cases such as the storekeeper's wife not disappearing
properly after the cutscene with the rat-on-wheels is shown
This only worked on the one version of the game (1.000 / 1.001) and
broke the final version of the game (1.200): typing "run" would always
kill the player and display "You don't know that spell." The patch
seems to have no effect on the many other versions of the game.
This code-injection scheme relies on hard-coded script offsets which are
entirely version specific, so I don't see how this can be fixed. There
is no mechanism to prevent patches from from being applied to other
versions and so the results are unpredictable. This particular patch
also injects text tuples which are also version specific, hence the
unintended death message.
Reverting so that the imminent release doesn't contain this regression.
The previous SdlGraphics3dManager::toggleFullScreen() was not using
beginGFXTransaction / endGFXTransaction in toggleFullScreen().
Restore this logic for 3D games, as using transactions in such games
results in a black screen for 3D games when switching to full screen
A regression from d33487f64
This adds a command queue to the PC speaker emulator for PWM-style sounds that
need timing of less than a millisecond. The play method only supports
milliseconds and requires real time control, which is difficult to achieve with
microsecond timings.
The new playQueue method allows you to queue up playback instructions with
microsecond timing, which are executed when audio samples need to be generated.
Kathy Rain and Whispers of a Machine use the ags_sprite_font plugin
and load the fonts in their game_start script. This script is called
when starting a new game, but not when loading a savegame on startup
(for good reasons). As a result when loading a savegame from the
launcher we were missing those fonts and it was using replacement
fonts that do not quite work properly.
This fixes bugs #12945 and #12964.
This fixes bug #12948 AGS: Segfault when picking up at police report.
For that bug the font is properly loaded by FreeType, but it is a
non-scalable Windows font whose size does not match the requested
size. The original AGS handles TTF font sizes differently to how we
do it in TTFFont (and also has some hacks on top of that), and it
was easier here to use WinFont that try to tweak TTFont to work
with this case.