Commit Graph
42 Commits
Author SHA1 Message Date
Eugene Sandulenko 7f4c0c9391 JANITORIAL: Remove trailing whitepaces 2023-09-19 15:16:20 +02:00
elasota 63b01f5e85 COMMON: Strip trailing slashes from ZipArchive directories and improve directory detection. Add support for listChildren and isDirectory. 2023-09-17 19:17:33 +02:00
elasota 9892bedc61 COMMON: Add createReadStreamForAltStream to open Mac resource fork and metadata streams 2023-08-30 00:31:00 +02:00
Le Philousophe 2f7c2149e5 COMMON: Remove useless inflateZlib function
To write on stream it's simpler to use wrapCompressedReadStream and
writeStream function.
2023-08-28 21:49:03 +02:00
Le Philousophe 5bdd9e6f50 ALL: Unify zlib and gzio API
zlib is used when available and falls back on gzio.
This allows performance improvements as our CRC32 and gzio
implementations are slower than base zlib.
As zlib is available when libpng is present, this is sensible to
benefit from it.
2023-08-28 21:49:03 +02:00
Le Philousophe be3eb09753 COMMON: Allow GZipReadStream to work on data in the middle of stream 2023-08-28 21:49:03 +02:00
Le Philousophe 191bde03ad COMMON: Use memcpy instead of memmove
memove was used although the buffers were not overlapping.
Using memcpy allows for better optimizations by compiler.
2023-08-28 21:49:03 +02:00
Le Philousophe 5edf74d8a6 COMMON: Cleanup flags defines
In addition, use flags from RFC and not from (really) old gzip
implementations.
2023-08-28 21:49:03 +02:00
Le Philousophe b5e3173b10 COMMON: Fix inflateZlibHeaderless name
The function takes a stream beginning with zlib header unlike the name
suggests.
inflateInit expects to parse a zlib header.
2023-08-28 21:49:03 +02:00
elasota b8acbe6bee COMMON: Archive path refactoring, add getFileName and getPathInArchive that unambiguously return the filename or the full path 2023-07-19 18:51:37 +02:00
elasota eda8c2698f COMMON: Fix incorrect StuffIt directory paths 2023-06-21 08:26:28 +03:00
elasota b9175e1810 COMMON: Fix up comments 2023-06-19 21:59:24 +03:00
elasota 8cb45fe696 COMMON: Update comment to explain buggy normalization behavior more clearly 2023-06-19 21:59:24 +03:00
elasota 8ce2ffd68b COMMON: Move Gentee Installer from V-Cruise to Common 2023-06-19 21:59:24 +03:00
elasota 654f7fd8d0 COMMON: Add comments on usage 2023-06-19 08:45:32 +03:00
elasota 907252ecbd COMMON: Return correct path separator for InstallShieldV3 2023-06-19 08:45:32 +03:00
elasota e53d2ec594 COMMON: Add "getPathSeparator" to Archive and return ":" for Mac archive formats 2023-06-19 08:45:32 +03:00
elasota 7be3c8f602 COMMON: Add "flattenTree" param to createStuffItArchive and preserve directory structure by default 2023-06-19 08:45:32 +03:00
Kaloyan Chehlarski d99d325747 COMMON: Detect obfuscated and invalid files in InstallShield cabs
Files marked as invalid are now ignored in all IS versions. Trying to
extract an obfuscated file now results in a warning instead of just failing.
2023-04-09 13:02:30 +02:00
Kaloyan Chehlarski ba11cf87cd COMMON: Fix incorrectly marked split files in InstallShield cabinets 2023-04-09 13:02:30 +02:00
Kaloyan Chehlarski 6efa793a25 COMMON: Fix InstallShield v5 file list reading
Fixed the InstallShield archive code to correctly load the file list in
multi-cabinet v5 archives.
2023-04-09 13:02:30 +02:00
Kaloyan Chehlarski 9fb08caa4e COMMON: Upgrade InstallShield archive code
Added support for files split across volumes, and for multi-volume
v5 archives to the InstallShield cabfile code.
2023-04-09 13:02:30 +02:00
Eugene Sandulenko a542d6cad7 COMMON: Comment out unused variable 2023-03-17 16:58:44 +01:00
Vladimir Serbinenko f513d6eee9 COMMON: Support patching clickteam installer and version used by PRCA 2023-03-13 20:17:33 +01:00
Vladimir Serbinenko 5b3fe1d916 COMMON: Error-out on an invalid clickteam compressed block 2023-03-13 20:17:33 +01:00
Miro Kropacek a359ee1316 COMMON: Fix build when zlib not present 2023-03-04 23:38:42 +01:00
Filippos Karapetis fc20af02d9 COMMON: Improve CRC16 error messages in Stuffit 2023-02-12 16:56:44 +02:00
Vladimir Serbinenko 2d3514d13f COMMON: Check CRC16 in Stuffit 2023-02-12 16:56:44 +02:00
Eugene Sandulenko 1039667a08 JANIRORIAL: Reduce header dependency 2023-02-10 23:51:13 +01:00
Vladimir Serbinenko 600f33bccf COMMON: Allow unzip to flatten tree structure
It's easier to some games to ignore directories
2023-01-15 19:22:34 +01:00
Vladimir Serbinenko 30717496ce COMMON: Allow unarj to flatten tree structure
It's easier to some games to ignore directories
2023-01-15 19:22:34 +01: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
Cameron Cawley fd123d6679 COMMON: Split compression and formats into separate modules 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 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
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
Eugene Sandulenko fb7095f5a4 COMMON: Move all compression-related files to a separate directory 2022-12-01 11:53:02 +01:00