{"id":25866269,"url":"https://github.com/randovania/mercury-engine-data-structures","last_synced_at":"2025-03-02T02:29:09.522Z","repository":{"id":38027782,"uuid":"419453265","full_name":"randovania/mercury-engine-data-structures","owner":"randovania","description":"Construct type definitions for Mercury Engine.","archived":false,"fork":false,"pushed_at":"2024-10-28T23:57:55.000Z","size":6099,"stargazers_count":1,"open_issues_count":18,"forks_count":12,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-29T14:22:30.311Z","etag":null,"topics":["metroid-dread","reverse-engineering"],"latest_commit_sha":null,"homepage":null,"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/randovania.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}},"created_at":"2021-10-20T18:52:10.000Z","updated_at":"2024-10-28T23:57:58.000Z","dependencies_parsed_at":"2023-10-27T10:45:13.548Z","dependency_job_id":"c541f497-1aa1-42fc-894e-884e4568880a","html_url":"https://github.com/randovania/mercury-engine-data-structures","commit_stats":{"total_commits":699,"total_committers":16,"mean_commits":43.6875,"dds":0.4735336194563662,"last_synced_commit":"9ade36c56991355c59de6e3002ec8557a9979cc3"},"previous_names":[],"tags_count":49,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/randovania%2Fmercury-engine-data-structures","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/randovania%2Fmercury-engine-data-structures/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/randovania%2Fmercury-engine-data-structures/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/randovania%2Fmercury-engine-data-structures/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/randovania","download_url":"https://codeload.github.com/randovania/mercury-engine-data-structures/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239735760,"owners_count":19688347,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["metroid-dread","reverse-engineering"],"created_at":"2025-03-02T02:29:09.092Z","updated_at":"2025-03-02T02:29:09.505Z","avatar_url":"https://github.com/randovania.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mercury Engine Data Structures\nConstruct type definitions for Mercury Engine\n\n## Format Support\n\n| Format    | Samus Returns (Read) | Samus Returns (Write) | Dread (Read) | Dread (Write) | Purpose     |\n|-----------|----------------------|-----------------------|--------------|---------------|-------------|\n| BAPD      | Missing              | Missing               | \u0026check;      | \u0026check;       | Audio Preset (positional audio data) |\n| BCCAM     | \u0026cross;              | \u0026cross;               | \u0026cross;      | \u0026cross;       | Camera Animation (used exclusively for cutscene takes) |\n| BCLGT     | \u0026cross;              | \u0026cross;               | Missing      | Missing       | Lighting (?) |\n| BCMDL     | \u0026cross;              | \u0026cross;               | \u0026check;      | \u0026cross;       | 3D Models\t  |\n| BCPTL     | \u0026cross;              | \u0026cross;               | \u0026cross;      | \u0026cross;       | Particle Effect |\n| BCSKLA    | \u0026check;              | \u0026check;               | \u0026check;      | \u0026check;       | Skeleton Animation |\n| BCTEX     | \u0026cross;              | \u0026cross;               | \u0026check;      | \u0026cross;       | Texture File |\n| BCURV     | Missing              | Missing               | \u0026cross;      | \u0026cross;       | CURV (?) |\n| BCUT      | \u0026cross;              | \u0026cross;               | Missing      | Missing       |\tRelated to cutscene files |\n| BCWAV     | \u0026cross;              | \u0026cross;               | Missing      | Missing       | Cafe/Citra Wave (common AAL audio format) |\n| BFGRP     | Missing              | Missing               | \u0026cross;      | \u0026cross;       | Sound WaveGroup (common AAL audio format) |\n| BFONT     | \u0026cross;              | \u0026cross;               | \u0026cross;      | \u0026cross;       | Font File |\n| BFSAR     | Missing              | Missing               | \u0026cross;      | \u0026cross;       | FSAR (?) |\n| BFSTM     | Missing              | Missing               | \u0026cross;      | \u0026cross;       | Common Switch audio format |\n| BGSNDS    | Missing              | Missing               | \u0026check;      | \u0026check;       | BackGround Sounds (?) |\n| BLDEF     | Missing              | Missing               | \u0026check;      | \u0026check;       | Actor Lighting Definition |\n| BLSND     | \u0026check;              | \u0026check;               | \u0026check;      | \u0026check;       | Sounds (?) |\n| BLUT      | Missing              | Missing               | \u0026check;      | \u0026check;       | LookUp Table (used for ADAM animation) |\n| BMBLS     | Missing              | Missing               | \u0026check;      | \u0026check;       | Blend Space |\n| BMDEFS    | \u0026check;              | \u0026check;               | \u0026check;      | \u0026check;       | Music Track Definitions \u0026 Properties\t|\n| BMMAP     | Missing              | Missing               | \u0026check;      | \u0026check;       | MiniMap |\n| BMMDEF    | Missing              | Missing               | \u0026check;      | \u0026check;       | MiniMap Definitions (?) |\n| BMSAD     | \u0026check;              | \u0026check;               | \u0026check;      | \u0026check;       | Actor Definitions\t|\n| BMSAS     | Missing              | Missing               | \u0026check;      | \u0026check;       | Action Sets |\n| BMSAT     | \u0026cross;              | \u0026cross;               | \u0026check;      | \u0026check;       | Animation Tree |\n| BMSBK     | \u0026check;              | \u0026check;               | Missing      | Missing       | Blocks, per Scenario |\n| BMSCC     | \u0026check;              | \u0026check;               | \u0026check;      | \u0026check;       | Collision Cameras\t|\n| BMSCD     | \u0026check;              | \u0026check;               | \u0026check;      | \u0026check;       | Collision Data / Geometry |\n| BMSCP     | Missing              | Missing               | \u0026check;      | \u0026check;       | GUI Composition |\n| BMSCU     | \u0026cross;              | \u0026cross;               | \u0026check;      | \u0026check;       | Cutscene Files |\n| BMSEM     | \u0026check;              | \u0026check;               | Missing      | Missing       | Environment Music |\n| BMSES     | \u0026check;              | \u0026check;               | Missing      | Missing       | Environment Sound |\n| BMSEV     | \u0026cross;              | \u0026cross;               | Missing      | Missing       | Environment Visuals (fx) |\n| BMSLD     | \u0026check;              | \u0026check;               | Missing      | Missing       | Samus Returns scenario entity data |\n| BMSLGROUP | Missing              | Missing               | \u0026check;      | \u0026check;       | SmartLink Group |\n| BMSLINK   | Missing              | Missing               | \u0026check;      | \u0026check;       | SmartLink (actor-specific navmesh paths) |\n| BMSMD     | \u0026check;              | \u0026check;               | Missing      | Missing       | Menu Data (?)\t|\n| BMSMSD    | \u0026check;              | \u0026check;               | Missing      | Missing       | Map Screen Data (?)\t|\n| BMSNAV    | \u0026check;              | \u0026check;               | \u0026check;      | \u0026check;       | Navigation Meshes\t|\n| BMSND     | \u0026cross;              | \u0026cross;               | Missing      | Missing       | Sound (?)   |\n| BMSSA     | \u0026check;              | \u0026check;               | Missing      | Missing       | SubArea Setups (MSR)\t\t\t|\n| BMSSD     | \u0026check;              | \u0026check;               | \u0026check;      | \u0026check;       | Scene Data (scene blocks, objects, msr lighting) |\t\n| BMSSH     | Missing              | Missing               | \u0026check;      | \u0026check;       | GUI Shape |\n| BMSSK     | Missing              | Missing               | \u0026check;      | \u0026check;       | GUI Skin |\n| BMSSS     | Missing              | Missing               | \u0026check;      | \u0026check;       | GUI SpriteSheet |\n| BMSSTOC   | Missing              | Missing               | \u0026cross;      | \u0026cross;       | Sound Table of Contents (links BFSAR sfx to BFGRP files) |\n| BMTRE     | \u0026cross;              | \u0026cross;               | \u0026check;      | \u0026check;       | Behavior Tree; entitity AI)|\n| BMTUN     | \u0026check;              | \u0026check;               | Missing      | Missing       | Tunables; exposed variables\t|\n| BNVIB     | Missing              | Missing               | \u0026check;      | \u0026check;       | Vibration Data |\n| BPSI      | \u0026check;              | \u0026check;               | \u0026check;      | \u0026check;       | PackSet; dev leftovers |\n| BPTDAT    | Missing              | Missing               | \u0026check;      | \u0026check;       | PlayThrough Data |\n| BPTDEF    | Missing              | Missing               | \u0026check;      | \u0026check;       | PlayThrough Def |\n| BREM      | Missing              | Missing               | \u0026check;      | \u0026check;       | Environmental Music Presets |\n| BRES      | Missing              | Missing               | \u0026check;      | \u0026check;       | Environmental Sound Presets |\n| BREV      | Missing              | Missing               | \u0026check;      | \u0026check;       | Environmental Visual Presets |\n| BRFLD     | Missing              | Missing               | \u0026check;      | \u0026check;       | Dread Scenario Entity Data |\n| BRSA      | Missing              | Missing               | \u0026check;      | \u0026check;       | SubArea Setups (Dread) |\n| BRSPD     | Missing              | Missing               | \u0026check;      | \u0026check;       | Shot Audio Presets |\n| BSHDAT    | \u0026cross;              | \u0026cross;               | \u0026cross;      | \u0026cross;       | Shader Data\t|\n| BSMAT     | Missing              | Missing               | \u0026check;      | \u0026check;       | Mesh Material |\n| BTUNDA    | Missing              | Missing               | \u0026check;      | \u0026check;       | Tunable Data |\n| BUCT      | \u0026check;              | \u0026check;               | \u0026check;      | \u0026check;       | Font Glyph Data (?) |\n| INI       | Missing              | Missing               | \u0026check;      | \u0026check;       | Standard INI |\n| LC        | \u0026check;              | \u0026check;               | \u0026check;      | \u0026check;       | Lua Bytecode |\n| PKG       | \u0026check;              | \u0026check;               | \u0026check;      | \u0026check;       | Packaged Files |\n| TOC       | \u0026check;              | \u0026check;               | \u0026check;      | \u0026check;       | Table of Contents |\n| TXT       | \u0026check;              | \u0026check;               | \u0026check;      | \u0026check;       | UTF-16 Text File (?) |\n| WEBM      | Missing              | Missing               | \u0026cross;      | \u0026cross;       | Standard WEBM |\n\n\n## Example Usage\n\n```python\n# TODO\n```\n\n## Colors for Text\n\nMetroid Dread uses the following annotations in text to change color:\n\n| Code | Color       |              |\n|------|-------------|--------------|\n| {c0} | White       | (Default)    |\n| {c1} | Yellow      |              |\n| {c2} | Red         |              |\n| {c3} | Pink        |              |\n| {c4} | Green       |              |\n| {c5} | Blue        |              |\n| {c6} | UI Active   | (Light blue) |\n| {c7} | UI Inactive | (Dim blue)   |\n\n\n## Tests\n\nFor running the full test suite, the following environment variables must be set.\n\n| Variable           | Purpose                                        |\n|--------------------|------------------------------------------------|\n| SAMUS_RETURNS_PATH | Path to a Samus Returns extracted RomFS        |\n| DREAD_1_0_0_PATH   | Path to a Metroid Dread v1.0.0 extracted RomFS |\n| DREAD_2_1_0_PATH   | Path to a Metroid Dread v2.1.0 extracted RomFS |\n\nIf any of these variables are not set, the associated tests are skipped.\n\n### Running\n\n```bash\nexport SAMUS_RETURNS_PATH=D:/RomFS/Samus Returns\npython -m pytest\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frandovania%2Fmercury-engine-data-structures","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frandovania%2Fmercury-engine-data-structures","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frandovania%2Fmercury-engine-data-structures/lists"}