Formats/Common:Refpack: Difference between revisions

From SSX Modding Wiki
(Created page with "RefPack is a LZSS-like compression algorithm written by Frank Barchard, and used in many EA file formats. [https://github.com/GlitcherOG/SSX-Collection-Multitool/blob/main/FileHandlers/RefpackHandler.cs Refpack handler C# by GlitcherOG] [https://github.com/SSXModding/bigfile/blob/master/src/bigfile/RefPack.cpp RefPack C++ by modeco80] ==== Magic ==== RefPack often manifests itself starting with a magic `0x10FB` {| class="wikitable" |+ !Byte !Meaning |- |`0x10` |Flags...")
 
m (C&C implementation was modified and partially rewritten in C++. The original is C and can be found in the PGA Tour '97 source code.)
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
RefPack is a LZSS-like compression algorithm written by Frank Barchard, and used in many EA file formats.
RefPack is a LZSS-like compression algorithm written by Frank Barchard, and used in many EA file formats.


=== Refpack Implementation ===
[https://github.com/GlitcherOG/SSX-Collection-Multitool/blob/main/FileHandlers/RefpackHandler.cs Refpack handler C# by GlitcherOG]
[https://github.com/GlitcherOG/SSX-Collection-Multitool/blob/main/FileHandlers/RefpackHandler.cs Refpack handler C# by GlitcherOG]


[https://github.com/SSXModding/bigfile/blob/master/src/bigfile/RefPack.cpp RefPack C++ by modeco80]
[https://github.com/SSXModding/bigfile/blob/master/src/bigfile/RefPack.cpp RefPack C++ by modeco80]

[https://docs.rs/refpack/latest/refpack/ Refpack Rust Implementation]

[https://github.com/gibbed/Gibbed.RefPack Refpack C# Implementation by Gibbed]

[https://github.com/SsxMapper/SSXandTrickyMapExtractor/blob/main/convertbigfiles.py Refpack Python Big Extraction by SSX Mapper]

[http://wiki.niotso.org/RefPack Sims Online Refpack Implementation]

[http://download.wcnews.com/files/documents/sourcecode/shadowforce/transfer/asommers/mfcapp_src/engine/compress/ C&C Shockforce Refpack C++ Implementation]

=== File Overview ===


==== Magic ====
==== Magic ====

Latest revision as of 23:44, 16 June 2023

RefPack is a LZSS-like compression algorithm written by Frank Barchard, and used in many EA file formats.

Refpack Implementation

Refpack handler C# by GlitcherOG

RefPack C++ by modeco80

Refpack Rust Implementation

Refpack C# Implementation by Gibbed

Refpack Python Big Extraction by SSX Mapper

Sims Online Refpack Implementation

C&C Shockforce Refpack C++ Implementation

File Overview

Magic

RefPack often manifests itself starting with a magic `0x10FB`

Byte Meaning
`0x10` Flags
`0xFB` Frank Barchard.

The Uint24 after this magic contains the decompressed size. After this is the LZSS bitstream.

Bitstream Documentation

Coming Soon!

Quit bugging me!