3872 Commits

Author SHA1 Message Date
Matthew Duggan
2c4aae5294 COMMON: Use const references where possible in punycode
As suggested by coverity.
2021-09-04 23:15:23 +03:00
trembyle
05a27c3cfc COMMON: Add Macromedia/Adobe Shockwave as platform
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.
2021-08-31 11:44:44 +02:00
trembyle
8cea642962 COMMON: Add constants for new Director game languages
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
2021-08-31 11:44:44 +02:00
Die4Ever
b617364f45 COMMON: improve RandomSource initial seed
This improves the range of seeds compared to using only getMillis (which
is the number of milliseconds since program start) as the seed. This was
especially an issue if you started the game directly from command line,
Steam, or GOG instead of using the ScummVM interface. Previously the
initial seed was just the load time, which can have very small variance
on a fast computer.
2021-08-28 22:55:13 +02:00
sluicebox
386c5659ec BASE: Purge keyboard/mouse events before running Engine
Fixes GUI events leaking into engines at startup. This caused
Phantasmagoria 1 to skip its introduction if the game was started from
the ScummVM GUI with a keyboard (Enter) but not with a mouse because
the key-down event started the engine and the key-up event remained
in the queue.

This also purges and mouse events since we happen to already have a
purgeMouseEvents() method. We may want to also clear joystick inputs,
or possibly the entire event queue, but that can be done after the
upcoming release. For now, the known bug is fixed.
2021-08-23 15:46:33 -05:00
SupSuper
c9d67e48a9 BACKENDS: Use FSNode::getName in string operations 2021-08-23 21:22:27 +01:00
SupSuper
8c86319923 BACKENDS: Use U32String for FSNode::getDisplayName 2021-08-23 21:22:27 +01:00
Orgad Shaneh
a0c818bde6 COMMON: Introduce SaveFileManager::exists
Checks if a savefile with given name exists.

Implement on all backends.
2021-08-23 13:34:35 +02:00
djsrv
952dc3d3e1 COMMON: Fix punycoding strings with no ASCII chars 2021-08-22 14:42:33 -04:00
djsrv
ad6f533175 COMMON: Fix punycode encoder/decoder
These need to use Unicode code points, not raw bytes.
2021-08-22 13:11:26 -04:00
djsrv
7b71e617f6 COMMON: Fully remove old punycode path functions 2021-08-22 11:45:02 -04:00
Fiodar Stryzhniou
fe274d10ba COMMON: Fix c++ header usage. 2021-08-18 18:22:55 +03:00
Eugene Sandulenko
83fc4f7338
COMMON: Persist global debug channels between engine runs 2021-08-16 21:33:15 +02:00
Eugene Sandulenko
ed09f11eaa
COMMON: Keep only one instance of global debug flags 2021-08-16 20:43:16 +02:00
Thierry Crozat
abf782c670 COMMON: Remove kFeatureHiDPI from OSystem and use getHiDPIScreenFactor instead 2021-08-13 21:41:33 +01:00
Thierry Crozat
6d8462674f COMMON: Add getHiDPIScreenFactor to OSystem 2021-08-13 21:41:33 +01:00
Eugene Sandulenko
a197e7e795
COMMON: Added MacintoshII platform 2021-08-13 17:07:27 +02:00
djsrv
9c6fa32c82 COMMON: Create DisposablePtr::getDispose() 2021-08-12 13:18:27 -04:00
djsrv
b40233ffe7 COMMON: Create DisposablePtr::disownPtr() 2021-08-12 13:18:27 -04:00
Le Philousophe
6a82f704d4 COMMON: Fix build with old GCC 2021-08-11 12:01:40 +02:00
Eugene Sandulenko
b72d6d89b9
COMMON: Proper check for MacBinary presence. This fixes false positives for QT movies 2021-08-10 19:33:27 +02:00
Eugene Sandulenko
d44938f916
COMMON: Added common CRC implementation. Borrowed from Wintermute engine 2021-08-10 19:33:27 +02:00
djsrv
ba28d7fde6 ALL: Change listMatchingMembers pattern to a Path
This handles any potential differences in directory separators passed to
the function, as with the other Archive functions.
2021-08-09 17:47:30 -04:00
djsrv
2aa7e3e558 COMMON: Replace matchString pathMode with general wildcard exclusions
Different characters may need to be excluded for different path styles.
2021-08-09 17:43:12 -04:00
sluicebox
af7d05999e SCI: Add SQ1 option to enable bearded musicians
Adds a game option to enable the original graphics that Sierra
disabled for legal reasons but still included.

Trac #12773
2021-08-09 16:40:38 -05:00
sluicebox
49ce49aae6 COMMON: Update override keywords in OutSaveFile 2021-08-09 08:37:53 -05:00
Paul Gilbert
be06c4eb8a BACKENDS: Extend OutSaveFile to support SeekableWriteStream
The seek and size methods of SeekableWriteStream are only
supported when creating uncompressed save files.
2021-08-08 18:13:30 -07:00
Paul Gilbert
9db14ee109 BACKENDS: Update all the backends to support SeekableWriteStream 2021-08-08 18:13:30 -07:00
Eugene Sandulenko
4a5085b0f8
COMMON: Do not try to create "." directory in DumpFile 2021-08-08 17:44:14 +02:00
djsrv
d2b42b52d1 COMMON: Use Path functions in FSNode constructor
Path has an empty() function and equality operator. No need to convert
to a String first.
2021-08-07 10:44:37 +02:00
djsrv
763d2813a0 COMMON: Replace Path's += with append/join 2021-08-07 10:44:37 +02:00
djsrv
8c4ecf6cc5 COMMON: Add Doxygen comments to path.h 2021-08-07 10:44:37 +02:00
djsrv
2eca1126c5 VIDEO: Use Path type in VideoDecoder functions 2021-08-07 10:44:37 +02:00
djsrv
6020f24661 COMMON: Create punycode_encodepath 2021-08-07 10:44:37 +02:00
djsrv
8501ce8e26 COMMON: Convert names to printable in FSDirectory warnings
Unit separator, a control character, is used as a directory separator,
so this is needed now.
2021-08-07 10:44:37 +02:00
djsrv
17297ea7ef COMMON: Use Path type in punycode_decodepath 2021-08-07 10:44:37 +02:00
djsrv
909595176a COMMON: Use Path type in MacResManager functions 2021-08-07 10:44:37 +02:00
djsrv
0d65c2fd12 ALL: Use Path type in File functions 2021-08-07 10:44:37 +02:00
djsrv
7eb4841065 ALL: Use Path type in Archive functions 2021-08-07 10:44:37 +02:00
djsrv
0db0b2c201 COMMON: Create Path type 2021-08-07 10:44:37 +02:00
Thierry Crozat
1af6ae593a COMMON: Change OSystem::getSystemLanguage to always return a language code 2021-08-04 19:28:47 +01:00
Thierry Crozat
cbb627a40b COMMON: Change TransMan builtin language to "en" instead of "C" 2021-08-04 19:28:47 +01:00
antoniou
84323fc78e ANDROID: Remove checkbox for Android SAF from global options
Themes rebuilt, and version bumped to SCUMMVM_STX0.8.50
2021-08-02 22:57:37 +03:00
Aapo Vienamo
de1338787f COMMON: Fix divide by zero in getRandomNumber()
Calling RandomSource::getRandomNumber() results in divide by zero
exception when called with max = 4294967295 as max + 1 overflows to zero
and the subsequent modulus operation causes the exception.

Certain game saves in Bladerunner trigger this.
2021-08-02 13:40:11 +03:00
Fiodar Stryzhniou
475adcf8aa COMMON: Move text-to-speech.o MODULE_OBJS
It was bulded if USE_TTS enabled before. It builded bu defaault now.
That strange makefile structure break Symbian makefile parser.
2021-08-01 17:23:55 +02:00
antoniou
250206bd00 ANDROID: Add a checkbox for a revoke SAF permissions button
Themes were updated to version SCUMMVM_THEME_VERSION_STR "SCUMMVM_STX0.8.48"
2021-08-01 16:10:54 +03:00
Eugene Sandulenko
e79e58e077
COMMON: Avoid unnecessary object creation 2021-08-01 14:55:39 +02:00
Eugene Sandulenko
11e486d631
COMMON: Replace rindex() with more portable code 2021-08-01 14:51:04 +02:00
Eugene Sandulenko
1f40958a65
COMMON: Punycode more invalid characters in filenames 2021-08-01 10:44:24 +02:00
Eugene Sandulenko
ad42c3fd97
COMMON: Fix compilation 2021-07-31 18:30:16 +02:00