4127 Commits

Author SHA1 Message Date
Vladimir Serbinenko
0adf22278b COMMON: Uplift SafeMutexedSeekableSubReadStream to common 2022-12-31 20:47:10 +01:00
Matthew Duggan
c53b42311d COMMON: Fix path split+join combinations, add tests for same
This resolves multiple scenarios where a path ends up with a trailing
separator.
2022-12-31 17:57:07 +09:00
neuromancer
90d97edd63 COMMON: added a render mode for Amstrad CPC 2022-12-29 10:52:57 -03:00
Vladimir Serbinenko
af2643be44 COMMON: Add a check in StuffIt parser to check for crash condition 2022-12-28 13:02:22 +01:00
Vladimir Serbinenko
324b22682e COMMON: Respect StuffIt archive size
This allows handling of archives with trailer like one used in
Private eye installer
2022-12-28 13:02:22 +01:00
neuromancer
6829865c8f COMMON: renamed Amstrad CPC platform data to be more precise 2022-12-26 11:48:17 -03:00
neuromancer
5ee734b844 COMMON: added Amstrad CPC as a platform 2022-12-26 09:12:26 -03:00
elasota
e280186a8c ALL: VS warning cleanup 2022-12-25 16:31:57 +01:00
Donovan Watteau
49585ad152 COMMON: BUILD: Use 'long' for int32 in MSVC 32-bit builds
The NDS and AmigaOS ports have frequent buildbot issues, because they
need to use 'long' for int32, for their own reasons. The buildbot is
run *after* things are merged into the main branch, so we'd like to
catch the frequent int/int32 build issues as an earlier development
stage (such as by the automated Github Actions).

MSVC 32-bit builds look like a good candidate for this, since its
'long' is also a 32-bit value on Win32, this platform is tested by
Github Actions right from the PR stage, and there are more developers
doing frequent local build tests there.

Not applying this change to Mingw builds yet, since GCC is less
permissive  about this trick (i.e. -Wformat becomes quite noisy), and
the Mingw builds are used for releases, so let's be safe for now.
2022-12-25 16:13:29 +01:00
elasota
e193f71ac0 COMMON: Fix --disable-lua not working. 2022-12-25 15:55:58 +01:00
neuromancer
d4129d5aa2 COMMON: corrected kRenderZX to avoid duplicates in RenderMode 2022-12-24 13:18:53 -03:00
neuromancer
6841227241 COMMON: added zx spectrum render mode 2022-12-24 13:18:53 -03:00
grisenti
3c0dfdf49f
COMMON: fix move assignment operator in ScopedPtr 2022-12-23 14:03:30 +01:00
Vladimir Serbinenko
395aa10644 COMMON: Add missing escaping in Common::Path. 2022-12-20 10:04:55 +01:00
Cameron Cawley
4002c7bdde
COMMON: Add a version of Common::Array::resize with a fill value 2022-12-19 14:33:07 +02:00
Cameron Cawley
a55361b65d COMMON: Add Common::Array::swap() 2022-12-18 23:36:09 +02:00
Vladimir Serbinenko
2ca39a0745 COMMON: Support resource fork coming from OSX zip or FAT 2022-12-16 22:59:34 +01:00
Vladimir Serbinenko
0979c692de COMMON: Add new method joinComponents 2022-12-16 22:59:34 +01:00
Eugene Sandulenko
8bf6aec613 COMMON: LUA: Replace sprintf -> snprintf 2022-12-16 10:54:49 +01:00
Vladimir Serbinenko
a690a034cf COMMON: Remove reliance that \x1f is never part of filename
So far we never encountered such a case but mac disks are notorious for
having non-printable characters in names
2022-12-14 05:08:46 +01:00
Vladimir Serbinenko
673e5e025b COMMON: Remove rawString member for Common::Path 2022-12-14 05:08:46 +01:00
Vladimir Serbinenko
7ded5c2de0 COMMON: Move DIR_SEPARATOR into path.cpp 2022-12-14 05:08:46 +01:00
Vladimir Serbinenko
4a2e69f990 COMMON: conflate : and / in mac names.
When using mounted images on OSX or with fusehfs : and / are swapped.
When using dumper-companion it encodes / in punycode and preserves it.
2022-12-14 05:08:46 +01:00
Vladimir Serbinenko
78b6e60057 COMMON: Change common/fs to use Common::Path as key 2022-12-14 05:08:46 +01:00
Vladimir Serbinenko
ab517cc577 COMMON: Add case-insensitive comparator and hash for Common::Path 2022-12-14 05:08:46 +01:00
Vladimir Serbinenko
43d7259ff9 COMMON: Add matchPattern method for Common::Path 2022-12-14 05:08:46 +01:00
Vladimir Serbinenko
ce55430f1c COMMON: Don't access DIR_SEPARATOR in macresman
DIR_SEPARATOR is an implementation detail of Common::Path, it should not
be accessed outside of it. Use public functions that do the same instead
2022-12-14 05:08:46 +01:00
Vladimir Serbinenko
d02a25230d COMMON: Add appendComponent to Common::Path for convenience 2022-12-14 05:08:46 +01:00
Vladimir Serbinenko
af7d9cb850 COMMON: Move punycode_*codepath to path.cpp
This allows to reduce access to DIR_SEPARATOR from outside of Common::Path
2022-12-14 05:08:46 +01:00
Cameron Cawley
fd123d6679 COMMON: Split compression and formats into separate modules 2022-12-11 22:33:23 +01:00
Cameron Cawley
28d7b361ea COMMON: Move more file format code into common/formats 2022-12-11 22:33:23 +01:00
Cameron Cawley
0581301b24 COMMON: Move huffman.h back out of the compression directory 2022-12-11 22:33:23 +01:00
Vladimir Serbinenko
606a7a3e79 COMMON: Make MemcachingCaseInsensitiveArchive configurably to use weak pointers
This allows to keep memory footprint low on systems that are low on memory
2022-12-11 21:33:59 +01:00
Vladimir Serbinenko
382913b51d COMMON: Remove hasDataFork and getDataFork 2022-12-11 21:32:30 +01:00
Vladimir Serbinenko
4b7baa4159 COMMON: Switch quicktime to openFileOrDataFork 2022-12-11 21:32:30 +01:00
Vladimir Serbinenko
602eeec387 COMMON: Fix handling of / that caused The 7 colors to fail
Implicit conversion of string to path caused splitting by / instead of
intended by DIR_SEPARATOR
2022-12-09 01:31:11 +01:00
BLooperZ
3e12c9ddc2 COMPOSER: Load book config from MacBinary 2022-12-08 19:09:38 +01:00
Vladimir Serbinenko
d9888b9ac6 COMMON: Support stuffit-13 algorithm 2022-12-08 00:02:39 +01:00
Vladimir Serbinenko
571a807257 COMMON: Switch stuffit to MemcachingCaseInsensitiveArchive 2022-12-08 00:02:39 +01:00
elasota
f1bc2b187c COMMON: Optimize some array ops by hoisting storage pointer to a local so the compiler doesn't have to reload it every iteration. 2022-12-06 23:43:27 +01:00
Vladimir Serbinenko
279f4ac5b8 COMMON: Add ITE Amiga powerpack support 2022-12-05 08:15:33 +02:00
Vladimir Serbinenko
2db745b62b COMMON: Add in-memory decompressor for powerpack 2022-12-05 08:15:33 +02:00
Vladimir Serbinenko
ef7a3059e1 COMMON: Uplift powerpacker as it's used by Amiga ITE as well 2022-12-05 08:15:33 +02:00
elasota
cc11b531e3 JANITORIAL: Clean up all non-engine Visual Studio warnings. 2022-12-04 00:08:48 +01:00
Simon Delamarre
37965283bf
COMMON: add support for "name table" resource in NE executables
A "resource ID -> name" mapping found in some NE executables, stored as a resource.

Not described by any documentation I could find, but the corresponding #define can be encountered in some old header files.

Mentioned by this blog post https://www.toptensoftware.com/blog/win3mu-5/ (section "The Mysterious Resource Type #15").
2022-12-02 11:44:31 +01:00
Eugene Sandulenko
8f8d522913
COMMON: Move achievements.* to engines/ 2022-12-02 00:12:22 +01:00
Eugene Sandulenko
fb7095f5a4
COMMON: Move all compression-related files to a separate directory 2022-12-01 11:53:02 +01:00
Vladimir Serbinenko
2b9244c2de COMMON: Switch unzip to MemcachingCaseInsensitiveArchive 2022-12-01 01:52:46 +01:00
Vladimir Serbinenko
bb792d2c3a COMMON: Switch unarj to MemcachingCaseInsensitiveArchive 2022-12-01 01:52:46 +01:00
Vladimir Serbinenko
acc709730f COMMON: Switch clickteam to MemcachingCaseInsensitiveArchive. 2022-12-01 01:52:46 +01:00