Skip to content

Latest commit

 

History

History

redhorizon-classic

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Red Horizon - Classic

Maven Central

A module that bridges the classic C&C file formats for use with the Red Horizon engine. All of the reverse engineering of the old codecs and files takes place here, and serve as working examples for other programmers.

Installation

Requires Java 17 on macOS 10.15 Catalina and newer, or Windows 10 64-bit and newer.

For Maven and Maven-compatible dependency managers

Add a dependency to your project with the following co-ordinates:

  • GroupId: nz.net.ultraq.redhorizon
  • ArtifactId: redhorizon-classic

Check the project releases for a list of available versions. Each release page also includes a downloadable JAR if you want to manually add it to your project classpath.

Codecs

The codecs (encoders/decoders) implemented in this module:

  • IMAADPCM_16bit: An IMA-ADPCM compression scheme for 16-bit audio.
  • LCW: "Lempel–Castle–Welch" compression, Westwood's response to Unisys enforcing their patent on "Lempel–Ziv–Welch" compression (though it doesn't resemble it), formerly known as "Format80".
  • PackData: A combination of Base64 and LCW, used in the *pack data sections of C&C map files.
  • RLEZero: A form of run-length encoding that only compresses runs of 0s.
  • RunLengthEncoding: A simple compression scheme in which repeated data is compressed to the data and how often it should be repeated.
  • WSADPCM_8bit: A custom 8-bit ADPCM compression scheme developed by Westwood.
  • XORDelta: A custom compression scheme, similar to LCW but taking into account a set of base data on which to XOR over to get the final output. Formerly known as "Format40".

Filetypes

The older file formats implemented in this module and found in the filetypes package:

  • AUD: The sound format used by the classic C&C games.
  • CPS: A 320x200 image file format used lightly in Tiberium Dawn.
  • MIX: A package format, MIX files hold several other files in an uncompressed form.
  • PAL: A standard colour table format used by most programs of the era.
  • SHP: "Shape"(?) files, contain the images that comprise a unit or structure.
  • TMP: "Template" file for map tiles.
  • VQA: Full motion video file for briefing videos and cutscenes.
  • WSA: Full screen animations, contain no sound.