/ImZouna

ImHex patterns for Zouna data structures.

Primary LanguagePythonMIT LicenseMIT

ImZouna

ImHex patterns for Zouna data structures.

This repository is a relative of the main FMTK repository.

See also: zouna-templates-docs

Table of Contents

Hex Patterns

BigFile

Year Game Format
2002 Jimmy Neutron: Boy Genius - BigSky patterns/ducks/DPC.hexpat
SpongeBob SquarePants: Revenge of the Flying Dutchman - BigSky patterns/ducks/DPC.hexpat
Spirits & Spells (Castleween) (Mahou no Pumpkin) - Wanadoo patterns/ducks/DPC.hexpat
2003 Super Farm - Asobo patterns/ducks/DPC.hexpat
2004 Sitting Ducks - Asobo patterns/ducks/DPC.hexpat
The Mummy: The Animated Series - Asobo patterns/ducks/DPC.hexpat
2005 CT Special Forces: Fire for Effect (Nemesis Strike) - Asobo patterns/garfield/DPC.hexpat
Ratatouille (Prototype) - Asobo patterns/garfield/DPC.hexpat
2006 Garfield: A Tail of Two Kitties (Garfield 2) - Asobo patterns/garfield/DPC.hexpat
Championsheep Rally - Black Sheep patterns/ducks/DPC.hexpat
2007 Ratatouille - Asobo patterns/fuel/DPC.hexpat
The Ugly Duckling and Me - Black Sheep patterns/ducks/DPC.hexpat
En Taxi avec Oui-Oui - Black Sheep patterns/ducks/DPC.hexpat
2008 WALL-E - Asobo patterns/fuel/DPC.hexpat
The Magic Roundabout - Black Sheep patterns/ducks/DPC.hexpat
Shaun White Snowboarding/Shaun White Snowboarding: Road Trip (Prototype) - Ubisoft Montreal patterns/shaunwhite/BFWii_proto.hexpat
Shaun White Snowboarding/Shaun White Snowboarding: Road Trip - Ubisoft Montreal patterns/shaunwhite/BFWii.hexpat
Warning: Code De La Route - Black Sheep patterns/ducks/DPC.hexpat
2009 FUEL - Asobo patterns/fuel/DPC.hexpat
Up - Asobo patterns/fuel/DPC.hexpat
Shaun White Snowboarding: World Stage - Ubisoft Montreal patterns/shaunwhite/BFWii_proto.hexpat
2010 Toy Story 3 - Asobo patterns/fuel/DPC.hexpat
Racket Sports/Racquet Sports/Racket Sports Party - Asobo patterns/fuel/DPC.hexpat
Happy Neuron Academy - Black Sheep patterns/ducks/DPC.hexpat
2012 Kinect Rush: A Disney-Pixar Adventure - Asobo patterns/monopoly/DPC.hexpat
2013 Super Farm (Re-release) - Asobo patterns/monopoly/DPC.hexpat
2014 Monopoly Plus/Monopoly Deal - Asobo patterns/monopoly/DPC.hexpat
2015 The Mighty Quest for Epic Loot - Ubisoft Montreal patterns/mqfel/BFPC.hexpat
2016 Young Conker - Asobo patterns/monopoly/DPC.hexpat
Fragments - Asobo patterns/fragments/DUA.hexpat
2017 Rush: A Disney-Pixar Adventure (Re-release) - Asobo patterns/rush/DPC.hexpat
Monopoly Plus/Monopoly Deal/Monopoly for Nintendo Switch (Re-release) - Asobo patterns/monopoly/DPC.hexpat
2019 A Plague Tale: Innocence - Asobo patterns/apti/DPC.hexpat
2020 Microsoft Flight Simulator - Asobo patterns/msfs/DPC.hexpat
2022 A Plague Tale: Requiem - Asobo patterns/aptr/DPC.hexpat

Ratatouille

Name MIME Path
AIF patterns/walle/AIF.hexpat
SDX patterns/walle/SDX.hexpat
VAI patterns/rat/VAI.hexpat

WALL-E

Name MIME Path
AIF patterns/walle/AIF.hexpat
JOE patterns/walle/JOE.hexpat
SDX patterns/walle/SDX.hexpat

FUEL

Name MIME Path
Animation_Z application/x-animation-z patterns/fuel/Animation_Z.hexpat
Binary_Z application/x-binary-z patterns/fuel/Binary_Z.hexpat
Bitmap_Z application/x-bitmap-z patterns/fuel/Bitmap_Z.hexpat
Camera_Z application/x-camera-z patterns/fuel/Camera_Z.hexpat
CollisionVol_Z application/x-collision-vol-z patterns/fuel/CollisionVol_Z.hexpat
Fonts_Z application/x-fonts-z patterns/fuel/Fonts_Z.hexpat
GameObj_Z application/x-game-obj-z patterns/fuel/GameObj_Z.hexpat
GenWorld_Z application/x-gen-world-z patterns/fuel/GenWorld_Z.hexpat
GwRoad_Z application/x-gw-road-z patterns/fuel/GwRoad_Z.hexpat
LightData_Z application/x-light-data-z patterns/fuel/LightData_Z.hexpat
Lod_Z application/x-lod-z patterns/fuel/Lod_Z.hexpat
LodData_Z application/x-lod-data-z patterns/fuel/LodData_Z.hexpat
Material_Z application/x-material-z patterns/fuel/Material_Z.hexpat
MaterialAnim_Z application/x-material-anim-z patterns/fuel/MaterialAnim_Z.hexpat
MaterialObj_Z application/x-material-obj-z patterns/fuel/MaterialObj_Z.hexpat
Mesh_Z application/x-mesh-z patterns/fuel/Mesh_Z.hexpat
MeshData_Z application/x-mesh-data-z patterns/fuel/MeshData_Z.hexpat
Node_Z application/x-node-z patterns/fuel/Node_Z.hexpat
Omni_Z application/x-omni-z patterns/fuel/Omni_Z.hexpat
Particles_Z application/x-particles-z patterns/fuel/Particles_Z.hexpat
ParticlesData_Z application/x-particles-data-z patterns/fuel/ParticlesData_Z.hexpat
RotShape_Z application/x-rot-shape-z patterns/fuel/RotShape_Z.hexpat
RotShapeData_Z application/x-rot-shape-data-z patterns/fuel/RotShapeData_Z.hexpat
Rtc_Z application/x-rtc-z patterns/fuel/Rtc_Z.hexpat
Skel_Z application/x-skel-z patterns/fuel/Skel_Z.hexpat
Skin_Z application/x-skin-z patterns/fuel/Skin_Z.hexpat
Sound_Z application/x-sound-z patterns/fuel/Sound_Z.hexpat
Spline_Z application/x-spline-z patterns/fuel/Spline_Z.hexpat
SplineGraph_Z application/x-spline-graph-z patterns/fuel/SplineGraph_Z.hexpat
Surface_Z application/x-surface-z patterns/fuel/Surface_Z.hexpat
SurfaceDatas_Z application/x-surface-datas-z patterns/fuel/SurfaceDatas_Z.hexpat
UserDefine_Z application/x-user-define-z patterns/fuel/UserDefine_Z.hexpat
Warp_Z application/x-warp-z patterns/fuel/Warp_Z.hexpat
World_Z application/x-world-z patterns/fuel/World_Z.hexpat
WorldRef_Z application/x-world-ref-z patterns/fuel/WorldRef_Z.hexpat

A Plague Tale: Innocence

Name MIME Path
psc patterns/apti/psc.hexpat
psc_data patterns/apti/psc_data.hexpat

Shaun White

Name MIME Path
CPS patterns/shaunwhite/CPS.hexpat

Scripts

Name Path Description
catalogue scripts/catalogue.py Update the README with known BigFiles
converge scripts/converge.py Copy unique BigFiles for testing
jsonify scripts/jsonify.py Generates a JSON file from a binary file
submit scripts/submit.py Copy BigFiles from a game directory to the repository
validate scripts/validate.py Runs the patterns against all files in a directory recursively
cps scripts/cps.py Decrypt cps files

Pattern Libraries

Name Path Description
zouna includes/zouna.hexpat Zouna Library

Magic files

Name Path Description
Zouna magic/zouna_magic Identifies common file types used in Zouna

Getting Started

Prerequisites

Checkout

git clone https://github.com/widberg/ImZouna.git

Usage

Add the ImZouna directory to ImHex Help -> Settings -> Folders -> +. Install the "Std" and "Type" ImHex libraries from Help -> Content Store -> Libraries.

Validate/JSONify

The scripts expect the ImHex executable to be in your PATH but you can manually specify the path to ImHex using the --imhex option. Run either script with the --help option for more information about that script.

Submit

The bigfiles directory will contain the copied game BigFiles after running the submit script. The path of each BigFile will match the pattern game_name / release_name / bigfile_version_number_normalized / path.relative_to(game_directory). The game_name component will be the name of the game. The release_name will be something like PC_US or XB_JP, this can be arbitrary but should be understandable. The bigfile_version_number_normalized will be the version number component of the version string at the beginning of the BigFile with the .s replaced by _. Finally, the remainder of the path will be the relative path to the BigFile from the root game directory.

Catalogue

A list of BigFile paths and their hashes can be generated with the catalogue script and found in the bigfile_hashes.csv file.