Mercury Engine Data Structures
Construct type definitions for Mercury Engine
Format Support
| 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 |
Example Usage
# TODO
Colors for Text
Metroid 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) |
Tests
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.
Running
export SAMUS_RETURNS_PATH=D:/RomFS/Samus Returns
python -m pytest
Metadata
Release files for mercury-engine-data-structures 0.36.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mercury_engine_data_structures-0.36.2.tar.gz | 2.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mercury_engine_data_structures-0.36.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.5 MB
Release files / mercury_engine_data_structures-0.36.2.tar.gz
| Download URL | mercury_engine_data_structures-0.36.2.tar.gz |
|---|---|
| Size | 2.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7691946c5c7f78cc6613ce3612b1b8a92c6295fff4388ae1c69c8ed3546f4092
|
|
BLAKE2b-256 checksum How to use checksums |
8e99727a3b8cbfe656a25ac482a65e6ff4cd8ed915b7919cc1cdb29e8c4d7c53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / mercury_engine_data_structures-0.36.2-py3-none-any.whl
| Download URL | mercury_engine_data_structures-0.36.2-py3-none-any.whl |
|---|---|
| Size | 2.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a6fce3f7708bee03e92ca5c50ec3a9f25f34b8bfe75ef82bdc9495c2c4635b2c
|
|
BLAKE2b-256 checksum How to use checksums |
f6e9b8d494fd443238eee8991a18901a8c3e15a56d3cfdc3a7412018f0a3c356
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|