Construct type definitions for Mercury Engine
| Format | Samus Returns (Read) | Samus Returns (Write) | Dread (Read) | Dread (Write) | Purpose |
|---|---|---|---|---|---|
| BAPD | Missing | Missing | ✓ | ✓ | Audio Preset (positional audio data) |
| BCCAM | ✗ | ✗ | ✗ | ✗ | Camera Animation (used exclusively for cutscene takes) |
| BCLGT | ✗ | ✗ | Missing | Missing | Lighting (?) |
| BCMDL | ✗ | ✗ | ✓ | ✗ | 3D Models |
| BCPTL | ✗ | ✗ | ✗ | ✗ | Particle Effect |
| BCSKLA | ✓ | ✓ | ✓ | ✓ | Skeleton Animation |
| BCTEX | ✗ | ✗ | ✓ | ✗ | Texture File |
| BCURV | Missing | Missing | ✗ | ✗ | CURV (?) |
| BCUT | ✗ | ✗ | Missing | Missing | Related to cutscene files |
| BCWAV | ✗ | ✗ | Missing | Missing | Cafe/Citra Wave (common AAL audio format) |
| BFGRP | Missing | Missing | ✗ | ✗ | Sound WaveGroup (common AAL audio format) |
| BFONT | ✗ | ✗ | ✗ | ✗ | Font File |
| BFSAR | Missing | Missing | ✗ | ✗ | FSAR (?) |
| BFSTM | Missing | Missing | ✗ | ✗ | Common Switch audio format |
| BGSNDS | Missing | Missing | ✓ | ✓ | BackGround Sounds (?) |
| BLDEF | Missing | Missing | ✓ | ✓ | Actor Lighting Definition |
| BLSND | ✓ | ✓ | ✓ | ✓ | Sounds (?) |
| BLUT | Missing | Missing | ✓ | ✓ | LookUp Table (used for ADAM animation) |
| BMBLS | Missing | Missing | ✓ | ✓ | Blend Space |
| BMDEFS | ✓ | ✓ | ✓ | ✓ | Music Track Definitions & Properties |
| BMMAP | Missing | Missing | ✓ | ✓ | MiniMap |
| BMMDEF | Missing | Missing | ✓ | ✓ | MiniMap Definitions (?) |
| BMSAD | ✓ | ✓ | ✓ | ✓ | Actor Definitions |
| BMSAS | Missing | Missing | ✓ | ✓ | Action Sets |
| BMSAT | ✗ | ✗ | ✓ | ✓ | Animation Tree |
| BMSBK | ✓ | ✓ | Missing | Missing | Blocks, per Scenario |
| BMSCC | ✓ | ✓ | ✓ | ✓ | Collision Cameras |
| BMSCD | ✓ | ✓ | ✓ | ✓ | Collision Data / Geometry |
| BMSCP | Missing | Missing | ✓ | ✓ | GUI Composition |
| BMSCU | ✗ | ✗ | ✓ | ✓ | Cutscene Files |
| BMSEM | ✓ | ✓ | Missing | Missing | Environment Music |
| BMSES | ✓ | ✓ | Missing | Missing | Environment Sound |
| BMSEV | ✗ | ✗ | Missing | Missing | Environment Visuals (fx) |
| BMSLD | ✓ | ✓ | Missing | Missing | Samus Returns scenario entity data |
| BMSLGROUP | Missing | Missing | ✓ | ✓ | SmartLink Group |
| BMSLINK | Missing | Missing | ✓ | ✓ | SmartLink (actor-specific navmesh paths) |
| BMSMD | ✓ | ✓ | Missing | Missing | Menu Data (?) |
| BMSMSD | ✓ | ✓ | Missing | Missing | Map Screen Data (?) |
| BMSNAV | ✓ | ✓ | ✓ | ✓ | Navigation Meshes |
| BMSND | ✗ | ✗ | Missing | Missing | Sound (?) |
| BMSSA | ✓ | ✓ | Missing | Missing | SubArea Setups (MSR) |
| BMSSD | ✓ | ✓ | ✓ | ✓ | Scene Data (scene blocks, objects, msr lighting) |
| BMSSH | Missing | Missing | ✓ | ✓ | GUI Shape |
| BMSSK | Missing | Missing | ✓ | ✓ | GUI Skin |
| BMSSS | Missing | Missing | ✓ | ✓ | GUI SpriteSheet |
| BMSSTOC | Missing | Missing | ✓ | ✓ | Sound Table of Contents (links BFSAR sfx to BFGRP files) |
| BMTRE | ✗ | ✗ | ✓ | ✓ | Behavior Tree; entitity AI) |
| BMTUN | ✓ | ✓ | Missing | Missing | Tunables; exposed variables |
| BNVIB | Missing | Missing | ✓ | ✓ | Vibration Data |
| BPSI | ✓ | ✓ | ✓ | ✓ | PackSet; dev leftovers |
| BPTDAT | Missing | Missing | ✓ | ✓ | PlayThrough Data |
| BPTDEF | Missing | Missing | ✓ | ✓ | PlayThrough Def |
| BREM | Missing | Missing | ✓ | ✓ | Environmental Music Presets |
| BRES | Missing | Missing | ✓ | ✓ | Environmental Sound Presets |
| BREV | Missing | Missing | ✓ | ✓ | Environmental Visual Presets |
| BRFLD | Missing | Missing | ✓ | ✓ | Dread Scenario Entity Data |
| BRSA | Missing | Missing | ✓ | ✓ | SubArea Setups (Dread) |
| BRSPD | Missing | Missing | ✓ | ✓ | Shot Audio Presets |
| BSHDAT | ✗ | ✗ | ✗ | ✗ | Shader Data |
| BSMAT | Missing | Missing | ✓ | ✓ | Mesh Material |
| BTUNDA | Missing | Missing | ✓ | ✓ | Tunable Data |
| BUCT | ✓ | ✓ | ✓ | ✓ | Font Glyph Data (?) |
| INI | Missing | Missing | ✓ | ✓ | Standard INI |
| LC | ✓ | ✓ | ✓ | ✓ | Lua Bytecode |
| PKG | ✓ | ✓ | ✓ | ✓ | Packaged Files |
| TOC | ✓ | ✓ | ✓ | ✓ | Table of Contents |
| TXT | ✓ | ✓ | ✓ | ✓ | UTF-16 Text File (?) |
| WEBM | Missing | Missing | ✗ | ✗ | Standard WEBM |
# TODOMetroid Dread uses the following annotations in text to change color:
| Code | Color | |
|---|---|---|
| {c0} | White | (Default) |
| {c1} | Yellow | |
| {c2} | Red | |
| {c3} | Pink | |
| {c4} | Green | |
| {c5} | Blue | |
| {c6} | UI Active | (Light blue) |
| {c7} | UI Inactive | (Dim blue) |
For running the full test suite, the following environment variables must be set.
| Variable | Purpose |
|---|---|
| SAMUS_RETURNS_PATH | Path to a Samus Returns extracted RomFS |
| DREAD_1_0_0_PATH | Path to a Metroid Dread v1.0.0 extracted RomFS |
| DREAD_2_1_0_PATH | Path to a Metroid Dread v2.1.0 extracted RomFS |
If any of these variables are not set, the associated tests are skipped.
export SAMUS_RETURNS_PATH=D:/RomFS/Samus Returns
python -m pytest