Commit Graph
4144 Commits
Author SHA1 Message Date
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
Vladimir Serbinenko b2def0293c COMMON: Add MemcachingCaseInsensitiveArchive for caching archive contents
This allows to share code for caching decompressed contents.
2022-12-01 01:52:46 +01:00
Vladimir Serbinenko 81040b5d20 COMMON: Make memstream support SharedPtr-backed array
This allows to safely implement archive contents caches.

The change to lilliput is needed to allow to keep move-constructot
semantics of ScriptStream which would otherwise disappear because
DisposablePtr is non-copyable
2022-12-01 01:52:46 +01:00
Vladimir Serbinenko 1d15e2a66e COMMON: Fix DisposablePtr move constructor in presence of a deleter 2022-12-01 01:52:46 +01:00
elasota c52eaf92fc COMMON: Move Installer VISE loader from mTropolis engine to Common. 2022-11-30 23:17:47 +02:00
Vladimir Serbinenko 5220c16e40 COMMON: Fix delete[]/new[] mismatch in clickteam 2022-11-30 12:36:23 +01:00
Eugene Sandulenko b114b95643 JANITORIAL: Fix code formatting 2022-11-30 00:35:59 +01:00
Vladimir Serbinenko aae70a0b11 COMMON: Fix new[]-free mismatch in unzip.cpp 2022-11-30 00:17:51 +01:00
Vladimir Serbinenko b8f3bc2732 COMMON: In getDataFork use SafeSeekableSubReadStream
It can be opened several times so re-seeking makes sense
2022-11-29 18:35:20 +01:00
Vladimir Serbinenko 3ed46d3484 COMMON: In openFileOrDataFork ensure to seek to the beginning 2022-11-29 18:35:12 +01:00
Vladimir Serbinenko b66d3ec688 COMMON: Implement ConcatReadStream 2022-11-29 04:30:36 +01:00
Vladimir Serbinenko c5373134d2 COMMON: Uplift rnc decoder from toon to common
Toon has a RNC implementation with 2 differences from the one taken from SKY:

1. Protection against overread. Add it to common version and adjust callers
   in sky.
2. Lack of key parameter for obfuscation. We ignore it anyway and don't
   support obfuscation, so delete it in common version as well
2022-11-29 04:30:36 +01:00
Vladimir Serbinenko 074888e6b8 COMMON: Move RNC decoder from sky to common
RNC is a common packing algorithm used also in Toonstruck and installer of
Dreamweb floppy.
2022-11-29 04:30:36 +01:00
Donovan Watteau 8140fdfbcc COMMON: Fix MSVC C4309 enum sign warning 2022-11-29 01:37:55 +01:00
Vladimir Serbinenko 357249fb5a COMMON: Split slow and fast CRC implementation
They have almost nothing in common. And we probably want to kill slow
implementation anyway now that we have tests
2022-11-29 01:05:31 +01:00
Vladimir Serbinenko 05f1a0df51 COMMON: Remove the need for most reflecting when initing reflected table
Instead reflect the polynomial and change the shifts. Also removes the
need for explicit init.

This makes our crc more similar to its standard implementation
2022-11-29 01:05:31 +01:00
Vladimir Serbinenko f06348708c COMMON: Optimize crcFast and related functions.
Currently we reflect every byte when working on reflected CRC's. Instead
follow the standard approach of reversing the table and couple of shifts
which is faster
2022-11-29 01:05:31 +01:00
Vladimir Serbinenko 8f6beba38f COMMON: Make most CRC functions const as they don't modify the object. 2022-11-29 01:05:31 +01:00
Vladimir Serbinenko ec9bb100e1 COMMON: Switch unzip from zlib to gzio
Tested by loading scummremastered.zip
2022-11-29 01:05:31 +01:00
Vladimir Serbinenko c60281b3d0 COMMON: Fix crc calculation with reflected messages 2022-11-29 01:05:31 +01:00
Vladimir Serbinenko b63160a06e COMMON: Remove unused functions in unzip 2022-11-29 01:05:31 +01:00
elasota 78d26927a8 COMMON: Add functions to get Mac Finder metadata such as type/creator codes. 2022-11-29 00:25:50 +01:00
Cameron Cawley c4526bf158 COMMON: Mark SeekableSubReadStreamEndian as deprecated 2022-11-29 00:06:49 +01:00
Cameron Cawley 309088dfb2 COMMON: Add WARN_DEPRECATED 2022-11-29 00:06:49 +01:00
Cameron Cawley b67de44eb8 COMMON: Add SeekableReadStreamEndianWrapper 2022-11-29 00:06:49 +01:00
Vladimir Serbinenko 93efb9b8c5 COMMON: Allow DisposablePtr to be backed by SharedPtr
Currently DisposablePtr allows to transparently switch between raw
pointer and ScopedPtr semantics. Add a possibility to have SharedPtr
semantics as well.
2022-11-28 18:41:30 +01:00
Vladimir Serbinenko 68452ef2e7 COMMON: Kill disownPtr and getDispose from DisposablePtr
They unnecessarily expose internal details

Their only user has been eliminated in the previous commit
2022-11-28 18:41:30 +01:00
Vladimir Serbinenko 02f1759f73 COMMON: Add functions to dynamically cast DisposablePtr 2022-11-28 18:41:30 +01:00
Vladimir Serbinenko 8d722dc3c1 COMMON: Add DisposablePtr constructor with move semantics
This allows easy move from one DisposablePtr to another
2022-11-28 18:41:30 +01:00
Vladimir Serbinenko ba10a93d99 COMMON: Support multivolume arj archives 2022-11-28 00:25:05 +01:00
Sergio d136a5f54c COMMON: fix String::rfind for default value of pos (max value of size_t) 2022-11-26 23:13:42 +02:00
Eugene Sandulenko 9fda7aa12a COMMON: Fix warning 2022-11-24 00:19:27 +01:00
Eugene Sandulenko 0a4580a34c COMMON: Add missing override keyword 2022-11-24 00:18:37 +01:00
Donovan Watteau 8caa8db4ba COMMON: Drop register from common/gzio.cpp
Deprecated in C++11, incompatible with C++17.
2022-11-23 14:13:48 +01:00