Commit Graph
137148 Commits
Author SHA1 Message Date
Filippos Karapetis aa7b3470a0 TINSEL: Simplify font loading and handling
This introduces a new helper method, GetFont(), which loads font data
using a memory stream and handles endianess reads internally. This
simplifies font loading and endianess handling considerably, and allows
for the usage of a common font struct for all engine versions
2021-09-04 15:21:07 +03:00
Filippos Karapetis 4f1676e38b TINSEL: Initial work on the Saturn version of DW1
This version is using the same graphics format as the PSX version, with
differences in resource endianess, but features digital music with a
different track structure and has a different sound sample format

Pending issues:
- Font rendering is wrong - this is evident in the text and menus in
  the game title screen
- Cursor sprite and trails are wrong - can be seen in the menu of the
  game title screen
- Digital music is not supported yet - seems that a different track
  structure is used
- The sound sample format is different than the PC version - looks to
   be raw, but isn't
- The game crashes at the first room after watching Rincewind's waking
  up cutscene
2021-09-04 12:13:18 +03:00
Coen Rampen 11dbe3ca3d BURIED: Add volume control
This adds volume control to the game by setting the mixer sound type on the
various audio streams to values other than the default "plain".

This uses the following sound types:
Ambient (music, environment sounds): music
AI voice: speech
Effects, interface, footsteps, movie audio: SFX

This could be further improved by specifying sound types for individual sounds,
f.e. SFX for environment sounds, or music for the "effects" in the appartment
which are short musical cues. The movie audio is of course pre-mixed music,
speech and SFX.
2021-09-03 21:24:17 +02:00
Eugene Sandulenko 7605439c5f SAGA2: Mark engine as highres 2021-09-03 02:03:26 +02:00
Cameron Cawley f24b71100b CRYO: Remove unused variable 2021-09-03 00:41:58 +03:00
Cameron Cawley e022d80447 CRYO: Support Return to Launcher 2021-09-03 00:41:58 +03:00
Cameron Cawley c955cc3c3d CRYO: Ensure all variables are initialised on startup 2021-09-03 00:41:58 +03:00
Cameron Cawley a8cbad4c2e CRYO: Fix memory leaks 2021-09-03 00:41:58 +03:00
Cameron Cawley 5df9601e18 CRYO: Add const to all static tables 2021-09-03 00:41:58 +03:00
Cameron Cawley e60b0be71a DS: Update scripts for creating split builds 2021-09-02 22:14:53 +01:00
Coen Rampen e92cd24d82 TOON: Added some comments on demo differences 2021-09-02 22:17:18 +02:00
Coen Rampen 0905638e4a TOON: Mark English demo as unstable
There seem to be some differences in the data structures between the English
demo and the other versions of the game, which causes ScummVM to reference
invalid animations, hotspots and fonts. Marked it as unstable for now.
2021-09-02 22:17:18 +02:00
Cameron Cawley c731d6c3dd LAB: Avoid using static objects with destructors 2021-09-02 21:41:14 +03:00
Cameron Cawley 5f6e65b93b SUPERNOVA: Avoid using static objects with destructors 2021-09-02 21:41:14 +03:00
Cameron Cawley 4c93db227a ILLUSIONS: Avoid using static objects with destructors 2021-09-02 21:41:14 +03:00
Cameron Cawley 74129492ba CINE: Avoid using static objects with destructors 2021-09-02 21:41:14 +03:00
Orgad Shaneh 0b90777721 CONFIGURE: Drop u flag for ar
On replace mode (r), u tells ar to replace object files only if the source
file is newer than the one in the archive.

When binutils is configured with --enable-deterministic-archives, the
default mode for ar is D (deterministic), which means that all the files
are stored with zero for UID, GID and timestamp. This means that ar has no
way to tell if the archived file is older than the source file, so it just
archives all the input files and issues the following warning:
`u' modifier ignored since `D' is the default (see `U')

Fix by dropping this flag. The performance gain is negligible anyway.
2021-09-02 18:52:41 +02:00
alxpnv 4746126d8e ASYLUM: (Board puzzles) add support for French text 2021-09-02 15:26:53 +03:00
Lothar Serra Mari 7b0ce6282f GUI: Add GUI option for Discord RPC 2021-09-02 14:21:07 +02:00
Lothar Serra Mari 82adcbeeb0 BACKENDS: PRESENCE: Only trigger Discord RPC if enabled in configuration 2021-09-02 14:21:07 +02:00
Lothar Serra Mari 8b3319bd37 BASE: Enable Discord RPC integration by default 2021-09-02 14:21:07 +02:00
Lothar Serra Mari d7854e8e9b NEWS: Update German NEWS file 2021-09-02 14:19:00 +02:00
Torbjörn Andersson 9df10525df SDL: Check if hi-res scaler is available at desired factor
Instead of falling back to the normal scaler if the new scale factor is
1, explicitly check if the desired scaler is available at the new scale
factor. Suggested by criezy, and I'm shamelessly copying his
implementation because this sort of C++ trickery is something I'm not
fluent in.

At the moment, this shouldn't make any difference. But I guess in the
future, there may be a scaler that's available at 3x and 4x, but not 2x,
or something like that.
2021-09-02 13:24:06 +02:00
Torbjörn Andersson b5f27b5950 SDL: Set better default scaler for high-resolution games
Now that we have higher scale factors than 3, it makes sense to try and
figure out a default scaler for high-resolution games that approximate
the window size of a low resolution game.

That also means that we are not necessarily restricted to the normal
scaler, since AdvMame has both 2x and 4x versions.
2021-09-02 13:24:06 +02:00
Cameron Cawley dcf4fb5d2d DEVTOOLS: Add a build script to simplify building with Docker 2021-09-02 13:21:27 +02:00
Eugene Sandulenko 19e801de86 NEWS: Mention Lemonhead MI1 in Spanish 2021-09-02 13:17:32 +02:00
Torbjörn Andersson 7aadf63014 SCUMM: Add Spanish version of the MI1 Lemonhead patch
I don't have this version of the game myself, so it's based on a YouTube
playthrough and walking through the process of extracting the necessary
data with timofonic. It has not been properly tested, though the
messages do look correct if I insert them into the English version.
2021-09-02 13:14:42 +02:00
alxpnv ab285832b6 ASYLUM: (Board puzzles) add support for German text 2021-09-02 13:30:20 +03:00
alxpnv 3e4a77553c ASYLUM: add detection entry for French GOG version 2021-09-02 12:53:32 +03:00
Paul Gilbert 0cfbb2a965 AGS: Fix writing 32-bit images that don't have transparencies set 2021-09-01 22:18:22 -07:00
Paul Gilbert 1fa744d6b6 AGS: Correct save files to be created without compression 2021-09-01 21:38:37 -07:00
Paul Gilbert eeda6bc153 AGS: Fix loading of images from save folder 2021-09-01 21:30:44 -07:00
Paul Gilbert 94be258edb AGS: Consolidate opening save files for writing 2021-09-01 18:54:38 -07:00
Orgad Shaneh ec3681a62c SCUMM: Extend Ctrl handling to all the games on versions 3-7
Tested with Loom and The Dig. It seems to be consistent.

Sam&Max seems to have different mapping for Ctrl. The DOS version
has the following actions:

Ctrl-I: Rotates the current action
Ctrl-J: Switches to Joystick Mode
Ctrl-K: Shows memory stats
Ctrl-C: Prompts to quit
Ctrl-M: Switches to Mouse Mode

Anyway, since it doesn't break anything, I did not add an exclusion for it.
2021-09-02 00:23:10 +03:00
Martin Gerhardy 4b13314e23 GUI: persist the debug console history 2021-09-01 16:30:02 +02:00
Eugene Sandulenko e29b80f8cc DIRECTOR: Enforce game target as prefix to the saved files in FileIO 2021-09-01 15:38:30 +02:00
Eugene Sandulenko b85daf6066 GUI: Added optional file mask for FileBrowserDialog 2021-09-01 15:38:30 +02:00
alxpnv 3ea3147c46 ASYLUM: (Writings puzzle) add support for German and French texts 2021-09-01 15:11:38 +03:00
Thierry Crozat 500ee6539a AGS: Do not add the prefix twice when saving bitmaps
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.
2021-09-01 12:35:31 +01:00
Thierry Crozat 4e3033cf74 AGS: Use case insensitive comparison for prefix in ResolveScriptPath 2021-09-01 12:33:45 +01:00
alxpnv 4a306cf391 ASYLUM: fix encounter keywords in non-English Steam versions 2021-09-01 13:06:45 +03:00
alxpnv 58cdbeab45 ASYLUM: add detection entry for French Steam version 2021-09-01 13:04:10 +03:00
alxpnv fbd610b3f9 ACHIEVEMENTS: Generated description files 2021-09-01 10:49:50 +03:00
alxpnv 8c3b3f5efa ASYLUM: fix paths for Steam versions 2021-09-01 10:23:56 +03:00
Lothar Serra Mari a2b40f5327 ASYLUM: Add detection entry for German Steam version 2021-09-01 10:23:56 +03:00
Coen Rampen 36d395b2d1 CGE2: Stop current SFX before loading a new one
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.
2021-08-31 23:31:54 +02:00
Thierry Crozat db91429405 AGS; Fix opening stream in append mode 2021-08-31 17:36:12 +01:00
Thierry Crozat 0ce133c5ca AGS: Fix restarting AGS games after returning to the launcher
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.
2021-08-31 17:32:33 +01:00
trembyle b7e6e78200 JANITORIAL: DIRECTOR: Various fixes
* 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
2021-08-31 11:44:44 +02:00
trembyle 1ee2722687 DIRECTOR: Expand detection for Rodney Greenblat
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.
2021-08-31 11:44:44 +02:00