1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-08 07:20:16 +00:00
oot/tools/assets/extract/oot64_data/audio_ids.py
Dragorn421 1e556e3a3d
New assets system (#2481)
* wip: New assets system tm

Builds gc-eu-mq-dbg OK from clean after
1) make setup
2) python3 -m tools.assets.extract -j
3) replace 0x80A8E610 with sShadowTex in extracted/gc-eu-mq-dbg/assets/overlays/ovl_En_Jsjutan/sShadowMaterialDL.inc.c
4) make various symbols in extracted data like sTex static

* use variables from config.yml for gMtxClear and sShadowTex addresses

* Write source with static for overlays using `HACK_IS_STATIC_ON` hack

* gc-eu-mq-dbg OK from clean with `make setup && make`

* implement more skeleton-related types, cleanups, fixups

* fix extracted data to no longer produce compilation warnings

* implement more of RoomShapeImage types

* yeet XmlPath from ExternalFile usage

* Implement PlayerAnimationDataResource (link_animetion data)

* fix csdis CS_TIME extra arg

* dmadata file names no longer hardcoded for gc-eu-mq-dbg

* ntsc-1.0 OK

* xml fixes

* slightly improve standard output

* rm extract_assets.py

* generate and use Limb enums (TODO: check Skin skels and implement for Curve skels)

* handle dependencies between xmls

* introduce RawPointers xml attribute to ignore specific pointers and keep them raw

* add tools/extract_assets.sh

* fixups

* only extract if xmls changed or if -f (force) is used

* fixups, gc-eu OK

* all versions OK

* check attributes of xml resources elements

* Implement legacy skelanime resources

* fix ASSET_FILES_BIN_EXTRACTED/COMMITTED: look for .u8.bin specifically instead of just .bin

* implement JFIFResource

* fix png/jpg wildcards: look specifically for .u64.png .u32.png .u64.jpg

* Makefile: Add rules to build .png, .bin and .jpg in assets/ too

* start writing actual docs

* extract sTransCircleDL and sTransWipeDL

* misc cleanup/fixes, pygfxd 1.0.3

* refactor CDataExt.set_write callback args to use a dataclass

* Move {} to in-source

* misc

* more progress on spec

* fix missing braces in n64dd_error_textures.c

* finish xml spec doc

* assets xmls fixes

* some cleanup, use `gNameTex_WIDTH/HEIGHT` macros in dlists

* handle hackmode_syotes_room, fix compile

* C build_from_png

* rm tools/assets/bin2c

* rm ZAPD

* format

* remove rule to generate dmadata_table.py

* CC0 license (and some import cleanup)

* dont try to build zapd (rmd)

* simplify palettes with single user (ci images with a non-shared palette)

* add docs on how images are handled

* bss

* allow -j N

* fix n64texconv python bindings memory management

* move -j at the end of calling extraction script

* with -j, update last_extracts.json as each job completes rather than only if all complete

* make interrupting less jank by making child processes ignore sigint

* use enum names in `SCENE_CMD_SKYBOX_SETTINGS`

* `multiprocessing.get_context("fork")`

* import rich, except ImportError s

* fix optional rich usage

* .bss

* .bss

* .bss

* assets extraction: -j -> -j$(N_THREADS)

* .bss

* change LIMB_NONE/MAX defaults to be FILE_OFFSET instead of SKELNAME

* 0XHEX -> 0xHEX

* fix bss

* Proper includes for assets

mostly proper, some includes like dlists resources always causing a sys_matrix.h include (when not every dlist references gIdentityMtx) could be done better

* rm z64.h

* rm z64.h take two

* bss

* Make .u64 suffix for pngs optional

* fixup: rm .u64 suffix from n64dd image paths

* Remove elemtype suffixes from .bin and .jpg files

* Update images.md

* some build_from_png cleanup, more error handling, comments

* Handle skybox textures

Introduce "sub-format" suffix for pngs, with sub-formats split_lo and split_hi being used for skybox textures

* fixup for older python

* improve collision output some

* fully use SURFACETYPE[01] macros in writing extracted surface types

* use WATERBOX_PROPERTIES in extracted waterboxes

* some SceneCommandsResource cleanup

* format EnvLightSettingsList output
2025-05-18 01:29:09 +02:00

141 lines
4.2 KiB
Python

# This file was made manually
SEQ_IDS = {
0x00: "NA_BGM_GENERAL_SFX",
0x01: "NA_BGM_NATURE_AMBIENCE",
0x02: "NA_BGM_FIELD_LOGIC",
0x03: "NA_BGM_FIELD_INIT",
0x04: "NA_BGM_FIELD_DEFAULT_1",
0x05: "NA_BGM_FIELD_DEFAULT_2",
0x06: "NA_BGM_FIELD_DEFAULT_3",
0x07: "NA_BGM_FIELD_DEFAULT_4",
0x08: "NA_BGM_FIELD_DEFAULT_5",
0x09: "NA_BGM_FIELD_DEFAULT_6",
0x0A: "NA_BGM_FIELD_DEFAULT_7",
0x0B: "NA_BGM_FIELD_DEFAULT_8",
0x0C: "NA_BGM_FIELD_DEFAULT_9",
0x0D: "NA_BGM_FIELD_DEFAULT_A",
0x0E: "NA_BGM_FIELD_DEFAULT_B",
0x0F: "NA_BGM_FIELD_ENEMY_INIT",
0x10: "NA_BGM_FIELD_ENEMY_1",
0x11: "NA_BGM_FIELD_ENEMY_2",
0x12: "NA_BGM_FIELD_ENEMY_3",
0x13: "NA_BGM_FIELD_ENEMY_4",
0x14: "NA_BGM_FIELD_STILL_1",
0x15: "NA_BGM_FIELD_STILL_2",
0x16: "NA_BGM_FIELD_STILL_3",
0x17: "NA_BGM_FIELD_STILL_4",
0x18: "NA_BGM_DUNGEON",
0x19: "NA_BGM_KAKARIKO_ADULT",
0x1A: "NA_BGM_ENEMY",
0x1B: "NA_BGM_BOSS",
0x1C: "NA_BGM_INSIDE_DEKU_TREE",
0x1D: "NA_BGM_MARKET",
0x1E: "NA_BGM_TITLE",
0x1F: "NA_BGM_LINK_HOUSE",
0x20: "NA_BGM_GAME_OVER",
0x21: "NA_BGM_BOSS_CLEAR",
0x22: "NA_BGM_ITEM_GET",
0x23: "NA_BGM_OPENING_GANON",
0x24: "NA_BGM_HEART_GET",
0x25: "NA_BGM_OCA_LIGHT",
0x26: "NA_BGM_JABU_JABU",
0x27: "NA_BGM_KAKARIKO_KID",
0x28: "NA_BGM_GREAT_FAIRY",
0x29: "NA_BGM_ZELDA_THEME",
0x2A: "NA_BGM_FIRE_TEMPLE",
0x2B: "NA_BGM_OPEN_TRE_BOX",
0x2C: "NA_BGM_FOREST_TEMPLE",
0x2D: "NA_BGM_COURTYARD",
0x2E: "NA_BGM_GANON_TOWER",
0x2F: "NA_BGM_LONLON",
0x30: "NA_BGM_GORON_CITY",
0x31: "NA_BGM_FIELD_MORNING",
0x32: "NA_BGM_SPIRITUAL_STONE",
0x33: "NA_BGM_OCA_BOLERO",
0x34: "NA_BGM_OCA_MINUET",
0x35: "NA_BGM_OCA_SERENADE",
0x36: "NA_BGM_OCA_REQUIEM",
0x37: "NA_BGM_OCA_NOCTURNE",
0x38: "NA_BGM_MINI_BOSS",
0x39: "NA_BGM_SMALL_ITEM_GET",
0x3A: "NA_BGM_TEMPLE_OF_TIME",
0x3B: "NA_BGM_EVENT_CLEAR",
0x3C: "NA_BGM_KOKIRI",
0x3D: "NA_BGM_OCA_FAIRY_GET",
0x3E: "NA_BGM_SARIA_THEME",
0x3F: "NA_BGM_SPIRIT_TEMPLE",
0x40: "NA_BGM_HORSE",
0x41: "NA_BGM_HORSE_GOAL",
0x42: "NA_BGM_INGO",
0x43: "NA_BGM_MEDALLION_GET",
0x44: "NA_BGM_OCA_SARIA",
0x45: "NA_BGM_OCA_EPONA",
0x46: "NA_BGM_OCA_ZELDA",
0x47: "NA_BGM_OCA_SUNS",
0x48: "NA_BGM_OCA_TIME",
0x49: "NA_BGM_OCA_STORM",
0x4A: "NA_BGM_NAVI_OPENING",
0x4B: "NA_BGM_DEKU_TREE_CS",
0x4C: "NA_BGM_WINDMILL",
0x4D: "NA_BGM_HYRULE_CS",
0x4E: "NA_BGM_MINI_GAME",
0x4F: "NA_BGM_SHEIK",
0x50: "NA_BGM_ZORA_DOMAIN",
0x51: "NA_BGM_APPEAR",
0x52: "NA_BGM_ADULT_LINK",
0x53: "NA_BGM_MASTER_SWORD",
0x54: "NA_BGM_INTRO_GANON",
0x55: "NA_BGM_SHOP",
0x56: "NA_BGM_CHAMBER_OF_SAGES",
0x57: "NA_BGM_FILE_SELECT",
0x58: "NA_BGM_ICE_CAVERN",
0x59: "NA_BGM_DOOR_OF_TIME",
0x5A: "NA_BGM_OWL",
0x5B: "NA_BGM_SHADOW_TEMPLE",
0x5C: "NA_BGM_WATER_TEMPLE",
0x5D: "NA_BGM_BRIDGE_TO_GANONS",
0x5E: "NA_BGM_OCARINA_OF_TIME",
0x5F: "NA_BGM_GERUDO_VALLEY",
0x60: "NA_BGM_POTION_SHOP",
0x61: "NA_BGM_KOTAKE_KOUME",
0x62: "NA_BGM_ESCAPE",
0x63: "NA_BGM_UNDERGROUND",
0x64: "NA_BGM_GANONDORF_BOSS",
0x65: "NA_BGM_GANON_BOSS",
0x66: "NA_BGM_END_DEMO",
0x67: "NA_BGM_STAFF_1",
0x68: "NA_BGM_STAFF_2",
0x69: "NA_BGM_STAFF_3",
0x6A: "NA_BGM_STAFF_4",
0x6B: "NA_BGM_FIRE_BOSS",
0x6C: "NA_BGM_TIMED_MINI_GAME",
0x6D: "NA_BGM_CUTSCENE_EFFECTS",
0x7F: "NA_BGM_NO_MUSIC",
0x80: "NA_BGM_NATURE_SFX_RAIN",
0xFFFF: "NA_BGM_DISABLED",
}
NATURE_AMBIENCE_IDS = {
0x00: "NATURE_ID_GENERAL_NIGHT",
0x01: "NATURE_ID_MARKET_ENTRANCE",
0x02: "NATURE_ID_KAKARIKO_REGION",
0x03: "NATURE_ID_MARKET_RUINS",
0x04: "NATURE_ID_KOKIRI_REGION",
0x05: "NATURE_ID_MARKET_NIGHT",
0x06: "NATURE_ID_06",
0x07: "NATURE_ID_GANONS_LAIR",
0x08: "NATURE_ID_08",
0x09: "NATURE_ID_09",
0x0A: "NATURE_ID_WASTELAND",
0x0B: "NATURE_ID_COLOSSUS",
0x0C: "NATURE_ID_DEATH_MOUNTAIN_TRAIL",
0x0D: "NATURE_ID_0D",
0x0E: "NATURE_ID_0E",
0x0F: "NATURE_ID_0F",
0x10: "NATURE_ID_10",
0x11: "NATURE_ID_11",
0x12: "NATURE_ID_12",
0x13: "NATURE_ID_NONE",
0xFF: "NATURE_ID_DISABLED",
}