Commit Graph

95640 Commits

Author SHA1 Message Date
Bastien Bouclet
16d0687b66 SWITCH: Use ScummVM file buffering instead of newlib's implementation
Fixes #11384.
2020-03-16 14:53:09 -05:00
Bastien Bouclet
9cc2fee887 SDL: Enable joystick input by default
Game controller input is now enabled whenever a compatible device is
connected. The keymapper's keymaps are refreshed when a joystick is added
or removed.

Fixes #10366.
2020-03-16 18:41:27 +01:00
Eugene Sandulenko
4428ecb349 CONFIGURE: Move saved flags to beginning of config.mk
This lets easier lookup during the development.
2020-03-16 09:22:01 +01:00
Filippos Karapetis
7a68ee57b1 SCI: Always include the opcodeNames table, as it's used in VM hooks 2020-03-16 01:58:34 +02:00
Filippos Karapetis
121fb4798b MIDI: Added sysEx function to Miles MT-32 driver
The Miles MT-32 MIDI driver extends MidiDriver_BASE, but does not
override its sysEx method, which does nothing by default. This
resulted in a few initialization sysex messages for The 7th Guest
not being sent.

I've added an implementation for this method.

Adapted from 3657db3a7b7bf640edb768f6ffc37df9d5073d22
2020-03-16 01:45:13 +02:00
NMIError
52d5d60907 GROOVIE: Fix 7th Guest GM initialization
The 7th Guest initializes GM devices during the "loading GM drivers"
screen, which is a normal video that plays "audio" that consists of
initialization messages (mostly Roland GS sysexes). The original
interpreter plays this video twice, which is enough time to play the
entire INI_SC.XMI initialization file. ScummVM apparently plays video
a bit faster, and there is not enough time to play the entire init
file. Because of this GM initialization is incomplete.

I've fixed this by making the init video loop until the audio has
finished playing.

Note: I have only tested this with the original DOS version of the
game. I don't know if the file reference I've used to identify the
GM init video is the same on other platforms. If not, this change
might not work and/or have unintended results.
2020-03-16 01:40:10 +02:00
NMIError
e11d408f0a GROOVIE: Add Roland GS invalid drumkit correction
The GM music for The 7th Guest contains several drumkit selection
messages which use an incorrect drumkit number. This relied on a
correction mechanism of the Roland SC-55, which would correct these
numbers to valid selections. This mechanism was not present in later
GS and GM devices, causing error messages and wrong drumkits.

I've fixed this by adding code which simulates the correction
mechanism of the SC-55.
2020-03-16 01:40:10 +02:00
NMIError
a7082b15fa GROOVIE: Send GS SysEx messages
The 7th Guest sends several SysEx messages for Roland GS devices during
startup. ScummVM did not send these messages.

The Groovie MusicPlayerMidi class encapsulates the MidiDriver which is
actually used for sending MIDI events. However, it did not implement the
sysEx method, so the empty implementation of MidiDriver_BASE was used.
I've added a sysEx method which forwards the messages to the actual
MidiDriver.
2020-03-16 01:40:10 +02:00
Cameron Cawley
d205578d4d SDL: Add a separate function for setting the hardware size 2020-03-16 01:30:05 +02:00
Cameron Cawley
3e94325df9 BACKENDS: Allow compiling certain backends for standard Linux platforms 2020-03-16 01:29:20 +02:00
lolbot-iichan
74de2d61bf WINTERMUTE: Add detection and keymap for "Myth: A Guff's Tale"
SOLO DESIGN decided to distribute "Myth: A Guff's Tale" for free since
game's co-creator Phil Argent passed away...
Download it here:
https://www.kartridge.com/games/solodesign/myth-a-guffs-tale
2020-03-16 01:25:48 +02:00
lolbot-iichan
53eeb39518 WINTERMUTE: Add detection for Italian version of thelostcrowngha
Fixes https://bugs.scummvm.org/ticket/11383
2020-03-16 01:25:48 +02:00
Zvika Haramaty
540a3cd7a5 SCI: adding stopAfterFading to savegame, fixing #10685 2020-03-16 01:22:50 +02:00
Zvika Haramaty
23c6a5182e SCI: Added new VM hook mechanism, allowing new instructions
The current patch mechanism allows only replacing intructions in current
scripts, but not adding new instructions out of nowhere.
Thus, issue like #9646 is about to be closed as WONTFIX.

This new mechanism adds a hook on vm.cpp, before executing opcodes, and
if required, executs a new code.

It solves one of the issues of #9646, the others can be solved as well using that mechanism.
2020-03-16 01:17:03 +02:00
Cameron Cawley
6ed8dea829 ZVISION: Disable the keymap when InputControl is focused 2020-03-15 17:35:09 +01:00
Cameron Cawley
db87cb0c63 ZVISION: Use custom engine actions for the menubar shortcuts 2020-03-15 17:35:09 +01:00
Cameron Cawley
496edf905f ZVISION: Add keymapper support 2020-03-15 17:35:09 +01:00
Andrei Prykhodko
bc0553951f PINK: fix crash when there isn't html files 2020-03-15 14:01:55 +02:00
Andrei Prykhodko
0479ed53fd PINK: JANITORIAL: formatting fix 2020-03-15 13:59:35 +02:00
D G Turner
67e87cf45c DEVTOOLS: Add create_ultima binary to Git Ignore 2020-03-15 10:05:26 +00:00
D G Turner
89d87a9132 LURE: Fix GCC Compiler Warning of Unused Variable 2020-03-15 10:01:47 +00:00
aviloria
213d2d1cf4 MOHAWK: Add detection for a Mac CD game and demo
Add detection for the Macintosh CD 'La Tartaruga e la Lepre' (The Turtle and the Hare) [Italian, English], and a demo included on it for the game 'Al mare con la Nonna' (Grandma and me)
2020-03-15 08:08:12 +01:00
Eric Fry
19fe35216f DRAGONS: Add fake loading screen when starting a new game 2020-03-15 14:03:00 +11:00
Paul Gilbert
dd17688521 ULTIMA: Support running games using uncompressed .dat files
To make it easier to continous changes to the contents of the
ultima.dat file in the future, this development allows the
Extra Path to be set to the devtools/create_ultima folder, and
it will use the files in the files/ subfolder in preference to
the ultima.dat archive
2020-03-14 17:27:20 -07:00
IlDucci
b155576bcd I18N: Update translation (Spanish)
Currently translated at 100.0% (1344 of 1344 strings)
2020-03-14 22:14:50 +00:00
Matthew Duggan
492bc45093 ULTIMA8: Remove redundant cleanup in destructors (emptying vectors etc) 2020-03-14 14:11:38 -07:00
Matthew Duggan
3caee289c6 ULTIMA8: Fix guardian speech events 2020-03-14 14:08:44 -07:00
Le Philousophe
8e156fe37d GRAPHICS: Fix compilation on old FreeType2 versions
Old FreeType2 had FT_Bitmap_New which got renamed later in FT_Bitmap_Init
2020-03-14 16:56:25 +01:00
rsn8887
eaa487fcd4 CONFIGURE: verbose linker on psp2 to prevent buildbot timeout 2020-03-14 09:42:44 -05:00
rsn8887
c944e5af25 CONFIGURE: use multiple lto jobs for psp2 to speed up linking 2020-03-14 09:27:27 -05:00
Le Philousophe
3f7726ea66 GRAPHICS: Fix compilation for Amiga and PSP
Amiga failed because int isn't the same than int32
PSP failed because of an old FreeType version so try to take this
into account
2020-03-14 14:23:34 +01:00
Le Philousophe
c89feeb644 CRYOMNI3D: Abort even in yes/no message box and file picker 2020-03-14 12:20:41 +01:00
Le Philousophe
a05676d2c3 CRYOMNI3D: Fix documentation for CJK
One minor fix for font choice and support multiline attributes for
Japanese version
2020-03-14 12:20:41 +01:00
Le Philousophe
39f6d8e7ed CRYOMNI3D: Add Japanese version of Versailles 2020-03-14 12:20:41 +01:00
Le Philousophe
cb4c1a72ba CRYOMNI3D: Add Korean version of Versailles 2020-03-14 12:20:41 +01:00
Le Philousophe
b40d3ca55f CRYOMNI3D: Add TTF list support
This will be used for Korean and Japanese versions of Versailles
2020-03-14 12:20:41 +01:00
Le Philousophe
128f1978bc CRYOMNI3D: Add support for Chinese version of Versailles 2020-03-14 12:20:41 +01:00
Le Philousophe
658c4dfa37 CRYOMNI3D: Handle translations for riddles and bomb 2020-03-14 12:20:41 +01:00
Le Philousophe
bf215580dd CRYOMNI3D: Prepare CJK support for Versailles 2020-03-14 12:20:41 +01:00
Le Philousophe
168522beea CRYOMNI3D: Add support for automatically named saves
CJK versions of game use this to avoid handling extended character set
in files
2020-03-14 12:20:41 +01:00
Le Philousophe
baad1c7c86 CRYOMNI3D: Add support for subtitles in create_cryomni3d 2020-03-14 12:20:41 +01:00
Le Philousophe
dad1b4d135 CRYOMNI3D: Add subtitles support for CJK 2020-03-14 12:20:41 +01:00
Le Philousophe
90d1c764c3 CRYOMNI3D: Add clipping support for videos
This will be used to avoid drawing subtitles at every frame
2020-03-14 12:20:41 +01:00
Le Philousophe
09f2bcf7e8 CRYOMNI3D: Revamp text handling and fonts
Add support to extended Cryo fonts used by Chinese version of
Versailles and melt in existing Graphics::Font interface.
2020-03-14 12:20:41 +01:00
Le Philousophe
11cbfb1c9a CRYOMNI3D: Fix functions name in create_cryomni3d 2020-03-14 12:20:41 +01:00
Le Philousophe
ee1aa81063 GRAPHICS: Mimic CreateFont Windows API
Implement a kind of font mapper which takes a list of font files, font
face name, size, slant and weight and finds the best matching face.
Fakes italic and bold if there it isn't available.
This commit adds support for TTC files which contains multiple faces
(used by CJK Windows fonts).
2020-03-14 12:19:21 +01:00
rsn8887
45112f416d CONFIGURE: use lto and gc flags on psp2 to reduce executable size 2020-03-14 00:46:46 -05:00
rsn8887
bd1b346e08 BACKENDS: strip psp2 executable to reduce size 2020-03-14 00:46:46 -05:00
Eric Fry
4a7f8c18c5 DRAGONS: replace NULL with nullptr 2020-03-14 14:39:06 +11:00
Eugene Sandulenko
f50b45b557 PRINCE: Added sanity check to image decompressor 2020-03-14 01:22:54 +01:00