{"id":19320201,"url":"https://github.com/widberg/imzouna","last_synced_at":"2026-05-16T15:33:22.013Z","repository":{"id":155662637,"uuid":"620539587","full_name":"widberg/ImZouna","owner":"widberg","description":"ImHex patterns for Zouna data structures.","archived":false,"fork":false,"pushed_at":"2026-03-11T01:49:28.000Z","size":1070,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-02T06:58:11.274Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/widberg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-03-28T22:12:25.000Z","updated_at":"2026-03-11T01:49:33.000Z","dependencies_parsed_at":"2023-10-14T22:25:18.851Z","dependency_job_id":"b85dbddc-901d-4189-bbf2-72bde4de9003","html_url":"https://github.com/widberg/ImZouna","commit_stats":null,"previous_names":["widberg/imzouna"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/widberg/ImZouna","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widberg%2FImZouna","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widberg%2FImZouna/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widberg%2FImZouna/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widberg%2FImZouna/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/widberg","download_url":"https://codeload.github.com/widberg/ImZouna/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widberg%2FImZouna/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33108167,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T01:27:47.464Z","updated_at":"2026-05-16T15:33:21.997Z","avatar_url":"https://github.com/widberg.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ImZouna\r\n\r\n[ImHex](https://imhex.werwolv.net/) patterns for Zouna data structures.\r\n\r\n\u003csup\u003eThis repository is a relative of the main [FMTK repository](https://github.com/widberg/fmtk).\u003c/sup\u003e\r\n\r\nSee also: [zouna-templates-docs](https://github.com/SabeMP/zouna-templates-docs)\r\n\r\n## Table of Contents\r\n\r\n### Hex Patterns\r\n\r\n#### Common\r\n\r\n| Name       | MIME | Path                                                       |\r\n|------------|------|------------------------------------------------------------|\r\n| Bff Header |      | [`includes/bff_header.hexpat`](includes/bff_header.hexpat) |\r\n| Zouna      |      | [`includes/zouna.hexpat`](includes/zouna.hexpat)           |\r\n\r\n#### BigFile\r\n\r\n| Year | Game                                                                                        | Format     | Pattern                                                                             |\r\n|------|---------------------------------------------------------------------------------------------|------------|------------------------------------------------------------------------------------|\r\n| 2002 | Jimmy Neutron: Boy Genius - BigSky                                                          | Kalisto    | [`patterns/ducks/DPC.hexpat`](patterns/ducks/DPC.hexpat)                           |\r\n|      | SpongeBob SquarePants: Revenge of the Flying Dutchman - BigSky                              | Kalisto    | [`patterns/ducks/DPC.hexpat`](patterns/ducks/DPC.hexpat)                           |\r\n|      | Spirits \u0026 Spells (Castleween) (Mahou no Pumpkin) - Wanadoo                                  | Kalisto    | [`patterns/ducks/DPC.hexpat`](patterns/ducks/DPC.hexpat)                           |\r\n| 2003 | Super Farm - Asobo                                                                          | Asobo1     | [`patterns/ducks/DPC.hexpat`](patterns/ducks/DPC.hexpat)                           |\r\n| 2004 | Sitting Ducks - Asobo                                                                       | Asobo1     | [`patterns/ducks/DPC.hexpat`](patterns/ducks/DPC.hexpat)                           |\r\n|      | The Mummy: The Animated Series - Asobo                                                      | Asobo1     | [`patterns/ducks/DPC.hexpat`](patterns/ducks/DPC.hexpat)                           |\r\n| 2005 | CT Special Forces: Fire for Effect (Nemesis Strike) - Asobo                                 | Asobo2     | [`patterns/garfield/DPC.hexpat`](patterns/garfield/DPC.hexpat)                     |\r\n|      | Ratatouille (Prototype) - Asobo                                                             | Asobo2     | [`patterns/garfield/DPC.hexpat`](patterns/garfield/DPC.hexpat)                     |\r\n| 2006 | Garfield: A Tail of Two Kitties (Garfield 2) - Asobo                                        | Asobo2     | [`patterns/garfield/DPC.hexpat`](patterns/garfield/DPC.hexpat)                     |\r\n|      | Championsheep Rally - Black Sheep                                                           | BlackSheep | [`patterns/ducks/DPC.hexpat`](patterns/ducks/DPC.hexpat)                           |\r\n| 2007 | Ratatouille - Asobo                                                                         | Asobo3     | [`patterns/fuel/DPC.hexpat`](patterns/fuel/DPC.hexpat)                             |\r\n|      | The Ugly Duckling and Me - Black Sheep                                                      | BlackSheep | [`patterns/ducks/DPC.hexpat`](patterns/ducks/DPC.hexpat)                           |\r\n|      | En Taxi avec Oui-Oui - Black Sheep                                                          | BlackSheep | [`patterns/ducks/DPC.hexpat`](patterns/ducks/DPC.hexpat)                           |\r\n| 2008 | WALL-E - Asobo                                                                              | Asobo3     | [`patterns/fuel/DPC.hexpat`](patterns/fuel/DPC.hexpat)                             |\r\n|      | The Magic Roundabout - Black Sheep                                                          | BlackSheep | [`patterns/ducks/DPC.hexpat`](patterns/ducks/DPC.hexpat)                           |\r\n|      | Shaun White Snowboarding/Shaun White Snowboarding: Road Trip (Prototype) - Ubisoft Montreal | Ubisoft1   | [`patterns/shaunwhite/BFWii_proto.hexpat`](patterns/shaunwhite/BFWii_proto.hexpat) |\r\n|      | Shaun White Snowboarding/Shaun White Snowboarding: Road Trip - Ubisoft Montreal             | Ubisoft2   | [`patterns/shaunwhite/BFWii.hexpat`](patterns/shaunwhite/BFWii.hexpat)             |\r\n|      | Warning: Code De La Route - Black Sheep                                                     | BlackSheep | [`patterns/ducks/DPC.hexpat`](patterns/ducks/DPC.hexpat)                           |\r\n| 2009 | FUEL - Asobo                                                                                | Asobo3     | [`patterns/fuel/DPC.hexpat`](patterns/fuel/DPC.hexpat)                             |\r\n|      | Up - Asobo                                                                                  | Asobo3     | [`patterns/fuel/DPC.hexpat`](patterns/fuel/DPC.hexpat)                             |\r\n|      | Shaun White Snowboarding: World Stage - Ubisoft Montreal                                    | Ubisoft3   | [`patterns/shaunwhite/BFWii_proto.hexpat`](patterns/shaunwhite/BFWii_proto.hexpat) |\r\n| 2010 | Toy Story 3 - Asobo                                                                         | Asobo3     | [`patterns/fuel/DPC.hexpat`](patterns/fuel/DPC.hexpat)                             |\r\n|      | Racket Sports/Racquet Sports/Racket Sports Party - Asobo                                    | Asobo3     | [`patterns/fuel/DPC.hexpat`](patterns/fuel/DPC.hexpat)                             |\r\n|      | Happy Neuron Academy - Black Sheep                                                          | BlackSheep | [`patterns/ducks/DPC.hexpat`](patterns/ducks/DPC.hexpat)                           |\r\n| 2012 | Kinect Rush: A Disney-Pixar Adventure - Asobo                                               | Asobo4     | [`patterns/monopoly/DPC.hexpat`](patterns/monopoly/DPC.hexpat)                     |\r\n| 2013 | Super Farm (Re-release) - Asobo                                                             | Asobo4     | [`patterns/monopoly/DPC.hexpat`](patterns/monopoly/DPC.hexpat)                     |\r\n| 2014 | Monopoly Plus/Monopoly Deal - Asobo                                                         | Asobo4     | [`patterns/monopoly/DPC.hexpat`](patterns/monopoly/DPC.hexpat)                     |\r\n| 2015 | The Mighty Quest for Epic Loot - Ubisoft Montreal                                           | Ubisoft4   | [`patterns/mqfel/BFPC.hexpat`](patterns/shaunwhite/BFPC.hexpat)                    |\r\n| 2016 | Young Conker - Asobo                                                                        | Asobo4     | [`patterns/monopoly/DPC.hexpat`](patterns/monopoly/DPC.hexpat)                     |\r\n|      | Fragments - Asobo                                                                           | Asobo4     | [`patterns/fragments/DUA.hexpat`](patterns/fragments/DUA.hexpat)                   |\r\n| 2017 | Rush: A Disney-Pixar Adventure (Re-release) - Asobo                                         | Asobo5     | [`patterns/rush/DPC.hexpat`](patterns/rush/DPC.hexpat)                             |\r\n|      | Monopoly Plus/Monopoly Deal/Monopoly for Nintendo Switch (Re-release) - Asobo               | Asobo4     | [`patterns/monopoly/DPC.hexpat`](patterns/monopoly/DPC.hexpat)                     |\r\n| 2019 | A Plague Tale: Innocence - Asobo                                                            | Asobo6     | [`patterns/apti/DPC.hexpat`](patterns/apti/DPC.hexpat)                             |\r\n| 2020 | Microsoft Flight Simulator - Asobo                                                          | Asobo7     | [`patterns/msfs/DPC.hexpat`](patterns/msfs/DPC.hexpat)                             |\r\n| 2022 | A Plague Tale: Requiem - Asobo                                                              | Asobo8     | [`patterns/aptr/DPC.hexpat`](patterns/aptr/DPC.hexpat)                             |\r\n| 2024 | Microsoft Flight Simulator 2024 - Asobo                                                     | ??????     |                                                                                    |\r\n\r\n#### Ratatouille\r\n\r\n| Name | MIME | Path                                                     |\r\n|------|------|----------------------------------------------------------|\r\n| AIF  |      | [`patterns/walle/AIF.hexpat`](patterns/walle/AIF.hexpat) |\r\n| SDX  |      | [`patterns/walle/SDX.hexpat`](patterns/walle/SDX.hexpat) |\r\n| VAI  |      | [`patterns/rat/VAI.hexpat`](patterns/rat/VAI.hexpat)     |\r\n\r\n#### WALL-E\r\n\r\n| Name | MIME | Path                                                     |\r\n|------|------|----------------------------------------------------------|\r\n| AIF  |      | [`patterns/walle/AIF.hexpat`](patterns/walle/AIF.hexpat) |\r\n| JOE  |      | [`patterns/walle/JOE.hexpat`](patterns/walle/JOE.hexpat) |\r\n| SDX  |      | [`patterns/walle/SDX.hexpat`](patterns/walle/SDX.hexpat) |\r\n\r\n#### FUEL\r\n\r\n| Name            | MIME                           | Path                                                                           |\r\n|-----------------|--------------------------------|--------------------------------------------------------------------------------|\r\n| Animation_Z     | application/x-animation-z      | [`patterns/fuel/Animation_Z.hexpat`](patterns/fuel/Animation_Z.hexpat)         |\r\n| Binary_Z        | application/x-binary-z         | [`patterns/fuel/Binary_Z.hexpat`](patterns/fuel/Binary_Z.hexpat)               |\r\n| Bitmap_Z        | application/x-bitmap-z         | [`patterns/fuel/Bitmap_Z.hexpat`](patterns/fuel/Bitmap_Z.hexpat)               |\r\n| Camera_Z        | application/x-camera-z         | [`patterns/fuel/Camera_Z.hexpat`](patterns/fuel/Camera_Z.hexpat)               |\r\n| CollisionVol_Z  | application/x-collision-vol-z  | [`patterns/fuel/CollisionVol_Z.hexpat`](patterns/fuel/CollisionVol_Z.hexpat)   |\r\n| Fonts_Z         | application/x-fonts-z          | [`patterns/fuel/Fonts_Z.hexpat`](patterns/fuel/Fonts_Z.hexpat)                 |\r\n| GameObj_Z       | application/x-game-obj-z       | [`patterns/fuel/GameObj_Z.hexpat`](patterns/fuel/GameObj_Z.hexpat)             |\r\n| GenWorld_Z      | application/x-gen-world-z      | [`patterns/fuel/GenWorld_Z.hexpat`](patterns/fuel/GenWorld_Z.hexpat)           |\r\n| GwRoad_Z        | application/x-gw-road-z        | [`patterns/fuel/GwRoad_Z.hexpat`](patterns/fuel/GwRoad_Z.hexpat)               |\r\n| LightData_Z     | application/x-light-data-z     | [`patterns/fuel/LightData_Z.hexpat`](patterns/fuel/LightData_Z.hexpat)         |\r\n| Lod_Z           | application/x-lod-z            | [`patterns/fuel/Lod_Z.hexpat`](patterns/fuel/Lod_Z.hexpat)                     |\r\n| LodData_Z       | application/x-lod-data-z       | [`patterns/fuel/LodData_Z.hexpat`](patterns/fuel/LodData_Z.hexpat)             |\r\n| Material_Z      | application/x-material-z       | [`patterns/fuel/Material_Z.hexpat`](patterns/fuel/Material_Z.hexpat)           |\r\n| MaterialAnim_Z  | application/x-material-anim-z  | [`patterns/fuel/MaterialAnim_Z.hexpat`](patterns/fuel/MaterialAnim_Z.hexpat)   |\r\n| MaterialObj_Z   | application/x-material-obj-z   | [`patterns/fuel/MaterialObj_Z.hexpat`](patterns/fuel/MaterialObj_Z.hexpat)     |\r\n| Mesh_Z          | application/x-mesh-z           | [`patterns/fuel/Mesh_Z.hexpat`](patterns/fuel/Mesh_Z.hexpat)                   |\r\n| MeshData_Z      | application/x-mesh-data-z      | [`patterns/fuel/MeshData_Z.hexpat`](patterns/fuel/MeshData_Z.hexpat)           |\r\n| Node_Z          | application/x-node-z           | [`patterns/fuel/Node_Z.hexpat`](patterns/fuel/Node_Z.hexpat)                   |\r\n| Omni_Z          | application/x-omni-z           | [`patterns/fuel/Omni_Z.hexpat`](patterns/fuel/Omni_Z.hexpat)                   |\r\n| Particles_Z     | application/x-particles-z      | [`patterns/fuel/Particles_Z.hexpat`](patterns/fuel/Particles_Z.hexpat)         |\r\n| ParticlesData_Z | application/x-particles-data-z | [`patterns/fuel/ParticlesData_Z.hexpat`](patterns/fuel/ParticlesData_Z.hexpat) |\r\n| RotShape_Z      | application/x-rot-shape-z      | [`patterns/fuel/RotShape_Z.hexpat`](patterns/fuel/RotShape_Z.hexpat)           |\r\n| RotShapeData_Z  | application/x-rot-shape-data-z | [`patterns/fuel/RotShapeData_Z.hexpat`](patterns/fuel/RotShapeData_Z.hexpat)   |\r\n| Rtc_Z           | application/x-rtc-z            | [`patterns/fuel/Rtc_Z.hexpat`](patterns/fuel/Rtc_Z.hexpat)                     |\r\n| Skel_Z          | application/x-skel-z           | [`patterns/fuel/Skel_Z.hexpat`](patterns/fuel/Skel_Z.hexpat)                   |\r\n| Skin_Z          | application/x-skin-z           | [`patterns/fuel/Skin_Z.hexpat`](patterns/fuel/Skin_Z.hexpat)                   |\r\n| Sound_Z         | application/x-sound-z          | [`patterns/fuel/Sound_Z.hexpat`](patterns/fuel/Sound_Z.hexpat)                 |\r\n| Spline_Z        | application/x-spline-z         | [`patterns/fuel/Spline_Z.hexpat`](patterns/fuel/Spline_Z.hexpat)               |\r\n| SplineGraph_Z   | application/x-spline-graph-z   | [`patterns/fuel/SplineGraph_Z.hexpat`](patterns/fuel/SplineGraph_Z.hexpat)     |\r\n| Surface_Z       | application/x-surface-z        | [`patterns/fuel/Surface_Z.hexpat`](patterns/fuel/Surface_Z.hexpat)             |\r\n| SurfaceDatas_Z  | application/x-surface-datas-z  | [`patterns/fuel/SurfaceDatas_Z.hexpat`](patterns/fuel/SurfaceDatas_Z.hexpat)   |\r\n| UserDefine_Z    | application/x-user-define-z    | [`patterns/fuel/UserDefine_Z.hexpat`](patterns/fuel/UserDefine_Z.hexpat)       |\r\n| Warp_Z          | application/x-warp-z           | [`patterns/fuel/Warp_Z.hexpat`](patterns/fuel/Warp_Z.hexpat)                   |\r\n| World_Z         | application/x-world-z          | [`patterns/fuel/World_Z.hexpat`](patterns/fuel/World_Z.hexpat)                 |\r\n| WorldRef_Z      | application/x-world-ref-z      | [`patterns/fuel/WorldRef_Z.hexpat`](patterns/fuel/WorldRef_Z.hexpat)           |\r\n\r\n### A Plague Tale: Innocence\r\n\r\n| Name             | MIME | Path                                                                             |\r\n|------------------|------|----------------------------------------------------------------------------------|\r\n| psc              |      | [`patterns/apti/psc.hexpat`](patterns/apti/psc.hexpat)                           |\r\n| psc_data         |      | [`patterns/apti/psc_data.hexpat`](patterns/apti/psc_data.hexpat)                 |\r\n| StreamSoundNames |      | [`patterns/apti/StreamSoundNames.hexpat`](patterns/apti/StreamSoundNames.hexpat) |\r\n| WwiseIDs         |      | [`patterns/apti/WwiseIDs.hexpat`](patterns/apti/WwiseIDs.hexpat)                 |\r\n\r\n### Shaun White\r\n\r\n| Name         | MIME | Path                                                                               |\r\n|--------------|------|------------------------------------------------------------------------------------|\r\n| CPS          |      | [`patterns/shaunwhite/CPS.hexpat`](patterns/shaunwhite/CPS.hexpat)                 |\r\n| CPSScript    |      | [`patterns/shaunwhite/CPSScript.hexpat`](patterns/shaunwhite/CPSScript.hexpat)     |\r\n| Gear BigFile |      | [`patterns/shaunwhite/GearBigFile.hexpat`](patterns/shaunwhite/GearBigFile.hexpat) |\r\n\r\n### The Mighty Quest for Epic Loot\r\n\r\n| Name           | MIME | Path                                                                           |\r\n|----------------|------|--------------------------------------------------------------------------------|\r\n| SettingsBin    |      | [`patterns/mqfel/SettingsBin.hexpat`](patterns/mqfel/SettingsBin.hexpat)       |\r\n| StreamingAudio |      | [`patterns/mqfel/StreamingAudio.hexpat`](patterns/mqfel/StreamingAudio.hexpat) |\r\n\r\n### Scripts\r\n\r\n| Name      | Path                                           | Description                                                    |\r\n|-----------|------------------------------------------------|----------------------------------------------------------------|\r\n| catalogue | [`scripts/catalogue.py`](scripts/catalogue.py) | Update the README with known BigFiles                          |\r\n| converge  | [`scripts/converge.py`](scripts/converge.py)   | Copy unique BigFiles for testing                               |\r\n| jsonify   | [`scripts/jsonify.py`](scripts/jsonify.py)     | Generates a JSON file from a binary file                       |\r\n| submit    | [`scripts/submit.py`](scripts/submit.py)       | Copy BigFiles from a game directory to the repository          |\r\n| validate  | [`scripts/validate.py`](scripts/validate.py)   | Runs the patterns against all files in a directory recursively |\r\n| cps       | [`scripts/cps.py`](scripts/cps.py)             | Decrypt cps files                                              |\r\n\r\n### Pattern Libraries\r\n\r\n| Name  | Path                                             | Description   |\r\n|-------|--------------------------------------------------|---------------|\r\n| zouna | [`includes/zouna.hexpat`](includes/zouna.hexpat) | Zouna Library |\r\n\r\n### Magic files\r\n\r\n| Name  | Path                                     | Description                                |\r\n|-------|------------------------------------------|--------------------------------------------|\r\n| Zouna | [`magic/zouna_magic`](magic/zouna_magic) | Identifies common file types used in Zouna |\r\n\r\n## Getting Started\r\n\r\n### Prerequisites\r\n\r\n* [ImHex](https://imhex.werwolv.net/) \u003e= v1.31.0\r\n\r\n### Checkout\r\n\r\n```sh\r\ngit clone https://github.com/widberg/ImZouna.git\r\n```\r\n\r\n### Usage\r\n\r\nAdd the `ImZouna` directory to ImHex `Help -\u003e Settings -\u003e Folders -\u003e +`. Install the \"Std\" and \"Type\" ImHex libraries from `Help -\u003e Content Store -\u003e Libraries`.\r\n\r\n### Validate/JSONify\r\n\r\nThe 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.\r\n\r\n### Submit\r\n\r\nThe `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.\r\n\r\n### Catalogue\r\n\r\nA list of BigFile paths and their hashes can be generated with the `catalogue` script and found in the [bigfile_hashes.csv file](bigfile_hashes.csv).\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwidberg%2Fimzouna","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwidberg%2Fimzouna","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwidberg%2Fimzouna/lists"}