HSB Format (Halloween Harry)

From ModdingWiki
Jump to navigation Jump to search
HSB Format (Halloween Harry)
HSB Format (Halloween Harry).png
Format typeTileset
HardwareVGA
Max tile countUnlimited
PaletteShared VGA
Tile names?No
Minimum tile size (pixels)0×0
Maximum tile size (pixels)65535×65535
Plane count1
Plane arrangementLinear VGA
Transparent pixels?Yes
Hitmap pixels?No
Metadata?None
Supports sub-tilesets?No
Compressed tiles?No
Hidden data?No
Games

HARRY.HSB is the sprite file used by Halloween Harry and holds all of the sprites used by the game. The format is trivial, being a collection of sprite chunks. Each sprite chunk has an 8 byte header followed by raw data.

Signature

The file has no signature, however the chunk headers can be parsed and checked to make sure the end of the last chunk aligns perfectly with the end of the file. It is unlikely this would result in incorrect identification of a file.

File format

Each image consists of an eight byte header followed by raw image data, repeated until the end of the file. The image data is for a 256 color sprite, meaning one byte of data per pixel.

Data type Description
UINT8 unk1 ! Unknown - unused by game
UINT8 unk2 ! Unknown - unused by game
UINT16LE unk3 ! Unknown - unused by game
UINT16LE width Image width, in pixels
UINT16LE height Image height, in pixels
BYTE data[width * height] Image data in Linear VGA format (raw 8bpp)

Palette

Each map file (found in MAPS.-0) has its own palette data (see the article on the GMF Format for information). This palette is used to draw both the tile art and the sprites for that level.

Colour index 0 is used to denote transparent pixels.

Versions

At present only one version of the file is known of length 462,848 bytes containing 467 sprite images.

Unresolved issues

It is still unknown how the game determines the placement of sprites. I suspect the 'unknown' bytes listed above are used in conjunction with the map file, but I haven't been able to verify that yet.

Content

I was able to extract 467 sprite images from HARRY.HSB. Some of these are 1 pixel high and 1 pixel wide. I don't know the purpose of these 1x1 images yet. These may separate different groups of sprites, or they may simply be slots unused or reserved by the developers.

Tools

The following tools are able to work with files in this format.

Name PlatformView images in this format? Convert/export to another file/format? Import from another file/format? Access hidden data? Edit metadata? Notes
Camoto Linux/WindowsYesYesYesN/AN/A

Credits

This file format was reverse engineered by Duckthing. If you find this information helpful in a project you're working on, please give credit where credit is due. (A link back to this wiki would be nice too!)