diff --git a/Makefile b/Makefile index 81ce5d49..ae17b0bd 100644 --- a/Makefile +++ b/Makefile @@ -332,6 +332,7 @@ build/src/libultra/rmon/%.o: OPTFLAGS := -O1 -g0 build/src/libultra/debug/%.o: OPTFLAGS := -O1 -g0 build/src/libultra/host/%.o: OPTFLAGS := -O1 -g0 build/src/audio/%.o: OPTFLAGS := -O2 -g0 +build/srceu/audio/%.o: OPTFLAGS := -O2 -g0 # temporary # per-file flags build/src/audio/audio_effects.o: CFLAGS += -use_readwrite_const diff --git a/assets/yaml/jp/rev0/ast_7_ti_1.yaml b/assets/yaml/jp/rev0/ast_7_ti_1.yaml deleted file mode 100644 index b80991f5..00000000 --- a/assets/yaml/jp/rev0/ast_7_ti_1.yaml +++ /dev/null @@ -1,269 +0,0 @@ -:config: - segments: - - [0x07, 0x9DE6E0] - header: - code: - - '#include "assets/ast_7_ti_1.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -D_AST_7_TI_1_7000000: - { type: TEXTURE, ctype: u8, format: IA8, width: 96, height: 28, offset: 0x07000000, symbol: D_AST_7_TI_1_7000000, tlut: 0x07001108 } - -D_TI1_7000A80: - { type: GFX, offset: 0x7000A80, symbol: D_TI1_7000A80 } - -D_TI1_7000D08: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x07000D08, symbol: D_TI1_7000D08, tlut: 0x07001108 } - -D_TI1_7001108: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 176, offset: 0x07001108, symbol: D_TI1_7001108 } - -D_TI1_7001268: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x7001268, symbol: D_TI1_7001268 } - -D_TI1_7002270: - { type: GFX, offset: 0x7002270, symbol: D_TI1_7002270 } - -D_TI1_7002490: - { type: GFX, offset: 0x7002490, symbol: D_TI1_7002490 } - -D_TI1_7002730: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x07002730, symbol: D_TI1_7002730 } - -D_TI1_7002930: - { type: GFX, offset: 0x7002930, symbol: D_TI1_7002930 } - -D_TI1_7002C88: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x7002C88, symbol: D_TI1_7002C88 } - -D_TI1_7003488: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x07003488, symbol: D_TI1_7003488, tlut: 0x07003888 } - -D_TI1_7003888: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 256, offset: 0x07003888, symbol: D_TI1_7003888 } - -D_TI1_7003A90: - { type: GFX, offset: 0x7003A90, symbol: D_TI1_7003A90 } - -D_TI1_7003C50: - { type: GFX, offset: 0x7003C50, symbol: D_TI1_7003C50 } - -D_TI1_7003E30: - { type: GFX, offset: 0x7003E30, symbol: D_TI1_7003E30 } - -D_TI1_7003FC0: - { type: GFX, offset: 0x7003FC0, symbol: D_TI1_7003FC0 } - -D_TI1_7004170: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x07004170, symbol: D_TI1_7004170 } - -D_TI1_7004370: - { type: GFX, offset: 0x7004370, symbol: D_TI1_7004370 } - -D_TI1_7004560: - { type: GFX, offset: 0x7004560, symbol: D_TI1_7004560 } - -D_TI1_7004780: - { type: GFX, offset: 0x7004780, symbol: D_TI1_7004780 } - -D_TI1_70049A0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x070049A0, symbol: D_TI1_70049A0 } - -D_TI1_7004BA0: - { type: GFX, offset: 0x7004BA0, symbol: D_TI1_7004BA0 } - -D_TI1_7004E78: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x07004E78, symbol: D_TI1_7004E78 } - -D_TI1_7005078: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x07005078, symbol: D_TI1_7005078 } - -D_TI1_7005280: - { type: GFX, offset: 0x7005280, symbol: D_TI1_7005280 } - -D_TI1_7005420: - { type: GFX, offset: 0x7005420, symbol: D_TI1_7005420 } - -D_TI1_70067C4: - { type: SF64:ANIM, offset: 0x70067C4, symbol: D_TI1_70067C4 } - -aTi1DesertCrawlerSkel: - { type: SF64:SKELETON, offset: 0x7006990, symbol: aTi1DesertCrawlerSkel} - -D_TI1_7006F74: - { type: SF64:ANIM, offset: 0x7006F74, symbol: D_TI1_7006F74 } - -D_TI1_7007130: - { type: SF64:ANIM, offset: 0x7007130, symbol: D_TI1_7007130 } - -D_TI1_7007234: - { type: SF64:ANIM, offset: 0x7007234, symbol: D_TI1_7007234 } - -D_TI1_700733C: - { type: SF64:ANIM, offset: 0x700733C, symbol: D_TI1_700733C } - -D_TI1_7007350: - { type: GFX, offset: 0x7007350, symbol: D_TI1_7007350 } - -D_TI1_7007AB0: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x7007AB0, symbol: D_TI1_7007AB0, tlut: 0x07007EB0 } - -D_TI1_7007EB0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 240, offset: 0x07007EB0, symbol: D_TI1_7007EB0 } - -D_TI1_7008090: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x07008090, symbol: D_TI1_7008090, tlut: 0x07008490 } - -D_TI1_7008490: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 248, offset: 0x07008490, symbol: D_TI1_7008490 } - -D_TI1_7008680: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x07008680, symbol: D_TI1_7008680, tlut: 0x07008490 } - -D_TI1_7008780: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 216, offset: 0x07008780, symbol: D_TI1_7008780 } - -D_TI1_7008930: - { type: GFX, offset: 0x7008930, symbol: D_TI1_7008930 } - -D_TI1_7008D10: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x7008D10, symbol: D_TI1_7008D10 } - -D_TI1_7008F10: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x7008F10, symbol: D_TI1_7008F10 } - -D_TI1_7009110: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x07009110, symbol: D_TI1_7009110 } - -D_TI1_7009310: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x07009310, symbol: D_TI1_7009310 } - -D_TI1_7009510: - { type: GFX, offset: 0x7009510, symbol: D_TI1_7009510 } - -D_TI1_70096D8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x070096D8, symbol: D_TI1_70096D8 } - -aTiDelphorDL: - { type: GFX, offset: 0x70098E0, symbol: aTiDelphorDL } - -D_TI1_7009B58: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x07009B58, symbol: D_TI1_7009B58 } - -aTi1Bomb1DL: - { type: GFX, offset: 0x7009D60, symbol: aTi1Bomb1DL } - -D_TI1_700A190: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0700A190, symbol: D_TI1_700A190 } - -aTi1Bomb2DL: - { type: GFX, offset: 0x700A990, symbol: aTi1Bomb2DL } - -D_TI1_700AAD8: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x700AAD8, symbol: D_TI1_700AAD8, tlut: 0x700AB58 } - -D_TI1_700AB58: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 8, offset: 0x700AB58, symbol: D_TI1_700AB58 } - -aTi1LandmineDL: - { type: GFX, offset: 0x700AB70, symbol: aTi1LandmineDL } - -D_TI1_700AEA8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x0700AEA8, symbol: D_TI1_700AEA8 } - -D_TI1_700AF30: - { type: GFX, offset: 0x700AF30, symbol: D_TI1_700AF30 } - -D_TI1_700B5B8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0700B5B8, symbol: D_TI1_700B5B8 } - -D_TI1_700B7B8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0700B7B8, symbol: D_TI1_700B7B8 } - -aTi1FekudaGun1DL: - { type: GFX, offset: 0x700B9C0, symbol: aTi1FekudaGun1DL } - -D_TI1_700BB10: - { type: GFX, offset: 0x700BB10, symbol: D_TI1_700BB10 } - -aTiBridgeDL: - { type: GFX, offset: 0x700BE00, symbol: aTiBridgeDL } - -D_TI1_700BFB0: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x0700BFB0, symbol: D_TI1_700BFB0, tlut: 0x0700C3B0 } - -D_TI1_700C3B0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 128, offset: 0x0700C3B0, symbol: D_TI1_700C3B0 } - -aTi1FekudaDL: - { type: GFX, offset: 0x700C4B0, symbol: aTi1FekudaDL } - -aTi1DesertRoverAnim: - { type: SF64:ANIM, offset: 0x700C8D8, symbol: aTi1DesertRoverAnim } - -aTi1DesertRoverSkel: - { type: SF64:SKELETON, offset: 0x700C964, symbol: aTi1DesertRoverSkel } - -aTi1FekudaGun2DL: - { type: GFX, offset: 0x700C980, symbol: aTi1FekudaGun2DL } - -aTiBomberAnim: - { type: SF64:ANIM, offset: 0x700CAF4, symbol: aTiBomberAnim} - -aTiBomberSkel: - {type: SF64:SKELETON, offset: 0x700CB60, symbol: aTiBomberSkel} - -aTiRascoAnim: - { type: SF64:ANIM, offset: 0x700D534, symbol: aTiRascoAnim } - -aTiRascoSkel: - {type: SF64:SKELETON, offset: 0x700D700, symbol: aTiRascoSkel} - -D_TI1_700D740: - { type: GFX, offset: 0x700D740, symbol: D_TI1_700D740 } - -D_TI1_700D880: - { type: GFX, offset: 0x700D880, symbol: D_TI1_700D880 } - -D_TI1_700D9B0: - { type: GFX, offset: 0x700D9B0, symbol: D_TI1_700D9B0 } - -D_TI1_700DAD0: - { type: GFX, offset: 0x700DAD0, symbol: D_TI1_700DAD0 } - -D_TI1_700DBB0: - { type: GFX, offset: 0x700DBB0, symbol: D_TI1_700DBB0 } - -D_TI1_700DC50: - { type: GFX, offset: 0x700DC50, symbol: D_TI1_700DC50 } - -D_TI1_700DD68: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x0700DD68, symbol: D_TI1_700DD68 } - -D_TI1_700DDF0: - { type: GFX, offset: 0x700DDF0, symbol: D_TI1_700DDF0 } - -D_TI1_700DED0: - { type: GFX, offset: 0x700DED0, symbol: D_TI1_700DED0 } - -D_TI1_700DF70: - { type: GFX, offset: 0x700DF70, symbol: D_TI1_700DF70 } - -D_TI1_700E030: - { type: GFX, offset: 0x700E030, symbol: D_TI1_700E030 } - -D_TI1_700E1E8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0700E1E8, symbol: D_TI1_700E1E8 } - -aTiBoulderDL: - { type: GFX, offset: 0x700E3F0, symbol: aTiBoulderDL } - -D_TI1_700E858: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0700E858, symbol: D_TI1_700E858 } - -D_TI1_700EA60: - { type: GFX, offset: 0x700EA60, symbol: D_TI1_700EA60 } - -# size = 0xEDB0 \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_7_ti_2.yaml b/assets/yaml/jp/rev0/ast_7_ti_2.yaml deleted file mode 100644 index a11ccf22..00000000 --- a/assets/yaml/jp/rev0/ast_7_ti_2.yaml +++ /dev/null @@ -1,71 +0,0 @@ -:config: - segments: - - [0x07, 0x9AD730] - header: - code: - - '#include "assets/ast_7_ti_2.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -D_TI2_7003EE8: - { type: SF64:ANIM, offset: 0x7003EE8, symbol: D_TI2_7003EE8 } - -D_TI2_7003F00: - { type: GFX, offset: 0x7003F00, symbol: D_TI2_7003F00 } - -D_TI2_7004270: - { type: GFX, offset: 0x7004270, symbol: D_TI2_7004270 } - -D_TI2_7004400: - { type: GFX, offset: 0x7004400, symbol: D_TI2_7004400 } - -D_TI2_70045D0: - { type: GFX, offset: 0x70045D0, symbol: D_TI2_70045D0 } - -D_TI2_70047B0: - { type: TEXTURE, ctype: u8, format: CI8, height: 16, width: 16, offset: 0x70047B0, symbol: D_TI2_70047B0 } -D_TI2_70048B0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 136, offset: 0x70048B0, symbol: D_TI2_70048B0 } - -D_TI2_70049C0: - { type: GFX, offset: 0x70049C0, symbol: D_TI2_70049C0 } - -D_TI2_7004AB0: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 16, offset: 0x7004AB0, symbol: D_TI2_7004AB0 } -D_TI2_7004CB0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 232 , offset: 0x7004CB0, symbol: D_TI2_7004CB0 } - -D_TI2_7004E80: - { type: GFX, offset: 0x7004E80, symbol: D_TI2_7004E80 } - -D_TI2_7005300: - { type: GFX, offset: 0x7005300, symbol: D_TI2_7005300 } - -D_TI2_70054C0: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x70054C0, symbol: D_TI2_70054C0 } - -D_TI2_70084CC: - { type: SF64:ANIM, offset: 0x70084CC, symbol: D_TI2_70084CC } - -D_TI2_70096EC: - { type: SF64:ANIM, offset: 0x70096EC, symbol: D_TI2_70096EC } - -D_TI2_7009700: - { type: GFX, offset: 0x7009700, symbol: D_TI2_7009700 } - -D_TI2_7009890: - { type: GFX, offset: 0x7009890, symbol: D_TI2_7009890 } - -D_TI2_7009A80: - { type: GFX, offset: 0x7009A80, symbol: D_TI2_7009A80 } - -D_TI2_7009B48: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 32, offset: 0x7009B48, symbol: D_TI2_7009B48 } -D_TI2_7009D48: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 56, offset: 0x7009D48, symbol: D_TI2_7009D48 } - -D_TI2_700E244: - { type: SF64:ANIM, offset: 0x700E244, symbol: D_TI2_700E244 } - -# size = 0xE250 \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_8_ti.yaml b/assets/yaml/jp/rev0/ast_8_ti.yaml deleted file mode 100644 index e09bf8b2..00000000 --- a/assets/yaml/jp/rev0/ast_8_ti.yaml +++ /dev/null @@ -1,66 +0,0 @@ -:config: - segments: - - [0x08, 0x9BB980] - header: - code: - - '#include "assets/ast_8_ti.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -D_TI_8000708: { type: SF64:ANIM, offset: 0x8000708, symbol: D_TI_8000708 } - -D_TI_8000D80: { type: SF64:ANIM, offset: 0x8000D80, symbol: D_TI_8000D80 } - -D_TI_8000D90: { type: GFX, offset: 0x8000D90, symbol: D_TI_8000D90 } - -D_TI_8000FC0: { type: TEXTURE, ctype: u16, format: IA16, width: 16, height: 16, offset: 0x8000FC0, symbol: D_TI_8000FC0} - -D_TI_80011C0: { type: GFX, offset: 0x80011C0, symbol: D_TI_80011C0 } - -D_TI_80012E8: { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x80012E8, symbol: D_TI_80012E8, tlut: 0x80013E8} -D_TI_80013E8: { type: TEXTURE, ctype: u16, format: TLUT, colors: 88, offset: 0x80013E8, symbol: D_TI_80013E8} - -D_TI_80014A0: { type: GFX, offset: 0x80014A0, symbol: D_TI_80014A0 } - -D_TI_8001630: { type: GFX, offset: 0x8001630, symbol: D_TI_8001630 } - -D_TI_80018D0: { type: GFX, offset: 0x80018D0, symbol: D_TI_80018D0 } - -D_TI_8001A80: { type: GFX, offset: 0x8001A80, symbol: D_TI_8001A80 } - -D_TI_8001D20: { type: GFX, offset: 0x8001D20, symbol: D_TI_8001D20 } - -D_TI_8001E20: { type: GFX, offset: 0x8001E20, symbol: D_TI_8001E20 } - -D_TI_8001FB0: { type: GFX, offset: 0x8001FB0, symbol: D_TI_8001FB0 } - -D_TI_80020D0: { type: GFX, offset: 0x80020D0, symbol: D_TI_80020D0 } - -D_TI_8002360: { type: GFX, offset: 0x8002360, symbol: D_TI_8002360 } - -D_TI_8002858: { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x8002858, symbol: D_TI_8002858, tlut: 0x8002C58} -D_TI_8002C58: { type: TEXTURE, ctype: u16, format: TLUT, colors: 248, offset: 0x8002C58, symbol: D_TI_8002C58} - -D_TI_8002E48: { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x8002E48, symbol: D_TI_8002E48, tlut: 0x8002F48} -D_TI_8002F48: { type: TEXTURE, ctype: u16, format: TLUT, colors: 216, offset: 0x8002F48, symbol: D_TI_8002F48} - -D_TI_80030F8: { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x80030F8, symbol: D_TI_80030F8, tlut: 0x80031F8} -D_TI_80031F8: { type: TEXTURE, ctype: u16, format: TLUT, colors: 192, offset: 0x80031F8, symbol: D_TI_80031F8} - -D_TI_8003378: { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x8003378, symbol: D_TI_8003378, tlut: 0x8003478} -D_TI_8003478: { type: TEXTURE, ctype: u16, format: TLUT, colors: 24, offset: 0x8003478, symbol: D_TI_8003478} - -D_TI_80034A8: { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x80034A8, symbol: D_TI_80034A8, tlut: 0x80035A8} -D_TI_80035A8: { type: TEXTURE, ctype: u16, format: TLUT, colors: 72, offset: 0x80035A8, symbol: D_TI_80035A8} - -D_TI_8003640: { type: GFX, offset: 0x8003640, symbol: D_TI_8003640 } - -D_TI_8004200: { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x8004200, symbol: D_TI_8004200, tlut: 0x8004600} -D_TI_8004600: { type: TEXTURE, ctype: u16, format: TLUT, colors: 256, offset: 0x8004600, symbol: D_TI_8004600} - -D_TI_8008FE8: { type: SF64:ANIM, offset: 0x8008FE8, symbol: D_TI_8008FE8 } - -D_TI_8009000: { type: GFX, offset: 0x8009000, symbol: D_TI_8009000 } - -# size: 0x92A0 \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_9_ti.yaml b/assets/yaml/jp/rev0/ast_9_ti.yaml deleted file mode 100644 index e9a716a8..00000000 --- a/assets/yaml/jp/rev0/ast_9_ti.yaml +++ /dev/null @@ -1,68 +0,0 @@ -:config: - segments: - - [0x09, 0x9C4C20] - header: - code: - - '#include "assets/ast_9_ti.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -D_TI_9004288: - { type: SF64:ANIM, offset: 0x9004288, symbol: D_TI_9004288 } - -D_TI_90042A0: - { type: GFX, offset: 0x90042A0, symbol: D_TI_90042A0 } - -D_TI_90043D0: - { type: GFX, offset: 0x90043D0, symbol: D_TI_90043D0 } - -D_TI_90044E0: - { type: GFX, offset: 0x90044E0, symbol: D_TI_90044E0 } - -D_TI_90045F0: - { type: GFX, offset: 0x90045F0, symbol: D_TI_90045F0 } - -D_TI_9004858: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x9004858, symbol: D_TI_9004858, tlut: 0x9004958 } -D_TI_9004958: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 136, offset: 0x9004958, symbol: D_TI_9004958 } - -D_TI_9004A68: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x9004A68, symbol: D_TI_9004A68, tlut: 0x9004E68 } -D_TI_9004E68: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 232, offset: 0x9004E68, symbol: D_TI_9004E68 } - -D_TI_9005040: - { type: GFX, offset: 0x9005040, symbol: D_TI_9005040 } - -D_TI_90051C0: - { type: GFX, offset: 0x90051C0, symbol: D_TI_90051C0 } - -D_TI_9005450: - { type: GFX, offset: 0x9005450, symbol: D_TI_9005450 } - -D_TI_9005600: - { type: GFX, offset: 0x9005600, symbol: D_TI_9005600 } - -D_TI_90058A0: - { type: GFX, offset: 0x90058A0, symbol: D_TI_90058A0 } - -D_TI_90059B8: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x90059B8, symbol: D_TI_90059B8, tlut: 0x9005AB8 } -D_TI_9005AB8: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 240, offset: 0x9005AB8, symbol: D_TI_9005AB8 } - -D_TI_900FC4C: - { type: SF64:ANIM, offset: 0x900FC4C, symbol: D_TI_900FC4C } - -D_TI_900FC60: - { type: GFX, offset: 0x900FC60, symbol: D_TI_900FC60 } - -D_TI_900FD70: - { type: GFX, offset: 0x900FD70, symbol: D_TI_900FD70 } - -D_TI_900FE80: - { type: GFX, offset: 0x900FE80, symbol: D_TI_900FE80 } - - # size: 0x10120 \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_A_ti.yaml b/assets/yaml/jp/rev0/ast_A_ti.yaml deleted file mode 100644 index c02dc4e5..00000000 --- a/assets/yaml/jp/rev0/ast_A_ti.yaml +++ /dev/null @@ -1,60 +0,0 @@ -:config: - segments: - - [0x0A, 0x9D4D40] - header: - code: - - '#include "assets/ast_A_ti.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -D_TI_A000000: - {type: GFX, offset: 0xA000000, symbol: D_TI_A000000} - -D_TI_A0000C8: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x0A0000C8, symbol: D_TI_A0000C8, tlut: 0x0A0001C8 } - -D_TI_A0001C8: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 60, offset: 0x0A0001C8, symbol: D_TI_A0001C8 } - -D_TI_A0002BC: - {type: SF64:ANIM, offset: 0xA0002BC, symbol: D_TI_A0002BC} - -D_TI_A00047C: - {type: SF64:ANIM, offset: 0xA00047C, symbol: D_TI_A00047C} - -D_TI_A000568: - {type: SF64:SKELETON, offset: 0xA000568, symbol: D_TI_A000568} - -D_TI_A000858: - {type: SF64:ANIM, offset: 0xA000858, symbol: D_TI_A000858} - -D_TI_A000934: - {type: SF64:ANIM, offset: 0xA000934, symbol: D_TI_A000934} - -D_TI_A000D50: - {type: SF64:ANIM, offset: 0xA000D50, symbol: D_TI_A000D50} - -D_TI_A000EDC: - {type: SF64:SKELETON, offset: 0xA000EDC, symbol: D_TI_A000EDC} - -D_TI_A001A70: - {type: SF64:SKELETON, offset: 0xA001A70, symbol: D_TI_A001A70} - -D_TI_A001BE0: - {type: GFX, offset: 0xA001BE0, symbol: D_TI_A001BE0} - -D_TI_A001DB0: - {type: GFX, offset: 0xA001DB0, symbol: D_TI_A001DB0} - -D_TI_A001EC0: - {type: GFX, offset: 0xA001EC0, symbol: D_TI_A001EC0} - -D_TI_A001FA0: - {type: GFX, offset: 0xA001FA0, symbol: D_TI_A001FA0} - -D_TI_A002170: - {type: GFX, offset: 0xA002170, symbol: D_TI_A002170} - -D_TI_A009990: - {type: SF64:ANIM, offset: 0xA009990, symbol: D_TI_A009990} diff --git a/assets/yaml/jp/rev0/ast_allies.yaml b/assets/yaml/jp/rev0/ast_allies.yaml deleted file mode 100644 index 52856323..00000000 --- a/assets/yaml/jp/rev0/ast_allies.yaml +++ /dev/null @@ -1,113 +0,0 @@ -:config: - segments: - - [0x0D, 0x9257A0] - header: - code: - - '#include "assets/ast_allies.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -aKattMarkDL: - { type: GFX, offset: 0xD000000, symbol: aKattMarkDL } - -ast_allies_seg13_vtx_00000098: - { type: VTX, count: 3, offset: 0x0D000098, symbol: ast_allies_seg13_vtx_00000098 } - -D_D0000C8: - { type: BLOB, size: 0x18, offset: 0x0D0000C8, symbol: D_D0000C8 } - -aKattMarkTex: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x0D0000E0, symbol: aKattMarkTex, tlut: 0x0D000160 } - -aKattMarkTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 8, offset: 0xD000160, symbol: aKattMarkTLUT } - -D_D000170: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0xD000170, symbol: D_D000170 } - -D_D001090: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0xD001090, symbol: D_D001090 } - -D_D001FB0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0xD001FB0, symbol: D_D001FB0 } - -D_D002ED0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0xD002ED0, symbol: D_D002ED0 } - -D_D003DF0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0xD003DF0, symbol: D_D003DF0 } - -D_D004D10: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0xD004D10, symbol: D_D004D10 } - -D_D005C30: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0xD005C30, symbol: D_D005C30 } - -D_D006B50: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0xD006B50, symbol: D_D006B50 } - -D_D007A70: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0xD007A70, symbol: D_D007A70 } - -D_D008990: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0xD008990, symbol: D_D008990 } - -aKattRadarMarkDL: - { type: GFX, offset: 0xD0098B0, symbol: aKattRadarMarkDL } - -aKattRadarMarkTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x0D009938, symbol: aKattRadarMarkTex } - -aKattShipDL: - { type: GFX, offset: 0xD009A40, symbol: aKattShipDL } - -D_D00A3B8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0D00A3B8, symbol: D_D00A3B8 } - -D_D00ABB8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0D00ABB8, symbol: D_D00ABB8 } - -D_D00ADB8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0D00ADB8, symbol: D_D00ADB8 } - -D_D00AFB8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 16, offset: 0x0D00AFB8, symbol: D_D00AFB8 } - -D_D00B3B8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0D00B3B8, symbol: D_D00B3B8 } - -aBillMarkDL: - { type: GFX, offset: 0xD00B5C0, symbol: aBillMarkDL } - -# Letter B -aBillMarkTex: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x0D00B688, symbol: aBillMarkTex, tlut: 0xD00B708 } - -aBillMarkTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 8, offset: 0xD00B708, symbol: aBillMarkTLUT } - -aJamesMarkDL: - { type: GFX, offset: 0xD00B720, symbol: aJamesMarkDL } - -# Letter J ? -aJamesMarkTex: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x0D00B7F0, symbol: aJamesMarkTex, tlut: 0xD00B870 } - -aJamesMarkTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 8, offset: 0xD00B870, symbol: aJamesMarkTLUT } - -aBillShipDL: - { type: GFX, offset: 0xD00B880, symbol: aBillShipDL } - -ast_allies_seg13_vtx_BB70: - { type: VTX, count: 144, offset: 0xD00BB70, symbol: ast_allies_seg13_vtx_BB70 } - -D_D00C470: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0xD00C470, symbol: D_D00C470 } - -D_D00C670: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0D00C670, symbol: D_D00C670 } - -D_D00C870: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0D00C870, symbol: D_D00C870 } diff --git a/assets/yaml/jp/rev0/ast_andross.yaml b/assets/yaml/jp/rev0/ast_andross.yaml deleted file mode 100644 index ece202c0..00000000 --- a/assets/yaml/jp/rev0/ast_andross.yaml +++ /dev/null @@ -1,269 +0,0 @@ -:config: - segments: - - [0x0C, 0xCAEA30] - header: - code: - - '#include "assets/ast_andross.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - - '#include "sf64mesg.h"' - -D_ANDROSS_C000000: - {type: TEXTURE, ctype: u8, format: IA8, width: 96, height: 28, offset: 0xC000000, symbol: D_ANDROSS_C000000} - -aAndTitleCardTex: - {type: TEXTURE, ctype: u8, format: IA8, width: 128, height: 28, offset: 0xC000A80, symbol: aAndTitleCardTex} - -D_ANDROSS_C001880: - {type: GFX, offset: 0xC001880, symbol: D_ANDROSS_C001880} - -D_ANDROSS_C0019E8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0xC0019E8, symbol: D_ANDROSS_C0019E8} - -D_ANDROSS_C00208C: - {type: SF64:ANIM, offset: 0xC00208C, symbol: D_ANDROSS_C00208C} - -D_ANDROSS_C002654: - {type: SF64:ANIM, offset: 0xC002654, symbol: D_ANDROSS_C002654} - -D_ANDROSS_C002B08: - {type: SF64:ANIM, offset: 0xC002B08, symbol: D_ANDROSS_C002B08} - -D_ANDROSS_C002B20: - {type: GFX, offset: 0xC002B20, symbol: D_ANDROSS_C002B20} - -D_ANDROSS_C002F00: - {type: GFX, offset: 0xC002F00, symbol: D_ANDROSS_C002F00} - -D_ANDROSS_C0031D0: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0xC0031D0, symbol: D_ANDROSS_C0031D0} - -D_ANDROSS_C0039D0: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0xC0039D0, symbol: D_ANDROSS_C0039D0} - -D_ANDROSS_C0041D0: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0xC0041D0, symbol: D_ANDROSS_C0041D0} - -D_ANDROSS_C0043D0: - {type: GFX, offset: 0xC0043D0, symbol: D_ANDROSS_C0043D0} - -D_ANDROSS_C004658: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0xC004658, symbol: D_ANDROSS_C004658} - -D_ANDROSS_C004860: - {type: GFX, offset: 0xC004860, symbol: D_ANDROSS_C004860} - -D_ANDROSS_C006F08: - {type: SF64:ANIM, offset: 0xC006F08, symbol: D_ANDROSS_C006F08} - -D_ANDROSS_C007FC0: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0xC007FC0, symbol: D_ANDROSS_C007FC0} - -D_ANDROSS_C0087C0: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0xC0087C0, symbol: D_ANDROSS_C0087C0} - -D_ANDROSS_C00DE48: - {type: SF64:ANIM, offset: 0xC00DE48, symbol: D_ANDROSS_C00DE48} - -D_ANDROSS_C00E598: - {type: SF64:ANIM, offset: 0xC00E598, symbol: D_ANDROSS_C00E598} - -D_ANDROSS_C00F108: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0xC00F108, symbol: D_ANDROSS_C00F108} - -D_ANDROSS_C010108: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0xC010108, symbol: D_ANDROSS_C010108} - -D_ANDROSS_C010188: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0xC010188, symbol: D_ANDROSS_C010188} - -D_ANDROSS_C010988: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0xC010988, symbol: D_ANDROSS_C010988} - -D_ANDROSS_C011988: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0xC011988, symbol: D_ANDROSS_C011988} - -D_ANDROSS_C012188: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0xC012188, symbol: D_ANDROSS_C012188} - -D_ANDROSS_C012988: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0xC012988, symbol: D_ANDROSS_C012988} - -D_ANDROSS_C013738: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0xC013738, symbol: D_ANDROSS_C013738} - -D_ANDROSS_C013F38: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0xC013F38, symbol: D_ANDROSS_C013F38} - -D_ANDROSS_C014738: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0xC014738, symbol: D_ANDROSS_C014738} - -D_ANDROSS_C015740: - {type: GFX, offset: 0xC015740, symbol: D_ANDROSS_C015740} - -D_ANDROSS_C016100: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0xC016100, symbol: D_ANDROSS_C016100} - -D_ANDROSS_C017050: - {type: SF64:ANIM, offset: 0xC017050, symbol: D_ANDROSS_C017050} - -D_ANDROSS_C017430: - {type: SF64:ANIM, offset: 0xC017430, symbol: D_ANDROSS_C017430} - -D_ANDROSS_C017440: - {type: GFX, offset: 0xC017440, symbol: D_ANDROSS_C017440} - -D_ANDROSS_C017598: - {type: VTX, count: 34, offset: 0xC017598, symbol: D_ANDROSS_C017598} - -D_ANDROSS_C0177B8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0xC0177B8, symbol: D_ANDROSS_C0177B8} - -D_ANDROSS_C018BC4: - {type: SF64:ANIM, offset: 0xC018BC4, symbol: D_ANDROSS_C018BC4} - -D_ANDROSS_C01C490: - {type: SF64:ANIM, offset: 0xC01C490, symbol: D_ANDROSS_C01C490} - -D_ANDROSS_C01CC3C: - {type: SF64:SKELETON, offset: 0xC01CC3C, symbol: D_ANDROSS_C01CC3C} - -D_ANDROSS_C020128: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0xC020128, symbol: D_ANDROSS_C020128} - -D_ANDROSS_C022520: - {type: GFX, offset: 0xC022520, symbol: D_ANDROSS_C022520} - -D_ANDROSS_C022A10: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0xC022A10, symbol: D_ANDROSS_C022A10} - -D_ANDROSS_C022A90: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0xC022A90, symbol: D_ANDROSS_C022A90} - -D_ANDROSS_C023B54: - {type: SF64:ANIM, offset: 0xC023B54, symbol: D_ANDROSS_C023B54} - -D_ANDROSS_C0240D0: - {type: SF64:ANIM, offset: 0xC0240D0, symbol: D_ANDROSS_C0240D0} - -D_ANDROSS_C025C00: - {type: SF64:ANIM, offset: 0xC025C00, symbol: D_ANDROSS_C025C00} - -D_ANDROSS_C029F74: - {type: SF64:ANIM, offset: 0xC029F74, symbol: D_ANDROSS_C029F74} - -D_ANDROSS_C02E494: - {type: SF64:ANIM, offset: 0xC02E494, symbol: D_ANDROSS_C02E494} - -D_ANDROSS_C02EDA0: - {type: SF64:ANIM, offset: 0xC02EDA0, symbol: D_ANDROSS_C02EDA0} - -D_ANDROSS_C02F634: - {type: SF64:ANIM, offset: 0xC02F634, symbol: D_ANDROSS_C02F634} - -D_ANDROSS_C030244: - {type: SF64:ANIM, offset: 0xC030244, symbol: D_ANDROSS_C030244} - -D_ANDROSS_C033780: - {type: SF64:ANIM, offset: 0xC033780, symbol: D_ANDROSS_C033780} - -D_ANDROSS_C033D98: - {type: SF64:ANIM, offset: 0xC033D98, symbol: D_ANDROSS_C033D98} - -D_ANDROSS_C035110: - {type: SF64:ENVIRONMENT, offset: 0xC035110, symbol: D_ANDROSS_C035110} - -D_ANDROSS_C035154: - {type: SF64:OBJECT_INIT, offset: 0xC035154, symbol: D_ANDROSS_C035154} - -D_ANDROSS_C0356A4: - {type: SF64:OBJECT_INIT, offset: 0xC0356A4, symbol: D_ANDROSS_C0356A4} - -D_ANDROSS_C0356CC: - {type: SF64:OBJECT_INIT, offset: 0xC0356CC, symbol: D_ANDROSS_C0356CC} - -D_ANDROSS_C036310: - {type: SF64:OBJECT_INIT, offset: 0xC036310, symbol: D_ANDROSS_C036310} - -D_ANDROSS_C036B6C: - {type: SF64:OBJECT_INIT, offset: 0xC036B6C, symbol: D_ANDROSS_C036B6C} - -D_ANDROSS_C03733C: - {type: SF64:OBJECT_INIT, offset: 0xC03733C, symbol: D_ANDROSS_C03733C} - -D_ANDROSS_C037E3C: - {type: SF64:SCRIPT, offset: 0xC037E3C, symbol: D_ANDROSS_C037E3C} - -D_ANDROSS_C037FCC: - {type: SF64:HITBOX, offset: 0xC037FCC, symbol: D_ANDROSS_C037FCC} - -D_ANDROSS_C0380C0: - {type: SF64:HITBOX, offset: 0xC0380C0, symbol: D_ANDROSS_C0380C0} - -D_ANDROSS_C0381B4: - {type: SF64:HITBOX, offset: 0xC0381B4, symbol: D_ANDROSS_C0381B4} - -D_ANDROSS_C0382A8: - {type: SF64:HITBOX, offset: 0xC0382A8, symbol: D_ANDROSS_C0382A8} - -D_ANDROSS_C03839C: - {type: SF64:HITBOX, offset: 0xC03839C, symbol: D_ANDROSS_C03839C} - -D_ANDROSS_C038490: - {type: SF64:HITBOX, offset: 0xC038490, symbol: D_ANDROSS_C038490} - -D_ANDROSS_C038584: - {type: SF64:HITBOX, offset: 0xC038584, symbol: D_ANDROSS_C038584} - -D_ANDROSS_C038678: - {type: SF64:HITBOX, offset: 0xC038678, symbol: D_ANDROSS_C038678} - -D_ANDROSS_C03876C: - {type: SF64:HITBOX, offset: 0xC03876C, symbol: D_ANDROSS_C03876C} - -D_ANDROSS_C038860: - {type: SF64:HITBOX, offset: 0xC038860, symbol: D_ANDROSS_C038860} - -D_ANDROSS_C038954: - {type: SF64:HITBOX, offset: 0xC038954, symbol: D_ANDROSS_C038954} - -aAndDoorHitbox: - {type: SF64:HITBOX, offset: 0xC038A48, symbol: aAndDoorHitbox} - -D_ANDROSS_C038AC4: - {type: SF64:HITBOX, offset: 0xC038AC4, symbol: D_ANDROSS_C038AC4} - -aAndPathHitbox: - {type: SF64:HITBOX, offset: 0xC038B40, symbol: aAndPathHitbox} - -aAndPathIntersectionHitbox: - {type: SF64:HITBOX, offset: 0xC038BA4, symbol: aAndPathIntersectionHitbox} - -aAndPassageHitbox: - {type: SF64:HITBOX, offset: 0xC038BD8, symbol: aAndPassageHitbox} - -D_ANDROSS_C038CCC: - {type: SF64:HITBOX, offset: 0xC038CCC, symbol: D_ANDROSS_C038CCC} - -aAndAndrossHitbox: - {type: SF64:HITBOX, offset: 0xC038DC0, symbol: aAndAndrossHitbox} - -aAndBrainHitbox: - {type: SF64:HITBOX, offset: 0xC038F24, symbol: aAndBrainHitbox} - -D_ANDROSS_C038FE8: - {type: VTX, count: 34, offset: 0xC038FE8, symbol: D_ANDROSS_C038FE8} - -D_ANDROSS_C039208: - {type: GFX, offset: 0xC039208, symbol: D_ANDROSS_C039208} - -D_ANDROSS_C039290: - {type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0xC039290, symbol: D_ANDROSS_C039290} - -D_ANDROSS_C03A290: - {type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0xC03A290, symbol: D_ANDROSS_C03A290} diff --git a/assets/yaml/jp/rev0/ast_aquas.yaml b/assets/yaml/jp/rev0/ast_aquas.yaml deleted file mode 100644 index e8709e48..00000000 --- a/assets/yaml/jp/rev0/ast_aquas.yaml +++ /dev/null @@ -1,777 +0,0 @@ -:config: - segments: - - [0x06, 0xA28E60] - header: - code: - - '#include "assets/ast_aquas.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - - '#include "sf64mesg.h"' - -aAqTitleCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 96, height: 13, offset: 0x6000000, symbol: aAqTitleCardTex } - -aAqSquidAnim: - { type: SF64:ANIM, offset: 0x6000AE4, symbol: aAqSquidAnim } - -aAqSquidSkel: - { type: SF64:SKELETON, offset: 0x6000DB0, symbol: aAqSquidSkel } - -aAqShellDL: - { type: GFX, offset: 0x6000E10, symbol: aAqShellDL } - -D_AQ_6001130: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6001130, symbol: D_AQ_6001130 } - -aAqAnglerFishAnim: - { type: SF64:ANIM, offset: 0x6002628, symbol: aAqAnglerFishAnim } - -aAqAnglerFishSkel: - { type: SF64:SKELETON, offset: 0x6002874, symbol: aAqAnglerFishSkel } - -# -aAqOysterDL: - { type: GFX, offset: 0x6002C10, symbol: aAqOysterDL } - -D_AQ_6002D58: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x6002D58, symbol: D_AQ_6002D58, tlut: 0x6003158 } - -D_AQ_6003158: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 248, offset: 0x6003158, symbol: D_AQ_6003158 } - -D_AQ_6003350: - { type: GFX, offset: 0x6003350, symbol: D_AQ_6003350 } - -D_AQ_6003610: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6003610, symbol: D_AQ_6003610 } - -D_AQ_60043B0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60043B0, symbol: D_AQ_60043B0 } - -D_AQ_6004BB0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6004BB0, symbol: D_AQ_6004BB0 } - -D_AQ_60040F0: - { type: GFX, offset: 0x60040F0, symbol: D_AQ_60040F0 } - -D_AQ_6004DB0: - { type: GFX, offset: 0x6004DB0, symbol: D_AQ_6004DB0 } - -D_AQ_60050F0: - { type: GFX, offset: 0x60050F0, symbol: D_AQ_60050F0 } - -aAqSculpinAnim: - { type: SF64:ANIM, offset: 0x6005954, symbol: aAqSculpinAnim } - -aAqSculpinSkel: - { type: SF64:SKELETON, offset: 0x6005A80, symbol: aAqSculpinSkel } - -D_AQ_6006160: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6006160, symbol: D_AQ_6006160 } - -D_AQ_6006960: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6006960, symbol: D_AQ_6006960 } - -D_AQ_6007160: - { type: GFX, offset: 0x6007160, symbol: D_AQ_6007160 } - -D_AQ_6007378: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6007378, symbol: D_AQ_6007378 } - -D_AQ_6007B80: - { type: GFX, offset: 0x6007B80, symbol: D_AQ_6007B80 } - -D_AQ_6007D70: - { type: GFX, offset: 0x6007D70, symbol: D_AQ_6007D70 } - -D_AQ_6007F68: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6007F68, symbol: D_AQ_6007F68 } - -D_AQ_6003FF0: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 32, offset: 0x6003FF0, symbol: D_AQ_6003FF0 } - -D_AQ_6008168: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6008168, symbol: D_AQ_6008168 } - -aAqStarfishDL: - { type: GFX, offset: 0x6008970, symbol: aAqStarfishDL } - -D_AQ_6008EC8: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x6008EC8, symbol: D_AQ_6008EC8, tlut: 0x6008FC8 } - -D_AQ_6008FC8: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 224, offset: 0x6008FC8, symbol: D_AQ_6008FC8 } - -D_AQ_6009188: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6009188, symbol: D_AQ_6009188 } - -D_AQ_6009990: - { type: GFX, offset: 0x6009990, symbol: D_AQ_6009990 } - -D_AQ_6009C28: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x6009C28, symbol: D_AQ_6009C28, tlut: 0x600A028 } - -D_AQ_600A028: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 248, offset: 0x600A028, symbol: D_AQ_600A028 } - -D_AQ_600A220: - { type: GFX, offset: 0x600A220, symbol: D_AQ_600A220 } - -D_AQ_600A480: - { type: GFX, offset: 0x600A480, symbol: D_AQ_600A480 } - -D_AQ_600A520: - { type: GFX, offset: 0x600A520, symbol: D_AQ_600A520 } - -D_AQ_600A720: - { type: GFX, offset: 0x600A720, symbol: D_AQ_600A720 } - -D_AQ_600A840: - { type: GFX, offset: 0x600A840, symbol: D_AQ_600A840 } - -D_AQ_600A8E0: - { type: GFX, offset: 0x600A8E0, symbol: D_AQ_600A8E0 } - -D_AQ_600A970: - { type: GFX, offset: 0x600A970, symbol: D_AQ_600A970 } - -D_AQ_600AB10: - { type: GFX, offset: 0x600AB10, symbol: D_AQ_600AB10 } - -D_AQ_600AB68: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x600AB68, symbol: D_AQ_600AB68 } - -D_AQ_600BD20: - { type: GFX, offset: 0x600BD20, symbol: D_AQ_600BD20 } - -D_AQ_600B518: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x600B518, symbol: D_AQ_600B518 } - -aAqTunnel2DL: - { type: GFX, offset: 0x600BF80, symbol: aAqTunnel2DL } - -D_AQ_600C530: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x600C530, symbol: D_AQ_600C530, tlut: 0x600C930 } - -D_AQ_600C930: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 248, offset: 0x600C930, symbol: D_AQ_600C930 } - -D_AQ_600CB20: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x600CB20, symbol: D_AQ_600CB20, tlut: 0x600CF20 } - -D_AQ_600CF20: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 104, offset: 0x600CF20, symbol: D_AQ_600CF20 } - -D_AQ_600CFF0: - { type: GFX, offset: 0x600CFF0, symbol: D_AQ_600CFF0 } - -D_AQ_600D390: - { type: GFX, offset: 0x600D390, symbol: D_AQ_600D390 } - -D_AQ_600D4A0: - { type: GFX, offset: 0x600D4A0, symbol: D_AQ_600D4A0 } - -D_AQ_600D720: - { type: GFX, offset: 0x600D720, symbol: D_AQ_600D720 } - -D_AQ_600D810: - { type: GFX, offset: 0x600D810, symbol: D_AQ_600D810 } - -D_AQ_600D900: - { type: GFX, offset: 0x600D900, symbol: D_AQ_600D900 } - -D_AQ_600DB80: - { type: GFX, offset: 0x600DB80, symbol: D_AQ_600DB80 } - -D_AQ_600DF48: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x600DF48, symbol: D_AQ_600DF48 } - -D_AQ_600E150: - { type: GFX, offset: 0x600E150, symbol: D_AQ_600E150 } - -D_AQ_600E368: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x600E368, symbol: D_AQ_600E368 } - -aAqWall1DL: - { type: GFX, offset: 0x600EE10, symbol: aAqWall1DL } - -aAqBump2DL: - { type: GFX, offset: 0x600EEF0, symbol: aAqBump2DL } - -D_AQ_600F030: - { type: GFX, offset: 0x600F030, symbol: D_AQ_600F030 } - -D_AQ_600F1A0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x600F1A0, symbol: D_AQ_600F1A0 } - -D_AQ_600F9A0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x600F9A0, symbol: D_AQ_600F9A0 } - -D_AQ_60101A0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60101A0, symbol: D_AQ_60101A0 } - -D_AQ_60109A0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60109A0, symbol: D_AQ_60109A0 } - -D_AQ_60111A0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60111A0, symbol: D_AQ_60111A0 } - -D_AQ_60119A0: - { type: GFX, offset: 0x60119A0, symbol: D_AQ_60119A0 } - -D_AQ_6011A78: - { type: VTX, count: 38, offset: 0x6011A78, symbol: D_AQ_6011A78 } - -D_AQ_6011CD8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6011CD8, symbol: D_AQ_6011CD8 } - -aAqTunnel1DL: - { type: GFX, offset: 0x6011EE0, symbol: aAqTunnel1DL } - -aAqRoofDL: - { type: GFX, offset: 0x60120F0, symbol: aAqRoofDL } - -D_AQ_60126A8: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 64, offset: 0x60126A8, symbol: D_AQ_60126A8, tlut: 0x6012AA8 } - -D_AQ_6012AA8: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 248, offset: 0x6012AA8, symbol: D_AQ_6012AA8 } - -D_AQ_6012C98: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x6012C98, symbol: D_AQ_6012C98, tlut: 0x6012D98 } - -D_AQ_6012D98: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 136, offset: 0x6012D98, symbol: D_AQ_6012D98 } - -D_AQ_6012EA8: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x6012EA8, symbol: D_AQ_6012EA8, tlut: 0x60132A8 } - -D_AQ_60132A8: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 240, offset: 0x60132A8, symbol: D_AQ_60132A8 } - -aAqFishGroupAnim: - { type: SF64:ANIM, offset: 0x60135E0, symbol: aAqFishGroupAnim } - -aAqFishGroupSkel1: - { type: SF64:SKELETON, offset: 0x60136CC, symbol: aAqFishGroupSkel1 } - -aAqFishGroupSkel2: - { type: SF64:SKELETON, offset: 0x60137CC, symbol: aAqFishGroupSkel2 } - -D_AQ_60137F0: - { type: GFX, offset: 0x60137F0, symbol: D_AQ_60137F0 } - -D_AQ_6013CC0: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 32, offset: 0x6013CC0, symbol: D_AQ_6013CC0, tlut: 0x6013EC0 } - -D_AQ_6013EC0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 184, offset: 0x6013EC0, symbol: D_AQ_6013EC0 } - -D_AQ_6014030: - { type: GFX, offset: 0x6014030, symbol: D_AQ_6014030 } - -aAqStoneColumnAnim: - { type: SF64:ANIM, offset: 0x6014438, symbol: aAqStoneColumnAnim } - -aAqStoneColumnSkel: - { type: SF64:SKELETON, offset: 0x6014504, symbol: aAqStoneColumnSkel } - -D_AQ_6014520: - { type: GFX, offset: 0x6014520, symbol: D_AQ_6014520 } - -D_AQ_60148B0: - { type: GFX, offset: 0x60148B0, symbol: D_AQ_60148B0 } - -D_AQ_6014CD0: - { type: GFX, offset: 0x6014CD0, symbol: D_AQ_6014CD0 } - -D_AQ_6014E50: - { type: GFX, offset: 0x6014E50, symbol: D_AQ_6014E50 } - -aAqBoulderDL: - { type: GFX, offset: 0x6014FD0, symbol: aAqBoulderDL } - -D_AQ_6015430: - { type: GFX, offset: 0x6015430, symbol: D_AQ_6015430 } - -D_AQ_60154F8: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x60154F8, symbol: D_AQ_60154F8, tlut: 0x60155F8 } - -D_AQ_60155F8: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 152, offset: 0x60155F8, symbol: D_AQ_60155F8 } - -aAqArchDL: - { type: GFX, offset: 0x6015730, symbol: aAqArchDL } - -D_AQ_6015DD0: - { type: GFX, offset: 0x6015DD0, symbol: D_AQ_6015DD0 } - -D_AQ_6015FF0: - { type: GFX, offset: 0x6015FF0, symbol: D_AQ_6015FF0 } - -D_AQ_6017BD8: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x6017BD8, symbol: D_AQ_6017BD8, tlut: 0x6017CD8 } - -D_AQ_6017CD8: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 64, offset: 0x6017CD8, symbol: D_AQ_6017CD8 } - -D_AQ_6018640: - { type: GFX, offset: 0x6018640, symbol: D_AQ_6018640 } - -D_AQ_6018878: - { type: VTX, count: 64, offset: 0x6018878, symbol: D_AQ_6018878 } - -D_AQ_6018C78: - { type: VTX, count: 64, offset: 0x6018C78, symbol: D_AQ_6018C78 } - -D_AQ_6019078: - { type: VTX, count: 28, offset: 0x6019078, symbol: D_AQ_6019078 } - -D_AQ_6019238: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x6019238, symbol: D_AQ_6019238, tlut: 0x6019338 } - -D_AQ_6019338: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 200, offset: 0x6019338, symbol: D_AQ_6019338 } - -D_AQ_60194D0: - { type: GFX, offset: 0x60194D0, symbol: D_AQ_60194D0 } - -D_AQ_6019880: - { type: GFX, offset: 0x6019880, symbol: D_AQ_6019880 } - -D_AQ_6019C28: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x6019C28, symbol: D_AQ_6019C28, tlut: 0x6019D28 } - -D_AQ_6019D28: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 168, offset: 0x6019D28, symbol: D_AQ_6019D28 } - -D_AQ_6019E80: - { type: GFX, offset: 0x6019E80, symbol: D_AQ_6019E80 } - -D_AQ_601A308: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x601A308, symbol: D_AQ_601A308, tlut: 0x601A708 } - -D_AQ_601A708: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 248, offset: 0x601A708, symbol: D_AQ_601A708 } - -D_AQ_601AE70: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x601AE70, symbol: D_AQ_601AE70, tlut: 0x601AF70 } - -D_AQ_601AF70: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 64, offset: 0x601AF70, symbol: D_AQ_601AF70 } - -D_AQ_601AFF0: - { type: GFX, offset: 0x601AFF0, symbol: D_AQ_601AFF0 } - -D_AQ_601B080: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x601C110, symbol: D_AQ_601C110 } - -D_AQ_601C080: - { type: GFX, offset: 0x601C080, symbol: D_AQ_601C080 } - -D_AQ_601C110: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x601B080, symbol: D_AQ_601B080 } - -D_AQ_601D110: - { type: GFX, offset: 0x601D110, symbol: D_AQ_601D110 } - -D_AQ_601DE50: - { type: SF64:ANIM, offset: 0x601DE50, symbol: D_AQ_601DE50 } - -aAqCoralReef2DL: - { type: GFX, offset: 0x601DE60, symbol: aAqCoralReef2DL } - -D_AQ_601E1F0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x601E1F0, symbol: D_AQ_601E1F0 } - -D_AQ_601E9F0: - { type: GFX, offset: 0x601E9F0, symbol: D_AQ_601E9F0 } - -aAqCoralAnim: - { type: SF64:ANIM, offset: 0x601EC68, symbol: aAqCoralAnim } - -aAqCoralSkel: - { type: SF64:SKELETON, offset: 0x601EDB4, symbol: aAqCoralSkel } - -D_AQ_601EDE0: - { type: GFX, offset: 0x601EDE0, symbol: D_AQ_601EDE0 } - -D_AQ_601F2F0: - { type: GFX, offset: 0x601F2F0, symbol: D_AQ_601F2F0 } - -D_AQ_601F830: - { type: GFX, offset: 0x601F830, symbol: D_AQ_601F830 } - -D_AQ_601FD70: - { type: GFX, offset: 0x601FD70, symbol: D_AQ_601FD70 } - -aAqSeaweedAnim: - { type: SF64:ANIM, offset: 0x6020A40, symbol: aAqSeaweedAnim } - -aAqSeaweedSkel: - { type: SF64:SKELETON, offset: 0x6020C6C, symbol: aAqSeaweedSkel } - -D_AQ_6021058: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6021058, symbol: D_AQ_6021058 } - -D_AQ_6021858: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x6021858, symbol: D_AQ_6021858, tlut: 0x6021C58 } - -D_AQ_6021C58: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 232, offset: 0x6021C58, symbol: D_AQ_6021C58 } - -aAqOysterAnim: - { type: SF64:ANIM, offset: 0x602201C, symbol: aAqOysterAnim } - -aAqOysterSkel: - { type: SF64:SKELETON, offset: 0x60220E8, symbol: aAqOysterSkel } - -D_AQ_6022110: - { type: GFX, offset: 0x6022110, symbol: D_AQ_6022110 } - -D_AQ_6022198: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x6022198, symbol: D_AQ_6022198, tlut: 0x6022598 } - -D_AQ_6022598: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 248, offset: 0x6022598, symbol: D_AQ_6022598 } - -D_AQ_6022788: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x6022788, symbol: D_AQ_6022788, tlut: 0x6022888 } - -D_AQ_6022888: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 152, offset: 0x6022888, symbol: D_AQ_6022888 } - -D_AQ_60229B8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60229B8, symbol: D_AQ_60229B8 } - -aAqCoralReef1DL: - { type: GFX, offset: 0x60231C0, symbol: aAqCoralReef1DL } - -aAqJellyfishAnim: - { type: SF64:ANIM, offset: 0x6023780, symbol: aAqJellyfishAnim } - -aAqJellyfishSkel: - { type: SF64:SKELETON, offset: 0x602390C, symbol: aAqJellyfishSkel } - -D_AQ_6023940: - { type: GFX, offset: 0x6023940, symbol: D_AQ_6023940 } - -D_AQ_6023B80: - { type: GFX, offset: 0x6023B80, symbol: D_AQ_6023B80 } - -D_AQ_6023D70: - { type: GFX, offset: 0x6023D70, symbol: D_AQ_6023D70 } - -D_AQ_6023EB0: - { type: GFX, offset: 0x6023EB0, symbol: D_AQ_6023EB0 } - -D_AQ_6023F38: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6023F38, symbol: D_AQ_6023F38 } - -D_AQ_6024738: - { type: TEXTURE, ctype: u16, format: IA16, width: 16, height: 16, offset: 0x6024738, symbol: D_AQ_6024738 } - -D_AQ_6024938: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x6024938, symbol: D_AQ_6024938 } - -D_AQ_60249C0: - { type: GFX, offset: 0x60249C0, symbol: D_AQ_60249C0 } - -aAqPearlDL: - { type: GFX, offset: 0x6024A50, symbol: aAqPearlDL } - -D_AQ_6024F80: - { type: SF64:ANIM, offset: 0x6024F80, symbol: D_AQ_6024F80 } - -aAqGaroaSkel: - { type: SF64:SKELETON, offset: 0x602512C, symbol: aAqGaroaSkel } - -aAqSpindlyFishAnim: - { type: SF64:ANIM, offset: 0x60260EC, symbol: aAqSpindlyFishAnim } - -aAqSpindlyFishSkel: - { type: SF64:SKELETON, offset: 0x60263F8, symbol: aAqSpindlyFishSkel } - -D_AQ_6026460: - { type: GFX, offset: 0x6026460, symbol: D_AQ_6026460 } - -D_AQ_60266B0: - { type: GFX, offset: 0x60266B0, symbol: D_AQ_60266B0 } - -D_AQ_6026950: - { type: GFX, offset: 0x6026950, symbol: D_AQ_6026950 } - -D_AQ_6026BF0: - { type: GFX, offset: 0x6026BF0, symbol: D_AQ_6026BF0 } - -D_AQ_6026C80: - { type: GFX, offset: 0x6026C80, symbol: D_AQ_6026C80 } - -D_AQ_6026D10: - { type: GFX, offset: 0x6026D10, symbol: D_AQ_6026D10 } - -D_AQ_6026DA0: - { type: GFX, offset: 0x6026DA0, symbol: D_AQ_6026DA0 } - -D_AQ_6026E30: - { type: GFX, offset: 0x6026E30, symbol: D_AQ_6026E30 } - -D_AQ_6026EC0: - { type: GFX, offset: 0x6026EC0, symbol: D_AQ_6026EC0 } - -D_AQ_6026F60: - { type: GFX, offset: 0x6026F60, symbol: D_AQ_6026F60 } - -D_AQ_6027330: - { type: GFX, offset: 0x6027330, symbol: D_AQ_6027330 } - -D_AQ_60273C0: - { type: GFX, offset: 0x60273C0, symbol: D_AQ_60273C0 } - -D_AQ_6027460: - { type: GFX, offset: 0x6027460, symbol: D_AQ_6027460 } - -D_AQ_60276F0: - { type: GFX, offset: 0x60276F0, symbol: D_AQ_60276F0 } - -D_AQ_6027810: - { type: GFX, offset: 0x6027810, symbol: D_AQ_6027810 } - -D_AQ_6027930: - { type: GFX, offset: 0x6027930, symbol: D_AQ_6027930 } - -D_AQ_6027C90: - { type: GFX, offset: 0x6027C90, symbol: D_AQ_6027C90 } - -D_AQ_6027FA0: - { type: GFX, offset: 0x6027FA0, symbol: D_AQ_6027FA0 } - -D_AQ_6028240: - { type: GFX, offset: 0x6028240, symbol: D_AQ_6028240 } - -D_AQ_6028550: - { type: GFX, offset: 0x6028550, symbol: D_AQ_6028550 } - -D_AQ_60287F0: - { type: GFX, offset: 0x60287F0, symbol: D_AQ_60287F0 } - -D_AQ_6028910: - { type: GFX, offset: 0x6028910, symbol: D_AQ_6028910 } - -D_AQ_6028A80: - { type: GFX, offset: 0x6028A80, symbol: D_AQ_6028A80 } - -D_AQ_6028F50: - { type: GFX, offset: 0x6028F50, symbol: D_AQ_6028F50 } - -D_AQ_60290C0: - { type: GFX, offset: 0x60290C0, symbol: D_AQ_60290C0 } - -D_AQ_60291B0: - { type: GFX, offset: 0x60291B0, symbol: D_AQ_60291B0 } - -D_AQ_6029240: - { type: GFX, offset: 0x6029240, symbol: D_AQ_6029240 } - -D_AQ_6029330: - { type: GFX, offset: 0x6029330, symbol: D_AQ_6029330 } - -D_AQ_60294A0: - { type: GFX, offset: 0x60294A0, symbol: D_AQ_60294A0 } - -D_AQ_6029530: - { type: GFX, offset: 0x6029530, symbol: D_AQ_6029530 } - -D_AQ_60296A0: - { type: GFX, offset: 0x60296A0, symbol: D_AQ_60296A0 } - -D_AQ_6029790: - { type: GFX, offset: 0x6029790, symbol: D_AQ_6029790 } - -D_AQ_6029900: - { type: GFX, offset: 0x6029900, symbol: D_AQ_6029900 } - -D_AQ_602AC28: - { type: SF64:ANIM, offset: 0x602AC28, symbol: D_AQ_602AC28 } - -D_AQ_602AC40: - { type: GFX, offset: 0x602AC40, symbol: D_AQ_602AC40 } - -D_AQ_602ACC0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x602ACC0, symbol: D_AQ_602ACC0 } - -aAqRockDL: - { type: GFX, offset: 0x602B4C0, symbol: aAqRockDL } - -D_AQ_602B9D4: # unused and possibly broken - { type: SF64:ANIM, offset: 0x602B9D4, symbol: D_AQ_602B9D4 } - -D_AQ_602BD60: - { type: SF64:SKELETON, offset: 0x602BD60, symbol: D_AQ_602BD60 } - -D_AQ_602BF88: - { type: SF64:ANIM, offset: 0x602BF88, symbol: D_AQ_602BF88 } - -D_AQ_602C014: - { type: SF64:SKELETON, offset: 0x602C014, symbol: D_AQ_602C014 } - -D_AQ_602C030: - { type: GFX, offset: 0x602C030, symbol: D_AQ_602C030 } - -D_AQ_602C088: - { type: GFX, offset: 0x602C088, symbol: D_AQ_602C088 } - -D_AQ_602C160: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x602C160, symbol: D_AQ_602C160 } - -D_AQ_602C960: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x602C960, symbol: D_AQ_602C960 } - -D_AQ_602DA28: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x602DA28, symbol: D_AQ_602DA28 } - -D_AQ_602DC28: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x602DC28, symbol: D_AQ_602DC28 } - -D_AQ_602DE28: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x602DE28, symbol: D_AQ_602DE28 } - -D_AQ_602E028: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x602E028, symbol: D_AQ_602E028 } - -D_AQ_602E540: - { type: SF64:ENVIRONMENT, offset: 0x602E540, symbol: D_AQ_602E540 } - -D_AQ_602E584: - { type: SF64:ENVIRONMENT, offset: 0x602E584, symbol: D_AQ_602E584 } - -D_AQ_602E5C8: - { type: SF64:OBJECT_INIT, offset: 0x602E5C8, symbol: D_AQ_602E5C8 } - -D_AQ_60308B8: - { type: SF64:SCRIPT, offset: 0x60308B8, symbol: D_AQ_60308B8 } - -aBoss301Hitbox: - { type: SF64:HITBOX, offset: 0x6030B10, symbol: aBoss301Hitbox } - -aAqShellHitbox: - { type: SF64:HITBOX, offset: 0x6030B14, symbol: aAqShellHitbox } - -aAqStarfishHitbox: - { type: SF64:HITBOX, offset: 0x6030B30, symbol: aAqStarfishHitbox } - -aAqOysterEvHitbox: - { type: SF64:HITBOX, offset: 0x6030B4C, symbol: aAqOysterEvHitbox } - -D_AQ_6030B68: - { type: SF64:HITBOX, offset: 0x6030B68, symbol: D_AQ_6030B68 } - -D_AQ_6030BAC: - { type: SF64:HITBOX, offset: 0x6030BAC, symbol: D_AQ_6030BAC } - -aAqActor188Hitbox: - { type: SF64:HITBOX, offset: 0x6030BE0, symbol: aAqActor188Hitbox } - -aAqActor255Hitbox: - { type: SF64:HITBOX, offset: 0x6030BFC, symbol: aAqActor255Hitbox } - -aAqActor256Hitbox: - { type: SF64:HITBOX, offset: 0x6030C18, symbol: aAqActor256Hitbox } - -aAqActor257Hitbox: - { type: SF64:HITBOX, offset: 0x6030C44, symbol: aAqActor257Hitbox } - -aAqCoralReef1Hitbox: - { type: SF64:HITBOX, offset: 0x6030C60, symbol: aAqCoralReef1Hitbox } - -aAqTunnel1Hitbox: - { type: SF64:HITBOX, offset: 0x6030C7C, symbol: aAqTunnel1Hitbox } - -aAqStoneColumnHitbox: - { type: SF64:HITBOX, offset: 0x6030D20, symbol: aAqStoneColumnHitbox } - -D_AQ_6030D3C: - { type: SF64:HITBOX, offset: 0x6030D3C, symbol: D_AQ_6030D3C } - -D_AQ_6030D58: - { type: SF64:HITBOX, offset: 0x6030D58, symbol: D_AQ_6030D58 } - -aAqArchHitbox: - { type: SF64:HITBOX, offset: 0x6030D74, symbol: aAqArchHitbox } - -aAqCoralReef2Hitbox: - { type: SF64:HITBOX, offset: 0x6030DF8, symbol: aAqCoralReef2Hitbox } - -aAqRockHitbox: - { type: SF64:HITBOX, offset: 0x6030E14, symbol: aAqRockHitbox } - -aAqWall1Hitbox: - { type: SF64:HITBOX, offset: 0x6030E30, symbol: aAqWall1Hitbox } - -aAqRoofHitbox: - { type: SF64:HITBOX, offset: 0x6030E4C, symbol: aAqRoofHitbox } - -aAqTunnel2Hitbox: - { type: SF64:HITBOX, offset: 0x6030E68, symbol: aAqTunnel2Hitbox } - -aAqBacoonHitbox: - { type: SF64:HITBOX, offset: 0x6030F74, symbol: aAqBacoonHitbox } - -aAqAnglerFishHitbox: - { type: SF64:HITBOX, offset: 0x6031398, symbol: aAqAnglerFishHitbox } - -aAqGaroaHitbox: - { type: SF64:HITBOX, offset: 0x60313CC, symbol: aAqGaroaHitbox } - -aAqSculpinHitbox: - { type: SF64:HITBOX, offset: 0x6031400, symbol: aAqSculpinHitbox } - -aAqSpindlyFishHitbox: - { type: SF64:HITBOX, offset: 0x603144C, symbol: aAqSpindlyFishHitbox } - -aAqSquidHitbox: - { type: SF64:HITBOX, offset: 0x6031480, symbol: aAqSquidHitbox } - -D_AQ_60314AC: - { type: SF64:HITBOX, offset: 0x60314AC, symbol: D_AQ_60314AC } - -aAqOysterHitbox: - { type: SF64:HITBOX, offset: 0x60314C8, symbol: aAqOysterHitbox } - -D_AQ_60314E4: - { type: SF64:HITBOX, offset: 0x60314E4, symbol: D_AQ_60314E4 } - -aAqBoulderHitbox: - { type: SF64:HITBOX, offset: 0x6031500, symbol: aAqBoulderHitbox } - -D_AQ_603151C: - { type: SF64:HITBOX, offset: 0x603151C, symbol: D_AQ_603151C } - -aAqCoralHitbox: - { type: SF64:HITBOX, offset: 0x6031538, symbol: aAqCoralHitbox } - -aAqJellyfishHitbox: - { type: SF64:HITBOX, offset: 0x6031554, symbol: aAqJellyfishHitbox } - -aAqFishGroupHitbox: - { type: SF64:HITBOX, offset: 0x6031570, symbol: aAqFishGroupHitbox } - -D_AQ_603158C: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x603158C, symbol: D_AQ_603158C } - -D_AQ_6031D90: - { type: VTX, count: 34, offset: 0x6031D90, symbol: D_AQ_6031D90 } - -D_AQ_6031FB0: - { type: SF64:TRIANGLE, count: 8, offset: 0x6031FB0, symbol: D_AQ_6031FB0, mesh_symbol: D_AQ_OFFSET, mesh_count: 2} - -D_AQ_60320B8: - { type: SF64:TRIANGLE, count: 30, offset: 0x60320B8, symbol: D_AQ_60320B8, mesh_symbol: D_AQ_OFFSET } - -D_AQ_6032388: - { type: SF64:TRIANGLE, count: 28, offset: 0x6032388, symbol: D_AQ_6032388, mesh_symbol: D_AQ_OFFSET } diff --git a/assets/yaml/jp/rev0/ast_area_6.yaml b/assets/yaml/jp/rev0/ast_area_6.yaml deleted file mode 100644 index 27e857a8..00000000 --- a/assets/yaml/jp/rev0/ast_area_6.yaml +++ /dev/null @@ -1,253 +0,0 @@ -:config: - segments: - - [0x06, 0xA5B8F0] - header: - code: - - '#include "assets/ast_area_6.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - - '#include "sf64mesg.h"' -aA6TitleCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 104, height: 28, offset: 0x6000000, symbol: aA6TitleCardTex } - -D_A6_6000B60: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x06000B60, symbol: D_A6_6000B60 } - -D_A6_6001A80: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x06001A80, symbol: D_A6_6001A80 } - -D_A6_60029A0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x060029A0, symbol: D_A6_60029A0 } - -D_A6_60038C0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x060038C0, symbol: D_A6_60038C0 } - -D_A6_60047E0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x060047E0, symbol: D_A6_60047E0 } - -D_A6_6005700: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x06005700, symbol: D_A6_6005700 } - -D_A6_6006620: - { type: TEXTURE, ctype: u8, format: CI4, width: 48, height: 44, offset: 0x06006620, symbol: D_A6_6006620, tlut: 0x06006A40 } - -D_A6_6006A40: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 4, offset: 0x6006A40, symbol: D_A6_6006A40} - -D_A6_6008918: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06008918, symbol: D_A6_6008918 } - -D_A6_6008B18: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06008B18, symbol: D_A6_6008B18 } - -D_A6_6008D18: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06008D18, symbol: D_A6_6008D18 } - -D_A6_6008F18: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06008F18, symbol: D_A6_6008F18 } - -D_A6_6009718: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 16, offset: 0x06009718, symbol: D_A6_6009718 } - -D_A6_6009B18: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06009B18, symbol: D_A6_6009B18 } - -aA6UmbraStationDL: - { type: GFX, offset: 0x600E0C0, symbol: aA6UmbraStationDL } - -D_A6_600EBE8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 16, offset: 0x0600EBE8, symbol: D_A6_600EBE8 } - -D_A6_600EFE8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0600EFE8, symbol: D_A6_600EFE8 } - -D_A6_600F1F0: - { type: GFX, offset: 0x600F1F0, symbol: D_A6_600F1F0 } - -D_A6_600F850: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600F850, symbol: D_A6_600F850 } - -D_A6_6010A88: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06010A88, symbol: D_A6_6010A88 } - -D_A6_6011288: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 16, offset: 0x06011288, symbol: D_A6_6011288 } - -D_A6_6011688: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06011688, symbol: D_A6_6011688 } - -D_A6_6011888: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x06011888, symbol: D_A6_6011888 } - -D_A6_6011910: - { type: GFX, offset: 0x6011910, symbol: D_A6_6011910 } - -D_A6_6011D48: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06011D48, symbol: D_A6_6011D48 } - -D_A6_6012550: - { type: GFX, offset: 0x6012550, symbol: D_A6_6012550 } - -D_A6_6012840: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06012840, symbol: D_A6_6012840 } - -aA6HarlockFrigateDL: - { type: GFX, offset: 0x6012A40, symbol: aA6HarlockFrigateDL } - -D_A6_6013CD8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06013CD8, symbol: D_A6_6013CD8 } - -D_A6_60144D8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060144D8, symbol: D_A6_60144D8 } - -D_A6_6014CD8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06014CD8, symbol: D_A6_6014CD8 } - -D_A6_60154D8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060154D8, symbol: D_A6_60154D8 } - -D_A6_6015CD8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06015CD8, symbol: D_A6_6015CD8 } - -D_A6_6015EE0: - { type: GFX, offset: 0x6015EE0, symbol: D_A6_6015EE0 } - -aA6ZeramClassCruiserDL: - { type: GFX, offset: 0x6016190, symbol: aA6ZeramClassCruiserDL } - -D_A6_6017120: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06017120, symbol: D_A6_6017120 } - -D_A6_6017920: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06017920, symbol: D_A6_6017920 } - -D_A6_6017B20: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06017B20, symbol: D_A6_6017B20 } - -D_A6_6017D20: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06017D20, symbol: D_A6_6017D20 } - -D_A6_6017F20: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06017F20, symbol: D_A6_6017F20 } - -D_A6_6018720: - { type: GFX, offset: 0x6018720, symbol: D_A6_6018720 } - -D_A6_60187F8: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x60187F8, symbol: D_A6_60187F8, tlut: 0x6018878} - -D_A6_6018878: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 8, offset: 0x6018878, symbol: D_A6_6018878} - -D_A6_6018994: - { type: SF64:ANIM, offset: 0x6018994, symbol: D_A6_6018994 } - -D_A6_6018BA0: - { type: SF64:SKELETON, offset: 0x6018BA0, symbol: D_A6_6018BA0 } - -aA6NinjinMissileDL: - { type: GFX, offset: 0x6018BF0, symbol: aA6NinjinMissileDL } - -D_A6_6019130: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06019130, symbol: D_A6_6019130 } - -D_A6_6019330: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06019330, symbol: D_A6_6019330 } - -D_A6_6019530: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06019530, symbol: D_A6_6019530 } - -aA6RocketDL: - { type: GFX, offset: 0x6019730, symbol: aA6RocketDL } - -D_A6_6019B20: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06019B20, symbol: D_A6_6019B20 } - -D_A6_6019D20: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06019D20, symbol: D_A6_6019D20 } - -D_A6_6019F20: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06019F20, symbol: D_A6_6019F20 } - -aA6SpaceMineDL: - { type: GFX, offset: 0x601A120, symbol: aA6SpaceMineDL } - -D_A6_601A220: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601A220, symbol: D_A6_601A220 } - -D_A6_601AA20: - { type: GFX, offset: 0x601AA20, symbol: D_A6_601AA20 } - -D_A6_601AAA8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601AAA8, symbol: D_A6_601AAA8 } - -D_A6_601B2B0: - { type: GFX, offset: 0x601B2B0, symbol: D_A6_601B2B0 } - -D_A6_601B338: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601B338, symbol: D_A6_601B338 } - -D_A6_601BB40: - { type: GFX, offset: 0x601BB40, symbol: D_A6_601BB40 } - -D_A6_601BF20: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0601BF20, symbol: D_A6_601BF20 } - -D_A6_601CF20: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0601CF20, symbol: D_A6_601CF20 } - -D_A6_601DF20: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0601DF20, symbol: D_A6_601DF20 } - -D_A6_601EF20: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0601EF20, symbol: D_A6_601EF20 } - -D_A6_601FF20: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0601FF20, symbol: D_A6_601FF20 } - -D_A6_6020F20: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06020F20, symbol: D_A6_6020F20 } - -D_A6_6021F20: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06021F20, symbol: D_A6_6021F20 } - -D_A6_6022F20: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06022F20, symbol: D_A6_6022F20 } - -D_A6_6023F20: - { type: SF64:ENVIRONMENT, offset: 0x6023F20, symbol: D_A6_6023F20} - -D_A6_6023F64: - { type: SF64:OBJECT_INIT, offset: 0x6023F64, symbol: D_A6_6023F64} - -D_A6_6027F50: - { type: SF64:SCRIPT, offset: 0x6027F50, symbol: D_A6_6027F50} - -aA6UmbraStationHitbox: - { type: SF64:HITBOX, offset: 0x60280E0, symbol: aA6UmbraStationHitbox } - -aA6HarlockFrigateHitbox: - { type: SF64:HITBOX, offset: 0x6028254, symbol: aA6HarlockFrigateHitbox } - -aA6ZeramClassCruiserHitbox: - { type: SF64:HITBOX, offset: 0x60282A0, symbol: aA6ZeramClassCruiserHitbox } - -aA6GorgonHitbox: - { type: SF64:HITBOX, offset: 0x6028454, symbol: aA6GorgonHitbox } - -D_A6_6028578: - { type: SF64:HITBOX, offset: 0x6028578, symbol: D_A6_6028578 } - -D_A6_6028760: - { type: SF64:ENVIRONMENT, offset: 0x6028760, symbol: D_A6_6028760} - -D_A6_60287A4: - { type: SF64:OBJECT_INIT, offset: 0x60287A4, symbol: D_A6_60287A4} - -D_A6_60289FC: - { type: SF64:SCRIPT, offset: 0x60289FC, symbol: D_A6_60289FC} diff --git a/assets/yaml/jp/rev0/ast_arwing.yaml b/assets/yaml/jp/rev0/ast_arwing.yaml deleted file mode 100644 index 69cec0e5..00000000 --- a/assets/yaml/jp/rev0/ast_arwing.yaml +++ /dev/null @@ -1,192 +0,0 @@ -:config: - segments: - - [0x3, 0x88F730] - header: - code: - - '#include "assets/ast_arwing.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -aArwingLifeIconTex: - { type: TEXTURE, format: CI4, offset: 0x3000000, width: 16, height: 16, ctype: u8, tlut: 0x3000080, symbol: aArwingLifeIconTex } - -aArwingLifeIconTLUT: - { type: TEXTURE, format: TLUT, offset: 0x3000080, colors: 8, ctype: u16, symbol: aArwingLifeIconTLUT } - -aAwFoxHeadDL: - { type: GFX, offset: 0x3000090, symbol: aAwFoxHeadDL } - -aAwJamesHeadDL: - { type: GFX, offset: 0x3001C90, symbol: aAwJamesHeadDL } - -D_arwing_3003960: - { type: TEXTURE, format: RGBA16, offset: 0x3003960, width: 8, height: 8, ctype: u16, symbol: D_arwing_3003960 } - -D_arwing_30039E0: - { type: TEXTURE, format: RGBA16, offset: 0x30039E0, width: 8, height: 8, ctype: u16, symbol: D_arwing_30039E0 } - -D_arwing_3003A60: - { type: TEXTURE, format: RGBA16, offset: 0x3003A60, width: 8, height: 8, ctype: u16, symbol: D_arwing_3003A60 } - -D_arwing_3003AE0: - { type: TEXTURE, format: RGBA16, offset: 0x3003AE0, width: 8, height: 8, ctype: u16, symbol: D_arwing_3003AE0 } - -D_arwing_3003B60: - { type: TEXTURE, format: RGBA16, offset: 0x3003B60, width: 8, height: 8, ctype: u16, symbol: D_arwing_3003B60 } - -D_arwing_3003BE0: - { type: TEXTURE, format: RGBA16, offset: 0x3003BE0, width: 8, height: 8, ctype: u16, symbol: D_arwing_3003BE0 } - -D_arwing_3003C60: - { type: TEXTURE, format: RGBA16, offset: 0x3003C60, width: 8, height: 8, ctype: u16, symbol: D_arwing_3003C60 } - -aAwPeppyHeadDL: - { type: GFX, offset: 0x3003CE0, symbol: aAwPeppyHeadDL } - -aAwSlippyHeadDL: - { type: GFX, offset: 0x3005AB0, symbol: aAwSlippyHeadDL } - -D_arwing_30074D0: - { type: TEXTURE, format: RGBA16, offset: 0x30074D0, width: 8, height: 8, ctype: u16, symbol: D_arwing_30074D0 } - -D_arwing_3007550: - { type: TEXTURE, format: RGBA16, offset: 0x3007550, width: 8, height: 8, ctype: u16, symbol: D_arwing_3007550 } - -D_arwing_30075D0: - { type: TEXTURE, format: RGBA16, offset: 0x30075D0, width: 8, height: 8, ctype: u16, symbol: D_arwing_30075D0 } - -aArwingItemLasersDL: - { type: GFX, offset: 0x3007650, symbol: aArwingItemLasersDL } - -ast_arwing_seg3_vtx_7A20: - { type: VTX, offset: 0x3007A20, count: 244, symbol: ast_arwing_seg3_vtx_7A20 } - -D_arwing_3008960: - { type: TEXTURE, format: RGBA16, offset: 0x3008960, width: 64, height: 32, ctype: u16, symbol: D_arwing_3008960 } - -D_arwing_3009960: - { type: TEXTURE, format: RGBA16, offset: 0x3009960, width: 16, height: 16, ctype: u16, symbol: D_arwing_3009960 } - -aAwBodyDL: - { type: GFX, offset: 0x3009B60, symbol: aAwBodyDL } - -D_arwing_300AC48: - { type: TEXTURE, format: RGBA16, offset: 0x300AC48, width: 32, height: 32, ctype: u16, symbol: D_arwing_300AC48 } - -D_arwing_300B448: - { type: TEXTURE, format: RGBA16, offset: 0x300B448, width: 32, height: 32, ctype: u16, symbol: D_arwing_300B448 } - -D_arwing_300BC48: - { type: TEXTURE, format: RGBA16, offset: 0x300BC48, width: 32, height: 32, ctype: u16, symbol: D_arwing_300BC48 } - -D_arwing_300C448: - { type: TEXTURE, format: RGBA16, offset: 0x300C448, width: 32, height: 32, ctype: u16, symbol: D_arwing_300C448 } - -D_arwing_300CC48: - { type: TEXTURE, format: RGBA16, offset: 0x300CC48, width: 32, height: 32, ctype: u16, symbol: D_arwing_300CC48 } - -D_arwing_300D448: - { type: TEXTURE, format: RGBA16, offset: 0x300D448, width: 32, height: 32, ctype: u16, symbol: D_arwing_300D448 } - -D_arwing_300DC48: - { type: TEXTURE, format: RGBA16, offset: 0x300DC48, width: 32, height: 32, ctype: u16, symbol: D_arwing_300DC48 } - -D_arwing_300E448: - { type: TEXTURE, format: RGBA16, offset: 0x300E448, width: 32, height: 32, ctype: u16, symbol: D_arwing_300E448 } - -D_arwing_300EC48: - { type: TEXTURE, format: RGBA16, offset: 0x300EC48, width: 32, height: 32, ctype: u16, symbol: D_arwing_300EC48 } - -D_arwing_300F448: - { type: TEXTURE, format: RGBA16, offset: 0x300F448, width: 64, height: 32, ctype: u16, symbol: D_arwing_300F448 } - -D_arwing_3010448: - { type: TEXTURE, format: RGBA16, offset: 0x3010448, width: 64, height: 32, ctype: u16, symbol: D_arwing_3010448 } - -aAwLaserGun1DL: - { type: GFX, offset: 0x3011720, symbol: aAwLaserGun1DL } - -D_arwing_30119F0: - { type: TEXTURE, format: RGBA16, offset: 0x30119F0, width: 32, height: 32, ctype: u16, symbol: D_arwing_30119F0 } - -D_arwing_30121F0: - { type: TEXTURE, format: RGBA16, offset: 0x30121F0, width: 32, height: 32, ctype: u16, symbol: D_arwing_30121F0 } - -D_arwing_30129F0: - { type: TEXTURE, format: RGBA16, offset: 0x30129F0, width: 32, height: 32, ctype: u16, symbol: D_arwing_30129F0 } - -aAwCockpitViewDL: - { type: GFX, offset: 0x30131F0, symbol: aAwCockpitViewDL } - -D_arwing_30137E8: - { type: TEXTURE, format: RGBA16, offset: 0x30137E8, width: 32, height: 32, ctype: u16, symbol: D_arwing_30137E8 } - -D_arwing_3013FE8: - { type: TEXTURE, format: RGBA16, offset: 0x3013FE8, width: 32, height: 32, ctype: u16, symbol: D_arwing_3013FE8 } - -D_arwing_30147E8: - { type: TEXTURE, format: RGBA16, offset: 0x30147E8, width: 16, height: 32, ctype: u16, symbol: D_arwing_30147E8 } - -aAwRightWingBrokenDL: - { type: GFX, offset: 0x3014BF0, symbol: aAwRightWingBrokenDL } - -D_arwing_3014F20: - { type: TEXTURE, format: RGBA16, offset: 0x3014F20, width: 16, height: 16, ctype: u16, symbol: D_arwing_3014F20 } - -aAwLeftWingBrokenDL: - { type: GFX, offset: 0x3015120, symbol: aAwLeftWingBrokenDL } - -aAwFlap1DL: - { type: GFX, offset: 0x30155E0, symbol: aAwFlap1DL} - -D_arwing_3015AF4: - { type: SF64:ANIM, offset: 0x3015AF4, symbol: D_arwing_3015AF4 } - -D_arwing_3015C28: - { type: SF64:ANIM, offset: 0x3015C28, symbol: D_arwing_3015C28 } - -D_arwing_3015D68: - { type: SF64:ANIM, offset: 0x3015D68, symbol: D_arwing_3015D68 } - -aAwRightWingDL: - { type: GFX, offset: 0x3015D80, symbol: aAwRightWingDL } - -D_arwing_30163C4: - { type: SF64:ANIM, offset: 0x30163C4, symbol: D_arwing_30163C4 } - -D_arwing_3016610: - { type: SF64:SKELETON, offset: 0x3016610, symbol: D_arwing_3016610 } - -aAwLeftWingDL: - { type: GFX, offset: 0x3016660, symbol: aAwLeftWingDL} - -D_arwing_3016B30: - { type: GFX, offset: 0x3016B30, symbol: D_arwing_3016B30 } - -D_arwing_3016BB8: - { type: TEXTURE, format: IA8, offset: 0x3016BB8, width: 16, height: 16, ctype: u8, symbol: D_arwing_3016BB8 } - -aAwFalcoHeadDL: - { type: GFX, offset: 0x3016CC0, symbol: aAwFalcoHeadDL } - -D_arwing_30182C8: - { type: TEXTURE, format: RGBA16, offset: 0x30182C8, width: 8, height: 8, ctype: u16, symbol: D_arwing_30182C8 } - -D_arwing_3018348: - { type: TEXTURE, format: RGBA16, offset: 0x3018348, width: 8, height: 8, ctype: u16, symbol: D_arwing_3018348 } - -D_arwing_30183D0: - { type: GFX, offset: 0x30183D0, symbol: D_arwing_30183D0 } - -aWindshieldClouldReflextionTex: - { type: TEXTURE, format: RGBA16, offset: 0x30184D8, width: 32, height: 32, ctype: u16, symbol: aWindshieldClouldReflextionTex } - -D_arwing_3018CD8: - { type: TEXTURE, format: RGBA16, offset: 0x3018CD8, width: 64, height: 16, ctype: u16, symbol: D_arwing_3018CD8 } - -D_arwing_30194E0: - { type: GFX, offset: 0x30194E0, symbol: D_arwing_30194E0 } - -D_arwing_30195E8: - { type: TEXTURE, format: RGBA16, offset: 0x30195E8, width: 32, height: 32, ctype: u16, symbol: D_arwing_30195E8 } diff --git a/assets/yaml/jp/rev0/ast_bg_planet.yaml b/assets/yaml/jp/rev0/ast_bg_planet.yaml deleted file mode 100644 index 46aaff6b..00000000 --- a/assets/yaml/jp/rev0/ast_bg_planet.yaml +++ /dev/null @@ -1,129 +0,0 @@ -:config: - segments: - - [0x02, 0x87DBD0] - header: - code: - - '#include "assets/ast_bg_planet.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -D_BG_PLANET_2000000: - { type: GFX, offset: 0x2000000, symbol: D_BG_PLANET_2000000 } - -D_BG_PLANET_2000088: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x2000088, symbol: D_BG_PLANET_2000088 } - -D_BG_PLANET_2001090: - { type: GFX, offset: 0x2001090, symbol: D_BG_PLANET_2001090 } - -D_BG_PLANET_2001118: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x02001118, symbol: D_BG_PLANET_2001118 } - -D_BG_PLANET_2002120: - { type: GFX, offset: 0x2002120, symbol: D_BG_PLANET_2002120 } - -D_BG_PLANET_20021A8: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x020021A8, symbol: D_BG_PLANET_20021A8 } - -D_BG_PLANET_20031B0: - { type: GFX, offset: 0x20031B0, symbol: D_BG_PLANET_20031B0 } - -D_BG_PLANET_2003238: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x02003238, symbol: D_BG_PLANET_2003238 } - -D_BG_PLANET_2004240: - { type: GFX, offset: 0x2004240, symbol: D_BG_PLANET_2004240 } - -D_BG_PLANET_20042C8: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x020042C8, symbol: D_BG_PLANET_20042C8 } - -D_BG_PLANET_20052D0: - { type: GFX, offset: 0x20052D0, symbol: D_BG_PLANET_20052D0 } - -D_BG_PLANET_2005358: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x02005358, symbol: D_BG_PLANET_2005358 } - -D_BG_PLANET_2006360: - { type: GFX, offset: 0x2006360, symbol: D_BG_PLANET_2006360 } - -D_BG_PLANET_20063E8: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x020063E8, symbol: D_BG_PLANET_20063E8 } - -D_BG_PLANET_20073F0: - { type: GFX, offset: 0x20073F0, symbol: D_BG_PLANET_20073F0 } - -D_BG_PLANET_2007478: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x02007478, symbol: D_BG_PLANET_2007478 } - -D_BG_PLANET_2008480: - { type: GFX, offset: 0x2008480, symbol: D_BG_PLANET_2008480 } - -D_BG_PLANET_2008508: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x02008508, symbol: D_BG_PLANET_2008508 } - -D_BG_PLANET_2009510: - { type: GFX, offset: 0x2009510, symbol: D_BG_PLANET_2009510 } - -D_BG_PLANET_2009598: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x02009598, symbol: D_BG_PLANET_2009598 } - -D_BG_PLANET_200A5A0: - { type: GFX, offset: 0x200A5A0, symbol: D_BG_PLANET_200A5A0 } - -D_BG_PLANET_200A628: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x0200A628, symbol: D_BG_PLANET_200A628 } - -D_BG_PLANET_200B630: - { type: GFX, offset: 0x200B630, symbol: D_BG_PLANET_200B630 } - -D_BG_PLANET_200B6B8: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x0200B6B8, symbol: D_BG_PLANET_200B6B8 } - -D_BG_PLANET_200C6C0: - { type: GFX, offset: 0x200C6C0, symbol: D_BG_PLANET_200C6C0 } - -D_BG_PLANET_200C748: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x0200C748, symbol: D_BG_PLANET_200C748 } - -D_BG_PLANET_200D750: - { type: GFX, offset: 0x200D750, symbol: D_BG_PLANET_200D750 } - -D_BG_PLANET_200D7E8: - { type: TEXTURE, ctype: u16, format: IA16, width: 64, height: 32, offset: 0x0200D7E8, symbol: D_BG_PLANET_200D7E8 } - -D_BG_PLANET_200E7F0: - { type: GFX, offset: 0x200E7F0, symbol: D_BG_PLANET_200E7F0 } - -D_BG_PLANET_200E878: - { type: TEXTURE, ctype: u16, format: IA16, width: 32, height: 32, offset: 0x0200E878, symbol: D_BG_PLANET_200E878 } - -D_BG_PLANET_200F080: - { type: GFX, offset: 0x200F080, symbol: D_BG_PLANET_200F080 } - -D_BG_PLANET_200F108: - { type: TEXTURE, ctype: u16, format: IA16, width: 32, height: 32, offset: 0x0200F108, symbol: D_BG_PLANET_200F108 } - -D_BG_PLANET_200F910: - { type: GFX, offset: 0x200F910, symbol: D_BG_PLANET_200F910 } - -D_BG_PLANET_200F998: - { type: TEXTURE, ctype: u16, format: IA16, width: 32, height: 32, offset: 0x0200F998, symbol: D_BG_PLANET_200F998 } - -D_BG_PLANET_20101A0: - { type: GFX, offset: 0x20101A0, symbol: D_BG_PLANET_20101A0 } - -D_BG_PLANET_2010228: - { type: TEXTURE, ctype: u16, format: IA16, width: 32, height: 32, offset: 0x02010228, symbol: D_BG_PLANET_2010228 } - -D_BG_PLANET_2010A30: - { type: GFX, offset: 0x2010A30, symbol: D_BG_PLANET_2010A30 } - -D_BG_PLANET_2010AB8: - { type: TEXTURE, ctype: u16, format: IA16, width: 32, height: 32, offset: 0x02010AB8, symbol: D_BG_PLANET_2010AB8 } - -D_BG_PLANET_20112C0: - { type: GFX, offset: 0x20112C0, symbol: D_BG_PLANET_20112C0 } - -D_BG_PLANET_2011358: - { type: TEXTURE, ctype: u16, format: IA16, width: 32, height: 32, offset: 0x02011358, symbol: D_BG_PLANET_2011358 } \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_bg_space.yaml b/assets/yaml/jp/rev0/ast_bg_space.yaml deleted file mode 100644 index bac9dc73..00000000 --- a/assets/yaml/jp/rev0/ast_bg_space.yaml +++ /dev/null @@ -1,93 +0,0 @@ -:config: - segments: - - [0x02, 0x8763F0] - header: - code: - - '#include "assets/ast_bg_space.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -D_BG_SPACE_2000000: - { type: GFX, offset: 0x2000000, symbol: D_BG_SPACE_2000000 } - -D_BG_SPACE_2000088: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x2000088, symbol: D_BG_SPACE_2000088 } - -D_BG_SPACE_2000890: - { type: GFX, offset: 0x2000890, symbol: D_BG_SPACE_2000890 } - -D_BG_SPACE_2000918: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x2000918, symbol: D_BG_SPACE_2000918 } - -D_BG_SPACE_2001120: - { type: GFX, offset: 0x2001120, symbol: D_BG_SPACE_2001120 } - -D_BG_SPACE_20011A8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x020011A8, symbol: D_BG_SPACE_20011A8 } - -D_BG_SPACE_20019B0: - { type: GFX, offset: 0x20019B0, symbol: D_BG_SPACE_20019B0 } - -D_BG_SPACE_2001A38: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x02001A38, symbol: D_BG_SPACE_2001A38 } - -D_BG_SPACE_2002240: - { type: GFX, offset: 0x2002240, symbol: D_BG_SPACE_2002240 } - -D_BG_SPACE_20022C8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x020022C8, symbol: D_BG_SPACE_20022C8 } - -D_BG_SPACE_2002AD0: - { type: GFX, offset: 0x2002AD0, symbol: D_BG_SPACE_2002AD0 } - -D_BG_SPACE_2002B58: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x02002B58, symbol: D_BG_SPACE_2002B58 } - -D_BG_SPACE_2003360: - { type: GFX, offset: 0x2003360, symbol: D_BG_SPACE_2003360 } - -D_BG_SPACE_20033E8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x020033E8, symbol: D_BG_SPACE_20033E8 } - -D_BG_SPACE_2003BF0: - { type: GFX, offset: 0x2003BF0, symbol: D_BG_SPACE_2003BF0 } - -D_BG_SPACE_2003C78: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x02003C78, symbol: D_BG_SPACE_2003C78 } - -D_BG_SPACE_2004480: - { type: GFX, offset: 0x2004480, symbol: D_BG_SPACE_2004480 } - -D_BG_SPACE_2004508: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x02004508, symbol: D_BG_SPACE_2004508 } - -D_BG_SPACE_2004D10: - { type: GFX, offset: 0x2004D10, symbol: D_BG_SPACE_2004D10 } - -D_BG_SPACE_2004D98: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x02004D98, symbol: D_BG_SPACE_2004D98 } - -D_BG_SPACE_20055A0: - { type: GFX, offset: 0x20055A0, symbol: D_BG_SPACE_20055A0 } - -D_BG_SPACE_2005628: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x02005628, symbol: D_BG_SPACE_2005628 } - -D_BG_SPACE_2005E30: - { type: GFX, offset: 0x2005E30, symbol: D_BG_SPACE_2005E30 } - -D_BG_SPACE_2005EB8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x02005EB8, symbol: D_BG_SPACE_2005EB8 } - -D_BG_SPACE_20066C0: - { type: GFX, offset: 0x20066C0, symbol: D_BG_SPACE_20066C0 } - -D_BG_SPACE_2006748: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x02006748, symbol: D_BG_SPACE_2006748 } - -D_BG_SPACE_2006F50: - { type: GFX, offset: 0x2006F50, symbol: D_BG_SPACE_2006F50 } - -D_BG_SPACE_2006FD8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x02006FD8, symbol: D_BG_SPACE_2006FD8 } diff --git a/assets/yaml/jp/rev0/ast_blue_marine.yaml b/assets/yaml/jp/rev0/ast_blue_marine.yaml deleted file mode 100644 index 6233790f..00000000 --- a/assets/yaml/jp/rev0/ast_blue_marine.yaml +++ /dev/null @@ -1,90 +0,0 @@ -:config: - segments: - - [0x03, 0x8B1AB0] - header: - code: - - '#include "assets/ast_blue_marine.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -aBlueMarineLifeIconTex: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x3000000, symbol: aBlueMarineLifeIconTex, tlut: 0x3000080 } - -aBlueMarineLifeIconTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 8, offset: 0x3000080, symbol: aBlueMarineLifeIconTLUT } - -D_blue_marine_3000090: - { type: TEXTURE, ctype: u8, format: CI4, width: 32, height: 9, offset: 0x3000090, symbol: D_blue_marine_3000090, tlut: 0x3000120 } - -D_blue_marine_3000120: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 8, offset: 0x3000120, symbol: D_blue_marine_3000120 } - -D_blue_marine_3000130: - { type: GFX, offset: 0x3000130, symbol: D_blue_marine_3000130 } - -ast_blue_marine_seg3_vtx_00000418: - { type: VTX, count: 5, offset: 0x3000418, symbol: D_blue_marine_3000418 } - -D_blue_marine_3000470: - { type: GFX, offset: 0x3000470, symbol: D_blue_marine_3000470 } - -D_blue_marine_30005E8: - { type: BLOB, size: 24, offset: 0x30005E8, symbol: D_blue_marine_30005E8 } - -D_blue_marine_3000600: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 8, offset: 0x3000600, symbol: D_blue_marine_3000600, tlut: 0x3000640 } - -D_blue_marine_3000640: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x3000640, symbol: D_blue_marine_3000640 } - -D_blue_marine_3000660: - { type: GFX, offset: 0x3000660, symbol: D_blue_marine_3000660 } - -D_blue_marine_30006E8: - { type: TEXTURE, ctype: u8, format: IA8, width: 32, height: 32, offset: 0x30006E8, symbol: D_blue_marine_30006E8 } - -D_blue_marine_3000AF0: - { type: GFX, offset: 0x3000AF0, symbol: D_blue_marine_3000AF0 } - -D_blue_marine_3000C70: - { type: GFX, offset: 0x3000C70, symbol: D_blue_marine_3000C70 } - -D_blue_marine_3001900: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x3001900, symbol: D_blue_marine_3001900 } - -D_blue_marine_3001980: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3001980, symbol: D_blue_marine_3001980 } - -D_blue_marine_3002180: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3002180, symbol: D_blue_marine_3002180 } - -D_blue_marine_3002980: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3002980, symbol: D_blue_marine_3002980 } - -D_blue_marine_3003180: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3003180, symbol: D_blue_marine_3003180 } - -D_blue_marine_3003980: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3003980, symbol: D_blue_marine_3003980 } - -D_blue_marine_3004180: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3004180, symbol: D_blue_marine_3004180 } - -D_blue_marine_3004980: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x3004980, symbol: D_blue_marine_3004980 } - -D_blue_marine_3005980: - { type: GFX, offset: 0x3005980, symbol: D_blue_marine_3005980 } - -D_blue_marine_30062E8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x30062E8, symbol: D_blue_marine_30062E8 } - -D_blue_marine_3006AF0: - { type: GFX, offset: 0x3006AF0, symbol: D_blue_marine_3006AF0 } - -D_blue_marine_3006C70: - { type: GFX, offset: 0x3006C70, symbol: D_blue_marine_3006C70 } - -D_blue_marine_3006DE0: - { type: GFX, offset: 0x3006DE0, symbol: D_blue_marine_3006DE0 } diff --git a/assets/yaml/jp/rev0/ast_bolse.yaml b/assets/yaml/jp/rev0/ast_bolse.yaml deleted file mode 100644 index 95a6e02c..00000000 --- a/assets/yaml/jp/rev0/ast_bolse.yaml +++ /dev/null @@ -1,200 +0,0 @@ -:config: - segments: - - [0x06, 0xAD8050] - header: - code: - - '#include "assets/ast_bolse.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - - '#include "sf64mesg.h"' -# Bolse Defense Outpost -aBoTitleCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 168, height: 19, offset: 0x6000000, symbol: aBoTitleCardTex } - -D_BO_6000C80: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x6000C80, symbol: D_BO_6000C80 } - -D_BO_6000D80: - { type: GFX, offset: 0x6000D80, symbol: D_BO_6000D80 } - -D_BO_6001908: - { type: TEXTURE, format: RGBA16, offset: 0x6001908, width: 16, height: 16, ctype: u16, symbol: D_BO_6001908 } - -aBoBaseCoreAnim: - { type: SF64:ANIM, offset: 0x6001C64, symbol: aBoBaseCoreAnim } - -aBoBaseCoreSkel: - { type: SF64:SKELETON, offset: 0x6001FB0, symbol: aBoBaseCoreSkel } - -D_BO_6002020: - { type: GFX, offset: 0x6002020, symbol: D_BO_6002020 } - -D_BO_6004848: - { type: TEXTURE, format: RGBA16, offset: 0x06004848, width: 32, height: 32, ctype: u16, symbol: D_BO_6004848 } - -D_BO_6005048: - { type: TEXTURE, format: RGBA16, offset: 0x06005048, width: 16, height: 32, ctype: u16, symbol: D_BO_6005048 } - -D_BO_6005908: - { type: TEXTURE, format: RGBA16, offset: 0x06005908, width: 32, height: 32, ctype: u16, symbol: D_BO_6005908 } - -D_BO_6006108: - { type: TEXTURE, format: RGBA16, offset: 0x06006108, width: 32, height: 32, ctype: u16, symbol: D_BO_6006108 } - -D_BO_6006910: - { type: GFX, offset: 0x6006910, symbol: D_BO_6006910 } - -D_BO_6006AD0: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x6006AD0, symbol: D_BO_6006AD0 } - -D_BO_6006ED0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 64, offset: 0x06006ED0, symbol: D_BO_6006ED0 } - -D_BO_6006F50: - { type: TEXTURE, format: RGBA16, offset: 0x06006F50, width: 4, height: 16, ctype: u16, symbol: D_BO_6006F50 } - -D_BO_6006FD0: - { type: TEXTURE, format: RGBA16, offset: 0x06006FD0, width: 32, height: 32, ctype: u16, symbol: D_BO_6006FD0 } - -D_BO_60077D0: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x60077D0, symbol: D_BO_60077D0 } - -D_BO_6007BD0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 64, offset: 0x06007BD0, symbol: D_BO_6007BD0 } - -D_BO_6007DF8: - { type: TEXTURE, format: RGBA16, offset: 0x06007DF8, width: 16, height: 32, ctype: u16, symbol: D_BO_6007DF8 } - -D_BO_6008440: - { type: TEXTURE, format: RGBA16, offset: 0x06008440, width: 16, height: 16, ctype: u16, symbol: D_BO_6008440 } - -# Unused Animation -D_BO_6008668: - { type: SF64:ANIM, offset: 0x6008668, symbol: D_BO_6008668 } - -# Unused Skeleton -D_BO_60086B4: - { type: SF64:SKELETON, offset: 0x60086B4, symbol: D_BO_60086B4 } - -# Unused Animation -D_BO_60086F4: - { type: SF64:ANIM, offset: 0x60086F4, symbol: D_BO_60086F4 } - -# Unused Skeleton -D_BO_6008760: - { type: SF64:SKELETON, offset: 0x6008760, symbol: D_BO_6008760 } - -D_BO_6008770: - { type: GFX, offset: 0x6008770, symbol: D_BO_6008770 } - -D_BO_6008BB8: - { type: TEXTURE, format: RGBA16, offset: 0x06008BB8, width: 32, height: 32, ctype: u16, symbol: D_BO_6008BB8 } - -D_BO_60093B8: - { type: TEXTURE, format: RGBA16, offset: 0x060093B8, width: 32, height: 32, ctype: u16, symbol: D_BO_60093B8 } - -D_BO_6009BC0: - { type: GFX, offset: 0x6009BC0, symbol: D_BO_6009BC0 } - -# Unused DisplayList, looks like a tube. -D_BO_600A2C0: - { type: GFX, offset: 0x600A2C0, symbol: D_BO_600A2C0 } - -D_BO_600A810: - { type: GFX, offset: 0x600A810, symbol: D_BO_600A810 } - -# Unused DisplayList, looks like a cube with an entrance. -D_BO_600AB90: - { type: GFX, offset: 0x600AB90, symbol: D_BO_600AB90 } - -D_BO_600AD80: - { type: TEXTURE, format: RGBA16, offset: 0x0600AD80, width: 32, height: 32, ctype: u16, symbol: D_BO_600AD80 } - -aBoBuildingDL: - { type: GFX, offset: 0x600B8B0, symbol: aBoBuildingDL } - -D_BO_600BAA0: - { type: GFX, offset: 0x600BAA0, symbol: D_BO_600BAA0 } - -D_BO_600BEC0: - { type: GFX, offset: 0x600BEC0, symbol: D_BO_600BEC0 } - -D_BO_600BF30: - { type: GFX, offset: 0x600BF30, symbol: D_BO_600BF30 } - -D_BO_600C0B8: - { type: VTX, count: 34, offset: 0x600C0B8, symbol: D_BO_600C0B8 } - -D_BO_600C2D8: - { type: TEXTURE, format: IA8, offset: 0x0600C2D8, width: 32, height: 16, ctype: u8, symbol: D_BO_600C2D8 } - -aBoBaseShieldDL: - { type: GFX, offset: 0x600C4E0, symbol: aBoBaseShieldDL } - -aBoBaseShieldTex: - { type: TEXTURE, format: RGBA16, offset: 0x0600CF88, width: 16, height: 16, ctype: u16, symbol: aBoBaseShieldTex } - -D_BO_600D190: - { type: GFX, offset: 0x600D190, symbol: D_BO_600D190 } - -D_BO_600D2A0: - { type: TEXTURE, format: RGBA16, offset: 0x0600D2A0, width: 32, height: 64, ctype: u16, symbol: D_BO_600D2A0 } - -D_BO_600E2A0: - { type: TEXTURE, format: RGBA16, offset: 0x0600E2A0, width: 32, height: 64, ctype: u16, symbol: D_BO_600E2A0 } - -aBoLaserCannonAnim: - { type: SF64:ANIM, offset: 0x600F2E0, symbol: aBoLaserCannonAnim } - -aBoLaserCannonSkel: - { type: SF64:SKELETON, offset: 0x600F36C, symbol: aBoLaserCannonSkel } - -aBoShieldReactorAnim: - { type: SF64:ANIM, offset: 0x600F3D8, symbol: aBoShieldReactorAnim } - -aBoShieldReactorSkel: - { type: SF64:SKELETON, offset: 0x600F4A4, symbol: aBoShieldReactorSkel } - -aBoPoleDL: - { type: GFX, offset: 0x600F4C0, symbol: aBoPoleDL } - -D_BO_600F728: - { type: TEXTURE, format: RGBA16, offset: 0x0600F728, width: 32, height: 32, ctype: u16, symbol: D_BO_600F728 } - -D_BO_600FF30: - { type: SF64:ENVIRONMENT, offset: 0x600FF30, symbol: D_BO_600FF30 } - -D_BO_600FF74: - { type: SF64:OBJECT_INIT, offset: 0x600FF74, symbol: D_BO_600FF74 } - -D_BO_6010294: - { type: SF64:COLPOLY, count: 262, offset: 0x6010294, symbol: D_BO_6010294, mesh_symbol: D_BO_OFFSET } - -PAD_BO_6011B20: - { type: BLOB, size: 0x4, offset: 0x6011B20, symbol: PAD_BO_6011B20, mesh_symbol: D_BO_OFFSET } - -aBoShieldReactorHitbox: - { type: SF64:HITBOX, offset: 0x6011B24, symbol: aBoShieldReactorHitbox } - -D_BO_6011BA4: - { type: SF64:HITBOX, offset: 0x6011BA4, symbol: D_BO_6011BA4 } - -aBoLaserCannonHitbox: - { type: SF64:HITBOX, offset: 0x6011BF4, symbol: aBoLaserCannonHitbox } - -aBoPoleHitbox: - { type: SF64:HITBOX, offset: 0x6011C10, symbol: aBoPoleHitbox } - -aBoBuildingHitbox: - { type: SF64:HITBOX, offset: 0x6011C48, symbol: aBoBuildingHitbox } - -aBoBaseCoreHitbox: - { type: SF64:HITBOX, offset: 0x6011C80, symbol: aBoBaseCoreHitbox } - -D_BO_6011E28: - { type: VTX, count: 34, offset: 0x6011E28, symbol: D_BO_6011E28 } diff --git a/assets/yaml/jp/rev0/ast_common.yaml b/assets/yaml/jp/rev0/ast_common.yaml deleted file mode 100644 index 9cceabbc..00000000 --- a/assets/yaml/jp/rev0/ast_common.yaml +++ /dev/null @@ -1,987 +0,0 @@ -:config: - segments: - - [0x1, 0x844660] - header: - code: - - '#include "assets/ast_common.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -D_1000000: - { type: TEXTURE, format: IA8, width: 64, height: 10, ctype: u8, offset: 0x1000000, symbol: D_1000000 } - -D_1000280: - { type: TEXTURE, format: IA8, width: 96, height: 10, ctype: u8, offset: 0x1000280, symbol: D_1000280 } - -D_1000640: - { type: TEXTURE, format: IA8, width: 96, height: 22, ctype: u8, offset: 0x1000640, symbol: D_1000640 } - -aBoostGaugeFrameTex: - { type: TEXTURE, format: IA8, width: 48, height: 9, ctype: u8, offset: 0x1000E80, symbol: aBoostGaugeFrameTex } - -D_1001030: - { type: TEXTURE, format: IA8, width: 8, height: 8, ctype: u8, offset: 0x1001030, symbol: D_1001030 } - -D_1001070: - { type: TEXTURE, format: IA8, width: 104, height: 10, ctype: u8, offset: 0x1001070, symbol: D_1001070 } - -D_1001480: - { type: TEXTURE, format: IA8, width: 56, height: 12, ctype: u8, offset: 0x1001480, symbol: D_1001480 } - -D_1001720: - { type: TEXTURE, format: IA8, width: 40, height: 36, ctype: u8, offset: 0x1001720, symbol: D_1001720 } - -D_1001CC0: - { type: TEXTURE, format: IA8, width: 64, height: 14, ctype: u8, offset: 0x1001CC0, symbol: D_1001CC0 } - -D_1002040: - { type: TEXTURE, format: IA8, width: 40, height: 12, ctype: u8, offset: 0x1002040, symbol: D_1002040 } - -D_1002220: - { type: TEXTURE, format: IA8, width: 8, height: 12, ctype: u8, offset: 0x1002220, symbol: D_1002220 } - -aShieldGaugeFrameEdgeTex: - { type: TEXTURE, format: IA8, width: 8, height: 12, ctype: u8, offset: 0x1002280, symbol: aShieldGaugeFrameEdgeTex } - -D_10022E0: - { type: TEXTURE, format: IA8, width: 8, height: 12, ctype: u8, offset: 0x10022E0, symbol: D_10022E0 } - -D_1002340: - { type: TEXTURE, format: IA8, width: 40, height: 10, ctype: u8, offset: 0x1002340, symbol: D_1002340 } - -D_10024D0: - { type: TEXTURE, format: IA8, width: 96, height: 32, ctype: u8, offset: 0x10024D0, symbol: D_10024D0 } - -aShieldGaugeFrameTex: - { type: TEXTURE, format: IA8, width: 8, height: 12, ctype: u8, offset: 0x10030D0, symbol: aShieldGaugeFrameTex } - -D_1003130: - { type: GFX, offset: 0x1003130, symbol: D_1003130 } - -D_1003208: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x1003208, tlut: 0x1003288, symbol: D_1003208 } - -D_1003288: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x1003288, ctype: u16, symbol: D_1003288 } - -aFalcoPortraitTex: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, ctype: u16, offset: 0x10032A0, symbol: aFalcoPortraitTex } - -D_10041C0: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, ctype: u16, offset: 0x10041C0, symbol: D_10041C0 } - -aFoxPortraitTex: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, ctype: u16, offset: 0x10050E0, symbol: aFoxPortraitTex } - -D_1006000: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, ctype: u16, offset: 0x1006000, symbol: D_1006000 } - -D_1006F20: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, ctype: u16, offset: 0x1006F20, symbol: D_1006F20 } - -D_1007E40: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, ctype: u16, offset: 0x1007E40, symbol: D_1007E40 } - -D_1008D60: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, ctype: u16, offset: 0x1008D60, symbol: D_1008D60 } - -D_1009C80: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, ctype: u16, offset: 0x1009C80, symbol: D_1009C80 } - -D_100ABA0: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, ctype: u16, offset: 0x100ABA0, symbol: D_100ABA0 } - -aPeppyPortraitTex: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, ctype: u16, offset: 0x100BAC0, symbol: aPeppyPortraitTex } - -D_100C9E0: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, ctype: u16, offset: 0x100C9E0, symbol: D_100C9E0 } - -aSlippyPortraitTex: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, ctype: u16, offset: 0x100D900, symbol: aSlippyPortraitTex } - -D_100E820: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, ctype: u16, offset: 0x100E820, symbol: D_100E820 } - -D_100F740: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, ctype: u16, offset: 0x100F740, symbol: D_100F740 } - -D_1010660: - { type: TEXTURE, format: CI4, width: 16, height: 8, ctype: u8, offset: 0x1010660, tlut: 0x10106A0, symbol: D_1010660 } - -D_10106A0: - { type: TEXTURE, format: TLUT, colors: 8, offset: 0x10106A0, ctype: u16, symbol: D_10106A0 } - -D_10106B0: - { type: TEXTURE, format: CI4, width: 16, height: 8, ctype: u8, offset: 0x10106B0, tlut: 0x10106F0, symbol: D_10106B0 } - -D_10106F0: - { type: TEXTURE, format: TLUT, colors: 8, offset: 0x10106F0, ctype: u16, symbol: D_10106F0 } - -D_1010700: - { type: TEXTURE, format: CI4, width: 16, height: 8, ctype: u8, offset: 0x1010700, tlut: 0x1010740, symbol: D_1010700 } - -D_1010740: - { type: TEXTURE, format: TLUT, colors: 8, offset: 0x1010740, ctype: u16, symbol: D_1010740 } - -D_1010750: - { type: TEXTURE, format: CI4, width: 16, height: 8, ctype: u8, offset: 0x1010750, tlut: 0x1010790, symbol: D_1010750 } - -D_1010790: - { type: TEXTURE, format: TLUT, colors: 8, offset: 0x1010790, ctype: u16, symbol: D_1010790 } - -D_10107A0: - { type: TEXTURE, format: CI4, width: 16, height: 8, ctype: u8, offset: 0x10107A0, tlut: 0x10107E0, symbol: D_10107A0 } - -D_10107E0: - { type: TEXTURE, format: TLUT, colors: 8, offset: 0x10107E0, ctype: u16, symbol: D_10107E0 } - -D_10107F0: - { type: TEXTURE, format: CI4, width: 16, height: 8, ctype: u8, offset: 0x10107F0, tlut: 0x1010830, symbol: D_10107F0 } - -D_1010830: - { type: TEXTURE, format: TLUT, colors: 8, offset: 0x1010830, ctype: u16, symbol: D_1010830 } - -D_1010840: - { type: TEXTURE, format: CI4, width: 16, height: 8, ctype: u8, offset: 0x1010840, tlut: 0x1010880, symbol: D_1010840 } - -D_1010880: - { type: TEXTURE, format: TLUT, colors: 8, offset: 0x1010880, ctype: u16, symbol: D_1010880 } - -D_1010890: - { type: TEXTURE, format: CI4, width: 16, height: 8, ctype: u8, offset: 0x1010890, tlut: 0x10108D0, symbol: D_1010890 } - -D_10108D0: - { type: TEXTURE, format: TLUT, colors: 8, offset: 0x10108D0, ctype: u16, symbol: D_10108D0 } - -D_10108E0: - { type: TEXTURE, format: CI4, width: 16, height: 8, ctype: u8, offset: 0x10108E0, tlut: 0x1010920, symbol: D_10108E0 } - -D_1010920: - { type: TEXTURE, format: TLUT, colors: 8, offset: 0x1010920, ctype: u16, symbol: D_1010920 } - -D_1010930: - { type: TEXTURE, format: CI4, width: 16, height: 8, ctype: u8, offset: 0x1010930, tlut: 0x1010970, symbol: D_1010930 } - -D_1010970: - { type: TEXTURE, format: TLUT, colors: 8, offset: 0x1010970, ctype: u16, symbol: D_1010970 } - -D_1010980: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x1010980, tlut: 0x1010A00, symbol: D_1010980 } - -D_1010A00: - { type: TEXTURE, format: TLUT, colors: 8, ctype: u16, offset: 0x1010A00, symbol: D_1010A00 } - -D_1010A10: - { type: TEXTURE, format: CI4, width: 32, height: 7, ctype: u8, offset: 0x1010A10, tlut: 0x1010A80, symbol: D_1010A10 } - -D_1010A80: - { type: TEXTURE, format: TLUT, colors: 4, ctype: u16, offset: 0x1010A80, symbol: D_1010A80 } - -D_1010A90: - { type: TEXTURE, format: CI4, width: 64, height: 49, ctype: u8, offset: 0x1010A90, tlut: 0x10110B0, symbol: D_1010A90 } - -D_10110B0: - { type: TEXTURE, format: TLUT, colors: 4, ctype: u16, offset: 0x10110B0, symbol: D_10110B0 } - -D_10110C0: - { type: TEXTURE, format: CI4, width: 16, height: 7, ctype: u8, offset: 0x10110C0, tlut: 0x10110F8, symbol: D_10110C0 } - -D_10110F8: - { type: TEXTURE, format: TLUT, colors: 6, ctype: u16, offset: 0x10110F8, symbol: D_10110F8 } - -D_1011110: - { type: TEXTURE, format: CI4, width: 16, height: 7, ctype: u8, offset: 0x1011110, tlut: 0x1011148, symbol: D_1011110 } - -D_1011148: - { type: TEXTURE, format: TLUT, colors: 6, ctype: u16, offset: 0x1011148, symbol: D_1011148 } - -D_1011160: - { type: TEXTURE, format: CI4, width: 16, height: 7, ctype: u8, offset: 0x1011160, tlut: 0x1011198, symbol: D_1011160 } - -D_1011198: - { type: TEXTURE, format: TLUT, colors: 6, ctype: u16, offset: 0x1011198, symbol: D_1011198 } - -D_10111B0: - { type: TEXTURE, format: CI4, width: 16, height: 7, ctype: u8, offset: 0x10111B0, tlut: 0x10111E8, symbol: D_10111B0 } - -D_10111E8: - { type: TEXTURE, format: TLUT, colors: 6, ctype: u16, offset: 0x10111E8, symbol: D_10111E8 } - -D_1011200: - { type: TEXTURE, format: CI4, width: 32, height: 7, ctype: u8, offset: 0x1011200, tlut: 0x1011270, symbol: D_1011200 } - -D_1011270: - { type: TEXTURE, format: TLUT, colors: 6, ctype: u16, offset: 0x1011270, symbol: D_1011270 } - -aRadarFrameTex: - { type: TEXTURE, format: CI4, width: 48, height: 44, ctype: u8, offset: 0x1011280, tlut: 0x10116A0, symbol: aRadarFrameTex } - -aRadarFrameTLUT: - { type: TEXTURE, format: TLUT, colors: 8, ctype: u16, offset: 0x10116A0, symbol: aRadarFrameTLUT } - -aVsBombIconTex: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x10116B0, tlut: 0x1011730, symbol: aVsBombIconTex } - -aVsBombIconTLUT: - { type: TEXTURE, format: TLUT, colors: 15, ctype: u16, offset: 0x1011730, symbol: aVsBombIconTLUT } - -D_1011750: - { type: TEXTURE, format: CI4, width: 80, height: 13, ctype: u8, offset: 0x1011750, tlut: 0x1011958, symbol: D_1011750 } - -D_1011958: - { type: TEXTURE, format: TLUT, colors: 16, ctype: u16, offset: 0x1011958, symbol: D_1011958 } - -D_1011980: - { type: TEXTURE, format: CI4, width: 48, height: 7, ctype: u8, offset: 0x1011980, tlut: 0x1011A28, symbol: D_1011980 } - -D_1011A28: - { type: TEXTURE, format: TLUT, colors: 12, ctype: u16, offset: 0x1011A28, symbol: D_1011A28 } - -D_1011A40: - { type: TEXTURE, format: CI4, width: 32, height: 7, ctype: u8, offset: 0x1011A40, tlut: 0x1011AB0, symbol: D_1011A40 } - -D_1011AB0: - { type: TEXTURE, format: TLUT, colors: 8, ctype: u16, offset: 0x1011AB0, symbol: D_1011AB0 } - -aIncomingMsgButtonTex: - { type: TEXTURE, format: CI4, width: 16, height: 26, ctype: u8, offset: 0x1011AC0, tlut: 0x1011B90, symbol: aIncomingMsgButtonTex } - -aIncomingMsgButtonTLUT: - { type: TEXTURE, format: TLUT, colors: 15, ctype: u16, offset: 0x1011B90, symbol: aIncomingMsgButtonTLUT } - -aIncomingMsgSignal1Tex: - { type: TEXTURE, format: CI4, width: 16, height: 26, ctype: u8, offset: 0x1011BB0, tlut: 0x1011C80, symbol: aIncomingMsgSignal1Tex } - -aIncomingMsgSignal1TLUT: - { type: TEXTURE, format: TLUT, colors: 15, ctype: u16, offset: 0x1011C80, symbol: aIncomingMsgSignal1TLUT } - -aIncomingMsgSignal2Tex: - { type: TEXTURE, format: CI4, width: 16, height: 26, ctype: u8, offset: 0x1011CA0, tlut: 0x1011D70, symbol: aIncomingMsgSignal2Tex } - -aIncomingMsgSignal2TLUT: - { type: TEXTURE, format: TLUT, colors: 15, ctype: u16, offset: 0x1011D70, symbol: aIncomingMsgSignal2TLUT } - -aIncomingMsgSignal3Tex: - { type: TEXTURE, format: CI4, width: 16, height: 26, ctype: u8, offset: 0x1011D90, tlut: 0x1011E60, symbol: aIncomingMsgSignal3Tex } - -aIncomingMsgSignal3TLUT: - { type: TEXTURE, format: TLUT, colors: 15, ctype: u16, offset: 0x1011E60, symbol: aIncomingMsgSignal3TLUT } - -D_1011E80: - { type: TEXTURE, format: CI4, width: 16, height: 8, ctype: u8, offset: 0x1011E80, tlut: 0x1011EC0, symbol: D_1011E80 } - -D_1011EC0: - { type: TEXTURE, format: TLUT, colors: 8, ctype: u16, offset: 0x1011EC0, symbol: D_1011EC0 } - -aXTex: - { type: TEXTURE, format: CI4, width: 16, height: 7, ctype: u8, offset: 0x1011ED0, tlut: 0x1011F08, symbol: aXTex } - -aXTLUT: - { type: TEXTURE, format: TLUT, colors: 12, ctype: u16, offset: 0x1011F08, symbol: aXTLUT } - -D_1011F20: - { type: GFX, offset: 0x1011F20, symbol: D_1011F20 } - -D_1012000: - { type: TEXTURE, format: CI4, width: 32, height: 16, ctype: u8, offset: 0x1012000, tlut: 0x1012100, symbol: D_1012000 } - -D_1012100: - { type: TEXTURE, format: TLUT, colors: 8, offset: 0x1012100, ctype: u16, symbol: D_1012100 } - -aGoldRingEmptySlotDL: - { type: GFX, offset: 0x1012110, symbol: aGoldRingEmptySlotDL } - -aGoldRingEmptySlotTex: - { type: TEXTURE, format: IA8, width: 16, height: 16, ctype: u8, offset: 0x1012190, symbol: aGoldRingEmptySlotTex } - -D_1012290: - { type: TEXTURE, format: CI8, width: 48, height: 22, ctype: u8, offset: 0x1012290, tlut: 0x10126B0, symbol: D_1012290 } - -D_10126B0: - { type: TEXTURE, format: TLUT, colors: 32, ctype: u16, offset: 0x10126B0, symbol: D_10126B0 } - -D_10126F0: - { type: TEXTURE, format: CI8, width: 24, height: 4, ctype: u8, offset: 0x10126F0, tlut: 0x1012750, symbol: D_10126F0 } - -D_1012750: - { type: TEXTURE, format: TLUT, colors: 59, ctype: u16, offset: 0x1012750, symbol: D_1012750 } - -D_1013780: - { type: TEXTURE, format: CI8, width: 48, height: 141, ctype: u8, offset: 0x1013780, tlut: 0x10151F0, symbol: D_1013780 } - -D_10151F0: - { type: TEXTURE, format: TLUT, colors: 146, ctype: u16, offset: 0x10151F0, symbol: D_10151F0 } - -aBoostGaugeCoolTex: - { type: TEXTURE, format: CI8, width: 40, height: 5, ctype: u8, offset: 0x10127D0, tlut: 0x1012898, symbol: aBoostGaugeCoolTex } - -aBoostGaugeCoolTLUT: - { type: TEXTURE, format: TLUT, colors: 20, ctype: u16, offset: 0x1012898, symbol: aBoostGaugeCoolTLUT } - -aBoostGaugeOverheatTex: - { type: TEXTURE, format: CI8, width: 40, height: 5, ctype: u8, offset: 0x10128C0, tlut: 0x1012988, symbol: aBoostGaugeOverheatTex } - -aBoostGaugeOverheatTLUT: - { type: TEXTURE, format: TLUT, colors: 28, ctype: u16, offset: 0x1012988, symbol: aBoostGaugeOverheatTLUT } - -D_10129C0: - { type: TEXTURE, format: CI8, width: 16, height: 109, ctype: u8, offset: 0x10129C0, tlut: 0x1013090, symbol: D_10129C0 } - -D_1013090: - { type: TEXTURE, format: TLUT, colors: 112, ctype: u16, offset: 0x1013090, symbol: D_1013090 } - -aMsgWindowBgTex: - { type: TEXTURE, format: CI8, width: 32, height: 32, ctype: u8, offset: 0x1013170, tlut: 0x1013570, symbol: aMsgWindowBgTex } - -aMsgWindowBgTLUT: - { type: TEXTURE, format: TLUT, colors: 8, ctype: u16, offset: 0x1013570, symbol: aMsgWindowBgTLUT } - -aShieldGaugeTex: - { type: TEXTURE, format: CI8, width: 48, height: 8, ctype: u8, offset: 0x1013580, tlut: 0x1013700, symbol: aShieldGaugeTex } - -aShieldGaugeTLUT: - { type: TEXTURE, format: TLUT, colors: 58, ctype: u16, offset: 0x1013700, symbol: aShieldGaugeTLUT } - -D_1015320: - { type: GFX, offset: 0x1015320, symbol: D_1015320 } - -D_10153F8: - { type: TEXTURE, format: CI4, width: 32, height: 16, ctype: u8, offset: 0x10153F8, tlut: 0x10154F8, symbol: D_10153F8 } - -D_10154F8: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x10154F8, ctype: u16, symbol: D_10154F8 } - -aRadarMarkArwingDL: - { type: GFX, offset: 0x1015510, symbol: aRadarMarkArwingDL } - -aRadarMarkArwingTex: - { type: TEXTURE, format: IA8, width: 16, height: 16, ctype: u8, offset: 0x1015598, symbol: aRadarMarkArwingTex } - -D_10156A0: - { type: GFX, offset: 0x10156A0, symbol: D_10156A0 } - -D_1015778: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x1015778, tlut: 0x10157F8, symbol: D_1015778 } - -D_10157F8: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x10157F8, ctype: u16, symbol: D_10157F8 } - -D_1015810: - { type: GFX, offset: 0x1015810, symbol: D_1015810 } - -D_10158E8: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x10158E8, tlut: 0x1015968, symbol: D_10158E8 } - -D_1015968: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x1015968, ctype: u16, symbol: D_1015968 } - -D_1015980: - { type: GFX, offset: 0x1015980, symbol: D_1015980 } - -D_1015A58: - { type: TEXTURE, format: CI4, width: 32, height: 16, ctype: u8, offset: 0x1015A58, tlut: 0x1015B58, symbol: D_1015A58 } - -D_1015B58: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x1015B58, ctype: u16, symbol: D_1015B58 } - -D_1015B70: - { type: GFX, offset: 0x1015B70, symbol: D_1015B70 } - -D_1015C48: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x1015C48, tlut: 0x1015CC8, symbol: D_1015C48 } - -D_1015CC8: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x1015CC8, ctype: u16, symbol: D_1015CC8 } - -D_1015CE0: - { type: GFX, offset: 0x1015CE0, symbol: D_1015CE0 } - -D_1015DB8: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x1015DB8, tlut: 0x1015E38, symbol: D_1015DB8 } - -D_1015E38: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x1015E38, ctype: u16, symbol: D_1015E38 } - -D_1015E50: - { type: GFX, offset: 0x1015E50, symbol: D_1015E50 } - -D_1015F28: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x1015F28, tlut: 0x1015FA8, symbol: D_1015F28 } - -D_1015FA8: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x1015FA8, ctype: u16, symbol: D_1015FA8 } - -D_1015FC0: - { type: GFX, offset: 0x1015FC0, symbol: D_1015FC0 } - -D_1016098: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x1016098, tlut: 0x1016118, symbol: D_1016098 } - -D_1016118: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x1016118, ctype: u16, symbol: D_1016118 } - -D_1016130: - { type: GFX, offset: 0x1016130, symbol: D_1016130 } - -D_1016208: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x1016208, tlut: 0x1016288, symbol: D_1016208 } - -D_1016288: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x1016288, ctype: u16, symbol: D_1016288 } - -D_10162A0: - { type: GFX, offset: 0x10162A0, symbol: D_10162A0 } - -D_1016378: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x1016378, tlut: 0x10163F8, symbol: D_1016378 } - -D_10163F8: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x10163F8, ctype: u16, symbol: D_10163F8 } - -D_1016410: - { type: GFX, offset: 0x1016410, symbol: D_1016410 } - -D_10164E8: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x10164E8, tlut: 0x1016568, symbol: D_10164E8 } - -D_1016568: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x1016568, ctype: u16, symbol: D_1016568 } - -D_1016580: - { type: GFX, offset: 0x1016580, symbol: D_1016580 } - -D_1016658: - { type: TEXTURE, format: CI4, width: 64, height: 16, ctype: u8, offset: 0x1016658, tlut: 0x1016858, symbol: D_1016658 } - -D_1016858: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x1016858, ctype: u16, symbol: D_1016858 } - -D_1016870: - { type: GFX, offset: 0x1016870, symbol: D_1016870 } - -D_1016BC8: - { type: TEXTURE, format: CI8, width: 32, height: 32, ctype: u8, offset: 0x1016BC8, tlut: 0x1012100, symbol: D_1016BC8} - -D_1016FC8: - { type: TEXTURE, format: TLUT, colors: 256, offset: 0x1016FC8, ctype: u16, symbol: D_1016FC8 } - -D_10171D0: - { type: GFX, offset: 0x10171D0, symbol: D_10171D0 } - -D_10172A8: - { type: TEXTURE, format: CI4, width: 32, height: 16, ctype: u8, offset: 0x10172A8, tlut: 0x10173A8, symbol: D_10172A8 } - -D_10173A8: - { type: TEXTURE, format: TLUT, colors: 16, offset: 0x10173A8, ctype: u16, symbol: D_10173A8 } - -D_10173D0: - { type: GFX, offset: 0x10173D0, symbol: D_10173D0 } - -D_10174A8: - { type: TEXTURE, format: CI4, width: 32, height: 16, ctype: u8, offset: 0x10174A8, tlut: 0x10175A8, symbol: D_10174A8 } - -D_10175A8: - { type: TEXTURE, format: TLUT, colors: 8, offset: 0x10175A8, ctype: u16, symbol: D_10175A8 } - -D_10175C0: - { type: GFX, offset: 0x10175C0, symbol: D_10175C0 } - -D_1017698: - { type: TEXTURE, format: CI4, width: 32, height: 16, ctype: u8, offset: 0x1017698, tlut: 0x1017798, symbol: D_1017698 } - -D_1017798: - { type: TEXTURE, format: TLUT, colors: 16, offset: 0x1017798, ctype: u16, symbol: D_1017798 } - -aActorSuppliesDL: - { type: GFX, offset: 0x10177C0, symbol: aActorSuppliesDL } - -D_1017A38: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, ctype: u16, offset: 0x1017A38, symbol: D_1017A38 } - -D_1018238: - { type: TEXTURE, format: RGBA16, width: 8, height: 8, ctype: u16, offset: 0x1018238, symbol: D_1018238 } - -D_10182C0: - { type: GFX, offset: 0x10182C0, symbol: D_10182C0 } - -D_10190C0: - { type: TEXTURE, format: RGBA16, width: 16, height: 32, ctype: u16, offset: 0x10190C0, symbol: D_10190C0 } - -D_10194C0: - { type: GFX, offset: 0x10194C0, symbol: D_10194C0 } - -D_1019620: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, ctype: u16, offset: 0x1019620, symbol: D_1019620 } - -D_1019820: - { type: GFX, offset: 0x1019820, symbol: D_1019820 } - -D_1019CA0: - { type: GFX, offset: 0x1019CA0, symbol: D_1019CA0 } - -D_1019AF0: - { type: TEXTURE, format: CI8, width: 16, height: 16, ctype: u8, offset: 0x1019AF0, symbol: D_1019AF0 } - -D_1019BF0: - { type: TEXTURE, format: TLUT, colors: 88, offset: 0x1019BF0, ctype: u16, symbol: D_1019BF0 } - -D_101A140: - { type: TEXTURE, format: CI8, width: 32, height: 32, ctype: u8, offset: 0x101A140, symbol: D_101A140 } - -D_101A540: - { type: TEXTURE, format: TLUT, colors: 24, offset: 0x101A540, ctype: u16, symbol: D_101A540 } - -D_101A570: - { type: GFX, offset: 0x101A570, symbol: D_101A570 } - -D_101A8E0: - { type: GFX, offset: 0x101A8E0, symbol: D_101A8E0 } - -D_101A9B8: - { type: TEXTURE, format: CI4, width: 32, height: 32, ctype: u8, offset: 0x101A9B8, tlut: 0x101ABB8, symbol: D_101A9B8 } - -D_101ABB8: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x101ABB8, ctype: u16, symbol: D_101ABB8 } - -D_101ABD0: - { type: GFX, offset: 0x101ABD0, symbol: D_101ABD0 } - -D_101AC98: - { type: TEXTURE, format: RGBA16, width: 8, height: 8, ctype: u16, offset: 0x0101AC98, symbol: D_101AC98 } - -D_101AD20: - { type: GFX, offset: 0x101AD20, symbol: D_101AD20 } - -D_101AE48: - { type: TEXTURE, format: RGBA16, width: 8, height: 8, ctype: u16, offset: 0x101AE48, symbol: D_101AE48 } - -D_101AED0: - { type: GFX, offset: 0x101AED0, symbol: D_101AED0 } - -D_101AF98: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, ctype: u16, offset: 0x101AF98, symbol: D_101AF98 } - -aGoldRingFrame12DL: - { type: GFX, offset: 0x101B1A0, symbol: aGoldRingFrame12DL } - -D_101B268: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x101B268, tlut: 0x101B2E8, symbol: D_101B268 } - -D_101B2E8: - { type: TEXTURE, format: TLUT, colors: 20, offset: 0x101B2E8, ctype: u16, symbol: D_101B2E8 } - -aGoldRingFrame11DL: - { type: GFX, offset: 0x101B310, symbol: aGoldRingFrame11DL } - -D_101B3D8: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x101B3D8, tlut: 0x101B458, symbol: D_101B3D8 } - -D_101B458: - { type: TEXTURE, format: TLUT, colors: 20, offset: 0x101B458, ctype: u16, symbol: D_101B458 } - -aGoldRingFrame10DL: - { type: GFX, offset: 0x101B480, symbol: aGoldRingFrame10DL } - -D_101B548: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x101B548, tlut: 0x101B5C8, symbol: D_101B548 } - -D_101B5C8: - { type: TEXTURE, format: TLUT, colors: 20, offset: 0x101B5C8, ctype: u16, symbol: D_101B5C8 } - -aGoldRingFrame9DL: - { type: GFX, offset: 0x101B5F0, symbol: aGoldRingFrame9DL } - -D_101B6B8: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x101B6B8, tlut: 0x101B738, symbol: D_101B6B8 } - -D_101B738: - { type: TEXTURE, format: TLUT, colors: 20, offset: 0x101B738, ctype: u16, symbol: D_101B738 } - -aGoldRingFrame8DL: - { type: GFX, offset: 0x101B760, symbol: aGoldRingFrame8DL } - -D_101B828: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x101B828, tlut: 0x101B8A8, symbol: D_101B828 } - -D_101B8A8: - { type: TEXTURE, format: TLUT, colors: 20, offset: 0x101B8A8, ctype: u16, symbol: D_101B8A8 } - -aGoldRingFrame7DL: - { type: GFX, offset: 0x101B8D0, symbol: aGoldRingFrame7DL } - -D_101B998: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x101B998, tlut: 0x101BA18, symbol: D_101B998 } - -D_101BA18: - { type: TEXTURE, format: TLUT, colors: 20, offset: 0x101BA18, ctype: u16, symbol: D_101BA18 } - -aGoldRingFrame6DL: - { type: GFX, offset: 0x101BA40, symbol: aGoldRingFrame6DL } - -D_101BB08: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x101BB08, tlut: 0x101BB88, symbol: D_101BB08 } - -D_101BB88: - { type: TEXTURE, format: TLUT, colors: 20, offset: 0x101BB88, ctype: u16, symbol: D_101BB88 } - -aGoldRingFrame5DL: - { type: GFX, offset: 0x101BBB0, symbol: aGoldRingFrame5DL } - -D_101BC78: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x101BC78, tlut: 0x101BCF8, symbol: D_101BC78 } - -D_101BCF8: - { type: TEXTURE, format: TLUT, colors: 20, offset: 0x101BCF8, ctype: u16, symbol: D_101BCF8 } - -aGoldRingFrame4DL: - { type: GFX, offset: 0x101BD20, symbol: aGoldRingFrame4DL } - -D_101BDE8: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x101BDE8, tlut: 0x101BE68, symbol: D_101BDE8 } - -D_101BE68: - { type: TEXTURE, format: TLUT, colors: 20, offset: 0x101BE68, ctype: u16, symbol: D_101BE68 } - -aGoldRingFrame3DL: - { type: GFX, offset: 0x101BE90, symbol: aGoldRingFrame3DL } - -D_101BF58: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x101BF58, tlut: 0x101BFD8, symbol: D_101BF58 } - -D_101BFD8: - { type: TEXTURE, format: TLUT, colors: 20, offset: 0x101BFD8, ctype: u16, symbol: D_101BFD8 } - -aGoldRingFrame2DL: - { type: GFX, offset: 0x101C000, symbol: aGoldRingFrame2DL } - -D_101C0C8: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x101C0C8, tlut: 0x101C148, symbol: D_101C0C8 } - -D_101C148: - { type: TEXTURE, format: TLUT, colors: 20, offset: 0x101C148, ctype: u16, symbol: D_101C148 } - -aGoldRingFrame1DL: - { type: GFX, offset: 0x101C170, symbol: aGoldRingFrame1DL } - -D_101C238: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x101C238, tlut: 0x101C2B8, symbol: D_101C238 } - -D_101C2B8: - { type: TEXTURE, format: TLUT, colors: 20, offset: 0x101C2B8, ctype: u16, symbol: D_101C2B8 } - -aStarDL: - { type: GFX, offset: 0x101C2E0, symbol: aStarDL } - -aStarTex: - { type: TEXTURE, format: IA8, width: 32, height: 32, ctype: u8, colors: 20, offset: 0x101C368, symbol: aStarTex } - -D_101C770: - { type: GFX, offset: 0x101C770, symbol: D_101C770 } - -D_101C920: - { type: TEXTURE, format: CI8, width: 16, height: 16, ctype: u8, offset: 0x101C920, tlut: 0x101CA20, symbol: D_101C920 } - -D_101CA20: - { type: TEXTURE, format: TLUT, colors: 96, offset: 0x101CA20, ctype: u16, symbol: D_101CA20 } - -D_101CAE0: - { type: GFX, offset: 0x101CAE0, symbol: D_101CAE0 } - -D_101CBC0: - { type: TEXTURE, format: CI8, width: 16, height: 16, ctype: u8, offset: 0x101CBC0, tlut: 0x101CCC0, symbol: D_101CBC0 } - -D_101CCC0: - { type: TEXTURE, format: TLUT, colors: 88, offset: 0x101CCC0, ctype: u16, symbol: D_101CCC0 } - -aUnusedShieldDL: - { type: GFX, offset: 0x101CD70, symbol: aUnusedShieldDL } - -aUnusedShieldTex: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, ctype: u16, offset: 0x101D070, symbol: aUnusedShieldTex } - -D_101D870: - { type: GFX, offset: 0x101D870, symbol: D_101D870 } - -ast_common_seg1_vtx_1D9C8: - { type: VTX, offset: 0x101D9C8, count: 36, symbol: ast_common_seg1_vtx_1D9C8 } - -D_101DE20: - { type: TEXTURE, format: IA8, width: 128, height: 32, ctype: u8, offset: 0x101DE20, symbol: D_101DE20 } - -aBarrelRollTex: - { type: GFX, offset: 0x101DC10, symbol: aBarrelRollTex } - -D_101EE20: - { type: TEXTURE, format: IA8, width: 128, height: 32, ctype: u8, offset: 0x101EE20, symbol: D_101EE20 } - -D_101FE20: - { type: TEXTURE, format: IA8, width: 128, height: 32, ctype: u8, offset: 0x101FE20, symbol: D_101FE20 } - -D_1020E20: - { type: TEXTURE, format: IA8, width: 128, height: 32, ctype: u8, offset: 0x1020E20, symbol: D_1020E20 } - -D_1021E20: - { type: GFX, offset: 0x1021E20, symbol: D_1021E20 } - -D_1021EF8: - { type: TEXTURE, format: CI4, width: 32, height: 32, ctype: u8, offset: 0x1021EF8, tlut: 0x10220F8, symbol: D_1021EF8 } - -D_10220F8: - { type: TEXTURE, format: TLUT, colors: 20, offset: 0x10220F8, ctype: u16, symbol: D_10220F8 } - -D_1022120: - { type: GFX, offset: 0x1022120, symbol: D_1022120 } - -ast_common_seg1_vtx_22480: - { type: VTX, offset: 0x1022480, count: 124, symbol: ast_common_seg1_vtx_22480 } - -D_1022C40: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x1022C40, tlut: 0x1022CC0, symbol: D_1022C40 } - -D_1022CC0: - { type: TEXTURE, format: TLUT, colors: 16, offset: 0x1022CC0, ctype: u16, symbol: D_1022CC0 } - -D_1022CE0: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x1022CE0, tlut: 0x1022D60, symbol: D_1022CE0 } - -D_1022D60: - { type: TEXTURE, format: TLUT, colors: 16, offset: 0x1022D60, ctype: u16, symbol: D_1022D60 } - -D_1022D80: - { type: TEXTURE, format: RGBA16, width: 8, height: 16, ctype: u16, offset: 0x1022D80, symbol: D_1022D80 } - -D_1022E80: - { type: GFX, offset: 0x1022E80, symbol: D_1022E80 } - -D_1022F80: - { type: TEXTURE, format: CI4, width: 32, height: 32, ctype: u8, offset: 0x1022F80, tlut: 0x1023180, symbol: D_1022F80 } - -D_1023180: - { type: TEXTURE, format: TLUT, colors: 16, offset: 0x1023180, ctype: u16, symbol: D_1023180 } - -D_10231A0: - { type: GFX, offset: 0x10231A0, symbol: D_10231A0 } - -D_1023518: - { type: TEXTURE, format: IA8, width: 4, height: 5, ctype: u8, offset: 0x1023518, symbol: D_1023518 } - -D_1023530: - { type: TEXTURE, format: CI8, width: 16, height: 16, ctype: u8, offset: 0x1023530, tlut: 0x1023630, symbol: D_1023530 } - -D_1023630: - { type: TEXTURE, format: TLUT, colors: 104, offset: 0x1023630, ctype: u16, symbol: D_1023630 } - -D_1023700: - { type: GFX, offset: 0x1023700, symbol: D_1023700 } - -D_1023750: - { type: GFX, offset: 0x1023750, symbol: D_1023750 } - -D_10237E0: - { type: GFX, offset: 0x10237E0, symbol: D_10237E0 } - -D_1023878: - { type: TEXTURE, format: IA8, width: 32, height: 32, ctype: u8, offset: 0x1023878, symbol: D_1023878 } - -D_1023C80: - { type: GFX, offset: 0x1023C80, symbol: D_1023C80 } - -D_1023E10: - { type: TEXTURE, format: CI4, width: 64, height: 16, ctype: u8, offset: 0x1023E10, tlut: 0x1024010, symbol: D_1023E10 } - -D_1024010: - { type: TEXTURE, format: TLUT, colors: 8, offset: 0x1024010, ctype: u16, symbol: D_1024010 } - -D_1024020: - { type: TEXTURE, format: CI4, width: 64, height: 16, ctype: u8, offset: 0x1024020, tlut: 0x1024220, symbol: D_1024020 } - -D_1024220: - { type: TEXTURE, format: TLUT, colors: 8, offset: 0x1024220, ctype: u16, symbol: D_1024220 } - -D_1024230: - { type: GFX, offset: 0x1024230, symbol: D_1024230 } - -D_1024290: - { type: GFX, offset: 0x1024290, symbol: D_1024290 } - -aPeppyMarkDL: - { type: GFX, offset: 0x1024410, symbol: aPeppyMarkDL } - -aPeppyMarkTex: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x10244D8, tlut: 0x1024558, symbol: aPeppyMarkTex } - -aPeppyMarkTLUT: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x1024558, ctype: u16, symbol: aPeppyMarkTLUT } - -aFalcoMarkDL: - { type: GFX, offset: 0x1024570, symbol: aFalcoMarkDL } - -aFalcoMarkTex: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x1024638, tlut: 0x10246B8, symbol: aFalcoMarkTex } - -aFalcoMarkTLUT: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x10246B8, ctype: u16, symbol: aFalcoMarkTLUT } - -aSlippyMarkDL: - { type: GFX, offset: 0x10246D0, symbol: aSlippyMarkDL } - -aSlippyMarkTex: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x1024798, tlut: 0x1024818, symbol: aSlippyMarkTex } - -aSlippyMarkTLUT: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x1024818, ctype: u16, symbol: aSlippyMarkTLUT } - -aRadarMarkBossDL: - { type: GFX, offset: 0x1024830, symbol: aRadarMarkBossDL } - -D_10248F8: - { type: TEXTURE, format: CI4, width: 16, height: 16, ctype: u8, offset: 0x10248F8, tlut: 0x1024978, symbol: D_10248F8 } - -D_1024978: - { type: TEXTURE, format: TLUT, colors: 12, offset: 0x1024978, ctype: u16, symbol: D_1024978 } - -aArrowDL: - { type: GFX, offset: 0x1024990, symbol: aArrowDL } - -D_1024A58: - { type: TEXTURE, format: CI4, width: 16, height: 8, ctype: u8, offset: 0x1024A58, tlut: 0x1024A98, symbol: D_1024A58 } - -D_1024A98: - { type: TEXTURE, format: TLUT, colors: 20, offset: 0x1024A98, ctype: u16, symbol: D_1024A98 } - -aOrbDL: - { type: GFX, offset: 0x1024AC0, symbol: aOrbDL } - -D_1024B58: - { type: TEXTURE, format: IA8, width: 32, height: 32, ctype: u8, offset: 0x1024B58, symbol: D_1024B58 } - -D_1024F60: - { type: GFX, offset: 0x1024F60, symbol: D_1024F60 } - -D_1024FF8: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, ctype: u16, offset: 0x1024FF8, symbol: D_1024FF8 } - -D_1025800: - { type: GFX, offset: 0x1025800, symbol: D_1025800 } - -D_1025888: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, ctype: u16, offset: 0x1025888, symbol: D_1025888 } - -D_1026090: - { type: GFX, offset: 0x1026090, symbol: D_1026090 } - -D_1026120: - { type: GFX, offset: 0x1026120, symbol: D_1026120 } - -D_1026230: - { type: TEXTURE, format: RGBA16, width: 32, height: 64, ctype: u16, offset: 0x1026230, symbol: D_1026230 } - -D_1027230: - { type: TEXTURE, format: RGBA16, width: 32, height: 64, ctype: u16, offset: 0x1027230, symbol: D_1027230 } - -D_1028230: - { type: GFX, offset: 0x1028230, symbol: D_1028230 } - -D_10288D8: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, ctype: u16, offset: 0x10288D8, symbol: D_10288D8 } - -D_1028AD8: - { type: TEXTURE, format: RGBA16, width: 8, height: 8, ctype: u16, offset: 0x1028AD8, symbol: D_1028AD8 } - -D_1028B58: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, ctype: u16, offset: 0x1028B58, symbol: D_1028B58 } - -D_1028D58: - { type: TEXTURE, format: RGBA16, width: 8, height: 8, ctype: u16, offset: 0x1028D58, symbol: D_1028D58 } - -D_1028DE0: - { type: GFX, offset: 0x1028DE0, symbol: D_1028DE0 } - -D_1028E68: - { type: TEXTURE, format: RGBA16, width: 8, height: 8, ctype: u16, offset: 0x1028E68, symbol: D_1028E68 } - -D_1028EF0: - { type: GFX, offset: 0x1028EF0, symbol: D_1028EF0 } - -D_1028F78: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, ctype: u16, offset: 0x1028F78, symbol: D_1028F78 } - -D_1029780: - { type: GFX, offset: 0x1029780, symbol: D_1029780 } - -D_1029808: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, ctype: u16, offset: 0x1029808, symbol: D_1029808 } - -D_102A010: - { type: GFX, offset: 0x102A010, symbol: D_102A010 } - -D_102A098: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, ctype: u16, offset: 0x102A098, symbol: D_102A098 } - -aBallDL: - { type: GFX, offset: 0x102A8A0, symbol: aBallDL } - -D_102A928: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, ctype: u16, offset: 0x102A928, symbol: D_102A928 } - -D_102AB30: - { type: GFX, offset: 0x102AB30, symbol: D_102AB30 } - -D_102AC40: - { type: TEXTURE, format: RGBA16, width: 32, height: 64, ctype: u16, offset: 0x102AC40, symbol: D_102AC40 } - -D_102BC40: - { type: TEXTURE, format: RGBA16, width: 32, height: 64, ctype: u16, offset: 0x102BC40, symbol: D_102BC40 } - -D_102CC40: - { type: GFX, offset: 0x102CC40, symbol: D_102CC40 } - -D_102CD50: - { type: TEXTURE, format: RGBA16, width: 32, height: 64, ctype: u16, offset: 0x102CD50, symbol: D_102CD50 } - -D_102DD50: - { type: TEXTURE, format: RGBA16, width: 32, height: 64, ctype: u16, offset: 0x102DD50, symbol: D_102DD50 } - -aBlueSphereDL: - { type: GFX, offset: 0x102ED50, symbol: aBlueSphereDL } - -D_102EDD8: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, ctype: u16, offset: 0x102EDD8, symbol: D_102EDD8 } - -D_102F5E0: - { type: GFX, offset: 0x102F5E0, symbol: D_102F5E0 } - -D_102F678: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, ctype: u16, offset: 0x102F678, symbol: D_102F678 } - -D_102FE80: - { type: GFX, offset: 0x102FE80, symbol: D_102FE80 } - -D_102FF08: - { type: TEXTURE, format: RGBA16, width: 8, height: 8, ctype: u16, offset: 0x102FF08, symbol: D_102FF08 } - -D_102FF90: - { type: GFX, offset: 0x102FF90, symbol: D_102FF90 } - -D_1031228: - { type: TEXTURE, format: RGBA16, width: 32, height: 16, ctype: u16, offset: 0x1031228, symbol: D_1031228 } - -D_1031630: - { type: GFX, offset: 0x1031630, symbol: D_1031630 } - -D_1031CC08: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, ctype: u16, offset: 0x1031CC0, symbol: D_1031CC0 } - -D_1031EC0: - { type: GFX, offset: 0x1031EC0, symbol: D_1031EC0 } - -D_1032578: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, ctype: u16, offset: 0x1032578, symbol: D_1032578 } - -aArwingShadowDL: - { type: GFX, offset: 0x1032780, symbol: aArwingShadowDL } - -D_1032808: - { type: TEXTURE, format: IA8, width: 32, height: 32, ctype: u8, offset: 0x1032808, symbol: D_1032808 } diff --git a/assets/yaml/jp/rev0/ast_corneria.yaml b/assets/yaml/jp/rev0/ast_corneria.yaml deleted file mode 100644 index 10081e3f..00000000 --- a/assets/yaml/jp/rev0/ast_corneria.yaml +++ /dev/null @@ -1,589 +0,0 @@ -:config: - segments: - - [0x06, 0x932200] - header: - code: - - '#include "assets/ast_corneria.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - - '#include "sf64mesg.h"' - -# Corneria -# Former Army Base -aCoTitleCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 128, height: 28, offset: 0x6000000, symbol: aCoTitleCardTex } - -aCoWaterfallDL: - { type: GFX, offset: 0x6000E00, symbol: aCoWaterfallDL } - -D_CO_60018F8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060018F8, symbol: D_CO_60018F8 } - -D_CO_60020F8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060020F8, symbol: D_CO_60020F8 } - -D_CO_60028F8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x060028F8, symbol: D_CO_60028F8 } - -D_CO_60038F8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060038F8, symbol: D_CO_60038F8 } - -D_CO_60040F8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060040F8, symbol: D_CO_60040F8 } - -D_CO_60049F0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x060049F0, symbol: D_CO_60049F0 } - -D_CO_6004900: - { type: GFX, offset: 0x6004900, symbol: D_CO_6004900 } - -D_CO_60059F0: - { type: GFX, offset: 0x60059F0, symbol: D_CO_60059F0 } - -D_CO_6005A80: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06005A80, symbol: D_CO_6005A80 } - -aCoArch3DL: - { type: GFX, offset: 0x6006A80, symbol: aCoArch3DL } - -D_CO_6006E08: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06006E08, symbol: D_CO_6006E08 } - -D_CO_6007610: - { type: GFX, offset: 0x6007610, symbol: D_CO_6007610 } - -D_CO_60091C8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060091C8, symbol: D_CO_60091C8 } - -D_CO_60099C8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x060099C8, symbol: D_CO_60099C8 } - -D_CO_6009BC8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06009BC8, symbol: D_CO_6009BC8 } - -D_CO_600A3C8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600A3C8, symbol: D_CO_600A3C8 } - -D_CO_600ABC8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600ABC8, symbol: D_CO_600ABC8 } - -D_CO_600B3C8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600B3C8, symbol: D_CO_600B3C8 } - -D_CO_600C3D8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600C3D8, symbol: D_CO_600C3D8 } - -D_CO_600CBD8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0600CBD8, symbol: D_CO_600CBD8 } - -D_CO_600DBD8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600DBD8, symbol: D_CO_600DBD8 } - -D_CO_600E3D8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600E3D8, symbol: D_CO_600E3D8 } - -D_CO_600EBD8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600EBD8, symbol: D_CO_600EBD8 } - -D_CO_600F3D8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600F3D8, symbol: D_CO_600F3D8 } - -D_CO_6010050: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06010050, symbol: D_CO_6010050 } - -D_CO_6010250: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06010250, symbol: D_CO_6010250 } - -D_CO_6010F90: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06010F90, symbol: D_CO_6010F90 } - -aCoHighway7DL: - { type: GFX, offset: 0x6010A50, symbol: aCoHighway7DL } - -aCoHighway5DL: - { type: GFX, offset: 0x6010E00, symbol: aCoHighway5DL } - -D_CO_6011790: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06011790, symbol: D_CO_6011790 } - -aCoCornerianFighterDL: - { type: GFX, offset: 0x6011F90, symbol: aCoCornerianFighterDL } - -D_CO_6012640: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06012640, symbol: D_CO_6012640 } - -D_CO_6012840: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06012840, symbol: D_CO_6012840 } - -D_CO_6012D00: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06012D00, symbol: D_CO_6012D00 } - -aCoHighway1DL: - { type: GFX, offset: 0x60132B0, symbol: aCoHighway1DL } - -aCoArch2DL: - { type: GFX, offset: 0x60137B0, symbol: aCoArch2DL } - -aCoRockwallDL: - { type: GFX, offset: 0x6013B50, symbol: aCoRockwallDL } - -D_CO_6013BE0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06013BE0, symbol: D_CO_6013BE0 } - -aCoHighway8DL: - { type: GFX, offset: 0x60143E0, symbol: aCoHighway8DL } - -aCoHighway4DL: - { type: GFX, offset: 0x6014500, symbol: aCoHighway4DL } - -aCoHighway6DL: - { type: GFX, offset: 0x6014670, symbol: aCoHighway6DL } - -aCoHighway9DL: - { type: GFX, offset: 0x6014A20, symbol: aCoHighway9DL } - -aCoBuilding3DL: - { type: GFX, offset: 0x6014B50, symbol: aCoBuilding3DL } - -D_CO_60151A8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x060151A8, symbol: D_CO_60151A8 } - -aCoTowerDL: - { type: GFX, offset: 0x60153B0, symbol: aCoTowerDL } - -aCoStoneArchDL: - { type: GFX, offset: 0x6015F00, symbol: aCoStoneArchDL } - -D_CO_6015700: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06015700, symbol: D_CO_6015700 } - -aRadarDL: - { type: GFX, offset: 0x6016270, symbol: aRadarDL } - -aCoHighway3DL: - { type: GFX, offset: 0x60164F0, symbol: aCoHighway3DL } - -aCoBuilding4DL: - { type: GFX, offset: 0x6016580, symbol: aCoBuilding4DL } - -D_CO_6017F10: - { type: GFX, offset: 0x6017F10, symbol: D_CO_6017F10 } - -D_CO_60186E0: - { type: GFX, offset: 0x60186E0, symbol: D_CO_60186E0 } - -aCoBuilding7DL: - { type: GFX, offset: 0x6018E80, symbol: aCoBuilding7DL } - -D_CO_60191C8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060191C8, symbol: D_CO_60191C8 } - -D_CO_60199D0: - { type: GFX, offset: 0x60199D0, symbol: D_CO_60199D0 } - -D_CO_6019C60: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06019C60, symbol: D_CO_6019C60 } - -D_CO_6019E60: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06019E60, symbol: D_CO_6019E60 } - -D_CO_601FF58: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601FF58, symbol: D_CO_601FF58 } - -aCoBuilding2DL: - { type: GFX, offset: 0x601A7D0, symbol: aCoBuilding2DL } - -D_CO_601AD60: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601AD60, symbol: D_CO_601AD60 } - -aCoBuilding5DL: - { type: GFX, offset: 0x601B560, symbol: aCoBuilding5DL } - -D_CO_601B640: - { type: GFX, offset: 0x601B640, symbol: D_CO_601B640 } - -D_CO_601B6C0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601B6C0, symbol: D_CO_601B6C0 } - -aCoBump2DL: - { type: GFX, offset: 0x601BEC0, symbol: aCoBump2DL } - -D_CO_601C1A8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601C1A8, symbol: D_CO_601C1A8 } - -aCoTreeDL: - { type: GFX, offset: 0x601C9B0, symbol: aCoTreeDL } - -D_CO_601CAA0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0601CAA0, symbol: D_CO_601CAA0 } - -D_CO_601DAA0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0601DAA0, symbol: D_CO_601DAA0 } - -D_CO_601EAA0: - { type: GFX, offset: 0x601EAA0, symbol: D_CO_601EAA0 } - -D_CO_601ED00: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601ED00, symbol: D_CO_601ED00 } - -aCoRuin2DL: - { type: GFX, offset: 0x601F500, symbol: aCoRuin2DL } - -aCoArch1DL: - { type: GFX, offset: 0x601F5A0, symbol: aCoArch1DL } - -D_CO_6020760: - { type: GFX, offset: 0x6020760, symbol: D_CO_6020760 } - -aCoRadarDL: - { type: GFX, offset: 0x6020B40, symbol: aCoRadarDL } - -D_CO_6021188: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06021188, symbol: D_CO_6021188 } - -D_CO_60220D0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060220D0, symbol: D_CO_60220D0 } - -aCoIBeamDL: - { type: GFX, offset: 0x6023AC0, symbol: aCoIBeamDL } - -D_CO_6023DE8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06023DE8, symbol: D_CO_6023DE8 } - -D_CO_6024160: - { type: GFX, offset: 0x6024160, symbol: D_CO_6024160 } - -aCoBump4DL: - { type: GFX, offset: 0x60244A0, symbol: aCoBump4DL } - -D_CO_60245E0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x060245E0, symbol: D_CO_60245E0 } - -D_CO_6025500: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x06025500, symbol: D_CO_6025500 } - -D_CO_6026420: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x06026420, symbol: D_CO_6026420 } - -D_CO_6027340: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x06027340, symbol: D_CO_6027340 } - -D_CO_6028260: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06028260, symbol: D_CO_6028260 } - -D_CO_6028A60: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06028A60, symbol: D_CO_6028A60 } - -aCoSkibotAnim: - { type: SF64:ANIM, offset: 0x6029528, symbol: aCoSkibotAnim } - -aCoSkibotSkel: - { type: SF64:SKELETON, offset: 0x6029674, symbol: aCoSkibotSkel } - -aCoGaruda1Anim: - { type: SF64:ANIM, offset: 0x602991C, symbol: aCoGaruda1Anim } - -aCoGarudaSkel: - { type: SF64:SKELETON, offset: 0x6029A48, symbol: aCoGarudaSkel } - -aCoGaruda3Anim: - { type: SF64:ANIM, offset: 0x602A520, symbol: aCoGaruda3Anim } - -D_CO_602AA04: - { type: SF64:ANIM, offset: 0x602AA04, symbol: D_CO_602AA04 } - -aCoDoorsAnim: - { type: SF64:ANIM, offset: 0x602AA7C, symbol: aCoDoorsAnim } - -aCoDoorsSkel: - { type: SF64:SKELETON, offset: 0x602AB48, symbol: aCoDoorsSkel } - -aCoGrangaWalkingAnim: - { type: SF64:ANIM, offset: 0x602BC18, symbol: aCoGrangaWalkingAnim } - -aCoGrangaSkel: - { type: SF64:SKELETON, offset: 0x602BE64, symbol: aCoGrangaSkel } - -aCoGrangaStationaryAnim: - { type: SF64:ANIM, offset: 0x602C0D0, symbol: aCoGrangaStationaryAnim } - -D_CO_602D31C: - { type: SF64:ANIM, offset: 0x602D31C, symbol: D_CO_602D31C } - -aCoCarrierAnim: - { type: SF64:ANIM, offset: 0x602D400, symbol: aCoCarrierAnim } - -aCoCarrierSkel: - { type: SF64:SKELETON, offset: 0x602D5AC, symbol: aCoCarrierSkel } - -aCoBuilding1DL: - { type: GFX, offset: 0x602D5F0, symbol: aCoBuilding1DL } - -aCoBuilding9DL: - { type: GFX, offset: 0x602DA20, symbol: aCoBuilding9DL } - -aCoRuin1DL: - { type: GFX, offset: 0x602DCA0, symbol: aCoRuin1DL } - -D_CO_602DD40: - { type: GFX, offset: 0x602DD40, symbol: D_CO_602DD40 } - -aCoHighway2DL: - { type: GFX, offset: 0x602E080, symbol: aCoHighway2DL } - -aCoBump5DL: - { type: GFX, offset: 0x602E570, symbol: aCoBump5DL } - -aCoBump3DL: - { type: GFX, offset: 0x602E7A0, symbol: aCoBump3DL } - -aCoBump1DL: - { type: GFX, offset: 0x602E9E0, symbol: aCoBump1DL } - -D_CO_602ECB0: - { type: GFX, offset: 0x602ECB0, symbol: D_CO_602ECB0 } - -D_CO_602ED50: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 16, offset: 0x0602ED50, symbol: D_CO_602ED50 } - -aCoPoleDL: - { type: GFX, offset: 0x602F7C0, symbol: aCoPoleDL } - -D_CO_602F848: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0602F848, symbol: D_CO_602F848 } - -D_CO_6030850: - { type: GFX, offset: 0x6030850, symbol: D_CO_6030850 } - -D_CO_6030FD0: - { type: GFX, offset: 0x6030FD0, symbol: D_CO_6030FD0 } - -D_CO_6031130: - { type: GFX, offset: 0x6031130, symbol: D_CO_6031130 } - -D_CO_6031280: - { type: GFX, offset: 0x6031280, symbol: D_CO_6031280 } - -aCoGarudaTracksTex: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x060329C0, symbol: aCoGarudaTracksTex } - -CoMoleMissileDL: - { type: GFX, offset: 0x6032BC0, symbol: CoMoleMissileDL } - -D_CO_6033000: - { type: GFX, offset: 0x6033000, symbol: D_CO_6033000 } - -D_CO_6033088: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06033088, symbol: D_CO_6033088 } - -D_CO_6033290: - { type: GFX, offset: 0x6033290, symbol: D_CO_6033290 } - -D_CO_6033AF0: - { type: GFX, offset: 0x6033AF0, symbol: D_CO_6033AF0 } - -D_CO_6034388: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06034388, symbol: D_CO_6034388 } - -aCoShadow1DL: - { type: GFX, offset: 0x6034B90, symbol: aCoShadow1DL } - -D_CO_6034C28: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06034C28, symbol: D_CO_6034C28 } - -D_CO_6035430: - { type: GFX, offset: 0x6035430, symbol: D_CO_6035430 } - -D_CO_60354F0: - { type: GFX, offset: 0x60354F0, symbol: D_CO_60354F0 } - -D_CO_60355A0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060355A0, symbol: D_CO_60355A0 } - -aCoBuilding10DL: - { type: GFX, offset: 0x6035DA0, symbol: aCoBuilding10DL } - -aCoBuilding8DL: - { type: GFX, offset: 0x6035F10, symbol: aCoBuilding8DL } - -aCoBuilding6DL: - { type: GFX, offset: 0x60361F0, symbol: aCoBuilding6DL } - -D_CO_60363B0: - { type: GFX, offset: 0x60363B0, symbol: D_CO_60363B0 } - -D_CO_6036438: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 32, offset: 0x06036438, symbol: D_CO_6036438 } - -D_CO_6036840: - { type: GFX, offset: 0x6036840, symbol: D_CO_6036840 } - -D_CO_60368C8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 32, offset: 0x060368C8, symbol: D_CO_60368C8 } - -D_CO_6036CD0: - { type: GFX, offset: 0x6036CD0, symbol: D_CO_6036CD0 } - -D_CO_6036D58: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 32, offset: 0x06036D58, symbol: D_CO_6036D58 } - -D_CO_6037160: - { type: SF64:ENVIRONMENT, offset: 0x6037160, symbol: D_CO_6037160 } - -aCoOnRailsLevelObjects: - { type: SF64:OBJECT_INIT, offset: 0x60371A4, symbol: aCoOnRailsLevelObjects } - -aCoAllRangeLevelObjects: - { type: SF64:OBJECT_INIT, offset: 0x603B074, symbol: aCoAllRangeLevelObjects } - -D_CO_603D9E8: - { type: SF64:SCRIPT, offset: 0x603D9E8, symbol: D_CO_603D9E8 } - -# Seems unused -D_CO_603DC40: - { type: SF64:HITBOX, offset: 0x603DC40, symbol: D_CO_603DC40 } - -aCoHighway2Hitbox: - { type: SF64:HITBOX, offset: 0x603DD40, symbol: aCoHighway2Hitbox } - -aCoBuilding1Hitbox: - { type: SF64:HITBOX, offset: 0x603DDF0, symbol: aCoBuilding1Hitbox } - -aCoHighway1Hitbox: - { type: SF64:HITBOX, offset: 0x603DCA4, symbol: aCoHighway1Hitbox } - -aCoBuilding2Hitbox: - { type: SF64:HITBOX, offset: 0x603DE8C, symbol: aCoBuilding2Hitbox } - -aCoBuilding3Hitbox: - { type: SF64:HITBOX, offset: 0x603DEF4, symbol: aCoBuilding3Hitbox } - -aCoBuilding4Hitbox: - { type: SF64:HITBOX, offset: 0x603DF8C, symbol: aCoBuilding4Hitbox } - -aCoBuilding5Hitbox: - { type: SF64:HITBOX, offset: 0x603DFDC, symbol: aCoBuilding5Hitbox } - -aCoBuilding6Hitbox: - { type: SF64:HITBOX, offset: 0x603E014, symbol: aCoBuilding6Hitbox } - -aCoBuilding7Hitbox: - { type: SF64:HITBOX, offset: 0x603E030, symbol: aCoBuilding7Hitbox } - -aCoBuilding8Hitbox: - { type: SF64:HITBOX, offset: 0x603E09C, symbol: aCoBuilding8Hitbox } - -aCoWaterfallHitbox: - { type: SF64:HITBOX, offset: 0x603E0EC, symbol: aCoWaterfallHitbox } - -aCoTowerHitbox: - { type: SF64:HITBOX, offset: 0x603E118, symbol: aCoTowerHitbox } - -aCoArch1Hitbox: - { type: SF64:HITBOX, offset: 0x603E14C, symbol: aCoArch1Hitbox } - -aCoArch2Hitbox: - { type: SF64:HITBOX, offset: 0x603E1B4, symbol: aCoArch2Hitbox } - -aCoArch3Hitbox: - { type: SF64:HITBOX, offset: 0x603E21C, symbol: aCoArch3Hitbox } - -# seems unused -D_CO_603E2C0: - { type: SF64:HITBOX, offset: 0x603E2C0, symbol: D_CO_603E2C0 } - -# seems unused -D_CO_603E2F4: - { type: SF64:HITBOX, offset: 0x603E2F4, symbol: D_CO_603E2F4 } - -aCoStoneArchHitbox: - { type: SF64:HITBOX, offset: 0x603E3E0, symbol: aCoStoneArchHitbox } - -aCoPoleHitbox: - { type: SF64:HITBOX, offset: 0x603E468, symbol: aCoPoleHitbox } - -aCoTreeHitbox: - { type: SF64:HITBOX, offset: 0x603E484, symbol: aCoTreeHitbox } - -aCoRadarHitbox: - { type: SF64:HITBOX, offset: 0x603E4A0, symbol: aCoRadarHitbox } - -aCoBuilding9Hitbox: - { type: SF64:HITBOX, offset: 0x603E4A4, symbol: aCoBuilding9Hitbox } - -aCoBuilding10Hitbox: - { type: SF64:HITBOX, offset: 0x603E4DC, symbol: aCoBuilding10Hitbox } - -aCoIBeamHitbox: - { type: SF64:HITBOX, offset: 0x603E514, symbol: aCoIBeamHitbox } - -aCoActorSkibotHitbox: - { type: SF64:HITBOX, offset: 0x603E54C, symbol: aCoActorSkibotHitbox } - -aCoActorRadarHitbox: - { type: SF64:HITBOX, offset: 0x603E598, symbol: aCoActorRadarHitbox } - -aCoMoleMissileHitbox: - { type: SF64:HITBOX, offset: 0x603E5B4, symbol: aCoMoleMissileHitbox } - -CoGarudaHitbox: - { type: SF64:HITBOX, offset: 0x603E5D0, symbol: CoGarudaHitbox } - -aCoGarudaDestroyHitbox: - { type: SF64:HITBOX, offset: 0x603E604, symbol: aCoGarudaDestroyHitbox } - -D_CO_603E620: - { type: SF64:HITBOX, offset: 0x603E620, symbol: D_CO_603E620 } - -aCoCarrierLeftHitbox: - { type: SF64:HITBOX, offset: 0x603E714, symbol: aCoCarrierLeftHitbox } - -aCoCarrierUpperHitbox: - { type: SF64:HITBOX, offset: 0x603E748, symbol: aCoCarrierUpperHitbox } - -aCoCarrierBottomHitbox: - { type: SF64:HITBOX, offset: 0x603E7C4, symbol: aCoCarrierBottomHitbox } - -D_CO_603E840: - { type: SF64:HITBOX, offset: 0x603E840, symbol: D_CO_603E840 } - -aCoRockwallHitbox: - { type: SF64:HITBOX, offset: 0x603E88C, symbol: aCoRockwallHitbox } - -aCoDoorsHitbox: - { type: SF64:HITBOX, offset: 0x603E8A8, symbol: aCoDoorsHitbox } - -D_CO_603E924: - { type: SF64:HITBOX, offset: 0x603E924, symbol: D_CO_603E924 } - -aCoBuildingOnFireHitbox: - { type: SF64:HITBOX, offset: 0x603E98C, symbol: aCoBuildingOnFireHitbox } - -aCoHighway5Hitbox: - { type: SF64:HITBOX, offset: 0x603E9EC, symbol: aCoHighway5Hitbox } - -aCoHighway6Hitbox: - { type: SF64:HITBOX, offset: 0x603EA08, symbol: aCoHighway6Hitbox } - -aCoHighway7Hitbox: - { type: SF64:HITBOX, offset: 0x603EA74, symbol: aCoHighway7Hitbox } - -aCoHighway8Hitbox: - { type: SF64:HITBOX, offset: 0x603EAE0, symbol: aCoHighway8Hitbox } - -aCoHighway9Hitbox: - { type: SF64:HITBOX, offset: 0x603EB0C, symbol: aCoHighway9Hitbox } - -D_CO_603EB38: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0603EB38, symbol: D_CO_603EB38 } - -D_CO_603F338: - { type: SF64:TRIANGLE, count: 13, offset: 0x603F338, symbol: D_CO_603F338, mesh_symbol: D_CO_OFFSET, mesh_offset: 0x603F388 } - -D_CO_603F40C: - { type: SF64:TRIANGLE, count: 36, offset: 0x603F40C, symbol: D_CO_603F40C, mesh_symbol: D_CO_OFFSET } diff --git a/assets/yaml/jp/rev0/ast_ending.yaml b/assets/yaml/jp/rev0/ast_ending.yaml deleted file mode 100644 index a7b2657e..00000000 --- a/assets/yaml/jp/rev0/ast_ending.yaml +++ /dev/null @@ -1,125 +0,0 @@ -:config: - segments: - - [0x07, 0xCEB3C0] - header: - code: - - '#include "assets/ast_ending.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -D_END_7000000: { type: GFX, offset: 0x7000000, symbol: D_END_7000000} - -D_END_7000118: {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x7000118, symbol: D_END_7000118} - -D_END_7001118: {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x7001118, symbol: D_END_7001118} - -D_END_7002120: { type: GFX, offset: 0x7002120, symbol: D_END_7002120} - -D_END_7002238: {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x7002238, symbol: D_END_7002238} - -D_END_7003238: {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x7003238, symbol: D_END_7003238} - -D_END_7004240: { type: GFX, offset: 0x7004240, symbol: D_END_7004240} - -D_END_7004620: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x7004620, symbol: D_END_7004620} - -D_END_7005620: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x7005620, symbol: D_END_7005620} - -D_END_7006620: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x7006620, symbol: D_END_7006620} - -D_END_7007620: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x7007620, symbol: D_END_7007620} - -D_END_7008620: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x7008620, symbol: D_END_7008620} - -D_END_7009620: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x7009620, symbol: D_END_7009620} - -D_END_700A620: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x700A620, symbol: D_END_700A620} - -D_END_700B620: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x700B620, symbol: D_END_700B620} - -D_END_700C620: { type: GFX, offset: 0x700C620, symbol: D_END_700C620} - -D_END_700C6A8: {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x700C6A8, symbol: D_END_700C6A8} - -D_END_700C8B0: { type: GFX, offset: 0x700C8B0, symbol: D_END_700C8B0} - -D_END_700C940: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x700C940, symbol: D_END_700C940} - -D_END_700D940: { type: GFX, offset: 0x700D940, symbol: D_END_700D940} - -D_END_700D9D8: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x700D9D8, symbol: D_END_700D9D8} - -D_END_700E9E0: { type: GFX, offset: 0x700E9E0, symbol: D_END_700E9E0} - -D_END_700EA38: {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x700EA38, symbol: D_END_700EA38} - -D_END_700F240: { type: GFX, offset: 0x700F240, symbol: D_END_700F240} - -D_END_700F320: { type: GFX, offset: 0x700F320, symbol: D_END_700F320} - -D_END_7010070: {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x7010070, symbol: D_END_7010070} - -D_END_70100F0: {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x70100F0, symbol: D_END_70100F0} - -D_END_7010170: {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x7010170, symbol: D_END_7010170} - -D_END_7010970: { type: GFX, offset: 0x7010970, symbol: D_END_7010970} - -D_END_7010A08: {type: TEXTURE, ctype: u8, format: IA8, width: 32, height: 32, offset: 0x7010A08, symbol: D_END_7010A08} - -D_END_7010E10: {type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 26, offset: 0x7010E10, symbol: D_END_7010E10, tlut: 0x7010EE0} - -D_END_7010EE0: {type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x7010EE0, symbol: D_END_7010EE0} - -D_END_7010F00: {type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 26, offset: 0x7010F00, symbol: D_END_7010F00, tlut: 0x7010FD0} - -D_END_7010FD0: {type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x7010FD0, symbol: D_END_7010FD0} - -D_END_7010FF0: {type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 26, offset: 0x7010FF0, symbol: D_END_7010FF0, tlut: 0x70110C0} - -D_END_70110C0: {type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x70110C0, symbol: D_END_70110C0} - -D_END_70110E0: {type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 26, offset: 0x70110E0, symbol: D_END_70110E0, tlut: 0x70111B0} - -D_END_70111B0: {type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x70111B0, symbol: D_END_70111B0} - -D_END_70111D0: { type: GFX, offset: 0x70111D0, symbol: D_END_70111D0} - -D_END_70113B8: {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x70113B8, symbol: D_END_70113B8} - -D_END_70123B8: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x70123B8, symbol: D_END_70123B8} - -D_END_70133B8: {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x70133B8, symbol: D_END_70133B8} - -D_END_70143C0: { type: GFX, offset: 0x70143C0, symbol: D_END_70143C0} - -D_END_7014540: {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x7014540, symbol: D_END_7014540} - -D_END_7015540: {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x7015540, symbol: D_END_7015540} - -D_END_7016540: { type: GFX, offset: 0x7016540, symbol: D_END_7016540} - -D_END_7016658: {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x7016658, symbol: D_END_7016658} - -D_END_7017658: {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x7017658, symbol: D_END_7017658} - -D_END_7018708: { type: SF64:ANIM, offset: 0x7018708, symbol: D_END_7018708} - -D_END_70187B4: { type: SF64:SKELETON, offset: 0x70187B4, symbol: D_END_70187B4} - -D_END_7019C90: {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x7019C90, symbol: D_END_7019C90} - -D_END_7019D10: {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x7019D10, symbol: D_END_7019D10} - -D_END_7019D90: {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x7019D90, symbol: D_END_7019D90} - -D_END_7019E10: {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x7019E10, symbol: D_END_7019E10} - -D_END_7019E90: {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x7019E90, symbol: D_END_7019E90} - -D_END_7019F10: {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x7019F10, symbol: D_END_7019F10} - -D_END_7019F90: {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x7019F90, symbol: D_END_7019F90} - -D_END_701A010: {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x701A010, symbol: D_END_701A010} diff --git a/assets/yaml/jp/rev0/ast_ending_award_back.yaml b/assets/yaml/jp/rev0/ast_ending_award_back.yaml deleted file mode 100644 index ceb8fe30..00000000 --- a/assets/yaml/jp/rev0/ast_ending_award_back.yaml +++ /dev/null @@ -1,12 +0,0 @@ -:config: - segments: - - [0x08, 0xD2C240] - header: - code: - - '#include "assets/ast_ending_award_back.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -ending_award_back: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 316, height: 270, offset: 0x8000000, symbol: gEndingAwardBack } diff --git a/assets/yaml/jp/rev0/ast_ending_award_front.yaml b/assets/yaml/jp/rev0/ast_ending_award_front.yaml deleted file mode 100644 index 1a2829c0..00000000 --- a/assets/yaml/jp/rev0/ast_ending_award_front.yaml +++ /dev/null @@ -1,12 +0,0 @@ -:config: - segments: - - [0x08, 0xD071C0] - header: - code: - - '#include "assets/ast_ending_award_front.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -ending_award_front: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 316, height: 240, offset: 0x8000000, symbol: gEndingAwardFront } \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_ending_expert.yaml b/assets/yaml/jp/rev0/ast_ending_expert.yaml deleted file mode 100644 index 78ae5476..00000000 --- a/assets/yaml/jp/rev0/ast_ending_expert.yaml +++ /dev/null @@ -1,15 +0,0 @@ -:config: - segments: - - [0x08, 0xD55CD0] - header: - code: - - '#include "assets/ast_ending_expert.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -ending_expert_reward: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 316, height: 240, offset: 0x8000000, symbol: gEndingExpertReward } - -ending_normal_reward: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 316, height: 240, offset: 0x8025080, symbol: gEndingNormalReward } \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_enmy_planet.yaml b/assets/yaml/jp/rev0/ast_enmy_planet.yaml deleted file mode 100644 index 9b595a75..00000000 --- a/assets/yaml/jp/rev0/ast_enmy_planet.yaml +++ /dev/null @@ -1,112 +0,0 @@ -:config: - segments: - - [0x04, 0x8E8AE0] - header: - code: - - '#include "assets/ast_enmy_planet.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -# Seems unused -D_ENMY_PLANET_4000290: - { type: GFX, offset: 0x4000290, symbol: D_ENMY_PLANET_4000290 } - -ast_enmy_planet_seg4_vtx_8F8: - { type: VTX, count: 90, offset: 0x40008F8, symbol: ast_enmy_planet_seg4_vtx_8F8 } - -aTripodAnim: - { type: SF64:ANIM, offset: 0x40001A4, symbol: aTripodAnim } - -aTripodSkel: - { type: SF64:SKELETON, offset: 0x4000270, symbol: aTripodSkel } - -aVenomTankDL: - { type: GFX, offset: 0x4000710, symbol: aVenomTankDL } - -D_ENMY_PLANET_4001298: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x04001298, symbol: D_ENMY_PLANET_4001298 } - -D_ENMY_PLANET_4001698: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x04001698, symbol: D_ENMY_PLANET_4001698 } - -D_ENMY_PLANET_4000E98: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x04000E98, symbol: D_ENMY_PLANET_4000E98 } - -D_ENMY_PLANET_4001098: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x04001098, symbol: D_ENMY_PLANET_4001098 } - -D_ENMY_PLANET_4001498: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x04001498, symbol: D_ENMY_PLANET_4001498 } - -D_ENMY_PLANET_40018A0: - { type: GFX, offset: 0x40018A0, symbol: D_ENMY_PLANET_40018A0 } - -D_ENMY_PLANET_40024B8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x040024B8, symbol: D_ENMY_PLANET_40024B8 } - -D_ENMY_PLANET_4002538: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x04002538, symbol: D_ENMY_PLANET_4002538 } - -D_ENMY_PLANET_4002D38: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x04002D38, symbol: D_ENMY_PLANET_4002D38 } - -D_ENMY_PLANET_4003D38: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x04003D38, symbol: D_ENMY_PLANET_4003D38 } - -D_ENMY_PLANET_4004538: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x04004538, symbol: D_ENMY_PLANET_4004538 } - -D_ENMY_PLANET_4004D38: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x04004D38, symbol: D_ENMY_PLANET_4004D38 } - -aFirebirdAnim: - { type: SF64:ANIM, offset: 0x40057AC, symbol: aFirebirdAnim } - -aFirebirdSkel: - { type: SF64:SKELETON, offset: 0x40058B8, symbol: aFirebirdSkel } - -D_ENMY_PLANET_4005E78: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x04005E78, symbol: D_ENMY_PLANET_4005E78 } - -D_ENMY_PLANET_4006078: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x04006078, symbol: D_ENMY_PLANET_4006078 } - -D_ENMY_PLANET_4006280: - { type: GFX, offset: 0x4006280, symbol: D_ENMY_PLANET_4006280 } - -D_ENMY_PLANET_40064E8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x040064E8, symbol: D_ENMY_PLANET_40064E8 } - -D_ENMY_PLANET_40066E8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x040066E8, symbol: D_ENMY_PLANET_40066E8 } - -aVenomFighter1DL: - { type: GFX, offset: 0x40068F0, symbol: aVenomFighter1DL } - -aVenomFighter2DL: - { type: GFX, offset: 0x4006E90, symbol: aVenomFighter2DL } - -aGrangaFighter1DL: - { type: GFX, offset: 0x40073C0, symbol: aGrangaFighter1DL } - -aGrangaFighter2DL: - { type: GFX, offset: 0x4007AF0, symbol: aGrangaFighter2DL } - -D_ENMY_PLANET_4008100: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x04008100, symbol: D_ENMY_PLANET_4008100 } - -D_ENMY_PLANET_4008CE0: - { type: GFX, offset: 0x4008CE0, symbol: D_ENMY_PLANET_4008CE0 } - -D_ENMY_PLANET_4008D68: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x04008D68, symbol: D_ENMY_PLANET_4008D68 } - -D_ENMY_PLANET_4008FF8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x04008FF8, symbol: D_ENMY_PLANET_4008FF8 } - -D_ENMY_PLANET_4008F70: - { type: GFX, offset: 0x4008F70, symbol: D_ENMY_PLANET_4008F70 } - -aSpyEyeDL: - { type: GFX, offset: 0x4009800, symbol: aSpyEyeDL } diff --git a/assets/yaml/jp/rev0/ast_enmy_space.yaml b/assets/yaml/jp/rev0/ast_enmy_space.yaml deleted file mode 100644 index e718d610..00000000 --- a/assets/yaml/jp/rev0/ast_enmy_space.yaml +++ /dev/null @@ -1,134 +0,0 @@ -:config: - segments: - - [0x04, 0x8F2DE0] - header: - code: - - '#include "assets/ast_enmy_space.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -aKillerBeeAnim: - { type: SF64:ANIM, offset: 0x4000080, symbol: aKillerBeeAnim } - -aKillerBeeSkel: - { type: SF64:SKELETON, offset: 0x400014C, symbol: aKillerBeeSkel } - -aEnmySpMeMora1DL: - { type: GFX, offset: 0x4000170, symbol: aEnmySpMeMora1DL } - -aSpiderDL: - { type: GFX, offset: 0x4000650, symbol: aSpiderDL } - -aGammaOnDL: - { type: GFX, offset: 0x4000EC0, symbol: aGammaOnDL } - -D_ENMY_SPACE_4001108: - { type: TEXTURE, format: RGBA16, offset: 0x4001108, width: 16, height: 16, ctype: u16, symbol: D_ENMY_SPACE_4001108 } - -aAttacker2DL: - { type: GFX, offset: 0x4001310, symbol: aAttacker2DL } - -aCommanderTex1: - { type: TEXTURE, format: RGBA16, offset: 0x4001A30, width: 16, height: 16, ctype: u16, symbol: aCommanderTex1 } - -aCommanderTex2: - { type: TEXTURE, format: RGBA16, offset: 0x04001C30, width: 16, height: 16, ctype: u16, symbol: aCommanderTex2 } - -aCommanderTex3: - { type: TEXTURE, format: RGBA16, offset: 0x04001E30, width: 16, height: 16, ctype: u16, symbol: aCommanderTex3 } - -aCommanderTex4: - { type: TEXTURE, format: RGBA16, offset: 0x04002030, width: 16, height: 16, ctype: u16, symbol: aCommanderTex4 } - -D_ENMY_SPACE_4002230: - { type: GFX, offset: 0x4002230, symbol: D_ENMY_SPACE_4002230 } - -D_ENMY_SPACE_4002C50: - { type: TEXTURE, format: RGBA16, offset: 0x04002C50, width: 16, height: 16, ctype: u16, symbol: D_ENMY_SPACE_4002C50 } - -D_ENMY_SPACE_4002E50: - { type: TEXTURE, format: RGBA16, offset: 0x04002E50, width: 16, height: 16, ctype: u16, symbol: D_ENMY_SPACE_4002E50 } - -aCommanderTex6: - { type: TEXTURE, format: RGBA16, offset: 0x04003050, width: 16, height: 16, ctype: u16, symbol: aCommanderTex6 } - -D_ENMY_SPACE_4003250: - { type: TEXTURE, format: RGBA16, offset: 0x04003250, width: 4, height: 4, ctype: u16, symbol: D_ENMY_SPACE_4003250 } - -D_ENMY_SPACE_4003270: - { type: TEXTURE, format: RGBA16, offset: 0x04003270, width: 16, height: 16, ctype: u16, symbol: D_ENMY_SPACE_4003270 } - -aCommanderTex5: - { type: TEXTURE, format: RGBA16, offset: 0x04003470, width: 16, height: 16, ctype: u16, symbol: aCommanderTex5 } - -D_ENMY_SPACE_4003670: - { type: TEXTURE, format: RGBA16, offset: 0x04003670, width: 8, height: 8, ctype: u16, symbol: D_ENMY_SPACE_4003670 } - -D_ENMY_SPACE_4003BD0: - { type: GFX, offset: 0x4003BD0, symbol: D_ENMY_SPACE_4003BD0 } - -D_ENMY_SPACE_40047E8: - { type: TEXTURE, format: RGBA16, offset: 0x40047E8, width: 32, height: 32, ctype: u16, symbol: D_ENMY_SPACE_40047E8 } - -D_ENMY_SPACE_4004FE8: - { type: TEXTURE, format: RGBA16, offset: 0x4004FE8, width: 64, height: 32, ctype: u16, symbol: D_ENMY_SPACE_4004FE8 } - -D_ENMY_SPACE_4005FE8: - { type: TEXTURE, format: RGBA16, offset: 0x4005FE8, width: 32, height: 32, ctype: u16, symbol: D_ENMY_SPACE_4005FE8 } - -D_ENMY_SPACE_40067E8: - { type: TEXTURE, format: RGBA16, offset: 0x40067E8, width: 32, height: 32, ctype: u16, symbol: D_ENMY_SPACE_40067E8 } - -D_ENMY_SPACE_40077E8: - { type: TEXTURE, format: RGBA16, offset: 0x40077E8, width: 8, height: 8, ctype: u16, symbol: D_ENMY_SPACE_40077E8 } - -D_ENMY_SPACE_4007870: - { type: GFX, offset: 0x4007870, symbol: D_ENMY_SPACE_4007870 } - -D_ENMY_SPACE_4006FE8: - { type: TEXTURE, format: RGBA16, offset: 0x4006FE8, width: 32, height: 32, ctype: u16, symbol: D_ENMY_SPACE_4006FE8 } - -aEnmySpMeMora2DL: - { type: GFX, offset: 0x40084D0, symbol: aEnmySpMeMora2DL } - -D_ENMY_SPACE_4008550: - { type: TEXTURE, format: RGBA16, offset: 0x04008550, width: 32, height: 32, ctype: u16, symbol: D_ENMY_SPACE_4008550 } - -aGammaOffDL: - { type: GFX, offset: 0x4008D50, symbol: aGammaOffDL } - -aVenomFighter3DL: - { type: GFX, offset: 0x4008FA0, symbol: aVenomFighter3DL } - -D_ENMY_SPACE_40096B8: - { type: TEXTURE, format: RGBA16, offset: 0x040096B8, width: 16, height: 16, ctype: u16, symbol: D_ENMY_SPACE_40096B8 } - -D_ENMY_SPACE_40098B8: - { type: TEXTURE, format: RGBA16, offset: 0x040098B8, width: 16, height: 16, ctype: u16, symbol: D_ENMY_SPACE_40098B8 } - -D_ENMY_SPACE_4009AB8: - { type: TEXTURE, format: RGBA16, offset: 0x04009AB8, width: 32, height: 32, ctype: u16, symbol: D_ENMY_SPACE_4009AB8 } - -aCruiserGunAnim: - { type: SF64:ANIM, offset: 0x400A30C, symbol: aCruiserGunAnim } - -aCruiserGunSkel: - { type: SF64:SKELETON, offset: 0x400A398, symbol: aCruiserGunSkel } - -aEnmySpMeMora3DL: - { type: GFX, offset: 0x400A630, symbol: aEnmySpMeMora3DL } - - -aCommanderDL: - { type: GFX, offset: 0x400AAE0, symbol: aCommanderDL } - - -aAttacker3DL: - { type: GFX, offset: 0x400B390, symbol: aAttacker3DL } - - -aAttacker1DL: - { type: GFX, offset: 0x400BD20, symbol: aAttacker1DL } - -# size = 0xC510 \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_font_3d.yaml b/assets/yaml/jp/rev0/ast_font_3d.yaml deleted file mode 100644 index b2a5ff4c..00000000 --- a/assets/yaml/jp/rev0/ast_font_3d.yaml +++ /dev/null @@ -1,128 +0,0 @@ -:config: - segments: - - [0x09, 0xCA2860] - header: - code: - - '#include "assets/ast_font_3d.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -aFont3D_DOT: - { type: GFX, offset: 0x9000000, symbol: aFont3D_DOT } - -aFont3D_1: - { type: GFX, offset: 0x90001F0, symbol: aFont3D_1 } - -D_FONT3D_9000528: - { type: TEXTURE, ctype: u8, format: CI4, width: 8, height: 8, offset: 0x09000528, symbol: D_FONT3D_9000528, tlut: 0x09000548 } - -D_FONT3D_9000548: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x09000548, symbol: D_FONT3D_9000548 } - -aFont3D_O: - { type: GFX, offset: 0x9000570, symbol: aFont3D_O } - -aFont3D_D: - { type: GFX, offset: 0x9000980, symbol: aFont3D_D } - -aFont3D_J: - { type: GFX, offset: 0x9001120, symbol: aFont3D_J } - -aFont3D_P: - { type: GFX, offset: 0x90014E0, symbol: aFont3D_P } - -aFont3D_Z: - { type: GFX, offset: 0x9001A10, symbol: aFont3D_Z } - -aFont3D_Y: - { type: GFX, offset: 0x9001E90, symbol: aFont3D_Y } - -aFont3D_X: - { type: GFX, offset: 0x90022A0, symbol: aFont3D_X } - -aFont3D_W: - { type: GFX, offset: 0x9002890, symbol: aFont3D_W } - -aFont3D_V: - { type: GFX, offset: 0x9002EA0, symbol: aFont3D_V } - -aFont3D_U: - { type: GFX, offset: 0x9003230, symbol: aFont3D_U } - -aFont3D_T: - { type: GFX, offset: 0x9003620, symbol: aFont3D_T } - -aFont3D_S: - { type: GFX, offset: 0x9003A30, symbol: aFont3D_S } - -aFont3D_R: - { type: GFX, offset: 0x9004230, symbol: aFont3D_R } - -aFont3D_Q: - { type: GFX, offset: 0x9004920, symbol: aFont3D_Q } - -aFont3D_N: - { type: GFX, offset: 0x9004E10, symbol: aFont3D_N } - -aFont3D_M: - { type: GFX, offset: 0x9005380, symbol: aFont3D_M } - -aFont3D_L: - { type: GFX, offset: 0x9005980, symbol: aFont3D_L } - -aFont3D_K: - { type: GFX, offset: 0x9005CA0, symbol: aFont3D_K } - -aFont3D_I: - { type: GFX, offset: 0x90062D0, symbol: aFont3D_I } - -aFont3D_H: - { type: GFX, offset: 0x9006500, symbol: aFont3D_H } - -aFont3D_G: - { type: GFX, offset: 0x9006AE0, symbol: aFont3D_G } - -aFont3D_F: - { type: GFX, offset: 0x90070C0, symbol: aFont3D_F } - -aFont3D_E: - { type: GFX, offset: 0x90075A0, symbol: aFont3D_E } - -aFont3D_C: - { type: GFX, offset: 0x9007BB0, symbol: aFont3D_C } - -aFont3D_B: - { type: GFX, offset: 0x9007FD0, symbol: aFont3D_B } - -aFont3D_A: - { type: GFX, offset: 0x90086F0, symbol: aFont3D_A } - -aFont3D_9: - { type: GFX, offset: 0x9008C60, symbol: aFont3D_9 } - -aFont3D_8: - { type: GFX, offset: 0x9009280, symbol: aFont3D_8 } - -aFont3D_7: - { type: GFX, offset: 0x9009990, symbol: aFont3D_7 } - -aFont3D_6: - { type: GFX, offset: 0x9009CB0, symbol: aFont3D_6 } - -aFont3D_5: - { type: GFX, offset: 0x900A290, symbol: aFont3D_5 } - -aFont3D_4: - { type: GFX, offset: 0x900A870, symbol: aFont3D_4 } - -aFont3D_3: - { type: GFX, offset: 0x900AF60, symbol: aFont3D_3 } - -aFont3D_2: - { type: GFX, offset: 0x900B580, symbol: aFont3D_2 } - -aFont3D_0: - { type: GFX, offset: 0x900BB90, symbol: aFont3D_0 } - -# size = 0xC1D0 diff --git a/assets/yaml/jp/rev0/ast_fortuna.yaml b/assets/yaml/jp/rev0/ast_fortuna.yaml deleted file mode 100644 index 06b71044..00000000 --- a/assets/yaml/jp/rev0/ast_fortuna.yaml +++ /dev/null @@ -1,183 +0,0 @@ -:config: - segments: - - [0x6, 0xAE9DC0] - header: - code: - - '#include "assets/ast_fortuna.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - -# Fortuna -# Former Defense Post -aFoTitleCardTex: - { type: TEXTURE, format: IA8, width: 168, height: 28, offset: 0x6000000, ctype: u8, symbol: aFoTitleCardTex } - -D_FO_6001260: - { type: TEXTURE, format: IA8, width: 16, height: 16, offset: 0x6001260, ctype: u8, symbol: D_FO_6001260 } - -D_FO_6001360: - { type: GFX, offset: 0x6001360, symbol: D_FO_6001360 } - -D_FO_6001890: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6001890, ctype: u16, symbol: D_FO_6001890 } - -D_FO_6002090: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6002090, ctype: u16, symbol: D_FO_6002090 } - -D_FO_6002890: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6002890, ctype: u16, symbol: D_FO_6002890 } - -aFoBaseDL2: - { type: GFX, offset: 0x6003090, symbol: aFoBaseDL2 } - -D_FO_6003EC0: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6003EC0, ctype: u16, symbol: D_FO_6003EC0 } - -D_FO_60046C0: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x60046C0, ctype: u16, symbol: D_FO_60046C0 } - -D_FO_60048C0: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x60048C0, ctype: u16, symbol: D_FO_60048C0 } - -D_FO_6004AC0: - { type: TEXTURE, format: RGBA16, width: 32, height: 64, offset: 0x6004AC0, ctype: u16, symbol: D_FO_6004AC0 } - -D_FO_6005AC0: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x6005AC0, ctype: u16, symbol: D_FO_6005AC0 } - -D_FO_6005CC0: - { type: GFX, offset: 0x6005CC0, symbol: D_FO_6005CC0 } - -D_FO_6005F20: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x6005F20, ctype: u16, symbol: D_FO_6005F20 } - -D_FO_6006120: - { type: TEXTURE, format: CI8, width: 16, height: 16, offset: 0x6006120, ctype: u8, symbol: D_FO_6006120 } - -D_FO_6006220: - { type: TEXTURE, format: TLUT, colors: 120, offset: 0x6006220, ctype: u16, symbol: D_FO_6006220 } - -aFoMountain3DL: - { type: GFX, offset: 0x6006310, symbol: aFoMountain3DL } - -aFoTowerDL: - { type: GFX, offset: 0x60066E0, symbol: aFoTowerDL } - -ast_fortuna_seg6_vtx_6898: - { type: VTX, count: 52, offset: 0x6006898, symbol: ast_fortuna_seg6_vtx_6898 } - -D_FO_6006BE0: - { type: GFX, offset: 0x6006BE0, symbol: D_FO_6006BE0 } - -ast_fortuna_seg6_vtx_6D00: - { type: VTX, count: 62, offset: 0x6006D00, symbol: ast_fortuna_seg6_vtx_6D00 } - -D_FO_60070E0: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x60070E0, ctype: u16, symbol: D_FO_60070E0 } - -D_FO_60072E0: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x60072E0, ctype: u16, symbol: D_FO_60072E0 } - -D_FO_60074E0: - { type: GFX, offset: 0x60074E0, symbol: D_FO_60074E0 } - -D_FO_6007590: - { type: GFX, offset: 0x6007590, symbol: D_FO_6007590 } - -D_FO_6007730: - { type: GFX, offset: 0x6007730, symbol: D_FO_6007730 } - -aFoRadarAnim: - { type: SF64:ANIM, offset: 0x6007854, symbol: aFoRadarAnim } - -aFoRadarSkel: - { type: SF64:SKELETON, offset: 0x6007980, symbol: aFoRadarSkel } - -aFoMountain1DL: - { type: GFX, offset: 0x60079B0, symbol: aFoMountain1DL } - -aFoMountain2DL: - { type: GFX, offset: 0x6007D80, symbol: aFoMountain2DL } - -D_FO_6008150: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, offset: 0x6008150, ctype: u16, symbol: D_FO_6008150 } - -D_FO_6009070: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, offset: 0x6009070, ctype: u16, symbol: D_FO_6009070 } - -aFoEnemyShadowDL: - { type: GFX, offset: 0x6009F90, symbol: aFoEnemyShadowDL } - -D_FO_600A018: - { type: TEXTURE, format: IA8, width: 32, height: 32, offset: 0x600A018, ctype: u8, symbol: D_FO_600A018 } - -aFoPoleDL: - { type: GFX, offset: 0x600A420, symbol: aFoPoleDL } - -D_FO_600A4A8: - { type: TEXTURE, format: RGBA16, width: 32, height: 64, offset: 0x600A4A8, ctype: u16, symbol: D_FO_600A4A8 } - -D_FO_600B4B0: - { type: GFX, offset: 0x600B4B0, symbol: D_FO_600B4B0 } - -D_FO_600B5C0: - { type: TEXTURE, format: RGBA16, width: 64, height: 32, offset: 0x600B5C0, ctype: u16, symbol: D_FO_600B5C0 } - -D_FO_600C5C0: - { type: TEXTURE, format: RGBA16, width: 64, height: 32, offset: 0x600C5C0, ctype: u16, symbol: D_FO_600C5C0 } - -aFoBaseDL1: - { type: GFX, offset: 0x600D5C0, symbol: aFoBaseDL1 } - -D_FO_600D7E8: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x600D7E8, ctype: u16, symbol: D_FO_600D7E8 } - -D_FO_600D9F0: - { type: GFX, offset: 0x600D9F0, symbol: D_FO_600D9F0 } - -D_FO_600DA88: - { type: TEXTURE, format: RGBA16, width: 64, height: 32, offset: 0x600DA88, ctype: u16, symbol: D_FO_600DA88 } - -D_FO_600EA90: - { type: SF64:ENVIRONMENT, offset: 0x600EA90, symbol: D_FO_600EA90 } - -D_FO_600EAD4: - { type: SF64:OBJECT_INIT, offset: 0x600EAD4, symbol: D_FO_600EAD4 } - -D_FO_600F1DC: - { type: SF64:COLPOLY, offset: 0x600F1DC, count: 22, symbol: D_FO_600F1DC, mesh_symbol: D_FO_OFFSET } - -D_FO_600F3F4: - { type: SF64:COLPOLY, offset: 0x600F3F4, count: 22, symbol: D_FO_600F3F4, mesh_symbol: D_FO_OFFSET } - -D_FO_600F60C: - { type: SF64:COLPOLY, offset: 0x600F60C, count: 93, symbol: D_FO_600F60C, mesh_symbol: D_FO_OFFSET } - -aFoPoleHitbox: - { type: SF64:HITBOX, offset: 0x600FE9C, symbol: aFoPoleHitbox } - -aFoTowerHitbox: - { type: SF64:HITBOX, offset: 0x600FEB8, symbol: aFoTowerHitbox } - -aFoRadarHitbox: - { type: SF64:HITBOX, offset: 0x600FF30, symbol: aFoRadarHitbox } - -D_FO_600FF64: - { type: SF64:HITBOX, offset: 0x600FF64, symbol: D_FO_600FF64 } - -aFoMountain1Hitbox: - { type: SF64:HITBOX, offset: 0x600FF80, symbol: aFoMountain1Hitbox } - -aFoMountain2Hitbox: - { type: SF64:HITBOX, offset: 0x600FFA0, symbol: aFoMountain2Hitbox } - -aFoMountain3Hitbox: - { type: SF64:HITBOX, offset: 0x600FFC0, symbol: aFoMountain3Hitbox } - -aFoBaseHitbox: - { type: SF64:HITBOX, offset: 0x600FFE0, symbol: aFoBaseHitbox } \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_great_fox.yaml b/assets/yaml/jp/rev0/ast_great_fox.yaml deleted file mode 100644 index 6a0a0ff1..00000000 --- a/assets/yaml/jp/rev0/ast_great_fox.yaml +++ /dev/null @@ -1,93 +0,0 @@ -:config: - segments: - - [0xE, 0x8FF2F0] - header: - code: - - '#include "assets/ast_great_fox.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -# Great Fox Model -aGreatFoxIntactDL: - { type: GFX, offset: 0xE000000, symbol: aGreatFoxIntactDL } - -D_GREAT_FOX_E0094B0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0E0094B0, symbol: D_GREAT_FOX_E0094B0 } - -D_GREAT_FOX_E009CB0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0E009CB0, symbol: D_GREAT_FOX_E009CB0 } - -# Great Fox Logo -D_GREAT_FOX_E00ACB0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0E00ACB0, symbol: D_GREAT_FOX_E00ACB0 } - -D_GREAT_FOX_E00B4B0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x0E00B4B0, symbol: D_GREAT_FOX_E00B4B0 } - -# Yellow Square -D_GREAT_FOX_E00B530: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x0E00B530, symbol: D_GREAT_FOX_E00B530 } - -D_GREAT_FOX_E00B5B0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0E00B5B0, symbol: D_GREAT_FOX_E00B5B0 } - -# Great Fox Starfox Logo -D_GREAT_FOX_E00BDB0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0E00BDB0, symbol: D_GREAT_FOX_E00BDB0 } - -D_GREAT_FOX_E00CDB0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0E00CDB0, symbol: D_GREAT_FOX_E00CDB0 } - -D_GREAT_FOX_E00CFB0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0E00CFB0, symbol: D_GREAT_FOX_E00CFB0 } - -D_GREAT_FOX_E00D7B0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0E00D7B0, symbol: D_GREAT_FOX_E00D7B0 } - -# Black Square -D_GREAT_FOX_E007430: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x0E007430, symbol: D_GREAT_FOX_E007430 } - -# Great Fox Model (damaged) -aGreatFoxDamagedDL: - { type: GFX, offset: 0xE003AB0, symbol: aGreatFoxDamagedDL } - -D_GREAT_FOX_E0074B0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0E0074B0, symbol: D_GREAT_FOX_E0074B0 } - -D_GREAT_FOX_E0084B0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0E0084B0, symbol: D_GREAT_FOX_E0084B0 } - -D_GREAT_FOX_E008CB0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0E008CB0, symbol: D_GREAT_FOX_E008CB0 } - -D_GREAT_FOX_E00DFB0: - { type: GFX, offset: 0xE00DFB0, symbol: D_GREAT_FOX_E00DFB0 } - -D_GREAT_FOX_E00E078: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x0E00E078, symbol: D_GREAT_FOX_E00E078 } - -# Radio Face of ROB64 -D_GREAT_FOX_E00E100: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0E00E100, symbol: D_GREAT_FOX_E00E100 } - -# Radio Face of ROB64 (talking) -D_GREAT_FOX_E00F020: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0E00F020, symbol: D_GREAT_FOX_E00F020 } - -# Radio Face of General Pepper -D_GREAT_FOX_E00FF40: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0E00FF40, symbol: D_GREAT_FOX_E00FF40 } - -# Radio Face of General Pepper (talking) -D_GREAT_FOX_E010E60: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0E010E60, symbol: D_GREAT_FOX_E010E60 } - -D_GREAT_FOX_E011D80: - { type: GFX, offset: 0xE011D80, symbol: D_GREAT_FOX_E011D80 } - -D_GREAT_FOX_E011E08: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x0E011E08, symbol: D_GREAT_FOX_E011E08 } - -# size = 0x11E90 \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_katina.yaml b/assets/yaml/jp/rev0/ast_katina.yaml deleted file mode 100644 index 404f5fd0..00000000 --- a/assets/yaml/jp/rev0/ast_katina.yaml +++ /dev/null @@ -1,179 +0,0 @@ -:config: - segments: - - [0x6, 0xB7E0B0] - header: - code: - - '#include "assets/ast_katina.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - -# Katina -# Frontline Base -aKaTitleCardTex: - { type: TEXTURE, format: IA8, width: 168, height: 28, offset: 0x6000000, ctype: u8, symbol: aKaTitleCardTex } - -D_KA_6001260: - { type: TEXTURE, format: IA8, width: 8, height: 8, offset: 0x6001260, ctype: u8, symbol: D_KA_6001260 } - -aKaDestroyedHatchDL: - { type: GFX, offset: 0x60012A0, symbol: aKaDestroyedHatchDL } - -aKaEnemyDL: - { type: GFX, offset: 0x6001530, symbol: aKaEnemyDL } - -D_KA_6001968: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6001968, ctype: u16, symbol: D_KA_6001968 } - -# Mothership model -D_KA_6002170: - { type: GFX, offset: 0x6002170, symbol: D_KA_6002170 } - -D_KA_6004078: - { type: TEXTURE, format: RGBA16, width: 8, height: 8, offset: 0x6004078, ctype: u16, symbol: D_KA_6004078 } - -D_KA_60040F8: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x60040F8, ctype: u16, symbol: D_KA_60040F8 } - -D_KA_60048F8: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x60048F8, ctype: u16, symbol: D_KA_60048F8 } - -D_KA_60050F8: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x60050F8, ctype: u16, symbol: D_KA_60050F8 } - -D_KA_60052F8: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x60052F8, ctype: u16, symbol: D_KA_60052F8 } - -D_KA_6005AF8: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6005AF8, ctype: u16, symbol: D_KA_6005AF8 } - -D_KA_60062F8: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x60062F8, ctype: u16, symbol: D_KA_60062F8 } - -D_KA_6006AF8: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6006AF8, ctype: u16, symbol: D_KA_6006AF8 } - -aKaDestroyedKaSaucererDL: - { type: GFX, offset: 0x6007300, symbol: aKaDestroyedKaSaucererDL } - -D_KA_6009250: - { type: GFX, offset: 0x6009250, symbol: D_KA_6009250 } - -D_KA_60094A8: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x60094A8, ctype: u16, symbol: D_KA_60094A8 } - -D_KA_6009CB0: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, offset: 0x6009CB0, ctype: u16, symbol: D_KA_6009CB0 } - -D_KA_600ABD0: - { type: TEXTURE, format: RGBA16, width: 44, height: 44, offset: 0x600ABD0, ctype: u16, symbol: D_KA_600ABD0 } - -aKaFLBaseDL: - { type: GFX, offset: 0x600BAF0, symbol: aKaFLBaseDL } - -D_KA_600BDB0: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x600BDB0, ctype: u16, symbol: D_KA_600BDB0 } - -D_KA_600C2D8: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x600C2D8, ctype: u16, symbol: D_KA_600C2D8 } - -aKaFLBaseDestroyedDL: - { type: GFX, offset: 0x600C4E0, symbol: aKaFLBaseDestroyedDL } - -D_KA_600C760: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x600C760, ctype: u16, symbol: D_KA_600C760 } - -D_KA_600C960: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x600C960, ctype: u16, symbol: D_KA_600C960 } - -# Mothership Core -D_KA_600CB60: - { type: GFX, offset: 0x600CB60, symbol: D_KA_600CB60 } - -D_KA_600BFB0: - { type: GFX, offset: 0x600BFB0, symbol: D_KA_600BFB0 } - -aDestroyedHatch2DL: - { type: GFX, offset: 0x600CDC0, symbol: aDestroyedHatch2DL } - -aDestroyedCoreDL: - { type: GFX, offset: 0x600D090, symbol: aDestroyedCoreDL } - -aDestroyedHatch4DL: - { type: GFX, offset: 0x600D290, symbol: aDestroyedHatch4DL } - -aDestroyedHatch3DL: - { type: GFX, offset: 0x600D4E0, symbol: aDestroyedHatch3DL } - -aKaCornerianFighterShadowDL: - { type: GFX, offset: 0x600D730, symbol: aKaCornerianFighterShadowDL } - -D_KA_600D7B8: - { type: TEXTURE, format: IA8, width: 32, height: 32, offset: 0x600D7B8, ctype: u8, symbol: D_KA_600D7B8 } - -aKaEnemyShadowDL: - { type: GFX, offset: 0x600DBC0, symbol: aKaEnemyShadowDL } - -D_KA_600DC48: - { type: TEXTURE, format: IA8, width: 32, height: 32, offset: 0x600DC48, ctype: u8, symbol: D_KA_600DC48 } - -aKaCornerianFighterDL: - { type: GFX, offset: 0x600E050, symbol: aKaCornerianFighterDL } - -D_KA_600E7E8: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x600E7E8, ctype: u16, symbol: D_KA_600E7E8 } - -D_KA_600E9E8: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x600E9E8, ctype: u16, symbol: D_KA_600E9E8 } - -D_KA_600EBE8: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x600EBE8, ctype: u16, symbol: D_KA_600EBE8 } - -D_KA_600EDE8: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x600EDE8, ctype: u16, symbol: D_KA_600EDE8 } - -aKaEnemyLowPolyDL: - { type: GFX, offset: 0x600EFF0, symbol: aKaEnemyLowPolyDL } - -D_KA_600F1D0: - { type: GFX, offset: 0x600F1D0, symbol: D_KA_600F1D0 } - -D_KA_600F260: - { type: TEXTURE, format: RGBA16, width: 64, height: 32, offset: 0x600F260, ctype: u16, symbol: D_KA_600F260 } - -D_KA_6010260: - { type: GFX, offset: 0x6010260, symbol: D_KA_6010260 } - -D_KA_60105D8: - { type: SF64:ANIM, offset: 0x60105D8, symbol: D_KA_60105D8 } - -D_KA_6010A60: - { type: GFX, offset: 0x6010A60, symbol: D_KA_6010A60 } - -D_KA_6010D20: - { type: GFX, offset: 0x6010D20, symbol: D_KA_6010D20 } - -D_KA_6010744: - { type: SF64:SKELETON, offset: 0x6010744, symbol: D_KA_6010744 } - -D_KA_6010780: - { type: GFX, offset: 0x6010780, symbol: D_KA_6010780 } - -D_KA_6011000: - { type: SF64:ENVIRONMENT, offset: 0x6011000, symbol: D_KA_6011000 } - -D_KA_6011044: - { type: SF64:OBJECT_INIT, offset: 0x6011044, symbol: D_KA_6011044 } - -aKaSaucererHitbox: - { type: SF64:HITBOX, offset: 0x6011058, symbol: aKaSaucererHitbox } - -aKaFrontlineBaseHitbox: - { type: SF64:HITBOX, offset: 0x601115C, symbol: aKaFrontlineBaseHitbox } - -D_KA_60111D8: - { type: SF64:HITBOX, offset: 0x60111D8, symbol: D_KA_60111D8 } \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_landmaster.yaml b/assets/yaml/jp/rev0/ast_landmaster.yaml deleted file mode 100644 index 082bac8b..00000000 --- a/assets/yaml/jp/rev0/ast_landmaster.yaml +++ /dev/null @@ -1,78 +0,0 @@ -:config: - segments: - - [0x3, 0x8A9520] - header: - code: - - '#include "assets/ast_landmaster.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -aLandmasterLifeIconTex: - { type: TEXTURE, format: CI4, offset: 0x3000000, width: 16, height: 16, ctype: u8, tlut: 0x3000080, symbol: aLandmasterLifeIconTex } - -aLandmasterLifeIconTLUT: - { type: TEXTURE, format: TLUT, offset: 0x3000080, colors: 8, ctype: u16, symbol: aLandmasterLifeIconTLUT } - -aLandmasterModelDL: - { type: GFX, offset: 0x3000090, symbol: aLandmasterModelDL } - -D_landmaster_3004CA8: - { type: TEXTURE, format: RGBA16, offset: 0x3004CA8, width: 32, height: 32, ctype: u16, symbol: D_landmaster_3004CA8 } - -D_landmaster_30054A8: - { type: TEXTURE, format: RGBA16, offset: 0x30054A8, width: 32, height: 32, ctype: u16, symbol: D_landmaster_30054A8 } - -D_landmaster_3005CA8: - { type: TEXTURE, format: RGBA16, offset: 0x3005CA8, width: 16, height: 16, ctype: u16, symbol: D_landmaster_3005CA8 } - -D_landmaster_3005EA8: - { type: TEXTURE, format: RGBA16, offset: 0x3005EA8, width: 32, height: 32, ctype: u16, symbol: D_landmaster_3005EA8 } - -D_landmaster_3002680: - { type: TEXTURE, format: RGBA16, offset: 0x3002680, width: 32, height: 32, ctype: u16, symbol: D_landmaster_3002680 } - -D_landmaster_3002E80: - { type: TEXTURE, format: RGBA16, offset: 0x3002E80, width: 32, height: 32, ctype: u16, symbol: D_landmaster_3002E80 } - -D_landmaster_3003680: - { type: TEXTURE, format: RGBA16, offset: 0x3003680, width: 64, height: 32, ctype: u16, symbol: D_landmaster_3003680 } - -D_landmaster_3001680: - { type: TEXTURE, format: RGBA16, offset: 0x3001680, width: 32, height: 32, ctype: u16, symbol: D_landmaster_3001680 } - -D_landmaster_3001E80: - { type: TEXTURE, format: RGBA16, offset: 0x3001E80, width: 32, height: 32, ctype: u16, symbol: D_landmaster_3001E80 } - -aLandmasterCanonDL: - { type: GFX, offset: 0x3004680, symbol: aLandmasterCanonDL } - -D_landmaster_30066B0: - { type: GFX, offset: 0x30066B0, symbol: D_landmaster_30066B0 } - -D_landmaster_3006738: - { type: TEXTURE, format: IA8, offset: 0x3006738, width: 16, height: 32, ctype: u8, symbol: D_landmaster_3006738 } - -D_landmaster_3006940: - { type: GFX, offset: 0x3006940, symbol: D_landmaster_3006940 } - -D_landmaster_30069D8: - { type: TEXTURE, format: IA8, offset: 0x030069D8, width: 32, height: 32, ctype: u8, symbol: D_landmaster_30069D8 } - -D_landmaster_3006DE0: - { type: GFX, offset: 0x3006DE0, symbol: D_landmaster_3006DE0 } - -D_landmaster_3006E68: - { type: TEXTURE, format: RGBA32, offset: 0x3006E68, width: 32, height: 32, ctype: u32, symbol: D_landmaster_3006E68 } - -D_landmaster_3007E70: - { type: GFX, offset: 0x3007E70, symbol: D_landmaster_3007E70 } - -D_landmaster_3007EF8: - { type: TEXTURE, format: RGBA16, offset: 0x3007EF8, width: 16, height: 16, ctype: u16, symbol: D_landmaster_3007EF8 } - -D_landmaster_3008100: - { type: GFX, offset: 0x3008100, symbol: D_landmaster_3008100 } - -D_landmaster_3008188: - { type: TEXTURE, format: IA8, offset: 0x03008188, width: 32, height: 32, ctype: u8, symbol: D_landmaster_3008188 } diff --git a/assets/yaml/jp/rev0/ast_logo.yml b/assets/yaml/jp/rev0/ast_logo.yml deleted file mode 100644 index 67da0dc1..00000000 --- a/assets/yaml/jp/rev0/ast_logo.yml +++ /dev/null @@ -1,18 +0,0 @@ -:config: - segments: - - [0x0F, 0xCE8EC0] - header: - code: - - '#include "assets/ast_logo.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -nintendo_logo: - type: TEXTURE - offset: 0xF000000 - format: IA8 - width: 128 - height: 74 - ctype: u8 - symbol: gNintendoLogo \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_macbeth.yaml b/assets/yaml/jp/rev0/ast_macbeth.yaml deleted file mode 100644 index 7f559a58..00000000 --- a/assets/yaml/jp/rev0/ast_macbeth.yaml +++ /dev/null @@ -1,938 +0,0 @@ -:config: - segments: - - [0x06, 0xB8F2B0] - header: - code: - - '#include "assets/ast_macbeth.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - - '#include "sf64mesg.h"' - -aMaTitleCardTex: - {type: TEXTURE, format: IA8, ctype: u8, width: 160, height: 28, offset: 0x6000000, symbol: aMaTitleCardTex} - -D_MA_6001180: - {type: GFX, offset: 0x6001180, symbol: D_MA_6001180} - -D_MA_60012A0: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x60012A0, symbol: D_MA_60012A0, tlut: 0x60013A0} - -D_MA_60013A0: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 128, offset: 0x60013A0, symbol: D_MA_60013A0} - -D_MA_60014A0: - {type: GFX, offset: 0x60014A0, symbol: D_MA_60014A0} - -D_MA_6001578: - { type: TEXTURE, format: CI8, ctype: u8, width: 32, height: 32, offset: 0x6001578, symbol: D_MA_6001578, tlut: 0x6001978} - -D_MA_6001978: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 112, offset: 0x6001978, symbol: D_MA_6001978} - -D_MA_6001A60: - {type: GFX, offset: 0x6001A60, symbol: D_MA_6001A60} - -D_MA_6001B38: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x6001B38, symbol: D_MA_6001B38, tlut: 0x6001C38} - -D_MA_6001C38: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 32, offset: 0x6001C38, symbol: D_MA_6001C38} - -D_MA_6001C78: - { type: TEXTURE, format: CI8, ctype: u8, width: 32, height: 32, offset: 0x6001C78, symbol: D_MA_6001C78, tlut: 0x6002078} - -D_MA_6002078: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 80, offset: 0x6002078, symbol: D_MA_6002078} - -D_MA_6002118: - { type: TEXTURE, format: CI8, ctype: u8, width: 32, height: 32, offset: 0x6002118, symbol: D_MA_6002118, tlut: 0x6002518} - -D_MA_6002518: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 240, offset: 0x6002518, symbol: D_MA_6002518} - -D_MA_60026F8: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x60026F8, symbol: D_MA_60026F8, tlut: 0x60027F8} - -D_MA_60027F8: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 72, offset: 0x60027F8, symbol: D_MA_60027F8} - -aMaGuillotine2DL: - {type: GFX, offset: 0x6002890, symbol: aMaGuillotine2DL} - -D_MA_6002C20: - { type: TEXTURE, format: CI8, ctype: u8, width: 32, height: 16, offset: 0x6002C20, symbol: D_MA_6002C20, tlut: 0x6002E20} - -D_MA_6002E20: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 32, offset: 0x6002E20, symbol: D_MA_6002E20} - -D_MA_6002E60: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x6002E60, symbol: D_MA_6002E60, tlut: 0x6002F60} - -D_MA_6002F60: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 72, offset: 0x6002F60, symbol: D_MA_6002F60} - -D_MA_6002FF0: - { type: TEXTURE, format: CI8, ctype: u8, width: 8, height: 8, offset: 0x6002FF0, symbol: D_MA_6002FF0, tlut: 0x6003030} - -D_MA_6003030: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 32, offset: 0x6003030, symbol: D_MA_6003030} - -aMaRailroadSwitch3DL: - {type: GFX, offset: 0x6003070, symbol: aMaRailroadSwitch3DL} - -D_MA_6003138: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x6003138, symbol: D_MA_6003138, tlut: 0x6003238} - -D_MA_6003238: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 152, offset: 0x6003238, symbol: D_MA_6003238} - -D_MA_6003370: - {type: GFX, offset: 0x6003370, symbol: D_MA_6003370} - -D_MA_6003B58: - { type: TEXTURE, format: CI8, ctype: u8, width: 32, height: 32, offset: 0x6003B58, symbol: D_MA_6003B58, tlut: 0x6003F58} - -D_MA_6003F58: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 56, offset: 0x6003F58, symbol: D_MA_6003F58} - -D_MA_6003FC8: - { type: TEXTURE, format: CI8, ctype: u8, width: 32, height: 32, offset: 0x6003FC8, symbol: D_MA_6003FC8, tlut: 0x60043C8} - -D_MA_60043C8: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 56, offset: 0x60043C8, symbol: D_MA_60043C8} - -D_MA_6004440: - {type: GFX, offset: 0x6004440, symbol: D_MA_6004440} - -D_MA_6004640: - { type: TEXTURE, format: CI8, ctype: u8, width: 32, height: 32, offset: 0x6004640, symbol: D_MA_6004640, tlut: 0x6004A40} - -D_MA_6004A40: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 256, offset: 0x6004A40, symbol: D_MA_6004A40} - -D_MA_60050F8: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x60050F8, symbol: D_MA_60050F8, tlut: 0x60051F8} - -D_MA_60051F8: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 32, offset: 0x60051F8, symbol: D_MA_60051F8} - -D_MA_6005238: - { type: TEXTURE, format: CI8, ctype: u8, width: 32, height: 32, offset: 0x6005238, symbol: D_MA_6005238, tlut: 0x6005638} - -D_MA_6005638: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 248, offset: 0x6005638, symbol: D_MA_6005638} - -D_MA_6005828: - { type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 32, offset: 0x6005828, symbol: D_MA_6005828} - -D_MA_6006030: - {type: GFX, offset: 0x6006030, symbol: D_MA_6006030} - -aMaIndicatorSignDL: - {type: GFX, offset: 0x60066A0, symbol: aMaIndicatorSignDL} - -D_MA_60069A8: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x60069A8, symbol: D_MA_60069A8, tlut: 0x6006AA8} - -D_MA_6006AA8: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 160, offset: 0x6006AA8, symbol: D_MA_6006AA8} - -D_MA_6006BE8: - { type: TEXTURE, format: CI8, ctype: u8, width: 32, height: 32, offset: 0x6006BE8, symbol: D_MA_6006BE8, tlut: 0x6006FE8} - -D_MA_6006FE8: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 232, offset: 0x6006FE8, symbol: D_MA_6006FE8} - -aMaDistanceSign4DL: - {type: GFX, offset: 0x60071C0, symbol: aMaDistanceSign4DL} - -aMaDistanceSign3DL: - {type: GFX, offset: 0x6007290, symbol: aMaDistanceSign3DL} - -aMaDistanceSign2DL: - {type: GFX, offset: 0x6007360, symbol: aMaDistanceSign2DL} - -aMaDistanceSign1DL: - {type: GFX, offset: 0x6007430, symbol: aMaDistanceSign1DL} - -aMaDistanceSign5DL: - {type: GFX, offset: 0x6007500, symbol: aMaDistanceSign5DL} - -aMaWeaponsFactoryDL: - {type: GFX, offset: 0x60075D0, symbol: aMaWeaponsFactoryDL} - -D_MA_60092E0: - { type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 32, offset: 0x60092E0, symbol: D_MA_60092E0} - -D_MA_6009AE0: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x6009AE0, symbol: D_MA_6009AE0, tlut: 0x6009BE0} - -D_MA_6009BE0: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 56, offset: 0x6009BE0, symbol: D_MA_6009BE0} - -aMaRailroadSwitch8DL: - {type: GFX, offset: 0x6009C50, symbol: aMaRailroadSwitch8DL} - -D_MA_6009D18: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x6009D18, symbol: D_MA_6009D18, tlut: 0x6009E18} - -D_MA_6009E18: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 120, offset: 0x6009E18, symbol: D_MA_6009E18} - -aMaRailroadSwitch7DL: - {type: GFX, offset: 0x6009F10, symbol: aMaRailroadSwitch7DL} - -D_MA_6009FD8: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x6009FD8, symbol: D_MA_6009FD8, tlut: 0x600A0D8} - -D_MA_600A0D8: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 136, offset: 0x600A0D8, symbol: D_MA_600A0D8} - -aMaRailroadSwitch6DL: - {type: GFX, offset: 0x600A1F0, symbol: aMaRailroadSwitch6DL} - -D_MA_600A2B8: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x600A2B8, symbol: D_MA_600A2B8, tlut: 0x600A3B8} - -D_MA_600A3B8: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 136, offset: 0x600A3B8, symbol: D_MA_600A3B8} - -aMaRailroadSwitch5DL: - {type: GFX, offset: 0x600A4D0, symbol: aMaRailroadSwitch5DL} - -D_MA_600A598: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x600A598, symbol: D_MA_600A598, tlut: 0x600A698} - -D_MA_600A698: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 152, offset: 0x600A698, symbol: D_MA_600A698} - -aMaRailroadSwitch4DL: - {type: GFX, offset: 0x600A7D0, symbol: aMaRailroadSwitch4DL} - -D_MA_600A898: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x600A898, symbol: D_MA_600A898, tlut: 0x600A998} - -D_MA_600A998: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 104, offset: 0x600A998, symbol: D_MA_600A998} - -aMaRailroadSwitch2DL: - {type: GFX, offset: 0x600AA70, symbol: aMaRailroadSwitch2DL} - -D_MA_600AB38: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x600AB38, symbol: D_MA_600AB38, tlut: 0x600AC38} - -D_MA_600AC38: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 136, offset: 0x600AC38, symbol: D_MA_600AC38} - -aMaRailroadSwitch1DL: - {type: GFX, offset: 0x600AD50, symbol: aMaRailroadSwitch1DL} - -D_MA_600AE18: - { type: TEXTURE, format: CI8, ctype: u8, width: 8, height: 16, offset: 0x600AE18, symbol: D_MA_600AE18, tlut: 0x600AE98} - -D_MA_600AE98: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 80, offset: 0x600AE98, symbol: D_MA_600AE98} - -aMaGuillotine1DL: - {type: GFX, offset: 0x600AF40, symbol: aMaGuillotine1DL} - -D_MA_600B2E0: - { type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 64, offset: 0x600B2E0, symbol: D_MA_600B2E0} - -D_MA_600C2E0: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x600C2E0, symbol: D_MA_600C2E0, tlut: 0x600C3E0} - -D_MA_600C3E0: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 40, offset: 0x600C3E0, symbol: D_MA_600C3E0} - -D_MA_600C4D0: - {type: SF64:ANIM, offset: 0x600C4D0, symbol: D_MA_600C4D0} - -D_MA_600C65C: - {type: SF64:SKELETON, offset: 0x600C65C, symbol: D_MA_600C65C} - -D_MA_600CD18: - {type: SF64:ANIM, offset: 0x600CD18, symbol: D_MA_600CD18} - -D_MA_600D1E4: - {type: SF64:SKELETON, offset: 0x600D1E4, symbol: D_MA_600D1E4} - -D_MA_600D280: - { type: TEXTURE, format: IA16, ctype: u16, width: 16, height: 16, offset: 0x600D280, symbol: D_MA_600D280} - -aMaSpearDL: - {type: GFX, offset: 0x600D480, symbol: aMaSpearDL} - -D_MA_600D878: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x600D878, symbol: D_MA_600D878, tlut: 0x600D978} - -D_MA_600D978: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 72, offset: 0x600D978, symbol: D_MA_600D978} - -aMaLaserTurretDL: - {type: GFX, offset: 0x600DA10, symbol: aMaLaserTurretDL} - -D_MA_600DF60: - { type: TEXTURE, format: CI8, ctype: u8, width: 32, height: 32, offset: 0x600DF60, symbol: D_MA_600DF60, tlut: 0x600E360} - -D_MA_600E360: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 128, offset: 0x600E360, symbol: D_MA_600E360} - -D_MA_600E460: - { type: TEXTURE, format: RGBA16, ctype: u16, width: 4, height: 4, offset: 0x600E460, symbol: D_MA_600E460} - -D_MA_600E480: - { type: TEXTURE, format: CI8, ctype: u8, width: 32, height: 32, offset: 0x600E480, symbol: D_MA_600E480, tlut: 0x600E880} - -D_MA_600E880: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 232, offset: 0x600E880, symbol: D_MA_600E880} - -D_MA_600EE38: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x600EE38, symbol: D_MA_600EE38, tlut: 0x600EF38} - -D_MA_600EF38: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 48, offset: 0x600EF38, symbol: D_MA_600EF38} - -D_MA_600EF98: - { type: TEXTURE, format: CI4, ctype: u8, width: 16, height: 16, offset: 0x600EF98, symbol: D_MA_600EF98, tlut: 0x600F018} - -D_MA_600F018: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 8, offset: 0x600F018, symbol: D_MA_600F018} - -D_MA_600F028: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x600F028, symbol: D_MA_600F028, tlut: 0x600F128} - -D_MA_600F128: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 24, offset: 0x600F128, symbol: D_MA_600F128} - -D_MA_600F160: - {type: GFX, offset: 0x600F160, symbol: D_MA_600F160} - -D_MA_600F2F0: - {type: GFX, offset: 0x600F2F0, symbol: D_MA_600F2F0} - -D_MA_600F3D0: - {type: GFX, offset: 0x600F3D0, symbol: D_MA_600F3D0} - -D_MA_600F6C0: - {type: GFX, offset: 0x600F6C0, symbol: D_MA_600F6C0} - -D_MA_600F9B0: - {type: GFX, offset: 0x600F9B0, symbol: D_MA_600F9B0} - -D_MA_600FEC4: - {type: SF64:ANIM, offset: 0x600FEC4, symbol: D_MA_600FEC4} - -D_MA_6010144: - {type: SF64:ANIM, offset: 0x6010144, symbol: D_MA_6010144} - -D_MA_6010220: - {type: SF64:ANIM, offset: 0x6010220, symbol: D_MA_6010220} - -D_MA_601042C: - {type: SF64:SKELETON, offset: 0x601042C, symbol: D_MA_601042C} - -D_MA_6010470: - {type: GFX, offset: 0x6010470, symbol: D_MA_6010470} - -aMaProximityLightSidesDL: - {type: GFX, offset: 0x6010700, symbol: aMaProximityLightSidesDL} - -D_MA_6010C20: - { type: TEXTURE, format: RGBA16, ctype: u16, width: 44, height: 44, offset: 0x6010C20, symbol: D_MA_6010C20} - -D_MA_6011B40: - { type: TEXTURE, format: RGBA16, ctype: u16, width: 44, height: 44, offset: 0x6011B40, symbol: D_MA_6011B40} - -D_MA_6012A60: - {type: GFX, offset: 0x6012A60, symbol: D_MA_6012A60} - -D_MA_6012BC0: - { type: TEXTURE, format: IA8, ctype: u8, width: 8, height: 8, offset: 0x6012BC0, symbol: D_MA_6012BC0} - -D_MA_6012C00: - {type: GFX, offset: 0x6012C00, symbol: D_MA_6012C00} - -D_MA_6012C98: - { type: TEXTURE, format: RGBA16, ctype: u16, width: 4, height: 8, offset: 0x6012C98, symbol: D_MA_6012C98} - -aMaShockBoxLightDL: - {type: GFX, offset: 0x6012F50, symbol: aMaShockBoxLightDL} - -D_MA_6012FE0: - { type: TEXTURE, format: IA8, ctype: u8, width: 16, height: 8, offset: 0x6012FE0, symbol: D_MA_6012FE0} - -D_MA_6013060: - {type: GFX, offset: 0x6013060, symbol: D_MA_6013060} - -D_MA_6013158: - { type: TEXTURE, format: IA16, ctype: u16, width: 32, height: 32, offset: 0x6013158, symbol: D_MA_6013158} - -aMaGuillotineHousingDL: - {type: GFX, offset: 0x6013960, symbol: aMaGuillotineHousingDL} - -D_MA_6013F58: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x6013F58, symbol: D_MA_6013F58, tlut: 0x6014058} - -D_MA_6014058: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 88, offset: 0x6014058, symbol: D_MA_6014058} - -D_MA_6014458: - { type: TEXTURE, format: RGBA16, ctype: u16, width: 64, height: 32, offset: 0x6014458, symbol: D_MA_6014458} - -D_MA_6015494: - {type: SF64:ANIM, offset: 0x6015494, symbol: D_MA_6015494} - -D_MA_6015500: - {type: SF64:SKELETON, offset: 0x6015500, symbol: D_MA_6015500} - -aMaShockBoxDL: - {type: GFX, offset: 0x6015510, symbol: aMaShockBoxDL} - -D_MA_6015C24: - {type: SF64:ANIM, offset: 0x6015C24, symbol: D_MA_6015C24} - -D_MA_6016040: - {type: SF64:ANIM, offset: 0x6016040, symbol: D_MA_6016040} - -D_MA_60163F0: - {type: SF64:ANIM, offset: 0x60163F0, symbol: D_MA_60163F0} - -D_MA_6016B2C: - {type: SF64:ANIM, offset: 0x6016B2C, symbol: D_MA_6016B2C} - -D_MA_6017714: - {type: SF64:ANIM, offset: 0x6017714, symbol: D_MA_6017714} - -D_MA_6017720: - {type: GFX, offset: 0x6017720, symbol: D_MA_6017720} - -D_MA_6017EB8: - { type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 32, offset: 0x6017EB8, symbol: D_MA_6017EB8} - -D_MA_60186B8: - { type: TEXTURE, format: CI8, ctype: u8, width: 32, height: 32, offset: 0x60186B8, symbol: D_MA_60186B8, tlut: 0x6018AB8} - -D_MA_6018AB8: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 232, offset: 0x6018AB8, symbol: D_MA_6018AB8} - -D_MA_6019028: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x6019028, symbol: D_MA_6019028, tlut: 0x6019128} - -D_MA_6019128: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 120, offset: 0x6019128, symbol: D_MA_6019128} - -D_MA_6019220: - {type: GFX, offset: 0x6019220, symbol: D_MA_6019220} - -D_MA_60192B0: - {type: TEXTURE, format: RGBA16, ctype: u16, width: 64, height: 32, offset: 0x60192B0, symbol: D_MA_60192B0} - -aMaBoulderDL: - {type: GFX, offset: 0x601A2B0, symbol: aMaBoulderDL} - -D_MA_601A5E8: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x601A5E8, symbol: D_MA_601A5E8, tlut: 0x601A6E8} - -D_MA_601A6E8: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 88, offset: 0x601A6E8, symbol: D_MA_601A6E8} - -D_MA_601A7A0: - {type: GFX, offset: 0x601A7A0, symbol: D_MA_601A7A0} - -D_MA_601A840: - {type: GFX, offset: 0x601A840, symbol: D_MA_601A840} - -D_MA_601A8C8: - { type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 32, offset: 0x601A8C8, symbol: D_MA_601A8C8} - -aMaFloor6DL: - {type: GFX, offset: 0x601B0D0, symbol: aMaFloor6DL} - -aMaWall4DL: - {type: GFX, offset: 0x601B7C0, symbol: aMaWall4DL} - -D_MA_601BB78: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x601BB78, symbol: D_MA_601BB78, tlut: 0x601BC78} - -D_MA_601BC78: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 72, offset: 0x601BC78, symbol: D_MA_601BC78} - -D_MA_601BD08: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x601BD08, symbol: D_MA_601BD08, tlut: 0x601BE08} - -D_MA_601BE08: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 64, offset: 0x601BE08, symbol: D_MA_601BE08} - -D_MA_601BE90: - {type: GFX, offset: 0x601BE90, symbol: D_MA_601BE90} - -aMaTowerTopDL: - {type: GFX, offset: 0x601C000, symbol: aMaTowerTopDL} - -D_MA_601C170: - {type: GFX, offset: 0x601C170, symbol: D_MA_601C170} - -aMaRailroadCartDL: - {type: GFX, offset: 0x601C520, symbol: aMaRailroadCartDL} - -D_MA_601D188: - {type: SF64:ANIM, offset: 0x601D188, symbol: D_MA_601D188} - -D_MA_601EA28: - {type: SF64:ANIM, offset: 0x601EA28, symbol: D_MA_601EA28} - -D_MA_601EAB0: - {type: SF64:ANIM, offset: 0x601EAB0, symbol: D_MA_601EAB0} - -D_MA_601EBBC: - {type: SF64:SKELETON, offset: 0x601EBBC, symbol: D_MA_601EBBC} - -aMaWall2DL: - {type: GFX, offset: 0x601F1D0, symbol: aMaWall2DL} - -aMaProximityLightTopDL: - {type: GFX, offset: 0x601F270, symbol: aMaProximityLightTopDL} - -D_MA_6020A30: - {type: GFX, offset: 0x6020A30, symbol: D_MA_6020A30} - -D_MA_60200E0: - {type: GFX, offset: 0x60200E0, symbol: D_MA_60200E0} - -D_MA_6020E600: - {type: GFX, offset: 0x6020E60, symbol: D_MA_6020E60} - -D_MA_6022200: - {type: GFX, offset: 0x6022200, symbol: D_MA_6022200} - -D_MA_60223C0: - {type: GFX, offset: 0x60223C0, symbol: D_MA_60223C0} - -D_MA_6022450: - { type: GFX, offset: 0x6022450, symbol: D_MA_6022450} - -D_MA_6022530: - {type: GFX, offset: 0x6022530, symbol: D_MA_6022530} - -D_MA_6022610: - {type: GFX, offset: 0x6022610, symbol: D_MA_6022610} - -D_MA_60227F0: - {type: GFX, offset: 0x60227F0, symbol: D_MA_60227F0} - -D_MA_6022B68: - { type: TEXTURE, format: CI8, ctype: u8, width: 32, height: 32, offset: 0x6022B68, symbol: D_MA_6022B68, tlut: 0x6022F68} - -D_MA_6022F68: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 176, offset: 0x6022F68, symbol: D_MA_6022F68} - -D_MA_60230C8: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x60230C8, symbol: D_MA_60230C8, tlut: 0x60231C8} - -D_MA_60231C8: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 48, offset: 0x60231C8, symbol: D_MA_60231C8} - -D_MA_6023228: - { type: TEXTURE, format: CI8, ctype: u8, width: 16, height: 16, offset: 0x6023228, symbol: D_MA_6023228, tlut: 0x6023328} - -D_MA_6023328: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 48, offset: 0x6023328, symbol: D_MA_6023328} - -D_MA_6023388: - { type: TEXTURE, format: CI8, ctype: u8, width: 32, height: 32, offset: 0x6023388, symbol: D_MA_6023388, tlut: 0x6023788} - -D_MA_6023788: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 176, offset: 0x6023788, symbol: D_MA_6023788} - -aMaWall3DL: - {type: GFX, offset: 0x60238F0, symbol: aMaWall3DL} - -D_MA_60239D0: - {type: GFX, offset: 0x60239D0, symbol: D_MA_60239D0} - -aMaBuilding1DL: - {type: GFX, offset: 0x6024010, symbol: aMaBuilding1DL} - -D_MA_6024230: - { type: TEXTURE, format: CI8, ctype: u8, width: 32, height: 32, offset: 0x6024230, symbol: D_MA_6024230, tlut: 0x6024630} - -D_MA_6024630: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 32, offset: 0x6024630, symbol: D_MA_6024630} - -D_MA_6024670: - {type: GFX, offset: 0x6024670, symbol: D_MA_6024670} - -aMaHorizontalLockBarDL: - {type: GFX, offset: 0x60251A0, symbol: aMaHorizontalLockBarDL} - -aMaTowerBottomDL: - {type: GFX, offset: 0x60253E0, symbol: aMaTowerBottomDL} - -aMaBarrierDL: - {type: GFX, offset: 0x60257B0, symbol: aMaBarrierDL} - -aMaVerticalLockBarDL: - {type: GFX, offset: 0x6025850, symbol: aMaVerticalLockBarDL} - -D_MA_6025A70: - {type: GFX, offset: 0x6025A70, symbol: D_MA_6025A70} - -D_MA_6025B50: - { type: GFX, offset: 0x6025B50, symbol: D_MA_6025B50} - -D_MA_6025CA0: - {type: SF64:ANIM, offset: 0x6025CA0, symbol: D_MA_6025CA0} - -D_MA_6025DAC: - {type: SF64:SKELETON, offset: 0x6025DAC, symbol: D_MA_6025DAC} - -D_MA_6026860: - {type: GFX, offset: 0x6026860, symbol: D_MA_6026860} - -D_MA_60269E0: - {type: GFX, offset: 0x60269E0, symbol: D_MA_60269E0} - -D_MA_6026C00: - { type: TEXTURE, format: CI8, ctype: u8, width: 32, height: 32, offset: 0x6026C00, symbol: D_MA_6026C00, tlut: 0x6027000} - -D_MA_6027000: - { type: TEXTURE, format: TLUT, ctype: u16, colors: 112, offset: 0x6027000, symbol: D_MA_6027000} - -aMaWall1DL: - {type: GFX, offset: 0x60270E0, symbol: aMaWall1DL} - -aMaBuilding2DL: - { type: GFX, offset: 0x6027180, symbol: aMaBuilding2DL} - -D_MA_6027320: - {type: SF64:ANIM, offset: 0x6027320, symbol: D_MA_6027320} - -D_MA_602742C: - {type: SF64:SKELETON, offset: 0x602742C, symbol: D_MA_602742C} - -aMaFloor2DL: - {type: GFX, offset: 0x6027900, symbol: aMaFloor2DL} - -D_MA_6027A04: - {type: SF64:ANIM, offset: 0x6027A04, symbol: D_MA_6027A04} - -D_MA_6027AF0: - {type: SF64:SKELETON, offset: 0x6027AF0, symbol: D_MA_6027AF0} - -D_MA_6027BF0: - {type: GFX, offset: 0x6027BF0, symbol: D_MA_6027BF0} - -D_MA_6027D40: - {type: GFX, offset: 0x6027D40, symbol: D_MA_6027D40} - -D_MA_6027EB0: - {type: GFX, offset: 0x6027EB0, symbol: D_MA_6027EB0} - -D_MA_60288A0: - {type: GFX, offset: 0x60288A0, symbol: D_MA_60288A0} - -D_MA_6029890: - {type: GFX, offset: 0x6029890, symbol: D_MA_6029890} - -D_MA_VTX_602A0D0: - {type: VTX, count: 395, offset: 0x602A0D0, symbol: D_MA_VTX_602A0D0} - -D_MA_602B980: - {type: TEXTURE, format: RGBA16, ctype: u16, width: 16, height: 16, offset: 0x602B980, symbol: D_MA_602B980} - -D_MA_602BB80: - {type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 32, offset: 0x602BB80, symbol: D_MA_602BB80} - -D_MA_602C380: - {type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 32, offset: 0x602C380, symbol: D_MA_602C380} - -D_MA_602CB80: - {type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 32, offset: 0x602CB80, symbol: D_MA_602CB80} - -D_MA_602D380: - {type: GFX, offset: 0x602D380, symbol: D_MA_602D380} - -aMaFloor1DL: - {type: GFX, offset: 0x602DAE0, symbol: aMaFloor1DL} - -aMaFloor3DL: - {type: GFX, offset: 0x602DB80, symbol: aMaFloor3DL} - -aMaFloor5DL: - {type: GFX, offset: 0x602DC20, symbol: aMaFloor5DL} - -D_MA_602DCB8: - {type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 32, offset: 0x602DCB8, symbol: D_MA_602DCB8} - -D_MA_602EA0C: - {type: SF64:ANIM, offset: 0x602EA0C, symbol: D_MA_602EA0C} - -D_MA_602EBB8: - {type: SF64:SKELETON, offset: 0x602EBB8, symbol: D_MA_602EBB8} - -D_MA_602F098: - {type: SF64:ANIM, offset: 0x602F098, symbol: D_MA_602F098} - -D_MA_602F264: - {type: SF64:SKELETON, offset: 0x602F264, symbol: D_MA_602F264} - -D_MA_602F2E0: - {type: SF64:ANIM, offset: 0x602F2E0, symbol: D_MA_602F2E0} - -D_MA_602F36C: - {type: SF64:SKELETON, offset: 0x602F36C, symbol: D_MA_602F36C} - -D_MA_602F380: - {type: GFX, offset: 0x602F380, symbol: D_MA_602F380} - -D_MA_602FBF0: - {type: GFX, offset: 0x602FBF0, symbol: D_MA_602FBF0} - -D_MA_602FEB4: - {type: SF64:ANIM, offset: 0x602FEB4, symbol: D_MA_602FEB4} - -D_MA_602FFA0: - {type: SF64:SKELETON, offset: 0x602FFA0, symbol: D_MA_602FFA0} - -D_MA_602FFC0: - {type: GFX, offset: 0x602FFC0, symbol: D_MA_602FFC0} - -aMaTerrainBumpDL: - {type: GFX, offset: 0x6030500, symbol: aMaTerrainBumpDL} - -aMaFloor4DL: - {type: GFX, offset: 0x6030630, symbol: aMaFloor4DL} - -D_MA_60306D0: - {type: GFX, offset: 0x60306D0, symbol: D_MA_60306D0} - -D_MA_6030750: - {type: GFX, offset: 0x6030750, symbol: D_MA_6030750} - -D_MA_60309D0: - {type: GFX, offset: 0x60309D0, symbol: D_MA_60309D0} - -D_MA_6030C50: - {type: GFX, offset: 0x6030C50, symbol: D_MA_6030C50} - -D_MA_6030E30: - {type: SF64:ENVIRONMENT, offset: 0x6030E30, symbol: D_MA_6030E30} - -D_MA_6030E74: - {type: SF64:TRIANGLE, count: 2, offset: 0x6030E74, symbol: D_MA_6030E74, mesh_symbol: D_MA_OFFSET} - -D_MA_6030EB0: - {type: SF64:TRIANGLE, count: 2, offset: 0x6030EB0, symbol: D_MA_6030EB0, mesh_symbol: D_MA_OFFSET} - -D_MA_6030EEC: - {type: SF64:TRIANGLE, count: 2, offset: 0x6030EEC, symbol: D_MA_6030EEC, mesh_symbol: D_MA_OFFSET} - -D_MA_6030F28: - {type: SF64:TRIANGLE, count: 2, offset: 0x6030F28, symbol: D_MA_6030F28, mesh_symbol: D_MA_OFFSET} - -D_MA_6030F64: - {type: SF64:TRIANGLE, count: 4, offset: 0x6030F64, symbol: D_MA_6030F64, mesh_symbol: D_MA_OFFSET} - -D_MA_6030FC4: - {type: SF64:TRIANGLE, count: 2, offset: 0x6030FC4, symbol: D_MA_6030FC4, mesh_symbol: D_MA_OFFSET} - -D_MA_6031000: - {type: SF64:OBJECT_INIT, offset: 0x6031000, symbol: D_MA_6031000} - -D_MA_6035678: - {type: SF64:OBJECT_INIT, offset: 0x6035678, symbol: D_MA_6035678} - -D_MA_60357CC: - {type: SF64:OBJECT_INIT, offset: 0x60357CC, symbol: D_MA_60357CC} - -D_MA_6035920: - {type: SF64:OBJECT_INIT, offset: 0x6035920, symbol: D_MA_6035920} - -D_MA_60359AC: - {type: SF64:HITBOX, offset: 0x60359AC, symbol: D_MA_60359AC} - -aMaLocomotiveHitbox: - {type: SF64:HITBOX, offset: 0x60359C8, symbol: aMaLocomotiveHitbox} - -aMaTrainCar2Hitbox: - {type: SF64:HITBOX, offset: 0x6035A14, symbol: aMaTrainCar2Hitbox} - -aMaTrainCar1Hitbox: - {type: SF64:HITBOX, offset: 0x6035A48, symbol: aMaTrainCar1Hitbox} - -D_MA_6035A94: - {type: SF64:HITBOX, offset: 0x6035A94, symbol: D_MA_6035A94} - -aMaTrainCar3Hitbox: - {type: SF64:HITBOX, offset: 0x6035AE0, symbol: aMaTrainCar3Hitbox} - -D_MA_6035B44: - {type: SF64:HITBOX, offset: 0x6035B44, symbol: D_MA_6035B44} - -D_MA_6035BA8: - {type: SF64:HITBOX, offset: 0x6035BA8, symbol: D_MA_6035BA8} - -D_MA_6035C0C: - {type: SF64:HITBOX, offset: 0x6035C0C, symbol: D_MA_6035C0C} - -D_MA_6035C70: - {type: SF64:HITBOX, offset: 0x6035C70, symbol: D_MA_6035C70} - -D_MA_6035CD4: - {type: SF64:HITBOX, offset: 0x6035CD4, symbol: D_MA_6035CD4} - -D_MA_6035D38: - {type: SF64:HITBOX, offset: 0x6035D38, symbol: D_MA_6035D38} - -aMaTrainCar4Hitbox: - {type: SF64:HITBOX, offset: 0x6035D9C, symbol: aMaTrainCar4Hitbox} - -D_MA_6035DD0: - {type: SF64:HITBOX, offset: 0x6035DD0, symbol: D_MA_6035DD0} - -aMaTrainCar5Hitbox: - {type: SF64:HITBOX, offset: 0x6035E04, symbol: aMaTrainCar5Hitbox} - -D_MA_6035E68: - {type: SF64:HITBOX, offset: 0x6035E68, symbol: D_MA_6035E68} - -D_MA_6035ECC: - {type: SF64:HITBOX, offset: 0x6035ECC, symbol: D_MA_6035ECC} - -D_MA_6035F30: - {type: SF64:HITBOX, offset: 0x6035F30, symbol: D_MA_6035F30} - -D_MA_6035F94: - {type: SF64:HITBOX, offset: 0x6035F94, symbol: D_MA_6035F94} - -D_MA_6035FF8: - {type: SF64:HITBOX, offset: 0x6035FF8, symbol: D_MA_6035FF8} - -D_MA_603605C: - {type: SF64:HITBOX, offset: 0x603605C, symbol: D_MA_603605C} - -aMaTrainCar6Hitbox: - {type: SF64:HITBOX, offset: 0x60360C0, symbol: aMaTrainCar6Hitbox} - -aMaTrainCar7Hitbox: - {type: SF64:HITBOX, offset: 0x6036154, symbol: aMaTrainCar7Hitbox} - -D_MA_6036188: - {type: SF64:HITBOX, offset: 0x6036188, symbol: D_MA_6036188} - -aMaTrainTrack13Hitbox: - {type: SF64:HITBOX, offset: 0x6036204, symbol: aMaTrainTrack13Hitbox} - -D_MA_6036250: - {type: SF64:HITBOX, offset: 0x6036250, symbol: D_MA_6036250} - -aMaBuilding1Hitbox: - {type: SF64:HITBOX, offset: 0x603626C, symbol: aMaBuilding1Hitbox} - -aMaBuilding2Hitbox: - {type: SF64:HITBOX, offset: 0x6036288, symbol: aMaBuilding2Hitbox} - -aMaTowerHitbox: - {type: SF64:HITBOX, offset: 0x60362A4, symbol: aMaTowerHitbox} - -aMaWall2Hitbox: - {type: SF64:HITBOX, offset: 0x60362D8, symbol: aMaWall2Hitbox} - -aMaWall4Hitbox: - {type: SF64:HITBOX, offset: 0x60362F4, symbol: aMaWall4Hitbox} - -aMaWall3Hitbox: - {type: SF64:HITBOX, offset: 0x6036328, symbol: aMaWall3Hitbox} - -aMaIndicatorSignHitbox: - {type: SF64:HITBOX, offset: 0x6036344, symbol: aMaIndicatorSignHitbox} - -aMaTerrainBumpHitbox: - {type: SF64:HITBOX, offset: 0x6036370, symbol: aMaTerrainBumpHitbox} - -aMaFloor1Hitbox: - {type: SF64:HITBOX, offset: 0x603638C, symbol: aMaFloor1Hitbox} - -aMaFloor2Hitbox: - {type: SF64:HITBOX, offset: 0x60363B8, symbol: aMaFloor2Hitbox} - -aMaFloor3Hitbox: - {type: SF64:HITBOX, offset: 0x60363E4, symbol: aMaFloor3Hitbox} - -aMaFloor4Hitbox: - {type: SF64:HITBOX, offset: 0x6036410, symbol: aMaFloor4Hitbox} - -aMaFloor5Hitbox: - {type: SF64:HITBOX, offset: 0x603643C, symbol: aMaFloor5Hitbox} - -aMaMaRailroadSwitchHitbox: - {type: SF64:HITBOX, offset: 0x6036458, symbol: aMaMaRailroadSwitchHitbox} - -D_MA_603648C: - {type: SF64:HITBOX, offset: 0x603648C, symbol: D_MA_603648C} - -aMaBoulderHitbox: - {type: SF64:HITBOX, offset: 0x60364C0, symbol: aMaBoulderHitbox} - -aMaRailwaySignalHitbox: - {type: SF64:HITBOX, offset: 0x60364DC, symbol: aMaRailwaySignalHitbox} - -D_MA_6036520: - {type: SF64:HITBOX, offset: 0x6036520, symbol: D_MA_6036520} - -aMaSwitchTrackHitbox: - {type: SF64:HITBOX, offset: 0x6036594, symbol: aMaSwitchTrackHitbox} - -D_MA_6036668: - {type: SF64:HITBOX, offset: 0x6036668, symbol: D_MA_6036668} - -aMaHorizontalLockBarHitbox: - {type: SF64:HITBOX, offset: 0x60366EC, symbol: aMaHorizontalLockBarHitbox} - -aMaVerticalLockBarHitbox: - {type: SF64:HITBOX, offset: 0x6036708, symbol: aMaVerticalLockBarHitbox} - -aMaProximityLightHitbox: - {type: SF64:HITBOX, offset: 0x6036724, symbol: aMaProximityLightHitbox} - -aMaBarrierHitbox: - {type: SF64:HITBOX, offset: 0x6036728, symbol: aMaBarrierHitbox} - -aMaFallingBoulderHitbox: - {type: SF64:HITBOX, offset: 0x6036744, symbol: aMaFallingBoulderHitbox} - -aMaFloor6Hitbox: - {type: SF64:HITBOX, offset: 0x6036760, symbol: aMaFloor6Hitbox} - -aMaActor207Hitbox: - {type: SF64:HITBOX, offset: 0x603677C, symbol: aMaActor207Hitbox} - -D_MA_6036818: - {type: SF64:HITBOX, offset: 0x6036818, symbol: D_MA_6036818} - -aMaGuillotineHousingHitbox: - {type: SF64:HITBOX, offset: 0x6036894, symbol: aMaGuillotineHousingHitbox} - -aMaGuillotineHitbox: - {type: SF64:HITBOX, offset: 0x60368E0, symbol: aMaGuillotineHitbox} - -aMaRailroadCartHitbox: - {type: SF64:HITBOX, offset: 0x60368FC, symbol: aMaRailroadCartHitbox} - -aMaBombDropHitbox: - {type: SF64:HITBOX, offset: 0x6036930, symbol: aMaBombDropHitbox} - -aMaSpearHitbox: - {type: SF64:HITBOX, offset: 0x603694C, symbol: aMaSpearHitbox} - -aMaShockBoxHitbox: - {type: SF64:HITBOX, offset: 0x6036968, symbol: aMaShockBoxHitbox} - -D_MA_60381D8: - {type: SF64:SCRIPT, offset: 0x60381D8, symbol: D_MA_60381D8} diff --git a/assets/yaml/jp/rev0/ast_map.yaml b/assets/yaml/jp/rev0/ast_map.yaml deleted file mode 100644 index c470e617..00000000 --- a/assets/yaml/jp/rev0/ast_map.yaml +++ /dev/null @@ -1,577 +0,0 @@ -:config: - segments: - - [0x06, 0xC12690] - header: - code: - - '#include "assets/ast_map.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -# Restart Game (Game Over) -aMapRetryCourseGameOverTex: - { type: TEXTURE, format: IA8, offset: 0x6000000, width: 96, height: 22, ctype: u8, symbol: aMapRetryCourseGameOverTex } - -# Proceed to Next Course -aMapProceedNextCourseTex: - { type: TEXTURE, format: IA8, offset: 0x6000840, width: 96, height: 22, ctype: u8, symbol: aMapProceedNextCourseTex } - -# Retry Course (Lose 1 Arwing) -aMapRetryCourseLose1UPTex: - { type: TEXTURE, format: IA8, offset: 0x6001080, width: 96, height: 22, ctype: u8, symbol: aMapRetryCourseLose1UPTex } - -# Change Course -aMapChangeCourseTex: - { type: TEXTURE, format: IA8, offset: 0x60018C0, width: 96, height: 10, ctype: u8, symbol: aMapChangeCourseTex } - -# Aquas Ocean -D_MAP_6001C80: - { type: TEXTURE, format: IA8, offset: 0x6001C80, width: 96, height: 13, ctype: u8, symbol: D_MAP_6001C80 } - -# Terror of the Deep -D_MAP_6002160: - { type: TEXTURE, format: IA8, offset: 0x6002160, width: 208, height: 19, ctype: u8, symbol: D_MAP_6002160 } - -# Meteo -# Asteroid Field -D_MAP_60030D0: - { type: TEXTURE, format: IA8, offset: 0x60030D0, width: 96, height: 28, ctype: u8, symbol: D_MAP_60030D0 } - -# Into the Asteroid Field -D_MAP_6003B50: - { type: TEXTURE, format: IA8, offset: 0x6003B50, width: 208, height: 19, ctype: u8, symbol: D_MAP_6003B50 } - -# Bolse Defense Outpost -D_MAP_6004AC0: - { type: TEXTURE, format: IA8, offset: 0x6004AC0, width: 168, height: 19, ctype: u8, symbol: D_MAP_6004AC0 } - -# The Last Hurrah -D_MAP_6005740: - { type: TEXTURE, format: IA8, offset: 0x6005740, width: 160, height: 19, ctype: u8, symbol: D_MAP_6005740 } - -# Area 6 -# Defense Station -D_MAP_6006320: - { type: TEXTURE, format: IA8, offset: 0x6006320, width: 104, height: 28, ctype: u8, symbol: D_MAP_6006320 } - -# Through the Middle -D_MAP_6006E80: - { type: TEXTURE, format: IA8, offset: 0x6006E80, width: 176, height: 19, ctype: u8, symbol: D_MAP_6006E80 } - -# Corneria -# Former Army Base -D_MAP_6007B90: - { type: TEXTURE, format: IA8, offset: 0x6007B90, width: 128, height: 28, ctype: u8, symbol: D_MAP_6007B90 } - -# Enter Star Fox -D_MAP_6008990: - { type: TEXTURE, format: IA8, offset: 0x6008990, width: 232, height: 19, ctype: u8, symbol: D_MAP_6008990 } - -# Fortuna -# Former Defense Post -D_MAP_6009AD0: - { type: TEXTURE, format: IA8, offset: 0x6009AD0, width: 168, height: 28, ctype: u8, symbol: D_MAP_6009AD0 } - -# Enter Star Wolf -D_MAP_600AD30: - { type: TEXTURE, format: IA8, offset: 0x600AD30, width: 168, height: 19, ctype: u8, symbol: D_MAP_600AD30 } - -# Katina -# Frontline Base -D_MAP_600B9B0: - { type: TEXTURE, format: IA8, offset: 0x600B9B0, width: 168, height: 28, ctype: u8, symbol: D_MAP_600B9B0 } - -# Reunion -D_MAP_600CC10: - { type: TEXTURE, format: IA8, offset: 0x600CC10, width: 128, height: 19, ctype: u8, symbol: D_MAP_600CC10 } - -# The Lylat System -D_MAP_600D590: - { type: TEXTURE, format: IA8, offset: 0x600D590, width: 168, height: 19, ctype: u8, symbol: D_MAP_600D590 } - -# Macbeth -# Venom Army Supply Base -D_MAP_600E210: - { type: TEXTURE, format: IA8, offset: 0x600E210, width: 160, height: 28, ctype: u8, symbol: D_MAP_600E210 } - -# The Forever Train -D_MAP_600F390: - { type: TEXTURE, format: IA8, offset: 0x600F390, width: 168, height: 19, ctype: u8, symbol: D_MAP_600F390 } - -# Solar -D_MAP_6010010: - { type: TEXTURE, format: IA8, offset: 0x6010010, width: 112, height: 13, ctype: u8, symbol: D_MAP_6010010 } - -# Out of the Frying Pan. -D_MAP_60105C0: - { type: TEXTURE, format: IA8, offset: 0x60105C0, width: 224, height: 19, ctype: u8, symbol: D_MAP_60105C0 } - -# Sector X Combat Zone -D_MAP_6011660: - { type: TEXTURE, format: IA8, offset: 0x6011660, width: 176, height: 12, ctype: u8, symbol: D_MAP_6011660 } - -# Mystery of the Space Base -D_MAP_6011EA0: - { type: TEXTURE, format: IA8, offset: 0x6011EA0, width: 256, height: 19, ctype: u8, symbol: D_MAP_6011EA0 } - -# Sector Y Combat Zone -D_MAP_60131A0: - { type: TEXTURE, format: IA8, offset: 0x60131A0, width: 176, height: 12, ctype: u8, symbol: D_MAP_60131A0 } - -# Fierce Melee -D_MAP_60139E0: - { type: TEXTURE, format: IA8, offset: 0x60139E0, width: 128, height: 19, ctype: u8, symbol: D_MAP_60139E0 } - -# Sector Z Combat Zone -D_MAP_6014360: - { type: TEXTURE, format: IA8, offset: 0x6014360, width: 176, height: 12, ctype: u8, symbol: D_MAP_6014360 } - -# The Ambush of Great Fox -D_MAP_6014BA0: - { type: TEXTURE, format: IA8, offset: 0x6014BA0, width: 232, height: 19, ctype: u8, symbol: D_MAP_6014BA0 } - -# Titania -# Arid Desert -D_MAP_6015CE0: - { type: TEXTURE, format: IA8, offset: 0x6015CE0, width: 96, height: 28, ctype: u8, symbol: D_MAP_6015CE0 } - -# The Search for Slippy -D_MAP_6016760: - { type: TEXTURE, format: IA8, offset: 0x6016760, width: 200, height: 19, ctype: u8, symbol: D_MAP_6016760 } - -# Zones -# Toxic Waste Area -D_MAP_6017640: - { type: TEXTURE, format: IA8, offset: 0x6017640, width: 112, height: 28, ctype: u8, symbol: D_MAP_6017640 } - -# Invasion Aftermath -D_MAP_6018280: - { type: TEXTURE, format: IA8, offset: 0x6018280, width: 184, height: 19, ctype: u8, symbol: D_MAP_6018280 } - -aMapPrologueTextFadeTex: - { type: TEXTURE, format: IA8, offset: 0x6019030, width: 8, height: 16, ctype: u8, symbol: aMapPrologueTextFadeTex } - -# Clouds ? -aMapVenomCloudTex: - { type: TEXTURE, format: IA8, offset: 0x60190B0, width: 96, height: 96, ctype: u8, symbol: aMapVenomCloudTex } - -aMapOptionBgTex: - { type: TEXTURE, format: IA8, offset: 0x601B4B0, width: 32, height: 32, ctype: u8, symbol: aMapOptionBgTex } - -# Some text in japanese -D_MAP_601B8B0: - { type: TEXTURE, format: IA8, offset: 0x601B8B0, width: 80, height: 26, ctype: u8, symbol: D_MAP_1B8B0 } - -aMapSectorXDL: - { type: GFX, offset: 0x601C0D0, symbol: aMapSectorXDL } - -D_MAP_601C160: - { type: TEXTURE, format: RGBA16, offset: 0x0601C160, width: 32, height: 32, ctype: u16, symbol: D_MAP_601C160 } - -aMapSectorYDL: - { type: GFX, offset: 0x601C960, symbol: aMapSectorYDL } - -D_MAP_601C9F0: - { type: TEXTURE, format: RGBA16, offset: 0x0601C9F0, width: 32, height: 32, ctype: u16, symbol: D_MAP_601C9F0 } - -aMapMedalDL: - { type: GFX, offset: 0x601D1F0, symbol: aMapMedalDL } - -aMapMedalTex: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 64, offset: 0x0601D2F0, symbol: aMapMedalTex, tlut: 0x0601DAF0 } - -D_MAP_601DAF0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 144, offset: 0x0601DAF0, symbol: D_MAP_601DAF0 } - -aMapArwingIconTex: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x0601DC10, symbol: aMapArwingIconTex, tlut: 0x0601DC90 } - -aMapArwingIconTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 8, offset: 0x0601DC90, symbol: aMapArwingIconTLUT } - -aMapXTex: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 7, offset: 0x0601DCA0, symbol: aMapXTex, tlut: 0x0601DCD8 } - -aMapXTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 5, offset: 0x0601DCD8, symbol: aMapXTLUT } - -aMapCursorDL: - { type: GFX, offset: 0x601DCF0, symbol: aMapCursorDL } - -D_MAP_601DDE8: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x0601DDE8, symbol: D_MAP_601DDE8, tlut: 0x0601DE68 } - -D_MAP_601DE68: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 12, offset: 0x0601DE68, symbol: D_MAP_601DE68 } - -aMapArea6DL: - { type: GFX, offset: 0x601DE80, symbol: aMapArea6DL } - -D_MAP_601F2B0: - { type: TEXTURE, ctype: u8, format: CI4, width: 32, height: 32, offset: 0x0601F2B0, symbol: D_MAP_601F2B0, tlut: 0x0601F4B0 } - -D_MAP_601F4B0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x0601F4B0, symbol: D_MAP_601F4B0 } - -D_MAP_601E8F8: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x0601E8F8, symbol: D_MAP_601E8F8, tlut: 0x0601E978 } - -D_MAP_601E978: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x0601E978, symbol: D_MAP_601E978 } - -aMapArea6ShipDL: - { type: GFX, offset: 0x601E9A0, symbol: aMapArea6ShipDL } - -D_MAP_601F4D0: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x0601F4D0, symbol: D_MAP_601F4D0, tlut: 0x0601F550 } - -D_MAP_601F550: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x0601F550, symbol: D_MAP_601F550 } - -D_MAP_601F570: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x0601F570, symbol: D_MAP_601F570, tlut: 0x0601F5F0 } - -D_MAP_601F5F0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x0601F5F0, symbol: D_MAP_601F5F0 } - -D_MAP_601F610: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x0601F610, symbol: D_MAP_601F610, tlut: 0x0601F690 } - -D_MAP_601F690: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x0601F690, symbol: D_MAP_601F690 } - -aMapSectorZDL: - { type: GFX, offset: 0x601F6B0, symbol: aMapSectorZDL } - -D_MAP_601F740: - { type: TEXTURE, format: RGBA16, offset: 0x0601F740, width: 32, height: 32, ctype: u16, symbol: D_MAP_601F740 } - -# Looks like Aquas -aMapAquasTex: - { type: TEXTURE, format: CI8, offset: 0x601FF40, width: 96, height: 96, ctype: u8, symbol: aMapAquasTex, tlut: 0x06022340 } - -gMapAquasTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 80, offset: 0x06022340, symbol: gMapAquasTLUT } - -# Looks like Venom -aMapVenomTex: - { type: TEXTURE, format: CI8, offset: 0x60223E0, width: 96, height: 96, ctype: u8, symbol: aMapVenomTex, tlut: 0x060247E0 } - -gMapVenomTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 88, offset: 0x060247E0, symbol: gMapVenomTLUT } - -# Looks like Corneria -aMapCorneriaTex: - { type: TEXTURE, format: CI8, offset: 0x6024890, width: 96, height: 96, ctype: u8, symbol: aMapCorneriaTex, tlut: 0x06026C90 } - -gMapCorneriaTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 112, offset: 0x06026C90, symbol: gMapCorneriaTLUT } - -# Looks like Zones -aMapFortunaTex: - { type: TEXTURE, format: CI8, offset: 0x6026D70, width: 96, height: 96, ctype: u8, symbol: aMapFortunaTex, tlut: 0x06029170 } - -gMapFortunaTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 88, offset: 0x06029170, symbol: gMapFortunaTLUT } - -# Looks like Solar -aMapKatinaTex: - { type: TEXTURE, format: CI8, offset: 0x6029220, width: 96, height: 96, ctype: u8, symbol: aMapKatinaTex, tlut: 0x0602B620 } - -gMapKatinaTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 88, offset: 0x0602B620, symbol: gMapKatinaTLUT } - -# Looks like Macbeth -aMapMacbethTex: - { type: TEXTURE, format: CI8, offset: 0x602B6D0, width: 96, height: 96, ctype: u8, symbol: aMapMacbethTex, tlut: 0x0602DAD0 } - -gMapMacbethTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 72, offset: 0x0602DAD0, symbol: gMapMacbethTLUT } - -# Looks like Sector Z -aMapTitaniaTex: - { type: TEXTURE, format: CI8, offset: 0x602DB60, width: 96, height: 96, ctype: u8, symbol: aMapTitaniaTex, tlut: 0x0602FF60 } - -gMapTitaniaTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 56, offset: 0x0602FF60, symbol: gMapTitaniaTLUT } - -aMapZonessTex: - { type: TEXTURE, format: CI8, offset: 0x602FFD0, width: 96, height: 96, ctype: u8, symbol: aMapZonessTex, tlut: 0x060323D0 } - -gMapZonessTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 56, offset: 0x060323D0, symbol: gMapZonessTLUT } - -# Portrait of Falco -aMapRadioCharFalcoTex: - { type: TEXTURE, format: RGBA16, offset: 0x06032440, width: 28, height: 28, ctype: u16, symbol: aMapRadioCharFalcoTex } - -# Portrait of Peppy -aMapRadioCharPeppyTex: - { type: TEXTURE, format: RGBA16, offset: 0x06032A60, width: 28, height: 28, ctype: u16, symbol: aMapRadioCharPeppyTex } - -# Picture of Peppy, James and Pigma used in the narrated intro. -aMapPrologue3Tex: - { type: TEXTURE, format: RGBA16, offset: 0x06033080, width: 96, height: 52, ctype: u16, symbol: aMapPrologue3Tex } - -# Picture of Andross, General Pepper and Venom in the background, used in the narrated intro. -aMapPrologue2Tex: - { type: TEXTURE, format: RGBA16, offset: 0x06035780, width: 96, height: 52, ctype: u16, symbol: aMapPrologue2Tex } - -# Picture of Andross, hands open, Corneria in the middle, used in the narrated intro. -aMapPrologue6Tex: - { type: TEXTURE, format: RGBA16, offset: 0x06037E80, width: 96, height: 52, ctype: u16, symbol: aMapPrologue6Tex } - -# Picture of an Arwing dodging attacks from enemies, used in the narrated intro. -aMapPrologue4Tex: - { type: TEXTURE, format: RGBA16, offset: 0x0603A580, width: 96, height: 52, ctype: u16, symbol: aMapPrologue4Tex } - -# Picture of Slippy, Peppy, Fox and Falco, used in the narrated intro. -aMapPrologue7Tex: - { type: TEXTURE, format: RGBA16, offset: 0x0603CC80, width: 96, height: 52, ctype: u16, symbol: aMapPrologue7Tex } - -# Picture of Peppy returning from Vemon, used in the narrated intro. -aMapPrologue5Tex: - { type: TEXTURE, format: RGBA16, offset: 0x0603F380, width: 96, height: 52, ctype: u16, symbol: aMapPrologue5Tex } - -# Picture of Corneria, used in the narrated intro. -aMapPrologue1Tex: - { type: TEXTURE, format: RGBA16, offset: 0x06041A80, width: 96, height: 52, ctype: u16, symbol: aMapPrologue1Tex } - -# Portrait of Slippy -aMapRadioCharSlippyTex: - { type: TEXTURE, format: RGBA16, offset: 0x06044180, width: 28, height: 28, ctype: u16, symbol: aMapRadioCharSlippyTex } - -# White Square ? -aMapWhiteSquareTex: - { type: TEXTURE, format: RGBA16, offset: 0x060447A0, width: 8, height: 8, ctype: u16, symbol: aMapWhiteSquareTex } - -# Picture of Fox receiving orders from General Pepper, used in the map (briefing) -D_MAP_6044820: - { type: TEXTURE, format: RGBA16, offset: 0x06044820, width: 92, height: 51, ctype: u16, symbol: D_MAP_6044820 } - -# Fox face talking during briefing. -D_MAP_6046CD0: - { type: TEXTURE, format: RGBA16, offset: 0x06046CD0, width: 32, height: 34, ctype: u16, symbol: D_MAP_6046CD0 } - -# Black Square with borders. -aMapPathBoxTex: - { type: TEXTURE, format: RGBA16, offset: 0x06047550, width: 24, height: 24, ctype: u16, symbol: aMapPathBoxTex } - -aMapPlanetExplosionDL: - { type: GFX, offset: 0x60479D0, symbol: aMapPlanetExplosionDL } - -D_MAP_6047A68: - { type: TEXTURE, format: IA8, offset: 0x06047A68, width: 32, height: 32, ctype: u8, symbol: D_MAP_6047A68 } - -aMapVenomCloudDL: - { type: GFX, offset: 0x6047E70, symbol: aMapVenomCloudDL } - -aMapVenomCloud1Tex: - { type: TEXTURE, format: IA8, offset: 0x06047F80, width: 64, height: 32, ctype: u8, symbol: aMapVenomCloud1Tex } - -aMapVenomCloud2Tex: - { type: TEXTURE, format: IA8, offset: 0x06048780, width: 64, height: 32, ctype: u8, symbol: aMapVenomCloud2Tex } - -D_MAP_6048F80: - { type: TEXTURE, format: IA8, offset: 0x06048F80, width: 64, height: 64, ctype: u8, symbol: D_MAP_6048F80 } - -aMapExplosion4DL: - { type: GFX, offset: 0x6049F80, symbol: aMapExplosion4DL } - -D_MAP_604A048: - { type: TEXTURE, format: CI8, offset: 0x0604A048, width: 16, height: 16, ctype: u8, symbol: D_MAP_604A048, tlut: 0x0602FF60 } - -D_MAP_604A148: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 32, offset: 0x0604A148, symbol: D_MAP_604A148 } - -aMapExplosion3DL: - { type: GFX, offset: 0x604A190, symbol: aMapExplosion3DL } - -D_MAP_604A258: - { type: TEXTURE, format: CI8, offset: 0x0604A258, width: 16, height: 16, ctype: u8, symbol: D_MAP_604A258, tlut: 0x0604A358 } - -D_MAP_604A358: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 80, offset: 0x0604A358, symbol: D_MAP_604A358 } - -aMapExplosion2DL: - { type: GFX, offset: 0x604A400, symbol: aMapExplosion2DL } - -D_MAP_604A4C8: - { type: TEXTURE, format: CI8, offset: 0x0604A4C8, width: 16, height: 16, ctype: u8, symbol: D_MAP_604A4C8, tlut: 0x0604A5C8 } - -D_MAP_604A5C8: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 160, offset: 0x0604A5C8, symbol: D_MAP_604A5C8 } - -aMapExplosion1DL: - { type: GFX, offset: 0x604A710, symbol: aMapExplosion1DL } - -D_MAP_604A7D8: - { type: TEXTURE, format: CI8, offset: 0x0604A7D8, width: 16, height: 16, ctype: u8, symbol: D_MAP_604A7D8, tlut: 0x0604A8D8 } - -D_MAP_604A8D8: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 136, offset: 0x0604A8D8, symbol: D_MAP_604A8D8 } - -# Arwing Model, used in the map. -aMapArwingDL: - { type: GFX, offset: 0x604A9F0, symbol: aMapArwingDL } - -ast_map_seg6_vtx_4AD50: - { type: VTX, offset: 0x604AD50, count: 124, symbol: ast_map_seg6_vtx_4AD50 } - -D_MAP_604B510: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x0604B510, symbol: D_MAP_604B510, tlut: 0x0604B590 } - -D_MAP_604B590: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x0604B590, symbol: D_MAP_604B590 } - -D_MAP_604B5B0: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x0604B5B0, symbol: D_MAP_604B5B0, tlut: 0x0604B630 } - -D_MAP_604B630: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x0604B630, symbol: D_MAP_604B630 } - -D_MAP_604B650: - { type: TEXTURE, format: RGBA16, offset: 0x0604B650, width: 8, height: 16, ctype: u16, symbol: D_MAP_604B650 } - -# Model of Bolse -aMapBolseDL: - { type: GFX, offset: 0x604B750, symbol: aMapBolseDL } - -D_MAP_604BC48: - { type: TEXTURE, ctype: u8, format: CI4, width: 32, height: 32, offset: 0x0604BC48, symbol: D_MAP_604BC48, tlut: 0x0604BC48 } - -D_MAP_604BE48: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x0604BE48, symbol: D_MAP_604BE48 } - -D_MAP_604BE68: - { type: TEXTURE, ctype: u8, format: CI4, width: 32, height: 32, offset: 0x0604BE68, symbol: D_MAP_604BE68, tlut: 0x0604C068 } - -D_MAP_604C068: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x0604C068, symbol: D_MAP_604C068 } - -D_MAP_604C088: - { type: TEXTURE, ctype: u8, format: CI4, width: 32, height: 32, offset: 0x0604C088, symbol: D_MAP_604C088, tlut: 0x0604C288 } - -D_MAP_604C288: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x0604C288, symbol: D_MAP_604C288 } - -D_MAP_604C2A8: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x0604C2A8, symbol: D_MAP_604C2A8, tlut: 0x0604C328 } - -D_MAP_604C328: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x0604C328, symbol: D_MAP_604C328 } - -# Television outcoming light Model, used during briefing. -aMapTvScreenGlowDL: - { type: GFX, offset: 0x604C350, symbol: aMapTvScreenGlowDL } - -aMapTvScreenGlowTex: - { type: TEXTURE, format: IA8, offset: 0x0604C4C0, width: 8, height: 16, ctype: u8, symbol: aMapTvScreenGlowTex } - -aMapTitaniaRings1DL: - { type: GFX, offset: 0x604C540, symbol: aMapTitaniaRings1DL } - -D_MAP_604C5D8: - { type: TEXTURE, format: IA8, offset: 0x0604C5D8, width: 32, height: 64, ctype: u8, symbol: D_MAP_604C5D8 } - -aMapTitaniaRings2DL: - { type: GFX, offset: 0x604CDE0, symbol: aMapTitaniaRings2DL } - -D_MAP_604CE78: - { type: TEXTURE, format: IA8, offset: 0x0604CE78, width: 32, height: 64, ctype: u8, symbol: D_MAP_604CE78 } - -D_MAP_604D680: - { type: GFX, offset: 0x604D680, symbol: D_MAP_604D680 } - -D_MAP_604D708: - { type: TEXTURE, format: IA8, offset: 0x0604D708, width: 32, height: 32, ctype: u8, symbol: D_MAP_604D708 } - -# Solar Rays -aMapSolarDL: - { type: GFX, offset: 0x604DB10, symbol: aMapSolarDL } - -D_MAP_604DD20: - { type: TEXTURE, format: IA8, offset: 0x0604DD20, width: 128, height: 32, ctype: u8, symbol: D_MAP_604DD20 } - -D_MAP_604ED20: - { type: TEXTURE, format: IA8, offset: 0x0604ED20, width: 128, height: 32, ctype: u8, symbol: D_MAP_604ED20 } - -D_MAP_604FD20: - { type: TEXTURE, format: IA8, offset: 0x0604FD20, width: 128, height: 32, ctype: u8, symbol: D_MAP_604FD20 } - -D_MAP_6050D20: - { type: TEXTURE, format: IA8, offset: 0x06050D20, width: 128, height: 32, ctype: u8, symbol: D_MAP_6050D20 } - -aMapGralPepperFace2DL: - { type: GFX, offset: 0x6051D20, symbol: aMapGralPepperFace2DL } - -D_MAP_6051F20: - { type: TEXTURE, format: RGBA16, offset: 0x06051F20, width: 64, height: 32, ctype: u16, symbol: D_MAP_6051F20 } - -D_MAP_6052F20: - { type: TEXTURE, format: RGBA16, offset: 0x06052F20, width: 64, height: 32, ctype: u16, symbol: D_MAP_6052F20 } - -D_MAP_6053F20: - { type: TEXTURE, format: RGBA16, offset: 0x06053F20, width: 64, height: 32, ctype: u16, symbol: D_MAP_6053F20 } - -D_MAP_6054F20: - { type: TEXTURE, format: RGBA16, offset: 0x06054F20, width: 64, height: 32, ctype: u16, symbol: D_MAP_6054F20 } - -aMapGralPepperFace1DL: - { type: GFX, offset: 0x6055F20, symbol: aMapGralPepperFace1DL } - -D_MAP_6056120: - { type: TEXTURE, format: RGBA16, offset: 0x06056120, width: 64, height: 32, ctype: u16, symbol: D_MAP_6056120 } - -D_MAP_6057120: - { type: TEXTURE, format: RGBA16, offset: 0x06057120, width: 64, height: 32, ctype: u16, symbol: D_MAP_6057120 } - -D_MAP_6058120: - { type: TEXTURE, format: RGBA16, offset: 0x06058120, width: 64, height: 32, ctype: u16, symbol: D_MAP_6058120 } - -D_MAP_6059120: - { type: TEXTURE, format: RGBA16, offset: 0x06059120, width: 64, height: 32, ctype: u16, symbol: D_MAP_6059120 } - -D_MAP_605A120: - { type: GFX, offset: 0x605A120, symbol: D_MAP_605A120 } - -D_MAP_605A230: - { type: TEXTURE, format: RGBA16, offset: 0x0605A230, width: 64, height: 32, ctype: u16, symbol: D_MAP_605A230 } - -D_MAP_605B230: - { type: TEXTURE, format: RGBA16, offset: 0x0605B230, width: 64, height: 32, ctype: u16, symbol: D_MAP_605B230 } - -D_MAP_605C230: - { type: GFX, offset: 0x605C230, symbol: D_MAP_605C230 } - -D_MAP_605C610: - { type: TEXTURE, format: IA8, offset: 0x0605C610, width: 64, height: 32, ctype: u8, symbol: D_MAP_605C610 } - -D_MAP_605CE10: - { type: TEXTURE, format: IA8, offset: 0x0605CE10, width: 64, height: 32, ctype: u8, symbol: D_MAP_605CE10 } - -D_MAP_605D610: - { type: TEXTURE, format: IA8, offset: 0x0605D610, width: 64, height: 32, ctype: u8, symbol: D_MAP_605D610 } - -D_MAP_605DE10: - { type: TEXTURE, format: IA8, offset: 0x0605DE10, width: 64, height: 32, ctype: u8, symbol: D_MAP_605DE10 } - -D_MAP_605E610: - { type: TEXTURE, format: IA8, offset: 0x0605E610, width: 64, height: 32, ctype: u8, symbol: D_MAP_605E610 } - -D_MAP_605EE10: - { type: TEXTURE, format: IA8, offset: 0x0605EE10, width: 64, height: 32, ctype: u8, symbol: D_MAP_605EE10 } - -D_MAP_605F610: - { type: TEXTURE, format: IA8, offset: 0x0605F610, width: 64, height: 32, ctype: u8, symbol: D_MAP_605F610 } - -D_MAP_605FE10: - { type: TEXTURE, format: IA8, offset: 0x0605FE10, width: 64, height: 32, ctype: u8, symbol: D_MAP_605FE10 } - -aMapMeteorDL: - { type: GFX, offset: 0x6060610, symbol: aMapMeteorDL } - -D_MAP_6060698: - { type: TEXTURE, format: RGBA16, offset: 0x06060698, width: 32, height: 32, ctype: u16, symbol: D_MAP_6060698 } - -# size = 0x60EA0 \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_meteo.yaml b/assets/yaml/jp/rev0/ast_meteo.yaml deleted file mode 100644 index 3a6dd382..00000000 --- a/assets/yaml/jp/rev0/ast_meteo.yaml +++ /dev/null @@ -1,320 +0,0 @@ -:config: - segments: - - [0x06, 0x971980] - header: - code: - - '#include "assets/ast_meteo.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - - '#include "sf64mesg.h"' -# Meteo -# Asteroid Field -aMeTitleCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 96, height: 28, offset: 0x6000000, symbol: aMeTitleCardTex } - -D_ME_6000A80: - { type: GFX, offset: 0x6000A80, symbol: D_ME_6000A80 } - -D_ME_6000B10: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06000B10, symbol: D_ME_6000B10 } - -aMeCrusherDL: - { type: GFX, offset: 0x6001310, symbol: aMeCrusherDL } - -D_ME_6004738: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06004738, symbol: D_ME_6004738 } - -D_ME_6004F38: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06004F38, symbol: D_ME_6004F38 } - -D_ME_6005738: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06005738, symbol: D_ME_6005738 } - -D_ME_6005F38: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06005F38, symbol: D_ME_6005F38 } - -D_ME_6006738: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06006738, symbol: D_ME_6006738 } - -D_ME_6006F38: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x06006F38, symbol: D_ME_6006F38 } - -D_ME_6006FB8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x06006FB8, symbol: D_ME_6006FB8 } - -D_ME_6007038: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06007038, symbol: D_ME_6007038 } - -D_ME_6007838: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x06007838, symbol: D_ME_6007838 } - -D_ME_60078B8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060078B8, symbol: D_ME_60078B8 } - -D_ME_60080C0: - { type: GFX, offset: 0x60080C0, symbol: D_ME_60080C0 } - -D_ME_6008A18: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x06008A18, symbol: D_ME_6008A18 } - -aMeFlipBot1DL: - { type: GFX, offset: 0x6008AA0, symbol: aMeFlipBot1DL } - -D_ME_6009228: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06009228, symbol: D_ME_6009228 } - -D_ME_6009A28: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06009A28, symbol: D_ME_6009A28 } - -D_ME_6009C28: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06009C28, symbol: D_ME_6009C28 } - -aMeFlipBot2DL: - { type: GFX, offset: 0x6009E30, symbol: aMeFlipBot2DL } - -aMeBigMeteorDL: - { type: GFX, offset: 0x6009F50, symbol: aMeBigMeteorDL } - -aMeMeteor7DL: - { type: GFX, offset: 0x600AC70, symbol: aMeMeteor7DL } - -D_ME_600B540: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600B540, symbol: D_ME_600B540 } - -aMeSecretMarker2DL: - { type: GFX, offset: 0x600BD40, symbol: aMeSecretMarker2DL } - -D_ME_600BF30: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0600BF30, symbol: D_ME_600BF30 } - -aMeRockGull2DL: - { type: GFX, offset: 0x600C130, symbol: aMeRockGull2DL } - -aMeMeteor6DL: - { type: GFX, offset: 0x600C2A0, symbol: aMeMeteor6DL } - -aMeRockGull3DL: - { type: GFX, offset: 0x600C740, symbol: aMeRockGull3DL } - -aMeRockGull1DL: - { type: GFX, offset: 0x600CAA0, symbol: aMeRockGull1DL } - -aMeMeteorShower3DL: - { type: GFX, offset: 0x600CD60, symbol: aMeMeteorShower3DL } - -D_ME_600CDE8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0600CDE8, symbol: D_ME_600CDE8 } - -D_ME_600DDF0: - { type: GFX, offset: 0x600DDF0, symbol: D_ME_600DDF0 } - -D_ME_600E238: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0600E238, symbol: D_ME_600E238 } - -D_ME_600F238: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0600F238, symbol: D_ME_600F238 } - -D_ME_6010238: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x06010238, symbol: D_ME_6010238 } - -D_ME_6011238: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x06011238, symbol: D_ME_6011238 } - -D_ME_6012238: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x06012238, symbol: D_ME_6012238 } - -D_ME_6013238: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x06013238, symbol: D_ME_6013238 } - -D_ME_6014238: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x06014238, symbol: D_ME_6014238 } - -D_ME_6015238: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x06015238, symbol: D_ME_6015238 } - -aMeMeteorShower2DL: - { type: GFX, offset: 0x6016240, symbol: aMeMeteorShower2DL } - -D_ME_60162C8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x060162C8, symbol: D_ME_60162C8 } - -D_ME_60172C8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060172C8, symbol: D_ME_60172C8 } - -aMeMeteorShower1DL: - { type: GFX, offset: 0x06017AD0, symbol: aMeMeteorShower1DL } - -aMeMeteor3DL: - { type: GFX, offset: 0x06017B60, symbol: aMeMeteor3DL } - -aMeLaserCannon2DL: - { type: GFX, offset: 0x06018450, symbol: aMeLaserCannon2DL } - -aMeMeteor5DL: - { type: GFX, offset: 0x06018960, symbol: aMeMeteor5DL } - -aMeMeteor1DL: - { type: GFX, offset: 0x06018C00, symbol: aMeMeteor1DL } - -aMeMeteor4DL: - { type: GFX, offset: 0x06019430, symbol: aMeMeteor4DL } - -D_ME_6019880: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06019880, symbol: D_ME_6019880 } - -D_ME_601A080: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601A080, symbol: D_ME_601A080 } - -aMeSecretMarker1DL: - { type: GFX, offset: 0x0601A880, symbol: aMeSecretMarker1DL } - -aMeMeteoTunnelDL: - { type: GFX, offset: 0x0601AE40, symbol: aMeMeteoTunnelDL } - -D_ME_601C8E0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0601C8E0, symbol: D_ME_601C8E0 } - -D_ME_601D800: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0601D800, symbol: D_ME_601D800 } - -aMeHopBotAnim: - { type: SF64:ANIM, offset: 0x601E8C4, symbol: aMeHopBotAnim } - -aMeHopBotSkel: - { type: SF64:SKELETON, offset: 0x601E9D0, symbol: aMeHopBotSkel } - -# Beta Meteo background, unused -D_ME_601EA00: - { type: GFX, offset: 0x0601EA00, symbol: D_ME_601EA00 } - -D_ME_601EA98: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601EA98, symbol: D_ME_601EA98 } - -aMeMeteor2DL: - { type: GFX, offset: 0x0601F2A0, symbol: aMeMeteor2DL } - -D_ME_601F778: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601F778, symbol: D_ME_601F778 } - -D_ME_601FF80: - { type: GFX, offset: 0x0601FF80, symbol: D_ME_601FF80 } - -D_ME_6020008: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06020008, symbol: D_ME_6020008 } - -aMeCorneriaBgDL: - { type: GFX, offset: 0x06020810, symbol: aMeCorneriaBgDL } - -aMeCorneriaBg1Tex: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06020920, symbol: aMeCorneriaBg1Tex } - -aMeCorneriaBg2Tex: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06021920, symbol: aMeCorneriaBg2Tex } - -aMeLaserCannon1DL: - { type: GFX, offset: 0x06022920, symbol: aMeLaserCannon1DL } - -D_ME_6022E50: - { type: GFX, offset: 0x06022E50, symbol: D_ME_6022E50 } - -D_ME_60236F0: - { type: GFX, offset: 0x060236F0, symbol: D_ME_60236F0 } - -D_ME_6023788: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x06023788, symbol: D_ME_6023788 } - -D_ME_60231C0: - { type: GFX, offset: 0x060231C0, symbol: D_ME_60231C0 } - -D_ME_6023290: - { type: GFX, offset: 0x06023290, symbol: D_ME_6023290 } - -D_ME_6023360: - { type: GFX, offset: 0x06023360, symbol: D_ME_6023360 } - -D_ME_6023810: - { type: GFX, offset: 0x06023810, symbol: D_ME_6023810 } - -D_ME_60238A8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060238A8, symbol: D_ME_60238A8 } - -D_ME_60240B0: - { type: GFX, offset: 0x060240B0, symbol: D_ME_60240B0 } - -D_ME_6024AD0: - { type: GFX, offset: 0x06024AD0, symbol: D_ME_6024AD0 } - -aMeMolarRockDL: - { type: GFX, offset: 0x06024B60, symbol: aMeMolarRockDL } - -# Unused Meteo Ball -aMeMeteoBallDL: - { type: GFX, offset: 0x06025B50, symbol: aMeMeteoBallDL } - -D_ME_6025350: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6025350, symbol: D_ME_6025350 } - -D_ME_6025BE8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06025BE8, symbol: D_ME_6025BE8 } - -D_ME_60263F0: - { type: GFX, offset: 0x060263F0, symbol: D_ME_60263F0 } - -D_ME_6026478: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06026478, symbol: D_ME_6026478 } - -D_ME_6026CC4: - { type: SF64:OBJECT_INIT, offset: 0x6026CC4, symbol: D_ME_6026CC4 } - -D_ME_6026C80: - { type: SF64:ENVIRONMENT, offset: 0x6026C80, symbol: D_ME_6026C80 } - -D_ME_602B148: - { type: SF64:OBJECT_INIT, offset: 0x602B148, symbol: D_ME_602B148 } - -D_ME_602F3AC: - { type: SF64:SCRIPT, offset: 0x602F3AC, symbol: D_ME_602F3AC } - -aMeFlipBotHitbox: - { type: SF64:HITBOX, offset: 0x602F604, symbol: aMeFlipBotHitbox } - -D_ME_602F638: - { type: SF64:HITBOX, offset: 0x602F638, symbol: D_ME_602F638 } - -aMeMeteoBallHitbox: - { type: SF64:HITBOX, offset: 0x602F684, symbol: aMeMeteoBallHitbox } - -aMeHopBotHitbox: - { type: SF64:HITBOX, offset: 0x602F6A0, symbol: aMeHopBotHitbox } - -aMeMeteor1Hitbox: - { type: SF64:HITBOX, offset: 0x602F6EC, symbol: aMeMeteor1Hitbox } - -aMeMeteor2Hitbox: - { type: SF64:HITBOX, offset: 0x602F708, symbol: aMeMeteor2Hitbox } - -aMeLaserCannon1Hitbox: - { type: SF64:HITBOX, offset: 0x602F724, symbol: aMeLaserCannon1Hitbox } - -aMeLaserCannon2Hitbox: - { type: SF64:HITBOX, offset: 0x602F740, symbol: aMeLaserCannon2Hitbox } - -aMeCrusherHitbox: - { type: SF64:HITBOX, offset: 0x602F75C, symbol: aMeCrusherHitbox } - -aMeCrusherShieldHitbox: - { type: SF64:HITBOX, offset: 0x602FA50, symbol: aMeCrusherShieldHitbox } - -D_ME_602FA9C: - {type: SF64:COLPOLY, count: 79, offset: 0x602FA9C, symbol: D_ME_602FA9C, mesh_symbol: D_ME_OFFSET } - -D_ME_6030208: - {type: SF64:COLPOLY, count: 42, offset: 0x6030208, symbol: D_ME_6030208, mesh_symbol: D_ME_OFFSET } - -D_ME_60305DC: - {type: SF64:COLPOLY, count: 236, offset: 0x60305DC, symbol: D_ME_60305DC, mesh_symbol: D_ME_OFFSET } diff --git a/assets/yaml/jp/rev0/ast_option.yaml b/assets/yaml/jp/rev0/ast_option.yaml deleted file mode 100644 index 4b258326..00000000 --- a/assets/yaml/jp/rev0/ast_option.yaml +++ /dev/null @@ -1,249 +0,0 @@ -:config: - segments: - - [0x08, 0xC6FA00] - header: - code: - - '#include "assets/ast_option.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -# Invoice -D_OPT_8000000: - { type: TEXTURE, ctype: u8, format: CI4, width: 128, height: 26, offset: 0x8000000, symbol: D_OPT_8000000, tlut: 0x8000680 } - -D_OPT_8000680: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x8000680, symbol: D_OPT_8000680 } - -# Cornerian army attn: -D_OPT_80006A0: - { type: TEXTURE, ctype: u8, format: CI4, width: 256, height: 34, offset: 0x80006A0, symbol: D_OPT_80006A0, tlut: 0x80017A0 } - -D_OPT_80017A0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x80017A0, symbol: D_OPT_80017A0 } - -# Venomian units destroyed -D_OPT_80017C0: - { type: TEXTURE, ctype: u8, format: CI4, width: 256, height: 66, offset: 0x80017C0, symbol: D_OPT_80017C0, tlut: 0x80038C0 } - -D_OPT_80038C0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x80038C0, symbol: D_OPT_80038C0 } - -# nd -aNdTex: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 10, offset: 0x80038E0, symbol: aNdTex, tlut: 0x8003930 } - -aNdTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x8003930, symbol: aNdTLUT } - -# rd -aRdTex: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 11, offset: 0x8003950, symbol: aRdTex, tlut: 0x80039A8 } - -aRdTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x80039A8, symbol: aRdTLUT } - -# -aSpeakerCenterTex: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x80039D0 , symbol: aSpeakerCenterTex, tlut: 0x8003A50 } - -aSpeakerCenterTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x8003A50, symbol: aSpeakerCenterTLUT } - -# st -aStTex: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 9, offset: 0x8003A70, symbol: aStTex, tlut: 0x8003AB8 } - -aStTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x8003AB8, symbol: aStTLUT } - -# th -aThTex: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 9, offset: 0x8003AE0, symbol: aThTex, tlut: 0x8003B28 } - -aThTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x8003B28, symbol: aThTLUT } - -# Option Title Cards - -# Main Game -aMainGameCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 72, height: 12, offset: 0x8003B50, symbol: aMainGameCardTex } - -# Training -aTrainingCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 80, height: 12, offset: 0x8003EB0, symbol: aTrainingCardTex } - -# Vs. -aVsCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 32, height: 10, offset: 0x8004270, symbol: aVsCardTex } - -# Ranking -aRankingCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 64, height: 12, offset: 0x80043B0, symbol: aRankingCardTex } - -# Sound -aSoundCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 64, height: 10, offset: 0x80046B0, symbol: aSoundCardTex } - -# Data -aDataCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 80, height: 10, offset: 0x8004930, symbol: aDataCardTex } - -aExpertCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 80, height: 12, offset: 0x8004C50, symbol: aExpertCardTex } - -# Option VS Cards - -# Point Match -aVsPointMatchCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 96, height: 13, offset: 0x8005010, symbol: aVsPointMatchCardTex } - -# Battle Royal -aVsBattleRoyalCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 96, height: 11, offset: 0x80054F0, symbol: aVsBattleRoyalCardTex } - -# Time Trial -aVsTimeTrialCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 96, height: 10, offset: 0x8005910, symbol: aVsTimeTrialCardTex } - -# Sound Options - -# Press R to test -D_OPT_8005CD0: - { type: TEXTURE, ctype: u8, format: IA8, width: 112, height: 13, offset: 0x8005CD0, symbol: D_OPT_8005CD0 } - -# Mode -D_OPT_8006280: - { type: TEXTURE, ctype: u8, format: IA8, width: 48, height: 13, offset: 0x8006280, symbol: D_OPT_8006280 } - -# Music -D_OPT_80064F0: - { type: TEXTURE, ctype: u8, format: IA8, width: 88, height: 14, offset: 0x80064F0, symbol: D_OPT_80064F0 } - -# Voice -D_OPT_80069C0: - { type: TEXTURE, ctype: u8, format: IA8, width: 56, height: 15, offset: 0x80069C0, symbol: D_OPT_80069C0 } - -# SE -D_OPT_8006D10: - { type: TEXTURE, ctype: u8, format: IA8, width: 24, height: 13, offset: 0x8006D10, symbol: D_OPT_8006D10 } - -# B to cancel -aBtoCancelTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 96, height: 10, offset: 0x8006E50, symbol: aBtoCancelTex } - -# Headphone -D_OPT_8007210: - { type: TEXTURE, ctype: u8, format: IA8, width: 88, height: 14, offset: 0x8007210, symbol: D_OPT_8007210 } - -# Mono -D_OPT_80076E0: - { type: TEXTURE, ctype: u8, format: IA8, width: 56, height: 14, offset: 0x80076E0, symbol: D_OPT_80076E0 } - -# Soundtrack -D_OPT_80079F0: - { type: TEXTURE, ctype: u8, format: IA8, width: 128, height: 14, offset: 0x80079F0, symbol: D_OPT_80079F0 } - -# A to confirm -aAtoConfirmTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 96, height: 10, offset: 0x80080F0, symbol: aAtoConfirmTex } - -# Clear Saved Data -D_OPT_80084B0: - { type: TEXTURE, ctype: u8, format: IA8, width: 176, height: 13, offset: 0x80084B0, symbol: D_OPT_80084B0 } - -# Are you sure? -D_OPT_8008DA0: - { type: TEXTURE, ctype: u8, format: IA8, width: 160, height: 19, offset: 0x8008DA0, symbol: D_OPT_8008DA0 } - -# Yes -D_OPT_8009980: - { type: TEXTURE, ctype: u8, format: IA8, width: 32, height: 12, offset: 0x8009980, symbol: D_OPT_8009980 } - -# No -D_OPT_8009B00: - { type: TEXTURE, ctype: u8, format: IA8, width: 40, height: 12, offset: 0x8009B00, symbol: D_OPT_8009B00 } - -# Are you REALLY sure? -D_OPT_8009CE0: - { type: TEXTURE, ctype: u8, format: IA8, width: 160, height: 41, offset: 0x8009CE0, symbol: D_OPT_8009CE0 } - -# Data erased -D_OPT_800B680: - { type: TEXTURE, ctype: u8, format: IA8, width: 144, height: 41, offset: 0x800B680, symbol: D_OPT_800B680 } - -# Stereo -D_OPT_800CD90: - { type: TEXTURE, ctype: u8, format: IA8, width: 56, height: 13, offset: 0x800CD90, symbol: D_OPT_800CD90 } - -# UNK: Triangle shape, it's mirrored to form a diamond shape -D_OPT_800D070: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x800D070, symbol: D_OPT_800D070 } - -# UNK: -D_OPT_800D170: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 16, offset: 0x800D170, symbol: D_OPT_800D170 } - -# Seal -D_OPT_800D1F0: - { type: TEXTURE, ctype: u8, format: IA8, width: 80, height: 48, offset: 0x800D1F0, symbol: D_OPT_800D1F0 } - -# UNK: -D_OPT_800E0F0: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x800E0F0, symbol: D_OPT_800E0F0 } - -aArrowTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x800E130, symbol: aArrowTex } - -# Mercenary Unit STARFOX Fox Mccloud -D_OPT_800E170: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 188, height: 60, offset: 0x800E170, symbol: D_OPT_800E170 } - -# ScrollBar -aSliderFrameTex: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 104, height: 10, offset: 0x8013990, symbol: aSliderFrameTex } - -# ScrollBar Indicator -aSliderTex: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x80141B0, symbol: aSliderTex } - -# Speaker -aSpeakerTex: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x80143B0, symbol: aSpeakerTex, tlut: 0x80147B0 } - -aSpeakerTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 32, offset: 0x80147B0, symbol: aSpeakerTLUT } - -D_OPT_80147F0: - { type: GFX, offset: 0x80147F0, symbol: D_OPT_80147F0 } - -ast_option_seg8_vtx_00014B50: - { type: VTX, count: 124, offset: 0x8014B50, symbol: ast_option_seg8_vtx_00014B50 } - -D_OPT_8015310: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x8015310, symbol: D_OPT_8015310, tlut: 0x08015390 } - -D_OPT_8015390: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x8015390, symbol: D_OPT_8015390 } - -D_OPT_80153B0: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x80153B0, symbol: D_OPT_80153B0, tlut: 0x08015430 } - -D_OPT_8015430: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x8015430, symbol: D_OPT_8015430 } - -D_OPT_8015450: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 16, offset: 0x08015450, symbol: D_OPT_8015450 } - -D_OPT_8015550: - { type: GFX, offset: 0x8015550, symbol: D_OPT_8015550 } - -D_OPT_80155E8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x080155E8, symbol: D_OPT_80155E8 } - -aLightningDL: - { type: GFX, offset: 0x8015DF0, symbol: aLightningDL } - -aLightningTex: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x08015E88, symbol: aLightningTex } diff --git a/assets/yaml/jp/rev0/ast_sector_x.yaml b/assets/yaml/jp/rev0/ast_sector_x.yaml deleted file mode 100644 index 6d305b16..00000000 --- a/assets/yaml/jp/rev0/ast_sector_x.yaml +++ /dev/null @@ -1,298 +0,0 @@ -:config: - segments: - - [0x06, 0x9ED490] - header: - code: - - '#include "assets/ast_sector_x.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - - '#include "sf64mesg.h"' - -aSxTitleCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 176, height: 12, offset: 0x6000000, symbol: aSxTitleCardTex } - -aSxSpaceMineDL: - { type: GFX, offset: 0x6000840, symbol: aSxSpaceMineDL } - -# Flying mine -D_SX_60008C0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60008C0, symbol: D_SX_60008C0 } - -D_SX_60010C0: - { type: GFX, offset: 0x60010C0, symbol: D_SX_60010C0 } - -# Texture of Planet Titania, seen when Slippy gets thrown by Spyborg -D_SX_6001150: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6001150, symbol: D_SX_6001150 } - -aSxLaserDestroyedDL: - { type: GFX, offset: 0x6001950, symbol: aSxLaserDestroyedDL } - -D_SX_6001AD8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6001AD8, symbol: D_SX_6001AD8 } - -aSxWatchPostDL: - { type: GFX, offset: 0x6001CE0, symbol: aSxWatchPostDL } - -D_SX_60020C0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x60020C0, symbol: D_SX_60020C0 } - -D_SX_60022C0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x60022C0, symbol: D_SX_60022C0 } - -D_SX_60024C0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x60024C0, symbol: D_SX_60024C0 } - -D_SX_60026C0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x60026C0, symbol: D_SX_60026C0 } - -D_SX_60028C0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x60028C0, symbol: D_SX_60028C0 } - -D_SX_6002AC0: - { type: GFX, offset: 0x6002AC0, symbol: D_SX_6002AC0 } - -ast_sector_x_seg6_vtx_2E88: - { type: VTX, count: 134, offset: 0x6002E88, symbol: ast_sector_x_seg6_vtx_2E88 } - -D_SX_60036E8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60036E8, symbol: D_SX_60036E8 } - -D_SX_6003EE8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6003EE8, symbol: D_SX_6003EE8 } - -D_SX_60046E8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60046E8, symbol: D_SX_60046E8 } - -D_SX_6004EE8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x6004EE8, symbol: D_SX_6004EE8 } - -D_SX_6005EE8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6005EE8, symbol: D_SX_6005EE8 } - -aSxLaserDL: - { type: GFX, offset: 0x60066F0, symbol: aSxLaserDL } - -D_SX_6006810: - { type: GFX, offset: 0x6006810, symbol: D_SX_6006810 } - -D_SX_6007128: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6007128, symbol: D_SX_6007128 } - -D_SX_6007928: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6007928, symbol: D_SX_6007928 } - -D_SX_6008128: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6008128, symbol: D_SX_6008128 } - -D_SX_6008928: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6008928, symbol: D_SX_6008928 } - -D_SX_6008B30: - { type: GFX, offset: 0x6008B30, symbol: D_SX_6008B30 } - -D_SX_6009548: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6009548, symbol: D_SX_6009548 } - -D_SX_6009748: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6009748, symbol: D_SX_6009748 } - -aSxBaseFloor1DL: - { type: GFX, offset: 0x6009950, symbol: aSxBaseFloor1DL } - -D_SX_6009C30: - { type: GFX, offset: 0x6009C30, symbol: D_SX_6009C30 } - -D_SX_6009CC0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x6009CC0, symbol: D_SX_6009CC0 } - -D_SX_6009FF8: - { type: SF64:ANIM, offset: 0x6009FF8, symbol: D_SX_6009FF8 } - -D_SX_600A2D4: - { type: SF64:ANIM, offset: 0x600A2D4, symbol: D_SX_600A2D4 } - -aSxBaseWall3DL: - { type: GFX, offset: 0x600A2E0, symbol: aSxBaseWall3DL } - -D_SX_600A570: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x600A570, symbol: D_SX_600A570 } - -D_SX_600AD70: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x600AD70, symbol: D_SX_600AD70 } - -aSxBaseWall1DL: - { type: GFX, offset: 0x600AF70, symbol: aSxBaseWall1DL } - -aSxBaseWall2DL: - { type: GFX, offset: 0x600B2B0, symbol: aSxBaseWall2DL } - -aSxBaseWall4DL: - { type: GFX, offset: 0x600B540, symbol: aSxBaseWall4DL } - -aSxBorzoiFighterDL: - { type: GFX, offset: 0x600B830, symbol: aSxBorzoiFighterDL } - -D_SX_600C000: - { type: GFX, offset: 0x600C000, symbol: D_SX_600C000 } - -D_SX_600C5A0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x600C5A0, symbol: D_SX_600C5A0 } - -D_SX_600F890: - { type: SF64:ANIM, offset: 0x600F890, symbol: D_SX_600F890 } - -D_SX_600F8A0: - { type: GFX, offset: 0x600F8A0, symbol: D_SX_600F8A0 } - -D_SX_600F938: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600F938, symbol: D_SX_600F938 } - -D_SX_6010140: - { type: GFX, offset: 0x6010140, symbol: D_SX_6010140 } - -D_SX_60105A0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60105A0, symbol: D_SX_60105A0 } - -D_SX_60123BC: - { type: SF64:ANIM, offset: 0x60123BC, symbol: D_SX_60123BC } - -D_SX_6013798: - { type: SF64:ANIM, offset: 0x6013798, symbol: D_SX_6013798 } - -D_SX_6013820: - { type: SF64:ANIM, offset: 0x6013820, symbol: D_SX_6013820 } - -D_SX_601390C: - { type: SF64:SKELETON, offset: 0x601390C, symbol: D_SX_601390C } - -D_SX_60158C4: - { type: SF64:ANIM, offset: 0x60158C4, symbol: D_SX_60158C4 } - -D_SX_6016E28: - { type: SF64:ANIM, offset: 0x6016E28, symbol: D_SX_6016E28 } - -D_SX_601AA28: - { type: SF64:ANIM, offset: 0x601AA28, symbol: D_SX_601AA28 } - -D_SX_601C690: - { type: SF64:ANIM, offset: 0x601C690, symbol: D_SX_601C690 } - -D_SX_60206DC: - { type: SF64:ANIM, offset: 0x60206DC, symbol: D_SX_60206DC } - -aSxSpyborgSkel: - { type: SF64:SKELETON, offset: 0x6020C68, symbol: aSxSpyborgSkel } - -aSxBaseWallTile1DL: - { type: GFX, offset: 0x6020D20, symbol: aSxBaseWallTile1DL } - -# Spyborg Radio -D_SX_6020FB0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x06020FB0, symbol: D_SX_6020FB0 } - -D_SX_6021ED0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x06021ED0, symbol: D_SX_6021ED0 } - -aSxCanineDL: - { type: GFX, offset: 0x6022DF0, symbol: aSxCanineDL } - -aSxSpyEyeDL: - { type: GFX, offset: 0x6023500, symbol: aSxSpyEyeDL } - -D_SX_6023C30: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06023C30, symbol: D_SX_6023C30 } - -aSxBaseDebris2DL: - { type: GFX, offset: 0x6023E30, symbol: aSxBaseDebris2DL } - -aSxBaseDebris1DL: - { type: GFX, offset: 0x60285F0, symbol: aSxBaseDebris1DL } - -D_SX_6029098: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06029098, symbol: D_SX_6029098 } - -D_SX_60292A0: - { type: GFX, offset: 0x60292A0, symbol: D_SX_60292A0 } - -D_SX_6029890: - { type: GFX, offset: 0x6029890, symbol: D_SX_6029890 } - -D_SX_6029918: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x029918, symbol: D_SX_6029918 } - -D_SX_602A120: - { type: SF64:ENVIRONMENT, offset: 0x602A120, symbol: D_SX_602A120 } - -D_SX_602A164: - { type: SF64:OBJECT_INIT, count: 1026, offset: 0x602A164, symbol: D_SX_602A164 } - -D_SX_602F18C: - { type: SF64:OBJECT_INIT, count: 167, offset: 0x602F18C, symbol: D_SX_602F18C } - -D_SX_60320D0: - { type: SF64:SCRIPT, offset: 0x60320D0, symbol: D_SX_60320D0 } - -D_SX_6032328: - { type: SF64:HITBOX, offset: 0x6032328, symbol: D_SX_6032328 } - -aSxWarpGateHitbox: - { type: SF64:HITBOX, offset: 0x603238C, symbol: aSxWarpGateHitbox } - -D_SX_6032408: - { type: SF64:HITBOX, offset: 0x6032408, symbol: D_SX_6032408 } - -aSxSpyborgLeftArmHitbox: - { type: SF64:HITBOX, offset: 0x6032488, symbol: aSxSpyborgLeftArmHitbox } - -aSxSpyborgRightArmHitbox: - { type: SF64:HITBOX, offset: 0x60324EC, symbol: aSxSpyborgRightArmHitbox } - -aSxSpyborgHitbox: - { type: SF64:HITBOX, offset: 0x6032550, symbol: aSxSpyborgHitbox } - -aSxLaserHitbox: - { type: SF64:HITBOX, offset: 0x603285C, symbol: aSxLaserHitbox } - -aSxBaseFloor1Hitbox: - { type: SF64:HITBOX, offset: 0x6032878, symbol: aSxBaseFloor1Hitbox } - -aSxBaseWall2Hitbox: - { type: SF64:HITBOX, offset: 0x6032894, symbol: aSxBaseWall2Hitbox } - -aSxBaseWall3Hitbox: - { type: SF64:HITBOX, offset: 0x60328B0, symbol: aSxBaseWall3Hitbox } - -aSxBaseWallTile1Hitbox: - { type: SF64:HITBOX, offset: 0x60328CC, symbol: aSxBaseWallTile1Hitbox } - -D_SX_603265C: - { type: SF64:HITBOX, offset: 0x603265C, symbol: D_SX_603265C } - -D_SX_6032768: - { type: SF64:HITBOX, offset: 0x6032768, symbol: D_SX_6032768 } - -aSxBaseWall4Hitbox: - { type: SF64:HITBOX, offset: 0x60328E8, symbol: aSxBaseWall4Hitbox } - -aSxBaseWall1Hitbox: - { type: SF64:HITBOX, offset: 0x6032904, symbol: aSxBaseWall1Hitbox } - -aSxWatchPostHitbox: - { type: SF64:HITBOX, offset: 0x6032938, symbol: aSxWatchPostHitbox } - -aSxSpaceMineHitbox: - { type: SF64:HITBOX, offset: 0x6032954, symbol: aSxSpaceMineHitbox } - -aSxBaseDebris2Hitbox: - { type: SF64:HITBOX, offset: 0x6032970, symbol: aSxBaseDebris2Hitbox } - -aSxBaseDebris1Hitbox: - { type: SF64:HITBOX, offset: 0x603298C, symbol: aSxBaseDebris1Hitbox } - -# size = 0x32AC0 \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_sector_y.yaml b/assets/yaml/jp/rev0/ast_sector_y.yaml deleted file mode 100644 index 87240ab0..00000000 --- a/assets/yaml/jp/rev0/ast_sector_y.yaml +++ /dev/null @@ -1,362 +0,0 @@ -:config: - segments: - - [0x06, 0xAF9DC0] - header: - code: - - '#include "assets/ast_sector_y.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - - '#include "sf64mesg.h"' - - '#include "sf64mesg.h"' - -# Sector Y: Combat Zone -aSyTitleCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 176, height: 12, offset: 0x6000000, symbol: aSyTitleCardTex } - -# Saruzin flagship icon in radar -D_SY_6000840: - { type: TEXTURE, ctype: u8, format: IA8, width: 64, height: 64, offset: 0x6000840, symbol: D_SY_6000840 } - -D_SY_6001840: - { type: GFX, offset: 0x6001840, symbol: D_SY_6001840 } - -# Sector Y Background -D_SY_60018D0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x060018D0, symbol: D_SY_60018D0 } - -D_SY_6003348: - { type: SF64:ANIM, offset: 0x6003348, symbol: D_SY_6003348 } - -D_SY_60034C4: - { type: SF64:ANIM, offset: 0x60034C4, symbol: D_SY_60034C4 } - -aSyShipWindowsDL: - { type: GFX, offset: 0x60034D0, symbol: aSyShipWindowsDL } - -aSyShip3DestroyedDL: - { type: GFX, offset: 0x60036A0, symbol: aSyShip3DestroyedDL } - -D_SY_6004958: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06004958, symbol: D_SY_6004958 } - -D_SY_6005158: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06005158, symbol: D_SY_6005158 } - -aSyShip4DL: - { type: GFX, offset: 0x6005360, symbol: aSyShip4DL } - -D_SY_6005BE0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06005BE0, symbol: D_SY_6005BE0 } - -D_SY_60063E0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060063E0, symbol: D_SY_60063E0 } - -D_SY_6006BE0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06006BE0, symbol: D_SY_6006BE0 } - -D_SY_6006DE0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 24, offset: 0x06006DE0, symbol: D_SY_6006DE0 } - -D_SY_60073E0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x060073E0, symbol: D_SY_60073E0 } - -D_SY_60083E0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060083E0, symbol: D_SY_60083E0 } - -D_SY_6008BE0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 16, offset: 0x06008BE0, symbol: D_SY_6008BE0 } - -D_SY_6008FE0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06008FE0, symbol: D_SY_6008FE0 } - -aSyShip1DL: - { type: GFX, offset: 0x060097E0, symbol: aSyShip1DL } - -D_SY_600AAC0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0600AAC0, symbol: D_SY_600AAC0 } - -D_SY_600BAC0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x0600BAC0, symbol: D_SY_600BAC0 } - -D_SY_600CAC0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0600CAC0, symbol: D_SY_600CAC0 } - -D_SY_600DAC0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600DAC0, symbol: D_SY_600DAC0 } - -D_SY_600E2C0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600E2C0, symbol: D_SY_600E2C0 } - -D_SY_600EAC0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0600EAC0, symbol: D_SY_600EAC0 } - -D_SY_600F2C0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 32, offset: 0x0600F2C0, symbol: D_SY_600F2C0 } - -aSyShip4DestroyedDL: - { type: GFX, offset: 0x600F6C0, symbol: aSyShip4DestroyedDL } - -aSyShip3DL: - { type: GFX, offset: 0x60102C0, symbol: aSyShip3DL } - -D_SY_6011758: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x06011758, symbol: D_SY_6011758 } - -D_SY_60117D8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x060117D8, symbol: D_SY_60117D8 } - -D_SY_60119D8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060119D8, symbol: D_SY_60119D8 } - -D_SY_60132A0: - { type: GFX, offset: 0x60132A0, symbol: D_SY_60132A0 } - -aSyRobot4DL: - { type: GFX, offset: 0x6015D60, symbol: aSyRobot4DL } - -aSySaruzinDL: - { type: GFX, offset: 0x601F3D0, symbol: aSySaruzinDL } - -D_SY_60121E0: - { type: GFX, offset: 0x60121E0, symbol: D_SY_60121E0 } - -D_SY_60128A0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x060128A0, symbol: D_SY_60128A0 } - -D_SY_60130A0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x060130A0, symbol: D_SY_60130A0 } - -D_SY_6013600: - { type: GFX, offset: 0x6013600, symbol: D_SY_6013600 } - -D_SY_6013840: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06013840, symbol: D_SY_6013840 } - -D_SY_6014040: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06014040, symbol: D_SY_6014040 } - -D_SY_6014240: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06014240, symbol: D_SY_6014240 } - -D_SY_6014A40: - { type: GFX, offset: 0x6014A40, symbol: D_SY_6014A40 } - -D_SY_6014B48: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x06014B48, symbol: D_SY_6014B48 } - -D_SY_6014BD0: - { type: GFX, offset: 0x6014BD0, symbol: D_SY_6014BD0 } - -D_SY_6015960: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06015960, symbol: D_SY_6015960 } - -D_SY_6015B60: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x06015B60, symbol: D_SY_6015B60 } - -aSyShipMissileDL: - { type: GFX, offset: 0x60188D0, symbol: aSyShipMissileDL } - -D_SY_60183B0: - { type: GFX, offset: 0x60183B0, symbol: D_SY_60183B0 } - -D_SY_6018F30: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x06018F30, symbol: D_SY_6018F30 } - -D_SY_6019E50: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x06019E50, symbol: D_SY_6019E50 } - -aSyDebrisDL: - { type: GFX, offset: 0x601AD70, symbol: aSyDebrisDL } - -D_SY_601AE08: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0601AE08, symbol: D_SY_601AE08 } - -aSyShip2SpriteDL: - { type: GFX, offset: 0x601B610, symbol: aSyShip2SpriteDL } - -D_SY_601B6A0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0601B6A0, symbol: D_SY_601B6A0 } - -aSyShip3SpriteDL: - { type: GFX, offset: 0x601C6A0, symbol: aSyShip3SpriteDL } - -D_SY_601C730: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x0601C730, symbol: D_SY_601C730 } - -aSyShip2DL: - { type: GFX, offset: 0x601D730, symbol: aSyShip2DL } - -D_SY_601F3B8: - { type: SF64:ANIM, offset: 0x601F3B8, symbol: D_SY_601F3B8 } - -aSyLaserTurretDL: - { type: GFX, offset: 0x60205D0, symbol: aSyLaserTurretDL } - -aSyRobotSpriteFrontDL: - { type: GFX, offset: 0x60209F0, symbol: aSyRobotSpriteFrontDL } - -D_SY_6020B08: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06020B08, symbol: D_SY_6020B08 } - -D_SY_6021B08: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06021B08, symbol: D_SY_6021B08 } - -aSyRobotSpriteSideDL: - { type: GFX, offset: 0x6022B10, symbol: aSyRobotSpriteSideDL } - -D_SY_6022C28: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06022C28, symbol: D_SY_6022C28 } - -D_SY_6023C28: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06023C28, symbol: D_SY_6023C28 } - -D_SY_60258A0: - { type: SF64:ANIM, offset: 0x60258A0, symbol: D_SY_60258A0 } - -D_SY_602645C: - { type: SF64:ANIM, offset: 0x602645C, symbol: D_SY_602645C } - -D_SY_60265B4: - { type: SF64:ANIM, offset: 0x60265B4, symbol: D_SY_60265B4 } - -D_SY_602738C: - { type: SF64:ANIM, offset: 0x602738C, symbol: D_SY_602738C } - -D_SY_60273A0: - { type: GFX, offset: 0x60273A0, symbol: D_SY_60273A0 } - -D_SY_6027960: - { type: GFX, offset: 0x6027960, symbol: D_SY_6027960 } - -D_SY_6028668: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x06028668, symbol: D_SY_6028668 } - -D_SY_6028E70: - { type: GFX, offset: 0x6028E70, symbol: D_SY_6028E70 } - -D_SY_6029B48: - { type: SF64:ANIM, offset: 0x6029B48, symbol: D_SY_6029B48 } - -D_SY_602A2CC: - { type: SF64:ANIM, offset: 0x602A2CC, symbol: D_SY_602A2CC } - -D_SY_602A2E0: - { type: GFX, offset: 0x602A2E0, symbol: D_SY_602A2E0 } - -D_SY_602A720: - { type: GFX, offset: 0x602A720, symbol: D_SY_602A720 } - -D_SY_602A8C0: - { type: GFX, offset: 0x602A8C0, symbol: D_SY_602A8C0 } - -D_SY_602AFF8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0602AFF8, symbol: D_SY_602AFF8 } - -D_SY_602B778: - { type: SF64:ANIM, offset: 0x602B778, symbol: D_SY_602B778 } - -D_SY_602B8DC: - { type: SF64:ANIM, offset: 0x602B8DC, symbol: D_SY_602B8DC } - -D_SY_602B8F0: - { type: GFX, offset: 0x602B8F0, symbol: D_SY_602B8F0 } - -D_SY_602CEB4: - { type: SF64:ANIM, offset: 0x602CEB4, symbol: D_SY_602CEB4 } - -D_SY_602D340: - { type: GFX, offset: 0x602D340, symbol: D_SY_602D340 } - -D_SY_602D830: - { type: GFX, offset: 0x602D830, symbol: D_SY_602D830 } - -D_SY_602DC40: - { type: GFX, offset: 0x602DC40, symbol: D_SY_602DC40 } - -D_SY_602DE70: - { type: GFX, offset: 0x602DE70, symbol: D_SY_602DE70 } - -D_SY_602E0A0: - { type: GFX, offset: 0x602E0A0, symbol: D_SY_602E0A0 } - -D_SY_602D140: - { type: SF64:SKELETON, offset: 0x602D140, symbol: D_SY_602D140 } - -D_SY_602D194: - { type: GFX, offset: 0x602D1A0, symbol: D_SY_602D194 } - -D_SY_602D238: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 16, offset: 0x0602D238, symbol: D_SY_602D238 } - -D_SY_602E4B0: - { type: SF64:ENVIRONMENT, offset: 0x602E4B0, symbol: D_SY_602E4B0 } - -D_SY_602E4F4: - { type: SF64:OBJECT_INIT, offset: 0x602E4F4, symbol: D_SY_602E4F4 } - -D_SY_6030B14: - { type: SF64:OBJECT_INIT, offset: 0x6030B14, symbol: D_SY_6030B14 } - -D_SY_6032E18: - { type: SF64:SCRIPT, offset: 0x6032E18, symbol: D_SY_6032E18 } - -D_SY_6033070: - {type: SF64:COLPOLY, count: 174, offset: 0x6033070, symbol: D_SY_6033070, mesh_symbol: D_SY_6033E08 } - -aSyRobotHitbox: - { type: SF64:HITBOX, offset: 0x603405C, symbol: aSyRobotHitbox } - -D_SY_60340C0: - { type: SF64:HITBOX, offset: 0x60340C0, symbol: D_SY_60340C0 } - -aSyRobot4Hitbox: - { type: SF64:HITBOX, offset: 0x6034124, symbol: aSyRobot4Hitbox } - -D_SY_60341A8: - { type: SF64:HITBOX, offset: 0x60341A8, symbol: D_SY_60341A8 } - -D_SY_603421C: - { type: SF64:HITBOX, offset: 0x603421C, symbol: D_SY_603421C } - -D_SY_60342A0: - { type: SF64:HITBOX, offset: 0x60342A0, symbol: D_SY_60342A0 } - -D_SY_6034304: - { type: SF64:HITBOX, offset: 0x6034304, symbol: D_SY_6034304 } - -aSyScenery156Hitbox: - { type: SF64:HITBOX, offset: 0x6034368, symbol: aSyScenery156Hitbox } - -aSyLaserTurretHitbox: - { type: SF64:HITBOX, offset: 0x603445C, symbol: aSyLaserTurretHitbox } - -aSyShip1Hitbox: - { type: SF64:HITBOX, offset: 0x6034478, symbol: aSyShip1Hitbox } - -aSyShip2Hitbox: - { type: SF64:HITBOX, offset: 0x603450C, symbol: aSyShip2Hitbox } - -aSyShip3Hitbox: - { type: SF64:HITBOX, offset: 0x6034588, symbol: aSyShip3Hitbox } - -aSyShip3DestroyedHitbox: - { type: SF64:HITBOX, offset: 0x6034664, symbol: aSyShip3DestroyedHitbox } - -aSyShip4Hitbox: - { type: SF64:HITBOX, offset: 0x6034770, symbol: aSyShip4Hitbox } - -aSyShipWindowsHitbox: - { type: SF64:HITBOX, offset: 0x60347D4, symbol: aSyShipWindowsHitbox } - -aSyShip4DestroyedHitbox: - { type: SF64:HITBOX, offset: 0x60347F0, symbol: aSyShip4DestroyedHitbox } - -aSyShipMissileHitbox: - { type: SF64:HITBOX, offset: 0x603486C, symbol: aSyShipMissileHitbox } - -# size = 0x34890 \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_sector_z.yaml b/assets/yaml/jp/rev0/ast_sector_z.yaml deleted file mode 100644 index 3cb0f2db..00000000 --- a/assets/yaml/jp/rev0/ast_sector_z.yaml +++ /dev/null @@ -1,172 +0,0 @@ -:config: - segments: - - [0x06, 0xA1FCD0] - header: - code: - - '#include "assets/ast_sector_z.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - - '#include "sf64mesg.h"' - -# Sector Z: Combat Zone -aSzTitleCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 176, height: 12, offset: 0x6000000, symbol: aSzTitleCardTex } - -# One of the so called "Boss titles", unused in the game. A version of the same thing -# seems to have been implemented in the 3DS version. -# The text in japanese translates to: - -# Interspace anti-ship missile -# Macbeth B -D_SZ_6000840: - { type: TEXTURE, ctype: u8, format: IA8, width: 104, height: 26, offset: 0x6000840, symbol: D_SZ_6000840 } - -# Great Fox icon showed in the Radar -D_SZ_60012D0: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 9, offset: 0x60012D0, symbol: D_SZ_60012D0 } - -aSzSpaceJunk1DL: - { type: GFX, offset: 0x6001360, symbol: aSzSpaceJunk1DL } - -aSzSpaceJunk2DL: - { type: GFX, offset: 0x6001A10, symbol: aSzSpaceJunk2DL } - -D_SZ_6001C80: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x06001C80, symbol: D_SZ_6001C80, tlut: 0x06001D80 } - -D_SZ_6001D80: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x06001D80, symbol: D_SZ_6001D80 } - -aSzSpaceJunk3DL: - { type: GFX, offset: 0x6001DA0, symbol: aSzSpaceJunk3DL } - -D_SZ_60025F0: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x60025F0, symbol: D_SZ_60025F0, tlut: 0x060029F0 } - -D_SZ_60029F0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 240, offset: 0x060029F0, symbol: D_SZ_60029F0 } - -D_SZ_6002BD0: - { type: TEXTURE, ctype: u8, format: CI8, width: 8, height: 8, offset: 0x06002BD0, symbol: D_SZ_6002BD0, tlut: 0x06002C10 } - -D_SZ_6002C10: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x06002C10, symbol: D_SZ_6002C10 } - -D_SZ_6002C30: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x06002C30, symbol: D_SZ_6002C30, tlut: 0x06002D30 } - -D_SZ_6002D30: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 88, offset: 0x06002D30, symbol: D_SZ_6002D30 } - -D_SZ_6002DE0: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x06002DE0, symbol: D_SZ_6002DE0, tlut: 0x06002EE0 } - -D_SZ_6002EE0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 80, offset: 0x06002EE0, symbol: D_SZ_6002EE0 } - -aSzBackgroundDL: - { type: GFX, offset: 0x6002F80, symbol: aSzBackgroundDL } - -# Sector Z Background -aSzBackgroundTex: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06003010, symbol: aSzBackgroundTex } - -D_SZ_6004010: - { type: GFX, offset: 0x6004010, symbol: D_SZ_6004010 } - -D_SZ_60041F8: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x060041F8, symbol: D_SZ_60041F8, tlut: 0x060042F8 } - -D_SZ_60042F8: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 24, offset: 0x060042F8, symbol: D_SZ_60042F8 } - -aSzMissileMark: - { type: GFX, offset: 0x6004330, symbol: aSzMissileMark } - -D_SZ_6004458: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 8, offset: 0x06004458, symbol: D_SZ_6004458, tlut: 0x06004558 } - -D_SZ_6004558: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 8, offset: 0x06004558, symbol: D_SZ_6004558 } - -aSzMissileRadarMarkDL: - { type: GFX, offset: 0x6004570, symbol: aSzMissileRadarMarkDL } - -aSzSpaceJunk4DL: - { type: GFX, offset: 0x60045E0, symbol: aSzSpaceJunk4DL } - -D_SZ_60047E0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60047E0, symbol: D_SZ_60047E0 } - -aSzInvaderIIIDL: - { type: GFX, offset: 0x6004FE0, symbol: aSzInvaderIIIDL } - -aSzInvaderIIITex2: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x060054E0, symbol: aSzInvaderIIITex2, tlut: 0x060058E0 } - -aSzInvaderIIITex2TLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 240, offset: 0x060058E0, symbol: aSzInvaderIIITex2TLUT } - -aSzInvaderIIITex1: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x06005AC0, symbol: aSzInvaderIIITex1, tlut: 0x06005BC0 } - -aSzInvaderIIITex1TLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 24, offset: 0x06005BC0, symbol: aSzInvaderIIITex1TLUT } - -D_SZ_6005BF0: - { type: GFX, offset: 0x6005BF0, symbol: D_SZ_6005BF0 } - -D_SZ_6006090: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x06006090, symbol: D_SZ_6006090, tlut: 0x06006490 } - -D_SZ_6006490: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 232, offset: 0x06006490, symbol: D_SZ_6006490 } - -D_SZ_6006660: - { type: GFX, offset: 0x6006660, symbol: D_SZ_6006660 } - -D_SZ_6006780: - { type: GFX, offset: 0x6006780, symbol: D_SZ_6006780 } - -D_SZ_6006A30: - { type: GFX, offset: 0x6006A30, symbol: D_SZ_6006A30 } - -D_SZ_6006BD8: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x06006BD8, symbol: D_SZ_6006BD8, tlut: 0x06006CD8 } - -D_SZ_6006CD8: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x06006CD8, symbol: D_SZ_6006CD8 } - -aSzMissileAnim: - { type: SF64:ANIM, offset: 0x6006D64, symbol: aSzMissileAnim } - -aSzMissileSkel: - { type: SF64:SKELETON, offset: 0x6006E50, symbol: aSzMissileSkel } - -D_SZ_6006E70: - { type: SF64:ENVIRONMENT, offset: 0x6006E70, symbol: D_SZ_6006E70 } - -D_SZ_6006EB4: - { type: SF64:OBJECT_INIT, offset: 0x6006EB4, symbol: D_SZ_6006EB4 } - -D_SZ_6007558: - {type: SF64:COLPOLY, count: 316, offset: 0x6007558, symbol: D_SZ_6007558, mesh_symbol: D_SZ_OFFSET } - -D_SZ_6009230: - { type: SF64:HITBOX, offset: 0x6009230, symbol: D_SZ_6009230 } - -aSzSpaceJunk3Hitbox: - { type: SF64:HITBOX, offset: 0x600924C, symbol: aSzSpaceJunk3Hitbox } - -aSzSpaceJunk1Hitbox: - { type: SF64:HITBOX, offset: 0x60092E8, symbol: aSzSpaceJunk1Hitbox } - -aSzGreatFoxHitbox: - { type: SF64:HITBOX, offset: 0x6009388, symbol: aSzGreatFoxHitbox } - -# size = 0x93B0 \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_solar.yaml b/assets/yaml/jp/rev0/ast_solar.yaml deleted file mode 100644 index 6af8cf4e..00000000 --- a/assets/yaml/jp/rev0/ast_solar.yaml +++ /dev/null @@ -1,227 +0,0 @@ -:config: - segments: - - [0x06, 0xB2E3F0] - header: - code: - - '#include "assets/ast_solar.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - - '#include "sf64mesg.h"' - -aSoTitleCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 112, height: 13, offset: 0x6000000, symbol: aSoTitleCardTex} - -D_SO_60005B0: - { type: GFX, offset: 0x60005B0, symbol: D_SO_60005B0} - -D_SO_6001C50: - { type: VTX, count: 289, offset: 0x6001C50, symbol: D_SO_6001C50} - -D_SO_6002E60: - { type: GFX, offset: 0x6002E60, symbol: D_SO_6002E60} - -D_SO_6004500: - { type: VTX, count: 289, offset: 0x6004500, symbol: D_SO_6004500} - -D_SO_6005710: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6005710, symbol: D_SO_6005710} - -aSoGoreAnim: - { type: SF64:ANIM, offset: 0x600636C, symbol: aSoGoreAnim} - -aSoGoreSkel: - { type: SF64:SKELETON, offset: 0x6006558, symbol: aSoGoreSkel} - -D_SO_6006DD8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6006DD8, symbol: D_SO_6006DD8} - -D_SO_6007C40: - { type: GFX, offset: 0x6007C40, symbol: D_SO_6007C40} - -D_SO_6007CC0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6007CC0, symbol: D_SO_6007CC0} - -D_SO_60084C0: - { type: GFX, offset: 0x60084C0, symbol: D_SO_60084C0} - -D_SO_6008540: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6008540, symbol: D_SO_6008540} - -D_SO_6008D40: - { type: GFX, offset: 0x6008D40, symbol: D_SO_6008D40} - -D_SO_6008DC0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6008DC0, symbol: D_SO_6008DC0} - -D_SO_6009D30: - { type: SF64:ANIM, offset: 0x6009D30, symbol: D_SO_6009D30} - -D_SO_600B1B4: - { type: SF64:ANIM, offset: 0x600B1B4, symbol: D_SO_600B1B4} - -D_SO_600C15C: - { type: SF64:ANIM, offset: 0x600C15C, symbol: D_SO_600C15C} - -D_SO_600D3DC: - { type: SF64:ANIM, offset: 0x600D3DC, symbol: D_SO_600D3DC} - -D_SO_600E2C4: - { type: SF64:ANIM, offset: 0x600E2C4, symbol: D_SO_600E2C4} - -D_SO_600E470: - { type: SF64:SKELETON, offset: 0x600E470, symbol: D_SO_600E470} - -D_SO_600F744: - { type: SF64:ANIM, offset: 0x600F744, symbol: D_SO_600F744} - -D_SO_600F750: - { type: GFX, offset: 0x600F750, symbol: D_SO_600F750} - -D_SO_6010198: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6010198, symbol: D_SO_6010198} - -D_SO_6010998: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6010998, symbol: D_SO_6010998} - -D_SO_6011198: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6011198, symbol: D_SO_6011198} - -D_SO_6011398: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6011398, symbol: D_SO_6011398} - -D_SO_6012C00: - { type: SF64:ANIM, offset: 0x6012C00, symbol: D_SO_6012C00} - -D_SO_601388C: - { type: SF64:ANIM, offset: 0x601388C, symbol: D_SO_601388C} - -D_SO_60138A0: - { type: GFX, offset: 0x60138A0, symbol: D_SO_60138A0} - -D_SO_6013C70: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6013C70, symbol: D_SO_6013C70} - -D_SO_6014470: - { type: GFX, offset: 0x6014470, symbol: D_SO_6014470} - -D_SO_60146D0: - { type: GFX, offset: 0x60146D0, symbol: D_SO_60146D0} - -D_SO_6014930: - { type: GFX, offset: 0x6014930, symbol: D_SO_6014930} - -D_SO_6014B80: - { type: GFX, offset: 0x6014B80, symbol: D_SO_6014B80} - -D_SO_6014DB0: - { type: GFX, offset: 0x6014DB0, symbol: D_SO_6014DB0} - -D_SO_60151A0: - { type: GFX, offset: 0x60151A0, symbol: D_SO_60151A0} - -D_SO_6015810: - { type: GFX, offset: 0x6015810, symbol: D_SO_6015810} - -aSoRock3DL: - { type: GFX, offset: 0x6016CF0, symbol: aSoRock3DL} - -D_SO_6016F08: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x6016F08, symbol: D_SO_6016F08} - -D_SO_6017008: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 64, offset: 0x6017008, symbol: D_SO_6017008} - -aSoRock2DL: - { type: GFX, offset: 0x6017090, symbol: aSoRock2DL} - -D_SO_6017200: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x6017200, symbol: D_SO_6017200} - -D_SO_6017300: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 56, offset: 0x6017300, symbol: D_SO_6017300} - -aSoRock1DL: - { type: GFX, offset: 0x6017370, symbol: aSoRock1DL} - -D_SO_60174E0: - { type: TEXTURE, ctype: u8, format: CI8, width: 8, height: 8, offset: 0x60174E0, symbol: D_SO_60174E0} - -D_SO_6017520: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 24, offset: 0x6017520, symbol: D_SO_6017520} - -D_SO_6017550: - { type: GFX, offset: 0x6017550, symbol: D_SO_6017550} - -D_SO_60175D8: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x60175D8, symbol: D_SO_60175D8} - -D_SO_60185E0: - { type: GFX, offset: 0x60185E0, symbol: D_SO_60185E0} - -D_SO_6018668: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x6018668, symbol: D_SO_6018668} - -D_SO_6019670: - { type: GFX, offset: 0x6019670, symbol: D_SO_6019670} - -D_SO_60196F8: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x60196F8, symbol: D_SO_60196F8} - -D_SO_601A700: - { type: GFX, offset: 0x601A700, symbol: D_SO_601A700} - -D_SO_601A788: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x601A788, symbol: D_SO_601A788} - -D_SO_601B790: - { type: GFX, offset: 0x601B790, symbol: D_SO_601B790} - -D_SO_601B818: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x601B818, symbol: D_SO_601B818} - -D_SO_601C820: - { type: GFX, offset: 0x601C820, symbol: D_SO_601C820} - -D_SO_601C8A8: - { type: TEXTURE, ctype: u32, format: RGBA32, width: 32, height: 32, offset: 0x601C8A8, symbol: D_SO_601C8A8} - -D_SO_601D8B0: - { type: GFX, offset: 0x601D8B0, symbol: D_SO_601D8B0} - -D_SO_601D948: - { type: TEXTURE, ctype: u16, format: IA16, width: 32, height: 32, offset: 0x601D948, symbol: D_SO_601D948} - -D_SO_601E150: - { type: GFX, offset: 0x601E150, symbol: D_SO_601E150} - -D_SO_601E1E8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x601E1E8, symbol: D_SO_601E1E8} - -D_SO_601F1F0: - { type: SF64:ENVIRONMENT, offset: 0x601F1F0, symbol: D_SO_601F1F0} - -D_SO_601F234: - { type: SF64:OBJECT_INIT, offset: 0x601F234, symbol: D_SO_601F234} - -D_SO_6020DD0: - { type: SF64:SCRIPT, offset: 0x6020DD0, symbol: D_SO_6020DD0} - -D_SO_6020F60: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x6020F60, symbol: D_SO_6020F60} - -D_SO_6021F60: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6021F60, symbol: D_SO_6021F60} - -D_SO_6022760: - { type: ARRAY, count: 289, array_type: u16, offset: 0x6022760, symbol: D_SO_6022760} - -D_SO_60229A4: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60229A4, symbol: D_SO_60229A4} - -D_SO_60231A4: - { type: SF64:HITBOX, offset: 0x60231A4, symbol: D_SO_60231A4} \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_star_wolf.yaml b/assets/yaml/jp/rev0/ast_star_wolf.yaml deleted file mode 100644 index e6e12660..00000000 --- a/assets/yaml/jp/rev0/ast_star_wolf.yaml +++ /dev/null @@ -1,102 +0,0 @@ -:config: - segments: - - [0x0F, 0x911000] - header: - code: - - '#include "assets/ast_star_wolf.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -D_STAR_WOLF_F000000: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0F000000, symbol: D_STAR_WOLF_F000000 } - -D_STAR_WOLF_F000F20: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0F000F20, symbol: D_STAR_WOLF_F000F20 } - -D_STAR_WOLF_F001E40: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0F001E40, symbol: D_STAR_WOLF_F001E40 } - -D_STAR_WOLF_F002D60: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0F002D60, symbol: D_STAR_WOLF_F002D60 } - -D_STAR_WOLF_F003C80: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0F003C80, symbol: D_STAR_WOLF_F003C80 } - -D_STAR_WOLF_F004BA0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0F004BA0, symbol: D_STAR_WOLF_F004BA0 } - -D_STAR_WOLF_F005AC0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0F005AC0, symbol: D_STAR_WOLF_F005AC0 } - -D_STAR_WOLF_F0069E0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0F0069E0, symbol: D_STAR_WOLF_F0069E0 } - -D_STAR_WOLF_F007900: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0F007900, symbol: D_STAR_WOLF_F007900 } - -D_STAR_WOLF_F008820: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0F008820, symbol: D_STAR_WOLF_F008820 } - -D_STAR_WOLF_F009740: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0F009740, symbol: D_STAR_WOLF_F009740 } - -D_STAR_WOLF_F00A660: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0F00A660, symbol: D_STAR_WOLF_F00A660 } - -D_STAR_WOLF_F00B580: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0F00B580, symbol: D_STAR_WOLF_F00B580 } - -D_STAR_WOLF_F00C4A0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0F00C4A0, symbol: D_STAR_WOLF_F00C4A0 } - -D_STAR_WOLF_F00D3C0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0F00D3C0, symbol: D_STAR_WOLF_F00D3C0 } - -D_STAR_WOLF_F00E2E0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x0F00E2E0, symbol: D_STAR_WOLF_F00E2E0 } - -aStarWolfStandardShipDL: - { type: GFX, offset: 0xF00F200, symbol: aStarWolfStandardShipDL } - -D_STAR_WOLF_F0101D0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0F0101D0, symbol: D_STAR_WOLF_F0101D0 } - -D_STAR_WOLF_F011E80: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x0F011E80, symbol: D_STAR_WOLF_F011E80 } - -D_STAR_WOLF_F011680: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0F011680, symbol: D_STAR_WOLF_F011680 } - -aStarWolfUpgradedShipDL: - { type: GFX, offset: 0xF0103D0, symbol: aStarWolfUpgradedShipDL } - -D_STAR_WOLF_F011F00: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0F011F00, symbol: D_STAR_WOLF_F011F00 } - -D_STAR_WOLF_F012700: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0F012700, symbol: D_STAR_WOLF_F012700 } - -D_STAR_WOLF_F012F00: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x0F012F00, symbol: D_STAR_WOLF_F012F00 } - -D_STAR_WOLF_F013100: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x0F013100, symbol: D_STAR_WOLF_F013100 } - -D_STAR_WOLF_F013180: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0F013180, symbol: D_STAR_WOLF_F013180 } - -D_STAR_WOLF_F013980: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x0F013980, symbol: D_STAR_WOLF_F013980 } - -aStarWolfRadarMarkDL: - { type: GFX, offset: 0xF014180, symbol: aStarWolfRadarMarkDL } - -D_STAR_WOLF_F014208: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x0F014208, symbol: D_STAR_WOLF_F014208 } - -aStarWolfShadowDL: - { type: GFX, offset: 0xF014310, symbol: aStarWolfShadowDL } - -aStarWolfShadowTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 32, height: 32, offset: 0x0F014398, symbol: aStarWolfShadowTex } diff --git a/assets/yaml/jp/rev0/ast_text.yaml b/assets/yaml/jp/rev0/ast_text.yaml deleted file mode 100644 index 68af92c8..00000000 --- a/assets/yaml/jp/rev0/ast_text.yaml +++ /dev/null @@ -1,421 +0,0 @@ -:config: - segments: - - [0x05, 0xC98590] - header: - code: - - '#include "assets/ast_text.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -# 0 (small) -aSmallText_0: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 8, offset: 0x5000000, symbol: aSmallText_0 } - -# 1 (small) -aSmallText_1: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 8, offset: 0x5000080, symbol: aSmallText_1 } - -# 2 (small) -aSmallText_2: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 8, offset: 0x5000100, symbol: aSmallText_2 } - -# 3 (small) -aSmallText_3: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 8, offset: 0x5000180, symbol: aSmallText_3 } - -# 4 (small) -aSmallText_4: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 8, offset: 0x5000200, symbol: aSmallText_4 } - -# 5 (small) -aSmallText_5: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 8, offset: 0x5000280, symbol: aSmallText_5 } - -# 6 (small) -aSmallText_6: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 8, offset: 0x5000300, symbol: aSmallText_6 } - -# 7 (small) -aSmallText_7: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 8, offset: 0x5000380, symbol: aSmallText_7 } - -# 8 (small) -aSmallText_8: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 8, offset: 0x5000400, symbol: aSmallText_8 } - -# 9 (small) -aSmallText_9: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 8, offset: 0x5000480, symbol: aSmallText_9 } - -# Mission No. -aTextMissionNo: - { type: TEXTURE, ctype: u8, format: IA8, width: 112, height: 19, offset: 0x5000500, symbol: aTextMissionNo } - -# Training -aTrTitleCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 80, height: 12, offset: 0x5000D50, symbol: aTrTitleCardTex } - -# Enemies Down -aTextEnemiesDown: - { type: TEXTURE, ctype: u8, format: IA8, width: 64, height: 25, offset: 0x5001110, symbol: aTextEnemiesDown } - -# Accumulated Total -aTextAccumTotal: - { type: TEXTURE, ctype: u8, format: IA8, width: 128, height: 10, offset: 0x5001750, symbol: aTextAccumTotal } - -# Status of Team -aTextStatusOfTeam: - { type: TEXTURE, ctype: u8, format: IA8, width: 120, height: 12, offset: 0x5001C50, symbol: aTextStatusOfTeam } - -# End -aTextEnd: - { type: TEXTURE, ctype: u8, format: IA8, width: 32, height: 8, offset: 0x50021F0, symbol: aTextEnd } - -# ACCOM -aTextACCOM: - { type: TEXTURE, ctype: u8, format: IA8, width: 120, height: 23, offset: 0x50022F0, symbol: aTextACCOM } - -# PLISHED -aTextPLISHED: - { type: TEXTURE, ctype: u8, format: IA8, width: 136, height: 23, offset: 0x5002DC0, symbol: aTextPLISHED } - -# MISSION -aTextMISSION: - { type: TEXTURE, ctype: u8, format: IA8, width: 128, height: 23, offset: 0x5003A00, symbol: aTextMISSION } - -# COMP -aTextCOMP: - { type: TEXTURE, ctype: u8, format: IA8, width: 96, height: 23, offset: 0x5004580, symbol: aTextCOMP } - -# LETE -aTextLETE: - { type: TEXTURE, ctype: u8, format: IA8, width: 80, height: 21, offset: 0x5004E20, symbol: aTextLETE } - -# THE END -aText_THE_END: - { type: TEXTURE, ctype: u8, format: IA8, width: 192, height: 30, offset: 0x50054B0, symbol: aText_THE_END } - -# Falco -aTextFalco: - { type: TEXTURE, ctype: u8, format: IA8, width: 48, height: 8, offset: 0x5006B30, symbol: aTextFalco } - -# Peppy -aTextPeppy: - { type: TEXTURE, ctype: u8, format: IA8, width: 48, height: 10, offset: 0x5006CB0, symbol: aTextPeppy } - -# Slippy -aTextSlippy: - { type: TEXTURE, ctype: u8, format: IA8, width: 56, height: 10, offset: 0x5006E90, symbol: aTextSlippy } - -# A (small) -aSmallText_A: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x50070C0, symbol: aSmallText_A } - -# B (small) -aSmallText_B: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x5007100, symbol: aSmallText_B } - -# ! (small) -aSmallTextExclamMark: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x5007140, symbol: aSmallTextExclamMark } - -# C (small) -aSmallText_C: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x5007180, symbol: aSmallText_C } - -# D (small) -aSmallText_D: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x50071C0, symbol: aSmallText_D } - -# E (small) -aSmallText_E: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x5007200, symbol: aSmallText_E } - -# 1 (large) Used in the ending: 1997 -sLargeText_1997_1: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5007240, symbol: sLargeText_1997_1 } - -# 7 (large) Used in the ending: 1997 -sLargeText_1997_7: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5007330, symbol: sLargeText_1997_7 } - -# 9 (large) Used in the ending: 1997 -sLargeText_1997_9: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5007420, symbol: sLargeText_1997_9 } - -# F (small) -aSmallText_F: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x5007510, symbol: aSmallText_F } - -# G (small) -aSmallText_G: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x5007550, symbol: aSmallText_G } - -# H (small) -aSmallText_H: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x5007590, symbol: aSmallText_H } - -# I (small) -aSmallText_I: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x50075D0, symbol: aSmallText_I } - -# J (small) -aSmallText_J: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x5007610, symbol: aSmallText_J } - -# K (small) -aSmallText_K: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x5007650, symbol: aSmallText_K } - -# 完 (Japanese kanji meaning COMPLETE) -aTextKanjiCOMPLETE: - { type: TEXTURE, ctype: u8, format: IA8, width: 48, height: 47, offset: 0x5007690, symbol: aTextKanjiCOMPLETE } - -# L (small) -aSmallText_L: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x5007F60, symbol: aSmallText_L } - -# M (small) -aSmallText_M: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x5007FA0, symbol: aSmallText_M } - -# N (small) -aSmallText_N: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x5007FE0, symbol: aSmallText_N } - -# A (large) -aLargeText_A: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5008020, symbol: aLargeText_A } - -# B (large) -aLargeText_B: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5008110, symbol: aLargeText_B } - -# C (large) -aLargeText_C: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5008200, symbol: aLargeText_C } - -# D (large) -aLargeText_D: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x50082F0, symbol: aLargeText_D } - -# E (large) -aLargeText_E: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x50083E0, symbol: aLargeText_E } - -# F (large) -aLargeText_F: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x50084D0, symbol: aLargeText_F } - -# G (large) -aLargeText_G: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x50085C0, symbol: aLargeText_G } - -# H (large) -aLargeText_H: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x50086B0, symbol: aLargeText_H } - -# I (large) -aLargeText_I: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x50087A0, symbol: aLargeText_I } - -# J (large) -aLargeText_J: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5008890, symbol: aLargeText_J } - -# K (large) -aLargeText_K: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5008980, symbol: aLargeText_K } - -# L (large) -aLargeText_L: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5008A70, symbol: aLargeText_L } - -# M (large) -aLargeText_M: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5008B60, symbol: aLargeText_M } - -# N (large) -aLargeText_N: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5008C50, symbol: aLargeText_N } - -# O (large) -aSmallText_O: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5008D40, symbol: aSmallText_O } - -# P (large) -aLargeText_P: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5008E30, symbol: aLargeText_P } - -# Q (large) -aLargeText_Q: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5008F20, symbol: aLargeText_Q } - -# R (large) -aLargeText_R: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5009010, symbol: aLargeText_R } - -# S (large) -aLargeText_S: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5009100, symbol: aLargeText_S } - -# T (large) -aLargeText_T: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x50091F0, symbol: aLargeText_T } - -# U (large) -aLargeText_U: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x50092E0, symbol: aLargeText_U } - -# V (large) -aLargeText_V: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x50093D0, symbol: aLargeText_V } - -# W (large) -aLargeText_W: - { type: TEXTURE, ctype: u8, format: IA8, width: 32, height: 15, offset: 0x50094C0, symbol: aLargeText_W } - -# X (large) -aLargeText_X: - { type: TEXTURE, ctype: u8, format: IA8, width: 32, height: 15, offset: 0x50096A0, symbol: aLargeText_X } - -# Y (large) -aLargeText_Y: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5009880, symbol: aLargeText_Y } - -# - (large) -aLargeText_HYPHEN: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5009970, symbol: aLargeText_HYPHEN } - -# Z (large) -aLargeText_Z: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5009A60, symbol: aLargeText_Z } - -# s (large) -aLargeText_s_: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5009B50, symbol: aLargeText_s_ } - -# t (large) -aLargeText_t_: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5009C40, symbol: aLargeText_t_ } - -# o (small) -aSmallText_o_: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x5009D30, symbol: aSmallText_o_ } - -# p (small) -aSmallText_p: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x5009D70, symbol: aSmallText_p } - -# . (large) -aLargeText_DOT: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5009DB0, symbol: aLargeText_DOT } - -# q (small) -aSmallText_q: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x5009EA0, symbol: aSmallText_q } - -# r (small) -aSmallText_r: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x5009EE0, symbol: aSmallText_r } - -# s (small) -aSmallText_s: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x5009F20, symbol: aSmallText_s } - -# 0 (large) -aLargeText_0: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x5009F60, symbol: aLargeText_0 } - -# 1 (large) -aLargeText_1: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x500A050, symbol: aLargeText_1 } - -# 2 (large) -aLargeText_2: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x500A140, symbol: aLargeText_2 } - -# 3 (large) -aLargeText_3: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x500A230, symbol: aLargeText_3 } - -# 4 (large) -aLargeText_4: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x500A320, symbol: aLargeText_4 } - -# 5 (large) -aLargeText_5: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x500A410, symbol: aLargeText_5 } - -# 6 (large) -aLargeText_6: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x500A500, symbol: aLargeText_6 } - -# 7 (large) -aLargeText_7: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x500A5F0, symbol: aLargeText_7 } - -# 8 (large) -aLargeText_8: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x500A6E0, symbol: aLargeText_8 } - -# 9 (large) -aLargeText_9: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 15, offset: 0x500A7D0, symbol: aLargeText_9 } - -# 終 (Japanese kanji meaning END) -aTextKanji_END: - { type: TEXTURE, ctype: u8, format: IA8, width: 56, height: 49, offset: 0x500A8C0, symbol: aTextKanji_END } - -# T (small) -aSmallText_T: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x500B380, symbol: aSmallText_T } - -# . (small) -aSmallText_DOT: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x500B3C0, symbol: aSmallText_DOT } - -# : (small) -aSmallText_COLON: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x500B400, symbol: aSmallText_COLON } - -# U (small) -aSmallText_U: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x500B440, symbol: aSmallText_U } - -# V (small) -aSmallText_V: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x500B480, symbol: aSmallText_V } - -# W (small) -aSmallText_W: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x500B4C0, symbol: aSmallText_W } - -# X (small) -aSmallText_X: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x500B500, symbol: aSmallText_X } - -# Y (small) -aSmallText_Y: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x500B540, symbol: aSmallText_Y } - -# - (small) -aSmallText_HYPHEN: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x500B580, symbol: aSmallText_HYPHEN } - -# Z (small) -aSmallText_Z: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x500B5C0, symbol: aSmallText_Z } - -# Wrench DisplayList (Teammate in maintenance state) -aDownWrenchDL: - { type: GFX, offset: 0x500B600, symbol: aDownWrenchDL } - -# Wrench Texture -aDownWrenchTexture: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 32, offset: 0x0500B768, tlut: 0x0500B868, symbol: aDownWrenchTexture } - -# Wrench TLUT -aDownWrenchTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x0500B868, symbol: aDownWrenchTLUT } \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_titania.yaml b/assets/yaml/jp/rev0/ast_titania.yaml deleted file mode 100644 index 41849551..00000000 --- a/assets/yaml/jp/rev0/ast_titania.yaml +++ /dev/null @@ -1,188 +0,0 @@ -:config: - segments: - - [0x06, 0x9A3370] - header: - code: - - '#include "assets/ast_titania.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - - '#include "sf64mesg.h"' - -aTiTitleCardTex: - {type: TEXTURE, format: IA8, ctype: u8, width: 96, height: 28, offset: 0x6000000, symbol: aTiTitleCardTex} - -D_TI_6000A80: - {type: GFX, offset: 0x6000A80, symbol: D_TI_6000A80} - -D_TI_6000B10: - {type: TEXTURE, format: RGBA16, ctype: u16, width: 64, height: 32, offset: 0x6000B10, symbol: D_TI_6000B10} - -D_TI_6001B10: - {type: GFX, offset: 0x6001B10, symbol: D_TI_6001B10} - -D_TI_6001BA8: - {type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 32, offset: 0x6001BA8, symbol: D_TI_6001BA8} - -aTiCactusDL: - {type: GFX, offset: 0x60023B0, symbol: aTiCactusDL} - -D_TI_6002438: - {type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 64, offset: 0x6002438, symbol: D_TI_6002438} - -D_TI_6003440: - {type: GFX, offset: 0x6003440, symbol: D_TI_6003440} - -D_TI_60034E0: - {type: GFX, offset: 0x60034E0, symbol: D_TI_60034E0} - -D_TI_6003580: - {type: GFX, offset: 0x6003580, symbol: D_TI_6003580} - -D_TI_6003620: - {type: GFX, offset: 0x6003620, symbol: D_TI_6003620} - -D_TI_60036C0: - {type: GFX, offset: 0x60036C0, symbol: D_TI_60036C0} - -D_TI_6003760: - {type: GFX, offset: 0x6003760, symbol: D_TI_6003760} - -D_TI_6003800: - {type: TEXTURE, format: IA8, ctype: u8, width: 32, height: 32, offset: 0x6003800, symbol: D_TI_6003800} - -D_TI_6003C00: - {type: TEXTURE, format: IA8, ctype: u8, width: 32, height: 32, offset: 0x6003C00, symbol: D_TI_6003C00} - -D_TI_6004000: - {type: TEXTURE, format: IA8, ctype: u8, width: 32, height: 32, offset: 0x6004000, symbol: D_TI_6004000} - -D_TI_6004400: - {type: TEXTURE, format: IA8, ctype: u8, width: 32, height: 32, offset: 0x6004400, symbol: D_TI_6004400} - -D_TI_6004800: - {type: TEXTURE, format: IA8, ctype: u8, width: 32, height: 32, offset: 0x6004800, symbol: D_TI_6004800} - -D_TI_6004C00: - {type: TEXTURE, format: IA8, ctype: u8, width: 32, height: 32, offset: 0x6004C00, symbol: D_TI_6004C00} - -D_TI_6005000: - {type: SF64:ENVIRONMENT, offset: 0x6005000, symbol: D_TI_6005000} - -D_TI_600631C: - {type: SF64:SCRIPT, offset: 0x600631C, symbol: D_TI_600631C} - -aTi1LandmineHitbox: - {type: SF64:HITBOX, offset: 0x60064AC, symbol: aTi1LandmineHitbox} - -aTiDesertRoverHitbox: - {type: SF64:HITBOX, offset: 0x60064C8, symbol: aTiDesertRoverHitbox} - -aTiSkullHitbox: - {type: SF64:HITBOX, offset: 0x60064FC, symbol: aTiSkullHitbox} - -aTiRib0Hitbox: - {type: SF64:HITBOX, offset: 0x6006518, symbol: aTiRib0Hitbox} - -aTiRib1Hitbox: - {type: SF64:HITBOX, offset: 0x6006564, symbol: aTiRib1Hitbox} - -aTiRib2Hitbox: - {type: SF64:HITBOX, offset: 0x60065B0, symbol: aTiRib2Hitbox} - -aTiRib3Hitbox: - {type: SF64:HITBOX, offset: 0x60065FC, symbol: aTiRib3Hitbox} - -aTiRib4Hitbox: - {type: SF64:HITBOX, offset: 0x6006648, symbol: aTiRib4Hitbox} - -aTiRib5Hitbox: - {type: SF64:HITBOX, offset: 0x6006694, symbol: aTiRib5Hitbox} - -aTiRib6Hitbox: - {type: SF64:HITBOX, offset: 0x60066E0, symbol: aTiRib6Hitbox} - -aTiRib7Hitbox: - {type: SF64:HITBOX, offset: 0x600672C, symbol: aTiRib7Hitbox} - -aTiRib8Hitbox: - {type: SF64:HITBOX, offset: 0x6006778, symbol: aTiRib8Hitbox} - -aTiDelphorHitbox: - {type: SF64:HITBOX, offset: 0x60067C4, symbol: aTiDelphorHitbox} - -aTiDelphorHeadHitbox: - {type: SF64:HITBOX, offset: 0x6006808, symbol: aTiDelphorHeadHitbox} - -aTiDesertCrawlerHitbox: - {type: SF64:HITBOX, offset: 0x6006A3C, symbol: aTiDesertCrawlerHitbox} - -aTiBoulderHitbox: - {type: SF64:HITBOX, offset: 0x600683C, symbol: aTiBoulderHitbox} - -aTiBombHitbox: - {type: SF64:HITBOX, offset: 0x6006858, symbol: aTiBombHitbox} - -D_TI_6006874: - {type: SF64:HITBOX, offset: 0x6006874, symbol: D_TI_6006874} - -aTiRascoHitbox: - {type: SF64:HITBOX, offset: 0x6006890, symbol: aTiRascoHitbox} - -aTiCactusHitbox: - {type: SF64:HITBOX, offset: 0x60068BC, symbol: aTiCactusHitbox} - -aTiFekudaHitbox: - {type: SF64:HITBOX, offset: 0x60068F0, symbol: aTiFekudaHitbox} - -D_TI_6006940: - {type: SF64:HITBOX, offset: 0x6006940, symbol: D_TI_6006940} - -D_TI_600695C: - {type: SF64:HITBOX, offset: 0x600695C, symbol: D_TI_600695C} - -D_TI_6006978: - {type: SF64:HITBOX, offset: 0x6006978, symbol: D_TI_6006978} - -D_TI_6006994: - {type: SF64:HITBOX, offset: 0x6006994, symbol: D_TI_6006994} - -D_TI_60069B0: - {type: SF64:HITBOX, offset: 0x60069B0, symbol: D_TI_60069B0} - -D_TI_60069CC: - {type: SF64:HITBOX, offset: 0x60069CC, symbol: D_TI_60069CC} - -D_TI_60069E8: - {type: SF64:HITBOX, offset: 0x60069E8, symbol: D_TI_60069E8} - -D_TI_6006A04: - {type: SF64:HITBOX, offset: 0x6006A04, symbol: D_TI_6006A04} - -D_TI_6006A20: - {type: SF64:HITBOX, offset: 0x6006A20, symbol: D_TI_6006A20} - -aTiPillarHitbox: - {type: SF64:HITBOX, offset: 0x6006BF0, symbol: aTiPillarHitbox} - -D_TI_6006924: - {type: SF64:HITBOX, offset: 0x6006924, symbol: D_TI_6006924} - -D_TI_6006C0C: - {type: SF64:HITBOX, offset: 0x6006C0C, symbol: D_TI_6006C0C} - -D_TI_6006C28: - {type: SF64:HITBOX, offset: 0x6006C28, symbol: D_TI_6006C28} - -aTiBridgeHitbox: - {type: SF64:HITBOX, offset: 0x6006C44, symbol: aTiBridgeHitbox} - -D_TI_6006C60: - {type: SF64:OBJECT_INIT, offset: 0x6006C60, symbol: D_TI_6006C60} - -D_TI_6009BB8: - {type: TEXTURE, format: RGBA16, ctype: u16, width: 32, height: 32, offset: 0x6009BB8, symbol: D_TI_6009BB8} diff --git a/assets/yaml/jp/rev0/ast_title.yaml b/assets/yaml/jp/rev0/ast_title.yaml deleted file mode 100644 index 772a8c77..00000000 --- a/assets/yaml/jp/rev0/ast_title.yaml +++ /dev/null @@ -1,263 +0,0 @@ -:config: - segments: - - [0x06, 0xBC9230] - header: - code: - - '#include "assets/ast_title.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -aTitleStarfoxLogoTex: { type: TEXTURE, ctype: u16, format: RGBA16, width: 236, height: 60, offset: 0x6000000, symbol: aTitleStarfoxLogoTex } - -aTitleN64LogoTex: { type: TEXTURE, ctype: u16, format: RGBA16, width: 128, height: 88, offset: 0x6006EA0, symbol: aTitleN64LogoTex } - -gTitleRadioStatic: { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x600C6A0, symbol: gTitleRadioStatic } - -aTitleSunGlareTex: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x600D5C0, symbol: aTitleSunGlareTex } - -a1997NintendoTex: { type: TEXTURE, ctype: u8, format: IA8, width: 120, height: 12, offset: 0x600DDC0, symbol: a1997NintendoTex } - -aTitlePressStartTex: { type: TEXTURE, ctype: u8, format: IA8, width: 120, height: 13, offset: 0x600E360, symbol: aTitlePressStartTex } - -aTitleGreatFoxCardTex: { type: TEXTURE, ctype: u8, format: IA8, width: 144, height: 28, offset: 0x600E980, symbol: aTitleGreatFoxCardTex } - -gTitleSlippyCard: { type: TEXTURE, ctype: u8, format: IA8, width: 144, height: 13, offset: 0x600F940, symbol: gTitleSlippyCard } - -gTitlePeppyCard: { type: TEXTURE, ctype: u8, format: IA8, width: 120, height: 13, offset: 0x6010090, symbol: gTitlePeppyCard } - -gTitleFalcoCard: { type: TEXTURE, ctype: u8, format: IA8, width: 176, height: 13, offset: 0x60106B0, symbol: gTitleFalcoCard } - -gTitleFoxCard: { type: TEXTURE, ctype: u8, format: IA8, width: 176, height: 13, offset: 0x6010FA0, symbol: gTitleFoxCard } - -aTitleArwingCardTex: { type: TEXTURE, ctype: u8, format: IA8, width: 112, height: 26, offset: 0x6011890, symbol: aTitleArwingCardTex } - -aTitleNoControllerTex: { type: TEXTURE, ctype: u8, format: IA8, width: 176, height: 24, offset: 0x60123F0, symbol: aTitleNoControllerTex } - -aTitleCopyrightTex: { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x6013470, symbol: aTitleCopyrightTex } - -gTitleUnusedNintendoCopyright: { type: TEXTURE, ctype: u8, format: IA8, width: 168, height: 18, offset: 0x6013570, symbol: gTitleUnusedNintendoCopyright } - -aIntroStarfoxLogoTex: { type: TEXTURE, ctype: u8, format: CI4, width: 256, height: 13, offset: 0x6014140, tlut: 0x60147C0, symbol: aIntroStarfoxLogoTex } - -aIntroStarfoxLogoTLUT: { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x60147C0, symbol: aIntroStarfoxLogoTLUT } - -aIntroInTex: { type: TEXTURE, ctype: u8, format: CI4, width: 32, height: 13, offset: 0x60147E0, tlut: 0x60147C0, symbol: aIntroInTex } - -aIntroInTLUT: { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x60148B0, symbol: aIntroInTLUT } - -a64LogoDL: { type: GFX, offset: 0x60148D0, symbol: a64LogoDL } - -a64Logo1Tex: { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 64, offset: 0x6014DE8, tlut: 0x60155E8, symbol: a64Logo1Tex } - -a64Logo1TLUT: { type: TEXTURE, ctype: u16, format: TLUT, colors: 152, offset: 0x60155E8, symbol: a64Logo1TLUT } - -a64Logo2Tex: { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 63, offset: 0x6015718, tlut: 0x6015EF8, symbol: a64Logo2Tex } - -a64Logo2TLUT: { type: TEXTURE, ctype: u16, format: TLUT, colors: 64, offset: 0x6015EF8, symbol: a64Logo2TLUT } - -a64Logo3Tex: { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 64, offset: 0x6015F78, tlut: 0x6016778, symbol: a64Logo3Tex } - -a64Logo3TLUT: { type: TEXTURE, ctype: u16, format: TLUT, colors: 200, offset: 0x6016778, symbol: a64Logo3TLUT } - -a64Logo4Tex: { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 63, offset: 0x6016908, tlut: 0x60170E8, symbol: a64Logo4Tex } - -a64Logo4TLUT: { type: TEXTURE, ctype: u16, format: TLUT, colors: 144, offset: 0x60170E8, symbol: a64Logo4TLUT } - -a64Logo5Tex: { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 64, offset: 0x6017208, tlut: 0x6017A08, symbol: a64Logo5Tex } - -a64Logo5TLUT: { type: TEXTURE, ctype: u16, format: TLUT, colors: 136, offset: 0x6017A08, symbol: a64Logo5TLUT } - -a64Logo6Tex: { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 64, offset: 0x6017B18, tlut: 0x6018318, symbol: a64Logo6Tex } - -a64Logo6TLUT: { type: TEXTURE, ctype: u16, format: TLUT, colors: 200, offset: 0x6018318, symbol: a64Logo6TLUT } - -a64Logo7Tex: { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 64, offset: 0x60184A8, tlut: 0x6018CA8, symbol: a64Logo7Tex } - -a64Logo7TLUT: { type: TEXTURE, ctype: u16, format: TLUT, colors: 76, offset: 0x6018CA8, symbol: a64Logo7TLUT } - -aTitleGreatFoxDeckDL: { type: GFX, offset: 0x6018D40, symbol: aTitleGreatFoxDeckDL } - -D_TITLE_60195C0: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60195C0, symbol: D_TITLE_60195C0 } - -D_TITLE_6019DC0: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6019DC0, symbol: D_TITLE_6019DC0 } - -D_TITLE_601A5C0: { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x601A5C0, symbol: D_TITLE_601A5C0 } - -D_TITLE_601B5C0: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x601B5C0, symbol: D_TITLE_601B5C0 } - -D_TITLE_601B7C0: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x601B7C0, symbol: D_TITLE_601B7C0 } - -aTitleCsPassageWayWallTex: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x601BFC0, symbol: aTitleCsPassageWayWallTex } - -aTitleGreatFoxDeckLauncherDL: { type: GFX, offset: 0x601C7C0, symbol: aTitleGreatFoxDeckLauncherDL } - -D_TITLE_601CCD0: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x601CCD0, symbol: D_TITLE_601CCD0 } - -D_TITLE_601CED0: { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x601CED0, symbol: D_TITLE_601CED0 } - -D_TITLE_601CF50: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x601CF50, symbol: D_TITLE_601CF50 } - -aNoControllerBgTex: { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x601D750, tlut: 0x601DB50, symbol: aNoControllerBgTex } - -aNoControllerBgTLUT: { type: TEXTURE, ctype: u16, format: TLUT, colors: 8, offset: 0x601DB50, symbol: aNoControllerBgTLUT } - -D_TITLE_601E424: { type: SF64:ANIM, offset: 0x601E424, symbol: D_TITLE_601E424 } - -D_TITLE_601E430: { type: GFX, offset: 0x601E430, symbol: D_TITLE_601E430 } - -D_TITLE_601E720: { type: GFX, offset: 0x601E720, symbol: D_TITLE_601E720 } - -D_TITLE_601EA00: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x601EA00, symbol: D_TITLE_601EA00 } - -D_TITLE_601F200: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x601F200, symbol: D_TITLE_601F200 } - -D_TITLE_601F400: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x601F400, symbol: D_TITLE_601F400 } - -D_TITLE_601F8E0: { type: SF64:ANIM, offset: 0x601F8E0, symbol: D_TITLE_601F8E0 } - -D_TITLE_6020058: { type: SF64:ANIM, offset: 0x6020058, symbol: D_TITLE_6020058 } - -D_TITLE_60214F8: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x60214F8, symbol: D_TITLE_60214F8 } - -D_TITLE_6021D10: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6021D10, symbol: D_TITLE_6021D10 } - -D_TITLE_6021F10: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6021F10, symbol: D_TITLE_6021F10 } - -D_TITLE_6022B40: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6022B40, symbol: D_TITLE_6022B40 } - -D_TITLE_6023340: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6023340, symbol: D_TITLE_6023340 } - -D_TITLE_6023B40: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6023B40, symbol: D_TITLE_6023B40 } - -D_TITLE_6024340: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6024340, symbol: D_TITLE_6024340 } - -D_TITLE_60246F8: { type: SF64:ANIM, offset: 0x60246F8, symbol: D_TITLE_60246F8 } - -D_TITLE_60257A8: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x60257A8, symbol: D_TITLE_60257A8 } - -D_TITLE_60259A8: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x60259A8, symbol: D_TITLE_60259A8 } - -D_TITLE_6025BA8: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6025BA8, symbol: D_TITLE_6025BA8 } - -D_TITLE_6025DA8: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6025DA8, symbol: D_TITLE_6025DA8 } - -D_TITLE_6025FA8: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6025FA8, symbol: D_TITLE_6025FA8 } - -D_TITLE_6026D28: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6026D28, symbol: D_TITLE_6026D28 } - -D_TITLE_6026F28: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6026F28, symbol: D_TITLE_6026F28 } - -D_TITLE_6028508: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6028508, symbol: D_TITLE_6028508 } - -D_TITLE_6028708: { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x6028708, symbol: D_TITLE_6028708 } - -D_TITLE_6028788: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6028788, symbol: D_TITLE_6028788 } - -D_TITLE_6028988: { type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x6028988, symbol: D_TITLE_6028988 } - -D_TITLE_6028A08: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6028A08, symbol: D_TITLE_6028A08 } - -D_TITLE_6028C08: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6028C08, symbol: D_TITLE_6028C08 } - -D_TITLE_6029BE4: { type: SF64:ANIM, offset: 0x6029BE4, symbol: D_TITLE_6029BE4 } - -D_TITLE_602A710: { type: SF64:ANIM, offset: 0x602A710, symbol: D_TITLE_602A710 } - -aTitleGreatFoxDeckPlatformDL: { type: GFX, offset: 0x602A720, symbol: aTitleGreatFoxDeckPlatformDL } - -aTitleCsPassageWayCeilingTex: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x602A8C0, symbol: aTitleCsPassageWayCeilingTex } - -D_TITLE_602B8C0: { type: GFX, offset: 0x602B8C0, symbol: D_TITLE_602B8C0 } - -D_TITLE_602D930: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x602D930, symbol: D_TITLE_602D930 } - -D_TITLE_602DB30: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x602DB30, symbol: D_TITLE_602DB30 } - -D_TITLE_602DD30: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x602DD30, symbol: D_TITLE_602DD30 } - -D_TITLE_602DF30: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x602DF30, symbol: D_TITLE_602DF30 } - -aTitleCsPassageWayDL: { type: GFX, offset: 0x602E380, symbol: aTitleCsPassageWayDL } - -aTitleCsPassageWayFloorTex: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x602E550, symbol: aTitleCsPassageWayFloorTex } - -aFoxRunningAnim: { type: SF64:ANIM, offset: 0x602F8E0, symbol: aFoxRunningAnim } - -aFoxSkel: {type: SF64:SKELETON, offset: 0x602FBAC, symbol: aFoxSkel} - -aFalcoRunningAnim: { type: SF64:ANIM, offset: 0x60305C0, symbol: aFalcoRunningAnim } - -aFalcoSkel: {type: SF64:SKELETON, offset: 0x603088C, symbol: aFalcoSkel} - -aSlippyRunningAnim: { type: SF64:ANIM, offset: 0x6031120, symbol: aSlippyRunningAnim } - -aSlippySkel: {type: SF64:SKELETON, offset: 0x60313AC, symbol: aSlippySkel} - -aPeppyRunningAnim: { type: SF64:ANIM, offset: 0x6031DB8, symbol: aPeppyRunningAnim } - -aPeppySkel: {type: SF64:SKELETON, offset: 0x6032084, symbol: aPeppySkel} - -aTitleArwingEngineGlowDL: { type: GFX, offset: 0x60320E0, symbol: aTitleArwingEngineGlowDL } - -aTitleArwingEngineGlowTex: {type: TEXTURE, ctype: u8, format: IA8, width: 32, height: 32, offset: 0x6032178, symbol: aTitleArwingEngineGlowTex} - -aTitleArwingShadowDL: { type: GFX, offset: 0x6032580, symbol: aTitleArwingShadowDL } - -aTitleArwingShadowTex: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6032608, symbol: aTitleArwingShadowTex } - -aFalcoAnim: { type: SF64:ANIM, offset: 0x60338DC, symbol: aFalcoAnim } - -aFoxAnim: { type: SF64:ANIM, offset: 0x6035024, symbol: aFoxAnim } - -aPeppyAnim: { type: SF64:ANIM, offset: 0x603531C, symbol: aPeppyAnim } - -aSlippyAnim: { type: SF64:ANIM, offset: 0x6036278, symbol: aSlippyAnim } - -D_TITLE_6036290: { type: GFX, offset: 0x6036290, symbol: D_TITLE_6036290 } - -D_TITLE_6036328: { type: TEXTURE, ctype: u16, format: IA16, width: 32, height: 32, offset: 0x6036328, symbol: D_TITLE_6036328 } - -D_TITLE_6036B30: { type: GFX, offset: 0x6036B30, symbol: D_TITLE_6036B30 } - -D_TITLE_6036BC8: { type: TEXTURE, ctype: u16, format: IA16, width: 32, height: 32, offset: 0x6036BC8, symbol: D_TITLE_6036BC8 } - -aPlanetCorneriaDL: { type: GFX, offset: 0x6037CF0, symbol: aPlanetCorneriaDL } - -D_TITLE_60380D0: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x60380D0, symbol: D_TITLE_60380D0} - -D_TITLE_60390D0: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x60390D0, symbol: D_TITLE_60390D0} - -D_TITLE_603A0D0: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x603A0D0, symbol: D_TITLE_603A0D0} - -D_TITLE_603B0D0: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x603B0D0, symbol: D_TITLE_603B0D0} - -D_TITLE_603C0D0: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x603C0D0, symbol: D_TITLE_603C0D0} - -D_TITLE_603D0D0: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x603D0D0, symbol: D_TITLE_603D0D0} - -D_TITLE_603E0D0: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x603E0D0, symbol: D_TITLE_603E0D0} - -D_TITLE_603F0D0: {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x603F0D0, symbol: D_TITLE_603F0D0} - -D_TITLE_60408C0: { type: GFX, offset: 0x60408C0, symbol: D_TITLE_60408C0 } - -aTeamShadowDL: { type: GFX, offset: 0x6041070, symbol: aTeamShadowDL } - -D_TITLE_60410F8: {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60410F8, symbol: D_TITLE_60410F8} - -D_TITLE_6041CF0: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6041CF0, symbol: D_TITLE_6041CF0 } - -D_TITLE_60426E0: { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x60426E0, symbol: D_TITLE_60426E0 } - -D_TITLE_6043F68: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6043F68, symbol: D_TITLE_6043F68 } - -D_TITLE_60456C0: { type: GFX, offset: 0x60456C0, symbol: D_TITLE_60456C0 } - -D_TITLE_6045A28: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x6045A28, symbol: D_TITLE_6045A28} -D_TITLE_6046A28: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x6046A28, symbol: D_TITLE_6046A28} -D_TITLE_6047A28: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x6047A28, symbol: D_TITLE_6047A28} -D_TITLE_6048A28: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x6048A28, symbol: D_TITLE_6048A28} -D_TITLE_6049A28: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x6049A28, symbol: D_TITLE_6049A28} -D_TITLE_604AA28: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x604AA28, symbol: D_TITLE_604AA28} -D_TITLE_604BA28: { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x604BA28, symbol: D_TITLE_604BA28} \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_training.yaml b/assets/yaml/jp/rev0/ast_training.yaml deleted file mode 100644 index 4fda0b1c..00000000 --- a/assets/yaml/jp/rev0/ast_training.yaml +++ /dev/null @@ -1,88 +0,0 @@ -:config: - segments: - - [0x6, 0xD9FDD0] - header: - code: - - '#include "assets/ast_training.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - - '#include "sf64mesg.h"' - -D_TR_6000000: - { type: TEXTURE, format: IA8, offset: 0x6000000, width: 96, height: 12, ctype: u8, symbol: D_TR_6000000 } - -D_TR_6000480: - { type: TEXTURE, format: IA8, offset: 0x6000480, width: 96, height: 12, ctype: u8, symbol: D_TR_6000480 } - -D_TR_6000900: - { type: TEXTURE, format: RGBA16, offset: 0x6000900, width: 44, height: 44, ctype: u16, symbol: D_TR_6000900 } - -D_TR_6001820: - { type: TEXTURE, format: RGBA16, offset: 0x6001820, width: 44, height: 44, ctype: u16, symbol: D_TR_6001820 } - -aTrBarrierDL: - { type: GFX, offset: 0x6002740, symbol: aTrBarrierDL } - -D_TR_60028F0: - { type: TEXTURE, format: RGBA16, offset: 0x060028F0, width: 32, height: 32, ctype: u16, symbol: D_TR_60028F0 } - -aTrBuildingDL: - { type: GFX, offset: 0x60030F0, symbol: aTrBuildingDL } - -D_TR_6003360: - { type: TEXTURE, format: RGBA16, offset: 0x06003360, width: 16, height: 16, ctype: u16, symbol: D_TR_6003360 } - -D_TR_6003560: - { type: TEXTURE, format: RGBA16, offset: 0x06003560, width: 16, height: 16, ctype: u16, symbol: D_TR_6003560 } - -D_TR_6003760: - { type: GFX, offset: 0x6003760, symbol: D_TR_6003760 } - -D_TR_6003878: - { type: TEXTURE, format: RGBA16, offset: 0x06003878, width: 64, height: 32, ctype: u16, symbol: D_TR_6003878 } - -D_TR_6004878: - { type: TEXTURE, format: RGBA16, offset: 0x06004878, width: 64, height: 32, ctype: u16, symbol: D_TR_6004878 } - -D_TR_6005880: - { type: GFX, offset: 0x6005880, symbol: D_TR_6005880 } - -D_TR_6005938: - { type: TEXTURE, format: RGBA16, offset: 0x06005938, width: 32, height: 32, ctype: u16, symbol: D_TR_6005938 } - -aItemTrainingRingDL: - { type: GFX, offset: 0x6006140, symbol: aItemTrainingRingDL } - -D_TR_6006958: - { type: TEXTURE, format: RGBA16, offset: 0x06006958, width: 8, height: 8, ctype: u16, symbol: D_TR_6006958 } - -D_TR_60069D8: - { type: TEXTURE, format: RGBA16, offset: 0x060069D8, width: 8, height: 8, ctype: u16, symbol: D_TR_60069D8 } - -D_TR_6006A60: - { type: SF64:ENVIRONMENT, offset: 0x6006A60, symbol: D_TR_6006A60 } - -D_TR_6006AA4: - { type: SF64:OBJECT_INIT, offset: 0x6006AA4, symbol: D_TR_6006AA4 } - -D_TR_6008EF8: - { type: SF64:OBJECT_INIT, offset: 0x6008EF8, symbol: D_TR_6008EF8 } - -D_TR_6009B34: - { type: SF64:SCRIPT, offset: 0x6009B34, symbol: D_TR_6009B34 } - -aTrBuildingHitbox: - { type: SF64:HITBOX, offset: 0x6009CC4, symbol: aTrBuildingHitbox } - -aItemTrainingRingHitbox: - { type: SF64:HITBOX, offset: 0x6009CFC, symbol: aItemTrainingRingHitbox } - -aTrBarrierHitbox: - { type: SF64:HITBOX, offset: 0x6009D18, symbol: aTrBarrierHitbox } - -# size = 0x9D40 \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_ve1_boss.yaml b/assets/yaml/jp/rev0/ast_ve1_boss.yaml deleted file mode 100644 index ff054630..00000000 --- a/assets/yaml/jp/rev0/ast_ve1_boss.yaml +++ /dev/null @@ -1,243 +0,0 @@ -:config: - segments: - - [0x09, 0xAB36F0] - header: - code: - - '#include "assets/ast_ve1_boss.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -D_VE1_9000000: - {type: GFX, offset: 0x9000000, symbol: D_VE1_9000000} - -D_VE1_90003E8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x90003E8, symbol: D_VE1_90003E8} - -D_VE1_90005E8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x90005E8, symbol: D_VE1_90005E8} - -D_VE1_90007F0: - {type: GFX, offset: 0x90007F0, symbol: D_VE1_90007F0} - -D_VE1_9000AF0: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x9000AF0, symbol: D_VE1_9000AF0} - -D_VE1_90012F0: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x90012F0, symbol: D_VE1_90012F0} - -D_VE1_9002CD8: - {type: SF64:ANIM, offset: 0x9002CD8, symbol: D_VE1_9002CD8} - -aVe1BlockerDL: - {type: GFX, offset: 0x9002CF0, symbol: aVe1BlockerDL} - -D_VE1_9002F30: - {type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x9002F30, symbol: D_VE1_9002F30, tlut: 0x9003330} - -D_VE1_9003330: - {type: TEXTURE, ctype: u16, format: TLUT, colors: 176, offset: 0x9003330, symbol: D_VE1_9003330} - -D_VE1_9003490: - {type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x9003490, symbol: D_VE1_9003490, tlut: 0x9003890} - -D_VE1_9003890: - {type: TEXTURE, ctype: u16, format: TLUT, colors: 176, offset: 0x9003890, symbol: D_VE1_9003890} - -D_VE1_90039F0: - {type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x90039F0, symbol: D_VE1_90039F0, tlut: 0x9003DF0} - -D_VE1_9003DF0: - {type: TEXTURE, ctype: u16, format: TLUT, colors: 176, offset: 0x9003DF0, symbol: D_VE1_9003DF0} - -aVe1TempleInterior1DL: - {type: GFX, offset: 0x9003F50, symbol: aVe1TempleInterior1DL} - -D_VE1_9004478: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 32, offset: 0x9004478, symbol: D_VE1_9004478} - -D_VE1_9004878: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x9004878, symbol: D_VE1_9004878} - -D_VE1_9005078: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 32, offset: 0x9005078, symbol: D_VE1_9005078} - -D_VE1_9005478: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x9005478, symbol: D_VE1_9005478} - -aVe1TempleEntranceDL: - {type: GFX, offset: 0x9005C80, symbol: aVe1TempleEntranceDL} - -D_VE1_9009700: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x9009700, symbol: D_VE1_9009700} - -D_VE1_9009F00: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 32, offset: 0x9009F00, symbol: D_VE1_9009F00} - -D_VE1_900A300: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x900A300, symbol: D_VE1_900A300} - -D_VE1_900AB00: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 32, offset: 0x900AB00, symbol: D_VE1_900AB00} - -D_VE1_900AF00: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x900AF00, symbol: D_VE1_900AF00} - -D_VE1_900B700: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x900B700, symbol: D_VE1_900B700} - -D_VE1_900BF00: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x900BF00, symbol: D_VE1_900BF00} - -D_VE1_900C700: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x900C700, symbol: D_VE1_900C700} - -aVe1MonkeyStatueAnim: - {type: SF64:ANIM, offset: 0x900D098, symbol: aVe1MonkeyStatueAnim} - -aVe1MonkeyStatueSkel: - {type: SF64:SKELETON, offset: 0x900D164, symbol: aVe1MonkeyStatueSkel} - -D_VE1_900D180: - {type: GFX, offset: 0x900D180, symbol: D_VE1_900D180} - -D_VE1_900D520: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x900D520, symbol: D_VE1_900D520} - -aVe1Pillar1DL: - {type: GFX, offset: 0x900DD20, symbol: aVe1Pillar1DL} - -D_VE1_900DF20: - {type: GFX, offset: 0x900DF20, symbol: D_VE1_900DF20} - -D_VE1_900DFB8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x900DFB8, symbol: D_VE1_900DFB8} - -aVe1TempleBgDL: - {type: GFX, offset: 0x900EFC0, symbol: aVe1TempleBgDL} - -aVe1TempleInterior2DL: - {type: GFX, offset: 0x900F060, symbol: aVe1TempleInterior2DL} - -aVe1TempleInterior3DL: - {type: GFX, offset: 0x900F1D0, symbol: aVe1TempleInterior3DL} - -D_VE1_9010FC4: - {type: SF64:ANIM, offset: 0x9010FC4, symbol: D_VE1_9010FC4} - -D_VE1_9010FD0: - {type: GFX, offset: 0x9010FD0, symbol: D_VE1_9010FD0} - -aVe1PillarDL: - {type: GFX, offset: 0x9011200, symbol: aVe1PillarDL} - -D_VE1_9011980: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x9011980, symbol: D_VE1_9011980} - -aVe1Pillar5DL: - {type: GFX, offset: 0x9012180, symbol: aVe1Pillar5DL} - -D_VE1_90123C0: - {type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 16, offset: 0x90123C0, symbol: D_VE1_90123C0, tlut: 0x90125C0} - -D_VE1_90125C0: - {type: TEXTURE, ctype: u16, format: TLUT, colors: 160, offset: 0x90125C0, symbol: D_VE1_90125C0} - -D_VE1_9013880: - {type: GFX, offset: 0x9013880, symbol: D_VE1_9013880} - -D_VE1_9013C20: - {type: GFX, offset: 0x9013C20, symbol: D_VE1_9013C20} - -D_VE1_9014DF0: - {type: GFX, offset: 0x9014DF0, symbol: D_VE1_9014DF0} - -D_VE1_90150A0: - {type: GFX, offset: 0x90150A0, symbol: D_VE1_90150A0} - -D_VE1_9015480: - {type: GFX, offset: 0x9015480, symbol: D_VE1_9015480} - -D_VE1_9015900: - {type: GFX, offset: 0x9015900, symbol: D_VE1_9015900} - -D_VE1_9015BB0: - {type: GFX, offset: 0x9015BB0, symbol: D_VE1_9015BB0} - -D_VE1_9018BD0: - {type: SF64:ANIM, offset: 0x9018BD0, symbol: D_VE1_9018BD0} - -D_VE1_901A4B8: - {type: SF64:ANIM, offset: 0x901A4B8, symbol: D_VE1_901A4B8} - -D_VE1_901BDA8: - {type: SF64:ANIM, offset: 0x901BDA8, symbol: D_VE1_901BDA8} - -D_VE1_901C0F4: - {type: SF64:SKELETON, offset: 0x901C0F4, symbol: D_VE1_901C0F4} - -D_VE1_901DA38: - {type: SF64:ANIM, offset: 0x901DA38, symbol: D_VE1_901DA38} - -aVe1Pillar3DL: - {type: GFX, offset: 0x901DA50, symbol: aVe1Pillar3DL} - -D_VE1_901DC90: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 32, offset: 0x901DC90, symbol: D_VE1_901DC90} - -D_VE1_901E350: - {type: GFX, offset: 0x901E350, symbol: D_VE1_901E350} - -D_VE1_901F6D0: - {type: GFX, offset: 0x901F6D0, symbol: D_VE1_901F6D0} - -D_VE1_901F990: - {type: GFX, offset: 0x901F990, symbol: D_VE1_901F990} - -D_VE1_901FC40: - {type: GFX, offset: 0x901FC40, symbol: D_VE1_901FC40} - -D_VE1_901FFB0: - {type: GFX, offset: 0x901FFB0, symbol: D_VE1_901FFB0} - -D_VE1_9020E30: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x9020E30, symbol: D_VE1_9020E30} - -D_VE1_9021630: - {type: GFX, offset: 0x9021630, symbol: D_VE1_9021630} - -D_VE1_9021900: - {type: GFX, offset: 0x9021900, symbol: D_VE1_9021900} - -D_VE1_9021B80: - {type: GFX, offset: 0x9021B80, symbol: D_VE1_9021B80} - -D_VE1_9022820: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x9022820, symbol: D_VE1_9022820} - -D_VE1_9022A20: - {type: GFX, offset: 0x9022A20, symbol: D_VE1_9022A20} - -D_VE1_9022D80: - {type: GFX, offset: 0x9022D80, symbol: D_VE1_9022D80} - -D_VE1_9023290: - {type: GFX, offset: 0x9023290, symbol: D_VE1_9023290} - -D_VE1_90234D0: - {type: GFX, offset: 0x90234D0, symbol: D_VE1_90234D0} - -D_VE1_9023880: - {type: GFX, offset: 0x9023880, symbol: D_VE1_9023880} - -aVe1Pillar4DL: - {type: GFX, offset: 0x9023AD0, symbol: aVe1Pillar4DL} - -D_VE1_9024738: - {type: SF64:ANIM, offset: 0x9024738, symbol: D_VE1_9024738} - -D_VE1_9024750: - {type: GFX, offset: 0x9024750, symbol: D_VE1_9024750} - -D_VE1_9024940: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 4, height: 4, offset: 0x9024940, symbol: D_VE1_9024940} diff --git a/assets/yaml/jp/rev0/ast_venom_1.yaml b/assets/yaml/jp/rev0/ast_venom_1.yaml deleted file mode 100644 index 80b6e931..00000000 --- a/assets/yaml/jp/rev0/ast_venom_1.yaml +++ /dev/null @@ -1,182 +0,0 @@ -:config: - segments: - - [0x6, 0xA84390] - header: - code: - - '#include "assets/ast_venom_1.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - - '#include "sf64mesg.h"' - -D_VE1_6000000: - { type: TEXTURE, format: IA8, width: 96, height: 28, offset: 0x6000000, ctype: u8, symbol: D_VE1_6000000 } - -D_VE1_6000A80: - { type: TEXTURE, format: IA8, width: 40, height: 19, offset: 0x6000A80, ctype: u8, symbol: D_VE1_6000A80 } - -aVe1TitleCardTex: - { type: TEXTURE, format: IA8, width: 128, height: 28, offset: 0x6000D80, ctype: u8, symbol: aVe1TitleCardTex } - -D_VE1_6001B80: - { type: TEXTURE, format: IA8, width: 128, height: 19, offset: 0x6001B80, ctype: u8, symbol: D_VE1_6001B80 } - -aVe1EnemyGateDL: - { type: GFX, offset: 0x6002500, symbol: aVe1EnemyGateDL } - -D_VE1_60029F8: - { type: TEXTURE, format: CI8, width: 8, height: 16, offset: 0x60029F8, tlut: 0x6002A78, ctype: u8, symbol: D_VE1_60029F8 } - -D_VE1_6002A78: - { type: TEXTURE, format: TLUT, colors: 24, offset: 0x6002A78, ctype: u16, symbol: D_VE1_6002A78 } - -D_VE1_6002AA8: - { type: TEXTURE, format: CI8, width: 32, height: 32, offset: 0x6002AA8, tlut: 0x6002EA8, ctype: u8, symbol: D_VE1_6002AA8 } - -D_VE1_6002EA8: - { type: TEXTURE, format: TLUT, colors: 232, offset: 0x6002EA8, ctype: u16, symbol: D_VE1_6002EA8 } - -D_VE1_6003078: - { type: TEXTURE, format: CI8, width: 32, height: 32, offset: 0x6003078, tlut: 0x6003478, ctype: u8, symbol: D_VE1_6003078 } - -D_VE1_6003478: - { type: TEXTURE, format: TLUT, colors: 204, offset: 0x6003478, ctype: u16, symbol: D_VE1_6003478 } - -aVe1WatchPostDL: - { type: GFX, offset: 0x6003610, symbol: aVe1WatchPostDL } - -D_VE1_6003B10: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6003B10, ctype: u16, symbol: D_VE1_6003B10 } - -aVe1EnemyGateDoorLeftDL: - { type: GFX, offset: 0x6004310, symbol: aVe1EnemyGateDoorLeftDL } - -aVe1EnemyGateDoorRightDL: - { type: GFX, offset: 0x60043F0, symbol: aVe1EnemyGateDoorRightDL } - -D_VE1_60044D0: - { type: TEXTURE, format: CI8, width: 16, height: 16, offset: 0x60044D0, tlut: 0x60045D0, ctype: u8, symbol: D_VE1_60044D0 } - -D_VE1_60045D0: - { type: TEXTURE, format: TLUT, colors: 144, offset: 0x60045D0, ctype: u16, symbol: D_VE1_60045D0 } - -D_VE1_60046F0: - { type: GFX, offset: 0x60046F0, symbol: D_VE1_60046F0 } - -D_VE1_6004780: - { type: TEXTURE, format: RGBA16, width: 64, height: 32, offset: 0x6004780, ctype: u16, symbol: D_VE1_6004780 } - -aVe1GeneratorDL: - { type: GFX, offset: 0x6005780, symbol: aVe1GeneratorDL } - -D_VE1_6005E50: - { type: TEXTURE, format: TLUT, colors: 160, offset: 0x6005E50, ctype: u16, symbol: D_VE1_6005E50 } - -D_VE1_6005D50: - { type: TEXTURE, format: CI8, width: 16, height: 16, offset: 0x6005D50, tlut: 0x6005E50, ctype: u8, symbol: D_VE1_6005D50 } - -D_VE1_6005F90: - { type: TEXTURE, format: CI8, width: 32, height: 32, offset: 0x6005F90, tlut: 0x6006390, ctype: u8, symbol: D_VE1_6005F90 } - -D_VE1_6006390: - { type: TEXTURE, format: TLUT, colors: 208, offset: 0x6006390, ctype: u16, symbol: D_VE1_6006390 } - -D_VE1_6006530: - { type: TEXTURE, format: CI8, width: 16, height: 16, offset: 0x6006530, ctype: u8, symbol: D_VE1_6006530 } - -D_VE1_6006630: - { type: TEXTURE, format: TLUT, colors: 80, offset: 0x6006630, ctype: u16, symbol: D_VE1_6006630 } - -D_VE1_60066D0: - { type: GFX, offset: 0x60066D0, symbol: D_VE1_60066D0 } - -D_VE1_6006750: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6006750, ctype: u16, symbol: D_VE1_6006750 } - -aVe1HallwayObstacleDL: - { type: GFX, offset: 0x6006F50, symbol: aVe1HallwayObstacleDL } - -aVe1SceneryWall3DL: - { type: GFX, offset: 0x6007410, symbol: aVe1SceneryWall3DL } - -D_VE1_60074E8: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x60074E8, ctype: u16, symbol: D_VE1_60074E8 } - -aVe1Wall2DL: - { type: GFX, offset: 0x6007CF0, symbol: aVe1Wall2DL } - -aVe1Wall1DL: - { type: GFX, offset: 0x6007D90, symbol: aVe1Wall1DL } - -D_VE1_6007E30: - { type: SF64:ENVIRONMENT, offset: 0x6007E30, symbol: D_VE1_6007E30 } - -D_VE1_6007E74: - { type: SF64:OBJECT_INIT, offset: 0x6007E74, symbol: D_VE1_6007E74 } - -D_VE1_601B1E4: - { type: SF64:SCRIPT, offset: 0x601B1E4, symbol: D_VE1_601B1E4 } - -D_VE1_6010088: - { type: SF64:OBJECT_INIT, offset: 0x6010088, symbol: D_VE1_6010088 } - -aVe1Pillar5Hitbox: - { type: SF64:HITBOX, offset: 0x601B43C, symbol: aVe1Pillar5Hitbox } - -D_VE1_601B474: - { type: SF64:HITBOX, offset: 0x601B474, symbol: D_VE1_601B474 } - -D_VE1_601B4C4: - { type: SF64:HITBOX, offset: 0x601B4C4, symbol: D_VE1_601B4C4 } - -Ve1Wall1Hitbox: - { type: SF64:HITBOX, offset: 0x601B4E0, symbol: Ve1Wall1Hitbox } - -aVe1Wall2Hitbox: - { type: SF64:HITBOX, offset: 0x601B4FC, symbol: aVe1Wall2Hitbox } - -aVe1SceneryWall3Hitbox: - { type: SF64:HITBOX, offset: 0x601B518, symbol: aVe1SceneryWall3Hitbox } - -aVe1HallwayObstacleHitbox: - { type: SF64:HITBOX, offset: 0x601B584, symbol: aVe1HallwayObstacleHitbox } - -aVe1GeneratorHitbox: - { type: SF64:HITBOX, offset: 0x601B5F4, symbol: aVe1GeneratorHitbox } - -aVe1WatchPostHitbox: - { type: SF64:HITBOX, offset: 0x601B644, symbol: aVe1WatchPostHitbox } - -aVe1TempleEntranceHitbox: - { type: SF64:HITBOX, offset: 0x601B678, symbol: aVe1TempleEntranceHitbox } - -aVe1TempleInterior1Hitbox: - { type: SF64:HITBOX, offset: 0x601B6C4, symbol: aVe1TempleInterior1Hitbox } - -aVe1TempleInterior2Hitbox: - { type: SF64:HITBOX, offset: 0x601B710, symbol: aVe1TempleInterior2Hitbox } - -aVe1TempleInterior3Hitbox: - { type: SF64:HITBOX, offset: 0x601B75C, symbol: aVe1TempleInterior3Hitbox } - -aVe1Pillar1Hitbox: - { type: SF64:HITBOX, offset: 0x601B7F8, symbol: aVe1Pillar1Hitbox } - -aVe1Pillar2Hitbox: - { type: SF64:HITBOX, offset: 0x601B830, symbol: aVe1Pillar2Hitbox } - -aVe1Pillar3Hitbox: - { type: SF64:HITBOX, offset: 0x601B868, symbol: aVe1Pillar3Hitbox } - -aVe1Pillar4Hitbox: - { type: SF64:HITBOX, offset: 0x601B8A0, symbol: aVe1Pillar4Hitbox } - -aVe1MonkeyStatueHitbox: - { type: SF64:HITBOX, offset: 0x601B8D8, symbol: aVe1MonkeyStatueHitbox } - -aVe1EnemyGateHitbox: - { type: SF64:HITBOX, offset: 0x601B944, symbol: aVe1EnemyGateHitbox } \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_venom_2.yaml b/assets/yaml/jp/rev0/ast_venom_2.yaml deleted file mode 100644 index 41871152..00000000 --- a/assets/yaml/jp/rev0/ast_venom_2.yaml +++ /dev/null @@ -1,205 +0,0 @@ -:config: - segments: - - [0x6, 0xA9E570] - header: - code: - - '#include "assets/ast_venom_2.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - -D_VE2_6000000: - { type: TEXTURE, format: IA8, width: 96, height: 28, offset: 0x6000000, ctype: u8, symbol: D_VE2_6000000 } - -D_VE2_6000A80: - { type: TEXTURE, format: IA8, width: 112, height: 19, offset: 0x6000A80, ctype: u8, symbol: D_VE2_6000A80 } - -aVe2TitleCardTex: - { type: TEXTURE, format: IA8, width: 128, height: 28, offset: 0x60012D0, ctype: u8, symbol: aVe2TitleCardTex } - -D_VE2_60020D0: - { type: TEXTURE, format: IA8, width: 104, height: 19, offset: 0x60020D0, ctype: u8, symbol: D_VE2_60020D0 } - -D_VE2_6002890: - { type: TEXTURE, format: IA8, width: 16, height: 16, offset: 0x6002890, ctype: u8, symbol: D_VE2_6002890 } - -aAndPathExitDL: - { type: GFX, offset: 0x6002990, symbol: aAndPathExitDL } - -aAndPathIntersectionDL: - { type: GFX, offset: 0x6003000, symbol: aAndPathIntersectionDL } - -D_VE2_60038E0: - { type: GFX, offset: 0x60038E0, symbol: D_VE2_60038E0 } - -D_VE2_6003970: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6003970, ctype: u16, symbol: D_VE2_6003970 } - -aAndPathEntranceDL: - { type: GFX, offset: 0x6004170, symbol: aAndPathEntranceDL } - -D_VE2_6004888: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6004888, ctype: u16, symbol: D_VE2_6004888 } - -D_VE2_6005088: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6005088, ctype: u16, symbol: D_VE2_6005088 } - -D_VE2_6005888: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6005888, ctype: u16, symbol: D_VE2_6005888 } - -D_VE2_6006088: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6006088, ctype: u16, symbol: D_VE2_6006088 } - -D_VE2_60030D8: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x60030D8, ctype: u16, symbol: D_VE2_60030D8 } - -aAndPathWallsDL: - { type: GFX, offset: 0x6006890, symbol: aAndPathWallsDL } - -D_VE2_6006E20: - { type: GFX, offset: 0x6006E20, symbol: D_VE2_6006E20 } - -D_VE2_6007650: - { type: GFX, offset: 0x6007650, symbol: D_VE2_6007650 } - -aAndLaserEmitterDL: - { type: GFX, offset: 0x6007E20, symbol: aAndLaserEmitterDL } - -D_VE2_6008170: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x6008170, ctype: u16, symbol: D_VE2_6008170 } - -aVe2TowerDL: - { type: GFX, offset: 0x6008370, symbol: aVe2TowerDL } - -D_VE2_6008AF8: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6008AF8, ctype: u16, symbol: D_VE2_6008AF8 } - -aAndBrainWasteDL: - { type: GFX, offset: 0x6009300, symbol: aAndBrainWasteDL } - -D_VE2_6009390: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6009390, ctype: u16, symbol: D_VE2_6009390 } - -D_VE2_6009B90: - { type: GFX, offset: 0x6009B90, symbol: D_VE2_6009B90 } - -D_VE2_6009E80: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6009E80, ctype: u16, symbol: D_VE2_6009E80 } - -D_VE2_600A680: - { type: GFX, offset: 0x600A680, symbol: D_VE2_600A680 } - -D_VE2_600B708: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x600B708, ctype: u16, symbol: D_VE2_600B708 } - -D_VE2_600C038: - { type: SF64:ANIM, offset: 0x600C038, symbol: D_VE2_600C038 } - -D_VE2_600C0A4: - { type: SF64:SKELETON, offset: 0x600C0A4, symbol: D_VE2_600C0A4 } - -D_VE2_600C200: - { type: SF64:ANIM, offset: 0x600C200, symbol: D_VE2_600C200 } - -D_VE2_600C2AC: - { type: SF64:SKELETON, offset: 0x600C2AC, symbol: D_VE2_600C2AC } - -D_VE2_600C2D0: - { type: GFX, offset: 0x600C2D0, symbol: D_VE2_600C2D0 } - -D_VE2_600C360: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x600C360, ctype: u16, symbol: D_VE2_600C360 } - -D_VE2_600C560: - { type: GFX, offset: 0x600C560, symbol: D_VE2_600C560 } - -D_VE2_600C5F0: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x600C5F0, ctype: u16, symbol: D_VE2_600C5F0 } - -D_VE2_600C7F0: - { type: GFX, offset: 0x600C7F0, symbol: D_VE2_600C7F0 } - -D_VE2_600C8F0: - { type: GFX, offset: 0x600C8F0, symbol: D_VE2_600C8F0 } - -D_VE2_600CA50: - { type: GFX, offset: 0x600CA50, symbol: D_VE2_600CA50 } - -D_VE2_600CBB0: - { type: GFX, offset: 0x600CBB0, symbol: D_VE2_600CBB0 } - -D_VE2_600D7F0: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x600D7F0, ctype: u16, symbol: D_VE2_600D7F0 } - -D_VE2_600DFF0: - { type: GFX, offset: 0x600DFF0, symbol: D_VE2_600DFF0 } - -D_VE2_600E3E0: - { type: GFX, offset: 0x600E3E0, symbol: D_VE2_600E3E0 } - -D_VE2_600E780: - { type: GFX, offset: 0x600E780, symbol: D_VE2_600E780 } - -D_VE2_600EB40: - { type: GFX, offset: 0x600EB40, symbol: D_VE2_600EB40 } - -D_VE2_600EEF0: - { type: GFX, offset: 0x600EEF0, symbol: D_VE2_600EEF0 } - -D_VE2_600F290: - { type: GFX, offset: 0x600F290, symbol: D_VE2_600F290 } - -D_VE2_600F670: - { type: GFX, offset: 0x600F670, symbol: D_VE2_600F670 } - -D_VE2_600F700: - { type: TEXTURE, format: RGBA16, width: 64, height: 32, offset: 0x600F700, ctype: u16, symbol: D_VE2_600F700 } - -D_VE2_6010700: - { type: GFX, offset: 0x6010700, symbol: D_VE2_6010700 } - -aVe2MountainDL: - { type: GFX, offset: 0x6010960, symbol: aVe2MountainDL } - -D_VE2_6010CA0: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x6010CA0, ctype: u16, symbol: D_VE2_6010CA0 } - -D_VE2_60114A0: - { type: TEXTURE, format: RGBA16, width: 32, height: 32, offset: 0x60114A0, ctype: u16, symbol: D_VE2_60114A0 } - -D_VE2_6013AF8: - { type: TEXTURE, format: RGBA16, width: 16, height: 16, offset: 0x6013AF8, ctype: u16, symbol: D_VE2_6013AF8 } - -aVe2AndrossGateAnim: - { type: SF64:ANIM, offset: 0x6014658, symbol: aVe2AndrossGateAnim } - -aVe2AndrossGateSkel: - { type: SF64:SKELETON, offset: 0x6014844, symbol: aVe2AndrossGateSkel } - -aVe2BaseAnim: - { type: SF64:ANIM, offset: 0x6014904, symbol: aVe2BaseAnim } - -aVe2BaseSkel: - { type: SF64:SKELETON, offset: 0x60149D0, symbol: aVe2BaseSkel } - -D_VE2_6014D50: - { type: SF64:ENVIRONMENT, offset: 0x6014D50, symbol: D_VE2_6014D50 } - -D_VE2_6014D94: - { type: SF64:OBJECT_INIT, offset: 0x6014D94, symbol: D_VE2_6014D94 } - -D_VE2_6014FEC: - { type: SF64:COLPOLY, count: 250, offset: 0x6014FEC, symbol: D_VE2_6014FEC, mesh_symbol: D_VE2_OFFSET } - -aVe2TowerHitbox: - { type: SF64:HITBOX, offset: 0x601668C, symbol: aVe2TowerHitbox } - -aVe2BaseHitbox: - { type: SF64:HITBOX, offset: 0x60166F4, symbol: aVe2BaseHitbox } - -aVe2MountainHitbox: - { type: SF64:HITBOX, offset: 0x6016714, symbol: aVe2MountainHitbox } \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_versus.yaml b/assets/yaml/jp/rev0/ast_versus.yaml deleted file mode 100644 index fc8a060e..00000000 --- a/assets/yaml/jp/rev0/ast_versus.yaml +++ /dev/null @@ -1,762 +0,0 @@ -:config: - segments: - - [0x03, 0x8B8E00] - header: - code: - - '#include "assets/ast_versus.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - - '#include "sf64mesg.h"' - -D_versus_3000000: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x3000000, symbol: D_versus_3000000, tlut: 0x3000080 } -D_versus_3000080: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x3000080, symbol: D_versus_3000080 } - -D_versus_30000A0: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x30000A0, symbol: D_versus_30000A0, tlut: 0x30000A0 } -D_versus_3000120: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x3000120, symbol: D_versus_3000120 } - -D_versus_3000140: - { type: TEXTURE, ctype: u8, format: CI4, width: 16, height: 16, offset: 0x3000140, symbol: D_versus_3000140, tlut: 0x30001C0 } -D_versus_30001C0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x30001C0, symbol: D_versus_30001C0 } - -D_versus_30001E0: - { type: TEXTURE, ctype: u8, format: CI4, width: 64, height: 13, offset: 0x30001E0, symbol: D_versus_30001E0, tlut: 0x3000380 } -D_versus_3000380: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x3000380, symbol: D_versus_3000380 } - -D_versus_30003A0: - { type: TEXTURE, ctype: u8, format: CI4, width: 64, height: 10, offset: 0x30003A0, symbol: D_versus_30003A0, tlut: 0x30004E0 } -D_versus_30004E0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x30004E0, symbol: D_versus_30004E0 } - -BLOB_3000500: - { type: BLOB, size: 0x10, offset: 0x3000500, symbol: BLOB_3000500} # 17th color for D_versus_30004E0? - -D_versus_3000510: - { type: TEXTURE, ctype: u8, format: CI4, width: 80, height: 10, offset: 0x3000510, symbol: D_versus_3000510, tlut: 0x30006A0 } -D_versus_30006A0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x30006A0, symbol: D_versus_30006A0 } - -BLOB_30006C0: - { type: BLOB, size: 0x10, offset: 0x30006C0, symbol: BLOB_30006C0} # 17th color for D_versus_30006A0? - -D_versus_30006D0: - { type: TEXTURE, ctype: u8, format: CI4, width: 64, height: 10, offset: 0x30006D0, symbol: D_versus_30006D0, tlut: 0x3000810 } -D_versus_3000810: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x3000810, symbol: D_versus_3000810 } - -BLOB_3000830: - { type: BLOB, size: 0x10, offset: 0x3000830, symbol: BLOB_3000830} # 17th color for D_versus_3000810? - -D_versus_3000840: - { type: TEXTURE, ctype: u8, format: CI4, width: 32, height: 10, offset: 0x3000840, symbol: D_versus_3000840, tlut: 0x30008E0 } -D_versus_30008E0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x30008E0, symbol: D_versus_30008E0 } - -D_versus_3000900: - { type: TEXTURE, ctype: u8, format: CI4, width: 32, height: 15, offset: 0x3000900, symbol: D_versus_3000900, tlut: 0x30009F0 } -D_versus_30009F0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x30009F0, symbol: D_versus_30009F0 } - -D_versus_3000A10: - { type: TEXTURE, ctype: u8, format: CI4, width: 32, height: 15, offset: 0x3000A10, symbol: D_versus_3000A10, tlut: 0x3000B00 } -D_versus_3000B00: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x3000B00, symbol: D_versus_3000B00 } - -aVsBoostGaugeFrameTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 32, height: 5, offset: 0x3000B20, symbol: aVsBoostGaugeFrameTex } - -aVsShieldGaugeFrameTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 80, height: 26, offset: 0x3000BC0, symbol: aVsShieldGaugeFrameTex } - -aVsStarTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x30013E0, symbol: aVsStarTex } - -D_versus_3001420: - { type: TEXTURE, ctype: u8, format: CI8, width: 256, height: 42, offset: 0x3001420, symbol: D_versus_3001420, tlut: 0x3003E20 } -D_versus_3003E20: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 248, offset: 0x3003E20, symbol: D_versus_3003E20 } - -D_versus_3004010: - { type: TEXTURE, ctype: u8, format: CI8, width: 136, height: 25, offset: 0x3004010, symbol: D_versus_3004010, tlut: 0x3004D58 } -D_versus_3004D58: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 256, offset: 0x3004D58, symbol: D_versus_3004D58 } - -D_versus_3004F60: - { type: TEXTURE, ctype: u8, format: CI8, width: 152, height: 25, offset: 0x3004F60, symbol: D_versus_3004F60, tlut: 0x3005E38 } -D_versus_3005E38: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 256, offset: 0x3005E38, symbol: D_versus_3005E38 } - -D_versus_3006040: - { type: TEXTURE, ctype: u8, format: CI8, width: 104, height: 25, offset: 0x3006040, symbol: D_versus_3006040, tlut: 0x3006A68 } -D_versus_3006A68: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 248, offset: 0x3006A68, symbol: D_versus_3006A68 } - -D_versus_3006C60: - { type: TEXTURE, ctype: u8, format: CI8, width: 96, height: 23, offset: 0x3006C60, symbol: D_versus_3006C60, tlut: 0x3007500 } -D_versus_3007500: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 224, offset: 0x3007500, symbol: D_versus_3007500 } - -D_versus_30076C0: - { type: TEXTURE, ctype: u8, format: CI8, width: 152, height: 25, offset: 0x30076C0, symbol: D_versus_30076C0, tlut: 0x3008598 } -D_versus_3008598: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 256, offset: 0x3008598, symbol: D_versus_3008598 } - -D_versus_30087A0: - { type: TEXTURE, ctype: u8, format: CI8, width: 40, height: 40, offset: 0x30087A0, symbol: D_versus_30087A0, tlut: 0x3008DE0 } -D_versus_3008DE0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 112, offset: 0x3008DE0, symbol: D_versus_3008DE0 } - -D_versus_3008EC0: - { type: TEXTURE, ctype: u8, format: CI8, width: 64, height: 40, offset: 0x3008EC0, symbol: D_versus_3008EC0, tlut: 0x30098C0 } -D_versus_30098C0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 104, offset: 0x30098C0, symbol: D_versus_30098C0 } - -D_versus_3009990: - { type: TEXTURE, ctype: u8, format: CI8, width: 64, height: 40, offset: 0x3009990, symbol: D_versus_3009990, tlut: 0x300A390 } -D_versus_300A390: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 112, offset: 0x300A390, symbol: D_versus_300A390 } - -D_versus_300A470: - { type: TEXTURE, ctype: u8, format: CI8, width: 152, height: 23, offset: 0x300A470, symbol: D_versus_300A470, tlut: 0x300B218 } -D_versus_300B218: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 232, offset: 0x300B218, symbol: D_versus_300B218 } - -D_versus_300B3F0: - { type: TEXTURE, ctype: u8, format: CI8, width: 168, height: 25, offset: 0x300B3F0, symbol: D_versus_300B3F0, tlut: 0x300C458 } -D_versus_300C458: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 256, offset: 0x300C458, symbol: D_versus_300C458 } - -D_versus_300C660: - {type: TEXTURE, ctype: u8, format: CI8, width: 112, height: 25, offset: 0x300C660, symbol: D_versus_300C660, tlut: 0x300D150 } -D_versus_300D150: - {type: TEXTURE, ctype: u16, format: TLUT, colors: 251, offset: 0x300D150, symbol: D_versus_300D150 } - -aVsBoostGaugeCoolTex: - { type: TEXTURE, ctype: u8, format: CI8, width: 24, height: 3, offset: 0x300D350, symbol: aVsBoostGaugeCoolTex, tlut: 0x300D398 } -aVsBoostGaugeCoolTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x300D398, symbol: aVsBoostGaugeCoolTLUT } - -aVsBoostGaugeOverheatTex: - { type: TEXTURE, ctype: u8, format: CI8, width: 24, height: 3, offset: 0x300D3C0, symbol: aVsBoostGaugeOverheatTex, tlut: 0x300D408 } -aVsBoostGaugeOverheatTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 24, offset: 0x300D408, symbol: aVsBoostGaugeOverheatTLUT } - -aVsShieldGaugeTex: - { type: TEXTURE, ctype: u8, format: CI8, width: 48, height: 4, offset: 0x300D440, symbol: aVsShieldGaugeTex, tlut: 0x300D500 } -aVsShieldGaugeTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 40, offset: 0x300D500, symbol: aVsShieldGaugeTLUT } - -D_versus_300D550: - { type: GFX, offset: 0x300D550, symbol: D_versus_300D550} -D_versus_300DE80: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x300DE80, symbol: D_versus_300DE80 } - -D_versus_300E080: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x300E080, symbol: D_versus_300E080 } - -D_versus_300E280: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 16, offset: 0x300E280, symbol: D_versus_300E280 } - -D_versus_300E680: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x300E680, symbol: D_versus_300E680 } - -D_versus_300E880: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x300E880, symbol: D_versus_300E880 } - -D_versus_300EA80: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x300EA80, symbol: D_versus_300EA80 } - -D_versus_300EC80: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x300EC80, symbol: D_versus_300EC80 } - -D_versus_300EE80: - { type: GFX, offset: 0x300EE80, symbol: D_versus_300EE80} - -aVsLandmasterModelDL: - { type: GFX, offset: 0x300FB80, symbol: aVsLandmasterModelDL} - -D_versus_3010690: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x3010690, symbol: D_versus_3010690 } - -D_versus_3010890: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x3010890, symbol: D_versus_3010890 } - -D_versus_3010A90: - { type: GFX, offset: 0x3010A90, symbol: D_versus_3010A90} - -D_versus_3011470: - { type: GFX, offset: 0x3011470, symbol: D_versus_3011470} - -D_versus_3011E40: - { type: GFX, offset: 0x3011E40, symbol: D_versus_3011E40} - -D_versus_3011ED0: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x3011ED0, symbol: D_versus_3011ED0 } - -aVsSpaceJunk3DL: - { type: GFX, offset: 0x3012ED0, symbol: aVsSpaceJunk3DL} - -aVsSpaceJunk2DL: - { type: GFX, offset: 0x3013580, symbol: aVsSpaceJunk2DL} - -aVsSpaceJunk1DL: - { type: GFX, offset: 0x3013780, symbol: aVsSpaceJunk1DL} - -D_versus_3013F50: - {type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x3013F50, symbol: D_versus_3013F50, tlut: 0x3014350 } -D_versus_3014350: - {type: TEXTURE, ctype: u16, format: TLUT, colors: 224, offset: 0x3014350, symbol: D_versus_3014350} - -D_versus_3014510: - {type: TEXTURE, ctype: u8, format: CI8, width: 8, height: 8, offset: 0x3014510, symbol: D_versus_3014510, tlut: 0x3014550 } -D_versus_3014550: - {type: TEXTURE, ctype: u16, format: TLUT, colors: 32, offset: 0x3014550, symbol: D_versus_3014550} - -D_versus_3014590: - {type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x3014590, symbol: D_versus_3014590, tlut: 0x3014690 } -D_versus_3014690: - {type: TEXTURE, ctype: u16, format: TLUT, colors: 16, offset: 0x3014690, symbol: D_versus_3014690} - -D_versus_30146B0: - { type: GFX, offset: 0x30146B0, symbol: D_versus_30146B0} - -D_versus_3014740: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x3014740, symbol: D_versus_3014740 } - -D_versus_3015740: - { type: GFX, offset: 0x3015740, symbol: D_versus_3015740} - -D_versus_3015898: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3015898, symbol: D_versus_3015898 } - -D_versus_30160A0: - { type: GFX, offset: 0x30160A0, symbol: D_versus_30160A0} - -D_versus_30162F8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x30162F8, symbol: D_versus_30162F8 } - -aVsKaFlBaseDL: - { type: GFX, offset: 0x3016B00, symbol: aVsKaFlBaseDL} - -D_versus_3016DC0: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x3016DC0, symbol: D_versus_3016DC0 } - -D_versus_3016FC0: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x3016FC0, symbol: D_versus_3016FC0 } - -D_versus_30171C0: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x30171C0, symbol: D_versus_30171C0 } - -aVsPyramid1DL: - { type: GFX, offset: 0x30173C0, symbol: aVsPyramid1DL} - -aVsPyramid2DL: - { type: GFX, offset: 0x30174E0, symbol: aVsPyramid2DL} - -aVsBuildingDL: - { type: GFX, offset: 0x3017600, symbol: aVsBuildingDL} - -D_versus_3017800: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3017800, symbol: D_versus_3017800 } - -D_versus_3018000: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3018000, symbol: D_versus_3018000 } - -D_versus_3018800: - { type: GFX, offset: 0x3018800, symbol: D_versus_3018800} - -D_versus_3018D60: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3018D60, symbol: D_versus_3018D60 } - -D_versus_3019560: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3019560, symbol: D_versus_3019560 } - -D_versus_3019D60: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3019D60, symbol: D_versus_3019D60 } - -D_versus_301A560: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x301A560, symbol: D_versus_301A560 } - -D_versus_301AD60: - { type: GFX, offset: 0x301AD60, symbol: D_versus_301AD60} - -D_versus_301ADE8: - {type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x301ADE8, symbol: D_versus_301ADE8 } - -D_versus_301AEF0: - { type: GFX, offset: 0x301AEF0, symbol: D_versus_301AEF0} - -D_versus_301AF78: - {type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x301AF78, symbol: D_versus_301AF78 } - -aVsArchDL: - { type: GFX, offset: 0x301B080, symbol: aVsArchDL} - -D_versus_301B438: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x301B438, symbol: D_versus_301B438 } - -D_versus_301B640: - { type: GFX, offset: 0x301B640, symbol: D_versus_301B640} - -D_versus_301B6E0: - { type: GFX, offset: 0x301B6E0, symbol: D_versus_301B6E0} - -D_versus_301B768: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x301B768, symbol: D_versus_301B768 } - -D_versus_301C0A4: - { type: SF64:ANIM, offset: 0x301C0A4, symbol: D_versus_301C0A4} - -D_versus_301C3A8: - { type: SF64:ANIM, offset: 0x301C3A8, symbol: D_versus_301C3A8} - -aVsOnFootFalcoSkel: - { type: SF64:SKELETON, offset: 0x301C614, symbol: aVsOnFootFalcoSkel } - -D_versus_301C79C: - { type: SF64:ANIM, offset: 0x301C79C, symbol: D_versus_301C79C } - -D_versus_301C9B0: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x301C9B0, symbol: D_versus_301C9B0 } - -D_versus_301CCE4: - { type: SF64:ANIM, offset: 0x301CCE4, symbol: D_versus_301CCE4} - -D_versus_301CFEC: - { type: SF64:ANIM, offset: 0x301CFEC, symbol: D_versus_301CFEC} - -aVsOnFootFoxSkel: - { type: SF64:SKELETON, offset: 0x301D258, symbol: aVsOnFootFoxSkel } - -D_versus_301D3DC: - { type: SF64:ANIM, offset: 0x301D3DC, symbol: D_versus_301D3DC } - -D_versus_301D568: - { type: SF64:ANIM, offset: 0x301D568, symbol: D_versus_301D568 } - -D_versus_301D888: - { type: SF64:ANIM, offset: 0x301D888, symbol: D_versus_301D888} - -aVsOnFootPeppySkel: - { type: SF64:SKELETON, offset: 0x301DB94, symbol: aVsOnFootPeppySkel } - -D_versus_301DD6C: - { type: SF64:ANIM, offset: 0x301DD6C, symbol: D_versus_301DD6C } - -D_versus_301DEA4: - { type: SF64:ANIM, offset: 0x301DEA4, symbol: D_versus_301DEA4} - -D_versus_301E19C: - { type: SF64:ANIM, offset: 0x301E19C, symbol: D_versus_301E19C} - -aVsOnFootSlippySkel: - { type: SF64:SKELETON, offset: 0x301E3E8, symbol: aVsOnFootSlippySkel } - -D_versus_301E560: - { type: SF64:ANIM, offset: 0x301E560, symbol: D_versus_301E560} - -D_versus_301E570: - { type: GFX, offset: 0x301E570, symbol: D_versus_301E570} - -D_versus_301E5F8: - {type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x301E5F8, symbol: D_versus_301E5F8 } - -D_versus_301E700: - { type: GFX, offset: 0x301E700, symbol: D_versus_301E700} - -D_versus_301E788: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x301E788, symbol: D_versus_301E788 } - -D_versus_301E990: - { type: GFX, offset: 0x301E990, symbol: D_versus_301E990} - -D_versus_301EA18: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x301EA18, symbol: D_versus_301EA18 } - -D_versus_301EC20: - { type: GFX, offset: 0x301EC20, symbol: D_versus_301EC20} - -D_versus_301ECA8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x301ECA8, symbol: D_versus_301ECA8 } - -D_versus_301EEB0: - { type: GFX, offset: 0x301EEB0, symbol: D_versus_301EEB0} - -D_versus_301EF38: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x301EF38, symbol: D_versus_301EF38 } - -aVsLandmasterCanonDL: - { type: GFX, offset: 0x301F140, symbol: aVsLandmasterCanonDL} - -D_versus_301F2E0: - { type: GFX, offset: 0x301F2E0, symbol: D_versus_301F2E0} - -D_versus_301F368: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x301F368, symbol: D_versus_301F368 } - -D_versus_301F570: - { type: GFX, offset: 0x301F570, symbol: D_versus_301F570} - -D_versus_301F5F8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x301F5F8, symbol: D_versus_301F5F8 } - -D_versus_301F800: - { type: GFX, offset: 0x301F800, symbol: D_versus_301F800} - -D_versus_301F888: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x301F888, symbol: D_versus_301F888 } - -D_versus_301FA90: - { type: GFX, offset: 0x301FA90, symbol: D_versus_301FA90} - -D_versus_301FB18: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x301FB18, symbol: D_versus_301FB18 } - -D_versus_301FD20: - { type: GFX, offset: 0x301FD20, symbol: D_versus_301FD20} - -D_versus_301FDA8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x301FDA8, symbol: D_versus_301FDA8 } - -D_versus_301FFB0: - { type: GFX, offset: 0x301FFB0, symbol: D_versus_301FFB0} - -D_versus_3020048: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3020048, symbol: D_versus_3020048 } - -D_versus_3020850: - { type: GFX, offset: 0x3020850, symbol: D_versus_3020850} - -D_versus_30208D8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x30208D8, symbol: D_versus_30208D8 } - -D_versus_3020AE0: - { type: GFX, offset: 0x3020AE0, symbol: D_versus_3020AE0} - -D_versus_3020B78: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x3020B78, symbol: D_versus_3020B78 } - -D_versus_3020D80: - { type: GFX, offset: 0x3020D80, symbol: D_versus_3020D80} - -D_versus_3020E18: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3020E18, symbol: D_versus_3020E18 } - -D_versus_3021620: - { type: GFX, offset: 0x3021620, symbol: D_versus_3021620} - -D_versus_30216B8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x30216B8, symbol: D_versus_30216B8 } - -D_versus_30218C0: - { type: GFX, offset: 0x30218C0, symbol: D_versus_30218C0} - -D_versus_3021958: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3021958, symbol: D_versus_3021958 } - -D_versus_3022160: - { type: GFX, offset: 0x3022160, symbol: D_versus_3022160} - -D_versus_30221E8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x30221E8, symbol: D_versus_30221E8 } - -D_versus_30223F0: - { type: GFX, offset: 0x30223F0, symbol: D_versus_30223F0} - -D_versus_30226D0: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x30226D0, symbol: D_versus_30226D0 } - -D_versus_3022DE0: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x3022DE0, symbol: D_versus_3022DE0 } - -D_versus_3022E60: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x3022E60, symbol: D_versus_3022E60 } - -D_versus_3023238: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3023238, symbol: D_versus_3023238 } - -D_versus_3023F68: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x3023F68, symbol: D_versus_3023F68 } - -D_versus_30242D0: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x30242D0, symbol: D_versus_30242D0 } - -D_versus_30246E8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x30246E8, symbol: D_versus_30246E8 } - -D_versus_3024C30: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x3024C30, symbol: D_versus_3024C30 } - -D_versus_3025138: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3025138, symbol: D_versus_3025138 } - -D_versus_3025938: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x3025938, symbol: D_versus_3025938 } - -D_versus_3025C68: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x3025C68, symbol: D_versus_3025C68 } - -D_versus_30261A0: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x30261A0, symbol: D_versus_30261A0 } - -D_versus_3026A38: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x3026A38, symbol: D_versus_3026A38 } - -D_versus_3026AB8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x3026AB8, symbol: D_versus_3026AB8 } - -D_versus_3026B38: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x3026B38, symbol: D_versus_3026B38 } - -D_versus_3026BB8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x3026BB8, symbol: D_versus_3026BB8 } - -D_versus_3026C38: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x3026C38, symbol: D_versus_3026C38 } - -D_versus_3026CB8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 8, offset: 0x3026CB8, symbol: D_versus_3026CB8 } - -D_versus_3026DB8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 8, offset: 0x3026DB8, symbol: D_versus_3026DB8 } - -D_versus_3026EB8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x3026EB8, symbol: D_versus_3026EB8 } - -D_versus_3027268: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3027268, symbol: D_versus_3027268 } - -D_versus_3028130: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 16, offset: 0x3028130, symbol: D_versus_3028130 } - -D_versus_3028230: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 16, offset: 0x3028230, symbol: D_versus_3028230 } - -D_versus_3028C60: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x3028C60, symbol: D_versus_3028C60 } - -D_versus_3028CE0: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x3028CE0, symbol: D_versus_3028CE0 } - -D_versus_3029160: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x3029160, symbol: D_versus_3029160 } - -D_versus_3029388: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x3029388, symbol: D_versus_3029388 } - -D_versus_302A0A0: - { type: GFX, offset: 0x302A0A0, symbol: D_versus_302A0A0} - -D_versus_302A138: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x302A138, symbol: D_versus_302A138 } - -D_versus_302A940: - { type: GFX, offset: 0x302A940, symbol: D_versus_302A940} - -D_versus_302A9C8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x302A9C8, symbol: D_versus_302A9C8 } - -D_versus_302ABD0: - { type: GFX, offset: 0x302ABD0, symbol: D_versus_302ABD0} - -D_versus_302AC68: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x302AC68, symbol: D_versus_302AC68 } - -D_versus_302B470: - { type: GFX, offset: 0x302B470, symbol: D_versus_302B470} - -D_versus_302B4F8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x302B4F8, symbol: D_versus_302B4F8 } - -D_versus_302B700: - { type: GFX, offset: 0x302B700, symbol: D_versus_302B700} - -D_versus_302B788: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x302B788, symbol: D_versus_302B788 } - -D_versus_302B890: - { type: GFX, offset: 0x302B890, symbol: D_versus_302B890} - -D_versus_302B918: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x302B918, symbol: D_versus_302B918 } - -D_versus_302BA20: - { type: GFX, offset: 0x302BA20, symbol: D_versus_302BA20} - -D_versus_302BAA8: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x302BAA8, symbol: D_versus_302BAA8 } - -D_versus_302BBB0: - { type: GFX, offset: 0x302BBB0, symbol: D_versus_302BBB0} - -D_versus_302BC38: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x302BC38, symbol: D_versus_302BC38 } - -D_versus_302BD40: - { type: GFX, offset: 0x302BD40, symbol: D_versus_302BD40} - -D_versus_302BDC8: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x302BDC8, symbol: D_versus_302BDC8 } - -D_versus_302BED0: - { type: GFX, offset: 0x302BED0, symbol: D_versus_302BED0} - -D_versus_302BF88: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x302BF88, symbol: D_versus_302BF88, tlut: 0x302C088 } - -D_versus_302C088: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 34, offset: 0x302C088, symbol: D_versus_302C088 } - -D_versus_302C0D0: - { type: GFX, offset: 0x302C0D0, symbol: D_versus_302C0D0} - -D_versus_302C188: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x302C188, symbol: D_versus_302C188, tlut: 0x302C288 } -D_versus_302C288: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 94, offset: 0x302C288, symbol: D_versus_302C288 } - -D_versus_302C350: - { type: GFX, offset: 0x302C350, symbol: D_versus_302C350} - -D_versus_302C408: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x302C408, symbol: D_versus_302C408, tlut: 0x302C508 } -D_versus_302C508: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 76, offset: 0x302C508, symbol: D_versus_302C508 } - -D_versus_302C5A0: - { type: GFX, offset: 0x302C5A0, symbol: D_versus_302C5A0} - -D_versus_302C658: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x302C658, symbol: D_versus_302C658, tlut: 0x302C758 } -D_versus_302C758: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 101, offset: 0x302C758, symbol: D_versus_302C758 } - -D_versus_302C830: - { type: GFX, offset: 0x302C830, symbol: D_versus_302C830} - -D_versus_302C8E8: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x302C8E8, symbol: D_versus_302C8E8, tlut: 0x302C9E8 } -D_versus_302C9E8: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 165, offset: 0x302C9E8, symbol: D_versus_302C9E8 } - -D_versus_302CB40: - { type: GFX, offset: 0x302CB40, symbol: D_versus_302CB40} - -D_versus_302CBF8: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x302CBF8, symbol: D_versus_302CBF8, tlut: 0x302CCF8 } -D_versus_302CCF8: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 158, offset: 0x302CCF8, symbol: D_versus_302CCF8 } - -D_versus_302CE40: - { type: GFX, offset: 0x302CE40, symbol: D_versus_302CE40} - -D_versus_302CEF8: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x302CEF8, symbol: D_versus_302CEF8, tlut: 0x302CFF8 } -D_versus_302CFF8: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 146, offset: 0x302CFF8, symbol: D_versus_302CFF8} - -D_versus_302D120: - { type: GFX, offset: 0x302D120, symbol: D_versus_302D120} - -D_versus_302D1B8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 8, offset: 0x302D1B8, symbol: D_versus_302D1B8 } - -D_versus_302D240: - { type: GFX, offset: 0x302D240, symbol: D_versus_302D240} - -D_versus_302D2C8: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x302D2C8, symbol: D_versus_302D2C8 } - -D_versus_302D4D0: - { type: GFX, offset: 0x302D4D0, symbol: D_versus_302D4D0} - -D_versus_302D568: - {type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x302D568, symbol: D_versus_302D568 } - -D_versus_302DD70: - { type: SF64:ENVIRONMENT, offset: 0x302DD70, symbol: D_versus_302DD70} - -D_versus_302DDB4: - { type: SF64:ENVIRONMENT, offset: 0x302DDB4, symbol: D_versus_302DDB4} - -D_versus_302DDF8: - { type: SF64:ENVIRONMENT, offset: 0x302DDF8, symbol: D_versus_302DDF8} - -D_versus_302DE3C: - { type: SF64:OBJECT_INIT, offset: 0x302DE3C, symbol: D_versus_302DE3C} - -D_versus_302E0E4: - { type: SF64:OBJECT_INIT, offset: 0x302E0E4, symbol: D_versus_302E0E4} - -D_versus_302E170: - { type: SF64:OBJECT_INIT, offset: 0x302E170, symbol: D_versus_302E170} - -D_versus_302E378: - { type: SF64:OBJECT_INIT, offset: 0x302E378, symbol: D_versus_302E378} - -aVsSpaceJunk1Hitbox: - { type: SF64:HITBOX, offset: 0x302ED4C, symbol: aVsSpaceJunk1Hitbox} - -aVsSpaceJunk2Hitbox: - { type: SF64:HITBOX, offset: 0x302ED98, symbol: aVsSpaceJunk2Hitbox} - -aVsSpaceJunk3Hitbox: - { type: SF64:HITBOX, offset: 0x302EDB4, symbol: aVsSpaceJunk3Hitbox} - -aVsKaFlBaseHitbox: - { type: SF64:HITBOX, offset: 0x302EE00, symbol: aVsKaFlBaseHitbox} - -aVsBuilding1Hibox: - { type: SF64:HITBOX, offset: 0x302EE64, symbol: aVsBuilding1Hibox} - -aVsBuilding2Hibox: - { type: SF64:HITBOX, offset: 0x302EE80, symbol: aVsBuilding2Hibox} - -aVsArchHitbox: - { type: SF64:HITBOX, offset: 0x302EE9C, symbol: aVsArchHitbox} - -D_versus_302EEE8: - { type: SF64:TRIANGLE, count: 4, offset: 0x302EEE8, symbol: D_versus_302EEE8, mesh_symbol: D_versus_OFFSET} - -D_versus_302EF6C: - { type: SF64:TRIANGLE, count: 4, offset: 0x302EF6C, symbol: D_versus_302EF6C, mesh_symbol: D_versus_OFFSET} - -D_versus_302EFF0: - { type: SF64:TRIANGLE, count: 4, offset: 0x302EFF0, symbol: D_versus_302EFF0, mesh_symbol: D_versus_OFFSET} - -D_versus_302F044: - { type: SF64:TRIANGLE, count: 14, offset: 0x302F044, symbol: D_versus_302F044, mesh_symbol: D_versus_OFFSET} - -D_versus_302E56C: - {type: VEC3F, count: 20, offset: 0x302E56C, symbol: D_versus_302E56C} - -D_versus_302E65C: - {type: VEC3F, count: 20, offset: 0x302E65C, symbol: D_versus_302E65C} - -D_versus_302E74C: - {type: VEC3F, count: 19, offset: 0x302E74C, symbol: D_versus_302E74C} - -D_versus_302E830: - {type: VEC3F, count: 25, offset: 0x302E830, symbol: D_versus_302E830} - -D_versus_302E95C: - {type: VEC3F, count: 20, offset: 0x302E95C, symbol: D_versus_302E95C} - -D_versus_302EA4C: - {type: VEC3F, count: 20, offset: 0x302EA4C, symbol: D_versus_302EA4C} - -D_versus_302EB3C: - {type: VEC3F, count: 19, offset: 0x302EB3C, symbol: D_versus_302EB3C} - -D_versus_302EC20: - {type: VEC3F, count: 25, offset: 0x302EC20, symbol: D_versus_302EC20} diff --git a/assets/yaml/jp/rev0/ast_vs_menu.yaml b/assets/yaml/jp/rev0/ast_vs_menu.yaml deleted file mode 100644 index 0fdc3d20..00000000 --- a/assets/yaml/jp/rev0/ast_vs_menu.yaml +++ /dev/null @@ -1,207 +0,0 @@ -:config: - segments: - - [0x07, 0xC83960] - header: - code: - - '#include "assets/ast_vs_menu.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -aVsPlayerNum1Tex: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 13, offset: 0x7000000, symbol: aVsPlayerNum1Tex} - -aVsPlayerNum2Tex: - { type: TEXTURE, ctype: u8, format: IA8, width: 24, height: 13, offset: 0x70000D0, symbol: aVsPlayerNum2Tex} - -aVsPlayerNum3Tex: - { type: TEXTURE, ctype: u8, format: IA8, width: 24, height: 13, offset: 0x7000210, symbol: aVsPlayerNum3Tex} - -aVsPlayerNum4Tex: - { type: TEXTURE, ctype: u8, format: IA8, width: 24, height: 13, offset: 0x7000350, symbol: aVsPlayerNum4Tex} - -D_VS_MENU_7000490: - { type: TEXTURE, ctype: u8, format: IA8, width: 64, height: 42, offset: 0x7000490, symbol: D_VS_MENU_7000490} - -aVsTextContTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 40, height: 7, offset: 0x7000F10, symbol: aVsTextContTex} - -D_VS_MENU_7001030: - { type: TEXTURE, ctype: u8, format: IA8, width: 64, height: 9, offset: 0x7001030, symbol: D_VS_MENU_7001030} - -D_VS_MENU_7001270: - { type: TEXTURE, ctype: u8, format: IA8, width: 112, height: 12, offset: 0x7001270, symbol: D_VS_MENU_7001270} - -aVsTextCorneriaTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 56, height: 10, offset: 0x70017B0, symbol: aVsTextCorneriaTex} - -aVsTextSectorZTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 56, height: 10, offset: 0x70019E0, symbol: aVsTextSectorZTex} - -aVsTextKatinaTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 48, height: 10, offset: 0x7001C10, symbol: aVsTextKatinaTex} - -D_VS_MENU_7001DF0: - { type: TEXTURE, ctype: u8, format: IA8, width: 80, height: 10, offset: 0x7001DF0, symbol: D_VS_MENU_7001DF0} - -D_VS_MENU_7002110: - { type: TEXTURE, ctype: u8, format: IA8, width: 80, height: 12, offset: 0x7002110, symbol: D_VS_MENU_7002110} - -D_VS_MENU_70024D0: - { type: TEXTURE, ctype: u8, format: IA8, width: 40, height: 15, offset: 0x70024D0, symbol: D_VS_MENU_70024D0} - -D_VS_MENU_7002730: - { type: TEXTURE, ctype: u8, format: IA8, width: 40, height: 15, offset: 0x7002730, symbol: D_VS_MENU_7002730} - -D_VS_MENU_7002990: - { type: TEXTURE, ctype: u8, format: IA8, width: 40, height: 15, offset: 0x7002990, symbol: D_VS_MENU_7002990} - -D_VS_MENU_7002BF0: - { type: TEXTURE, ctype: u8, format: IA8, width: 40, height: 15, offset: 0x7002BF0, symbol: D_VS_MENU_7002BF0} - -D_VS_MENU_7002E50: - { type: TEXTURE, ctype: u8, format: IA8, width: 40, height: 15, offset: 0x7002E50, symbol: D_VS_MENU_7002E50} - -aVsHandicapLvl1Tex: - { type: TEXTURE, ctype: u8, format: IA8, width: 40, height: 12, offset: 0x70030B0, symbol: aVsHandicapLvl1Tex} - -aVsHandicapLvl2Tex: - { type: TEXTURE, ctype: u8, format: IA8, width: 40, height: 12, offset: 0x7003290, symbol: aVsHandicapLvl2Tex} - -aVsHandicapLvl3Tex: - { type: TEXTURE, ctype: u8, format: IA8, width: 40, height: 12, offset: 0x7003470, symbol: aVsHandicapLvl3Tex} - -D_VS_MENU_7003650: - { type: TEXTURE, ctype: u8, format: IA8, width: 40, height: 12, offset: 0x7003650, symbol: D_VS_MENU_7003650} - -D_VS_MENU_7003830: - { type: TEXTURE, ctype: u8, format: IA8, width: 64, height: 17, offset: 0x7003830, symbol: D_VS_MENU_7003830} - -D_VS_MENU_7003C70: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x7003C70, symbol: D_VS_MENU_7003C70} - -D_VS_MENU_7003D70: - { type: TEXTURE, ctype: u8, format: IA8, width: 32, height: 5, offset: 0x7003D70, symbol: D_VS_MENU_7003D70} - -D_VS_MENU_7003E10: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x7003E10, symbol: D_VS_MENU_7003E10} - -D_VS_MENU_7003F10: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x7003F10, symbol: D_VS_MENU_7003F10} - -D_VS_MENU_7004010: - { type: TEXTURE, ctype: u8, format: IA8, width: 8, height: 8, offset: 0x7004010, symbol: D_VS_MENU_7004010} - -D_VS_MENU_7004050: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x7004050, symbol: D_VS_MENU_7004050, tlut: 0x7004150} - -D_VS_MENU_7004150: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 76, offset: 0x7004150, symbol: D_VS_MENU_7004150} - -D_VS_MENU_70041F0: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x70041F0, symbol: D_VS_MENU_70041F0, tlut: 0x70042F0} - -D_VS_MENU_70042F0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 53, offset: 0x70042F0, symbol: D_VS_MENU_70042F0} - -D_VS_MENU_7004360: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x7004360, symbol: D_VS_MENU_7004360, tlut: 0x7004460} - -D_VS_MENU_7004460: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 50, offset: 0x7004460, symbol: D_VS_MENU_7004460} - -D_VS_MENU_70044D0: - { type: TEXTURE, ctype: u8, format: CI8, width: 64, height: 19, offset: 0x70044D0, symbol: D_VS_MENU_70044D0, tlut: 0x7004990} - -D_VS_MENU_7004990: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 17, offset: 0x7004990, symbol: D_VS_MENU_7004990} - -aVsFoxNameTex: - { type: TEXTURE, ctype: u8, format: CI8, width: 56, height: 8, offset: 0x70049C0, symbol: aVsFoxNameTex, tlut: 0x7004B80} - -aVsFoxNameTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 18, offset: 0x7004B80, symbol: aVsFoxNameTLUT} - -aVsPeppyNameTex: - { type: TEXTURE, ctype: u8, format: CI8, width: 48, height: 10, offset: 0x7004BB0, symbol: aVsPeppyNameTex, tlut: 0x7004D90} - -aVsPeppyNameTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 18, offset: 0x7004D90, symbol: aVsPeppyNameTLUT} - -aVsSlippyNameTex: - { type: TEXTURE, ctype: u8, format: CI8, width: 56, height: 10, offset: 0x7004DC0, symbol: aVsSlippyNameTex, tlut: 0x7004FF0} - -aVsSlippyNameTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 18, offset: 0x7004FF0, symbol: aVsSlippyNameTLUT} - -aVsFalcoNameTex: - { type: TEXTURE, ctype: u8, format: CI8, width: 48, height: 8, offset: 0x7005020, symbol: aVsFalcoNameTex, tlut: 0x70051A0} - -aVsFalcoNameTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 18, offset: 0x70051A0, symbol: aVsFalcoNameTLUT} - -D_VS_MENU_70051D0: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 32, offset: 0x70051D0, symbol: D_VS_MENU_70051D0, tlut: 0x70055D0} - -D_VS_MENU_70055D0: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 20, offset: 0x70055D0, symbol: D_VS_MENU_70055D0} - -aVsCorneriaTex: - { type: TEXTURE, ctype: u8, format: CI8, width: 48, height: 38, offset: 0x7005600, symbol: aVsCorneriaTex, tlut: 0x7005D20} - -aVsCorneriaTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 248, offset: 0x7005D20, symbol: aVsCorneriaTLUT} - -aVsSectorZTex: - { type: TEXTURE, ctype: u8, format: CI8, width: 48, height: 38, offset: 0x7005F10, symbol: aVsSectorZTex, tlut: 0x7006630} - -aVsSectorZTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 168, offset: 0x7006630, symbol: aVsSectorZTLUT} - -aVsKatinaTex: - { type: TEXTURE, ctype: u8, format: CI8, width: 48, height: 38, offset: 0x7006780, symbol: aVsKatinaTex, tlut: 0x7006EA0} - -aVsKatinaTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 256, offset: 0x7006EA0, symbol: aVsKatinaTLUT} - -aVsFalcoFaceTex: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x70070A0, symbol: aVsFalcoFaceTex} - -D_VS_MENU_7007FC0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x7007FC0, symbol: D_VS_MENU_7007FC0} - -aVsFoxFaceTex: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x7008EE0, symbol: aVsFoxFaceTex} - -D_VS_MENU_7009E00: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x7009E00, symbol: D_VS_MENU_7009E00} - -aVsPeppyFaceTex: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x700AD20, symbol: aVsPeppyFaceTex} - -D_VS_MENU_700BC40: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x700BC40, symbol: D_VS_MENU_700BC40} - -aVsSlippyFaceTex: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x700CB60, symbol: aVsSlippyFaceTex} - -D_VS_MENU_700DA80: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x700DA80, symbol: D_VS_MENU_700DA80} - -aVsN64ConsoleTex: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 144, height: 42, offset: 0x700E9A0, symbol: aVsN64ConsoleTex} - -aVsHandicapFrameTex: - { type: TEXTURE, ctype: u8, format: CI4, width: 80, height: 71, offset: 0x70118E0, symbol: aVsHandicapFrameTex, tlut: 0x70123F8} - -aVsHandicapFrameTLUT: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 5, offset: 0x70123F8, symbol: aVsHandicapFrameTLUT} - -D_VS_MENU_7012410: - { type: GFX, offset: 0x7012410, symbol: D_VS_MENU_7012410} - -D_VS_MENU_70124E8: - { type: TEXTURE, ctype: u8, format: CI8, width: 8, height: 16, offset: 0x70124E8, symbol: D_VS_MENU_70124E8, tlut: 0x7012568} - -D_VS_MENU_7012568: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 24, offset: 0x7012568, symbol: D_VS_MENU_7012568} diff --git a/assets/yaml/jp/rev0/ast_warp_zone.yaml b/assets/yaml/jp/rev0/ast_warp_zone.yaml deleted file mode 100644 index d7ce93c7..00000000 --- a/assets/yaml/jp/rev0/ast_warp_zone.yaml +++ /dev/null @@ -1,42 +0,0 @@ -:config: - segments: - - [0x07, 0xBC7460] - header: - code: - - '#include "assets/ast_warp_zone.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - -aWzSxEnemy1DL: - { type: GFX, offset: 0x7000000, symbol: aWzSxEnemy1DL } - -aWzGateDL: - { type: GFX, offset: 0x7000280, symbol: aWzGateDL } - -aWzMeteor2DL: - { type: GFX, offset: 0x70008F0, symbol: aWzMeteor2DL } - -D_WZ_7000260: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 4, height: 4, offset: 0x7000260, symbol: D_WZ_7000260 } - -D_WZ_7000A30: - { type: TEXTURE, ctype: u8, format: CI4, width: 32, height: 32, offset: 0x7000A30, symbol: D_WZ_7000A30, tlut: 0x7000C30 } - -D_WZ_7000C30: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 8, offset: 0x7000C30, symbol: D_WZ_7000C30 } - -aWzPillar1DL: - { type: GFX, offset: 0x7000C40, symbol: aWzPillar1DL } - -aWzMeteor1DL: - { type: GFX, offset: 0x7000E80, symbol: aWzMeteor1DL } - -aWzPillar2DL: - { type: GFX, offset: 0x70010E0, symbol: aWzPillar2DL } - -D_WZ_7001540: - { type: GFX, offset: 0x7001540, symbol: D_WZ_7001540 } - -D_WZ_70015D0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x70015D0, symbol: D_WZ_70015D0 } \ No newline at end of file diff --git a/assets/yaml/jp/rev0/ast_zoness.yaml b/assets/yaml/jp/rev0/ast_zoness.yaml deleted file mode 100644 index 917fab23..00000000 --- a/assets/yaml/jp/rev0/ast_zoness.yaml +++ /dev/null @@ -1,563 +0,0 @@ -:config: - segments: - - [0x06, 0xB51670] - header: - code: - - '#include "assets/ast_zoness.h"' - header: - - '#include "gfx.h"' - - '#include "sf64object.h"' - - '#include "sf64level.h"' - - '#include "sf64event.h"' - - '#include "sf64player.h"' - - '#include "sf64audio_external.h"' - - '#include "sf64mesg.h"' -aZoTitleCardTex: - { type: TEXTURE, ctype: u8, format: IA8, width: 112, height: 28, offset: 0x6000000, symbol: aZoTitleCardTex} - -D_ZO_6000C40: - { type: GFX, offset: 0x6000C40, symbol: D_ZO_6000C40} - -D_ZO_6000E98: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6000E98, symbol: D_ZO_6000E98} - -D_ZO_6001098: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6001098, symbol: D_ZO_6001098} - -aZoDodoraHeadDL: - { type: GFX, offset: 0x60012A0, symbol: aZoDodoraHeadDL} - -D_ZO_6001810: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6001810, symbol: D_ZO_6001810} - -D_ZO_6002010: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6002010, symbol: D_ZO_6002010} - -D_ZO_6002210: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6002210, symbol: D_ZO_6002210} - -D_ZO_6002410: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6002410, symbol: D_ZO_6002410} - -D_ZO_6002610: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6002610, symbol: D_ZO_6002610} - -D_ZO_6002810: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6002810, symbol: D_ZO_6002810} - -D_ZO_6002A10: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 16, offset: 0x6002A10, symbol: D_ZO_6002A10} - -aZoRadarBuoyDL: - { type: GFX, offset: 0x6002E10, symbol: aZoRadarBuoyDL} - -D_ZO_6003288: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6003288, symbol: D_ZO_6003288} - -D_ZO_6003488: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6003488, symbol: D_ZO_6003488} - -D_ZO_6003690: - { type: GFX, offset: 0x6003690, symbol: D_ZO_6003690} - -D_ZO_6003930: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6003930, symbol: D_ZO_6003930} - -D_ZO_6003B30: - { type: TEXTURE, ctype: u8, format: CI8, width: 32, height: 64, offset: 0x6003B30, symbol: D_ZO_6003B30} - -D_ZO_6004330: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 40, offset: 0x6004330, symbol: D_ZO_6004330} - -D_ZO_6004380: - { type: GFX, offset: 0x6004380, symbol: D_ZO_6004380} - -D_ZO_6004450: - { type: GFX, offset: 0x6004450, symbol: D_ZO_6004450} - -D_ZO_6004970: - { type: TEXTURE, ctype: u8, format: CI8, width: 16, height: 16, offset: 0x6004970, symbol: D_ZO_6004970} - -D_ZO_6004A70: - { type: TEXTURE, ctype: u16, format: TLUT, colors: 72, offset: 0x6004A70, symbol: D_ZO_6004A70} - -D_ZO_6004B00: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6004B00, symbol: D_ZO_6004B00} - -aZoPatrolBoatDL: - { type: GFX, offset: 0x6004D00, symbol: aZoPatrolBoatDL} - -D_ZO_6005958: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6005958, symbol: D_ZO_6005958} - -D_ZO_6005B58: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6005B58, symbol: D_ZO_6005B58} - -D_ZO_6006360: - { type: GFX, offset: 0x6006360, symbol: D_ZO_6006360} - -D_ZO_6007230: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6007230, symbol: D_ZO_6007230} - -D_ZO_6007430: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6007430, symbol: D_ZO_6007430} - -D_ZO_6007C30: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6007C30, symbol: D_ZO_6007C30} - -D_ZO_6007E30: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6007E30, symbol: D_ZO_6007E30} - -D_ZO_6008030: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6008030, symbol: D_ZO_6008030} - -D_ZO_6008230: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6008230, symbol: D_ZO_6008230} - -D_ZO_6008430: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6008430, symbol: D_ZO_6008430} - -D_ZO_6008630: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6008630, symbol: D_ZO_6008630} - -D_ZO_6008830: - { type: GFX, offset: 0x6008830, symbol: D_ZO_6008830} - -D_ZO_6009ED0: - { type: VTX, count: 289, offset: 0x6009ED0, symbol: D_ZO_6009ED0} - -D_ZO_600B0E0: - { type: GFX, offset: 0x600B0E0, symbol: D_ZO_600B0E0} - -D_ZO_600C780: - { type: VTX, count: 289, offset: 0x600C780, symbol: D_ZO_600C780} - -D_ZO_600D990: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x600D990, symbol: D_ZO_600D990} - -aZoBirdAnim: - { type: SF64:ANIM, offset: 0x600E5EC, symbol: aZoBirdAnim} - -aZoBirdSkel: - { type: SF64:SKELETON, offset: 0x600E7D8, symbol: aZoBirdSkel} - -aZoOilRig3DL: - { type: GFX, offset: 0x600E820, symbol: aZoOilRig3DL} - -aZoOilRig2DL: - { type: GFX, offset: 0x600EC90, symbol: aZoOilRig2DL} - -aZoOilRig1DL: - { type: GFX, offset: 0x600F560, symbol: aZoOilRig1DL} - -D_ZO_600FE58: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x600FE58, symbol: D_ZO_600FE58} - -D_ZO_6010658: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6010658, symbol: D_ZO_6010658} - -D_ZO_6010E58: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6010E58, symbol: D_ZO_6010E58} - -D_ZO_6011660: - { type: GFX, offset: 0x6011660, symbol: D_ZO_6011660} - -D_ZO_6011928: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6011928, symbol: D_ZO_6011928} - -D_ZO_6012128: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6012128, symbol: D_ZO_6012128} - -D_ZO_6012930: - { type: GFX, offset: 0x6012930, symbol: D_ZO_6012930} - -D_ZO_6013010: - { type: GFX, offset: 0x6013010, symbol: D_ZO_6013010} - -D_ZO_6013330: - { type: GFX, offset: 0x6013330, symbol: D_ZO_6013330} - -D_ZO_6013480: - { type: GFX, offset: 0x6013480, symbol: D_ZO_6013480} - -D_ZO_6013510: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x6013510, symbol: D_ZO_6013510} - -D_ZO_6014510: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x6014510, symbol: D_ZO_6014510} - -D_ZO_6015430: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 44, height: 44, offset: 0x6015430, symbol: D_ZO_6015430} - -D_ZO_6016350: - { type: GFX, offset: 0x6016350, symbol: D_ZO_6016350} - -D_ZO_60163E0: - { type: GFX, offset: 0x60163E0, symbol: D_ZO_60163E0} - -D_ZO_60165D0: - { type: GFX, offset: 0x60165D0, symbol: D_ZO_60165D0} - -D_ZO_6016880: - { type: GFX, offset: 0x6016880, symbol: D_ZO_6016880} - -D_ZO_6016B50: - { type: GFX, offset: 0x6016B50, symbol: D_ZO_6016B50} - -D_ZO_6016D90: - { type: GFX, offset: 0x6016D90, symbol: D_ZO_6016D90} - -D_ZO_6016E30: - { type: GFX, offset: 0x6016E30, symbol: D_ZO_6016E30} - -D_ZO_6016EC8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6016EC8, symbol: D_ZO_6016EC8} - -D_ZO_60176D0: - { type: GFX, offset: 0x60176D0, symbol: D_ZO_60176D0} - -D_ZO_6017770: - { type: GFX, offset: 0x6017770, symbol: D_ZO_6017770} - -D_ZO_6017810: - { type: GFX, offset: 0x6017810, symbol: D_ZO_6017810} - -D_ZO_60178B0: - { type: GFX, offset: 0x60178B0, symbol: D_ZO_60178B0} - -aZoBallDL: - { type: GFX, offset: 0x6017950, symbol: aZoBallDL} - -D_ZO_60179D8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60179D8, symbol: D_ZO_60179D8} - -D_ZO_60181E0: - { type: GFX, offset: 0x60181E0, symbol: D_ZO_60181E0} - -D_ZO_60182E0: - { type: TEXTURE, ctype: u16, format: IA16, width: 16, height: 16, offset: 0x60182E0, symbol: D_ZO_60182E0} - -D_ZO_6018550: - { type: SF64:ANIM, offset: 0x6018550, symbol: D_ZO_6018550} - -D_ZO_601863C: - { type: SF64:SKELETON, offset: 0x601863C, symbol: D_ZO_601863C} - -D_ZO_6018660: - { type: GFX, offset: 0x6018660, symbol: D_ZO_6018660} - -D_ZO_60186E8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 32, offset: 0x60186E8, symbol: D_ZO_60186E8} - -D_ZO_6018AF0: - { type: GFX, offset: 0x6018AF0, symbol: D_ZO_6018AF0} - -D_ZO_6018B78: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x6018B78, symbol: D_ZO_6018B78} - -D_ZO_6018C80: - { type: GFX, offset: 0x6018C80, symbol: D_ZO_6018C80} - -D_ZO_6018E80: - { type: GFX, offset: 0x6018E80, symbol: D_ZO_6018E80} - -D_ZO_6019040: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6019040, symbol: D_ZO_6019040} - -D_ZO_60195EC: - { type: SF64:ANIM, offset: 0x60195EC, symbol: D_ZO_60195EC} - -D_ZO_6019738: - { type: SF64:SKELETON, offset: 0x6019738, symbol: D_ZO_6019738} - -D_ZO_601996C: - { type: SF64:ANIM, offset: 0x601996C, symbol: D_ZO_601996C} - -aZoSarumarineSkel: - { type: SF64:SKELETON, offset: 0x6019E18, symbol: aZoSarumarineSkel} - -D_ZO_6019EB0: - { type: GFX, offset: 0x6019EB0, symbol: D_ZO_6019EB0} - -D_ZO_601A340: - { type: GFX, offset: 0x601A340, symbol: D_ZO_601A340} - -D_ZO_601AA48: - { type: SF64:ANIM, offset: 0x601AA48, symbol: D_ZO_601AA48} - -D_ZO_601AB14: - { type: SF64:SKELETON, offset: 0x601AB14, symbol: D_ZO_601AB14} - -D_ZO_601AFB8: - { type: SF64:ANIM, offset: 0x601AFB8, symbol: D_ZO_601AFB8} - -D_ZO_601B184: - { type: SF64:SKELETON, offset: 0x601B184, symbol: D_ZO_601B184} - -D_ZO_601B1C0: - { type: GFX, offset: 0x601B1C0, symbol: D_ZO_601B1C0} - -D_ZO_601B3B0: - { type: GFX, offset: 0x601B3B0, symbol: D_ZO_601B3B0} - -D_ZO_601B570: - { type: GFX, offset: 0x601B570, symbol: D_ZO_601B570} - -D_ZO_601B710: - { type: GFX, offset: 0x601B710, symbol: D_ZO_601B710} - -D_ZO_601B8F0: - { type: GFX, offset: 0x601B8F0, symbol: D_ZO_601B8F0} - -D_ZO_601BAD0: - { type: GFX, offset: 0x601BAD0, symbol: D_ZO_601BAD0} - -D_ZO_601BBB8: - { type: TEXTURE, ctype: u8, format: IA8, width: 16, height: 16, offset: 0x601BBB8, symbol: D_ZO_601BBB8} - -D_ZO_601BCC0: - { type: GFX, offset: 0x601BCC0, symbol: D_ZO_601BCC0} - -D_ZO_601C390: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x601C390, symbol: D_ZO_601C390} - -D_ZO_601C590: - { type: GFX, offset: 0x601C590, symbol: D_ZO_601C590} - -D_ZO_601C8E0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x601C8E0, symbol: D_ZO_601C8E0} - -D_ZO_601D0E0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x601D0E0, symbol: D_ZO_601D0E0} - -D_ZO_601D2E0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x601D2E0, symbol: D_ZO_601D2E0} - -D_ZO_601D5B0: - { type: GFX, offset: 0x601D5B0, symbol: D_ZO_601D5B0} - -D_ZO_601D680: - { type: GFX, offset: 0x601D680, symbol: D_ZO_601D680} - -D_ZO_601E618: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x601E618, symbol: D_ZO_601E618} - -D_ZO_601F260: - { type: GFX, offset: 0x601F260, symbol: D_ZO_601F260} - -D_ZO_601F420: - { type: GFX, offset: 0x601F420, symbol: D_ZO_601F420} - -D_ZO_601F620: - { type: GFX, offset: 0x601F620, symbol: D_ZO_601F620} - -aZoSarumarinePeriscopeAnim: - { type: SF64:ANIM, offset: 0x601F874, symbol: aZoSarumarinePeriscopeAnim} - -aZoSarumarinePeriscopeSkel: - { type: SF64:SKELETON, offset: 0x601F920, symbol: aZoSarumarinePeriscopeSkel} - -D_ZO_601F940: - { type: GFX, offset: 0x601F940, symbol: D_ZO_601F940} - -D_ZO_601FBC4: - { type: SF64:ANIM, offset: 0x601FBC4, symbol: D_ZO_601FBC4} - -aZoBarrierSkel: - { type: SF64:SKELETON, offset: 0x601FC90, symbol: aZoBarrierSkel} - -aZoIslandDL: - { type: GFX, offset: 0x601FCB0, symbol: aZoIslandDL} - -D_ZO_60201B0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60201B0, symbol: D_ZO_60201B0} - -D_ZO_60209B0: - { type: GFX, offset: 0x60209B0, symbol: D_ZO_60209B0} - -D_ZO_6020B70: - { type: GFX, offset: 0x6020B70, symbol: D_ZO_6020B70} - -D_ZO_6020D50: - { type: GFX, offset: 0x6020D50, symbol: D_ZO_6020D50} - -D_ZO_6020F10: - { type: GFX, offset: 0x6020F10, symbol: D_ZO_6020F10} - -D_ZO_6021100: - { type: GFX, offset: 0x6021100, symbol: D_ZO_6021100} - -D_ZO_60214B0: - { type: GFX, offset: 0x60214B0, symbol: D_ZO_60214B0} - -D_ZO_60212B0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x60212B0, symbol: D_ZO_60212B0} - -D_ZO_60216A8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x60216A8, symbol: D_ZO_60216A8} - -D_ZO_6021ABC: - { type: SF64:ANIM, offset: 0x6021ABC, symbol: D_ZO_6021ABC} - -D_ZO_6021B88: - { type: SF64:SKELETON, offset: 0x6021B88, symbol: D_ZO_6021B88} - -D_ZO_6021BB0: - { type: GFX, offset: 0x6021BB0, symbol: D_ZO_6021BB0} - -D_ZO_6021C50: - { type: GFX, offset: 0x6021C50, symbol: D_ZO_6021C50} - -D_ZO_6021CE0: - { type: GFX, offset: 0x6021CE0, symbol: D_ZO_6021CE0} - -D_ZO_6021D80: - { type: GFX, offset: 0x6021D80, symbol: D_ZO_6021D80} - -D_ZO_6021E20: - { type: GFX, offset: 0x6021E20, symbol: D_ZO_6021E20} - -D_ZO_60220A0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x60220A0, symbol: D_ZO_60220A0} - -D_ZO_60222A0: - { type: GFX, offset: 0x60222A0, symbol: D_ZO_60222A0} - -D_ZO_60227D8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x60227D8, symbol: D_ZO_60227D8} - -D_ZO_60229D8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x60229D8, symbol: D_ZO_60229D8} - -D_ZO_6022BE0: - { type: GFX, offset: 0x6022BE0, symbol: D_ZO_6022BE0} - -D_ZO_6022D70: - { type: GFX, offset: 0x6022D70, symbol: D_ZO_6022D70} - -D_ZO_6022F00: - { type: GFX, offset: 0x6022F00, symbol: D_ZO_6022F00} - -D_ZO_6023088: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6023088, symbol: D_ZO_6023088} - -D_ZO_6023288: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6023288, symbol: D_ZO_6023288} - -D_ZO_6023488: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6023488, symbol: D_ZO_6023488} - -D_ZO_6023690: - { type: GFX, offset: 0x6023690, symbol: D_ZO_6023690} - -aZoDodoraTailDL: - { type: GFX, offset: 0x6023730, symbol: aZoDodoraTailDL} - -D_ZO_60237E0: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x60237E0, symbol: D_ZO_60237E0} - -aZoDodoraBodyDL: - { type: GFX, offset: 0x60239E0, symbol: aZoDodoraBodyDL} - -D_ZO_6023D50: - { type: GFX, offset: 0x6023D50, symbol: D_ZO_6023D50} - -D_ZO_6024018: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6024018, symbol: D_ZO_6024018} - -D_ZO_6024220: - { type: GFX, offset: 0x6024220, symbol: D_ZO_6024220} - -D_ZO_60242B8: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x60242B8, symbol: D_ZO_60242B8} - -aZoRockDL: - { type: GFX, offset: 0x6024AC0, symbol: aZoRockDL} - -D_ZO_6024D60: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6024D60, symbol: D_ZO_6024D60} - -D_ZO_6025658: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6025658, symbol: D_ZO_6025658} - -D_ZO_6025E60: - { type: GFX, offset: 0x6025E60, symbol: D_ZO_6025E60} - -D_ZO_6025F98: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6025F98, symbol: D_ZO_6025F98} - -D_ZO_60266D0: - { type: SF64:ENVIRONMENT, offset: 0x60266D0, symbol: D_ZO_60266D0} - -D_ZO_6026714: - { type: SF64:OBJECT_INIT, offset: 0x6026714, symbol: D_ZO_6026714} - -D_ZO_602AAC0: - { type: SF64:SCRIPT, offset: 0x602AAC0, symbol: D_ZO_602AAC0} - -D_ZO_602AC50: - { type: ARRAY, count: 289, array_type: u16, offset: 0x602AC50, symbol: D_ZO_602AC50} - -# Unused -D_ZO_602AE94: - { type: ARRAY, count: 242, array_type: Vec3f, offset: 0x602AE94, symbol: D_ZO_602AE94} - -aZoRockHitbox: - { type: SF64:HITBOX, offset: 0x602B9EC, symbol: aZoRockHitbox} - -aZoOilRig1Hitbox: - { type: SF64:HITBOX, offset: 0x602BA20, symbol: aZoOilRig1Hitbox} - -aZoOilRig2Hitbox: - { type: SF64:HITBOX, offset: 0x602BAE4, symbol: aZoOilRig2Hitbox} - -aZoOilRig3Hitbox: - { type: SF64:HITBOX, offset: 0x602BBD8, symbol: aZoOilRig3Hitbox} - -aZoIslandHitbox: - { type: SF64:HITBOX, offset: 0x602BC54, symbol: aZoIslandHitbox} - -aZoDodoraHitbox: - { type: SF64:HITBOX, offset: 0x602BC58, symbol: aZoDodoraHitbox} - -aZoTroikaHitbox: - { type: SF64:HITBOX, offset: 0x602BE3C, symbol: aZoTroikaHitbox} - -aZoObnemaHitbox: - { type: SF64:HITBOX, offset: 0x602BE58, symbol: aZoObnemaHitbox} - -aZoBarrierHitbox: - { type: SF64:HITBOX, offset: 0x602BFC4, symbol: aZoBarrierHitbox} - -aZoBarrierHitbox2: - { type: SF64:HITBOX, offset: 0x602C028, symbol: aZoBarrierHitbox2} - -aZoSarumarineHitbox: - { type: SF64:HITBOX, offset: 0x602C044, symbol: aZoSarumarineHitbox} - -aZoSarumarinePeriscopeHitbox: - { type: SF64:HITBOX, offset: 0x602C1A0, symbol: aZoSarumarinePeriscopeHitbox} - -aZoTankerHitbox: - { type: SF64:HITBOX, offset: 0x602C1D4, symbol: aZoTankerHitbox} - -aZoContainerHitbox: - { type: SF64:HITBOX, offset: 0x602C218, symbol: aZoContainerHitbox} - -aZoRadarBuoyHitbox: - { type: SF64:HITBOX, offset: 0x602C234, symbol: aZoRadarBuoyHitbox} - -aZoSupplyCraneHitbox: - { type: SF64:HITBOX, offset: 0x602C250, symbol: aZoSupplyCraneHitbox} - -aZoBirdHitbox: - { type: SF64:HITBOX, offset: 0x602C294, symbol: aZoBirdHitbox} - -aZoSearchLightHitbox: - { type: SF64:HITBOX, offset: 0x602C2B0, symbol: aZoSearchLightHitbox} - -D_ZO_602C2CC: - { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x602C2CC, symbol: D_ZO_602C2CC} - -D_ZO_602CACC: - {type: SF64:TRIANGLE, count: 30, offset: 0x602CACC, symbol: D_ZO_602CACC, mesh_symbol: D_ZO_OFFSET} diff --git a/include/bgm.h b/include/bgm.h index 3f5c6376..62f92d74 100644 --- a/include/bgm.h +++ b/include/bgm.h @@ -81,7 +81,12 @@ typedef enum BgmSeqIds { /* 63 */ SEQ_ID_TRAINING, /* 64 */ SEQ_ID_VE_CLEAR, /* 65 */ SEQ_ID_BOSS_RESUME, +#ifdef VERSION_EU + /* 66 */ SEQ_ID_VOICE_LYLAT, + /* 67 */ SEQ_ID_MAX, +#else /* 66 */ SEQ_ID_MAX, +#endif /* -1 */ SEQ_ID_NONE = 0xFFFF, } BgmSeqIds; @@ -89,6 +94,7 @@ typedef enum BgmSeqIds { #define NA_BGM_SE (SEQ_ID_SFX) #define NA_BGM_VO (SEQ_ID_VOICE) +#define NA_BGM_VO_LYLAT (SEQ_ID_VOICE_LYLAT) #define NA_BGM_STAGE_CO (SEQ_ID_CORNERIA | SEQ_FLAG) #define NA_BGM_STAGE_ME (SEQ_ID_METEO | SEQ_FLAG) #define NA_BGM_STAGE_TI (SEQ_ID_TITANIA | SEQ_FLAG) diff --git a/include/fox_option.h b/include/fox_option.h index e6b65f00..018a3cfb 100644 --- a/include/fox_option.h +++ b/include/fox_option.h @@ -57,26 +57,32 @@ typedef enum OptionId { /* 1000 */ OPTION_MAIN_MENU = 1000, /* 2000 */ OPTION_VERSUS_STAGE = 2000, /* 0 */ OPTION_MAP = 0, - /* 1 */ OPTION_TRAINING = 1, - /* 2 */ OPTION_VERSUS = 2, - /* 3 */ OPTION_RANKING = 3, - /* 4 */ OPTION_SOUND = 4, - /* 5 */ OPTION_DATA = 5, - /* 6 */ OPTION_EXPERT_SOUND = 6, + /* 1 */ OPTION_TRAINING, + /* 2 */ OPTION_VERSUS, + /* 3 */ OPTION_RANKING, + /* 4 */ OPTION_SOUND, +#ifdef VERSION_EU + /* 5 */ OPTION_LANGUAGE, + /* 6 */ OPTION_DATA, + /* 7 */ OPTION_EXPERT_SOUND, +#else + /* 5 */ OPTION_DATA, + /* 6 */ OPTION_EXPERT_SOUND, +#endif /* 10 */ OPTION_POINT_MATCH = 10, // Point Match /* 20 */ OPTION_BR_MATCH = 20, // Battle Royal Match /* 30 */ OPTION_TT_MATCH = 30, // Time Trial Match /* 200 */ OPTION_NAME_ENTRY = 200, /* 300 */ OPTION_SCORE = 300, /* 400 */ OPTION_INVOICE = 400, - /* 401 */ OPTION_MAX, + /* 401 */ OPTION_MAX } OptionId; extern u8* gBSSMapPlanetTextures[9]; extern u8* gAssetMapPlanetTextures[9]; extern s32 gTotalHitsRanking[]; -extern bool gGoToTitle; // engine +extern bool gGoToTitle; // engine extern bool sLevelStartState; extern s32 sWipeHeight; extern s32 sTitleRankMaxRecords; @@ -196,8 +202,8 @@ void Option_SetMenuLightPos(f32, f32, f32, f32*, f32*, f32*); void Option_CardLightning_Update(void); void Option_CardLightning_Draw(void); void Option_DrawCardLabel(OptionCardTexture tex); -bool Option_Input_MoveCursor_Y(s32* arg0, s32 arg1, bool arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 controllerNum, - StickInput* stickY); +bool Option_Input_MoveCursor_Y(s32* arg0, s32 arg1, bool arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, + s32 controllerNum, StickInput* stickY); s32 Option_Input_DataSelect_X(s32*); bool Option_Input_Sound_X(f32* arg0, f32 arg1, f32 arg2, StickInput* arg3); void Option_Color_FlashRed(f32*); diff --git a/include/sf64player.h b/include/sf64player.h index 71f28f91..00651a0c 100644 --- a/include/sf64player.h +++ b/include/sf64player.h @@ -65,23 +65,23 @@ typedef enum LevelMode { /* 3 */ LEVELMODE_MAX, } LevelMode; -typedef enum PlayerState1C8 { - /* 0 */ PLAYERSTATE_1C8_STANDBY, - /* 1 */ PLAYERSTATE_1C8_INIT, - /* 2 */ PLAYERSTATE_1C8_LEVEL_INTRO, - /* 3 */ PLAYERSTATE_1C8_ACTIVE, - /* 4 */ PLAYERSTATE_1C8_DOWN, - /* 5 */ PLAYERSTATE_1C8_U_TURN, - /* 6 */ PLAYERSTATE_1C8_NEXT, - /* 7 */ PLAYERSTATE_1C8_LEVEL_COMPLETE, - /* 8 */ PLAYERSTATE_1C8_ENTER_WARP_ZONE, - /* 9 */ PLAYERSTATE_1C8_START_360, - /* 10 */ PLAYERSTATE_1C8_GFOX_REPAIR, - /* 11 */ PLAYERSTATE_1C8_ANDROSS_MOUTH, - /* 12 */ PLAYERSTATE_1C8_12, - /* 13 */ PLAYERSTATE_1C8_VS_STANDBY, - /* 14 */ PLAYERSTATE_1C8_MAX, -} PlayerState1C8; +typedef enum PlayerState { + /* 0 */ PLAYERSTATE_STANDBY, + /* 1 */ PLAYERSTATE_INIT, + /* 2 */ PLAYERSTATE_LEVEL_INTRO, + /* 3 */ PLAYERSTATE_ACTIVE, + /* 4 */ PLAYERSTATE_DOWN, + /* 5 */ PLAYERSTATE_U_TURN, + /* 6 */ PLAYERSTATE_NEXT, + /* 7 */ PLAYERSTATE_LEVEL_COMPLETE, + /* 8 */ PLAYERSTATE_ENTER_WARP_ZONE, + /* 9 */ PLAYERSTATE_START_360, + /* 10 */ PLAYERSTATE_GFOX_REPAIR, + /* 11 */ PLAYERSTATE_ANDROSS_MOUTH, + /* 12 */ PLAYERSTATE_UNK_12, + /* 13 */ PLAYERSTATE_VS_STANDBY, + /* 14 */ PLAYERSTATE_MAX, +} PlayerState; typedef enum PlayerShotStatus { /* 0 */ SHOT_FREE, @@ -259,7 +259,7 @@ typedef struct Player { /* 0x1BC */ s32 turretRecoil; /* 0x1C0 */ s32 turretLockOnCount; /* 0x1C4 */ s32 num; - /* 0x1C8 */ PlayerState1C8 state_1C8; + /* 0x1C8 */ PlayerState state; /* 0x1CC */ PlayerForm form; /* 0x1D0 */ s32 csState; /* 0x1D4 */ bool grounded; diff --git a/include/sf64save.h b/include/sf64save.h index ee5ef045..0ed060b3 100644 --- a/include/sf64save.h +++ b/include/sf64save.h @@ -43,8 +43,9 @@ typedef struct SaveData { /* 0x4A */ u16 rankingMedal[RANKING_MAX]; // Medals obtained in the current record /* 0x5E */ PlanetStats stats[RANKING_MAX][ROUTE_MAX]; /* 0xEA */ u8 unk_EA; - /* 0xEB */ char padEB[0x3]; - /* 0xEE */ char padEE[0x10]; + /* 0xEB */ u8 textLanguage; // EU Only text language selection + /* 0xEC */ u8 voiceLanguage; // EU Only voice language selection + /* 0xED */ char padEE[0x11]; } SaveData; // size = 0xFE typedef struct { diff --git a/include/variables.h b/include/variables.h index ea946e71..eb224f68 100644 --- a/include/variables.h +++ b/include/variables.h @@ -155,7 +155,7 @@ extern s32 gCallTimer; extern s32 D_hud_80161704; extern s32 D_hud_80161708; extern s32 D_hud_8016170C; -extern s32 D_hud_80161710; +extern s32 gRadarMissileAlarmTimer; extern s32 gTotalHits; // 0x80161714 gTotalGameScore extern f32 D_hud_80161720[3]; extern s32 gDisplayedHitCount; diff --git a/linker_scripts/eu/rev0/symbol_addrs.txt b/linker_scripts/eu/rev0/symbol_addrs.txt index 219477ce..a0c0a46c 100644 --- a/linker_scripts/eu/rev0/symbol_addrs.txt +++ b/linker_scripts/eu/rev0/symbol_addrs.txt @@ -9,10 +9,10 @@ func_80002F00 = 0x80002F00; func_80002F20 = 0x80002F20; func_80002F64 = 0x80002F64; func_80003008 = 0x80003008; -func_800031EC = 0x800031EC; +Lib_InitPerspective = 0x800031EC; func_80003334 = 0x80003334; -func_80003460 = 0x80003460; -func_800035A0 = 0x800035A0; +Lib_DmaRead = 0x80003460; +Lib_FillScreen = 0x800035A0; func_800036A0 = 0x800036A0; func_800037FC = 0x800037FC; func_8000397C = 0x8000397C; @@ -50,23 +50,23 @@ func_800057B0 = 0x800057B0; func_800057C4 = 0x800057C4; func_80005B70 = 0x80005B70; func_80005CA4 = 0x80005CA4; -func_80005DB4 = 0x80005DB4; -func_80005F00 = 0x80005F00; +Matrix_RotateX = 0x80005DB4; +Matrix_RotateY = 0x80005F00; func_80006050 = 0x80006050; func_8000619C = 0x8000619C; func_80006570 = 0x80006570; func_8000678C = 0x8000678C; func_800069E0 = 0x800069E0; -func_80006A90 = 0x80006A90; +Matrix_MultVec3fNoTranslate = 0x80006A90; func_80006B28 = 0x80006B28; func_80006CEC = 0x80006CEC; func_80006EAC = 0x80006EAC; func_80006F28 = 0x80006F28; -func_80006F90 = 0x80006F90; -func_80006FA8 = 0x80006FA8; +Memory_FreeAll = 0x80006F90; +Memory_Allocate = 0x80006FA8; func_80006FD0 = 0x80006FD0; -func_80007048 = 0x80007048; -func_800070D8 = 0x800070D8; +Timer_CreateTask = 0x80007048; +Timer_Increment = 0x800070D8; func_800070EC = 0x800070EC; func_800070F8 = 0x800070F8; func_80007138 = 0x80007138; @@ -106,92 +106,92 @@ func_8000B460 = 0x8000B460; func_8000B4F0 = 0x8000B4F0; func_8000B58C = 0x8000B58C; func_8000B9FC = 0x8000B9FC; -func_8000BCE0 = 0x8000BCE0; -func_8000BDA8 = 0x8000BDA8; -func_8000BE94 = 0x8000BE94; -func_8000BF04 = 0x8000BF04; -func_8000BF84 = 0x8000BF84; -func_8000BFDC = 0x8000BFDC; -func_8000C004 = 0x8000C004; -func_8000C018 = 0x8000C018; -func_8000C048 = 0x8000C048; -func_8000C058 = 0x8000C058; -func_8000C0B4 = 0x8000C0B4; -func_8000C130 = 0x8000C130; -func_8000C1AC = 0x8000C1AC; -func_8000C268 = 0x8000C268; -func_8000C324 = 0x8000C324; -func_8000CA00 = 0x8000CA00; -func_8000CA58 = 0x8000CA58; +AudioHeap_ResetLoadStatus = 0x8000BCE0; +AudioHeap_DiscardFont = 0x8000BDA8; +AudioHeap_DiscardSequence = 0x8000BE94; +AudioHeap_AllocZeroed = 0x8000BF04; +AudioHeap_Alloc = 0x8000BF84; +AudioHeap_InitPool = 0x8000BFDC; +AudioHeap_InitPersistentCache = 0x8000C004; +AudioHeap_InitTemporaryCache = 0x8000C018; +AudioHeap_ResetPool = 0x8000C048; +AudioHeap_InitMainPools = 0x8000C058; +AudioHeap_InitSessionPools = 0x8000C0B4; +AudioHeap_InitCachePools = 0x8000C130; +AudioHeap_InitPersistentPoolsAndCaches = 0x8000C1AC; +AudioHeap_InitTemporaryPoolsAndCaches = 0x8000C268; +AudioHeap_AllocCached = 0x8000C324; +AudioHeap_SearchCaches = 0x8000CA00; +AudioHeap_SearchRegularCaches = 0x8000CA58; func_8000CB64 = 0x8000CB64; -func_8000CF38 = 0x8000CF38; -func_8000D0FC = 0x8000D0FC; -func_8000D174 = 0x8000D174; -func_8000D518 = 0x8000D518; -func_8000DB64 = 0x8000DB64; -func_8000DBBC = 0x8000DBBC; -func_8000DC3C = 0x8000DC3C; -func_8000DC8C = 0x8000DC8C; -func_8000DCDC = 0x8000DCDC; -func_8000DD2C = 0x8000DD2C; -func_8000DDC0 = 0x8000DDC0; -func_8000E054 = 0x8000E054; -func_8000E21C = 0x8000E21C; -func_8000E260 = 0x8000E260; -func_8000E2E8 = 0x8000E2E8; -func_8000E4F0 = 0x8000E4F0; -func_8000E5F8 = 0x8000E5F8; -func_8000E930 = 0x8000E930; -func_8000EC04 = 0x8000EC04; -func_8000EC64 = 0x8000EC64; -func_8000ED10 = 0x8000ED10; -func_8000ED78 = 0x8000ED78; -func_8000EE64 = 0x8000EE64; -func_8000EF34 = 0x8000EF34; -func_8000EF98 = 0x8000EF98; -func_8000F060 = 0x8000F060; -func_8000F0C8 = 0x8000F0C8; -func_8000F1A8 = 0x8000F1A8; -func_8000F250 = 0x8000F250; -func_8000F270 = 0x8000F270; -func_8000F3A4 = 0x8000F3A4; -func_8000F3D8 = 0x8000F3D8; -func_8000F4C8 = 0x8000F4C8; -func_8000F5A4 = 0x8000F5A4; -func_8000F7E0 = 0x8000F7E0; -func_8000F81C = 0x8000F81C; -func_8000F870 = 0x8000F870; -func_8000F8B4 = 0x8000F8B4; -func_8000FA78 = 0x8000FA78; -func_8000FBA0 = 0x8000FBA0; -func_8000FBF8 = 0x8000FBF8; +AudioHeap_UpdateReverbs = 0x8000CF38; +AudioHeap_ClearCurrentAiBuffer = 0x8000D0FC; +AudioHeap_ResetStep = 0x8000D174; +AudioHeap_Init = 0x8000D518; +AudioHeap_SearchPermanentCache = 0x8000DB64; +AudioHeap_AllocPermanent = 0x8000DBBC; +AudioHeap_AllocTemporarySampleCache = 0x8000DC3C; +AudioHeap_AllocPersistentSampleCache = 0x8000DC8C; +AudioHeap_AllocPersistentSampleCache_2 = 0x8000DCDC; +AudioHeap_InitSampleCaches = 0x8000DD2C; +AudioHeap_AllocTemporarySampleCacheEntry = 0x8000DDC0; +AudioHeap_DiscardSampleCacheEntry = 0x8000E054; +AudioHeap_UnapplySampleCache = 0x8000E21C; +AudioHeap_AllocPersistentSampleCacheEntry = 0x8000E260; +AudioHeap_DiscardSampleCaches = 0x8000E2E8; +AudioLoad_DecreaseSampleDmaTtls = 0x8000E4F0; +AudioLoad_DmaSampleData = 0x8000E5F8; +AudioLoad_InitSampleDmaBuffers = 0x8000E930; +AudioLoad_InitTable = 0x8000EC04; +AudioLoad_SyncLoadSeqFonts = 0x8000EC64; +AudioLoad_SyncLoadSeqParts = 0x8000ED10; +AudioLoad_SyncLoadSample = 0x8000ED78; +AudioLoad_SyncLoadInstrument = 0x8000EE64; +AudioLoad_AsyncLoadSampleBank = 0x8000EF34; +AudioLoad_AsyncLoadSeq = 0x8000EF98; +AudioLoad_GetFontsForSequence = 0x8000F060; +AudioLoad_DiscardSeqFonts = 0x8000F0C8; +AudioLoad_DiscardFont = 0x8000F1A8; +AudioLoad_SyncInitSeqPlayer = 0x8000F250; +AudioLoad_SyncInitSeqPlayerInternal = 0x8000F270; +AudioLoad_SyncLoadSeq = 0x8000F3A4; +AudioLoad_SyncLoadSampleBank = 0x8000F3D8; +AudioLoad_SyncLoadFont = 0x8000F4C8; +AudioLoad_SyncLoad = 0x8000F5A4; +AudioLoad_GetLoadTableIndex = 0x8000F7E0; +AudioLoad_SearchCaches = 0x8000F81C; +AudioLoad_GetLoadTable = 0x8000F870; +AudioLoad_RelocateFont = 0x8000F8B4; +AudioLoad_SyncDma = 0x8000FA78; +AudioLoad_SyncDmaUnkMedium = 0x8000FBA0; +AudioLoad_Dma = 0x8000FBF8; func_8000FCCC = 0x8000FCCC; func_8000FCDC = 0x8000FCDC; -func_8000FCF0 = 0x8000FCF0; -func_8000FD10 = 0x8000FD10; -func_8000FFEC = 0x8000FFEC; -func_8001001C = 0x8001001C; -func_800105D0 = 0x800105D0; -func_80010780 = 0x80010780; -func_800107EC = 0x800107EC; -func_80010854 = 0x80010854; -func_800109E0 = 0x800109E0; -func_80010A64 = 0x80010A64; -func_80010ABC = 0x80010ABC; -func_80010BD4 = 0x80010BD4; -func_80010C44 = 0x80010C44; -func_80010EE0 = 0x80010EE0; -func_80010F70 = 0x80010F70; -func_80010FC8 = 0x80010FC8; -func_80011104 = 0x80011104; -func_80011530 = 0x80011530; -func_800116F4 = 0x800116F4; -func_8001173C = 0x8001173C; +AudioLoad_SyncLoadSimple = 0x8000FCF0; +AudioLoad_AsyncLoadInner = 0x8000FD10; +AudioLoad_ProcessLoads = 0x8000FFEC; +AudioLoad_Init = 0x8001001C; +AudioLoad_SlowLoadSample = 0x800105D0; +AudioLoad_GetFontSample = 0x80010780; +AudioLoad_FinishSlowLoad = 0x800107EC; +AudioLoad_ProcessSlowLoads = 0x80010854; +AudioLoad_DmaSlowCopy = 0x800109E0; +AudioLoad_DmaSlowCopyUnkMedium = 0x80010A64; +AudioLoad_StartAsyncLoad = 0x80010ABC; +AudioLoad_ProcessAsyncLoads = 0x80010BD4; +AudioLoad_ProcessAsyncLoad = 0x80010C44; +AudioLoad_AsyncDma = 0x80010EE0; +AudioLoad_AsyncDmaUnkMedium = 0x80010F70; +AudioLoad_RelocateSample = 0x80010FC8; +AudioLoad_RelocateFontAndPreloadSamples = 0x80011104; +AudioLoad_ProcessSamplePreloads = 0x80011530; +AudioLoad_AddToSampleSet = 0x800116F4; +AudioLoad_GetSamplesForFont = 0x8001173C; func_80011870 = 0x80011870; func_80011C38 = 0x80011C38; func_80011CF0 = 0x80011CF0; -func_80011D2C = 0x80011D2C; -func_80011DDC = 0x80011DDC; +Audio_GetInstrument = 0x80011D2C; +Audio_GetDrum = 0x80011DDC; func_80011E98 = 0x80011E98; func_80011F2C = 0x80011F2C; func_80011F88 = 0x80011F88; @@ -250,128 +250,128 @@ func_80015FB4 = 0x80015FB4; func_8001676C = 0x8001676C; func_800167E4 = 0x800167E4; func_8001689C = 0x8001689C; -func_80016A30 = 0x80016A30; -func_80016A38 = 0x80016A38; -func_80016BA0 = 0x80016BA0; -func_80016CBC = 0x80016CBC; -func_80016EC4 = 0x80016EC4; -func_80016FD0 = 0x80016FD0; -func_8001737C = 0x8001737C; -func_800174B0 = 0x800174B0; -func_8001756C = 0x8001756C; -func_800175A4 = 0x800175A4; -func_8001761C = 0x8001761C; -func_8001777C = 0x8001777C; -func_800177E4 = 0x800177E4; -func_80018310 = 0x80018310; -func_80018338 = 0x80018338; -func_800183B8 = 0x800183B8; -func_8001842C = 0x8001842C; -func_8001848C = 0x8001848C; -func_800184F0 = 0x800184F0; -func_80018508 = 0x80018508; -func_800185BC = 0x800185BC; -func_80018614 = 0x80018614; -func_80018EB8 = 0x80018EB8; -func_80018EFC = 0x80018EFC; -func_80018FC0 = 0x80018FC0; -func_80019084 = 0x80019084; -func_80019100 = 0x80019100; -func_80019174 = 0x80019174; -func_800191D8 = 0x800191D8; -func_80019234 = 0x80019234; -func_800192AC = 0x800192AC; -func_80019450 = 0x80019450; -func_800197C8 = 0x800197C8; -func_800198DC = 0x800198DC; -func_8001A038 = 0x8001A038; -func_8001A2AC = 0x8001A2AC; -func_8001A3A8 = 0x8001A3A8; -func_8001A4D4 = 0x8001A4D4; -func_8001A51C = 0x8001A51C; -func_8001A578 = 0x8001A578; -func_8001A6E0 = 0x8001A6E0; -func_8001A854 = 0x8001A854; -func_8001A9A4 = 0x8001A9A4; -func_8001AA08 = 0x8001AA08; -func_8001AAAC = 0x8001AAAC; -func_8001AB00 = 0x8001AB00; -func_8001AB6C = 0x8001AB6C; -func_8001ACF8 = 0x8001ACF8; -func_8001AD1C = 0x8001AD1C; -func_8001AD60 = 0x8001AD60; -func_8001AE74 = 0x8001AE74; -func_8001AE94 = 0x8001AE94; -func_8001AEF0 = 0x8001AEF0; -func_8001AF5C = 0x8001AF5C; -func_8001AF6C = 0x8001AF6C; -func_8001AFB8 = 0x8001AFB8; -func_8001B030 = 0x8001B030; -func_8001B470 = 0x8001B470; -func_8001B790 = 0x8001B790; -func_8001BA5C = 0x8001BA5C; -func_8001BB90 = 0x8001BB90; -func_8001BC3C = 0x8001BC3C; -func_8001BC64 = 0x8001BC64; -func_8001BD28 = 0x8001BD28; -func_8001BFDC = 0x8001BFDC; -func_8001C408 = 0x8001C408; -func_8001C8D4 = 0x8001C8D4; -func_8001CA40 = 0x8001CA40; -func_8001CBB8 = 0x8001CBB8; -func_8001CD14 = 0x8001CD14; -func_8001CE60 = 0x8001CE60; -func_8001CF34 = 0x8001CF34; -func_8001CF98 = 0x8001CF98; -func_8001CFE0 = 0x8001CFE0; -func_8001D06C = 0x8001D06C; -func_8001D0EC = 0x8001D0EC; -func_8001D144 = 0x8001D144; -func_8001D194 = 0x8001D194; -func_8001D200 = 0x8001D200; -func_8001D334 = 0x8001D334; -func_8001D3D8 = 0x8001D3D8; -func_8001D438 = 0x8001D438; -func_8001D448 = 0x8001D448; -func_8001D47C = 0x8001D47C; -func_8001D4E4 = 0x8001D4E4; -func_8001D558 = 0x8001D558; -func_8001D670 = 0x8001D670; -func_8001D714 = 0x8001D714; -func_8001D7B8 = 0x8001D7B8; -func_8001D8E0 = 0x8001D8E0; -func_8001D92C = 0x8001D92C; -func_8001DA18 = 0x8001DA18; -func_8001DAC8 = 0x8001DAC8; -func_8001DC08 = 0x8001DC08; -func_8001DC64 = 0x8001DC64; -func_8001DCA4 = 0x8001DCA4; -func_8001DD04 = 0x8001DD04; -func_8001DD4C = 0x8001DD4C; -func_8001DD78 = 0x8001DD78; -func_8001DDE8 = 0x8001DDE8; -func_8001DEEC = 0x8001DEEC; -func_8001DF9C = 0x8001DF9C; -func_8001E020 = 0x8001E020; -func_8001E514 = 0x8001E514; -func_8001E7F0 = 0x8001E7F0; -func_8001E848 = 0x8001E848; -func_8001E898 = 0x8001E898; -func_8001E920 = 0x8001E920; -func_8001E978 = 0x8001E978; -func_8001E99C = 0x8001E99C; -func_8001E9C0 = 0x8001E9C0; -func_8001E9F0 = 0x8001E9F0; -func_8001EA68 = 0x8001EA68; -func_8001EA7C = 0x8001EA7C; -func_8001ED7C = 0x8001ED7C; -func_8001EDE4 = 0x8001EDE4; -func_8001EE04 = 0x8001EE04; -func_8001EE5C = 0x8001EE5C; -func_8001EED0 = 0x8001EED0; -func_8001EF0C = 0x8001EF0C; -func_8001EF30 = 0x8001EF30; -func_8001EF40 = 0x8001EF40; +Audio_dummy_80016A30 = 0x80016A30; +Audio_GetSfxFalloff = 0x80016A38; +Audio_GetSfxReverb = 0x80016BA0; +Audio_GetSfxPan = 0x80016CBC; +Audio_GetSfxFreqMod = 0x80016EC4; +Audio_SetSfxProperties = 0x80016FD0; +Audio_UpdateDopplerShift = 0x8001737C; +Audio_LoadInstruments = 0x800174B0; +Audio_LoadAquasSequence = 0x8001756C; +Audio_ResetSfxChannelState = 0x800175A4; +Audio_StartSequence = 0x8001761C; +Audio_StopSequence = 0x8001777C; +Audio_ProcessSeqCmd = 0x800177E4; +Audio_QueueSeqCmd = 0x80018310; +Audio_ProcessSeqCmds = 0x80018338; +Audio_GetActiveSeqId = 0x800183B8; +Audio_SeqCmdNotQueued = 0x8001842C; +Audio_SeqCmdValueNotQueued = 0x8001848C; +Audio_ResetSequenceRequests = 0x800184F0; +Audio_DisableSetupOp = 0x80018508; +Audio_SetSequenceFade = 0x800185BC; +Audio_UpdateActiveSequences = 0x80018614; +Audio_SetDelayedSeqCmd = 0x80018EB8; +Audio_UpdateDelayedSeqCmds = 0x80018EFC; +Audio_HandleReset = 0x80018FC0; +Audio_ResetActiveSequences = 0x80019084; +Audio_ResetActiveSequencesAndVolume = 0x80019100; +Audio_SetSfxBanksMute = 0x80019174; +Audio_ClearBGMMute = 0x800191D8; +Audio_PlaySfx = 0x80019234; +Audio_RemoveMatchingSfxRequests = 0x800192AC; +Audio_ProcessSfxRequest = 0x80019450; +Audio_RemoveSfxBankEntry = 0x800197C8; +Audio_ChooseActiveSfx = 0x800198DC; +Audio_PlayActiveSfx = 0x8001A038; +Audio_KillSfxByBank = 0x8001A2AC; +Audio_StopSfxByBankAndSource = 0x8001A3A8; +Audio_KillSfxByBankAndSource = 0x8001A4D4; +Audio_KillSfxBySource = 0x8001A51C; +Audio_KillSfxBySourceAndId = 0x8001A578; +Audio_KillSfxByTokenAndId = 0x8001A6E0; +Audio_KillSfxById = 0x8001A854; +Audio_ProcessSfxRequests = 0x8001A9A4; +Audio_SetSfxVolumeMod = 0x8001AA08; +Audio_UpdateSfxVolumeMod = 0x8001AAAC; +Audio_PlayAllSfx = 0x8001AB00; +Audio_ResetSfx = 0x8001AB6C; +Audio_PlayVoice = 0x8001ACF8; +Audio_PlayVoiceWithoutBGM = 0x8001AD1C; +Audio_UpdateVoice = 0x8001AD60; +Audio_ClearVoice = 0x8001AE74; +Audio_GetCurrentVoice = 0x8001AE94; +Audio_GetCurrentVoiceStatus = 0x8001AEF0; +Audio_SetUnkVoiceParam = 0x8001AF5C; +Audio_UpdateUnkVoiceParam = 0x8001AF6C; +Audio_ResetPlayerFreqMods = 0x8001AFB8; +Audio_UpdateArwingNoise = 0x8001B030; +Audio_UpdateLandmasterNoise = 0x8001B470; +Audio_UpdateBlueMarineNoise = 0x8001B790; +Audio_UpdatePlayerFreqMod = 0x8001BA5C; +Audio_UpdatePlayerReverb = 0x8001BB90; +Audio_UpdatePlayerNoise = 0x8001BC3C; +Audio_ResetVoicesAndPlayers = 0x8001BC64; +Audio_ProcessPlaylist = 0x8001BD28; +Audio_AnalyzeFrequencies = 0x8001BFDC; +Audio_UpdateFrequencyAnalysis = 0x8001C408; +Audio_StartPlayerNoise = 0x8001C8D4; +Audio_StopPlayerNoise = 0x8001CA40; +Audio_InitBombSfx = 0x8001CBB8; +Audio_PlayBombFlightSfx = 0x8001CD14; +Audio_PlayBombExplodeSfx = 0x8001CE60; +Audio_StartEngineNoise = 0x8001CF34; +Audio_StopEngineNoise = 0x8001CF98; +Audio_SetSfxSpeedModulation = 0x8001CFE0; +Audio_SetTransposeAndPlaySfx = 0x8001D06C; +Audio_SetModulationAndPlaySfx = 0x8001D0EC; +Audio_PlaySfxModulated = 0x8001D144; +Audio_SetSfxMapModulation = 0x8001D194; +Audio_SetHeatAlarmParams = 0x8001D200; +Audio_PlayEventSfx = 0x8001D334; +Audio_StopEventSfx = 0x8001D3D8; +Audio_SetEnvSfxReverb = 0x8001D438; +Audio_SetBgmParam = 0x8001D448; +Audio_PlaySequence = 0x8001D47C; +Audio_PlayFanfare = 0x8001D4E4; +Audio_PlayDeathSequence = 0x8001D558; +Audio_PlayPauseSfx = 0x8001D670; +Audio_PlayMapMenuSfx = 0x8001D714; +Audio_RestoreVolumeSettings = 0x8001D7B8; +Audio_SetVolume = 0x8001D8E0; +Audio_PlaySoundTest = 0x8001D92C; +Audio_PlaySequenceDistorted = 0x8001DA18; +Audio_PlaySoundTestTrack = 0x8001DAC8; +Audio_FadeOutAll = 0x8001DC08; +Audio_KillAllSfx = 0x8001DC64; +Audio_SetVoiceLanguage = 0x8001DCA4; +Audio_SetAudioSpec = 0x8001DD04; +Audio_PlayBgm = 0x8001DD4C; +Audio_InitSounds = 0x8001DD78; +Audio_RestartSeqPlayers = 0x8001DDE8; +Audio_StartReset = 0x8001DEEC; +Audio_Update = 0x8001DF9C; +AudioThread_CreateTask = 0x8001E020; +AudioThread_ProcessGlobalCmd = 0x8001E514; +AudioThread_SetFadeOutTimer = 0x8001E7F0; +AudioThread_SetFadeInTimer = 0x8001E848; +AudioThread_InitQueues = 0x8001E898; +AudioThread_QueueCmd = 0x8001E920; +AudioThread_QueueCmdF32 = 0x8001E978; +AudioThread_QueueCmdS32 = 0x8001E99C; +AudioThread_QueueCmdS8 = 0x8001E9C0; +AudioThread_ScheduleProcessCmds = 0x8001E9F0; +AudioThread_ResetCmdQueue = 0x8001EA68; +AudioThread_ProcessCmds = 0x8001EA7C; +AudioThread_GetAsyncLoadStatus = 0x8001ED7C; +AudioThread_GetFontsForSequence = 0x8001EDE4; +AudioThread_ResetComplete = 0x8001EE04; +AudioThread_ResetAudioHeap = 0x8001EE5C; +AudioThread_PreNMIReset = 0x8001EED0; +AudioThread_Init = 0x8001EF0C; +osDriveRomInit = 0x8001EF30; +Mio0_Decompress = 0x8001EF40; func_8001EFE0 = 0x8001EFE0; func_8001FAB0 = 0x8001FAB0; func_8001FAD4 = 0x8001FAD4; @@ -414,8 +414,8 @@ func_80020358 = 0x80020358; func_80020450 = 0x80020450; func_80020514 = 0x80020514; func_800205BC = 0x800205BC; -func_800206B0 = 0x800206B0; -func_800207F0 = 0x800207F0; +osRecvMesg = 0x800206B0; +osSendMesg = 0x800207F0; func_80020940 = 0x80020940; func_800209C4 = 0x800209C4; func_800209F0 = 0x800209F0; @@ -429,16 +429,16 @@ func_80021558 = 0x80021558; func_800215D0 = 0x800215D0; func_80021724 = 0x80021724; func_80021790 = 0x80021790; -func_80021810 = 0x80021810; +osInvalDCache = 0x80021810; func_800218C0 = 0x800218C0; func_800219D0 = 0x800219D0; -func_80021A40 = 0x80021A40; +osWritebackDCacheAll = 0x80021A40; func_80021A70 = 0x80021A70; func_80021AC0 = 0x80021AC0; func_80021B30 = 0x80021B30; func_80021BF0 = 0x80021BF0; func_80021C60 = 0x80021C60; -func_80021E20 = 0x80021E20; +osCreateMesgQueue = 0x80021E20; func_80021E50 = 0x80021E50; func_80021EC0 = 0x80021EC0; func_80021F30 = 0x80021F30; @@ -456,8 +456,8 @@ func_80022A9C = 0x80022A9C; func_80022BB0 = 0x80022BB0; func_80022C90 = 0x80022C90; func_80023130 = 0x80023130; -func_800231C0 = 0x800231C0; -func_80023380 = 0x80023380; +__sinf = 0x800231C0; +__cosf = 0x80023380; func_800234F0 = 0x800234F0; func_80023500 = 0x80023500; func_800235E0 = 0x800235E0; @@ -483,12 +483,12 @@ func_80024190 = 0x80024190; func_80024800 = 0x80024800; func_80024E50 = 0x80024E50; func_80024E80 = 0x80024E80; -func_80024E90 = 0x80024E90; -func_80024FF0 = 0x80024FF0; -func_800250E0 = 0x800250E0; -func_800251C0 = 0x800251C0; -func_800251D0 = 0x800251D0; -func_80025280 = 0x80025280; +osAiSetFrequency = 0x80024E90; +osCartRomInit = 0x80024FF0; +osEPiStartDma = 0x800250E0; +osAiGetLength = 0x800251C0; +osAiSetNextBuffer = 0x800251D0; +osGetCount = 0x80025280; func_80025290 = 0x80025290; func_80025340 = 0x80025340; func_80025390 = 0x80025390; @@ -663,7 +663,7 @@ func_8002E83C = 0x8002E83C; func_8002EE9C = 0x8002EE9C; func_8002EF70 = 0x8002EF70; func_8002EFA0 = 0x8002EFA0; -func_8002F2BC = 0x8002F2BC; +ActorAllRange_SpawnTeam = 0x8002F2BC; func_8002F51C = 0x8002F51C; func_8002F730 = 0x8002F730; func_8002F794 = 0x8002F794; @@ -838,11 +838,11 @@ func_80057484 = 0x80057484; func_80057794 = 0x80057794; func_80057844 = 0x80057844; func_80057C80 = 0x80057C80; -func_80058B10 = 0x80058B10; -func_80058BD8 = 0x80058BD8; -func_80058EA4 = 0x80058EA4; +Load_RomFile = 0x80058B10; +Load_SceneFiles = 0x80058BD8; +Load_SceneSetup = 0x80058EA4; func_80059428 = 0x80059428; -func_80059470 = 0x80059470; +Load_SetTextLanguage = 0x80059470; func_80059530 = 0x80059530; func_80059610 = 0x80059610; func_800596F0 = 0x800596F0; @@ -1398,8 +1398,8 @@ func_8009B6AC = 0x8009B6AC; func_8009B6E8 = 0x8009B6E8; func_8009C11C = 0x8009C11C; func_8009C154 = 0x8009C154; -func_8009C5FC = 0x8009C5FC; -func_8009C708 = 0x8009C708; +Math_SmoothStepToF = 0x8009C5FC; +Math_SmoothStepToAngle = 0x8009C708; func_8009C8BC = 0x8009C8BC; func_8009CAF4 = 0x8009CAF4; func_8009CCF0 = 0x8009CCF0; @@ -1409,7 +1409,7 @@ func_8009D70C = 0x8009D70C; func_8009DA8C = 0x8009DA8C; func_8009DDE8 = 0x8009DDE8; func_8009E09C = 0x8009E09C; -func_8009E364 = 0x8009E364; +Lib_TextureRect_IA8 = 0x8009E364; func_8009E61C = 0x8009E61C; func_8009E8E4 = 0x8009E8E4; func_8009EBB8 = 0x8009EBB8; @@ -1419,7 +1419,7 @@ func_8009F408 = 0x8009F408; func_8009F6D4 = 0x8009F6D4; func_8009F9AC = 0x8009F9AC; func_8009FC90 = 0x8009FC90; -func_8009FF44 = 0x8009FF44; +Graphics_FillRectangle = 0x8009FF44; func_800A009C = 0x800A009C; func_800A0138 = 0x800A0138; func_800A0184 = 0x800A0184; @@ -1432,15 +1432,15 @@ func_800A1A04 = 0x800A1A04; func_800A1B58 = 0x800A1B58; func_800A1B70 = 0x800A1B70; func_800A1EC0 = 0x800A1EC0; -func_800A1F90 = 0x800A1F90; -func_800A217C = 0x800A217C; -func_800A2224 = 0x800A2224; -func_800A2478 = 0x800A2478; +Game_SetGameState = 0x800A1F90; +Game_ChangeScene = 0x800A217C; +Game_InitMasterDL = 0x800A2224; +Game_InitStandbyDL = 0x800A2478; func_800A2554 = 0x800A2554; -func_800A25C0 = 0x800A25C0; -func_800A2AEC = 0x800A2AEC; -func_800A2BEC = 0x800A2BEC; -func_800A2CE0 = 0x800A2CE0; +Game_InitViewport = 0x800A25C0; +Game_Draw = 0x800A2AEC; +Game_SetScene = 0x800A2BEC; +Game_Update = 0x800A2CE0; func_800A3CC4 = 0x800A3CC4; func_800A3D50 = 0x800A3D50; func_800A3DBC = 0x800A3DBC; @@ -1451,8 +1451,8 @@ func_800A4610 = 0x800A4610; func_800A4670 = 0x800A4670; func_800A4684 = 0x800A4684; func_800A46AC = 0x800A46AC; -func_800A4B20 = 0x800A4B20; -func_800A4D60 = 0x800A4D60; +Player_WingEffects = 0x800A4B20; +Player_DamageEffects = 0x800A4D60; func_800A5300 = 0x800A5300; func_800A560C = 0x800A560C; func_800A563C = 0x800A563C; @@ -1460,18 +1460,18 @@ func_800A59F0 = 0x800A59F0; func_800A59F8 = 0x800A59F8; func_800A5C70 = 0x800A5C70; func_800A5EA0 = 0x800A5EA0; -func_800A5F04 = 0x800A5F04; -func_800A600C = 0x800A600C; +Play_Setup = 0x800A5F04; +Play_InitEnvironment = 0x800A600C; func_800A642C = 0x800A642C; -func_800A657C = 0x800A657C; +Play_SetupStarfield = 0x800A657C; func_800A6660 = 0x800A6660; func_800A66E8 = 0x800A66E8; func_800A6730 = 0x800A6730; func_800A6778 = 0x800A6778; func_800A67A8 = 0x800A67A8; func_800A67D8 = 0x800A67D8; -func_800A6808 = 0x800A6808; -func_800A6C50 = 0x800A6C50; +Play_ClearObjectData = 0x800A6808; +Play_UpdateFillScreen = 0x800A6C50; func_800A6D4C = 0x800A6D4C; func_800A6DCC = 0x800A6DCC; func_800A70B8 = 0x800A70B8; @@ -1489,12 +1489,12 @@ func_800A8EC4 = 0x800A8EC4; func_800A8F3C = 0x800A8F3C; func_800A9264 = 0x800A9264; func_800AAEBC = 0x800AAEBC; -func_800AB968 = 0x800AB968; +Player_InitializeAll = 0x800AB968; func_800AB9C0 = 0x800AB9C0; -func_800AB9F0 = 0x800AB9F0; -func_800AC020 = 0x800AC020; +Play_InitLevel = 0x800AB9F0; +Player_ResetVsData = 0x800AC020; func_800AC0C4 = 0x800AC0C4; -func_800AC170 = 0x800AC170; +Play_Init = 0x800AC170; func_800AC95C = 0x800AC95C; func_800ACD1C = 0x800ACD1C; func_800AD10C = 0x800AD10C; @@ -1508,8 +1508,8 @@ func_800ADEBC = 0x800ADEBC; func_800AE0F4 = 0x800AE0F4; func_800AE464 = 0x800AE464; func_800AE624 = 0x800AE624; -func_800AE944 = 0x800AE944; -func_800AEB70 = 0x800AEB70; +Player_CheckBounds360 = 0x800AE944; +Player_MoveArwing360 = 0x800AEB70; func_800AF3AC = 0x800AF3AC; func_800AF77C = 0x800AF77C; func_800B005C = 0x800B005C; @@ -1531,7 +1531,7 @@ func_800B4920 = 0x800B4920; func_800B49E4 = 0x800B49E4; func_800B4BF8 = 0x800B4BF8; func_800B4E2C = 0x800B4E2C; -func_800B4FE4 = 0x800B4FE4; +Player_Update = 0x800B4FE4; func_800B5DE4 = 0x800B5DE4; func_800B6458 = 0x800B6458; func_800B66E4 = 0x800B66E4; @@ -1542,12 +1542,12 @@ func_800B7678 = 0x800B7678; func_800B78AC = 0x800B78AC; func_800B790C = 0x800B790C; func_800B7B08 = 0x800B7B08; -func_800B80D8 = 0x800B80D8; -func_800B8A54 = 0x800B8A54; +Play_UpdateLevel = 0x800B80D8; +Play_Update = 0x800B8A54; func_800B8C54 = 0x800B8C54; func_800B8DCC = 0x800B8DCC; -func_800B8DF4 = 0x800B8DF4; -func_800B9500 = 0x800B9500; +Play_Main = 0x800B8DF4; +RCP_SetupDL = 0x800B9500; func_800B9544 = 0x800B9544; func_800B9648 = 0x800B9648; func_800B9678 = 0x800B9678; @@ -1562,7 +1562,7 @@ func_800B99C8 = 0x800B99C8; func_800B99F8 = 0x800B99F8; func_800B9A28 = 0x800B9A28; func_800B9A58 = 0x800B9A58; -func_800B9A88 = 0x800B9A88; +RCP_SetupDL_36 = 0x800B9A88; func_800B9AB8 = 0x800B9AB8; func_800B9BD0 = 0x800B9BD0; func_800B9C00 = 0x800B9C00; @@ -1687,14 +1687,14 @@ func_800C34B4 = 0x800C34B4; func_800C34E8 = 0x800C34E8; func_800C367C = 0x800C367C; func_800C38C8 = 0x800C38C8; -func_800C3ABC = 0x800C3ABC; +Message_IsPrintingChar = 0x800C3ABC; func_800C3B40 = 0x800C3B40; -func_800C3C14 = 0x800C3C14; -func_800C3D24 = 0x800C3D24; -D_800C41A0 = 0x800C41A0; -D_800C41F0 = 0x800C41F0; -D_800C4630 = 0x800C4630; -D_800C4860 = 0x800C4860; +Save_Write = 0x800C3C14; +Save_Read = 0x800C3D24; +gSampleBankTableInit = 0x800C41A0; +gSeqTableInit = 0x800C41F0; +gSoundFontTableInit = 0x800C4630; +gSeqFontTableInit = 0x800C4860; D_800C5180 = 0x800C5180; D_800C51D0 = 0x800C51D0; D_800C51E0 = 0x800C51E0; @@ -1722,44 +1722,44 @@ D_800C6120 = 0x800C6120; D_800C63EC = 0x800C63EC; D_800C6500 = 0x800C6500; D_800C6520 = 0x800C6520; -D_800C68E0 = 0x800C68E0; -D_800C68FC = 0x800C68FC; -D_800C6918 = 0x800C6918; -D_800C691C = 0x800C691C; -D_800C6920 = 0x800C6920; -D_800C6924 = 0x800C6924; -D_800C6928 = 0x800C6928; -D_800C6934 = 0x800C6934; -D_800C693C = 0x800C693C; -D_800C6940 = 0x800C6940; -D_800C6944 = 0x800C6944; -D_800C6948 = 0x800C6948; -D_800C694C = 0x800C694C; -D_800C6950 = 0x800C6950; -D_800C6954 = 0x800C6954; -D_800C6958 = 0x800C6958; -D_800C6960 = 0x800C6960; -D_800C6964 = 0x800C6964; -D_800C6968 = 0x800C6968; -D_800C696C = 0x800C696C; -D_800C6A38 = 0x800C6A38; -D_800C6A58 = 0x800C6A58; +sChannelsPerBank = 0x800C68E0; +sUsedChannelsPerBank = 0x800C68FC; +sSfxRequestWriteIndex = 0x800C6918; +sSfxRequestReadIndex = 0x800C691C; +sSfxChannelLayout = 0x800C6920; +sChannelMuteFlags = 0x800C6924; +gDefaultSfxSource = 0x800C6928; +gDefaultMod = 0x800C6934; +gDefaultReverb = 0x800C693C; +sAudioFrameCounter = 0x800C6940; +sSeqCmdWritePos = 0x800C6944; +sSeqCmdReadPos = 0x800C6948; +sStartSeqDisabled = 0x800C694C; +sSoundModeList = 0x800C6950; +sAudioSpecId = 0x800C6954; +sAudioResetStatus = 0x800C6958; +sEnvReverb = 0x800C6960; +sAudioSpecReverb = 0x800C6964; +sVolumeSettings = 0x800C6968; +sAudioSpecInstrumentSets = 0x800C696C; +sAudioSpecReverbAdd = 0x800C6A38; +sPlayerNoiseTimes = 0x800C6A58; D_800C6A70 = 0x800C6A70; -D_800C6A74 = 0x800C6A74; -D_800C6A78 = 0x800C6A78; -D_800C6A7C = 0x800C6A7C; -D_800C6A80 = 0x800C6A80; -D_800C6A84 = 0x800C6A84; -D_800C6A88 = 0x800C6A88; -D_800C6A8C = 0x800C6A8C; -D_800C6AE8 = 0x800C6AE8; -D_800C6BF8 = 0x800C6BF8; +sSfxFreqMod = 0x800C6A74; +sSfxVolMod = 0x800C6A78; +sPlaylistIndex = 0x800C6A7C; +sPlaylistTimer = 0x800C6A80; +sPlaylistCmdIndex = 0x800C6A84; +gVoiceLanguage = 0x800C6A88; +sEventSfx = 0x800C6A8C; +sSoundTestTracks = 0x800C6AE8; +sPlaylists = 0x800C6BF8; D_800C6C00 = 0x800C6C00; -D_800C7F88 = 0x800C7F88; -D_800C7F8C = 0x800C7F8C; -D_800C7F90 = 0x800C7F90; -D_800C7F94 = 0x800C7F94; -D_800C7F98 = 0x800C7F98; +sNextVoiceId = 0x800C7F88; +sCurrentVoiceId = 0x800C7F8C; +sSetNextVoiceId = 0x800C7F90; +sUnkVoiceParam = 0x800C7F94; +sMuteBgmForVoice = 0x800C7F98; D_800C7F9C = 0x800C7F9C; D_800C801C = 0x800C801C; D_800C8020 = 0x800C8020; @@ -1792,25 +1792,25 @@ D_800C8268 = 0x800C8268; D_800C8278 = 0x800C8278; D_800C8288 = 0x800C8288; D_800C8298 = 0x800C8298; -D_800C82C8 = 0x800C82C8; -D_800C883C = 0x800C883C; -D_800C8840 = 0x800C8840; -D_800C8844 = 0x800C8844; -D_800C8848 = 0x800C8848; -D_800C884C = 0x800C884C; -D_800C8850 = 0x800C8850; -D_800C8854 = 0x800C8854; -D_800C8860 = 0x800C8860; -D_800C8864 = 0x800C8864; -D_800C8868 = 0x800C8868; -D_800C886C = 0x800C886C; -D_800C8870 = 0x800C8870; -D_800C8874 = 0x800C8874; +gAudioSpecs = 0x800C82C8; +gSeqTicksPerBeat = 0x800C883C; +gAudioHeapSize = 0x800C8840; +gInitPoolSize = 0x800C8844; +gPermanentPoolSize = 0x800C8848; +gSequenceMedium = 0x800C884C; +gSoundFontMedium = 0x800C8850; +gSampleBankMedium = 0x800C8854; +gThreadCmdWritePos = 0x800C8860; +gThreadCmdReadPos = 0x800C8864; +gAudioTaskStartQueue = 0x800C8868; +gThreadCmdProcQueue = 0x800C886C; +gAudioSpecQueue = 0x800C8870; +gAudioResetQueue = 0x800C8874; D_800C8878 = 0x800C8878; D_800C887C = 0x800C887C; D_800C8884 = 0x800C8884; -D_800C8888 = 0x800C8888; -D_800C888C = 0x800C888C; +gCurCmdReadPos = 0x800C8888; +gThreadCmdQueueFinished = 0x800C888C; D_800C8890 = 0x800C8890; D_800C88D0 = 0x800C88D0; D_800C88E0 = 0x800C88E0; @@ -1992,34 +1992,34 @@ D_800CAF94 = 0x800CAF94; D_800CAF98 = 0x800CAF98; D_800CAF9C = 0x800CAF9C; D_800CAFAC = 0x800CAFAC; -D_800CAFC0 = 0x800CAFC0; -D_800CAFC4 = 0x800CAFC4; -D_800CB05C = 0x800CB05C; -D_800CB3EC = 0x800CB3EC; -D_800CB484 = 0x800CB484; -D_800CB64C = 0x800CB64C; -D_800CB814 = 0x800CB814; -D_800CB8AC = 0x800CB8AC; -D_800CB944 = 0x800CB944; -D_800CBA74 = 0x800CBA74; -D_800CBE04 = 0x800CBE04; -D_800CBF34 = 0x800CBF34; -D_800CBFCC = 0x800CBFCC; -D_800CC064 = 0x800CC064; -D_800CC0FC = 0x800CC0FC; -D_800CC22C = 0x800CC22C; -D_800CC2C4 = 0x800CC2C4; -D_800CC35C = 0x800CC35C; -D_800CC3F4 = 0x800CC3F4; -D_800CC48C = 0x800CC48C; -D_800CC524 = 0x800CC524; -D_800CC5BC = 0x800CC5BC; -D_800CC6EC = 0x800CC6EC; -D_800CC784 = 0x800CC784; -D_800CC81C = 0x800CC81C; -D_800CC8B4 = 0x800CC8B4; -D_800CC9E4 = 0x800CC9E4; -D_800CCA7C = 0x800CCA7C; +sFillTimer = 0x800CAFC0; +sNoOvl_Logo = 0x800CAFC4; +sOvlending_Ending = 0x800CB05C; +sOvlmenu_Title = 0x800CB3EC; +sOvlmenu_Option = 0x800CB484; +sOvlmenu_Map = 0x800CB64C; +sOvlmenu_GameOver = 0x800CB814; +sOvli1_Corneria = 0x800CB8AC; +sOvli2_Meteo = 0x800CB944; +sOvli5_Titania = 0x800CBA74; +sOvli2_SectorX = 0x800CBE04; +sOvli4_SectorZ = 0x800CBF34; +sOvli3_Aquas = 0x800CBFCC; +sOvli3_Area6 = 0x800CC064; +sOvli4_Fortuna = 0x800CC0FC; +sOvli3_Unk4 = 0x800CC22C; +sOvli6_SectorY = 0x800CC2C4; +sOvli3_Solar = 0x800CC35C; +sOvli3_Zoness = 0x800CC3F4; +sOvli1_Venom1 = 0x800CC48C; +sOvli6_Andross = 0x800CC524; +sOvli6_Venom2 = 0x800CC5BC; +sOvli2_Setup20 = 0x800CC6EC; +sOvli4_Bolse = 0x800CC784; +sOvli4_Katina = 0x800CC81C; +sOvli5_Macbeth = 0x800CC8B4; +sOvli1_Training = 0x800CC9E4; +sOvli2_Versus = 0x800CCA7C; D_800CCC44 = 0x800CCC44; //size:0x98 D_800CCCDC = 0x800CCCDC; D_800CCCE0 = 0x800CCCE0; @@ -2253,7 +2253,7 @@ D_800D4250 = 0x800D4250; D_800D4254 = 0x800D4254; D_800D4258 = 0x800D4258; D_800D425C = 0x800D425C; -D_800D4260 = 0x800D4260; +sVoiceVolume = 0x800D4260; D_800D4264 = 0x800D4264; D_800D4268 = 0x800D4268; D_800D426C = 0x800D426C; @@ -2340,7 +2340,7 @@ D_800D5980 = 0x800D5980; D_800D5A10 = 0x800D5A10; D_800D5AA0 = 0x800D5AA0; D_800D5B78 = 0x800D5B78; -D_800D5D70 = 0x800D5D70; +gRadioMsgPri = 0x800D5D70; D_800D5D74 = 0x800D5D74; D_800D5D78 = 0x800D5D78; D_800D5D80 = 0x800D5D80; @@ -2397,7 +2397,7 @@ D_800D608C = 0x800D608C; D_800D609C = 0x800D609C; D_800D60AC = 0x800D60AC; D_800D60BC = 0x800D60BC; -D_800D60D0 = 0x800D60D0; +gDefaultSave = 0x800D60D0; D_800DA910 = 0x800DA910; D_Gfx_800D94D0 = 0x800DA940; D_800DA958 = 0x800DA958; @@ -2451,7 +2451,7 @@ D_800DFA20 = 0x800DFA20; D_800DFA21 = 0x800DFA21; D_800DFA22 = 0x800DFA22; D_800DFA23 = 0x800DFA23; -D_800DFA24 = 0x800DFA24; +gControllerLock = 0x800DFA24; D_800DFA28 = 0x800DFA28; D_800DFA29 = 0x800DFA29; D_800DFA2A = 0x800DFA2A; @@ -2519,14 +2519,14 @@ D_80138E14 = 0x80138E14; D_80138E18 = 0x80138E18; D_80138E1C = 0x80138E1C; D_80138E20 = 0x80138E20; -D_80138E24 = 0x80138E24; +gMasterDisp = 0x80138E24; D_80138E28 = 0x80138E28; D_80138E2C = 0x80138E2C; D_80138E30 = 0x80138E30; -D_80138E34 = 0x80138E34; +gVIsPerFrame = 0x80138E34; D_80138E38 = 0x80138E38; D_80138E3C = 0x80138E3C; -D_80138E3D = 0x80138E3D; +gStopTasks = 0x80138E3D; D_80138E40 = 0x80138E40; D_80138E41 = 0x80138E41; D_80138E42 = 0x80138E42; @@ -2545,7 +2545,7 @@ D_8013D520 = 0x8013D520; D_8013D524 = 0x8013D524; D_8013D530 = 0x8013D530; D_8013D538 = 0x8013D538; -D_8013DD38 = 0x8013DD38; +gCalcMatrix = 0x8013DD38; D_8013DD40 = 0x8013DD40; D_8013E540 = 0x8013E540; D_80146D40 = 0x80146D40; @@ -2571,171 +2571,171 @@ D_80148ED8 = 0x80148ED8; D_80148EDC = 0x80148EDC; D_80148EE0 = 0x80148EE0; D_80148EF0 = 0x80148EF0; -D_80148F00 = 0x80148F00; +gSlowLoads = 0x80148F00; D_80148FC0 = 0x80148FC0; -D_80148FD0 = 0x80148FD0; -D_8014A7D0 = 0x8014A7D0; -D_8014BA90 = 0x8014BA90; -D_8014BA98 = 0x8014BA98; -D_8014BAA0 = 0x8014BAA0; -D_8014BAA8 = 0x8014BAA8; -D_8014BBE8 = 0x8014BBE8; -D_8014BBEC = 0x8014BBEC; -D_8014BBF8 = 0x8014BBF8; -D_8014BC48 = 0x8014BC48; -D_8014C048 = 0x8014C048; -D_8014C448 = 0x8014C448; -D_8014CA48 = 0x8014CA48; -D_8014CAC8 = 0x8014CAC8; -D_8014CAF0 = 0x8014CAF0; -D_8014CB10 = 0x8014CB10; -D_8014CB18 = 0x8014CB18; -D_8014CF18 = 0x8014CF18; +sSfxRequests = 0x80148FD0; +sSfxBanks = 0x8014A7D0; +sSfxBankListEnd = 0x8014BA90; +sSfxBankFreeListStart = 0x8014BA98; +sSfxBankUnused = 0x8014BAA0; +sActiveSfx = 0x8014BAA8; +sCurSfxPlayerChannelIndex = 0x8014BBE8; +sSfxBankMuted = 0x8014BBEC; +sSfxVolumeMods = 0x8014BBF8; +sAudioAnalyzerData = 0x8014BC48; +sAnalyzerBuffer1 = 0x8014C048; +sAnalyzerBuffer2 = 0x8014C448; +sNewFreqAmplitudes = 0x8014CA48; +sSeqRequests = 0x8014CAC8; +sFreqAnalyzerBars = 0x8014CAF0; +sNumSeqRequests = 0x8014CB10; +sAudioSeqCmds = 0x8014CB18; +sActiveSequences = 0x8014CF18; D_8014D160 = 0x8014D160; -D_8014D878 = 0x8014D878; -D_8014D880 = 0x8014D880; -D_8014D900 = 0x8014D900; -D_8014D9C0 = 0x8014D9C0; -D_8014DB80 = 0x8014DB80; -D_8014DB90 = 0x8014DB90; -D_8014DB94 = 0x8014DB94; -D_8014DB98 = 0x8014DB98; -D_8014DBB0 = 0x8014DBB0; -D_8014DBC0 = 0x8014DBC0; +sDelayedSeqCmdFlags = 0x8014D878; +sDelayedSeqCmds = 0x8014D880; +sSfxChannelState = 0x8014D900; +sPlayerNoise = 0x8014D9C0; +sBombFreqMod = 0x8014DB80; +sBombType = 0x8014DB90; +sBombState = 0x8014DB94; +sBombStartFrame = 0x8014DB98; +gAudioContextStart = 0x8014DBB0; +gSynthReverbs = 0x8014DBC0; D_8014E310 = 0x8014E310; D_8014E320 = 0x8014E320; D_8014E322 = 0x8014E322; -D_8014E323 = 0x8014E323; +gNumSynthReverbs = 0x8014E323; D_8014E324 = 0x8014E324; -D_8014E328 = 0x8014E328; -D_8014E330 = 0x8014E330; +gNoteSubsEu = 0x8014E328; +gSessionPool = 0x8014E330; D_8014E338 = 0x8014E338; -D_8014E340 = 0x8014E340; -D_8014E350 = 0x8014E350; -D_8014E380 = 0x8014E380; -D_8014E390 = 0x8014E390; -D_8014E3A0 = 0x8014E3A0; -D_8014E3B0 = 0x8014E3B0; +gInitPool = 0x8014E340; +gMiscPool = 0x8014E350; +gCachePool = 0x8014E380; +gPersistentCommonPool = 0x8014E390; +gTemporaryCommonPool = 0x8014E3A0; +gSeqCache = 0x8014E3B0; D_8014E3B4 = 0x8014E3B4; D_8014E544 = 0x8014E544; D_8014E548 = 0x8014E548; -D_8014E580 = 0x8014E580; +gFontCache = 0x8014E580; D_8014E584 = 0x8014E584; D_8014E714 = 0x8014E714; D_8014E718 = 0x8014E718; D_8014E732 = 0x8014E732; D_8014E73E = 0x8014E73E; -D_8014E750 = 0x8014E750; +gSampleBankCache = 0x8014E750; D_8014E754 = 0x8014E754; D_8014E8E4 = 0x8014E8E4; D_8014E8E8 = 0x8014E8E8; -D_8014E920 = 0x8014E920; +gPermanentPool = 0x8014E920; D_8014E92C = 0x8014E92C; -D_8014EAB0 = 0x8014EAB0; +gPersistentSampleCache = 0x8014EAB0; D_8014EAB8 = 0x8014EAB8; D_8014EAC0 = 0x8014EAC0; D_8014EFC0 = 0x8014EFC0; -D_8014EFC8 = 0x8014EFC8; +gTemporarySampleCache = 0x8014EFC8; D_8014EFCC = 0x8014EFCC; D_8014EFD0 = 0x8014EFD0; D_8014F4D8 = 0x8014F4D8; -D_8014F4E0 = 0x8014F4E0; -D_8014F4F0 = 0x8014F4F0; -D_8014F4F8 = 0x8014F4F8; -D_8014F508 = 0x8014F508; -D_8014F518 = 0x8014F518; -D_8014F558 = 0x8014F558; -D_8014F598 = 0x8014F598; -D_8014F698 = 0x8014F698; -D_8014F699 = 0x8014F699; -D_8014F69C = 0x8014F69C; -D_801506A0 = 0x801506A0; -D_801506A8 = 0x801506A8; +gSessionPoolSplit = 0x8014F4E0; +gCachePoolSplit = 0x8014F4F0; +gPersistentCommonPoolSplit = 0x8014F4F8; +gTemporaryCommonPoolSplit = 0x8014F508; +gSampleFontLoadStatus = 0x8014F518; +gFontLoadStatus = 0x8014F558; +gSeqLoadStatus = 0x8014F598; +gAudioResetStep = 0x8014F698; +gAudioSpecId = 0x8014F699; +gResetFadeoutFramesLeft = 0x8014F69C; +gNotes = 0x801506A0; +gSeqPlayers = 0x801506A8; D_80150740 = 0x80150740; D_801507F4 = 0x801507F4; D_80150940 = 0x80150940; D_80150974 = 0x80150974; D_80150A8C = 0x80150A8C; D_80150AFC = 0x80150AFC; -D_80150BD8 = 0x80150BD8; -D_80153158 = 0x80153158; +gSeqChannels = 0x80150BD8; +gSeqLayers = 0x80153158; D_801531C4 = 0x801531C4; D_80153758 = 0x80153758; D_801537B8 = 0x801537B8; D_80153AAE = 0x80153AAE; -D_80155158 = 0x80155158; +gSeqChannelNone = 0x80155158; D_801551C4 = 0x801551C4; -D_80155220 = 0x80155220; -D_80155230 = 0x80155230; +gLayerFreeList = 0x80155220; +gNoteFreeLists = 0x80155230; D_80155240 = 0x80155240; D_80155250 = 0x80155250; D_80155260 = 0x80155260; -D_80155270 = 0x80155270; -D_80155470 = 0x80155470; -D_80155E70 = 0x80155E70; -D_80155E74 = 0x80155E74; -D_80155E78 = 0x80155E78; -D_801563B8 = 0x801563B8; -D_801563D0 = 0x801563D0; -D_80156410 = 0x80156410; -D_80156428 = 0x80156428; -D_80156468 = 0x80156468; -D_80156480 = 0x80156480; -D_80156580 = 0x80156580; -D_80156B80 = 0x80156B80; -D_80156B98 = 0x80156B98; -D_80156BA0 = 0x80156BA0; -D_80156BB8 = 0x80156BB8; -D_80157BB8 = 0x80157BB8; -D_80157BBC = 0x80157BBC; +gUsedSamples = 0x80155270; +gPreloadSampleStack = 0x80155470; +gNumUsedSamples = 0x80155E70; +gPreloadSampleStackTop = 0x80155E74; +gAsyncLoads = 0x80155E78; +gExternalLoadQueue = 0x801563B8; +gExternalLoadMsg = 0x801563D0; +gPreloadSampleQueue = 0x80156410; +gPreloadSampleMsg = 0x80156428; +gCurAudioFrameDmaQueue = 0x80156468; +gCurAudioFrameDmaMsg = 0x80156480; +gCurAudioFrameDmaIoMsgBuf = 0x80156580; +gSyncDmaQueue = 0x80156B80; +gSyncDmaMsg = 0x80156B98; +gSyncDmaIoMsg = 0x80156BA0; +gSampleDmas = 0x80156BB8; +gSampleDmaCount = 0x80157BB8; +gSampleDmaListSize1 = 0x80157BBC; D_80157BC0 = 0x80157BC0; -D_80157BC8 = 0x80157BC8; -D_80157CC8 = 0x80157CC8; -D_80157DC8 = 0x80157DC8; -D_80157DC9 = 0x80157DC9; -D_80157DCA = 0x80157DCA; -D_80157DCB = 0x80157DCB; -D_80157DCC = 0x80157DCC; -D_80157DD0 = 0x80157DD0; -D_80157DD4 = 0x80157DD4; -D_80157DD8 = 0x80157DD8; -D_80157DDC = 0x80157DDC; -D_80157DE0 = 0x80157DE0; -D_80157DE8 = 0x80157DE8; +gSampleDmaReuseQueue1 = 0x80157BC8; +gSampleDmaReuseQueue2 = 0x80157CC8; +gSampleDmaReuseQueue1RdPos = 0x80157DC8; +gSampleDmaReuseQueue2RdPos = 0x80157DC9; +gSampleDmaReuseQueue1WrPos = 0x80157DCA; +gSampleDmaReuseQueue2WrPos = 0x80157DCB; +gSequenceTable = 0x80157DCC; +gSoundFontTable = 0x80157DD0; +gSampleBankTable = 0x80157DD4; +gSeqFontTable = 0x80157DD8; +gNumSequences = 0x80157DDC; +gSoundFontList = 0x80157DE0; +gAudioBufferParams = 0x80157DE8; D_80157DF2 = 0x80157DF2; D_80157E00 = 0x80157E00; D_80157E04 = 0x80157E04; -D_80157E08 = 0x80157E08; -D_80157E0C = 0x80157E0C; -D_80157E10 = 0x80157E10; -D_80157E14 = 0x80157E14; -D_80157E16 = 0x80157E16; -D_80157E18 = 0x80157E18; -D_80157E1C = 0x80157E1C; -D_80157E20 = 0x80157E20; -D_80157E24 = 0x80157E24; -D_80157E28 = 0x80157E28; -D_80157E30 = 0x80157E30; -D_80157E34 = 0x80157E34; -D_80157E38 = 0x80157E38; -D_80157ED8 = 0x80157ED8; -D_80157EDC = 0x80157EDC; -D_80157EE0 = 0x80157EE0; -D_80157EEC = 0x80157EEC; +gSampleDmaBuffSize = 0x80157E08; +gMaxAudioCmds = 0x80157E0C; +gNumNotes = 0x80157E10; +gMaxTempo = 0x80157E14; +gAudioSoundMode = 0x80157E16; +gAudioTaskCountQ = 0x80157E18; +gCurAudioFrameDmaCount = 0x80157E1C; +gAudioTaskIndexQ = 0x80157E20; +gCurAiBuffIndex = 0x80157E24; +gAbiCmdBuffs = 0x80157E28; +gCurAbiCmdBuffer = 0x80157E30; +gAudioCurTask = 0x80157E34; +gAudioRspTasks = 0x80157E38; +gMaxTempoTvTypeFactors = 0x80157ED8; +gRefreshRate = 0x80157EDC; +gAiBuffers = 0x80157EE0; +gAiBuffLengths = 0x80157EEC; D_80157EF2 = 0x80157EF2; -D_80157EF4 = 0x80157EF4; +gAudioRandom = 0x80157EF4; D_80157EF8 = 0x80157EF8; -D_80157EFC = 0x80157EFC; -D_80157F00 = 0x80157F00; +gAudioResetTimer = 0x80157EFC; +gAudioContextEnd = 0x80157F00; D_80157F10 = 0x80157F10; D_80157F28 = 0x80157F28; D_80157F40 = 0x80157F40; D_80157F58 = 0x80157F58; -D_80157F70 = 0x80157F70; -D_80158770 = 0x80158770; -D_80158778 = 0x80158778; -D_80158788 = 0x80158788; -D_8015878C = 0x8015878C; +gThreadCmdBuffer = 0x80157F70; +sAudioTaskStartMsg = 0x80158770; +sThreadCmdProcMsg = 0x80158778; +sAudioSpecMsg = 0x80158788; +sAudioResetMsg = 0x8015878C; D_80158790 = 0x80158790; D_801587CC = 0x801587CC; D_801587D0 = 0x801587D0; @@ -3002,13 +3002,13 @@ D_80163B8C = 0x80163B8C; D_80163B90 = 0x80163B90; D_80163B94 = 0x80163B94; D_80163B9C = 0x80163B9C; -D_80163B9E = 0x80163B9E; +gNextLevelPhase = 0x80163B9E; D_80163BA0 = 0x80163BA0; D_80163BA2 = 0x80163BA2; -D_80163BA4 = 0x80163BA4; +gLastGameState = 0x80163BA4; D_80163BA6 = 0x80163BA6; D_80163BA8 = 0x80163BA8; -D_80163BA9 = 0x80163BA9; +gGameStandby = 0x80163BA9; D_80163BAC = 0x80163BAC; D_80163BB0 = 0x80163BB0; D_80163BB4 = 0x80163BB4; @@ -3030,8 +3030,8 @@ D_80163BF8 = 0x80163BF8; D_80163BF9 = 0x80163BF9; D_80163BFC = 0x80163BFC; D_80163C00 = 0x80163C00; -D_80163C04 = 0x80163C04; -D_80163C08 = 0x80163C08; +gSavedHitCount = 0x80163C04; +gLifeCount = 0x80163C08; D_80163C10 = 0x80163C10; D_80163C13 = 0x80163C13; D_80163C20 = 0x80163C20; @@ -3140,19 +3140,19 @@ D_80179340 = 0x80179340; D_80179660 = 0x80179660; D_80179668 = 0x80179668; D_80179988 = 0x80179988; -D_8017998C = 0x8017998C; +gClearPlayerInfo = 0x8017998C; D_80179990 = 0x80179990; D_80179994 = 0x80179994; D_80179998 = 0x80179998; -D_8017999C = 0x8017999C; +gGameState = 0x8017999C; D_801799A0 = 0x801799A0; -D_801799A4 = 0x801799A4; +gNextGameStateTimer = 0x801799A4; D_801799A8 = 0x801799A8; D_801799AC = 0x801799AC; D_801799B0 = 0x801799B0; -D_801799B4 = 0x801799B4; +gOptionMenuStatus = 0x801799B4; D_801799B8 = 0x801799B8; -D_801799BC = 0x801799BC; +gPlayState = 0x801799BC; D_801799C0 = 0x801799C0; D_801799D0 = 0x801799D0; D_801799D8 = 0x801799D8; @@ -3161,12 +3161,12 @@ D_801799E0 = 0x801799E0; D_801799E4 = 0x801799E4; D_801799E8 = 0x801799E8; D_801799F0 = 0x801799F0; -D_80179A00 = 0x80179A00; +gDrawMode = 0x80179A00; D_80179A04 = 0x80179A04; D_80179A08 = 0x80179A08; D_80179A0B = 0x80179A0B; D_80179A0C = 0x80179A0C; -D_80179A10 = 0x80179A10; +gCamCount = 0x80179A10; D_80179A13 = 0x80179A13; D_80179A14 = 0x80179A14; D_80179A18 = 0x80179A18; @@ -3176,7 +3176,7 @@ D_80179A24 = 0x80179A24; D_80179A28 = 0x80179A28; D_80179A30 = 0x80179A30; D_80179A38 = 0x80179A38; -D_80179A3C = 0x80179A3C; +gSavedTeamShields = 0x80179A3C; D_80179A48 = 0x80179A48; D_80179A50 = 0x80179A50; D_80179A5C = 0x80179A5C; @@ -3187,16 +3187,16 @@ D_80179A88 = 0x80179A88; D_80179A90 = 0x80179A90; D_80179A98 = 0x80179A98; D_80179AA0 = 0x80179AA0; -D_80179AA8 = 0x80179AA8; +gGroundHeight = 0x80179AA8; D_80179AB0 = 0x80179AB0; D_80179AB8 = 0x80179AB8; D_80179AC0 = 0x80179AC0; -D_80179AD0 = 0x80179AD0; +gPlayerTurnRate = 0x80179AD0; D_80179AD4 = 0x80179AD4; -D_80179AD8 = 0x80179AD8; +gPlayerTurnStickMod = 0x80179AD8; D_80179ADC = 0x80179ADC; D_80179AE0 = 0x80179AE0; -D_80179AE4 = 0x80179AE4; +gInputPress = 0x80179AE4; D_80179AE8 = 0x80179AE8; D_80179AEC = 0x80179AEC; D_80179AF0 = 0x80179AF0; @@ -3211,7 +3211,7 @@ D_80179B40 = 0x80179B40; D_80179B4C = 0x80179B4C; D_80179B50 = 0x80179B50; D_80179B5C = 0x80179B5C; -D_80179B60 = 0x80179B60; +gExpertMode = 0x80179B60; D_80179B68 = 0x80179B68; D_80179B78 = 0x80179B78; D_80179B7C = 0x80179B7C; @@ -3239,11 +3239,11 @@ D_80179C18 = 0x80179C18; D_80179C20 = 0x80179C20; D_80179C30 = 0x80179C30; D_80179C38 = 0x80179C38; -D_80179C48 = 0x80179C48; +gTitleState = 0x80179C48; D_80179C50 = 0x80179C50; -D_80179C60 = 0x80179C60; +gMainController = 0x80179C60; D_80179C68 = 0x80179C68; -D_80179CA8 = 0x80179CA8; +gMapState = 0x80179CA8; D_80179CAC = 0x80179CAC; D_80179CB0 = 0x80179CB0; D_80179CB4 = 0x80179CB4; @@ -3265,12 +3265,12 @@ D_80179DE8 = 0x80179DE8; D_80179DF4 = 0x80179DF4; D_80179DF8 = 0x80179DF8; D_80179DFC = 0x80179DFC; -D_80179E00 = 0x80179E00; +gLevelType = 0x80179E00; D_80179E04 = 0x80179E04; -D_80179E08 = 0x80179E08; +gSavedObjectLoadIndex = 0x80179E08; D_80179E0C = 0x80179E0C; D_80179E14 = 0x80179E14; -D_80179E18 = 0x80179E18; +gSavedPathProgress = 0x80179E18; D_80179E1C = 0x80179E1C; D_80179E24 = 0x80179E24; D_80179E28 = 0x80179E28; @@ -3285,18 +3285,18 @@ D_80179E58 = 0x80179E58; D_80179E5C = 0x80179E5C; D_80179E70 = 0x80179E70; D_80179E78 = 0x80179E78; -D_80179E88 = 0x80179E88; +gPathProgress = 0x80179E88; D_80179E90 = 0x80179E90; D_80179EA0 = 0x80179EA0; D_80179EA8 = 0x80179EA8; -D_80179EB8 = 0x80179EB8; +gRadioTextBoxScaleY = 0x80179EB8; D_80179EC0 = 0x80179EC0; -D_80179ED0 = 0x80179ED0; +gRadioMsgRadioId = 0x80179ED0; D_80179ED8 = 0x80179ED8; D_80179EF0 = 0x80179EF0; D_80179F08 = 0x80179F08; D_80179F10 = 0x80179F10; -D_80179F18 = 0x80179F18; +gGameFrameCount = 0x80179F18; D_80179F20 = 0x80179F20; D_80179F30 = 0x80179F30; D_80179F38 = 0x80179F38; @@ -3315,17 +3315,17 @@ D_8017A08C = 0x8017A08C; D_8017A194 = 0x8017A194; D_8017A294 = 0x8017A294; D_8017A29C = 0x8017A29C; -D_8017A39C = 0x8017A39C; +gCurrentLevel = 0x8017A39C; D_8017A3A1 = 0x8017A3A1; D_8017A3E4 = 0x8017A3E4; -D_8017A3E8 = 0x8017A3E8; +gPlayer = 0x8017A3E8; D_8017A3EC = 0x8017A3EC; D_8017A3F0 = 0x8017A3F0; D_8017A3F4 = 0x8017A3F4; D_8017A3F8 = 0x8017A3F8; D_8017A3FC = 0x8017A3FC; D_8017A400 = 0x8017A400; -D_8017A404 = 0x8017A404; +gRadioState = 0x8017A404; D_8017A40C = 0x8017A40C; D_8017A410 = 0x8017A410; D_8017A414 = 0x8017A414; @@ -3338,7 +3338,7 @@ D_8017A430 = 0x8017A430; D_8017A434 = 0x8017A434; D_8017A438 = 0x8017A438; D_8017A43C = 0x8017A43C; -D_8017A440 = 0x8017A440; +gRadioMsgCharIndex = 0x8017A440; D_8017A444 = 0x8017A444; D_8017A44C = 0x8017A44C; D_8017A450 = 0x8017A450; @@ -3346,13 +3346,13 @@ D_8017A454 = 0x8017A454; D_8017A460 = 0x8017A460; D_8017A464 = 0x8017A464; D_8017A468 = 0x8017A468; -D_8017A470 = 0x8017A470; +gRadioMsg = 0x8017A470; D_8017A478 = 0x8017A478; D_8017A488 = 0x8017A488; D_8017A490 = 0x8017A490; D_8017A498 = 0x8017A498; D_8017A4A0 = 0x8017A4A0; -D_8017A4A8 = 0x8017A4A8; +gFillScreenAlpha = 0x8017A4A8; D_8017A4B0 = 0x8017A4B0; D_8017A4B8 = 0x8017A4B8; D_8017A4BC = 0x8017A4BC; @@ -3375,7 +3375,7 @@ D_8017A538 = 0x8017A538; D_8017A53C = 0x8017A53C; D_8017A540 = 0x8017A540; D_8017A544 = 0x8017A544; -D_8017A578 = 0x8017A578; +gStarCount = 0x8017A578; D_8017A57C = 0x8017A57C; D_8017A580 = 0x8017A580; D_8017A588 = 0x8017A588; @@ -3507,7 +3507,7 @@ D_8017A9D0 = 0x8017A9D0; D_8017A9D4 = 0x8017A9D4; D_8017A9D8 = 0x8017A9D8; D_8017A9DC = 0x8017A9DC; -D_8017A9E0 = 0x8017A9E0; +gSaveFile = 0x8017A9E0; D_8017A9E1 = 0x8017A9E1; D_8017A9E2 = 0x8017A9E2; D_8017A9E3 = 0x8017A9E3; @@ -5382,46 +5382,46 @@ func_menu_801954DC = 0x801954DC; //segment:ovl_menu func_menu_80195588 = 0x80195588; //segment:ovl_menu func_menu_80195640 = 0x80195640; //segment:ovl_menu func_menu_80195708 = 0x80195708; //segment:ovl_menu -func_menu_80195880 = 0x80195880; //segment:ovl_menu -func_menu_80195E4C = 0x80195E4C; //segment:ovl_menu -func_menu_80195F18 = 0x80195F18; //segment:ovl_menu -func_menu_801960D8 = 0x801960D8; //segment:ovl_menu +Option_Setup = 0x80195880; //segment:ovl_menu +Option_Main = 0x80195E4C; //segment:ovl_menu +Option_Entry_Update = 0x80195F18; //segment:ovl_menu +Option_Entry_Draw = 0x801960D8; //segment:ovl_menu func_menu_8019626C = 0x8019626C; //segment:ovl_menu -func_menu_80196408 = 0x80196408; //segment:ovl_menu +Option_Entry_Setup = 0x80196408; //segment:ovl_menu func_menu_801964EC = 0x801964EC; //segment:ovl_menu func_menu_8019668C = 0x8019668C; //segment:ovl_menu -func_menu_80196810 = 0x80196810; //segment:ovl_menu -func_menu_8019688C = 0x8019688C; //segment:ovl_menu +Option_Map_Update = 0x80196810; //segment:ovl_menu +Option_Training_Update = 0x8019688C; //segment:ovl_menu func_menu_80196944 = 0x80196944; //segment:ovl_menu -func_menu_80196D60 = 0x80196D60; //segment:ovl_menu -func_menu_801979D8 = 0x801979D8; //segment:ovl_menu +Option_MainMenu_Update = 0x80196D60; //segment:ovl_menu +Option_MainMenu_Draw = 0x801979D8; //segment:ovl_menu func_menu_80197C78 = 0x80197C78; //segment:ovl_menu -func_menu_80197DE0 = 0x80197DE0; //segment:ovl_menu +Option_Versus_Update = 0x80197DE0; //segment:ovl_menu func_menu_80198700 = 0x80198700; //segment:ovl_menu func_menu_80198888 = 0x80198888; //segment:ovl_menu -func_menu_80198AB8 = 0x80198AB8; //segment:ovl_menu -func_menu_80198CFC = 0x80198CFC; //segment:ovl_menu -func_menu_80198DE0 = 0x80198DE0; //segment:ovl_menu +Option_Sound_Update = 0x80198AB8; //segment:ovl_menu +Option_Sound_SetSoundMode = 0x80198CFC; //segment:ovl_menu +Option_Sound_SetVolumeLevels = 0x80198DE0; //segment:ovl_menu func_menu_80198F04 = 0x80198F04; //segment:ovl_menu func_menu_801996C0 = 0x801996C0; //segment:ovl_menu func_menu_80199CFC = 0x80199CFC; //segment:ovl_menu -func_menu_80199D64 = 0x80199D64; //segment:ovl_menu +Option_ExpertSound_Update = 0x80199D64; //segment:ovl_menu func_menu_80199F94 = 0x80199F94; //segment:ovl_menu func_menu_8019A69C = 0x8019A69C; //segment:ovl_menu -func_menu_8019A724 = 0x8019A724; //segment:ovl_menu +Option_Language_Update = 0x8019A724; //segment:ovl_menu func_menu_8019A790 = 0x8019A790; //segment:ovl_menu func_menu_8019A930 = 0x8019A930; //segment:ovl_menu func_menu_8019AAC8 = 0x8019AAC8; //segment:ovl_menu func_menu_8019AC74 = 0x8019AC74; //segment:ovl_menu func_menu_8019B274 = 0x8019B274; //segment:ovl_menu func_menu_8019B490 = 0x8019B490; //segment:ovl_menu -func_menu_8019B4D4 = 0x8019B4D4; //segment:ovl_menu -func_menu_8019B754 = 0x8019B754; //segment:ovl_menu +Option_Data_Update = 0x8019B4D4; //segment:ovl_menu +Option_Data_Select = 0x8019B754; //segment:ovl_menu func_menu_8019B970 = 0x8019B970; //segment:ovl_menu func_menu_8019BFF0 = 0x8019BFF0; //segment:ovl_menu -func_menu_8019C098 = 0x8019C098; //segment:ovl_menu +Option_Ranking_Update = 0x8019C098; //segment:ovl_menu func_menu_8019C138 = 0x8019C138; //segment:ovl_menu -func_menu_8019C160 = 0x8019C160; //segment:ovl_menu +Option_Ranking_Select = 0x8019C160; //segment:ovl_menu func_menu_8019C210 = 0x8019C210; //segment:ovl_menu func_menu_8019C2F8 = 0x8019C2F8; //segment:ovl_menu func_menu_8019C55C = 0x8019C55C; //segment:ovl_menu @@ -5440,17 +5440,17 @@ func_menu_8019DCD8 = 0x8019DCD8; //segment:ovl_menu func_menu_8019E504 = 0x8019E504; //segment:ovl_menu func_menu_8019E5F0 = 0x8019E5F0; //segment:ovl_menu func_menu_8019E630 = 0x8019E630; //segment:ovl_menu -func_menu_8019E790 = 0x8019E790; //segment:ovl_menu +Option_VersusMenu_Update = 0x8019E790; //segment:ovl_menu func_menu_8019E808 = 0x8019E808; //segment:ovl_menu func_menu_8019EAF8 = 0x8019EAF8; //segment:ovl_menu func_menu_8019EB8C = 0x8019EB8C; //segment:ovl_menu func_menu_8019F278 = 0x8019F278; //segment:ovl_menu func_menu_8019F378 = 0x8019F378; //segment:ovl_menu func_menu_8019F450 = 0x8019F450; //segment:ovl_menu -func_menu_8019F47C = 0x8019F47C; //segment:ovl_menu -func_menu_8019F4E8 = 0x8019F4E8; //segment:ovl_menu -func_menu_8019F56C = 0x8019F56C; //segment:ovl_menu -func_menu_8019F5D8 = 0x8019F5D8; //segment:ovl_menu +Option_VersusStage_Update = 0x8019F47C; //segment:ovl_menu +Option_Vs_PointMatch_Update = 0x8019F4E8; //segment:ovl_menu +Option_Vs_BattleRoyal_Update = 0x8019F56C; //segment:ovl_menu +Option_Vs_TimeTrial_Update = 0x8019F5D8; //segment:ovl_menu func_menu_8019F65C = 0x8019F65C; //segment:ovl_menu func_menu_8019F6A4 = 0x8019F6A4; //segment:ovl_menu func_menu_8019F8A0 = 0x8019F8A0; //segment:ovl_menu @@ -5476,22 +5476,22 @@ func_menu_801A14A8 = 0x801A14A8; //segment:ovl_menu func_menu_801A1560 = 0x801A1560; //segment:ovl_menu func_menu_801A1678 = 0x801A1678; //segment:ovl_menu func_menu_801A174C = 0x801A174C; //segment:ovl_menu -func_menu_801A1A44 = 0x801A1A44; //segment:ovl_menu +Option_Input_MoveCursor_Y = 0x801A1A44; //segment:ovl_menu func_menu_801A1BCC = 0x801A1BCC; //segment:ovl_menu func_menu_801A1C98 = 0x801A1C98; //segment:ovl_menu func_menu_801A1E54 = 0x801A1E54; //segment:ovl_menu func_menu_801A1EF4 = 0x801A1EF4; //segment:ovl_menu -func_menu_801A2110 = 0x801A2110; //segment:ovl_menu +Option_NameEntry_Update = 0x801A2110; //segment:ovl_menu func_menu_801A21F0 = 0x801A21F0; //segment:ovl_menu func_menu_801A2388 = 0x801A2388; //segment:ovl_menu func_menu_801A275C = 0x801A275C; //segment:ovl_menu func_menu_801A2C80 = 0x801A2C80; //segment:ovl_menu func_menu_801A317C = 0x801A317C; //segment:ovl_menu func_menu_801A3344 = 0x801A3344; //segment:ovl_menu -func_menu_801A33A0 = 0x801A33A0; //segment:ovl_menu +Option_Score_Update = 0x801A33A0; //segment:ovl_menu func_menu_801A34E8 = 0x801A34E8; //segment:ovl_menu func_menu_801A35D8 = 0x801A35D8; //segment:ovl_menu -func_menu_801A369C = 0x801A369C; //segment:ovl_menu +Option_Invoice_Update = 0x801A369C; //segment:ovl_menu func_menu_801A38F0 = 0x801A38F0; //segment:ovl_menu func_menu_801A3E00 = 0x801A3E00; //segment:ovl_menu func_menu_801A3E5C = 0x801A3E5C; //segment:ovl_menu @@ -6223,8 +6223,8 @@ D_menu_801BBC70 = 0x801BBC70; //segment:ovl_menu D_menu_801BBC80 = 0x801BBC80; //segment:ovl_menu D_menu_801BBC84 = 0x801BBC84; //segment:ovl_menu D_menu_801BBC88 = 0x801BBC88; //segment:ovl_menu -D_menu_801BBC8C = 0x801BBC8C; //segment:ovl_menu -D_menu_801BBC90 = 0x801BBC90; //segment:ovl_menu +sMenuEntryState = 0x801BBC8C; //segment:ovl_menu +sMainMenuState = 0x801BBC90; //segment:ovl_menu D_menu_801BBC94 = 0x801BBC94; //segment:ovl_menu D_menu_801BBC98 = 0x801BBC98; //segment:ovl_menu D_menu_801BBC9C = 0x801BBC9C; //segment:ovl_menu @@ -6237,7 +6237,7 @@ D_menu_801BBCB0 = 0x801BBCB0; //segment:ovl_menu D_menu_801BBCB4 = 0x801BBCB4; //segment:ovl_menu D_menu_801BBCB8 = 0x801BBCB8; //segment:ovl_menu D_menu_801BBCBC = 0x801BBCBC; //segment:ovl_menu -D_menu_801BBCC0 = 0x801BBCC0; //segment:ovl_menu +sMainMenuCursor = 0x801BBCC0; //segment:ovl_menu D_menu_801BBCC4 = 0x801BBCC4; //segment:ovl_menu D_menu_801BBCC8 = 0x801BBCC8; //segment:ovl_menu D_menu_801BBCCC = 0x801BBCCC; //segment:ovl_menu @@ -6249,7 +6249,7 @@ D_menu_801BBCE8 = 0x801BBCE8; //segment:ovl_menu D_menu_801BBCEE = 0x801BBCEE; //segment:ovl_menu D_menu_801BBCF0 = 0x801BBCF0; //segment:ovl_menu D_menu_801BBCF8 = 0x801BBCF8; //segment:ovl_menu -D_menu_801BBD04 = 0x801BBD04; //segment:ovl_menu +sDrawCursor = 0x801BBD04; //segment:ovl_menu D_menu_801BBD08 = 0x801BBD08; //segment:ovl_menu D_menu_801BBD14 = 0x801BBD14; //segment:ovl_menu D_menu_801BBD18 = 0x801BBD18; //segment:ovl_menu @@ -6279,8 +6279,8 @@ D_menu_801BBD98 = 0x801BBD98; //segment:ovl_menu D_menu_801BBDA0 = 0x801BBDA0; //segment:ovl_menu D_menu_801BBDA4 = 0x801BBDA4; //segment:ovl_menu D_menu_801BBDA8 = 0x801BBDA8; //segment:ovl_menu -D_menu_801BBDAC = 0x801BBDAC; //segment:ovl_menu -D_menu_801BBDB0 = 0x801BBDB0; //segment:ovl_menu +sRightArwingCursorYrot = 0x801BBDAC; //segment:ovl_menu +sLeftArwingCursorYrot = 0x801BBDB0; //segment:ovl_menu D_menu_801BBDB4 = 0x801BBDB4; //segment:ovl_menu D_menu_801BBDB8 = 0x801BBDB8; //segment:ovl_menu D_menu_801BBDBC = 0x801BBDBC; //segment:ovl_menu @@ -6297,8 +6297,8 @@ D_menu_801BBDE4 = 0x801BBDE4; //segment:ovl_menu D_menu_801BBDE8 = 0x801BBDE8; //segment:ovl_menu D_menu_801BBDEC = 0x801BBDEC; //segment:ovl_menu D_menu_801BBDF0 = 0x801BBDF0; //segment:ovl_menu -D_menu_801BBDF4 = 0x801BBDF4; //segment:ovl_menu -D_menu_801BBDF8 = 0x801BBDF8; //segment:ovl_menu +sMainMenuFromCancel = 0x801BBDF4; //segment:ovl_menu +sVsSubMenuFromCancel = 0x801BBDF8; //segment:ovl_menu D_menu_801BBDFC = 0x801BBDFC; //segment:ovl_menu D_menu_801BBDFE = 0x801BBDFE; //segment:ovl_menu D_menu_801BBE00 = 0x801BBE00; //segment:ovl_menu @@ -6340,7 +6340,7 @@ D_menu_801BBEF6 = 0x801BBEF6; //segment:ovl_menu D_menu_801BBEF7 = 0x801BBEF7; //segment:ovl_menu D_menu_801BBEF8 = 0x801BBEF8; //segment:ovl_menu D_menu_801BBF00 = 0x801BBF00; //segment:ovl_menu -D_menu_801BBF04 = 0x801BBF04; //segment:ovl_menu +sVsMenuSelection = 0x801BBF04; //segment:ovl_menu D_menu_801BBF08 = 0x801BBF08; //segment:ovl_menu D_menu_801BBF0C = 0x801BBF0C; //segment:ovl_menu D_menu_801BBF10 = 0x801BBF10; //segment:ovl_menu @@ -6684,7 +6684,7 @@ func_ending_8018DDB4 = 0x8018DDB4; //segment:ovl_ending func_ending_8018E07C = 0x8018E07C; //segment:ovl_ending func_ending_8018E314 = 0x8018E314; //segment:ovl_ending func_ending_8018E3E8 = 0x8018E3E8; //segment:ovl_ending -func_ending_8018E458 = 0x8018E458; //segment:ovl_ending +Ending_Main = 0x8018E458; //segment:ovl_ending func_ending_8018E5D8 = 0x8018E5D8; //segment:ovl_ending func_ending_8018E7A4 = 0x8018E7A4; //segment:ovl_ending func_ending_8018E8E8 = 0x8018E8E8; //segment:ovl_ending diff --git a/linker_scripts/jp/rev0/symbol_addrs.txt b/linker_scripts/jp/rev0/symbol_addrs.txt index 6d14e396..36576d4f 100644 --- a/linker_scripts/jp/rev0/symbol_addrs.txt +++ b/linker_scripts/jp/rev0/symbol_addrs.txt @@ -4119,7 +4119,6 @@ D_8017E111 = 0x8017E111; D_8017E112 = 0x8017E112; gDmaTable = 0x8017E210; //size:0x590 -func_i1_8017E7A0 = 0x8017E7A0; //segment:ovl_i1 func_i1_8017E7B0 = 0x8017E7B0; //segment:ovl_i1 func_i1_8017E7BC = 0x8017E7BC; //segment:ovl_i1 func_i1_8017E824 = 0x8017E824; //segment:ovl_i1 @@ -7271,4 +7270,3 @@ gTextureRenderBuffer = 0x80387800; //size:0x7880 segment:buffers defined:true gFillBuffer = 0x8038F080; //size:0x780 segment:buffers defined:true gFrameBuffers = 0x8038F800; //size:0x70800 segment:buffers defined:true D_8038F300 = 0x8038F300; //ignore:true - diff --git a/linker_scripts/jp/rev0/symbol_addrs_overlays.txt b/linker_scripts/jp/rev0/symbol_addrs_overlays.txt new file mode 100644 index 00000000..8a7a4c47 --- /dev/null +++ b/linker_scripts/jp/rev0/symbol_addrs_overlays.txt @@ -0,0 +1 @@ +OvlI1_CallFunction = 0x8017E7A0;//segment:ovl_i1 \ No newline at end of file diff --git a/src/audio/audio_general.c b/src/audio/audio_general.c index c860a2ea..1c1bf500 100644 --- a/src/audio/audio_general.c +++ b/src/audio/audio_general.c @@ -2651,8 +2651,8 @@ void Audio_PlaySequenceDistorted(u8 seqPlayId, u16 seqId, u16 distortion, u8 fad } void Audio_PlaySoundTestTrack(u8 trackNumber) { - u16 sp26; - u8 sp25; + u16 seqId; + u8 bgmParam; if ((trackNumber >= 45) && (trackNumber < 50)) { SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 1); @@ -2664,10 +2664,10 @@ void Audio_PlaySoundTestTrack(u8 trackNumber) { AUDIO_PLAY_SFX(NA_SE_ERROR, gDefaultSfxSource, 4); } else { sPlaylistIndex = 0xFF; - sp26 = sSoundTestTracks[trackNumber].seqId & 0xFF; - sp25 = sSoundTestTracks[trackNumber].bgmParam; + seqId = sSoundTestTracks[trackNumber].seqId & 0xFF; + bgmParam = sSoundTestTracks[trackNumber].bgmParam; SEQCMD_STOP_SEQUENCE(D_800C5E70 ^ 1, 5); - Audio_PlaySequence(D_800C5E70, sp26, 0, sp25); + Audio_PlaySequence(D_800C5E70, seqId, 0, bgmParam); D_800C5E70 ^= 1; } } diff --git a/src/audio/audio_load.c b/src/audio/audio_load.c index b8d5d6b1..af1d06cf 100644 --- a/src/audio/audio_load.c +++ b/src/audio/audio_load.c @@ -128,8 +128,8 @@ void* AudioLoad_DmaSampleData(u32 devAddr, u32 size, u32 arg2, u8* dmaIndexRef, dma->ttl = 2; dma->devAddr = dmaDevAddr; dma->sizeUnused = dma->size; - AudioLoad_Dma(&gCurAudioFrameDmaIoMsgBuf[gCurAudioFrameDmaCount++], 0, 0, dmaDevAddr, dma->ramAddr, dma->size, - &gCurAudioFrameDmaQueue, medium, "SUPERDMA"); + AudioLoad_Dma(&gCurAudioFrameDmaIoMsgBuf[gCurAudioFrameDmaCount++], OS_MESG_PRI_NORMAL, OS_READ, dmaDevAddr, + dma->ramAddr, dma->size, &gCurAudioFrameDmaQueue, medium, "SUPERDMA"); *dmaIndexRef = sp38; return devAddr - dmaDevAddr + dma->ramAddr; } @@ -214,7 +214,7 @@ void AudioLoad_InitSampleDmaBuffers(s32 numNotes) { gSampleDmaReuseQueue2WrPos = gSampleDmaCount - gSampleDmaListSize1; } -// Updates the audiotable entries with their absolute ROM addresses +// Updates the audiotable entries with their relative ROM addresses void AudioLoad_InitTable(AudioTable* table, u8* romAddr, u16 unkMediumParam) { s32 i; @@ -694,7 +694,8 @@ void AudioLoad_SyncDma(u32 devAddr, u8* ramAddr, u32 size, s32 medium) { } if (size != 0) { - AudioLoad_Dma(&gSyncDmaIoMsg, 1, 0, devAddr, ramAddr, size, &gSyncDmaQueue, medium, "FastCopy"); + AudioLoad_Dma(&gSyncDmaIoMsg, OS_MESG_PRI_HIGH, OS_READ, devAddr, ramAddr, size, &gSyncDmaQueue, medium, + "FastCopy"); MQ_WAIT_FOR_MESG(&gSyncDmaQueue, NULL); } } diff --git a/src/audio/audio_seqplayer.c b/src/audio/audio_seqplayer.c index 2c4851df..8f0bd778 100644 --- a/src/audio/audio_seqplayer.c +++ b/src/audio/audio_seqplayer.c @@ -268,7 +268,7 @@ void* func_800145FC(AudioListItem* list) { list->prev = item->prev; item->prev = NULL; list->u.count--; - return item->u.count; + return item->u.value; } void func_8001463C(void) { diff --git a/src/engine/fox_360.c b/src/engine/fox_360.c index 8f86dd96..791179e2 100644 --- a/src/engine/fox_360.c +++ b/src/engine/fox_360.c @@ -87,7 +87,7 @@ void AllRange_GetStarWolfHits(Actor* this) { } bool AllRange_PlayMessage(u16* msg, RadioCharacterId rcid) { - if ((gRadioState == 0) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_STANDBY)) { + if ((gRadioState == 0) && (gPlayer[0].state != PLAYERSTATE_STANDBY)) { Radio_PlayMessage(msg, rcid); return true; } else { @@ -229,7 +229,7 @@ void AllRange_GreatFoxRepair(Player* player) { gCsCamEyeX -= 1.0f; player->rot.x += 0.4f; if (gCsFrameCount >= 130) { - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->arwing.drawFace = false; player->unk_014 = 0; player->unk_018 = 0; @@ -480,7 +480,7 @@ void ActorAllRange_SpawnStarWolf(void) { } void ActorAllRange_PlayMessage(u16* msg, RadioCharacterId character) { - if (!gHideRadio && (gActors[0].state == STATE360_2) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_STANDBY)) { + if (!gHideRadio && (gActors[0].state == STATE360_2) && (gPlayer[0].state != PLAYERSTATE_STANDBY)) { Radio_PlayMessage(msg, character); } } @@ -511,7 +511,7 @@ void ActorAllRange_UpdateStarWolfEvents(ActorAllRange* this) { if (gAllRangeEventTimer == gAllRangeSpawnEvent) { ActorAllRange_SpawnStarWolf(); this->state = STATE360_3; - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_STANDBY; + gPlayer[0].state = PLAYERSTATE_STANDBY; if ((gCurrentLevel == LEVEL_VENOM_2) || (gCurrentLevel == LEVEL_BOLSE)) { gPlayer[0].camRoll = 20.0f; } @@ -708,7 +708,7 @@ void ActorAllRange_SpawnSupplies(Actor* this) { } } - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) && !gAllRangeSuppliesSent) { + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) && !gAllRangeSuppliesSent) { if (gAllRangeWingRepairTimer != 0) { gAllRangeWingRepairTimer--; } @@ -720,7 +720,7 @@ void ActorAllRange_SpawnSupplies(Actor* this) { } void ActorAllRange_UpdateEvents(Actor* this) { - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_DOWN) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_NEXT)) { + if ((gPlayer[0].state == PLAYERSTATE_DOWN) || (gPlayer[0].state == PLAYERSTATE_NEXT)) { Object_Kill(&this->obj, this->sfxSource); return; } @@ -820,7 +820,7 @@ s32 ActorAllRange_CheckObjectNearby(ActorAllRange* this) { Boss* boss = &gBosses[0]; s32 pad[4]; - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) { return 0; } @@ -1246,7 +1246,7 @@ void ActorAllRange_ApplyDamage(ActorAllRange* this) { } void ActorAllRange_CheckPlayerNearby(ActorAllRange* this) { - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) && (this->iwork[24] != 0) && + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) && (this->iwork[24] != 0) && (fabsf(this->obj.pos.x - gPlayer[0].pos.x) < 1000.0f) && (fabsf(this->obj.pos.y - gPlayer[0].pos.y) < 1000.0f) && (fabsf(this->obj.pos.z - gPlayer[0].trueZpos) < 1000.0f)) { @@ -1524,7 +1524,7 @@ void ActorAllRange_Update(ActorAllRange* this) { break; case STATE360_0: - if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_START_360) { + if (gPlayer[0].state != PLAYERSTATE_START_360) { this->fwork[0] = this->fwork[1] = 40.0f; if (gActors[0].state == STATE360_5) { @@ -1598,7 +1598,7 @@ void ActorAllRange_Update(ActorAllRange* this) { if (this->aiIndex == AI360_FOX) { if (gCurrentLevel != LEVEL_VENOM_2) { if ((gPlayer[0].somersault && (this->iwork[4] > 10)) || - ((gCurrentLevel == LEVEL_BOLSE) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_STANDBY))) { + ((gCurrentLevel == LEVEL_BOLSE) && (gPlayer[0].state == PLAYERSTATE_STANDBY))) { this->state = STATE360_3; this->counter_04E = 300; this->timer_0BC = 160; @@ -1684,8 +1684,7 @@ void ActorAllRange_Update(ActorAllRange* this) { this->fwork[1] = gActors[this->aiIndex].fwork[0] - 5.0f; } else { this->fwork[1] = gPlayer[0].baseSpeed - 5.0f; - if ((gCurrentLevel == LEVEL_VENOM_2) && - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN) && + if ((gCurrentLevel == LEVEL_VENOM_2) && (gPlayer[0].state == PLAYERSTATE_U_TURN) && (gPlayer[0].aerobaticPitch > 100.0f)) { this->iwork[16] = STATE360_8; } @@ -1956,7 +1955,7 @@ void ActorAllRange_Update(ActorAllRange* this) { spE0 = 0.0f; } spDC = RAND_FLOAT_CENTERED(10000.0f); - if ((gCurrentLevel == LEVEL_KATINA) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_STANDBY)) { + if ((gCurrentLevel == LEVEL_KATINA) && (gPlayer[0].state == PLAYERSTATE_STANDBY)) { spE4 = RAND_FLOAT_CENTERED(5000.0f); spDC = RAND_FLOAT_CENTERED(5000.0f); } diff --git a/src/engine/fox_beam.c b/src/engine/fox_beam.c index 1e9b1bb5..13d743aa 100644 --- a/src/engine/fox_beam.c +++ b/src/engine/fox_beam.c @@ -850,7 +850,7 @@ void PlayerShot_CollisionCheck(PlayerShot* shot) { } test.z = test.x; if ((i != shot->sourceId) && - ((player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) || (player->state_1C8 == PLAYERSTATE_1C8_DOWN)) && + ((player->state == PLAYERSTATE_ACTIVE) || (player->state == PLAYERSTATE_DOWN)) && (fabsf(player->trueZpos - shot->obj.pos.z) < test.z) && (fabsf(player->pos.x - shot->obj.pos.x) < test.x) && (fabsf(player->pos.y - shot->obj.pos.y) < test.y)) { @@ -1099,8 +1099,7 @@ void PlayerShot_DrawLaser(PlayerShot* shot) { if (gCamCount < 4) { RCP_SetupDL_21(); twinLaserSeparation = 9.0f; - if ((shot->unk_58 == 0) || - ((gCurrentLevel == LEVEL_METEO) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO))) { + if ((shot->unk_58 == 0) || ((gCurrentLevel == LEVEL_METEO) && (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO))) { width = 4.0f; length = 20.0f; } else { @@ -1136,7 +1135,7 @@ void PlayerShot_DrawLaser(PlayerShot* shot) { var_a1 = 2; } } else if (gCurrentLevel == LEVEL_KATINA) { - if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO) { + if (gPlayer[0].state != PLAYERSTATE_LEVEL_INTRO) { if (shot->sourceId > NPC_SHOT_ID + AI360_PEPPY) { if (gActors[shot->sourceId - NPC_SHOT_ID].animFrame == 0) { var_a1 = 1; @@ -1735,8 +1734,8 @@ bool PlayerShot_FindLockTarget(PlayerShot* shot) { } if (gVersusMode) { for (i = 0, player = gPlayer; i < gCamCount; i++, player++) { - if ((player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) && !player->somersault && - (player->form != FORM_ON_FOOT) && (i != shot->sourceId) && (gVsLockOnTimers[i][shot->sourceId] == 0) && + if ((player->state == PLAYERSTATE_ACTIVE) && !player->somersault && (player->form != FORM_ON_FOOT) && + (i != shot->sourceId) && (gVsLockOnTimers[i][shot->sourceId] == 0) && (fabsf(shot->obj.pos.x - player->pos.x) <= lockRange) && (fabsf(shot->obj.pos.y - player->pos.y) <= lockRange) && (fabsf(shot->obj.pos.z - player->trueZpos) <= lockRange)) { @@ -1991,7 +1990,7 @@ void PlayerShot_ApplyExplosionDamage(PlayerShot* shot, s32 damage) { if (gVersusMode) { player = gPlayer; for (i = 0; i < gCamCount; i++, player++) { - if ((i != shot->sourceId) && (player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) && (player->hitTimer == 0)) { + if ((i != shot->sourceId) && (player->state == PLAYERSTATE_ACTIVE) && (player->hitTimer == 0)) { dx = player->pos.x - shot->obj.pos.x; dy = player->pos.y - shot->obj.pos.y; dz = player->trueZpos - shot->obj.pos.z; @@ -2056,8 +2055,8 @@ void PlayerShot_UpdateBomb(PlayerShot* shot) { shot->obj.rot.y += 1.0f; Math_SmoothStepToF(&shot->scale, shot->unk_48, 0.05f, 1.5f, 0.001f); if ((shot->timer > 0) && (shot->timer < 30)) { - if (!gVersusMode && ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN))) { + if (!gVersusMode && + ((gPlayer[0].state == PLAYERSTATE_ACTIVE) || (gPlayer[0].state == PLAYERSTATE_U_TURN))) { test.x = gPlayer[0].pos.x - shot->obj.pos.x; test.y = gPlayer[0].pos.y - shot->obj.pos.y; test.z = gPlayer[0].trueZpos - shot->obj.pos.z; @@ -2122,7 +2121,7 @@ void PlayerShot_UpdateLockOnShot(PlayerShot* shot) { } } for (i = 0, player = gPlayer; i < gCamCount; i++, player++) { - if (((player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) || (player->state_1C8 == PLAYERSTATE_1C8_U_TURN)) && + if (((player->state == PLAYERSTATE_ACTIVE) || (player->state == PLAYERSTATE_U_TURN)) && (gVsLockOnTimers[i][shot->sourceId] != 0)) { var_a3 = 1; gVsLockOnTimers[i][shot->sourceId] = 2; @@ -2286,7 +2285,7 @@ void PlayerShot_Update(PlayerShot* shot) { case PLAYERSHOT_SINGLE_LASER: case PLAYERSHOT_TWIN_LASER: - if ((shot->unk_58 == 0) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO)) { + if ((shot->unk_58 == 0) || (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO)) { ticks = 4; } else { ticks = 3; diff --git a/src/engine/fox_bg.c b/src/engine/fox_bg.c index a37abd1c..d6703cef 100644 --- a/src/engine/fox_bg.c +++ b/src/engine/fox_bg.c @@ -429,7 +429,7 @@ void Background_DrawBackdrop(void) { break; case LEVEL_AQUAS: - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) { sp13C = Math_RadToDeg(gPlayer[gPlayerNum].camYaw) - gPlayer[gPlayerNum].yRot_114; bgYpos = (gPlayer[gPlayerNum].camPitch * -7000.0f) - (gPlayer[gPlayerNum].cam.eye.y * 0.6f); sp13C = Math_ModF(sp13C * -40.44444f * 2.0f, 7280.0f); // close to 7280.0f / 180.0f @@ -440,7 +440,7 @@ void Background_DrawBackdrop(void) { Matrix_Translate(gGfxMatrix, sp13C, bgYpos, -7000.0f, MTXF_APPLY); Matrix_SetGfxMtx(&gMasterDisp); - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) { gSPDisplayList(gMasterDisp++, D_AQ_601AFF0); } else { gSPDisplayList(gMasterDisp++, D_AQ_601C080); @@ -453,7 +453,7 @@ void Background_DrawBackdrop(void) { } Matrix_Translate(gGfxMatrix, 7280.0f * sp13C, 0.0f, 0.0f, MTXF_APPLY); Matrix_SetGfxMtx(&gMasterDisp); - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) { gSPDisplayList(gMasterDisp++, D_AQ_601AFF0); } else { @@ -471,12 +471,12 @@ void Background_DrawBackdrop(void) { bgYpos = (gPlayer[gPlayerNum].camPitch * -7000.0f) - (gPlayer[gPlayerNum].cam.eye.y * 0.6f); sp13C = sp12C * -40.44444f * 2.0f; // close to 7280.0f / 180.0f - if ((gCurrentLevel == LEVEL_TITANIA) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && + if ((gCurrentLevel == LEVEL_TITANIA) && (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) && (gPlayer[0].csState < 3)) { D_bg_8015F968 += __sinf(gPlayer[0].camYaw) * 20.0f; sp13C += D_bg_8015F968; } - if ((gCurrentLevel == LEVEL_SOLAR) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && + if ((gCurrentLevel == LEVEL_SOLAR) && (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) && (gPlayer[0].csState >= 2) && (gPlayer[0].cam.eye.z <= -1900.0f)) { D_bg_8015F968 = __sinf(gPlayer[0].camPitch) * 7000.0f; bgYpos -= fabsf(D_bg_8015F968); @@ -527,7 +527,7 @@ void Background_DrawBackdrop(void) { break; case LEVELTYPE_SPACE: - if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_ENTER_WARP_ZONE) { + if (gPlayer[0].state != PLAYERSTATE_ENTER_WARP_ZONE) { Matrix_Push(&gGfxMatrix); sp12C = Math_RadToDeg(gPlayer[0].camYaw); sp130 = Math_RadToDeg(gPlayer[0].camPitch); @@ -555,7 +555,7 @@ void Background_DrawBackdrop(void) { bgXpos = Math_ModF(bgXpos - 34.5f, SCREEN_WIDTH + (80.0f * 2)); bgYpos = Math_ModF(bgYpos + 19.0f, 360.0f); } else if (levelId == LEVEL_BOLSE) { - if ((gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE) || (gPlayer[0].csState < 10)) { + if ((gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE) || (gPlayer[0].csState < 10)) { bgYpos = Math_ModF(bgYpos + 360.0f - 100.0f, 360.0f); } } else { @@ -591,7 +591,7 @@ void Background_DrawBackdrop(void) { break; case LEVEL_METEO: - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) && (gCsFrameCount > 260)) { + if ((gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) && (gCsFrameCount > 260)) { Matrix_Translate(gGfxMatrix, bgXpos - 120.0f, -(bgYpos - 120.0f) - 30.0f, -290.0f, MTXF_APPLY); Matrix_Scale(gGfxMatrix, 0.5f, 0.5f, 1.0f, MTXF_APPLY); @@ -632,7 +632,7 @@ void Background_DrawBackdrop(void) { if (sp128 > 3.5f) { sp128 = 3.5f; } - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) { sp128 = D_bg_8015F984; if (sp128 > 3.5f) { sp128 = 3.5f; @@ -658,7 +658,7 @@ void Background_DrawBackdrop(void) { case LEVEL_BOLSE: sp128 = 1.0f; - if ((gCsFrameCount > 500) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) { + if ((gCsFrameCount > 500) && (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE)) { sp128 = 1.3f; } Matrix_Translate(gGfxMatrix, bgXpos - 120.0f, -(bgYpos - 120.0f), -290.0f, MTXF_APPLY); @@ -736,9 +736,9 @@ void Background_DrawSun(void) { gPlayerGlareAlphas[gPlayerNum] = 0; } - if (((gCurrentLevel == LEVEL_AQUAS) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO)) || - (((gPlayer[gPlayerNum].state_1C8 == PLAYERSTATE_1C8_U_TURN) || (gLevelMode == LEVELMODE_ALL_RANGE) || - (gPlayer[gPlayerNum].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) && + if (((gCurrentLevel == LEVEL_AQUAS) && (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO)) || + (((gPlayer[gPlayerNum].state == PLAYERSTATE_U_TURN) || (gLevelMode == LEVELMODE_ALL_RANGE) || + (gPlayer[gPlayerNum].state == PLAYERSTATE_LEVEL_COMPLETE)) && (gLevelType == LEVELTYPE_PLANET) && (gCurrentLevel != LEVEL_TITANIA) && (gCurrentLevel != LEVEL_AQUAS))) { gPlayerGlareReds[gPlayerNum] = 128; gPlayerGlareGreens[gPlayerNum] = 128; @@ -1112,9 +1112,9 @@ void Background_DrawGround(void) { RCP_SetupDL(&gMasterDisp, SETUPDL_37); } - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && (gPlayer[0].csState < 2)) { + if ((gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) && (gPlayer[0].csState < 2)) { gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255); - } else if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) { + } else if (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) { gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, D_bg_8015F974, D_bg_8015F978, D_bg_8015F97C, D_bg_8015F980); } else { diff --git a/src/engine/fox_boss.c b/src/engine/fox_boss.c index 8243257d..53e2879c 100644 --- a/src/engine/fox_boss.c +++ b/src/engine/fox_boss.c @@ -114,7 +114,7 @@ void Boss_CompleteLevel(Player* player, f32 xPos, f32 yPos, f32 zPos) { gBossDeathCamAtX = xPos; gBossDeathCamAtY = yPos; - player->state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + player->state = PLAYERSTATE_LEVEL_COMPLETE; player->csState = 10; player->csTimer = 50; player->csEventTimer = 50; diff --git a/src/engine/fox_demo.c b/src/engine/fox_demo.c index 288f9433..50ebc57e 100644 --- a/src/engine/fox_demo.c +++ b/src/engine/fox_demo.c @@ -210,7 +210,7 @@ void Cutscene_WarpZoneComplete(Player* player) { gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0; gFillScreenAlphaStep = 8; if (gFillScreenAlpha == 255) { - player->state_1C8 = PLAYERSTATE_1C8_NEXT; + player->state = PLAYERSTATE_NEXT; player->csTimer = 0; gFadeoutType = 4; if (gCurrentLevel == LEVEL_METEO) { @@ -564,7 +564,7 @@ void Cutscene_EnterWarpZone(Player* player) { if (player->csTimer == 0) { gWarpZoneBgAlpha = 0.0f; gStarWarpDistortion = 0.0f; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->unk_014 = 0.0f; player->unk_018 = 0.0f; gDrawSmallRocks = 0; @@ -827,7 +827,7 @@ void Cutscene_AllRangeMode(Player* player) { } if (D_ctx_80177A48[1] > 350.0f) { - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->unk_014 = 0.0f; player->unk_018 = 0.1f; player->unk_194 = 10.0f; @@ -1240,7 +1240,7 @@ void Cutscene_CoComplete2(Player* player) { gCsCamAtZ += D_ctx_80177A48[9]; player->draw = false; if (player->csTimer == 0) { - player->state_1C8 = PLAYERSTATE_1C8_NEXT; + player->state = PLAYERSTATE_NEXT; player->csTimer = 0; gFadeoutType = 4; Audio_FadeOutAll(10); @@ -1510,7 +1510,7 @@ void Cutscene_UTurn(Player* player) { } if (player->csTimer == 0) { - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->unk_014 = 0.0f; player->unk_018 = 0.0f; } @@ -1567,7 +1567,7 @@ void Cutscene_KillPlayer(Player* player) { Audio_StopPlayerNoise(player->num); Audio_KillSfxBySourceAndId(player->sfxSource, NA_SE_ARWING_DOWN); Player_PlaySfx(player->sfxSource, NA_SE_ARWING_EXPLOSION, player->num); - player->state_1C8 = PLAYERSTATE_1C8_NEXT; + player->state = PLAYERSTATE_NEXT; player->csTimer = 70; player->dmgEffectTimer = 20; gFadeoutType = 7; @@ -2126,7 +2126,7 @@ void func_demo_8004F05C(ActorCutscene* this) { case LEVEL_BOLSE: switch (this->animFrame) { case ACTOR_CS_TEAM_ARWING: - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) { this->rot_0F4.z += this->rot_0F4.y; this->vel.x = SIN_DEG(this->rot_0F4.z) * 10.0f; this->obj.rot.z = SIN_DEG(this->rot_0F4.z) * 40.0f; @@ -2305,8 +2305,8 @@ void ActorCutscene_Update(ActorCutscene* this) { return; } - switch (gPlayer[0].state_1C8) { - case PLAYERSTATE_1C8_LEVEL_COMPLETE: + switch (gPlayer[0].state) { + case PLAYERSTATE_LEVEL_COMPLETE: switch (gCurrentLevel) { case LEVEL_SECTOR_Y: if (gPlayer[0].csState >= 3) { @@ -2424,15 +2424,15 @@ void ActorCutscene_Update(ActorCutscene* this) { } break; - case PLAYERSTATE_1C8_LEVEL_INTRO: + case PLAYERSTATE_LEVEL_INTRO: func_demo_8004F05C(this); break; - case PLAYERSTATE_1C8_ENTER_WARP_ZONE: + case PLAYERSTATE_ENTER_WARP_ZONE: func_demo_8004F798(this); break; - case PLAYERSTATE_1C8_STANDBY: + case PLAYERSTATE_STANDBY: if (gCurrentLevel == LEVEL_SECTOR_Y) { SectorY_8019FF00(this); } @@ -2642,7 +2642,7 @@ void ActorCutscene_Draw(ActorCutscene* this) { break; } - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) { Matrix_Push(&gGfxMatrix); Matrix_RotateX(gGfxMatrix, 20.0f * M_DTOR, MTXF_APPLY); Matrix_RotateY(gGfxMatrix, (gGameFrameCount * 0.5f) * M_DTOR, MTXF_APPLY); @@ -2696,7 +2696,7 @@ void ActorCutscene_Draw(ActorCutscene* this) { gDPSetPrimColor(gMasterDisp++, 0, 0, (s32) D_800CA210, (s32) D_800CA214, (s32) D_800CA218, 128); - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) { Matrix_Scale(gGfxMatrix, 1.02f, 1.02f, 1.02f, MTXF_APPLY); } else { Matrix_Scale(gGfxMatrix, 0.97f, 0.97f, 0.97f, MTXF_APPLY); @@ -2711,7 +2711,7 @@ void ActorCutscene_Draw(ActorCutscene* this) { Matrix_Pop(&gGfxMatrix); Matrix_Pop(&gGfxMatrix); - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) { Matrix_Scale(gGfxMatrix, 0.075f, 0.075f, 0.075f, MTXF_APPLY); break; } @@ -2729,7 +2729,7 @@ void ActorCutscene_Draw(ActorCutscene* this) { break; case ACTOR_CS_CORNERIAN_FIGHTER: - if ((this->index == 3) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) { + if ((this->index == 3) && (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE)) { gSPDisplayList(gMasterDisp++, aBillShipDL); } else { gSPDisplayList(gMasterDisp++, aKaCornerianFighterDL); @@ -2917,7 +2917,7 @@ void Cutscene_DrawGreatFox(void) { } if ((gCurrentLevel != LEVEL_AQUAS) && - ((gCurrentLevel != LEVEL_SECTOR_Z) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE))) { + ((gCurrentLevel != LEVEL_SECTOR_Z) || (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE))) { RCP_SetupDL_49(); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255); diff --git a/src/engine/fox_display.c b/src/engine/fox_display.c index d400e6ca..0355ef2e 100644 --- a/src/engine/fox_display.c +++ b/src/engine/fox_display.c @@ -36,7 +36,7 @@ void Display_DrawHelpAlert(void) { return; } - if ((gTeamHelpActor->obj.status != OBJ_ACTIVE) || (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_ACTIVE)) { + if ((gTeamHelpActor->obj.status != OBJ_ACTIVE) || (gPlayer[0].state != PLAYERSTATE_ACTIVE)) { gTeamHelpActor = NULL; gTeamHelpTimer = 0; return; @@ -245,7 +245,7 @@ void Display_OnFootFalco_PostLimbDraw(s32 limbIndex, Vec3f* rot, void* data) { void Display_OnFootMuzzleFlash(Player* player) { Matrix_Push(&gGfxMatrix); Matrix_Copy(gGfxMatrix, &gIdentityMatrix); - if ((player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) && (player->csTimer != 0)) { + if ((player->state == PLAYERSTATE_ACTIVE) && (player->csTimer != 0)) { Matrix_Translate(gGfxMatrix, D_display_801613B0[player->num].x, D_display_801613B0[player->num].y, D_display_801613B0[player->num].z, MTXF_APPLY); Matrix_Scale(gGfxMatrix, D_display_800CA23C[player->csTimer - 1], D_display_800CA23C[player->csTimer - 1], @@ -344,7 +344,7 @@ f32 sPlayerShadowing = 0.0f; void Display_LandmasterMuzzleFlash(Player* player) { Matrix_Push(&gGfxMatrix); - if ((player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) && (player->unk_1A0 != 0)) { + if ((player->state == PLAYERSTATE_ACTIVE) && (player->unk_1A0 != 0)) { Matrix_Translate(gGfxMatrix, D_display_80161548[player->num].x, D_display_80161548[player->num].y, D_display_80161548[player->num].z, MTXF_APPLY); Matrix_Scale(gGfxMatrix, D_display_800CA248[player->unk_1A0 - 1], D_display_800CA248[player->unk_1A0 - 1], @@ -615,7 +615,7 @@ void Display_ArwingWings(ArwingInfo* arwing) { Matrix_SetGfxMtx(&gMasterDisp); RCP_SetupDL_64_2(); - if ((gGameState == GSTATE_PLAY) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && + if ((gGameState == GSTATE_PLAY) && (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) && (gCurrentLevel == LEVEL_CORNERIA)) { gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 120); gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK); @@ -713,8 +713,7 @@ void Display_Reticle(Player* player) { if ((gPlayerNum == player->num) && ((player->form == FORM_ARWING) || (player->form == FORM_LANDMASTER)) && player->draw && - (((gGameState == GSTATE_PLAY) && (player->state_1C8 == PLAYERSTATE_1C8_ACTIVE)) || - (gGameState == GSTATE_MENU))) { + (((gGameState == GSTATE_PLAY) && (player->state == PLAYERSTATE_ACTIVE)) || (gGameState == GSTATE_MENU))) { for (i = 0; i < 2; i++) { translate = &D_display_801613E0[i]; Matrix_Push(&gGfxMatrix); @@ -1149,7 +1148,7 @@ void Display_PlayerFeatures(Player* player) { f32 var_fv0; s32 pad[3]; - if (player->draw && (player->state_1C8 != PLAYERSTATE_1C8_DOWN)) { + if (player->draw && (player->state != PLAYERSTATE_DOWN)) { switch (player->form) { case FORM_ARWING: Matrix_RotateY(gCalcMatrix, (player->yRot_114 + player->rot.y + player->damageShake + 180.0f) * M_DTOR, @@ -1229,7 +1228,7 @@ void Display_ArwingWingTrail_Draw(Player* player) { yRot *= 0.25f; sp50 = player->rot.x * 0.25f; - if (player->state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) { + if (player->state == PLAYERSTATE_LEVEL_COMPLETE) { yRot = 0.0f; sp50 = 0.0f; } @@ -1694,7 +1693,7 @@ void Display_Update(void) { Matrix_Push(&gGfxMatrix); - if ((gCurrentLevel == LEVEL_AQUAS) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE)) { + if ((gCurrentLevel == LEVEL_AQUAS) && (gPlayer[0].state == PLAYERSTATE_ACTIVE)) { Math_SmoothStepToF(&gCamDistortion, 0.01f, 0.2f, 0.002f, 0.0f); } else { Math_SmoothStepToF(&gCamDistortion, 0.0f, 0.2f, 0.002f, 0.0f); @@ -1736,7 +1735,7 @@ void Display_Update(void) { if (camPlayer->alternateView && (camPlayer->boostSpeed > 5.0f)) { gPlayCamAt.x += SIN_DEG(gGameFrameCount * 150.0f) * camPlayer->boostSpeed * 0.2f; } - } else if (camPlayer->state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) { + } else if (camPlayer->state == PLAYERSTATE_LEVEL_COMPLETE) { Display_CsLevelCompleteHandleCamera(camPlayer); } else { gPlayCamEye.x = camPlayer->cam.eye.x; @@ -1772,7 +1771,7 @@ void Display_Update(void) { if ((gLevelType == LEVELTYPE_PLANET) || (gCurrentLevel == LEVEL_BOLSE)) { if ((gCurrentLevel == LEVEL_TITANIA) && - ((gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO) || (gPlayer[0].unk_19C != 0))) { + ((gPlayer[0].state != PLAYERSTATE_LEVEL_INTRO) || (gPlayer[0].unk_19C != 0))) { Matrix_Push(&gGfxMatrix); Matrix_Translate(gGfxMatrix, 0.0f, gCameraShakeY, 0.0f, MTXF_APPLY); Matrix_SetGfxMtx(&gMasterDisp); @@ -1797,7 +1796,7 @@ void Display_Update(void) { Display_SetupPlayerSfxPos(player); } - if ((gGroundSurface == SURFACE_WATER) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) { + if ((gGroundSurface == SURFACE_WATER) && (gPlayer[0].state != PLAYERSTATE_LEVEL_INTRO)) { Lights_SetOneLight(&gMasterDisp, gLight2x, -1 * gLight2y, gLight2z, gLight2R, gLight2G, gLight2B, gAmbientR, gAmbientG, gAmbientB); Matrix_Push(&gGfxMatrix); @@ -1818,7 +1817,7 @@ void Display_Update(void) { gReflectY = 1; PlayerShot_DrawAll(); - if ((gGroundSurface == SURFACE_WATER) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) { + if ((gGroundSurface == SURFACE_WATER) && (gPlayer[0].state != PLAYERSTATE_LEVEL_INTRO)) { Matrix_Push(&gGfxMatrix); Matrix_Scale(gGfxMatrix, 1.0f, -1.0f, 1.0f, MTXF_APPLY); gReflectY = -1; @@ -1828,7 +1827,7 @@ void Display_Update(void) { gReflectY = -1; - if ((gGroundSurface == SURFACE_WATER) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) { + if ((gGroundSurface == SURFACE_WATER) && (gPlayer[0].state != PLAYERSTATE_LEVEL_INTRO)) { Matrix_Push(&gGfxMatrix); Matrix_Scale(gGfxMatrix, 1.0f, -1.0f, 1.0f, MTXF_APPLY); for (i = 0, player = &gPlayer[0]; i < gCamCount; i++, player++) { @@ -1852,8 +1851,7 @@ void Display_Update(void) { if ((gCurrentLevel != LEVEL_AQUAS) && (((gCurrentLevel != LEVEL_CORNERIA) && (gCurrentLevel != LEVEL_VENOM_ANDROSS)) || - ((gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE) && - (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)))) { + ((gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE) && (gPlayer[0].state != PLAYERSTATE_LEVEL_INTRO)))) { Effect_Draw(0); } @@ -1867,13 +1865,12 @@ void Display_Update(void) { } } - if ((gCurrentLevel == LEVEL_AQUAS) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE)) { + if ((gCurrentLevel == LEVEL_AQUAS) && (gPlayer[0].state == PLAYERSTATE_ACTIVE)) { Aquas_801AA20C(); } if (((gCurrentLevel == LEVEL_CORNERIA) || (gCurrentLevel == LEVEL_VENOM_ANDROSS)) && - ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO))) { + ((gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) || (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO))) { Effect_Draw(0); } @@ -1899,14 +1896,13 @@ void Display_Update(void) { } } - if ((gLevelMode == LEVELMODE_TURRET) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE)) { + if ((gLevelMode == LEVELMODE_TURRET) && (gPlayer[0].state == PLAYERSTATE_ACTIVE)) { Turret_Draw(gPlayer); } Background_DrawLensFlare(); - if ((gCamCount != 1) && - ((camPlayer->state_1C8 == PLAYERSTATE_1C8_ACTIVE) || (camPlayer->state_1C8 == PLAYERSTATE_1C8_U_TURN))) { + if ((gCamCount != 1) && ((camPlayer->state == PLAYERSTATE_ACTIVE) || (camPlayer->state == PLAYERSTATE_U_TURN))) { HUD_Draw(); HUD_EdgeArrows_Update(); } diff --git a/src/engine/fox_edisplay.c b/src/engine/fox_edisplay.c index 79c43323..ee6a7c96 100644 --- a/src/engine/fox_edisplay.c +++ b/src/engine/fox_edisplay.c @@ -562,15 +562,15 @@ void ActorTeamArwing_Draw(ActorTeamArwing* this) { Matrix_MultVec3f(gGfxMatrix, &src, &dest); if ((((fabsf(dest.z) < 3000.0f) && (fabsf(dest.x) < 3000.0f) && !gBossActive) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_STANDBY) || (gCurrentLevel == LEVEL_VENOM_ANDROSS) || - (gCurrentLevel == LEVEL_VENOM_2) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) && + (gPlayer[0].state == PLAYERSTATE_STANDBY) || (gCurrentLevel == LEVEL_VENOM_ANDROSS) || + (gCurrentLevel == LEVEL_VENOM_2) || (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE)) && (gCurrentLevel != LEVEL_MACBETH) && (gCurrentLevel != LEVEL_TITANIA)) { if (this->obj.id == OBJ_ACTOR_CUTSCENE) { - if (((gCurrentLevel == LEVEL_VENOM_2) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) && + if (((gCurrentLevel == LEVEL_VENOM_2) && (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) && (this->index == 10)) || - ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) && (gPlayer[0].csState >= 100) && + ((gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) && (gPlayer[0].csState >= 100) && (gCurrentLevel == LEVEL_KATINA) && (this->index == 1)) || - ((gCurrentLevel == LEVEL_SECTOR_Y) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_STANDBY) && + ((gCurrentLevel == LEVEL_SECTOR_Y) && (gPlayer[0].state == PLAYERSTATE_STANDBY) && (this->state == 5))) { gActorTeamArwing.rightWingState = gPlayer[0].arwing.rightWingState; gActorTeamArwing.leftWingState = gPlayer[0].arwing.leftWingState; @@ -730,7 +730,7 @@ void Object_SetShadowDL(ObjectId objId, s32 index) { break; case OBJ_BOSS_KA_SAUCERER: - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_STANDBY) { + if (gPlayer[0].state == PLAYERSTATE_STANDBY) { RCP_SetupDL(&gMasterDisp, SETUPDL_64); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 200); } @@ -1154,7 +1154,7 @@ void Actor_DrawAllRange(Actor* this) { Matrix_RotateZ(gCalcMatrix, this->obj.rot.z * M_DTOR, MTXF_APPLY); this->info.draw(&this->obj); sDrewActor = true; - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) && (this->obj.id == OBJ_ACTOR_ALLRANGE) && + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) && (this->obj.id == OBJ_ACTOR_ALLRANGE) && (this->aiType == AI360_MISSILE)) { gTeamArrowsViewPos[0] = sViewPos; } @@ -1165,8 +1165,7 @@ void Actor_DrawAllRange(Actor* this) { Matrix_Translate(gGfxMatrix, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, MTXF_APPLY); Matrix_MultVec3f(gGfxMatrix, &srcViewPos, &sViewPos); - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_STANDBY) || + if ((gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) || (gPlayer[0].state == PLAYERSTATE_STANDBY) || ((this->obj.id == OBJ_ACTOR_ALLRANGE) && (this->aiType >= AI360_GREAT_FOX)) || ((this->obj.id == OBJ_ACTOR_CUTSCENE) && (this->info.bonus != 0))) { var_ft5 = var_fv0 = 3000.0f; @@ -1189,7 +1188,7 @@ void Actor_DrawAllRange(Actor* this) { Matrix_SetGfxMtx(&gMasterDisp); this->info.draw(&this->obj); sDrewActor = true; - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) && + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) && (((this->obj.id == OBJ_ACTOR_ALLRANGE) && ((this->aiType <= AI360_PEPPY) || (this->aiType == AI360_KATT) || (this->aiType == AI360_BILL))) || @@ -1606,7 +1605,7 @@ void Display_SetSecondLight(Vec3f* pos) { sp9C.z = pos->z - gLight3z; lightDist = VEC3F_MAG(&sp9C); - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) { lightFade = 700.0f / lightDist; } else { lightFade = 200.0f / lightDist; @@ -1780,8 +1779,8 @@ void Object_DrawAll(s32 cullDirection) { case LEVELMODE_TURRET: Matrix_Push(&gGfxMatrix); - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) || (gCurrentLevel == LEVEL_AQUAS)) { + if ((gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) || + (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) || (gCurrentLevel == LEVEL_AQUAS)) { Display_SetSecondLight(&actor->obj.pos); } @@ -1881,7 +1880,7 @@ void Object_Draw(s32 arg0) { gReflectY = 1; Object_DrawAll(1); - if ((gGroundSurface == SURFACE_WATER) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) { + if ((gGroundSurface == SURFACE_WATER) && (gPlayer[0].state != PLAYERSTATE_LEVEL_INTRO)) { gReflectY = -1; Lights_SetOneLight(&gMasterDisp, gLight1x, -1 * gLight1y, gLight1z, gLight1R, gLight1G, gLight1B, gAmbientR, gAmbientG, gAmbientB); @@ -1898,7 +1897,7 @@ void Effect_Draw(u8 arg0) { if (arg0 == 0) { gReflectY = 1; Effect_DrawAll(1); - } else if ((gGroundSurface == SURFACE_WATER) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) { + } else if ((gGroundSurface == SURFACE_WATER) && (gPlayer[0].state != PLAYERSTATE_LEVEL_INTRO)) { gReflectY = -1; Matrix_Push(&gGfxMatrix); Matrix_Scale(gGfxMatrix, 1.0f, -1.0f, 1.0f, MTXF_APPLY); diff --git a/src/engine/fox_effect.c b/src/engine/fox_effect.c index 512d8236..9c18c3c1 100644 --- a/src/engine/fox_effect.c +++ b/src/engine/fox_effect.c @@ -59,7 +59,7 @@ void BonusText_Update(void) { if (gLevelMode == LEVELMODE_ON_RAILS) { bonus->pos.z -= gPathVelZ; - } else if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) { + } else if (gPlayer[0].state == PLAYERSTATE_ACTIVE) { bonus->pos.x += gPlayer[0].vel.x; bonus->pos.z += gPlayer[0].vel.z; } @@ -229,7 +229,7 @@ void Effect_Effect384_Draw(Effect384* this) { Graphics_SetScaleMtx(this->scale2); if ((this->scale1 == 71.0f) || - ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) && (gCurrentLevel == LEVEL_CORNERIA))) { + ((gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) && (gCurrentLevel == LEVEL_CORNERIA))) { RCP_SetupDL(&gMasterDisp, SETUPDL_38); } else { RCP_SetupDL(&gMasterDisp, SETUPDL_67); @@ -696,8 +696,7 @@ void Effect_Effect357_Update(Effect357* this) { this->vel.y -= 0.5f; } - if ((gCurrentLevel == LEVEL_BOLSE) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) && - (gCsFrameCount > 175)) { + if ((gCurrentLevel == LEVEL_BOLSE) && (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) && (gCsFrameCount > 175)) { this->vel.x *= 0.95f; this->vel.y *= 0.95f; this->vel.z *= 0.95f; @@ -724,7 +723,7 @@ bool func_effect_800798C4(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, vo void Effect_Effect357_Draw(Effect357* this) { Vec3f frameJointTable[50]; - if ((gCurrentLevel == LEVEL_BOLSE) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) { + if ((gCurrentLevel == LEVEL_BOLSE) && (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE)) { Display_SetSecondLight(&this->obj.pos); } @@ -1486,11 +1485,11 @@ void Effect_Effect362_Spawn(f32 xPos, f32 yPos, f32 zPos, f32 scale2) { } void Effect_Effect362_Update(Effect362* this) { - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) { this->obj.rot.x = RAD_TO_DEG(gPlayer[0].camPitch); this->obj.rot.y = RAD_TO_DEG(-gPlayer[0].camYaw); } - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_NEXT) { + if (gPlayer[0].state == PLAYERSTATE_NEXT) { this->unk_46 = 2; this->vel.y -= 0.13f; } @@ -1723,7 +1722,7 @@ void Effect_Effect343_Setup(Effect343* this, f32 xPos, f32 yPos, f32 zPos, f32 s this->unk_48 = -this->unk_48; } - if ((gCurrentLevel == LEVEL_FORTUNA) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_NEXT)) { + if ((gCurrentLevel == LEVEL_FORTUNA) && (gPlayer[0].state != PLAYERSTATE_NEXT)) { this->unk_4A = 180; } else { this->unk_4A = 255; @@ -1761,7 +1760,7 @@ void Effect_Effect387_Update(Effect387* this) { s32 var_v0; var_v0 = 1 - 1; - if ((gCurrentLevel == LEVEL_FORTUNA) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_NEXT)) { + if ((gCurrentLevel == LEVEL_FORTUNA) && (gPlayer[0].state != PLAYERSTATE_NEXT)) { var_v0 = 4 - 1; } @@ -1997,7 +1996,7 @@ void func_effect_8007D2C8(f32 xPos, f32 yPos, f32 zPos, f32 scale2) { void Effect_Effect339_Update(EffectFireSmoke* this) { if (gLevelType == LEVELTYPE_PLANET) { - if ((gCurrentLevel == LEVEL_KATINA) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) { + if ((gCurrentLevel == LEVEL_KATINA) && (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE)) { this->vel.y += 0.1f; if (this->timer_50 == 0) { this->unk_4C++; @@ -2010,7 +2009,7 @@ void Effect_Effect339_Update(EffectFireSmoke* this) { } } } else { - if ((gCurrentLevel == LEVEL_MACBETH) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) && + if ((gCurrentLevel == LEVEL_MACBETH) && (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) && (this->vel.x != 0)) { Math_SmoothStepToF(&this->vel.x, -1.0f, 1.0f, 1.0f, 0.0f); Math_SmoothStepToF(&this->vel.z, 4.0f, 1.0f, 1.0f, 0.0f); diff --git a/src/engine/fox_enmy.c b/src/engine/fox_enmy.c index 12c3def1..21e5e241 100644 --- a/src/engine/fox_enmy.c +++ b/src/engine/fox_enmy.c @@ -98,7 +98,7 @@ bool func_enmy_80060FE4(Vec3f* arg0, f32 arg1) { Vec3f src; Vec3f dest; - if ((gLevelMode != LEVELMODE_ALL_RANGE) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) { + if ((gLevelMode != LEVELMODE_ALL_RANGE) && (gPlayer[0].state != PLAYERSTATE_LEVEL_INTRO)) { return true; } @@ -125,7 +125,7 @@ bool func_enmy_80061148(Vec3f* arg0, f32 arg1) { return true; } - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) { return func_enmy_80060FE4(arg0, arg1); } @@ -1650,7 +1650,7 @@ void ActorMissileSeek_Update(Actor* this) { sp8C.z = this->vel.z; if ((Object_CheckCollision(this->index, &this->obj.pos, &sp8C, 1) != 0) || (this->dmgType != DMG_NONE) || - (this->obj.pos.y < (gGroundHeight + 10.0f)) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) { + (this->obj.pos.y < (gGroundHeight + 10.0f)) || (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE)) { func_effect_8007D2C8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 3.0f); Object_Kill(&this->obj, this->sfxSource); if (this->dmgType != DMG_NONE) { @@ -1982,7 +1982,7 @@ void func_enmy_80066EE4(Sprite* this) { void Item_CheckBounds(Item* this) { f32 var_fa1; - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_STANDBY)) { + if ((gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) || (gPlayer[0].state == PLAYERSTATE_STANDBY)) { Object_Kill(&this->obj, this->sfxSource); } @@ -2417,7 +2417,7 @@ void ItemMeteoWarp_Update(ItemMeteoWarp* this) { gRingPassCount++; if (gRingPassCount >= 7) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_ENTER_WARP_ZONE; + gPlayer[0].state = PLAYERSTATE_ENTER_WARP_ZONE; gPlayer[0].csState = 0; AUDIO_PLAY_SFX(NA_SE_WARP_HOLE, gDefaultSfxSource, 0); gMissionStatus = MISSION_WARP; @@ -2487,14 +2487,14 @@ void ItemRingCheck_Update(Item* this) { void ItemPathChange_Update(Item* this) { gLastPathChange = this->obj.id; - if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_ACTIVE) { + if (gPlayer[0].state != PLAYERSTATE_ACTIVE) { Object_Kill(&this->obj, this->sfxSource); } else if (((gCurrentLevel == LEVEL_METEO) || (gCurrentLevel == LEVEL_SECTOR_X)) && (gLevelPhase == 1)) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 0; Object_Kill(&this->obj, this->sfxSource); } else if (gCurrentLevel == LEVEL_TRAINING) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_START_360; + gPlayer[0].state = PLAYERSTATE_START_360; gPlayer[0].csState = 0; Object_Kill(&this->obj, this->sfxSource); } else if (this->state == 0) { @@ -2659,7 +2659,7 @@ void Actor_Move(Actor* this) { if ((this->obj.id == OBJ_ACTOR_ZO_DODORA) || (gCurrentLevel == LEVEL_MACBETH) || ((this->obj.id == OBJ_ACTOR_EVENT) && (this->eventType == EVID_TI_GREAT_FOX))) { var_fv0 = 8000.0f; - } else if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ENTER_WARP_ZONE) { + } else if (gPlayer[0].state == PLAYERSTATE_ENTER_WARP_ZONE) { var_fv0 = 100000.0f; } @@ -2710,7 +2710,7 @@ void Boss_Move(Boss* this) { } void Scenery_Move(Scenery* this) { - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) { this->obj.pos.z += this->effectVel.z; if (this->info.cullDistance < this->obj.pos.z) { Object_Kill(&this->obj, this->sfxSource); @@ -3001,7 +3001,7 @@ void TexturedLine_Update(TexturedLine* this) { if (gGameState == GSTATE_PLAY) { if (((this->mode == 1) || (this->mode == 101) || (this->mode == 50)) && - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) && (gPlayer[0].hitTimer == 0)) { + (gPlayer[0].state == PLAYERSTATE_ACTIVE) && (gPlayer[0].hitTimer == 0)) { Matrix_RotateX(gCalcMatrix, -this->xRot, MTXF_NEW); Matrix_RotateY(gCalcMatrix, -this->yRot, MTXF_APPLY); @@ -3062,13 +3062,13 @@ void Object_Update(void) { gCullObjects = false; if ((gLevelMode == LEVELMODE_ON_RAILS) && - ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_INIT) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_DOWN) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ENTER_WARP_ZONE) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_START_360) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_NEXT))) { + ((gPlayer[0].state == PLAYERSTATE_INIT) || (gPlayer[0].state == PLAYERSTATE_ACTIVE) || + (gPlayer[0].state == PLAYERSTATE_DOWN) || (gPlayer[0].state == PLAYERSTATE_ENTER_WARP_ZONE) || + (gPlayer[0].state == PLAYERSTATE_START_360) || (gPlayer[0].state == PLAYERSTATE_NEXT))) { gCullObjects = true; } if (gLevelMode != LEVELMODE_ALL_RANGE) { - if ((gLoadLevelObjects != 0) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) { + if ((gLoadLevelObjects != 0) && (gPlayer[0].state != PLAYERSTATE_LEVEL_INTRO)) { Object_LoadLevelObjects(); } for (i = 0, scenery = gScenery; i < ARRAY_COUNT(gScenery); i++, scenery++) { diff --git a/src/engine/fox_enmy2.c b/src/engine/fox_enmy2.c index ae47c3c2..317ceccf 100644 --- a/src/engine/fox_enmy2.c +++ b/src/engine/fox_enmy2.c @@ -1186,7 +1186,7 @@ void ActorEvent_ProcessScript(ActorEvent* this) { this->drawShadow = true; } - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) { + if (gPlayer[0].state == PLAYERSTATE_ACTIVE) { if (this->eventType == EVID_KATT) { Audio_PlayFanfare(NA_BGM_KATT, 20, 10, 10); } @@ -1333,7 +1333,7 @@ void ActorEvent_ProcessScript(ActorEvent* this) { case EV_OPC(EVOP_PLAY_MSG): msg = Message_PtrFromId(actorScript[this->aiIndex + 1]); - if ((msg != NULL) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE)) { + if ((msg != NULL) && (gPlayer[0].state == PLAYERSTATE_ACTIVE)) { Radio_PlayMessage(msg, actorScript[this->aiIndex] & 0x1FF); } this->aiIndex += 2; @@ -1842,7 +1842,7 @@ void ActorEvent_ProcessActions(ActorEvent* this) { Vec3f sp6C; Sprite* sprite; - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) && (this->eventType != EVID_SARUMARINE_PERISCOPE) && + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) && (this->eventType != EVID_SARUMARINE_PERISCOPE) && (this->eventType != EVID_ANDROSS_GATE) && (this->eventType != EVID_ANDROSS_GATE_2) && (this->eventType != EVID_SY_ROBOT_1) && (this->eventType != EVID_SY_ROBOT_2) && (this->eventType != EVID_SY_ROBOT_3)) { @@ -3044,7 +3044,7 @@ void ActorEvent_Update(ActorEvent* this) { Vec3f spAC; Vec3f spA0; - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) || gKillEventActors) { + if ((gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) || gKillEventActors) { Object_Kill(&this->obj, this->sfxSource); return; } @@ -3461,7 +3461,7 @@ void ActorEvent_Update(ActorEvent* this) { this->vel.z -= gPathVelZ; } - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ENTER_WARP_ZONE) { + if (gPlayer[0].state == PLAYERSTATE_ENTER_WARP_ZONE) { this->vel.z = 100.0f; } diff --git a/src/engine/fox_hud.c b/src/engine/fox_hud.c index 727e43d2..31907b25 100644 --- a/src/engine/fox_hud.c +++ b/src/engine/fox_hud.c @@ -12,7 +12,7 @@ s32 D_801616D0[13]; s32 D_hud_80161704; s32 D_hud_80161708; s32 D_hud_8016170C; -s32 D_hud_80161710; +s32 gRadarMissileAlarmTimer; s32 gTotalHits; s32 D_80161718; s32 D_8016171C; @@ -187,7 +187,7 @@ void HUD_TeamDownWrench_Draw(s32 arg0) { if (arg0 == 0) { for (i = 1; i < 4; i++) { - if (((gTeamShields[i] != 0) || (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE)) && + if (((gTeamShields[i] != 0) || (gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE)) && (gTeamShields[i] <= 0) && (gTeamShields[i] != -2)) { Matrix_Push(&gGfxMatrix); Matrix_Translate(gGfxMatrix, sTeamDownWrenchPos[i - 1].x, sTeamDownWrenchPos[i - 1].y, @@ -470,7 +470,7 @@ void HUD_TeamShields_Draw(f32 xPos, f32 yPos, s32 arg2) { ((gPlayState == PLAY_PAUSE) || (gShowLevelClearStatusScreen == 1) || (gLevelStartStatusScreenTimer != 0))) { RCP_SetupDL(&gMasterDisp, SETUPDL_76); gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); - if ((arg2 == 0) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) { + if ((arg2 == 0) && (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE)) { Graphics_DisplaySmallText(xPos + (8.0f * xScale) + 4.0f, yPos + 2.0f, 1.0f, 1.0f, " OK "); } else { Graphics_DisplaySmallText(xPos + (8.0f * xScale) + 4.0f, yPos + 2.0f, 1.0f, 1.0f, "DOWN"); @@ -1451,7 +1451,7 @@ void HUD_PauseScreen_Update(void) { break; case 2: - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_STANDBY; + gPlayer[0].state = PLAYERSTATE_STANDBY; gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0; gFillScreenAlphaTarget = 255; gFillScreenAlphaStep = 32; @@ -1570,7 +1570,7 @@ void HUD_PauseScreen_Update(void) { gSavedHitCount = gSavedObjectLoadIndex = 0; Audio_StopPlayerNoise(0); - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_NEXT; + gPlayer[0].state = PLAYERSTATE_NEXT; gScreenFlashTimer = 0; gPlayer[0].csTimer = 0; gFillScreenAlpha = gFillScreenAlphaTarget = 255; @@ -1858,7 +1858,7 @@ void HUD_RadarMark_Draw(s32 type) { arwingMarkColor = 1; } - if (gPlayer[type].state_1C8 == PLAYERSTATE_1C8_VS_STANDBY) { + if (gPlayer[type].state == PLAYERSTATE_VS_STANDBY) { break; } } @@ -1955,7 +1955,7 @@ void HUD_RadarMarks_Setup(void) { Item* item; for (i = 0; i < gCamCount; i++) { - if (gPlayer[i].state_1C8 == PLAYERSTATE_1C8_NEXT) { + if (gPlayer[i].state == PLAYERSTATE_NEXT) { continue; } gRadarMarks[i].enabled = true; @@ -1972,7 +1972,7 @@ void HUD_RadarMarks_Setup(void) { continue; } - if (gPlayer[i].state_1C8 != PLAYERSTATE_1C8_ACTIVE) { + if (gPlayer[i].state != PLAYERSTATE_ACTIVE) { continue; } @@ -2132,11 +2132,11 @@ s32 HUD_RadarMarks_Update(void) { Matrix_Push(&gGfxMatrix); Matrix_Translate(gGfxMatrix, x1, y1, z1, MTXF_APPLY); - if ((gCurrentLevel == LEVEL_SECTOR_Z) && (D_hud_80161710 != 0)) { + if ((gCurrentLevel == LEVEL_SECTOR_Z) && (gRadarMissileAlarmTimer != 0)) { Matrix_Push(&gGfxMatrix); HUD_RadarMissileAlarm_Draw(); Matrix_Pop(&gGfxMatrix); - D_hud_80161710--; + gRadarMissileAlarmTimer--; } for (i = ARRAY_COUNT(gRadarMarks) - 1; i >= 0; i--) { @@ -4170,7 +4170,7 @@ void ActorTeamBoss_SetAction(ActorTeamBoss* this) { this->state = 3; } - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) { if ((this->state != 2) && (this->state != 3)) { this->iwork[4] = 1; this->state = 2; @@ -4457,7 +4457,7 @@ void ActorTeamBoss_Radarmarks_Init(ActorTeamBoss* this) { void ActorTeamBoss_DmgEffect(ActorTeamBoss* this) { s32 mask; - if ((gTeamShields[this->aiType] < 64) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE)) { + if ((gTeamShields[this->aiType] < 64) && (gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE)) { mask = 8 - 1; if (gTeamShields[this->aiType] > 16) { mask = 16 - 1; @@ -4753,14 +4753,14 @@ void ActorTeamBoss_Update(ActorTeamBoss* this) { } if ((this->iwork[10] != 0) && (gLevelMode == LEVELMODE_ALL_RANGE) && (this->iwork[9] == 0) && - (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE)) { + (gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE)) { this->work_048 = 2; this->work_04A = 0; } if ((gLevelMode == LEVELMODE_ALL_RANGE) && (fabsf(this->obj.pos.x > range) || fabsf(this->obj.pos.z > range)) && - (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE)) { + (gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE)) { this->work_048 = 2; this->work_04A = 1; } @@ -4800,7 +4800,7 @@ void Aquas_CsIntroActors_Update(ActorCutscene* this) { if (this->state == 0) { switch (this->animFrame) { case 1: - if ((player->state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO) || (this->animFrame != 1)) { + if ((player->state != PLAYERSTATE_LEVEL_INTRO) || (this->animFrame != 1)) { if (gCsFrameCount > 1588) { this->fwork[0] = 5.0f; } else { @@ -4865,8 +4865,7 @@ void Aquas_Effect363_Spawn(f32 x, f32 y, f32 z, f32 arg3) { effect->obj.pos.y = y; effect->obj.pos.z = z; - if ((player->state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && (gCurrentLevel == LEVEL_AQUAS) && - (player->csState < 2)) { + if ((player->state == PLAYERSTATE_LEVEL_INTRO) && (gCurrentLevel == LEVEL_AQUAS) && (player->csState < 2)) { effect->scale1 = 0.4f; effect->unk_44 = 0; effect->unk_46 = 24; @@ -5285,7 +5284,7 @@ void Aquas_CsLevelStart(Player* player) { if (player->csTimer <= 900) { gLevelStartStatusScreenTimer = 50; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->csState = 0; player->csTimer = 0; @@ -5341,7 +5340,7 @@ f32 D_800D24CC = 0.02f; void Aquas_Effect363_Update(Effect363* this) { Player* player = &gPlayer[0]; - if ((player->state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && (gCurrentLevel == LEVEL_AQUAS) && (player->csState < 2)) { + if ((player->state == PLAYERSTATE_LEVEL_INTRO) && (gCurrentLevel == LEVEL_AQUAS) && (player->csState < 2)) { switch (this->state) { case 0: this->unk_44 += this->unk_46; @@ -5372,12 +5371,12 @@ void Aquas_Effect363_Update(Effect363* this) { } this->obj.rot.z += this->unk_48; } else { - if (player->state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) { + if (player->state == PLAYERSTATE_LEVEL_COMPLETE) { this->obj.rot.x = RAD_TO_DEG(player->camPitch); this->obj.rot.y = RAD_TO_DEG(-player->camYaw); } - if (player->state_1C8 == PLAYERSTATE_1C8_NEXT) { + if (player->state == PLAYERSTATE_NEXT) { this->unk_46 = 2; if (player->csState >= 4) { this->vel.y -= 0.13f; @@ -5387,8 +5386,8 @@ void Aquas_Effect363_Update(Effect363* this) { this->scale2 += 0.8f; this->unk_4A -= this->unk_46; - if ((this->unk_4A < 0) || ((player->state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && - (gCurrentLevel == LEVEL_AQUAS) && (player->csState == 5))) { + if ((this->unk_4A < 0) || + ((player->state == PLAYERSTATE_LEVEL_INTRO) && (gCurrentLevel == LEVEL_AQUAS) && (player->csState == 5))) { Object_Kill(&this->obj, this->sfxSource); } this->obj.rot.z += this->unk_48; @@ -5396,8 +5395,7 @@ void Aquas_Effect363_Update(Effect363* this) { } void Aquas_Effect363_Draw(Effect363* this) { - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && (gCurrentLevel == LEVEL_AQUAS) && - (gPlayer[0].csState < 2)) { + if ((gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) && (gCurrentLevel == LEVEL_AQUAS) && (gPlayer[0].csState < 2)) { RCP_SetupDL(&gMasterDisp, SETUPDL_68); gDPSetPrimColor(gMasterDisp++, 0, 0, 0, 21, 34, this->unk_4A); gDPSetEnvColor(gMasterDisp++, 255, 255, 251, 0); @@ -5887,7 +5885,7 @@ void Aquas_CsLevelComplete(Player* player) { if (gFillScreenAlpha == 255) { gLeveLClearStatus[LEVEL_AQUAS] = Play_CheckMedalStatus(150) + 1; - player->state_1C8 = PLAYERSTATE_1C8_NEXT; + player->state = PLAYERSTATE_NEXT; player->csTimer = 0; Audio_FadeOutAll(10); gFadeoutType = 4; @@ -6110,7 +6108,7 @@ void Venom1_LevelStart2(Player* player) { if (gCsFrameCount == 300) { gPathTexScroll = 0; gLevelStartStatusScreenTimer = 50; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->baseSpeed = gArwingSpeed; player->csState = 0; player->csTimer = 0; diff --git a/src/engine/fox_play.c b/src/engine/fox_play.c index 13940888..95900a19 100644 --- a/src/engine/fox_play.c +++ b/src/engine/fox_play.c @@ -1549,8 +1549,7 @@ void Player_CheckItemCollect(Player* player) { for (i = 0, item = gItems; i < ARRAY_COUNT(gItems); i++, item++) { if ((item->obj.status == OBJ_ACTIVE) && - ((player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) || (player->state_1C8 == PLAYERSTATE_1C8_U_TURN)) && - (item->timer_4A == 0) && + ((player->state == PLAYERSTATE_ACTIVE) || (player->state == PLAYERSTATE_U_TURN)) && (item->timer_4A == 0) && Player_CheckHitboxCollision(player, item->info.hitbox, &sp6C, item->obj.pos.x, item->obj.pos.y, item->obj.pos.z, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f)) { item->collected = true; @@ -1694,7 +1693,7 @@ void Player_CollisionCheck(Player* player) { break; } } else if (player->form == FORM_ARWING) { - if ((player->hit1.y < (gGroundHeight + 13.0f)) && (player->state_1C8 != PLAYERSTATE_1C8_DOWN)) { + if ((player->hit1.y < (gGroundHeight + 13.0f)) && (player->state != PLAYERSTATE_DOWN)) { if (gGroundSurface == SURFACE_WATER) { player->hitTimer = 7; player->rot.x = (player->baseSpeed + player->boostSpeed) * 0.5f; @@ -1707,7 +1706,7 @@ void Player_CollisionCheck(Player* player) { Effect_Effect362_Spawn(player->hit1.x, player->hit1.y, player->hit1.z, 6.0f); } } - if ((player->hit2.y < (gGroundHeight + 13.0f)) && (player->state_1C8 != PLAYERSTATE_1C8_DOWN)) { + if ((player->hit2.y < (gGroundHeight + 13.0f)) && (player->state != PLAYERSTATE_DOWN)) { if (gGroundSurface == SURFACE_WATER) { player->hitTimer = 7; player->rot.x = (player->baseSpeed + player->boostSpeed) * 0.5f; @@ -2152,7 +2151,7 @@ void Player_CollisionCheck(Player* player) { if (gCamCount == 4) { for (opponent = &gPlayer[3], i = 3; i >= 0; i--, opponent--) { - if ((i != gPlayerNum) && (opponent->state_1C8 == PLAYERSTATE_1C8_ACTIVE)) { + if ((i != gPlayerNum) && (opponent->state == PLAYERSTATE_ACTIVE)) { spC8.x = 25.0f; if (player->form == FORM_ON_FOOT) { spC8.x = 4.0f; @@ -2212,7 +2211,7 @@ void Player_CollisionCheck(Player* player) { player->knockback.y = 30.0f; player->rot.x = (player->baseSpeed + player->boostSpeed) * 0.8f; } - if (player->state_1C8 == PLAYERSTATE_1C8_DOWN) { + if (player->state == PLAYERSTATE_DOWN) { player->radioDamageTimer = 2; Effect_Effect382_Spawn(player->pos.x, player->trueZpos, 30.0f, 0.0f, 5.0f); Effect_Effect382_Spawn(player->pos.x, player->trueZpos, -30.0f, 0.0f, 5.0f); @@ -2814,7 +2813,7 @@ void Play_Init(void) { Player_InitializeAll(); for (i = 0; i < gCamCount; i++) { - gPlayer[i].state_1C8 = PLAYERSTATE_1C8_INIT; + gPlayer[i].state = PLAYERSTATE_INIT; gPlayerGlareAlphas[i] = D_ctx_801783C0[i] = 0; gControllerRumbleTimers[i] = 0; gPlayerScores[i] = 0; @@ -3174,8 +3173,8 @@ bool Player_CanLockOn(s32 playerNum) { if (gVersusMode) { for (i = 0; i < gCamCount; i++) { - if (((gPlayer[playerNum].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || - (gPlayer[playerNum].state_1C8 == PLAYERSTATE_1C8_U_TURN)) && + if (((gPlayer[playerNum].state == PLAYERSTATE_ACTIVE) || + (gPlayer[playerNum].state == PLAYERSTATE_U_TURN)) && (gVsLockOnTimers[i][playerNum] != 0)) { return false; } @@ -3198,7 +3197,7 @@ bool Player_UpdateLockOn(Player* player) { } if (!((gInputHold->button & R_TRIG) && (gInputHold->button & Z_TRIG) && (player->form == FORM_ARWING) && - (player->state_1C8 == PLAYERSTATE_1C8_ACTIVE)) && + (player->state == PLAYERSTATE_ACTIVE)) && ((gGameFrameCount % 4) == 0) && Player_CanLockOn(player->num)) { if (gChargeTimers[player->num] > 20) { for (i = 0; i < 13; i++) { // bug? should be 11 @@ -3555,7 +3554,7 @@ void Player_CheckBounds360(Player* player) { var_fv1 = 100000.0f; } if ((var_fv1 < fabsf(player->pos.x)) || (var_fv1 < fabsf(player->pos.z))) { - player->state_1C8 = PLAYERSTATE_1C8_U_TURN; + player->state = PLAYERSTATE_U_TURN; player->unk_19C = 0; player->csState = 0; player->unk_000 = 0.0f; @@ -4616,7 +4615,7 @@ void Player_Setup(Player* playerx) { Camera_Update360(player, true); } - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->wingPosition = gLevelType; if ((gLevelMode == LEVELMODE_ALL_RANGE) && !gVersusMode) { @@ -4650,7 +4649,7 @@ void Player_Setup(Player* playerx) { switch (gCurrentLevel) { case LEVEL_CORNERIA: - player->state_1C8 = PLAYERSTATE_1C8_LEVEL_INTRO; + player->state = PLAYERSTATE_LEVEL_INTRO; player->wingPosition = 1; gGroundSurface = gSavedGroundSurface = SURFACE_WATER; Play_dummy_MuteSfx(); @@ -4672,10 +4671,10 @@ void Player_Setup(Player* playerx) { case LEVEL_KATINA: case LEVEL_SECTOR_Z: case LEVEL_VENOM_2: - player->state_1C8 = PLAYERSTATE_1C8_LEVEL_INTRO; + player->state = PLAYERSTATE_LEVEL_INTRO; break; case LEVEL_METEO: - player->state_1C8 = PLAYERSTATE_1C8_LEVEL_INTRO; + player->state = PLAYERSTATE_LEVEL_INTRO; break; } } else { @@ -4700,7 +4699,7 @@ void Player_Setup(Player* playerx) { } } - if (player->state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) { + if (player->state == PLAYERSTATE_LEVEL_INTRO) { player->draw = true; switch (gCurrentLevel) { case LEVEL_CORNERIA: @@ -4780,7 +4779,7 @@ void Player_Setup(Player* playerx) { Display_SetupPlayerSfxPos(player); if (!gVersusMode && (((gCurrentLevel != LEVEL_TITANIA) && (gCurrentLevel != LEVEL_SOLAR)) || gVersusMode || - (player->state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO))) { + (player->state != PLAYERSTATE_LEVEL_INTRO))) { Audio_StartPlayerNoise(gPlayerNum); } @@ -5029,7 +5028,7 @@ void Player_ArwingBoost(Player* player) { } } if ((gInputHold->button & gBoostButton[player->num]) && !(gInputHold->button & gBrakeButton[player->num]) && - (player->state_1C8 != PLAYERSTATE_1C8_U_TURN) && !player->boostCooldown) { + (player->state != PLAYERSTATE_U_TURN) && !player->boostCooldown) { if (player->boostMeter == 0.0f) { Player_PlaySfx(player->sfxSource, NA_SE_ARWING_BOOST, player->num); player->unk_194 = 5.0f; @@ -5116,7 +5115,7 @@ void Player_ArwingBrake(Player* player) { (gUturnBrakeTimers[gPlayerNum] != 0)) { gUturnDownTimers[gPlayerNum] = 0; gUturnBrakeTimers[gPlayerNum] = 0; - player->state_1C8 = PLAYERSTATE_1C8_U_TURN; + player->state = PLAYERSTATE_U_TURN; player->csState = 0; player->unk_19C = 1; player->unk_000 = 0.0f; @@ -5129,7 +5128,7 @@ void Player_ArwingBrake(Player* player) { } if ((gInputHold->button & gBrakeButton[player->num]) && !(gInputHold->button & gBoostButton[player->num]) && - (player->state_1C8 != PLAYERSTATE_1C8_U_TURN) && !player->boostCooldown) { + (player->state != PLAYERSTATE_U_TURN) && !player->boostCooldown) { if (player->boostMeter == 0.0f) { Player_PlaySfx(player->sfxSource, NA_SE_ARWING_BRAKE, player->num); if ((gLevelMode == LEVELMODE_ALL_RANGE) && (gInputPress->button & gBrakeButton[player->num])) { @@ -5420,7 +5419,7 @@ void Player_UpdateEffects(Player* player) { if (player->form == FORM_ARWING) { player->damageShake = SIN_DEG(player->hitTimer * 400.0f) * player->hitTimer * D_800D3164[player->hitDirection]; - if (player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) { + if (player->state == PLAYERSTATE_ACTIVE) { player->xShake = SIN_DEG(player->hitTimer * 400.0f) * player->hitTimer * D_800D3164[player->hitDirection] * 0.8f; } @@ -5512,7 +5511,7 @@ void Play_dummy_800B41E0(Player* player) { } void Player_Down(Player* player) { - player->state_1C8 = PLAYERSTATE_1C8_DOWN; + player->state = PLAYERSTATE_DOWN; if (!gVersusMode) { SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 1); @@ -5676,7 +5675,7 @@ void Player_Update360(Player* player) { void Player_LowHealthMsg(Player* player) { s32 teamId; - if ((player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) && (gTeamLowHealthMsgTimer >= 0)) { + if ((player->state == PLAYERSTATE_ACTIVE) && (gTeamLowHealthMsgTimer >= 0)) { gTeamLowHealthMsgTimer++; if (gTeamLowHealthMsgTimer > 32 * 30) { gTeamLowHealthMsgTimer = 0; @@ -5748,13 +5747,13 @@ void Player_Update(Player* player) { *gControllerRumble = 1; } } - if (player->state_1C8 > PLAYERSTATE_1C8_INIT) { + if (player->state > PLAYERSTATE_INIT) { Player_UpdateEffects(player); } player->flags_228 = 0; - if ((player->state_1C8 > PLAYERSTATE_1C8_INIT) && (player->form == FORM_ARWING) && !gVersusMode) { + if ((player->state > PLAYERSTATE_INIT) && (player->form == FORM_ARWING) && !gVersusMode) { switch (player->wingPosition) { case 0: sp1C4 = Animation_GetFrameData(&D_arwing_3015AF4, 0, sp58); @@ -5774,27 +5773,27 @@ void Player_Update(Player* player) { player->whooshTimer--; } - switch (player->state_1C8) { - case PLAYERSTATE_1C8_STANDBY: + switch (player->state) { + case PLAYERSTATE_STANDBY: player->draw = false; gShowHud = false; gPauseEnabled = false; break; - case PLAYERSTATE_1C8_INIT: + case PLAYERSTATE_INIT: Player_Setup(player); gFillScreenAlphaTarget = 0; gPauseEnabled = false; break; - case PLAYERSTATE_1C8_LEVEL_INTRO: + case PLAYERSTATE_LEVEL_INTRO: gShowHud = false; gPauseEnabled = false; player->arwing.drawFace = true; Cutscene_LevelStart(player); break; - case PLAYERSTATE_1C8_ACTIVE: + case PLAYERSTATE_ACTIVE: gShowHud = true; Player_LowHealthMsg(player); player->arwing.drawFace = false; @@ -5830,7 +5829,7 @@ void Player_Update(Player* player) { sp1C4 = RAND_INT(3.9f); } while (gPlayerInactive[sp1C4]); player->attacker = sp1C4 + 1; - player->state_1C8 = PLAYERSTATE_1C8_VS_STANDBY; + player->state = PLAYERSTATE_VS_STANDBY; player->csState = 0; Camera_FollowPlayer(player, player->attacker - 1, 1); } else { @@ -5859,11 +5858,11 @@ void Player_Update(Player* player) { } break; - case PLAYERSTATE_1C8_DOWN: + case PLAYERSTATE_DOWN: Cutscene_PlayerDown(player); break; - case PLAYERSTATE_1C8_U_TURN: + case PLAYERSTATE_U_TURN: if (gVersusMode) { gVsLockOnTimers[player->num][0] = gVsLockOnTimers[player->num][1] = gVsLockOnTimers[player->num][2] = gVsLockOnTimers[player->num][3] = 0; @@ -5886,7 +5885,7 @@ void Player_Update(Player* player) { } break; - case PLAYERSTATE_1C8_LEVEL_COMPLETE: + case PLAYERSTATE_LEVEL_COMPLETE: player->alternateView = false; gPauseEnabled = false; Player_UpdateShields(player); @@ -5895,14 +5894,14 @@ void Player_Update(Player* player) { gShowHud = gChargeTimers[player->num] = 0; break; - case PLAYERSTATE_1C8_ENTER_WARP_ZONE: + case PLAYERSTATE_ENTER_WARP_ZONE: gPauseEnabled = false; Player_UpdateShields(player); Cutscene_EnterWarpZone(player); gShowHud = false; break; - case PLAYERSTATE_1C8_START_360: + case PLAYERSTATE_START_360: gPauseEnabled = false; Player_UpdateShields(player); Cutscene_AllRangeMode(player); @@ -5910,21 +5909,21 @@ void Player_Update(Player* player) { gChargeTimers[player->num] = player->alternateView = gShowHud = 0; break; - case PLAYERSTATE_1C8_GFOX_REPAIR: + case PLAYERSTATE_GFOX_REPAIR: gPauseEnabled = false; AllRange_GreatFoxRepair(player); gShowHud = false; break; - case PLAYERSTATE_1C8_ANDROSS_MOUTH: + case PLAYERSTATE_ANDROSS_MOUTH: Andross_8018C390(player); Player_UpdateShields(player); break; - case PLAYERSTATE_1C8_12: + case PLAYERSTATE_UNK_12: break; - case PLAYERSTATE_1C8_VS_STANDBY: + case PLAYERSTATE_VS_STANDBY: player->draw = false; if (gPlayerInactive[player->num] == true) { Camera_FollowPlayer(player, player->attacker - 1, 0); @@ -5944,7 +5943,7 @@ void Player_Update(Player* player) { } break; - case PLAYERSTATE_1C8_NEXT: + case PLAYERSTATE_NEXT: gShowHud = false; if (!gVersusMode) { @@ -5966,7 +5965,7 @@ void Player_Update(Player* player) { if (player->csTimer == 0) { if (gCamCount == 4) { - player->state_1C8 = PLAYERSTATE_1C8_VS_STANDBY; + player->state = PLAYERSTATE_VS_STANDBY; player->csTimer = 200; } else { gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0; @@ -6047,7 +6046,7 @@ void Player_Update(Player* player) { if (player->form == FORM_ARWING) { Math_SmoothStepToF(&player->unk_194, player->unk_190, 0.5f, 5.0f, 0.0f); - if (player->boostCooldown && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE)) { + if (player->boostCooldown && (gPlayer[0].state == PLAYERSTATE_ACTIVE)) { player->unk_190 = 0.5f; } else { player->unk_190 = 1.0f; @@ -6066,14 +6065,14 @@ void Camera_UpdateArwingOnRails(Player* player) { gCsCamEyeX = (player->pos.x - player->xPath) * player->unk_148; - if (((player->form == FORM_ARWING) && (player->state_1C8 == PLAYERSTATE_1C8_ACTIVE)) || - (player->state_1C8 == PLAYERSTATE_1C8_U_TURN)) { + if (((player->form == FORM_ARWING) && (player->state == PLAYERSTATE_ACTIVE)) || + (player->state == PLAYERSTATE_U_TURN)) { gCsCamEyeY = (player->pos.y - player->yPath) * player->unk_148; } var_fv1 = gInputPress->stick_x; var_fv0 = -gInputPress->stick_y; - if ((player->state_1C8 != PLAYERSTATE_1C8_ACTIVE) || player->somersault) { + if ((player->state != PLAYERSTATE_ACTIVE) || player->somersault) { var_fv0 = 0.0f; var_fv1 = 0; } @@ -6195,7 +6194,7 @@ void Camera_FollowPlayer(Player* player, s32 playerNum, bool arg2) { if (((gGameFrameCount & mask) == (gPlayerNum * 32)) || arg2) { for (i = 0; i < 100; i++) { playerNum = RAND_INT(3.9f); - if ((gPlayer[playerNum].state_1C8 != PLAYERSTATE_1C8_VS_STANDBY) && !gPlayerInactive[playerNum]) { + if ((gPlayer[playerNum].state != PLAYERSTATE_VS_STANDBY) && !gPlayerInactive[playerNum]) { break; } } @@ -6305,7 +6304,7 @@ void Camera_UpdateArwing360(Player* player, bool arg1) { atY = (player->pos.y * (var_fv0)) + player->damageShake + (player->xRock * 5.0f); atY += (player->unk_02C * 0.5f); - if (player->state_1C8 == PLAYERSTATE_1C8_U_TURN) { + if (player->state == PLAYERSTATE_U_TURN) { atY = player->pos.y; } atZ = player->pos.z; @@ -6323,7 +6322,7 @@ void Camera_UpdateArwing360(Player* player, bool arg1) { atX += sp68.x; atZ += sp68.z; - if (player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) { + if (player->state == PLAYERSTATE_ACTIVE) { Math_SmoothStepToF(&player->cam.eye.x, eyeX, player->unk_014, 30000.0f, 0); Math_SmoothStepToF(&player->cam.eye.y, eyeY, player->unk_014, 30000.0f, 0); Math_SmoothStepToF(&player->cam.eye.z, eyeZ, player->unk_014, 30000.0f, 0); @@ -6492,7 +6491,7 @@ void Camera_SetStarfieldPos(f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 gStarfieldX = Math_ModF(sp34, SCREEN_WIDTH * 1.5f); gStarfieldY = Math_ModF(sp30, SCREEN_HEIGHT * 1.5f); - if ((gGameState == GSTATE_PLAY) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && + if ((gGameState == GSTATE_PLAY) && (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) && (gCurrentLevel == LEVEL_METEO)) { if (fabsf(gStarfieldX - sp20) < 50.0f) { D_bg_8015F96C = 0.0f; @@ -6518,8 +6517,8 @@ void Camera_Update360(Player* player, bool arg1) { } void Camera_Update(Player* player) { - switch (player->state_1C8) { - case PLAYERSTATE_1C8_ACTIVE: + switch (player->state) { + case PLAYERSTATE_ACTIVE: switch (gLevelMode) { case LEVELMODE_ON_RAILS: if (player->form == FORM_ARWING) { @@ -6545,12 +6544,12 @@ void Camera_Update(Player* player) { } break; - case PLAYERSTATE_1C8_U_TURN: + case PLAYERSTATE_U_TURN: player->camRoll -= player->camRoll * 0.1f; Camera_Update360(player, false); break; - case PLAYERSTATE_1C8_DOWN: + case PLAYERSTATE_DOWN: if ((gLevelMode == LEVELMODE_ON_RAILS) && (player->form == FORM_ARWING)) { player->cam.eye.x += (player->pos.x - player->cam.eye.x) * 0.1f; player->cam.eye.y += (player->pos.y - player->cam.eye.y) * 0.1f; @@ -6564,8 +6563,8 @@ void Camera_Update(Player* player) { } break; - case PLAYERSTATE_1C8_NEXT: - case PLAYERSTATE_1C8_LEVEL_COMPLETE: + case PLAYERSTATE_NEXT: + case PLAYERSTATE_LEVEL_COMPLETE: break; } } @@ -6575,7 +6574,7 @@ void Camera_SetupLights(Player* player) { Vec3f dest; f32 pad; - if ((gCurrentLevel == LEVEL_AQUAS) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) { + if ((gCurrentLevel == LEVEL_AQUAS) && (gPlayer[0].state != PLAYERSTATE_LEVEL_INTRO)) { gEnvLightyRot = gLight1yRotTarget = gLight1yRotTarget = gLight2yRotTarget = gLight1yRotTarget = 110.0f; if ((gGameFrameCount & 0x20) != 0) { gEnvLightyRot = gLight1yRotTarget = gLight1yRotTarget = gLight2yRotTarget = gLight1yRotTarget = 90.0f; @@ -6705,8 +6704,8 @@ void Play_UpdateLevel(void) { break; case LEVEL_VENOM_2: - if ((gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE) && (gLevelPhase == 2)) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + if ((gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE) && (gLevelPhase == 2)) { + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 0; gPlayer[0].draw = true; gPlayer[0].pos.z = 15000.0f; @@ -6738,7 +6737,7 @@ void Play_UpdateLevel(void) { case LEVEL_SECTOR_X: if (gLevelPhase == 1) { gBlurAlpha = 128; - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) { Math_SmoothStepToF(&gWarpZoneBgAlpha, 0.0f, 1.0f, 1.0f, 0.0f); } else { Math_SmoothStepToF(&gWarpZoneBgAlpha, 128.0f, 1.0f, 1.0f, 0.0f); @@ -6747,7 +6746,7 @@ void Play_UpdateLevel(void) { if ((gCurrentLevel == LEVEL_SECTOR_X) && (gLevelPhase == 0) && (gRingPassCount == 4)) { gRingPassCount++; - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_ENTER_WARP_ZONE; + gPlayer[0].state = PLAYERSTATE_ENTER_WARP_ZONE; gPlayer[0].csState = 0; gSceneSetup = 1; AUDIO_PLAY_SFX(NA_SE_WARP_HOLE, gDefaultSfxSource, 0); @@ -6773,7 +6772,7 @@ void Play_UpdateLevel(void) { for (gPathTexScroll; gPathTexScroll >= 10.0f; gPathTexScroll -= 10.0f) { Lib_Texture_Scroll(D_SO_6005710, 32, 32, 1); } - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_NEXT) { + if (gPlayer[0].state == PLAYERSTATE_NEXT) { Lib_Texture_Scroll(D_SO_6005710, 32, 32, 1); } Lib_Texture_Mottle(D_SO_601E1E8, D_SO_6020F60, 3); @@ -6803,7 +6802,7 @@ void Play_UpdateLevel(void) { #endif } - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) && ((gGameFrameCount & cycleMask) == 0)) { + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) && ((gGameFrameCount & cycleMask) == 0)) { gPlayer[0].shields--; if (gPlayer[0].shields <= 0) { gPlayer[0].shields = 0; @@ -6821,7 +6820,7 @@ void Play_UpdateLevel(void) { Audio_SetHeatAlarmParams(shields, heightParam); - if (((gGameFrameCount % 8) == 0) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE)) { + if (((gGameFrameCount % 8) == 0) && (gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE)) { Solar_8019E8B8(RAND_FLOAT_CENTERED(6000.0f), -80.0f, gPlayer[0].trueZpos + (RAND_FLOAT(2000.0f) + -6000.0f), RAND_FLOAT(10.0f) + 20.0f); // check @@ -6839,7 +6838,7 @@ void Play_UpdateLevel(void) { for (gPathTexScroll; gPathTexScroll >= 20.0f; gPathTexScroll -= 20.0f) { Lib_Texture_Scroll(D_ZO_602C2CC, 32, 32, 1); } - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_NEXT) { + if (gPlayer[0].state == PLAYERSTATE_NEXT) { Lib_Texture_Scroll(D_ZO_602C2CC, 32, 32, 1); } @@ -7022,7 +7021,7 @@ void Play_Main(void) { Play_Update(); if ((gControllerPress[gMainController].button & START_BUTTON) && - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && + (gPlayer[0].state == PLAYERSTATE_LEVEL_INTRO) && gSaveFile.save.data.planet[sSaveSlotFromLevel[gCurrentLevel]].normalClear) { Audio_ClearVoice(); Audio_SetEnvSfxReverb(0); @@ -7056,7 +7055,7 @@ void Play_Main(void) { case PLAY_PAUSE: if (!gVersusMode) { if ((gControllerPress[gMainController].button & R_TRIG) && (gPlayer[0].form != FORM_BLUE_MARINE) && - (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_STANDBY)) { + (gPlayer[0].state != PLAYERSTATE_STANDBY)) { if (gShowReticles[0] = 1 - gShowReticles[0]) { AUDIO_PLAY_SFX(NA_SE_MAP_WINDOW_OPEN, gDefaultSfxSource, 4); } else { diff --git a/src/engine/fox_radio.c b/src/engine/fox_radio.c index c3faae27..3714b4c9 100644 --- a/src/engine/fox_radio.c +++ b/src/engine/fox_radio.c @@ -756,7 +756,7 @@ void Radio_Draw(void) { } if ((gActors[idx].obj.status != OBJ_ACTIVE) && (gGameFrameCount & 4) && - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) && (gCurrentRadioPortrait != RCID_STATIC) && + (gPlayer[0].state == PLAYERSTATE_ACTIVE) && (gCurrentRadioPortrait != RCID_STATIC) && (gCurrentRadioPortrait != RCID_STATIC + 1) && (gCurrentRadioPortrait != RCID_1000)) { RCP_SetupDL(&gMasterDisp, SETUPDL_76); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255); @@ -778,6 +778,7 @@ void Radio_Draw(void) { } } +// Unused in VERSION_US and absent in VERSION_EU, probably a leftover from VERSION_JP ? void func_radio_800BC040(void) { if (gPlayState != PLAY_PAUSE) { if (gRadioStateTimer > 0) { diff --git a/src/engine/fox_tank.c b/src/engine/fox_tank.c index 4822421c..86150893 100644 --- a/src/engine/fox_tank.c +++ b/src/engine/fox_tank.c @@ -490,7 +490,7 @@ void func_tank_80044868(Player* player) { if ((gCurrentLevel == LEVEL_TITANIA) && !gBossActive) { func_tank_80043280(D_landmaster_3005EA8, D_TI_6009BB8, gGameFrameCount * -55.0f); } - if ((gCurrentLevel == LEVEL_MACBETH) && (player->state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) { + if ((gCurrentLevel == LEVEL_MACBETH) && (player->state == PLAYERSTATE_LEVEL_COMPLETE)) { func_tank_80043280(D_landmaster_3005EA8, D_Tex_800DACB8, gGameFrameCount * -55.0f); } } @@ -1305,7 +1305,7 @@ void func_tank_80047FBC(Player* player) { if (!(D_800C9F08 & 1)) { Math_SmoothStepToF(&player->rot.z, -((player->vel.z / 5.0f) * 4.0f), 0.4f, 8.0f, 0.01f); if (player->rot.z >= 3.0f) { - if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE) { + if (gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE) { AUDIO_PLAY_SFX(NA_SE_RAILWAY_BOUND, player->sfxSource, 0); } D_800C9F08 |= 1; diff --git a/src/engine/fox_versus.c b/src/engine/fox_versus.c index 9b39e5ea..4e194e51 100644 --- a/src/engine/fox_versus.c +++ b/src/engine/fox_versus.c @@ -315,7 +315,7 @@ void func_versus_800BDE44(void) { gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); for (i = 0; i < 4; i++) { - if ((gPlayer[i].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || (gPlayer[i].state_1C8 == PLAYERSTATE_1C8_U_TURN)) { + if ((gPlayer[i].state == PLAYERSTATE_ACTIVE) || (gPlayer[i].state == PLAYERSTATE_U_TURN)) { if ((gPlayerScores[i] != sVsDisplayedScores[i]) || (D_80178810[i] != 0)) { D_80178810[i] += 4; if (D_80178810[i] > 15) { @@ -638,7 +638,7 @@ s32 Versus_UpdatePlayerStatus(void) { for (i = 0, ret = 0; i < 4; i++) { D_80178850[i] = true; - if (gPlayer[i].state_1C8 != PLAYERSTATE_1C8_VS_STANDBY) { + if (gPlayer[i].state != PLAYERSTATE_VS_STANDBY) { D_80178850[i] = false; sPlayerRespawnTimer[i] = 150; continue; @@ -762,7 +762,7 @@ void func_versus_800BF750(void) { RCP_SetupDL(&gMasterDisp, SETUPDL_76); for (i = 0; i < 4; i++) { - if (gPlayer[i].state_1C8 != PLAYERSTATE_1C8_ACTIVE) { + if (gPlayer[i].state != PLAYERSTATE_ACTIVE) { continue; } for (j = 0, temp = 0; j < 4; j++) { @@ -785,10 +785,10 @@ bool Versus_CheckForWinner(void) { switch (gVsMatchType) { case VS_MATCH_POINTS: for (i = 0, numDown = 0; i < 4; i++) { - if (gPlayer[i].state_1C8 != PLAYERSTATE_1C8_VS_STANDBY) { + if (gPlayer[i].state != PLAYERSTATE_VS_STANDBY) { sVsWinner = i; } - if (gPlayer[i].state_1C8 == PLAYERSTATE_1C8_VS_STANDBY) { + if (gPlayer[i].state == PLAYERSTATE_VS_STANDBY) { numDown++; } } @@ -820,7 +820,7 @@ bool Versus_CheckForWinner(void) { if (gPlayer[j].attacker >= 0) { gPlayer[j].attacker = i + 1; } - gPlayer[j].state_1C8 = PLAYERSTATE_1C8_VS_STANDBY; + gPlayer[j].state = PLAYERSTATE_VS_STANDBY; } gVsMatchWon = true; sVsWinner = i; @@ -829,10 +829,10 @@ bool Versus_CheckForWinner(void) { case VS_MATCH_BATTLE: for (i = 0, numDown = 0; i < 4; i++) { - if (gPlayer[i].state_1C8 != PLAYERSTATE_1C8_VS_STANDBY) { + if (gPlayer[i].state != PLAYERSTATE_VS_STANDBY) { sVsWinner = i; } - if (gPlayer[i].state_1C8 == PLAYERSTATE_1C8_VS_STANDBY) { + if (gPlayer[i].state == PLAYERSTATE_VS_STANDBY) { numDown++; } } @@ -859,7 +859,7 @@ bool Versus_CheckForWinner(void) { if (gPlayer[j].attacker >= 0) { gPlayer[j].attacker = i + 1; } - gPlayer[j].state_1C8 = PLAYERSTATE_1C8_VS_STANDBY; + gPlayer[j].state = PLAYERSTATE_VS_STANDBY; } gVsMatchWon = true; } @@ -872,8 +872,7 @@ bool Versus_CheckForWinner(void) { if (gVsMatchType == VS_MATCH_TIME) { for (i = 0; i < 4; i++) { - if ((gPlayer[i].state_1C8 == PLAYERSTATE_1C8_DOWN) || - (gPlayer[i].state_1C8 == PLAYERSTATE_1C8_VS_STANDBY)) { + if ((gPlayer[i].state == PLAYERSTATE_DOWN) || (gPlayer[i].state == PLAYERSTATE_VS_STANDBY)) { gPlayerScores[i] = D_80178838[i] = sVsDisplayedScores[i] = D_80178810[i] = 0; sPlayerDownFrames[i]++; } @@ -960,7 +959,7 @@ bool Versus_CheckForWinner(void) { gPlayer[j].attacker = i + 1; } - gPlayer[j].state_1C8 = PLAYERSTATE_1C8_VS_STANDBY; + gPlayer[j].state = PLAYERSTATE_VS_STANDBY; } gVsMatchWon = true; break; diff --git a/src/mods/object_ram.c b/src/mods/object_ram.c index 6cf283c3..fe5fa558 100644 --- a/src/mods/object_ram.c +++ b/src/mods/object_ram.c @@ -412,7 +412,7 @@ void CheatRam_SpawnCheckpoint(void) { static ItemCheckpoint* checkpoint = NULL; s32 i; - if ((gLevelMode != LEVELMODE_ON_RAILS) || (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_ACTIVE)) { + if ((gLevelMode != LEVELMODE_ON_RAILS) || (gPlayer[0].state != PLAYERSTATE_ACTIVE)) { return; } @@ -563,7 +563,7 @@ void CheatRam_UpdateEntry(CheatEntry* cheat) { } break; case CHEAT_COMPLETE: - if ((gCurrentLevel == LEVEL_CORNERIA) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE)) { + if ((gCurrentLevel == LEVEL_CORNERIA) && (gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE)) { if ((gLevelMode == LEVELMODE_ON_RAILS) && (cheat->option == MISSION_COMPLETE)) { gScenery360 = Memory_Allocate(200 * sizeof(Scenery360)); gLevelMode = LEVELMODE_ALL_RANGE; @@ -571,7 +571,7 @@ void CheatRam_UpdateEntry(CheatEntry* cheat) { gLevelMode = LEVELMODE_ON_RAILS; } } - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; default: cheat->ram[0].data.i = cheat->option; break; @@ -669,8 +669,8 @@ void RamMod_Update(void) { return; } - if ((contPress->button & START_BUTTON) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_NEXT; + if ((contPress->button & START_BUTTON) && (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE)) { + gPlayer[0].state = PLAYERSTATE_NEXT; Audio_FadeOutAll(10); gFadeoutType = 4; gLeveLClearStatus[gCurrentLevel] = Play_CheckMedalStatus(medalCount[gCurrentLevel]) + 1; diff --git a/src/overlays/ovl_ending/fox_end2.c b/src/overlays/ovl_ending/fox_end2.c index 95f7d8e5..762fea3d 100644 --- a/src/overlays/ovl_ending/fox_end2.c +++ b/src/overlays/ovl_ending/fox_end2.c @@ -807,7 +807,7 @@ void Ending_80190CF0(u32 arg0, AssetInfo* asset) { gSPDisplayList(gMasterDisp++, D_END_7000000); } -void Ending_80191234(s32 arg0, s32 arg1) { +void Ending_80191234(u32 arg0, AssetInfo* asset) { gLastGameState = GSTATE_ENDING; gGameState = GSTATE_MENU; gNextGameStateTimer = 2; diff --git a/src/overlays/ovl_ending/fox_end2_data.c b/src/overlays/ovl_ending/fox_end2_data.c index cea5159b..cb6215f2 100644 --- a/src/overlays/ovl_ending/fox_end2_data.c +++ b/src/overlays/ovl_ending/fox_end2_data.c @@ -72,7 +72,7 @@ void Ending_80190274(u32 arg0, AssetInfo* asset); void Ending_80190648(s32 arg0, AssetInfo* asset); void Ending_80190778(u32 arg0, AssetInfo* asset); void Ending_80190CF0(u32 arg0, AssetInfo* asset); -void Ending_80191234(s32 arg0, s32 arg1); +void Ending_80191234(u32 arg0, AssetInfo* asset); void Ending_80191294(u32 arg0, AssetInfo* asset); // clang-format off diff --git a/src/overlays/ovl_i1/fox_co.c b/src/overlays/ovl_i1/fox_co.c index ea9c974c..5fa54e1f 100644 --- a/src/overlays/ovl_i1/fox_co.c +++ b/src/overlays/ovl_i1/fox_co.c @@ -101,8 +101,8 @@ void Corneria_Granga_Init(CoGranga* this) { gBossFrameCount = 0; if (gLevelMode == LEVELMODE_ON_RAILS) { - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_START_360; + if (gPlayer[0].state == PLAYERSTATE_ACTIVE) { + gPlayer[0].state = PLAYERSTATE_START_360; gPlayer[0].csState = 0; SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 50); SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 50); @@ -185,9 +185,8 @@ void Corneria_CoGranga_HandleDamage(CoGranga* this) { gCsFrameCount = 0; - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN)) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) || (gPlayer[0].state == PLAYERSTATE_U_TURN)) { + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = gPlayer[0].csTimer = 0; gPlayer[0].rot.y += gPlayer[0].yRot_114; @@ -620,7 +619,7 @@ void Corneria_CoGranga_Update(CoGranga* this) { Vec3f sp6C = { 0.0f, 0.0f, -30.0f }; f32 sp5C; - if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_START_360) { + if (gPlayer[0].state != PLAYERSTATE_START_360) { if (!this->swork[GRANGA_INIT]) { this->swork[GRANGA_INIT]++; @@ -2193,8 +2192,7 @@ void Corneria_CoCarrier_Update(CoCarrier* this) { this->vel.y *= 1.5f; gMissionStatus = MISSION_ACCOMPLISHED; - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN)) { + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) || (gPlayer[0].state == PLAYERSTATE_U_TURN)) { Boss_CompleteLevel(gPlayer, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z); } @@ -3331,7 +3329,7 @@ void Corneria_LevelStart(Player* player) { player->cam.eye.x = player->pos.x; player->cam.eye.y = (player->pos.y * player->unk_148) + 50.0f; player->cam.eye.z = 30.0f; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->csState = 0; player->cam.at.x = player->pos.x; player->cam.at.y = (player->pos.y * player->unk_148) + 20.0f; @@ -3614,7 +3612,7 @@ void Corneria_LevelComplete1(Player* player) { gFillScreenAlphaStep = 8; if (gFillScreenAlpha == 255) { - player->state_1C8 = PLAYERSTATE_1C8_NEXT; + player->state = PLAYERSTATE_NEXT; player->csTimer = 0; gFadeoutType = 4; gLeveLClearStatus[gCurrentLevel] = Play_CheckMedalStatus(150) + 1; diff --git a/src/overlays/ovl_i1/fox_tr360.c b/src/overlays/ovl_i1/fox_tr360.c index 55f03cdb..702b48d1 100644 --- a/src/overlays/ovl_i1/fox_tr360.c +++ b/src/overlays/ovl_i1/fox_tr360.c @@ -195,7 +195,7 @@ void Training_SpawnEnemies(void) { aiTypeIndex = 0; } - if (((gGameFrameCount % 4) == 0) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE)) { + if (((gGameFrameCount % 4) == 0) && (gPlayer[0].state == PLAYERSTATE_ACTIVE)) { src.x = 0.0f; src.y = 0.0f; src.z = -15000.0f; diff --git a/src/overlays/ovl_i1/fox_ve1.c b/src/overlays/ovl_i1/fox_ve1.c index c863e1db..44a3529c 100644 --- a/src/overlays/ovl_i1/fox_ve1.c +++ b/src/overlays/ovl_i1/fox_ve1.c @@ -2386,7 +2386,7 @@ void Venom1_80198414(void) { void Venom1_Ve1Golemech_Dying(Ve1Golemech* this) { this->obj.pos.z = gPlayer[0].pos.z; - if ((this->timer_052 <= 0) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE)) { + if ((this->timer_052 <= 0) && (gPlayer[0].state == PLAYERSTATE_ACTIVE)) { Venom1_80198414(); } } diff --git a/src/overlays/ovl_i2/fox_me.c b/src/overlays/ovl_i2/fox_me.c index dc811d2e..a8147d1c 100644 --- a/src/overlays/ovl_i2/fox_me.c +++ b/src/overlays/ovl_i2/fox_me.c @@ -680,7 +680,7 @@ void Meteo_Effect370_Update(Effect370* this) { } void Meteo_Effect371_Update(Effect371* this) { - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) { Object_Kill(&this->obj, this->sfxSource); } @@ -933,9 +933,8 @@ void Meteo_MeCrusher_Update(MeCrusher* this) { this->vel.x = 0.0f; this->vel.y = 0.0f; - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN)) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) || (gPlayer[0].state == PLAYERSTATE_U_TURN)) { + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 0; gCsFrameCount = 0; } @@ -1263,7 +1262,7 @@ void Meteo_MeCrusher_Update(MeCrusher* this) { this->obj.rot.z = this->obj.rot.z + ((0.0f - this->obj.rot.z) * 0.02f); Math_SmoothStepToF(&this->fwork[0x15], 4.0f, 1.0f, 0.1f, 0.0f); - if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_NEXT) { + if (gPlayer[0].state != PLAYERSTATE_NEXT) { gFillScreenRed = gFillScreenAlpha = gFillScreenGreen = gFillScreenBlue = 0; if ((this->timer_050 == 10) || (this->timer_050 == 30) || (this->timer_050 == 50) || @@ -2077,7 +2076,7 @@ void Meteo_LevelStart(Player* player) { if (player->csTimer == 0) { AUDIO_PLAY_BGM(gBgmSeqId); gLevelStartStatusScreenTimer = 80; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->csState = 0; player->csTimer = 0; player->csEventTimer = 0; @@ -2337,7 +2336,7 @@ void Meteo_LevelComplete(Player* player) { gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0; gFillScreenAlphaStep = 8; if (gFillScreenAlpha == 255) { - player->state_1C8 = PLAYERSTATE_1C8_NEXT; + player->state = PLAYERSTATE_NEXT; player->csTimer = 0; gFadeoutType = 4; gLeveLClearStatus[LEVEL_METEO] = Play_CheckMedalStatus(200) + 1; diff --git a/src/overlays/ovl_i2/fox_sx.c b/src/overlays/ovl_i2/fox_sx.c index 4f8399d3..029902ea 100644 --- a/src/overlays/ovl_i2/fox_sx.c +++ b/src/overlays/ovl_i2/fox_sx.c @@ -111,7 +111,7 @@ void SectorX_SxSlippy_Update(SxSlippy* this) { gBosses[0].swork[6] = 0; gTeamShields[TEAM_ID_SLIPPY] = -2; - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_STANDBY; + gPlayer[0].state = PLAYERSTATE_STANDBY; this->timer_0BC = 200; this->iwork[14] = 3; @@ -146,7 +146,7 @@ void SectorX_SxSlippy_Update(SxSlippy* this) { Math_SmoothStepToF(&gPlayer[0].cam.eye.y, this->obj.pos.y, this->fwork[1], 20.0f, 0.0f); if (this->timer_0BC == 0) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_ACTIVE; + gPlayer[0].state = PLAYERSTATE_ACTIVE; if (gPlayer[0].alternateView) { Camera_UpdateCockpitOnRails(&gPlayer[0], 1); } @@ -503,7 +503,7 @@ void SectorX_SxSpyborg_Update(SxSpyborg* this) { } } - if (((this->state != 8) && (this->state != 20)) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_ACTIVE)) { + if (((this->state != 8) && (this->state != 20)) && (gPlayer[0].state != PLAYERSTATE_ACTIVE)) { this->state = 8; this->fwork[0] = 0.0f; Audio_KillSfxBySourceAndId(D_i2_80195D88, NA_SE_EN_SZMIS_ENGINE); @@ -902,7 +902,7 @@ void SectorX_SxSpyborg_Update(SxSpyborg* this) { this->animFrame++; if (this->animFrame >= Animation_GetFrameCount(&D_SX_60123BC)) { this->animFrame = Animation_GetFrameCount(&D_SX_60123BC) - 1; - if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_STANDBY) { + if (gPlayer[0].state != PLAYERSTATE_STANDBY) { this->animFrame = 0; this->state = 10; this->fwork[0] = 0.0f; @@ -1087,8 +1087,8 @@ void SectorX_SxSpyborg_Update(SxSpyborg* this) { } if (this->timer_050 == 120) { - if ((gPlayer[0].state_1C8 != PLAYERSTATE_1C8_NEXT) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_DOWN)) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + if ((gPlayer[0].state != PLAYERSTATE_NEXT) && (gPlayer[0].state != PLAYERSTATE_DOWN)) { + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 0; gPlayer[0].draw = true; } @@ -1629,7 +1629,7 @@ void SectorX_LevelStart(Player* player) { player->baseSpeed = gArwingSpeed; AUDIO_PLAY_BGM(gBgmSeqId); gLevelStartStatusScreenTimer = 80; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->csState = player->csTimer = player->csEventTimer = 0; player->cam.eye.y = player->pos.y * player->unk_148 + 50.0f; player->cam.eye.z = 400.0f; @@ -1794,7 +1794,7 @@ void SectorX_LevelComplete(Player* player) { gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0; gFillScreenAlphaTarget = 255; if (gFillScreenAlpha == 255) { - player->state_1C8 = PLAYERSTATE_1C8_NEXT; + player->state = PLAYERSTATE_NEXT; gFadeoutType = 4; player->csTimer = 0; Play_ClearObjectData(); diff --git a/src/overlays/ovl_i3/fox_a6.c b/src/overlays/ovl_i3/fox_a6.c index 7ecd461f..e406b971 100644 --- a/src/overlays/ovl_i3/fox_a6.c +++ b/src/overlays/ovl_i3/fox_a6.c @@ -1185,9 +1185,9 @@ void Area6_A6Gorgon_Update(A6Gorgon* this) { break; case 11: - if ((this->timer_052 == 160) && ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN))) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + if ((this->timer_052 == 160) && + ((gPlayer[0].state == PLAYERSTATE_ACTIVE) || (gPlayer[0].state == PLAYERSTATE_U_TURN))) { + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 0; } @@ -2456,7 +2456,7 @@ void Area6_LevelStart(Player* player) { player->csTimer = 0; AUDIO_PLAY_BGM(NA_BGM_STAGE_A6); - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; } break; } @@ -2543,7 +2543,7 @@ void Area6_LevelStart(Player* player) { Matrix_RotateY(gCalcMatrix, (player->rot.y + player->yRot_114 + 180.0f) * M_DTOR, MTXF_NEW); Matrix_RotateX(gCalcMatrix, -(player->rot.x * M_DTOR), MTXF_APPLY); - if (player->state_1C8 != PLAYERSTATE_1C8_ACTIVE) { + if (player->state != PLAYERSTATE_ACTIVE) { sp74.x = 0.0f; sp74.y = 0.0f; sp74.z = player->baseSpeed; diff --git a/src/overlays/ovl_i3/fox_aq.c b/src/overlays/ovl_i3/fox_aq.c index f3aab0f8..ba4d54cc 100644 --- a/src/overlays/ovl_i3/fox_aq.c +++ b/src/overlays/ovl_i3/fox_aq.c @@ -806,7 +806,7 @@ void Aquas_UpdateCamera(Player* player) { f32 stickY = -gInputPress->stick_y; f32 zRot; - if (player->state_1C8 != PLAYERSTATE_1C8_ACTIVE) { + if (player->state != PLAYERSTATE_ACTIVE) { stickX = stickY = 0.0f; } @@ -1510,7 +1510,7 @@ void Aquas_BlueMarineBoost(Player* player) { } if ((gBoostButton[player->num] & gInputHold->button) && (player->unk_230 == 0) && - (player->state_1C8 != PLAYERSTATE_1C8_U_TURN) && (player->boostCooldown == 0)) { + (player->state != PLAYERSTATE_U_TURN) && (player->boostCooldown == 0)) { if (player->boostMeter == 0) { AUDIO_PLAY_SFX(NA_SE_MARINE_BOOST, player->sfxSource, 4); } @@ -1558,7 +1558,7 @@ void Aquas_BlueMarineBrake(Player* player) { player->sfx.brake = false; if ((gInputHold->button & gBrakeButton[player->num]) && (player->unk_230 == 0) && - (player->state_1C8 != PLAYERSTATE_1C8_U_TURN) && (player->boostCooldown == 0)) { + (player->state != PLAYERSTATE_U_TURN) && (player->boostCooldown == 0)) { if (player->boostMeter == 0) { AUDIO_PLAY_SFX(NA_SE_MARINE_BRAKE, player->sfxSource, 4); } @@ -3083,9 +3083,9 @@ void Aquas_AqBacoon_Update(AqBacoon* this) { Boss_AwardBonus(this); Radio_PlayMessage(gMsg_ID_15252, RCID_SLIPPY); gTeamLowHealthMsgTimer = -1; - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN)) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) || + (gPlayer[0].state == PLAYERSTATE_U_TURN)) { + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 0; } D_i3_801C4190[1] = 0; diff --git a/src/overlays/ovl_i3/fox_so.c b/src/overlays/ovl_i3/fox_so.c index 06f4ed24..dbad6d20 100644 --- a/src/overlays/ovl_i3/fox_so.c +++ b/src/overlays/ovl_i3/fox_so.c @@ -743,7 +743,7 @@ void Solar_Effect392_Update(Effect392* this) { } } - if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE) { + if (gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE) { func_effect_8007A774(&gPlayer[0], this, this->scale2 * 12.0f); } @@ -822,7 +822,7 @@ void Solar_Effect392_Update(Effect392* this) { Math_SmoothStepToF(&this->vel.y, -65.0f, 2.0f, 1.0f, 0.5f); } - if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE) { + if (gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE) { func_effect_8007A774(&gPlayer[0], this, this->scale2 * 12.0f); } @@ -872,7 +872,7 @@ void Solar_Effect392_Update(Effect392* this) { this->vel.y = COS_DEG(this->unk_60.z) * (this->unk_60.x * 10.0f); this->vel.z = gPlayer[0].vel.z + 15.0f; - if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE) { + if (gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE) { func_effect_8007A774(&gPlayer[0], this, this->scale2 * 18.0f); if ((this->unk_4C == 0) && ((this->scale2 >= 9.8f) || (this->scale2 <= 4.4f))) { AUDIO_PLAY_SFX(NA_SE_EN_SOBOSS_BREATH, this->sfxSource, 4); @@ -900,7 +900,7 @@ void Solar_Effect392_Update(Effect392* this) { this->vel.y = COS_DEG(this->unk_60.z) * sp50 * 50.0f; this->vel.z = gPlayer[0].vel.z + 80.0f; - if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE) { + if (gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE) { func_effect_8007A774(&gPlayer[0], this, this->scale2 * 18.0f); if ((this->unk_4C == 0) && ((this->scale2 >= 9.8f) || (this->scale2 <= 4.4f))) { AUDIO_PLAY_SFX(NA_SE_EN_SOBOSS_BREATH, this->sfxSource, 4); @@ -1228,7 +1228,7 @@ void Solar_LevelStart(Player* player) { player->baseSpeed = gArwingSpeed; Play_ClearObjectData(); gLevelStartStatusScreenTimer = 50; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->csState = 0; player->pos.y = 350.0f; @@ -2040,8 +2040,8 @@ void Solar_801A3C4C(SoVulkain* this) { AUDIO_PLAY_SFX(NA_SE_EN_DOWN_IMPACT, this->sfxSource, 4); - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + if (gPlayer[0].state == PLAYERSTATE_ACTIVE) { + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csTimer = 0; gPlayer[0].csState = gPlayer[0].csTimer; @@ -3399,7 +3399,7 @@ void Solar_LevelComplete(Player* player) { if (gFillScreenAlpha == 255) { Audio_StopPlayerNoise(0); Audio_FadeOutAll(10); - player->state_1C8 = PLAYERSTATE_1C8_NEXT; + player->state = PLAYERSTATE_NEXT; player->csTimer = 0; gFadeoutType = 4; gLeveLClearStatus[LEVEL_SOLAR] = Play_CheckMedalStatus(100) + 1; diff --git a/src/overlays/ovl_i3/fox_zo.c b/src/overlays/ovl_i3/fox_zo.c index 45384dcc..9612fbd7 100644 --- a/src/overlays/ovl_i3/fox_zo.c +++ b/src/overlays/ovl_i3/fox_zo.c @@ -2584,10 +2584,9 @@ void Zoness_ZoSarumarine_Update(ZoSarumarine* this) { sZoFwork[ZO_BSF_23] = 10.0f; gShowBossHealth = false; Effect_Effect383_Spawn(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 80.0f); - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN)) { + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) || (gPlayer[0].state == PLAYERSTATE_U_TURN)) { gCsFrameCount = 0; - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = gPlayer[0].csTimer = 0; gPlayer[0].rot.y += gPlayer[0].yRot_114; if (gPlayer[0].rot.y > 360.0f) { @@ -4746,7 +4745,7 @@ void Zoness_LevelStart(Player* player) { if (gCsFrameCount >= 270) { AUDIO_PLAY_BGM(NA_BGM_STAGE_ZO); gLevelStartStatusScreenTimer = 80; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->csState = 0; player->csTimer = 0; player->csEventTimer = 0; @@ -4934,7 +4933,7 @@ void Zoness_LevelComplete(Player* player) { if (gFillScreenAlpha == 255) { Audio_StopPlayerNoise(0); Audio_FadeOutAll(10); - player->state_1C8 = PLAYERSTATE_1C8_NEXT; + player->state = PLAYERSTATE_NEXT; player->csTimer = 0; gFadeoutType = 4; gLeveLClearStatus[LEVEL_ZONESS] = Play_CheckMedalStatus(250) + 1; diff --git a/src/overlays/ovl_i4/fox_bo.c b/src/overlays/ovl_i4/fox_bo.c index 69051b10..3a83d45b 100644 --- a/src/overlays/ovl_i4/fox_bo.c +++ b/src/overlays/ovl_i4/fox_bo.c @@ -267,9 +267,8 @@ void Bolse_UpdateEventHandler(ActorEvent* this) { if (gBosses[2].state == 10) { SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 1); SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 1); - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN)) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) || (gPlayer[0].state == PLAYERSTATE_U_TURN)) { + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csTimer = 30; gPlayer[0].csState = 0; gPlayer[0].unk_000 = 0.0f; @@ -292,7 +291,7 @@ void Bolse_UpdateEventHandler(ActorEvent* this) { this->iwork[1] = gHitCount; this->state = 10; this->timer_0BC = 150; - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_STANDBY; + gPlayer[0].state = PLAYERSTATE_STANDBY; AUDIO_PLAY_BGM(NA_BGM_BOSS_BO); AllRange_ClearRadio(); gPlayer[0].cam.eye.x = 400.0f; @@ -325,7 +324,7 @@ void Bolse_UpdateEventHandler(ActorEvent* this) { } if (i == 3) { this->state = 2; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; return; } } @@ -341,7 +340,7 @@ void Bolse_UpdateEventHandler(ActorEvent* this) { if ((gControllerPress->button & START_BUTTON) || ((gAllRangeSpawnEvent + 300) == gAllRangeEventTimer)) { this->state = 2; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; Camera_Update360(player, true); player->unk_014 = 0.0f; D_hud_80161708 = 0; @@ -390,7 +389,7 @@ void Bolse_UpdateEventHandler(ActorEvent* this) { if (!this->timer_0BC) { gAllRangeEventTimer = 3000; this->state = 2; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; Camera_Update360(player, true); player->unk_014 = 0.0f; Audio_KillSfxBySource(gBosses[1].sfxSource); @@ -643,7 +642,7 @@ bool Bolse_8018D278(BoLaserCannon* this) { void Bolse_BoLaserCannon_Update(BoLaserCannon* this) { Bolse_8018CC60(this); - if ((gPlayer[0].state_1C8 != PLAYERSTATE_1C8_STANDBY) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE)) { + if ((gPlayer[0].state != PLAYERSTATE_STANDBY) && (gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE)) { Bolse_8018CCE8(this); Bolse_8018CE5C(this); if (Bolse_8018D008(this)) { @@ -1305,7 +1304,7 @@ void Bolse_LevelStart(Player* player) { } if (gCsFrameCount == 270) { - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->baseSpeed = gArwingSpeed; player->unk_014 = 0.0001f; diff --git a/src/overlays/ovl_i4/fox_fo.c b/src/overlays/ovl_i4/fox_fo.c index c548facc..28a27131 100644 --- a/src/overlays/ovl_i4/fox_fo.c +++ b/src/overlays/ovl_i4/fox_fo.c @@ -113,7 +113,7 @@ void Fortuna_UpdateEvents(ActorEvent* this) { PRINTF("Enm->work[0]=%d\n", this->iwork[0]); PRINTF("tim %d\n", gAllRangeEventTimer); - if ((player->state_1C8 == PLAYERSTATE_1C8_DOWN) || (player->state_1C8 == PLAYERSTATE_1C8_NEXT)) { + if ((player->state == PLAYERSTATE_DOWN) || (player->state == PLAYERSTATE_NEXT)) { gAllRangeEventTimer = 20000; return; } @@ -179,7 +179,7 @@ void Fortuna_UpdateEvents(ActorEvent* this) { if (gAllRangeEventTimer == 9206) { gShowAllRangeCountdown = false; this->state = 5; - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_STANDBY; + gPlayer[0].state = PLAYERSTATE_STANDBY; this->iwork[0] = 0; this->fwork[0] = 0.0f; AllRange_ClearRadio(); @@ -197,7 +197,7 @@ void Fortuna_UpdateEvents(ActorEvent* this) { gShowAllRangeCountdown = 0; this->iwork[0] = 0; this->state = 6; - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 0; gPlayer[0].unk_000 = 0.0f; @@ -235,7 +235,7 @@ void Fortuna_UpdateEvents(ActorEvent* this) { gAllRangeEventTimer = 0; gStarWolfMsgTimer = 0; - if (player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) { + if (player->state == PLAYERSTATE_ACTIVE) { this->state = 2; player->pos.x = 0.0f; player->pos.z = 8000.0f; @@ -273,7 +273,7 @@ void Fortuna_UpdateEvents(ActorEvent* this) { if (gCsFrameCount == 264) { team->state = 2; this->state = 2; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->unk_014 = 0.0001f; AUDIO_PLAY_BGM(gBgmSeqId); gLevelStartStatusScreenTimer = 80; @@ -308,7 +308,7 @@ void Fortuna_UpdateEvents(ActorEvent* this) { if ((gControllerPress->button & START_BUTTON) || (gAllRangeEventTimer == (gAllRangeSpawnEvent + 440))) { this->state = 2; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; Camera_Update360(player, true); player->unk_014 = 0.0f; D_hud_80161708 = 0; @@ -362,7 +362,7 @@ void Fortuna_UpdateEvents(ActorEvent* this) { if (this->iwork[0] == 250) { this->state = 2; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; Camera_Update360(player, true); @@ -1113,7 +1113,7 @@ void Fortuna_LevelComplete(Player* player) { } if (gCsFrameCount == 1382) { - player->state_1C8 = PLAYERSTATE_1C8_NEXT; + player->state = PLAYERSTATE_NEXT; player->csTimer = 0; gFadeoutType = 4; Audio_FadeOutAll(10); @@ -1336,7 +1336,7 @@ void Fortuna_LevelComplete(Player* player) { gFillScreenAlphaTarget = 255; gFillScreenAlphaStep = 16; if (gFillScreenAlpha == 255) { - player->state_1C8 = PLAYERSTATE_1C8_NEXT; + player->state = PLAYERSTATE_NEXT; player->csTimer = 0; gFadeoutType = 4; Audio_FadeOutAll(10); diff --git a/src/overlays/ovl_i4/fox_ka.c b/src/overlays/ovl_i4/fox_ka.c index 4eb24a60..e90e3981 100644 --- a/src/overlays/ovl_i4/fox_ka.c +++ b/src/overlays/ovl_i4/fox_ka.c @@ -439,7 +439,7 @@ void Katina_LevelStart(Player* player) { if (gCsFrameCount == 240) { Object_Kill(&gActors[4].obj, gActors[4].sfxSource); Object_Kill(&gActors[6].obj, gActors[6].sfxSource); - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->unk_014 = 0.0001f; AUDIO_PLAY_BGM(gBgmSeqId); @@ -659,7 +659,7 @@ void Katina_BossHandleDamage(KaSaucerer* this) { if (this->dmgType != DMG_NONE) { this->dmgType = DMG_NONE; - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_STANDBY) { + if (gPlayer[0].state == PLAYERSTATE_STANDBY) { return; } @@ -743,7 +743,7 @@ void Katina_BossHandleDamage(KaSaucerer* this) { } } - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) { + if (gPlayer[0].state == PLAYERSTATE_ACTIVE) { if ((gGameFrameCount % 16) == 0) { for (i = 0; i < 4; i++) { if ((this->swork[10 + i] <= 0) && (Rand_ZeroOne() < 0.2f)) { @@ -916,11 +916,11 @@ void Katina_KaSaucerer_Update(KaSaucerer* this) { * Set checkpoint. */ case SAUCERER_CS_APPROACH_BASE: - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN)) { + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) || (gPlayer[0].state == PLAYERSTATE_U_TURN)) { if (this->obj.pos.z < 4500.0f) { this->state++; - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_STANDBY; + gPlayer[0].state = PLAYERSTATE_STANDBY; gPlayer[0].cam.eye.x = -900.0f; gPlayer[0].cam.eye.y = 100.0f; @@ -1044,8 +1044,8 @@ void Katina_KaSaucerer_Update(KaSaucerer* this) { this->state++; - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_STANDBY) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_ACTIVE; + if (gPlayer[0].state == PLAYERSTATE_STANDBY) { + gPlayer[0].state = PLAYERSTATE_ACTIVE; Camera_Update360(&gPlayer[0], true); } @@ -1175,8 +1175,8 @@ void Katina_KaSaucerer_Update(KaSaucerer* this) { Math_SmoothStepToF(&this->fwork[BOSS_MOVEMENT_SPEED], 5.0f, 0.1f, 0.5f, 0.0f); - if ((this->timer_050 == 0) && ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN))) { + if ((this->timer_050 == 0) && + ((gPlayer[0].state == PLAYERSTATE_ACTIVE) || (gPlayer[0].state == PLAYERSTATE_U_TURN))) { gShowAllRangeCountdown = false; this->timer_050 = 1000; this->state = 15; @@ -1192,7 +1192,7 @@ void Katina_KaSaucerer_Update(KaSaucerer* this) { SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 50); SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 50); - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_STANDBY; + gPlayer[0].state = PLAYERSTATE_STANDBY; gPlayer[0].camRoll = 0.0f; @@ -1217,7 +1217,7 @@ void Katina_KaSaucerer_Update(KaSaucerer* this) { } if (this->timer_050 == 500) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 100; gPlayer[0].draw = false; gCsFrameCount = 5000; @@ -1239,7 +1239,7 @@ void Katina_KaSaucerer_Update(KaSaucerer* this) { this->obj.rot.x = 180.0f; this->fwork[BOSS_FWORK_13] = 15.0f; - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_STANDBY; + gPlayer[0].state = PLAYERSTATE_STANDBY; gPlayer[0].cam.eye.x = this->obj.pos.x; gPlayer[0].cam.eye.y = 600.0f; gPlayer[0].cam.eye.z = this->obj.pos.z - 1500.0f; @@ -1371,7 +1371,7 @@ void Katina_KaSaucerer_Update(KaSaucerer* this) { gFillScreenBlue = 255; if (gFillScreenAlpha == 255) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 2; gPlayer[0].draw = true; @@ -1403,9 +1403,9 @@ void Katina_KaSaucerer_Update(KaSaucerer* this) { Math_SmoothStepToF(&this->fwork[BOSS_MOVEMENT_SPEED], 0.0f, 0.1f, 3.0f, 0.0f); - if ((this->timer_050 == 0) && ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN))) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + if ((this->timer_050 == 0) && + ((gPlayer[0].state == PLAYERSTATE_ACTIVE) || (gPlayer[0].state == PLAYERSTATE_U_TURN))) { + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 0; gMissionStatus = MISSION_ACCOMPLISHED; this->obj.pos.z = 0.0f; @@ -1969,7 +1969,7 @@ void Katina_LevelComplete(Player* player) { gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0; gFillScreenAlphaStep = 8; if (gFillScreenAlpha == 255) { - player->state_1C8 = PLAYERSTATE_1C8_NEXT; + player->state = PLAYERSTATE_NEXT; player->csTimer = 0; gFadeoutType = 4; gLeveLClearStatus[LEVEL_KATINA] = Play_CheckMedalStatus(150) + 1; @@ -2160,7 +2160,7 @@ void Katina_801981F8(Actor* this) { Vec3f dest; s32 pad; - if ((this->timer_0C0 == 0) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_STANDBY)) { + if ((this->timer_0C0 == 0) && (gPlayer[0].state != PLAYERSTATE_STANDBY)) { this->timer_0C0 = 2; src.x = 0.0f; src.y = 0.0f; @@ -2320,7 +2320,7 @@ void Katina_UpdateEvents(ActorAllRange* this) { if (((gAllRangeEventTimer % 256) == 0) && (Rand_ZeroOne() < 0.5f)) { AllRange_PlayMessage(gMsg_ID_18060, RCID_BILL); } - } else if ((gAllRangeEventTimer > 500) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) && + } else if ((gAllRangeEventTimer > 500) && (gPlayer[0].state == PLAYERSTATE_ACTIVE) && ((gAllRangeEventTimer % 512) == 0)) { switch (RAND_INT(3.99f)) { case 0: @@ -2482,7 +2482,7 @@ void Katina_EnemyUpdate(ActorAllRange* this) { this->fwork[KA_ACTOR_FWORK_1] = 40.0f; yRand = RAND_FLOAT(1000.0f); - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_STANDBY) { + if (gPlayer[0].state == PLAYERSTATE_STANDBY) { xRand = RAND_FLOAT_CENTERED(5000.0f); zRand = RAND_FLOAT_CENTERED(5000.0f); } else { diff --git a/src/overlays/ovl_i4/fox_sz.c b/src/overlays/ovl_i4/fox_sz.c index dbadf9d5..c535422b 100644 --- a/src/overlays/ovl_i4/fox_sz.c +++ b/src/overlays/ovl_i4/fox_sz.c @@ -58,9 +58,9 @@ void SectorZ_MissileExplode(ActorAllRange* this, bool shotDown) { if (shotDown) { sMissileDestroyCount++; if ((sMissileDestroyCount >= 6) && - ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN))) { + ((gPlayer[0].state == PLAYERSTATE_ACTIVE) || (gPlayer[0].state == PLAYERSTATE_U_TURN))) { gCsFrameCount = 0; - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 1000; gActors[SZ_GREAT_FOX].state = 6; gPlayer[0].csTimer = 30; @@ -174,8 +174,8 @@ void SectorZ_Missile_Update(ActorAllRange* this) { SectorZ_MissileExplode(this, false); gCameraShake = 25; gBosses[SZ_GREAT_FOX].dmgType = DMG_MISSILE; - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN)) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) || (gPlayer[0].state == PLAYERSTATE_U_TURN)) { + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 0; gActors[SZ_GREAT_FOX].state = -31072; return; @@ -185,10 +185,10 @@ void SectorZ_Missile_Update(ActorAllRange* this) { // Level complete trigger check if (((fabsf(this->fwork[MISSILE_TARGET_Z] - this->obj.pos.z) < 2000.0f) && (((gPlayer[0].cam.eye.z < 0.0f) || (D_edisplay_801615D0.y < 0.0f)) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_GFOX_REPAIR))) && - (((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_GFOX_REPAIR)) || - (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN))) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + (gPlayer[0].state == PLAYERSTATE_GFOX_REPAIR))) && + (((gPlayer[0].state == PLAYERSTATE_ACTIVE) || (gPlayer[0].state == PLAYERSTATE_GFOX_REPAIR)) || + (gPlayer[0].state == PLAYERSTATE_U_TURN))) { + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 100; gActors[SZ_GREAT_FOX].state = -31072; } @@ -275,7 +275,7 @@ void SectorZ_KattCutscene(ActorCutscene* this) { this->timer_0BC = 400; this->state = 3; - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_STANDBY; + gPlayer[0].state = PLAYERSTATE_STANDBY; Audio_PlayFanfare(NA_BGM_KATT, 20, 10, 10); AllRange_ClearRadio(); @@ -358,7 +358,7 @@ void SectorZ_EnemyUpdate(ActorAllRange* this) { Radio_PlayMessage(gMsg_ID_16030, RCID_FALCO); } - if (((this->timer_0C0 == 0) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_STANDBY)) && + if (((this->timer_0C0 == 0) && (gPlayer[0].state != PLAYERSTATE_STANDBY)) && ((gAllRangeEventTimer < 200) || ((gAllRangeEventTimer > 4000) && (gAllRangeEventTimer < 4200)))) { this->timer_0C0 = 5; @@ -426,7 +426,7 @@ void SectorZ_EnemyUpdate(ActorAllRange* this) { SectorZ_SpawnMissile(&gActors[SZ_MISSILE_RIGHT], 2); SectorZ_SpawnMissile(&gActors[SZ_MISSILE_LEFT], 1); SectorZ_SpawnMissile(&gActors[SZ_MISSILE_CENTER], 0); - D_hud_80161710 = 580; + gRadarMissileAlarmTimer = 580; break; case 3850: @@ -436,11 +436,11 @@ void SectorZ_EnemyUpdate(ActorAllRange* this) { case 4000: SectorZ_SpawnMissile(&gActors[SZ_MISSILE_LEFT], 1); SectorZ_SpawnMissile(&gActors[SZ_MISSILE_CENTER], 0); - D_hud_80161710 = 580; + gRadarMissileAlarmTimer = 580; break; case 2000: - D_hud_80161710 = 490; + gRadarMissileAlarmTimer = 490; SectorZ_SpawnMissile(&gActors[SZ_MISSILE_CENTER], 0); gActors[SZ_MISSILE_CENTER].fwork[1] = 10.0f; @@ -451,7 +451,7 @@ void SectorZ_EnemyUpdate(ActorAllRange* this) { SectorZ_SpawnMissileEscort(&gActors[SZ_ESCORT_3], 2); SectorZ_SpawnMissileEscort(&gActors[SZ_ESCORT_4], 3); - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_STANDBY; + gPlayer[0].state = PLAYERSTATE_STANDBY; this->state = 10; this->fwork[10] = 0.0f; @@ -479,13 +479,13 @@ void SectorZ_EnemyUpdate(ActorAllRange* this) { bool SectorZ_GFoxArwingRepair(Player* player) { // clang-format off - if (player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) { + if (player->state == PLAYERSTATE_ACTIVE) { if ((player->yRot_114 > 30.0f) && (player->yRot_114 < 150.0f) && (fabsf(player->pos.x - 1270.0f) < 450.0f) && (fabsf(player->pos.y - 265.0f) < 100.0f) && (fabsf(player->trueZpos) < 172.0f)) { - player->state_1C8 = PLAYERSTATE_1C8_GFOX_REPAIR; + player->state = PLAYERSTATE_GFOX_REPAIR; player->csState = 0; gActors[SZ_GREAT_FOX].state = 20; gAllRangeEventTimer--; @@ -589,7 +589,7 @@ void SectorZ_UpdateEvents(ActorAllRange* this) { if (this->timer_0BC == 70) { this->state = 2; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; Camera_Update360(player, true); player->unk_014 = 0.0f; } @@ -656,7 +656,7 @@ void SectorZ_UpdateEvents(ActorAllRange* this) { if (this->timer_0BC < 9680) { this->state = 2; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; Camera_Update360(player, true); player->unk_014 = 0.0f; gActors[SZ_MISSILE_CENTER].fwork[1] = 25.0f; @@ -970,7 +970,7 @@ void SectorZ_LevelStart(Player* player) { if (gCsFrameCount == 820) { Audio_KillSfxById(NA_SE_DEMO_SIREN); - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->unk_01C = player->unk_018 = player->unk_014 = 0.f; AUDIO_PLAY_BGM(gBgmSeqId); gLevelStartStatusScreenTimer = 50; @@ -1395,7 +1395,7 @@ void SectorZ_LevelComplete(Player* player) { gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0; gFillScreenAlphaStep = 8; if (gFillScreenAlpha == 255) { - player->state_1C8 = PLAYERSTATE_1C8_NEXT; + player->state = PLAYERSTATE_NEXT; player->csTimer = 0; gFadeoutType = 4; gLeveLClearStatus[LEVEL_SECTOR_Z] = Play_CheckMedalStatus(100) + 1; diff --git a/src/overlays/ovl_i5/fox_ma.c b/src/overlays/ovl_i5/fox_ma.c index d519b371..ff6b1f11 100644 --- a/src/overlays/ovl_i5/fox_ma.c +++ b/src/overlays/ovl_i5/fox_ma.c @@ -648,7 +648,7 @@ void Macbeth_8019A2F4(MaLocomotive* this) { } } - if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE) { + if (gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE) { if (var_fa1 < (gPlayer[0].trueZpos - this->obj.pos.z - (D_i5_801BA1E4 * 1416 - 1416))) { Math_SmoothStepToF(&sMaTrainSpeedTarget, -6.0f, 0.1f, 0.2f, 0.01f); } @@ -945,7 +945,7 @@ void Macbeth_MaLocomotive_Update(MaLocomotive* this) { case 0: D_i5_801BE320[25] = 1; if ((D_i5_801BE320[9] <= 0) && (D_i5_801BE320[10] <= 0) && (D_i5_801BE320[17] != 0) && - (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE)) { + (gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE)) { D_i5_801BE320[30] = 0; this->timer_0BC = 150; this->timer_0BE = 200; @@ -1040,8 +1040,8 @@ void Macbeth_MaLocomotive_Update(MaLocomotive* this) { } if (this->timer_0BC == 100) { Object_Kill(&this->obj, this->sfxSource); - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + if (gPlayer[0].state == PLAYERSTATE_ACTIVE) { + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 0; gMissionStatus = MISSION_COMPLETE; } @@ -1087,7 +1087,7 @@ void Macbeth_MaLocomotive_Update(MaLocomotive* this) { this->state = 4; } - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) && (gCsFrameCount > 630)) { + if ((gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) && (gCsFrameCount > 630)) { Object_Kill(&this->obj, this->sfxSource); } } @@ -2333,7 +2333,7 @@ void Macbeth_Train_Draw(Actor* this) { Vec3f frameTable[50]; s32 id; - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) { + if (gPlayer[0].state == PLAYERSTATE_ACTIVE) { if (((gPlayer[0].trueZpos - this->obj.pos.z) > 7000.0f) || ((gPlayer[0].trueZpos - this->obj.pos.z) < -1000.0f)) { return; @@ -2502,7 +2502,7 @@ void Macbeth_Train_Draw(Actor* this) { Animation_DrawSkeleton(1, D_MA_601042C, frameTable, Macbeth_MaLocomotive_OverrideLimbDraw, Macbeth_MaLocomotive_PostLimbDraw, this, &gIdentityMatrix); - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) { RCP_SetupDL(&gMasterDisp, SETUPDL_29); gSPClearGeometryMode(gMasterDisp++, G_TEXTURE_GEN); gSPDisplayList(gMasterDisp++, D_MA_6003370); @@ -2613,7 +2613,7 @@ void Macbeth_TrainTrack_Draw(Scenery* this) { switch (this->obj.id) { case OBJ_SCENERY_MA_TRAIN_TRACK_3: case OBJ_SCENERY_MA_TRAIN_TRACK_6: - if ((gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE) && + if ((gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE) && ((gPlayer[0].trueZpos - this->obj.pos.z) < -2500.0f)) { Object_Kill(&this->obj, this->sfxSource); } @@ -2622,7 +2622,7 @@ void Macbeth_TrainTrack_Draw(Scenery* this) { case OBJ_SCENERY_MA_TRAIN_TRACK_4: case OBJ_SCENERY_MA_TRAIN_TRACK_7: - if ((gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE) && + if ((gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE) && ((gPlayer[0].trueZpos - this->obj.pos.z) < -2500.0f)) { Object_Kill(&this->obj, this->sfxSource); } @@ -2730,7 +2730,7 @@ void Macbeth_MaTower_Draw(Scenery* this) { // Scenery 77 to 82, and 84 to 91 void Macbeth_IndicatorSign_Draw(Scenery* this) { - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) { + if (gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) { Object_Kill(&this->obj, this->sfxSource); } @@ -3399,7 +3399,7 @@ void Macbeth_MaRailwaySignal_Update(MaRailwaySignal* this) { } gObjectLoadIndex = i; gTeamLowHealthMsgTimer = -1; - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 0; gMissionStatus = MISSION_ACCOMPLISHED; this->timer_0BC = 5; @@ -4321,7 +4321,7 @@ void Macbeth_Actor207_Update(Actor207* this) { Macbeth_801A6984(this); Macbeth_Actor207_FacePlayer(this); - if ((D_i5_801BE320[16] != 0) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE)) { + if ((D_i5_801BE320[16] != 0) && (gPlayer[0].state == PLAYERSTATE_ACTIVE)) { var_v1 = 0xFF; if (D_i5_801BE320[18] == 2) { var_v1 = 3; @@ -5182,7 +5182,7 @@ void Macbeth_Actor207_Update(Actor207* this) { } } - if ((D_i5_801BE320[16] != 0) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE)) { + if ((D_i5_801BE320[16] != 0) && (gPlayer[0].state != PLAYERSTATE_LEVEL_COMPLETE)) { if (gBossFrameCount == 0) { Radio_PlayMessage(gMsg_ID_2225, RCID_SLIPPY); } else if (gBossFrameCount > 155) { @@ -5236,7 +5236,7 @@ void Macbeth_Actor207_Update(Actor207* this) { D_i5_801BE368[22] = 16.0f; } - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) && (this->state < 20)) { + if ((gPlayer[0].state == PLAYERSTATE_LEVEL_COMPLETE) && (this->state < 20)) { D_i5_801BE320[3] = 0; D_i5_801BE320[2] = 1; D_i5_801BE320[31] = 30; @@ -5429,7 +5429,7 @@ void Macbeth_Actor207_PostLimbDraw(s32 limbIndex, Vec3f* rot, void* thisx) { } void Macbeth_Actor207_Draw(Actor207* this) { - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) { + if (gPlayer[0].state == PLAYERSTATE_ACTIVE) { if (((gPlayer[0].trueZpos - this->obj.pos.z) > 7000.0f) || ((gPlayer[0].trueZpos - this->obj.pos.z) < -1000.0f)) { return; @@ -5613,7 +5613,7 @@ void Macbeth_LevelStart(Player* player) { case 3: AUDIO_PLAY_BGM(NA_BGM_STAGE_MA); gLevelStartStatusScreenTimer = 50; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->csState = player->csTimer = player->csEventTimer = player->hideShadow = 0; player->gravity = 3.0f; player->unk_014 = 0.0f; @@ -7221,7 +7221,7 @@ void Macbeth_LevelComplete2(Player* player) { gFillScreenAlphaTarget = 255; if (gFillScreenAlpha == 255) { - player->state_1C8 = PLAYERSTATE_1C8_NEXT; + player->state = PLAYERSTATE_NEXT; gFadeoutType = 4; Play_ClearObjectData(); Audio_FadeOutAll(10); @@ -7879,7 +7879,7 @@ void Macbeth_LevelComplete1(Player* player) { gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0; gFillScreenAlphaTarget = 255; if (gFillScreenAlpha == 255) { - player->state_1C8 = PLAYERSTATE_1C8_NEXT; + player->state = PLAYERSTATE_NEXT; gFadeoutType = 4; Play_ClearObjectData(); Audio_FadeOutAll(10); diff --git a/src/overlays/ovl_i5/fox_ti.c b/src/overlays/ovl_i5/fox_ti.c index d7f12ade..909f0cda 100644 --- a/src/overlays/ovl_i5/fox_ti.c +++ b/src/overlays/ovl_i5/fox_ti.c @@ -5622,9 +5622,9 @@ void Titania_801990DC(TiGoras* this) { break; } - if ((this->timer_050 == 0) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE)) { + if ((this->timer_050 == 0) && (gPlayer[0].state == PLAYERSTATE_ACTIVE)) { Object_Kill(&this->obj, this->sfxSource); - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 0; } } diff --git a/src/overlays/ovl_i5/fox_ti_cs.c b/src/overlays/ovl_i5/fox_ti_cs.c index 871d6425..99e2287e 100644 --- a/src/overlays/ovl_i5/fox_ti_cs.c +++ b/src/overlays/ovl_i5/fox_ti_cs.c @@ -221,7 +221,7 @@ void Titania_LevelStart(Player* player) { if (gCsFrameCount == 580) { gLevelStartStatusScreenTimer = 50; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->csState = player->csTimer = player->csEventTimer = player->hideShadow = 0; player->gravity = 3.0f; player->unk_014 = 0.0f; @@ -524,7 +524,7 @@ void Titania_LevelComplete(Player* player) { gFillScreenAlphaTarget = 255; if (gFillScreenAlpha == 255) { - player->state_1C8 = PLAYERSTATE_1C8_NEXT; + player->state = PLAYERSTATE_NEXT; gFadeoutType = 4; Play_ClearObjectData(); Audio_FadeOutAll(10); diff --git a/src/overlays/ovl_i6/fox_andross.c b/src/overlays/ovl_i6/fox_andross.c index 1f7f4ea5..3a870aeb 100644 --- a/src/overlays/ovl_i6/fox_andross.c +++ b/src/overlays/ovl_i6/fox_andross.c @@ -450,7 +450,7 @@ void Andross_80188A4C(AndBrain* this) { gScreenFlashTimer = 8; AUDIO_PLAY_SFX(NA_SE_EN_DOWN_IMPACT, this->sfxSource, 4); Boss_AwardBonus(this); - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_STANDBY; + gPlayer[0].state = PLAYERSTATE_STANDBY; this->state = 20; this->swork[1] = 1000; this->swork[2] = 1000; @@ -658,7 +658,7 @@ void Andross_AndJamesTrigger_Update(AndJamesTrigger* this) { s32 i; Player* player = &gPlayer[0]; - if ((gDrawBackdrop != 7) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) && + if ((gDrawBackdrop != 7) && (gPlayer[0].state == PLAYERSTATE_ACTIVE) && (fabsf(this->obj.pos.x - gPlayer[0].pos.x) < 9000.0f) && (fabsf(this->obj.pos.z - gPlayer[0].trueZpos) < 9000.0f)) { gDrawBackdrop = 7; @@ -667,14 +667,14 @@ void Andross_AndJamesTrigger_Update(AndJamesTrigger* this) { SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 20); } - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) && (fabsf(this->obj.pos.x - gPlayer[0].pos.x) < 500.0f) && + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) && (fabsf(this->obj.pos.x - gPlayer[0].pos.x) < 500.0f) && (fabsf(this->obj.pos.z - gPlayer[0].trueZpos) < 500.0f)) { Audio_KillSfxById(NA_SE_OB_ROUTE_EXPLOSION1); Audio_SetEnvSfxReverb(0); gCurrentLevel = LEVEL_VENOM_2; gLevelPhase = 1; gVenomHardClear = 1; - player->state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + player->state = PLAYERSTATE_LEVEL_COMPLETE; player->csState = 3; player->zPath = gPathProgress = 0.0f; gDrawBackdrop = gDrawGround = true; @@ -734,7 +734,7 @@ void Andross_AndExplosion_Update(AndExplosion* this) { if ((fabsf(this->obj.pos.x - gPlayer[0].pos.x) < 500.0f) && (fabsf(this->obj.pos.z - gPlayer[0].trueZpos) < 500.0f)) { - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE || gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN)) { + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE || gPlayer[0].state == PLAYERSTATE_U_TURN)) { gPlayer[0].shields = 0; gRightWingHealth[0] = gLeftWingHealth[0] = 0; Player_ApplyDamage(&gPlayer[0], 1, 60); @@ -843,7 +843,7 @@ void Andross_AndBrain_Update(AndBrain* this) { this->swork[5] = 100; if (this->timer_050 == 0) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_START_360; + gPlayer[0].state = PLAYERSTATE_START_360; gPlayer[0].csState = 0; this->state = 1; gPlayer[0].hideShadow = true; @@ -851,7 +851,7 @@ void Andross_AndBrain_Update(AndBrain* this) { break; case 1: - if ((gPlayer[0].state_1C8 != PLAYERSTATE_1C8_START_360) && (this->timer_050 == 0)) { + if ((gPlayer[0].state != PLAYERSTATE_START_360) && (this->timer_050 == 0)) { this->fwork[2] = 1.6f; this->timer_050 = RAND_INT(1.0f) * 50.0f + 50; this->fwork[3] = RAND_FLOAT_CENTERED(10000.0f); @@ -885,7 +885,7 @@ void Andross_AndBrain_Update(AndBrain* this) { Math_SmoothStepToF(&D_ctx_801779A8[gMainController], 40.0f, 1.0f, 3.0f, 0.0f); - if (((gGameFrameCount % 32) == 0) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE)) { + if (((gGameFrameCount % 32) == 0) && (gPlayer[0].state == PLAYERSTATE_ACTIVE)) { Player_ApplyDamage(&gPlayer[0], 3, 10); } } @@ -1082,7 +1082,7 @@ void Andross_AndBrain_Update(AndBrain* this) { gPlayer[0].rot.z = 0.0f; gPlayer[0].zRotBank = 150.0f; gPlayer[0].camRoll = -90.0f; - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 100; gPlayer[0].csTimer = 240; gPlayer[0].draw = true; @@ -1121,7 +1121,7 @@ void Andross_AndBrain_Update(AndBrain* this) { } this->obj.pos.y = 10000.0f; - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) && ((gGameFrameCount % 4) == 0)) { + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) && ((gGameFrameCount % 4) == 0)) { Matrix_RotateY(gCalcMatrix, (gPlayer[0].yRot_114 + gPlayer[0].rot.y) * M_DTOR, 0U); vec.x = RAND_FLOAT_CENTERED(800.0f); vec.y = 600.0f; @@ -1129,7 +1129,7 @@ void Andross_AndBrain_Update(AndBrain* this) { Matrix_MultVec3fNoTranslate(gCalcMatrix, &vec, &sp64); Andross_Effect357_Spawn(gPlayer[0].pos.x + sp64.x, sp64.y, gPlayer[0].trueZpos + sp64.z, 1.2f); } - if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_STANDBY) { + if (gPlayer[0].state != PLAYERSTATE_STANDBY) { Matrix_RotateY(gCalcMatrix, -gPlayer[0].camYaw, MTXF_NEW); vec.x = 0.0f; @@ -1430,7 +1430,7 @@ void Andross_8018C390(Player* player) { } } if (player->csTimer == 0) { - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->unk_014 = 0.0f; player->unk_018 = 0.0f; } @@ -1675,7 +1675,7 @@ void Andross_Effect396_Draw(Effect396* this) { } void Andross_8018D0D8(AndAndross* this) { - if ((gPlayer[0].mercyTimer == 0) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) && + if ((gPlayer[0].mercyTimer == 0) && (gPlayer[0].state == PLAYERSTATE_ACTIVE) && (fabsf(this->vwork[10].x - gPlayer[0].pos.x) < 700.0f) && (fabsf(this->vwork[10].y - gPlayer[0].pos.y) < 700.0f)) { Player_ApplyDamage(&gPlayer[0], 0, 40); @@ -1730,7 +1730,7 @@ void Andross_8018D2B0(AndAndross* this) { this->state = 31; this->timer_050 = 200; - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csState = 0; } else if (this->health < 50) { AUDIO_PLAY_SFX(NA_SE_EN_KNOCK_DOWN, this->sfxSource, 4); @@ -2516,11 +2516,11 @@ void Andross_AndAndross_Update(AndAndross* this) { } if ((this->animFrame > 35) && (this->animFrame < 150) && ((this->animFrame % 32) == 0)) { AUDIO_PLAY_SFX(NA_SE_EN_ANDROSS_BITE1, this->sfxSource, 4); - if (player->state_1C8 == PLAYERSTATE_1C8_ANDROSS_MOUTH) { + if (player->state == PLAYERSTATE_ANDROSS_MOUTH) { gControllerRumbleTimers[0] = 10; } } - if ((this->animFrame == 20) && (player->state_1C8 == PLAYERSTATE_1C8_ANDROSS_MOUTH)) { + if ((this->animFrame == 20) && (player->state == PLAYERSTATE_ANDROSS_MOUTH)) { player->draw = false; for (i = 0; i < ARRAY_COUNT(gEffects); i++) { if (gEffects[i].obj.id == OBJ_EFFECT_396) { @@ -2588,7 +2588,7 @@ void Andross_AndAndross_Update(AndAndross* this) { AUDIO_PLAY_SFX(NA_SE_EN_ANDROSS_VOMIT, this->sfxSource, 4); } - if ((this->animFrame == 13) && (player->state_1C8 == PLAYERSTATE_1C8_ANDROSS_MOUTH)) { + if ((this->animFrame == 13) && (player->state == PLAYERSTATE_ANDROSS_MOUTH)) { player->draw = true; player->csState = 1; player->csTimer = 60; @@ -2683,8 +2683,8 @@ void Andross_AndAndross_Update(AndAndross* this) { this->swork[8] = 1; this->fwork[9] = 0.2f; this->animFrame = 0; - if (player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) { - player->state_1C8 = PLAYERSTATE_1C8_ANDROSS_MOUTH; + if (player->state == PLAYERSTATE_ACTIVE) { + player->state = PLAYERSTATE_ANDROSS_MOUTH; player->csState = 0; } break; @@ -4376,7 +4376,7 @@ void Andross_80193C4C(Player* player) { player->vel.y = sp68.y; if (player->csTimer == 0) { - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->unk_014 = 0.2f; player->unk_018 = 0.0f; player->unk_01C = 0.05f; diff --git a/src/overlays/ovl_i6/fox_sy.c b/src/overlays/ovl_i6/fox_sy.c index bd3bd963..065f0457 100644 --- a/src/overlays/ovl_i6/fox_sy.c +++ b/src/overlays/ovl_i6/fox_sy.c @@ -83,7 +83,7 @@ void SectorY_SyShogun_Init(SyShogun* this) { this->fwork[43] = 3.5f; this->fwork[45] = 40.0f; - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_START_360) { + if (gPlayer[0].state == PLAYERSTATE_START_360) { this->obj.pos.z = -28900.0f; gScenery360[SHOGUN_SHIP].obj.pos.z = -30000.0f; } @@ -111,8 +111,8 @@ void SectorY_SyShogun_Init(SyShogun* this) { } if (gLevelMode == LEVELMODE_ON_RAILS) { - if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_START_360; + if (gPlayer[0].state == PLAYERSTATE_ACTIVE) { + gPlayer[0].state = PLAYERSTATE_START_360; gPlayer[0].csState = 0; SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 50); SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 50); @@ -283,7 +283,7 @@ void SectorY_801983E4(SyShogun* this) { } else { SectorY_80199D64(this); } - } else if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_U_TURN) { + } else if (gPlayer[0].state != PLAYERSTATE_U_TURN) { Math_SmoothStepToAngle(&this->rot_078.x, 181.0f, 0.1f, 6.0f, 0.1f); this->swork[21] = 3; this->fwork[11] = SIN_DEG(this->rot_078.y) * (this->fwork[45] + 10.0f); @@ -438,9 +438,9 @@ void SectorY_80198F5C(SyShogun* this) { if (this->index == 0) { this->timer_058 = 20000; this->vel.x = this->vel.y = this->vel.z = 0.0f; - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN)) { + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) || (gPlayer[0].state == PLAYERSTATE_U_TURN)) { gCsFrameCount = 0; - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + gPlayer[0].state = PLAYERSTATE_LEVEL_COMPLETE; gPlayer[0].csTimer = 0; gPlayer[0].csState = gPlayer[0].csTimer; gPlayer[0].rot.y += gPlayer[0].yRot_114; @@ -475,9 +475,9 @@ void SectorY_80198F5C(SyShogun* this) { this->vel.y = 0.0f; this->vel.x = 0.0f; - if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN)) { + if ((gPlayer[0].state == PLAYERSTATE_ACTIVE) || (gPlayer[0].state == PLAYERSTATE_U_TURN)) { this->timer_058 = 100; - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_STANDBY; + gPlayer[0].state = PLAYERSTATE_STANDBY; gCsFrameCount = 0; xDisplacement = gPlayer[0].cam.eye.x - this->obj.pos.x; zDisplacement = gPlayer[0].cam.eye.z - this->obj.pos.z; @@ -631,7 +631,7 @@ void SectorY_80199438(SyShogun* this) { gScenery360[SHOGUN_SHIP].info.dList = aSySaruzinDL; gScenery360[SHOGUN_SHIP].info.drawType = 0; } else { - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_ACTIVE; + gPlayer[0].state = PLAYERSTATE_ACTIVE; Camera_UpdateArwing360(&gPlayer[0], true); gPlayer[0].unk_014 = 0.0f; if (gTeamShields[TEAM_ID_PEPPY] > 0) { @@ -1096,7 +1096,7 @@ void SectorY_8019AEEC(SyShogun* this) { gScenery360[SHOGUN_SHIP].obj.pos.z = -20000.0f; this->fwork[43] = 0.0f; this->vel.y = 0.0f; - gPlayer[0].state_1C8 = PLAYERSTATE_1C8_ACTIVE; + gPlayer[0].state = PLAYERSTATE_ACTIVE; Camera_UpdateArwing360(&gPlayer[0], true); gPlayer[0].unk_014 = 0.0f; this->swork[34]++; @@ -1409,7 +1409,7 @@ void SectorY_SyShogun_Update(SyShogun* this) { Vec3f dest; s32 pad; - if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_START_360) { + if (gPlayer[0].state != PLAYERSTATE_START_360) { if (this->swork[34] == 1) { if (this->health > 0) { gScenery360[SHOGUN_SHIP].obj.pos.z += 20.0f; @@ -2263,7 +2263,7 @@ void SectorY_LevelComplete(Player* player) { gFillScreenAlphaStep = 8; if (gFillScreenAlpha == 255) { Audio_FadeOutAll(10); - player->state_1C8 = PLAYERSTATE_1C8_NEXT; + player->state = PLAYERSTATE_NEXT; player->csTimer = 0; gFadeoutType = 4; gLeveLClearStatus[LEVEL_SECTOR_Y] = Play_CheckMedalStatus(150) + 1; @@ -3401,7 +3401,7 @@ void SectorY_801A0AC0(Player* player) { gLevelStartStatusScreenTimer = 100; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->csState = 0; player->csTimer = 0; player->csEventTimer = 0; diff --git a/src/overlays/ovl_i6/fox_ve2.c b/src/overlays/ovl_i6/fox_ve2.c index 716bd8d7..9f8f7cf0 100644 --- a/src/overlays/ovl_i6/fox_ve2.c +++ b/src/overlays/ovl_i6/fox_ve2.c @@ -53,7 +53,7 @@ void Venom2_UpdateEvents(ActorAllRange* this) { gStarWolfTeamAlive[i] = 1; } - if (player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) { + if (player->state == PLAYERSTATE_ACTIVE) { this->state = 2; player->pos.x = 0.0f; player->pos.z = 8000.0f; @@ -93,7 +93,7 @@ void Venom2_UpdateEvents(ActorAllRange* this) { if (this->timer_0BC == 0) { team->state = 2; this->state = 2; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; player->unk_014 = 0.0001f; gLevelStartStatusScreenTimer = 80; } @@ -111,14 +111,14 @@ void Venom2_UpdateEvents(ActorAllRange* this) { this->timer_0BE = 80; } - if ((this->timer_0BE == 1) && (player->state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE)) { + if ((this->timer_0BE == 1) && (player->state != PLAYERSTATE_LEVEL_COMPLETE)) { for (i = 1; i < ARRAY_COUNT(gTeamShields); i++) { gPrevPlanetTeamShields[i] = gSavedTeamShields[i]; gPrevPlanetSavedTeamShields[i] = gSavedTeamShields[i]; gSavedTeamShields[i] = gTeamShields[i]; } - player->state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE; + player->state = PLAYERSTATE_LEVEL_COMPLETE; player->csState = 0; gLeveLClearStatus[gCurrentLevel] = 2; D_ctx_80177C94 = gGoldRingCount[0]; @@ -146,7 +146,7 @@ void Venom2_UpdateEvents(ActorAllRange* this) { if ((gControllerPress->button & START_BUTTON) || (gAllRangeEventTimer == (gAllRangeSpawnEvent + 300))) { this->state = 2; - player->state_1C8 = PLAYERSTATE_1C8_ACTIVE; + player->state = PLAYERSTATE_ACTIVE; Camera_Update360(player, true); player->unk_014 = 0.0f; D_hud_80161708 = 0; diff --git a/srceu/audio/audio_effects.c b/srceu/audio/audio_effects.c index 1463f7ee..cb071aee 100644 --- a/srceu/audio/audio_effects.c +++ b/srceu/audio/audio_effects.c @@ -1,19 +1,277 @@ -#include "common.h" +#include "sys.h" +#include "sf64audio_provisional.h" -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_effects/func_800133E0.s") +void func_800144C4(SequencePlayer* seqPlayer); -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_effects/func_80013588.s") +void func_800133E0(SequenceChannel* channel, s32 updateVolume) { + s32 i; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_effects/func_800136E8.s") + if (channel->changes.s.volume || updateVolume) { + f32 channelVolume = channel->volume * channel->volumeMod * channel->seqPlayer->appliedFadeVolume; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_effects/func_800137BC.s") + if (channel->seqPlayer->muted && (channel->muteBehavior & 0x20)) { + channelVolume = channel->seqPlayer->muteVolumeMod * channelVolume; + } + channel->appliedVolume = SQ(channelVolume); + } + if (channel->changes.s.pan) { + channel->pan = channel->newPan * channel->panChannelWeight; + } + for (i = 0; i < ARRAY_COUNT(channel->layers); i++) { + SequenceLayer* layer = channel->layers[i]; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_effects/func_80013800.s") + if ((layer != NULL) && layer->enabled && (layer->note != NULL)) { + if (layer->ignoreDrumPan) { + layer->noteFreqMod = layer->freqMod * channel->freqMod; + layer->noteVelocity = layer->velocitySquare * channel->appliedVolume; + layer->notePan = (channel->pan + (layer->pan * (0x80 - channel->panChannelWeight))) >> 7; + layer->ignoreDrumPan = false; + } else { + if (channel->changes.s.freqMod) { + layer->noteFreqMod = layer->freqMod * channel->freqMod; + } + if (channel->changes.s.volume || updateVolume) { + layer->noteVelocity = layer->velocitySquare * channel->appliedVolume; + } + if (channel->changes.s.pan) { + layer->notePan = (channel->pan + (layer->pan * (0x80 - channel->panChannelWeight))) >> 7; + } + } + } + } + channel->changes.asByte = 0; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_effects/func_800139F8.s") +void func_80013588(SequencePlayer* seqplayer) { + s32 i; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_effects/func_80013A64.s") + if (seqplayer->fadeTimer != 0) { + seqplayer->fadeVolume += seqplayer->fadeVelocity; + seqplayer->recalculateVolume = true; + if (seqplayer->fadeVolume > 1.0f) { + seqplayer->fadeVolume = 1.0f; + } + if (seqplayer->fadeVolume < 0.0f) { + seqplayer->fadeVolume = 0.0f; + } + seqplayer->fadeTimer--; + if ((seqplayer->fadeTimer == 0) && (seqplayer->state == 2)) { + func_800144C4(seqplayer); + return; + } + } + if (seqplayer->recalculateVolume) { + seqplayer->appliedFadeVolume = seqplayer->fadeVolume * seqplayer->fadeVolumeMod; + } + for (i = 0; i < 16; i++) { + if ((IS_SEQUENCE_CHANNEL_VALID(seqplayer->channels[i]) == 1) && (seqplayer->channels[i]->enabled == 1)) { + func_800133E0(seqplayer->channels[i], seqplayer->recalculateVolume); + } + } + seqplayer->recalculateVolume = false; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_effects/func_80013B4C.s") +f32 func_800136E8(Portamento* portamento) { + u32 temp; + f32 temp2; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_effects/func_80013B70.s") + portamento->cur += portamento->speed; + temp = portamento->cur; + if (temp > 127) { + temp = 127; + } + temp2 = 1.0f + ((gBendPitchOneOctaveFrequencies[0x80 + temp] - 1.0f) * portamento->extent); + return temp2; +} + +s16 func_800137BC(VibratoState* vibrato) { + s32 index; + + vibrato->time += (s32) vibrato->rate; + index = (vibrato->time >> 10) & 0x3F; + return vibrato->curve[index] >> 8; +} + +f32 func_80013800(VibratoState* vibrato) { + s32 ret; + f32 temp; + f32 temp2; + + if (vibrato->delay != 0) { + vibrato->delay--; + return 1.0f; + } + if (vibrato->depthChangeTimer) { + if (vibrato->depthChangeTimer == 1) { + vibrato->depth = (s32) vibrato->channel->vibratoDepthTarget; + } else { + vibrato->depth += + ((s32) vibrato->channel->vibratoDepthTarget - vibrato->depth) / (s32) vibrato->depthChangeTimer; + } + vibrato->depthChangeTimer--; + } else if (vibrato->channel->vibratoDepthTarget != (s32) vibrato->depth) { + if ((vibrato->depthChangeTimer = vibrato->channel->vibratoDepthChangeDelay) == 0) { + vibrato->depth = (s32) vibrato->channel->vibratoDepthTarget; + } + } + if (vibrato->rateChangeTimer) { + if (vibrato->rateChangeTimer == 1) { + vibrato->rate = (s32) vibrato->channel->vibratoRateTarget; + } else { + vibrato->rate += + ((s32) vibrato->channel->vibratoRateTarget - vibrato->rate) / (s32) vibrato->rateChangeTimer; + } + vibrato->rateChangeTimer--; + } else if (vibrato->channel->vibratoRateTarget != (s32) vibrato->rate) { + if ((vibrato->rateChangeTimer = vibrato->channel->vibratoRateChangeDelay) == 0) { + vibrato->rate = (s32) vibrato->channel->vibratoRateTarget; + } + } + if (vibrato->depth == 0.0f) { + return 1.0f; + } + ret = func_800137BC(vibrato); + temp = vibrato->depth / 4096.0f; + temp2 = 1.0f + temp * (gBendPitchOneOctaveFrequencies[0x80 + ret] - 1.0f); + return temp2; +} + +void func_800139F8(Note* note) { + if (note->playbackState.portamento.mode != 0) { + note->playbackState.portamentoFreqMod = func_800136E8(¬e->playbackState.portamento); + } + if ((note->playbackState.vibratoState.active != 0) && (note->playbackState.parentLayer != NO_LAYER)) { + note->playbackState.vibratoFreqMod = func_80013800(¬e->playbackState.vibratoState); + } +} + +void func_80013A64(Note* note) { + NotePlaybackState* noteState = ¬e->playbackState; + VibratoState* vibrato = ¬eState->vibratoState; + + vibrato->active = 1; + vibrato->time = 0; + noteState->vibratoFreqMod = 1.0f; + noteState->portamentoFreqMod = 1.0f; + + vibrato->curve = gWaveSamples[2]; + + vibrato->channel = noteState->parentLayer->channel; + + if ((vibrato->depthChangeTimer = vibrato->channel->vibratoDepthChangeDelay) == 0) { + vibrato->depth = (s32) vibrato->channel->vibratoDepthTarget; + } else { + vibrato->depth = (s32) vibrato->channel->vibratoDepthStart; + } + if ((vibrato->rateChangeTimer = vibrato->channel->vibratoRateChangeDelay) == 0) { + vibrato->rate = (s32) vibrato->channel->vibratoRateTarget; + } else { + vibrato->rate = (s32) vibrato->channel->vibratoRateStart; + } + + vibrato->delay = vibrato->channel->vibratoDelay; + noteState->portamento = noteState->parentLayer->portamento; +} + +void func_80013B4C(AdsrState* adsr, EnvelopePoint* envelope, s16* arg2) { + adsr->action.asByte = 0; + adsr->state = 0; + adsr->delay = 0; + adsr->envelope = envelope; + adsr->sustain = 0.0f; + adsr->current = 0.0f; +} + +f32 func_80013B70(AdsrState* adsr) { + u8 action = adsr->action.asByte; + u8 state = adsr->state; + + switch (state) { + case ADSR_STATE_DISABLED: + return 0.0f; + case ADSR_STATE_INITIAL: + if (action & 0x40) { + adsr->state = ADSR_STATE_HANG; + break; + } + case ADSR_STATE_START_LOOP: + adsr->envIndex = 0; + adsr->state = ADSR_STATE_LOOP; + case_ADSR_STATE_LOOP: + case ADSR_STATE_LOOP: + adsr->delay = adsr->envelope[adsr->envIndex].delay; + switch (adsr->delay) { + case ADSR_DISABLE: + adsr->state = ADSR_STATE_DISABLED; + break; + case ADSR_HANG: + adsr->state = ADSR_STATE_HANG; + break; + case ADSR_GOTO: + adsr->envIndex = adsr->envelope[adsr->envIndex].arg; + goto case_ADSR_STATE_LOOP; + case ADSR_RESTART: + adsr->state = ADSR_STATE_INITIAL; + break; + default: + if (adsr->delay >= 4) { + adsr->delay = (adsr->delay * gAudioBufferParams.ticksPerUpdate / gAudioBufferParams.count) / 4; + } + if (adsr->delay == 0) { + adsr->delay = 1; + } + + adsr->target = adsr->envelope[adsr->envIndex].arg / 32767.0f; + adsr->target = SQ(adsr->target); + adsr->velocity = (adsr->target - adsr->current) / adsr->delay; + adsr->state = ADSR_STATE_FADE; + adsr->envIndex++; + break; + } + if (adsr->state != ADSR_STATE_FADE) { + break; + } + case ADSR_STATE_FADE: + adsr->delay--; + adsr->current += adsr->velocity; + if (adsr->delay <= 0) { + adsr->state = ADSR_STATE_LOOP; + } + break; + case ADSR_STATE_DECAY: + case ADSR_STATE_RELEASE: + adsr->current -= adsr->fadeOutVel; + if ((adsr->sustain != 0.0f) && (state == ADSR_STATE_DECAY)) { + if (adsr->current < adsr->sustain) { + adsr->current = adsr->sustain; + adsr->delay = 0x80; + adsr->state = ADSR_STATE_SUSTAIN; + } + } else if (adsr->current < 0.00001f) { + adsr->current = 0.0f; + adsr->state = ADSR_STATE_DISABLED; + } + break; + case ADSR_STATE_SUSTAIN: + adsr->delay--; + if (adsr->delay == 0) { + adsr->state = ADSR_STATE_RELEASE; + } + break; + } + if (action & 0x20) { + adsr->state = ADSR_STATE_DECAY; + adsr->action.asByte = action & ~0x20; + } + if (action & 0x10) { + adsr->state = ADSR_STATE_RELEASE; + adsr->action.asByte = action & ~0x10; + } + if (adsr->current < 0.0f) { + return 0.0f; + } + if (adsr->current > 1.0f) { + return 1.0f; + } + return adsr->current; +} diff --git a/srceu/audio/audio_general.c b/srceu/audio/audio_general.c index 8346c82d..11ff6a46 100644 --- a/srceu/audio/audio_general.c +++ b/srceu/audio/audio_general.c @@ -1,208 +1,2548 @@ -#include "common.h" +#include "sys.h" +#include "sf64audio_provisional.h" +#include "context.h" +#include "audiothread_cmd.h" +#include "audioseq_cmd.h" -void func_80016A30(void) { +extern SfxRequest sSfxRequests[256]; +extern SfxBankEntry sSfxBanks[5][20]; +extern u8 sSfxBankListEnd[5]; +extern u8 sSfxBankFreeListStart[5]; +extern u8 sSfxBankUnused[5]; +extern ActiveSfx sActiveSfx[5][8]; +extern u8 sCurSfxPlayerChannelIndex; +extern u8 sSfxBankMuted[5]; +extern Modulation sSfxVolumeMods[5]; +extern f32 sAudioAnalyzerData[256]; +extern f32 sAnalyzerBuffer1[256]; +extern f32 sAnalyzerBuffer2[384]; +extern f32 sNewFreqAmplitudes[32]; +extern u8 sFreqAnalyzerBars[32]; +extern SeqRequest sSeqRequests[SEQ_PLAYER_MAX][5]; +extern u8 sNumSeqRequests[SEQ_PLAYER_MAX]; +extern s32 sAudioSeqCmds[256]; +extern ActiveSequence sActiveSequences[SEQ_PLAYER_MAX]; +extern u16 sDelayedSeqCmdFlags; +extern DelayedSeqCmd sDelayedSeqCmds[16]; +extern SfxChannelState sSfxChannelState[16]; +extern PlayerNoiseModulation sPlayerNoise[4]; +extern f32 sBombFreqMod[4]; +extern u8 sBombType[4]; +extern u8 sBombState[4]; +extern s32 sBombStartFrame[4]; +extern u8 gVoiceLanguage; +extern u8 sAudioSpecId; +extern u8 sStartSeqDisabled; +extern u8 sAudioResetStatus; +extern s32 sAudioFrameCounter; +extern u8 sPlaylistIndex; +extern u8 sPlaylistCmdIndex; +extern s32 sPlaylistTimer; +extern u8 D_800C6A70; +extern SoundTestTrack sSoundTestTracks[]; +extern u8 sVolumeSettings[3]; +extern s8 sEnvReverb; +extern u32 sEventSfx[23]; +extern f32 sSfxFreqMod; +extern f32 sSfxVolMod; +extern u8 sFreqAnalyzerBars[32]; +extern PlaylistCmd sPlaylists[5][100]; +extern u32 sNextVoiceId; +extern u32 sCurrentVoiceId; +extern u8 sSetNextVoiceId; +extern u8 sMuteBgmForVoice; +extern u32 sPlayerNoiseTimes[5]; +extern u8 sUnkVoiceParam; +extern SequenceLayer gSeqLayers[64]; +extern SequenceChannel gSeqChannelNone; +extern SequencePlayer gSeqPlayers[4]; +extern u8 sSfxRequestWriteIndex; +extern u8 sSfxRequestReadIndex; +extern u16 sChannelMuteFlags; +extern u8 sChannelsPerBank[5][5]; +extern u8 sSfxChannelLayout; +extern u8 sUsedChannelsPerBank[5][5]; +extern SfxRequest sSfxRequests[256]; +extern u8 sSeqCmdReadPos; +extern u8 sSeqCmdWritePos; +extern u8 sSoundModeList[4]; +extern s8 sAudioSpecReverb; +extern s8 sAudioSpecReverbAdd[29]; +extern u8 sAudioSpecInstrumentSets[29][7]; + +void Audio_StartReset(u8 oldSpecId); +void Audio_ResetPlayerFreqMods(void); +void Audio_StartSequence(u8 seqPlayId, u8 seqId, u8 seqArgs, u16 fadeInTime); +void Audio_RestoreVolumeSettings(u8 audioType); +void AudioThread_QueueCmdS32(u32 opArgs, u32 val); +void AudioThread_ScheduleProcessCmds(void); +void Audio_QueueSeqCmd(s32 seqCmd); +void Audio_LoadAquasSequence(void); +void Audio_LoadInstruments(void); +void Audio_ResetSfx(void); +void Audio_ResetActiveSequences(void); +void Audio_ResetSfxChannelState(void); +void Audio_ResetVoicesAndPlayers(void); +u8 Audio_HandleReset(void); +void Audio_ProcessSfxRequests(void); +void Audio_ProcessSeqCmds(void); +void Audio_PlayAllSfx(void); +void Audio_UpdatePlayerNoise(void); +void Audio_UpdateVoice(void); +void Audio_UpdateUnkVoiceParam(void); +void Audio_UpdateActiveSequences(void); +void Audio_UpdateDelayedSeqCmds(void); +void Audio_ResetActiveSequencesAndVolume(void); +void Audio_SetSequenceFade(u8 seqPlayId, u8 fadeModId, u8 fadeMod, u8 fadeTime); +u16 Audio_GetActiveSeqId(u8 seqPlayId); +void func_800087F0(f32*, s32, f32*); +void Audio_UpdatePlayerFreqMod(void); +void Audio_UpdateBlueMarineNoise(u8 playerId); +void Audio_UpdateLandmasterNoise(u8 playerId); +void Audio_UpdateArwingNoise(u8 playerId); +f32 Audio_UpdateDopplerShift(f32* srcPos, f32* srcVel, f32 soundSpeed, f32* curDopplerShift); +void Audio_ChooseActiveSfx(u8 bankId); +void Audio_PlayActiveSfx(u8 bankId); +void Audio_UpdateSfxVolumeMod(u8 bankId); +void Audio_RemoveSfxBankEntry(u8 bankId, u8 entryIndex); +void Audio_RemoveMatchingSfxRequests(u8 aspect, SfxBankEntry* data); +void Audio_ProcessSfxRequest(void); +void Audio_SetSfxProperties(u8 bankId, u8 entryIndex, u8 channelId); +void Audio_ClearBGMMute(u8 channelIndex); +void Audio_RestartSeqPlayers(void); +bool AudioThread_ResetComplete(void); +s32 Audio_SeqCmdValueNotQueued(s32 cmdVal, s32 cmdMask); +void Audio_ProcessSeqCmd(u32 seqCmd); +s8 Audio_GetSfxPan(f32 xPos, f32 zPos, u8 mode); +f32 Audio_GetSfxFreqMod(u8 bankId, u8 entryIndex); +s8 Audio_GetSfxReverb(u8 bankId, u8 entryIndex, u8 channelId); + +void Audio_dummy_80016A30(void) { } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_80016A38.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_80016BA0.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_80016CBC.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_80016EC4.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_80016FD0.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001737C.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_800174B0.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001756C.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_800175A4.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001761C.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001777C.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_800177E4.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_80018310.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_80018338.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_800183B8.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001842C.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001848C.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_800184F0.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_80018508.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_800185BC.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_80018614.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_80018EB8.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_80018EFC.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_80018FC0.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_80019084.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_80019100.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_80019174.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_800191D8.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_80019234.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_800192AC.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_80019450.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_800197C8.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_800198DC.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001A038.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001A2AC.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001A3A8.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001A4D4.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001A51C.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001A578.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001A6E0.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001A854.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001A9A4.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001AA08.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001AAAC.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001AB00.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001AB6C.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001ACF8.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001AD1C.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001AD60.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001AE74.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001AE94.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001AEF0.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001AF5C.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001AF6C.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001AFB8.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001B030.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001B470.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001B790.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001BA5C.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001BB90.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001BC3C.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001BC64.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001BD28.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001BFDC.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001C408.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001C8D4.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001CA40.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001CBB8.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001CD14.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001CE60.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001CF34.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001CF98.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001CFE0.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001D06C.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001D0EC.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001D144.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001D194.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001D200.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001D334.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001D3D8.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001D438.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001D448.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001D47C.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001D4E4.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001D558.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001D670.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001D714.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001D7B8.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001D8E0.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001D92C.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001DA18.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001DAC8.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001DC08.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001DC64.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001DCA4.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001DD04.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001DD4C.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001DD78.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001DDE8.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001DEEC.s") - -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/func_8001DF9C.s") +f32 Audio_GetSfxFalloff(u8 bankId, u8 entryIndex) { + f32 cutoff; + f32 midDist; + f32 distance; + f32 falloff; + f32 midrange; + f32 range; + + if (sSfxBanks[bankId][entryIndex].sfxId & SFX_FLAG_22) { + return 1.0f; + } + distance = sSfxBanks[bankId][entryIndex].distance; + if (distance > 33000.0f) { + falloff = 0.0f; + } else { + switch ((sSfxBanks[bankId][entryIndex].sfxId & SFX_RANGE_MASK)) { + default: + range = 33000.0f / 20.0f; + break; + case 1 << SFX_RANGE_SHIFT: + range = 33000.0f / 15.0f; + break; + case 2 << SFX_RANGE_SHIFT: + range = 33000.0f / 10.5f; + break; + case 3 << SFX_RANGE_SHIFT: + range = 33000.0f / 5.2f; + break; + } + cutoff = range / 5.0f; + if (distance < range / 5.0f) { + falloff = 1.0f; + } else if (distance < range) { + midDist = range - cutoff; + midrange = distance - cutoff; + falloff = (((midDist - midrange) / midDist) * 0.19f) + 0.81f; + } else { + falloff = (1.0f - ((distance - range) / (33000.0f - range))) * 0.81f; + } + falloff = SQ(falloff); + } + return falloff; +} + +s8 Audio_GetSfxReverb(u8 bankId, u8 entryIndex, u8 channelId) { + s32 totalReverb; + s8 distReverb = 0; + s8 scriptReverb = 0; + + if (!(sSfxBanks[bankId][entryIndex].sfxId & SFX_FLAG_21)) { + if (sSfxBanks[bankId][entryIndex].distance < (33000.0f / 4.0f)) { + distReverb = (sSfxBanks[bankId][entryIndex].distance / (33000.0f / 4.0f)) * 40.0f; + } else { + distReverb = 40; + } + } + if (IS_SEQUENCE_CHANNEL_VALID(gSeqPlayers[SEQ_PLAYER_SFX].channels[channelId])) { + scriptReverb = gSeqPlayers[SEQ_PLAYER_SFX].channels[channelId]->seqScriptIO[6]; + } + if (scriptReverb == -1) { + scriptReverb = 0; + } + totalReverb = *sSfxBanks[bankId][entryIndex].reverbAdd + distReverb + scriptReverb + sEnvReverb + sAudioSpecReverb; + totalReverb = MIN(127, totalReverb); + return totalReverb; +} + +s8 Audio_GetSfxPan(f32 xPos, f32 zPos, u8 mode) { + if (sSfxChannelLayout != SFXCHAN_3) { + f32 absx = ABSF(xPos); + f32 absz = ABSF(zPos); + f32 pan; + + if ((absx < 1.0f) && (absz < 1.0f)) { + return 64; + } + absx = MIN(1200.0f, absx); + absz = MIN(1200.0f, absz); + + if ((xPos == 0) && (zPos == 0)) { + pan = 0.5f; + } else if ((xPos >= 0.f) && (absz <= absx)) { + pan = 1.0f - ((2400.0f - absx) / (10.0f * (2400.0f - absz))); + } else if ((xPos < 0.0f) && (absz <= absx)) { + pan = (2400.0f - absx) / (10.0f * (2400.0f - absz)); + } else { + pan = (xPos / (2.5f * absz)) + 0.5f; + } + return ROUND(pan * 127.0f); + } else if (mode != 4) { + return ((mode & 1) * 127); + } + return 64; +} + +f32 Audio_GetSfxFreqMod(u8 bankId, u8 entryIndex) { + f32 distance; + f32 freqMod = 1.0f; + + if (sSfxBanks[bankId][entryIndex].sfxId & SFX_FLAG_23) { + freqMod -= ((gAudioRandom % 16) / 192.0f); + } + distance = sSfxBanks[bankId][entryIndex].distance; + if (!(sSfxBanks[bankId][entryIndex].sfxId & SFX_FLAG_22)) { + if (distance >= 33000.0f) { + freqMod += 0.2f; + } else { + freqMod += 0.2f * (distance / 33000.0f); + } + } + if ((sSfxChannelLayout != SFXCHAN_0) && (sSfxBanks[bankId][entryIndex].token & 2)) { + freqMod *= 1.1f; + } + return freqMod; +} + +// function is different in EU +void Audio_SetSfxProperties(u8 bankId, u8 entryIndex, u8 channelId) { + f32 volumeMod = 1.0f; + s8 reverb = 0; + f32 freqMod = 1.0f; + s8 pan = 64; + SfxBankEntry* entry = &sSfxBanks[bankId][entryIndex]; + + switch (bankId) { + case SFX_BANK_PLAYER: + case SFX_BANK_1: + case SFX_BANK_2: + case SFX_BANK_3: + if (entry->state == 2) { + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, channelId, 1, gLevelType); + } + if ((entry->sfxId & SFX_FLAG_18) && (*entry->zPos > 0.0f)) { + f32 yScaled = *entry->yPos / 2.5f; + + entry->distance = SQ(*entry->xPos) + SQ(yScaled); + } + entry->distance = sqrtf(entry->distance); + volumeMod = Audio_GetSfxFalloff(bankId, entryIndex) * *entry->volMod * sSfxVolumeMods[bankId].value; + reverb = Audio_GetSfxReverb(bankId, entryIndex, channelId); + freqMod = Audio_GetSfxFreqMod(bankId, entryIndex) * *entry->freqMod; + if (!((bankId == SFX_BANK_PLAYER) && ((-200.0f < *entry->zPos) && (*entry->zPos < 200.0f)) && + (sSfxChannelLayout != SFXCHAN_3))) { + pan = Audio_GetSfxPan(*entry->xPos, *entry->zPos, entry->token); + } + break; + case SFX_BANK_SYSTEM: +#ifdef VERSION_EU + if (entry->state == 2) { + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, channelId, 1, gVoiceLanguage); + } +#endif + if (sSfxChannelLayout == SFXCHAN_3) { + if (entry->token != 4) { + pan = (entry->token & 1) * 127; + } + } + break; + } + if (volumeMod != sSfxChannelState[channelId].volMod) { + AUDIOCMD_CHANNEL_SET_VOL_SCALE(SEQ_PLAYER_SFX, channelId, volumeMod); + sSfxChannelState[channelId].volMod = volumeMod; + } + if (reverb != sSfxChannelState[channelId].reverb) { + AUDIOCMD_CHANNEL_SET_REVERB_VOLUME(SEQ_PLAYER_SFX, channelId, reverb); + sSfxChannelState[channelId].reverb = reverb; + } + if (freqMod != sSfxChannelState[channelId].freqMod) { + AUDIOCMD_CHANNEL_SET_FREQ_SCALE(SEQ_PLAYER_SFX, channelId, freqMod); + sSfxChannelState[channelId].freqMod = freqMod; + } + if (pan != sSfxChannelState[channelId].pan) { + AUDIOCMD_CHANNEL_SET_PAN(SEQ_PLAYER_SFX, channelId, pan); + sSfxChannelState[channelId].pan = pan; + } +} + +f32 Audio_UpdateDopplerShift(f32* srcPos, f32* srcVel, f32 soundSpeed, f32* curDopplerShift) { + f32 xVel; + f32 zVel; + f32 xPos; + f32 zPos; + f32 xzDist; + f32 xPosNext; + f32 zPosNext; + f32 xzDistNext; + f32 step; + f32 newShift; + f32 relativeSpeed; + f32 targetDopplerShift; + s32 pad; + +#ifdef AVOID_UB + if ((srcPos == NULL) || (srcVel == NULL) || (curDopplerShift == NULL)) { + return 0.0f; + } +#endif + + xPos = srcPos[0]; + zPos = srcPos[2]; + xVel = srcVel[0]; + zVel = srcVel[2]; + xzDist = sqrtf(SQ(xPos) + SQ(zPos)); + xPosNext = xPos + xVel; + zPosNext = zPos + zVel; + xzDistNext = sqrtf(SQ(xPosNext) + SQ(zPosNext)); + relativeSpeed = (xzDist - xzDistNext) / soundSpeed; + targetDopplerShift = 1.0f / (1.0f - relativeSpeed); + + step = targetDopplerShift - *curDopplerShift; + newShift = *curDopplerShift; + if (step != 0.0f) { + if (step > 0.2f) { + newShift += 0.2f; + } else if (step < -0.2f) { + newShift -= 0.2f; + } else { + newShift += step; + } + } + *curDopplerShift = newShift; + + if (newShift > 4.0f) { + newShift = 4.0f; + } else if (newShift < 0.1f) { + newShift = 0.1f; + } + + return newShift; +} + +void Audio_LoadInstruments(void) { + u8 i; + + for (i = 0; sAudioSpecInstrumentSets[sAudioSpecId][i] != 0xFF; i++) { + AUDIOCMD_GLOBAL_SYNC_LOAD_INSTRUMENT(0, sAudioSpecInstrumentSets[sAudioSpecId][i], 0); + } +} + +void Audio_LoadAquasSequence(void) { + if (sAudioSpecId == AUDIOSPEC_AQ) { + AUDIOCMD_GLOBAL_SYNC_LOAD_SEQ_PARTS(NA_BGM_STAGE_AQ, 0); + } +} + +void Audio_ResetSfxChannelState(void) { + u8 i; + + sEnvReverb = 0; + sAudioSpecReverb = sAudioSpecReverbAdd[sAudioSpecId]; + for (i = 0; i < 16; i++) { + sSfxChannelState[i].volMod = 1.0f; + sSfxChannelState[i].freqMod = 1.0f; + sSfxChannelState[i].reverb = 0; + sSfxChannelState[i].pan = 64; + } +} + +void Audio_StartSequence(u8 seqPlayId, u8 seqId, u8 seqArgs, u16 fadeInTime) { + u8 i; + s32 pad; + + if (!sStartSeqDisabled || (seqPlayId == SEQ_PLAYER_SFX)) { + AUDIOCMD_GLOBAL_INIT_SEQPLAYER((u32) seqPlayId, (u32) seqId, 0, fadeInTime); + sActiveSequences[seqPlayId].prevSeqId = sActiveSequences[seqPlayId].seqId = seqId | ((seqArgs) << 8); + if (sActiveSequences[seqPlayId].mainVolume.mod != 1.0f) { + AUDIOCMD_SEQPLAYER_FADE_VOLUME_SCALE((u32) seqPlayId, sActiveSequences[seqPlayId].mainVolume.mod); + } + sActiveSequences[seqPlayId].tempo.timer = 0; + sActiveSequences[seqPlayId].tempoOriginal = 0; + sActiveSequences[seqPlayId].tempoCmd = 0; + for (i = 0; i < 16; i++) { + sActiveSequences[seqPlayId].channelMod[i].volume.value = 1.0f; + sActiveSequences[seqPlayId].channelMod[i].volume.timer = 0; + sActiveSequences[seqPlayId].channelMod[i].freq.value = 1.0f; + sActiveSequences[seqPlayId].channelMod[i].freq.timer = 0; + } + sActiveSequences[seqPlayId].volChannelFlags = sActiveSequences[seqPlayId].freqModChannelFlags = 0; + } +} + +void Audio_StopSequence(u8 seqPlayId, u16 fadeOutTime) { + AUDIOCMD_GLOBAL_DISABLE_SEQPLAYER(seqPlayId, fadeOutTime); + sActiveSequences[seqPlayId].seqId = SEQ_ID_NONE; +} + +void Audio_ProcessSeqCmd(u32 seqCmd) { + u16 flag; + u16 channelDisableMask; + u16 fadeTimer; + u16 val; + s32 priority; + u8 i; // sp63 + u8 specId; + u8 oldSpecId; + u8 ioPort; + u8 channel; + u8 found; + u8 muteFlag; + u8 duration; + u8 seqNumber; + u8 subOp; + u8 seqPlayId; + u8 seqArgs; + u8* tempptr; // sp54 + u8* tempPtr2; + u32 sp4C; + + seqPlayId = (seqCmd & 0x0F000000) >> 0x18; + switch ((seqCmd >> 0x1C) & 0xFF) { + case SEQCMD_OP_PLAY_SEQUENCE: + seqNumber = seqCmd & 0xFF; + seqArgs = (seqCmd & 0xFF00) >> 8; + fadeTimer = (seqCmd & 0xFF0000) >> 13; + if (!sActiveSequences[seqPlayId].isWaitingForFonts) { + if (seqArgs < 0x80) { + Audio_StartSequence(seqPlayId, seqNumber, seqArgs, fadeTimer); + } else { + sActiveSequences[seqPlayId].startSeqCmd = seqCmd & ~0x8000; + sActiveSequences[seqPlayId].isWaitingForFonts = true; + Audio_StopSequence(seqPlayId, 1); + if (sActiveSequences[seqPlayId].prevSeqId != SEQ_ID_NONE) { + tempptr = AudioThread_GetFontsForSequence(seqNumber, &sp4C); + tempPtr2 = AudioThread_GetFontsForSequence(sActiveSequences[seqPlayId].prevSeqId & 0xFF, &sp4C); + if (tempptr[0] != tempPtr2[0]) { + AUDIOCMD_GLOBAL_DISCARD_SEQ_FONTS(seqNumber); + } + } + AUDIOCMD_GLOBAL_ASYNC_LOAD_FONT(seqNumber, 20, (s8) (seqPlayId + 1)); + } + } + break; + case SEQCMD_OP_STOP_SEQUENCE: + fadeTimer = (seqCmd & 0xFF0000) >> 13; + Audio_StopSequence(seqPlayId, fadeTimer); + return; + case SEQCMD_OP_QUEUE_SEQUENCE: + seqNumber = seqCmd & 0xFF; + seqArgs = (seqCmd & 0xFF00) >> 8; + fadeTimer = (seqCmd & 0xFF0000) >> 13; + priority = seqArgs; + for (i = 0; i < sNumSeqRequests[seqPlayId]; i++) { + if (seqNumber == sSeqRequests[seqPlayId][i].seqId) { + if (i == 0) { + Audio_StartSequence(seqPlayId, seqNumber, seqArgs, fadeTimer); + } + return; + } + } + found = sNumSeqRequests[seqPlayId]; + for (i = 0; i < sNumSeqRequests[seqPlayId]; i++) { + if (seqArgs >= sSeqRequests[seqPlayId][i].priority) { + found = i; + i = sNumSeqRequests[seqPlayId]; + } + } + if ((found != sNumSeqRequests[seqPlayId]) || (found == 0)) { + if (sNumSeqRequests[seqPlayId] < 5) { + sNumSeqRequests[seqPlayId]++; + } + for (i = sNumSeqRequests[seqPlayId] - 1; i != found; i--) { + sSeqRequests[seqPlayId][i].priority = sSeqRequests[seqPlayId][i - 1].priority; + sSeqRequests[seqPlayId][i].seqId = sSeqRequests[seqPlayId][i - 1].seqId; + } + sSeqRequests[seqPlayId][found].priority = seqArgs; + sSeqRequests[seqPlayId][found].seqId = seqNumber; + } + if (found == 0) { + Audio_StartSequence(seqPlayId, seqNumber, seqArgs, fadeTimer); + } + break; + case SEQCMD_OP_UNQUEUE_SEQUENCE: + fadeTimer = (seqCmd & 0xFF0000) >> 0xD; + found = sNumSeqRequests[seqPlayId]; + for (i = 0; i < sNumSeqRequests[seqPlayId]; i++) { + seqNumber = seqCmd & 0xFF; + if (sSeqRequests[seqPlayId][i].seqId == seqNumber) { + found = i; + i = sNumSeqRequests[seqPlayId]; + } + } + if (found != sNumSeqRequests[seqPlayId]) { + for (i = found; i < sNumSeqRequests[seqPlayId] - 1; i++) { + sSeqRequests[seqPlayId][i].priority = sSeqRequests[seqPlayId][i + 1].priority; + sSeqRequests[seqPlayId][i].seqId = sSeqRequests[seqPlayId][i + 1].seqId; + } + sNumSeqRequests[seqPlayId]--; + } + if (found == 0) { + Audio_StopSequence(seqPlayId, fadeTimer); + if (sNumSeqRequests[seqPlayId] != 0) { + + Audio_StartSequence(seqPlayId, sSeqRequests[seqPlayId][0].seqId, + sSeqRequests[seqPlayId][0].priority, fadeTimer); + } + } + break; + case SEQCMD_OP_SET_SEQPLAYER_VOLUME: + val = seqCmd & 0xFF; + duration = (seqCmd & 0xFF0000) >> 0xF; + + if (duration == 0) { + duration++; + } + sActiveSequences[seqPlayId].mainVolume.target = val / 127.0f; + if (sActiveSequences[seqPlayId].mainVolume.mod != sActiveSequences[seqPlayId].mainVolume.target) { + sActiveSequences[seqPlayId].mainVolume.step = + (sActiveSequences[seqPlayId].mainVolume.mod - sActiveSequences[seqPlayId].mainVolume.target) / + duration; + sActiveSequences[seqPlayId].mainVolume.timer = duration; + } + break; + case SEQCMD_OP_SET_SEQPLAYER_FREQ: + val = (seqCmd & 0xFFFF); + duration = (seqCmd & 0xFF0000) >> 0xF; + + if (duration == 0) { + duration++; + } + for (i = 0; i < 16; i++) { + sActiveSequences[seqPlayId].channelMod[i].freq.target = val / 1000.0f; + sActiveSequences[seqPlayId].channelMod[i].freq.step = + (sActiveSequences[seqPlayId].channelMod[i].freq.value - + sActiveSequences[seqPlayId].channelMod[i].freq.target) / + duration; + sActiveSequences[seqPlayId].channelMod[i].freq.timer = duration; + } + sActiveSequences[seqPlayId].freqModChannelFlags = 0xFFFF; + break; + case SEQCMD_OP_SET_CHANNEL_VOLUME: + val = (seqCmd & 0xFF); + channel = (seqCmd & 0xF00) >> 8; + duration = (seqCmd & 0xFF0000) >> 0xF; + + if (duration == 0) { + duration++; + } + + sActiveSequences[seqPlayId].channelMod[channel].volume.target = val / 127.0f; + if (sActiveSequences[seqPlayId].channelMod[channel].volume.value != + sActiveSequences[seqPlayId].channelMod[channel].volume.target) { + sActiveSequences[seqPlayId].channelMod[channel].volume.step = + (sActiveSequences[seqPlayId].channelMod[channel].volume.value - + sActiveSequences[seqPlayId].channelMod[channel].volume.target) / + duration; + sActiveSequences[seqPlayId].channelMod[channel].volume.timer = duration; + sActiveSequences[seqPlayId].freqModChannelFlags |= 1 << channel; + } + break; + case SEQCMD_OP_SET_SEQPLAYER_IO: + val = seqCmd & 0xFF; + ioPort = ((seqCmd & 0xFF0000) >> 0x10); // may be misnamed + AUDIOCMD_SEQPLAYER_SET_IO(seqPlayId, ioPort, val); + break; + case SEQCMD_OP_SET_CHANNEL_IO: + val = seqCmd & 0xFF; + channel = (seqCmd & 0xF00) >> 8; + + ioPort = (seqCmd & 0xFF0000) >> 0x10; + if (!(sActiveSequences[seqPlayId].channelPortMask & (1 << channel))) { + AUDIOCMD_CHANNEL_SET_IO(seqPlayId, (u32) channel, ioPort, val); + } + break; + case SEQCMD_OP_SET_CHANNEL_IO_DISABLE_MASK: + channelDisableMask = seqCmd & 0xFFFF; + sActiveSequences[seqPlayId].channelPortMask = channelDisableMask; + break; + case SEQCMD_OP_SET_CHANNEL_DISABLE_MASK: + channelDisableMask = seqCmd & 0xFFFF; + + flag = 1; + for (i = 0; i < 16; i++) { + AUDIOCMD_CHANNEL_SET_MUTE(seqPlayId, (u32) i, (channelDisableMask & flag) ? 1 : 0); + flag <<= 1; + } + break; + case SEQCMD_OP_TEMPO_CMD: + sActiveSequences[seqPlayId].tempoCmd = seqCmd; + break; + case SEQCMD_OP_SETUP_CMD: + subOp = (seqCmd & 0xF00000) >> 20; + if (subOp != SEQCMD_SUB_OP_SETUP_RESET_SETUP_CMDS) { + found = sActiveSequences[seqPlayId].setupCmdNum++; + if (found < 5) { + sActiveSequences[seqPlayId].setupCmd[found] = seqCmd; + sActiveSequences[seqPlayId].setupCmdTimer = 2; + } + } else { + sActiveSequences[seqPlayId].setupCmdNum = 0; + } + break; + case SEQCMD_OP_GLOBAL_CMD: + val = seqCmd & 0xFF; + subOp = (seqCmd & 0xF00) >> 8; + + switch (subOp) { + case SEQCMD_SUB_OP_GLOBAL_SET_SOUND_MODE: + AUDIOCMD_GLOBAL_SET_SOUND_MODE(sSoundModeList[val]); + break; + case SEQCMD_SUB_OP_GLOBAL_DISABLE_NEW_SEQUENCES: + sStartSeqDisabled = val & 1; + break; + } + break; + case SEQCMD_OP_RESET_AUDIO_HEAP: + specId = seqCmd & 0xFF; + sSfxChannelLayout = (seqCmd & 0xFF00) >> 8; + oldSpecId = sAudioSpecId; + sAudioSpecId = specId; + + if (oldSpecId != specId) { + AudioThread_ResetAudioHeap(specId); + Audio_StartReset(oldSpecId); + AUDIOCMD_GLOBAL_STOP_AUDIOCMDS(); + + } else { + Audio_StopSequence(SEQ_PLAYER_BGM, 1); + Audio_StopSequence(SEQ_PLAYER_FANFARE, 1); + } + break; + } +} + +void Audio_QueueSeqCmd(s32 seqCmd) { + sAudioSeqCmds[sSeqCmdWritePos] = seqCmd; + sSeqCmdWritePos++; +} + +void Audio_ProcessSeqCmds(void) { + while (sSeqCmdWritePos != sSeqCmdReadPos) { + Audio_ProcessSeqCmd(sAudioSeqCmds[sSeqCmdReadPos++]); + } +} + +u16 Audio_GetActiveSeqId(u8 seqPlayId) { + if (!gSeqPlayers[seqPlayId].enabled) { + return 0xFFFF; + } + return sActiveSequences[seqPlayId].seqId; +} + +s32 Audio_SeqCmdNotQueued(s32 seqCmd) { + s32 notFound = true; + u8 i; + + for (i = sSeqCmdReadPos; i < sSeqCmdWritePos; i++) { + if (seqCmd == sAudioSeqCmds[i]) { + notFound = false; + i = sSeqCmdWritePos; + } + } + return notFound; +} + +s32 Audio_SeqCmdValueNotQueued(s32 cmdVal, s32 cmdMask) { + s32 notFound = true; + u8 i; + + for (i = sSeqCmdReadPos; i < sSeqCmdWritePos; i++) { + if (cmdVal == (sAudioSeqCmds[i] & cmdMask)) { + notFound = false; + i = sSeqCmdWritePos; + } + } + return notFound; +} + +void Audio_ResetSequenceRequests(u8 seqPlayId) { + sNumSeqRequests[seqPlayId] = 0; +} + +// unused +void Audio_DisableSetupOp(u8 seqPlayId, u8 opcode) { + u8 i; + + for (i = 0; i < sActiveSequences[seqPlayId].setupCmdNum; i++) { + u8 setupOp = ((sActiveSequences[seqPlayId].setupCmd[i] & 0xF00000) >> 20); + + if (setupOp == opcode) { + sActiveSequences[seqPlayId].setupCmd[i] = 0xFF000000; // 0 duration volume reset on SEQ_PLAYER_BGM + } + } +} + +void Audio_SetSequenceFade(u8 seqPlayId, u8 fadeModId, u8 fadeMod, u8 fadeTime) { + sActiveSequences[seqPlayId].mainVolume.fadeMod[fadeModId] = fadeMod; + sActiveSequences[seqPlayId].mainVolume.fadeTimer = fadeTime; + sActiveSequences[seqPlayId].mainVolume.fadeActive = true; +} + +void Audio_UpdateActiveSequences(void) { + u8 seqPlayId; + u8 i; + u8 tempoTimer; + u8 channelId; + u16 tempoTarget; + u16 prevTempo; + u16 seqId; + u8 tempoOp; + u8 setupSeqPlayId; + u8 val1; + u8 setupOp; + u8 val2; + u8 temp2; + s32 temp; + u32 cmd; + f32 fadeMod; + u32 out; + s32 pad1; + s32 pad2; + + for (seqPlayId = 0; seqPlayId < SEQ_PLAYER_MAX; seqPlayId++) { + if (sActiveSequences[seqPlayId].isWaitingForFonts) { + switch ((s32) AudioThread_GetAsyncLoadStatus(&out)) { + case SEQ_PLAYER_BGM + 1: + case SEQ_PLAYER_FANFARE + 1: + case SEQ_PLAYER_SFX + 1: + case SEQ_PLAYER_VOICE + 1: + sActiveSequences[seqPlayId].isWaitingForFonts = false; + Audio_ProcessSeqCmd(sActiveSequences[seqPlayId].startSeqCmd); + break; + } + } + if (sActiveSequences[seqPlayId].mainVolume.fadeActive) { + fadeMod = 1.0f; + for (i = 0; i < 3; i++) { + fadeMod *= sActiveSequences[seqPlayId].mainVolume.fadeMod[i] / 127.0f; + } + SEQCMD_SET_SEQPLAYER_VOLUME(seqPlayId, sActiveSequences[seqPlayId].mainVolume.fadeTimer, + (u8) (fadeMod * 127.0f)); + sActiveSequences[seqPlayId].mainVolume.fadeActive = false; + } + if (sActiveSequences[seqPlayId].mainVolume.timer != 0) { + sActiveSequences[seqPlayId].mainVolume.timer--; + if (sActiveSequences[seqPlayId].mainVolume.timer != 0) { + sActiveSequences[seqPlayId].mainVolume.mod -= sActiveSequences[seqPlayId].mainVolume.step; + } else { + sActiveSequences[seqPlayId].mainVolume.mod = sActiveSequences[seqPlayId].mainVolume.target; + } + AUDIOCMD_SEQPLAYER_FADE_VOLUME_SCALE((u32) seqPlayId, sActiveSequences[seqPlayId].mainVolume.mod); + } + if (sActiveSequences[seqPlayId].tempoCmd != 0) { + cmd = sActiveSequences[seqPlayId].tempoCmd; + temp = cmd & 0xFFF; + temp2 = (cmd & 0xFF0000) >> 0xF; + tempoTimer = temp2; + tempoTarget = temp; + + if (temp2 == 0) { + tempoTimer = temp2 + 1; + } + if (gSeqPlayers[seqPlayId].enabled) { + prevTempo = gSeqPlayers[seqPlayId].tempo / 48; + tempoOp = ((cmd & 0xF000) >> 0xC); + + switch (tempoOp) { + case SEQCMD_SUB_OP_TEMPO_SPEED_UP: + tempoTarget = tempoTarget + prevTempo; + break; + case SEQCMD_SUB_OP_TEMPO_SLOW_DOWN: + if (tempoTarget < prevTempo) { + tempoTarget = prevTempo - tempoTarget; + } + break; + case SEQCMD_SUB_OP_TEMPO_SCALE: + tempoTarget = prevTempo * (tempoTarget / 100.0f); + break; + case SEQCMD_SUB_OP_TEMPO_RESET: + if (sActiveSequences[seqPlayId].tempoOriginal != 0) { + tempoTarget = sActiveSequences[seqPlayId].tempoOriginal; + } else { + tempoTarget = prevTempo; + } + break; + } + if (tempoTarget > 300) { + tempoTarget = 300; + } + if (!sActiveSequences[seqPlayId].tempoOriginal) { + sActiveSequences[seqPlayId].tempoOriginal = prevTempo; + } + sActiveSequences[seqPlayId].tempo.target = tempoTarget; + sActiveSequences[seqPlayId].tempo.value = (s32) gSeqPlayers[seqPlayId].tempo / 48; + + sActiveSequences[seqPlayId].tempo.step = + (sActiveSequences[seqPlayId].tempo.value - sActiveSequences[seqPlayId].tempo.target) / tempoTimer; + sActiveSequences[seqPlayId].tempo.timer = tempoTimer; + sActiveSequences[seqPlayId].tempoCmd = 0; + } + } + if (sActiveSequences[seqPlayId].tempo.timer != 0) { + sActiveSequences[seqPlayId].tempo.timer--; + if (sActiveSequences[seqPlayId].tempo.timer != 0) { + sActiveSequences[seqPlayId].tempo.value -= sActiveSequences[seqPlayId].tempo.step; + } else { + sActiveSequences[seqPlayId].tempo.value = sActiveSequences[seqPlayId].tempo.target; + } + AUDIOCMD_SEQPLAYER_SET_TEMPO((u32) seqPlayId, (s32) sActiveSequences[seqPlayId].tempo.value); + } + if (sActiveSequences[seqPlayId].volChannelFlags != 0) { + for (channelId = 0; channelId < 16; channelId++) { + if (sActiveSequences[seqPlayId].channelMod[channelId].volume.timer != 0) { + sActiveSequences[seqPlayId].channelMod[channelId].volume.timer--; + if (sActiveSequences[seqPlayId].channelMod[channelId].volume.timer) { + sActiveSequences[seqPlayId].channelMod[channelId].volume.value -= + sActiveSequences[seqPlayId].channelMod[channelId].volume.step; + } else { + sActiveSequences[seqPlayId].channelMod[channelId].volume.value = + sActiveSequences[seqPlayId].channelMod[channelId].volume.target; + sActiveSequences[seqPlayId].volChannelFlags ^= 1 << channelId; + } + AUDIOCMD_CHANNEL_SET_VOL_SCALE((u32) seqPlayId, (u32) channelId, + sActiveSequences[seqPlayId].channelMod[channelId].volume.value); + } + } + } + if (sActiveSequences[seqPlayId].freqModChannelFlags != 0) { + for (channelId = 0; channelId < 16; channelId++) { + if (sActiveSequences[seqPlayId].channelMod[channelId].freq.timer != 0) { + sActiveSequences[seqPlayId].channelMod[channelId].freq.timer--; + if (sActiveSequences[seqPlayId].channelMod[channelId].freq.timer != 0) { + sActiveSequences[seqPlayId].channelMod[channelId].freq.value -= + sActiveSequences[seqPlayId].channelMod[channelId].freq.step; + } else { + sActiveSequences[seqPlayId].channelMod[channelId].freq.value = + sActiveSequences[seqPlayId].channelMod[channelId].freq.target; + sActiveSequences[seqPlayId].freqModChannelFlags ^= 1 << channelId; + } + AUDIOCMD_CHANNEL_SET_FREQ_SCALE((u32) seqPlayId, (u32) channelId, + sActiveSequences[seqPlayId].channelMod[channelId].freq.value); + } + } + } + if (sActiveSequences[seqPlayId].setupCmdNum == 0) { + continue; + } + if (!Audio_SeqCmdValueNotQueued(SEQCMD_OP_RESET_AUDIO_HEAP << 28, SEQCMD_OP_MASK)) { + sActiveSequences[seqPlayId].setupCmdNum = 0; + break; + } + if (sActiveSequences[seqPlayId].setupCmdTimer != 0) { + sActiveSequences[seqPlayId].setupCmdTimer--; + } else if (!gSeqPlayers[seqPlayId].enabled) { + for (i = 0; i < sActiveSequences[seqPlayId].setupCmdNum; i++) { + setupOp = (sActiveSequences[seqPlayId].setupCmd[i] & 0xF00000) >> 20; + + setupSeqPlayId = (sActiveSequences[seqPlayId].setupCmd[i] & 0xF0000) >> 16; + val2 = (sActiveSequences[seqPlayId].setupCmd[i] & 0xFF00) >> 8; + val1 = sActiveSequences[seqPlayId].setupCmd[i] & 0xFF; + switch (setupOp) { + case SEQCMD_SUB_OP_SETUP_RESTORE_SEQPLAYER_VOLUME: + Audio_SetSequenceFade(setupSeqPlayId, 1, 127, val2); + break; + case SEQCMD_SUB_OP_SETUP_SEQ_UNQUEUE: + SEQCMD_UNQUEUE_SEQUENCE(seqPlayId, 0, sActiveSequences[seqPlayId].seqId); + break; + case SEQCMD_SUB_OP_SETUP_RESTART_SEQ: + SEQCMD_PLAY_SEQUENCE(setupSeqPlayId, 1, 0, sActiveSequences[setupSeqPlayId].seqId); + sActiveSequences[setupSeqPlayId].mainVolume.fadeActive = true; + sActiveSequences[setupSeqPlayId].mainVolume.fadeMod[1] = 127; + break; + case SEQCMD_SUB_OP_SETUP_TEMPO_SCALE: + SEQCMD_SCALE_TEMPO(setupSeqPlayId, val2, val1); + break; + case SEQCMD_SUB_OP_SETUP_TEMPO_RESET: + SEQCMD_RESET_TEMPO(setupSeqPlayId, val1); + break; + case SEQCMD_SUB_OP_SETUP_PLAY_SEQ: + seqId = sActiveSequences[seqPlayId].setupCmd[i] & 0xFFFF; + SEQCMD_PLAY_SEQUENCE(setupSeqPlayId, sActiveSequences[setupSeqPlayId].setupFadeTimer, 0, seqId); + Audio_SetSequenceFade(setupSeqPlayId, 1, 127, 0); + sActiveSequences[setupSeqPlayId].setupFadeTimer = 0; + break; + case SEQCMD_SUB_OP_SETUP_SET_FADE_TIMER: + sActiveSequences[seqPlayId].setupFadeTimer = val2; + break; + } + } + sActiveSequences[seqPlayId].setupCmdNum = 0; + } + } +} + +void Audio_SetDelayedSeqCmd(u32 seqCmd, u16 delay) { + u8 opcode = (seqCmd >> 0x1C); + + sDelayedSeqCmds[opcode].seqData = seqCmd; + sDelayedSeqCmds[opcode].timer = delay; + sDelayedSeqCmdFlags |= 1 << opcode; +} + +void Audio_UpdateDelayedSeqCmds(void) { + u8 opcode = 0; + u16 flag = 1; + u16 delayedCmdFlags = sDelayedSeqCmdFlags; + + while (delayedCmdFlags) { + if (delayedCmdFlags & flag) { + if (sDelayedSeqCmds[opcode].timer != 0) { + sDelayedSeqCmds[opcode].timer--; + } else { + Audio_QueueSeqCmd(sDelayedSeqCmds[opcode].seqData); + sDelayedSeqCmdFlags ^= flag; + } + delayedCmdFlags ^= flag; + } + opcode++; + flag <<= 1; + } +} + +u8 Audio_HandleReset(void) { + if (sAudioResetStatus != AUDIORESET_READY) { + if (sAudioResetStatus == AUDIORESET_WAIT) { + if (AudioThread_ResetComplete() == true) { + sAudioResetStatus = AUDIORESET_READY; + AUDIOCMD_SEQPLAYER_SET_IO(SEQ_PLAYER_SFX, 0, sSfxChannelLayout); + Audio_RestartSeqPlayers(); + } + } else if (sAudioResetStatus == AUDIORESET_BLOCK) { + while (AudioThread_ResetComplete() != true) { + ; + } + sAudioResetStatus = AUDIORESET_READY; + AUDIOCMD_SEQPLAYER_SET_IO(SEQ_PLAYER_SFX, 0, sSfxChannelLayout); + Audio_RestartSeqPlayers(); + } + } + return sAudioResetStatus; +} + +void Audio_ResetActiveSequences(void) { + u8 i; + + for (i = 0; i < 4; i++) { + sNumSeqRequests[i] = 0; + sActiveSequences[i].seqId = SEQ_ID_NONE; + sActiveSequences[i].prevSeqId = SEQ_ID_NONE; + sActiveSequences[i].tempo.timer = 0; + sActiveSequences[i].tempoOriginal = 0; + sActiveSequences[i].tempoCmd = 0; + sActiveSequences[i].channelPortMask = 0; + sActiveSequences[i].setupCmdNum = 0; + sActiveSequences[i].setupFadeTimer = 0; + sActiveSequences[i].freqModChannelFlags = 0; + sActiveSequences[i].volChannelFlags = 0; + sActiveSequences[i].mainVolume.fadeMod[2] = 127; + } +} + +void Audio_ResetActiveSequencesAndVolume(void) { + u8 i; + + for (i = 0; i < 4; i++) { + sActiveSequences[i].mainVolume.mod = 1.0f; + sActiveSequences[i].mainVolume.timer = 0; + sActiveSequences[i].mainVolume.fadeActive = false; + sActiveSequences[i].mainVolume.fadeMod[0] = 127; + sActiveSequences[i].mainVolume.fadeMod[1] = 127; + sActiveSequences[i].mainVolume.fadeMod[2] = 127; + } + Audio_ResetActiveSequences(); +} + +void Audio_SetSfxBanksMute(u16 muteFlags) { + u8 i; + + for (i = 0; i < 5; i++) { + sSfxBankMuted[i] = (muteFlags & 1) ? true : false; + muteFlags = muteFlags >> 1; + } +} + +void Audio_ClearBGMMute(u8 channelIndex) { + sChannelMuteFlags &= (1 << channelIndex) ^ 0xFFFF; + if (sChannelMuteFlags == 0) { + Audio_SetSequenceFade(SEQ_PLAYER_BGM, 2, 127, 15); + } +} + +void Audio_PlaySfx(u32 sfxId, f32* sfxSource, u8 token, f32* freqMod, f32* volMod, s8* reverbAdd) { + if (sSfxBankMuted[SFX_BANK_ALT(sfxId)] == 0) { + SfxRequest* request = &sSfxRequests[sSfxRequestWriteIndex]; + + request->sfxId = sfxId; + request->source = sfxSource; + request->token = token; + request->freqMod = freqMod; + request->volMod = volMod; + request->reverbAdd = reverbAdd; + sSfxRequestWriteIndex++; + } +} + +void Audio_RemoveMatchingSfxRequests(u8 aspect, SfxBankEntry* data) { + u8 i = sSfxRequestReadIndex; + + for (i; i != sSfxRequestWriteIndex; i++) { + s32 found = false; + SfxRequest* request = &sSfxRequests[i]; + + switch (aspect) { + case 0: + if ((request->sfxId & SFX_BANK_MASK) == (data->sfxId & SFX_BANK_MASK)) { + found = true; + } + break; + case 1: + if (((request->sfxId & SFX_BANK_MASK) == (data->sfxId & SFX_BANK_MASK)) && + (&request->source[0] == data->xPos)) { + found = true; + } + break; + case 2: + if (&request->source[0] == data->xPos) { + found = true; + } + break; + case 3: + if ((&request->source[0] == data->xPos) && (request->sfxId == data->sfxId)) { + found = true; + } + break; + case 4: + if ((request->token == data->token) && (request->sfxId == data->sfxId)) { + found = true; + } + break; + case 5: + if (request->sfxId == data->sfxId) { + found = true; + } + break; + } + if (found) { + request->sfxId = NA_SE_NONE; + } + } +} + +void Audio_ProcessSfxRequest(void) { + SfxRequest* request = &sSfxRequests[sSfxRequestReadIndex]; + u8 next; + s32 bankId; + u8 evict; + u32 sfxId; + u8 count; + SfxBankEntry* entry; + + if (request->sfxId == NA_SE_NONE) { + return; + } + bankId = SFX_BANK(request->sfxId); + next = sSfxBanks[bankId][0].next; + count = 0; + while ((next != 0xFF) && (next != 0)) { + if (&request->source[0] == sSfxBanks[bankId][next].xPos) { + if (request->sfxId == sSfxBanks[bankId][next].sfxId) { + count = sUsedChannelsPerBank[sSfxChannelLayout][bankId]; + } else { + if (count == 0) { + evict = next; + sfxId = sSfxBanks[bankId][next].sfxId; + } else if ((sSfxBanks[bankId][next].sfxId & SFX_IMPORT_MASK) < (sfxId & SFX_IMPORT_MASK)) { + evict = next; + sfxId = sSfxBanks[bankId][next].sfxId; + } + count++; + if (count == sUsedChannelsPerBank[sSfxChannelLayout][bankId]) { + if ((request->sfxId & SFX_IMPORT_MASK) >= (sfxId & SFX_IMPORT_MASK)) { + next = evict; + } else { + next = 0; + } + } + } + if (count == sUsedChannelsPerBank[sSfxChannelLayout][bankId]) { + if ((request->sfxId & SFX_FLAG_27) || (request->sfxId & SFX_FLAG_18) || (next == evict)) { + if ((sSfxBanks[bankId][next].sfxId & SFX_FLAG_19) && (sSfxBanks[bankId][next].state != 1)) { + Audio_ClearBGMMute(sSfxBanks[bankId][next].channelIndex); + } + sSfxBanks[bankId][next].token = request->token; + sSfxBanks[bankId][next].sfxId = request->sfxId; + sSfxBanks[bankId][next].state = SFX_STATE(request->sfxId); + sSfxBanks[bankId][next].freshness = 2; + sSfxBanks[bankId][next].freqMod = request->freqMod; + sSfxBanks[bankId][next].volMod = request->volMod; + sSfxBanks[bankId][next].reverbAdd = request->reverbAdd; + } + next = 0; + } + } + if (next != 0) { + next = sSfxBanks[bankId][next].next; + } + } + if ((sSfxBanks[bankId][sSfxBankFreeListStart[bankId]].next != 0xFF) && (next != 0)) { + next = sSfxBankFreeListStart[bankId]; + entry = &sSfxBanks[bankId][next]; + entry->xPos = &request->source[0]; + entry->yPos = &request->source[1]; + entry->zPos = &request->source[2]; + entry->token = request->token; + entry->freqMod = request->freqMod; + entry->volMod = request->volMod; + entry->reverbAdd = request->reverbAdd; + entry->sfxId = request->sfxId; + entry->state = SFX_STATE(request->sfxId); + entry->freshness = 2; + + entry->prev = sSfxBankListEnd[bankId]; + + sSfxBanks[bankId][sSfxBankListEnd[bankId]].next = sSfxBankFreeListStart[bankId]; + sSfxBankListEnd[bankId] = sSfxBankFreeListStart[bankId]; + sSfxBankFreeListStart[bankId] = sSfxBanks[bankId][sSfxBankFreeListStart[bankId]].next; + sSfxBanks[bankId][sSfxBankFreeListStart[bankId]].prev = 0xFF; + + entry->next = 0xFF; + } +} + +void Audio_RemoveSfxBankEntry(u8 bankId, u8 entryIndex) { + SfxBankEntry* sfxBank = sSfxBanks[bankId]; + s32 pad; + + if (sfxBank[entryIndex].sfxId & SFX_FLAG_19) { + Audio_ClearBGMMute(sfxBank[entryIndex].channelIndex); + } + if (entryIndex == sSfxBankListEnd[bankId]) { + sSfxBankListEnd[bankId] = sfxBank[entryIndex].prev; + } else { + sfxBank[sfxBank[entryIndex].next].prev = sfxBank[entryIndex].prev; + } + sfxBank[sfxBank[entryIndex].prev].next = sfxBank[entryIndex].next; + sfxBank[entryIndex].next = sSfxBankFreeListStart[bankId]; + sfxBank[entryIndex].prev = 0xFF; + + sfxBank[sSfxBankFreeListStart[bankId]].prev = entryIndex; + sSfxBankFreeListStart[bankId] = entryIndex; + sfxBank[entryIndex].state = 0; +} + +void Audio_ChooseActiveSfx(u8 bankId) { + u8 numChosenSfx = 0; + u8 numChannels; + u8 k; + u8 i; + SfxBankEntry* entry; + ActiveSfx* activeSfx; + f32 maxRangeSq; + f32 yScaled; + ActiveSfx chosenSfx[8]; + u8 chosenEntryIndex; + u8 j; + u8 entryIndex; + u8 needNewSfx; + s32 importance; + + for (i = 0; i < 8; i++) { + chosenSfx[i].priority = INT32_MAX; + chosenSfx[i].entryIndex = 0xFF; + } + entryIndex = sSfxBanks[bankId][0].next; + k = 0; + while (entryIndex != 0xFF) { + if ((sSfxBanks[bankId][entryIndex].state == 1) && + ((sSfxBanks[bankId][entryIndex].sfxId & SFX_FLAG_27) == SFX_FLAG_27)) { + sSfxBanks[bankId][entryIndex].freshness--; + } + if (sSfxBanks[bankId][entryIndex].freshness == 0) { + Audio_RemoveSfxBankEntry(bankId, entryIndex); + } else if (sSfxBanks[bankId][entryIndex].state != 0) { + entry = &sSfxBanks[bankId][entryIndex]; + + if (&entry->xPos[0] == gDefaultSfxSource) { + entry->distance = 0.0f; + } else { + yScaled = *entry->yPos / 2.5f; + entry->distance = SQ(*entry->xPos) + SQ(yScaled) + SQ(*entry->zPos); + } + importance = SFX_IMPORT(entry->sfxId); + if (entry->sfxId & SFX_FLAG_20) { + entry->priority = SQ(0xFF - importance) * SQ(76); + } else { + entry->priority = (u32) entry->distance + SQ(0xFF - importance) * SQ(76); + if (*entry->zPos > 0.0f) { + entry->priority += (s32) (*entry->zPos * 6.0f); + } + } + if (SFX_RANGE(entry->sfxId) != 0) { + maxRangeSq = SQ(33000.0f) / SQ((s32) SFX_RANGE(entry->sfxId)); + } else { + maxRangeSq = SQ(100000.0f); + } + if (entry->distance > maxRangeSq) { + if (entry->state == 4) { + AUDIOCMD_CHANNEL_SET_IO(2, entry->channelIndex, 0, 0); + if (entry->sfxId & SFX_FLAG_27) { + Audio_RemoveSfxBankEntry(bankId, entryIndex); + entryIndex = k; + } + } + } else { + numChannels = sChannelsPerBank[sSfxChannelLayout][bankId]; + for (i = 0; i < numChannels; i++) { + if (chosenSfx[i].priority >= entry->priority) { + if (numChosenSfx < sChannelsPerBank[sSfxChannelLayout][bankId]) { + numChosenSfx++; + } + for (j = numChannels - 1; j > i; j--) { + chosenSfx[j].priority = chosenSfx[j - 1].priority; + chosenSfx[j].entryIndex = chosenSfx[j - 1].entryIndex; + } + chosenSfx[i].priority = entry->priority; + chosenSfx[i].entryIndex = entryIndex; + i = numChannels; + } + } + } + k = entryIndex; + } + entryIndex = sSfxBanks[bankId][k].next; + } + + for (i = 0; i < numChosenSfx; i++) { + if (sSfxBanks[bankId][chosenSfx[i].entryIndex].state == 1) { + sSfxBanks[bankId][chosenSfx[i].entryIndex].state = 2; + } else if (sSfxBanks[bankId][chosenSfx[i].entryIndex].state == 4) { + sSfxBanks[bankId][chosenSfx[i].entryIndex].state = 3; + } + } + numChannels = sChannelsPerBank[sSfxChannelLayout][bankId]; + for (i = 0; i < numChannels; i++) { + activeSfx = &sActiveSfx[bankId][i]; + needNewSfx = 0; + if (activeSfx->entryIndex == 0xFF) { + needNewSfx = 1; + } else if (sSfxBanks[bankId][activeSfx->entryIndex].state == 4) { + if (sSfxBanks[bankId][activeSfx->entryIndex].sfxId & SFX_FLAG_27) { + Audio_RemoveSfxBankEntry(bankId, activeSfx->entryIndex); + } else { + sSfxBanks[bankId][activeSfx->entryIndex].state = 1; + } + needNewSfx = 1; + } else if (sSfxBanks[bankId][activeSfx->entryIndex].state == 0) { + activeSfx->entryIndex = 0xFF; + needNewSfx = 1; + } else { + for (j = 0; j < numChannels; j++) { + if (activeSfx->entryIndex == chosenSfx[j].entryIndex) { + chosenSfx[j].entryIndex = 0xFF; + j = numChannels; + } + } + numChosenSfx--; + } + + if (needNewSfx == 1) { + for (j = 0; j < numChannels; j++) { + chosenEntryIndex = chosenSfx[j].entryIndex; + if ((chosenEntryIndex != 0xFF) && (sSfxBanks[bankId][chosenEntryIndex].state != 3)) { + for (k = 0; k < numChannels; k++) { + if (chosenEntryIndex == sActiveSfx[bankId][k].entryIndex) { + needNewSfx = 0; + k = numChannels; + } + } + if (needNewSfx == 1) { + activeSfx->entryIndex = chosenEntryIndex; + chosenSfx[j].entryIndex = 0xFF; + j = numChannels + 1; + numChosenSfx--; + } + } + } + if (j == numChannels) { + activeSfx->entryIndex = 0xFF; + } + } + } +} + +void Audio_PlayActiveSfx(u8 bankId) { + u8 i; + + for (i = 0; i < sChannelsPerBank[sSfxChannelLayout][bankId]; i++) { + u8 entryIndex = sActiveSfx[bankId][i].entryIndex; + + if (entryIndex != 0xFF) { + SfxBankEntry* entry = &sSfxBanks[bankId][entryIndex]; + SequenceChannel* channel = gSeqPlayers[SEQ_PLAYER_SFX].channels[sCurSfxPlayerChannelIndex]; + s32 pad; + + if (entry->state == 2) { + entry->channelIndex = sCurSfxPlayerChannelIndex; + if (entry->sfxId & SFX_FLAG_19) { + sChannelMuteFlags |= 1 << sCurSfxPlayerChannelIndex; + Audio_SetSequenceFade(SEQ_PLAYER_BGM, 2, 64, 15); + } + Audio_SetSfxProperties(bankId, entryIndex, sCurSfxPlayerChannelIndex); + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, sCurSfxPlayerChannelIndex, 0, 1); + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, sCurSfxPlayerChannelIndex, 4, SFX_INDEX(entry->sfxId) & 0xFF); + entry->state = 4; + } else if ((u8) channel->seqScriptIO[7] == 0x80) { + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, sCurSfxPlayerChannelIndex, 7, 0); + Audio_RemoveSfxBankEntry(bankId, entryIndex); + } else if (entry->state == 3) { + Audio_SetSfxProperties(bankId, entryIndex, sCurSfxPlayerChannelIndex); + entry->state = 4; + } + } + sCurSfxPlayerChannelIndex++; + } +} +void Audio_KillSfxByBank(u8 bankId) { + SfxBankEntry* entry; + u8 next = sSfxBanks[bankId][0].next; + + SfxBankEntry cmp; + + while (next != 0xFF) { + entry = &sSfxBanks[bankId][next]; + if (entry->state >= 3) { + AUDIOCMD_CHANNEL_SET_IO(2, entry->channelIndex, 0, 0); + } + if (entry->state != 0) { + Audio_RemoveSfxBankEntry(bankId, next); + } + next = sSfxBanks[bankId][0].next; + } + cmp.sfxId = bankId << SFX_BANK_SHIFT; + Audio_RemoveMatchingSfxRequests(0, &cmp); +} + +void Audio_StopSfxByBankAndSource(u8 bankId, f32* sfxSource) { + SfxBankEntry* entry; + u8 curIndex = 0; + u8 nextIndex = sSfxBanks[bankId][0].next; + + while (nextIndex != 0xFF) { + entry = &sSfxBanks[bankId][nextIndex]; + if (entry->xPos == sfxSource) { + if (entry->state >= 3) { + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, entry->channelIndex, 0, 0); + } + if (entry->state != 0) { + Audio_RemoveSfxBankEntry(bankId, nextIndex); + } + } else { + curIndex = nextIndex; + } + nextIndex = sSfxBanks[bankId][curIndex].next; + } +} + +void Audio_KillSfxByBankAndSource(u8 bankId, f32* sfxSource) { + SfxBankEntry cmp; + + Audio_StopSfxByBankAndSource(bankId, sfxSource); + cmp.sfxId = bankId << SFX_BANK_SHIFT; + cmp.xPos = sfxSource; + Audio_RemoveMatchingSfxRequests(1, &cmp); +} + +void Audio_KillSfxBySource(f32* sfxSource) { + u8 i; + SfxBankEntry cmp; + + for (i = 0; i < 5; i++) { + Audio_StopSfxByBankAndSource(i, sfxSource); + } + cmp.xPos = sfxSource; + Audio_RemoveMatchingSfxRequests(2, &cmp); +} + +void Audio_KillSfxBySourceAndId(f32* sfxSource, u32 sfxId) { + u32 bankId = SFX_BANK(sfxId); + u8 next = sSfxBanks[bankId][0].next; + u8 current = 0; + SfxBankEntry cmp; + + while (next != 0xFF) { + if ((sSfxBanks[bankId][next].xPos == sfxSource) && (sSfxBanks[bankId][next].sfxId == sfxId)) { + if (sSfxBanks[bankId][next].state >= 3) { + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, sSfxBanks[bankId][next].channelIndex, 0, 0); + } + if (sSfxBanks[bankId][next].state != 0) { + Audio_RemoveSfxBankEntry(bankId, next); + } + next = 0xFF; + } else { + current = next; + } + if (next != 0xFF) { + next = sSfxBanks[bankId][current].next; + } + } + cmp.sfxId = sfxId; + cmp.xPos = sfxSource; + Audio_RemoveMatchingSfxRequests(3, &cmp); +} + +void Audio_KillSfxByTokenAndId(u8 token, u32 sfxId) { + u32 bankId = SFX_BANK(sfxId); + u8 next = sSfxBanks[bankId][0].next; + u8 current = 0; + SfxBankEntry cmp; + + while (next != 0xFF) { + if ((sSfxBanks[bankId][next].token == token) && (sSfxBanks[bankId][next].sfxId == sfxId)) { + if (sSfxBanks[bankId][next].state >= 3) { + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, sSfxBanks[bankId][next].channelIndex, 0, 0); + } + if (sSfxBanks[bankId][next].state != 0) { + Audio_RemoveSfxBankEntry(bankId, next); + } + } else { + current = next; + } + if (next != 0xFF) { + next = sSfxBanks[bankId][current].next; + } + } + cmp.token = token; + cmp.sfxId = sfxId; + Audio_RemoveMatchingSfxRequests(4, &cmp); +} + +void Audio_KillSfxById(u32 sfxId) { + u32 bankId = SFX_BANK(sfxId); + u8 next = sSfxBanks[bankId][0].next; + u8 current = 0; + SfxBankEntry cmp; + + while (next != 0xFF) { + if (sfxId == sSfxBanks[bankId][next].sfxId) { + if (sSfxBanks[bankId][next].state >= 3) { + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, sSfxBanks[bankId][next].channelIndex, 0, 0); + } + if (sSfxBanks[bankId][next].state != 0) { + Audio_RemoveSfxBankEntry(bankId, next); + } + } else { + current = next; + } + next = sSfxBanks[bankId][current].next; + } + cmp.sfxId = sfxId; + Audio_RemoveMatchingSfxRequests(5, &cmp); +} + +void Audio_ProcessSfxRequests(void) { + while (sSfxRequestWriteIndex != sSfxRequestReadIndex) { + Audio_ProcessSfxRequest(); + sSfxRequestReadIndex++; + } +} + +void Audio_SetSfxVolumeMod(u8 bankId, u8 target, u16 timer) { + Modulation* scale = &sSfxVolumeMods[bankId]; + + if (timer == 0) { + timer++; + } + + scale->target = target / 127.0f; + scale->timer = timer; + scale->step = (scale->value - scale->target) / timer; +} + +void Audio_UpdateSfxVolumeMod(u8 bankId) { + Modulation* scale = &sSfxVolumeMods[bankId]; + + if (scale->timer != 0) { + scale->timer--; + if (scale->timer != 0) { + scale->value -= scale->step; + } else { + scale->value = scale->target; + } + } +} + +void Audio_PlayAllSfx(void) { + u8 bankId; + + if (IS_SEQUENCE_CHANNEL_VALID(gSeqPlayers[SEQ_PLAYER_SFX].channels[0])) { + sCurSfxPlayerChannelIndex = 0; + for (bankId = 0; bankId < ARRAY_COUNT(sSfxBanks); bankId++) { + Audio_ChooseActiveSfx(bankId); + Audio_PlayActiveSfx(bankId); + Audio_UpdateSfxVolumeMod(bankId); + } + } +} + +void Audio_ResetSfx(void) { + u8 i; + u8 j; + + sSfxRequestWriteIndex = 0; + sSfxRequestReadIndex = 0; + sChannelMuteFlags = 0; + for (i = 0; i < 5; i++) { + sSfxBankListEnd[i] = 0; + sSfxBankFreeListStart[i] = 1; + sSfxBankUnused[i] = 0; + sSfxBankMuted[i] = 0; + sSfxVolumeMods[i].value = 1.0f; + sSfxVolumeMods[i].timer = 0; + } + for (i = 0; i < 5; i++) { + for (j = 0; j < 8; j++) { + sActiveSfx[i][j].entryIndex = 0xFF; + } + } + for (i = 0; i < 5; i++) { + sSfxBanks[i][0].prev = 0xFF; + sSfxBanks[i][0].next = 0xFF; + for (j = 1; j < 19; j++) { + sSfxBanks[i][j].prev = j - 1; + sSfxBanks[i][j].next = j + 1; + } + sSfxBanks[i][j].prev = j - 1; + sSfxBanks[i][j].next = 0xFF; + } +} + +void Audio_PlayVoice(s32 msgId) { + sCurrentVoiceId = sNextVoiceId = msgId; + sSetNextVoiceId = true; +} + +void Audio_PlayVoiceWithoutBGM(u32 msgId) { + sMuteBgmForVoice = true; + Audio_SetSequenceFade(SEQ_PLAYER_BGM, 2, 64, 15); + Audio_PlayVoice(msgId); +} + +void Audio_UpdateVoice(void) { + s8 voiceBank; + u16 voiceId; + u8 voiceIdHi; + u8 voiceIdLo; + + if (sSetNextVoiceId) { + voiceBank = sNextVoiceId / 1000; + voiceId = sNextVoiceId % 1000; + voiceIdHi = voiceId / 256; + voiceIdLo = voiceId % 256; + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_VOICE, 15, 0, 1); + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_VOICE, 15, 4, voiceBank); + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_VOICE, 15, 5, voiceIdHi); + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_VOICE, 15, 6, voiceIdLo); + sSetNextVoiceId = false; + } else if ((sMuteBgmForVoice) && (Audio_GetCurrentVoice() == 0)) { + Audio_SetSequenceFade(SEQ_PLAYER_BGM, 2, 127, 15); + sMuteBgmForVoice = false; + } +} + +void Audio_ClearVoice(void) { + sCurrentVoiceId = 0; + sNextVoiceId = 1; + sSetNextVoiceId = true; +} + +s32 Audio_GetCurrentVoice(void) { + if (!IS_SEQUENCE_CHANNEL_VALID(gSeqPlayers[SEQ_PLAYER_VOICE].channels[15])) { + return 0; + } + if (gSeqPlayers[SEQ_PLAYER_VOICE].channels[15]->seqScriptIO[1] == 1) { + if (sCurrentVoiceId < 4) { + return 0; + } else { + return sCurrentVoiceId; + } + } + return 0; +} + +s32 Audio_GetCurrentVoiceStatus(void) { + SequenceChannel* channel = gSeqPlayers[SEQ_PLAYER_VOICE].channels[15]; + SequenceLayer* layer = channel->layers[0]; + + if (!IS_SEQUENCE_CHANNEL_VALID(channel) || (layer == NULL) || (channel->seqScriptIO[1] != 1)) { + return 0; + } + if (layer->note != NULL) { + if (layer != layer->note->playbackState.parentLayer) { + return 2; + } else { + return 1; + } + } + return 0; +} + +void Audio_SetUnkVoiceParam(u8 unkVoiceParam) { + sUnkVoiceParam = unkVoiceParam; +} + +void Audio_UpdateUnkVoiceParam(void) { + if (sUnkVoiceParam != 0xFF) { + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_VOICE, 14, 0, sUnkVoiceParam); + sUnkVoiceParam = 0xFF; + } +} + +void Audio_ResetPlayerFreqMods(void) { + u8 i; + u8 j; + + for (i = 0; i < 4; i++) { + for (j = 0; j < 5; j++) { + sPlayerNoise[i].freqMod[j].value = 1.0f; + sPlayerNoise[i].freqMod[j].timer = 0; + sPlayerNoise[i].freqMod[j].boost = 0; + sPlayerNoise[i].freqMod[j].brake = 0; + } + } +} + +void Audio_UpdateArwingNoise(u8 playerId) { + f32 freqMod; + u8 i; + + if (gPlayer[playerId].sfx.boost) { + sPlayerNoise[playerId].freqMod[0].target = 1.5f; + sPlayerNoise[playerId].freqMod[0].timer = 18; + sPlayerNoise[playerId].freqMod[0].step = + (sPlayerNoise[playerId].freqMod[0].target - sPlayerNoise[playerId].freqMod[0].value) / 18; + sPlayerNoise[playerId].freqMod[0].boost = true; + } else if (sPlayerNoise[playerId].freqMod[0].boost) { + sPlayerNoise[playerId].freqMod[0].boost = false; + sPlayerNoise[playerId].freqMod[0].timer = 1; + } + if (gPlayer[playerId].sfx.brake) { + sPlayerNoise[playerId].freqMod[0].target = 0.65f; + sPlayerNoise[playerId].freqMod[0].timer = 20; + sPlayerNoise[playerId].freqMod[0].step = + (sPlayerNoise[playerId].freqMod[0].target - sPlayerNoise[playerId].freqMod[0].value) / 20; + sPlayerNoise[playerId].freqMod[0].brake = true; + } else if (sPlayerNoise[playerId].freqMod[0].brake) { + sPlayerNoise[playerId].freqMod[0].brake = false; + sPlayerNoise[playerId].freqMod[0].timer = 1; + } + if ((gPlayer[playerId].sfx.bank != 0) && (gPlayer[playerId].sfx.zRot < 45.0f)) { + sPlayerNoise[playerId].freqMod[2].target = 1.25f; + sPlayerNoise[playerId].freqMod[2].timer = 10; + sPlayerNoise[playerId].freqMod[2].step = + (sPlayerNoise[playerId].freqMod[2].target - sPlayerNoise[playerId].freqMod[2].value) / 10; + } + if (gPlayer[playerId].sfx.roll != 0) { + AUDIO_PLAY_SFX(NA_SE_ROLLING_AIR, gPlayer[playerId].sfx.srcPos, playerId); + sPlayerNoise[playerId].freqMod[1].target = 1.65f; + sPlayerNoise[playerId].freqMod[1].timer = 8; + sPlayerNoise[playerId].freqMod[1].step = + (sPlayerNoise[playerId].freqMod[1].target - sPlayerNoise[playerId].freqMod[1].value) / 8; + } + if (ABS(gPlayer[playerId].sfx.yVel) > 2.0f) { + sPlayerNoise[playerId].freqMod[3].target = 1.25f; + sPlayerNoise[playerId].freqMod[3].timer = 15; + sPlayerNoise[playerId].freqMod[3].step = + (sPlayerNoise[playerId].freqMod[3].target - sPlayerNoise[playerId].freqMod[3].value) / 15; + sPlayerNoise[playerId].freqMod[3].boost = true; + } else if (sPlayerNoise[playerId].freqMod[3].boost) { + sPlayerNoise[playerId].freqMod[3].boost = false; + sPlayerNoise[playerId].freqMod[3].timer = 1; + } + if (sPlayerNoise[playerId].freqMod[4].timer == 0) { + sPlayerNoise[playerId].freqMod[4].target = (((f32) (gAudioRandom % 0x10000) / 32768.0) * 0.15f) + 1.0f - 0.15f; + sPlayerNoise[playerId].freqMod[4].timer = 16 + (gAudioRandom >> 27); + sPlayerNoise[playerId].freqMod[4].step = + (sPlayerNoise[playerId].freqMod[4].target - sPlayerNoise[playerId].freqMod[3].value) / + sPlayerNoise[playerId].freqMod[4].timer; + } + for (i = 0; i < 5; i++) { + if (sPlayerNoise[playerId].freqMod[i].timer != 0) { + sPlayerNoise[playerId].freqMod[i].timer--; + sPlayerNoise[playerId].freqMod[i].value += sPlayerNoise[playerId].freqMod[i].step; + if ((sPlayerNoise[playerId].freqMod[i].timer == 0) && (sPlayerNoise[playerId].freqMod[i].target != 1.0f)) { + sPlayerNoise[playerId].freqMod[i].target = 1.0f; + sPlayerNoise[playerId].freqMod[i].timer = sPlayerNoiseTimes[i]; + sPlayerNoise[playerId].freqMod[i].step = + (1.0f - sPlayerNoise[playerId].freqMod[i].value) / sPlayerNoiseTimes[i]; + } + } + } + freqMod = 1.0f; + for (i = 0; i < 5; i++) { + freqMod *= sPlayerNoise[playerId].freqMod[i].value; + } + if (freqMod >= 4.0f) { + freqMod = 4.0f; + } + sPlayerNoise[playerId].totalMod = freqMod; +} + +void Audio_UpdateLandmasterNoise(u8 playerId) { + f32 freqMod; + u8 i; + + if ((gPlayer[playerId].sfx.bank != 0) && (gPlayer[playerId].sfx.zRot < 45.0f)) { + sPlayerNoise[playerId].freqMod[2].timer = 10; + sPlayerNoise[playerId].freqMod[2].target = 1.25f; + sPlayerNoise[playerId].freqMod[2].step = (1.25f - sPlayerNoise[playerId].freqMod[2].value) / 10; + } + if (gPlayer[playerId].sfx.roll != 0) { + sPlayerNoise[playerId].freqMod[1].timer = 8; + sPlayerNoise[playerId].freqMod[1].target = 1.65f; + sPlayerNoise[playerId].freqMod[1].step = (1.65f - sPlayerNoise[playerId].freqMod[1].value) / 8; + } + if (ABS(gPlayer[playerId].sfx.yVel) > 2.0f) { + sPlayerNoise[playerId].freqMod[3].target = 1.25f; + sPlayerNoise[playerId].freqMod[3].timer = 15; + sPlayerNoise[playerId].freqMod[3].boost = true; + sPlayerNoise[playerId].freqMod[3].step = (1.25f - sPlayerNoise[playerId].freqMod[3].value) / 15; + } else if (sPlayerNoise[playerId].freqMod[3].boost) { + sPlayerNoise[playerId].freqMod[3].boost = false; + sPlayerNoise[playerId].freqMod[3].timer = 1; + } + for (i = 0; i < 5; i++) { + if (sPlayerNoise[playerId].freqMod[i].timer != 0) { + sPlayerNoise[playerId].freqMod[i].timer--; + sPlayerNoise[playerId].freqMod[i].value += sPlayerNoise[playerId].freqMod[i].step; + if ((sPlayerNoise[playerId].freqMod[i].timer == 0) && (sPlayerNoise[playerId].freqMod[i].target != 1.0f)) { + sPlayerNoise[playerId].freqMod[i].target = 1.0f; + sPlayerNoise[playerId].freqMod[i].timer = sPlayerNoiseTimes[i]; + sPlayerNoise[playerId].freqMod[i].step = + (1.0f - sPlayerNoise[playerId].freqMod[i].value) / sPlayerNoiseTimes[i]; + } + } + } + freqMod = 1.0f; + for (i = 0; i < 5; i++) { + freqMod *= sPlayerNoise[playerId].freqMod[i].value; + } + if (ABS(gPlayer[playerId].pos.y) < 600.0f) { + freqMod += (gPlayer[playerId].pos.y / 600.0f); + } else { + freqMod += 1.0f; + } + if (gPlayer[playerId].baseSpeed > 25.0f) { + freqMod += 0.5f; + } else if (gPlayer[playerId].baseSpeed < 5.0f) { + freqMod -= 0.5f; + } else { + freqMod += (gPlayer[playerId].baseSpeed - 15.0f) * 0.05f; + } + if (freqMod > 2.0f) { + freqMod = 2.0f; + } + sPlayerNoise[playerId].totalMod = freqMod; +} + +void Audio_UpdateBlueMarineNoise(u8 playerId) { + u8 i; + f32 freqMod; + + if ((gPlayer[playerId].sfx.bank != 0) && (gPlayer[playerId].sfx.zRot < 45.0f)) { + sPlayerNoise[playerId].freqMod[2].timer = 10; + sPlayerNoise[playerId].freqMod[2].target = 1.1f; + sPlayerNoise[playerId].freqMod[2].step = (1.1f - sPlayerNoise[playerId].freqMod[2].value) / 10; + } + if (gPlayer[playerId].sfx.roll != 0) { + AUDIO_PLAY_SFX(NA_SE_MAR_ROLLING_AIR, gPlayer[playerId].sfx.srcPos, playerId); + sPlayerNoise[playerId].freqMod[1].timer = 8; + sPlayerNoise[playerId].freqMod[1].target = 1.2f; + sPlayerNoise[playerId].freqMod[1].step = (1.2f - sPlayerNoise[playerId].freqMod[1].value) / 8; + } + if (ABS(gPlayer[playerId].sfx.yVel) > 2.0f) { + sPlayerNoise[playerId].freqMod[3].timer = 15; + sPlayerNoise[playerId].freqMod[3].boost = true; + sPlayerNoise[playerId].freqMod[3].target = 1.12f; + sPlayerNoise[playerId].freqMod[3].step = (1.12f - sPlayerNoise[playerId].freqMod[3].value) / 15; + } else if (sPlayerNoise[playerId].freqMod[3].boost) { + sPlayerNoise[playerId].freqMod[3].boost = false; + sPlayerNoise[playerId].freqMod[3].timer = 1; + } + for (i = 0; i < 5; i++) { + if (sPlayerNoise[playerId].freqMod[i].timer != 0) { + sPlayerNoise[playerId].freqMod[i].timer--; + sPlayerNoise[playerId].freqMod[i].value += sPlayerNoise[playerId].freqMod[i].step; + if ((sPlayerNoise[playerId].freqMod[i].timer == 0) && (sPlayerNoise[playerId].freqMod[i].target != 1.0f)) { + sPlayerNoise[playerId].freqMod[i].target = 1.0f; + sPlayerNoise[playerId].freqMod[i].timer = sPlayerNoiseTimes[i]; + sPlayerNoise[playerId].freqMod[i].step = + (1.0f - sPlayerNoise[playerId].freqMod[i].value) / sPlayerNoiseTimes[i]; + } + } + } + freqMod = 1.0f; + + for (i = 0; i < 5; i++) { + freqMod *= sPlayerNoise[playerId].freqMod[i].value; + } + if (freqMod > 2.0f) { + freqMod = 2.0f; + } + sPlayerNoise[playerId].totalMod = freqMod; +} + +void Audio_UpdatePlayerFreqMod(void) { + u8 playerId; + +#ifdef AVOID_UB + for (playerId = 0; playerId < gCamCount; playerId++) { +#else + for (playerId = 0; playerId < 4; playerId++) { +#endif + switch (sPlayerNoise[playerId].form) { + case FORM_ARWING: + Audio_UpdateArwingNoise(playerId); + sPlayerNoise[playerId].totalMod *= + Audio_UpdateDopplerShift(gPlayer[playerId].sfx.srcPos, gPlayer[playerId].sfx.srcVel, 150.0f, + &sPlayerNoise[playerId].dopplerShift); + break; + case FORM_LANDMASTER: + Audio_UpdateLandmasterNoise(playerId); + break; + case FORM_BLUE_MARINE: + Audio_UpdateBlueMarineNoise(playerId); + break; + case FORM_NONE: + break; + } + } +} + +void Audio_UpdatePlayerReverb(void) { + u8 playerId; + + for (playerId = 0; playerId < 4; playerId++) { + if ((sPlayerNoise[playerId].form == FORM_ARWING) && (gPlayer[playerId].sfx.levelType == LEVELTYPE_PLANET)) { + if (gPlayer[playerId].pos.y < 150.0f) { + sPlayerNoise[playerId].reverbAdd = (150.0f - gPlayer[playerId].pos.y) * 0.53f; + } else { + sPlayerNoise[playerId].reverbAdd = 0; + } + } + } +} + +void Audio_UpdatePlayerNoise(void) { + Audio_UpdatePlayerFreqMod(); + Audio_UpdatePlayerReverb(); +} + +void Audio_ResetVoicesAndPlayers(void) { + u8 playerId; + + Audio_ResetPlayerFreqMods(); + for (playerId = 0; playerId < 4; playerId++) { + sPlayerNoise[playerId].form = FORM_NONE; + sPlayerNoise[playerId].reverbAdd = 0; + sPlayerNoise[playerId].totalMod = 1.0f; + sPlayerNoise[playerId].dopplerShift = 1.0f; + sBombState[playerId] = 0; + sBombStartFrame[playerId] = 0; + } + sSfxFreqMod = 1.0f; + sSfxVolMod = 1.0f; + sNextVoiceId = 0; + sCurrentVoiceId = 0; + sSetNextVoiceId = 0; + sMuteBgmForVoice = 0; + sPlaylistIndex = 0xFF; +} + +void Audio_ProcessPlaylist(void) { + PlaylistCmd* cmd; + u32 temp; + u32 temp2; + u32 temp1; + u32 temp5; + + if (sPlaylistIndex != 0xFF) { + if (sPlaylistTimer == 0) { + cmd = &sPlaylists[sPlaylistIndex][sPlaylistCmdIndex]; + switch (cmd->opCode) { + case 0: + Audio_PlaySequence(cmd->seqPlayId, cmd->seqId & 0xFF, 0, cmd->bgmParam); + sPlaylistTimer = sPlaylists[sPlaylistIndex][sPlaylistCmdIndex].timer; + sPlaylistCmdIndex++; + break; + case 1: + SEQCMD_STOP_SEQUENCE_ALT(cmd->seqPlayId, cmd->fadeoutTime); + sPlaylistTimer = sPlaylists[sPlaylistIndex][sPlaylistCmdIndex].timer; + sPlaylistCmdIndex++; + break; + case 2: + Audio_PlaySequenceDistorted(cmd->seqPlayId, cmd->seqId & 0xFF, 1121, 25, cmd->bgmParam); + sPlaylistTimer = sPlaylists[sPlaylistIndex][sPlaylistCmdIndex].timer; + sPlaylistCmdIndex++; + break; + case 3: + Audio_PlayFanfare(cmd->seqId & 0xFF, 20, 10, 10); + sPlaylistTimer = sPlaylists[sPlaylistIndex][sPlaylistCmdIndex].timer; + sPlaylistCmdIndex++; + break; + case 0xFF: + sPlaylistIndex = 0xFF; + break; + } + } else { + sPlaylistTimer--; + } + } +} + +void Audio_AnalyzeFrequencies(f32* buffer0, f32* buffer1, s32 length, f32* buffer2) { + f32 temp_ft0; + f32 var_fs0; + f32* buff0fromStart; + f32* buf2half2; + f32* buf2half3; + f32* buff1half1; + f32* buff0FromEnd; + f32* buff1half2; + s32 half; + s32 i; + s32 size; + + size = 1 << length; + half = size >> 1; + + // Initialize buffer 2 if it is the wrong size for this calculation + if (size != (s32) buffer2[0]) { + buf2half2 = &buffer2[half]; + buf2half3 = &buf2half2[half]; + var_fs0 = 0.0f; + temp_ft0 = D_PI / (2 * size); + for (i = 0; i < half; i++) { + *buf2half2++ = (__cosf(var_fs0) - __sinf(var_fs0)) * 0.707107f; // approx 1/sqrt(2) + *buf2half3++ = (__cosf(var_fs0) + __sinf(var_fs0)) * 0.707107f; // approx 1/sqrt(2) + var_fs0 += temp_ft0; + } + } + + buff0fromStart = buffer0; + buff0FromEnd = &buffer0[size - 1]; + buff1half1 = buffer1; + buff1half2 = &buffer1[half]; + + // Copy even entries of buffer 0 into the first half of buffer 1. Copy odd entries into the second half in reverse + // order + for (i = 0; i < half; i++) { + *buff1half1++ = *buff0fromStart; + *buff1half2++ = *buff0FromEnd; + buff0fromStart += 2; + buff0FromEnd -= 2; + } + + // reset the buffer pointers + buff0FromEnd = &buffer0[size - 1]; + buff0fromStart = buffer0; + buf2half2 = &buffer2[half]; + buf2half3 = &buf2half2[half]; + buff1half1 = buffer1; + + // FFT buffer 1 using buffer 2 + func_800087F0(buffer1, length, buffer2); + + // handle i = 0 case + buff0fromStart[0] = buff1half1[0]; + buff0fromStart[half] = buff1half1[half]; + + // advance buffer pointers + buf2half2++; + buf2half3++; + buff0fromStart++; + buff1half1++; + + // second half of buffer 1 in reverse order this time + buff1half2 = &buffer1[size - 1]; + + // convert to real amplitudes + for (i = 1; i < half; i++) { + *buff0fromStart++ = (*buf2half2 * *buff1half1) + (*buf2half3 * *buff1half2); + *buff0FromEnd-- = (*buf2half3 * *buff1half1) - (*buf2half2 * *buff1half2); + buff1half1++; + buf2half3++; + buf2half2++; + buff1half2--; + } +} + +#ifndef IMPORT_DATA +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/Audio_UpdateFrequencyAnalysis.s") +#else +u8* Audio_UpdateFrequencyAnalysis(void) { + s32 fmax; + s32 i1; + s32 fmin; + s32 i2; + s32 i3; + s32 fbin; + s16* aiData; + s32 pad; + static s32 sFreqBins[] = { + 0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 14, 16, 19, 22, + 26, 31, 37, 44, 54, 68, 88, 108, 138, 163, 188, 208, 222, 234, 242, 246, + }; + static f32 sFreqGain = 17.0f; + static f32 sFreqAmplitudes[32] = { + 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, + }; + + Audio_ProcessPlaylist(); + // clang-format off + aiData = gAiBuffers[gCurAiBuffIndex];\ + for(i3 = 0; i3 < 256; i3++) {\ + sAudioAnalyzerData[i3] = *aiData++; + } + // clang-format on + Audio_AnalyzeFrequencies(sAudioAnalyzerData, sAnalyzerBuffer1, 8, sAnalyzerBuffer2); + fmin = 0; + for (i1 = 0; i1 < 32; i1++) { + fmax = sFreqBins[i1] + 1; + for (fbin = fmin; fbin < fmax; fbin++) { + if (sAudioAnalyzerData[fbin] > 0.0f) { + sNewFreqAmplitudes[i1] += sAudioAnalyzerData[fbin]; + } else { + sNewFreqAmplitudes[i1] -= sAudioAnalyzerData[fbin]; + } + } + fmin = fbin; + } + for (i2 = 0; i2 < 32; i2++) { + sNewFreqAmplitudes[i2] /= 8; + } + for (i3 = 0; i3 < 32; i3++) { + sNewFreqAmplitudes[i3] = (sNewFreqAmplitudes[i3] / 32768.0f) * sFreqGain; + if (sNewFreqAmplitudes[i3] > 1.0f) { + sNewFreqAmplitudes[i3] = 1.0f; + } + sFreqAmplitudes[i3] = sFreqAmplitudes[i3] * 0.75f + 0.25f * sNewFreqAmplitudes[i3]; + sFreqAnalyzerBars[i3] = sFreqAmplitudes[i3] * 255.0f; + } + return sFreqAnalyzerBars; +} +#endif + +void Audio_StartPlayerNoise(u8 playerId) { + u32 sfxId = NA_SE_NONE; + + sPlayerNoise[playerId].form = gPlayer[playerId].sfx.form; + Audio_ResetPlayerFreqMods(); + switch (sPlayerNoise[playerId].form) { + case FORM_ARWING: + if (gPlayer[playerId].sfx.levelType == LEVELTYPE_SPACE) { + sfxId = NA_SE_ARWING_ENGIN_SPC; + } else { + sfxId = NA_SE_ARWING_ENGIN_GRD; + } + break; + case FORM_LANDMASTER: + sfxId = NA_SE_TANK_ENGIN; + break; + case FORM_BLUE_MARINE: + sfxId = NA_SE_MARINE_ENGINE00; + Audio_PlaySfx(NA_SE_SUBMARINE_ATM, gPlayer[playerId].sfx.srcPos, playerId, &gDefaultMod, &gDefaultMod, + &sPlayerNoise[playerId].reverbAdd); + break; + } + if (sfxId != NA_SE_NONE) { + Audio_PlaySfx(sfxId, gPlayer[playerId].sfx.srcPos, playerId, &sPlayerNoise[playerId].totalMod, &gDefaultMod, + &sPlayerNoise[playerId].reverbAdd); + } +} + +void Audio_StopPlayerNoise(u8 playerId) { + u32 sfxId = NA_SE_NONE; + + switch (sPlayerNoise[playerId].form) { + case FORM_ARWING: + if (gPlayer[playerId].sfx.levelType == LEVELTYPE_SPACE) { + sfxId = NA_SE_ARWING_ENGIN_SPC; + } else { + sfxId = NA_SE_ARWING_ENGIN_GRD; + } + Audio_KillSfxBySourceAndId(gPlayer[playerId].sfx.srcPos, NA_SE_SPLASH_LEVEL_S); + break; + case FORM_LANDMASTER: + sfxId = NA_SE_TANK_ENGIN; +#ifdef VERSION_EU + Audio_KillSfxBySourceAndId(gPlayer[playerId].sfx.srcPos, NA_SE_TANK_GO_UP); +#endif + break; + case FORM_BLUE_MARINE: + sfxId = NA_SE_MARINE_ENGINE00; + Audio_KillSfxBySourceAndId(gPlayer[playerId].sfx.srcPos, NA_SE_SUBMARINE_ATM); + break; + } + sPlayerNoise[playerId].form = FORM_NONE; + if (sfxId != NA_SE_NONE) { + Audio_KillSfxBySourceAndId(gPlayer[playerId].sfx.srcPos, sfxId); + } +} + +void Audio_InitBombSfx(u8 playerId, u8 type) { + sBombStartFrame[playerId] = sAudioFrameCounter; + switch (type) { + case 1: + sBombFreqMod[playerId] = 1.0f; + sBombType[playerId] = 1; + break; + case 2: + sBombFreqMod[playerId] = 1.5f; + sBombType[playerId] = 2; + break; + default: + case 0: + sBombFreqMod[playerId] = 0.75f; + sBombType[playerId] = 0; + break; + } + if (sBombState[playerId] != 1) { + Audio_PlaySfx(NA_SE_BOMB_CHARGE, gPlayer[playerId].sfx.srcPos, playerId, &sBombFreqMod[playerId], &gDefaultMod, + &sPlayerNoise[playerId].reverbAdd); + sBombState[playerId] = 1; + } +} + +void Audio_PlayBombFlightSfx(u8 playerId, f32* sfxSource) { + if (sBombState[playerId] != 0) { + switch (sBombType[playerId]) { + case 1: + sBombFreqMod[playerId] = 1.2f; + break; + case 2: + sBombFreqMod[playerId] = 1.5f; + break; + default: + case 0: + sBombFreqMod[playerId] = 1.0f; + break; + } + Audio_KillSfxBySourceAndId(gPlayer[playerId].sfx.srcPos, NA_SE_BOMB_CHARGE); + Audio_PlaySfx(NA_SE_SMART_BOMB_SHOT, sfxSource, playerId, &sBombFreqMod[playerId], &gDefaultMod, + &sPlayerNoise[playerId].reverbAdd); + sBombState[playerId] = 2; + } +} + +void Audio_PlayBombExplodeSfx(u8 playerId, f32* sfxSource) { + u32 sfxId; + + if (sBombState[playerId] != 0) { + switch (sBombType[playerId]) { + case 1: + sfxId = NA_SE_BOMB_EXPLODE1; + break; + case 2: + sfxId = NA_SE_BOMB_EXPLODE2; + break; + default: + case 0: + sfxId = NA_SE_BOMB_EXPLODE0; + break; + } + Audio_KillSfxByTokenAndId(playerId, NA_SE_SMART_BOMB_SHOT); + AUDIO_PLAY_SFX(sfxId, sfxSource, playerId); + sBombState[playerId] = 0; + } +} + +void Audio_StartEngineNoise(f32* sfxSource) { + u32 sfxId = (gPlayer[0].sfx.levelType == LEVELTYPE_SPACE) ? NA_SE_ARWING_ENGINE_FS : NA_SE_ARWING_ENGINE_FG; + + AUDIO_PLAY_SFX(sfxId, sfxSource, 0); +} + +void Audio_StopEngineNoise(f32* sfxSource) { + u32 sfxId = (gPlayer[0].sfx.levelType == LEVELTYPE_SPACE) ? NA_SE_ARWING_ENGINE_FS : NA_SE_ARWING_ENGINE_FG; + + Audio_KillSfxBySourceAndId(sfxSource, sfxId); +} + +void Audio_SetSfxSpeedModulation(f32 vel) { + f32 speed = ABS(vel); + + if (speed < 6.0f) { + speed = 6.0f; + } else if (speed > 30.0f) { + speed = 30.0f; + } + + sSfxFreqMod = ((speed - 18.0f) / 24.0f) + 1.0f; +} + +#ifdef IMPORT_DATA +void Audio_SetTransposeAndPlaySfx(f32* sfxSource, u32 sfxId, u8 semitones) { + f32 semitoneMods[] = { + 1.0f, 1.059f, 1.122f, 1.189f, 1.26f, 1.335f, 1.414f, 1.498f, 1.587f, 1.682f, 1.782f, 1.888f, 2.0f, + }; + + if (semitones > 12) { + semitones = 12; + } + Audio_SetModulationAndPlaySfx(sfxSource, sfxId, semitoneMods[semitones]); +} +#else +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/Audio_SetTransposeAndPlaySfx.s") +#endif + +void Audio_SetModulationAndPlaySfx(f32* sfxSource, u32 sfxId, f32 freqMod) { + sSfxFreqMod = freqMod; + Audio_PlaySfx(sfxId, sfxSource, 0, &sSfxFreqMod, &gDefaultMod, &gDefaultReverb); +} + +void Audio_PlaySfxModulated(f32* sfxSource, u32 sfxId) { + Audio_PlaySfx(sfxId, sfxSource, 0, &sSfxFreqMod, &sSfxVolMod, &gDefaultReverb); +} + +void Audio_SetSfxMapModulation(u8 fMod) { + if (fMod < 12) { + sSfxFreqMod = (fMod / 11.0f) + 0.5f; + } else { + sSfxFreqMod = 1.5f; + } +} + +void Audio_SetHeatAlarmParams(u8 shields, u8 heightParam) { + // height param is (s32) height / 100 - 1, clamped to [0, 5] + u8 alarmVolume; + u8 heightVolume; + + // modifies tempo + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, 9, 2, 8 + (shields >> 2)); + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, 10, 2, 8 + (shields >> 2)); + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, 11, 2, 8 + (shields >> 2)); + + // modifies frequency + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, 9, 1, 19 - (heightParam * 3)); + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, 10, 1, 19 - (heightParam * 3)); + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, 11, 1, 19 - (heightParam * 3)); + + alarmVolume = 68 - (shields >> 3); + heightVolume = 80 - (heightParam * 10); + if (heightVolume > alarmVolume) { + alarmVolume = heightVolume; + } + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, 9, 3, alarmVolume); + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, 10, 3, alarmVolume); + AUDIOCMD_CHANNEL_SET_IO(SEQ_PLAYER_SFX, 11, 3, alarmVolume); +} + +void Audio_PlayEventSfx(f32* sfxSource, u16 eventSfxId) { + if ((sEventSfx[eventSfxId] & SFX_BANK_MASK) != (SFX_BANK_SYSTEM << SFX_BANK_SHIFT)) { + AUDIO_PLAY_SFX(sEventSfx[eventSfxId], sfxSource, 0); + } else { + AUDIO_PLAY_SFX(sEventSfx[eventSfxId], gDefaultSfxSource, 0); + } +} + +void Audio_StopEventSfx(f32* sfxSource, u16 eventSfxId) { + if ((sEventSfx[eventSfxId] & SFX_BANK_MASK) != (SFX_BANK_SYSTEM << SFX_BANK_SHIFT)) { + Audio_KillSfxBySourceAndId(sfxSource, sEventSfx[eventSfxId]); + } else { + Audio_KillSfxBySourceAndId(gDefaultSfxSource, sEventSfx[eventSfxId]); + } +} + +void Audio_SetEnvSfxReverb(s8 reverb) { + sEnvReverb = reverb; +} + +void Audio_SetBgmParam(s8 bgmParam) { + SEQCMD_SET_SEQPLAYER_IO(SEQ_PLAYER_BGM, 0, bgmParam); +} + +void Audio_PlaySequence(u8 seqPlayId, u16 seqId, u8 fadeinTime, u8 bgmParam) { + SEQCMD_SET_SEQPLAYER_IO(seqPlayId, 0, bgmParam); + SEQCMD_PLAY_SEQUENCE(seqPlayId, fadeinTime, 0, seqId); +} + +void Audio_PlayFanfare(u16 seqId, u8 bgmVolume, u8 bgmFadeoutTime, u8 bgmFadeinTime) { + if (Audio_GetActiveSeqId(SEQ_PLAYER_BGM) != NA_BGM_PLAYER_DOWN) { + Audio_SetSequenceFade(SEQ_PLAYER_BGM, 1, bgmVolume, bgmFadeoutTime); + SEQCMD_SETUP_RESTORE_SEQPLAYER_VOLUME(SEQ_PLAYER_FANFARE, SEQ_PLAYER_BGM, bgmFadeinTime); + SEQCMD_PLAY_SEQUENCE(SEQ_PLAYER_FANFARE, 0, 0, seqId); + } +} + +void Audio_PlayDeathSequence(void) { + u8 i; + + if (sAudioSpecId == AUDIOSPEC_24) { + Audio_ClearVoice(); + Audio_PlayMapMenuSfx(0); + AUDIO_PLAY_SFX(NA_SE_ARWING_EXPLOSION, gDefaultSfxSource, 4); + SEQCMD_SET_SEQPLAYER_VOLUME(SEQ_PLAYER_BGM, 5, 30); + SEQCMD_SETUP_RESTORE_SEQPLAYER_VOLUME(SEQ_PLAYER_FANFARE, SEQ_PLAYER_BGM, 30); + SEQCMD_PLAY_SEQUENCE(SEQ_PLAYER_FANFARE, 0, 0, NA_BGM_PLAYER_DOWN); + } else { + for (i = 0; i < 5; i++) { + Audio_KillSfxByBank(i); + } + AUDIOCMD_GLOBAL_UNMUTE(true); + AUDIO_PLAY_SFX(NA_SE_ARWING_EXPLOSION, gDefaultSfxSource, 4); + SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 0); + SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 0); + SEQCMD_PLAY_SEQUENCE(SEQ_PLAYER_BGM, 0, 0, NA_BGM_PLAYER_DOWN); + } +} + +void Audio_PlayPauseSfx(u8 active) { + if (active) { + AUDIO_PLAY_SFX(NA_SE_PAUSE_ON, gDefaultSfxSource, 4); + AUDIOCMD_GLOBAL_MUTE(); + } else { + AUDIO_PLAY_SFX(NA_SE_PAUSE_ON, gDefaultSfxSource, 4); + AUDIOCMD_GLOBAL_UNMUTE(false); + } +} + +void Audio_PlayMapMenuSfx(u8 active) { + if (active) { + AUDIO_PLAY_SFX(NA_SE_MAP_WINDOW_OPEN, gDefaultSfxSource, 4); + AUDIOCMD_GLOBAL_MUTE(); + } else { + AUDIO_PLAY_SFX(NA_SE_MAP_WINDOW_CLOSE, gDefaultSfxSource, 4); + AUDIOCMD_GLOBAL_UNMUTE(false); + } +} + +void Audio_RestoreVolumeSettings(u8 audioType) { + s8 volume = ((sVolumeSettings[audioType] * 127) / 99) % 128U; + u8 i; + + switch (audioType) { + case AUDIO_TYPE_MUSIC: + Audio_SetSequenceFade(SEQ_PLAYER_BGM, 0, volume, 1); + Audio_SetSequenceFade(SEQ_PLAYER_FANFARE, 0, volume, 1); + break; + case AUDIO_TYPE_SFX: + for (i = 0; i < 15; i++) { + AUDIOCMD_CHANNEL_SET_VOL(SEQ_PLAYER_SFX, (u32) i, volume / 127.0f); + } + break; + case AUDIO_TYPE_VOICE: + AUDIOCMD_CHANNEL_SET_VOL(SEQ_PLAYER_VOICE, 15, volume / 127.0f); + break; + } +} + +void Audio_SetVolume(u8 audioType, u8 volume) { + if (volume > 99) { + volume = 99; + } + sVolumeSettings[audioType] = volume; + Audio_RestoreVolumeSettings(audioType); +} + +void Audio_PlaySoundTest(u8 enable) { + switch (enable) { + case false: + AUDIO_PLAY_BGM(NA_BGM_SELECT); + Audio_PlayVoice(1); + Audio_KillSfxById(NA_SE_VOLUME_TEST); + Audio_KillSfxById(NA_SE_ARWING_ENGIN_GRD); + break; + case true: + AUDIO_PLAY_BGM(NA_BGM_VOLUME_TEST); + Audio_PlayVoice(2); + AUDIO_PLAY_SFX(NA_SE_VOLUME_TEST, gDefaultSfxSource, 0); + AUDIO_PLAY_SFX(NA_SE_ARWING_ENGIN_GRD, gDefaultSfxSource, 0); + break; + } +} + +void Audio_PlaySequenceDistorted(u8 seqPlayId, u16 seqId, u16 distortion, u8 fadeinTime, u8 unused) { + u8 tempoDistortion = (distortion / 10); + + Audio_PlaySequence(seqPlayId, seqId & ~SEQ_FLAG, 0, -1); + SEQCMD_SET_SEQPLAYER_FREQ(seqPlayId, fadeinTime, distortion); + SEQCMD_SCALE_TEMPO(seqPlayId, fadeinTime, tempoDistortion); +} + +void Audio_PlaySoundTestTrack(u8 trackNumber) { + u16 seqId; + u8 bgmParam; + + if ((trackNumber >= 45) && (trackNumber < 50)) { + SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 1); + SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 1); + sPlaylistIndex = trackNumber - 45; + sPlaylistCmdIndex = 0; + sPlaylistTimer = 0; + } else if (trackNumber >= 50) { + AUDIO_PLAY_SFX(NA_SE_ERROR, gDefaultSfxSource, 4); + } else { + sPlaylistIndex = 0xFF; + seqId = sSoundTestTracks[trackNumber].seqId & 0xFF; + bgmParam = sSoundTestTracks[trackNumber].bgmParam; + SEQCMD_STOP_SEQUENCE(D_800C6A70 ^ 1, 5); + Audio_PlaySequence(D_800C6A70, seqId, 0, bgmParam); + D_800C6A70 ^= 1; + } +} + +void Audio_FadeOutAll(u8 fadeoutTime) { + SEQCMD_SET_SEQPLAYER_VOLUME(SEQ_PLAYER_BGM, fadeoutTime, 0); + SEQCMD_SET_SEQPLAYER_VOLUME(SEQ_PLAYER_FANFARE, fadeoutTime, 0); + SEQCMD_SET_SEQPLAYER_VOLUME(SEQ_PLAYER_SFX, fadeoutTime, 0); + SEQCMD_SET_SEQPLAYER_VOLUME(SEQ_PLAYER_VOICE, fadeoutTime, 0); +} + +void Audio_KillAllSfx(void) { + u8 i; + + for (i = 0; i < 5; i++) { + Audio_KillSfxByBank(i); + } +} + +// Function doesn't exist in JP/US +#ifdef VERSION_EU +void Audio_SetVoiceLanguage(u8 language) { + gVoiceLanguage = language; + + if (gVoiceLanguage == 0) { + Audio_StartSequence(SEQ_PLAYER_VOICE, NA_BGM_VO, -1, 1); + } else { + // 0x42 sets voice language to Lylat ? + Audio_StartSequence(SEQ_PLAYER_VOICE, NA_BGM_VO_LYLAT, -1, 1); + } +} +#endif + +void Audio_SetAudioSpec(u8 unused, u16 specParam) { + u8 sfxChannelLayout = ((specParam & 0xFF00) >> 8); + u8 specId = specParam & 0xFF; + + SEQCMD_RESET_AUDIO_HEAP(sfxChannelLayout, specId); +} + +// unused +void Audio_PlayBgm(u16 seqId) { + SEQCMD_PLAY_SEQUENCE(SEQ_PLAYER_BGM, 1, 0, seqId); +} + +// Function is different from JP/US +void Audio_InitSounds(void) { + Audio_ResetVoicesAndPlayers(); + Audio_ResetSfxChannelState(); + Audio_ResetActiveSequencesAndVolume(); + Audio_ResetSfx(); +#ifdef VERSION_EU + AUDIOCMD_GLOBAL_SYNC_LOAD_SEQ_PARTS(NA_BGM_VO_LYLAT, 0); +#endif + Audio_StartSequence(SEQ_PLAYER_VOICE, NA_BGM_VO, -1, 1); + Audio_StartSequence(SEQ_PLAYER_SFX, NA_BGM_SE, -1, 10); +} + +// Function is different from JP/US +void Audio_RestartSeqPlayers(void) { + s32 pad1; + s32 pad2; + u16 fadeIn = 1; + +#ifdef VERSION_EU + if (gVoiceLanguage == 0) { + Audio_StartSequence(SEQ_PLAYER_VOICE, NA_BGM_VO, -1, 1); + } else { + Audio_StartSequence(SEQ_PLAYER_VOICE, NA_BGM_VO_LYLAT, -1, 1); + } +#else + Audio_StartSequence(SEQ_PLAYER_VOICE, NA_BGM_VO, -1, 1); +#endif + + if (sAudioSpecId == AUDIOSPEC_AQ) { + fadeIn = 360; + } else if (sAudioSpecId < AUDIOSPEC_23) { + fadeIn = 90; + } + Audio_StartSequence(SEQ_PLAYER_SFX, NA_BGM_SE, -1, fadeIn); + Audio_LoadInstruments(); + Audio_LoadAquasSequence(); + SEQCMD_SET_SEQPLAYER_VOLUME(SEQ_PLAYER_SFX, 0, 127); + SEQCMD_SET_SEQPLAYER_VOLUME(SEQ_PLAYER_VOICE, 0, 127); + AudioThread_ScheduleProcessCmds(); + AUDIOCMD_GLOBAL_STOP_AUDIOCMDS(); + AUDIOCMD_GLOBAL_STOP_AUDIOCMDS(); + AUDIOCMD_GLOBAL_STOP_AUDIOCMDS(); + Audio_RestoreVolumeSettings(AUDIO_TYPE_MUSIC); + Audio_RestoreVolumeSettings(AUDIO_TYPE_SFX); + Audio_RestoreVolumeSettings(AUDIO_TYPE_VOICE); +} + +void Audio_StartReset(u8 oldSpecId) { + if (oldSpecId == AUDIOSPEC_16) { + if ((sAudioSpecId == AUDIOSPEC_22) || (sAudioSpecId == AUDIOSPEC_23)) { + sAudioResetStatus = AUDIORESET_BLOCK; + } + } else if ((oldSpecId == AUDIOSPEC_28) && (sAudioSpecId == AUDIOSPEC_23)) { + sAudioResetStatus = AUDIORESET_BLOCK; + } else { + sAudioResetStatus = AUDIORESET_WAIT; + } + AUDIOCMD_GLOBAL_UNMUTE(true); + Audio_ResetVoicesAndPlayers(); + Audio_ResetSfxChannelState(); + Audio_ResetActiveSequences(); + Audio_ResetSfx(); +} + +void Audio_Update(void) { + if (Audio_HandleReset() == AUDIORESET_READY) { + Audio_ProcessSfxRequests(); + Audio_ProcessSeqCmds(); + Audio_PlayAllSfx(); + Audio_UpdatePlayerNoise(); + Audio_UpdateVoice(); + Audio_UpdateUnkVoiceParam(); + Audio_UpdateActiveSequences(); + Audio_UpdateDelayedSeqCmds(); + AudioThread_ScheduleProcessCmds(); + } + sAudioFrameCounter++; +} #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_general/D_800C99E0.s") diff --git a/srceu/audio/audio_heap.c b/srceu/audio/audio_heap.c index d80417b2..640bb699 100644 --- a/srceu/audio/audio_heap.c +++ b/srceu/audio/audio_heap.c @@ -1,67 +1,979 @@ -#include "common.h" +// Version differences: AudioHeap_Init -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000BCE0.s") +#include "sys.h" +#include "sf64audio_provisional.h" -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000BDA8.s") +extern u16 D_8014E320; +extern s16 D_8014E324; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000BE94.s") +void AudioHeap_InitSampleCaches(u32 persistentSampleCacheSize, u32 temporarySampleCacheSize); +void func_800132C8(void); +void func_80012894(void); +void func_80011F2C(Note* note); +void func_80012C20(Note* note); +void func_8001459C(AudioListItem* list, AudioListItem* item); +void func_800144C4(SequencePlayer* seqPlayer); +void* AudioHeap_SearchRegularCaches(s32 tableType, s32 cache, s32 id); +void AudioHeap_DiscardSampleCaches(void); +void AudioHeap_Init(void); +SampleCacheEntry* AudioHeap_AllocPersistentSampleCacheEntry(u32 size); +SampleCacheEntry* AudioHeap_AllocTemporarySampleCacheEntry(s32 size); +void AudioHeap_DiscardSampleCacheEntry(SampleCacheEntry* entry); +void AudioHeap_UnapplySampleCache(SampleCacheEntry* entry, Sample* sample); -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000BF04.s") +void AudioHeap_ResetLoadStatus(void) { + s32 i; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000BF84.s") + for (i = 0; i < 64; i++) { + if (gFontLoadStatus[i] != 5) { + gFontLoadStatus[i] = 0; + } + } + for (i = 0; i < 64; i++) { + if (gSampleFontLoadStatus[i] != 5) { + gSampleFontLoadStatus[i] = 0; + } + } + for (i = 0; i < 256; i++) { + if (gSeqLoadStatus[i] != 5) { + gSeqLoadStatus[i] = 0; + } + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000BFDC.s") +void AudioHeap_DiscardFont(s32 fontId) { + Note* note; + s32 i; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000C004.s") + for (i = 0; i < gNumNotes; i++) { + note = &gNotes[i]; + if (fontId == note->playbackState.fontId) { + if ((note->playbackState.unk_04 == 0) && (note->playbackState.priority != 0)) { + note->playbackState.parentLayer->enabled = false; + note->playbackState.parentLayer->finished = true; + } + func_80011F2C(note); + func_80012C20(note); + func_8001459C(&gNoteFreeLists.disabled, ¬e->listItem); + } + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000C018.s") +void AudioHeap_DiscardSequence(s32 seqId) { + s32 i; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000C048.s") + for (i = 0; i < ARRAY_COUNT(gSeqPlayers); i++) { + if (gSeqPlayers[i].enabled && gSeqPlayers[i].seqId == seqId) { + func_800144C4(&gSeqPlayers[i]); + } + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000C058.s") +void* AudioHeap_AllocZeroed(AudioAllocPool* pool, u32 size) { + u32 aligned = ALIGN16(size); + u8* ramAddr = pool->curRamAddr; + u8* ptr; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000C0B4.s") + if (pool->startRamAddr + pool->size >= pool->curRamAddr + aligned) { + pool->curRamAddr += aligned; + for (ptr = ramAddr; ptr < pool->curRamAddr; ptr++) { + *ptr = 0; + } + } else { + return NULL; + } + pool->numEntries++; + return ramAddr; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000C130.s") +void* AudioHeap_Alloc(AudioAllocPool* pool, u32 size) { + u32 aligned = ALIGN16(size); + u8* ramAddr = pool->curRamAddr; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000C1AC.s") + if ((pool->startRamAddr + pool->size) >= (pool->curRamAddr + aligned)) { + pool->curRamAddr += aligned; + } else { + return NULL; + } + pool->numEntries++; + return ramAddr; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000C268.s") +void AudioHeap_InitPool(AudioAllocPool* pool, void* ramAddr, u32 size) { + pool->curRamAddr = pool->startRamAddr = (u8*) ALIGN16((u32) ramAddr); + pool->size = size - ((u32) ramAddr & 0xF); + pool->numEntries = 0; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000C324.s") +void AudioHeap_InitPersistentCache(AudioPersistentCache* persistent) { + persistent->pool.numEntries = 0; + persistent->numEntries = 0; + persistent->pool.curRamAddr = persistent->pool.startRamAddr; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000CA00.s") +void AudioHeap_InitTemporaryCache(AudioTemporaryCache* temporary) { + temporary->pool.numEntries = 0; + temporary->pool.curRamAddr = temporary->pool.startRamAddr; + temporary->nextSide = 0; + temporary->entries[0].ramAddr = temporary->pool.startRamAddr; + temporary->entries[1].ramAddr = temporary->pool.startRamAddr + temporary->pool.size; + temporary->entries[0].id = -1; + temporary->entries[1].id = -1; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000CA58.s") +void AudioHeap_ResetPool(AudioAllocPool* pool) { + pool->numEntries = 0; + pool->curRamAddr = pool->startRamAddr; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000CB64.s") +void AudioHeap_InitMainPools(s32 initPoolSize) { + AudioHeap_InitPool(&gInitPool, gAudioHeap, initPoolSize); + AudioHeap_InitPool(&gSessionPool, gAudioHeap + initPoolSize, gAudioHeapSize - initPoolSize); +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000CF38.s") +void AudioHeap_InitSessionPools(AudioSessionPoolSplit* split) { + gSessionPool.curRamAddr = gSessionPool.startRamAddr; + AudioHeap_InitPool(&gMiscPool, AudioHeap_Alloc(&gSessionPool, split->miscPoolSize), split->miscPoolSize); + AudioHeap_InitPool(&gCachePool, AudioHeap_Alloc(&gSessionPool, split->cachePoolSize), split->cachePoolSize); +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000D0FC.s") +void AudioHeap_InitCachePools(AudioCachePoolSplit* split) { + gCachePool.curRamAddr = gCachePool.startRamAddr; + AudioHeap_InitPool(&gPersistentCommonPool, AudioHeap_Alloc(&gCachePool, split->persistentCommonPoolSize), + split->persistentCommonPoolSize); + AudioHeap_InitPool(&gTemporaryCommonPool, AudioHeap_Alloc(&gCachePool, split->temporaryCommonPoolSize), + split->temporaryCommonPoolSize); +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000D174.s") +void AudioHeap_InitPersistentPoolsAndCaches(AudioCommonPoolSplit* split) { + gPersistentCommonPool.curRamAddr = gPersistentCommonPool.startRamAddr; + AudioHeap_InitPool(&gSeqCache.persistent.pool, AudioHeap_Alloc(&gPersistentCommonPool, split->seqCacheSize), + split->seqCacheSize); + AudioHeap_InitPool(&gFontCache.persistent.pool, AudioHeap_Alloc(&gPersistentCommonPool, split->fontCacheSize), + split->fontCacheSize); + AudioHeap_InitPool(&gSampleBankCache.persistent.pool, + AudioHeap_Alloc(&gPersistentCommonPool, split->sampleBankCacheSize), split->sampleBankCacheSize); + AudioHeap_InitPersistentCache(&gSeqCache.persistent); + AudioHeap_InitPersistentCache(&gFontCache.persistent); + AudioHeap_InitPersistentCache(&gSampleBankCache.persistent); +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000D518.s") +void AudioHeap_InitTemporaryPoolsAndCaches(AudioCommonPoolSplit* split) { + gTemporaryCommonPool.curRamAddr = gTemporaryCommonPool.startRamAddr; + AudioHeap_InitPool(&gSeqCache.temporary.pool, AudioHeap_Alloc(&gTemporaryCommonPool, split->seqCacheSize), + split->seqCacheSize); + AudioHeap_InitPool(&gFontCache.temporary.pool, AudioHeap_Alloc(&gTemporaryCommonPool, split->fontCacheSize), + split->fontCacheSize); + AudioHeap_InitPool(&gSampleBankCache.temporary.pool, + AudioHeap_Alloc(&gTemporaryCommonPool, split->sampleBankCacheSize), split->sampleBankCacheSize); + AudioHeap_InitTemporaryCache(&gSeqCache.temporary); + AudioHeap_InitTemporaryCache(&gFontCache.temporary); + AudioHeap_InitTemporaryCache(&gSampleBankCache.temporary); +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000DB64.s") +void* AudioHeap_AllocCached(s32 tableType, s32 size, s32 cache, s32 id) { + AudioCache* loadedCache; + AudioTemporaryCache* temporaryCache; + AudioAllocPool* temporaryPool; + void* persistentRamAddr; + void* temporaryRamAddr; + u8 loadStatusEntry0; + u8 loadStatusEntry1; + s32 i; + u8* loadStatus; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000DBBC.s") + switch (tableType) { + case SEQUENCE_TABLE: + loadedCache = &gSeqCache; + loadStatus = gSeqLoadStatus; + break; + case FONT_TABLE: + loadedCache = &gFontCache; + loadStatus = gFontLoadStatus; + break; + case SAMPLE_TABLE: + loadedCache = &gSampleBankCache; + loadStatus = gSampleFontLoadStatus; + break; + } + if (cache == CACHE_TEMPORARY) { + temporaryCache = &loadedCache->temporary; + temporaryPool = &temporaryCache->pool; + if (loadedCache->temporary.entries[0].id == -1) { + loadStatusEntry0 = 0; + } else { + loadStatusEntry0 = loadStatus[temporaryCache->entries[0].id]; + } + if (temporaryCache->entries[1].id == -1) { + loadStatusEntry1 = 0; + } else { + loadStatusEntry1 = loadStatus[temporaryCache->entries[1].id]; + } + if (tableType == FONT_TABLE) { + if (loadStatusEntry0 == 4) { + for (i = 0; i < gNumNotes; i++) { + if ((gNotes[i].playbackState.fontId == temporaryCache->entries[0].id) && + gNotes[i].noteSubEu.bitField0.enabled) { + break; + } + } + if (i == gNumNotes) { + if (gFontLoadStatus[temporaryCache->entries[0].id] != 5) { + gFontLoadStatus[temporaryCache->entries[0].id] = 3; + } + loadStatusEntry0 = 3; + } + } + if (loadStatusEntry1 == 4) { + for (i = 0; i < gNumNotes; i++) { + if ((gNotes[i].playbackState.fontId == temporaryCache->entries[1].id) && + gNotes[i].noteSubEu.bitField0.enabled) { + break; + } + } + if (i == gNumNotes) { + if (gFontLoadStatus[temporaryCache->entries[1].id] != 5) { + gFontLoadStatus[temporaryCache->entries[1].id] = 3; + } + loadStatusEntry1 = 3; + } + } + } + if (loadStatusEntry0 == 0) { + temporaryCache->nextSide = 0; + } else if (loadStatusEntry1 == 0) { + temporaryCache->nextSide = 1; + } else if ((loadStatusEntry0 == 3) && (loadStatusEntry1 == 3)) { + // Use the opposite side from last time. + } else if (loadStatusEntry0 == 3) { + temporaryCache->nextSide = 0; + } else if (loadStatusEntry1 == 3) { + temporaryCache->nextSide = 1; + } else { + // Check if there is a side which isn't in active use, if so, evict that one. + if (tableType == SEQUENCE_TABLE) { + if (loadStatusEntry0 == 2) { + for (i = 0; i < ARRAY_COUNT(gSeqPlayers); i++) { + if (gSeqPlayers[i].enabled && (gSeqPlayers[i].seqId == temporaryCache->entries[0].id)) { + break; + } + } + if (i == 4) { + temporaryCache->nextSide = 0; + goto block_85; + } + } + if (loadStatusEntry1 == 2) { + for (i = 0; i < ARRAY_COUNT(gSeqPlayers); i++) { + if (gSeqPlayers[i].enabled && (gSeqPlayers[i].seqId == temporaryCache->entries[1].id)) { + break; + } + } + if (i == 4) { + temporaryCache->nextSide = 1; + goto block_85; + } + } + } else if (tableType == FONT_TABLE) { + if (loadStatusEntry0 == 2) { + for (i = 0; i < gNumNotes; i++) { + if ((gNotes[i].playbackState.fontId == temporaryCache->entries[0].id) && + gNotes[i].noteSubEu.bitField0.enabled) { + break; + } + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000DC3C.s") + if (i == gNumNotes) { + temporaryCache->nextSide = 0; + goto block_85; + } + } + if (loadStatusEntry1 == 2) { + for (i = 0; i < gNumNotes; i++) { + if ((gNotes[i].playbackState.fontId == temporaryCache->entries[1].id) && + gNotes[i].noteSubEu.bitField0.enabled) { + break; + } + } + if (i == gNumNotes) { + temporaryCache->nextSide = 1; + goto block_85; + } + } + } + // No such luck. Evict the side that wasn't chosen last time, except + // if it is being loaded into. + if (temporaryCache->nextSide == 0) { + if (loadStatusEntry0 == 1) { + if (loadStatusEntry1 == 1) { + goto block_84; + } + temporaryCache->nextSide = 1; + } + goto block_85; + } + if (loadStatusEntry1 == 1) { + if (loadStatusEntry0 == 1) { + goto block_84; + } + temporaryCache->nextSide = 0; + goto block_85; + block_84: + return NULL; + } + } + block_85: -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000DC8C.s") + if (temporaryCache->entries[temporaryCache->nextSide].id != -1) { + loadStatus[temporaryCache->entries[temporaryCache->nextSide].id] = 0; + if (tableType == FONT_TABLE) { + AudioHeap_DiscardFont(temporaryCache->entries[temporaryCache->nextSide].id); + } + } + switch (temporaryCache->nextSide) { + case 0: + temporaryCache->entries[0].ramAddr = temporaryPool->startRamAddr; + temporaryCache->entries[0].id = id; + temporaryCache->entries[0].size = size; + temporaryPool->curRamAddr = &temporaryPool->startRamAddr[size]; + if ((temporaryCache->entries[1].id != -1) && + (temporaryCache->entries[1].ramAddr < temporaryPool->curRamAddr)) { + loadStatus[temporaryCache->entries[1].id] = 0; + switch (tableType) { + case SEQUENCE_TABLE: + AudioHeap_DiscardSequence(temporaryCache->entries[1].id); + break; + case FONT_TABLE: + AudioHeap_DiscardFont(temporaryCache->entries[1].id); + break; + } + temporaryCache->entries[1].id = -1; + temporaryCache->entries[1].ramAddr = &temporaryPool->startRamAddr[temporaryPool->size]; + } + temporaryRamAddr = temporaryCache->entries[0].ramAddr; + break; + case 1: + temporaryCache->entries[1].ramAddr = + (((u32) &temporaryPool->startRamAddr[temporaryPool->size] - size) & ~0xF); + temporaryCache->entries[1].id = id; + temporaryCache->entries[1].size = size; + if ((temporaryCache->entries[0].id != -1) && + (temporaryCache->entries[1].ramAddr < temporaryPool->curRamAddr)) { + loadStatus[temporaryCache->entries[0].id] = 0; + switch (tableType) { + case SEQUENCE_TABLE: + AudioHeap_DiscardSequence(temporaryCache->entries[0].id); + break; + case FONT_TABLE: + AudioHeap_DiscardFont(temporaryCache->entries[0].id); + break; + } + temporaryCache->entries[0].id = -1; + temporaryPool->curRamAddr = temporaryPool->startRamAddr; + } + temporaryRamAddr = temporaryCache->entries[1].ramAddr; + break; + default: + return NULL; + } + temporaryCache->nextSide ^= 1; + return temporaryRamAddr; + } + persistentRamAddr = AudioHeap_Alloc(&loadedCache->persistent.pool, size); + loadedCache->persistent.entries[loadedCache->persistent.numEntries].ramAddr = persistentRamAddr; + if (persistentRamAddr == NULL) { + switch (cache) { + case CACHE_EITHER: + return AudioHeap_AllocCached(tableType, size, CACHE_TEMPORARY, id); + case CACHE_TEMPORARY: + case CACHE_PERSISTENT: + return NULL; + } + } + loadedCache->persistent.entries[loadedCache->persistent.numEntries].id = id; + loadedCache->persistent.entries[loadedCache->persistent.numEntries].size = size; + return loadedCache->persistent.entries[loadedCache->persistent.numEntries++].ramAddr; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000DCDC.s") +void* AudioHeap_SearchCaches(s32 tableType, s32 cache, s32 id) { + void* ramAddr; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000DD2C.s") + // Always search the permanent cache in addition to the regular ones. + ramAddr = AudioHeap_SearchPermanentCache(tableType, id); + if (ramAddr != NULL) { + return ramAddr; + } + if (cache == CACHE_PERMANENT) { + return NULL; + } + return AudioHeap_SearchRegularCaches(tableType, cache, id); +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000DDC0.s") +void* AudioHeap_SearchRegularCaches(s32 tableType, s32 cache, s32 id) { + u32 i; + AudioCache* loadedCache; + AudioTemporaryCache* temporary; + AudioPersistentCache* persistent; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000E054.s") + switch (tableType) { + case SEQUENCE_TABLE: + loadedCache = &gSeqCache; + break; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000E21C.s") + case FONT_TABLE: + loadedCache = &gFontCache; + break; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000E260.s") + case SAMPLE_TABLE: + loadedCache = &gSampleBankCache; + break; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_heap/func_8000E2E8.s") + temporary = &loadedCache->temporary; + if (cache == CACHE_TEMPORARY) { + if (temporary->entries[0].id == id) { + temporary->nextSide = 1; + return temporary->entries[0].ramAddr; + } else if (temporary->entries[1].id == id) { + temporary->nextSide = 0; + return temporary->entries[1].ramAddr; + } else { + return NULL; + } + } + + persistent = &loadedCache->persistent; + for (i = 0; i < persistent->numEntries; i++) { + if (persistent->entries[i].id == id) { + return persistent->entries[i].ramAddr; + } + } + + if (cache == CACHE_EITHER) { + return AudioHeap_SearchCaches(tableType, CACHE_TEMPORARY, id); + } + return NULL; +} + +void func_8000CB64(f32 p, f32 q, u16* out) { + // With the bug below fixed, this mysterious unused function computes two recurrences + // out[0..7] = a_i, out[8..15] = b_i, where + // a_{-2} = b_{-1} = 262159 = 2^18 + 15 + // a_{-1} = b_{-2} = 0 + // a_i = q * a_{i-1} + p * a_{i-2} + // b_i = q * b_{i-1} + p * b_{i-2} + // These grow exponentially if p < -1 or p + |q| > 1. + s32 i; + f32 tmp[16]; + + tmp[0] = (f32) (q * 262159.0f); + tmp[8] = (f32) (p * 262159.0f); + tmp[1] = (f32) ((q * p) * 262159.0f); + tmp[9] = (f32) (((p * p) + q) * 262159.0f); + + for (i = 2; i < 8; i++) { + //! @bug value should be stored to tmp[i] and tmp[8 + i], otherwise we read + //! garbage in later loop iterations. + out[i] = q * tmp[i - 2] + p * tmp[i - 1]; + out[8 + i] = q * tmp[6 + i] + p * tmp[7 + i]; + } + + for (i = 0; i < 16; i++) { + out[i] = tmp[i]; + } +} + +void AudioHeap_UpdateReverbs(void) { + s32 i; + s32 count; + s32 reverbIndex; + + if (gAudioBufferParams.count == 2) { + count = 2; + } else { + count = 1; + } + for (reverbIndex = 0; reverbIndex < gNumSynthReverbs; reverbIndex++) { + for (i = 0; i < count; i++) { + gSynthReverbs[reverbIndex].decayRatio -= gSynthReverbs[reverbIndex].decayRatio / 3; + } + } +} + +void AudioHeap_ClearCurrentAiBuffer(void) { + s32 i; + s32 index = gCurAiBuffIndex; + + gAiBuffLengths[index] = gAudioBufferParams.minAiBufferLength; + + for (i = 0; i < AIBUF_LEN; i++) { + gAiBuffers[index][i] = 0; + } +} + +s32 AudioHeap_ResetStep(void) { + s32 i; + s32 j; + s32 sp24; + + if (gAudioBufferParams.count == 2) { + sp24 = 2; + } else { + sp24 = 1; + } + switch (gAudioResetStep) { + case 5: + for (i = 0; i < ARRAY_COUNT(gSeqPlayers); i++) { + func_800144C4(&gSeqPlayers[i]); + } + gResetFadeoutFramesLeft = 4 / sp24; + gAudioResetStep--; + break; + case 4: + if (gResetFadeoutFramesLeft != 0) { + gResetFadeoutFramesLeft--; + AudioHeap_UpdateReverbs(); + } else { + for (i = 0; i < gNumNotes; i++) { + if (gNotes[i].noteSubEu.bitField0.enabled && (gNotes[i].playbackState.adsr.state != 0)) { + gNotes[i].playbackState.adsr.fadeOutVel = gAudioBufferParams.ticksPerUpdateInv; + gNotes[i].playbackState.adsr.action.asByte |= 0x10; + } + } + + gResetFadeoutFramesLeft = 16 / sp24; + gAudioResetStep--; + } + break; + case 3: + if (gResetFadeoutFramesLeft != 0) { + gResetFadeoutFramesLeft--; + AudioHeap_UpdateReverbs(); + } else { + for (i = 0; i < 3; i++) { + for (j = 0; j < AIBUF_LEN; j++) { + gAiBuffers[i][j] = 0; + } + } + gResetFadeoutFramesLeft = 4 / sp24; + gAudioResetStep--; + break; // needed to match + } + break; + case 2: + AudioHeap_ClearCurrentAiBuffer(); + if (gResetFadeoutFramesLeft != 0) { + gResetFadeoutFramesLeft--; + } else { + gAudioResetStep--; + AudioHeap_DiscardSampleCaches(); + } + break; + case 1: + AudioHeap_Init(); + gAudioResetStep = 0; + for (i = 0; i < 3; i++) { + gAiBuffLengths[i] = gAudioBufferParams.maxAiBufferLength; + for (j = 0; j < AIBUF_LEN; j++) { + gAiBuffers[i][j] = 0; + } + } + break; + } + if (gAudioResetStep < 3) { + return 0; + } + return 1; +} + +// function is different in EU +void AudioHeap_Init(void) { + s32 i; + s32 j; + AudioSpec* spec = &gAudioSpecs[gAudioSpecId]; + ReverbSettings* settings; + SynthesisReverb* reverb; + s16* ramAddr; + u32 persistentSize; + u32 temporarySize; + u32 cachePoolSize; + u32 miscPoolSize; + + gSampleDmaCount = 0; + gAudioBufferParams.samplingFrequency = spec->samplingFrequency; + gAudioBufferParams.aiSamplingFrequency = osAiSetFrequency(gAudioBufferParams.samplingFrequency); + gAudioBufferParams.samplesPerFrameTarget = ALIGN16(gAudioBufferParams.samplingFrequency / gRefreshRate); + + gAudioBufferParams.minAiBufferLength = gAudioBufferParams.samplesPerFrameTarget - 0x10; + gAudioBufferParams.maxAiBufferLength = gAudioBufferParams.samplesPerFrameTarget + 0x10; + + gAudioBufferParams.ticksPerUpdate = ((gAudioBufferParams.samplesPerFrameTarget + 0x10) / 192) + 1; + gAudioBufferParams.samplesPerTick = + (gAudioBufferParams.samplesPerFrameTarget / gAudioBufferParams.ticksPerUpdate) & ~7; + gAudioBufferParams.samplesPerTickMax = gAudioBufferParams.samplesPerTick + 8; + gAudioBufferParams.samplesPerTickMin = gAudioBufferParams.samplesPerTick - 8; + gAudioBufferParams.resampleRate = 32000.0f / (s32) gAudioBufferParams.samplingFrequency; + gAudioBufferParams.ticksPerUpdateInvScaled = (3.0f / 2560.0f) / gAudioBufferParams.ticksPerUpdate; + gAudioBufferParams.ticksPerUpdateInv = 1.0f / gAudioBufferParams.ticksPerUpdate; + gNumNotes = spec->numNotes; + D_8014E320 = spec->unk_14; + gMaxTempo = (u16) ((gAudioBufferParams.ticksPerUpdate * 2880000.0f / gSeqTicksPerBeat) / gMaxTempoTvTypeFactors); + gAudioBufferParams.count = spec->numBuffers; + gAudioBufferParams.samplesPerFrameTarget *= gAudioBufferParams.count; + gAudioBufferParams.maxAiBufferLength *= gAudioBufferParams.count; + gAudioBufferParams.minAiBufferLength *= gAudioBufferParams.count; + gAudioBufferParams.ticksPerUpdate *= gAudioBufferParams.count; +#ifdef VERSION_US // probably JP too + if (gAudioBufferParams.count >= 2) { + gAudioBufferParams.maxAiBufferLength -= 0x10; + } +#endif + gMaxAudioCmds = (gNumNotes * 20 * gAudioBufferParams.ticksPerUpdate) + (spec->numReverbs * 32) + 480; + persistentSize = spec->persistentSeqCacheSize + spec->persistentFontCacheSize + + spec->persistentSampleBankCacheSize + spec->persistentSampleCacheSize + 0x10; + temporarySize = spec->temporarySeqCacheSize + spec->temporaryFontCacheSize + spec->temporarySampleBankCacheSize + + spec->temporarySampleCacheSize + 0x10; + cachePoolSize = persistentSize + temporarySize; + miscPoolSize = gSessionPool.size - cachePoolSize - 0x100; + gSessionPoolSplit.miscPoolSize = miscPoolSize; + gSessionPoolSplit.cachePoolSize = cachePoolSize; + AudioHeap_InitSessionPools(&gSessionPoolSplit); + gCachePoolSplit.persistentCommonPoolSize = persistentSize; + gCachePoolSplit.temporaryCommonPoolSize = temporarySize; + AudioHeap_InitCachePools(&gCachePoolSplit); + gPersistentCommonPoolSplit.seqCacheSize = spec->persistentSeqCacheSize; + gPersistentCommonPoolSplit.fontCacheSize = spec->persistentFontCacheSize; + gPersistentCommonPoolSplit.sampleBankCacheSize = spec->persistentSampleBankCacheSize; + AudioHeap_InitPersistentPoolsAndCaches(&gPersistentCommonPoolSplit); + gTemporaryCommonPoolSplit.seqCacheSize = spec->temporarySeqCacheSize; + gTemporaryCommonPoolSplit.fontCacheSize = spec->temporaryFontCacheSize; + gTemporaryCommonPoolSplit.sampleBankCacheSize = spec->temporarySampleBankCacheSize; + AudioHeap_InitTemporaryPoolsAndCaches(&gTemporaryCommonPoolSplit); + AudioHeap_InitSampleCaches(spec->persistentSampleCacheSize, spec->temporarySampleCacheSize); + AudioHeap_ResetLoadStatus(); + gNotes = AudioHeap_AllocZeroed(&gMiscPool, gNumNotes * sizeof(Note)); + func_800132C8(); + func_80012894(); + gNoteSubsEu = AudioHeap_AllocZeroed(&gMiscPool, gAudioBufferParams.ticksPerUpdate * gNumNotes * sizeof(NoteSubEu)); + for (i = 0; i != 2; i++) { + gAbiCmdBuffs[i] = AudioHeap_AllocZeroed(&gMiscPool, gMaxAudioCmds * 8); + } + for (i = 0; i < ARRAY_COUNT(gSynthReverbs); i++) { + gSynthReverbs[i].useReverb = 0; + } + gNumSynthReverbs = spec->numReverbs; + for (i = 0; i < gNumSynthReverbs; i++) { + settings = &spec->reverbSettings[i]; + reverb = &gSynthReverbs[i]; + reverb->downsampleRate = settings->downsampleRate; + reverb->windowSize = settings->windowSize * 64; + reverb->decayRatio = settings->decayRatio; + reverb->leakRtL = settings->leakRtL; + reverb->leakLtR = settings->leakLtR; + reverb->useReverb = 8; + + reverb->leftRingBuf = AudioHeap_AllocZeroed(&gMiscPool, reverb->windowSize * 2); + reverb->rightRingBuf = AudioHeap_AllocZeroed(&gMiscPool, reverb->windowSize * 2); + reverb->nextRingBufPos = 0; + reverb->unk_20 = 0; + reverb->curFrame = 0; + + reverb->bufSizePerChan = reverb->windowSize; + reverb->framesToIgnore = 2; + if (reverb->downsampleRate != 1) { + reverb->resampleFlags = 1; + reverb->unk_0A = (0x8000 / reverb->downsampleRate); + reverb->unk_30 = AudioHeap_AllocZeroed(&gMiscPool, 0x20); + reverb->unk_34 = AudioHeap_AllocZeroed(&gMiscPool, 0x20); + reverb->unk_38 = AudioHeap_AllocZeroed(&gMiscPool, 0x20); + reverb->unk_3C = AudioHeap_AllocZeroed(&gMiscPool, 0x20); + for (j = 0; j < gAudioBufferParams.ticksPerUpdate; j++) { + ramAddr = AudioHeap_AllocZeroed(&gMiscPool, 0x300); + reverb->items[0][j].toDownsampleLeft = ramAddr; + reverb->items[0][j].toDownsampleRight = ramAddr + 192; + ramAddr = AudioHeap_AllocZeroed(&gMiscPool, 0x300); + reverb->items[1][j].toDownsampleLeft = ramAddr; + reverb->items[1][j].toDownsampleRight = ramAddr + 192; + } + } + } + AudioLoad_InitSampleDmaBuffers(gNumNotes); + gPreloadSampleStackTop = 0; + D_8014E324 = 0x1000; + osWritebackDCacheAll(); +} + +void* AudioHeap_SearchPermanentCache(s32 tableType, s32 id) { + s32 i; + + for (i = 0; i < gPermanentPool.pool.numEntries; i++) { + if ((tableType == gPermanentPool.entry[i].tableType) && (id == gPermanentPool.entry[i].id)) { + return gPermanentPool.entry[i].ramAddr; + } + } + return NULL; +} + +u8* AudioHeap_AllocPermanent(s32 tableType, s32 id, u32 size) { + u8* ramAddr; + s32 index = gPermanentPool.pool.numEntries; + + ramAddr = AudioHeap_Alloc(&gPermanentPool.pool, size); + gPermanentPool.entry[index].ramAddr = ramAddr; + + if (ramAddr == NULL) { + return NULL; + } + + gPermanentPool.entry[index].tableType = tableType; + gPermanentPool.entry[index].id = id; + gPermanentPool.entry[index].size = size; + +#ifdef AVOID_UB + return ramAddr; +#endif +} + +void* AudioHeap_AllocTemporarySampleCache(s32 size, s32 fontId, s32 sampleAddr, s8 medium) { + SampleCacheEntry* entry = AudioHeap_AllocTemporarySampleCacheEntry(size); + + if (entry != NULL) { + entry->sampleBankId = fontId; + entry->sampleAddr = sampleAddr; + entry->origMedium = medium; + return entry->allocatedAddr; + } else { + return NULL; + } +} + +void* AudioHeap_AllocPersistentSampleCache(s32 size, s32 fontId, s32 sampleAddr, s8 medium) { + SampleCacheEntry* entry = AudioHeap_AllocPersistentSampleCacheEntry(size); + + if (entry != NULL) { + entry->sampleBankId = fontId; + entry->sampleAddr = sampleAddr; + entry->origMedium = medium; + return entry->allocatedAddr; + } else { + return NULL; + } +} + +void* AudioHeap_AllocPersistentSampleCache_2(u32 size, s32 fontId, s32 sampleAddr, s8 medium) { + SampleCacheEntry* entry = AudioHeap_AllocPersistentSampleCacheEntry(size); + + if (entry != NULL) { + entry->sampleBankId = fontId; + entry->sampleAddr = sampleAddr; + entry->origMedium = medium; + return entry->allocatedAddr; + } else { + return NULL; + } +} + +void AudioHeap_InitSampleCaches(u32 persistentSampleCacheSize, u32 temporarySampleCacheSize) { + void* ramAddr; + + ramAddr = AudioHeap_Alloc(&gPersistentCommonPool, persistentSampleCacheSize); + if (ramAddr == NULL) { + gPersistentSampleCache.pool.size = 0; + } else { + AudioHeap_InitPool(&gPersistentSampleCache.pool, ramAddr, persistentSampleCacheSize); + } + ramAddr = AudioHeap_Alloc(&gTemporaryCommonPool, temporarySampleCacheSize); + if (ramAddr == NULL) { + gTemporarySampleCache.pool.size = 0; + } else { + AudioHeap_InitPool(&gTemporarySampleCache.pool, ramAddr, temporarySampleCacheSize); + } + gPersistentSampleCache.numEntries = 0; + gTemporarySampleCache.numEntries = 0; +} + +SampleCacheEntry* AudioHeap_AllocTemporarySampleCacheEntry(s32 size) { + u8* endRamAddr; + u8* old; + u8* ramAddr; + s32 i; + s32 entryIdx; + SampleCacheEntry* entry; + AudioPreloadReq* preload; + AudioSampleCache* cache; + u8* allocAfter; + u8* startRamAddr; + u8* allocBefore; + + cache = &gTemporarySampleCache; + allocBefore = cache->pool.curRamAddr; + ramAddr = AudioHeap_Alloc(&cache->pool, size); + if (ramAddr == NULL) { + old = cache->pool.curRamAddr; + cache->pool.curRamAddr = cache->pool.startRamAddr; + ramAddr = AudioHeap_Alloc(&cache->pool, size); + if (ramAddr == NULL) { + cache->pool.curRamAddr = old; + return NULL; + } + allocBefore = cache->pool.startRamAddr; + } + allocAfter = cache->pool.curRamAddr; + entryIdx = -1; + for (i = 0; i < gPreloadSampleStackTop; i++) { + preload = &gPreloadSampleStack[i]; + if (preload->isFree == 0) { + startRamAddr = preload->ramAddr; + endRamAddr = preload->ramAddr + preload->sample->size - 1; + if ((endRamAddr < allocBefore) && (startRamAddr < allocBefore)) { + continue; + } + if ((endRamAddr >= allocAfter) && (startRamAddr >= allocAfter)) { + continue; + } + preload->isFree = 1; + } + } + for (i = 0; i < cache->numEntries; i++) { + if (cache->entries[i].inUse == 0) { + continue; + } + startRamAddr = cache->entries[i].allocatedAddr; + endRamAddr = startRamAddr + cache->entries[i].size - 1; + if ((endRamAddr < allocBefore) && (startRamAddr < allocBefore)) { + continue; + } + if ((endRamAddr >= allocAfter) && (startRamAddr >= allocAfter)) { + continue; + } + AudioHeap_DiscardSampleCacheEntry(&cache->entries[i]); + if (entryIdx == -1) { + entryIdx = i; + } + } + if (entryIdx == -1) { + entryIdx = cache->numEntries++; + } + entry = &cache->entries[entryIdx]; + entry->inUse = 1; + entry->allocatedAddr = ramAddr; + entry->size = size; + return entry; +} + +void AudioHeap_DiscardSampleCacheEntry(SampleCacheEntry* entry) { + s32 fondId; + s32 numFonts; + Drum* drum; + Instrument* instrument; + s32 instId; + s32 drumId; + s32 sampleBankId2; + s32 sampleBankId1; + + numFonts = gSoundFontTable->base.numEntries; + for (fondId = 0; fondId < numFonts; fondId++) { + sampleBankId1 = gSoundFontList[fondId].sampleBankId1; + sampleBankId2 = gSoundFontList[fondId].sampleBankId2; + if (((sampleBankId1 != SAMPLES_NONE) && (entry->sampleBankId == sampleBankId1)) || + ((sampleBankId2 != SAMPLES_NONE) && (entry->sampleBankId == sampleBankId2)) || + (entry->sampleBankId == SAMPLES_SFX)) { + if ((AudioHeap_SearchCaches(FONT_TABLE, CACHE_EITHER, fondId) != NULL) && + ((gFontLoadStatus[fondId] > 1) != 0)) { + for (instId = 0; instId < gSoundFontList[fondId].numInstruments; instId++) { + instrument = Audio_GetInstrument(fondId, instId); + if (instrument != NULL) { + if (instrument->normalRangeLo != 0) { + AudioHeap_UnapplySampleCache(entry, instrument->lowPitchTunedSample.sample); + } + if (instrument->normalRangeHi != 0x7F) { + AudioHeap_UnapplySampleCache(entry, instrument->highPitchTunedSample.sample); + } + AudioHeap_UnapplySampleCache(entry, instrument->normalPitchTunedSample.sample); + } + } + for (drumId = 0; drumId < gSoundFontList[fondId].numDrums; drumId++) { + drum = Audio_GetDrum(fondId, drumId); + if (drum != NULL) { + AudioHeap_UnapplySampleCache(entry, drum->tunedSample.sample); + } + } + } + } + } +} + +void AudioHeap_UnapplySampleCache(SampleCacheEntry* entry, Sample* sample) { + if ((sample != NULL) && (sample->sampleAddr == entry->allocatedAddr)) { + sample->sampleAddr = entry->sampleAddr; + sample->medium = entry->origMedium; + } +} + +SampleCacheEntry* AudioHeap_AllocPersistentSampleCacheEntry(u32 size) { + AudioSampleCache* cache = &gPersistentSampleCache; + SampleCacheEntry* entry; + u8* ramAddr; + + ramAddr = AudioHeap_Alloc(&cache->pool, size); + if (ramAddr == NULL) { + return NULL; + } + entry = &cache->entries[cache->numEntries]; + entry->inUse = 1; + entry->allocatedAddr = ramAddr; + entry->size = size; + cache->numEntries++; + return entry; +} + +void AudioHeap_DiscardSampleCaches(void) { + s32 fontId; + s32 i; + s32 numFonts = gSoundFontTable->base.numEntries; + s32 pad; + s32 sampleBankId2; + s32 sampleBankId1; + s32 instId; + s32 drumId; + Drum* drum; + Instrument* instrument; + SampleCacheEntry* entry; + +#ifdef AVOID_UB + entry = gPersistentSampleCache.entries; +#endif + + for (fontId = 0; fontId < numFonts; fontId++) { + sampleBankId1 = gSoundFontList[fontId].sampleBankId1; + sampleBankId2 = gSoundFontList[fontId].sampleBankId2; + if (((sampleBankId1 != SAMPLES_NONE_U) && (entry->sampleBankId == sampleBankId1)) || + ((sampleBankId2 != SAMPLES_NONE) && (entry->sampleBankId == sampleBankId2)) || + (entry->sampleBankId == SAMPLES_SFX)) { + if ((AudioHeap_SearchCaches(FONT_TABLE, CACHE_PERMANENT, fontId) != NULL) && + ((gFontLoadStatus[fontId] > 1) != 0)) { + for (i = 0; i < gPersistentSampleCache.numEntries; i++) { + entry = &gPersistentSampleCache.entries[i]; + for (instId = 0; instId < gSoundFontList[fontId].numInstruments; instId++) { + instrument = Audio_GetInstrument(fontId, instId); + if (instrument != NULL) { + if (instrument->normalRangeLo != 0) { + AudioHeap_UnapplySampleCache(entry, instrument->lowPitchTunedSample.sample); + } + if (instrument->normalRangeHi != 0x7F) { + AudioHeap_UnapplySampleCache(entry, instrument->highPitchTunedSample.sample); + } + AudioHeap_UnapplySampleCache(entry, instrument->normalPitchTunedSample.sample); + } + } + for (drumId = 0; drumId < gSoundFontList[fontId].numDrums; drumId++) { + drum = Audio_GetDrum(fontId, drumId); + if (drum != NULL) { + AudioHeap_UnapplySampleCache(entry, drum->tunedSample.sample); + } + } + } + } + } + } +} diff --git a/srceu/audio/audio_load.c b/srceu/audio/audio_load.c index e37dcd74..6d3224c5 100644 --- a/srceu/audio/audio_load.c +++ b/srceu/audio/audio_load.c @@ -1,97 +1,1512 @@ -#include "common.h" +#include "sys.h" +#include "sf64dma.h" +#include "sf64audio_provisional.h" -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000E4F0.s") +extern AudioSlowLoadBuffer gSlowLoads; +extern s32 D_80148EF0; +extern s32 D_80157BC0; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000E5F8.s") +void AudioLoad_RelocateFont(s32 fontId, u32 fontBaseAddr, void* relocData); +s32 AudioLoad_DiscardFont(s32 fontId); +void AudioLoad_SyncInitSeqPlayerInternal(s32 playerIdx, s32 seqId, s32 arg2); +void* AudioLoad_SyncLoadSeq(s32 seqId); +void* AudioLoad_SyncLoadFont(s32 fontId); +void* AudioLoad_SyncLoad(u32 tableType, u32 id, s32* didAllocate); +s32 AudioLoad_GetLoadTableIndex(s32 tableType, u32 entryId); +void* AudioLoad_SearchCaches(s32 tableType, s32 id); +AudioTable* AudioLoad_GetLoadTable(s32 tableType); +void AudioLoad_SyncDma(u32 devAddr, u8* ramAddr, u32 size, s32 medium); +void AudioLoad_SyncDmaUnkMedium(u32 devAddr, u8* ramAddr, u32 size, s32 unkMediumParam); +s32 AudioLoad_Dma(OSIoMesg* mesg, u32 priority, s32 direction, u32 devAddr, void* ramAddr, u32 size, + OSMesgQueue* retQueue, s32 medium, const char* dmaType); +s32 func_8000FC7C(u32 unkMediumParam, u32* addrPtr); +void func_8000FC8C(s32 unkParam2, u32 addr, u8* ramAddr, u32 size); +void* AudioLoad_AsyncLoadInner(s32 tableType, s32 id, s32 nChunks, s32 retData, OSMesgQueue* retQueue); +Sample* AudioLoad_GetFontSample(s32 fontId, s32 instId); +void AudioLoad_ProcessSlowLoads(s32 resetStatus); +void AudioLoad_DmaSlowCopy(AudioSlowLoad* slowLoad, s32 size); +void AudioLoad_DmaSlowCopyUnkMedium(u32 devAddr, u8* ramAddr, u32 size, s32 unkMediumParam); +AudioAsyncLoad* AudioLoad_StartAsyncLoad(u32 devAddr, u8* ramAddr, u32 size, s32 medium, s32 nChunks, + OSMesgQueue* retQueue, u32 retMesg); +void AudioLoad_ProcessAsyncLoads(s32 resetStatus); +void AudioLoad_ProcessAsyncLoad(AudioAsyncLoad* asyncLoad, s32 resetStatus); +void AudioLoad_AsyncDma(AudioAsyncLoad* asyncLoad, u32 size); +void AudioLoad_AsyncDmaUnkMedium(u32 devAddr, u8* ramAddr, u32 size, s32 unkMediumParam); +void AudioLoad_RelocateSample(TunedSample* tSample, u32 fontDataAddr, SampleBankRelocInfo* relocInfo); +s32 AudioLoad_RelocateFontAndPreloadSamples(s32 fontId, u32 fontDataAddr, SampleBankRelocInfo* relocData, s32 isAsync); +s32 AudioLoad_ProcessSamplePreloads(s32 resetStatus); +void func_8000FCDC(s32 unkParam2, u32 addr, u8* ramAddr, u32 size); +s32 func_8000FCCC(u32 unkMediumParam, u32* addrPtr); +void* AudioLoad_SyncLoadSampleBank(u32 sampleBankId, s32* outMedium); +void AudioLoad_FinishSlowLoad(AudioSlowLoad* slowLoad); +void func_8001689C(void); +void AudioLoad_InitTable(AudioTable* table, u8* romAddr, u16 unkMediumParam); +void func_800144C4(SequencePlayer* seqPlayer); +void func_800167E4(s32 arg0); -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000E930.s") +void AudioLoad_DecreaseSampleDmaTtls(void) { + SampleDma* dma; + u32 i; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000EC04.s") + for (i = 0; i < gSampleDmaListSize1; i++) { + dma = &gSampleDmas[i]; + if (dma->ttl != 0) { + dma->ttl--; + if (dma->ttl == 0) { + dma->reuseIndex = gSampleDmaReuseQueue1WrPos; + gSampleDmaReuseQueue1[gSampleDmaReuseQueue1WrPos] = i; + gSampleDmaReuseQueue1WrPos++; + } + } + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000EC64.s") + for (i = gSampleDmaListSize1; i < gSampleDmaCount; i++) { + dma = &gSampleDmas[i]; + if (dma->ttl != 0) { + dma->ttl--; + if (dma->ttl == 0) { + dma->reuseIndex = gSampleDmaReuseQueue2WrPos; + gSampleDmaReuseQueue2[gSampleDmaReuseQueue2WrPos] = i; + gSampleDmaReuseQueue2WrPos++; + } + } + } + D_80157BC0 = 0; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000ED10.s") +#ifndef IMPORT_RODATA +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/AudioLoad_DmaSampleData.s") +#else +void* AudioLoad_DmaSampleData(u32 devAddr, u32 size, u32 arg2, u8* dmaIndexRef, s32 medium) { + u32 i; + SampleDma* dma; + bool hasDma = false; + s32 bufferPos; + u32 dmaDevAddr; + s32 sp38; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000ED78.s") + if ((arg2 != 0) || (*dmaIndexRef >= gSampleDmaListSize1)) { + for (i = gSampleDmaListSize1; i < gSampleDmaCount; i++) { + dma = &gSampleDmas[i]; + bufferPos = devAddr - dma->devAddr; + if ((0 <= bufferPos) && (bufferPos <= (dma->size - size))) { + if ((dma->ttl == 0) && (gSampleDmaReuseQueue2RdPos != gSampleDmaReuseQueue2WrPos)) { + if (dma->reuseIndex != gSampleDmaReuseQueue2RdPos) { + gSampleDmaReuseQueue2[dma->reuseIndex] = gSampleDmaReuseQueue2[gSampleDmaReuseQueue2RdPos]; + gSampleDmas[gSampleDmaReuseQueue2[gSampleDmaReuseQueue2RdPos]].reuseIndex = dma->reuseIndex; + } + gSampleDmaReuseQueue2RdPos++; + } + dma->ttl = 60; + *dmaIndexRef = i; + return &dma->ramAddr[devAddr - dma->devAddr]; + } + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000EE64.s") + if ((gSampleDmaReuseQueue2RdPos != gSampleDmaReuseQueue2WrPos) && (arg2 != 0)) { + sp38 = gSampleDmaReuseQueue2[gSampleDmaReuseQueue2RdPos]; + gSampleDmaReuseQueue2RdPos++; + dma = &gSampleDmas[sp38]; + hasDma = true; + } + } else { + dma = &gSampleDmas[*dmaIndexRef]; + for (i = 0; i < gSampleDmaListSize1; i++) { + bufferPos = devAddr - dma->devAddr; + if ((0 <= bufferPos) && (bufferPos <= (dma->size - size))) { + if (dma->ttl == 0) { + if (dma->reuseIndex != gSampleDmaReuseQueue1RdPos) { + gSampleDmaReuseQueue1[dma->reuseIndex] = gSampleDmaReuseQueue1[gSampleDmaReuseQueue1RdPos]; + gSampleDmas[gSampleDmaReuseQueue1[gSampleDmaReuseQueue1RdPos]].reuseIndex = dma->reuseIndex; + } + if (1) {} + gSampleDmaReuseQueue1RdPos++; + } + dma->ttl = 2; + return &dma->ramAddr[devAddr - dma->devAddr]; + } + dma = &gSampleDmas[i]; + } + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000EF34.s") + if (hasDma == 0) { + sp38 = gSampleDmaReuseQueue1[gSampleDmaReuseQueue1RdPos]; + gSampleDmaReuseQueue1RdPos++; + dma = &gSampleDmas[sp38]; + } + dmaDevAddr = devAddr & ~0xF; + dma->ttl = 2; + dma->devAddr = dmaDevAddr; + dma->sizeUnused = dma->size; + AudioLoad_Dma(&gCurAudioFrameDmaIoMsgBuf[gCurAudioFrameDmaCount++], OS_MESG_PRI_NORMAL, OS_READ, dmaDevAddr, + dma->ramAddr, dma->size, &gCurAudioFrameDmaQueue, medium, "SUPERDMA"); + *dmaIndexRef = sp38; + return devAddr - dmaDevAddr + dma->ramAddr; +} +#endif -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000EF98.s") +void AudioLoad_InitSampleDmaBuffers(s32 numNotes) { + s32 i; + u8* dma; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000F060.s") + gSampleDmaBuffSize = 0x2D0; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000F0C8.s") + for (i = 0; i < (3 * gNumNotes * gAudioBufferParams.count); i++) { + dma = AudioHeap_Alloc(&gMiscPool, gSampleDmaBuffSize); + gSampleDmas[gSampleDmaCount].ramAddr = dma; + if (dma == NULL) { + break; + } + gSampleDmas[gSampleDmaCount].devAddr = 0; + gSampleDmas[gSampleDmaCount].sizeUnused = 0; + gSampleDmas[gSampleDmaCount].unused = 0; + gSampleDmas[gSampleDmaCount].ttl = 0; + gSampleDmas[gSampleDmaCount].size = gSampleDmaBuffSize; + gSampleDmaCount++; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000F1A8.s") + for (i = 0; i < gSampleDmaCount; i++) { + gSampleDmaReuseQueue1[i] = i; + gSampleDmas[i].reuseIndex = i; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000F250.s") + for (i = gSampleDmaCount; i < 0x100; i++) { + gSampleDmaReuseQueue1[i] = 0; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000F270.s") + gSampleDmaReuseQueue1RdPos = 0; + gSampleDmaReuseQueue1WrPos = gSampleDmaCount; + gSampleDmaListSize1 = gSampleDmaCount; + gSampleDmaBuffSize = 0x200; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000F3A4.s") + for (i = 0; i < gNumNotes; i++) { + dma = AudioHeap_Alloc(&gMiscPool, gSampleDmaBuffSize); + gSampleDmas[gSampleDmaCount].ramAddr = dma; + if (dma == NULL) { + break; + } + gSampleDmas[gSampleDmaCount].devAddr = 0; + gSampleDmas[gSampleDmaCount].sizeUnused = 0; + gSampleDmas[gSampleDmaCount].unused = 0; + gSampleDmas[gSampleDmaCount].ttl = 0; + gSampleDmas[gSampleDmaCount].size = gSampleDmaBuffSize; + gSampleDmaCount++; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000F3D8.s") + for (i = gSampleDmaListSize1; i < gSampleDmaCount; i++) { + gSampleDmaReuseQueue2[i - gSampleDmaListSize1] = i; + gSampleDmas[i].reuseIndex = i - gSampleDmaListSize1; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000F4C8.s") + for (i = gSampleDmaCount; i < 0x100; i++) { + gSampleDmaReuseQueue2[i] = gSampleDmaListSize1; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000F5A4.s") + gSampleDmaReuseQueue2RdPos = 0; + gSampleDmaReuseQueue2WrPos = gSampleDmaCount - gSampleDmaListSize1; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000F7E0.s") +// Updates the audiotable entries with their relative ROM addresses +void AudioLoad_InitTable(AudioTable* table, u8* romAddr, u16 unkMediumParam) { + s32 i; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000F81C.s") + table->base.unkMediumParam = unkMediumParam; + table->base.romAddr = (uintptr_t) romAddr; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000F870.s") + for (i = 0; i < table->base.numEntries; i++) { + if ((table->entries[i].size != 0) && (table->entries[i].medium == MEDIUM_CART)) { + table->entries[i].romAddr += (uintptr_t) romAddr; + } + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000F8B4.s") +void* AudioLoad_SyncLoadSeqFonts(s32 seqId, u32* outFontId) { + s32 index = ((u16*) gSeqFontTable)[AudioLoad_GetLoadTableIndex(SEQUENCE_TABLE, seqId)]; + s32 fontId = 0xFF; + s32 numFonts = gSeqFontTable[index++]; + void* soundFontData; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000FA78.s") + for (numFonts; numFonts > 0; numFonts--) { + fontId = gSeqFontTable[index++]; + soundFontData = AudioLoad_SyncLoadFont(fontId); + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000FBA0.s") + *outFontId = fontId; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000FBF8.s") + return soundFontData; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000FCCC.s") +void AudioLoad_SyncLoadSeqParts(s32 seqId, s32 flags) { + s32 pad; + u32 fontId; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000FCDC.s") + seqId = AudioLoad_GetLoadTableIndex(SEQUENCE_TABLE, seqId); + if (flags & 2) { + AudioLoad_SyncLoadSeqFonts(seqId, &fontId); + } + if (flags & 1) { + AudioLoad_SyncLoadSeq(seqId); + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000FCF0.s") +s32 AudioLoad_SyncLoadSample(Sample* sample, s32 fontId) { + u8* sampleAddr; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000FD10.s") + if ((sample->isRelocated == true) && (sample->medium != MEDIUM_RAM)) { + sampleAddr = AudioHeap_AllocPersistentSampleCache(sample->size, fontId, sample->sampleAddr, sample->medium); + if (sampleAddr == NULL) { + return -1; + } + if (sample->medium == MEDIUM_UNK) { + AudioLoad_SyncDmaUnkMedium(sample->sampleAddr, sampleAddr, sample->size, + gSampleBankTable->base.unkMediumParam); + } else { + AudioLoad_SyncDma(sample->sampleAddr, sampleAddr, sample->size, sample->medium); + } + sample->medium = MEDIUM_RAM; + sample->sampleAddr = sampleAddr; + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8000FFEC.s") +s32 AudioLoad_SyncLoadInstrument(s32 fontId, s32 instId, s32 drumId) { + Instrument* instrument; + Drum* drum; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8001001C.s") + if (instId < 0x7F) { + instrument = Audio_GetInstrument(fontId, instId); + if (instrument == NULL) { + return -1; + } + if (instrument->normalRangeLo != 0) { + AudioLoad_SyncLoadSample(instrument->lowPitchTunedSample.sample, fontId); + } + AudioLoad_SyncLoadSample(instrument->normalPitchTunedSample.sample, fontId); + if (instrument->normalRangeHi != 0x7F) { + AudioLoad_SyncLoadSample(instrument->highPitchTunedSample.sample, fontId); + } + } else if (instId == 0x7F) { + drum = Audio_GetDrum(fontId, drumId); + if (drum == NULL) { + return -1; + } + AudioLoad_SyncLoadSample(drum->tunedSample.sample, fontId); + return 0; + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_800105D0.s") +void AudioLoad_AsyncLoadSampleBank(s32 sampleBankId, s32 nChunks, s32 retData, OSMesgQueue* retQueue) { + if (AudioLoad_AsyncLoadInner(SAMPLE_TABLE, AudioLoad_GetLoadTableIndex(SAMPLE_TABLE, sampleBankId), nChunks, + retData, retQueue) == NULL) { + osSendMesg(retQueue, NULL, OS_MESG_NOBLOCK); + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_80010780.s") +void AudioLoad_AsyncLoadSeq(s32 seqId, s32 nChunks, s32 retData, OSMesgQueue* retQueue) { + s32 index = *((u16*) gSeqFontTable + AudioLoad_GetLoadTableIndex(SEQUENCE_TABLE, seqId)); + s32 fontsLeft = gSeqFontTable[index++]; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_800107EC.s") + for (fontsLeft; fontsLeft > 0; fontsLeft--) { + AudioLoad_AsyncLoadInner(FONT_TABLE, AudioLoad_GetLoadTableIndex(FONT_TABLE, gSeqFontTable[index++]), nChunks, + retData, retQueue); + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_80010854.s") +u8* AudioLoad_GetFontsForSequence(s32 seqId, u32* outNumFonts) { + s32 index = *((u16*) gSeqFontTable + AudioLoad_GetLoadTableIndex(SEQUENCE_TABLE, seqId)); -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_800109E0.s") + *outNumFonts = gSeqFontTable[index++]; + if (*outNumFonts == 0) { + return NULL; + } else { + return &gSeqFontTable[index]; + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_80010A64.s") +void AudioLoad_DiscardSeqFonts(s32 seqId) { + s32 index = *((u16*) gSeqFontTable + AudioLoad_GetLoadTableIndex(SEQUENCE_TABLE, seqId)); + s32 numFonts = gSeqFontTable[index++]; + u32 fontId; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_80010ABC.s") + while (numFonts > 0) { + numFonts--; + fontId = AudioLoad_GetLoadTableIndex(FONT_TABLE, gSeqFontTable[index++]); + if (AudioHeap_SearchPermanentCache(1, fontId) == NULL) { + AudioLoad_DiscardFont(fontId); + if (gFontLoadStatus[fontId] != 5) { + gFontLoadStatus[fontId] = 0; + if (1) {} + } + } + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_80010BD4.s") +s32 AudioLoad_DiscardFont(s32 fontId) { + AudioCache* cache = &gFontCache; + AudioTemporaryCache* tcache; + AudioPersistentCache* pcache; + s32 i; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_80010C44.s") + tcache = &cache->temporary; + if (tcache->entries[0].id == fontId) { + tcache->entries[0].id = -1; + } else if (tcache->entries[1].id == fontId) { + tcache->entries[1].id = -1; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_80010EE0.s") + pcache = &cache->persistent; + for (i = 0; i < pcache->numEntries; i++) { + if (pcache->entries[i].id == fontId) { + pcache->entries[i].id = -1; + } + } + AudioHeap_DiscardFont(fontId); +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_80010F70.s") +void AudioLoad_SyncInitSeqPlayer(s32 playerIdx, s32 seqId, s32 arg2) { + AudioLoad_SyncInitSeqPlayerInternal(playerIdx, seqId, arg2); +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_80010FC8.s") +void AudioLoad_SyncInitSeqPlayerInternal(s32 playerIdx, s32 seqId, s32 arg2) { + s32 index; + s32 numFonts; + u8* seqData; + s32 fontId; + s32 i; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_80011104.s") + seqId = AudioLoad_GetLoadTableIndex(SEQUENCE_TABLE, seqId); -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_80011530.s") + func_800144C4(&gSeqPlayers[playerIdx]); -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_800116F4.s") + index = *((u16*) gSeqFontTable + seqId); + numFonts = gSeqFontTable[index++]; + fontId = 0xFF; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/func_8001173C.s") + for (numFonts; numFonts > 0; numFonts--) { + fontId = gSeqFontTable[index++]; + AudioLoad_SyncLoadFont(fontId); + } + + seqData = AudioLoad_SyncLoadSeq(seqId); + + func_800167E4(playerIdx); + + gSeqPlayers[playerIdx].seqId = seqId; + gSeqPlayers[playerIdx].defaultFont = fontId; + gSeqPlayers[playerIdx].enabled = true; + gSeqPlayers[playerIdx].seqData = seqData; + gSeqPlayers[playerIdx].scriptState.pc = seqData; + gSeqPlayers[playerIdx].scriptState.depth = 0; + gSeqPlayers[playerIdx].delay = 0; + gSeqPlayers[playerIdx].finished = false; + + for (i = 0; i < 16; i++) { + ; + } +} + +void* AudioLoad_SyncLoadSeq(s32 seqId) { + s32 seqIdx = AudioLoad_GetLoadTableIndex(SEQUENCE_TABLE, seqId); + s32 didAllocate; + + return AudioLoad_SyncLoad(0, seqIdx, &didAllocate); +} + +void* AudioLoad_SyncLoadSampleBank(u32 sampleBankId, s32* outMedium) { + void* ramAddr; + AudioTable* sampleBankTable = AudioLoad_GetLoadTable(2); + s32 cachePolicy; + s32 noLoad; + + sampleBankId = AudioLoad_GetLoadTableIndex(SAMPLE_TABLE, sampleBankId); + ramAddr = AudioLoad_SearchCaches(2, sampleBankId); + if (ramAddr != NULL) { + if (gSampleFontLoadStatus[sampleBankId] != 5) { + gSampleFontLoadStatus[sampleBankId] = 2; + } + *outMedium = MEDIUM_RAM; + return ramAddr; + } + + cachePolicy = sampleBankTable->entries[sampleBankId].cachePolicy; + if (cachePolicy == CACHEPOLICY_4) { + *outMedium = sampleBankTable->entries[sampleBankId].medium; + return sampleBankTable->entries[sampleBankId].romAddr; + } + + ramAddr = AudioLoad_SyncLoad(2, sampleBankId, &noLoad); + if (ramAddr != NULL) { + *outMedium = MEDIUM_RAM; + return ramAddr; + } + + *outMedium = sampleBankTable->entries[sampleBankId].medium; + + return sampleBankTable->entries[sampleBankId].romAddr; +} + +void* AudioLoad_SyncLoadFont(s32 fontId) { + void* fontData; + s32 sampleBankId1; + u32 sampleBankId2; + s32 didAllocate; + SampleBankRelocInfo relocInfo; + + fontId = AudioLoad_GetLoadTableIndex(FONT_TABLE, fontId); + + sampleBankId1 = gSoundFontList[fontId].sampleBankId1; + sampleBankId2 = gSoundFontList[fontId].sampleBankId2; + + relocInfo.sampleBankId1 = sampleBankId1; + relocInfo.sampleBankId2 = sampleBankId2; + + if (sampleBankId1 != SAMPLES_NONE) { + relocInfo.baseAddr1 = AudioLoad_SyncLoadSampleBank(sampleBankId1, &relocInfo.medium1); + } else { + relocInfo.baseAddr1 = NULL; + } + + if (sampleBankId2 != SAMPLES_NONE) { + relocInfo.baseAddr2 = AudioLoad_SyncLoadSampleBank(sampleBankId2, &relocInfo.medium2); + } else { + relocInfo.baseAddr2 = NULL; + } + + fontData = AudioLoad_SyncLoad(1, fontId, &didAllocate); + if (fontData == NULL) { + return NULL; + } + + if (didAllocate == 1) { + AudioLoad_RelocateFontAndPreloadSamples(fontId, fontData, &relocInfo, AUDIOLOAD_SYNC); + } + + return fontData; +} + +void* AudioLoad_SyncLoad(u32 tableType, u32 id, s32* didAllocate) { + u32 size; + AudioTable* table; + u8* ramAddr; + u32 medium; + s32 loadStatus; + u32 romAddr; + s32 pad; + s32 cachePolicy; + + ramAddr = AudioLoad_SearchCaches(tableType, id); + if (ramAddr != NULL) { + loadStatus = 2; + *didAllocate = false; + } else { + table = AudioLoad_GetLoadTable(tableType); + size = table->entries[id].size; + size = ALIGN16(size); + medium = table->entries[id].medium; + cachePolicy = table->entries[id].cachePolicy; + romAddr = table->entries[id].romAddr; + + switch (cachePolicy) { + case CACHEPOLICY_0: + ramAddr = AudioHeap_AllocPermanent(tableType, id, size); + if (ramAddr == NULL) { + return ramAddr; + } + break; + + case CACHEPOLICY_1: + ramAddr = AudioHeap_AllocCached(tableType, size, CACHE_PERSISTENT, id); + if (ramAddr == NULL) { + return ramAddr; + } + break; + + case CACHEPOLICY_2: + ramAddr = AudioHeap_AllocCached(tableType, size, CACHE_TEMPORARY, id); + if (ramAddr == NULL) { + return ramAddr; + } + break; + + case CACHEPOLICY_3: + case CACHEPOLICY_4: + ramAddr = AudioHeap_AllocCached(tableType, size, CACHE_EITHER, id); + if (ramAddr == NULL) { + return ramAddr; + } + break; + } + + *didAllocate = true; + + if (medium == MEDIUM_UNK) { + AudioLoad_SyncDmaUnkMedium(romAddr, ramAddr, size, table->base.unkMediumParam); + } else { + AudioLoad_SyncDma(romAddr, ramAddr, size, medium); + } + loadStatus = (cachePolicy == CACHEPOLICY_0) ? 5 : 2; + } + + switch (tableType) { + case SEQUENCE_TABLE: + if (gSeqLoadStatus[id] != 5) { + gSeqLoadStatus[id] = loadStatus; + } + break; + + case FONT_TABLE: + if (gFontLoadStatus[id] != 5) { + gFontLoadStatus[id] = loadStatus; + } + break; + + case SAMPLE_TABLE: + if (gSampleFontLoadStatus[id] != 5) { + gSampleFontLoadStatus[id] = loadStatus; + } + break; + } + return ramAddr; +} + +s32 AudioLoad_GetLoadTableIndex(s32 tableType, u32 entryId) { + AudioTable* table = AudioLoad_GetLoadTable(tableType); + + if (table->entries[entryId].size == 0) { + entryId = table->entries[entryId].romAddr; + } + return entryId; +} + +void* AudioLoad_SearchCaches(s32 tableType, s32 id) { + void* ramAddr; + + ramAddr = AudioHeap_SearchPermanentCache(tableType, id); + if (ramAddr != NULL) { + return ramAddr; + } + + ramAddr = AudioHeap_SearchCaches(tableType, CACHE_EITHER, id); + if (ramAddr != NULL) { + return ramAddr; + } + return NULL; +} + +AudioTable* AudioLoad_GetLoadTable(s32 tableType) { + AudioTable* table; + + switch (tableType) { + case SEQUENCE_TABLE: + table = gSequenceTable; + break; + case FONT_TABLE: + table = gSoundFontTable; + break; + case SAMPLE_TABLE: + table = gSampleBankTable; + break; + default: + table = NULL; + break; + } + return table; +} + +void AudioLoad_RelocateFont(s32 fontId, u32 fontBaseAddr, void* relocData) { + u32* fontDataPtrs = fontBaseAddr; + u32** drumDataPtrs = fontBaseAddr; + s32 numDrums; + Drum* drum; + Instrument* instrument; + u32 offset; + s32 i; + s32 numInstruments; + + numDrums = gSoundFontList[fontId].numDrums; + numInstruments = gSoundFontList[fontId].numInstruments; + + if ((fontDataPtrs[0] != 0) && (numDrums != 0)) { + fontDataPtrs[0] += fontBaseAddr; + + for (i = 0; i < numDrums; i++) { + offset = *(*drumDataPtrs + i); + if (offset != 0) { + drum = offset += fontBaseAddr; + *(*drumDataPtrs + i) = drum; + + if (!drum->isRelocated) { + AudioLoad_RelocateSample(&drum->tunedSample, fontBaseAddr, relocData); + offset = (u32) drum->envelope; + drum->envelope = offset + fontBaseAddr; + drum->isRelocated = true; + } + } + } + } + + for (i = 1; i <= numInstruments; i++) { + if (fontDataPtrs[i] != 0) { + + fontDataPtrs[i] += fontBaseAddr; + + instrument = fontDataPtrs[i]; + if (!instrument->isRelocated) { + if (instrument->normalRangeLo != 0) { + AudioLoad_RelocateSample(&instrument->lowPitchTunedSample, fontBaseAddr, relocData); + } + AudioLoad_RelocateSample(&instrument->normalPitchTunedSample, fontBaseAddr, relocData); + if (instrument->normalRangeHi != 0x7F) { + AudioLoad_RelocateSample(&instrument->highPitchTunedSample, fontBaseAddr, relocData); + } + offset = (u32) instrument->envelope; + instrument->envelope = offset + fontBaseAddr; + instrument->isRelocated = true; + } + } + } + + gSoundFontList[fontId].drums = fontDataPtrs[0]; + gSoundFontList[fontId].instruments = (u32) &fontDataPtrs[1]; +} + +#ifndef IMPORT_RODATA +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/AudioLoad_SyncDma.s") +#else +void AudioLoad_SyncDma(u32 devAddr, u8* ramAddr, u32 size, s32 medium) { + size = ALIGN16(size); + + osInvalDCache(ramAddr, size); + + while (true) { + if (size < 0x400) { + break; + } + AudioLoad_Dma(&gSyncDmaIoMsg, 1, 0, devAddr, ramAddr, 0x400, &gSyncDmaQueue, medium, "FastCopy"); + MQ_WAIT_FOR_MESG(&gSyncDmaQueue, NULL); + size -= 0x400; + devAddr += 0x400; + ramAddr += 0x400; + } + + if (size != 0) { + AudioLoad_Dma(&gSyncDmaIoMsg, OS_MESG_PRI_HIGH, OS_READ, devAddr, ramAddr, size, &gSyncDmaQueue, medium, + "FastCopy"); + MQ_WAIT_FOR_MESG(&gSyncDmaQueue, NULL); + } +} +#endif + +void AudioLoad_SyncDmaUnkMedium(u32 devAddr, u8* ramAddr, u32 size, s32 unkMediumParam) { + s32 addr = devAddr; + + osInvalDCache(ramAddr, size); + func_8000FCDC(func_8000FCCC(unkMediumParam, &addr), addr, ramAddr, size); +} + +s32 AudioLoad_Dma(OSIoMesg* mesg, u32 priority, s32 direction, u32 devAddr, void* ramAddr, u32 size, + OSMesgQueue* retQueue, s32 medium, const char* dmaType) { + OSPiHandle* handle; + + switch (medium) { + case MEDIUM_CART: + handle = osCartRomInit(); + break; + case MEDIUM_DISK_DRIVE: + handle = osDriveRomInit(); + break; + default: + return 0; + } + + if (size % 16) { + size = ALIGN16(size); + } + + mesg->hdr.pri = priority; + mesg->hdr.retQueue = retQueue; + mesg->dramAddr = ramAddr; + mesg->devAddr = devAddr; + mesg->size = size; + + handle->transferInfo.cmdType = 2; + osEPiStartDma(handle, mesg, direction); + + return 0; +} + +s32 func_8000FCCC(u32 unkMediumParam, u32* addrPtr) { + return 0; +} + +void func_8000FCDC(s32 unkParam2, u32 addr, u8* ramAddr, u32 size) { +} + +void AudioLoad_SyncLoadSimple(u32 tableType, u32 id) { + s32 didAllocate; + + AudioLoad_SyncLoad(tableType, id, &didAllocate); +} + +void* AudioLoad_AsyncLoadInner(s32 tableType, s32 id, s32 nChunks, s32 retData, OSMesgQueue* retQueue) { + u32 size; + AudioTable* table; + u8* ramAddr; + s32 medium; + s32 cachePolicy; + u32 romAddr; + s32 loadStatus; + + switch (tableType) { + case SEQUENCE_TABLE: + if (gSeqLoadStatus[id] == LOAD_STATUS_IN_PROGRESS) { + return NULL; + } + break; + + case FONT_TABLE: + if (gFontLoadStatus[id] == LOAD_STATUS_IN_PROGRESS) { + return NULL; + } + break; + + case SAMPLE_TABLE: + if (gSampleFontLoadStatus[id] == LOAD_STATUS_IN_PROGRESS) { + return NULL; + } + break; + } + + ramAddr = AudioLoad_SearchCaches(tableType, id); + if (ramAddr != NULL) { + loadStatus = LOAD_STATUS_COMPLETE; + osSendMesg(retQueue, (OSMesg) (retData << 0x18), OS_MESG_NOBLOCK); + } else { + table = AudioLoad_GetLoadTable(tableType); + size = table->entries[id].size; + size = ALIGN16(size); + medium = table->entries[id].medium; + cachePolicy = table->entries[id].cachePolicy; + romAddr = table->entries[id].romAddr; + loadStatus = LOAD_STATUS_COMPLETE; + + switch (cachePolicy) { + case CACHEPOLICY_0: + ramAddr = AudioHeap_AllocPermanent(tableType, id, size); + if (ramAddr == NULL) { + return ramAddr; + } + loadStatus = LOAD_STATUS_PERMANENTLY_LOADED; + break; + + case CACHEPOLICY_1: + ramAddr = AudioHeap_AllocCached(tableType, size, CACHE_PERSISTENT, id); + if (ramAddr == NULL) { + return ramAddr; + } + break; + + case CACHEPOLICY_2: + ramAddr = AudioHeap_AllocCached(tableType, size, CACHE_TEMPORARY, id); + if (ramAddr == NULL) { + return ramAddr; + } + break; + + case CACHEPOLICY_3: + case CACHEPOLICY_4: + ramAddr = AudioHeap_AllocCached(tableType, size, CACHE_EITHER, id); + if (ramAddr == NULL) { + return ramAddr; + } + break; + } + AudioLoad_StartAsyncLoad(romAddr, ramAddr, size, medium, nChunks, retQueue, + (retData << 0x18) | (tableType << 0x10) | (id << 8) | loadStatus); + loadStatus = LOAD_STATUS_IN_PROGRESS; + } + + switch (tableType) { + case SEQUENCE_TABLE: + if (gSeqLoadStatus[id] != 5) { + gSeqLoadStatus[id] = loadStatus; + } + break; + + case FONT_TABLE: + if (gFontLoadStatus[id] != 5) { + gFontLoadStatus[id] = loadStatus; + } + break; + + case SAMPLE_TABLE: + if (gSampleFontLoadStatus[id] != 5) { + gSampleFontLoadStatus[id] = loadStatus; + } + break; + } + + return ramAddr; +} + +void AudioLoad_ProcessLoads(s32 resetStatus) { + AudioLoad_ProcessSlowLoads(resetStatus); + AudioLoad_ProcessSamplePreloads(resetStatus); + AudioLoad_ProcessAsyncLoads(resetStatus); +} + +void AudioLoad_Init(void) { +#ifdef VERSION_EU + s32 pad2; +#endif + s32 pad[14]; + s32 i; + s32 j; + s32 numFonts; + s32 dwordsLeft; + u64* clearContext; + void* ramAddr; + + gAudioResetTimer = 0; + + for (i = 0; i < gAudioHeapSize / 8; i++) { + *((u64*) gAudioHeap + i) = 0; + } + + clearContext = gAudioContextStart; + dwordsLeft = ((u32) gAudioContextEnd - (u32) gAudioContextStart) / 8; + for (; dwordsLeft >= 0; dwordsLeft--) { + *clearContext++ = 0; + } + +// 1000 is a conversion from seconds to milliseconds +#ifdef VERSION_EU + gMaxTempoTvTypeFactors = 1000 * REFRESH_RATE_DEVIATION_PAL / REFRESH_RATE_PAL; + gRefreshRate = REFRESH_RATE_PAL; +#else + switch (osTvType) { + case OS_TV_PAL: + gMaxTempoTvTypeFactors = 1000 * REFRESH_RATE_DEVIATION_PAL / REFRESH_RATE_PAL; + gRefreshRate = REFRESH_RATE_PAL; + break; + + case OS_TV_MPAL: + gMaxTempoTvTypeFactors = 1000 * REFRESH_RATE_DEVIATION_MPAL / REFRESH_RATE_MPAL; + gRefreshRate = REFRESH_RATE_MPAL; + break; + + case OS_TV_NTSC: + default: + gMaxTempoTvTypeFactors = 1000 * REFRESH_RATE_DEVIATION_NTSC / REFRESH_RATE_NTSC; + gRefreshRate = REFRESH_RATE_NTSC; + break; + } +#endif + + AudioThread_Init(); + + for (i = 0; i < 3; i++) { + gAiBuffLengths[i] = 0xA0; + } + + gAudioTaskCountQ = 0; + gAudioTaskIndexQ = 0; + gCurAiBuffIndex = 0; + gAudioSoundMode = SOUNDMODE_STEREO; + gAudioCurTask = NULL; + gAudioRspTasks[0].task.t.data_size = 0; + gAudioRspTasks[1].task.t.data_size = 0; + + osCreateMesgQueue(&gSyncDmaQueue, gSyncDmaMsg, 1); + osCreateMesgQueue(&gCurAudioFrameDmaQueue, gCurAudioFrameDmaMsg, 64); + osCreateMesgQueue(&gExternalLoadQueue, gExternalLoadMsg, 16); + osCreateMesgQueue(&gPreloadSampleQueue, gPreloadSampleMsg, 16); + + gCurAudioFrameDmaCount = 0; + gSampleDmaCount = 0; + + AudioHeap_InitMainPools(gInitPoolSize); + + for (i = 0; i < 3; i++) { + gAiBuffers[i] = AudioHeap_Alloc(&gInitPool, AIBUF_SIZE); + for (j = 0; j < AIBUF_LEN; j++) { + gAiBuffers[i][j] = 0; + } + } + + gAudioSpecId = AUDIOSPEC_CO; + gAudioResetStep = 1; + AudioHeap_ResetStep(); + + gSequenceTable = &gSeqTableInit; + gSoundFontTable = &gSoundFontTableInit; + gSampleBankTable = &gSampleBankTableInit; + gSeqFontTable = gSeqFontTableInit; + gNumSequences = gSequenceTable->base.numEntries; + + AudioLoad_InitTable(gSequenceTable, SEGMENT_ROM_START(audio_seq), gSequenceMedium); + AudioLoad_InitTable(gSoundFontTable, SEGMENT_ROM_START(audio_bank), gSoundFontMedium); + AudioLoad_InitTable(gSampleBankTable, SEGMENT_ROM_START(audio_table), gSampleBankMedium); + + numFonts = gSoundFontTable->base.numEntries; + + gSoundFontList = AudioHeap_Alloc(&gInitPool, numFonts * sizeof(SoundFont)); + + for (i = 0; i < numFonts; i++) { + gSoundFontList[i].sampleBankId1 = (gSoundFontTable->entries[i].shortData1 >> 8) & 0xFF; + gSoundFontList[i].sampleBankId2 = gSoundFontTable->entries[i].shortData1 & 0xFF; + gSoundFontList[i].numInstruments = (gSoundFontTable->entries[i].shortData2 >> 8) & 0xFF; + gSoundFontList[i].numDrums = gSoundFontTable->entries[i].shortData2 & 0xFF; + } + + ramAddr = AudioHeap_Alloc(&gInitPool, gPermanentPoolSize); + if (ramAddr == NULL) { + gPermanentPoolSize = 0; + } + + AudioHeap_InitPool(&gPermanentPool.pool, ramAddr, gPermanentPoolSize); + func_8001689C(); +} + +s32 AudioLoad_SlowLoadSample(s32 fontId, u8 instId, s8* status) { + Sample* sample; + AudioSlowLoad* slowLoad; + + sample = AudioLoad_GetFontSample(fontId, instId); + if (sample == NULL) { + *status = SLOW_LOAD_STATUS_0; + return -1; + } + if (sample->medium == MEDIUM_RAM) { + *status = SLOW_LOAD_STATUS_2; + return 0; + } + + slowLoad = &gSlowLoads.slowLoad[gSlowLoads.unk_00]; + if (slowLoad->state == SLOW_LOAD_DONE) { + slowLoad->state = SLOW_LOAD_WAITING; + } + + slowLoad->sample = *sample; + slowLoad->status = status; + + slowLoad->curRamAddr = + AudioHeap_AllocTemporarySampleCache(sample->size, fontId, sample->sampleAddr, sample->medium); + + if (slowLoad->curRamAddr == NULL) { + if ((sample->medium == MEDIUM_UNK) || (sample->codec == 2)) { + *status = SLOW_LOAD_STATUS_0; + return -1; + } else { + *status = SLOW_LOAD_STATUS_3; + return -1; + } + } + + slowLoad->state = SLOW_LOAD_START; + slowLoad->bytesRemaining = ALIGN16(sample->size); + slowLoad->ramAddr = slowLoad->curRamAddr; + slowLoad->curDevAddr = sample->sampleAddr; + slowLoad->medium = sample->medium; + slowLoad->seqOrFontId = fontId; + slowLoad->instId = instId; + gSlowLoads.unk_00 ^= 1; + + return 0; +} + +Sample* AudioLoad_GetFontSample(s32 fontId, s32 instId) { + Sample* sample; + Drum* drum; + Instrument* instrument; + + if (instId < 0x80) { + instrument = Audio_GetInstrument(fontId, instId); + if (instrument == NULL) { + return NULL; + } + sample = instrument->normalPitchTunedSample.sample; + } else { + drum = Audio_GetDrum(fontId, instId - 0x80); + if (drum == NULL) { + return NULL; + } + sample = drum->tunedSample.sample; + } + return sample; +} + +void AudioLoad_Stub_10800(void) { +} + +void AudioLoad_FinishSlowLoad(AudioSlowLoad* slowLoad) { + Sample* sample = AudioLoad_GetFontSample(slowLoad->seqOrFontId, slowLoad->instId); + + if (sample != NULL) { + slowLoad->sample = *sample; + sample->sampleAddr = slowLoad->ramAddr; + sample->medium = MEDIUM_RAM; + } +} + +void AudioLoad_ProcessSlowLoads(s32 resetStatus) { + AudioTable* sampleBankTable = gSampleBankTable; + AudioSlowLoad* slowLoad; + s32 i; + + for (i = 0; i < 2; i++) { + slowLoad = &gSlowLoads.slowLoad[i]; + switch (slowLoad->state) { + case SLOW_LOAD_LOADING: + MQ_WAIT_FOR_MESG(&slowLoad->mesgQueue, NULL); + if (resetStatus != 0) { + slowLoad->state = SLOW_LOAD_DONE; + break; + } + case SLOW_LOAD_START: + slowLoad->state = SLOW_LOAD_LOADING; + if (slowLoad->bytesRemaining == 0) { + AudioLoad_FinishSlowLoad(&gSlowLoads.slowLoad[i]); + slowLoad->state = SLOW_LOAD_DONE; + *slowLoad->status = SLOW_LOAD_STATUS_1; + } else if (slowLoad->bytesRemaining < 0x1000) { + if (slowLoad->medium == MEDIUM_UNK) { + AudioLoad_DmaSlowCopyUnkMedium(slowLoad->curDevAddr, slowLoad->curRamAddr, + slowLoad->bytesRemaining, sampleBankTable->base.unkMediumParam); + } else { + AudioLoad_DmaSlowCopy(&gSlowLoads.slowLoad[i], slowLoad->bytesRemaining); + } + slowLoad->bytesRemaining = 0; + } else { + if (slowLoad->medium == MEDIUM_UNK) { + AudioLoad_DmaSlowCopyUnkMedium(slowLoad->curDevAddr, slowLoad->curRamAddr, 0x1000, + sampleBankTable->base.unkMediumParam); + } else { + AudioLoad_DmaSlowCopy(&gSlowLoads.slowLoad[i], 0x1000); + } + slowLoad->bytesRemaining -= 0x1000; + slowLoad->curRamAddr += 0x1000; + slowLoad->curDevAddr += 0x1000; + } + break; + } + } +} + +#ifndef IMPORT_RODATA +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/AudioLoad_DmaSlowCopy.s") +#else +void AudioLoad_DmaSlowCopy(AudioSlowLoad* slowLoad, s32 size) { + osInvalDCache(slowLoad->curRamAddr, size); + osCreateMesgQueue(&slowLoad->mesgQueue, &slowLoad->msg, 1); + AudioLoad_Dma(&slowLoad->ioMesg, 0, 0, slowLoad->curDevAddr, slowLoad->curRamAddr, size, &slowLoad->mesgQueue, + slowLoad->medium, "SLOWCOPY"); +} +#endif + +void AudioLoad_DmaSlowCopyUnkMedium(u32 devAddr, u8* ramAddr, u32 size, s32 unkMediumParam) { + s32 addr = devAddr; + + osInvalDCache(ramAddr, size); + func_8000FCDC(func_8000FCCC(unkMediumParam, &addr), addr, ramAddr, size); +} + +AudioAsyncLoad* AudioLoad_StartAsyncLoad(u32 devAddr, u8* ramAddr, u32 size, s32 medium, s32 nChunks, + OSMesgQueue* retQueue, u32 retMesg) { + AudioAsyncLoad* asyncLoad; + s32 i; + + for (i = 0; i < 16; i++) { + if (gAsyncLoads[i].status == 0) { + asyncLoad = &gAsyncLoads[i]; + break; + } + } + if (i == 16) { + return NULL; + } + + asyncLoad->status = 1; + asyncLoad->curDevAddr = devAddr; + asyncLoad->ramAddr = ramAddr; + asyncLoad->curRamAddr = ramAddr; + asyncLoad->bytesRemaining = size; + + if (nChunks == 0) { + asyncLoad->chunkSize = 0x1000; + } else { + asyncLoad->chunkSize = ALIGN256((s32) size / nChunks); + if (asyncLoad->chunkSize < 0x100) { + asyncLoad->chunkSize = 0x100; + } + } + + asyncLoad->retQueue = retQueue; + asyncLoad->delay = 3; + asyncLoad->medium = medium; + asyncLoad->retMsg = retMesg; + + osCreateMesgQueue(&asyncLoad->mesgQueue, &asyncLoad->msg, 1); + return asyncLoad; +} + +void AudioLoad_ProcessAsyncLoads(s32 resetStatus) { + s32 i; + + for (i = 0; i < 16; i++) { + if (gAsyncLoads[i].status == 1) { + AudioLoad_ProcessAsyncLoad(&gAsyncLoads[i], resetStatus); + } + } +} + +void AudioLoad_ProcessAsyncLoad(AudioAsyncLoad* asyncLoad, s32 resetStatus) { + AudioTable* sampleTable = gSampleBankTable; + s32 tableType; + s32 loadStatus; + u32 msg; + s32 tableIndex; + s32 sampleBankId1; + s32 sampleBankId2; + SampleBankRelocInfo relocInfo; + + if (asyncLoad->delay > 1) { + asyncLoad->delay--; + return; + } + if (asyncLoad->delay == 1) { + asyncLoad->delay = 0; + } else { + if (resetStatus != 0) { + MQ_WAIT_FOR_MESG(&asyncLoad->mesgQueue, NULL); + asyncLoad->status = 0; + return; + } + if (!MQ_GET_MESG(&asyncLoad->mesgQueue, NULL)) { + return; + } + } + + if (asyncLoad->bytesRemaining == 0) { + msg = asyncLoad->retMsg; + tableType = (msg >> 0x10) & 0xFF; + tableIndex = (msg >> 8) & 0xFF; + loadStatus = msg & 0xFF; + + switch (tableType) { + case SEQUENCE_TABLE: + if (gSeqLoadStatus[tableIndex] != 5) { + gSeqLoadStatus[tableIndex] = loadStatus; + } + break; + + case SAMPLE_TABLE: + if (gSampleFontLoadStatus[tableIndex] != 5) { + gSampleFontLoadStatus[tableIndex] = loadStatus; + } + break; + + case FONT_TABLE: + if (gFontLoadStatus[tableIndex] != 5) { + gFontLoadStatus[tableIndex] = loadStatus; + } + + sampleBankId1 = gSoundFontList[tableIndex].sampleBankId1; + sampleBankId2 = gSoundFontList[tableIndex].sampleBankId2; + relocInfo.sampleBankId1 = sampleBankId1; + relocInfo.sampleBankId2 = sampleBankId2; + + if (sampleBankId1 != SAMPLES_NONE) { + relocInfo.baseAddr1 = AudioLoad_SyncLoadSampleBank(sampleBankId1, &relocInfo.medium1); + } else { + relocInfo.baseAddr1 = NULL; + } + + if (sampleBankId2 != SAMPLES_NONE) { + relocInfo.baseAddr2 = AudioLoad_SyncLoadSampleBank(sampleBankId2, &relocInfo.medium2); + } else { + relocInfo.baseAddr2 = NULL; + } + AudioLoad_RelocateFontAndPreloadSamples(tableIndex, asyncLoad->ramAddr, &relocInfo, AUDIOLOAD_ASYNC); + break; + } + asyncLoad->status = 0; + osSendMesg(asyncLoad->retQueue, asyncLoad->retMsg, OS_MESG_NOBLOCK); + } else if (asyncLoad->bytesRemaining < asyncLoad->chunkSize) { + if (asyncLoad->medium == MEDIUM_UNK) { + AudioLoad_AsyncDmaUnkMedium(asyncLoad->curDevAddr, asyncLoad->curRamAddr, asyncLoad->bytesRemaining, + sampleTable->base.unkMediumParam); + } else { + AudioLoad_AsyncDma(asyncLoad, asyncLoad->bytesRemaining); + } + asyncLoad->bytesRemaining = 0; + } else { + if (asyncLoad->medium == MEDIUM_UNK) { + AudioLoad_AsyncDmaUnkMedium(asyncLoad->curDevAddr, asyncLoad->curRamAddr, asyncLoad->chunkSize, + sampleTable->base.unkMediumParam); + } else { + AudioLoad_AsyncDma(asyncLoad, asyncLoad->chunkSize); + } + asyncLoad->bytesRemaining -= asyncLoad->chunkSize; + asyncLoad->curDevAddr += asyncLoad->chunkSize; + asyncLoad->curRamAddr += asyncLoad->chunkSize; + } +} + +#ifndef IMPORT_RODATA +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_load/AudioLoad_AsyncDma.s") +#else +void AudioLoad_AsyncDma(AudioAsyncLoad* asyncLoad, u32 size) { + size = ALIGN16(size); + osInvalDCache(asyncLoad->curRamAddr, size); + osCreateMesgQueue(&asyncLoad->mesgQueue, &asyncLoad->msg, 1); + if (size) {} + AudioLoad_Dma(&asyncLoad->ioMesg, 0, 0, asyncLoad->curDevAddr, asyncLoad->curRamAddr, size, &asyncLoad->mesgQueue, + asyncLoad->medium, "BGCOPY"); +} +#endif + +void AudioLoad_AsyncDmaUnkMedium(u32 devAddr, u8* ramAddr, u32 size, s32 unkMediumParam) { + s32 addr = devAddr; + + osInvalDCache(ramAddr, size); + func_8000FCDC(func_8000FCCC(unkMediumParam, &addr), addr, ramAddr, size); +} + +void AudioLoad_RelocateSample(TunedSample* tSample, u32 fontDataAddr, SampleBankRelocInfo* relocInfo) { + void* reloc; + Sample* sample; + + // "Error: Already wavetable is touched %x.\n"; + if ((u32) tSample->sample <= AUDIO_RELOCATED_ADDRESS_START) { + sample = tSample->sample = reloc = (u32) tSample->sample + fontDataAddr; + // "Touch Warning: Length zero %x\n"; + if ((sample->size != 0) && (sample->isRelocated != 1)) { + sample->loop = reloc = (u32) sample->loop + fontDataAddr; + sample->book = reloc = (u32) sample->book + fontDataAddr; + switch (sample->medium) { + case MEDIUM_RAM: + sample->sampleAddr = reloc = sample->sampleAddr + relocInfo->baseAddr1; + sample->medium = relocInfo->medium1; + break; + case MEDIUM_UNK: + sample->sampleAddr = reloc = sample->sampleAddr + relocInfo->baseAddr2; + sample->medium = relocInfo->medium2; + break; + case MEDIUM_CART: + case MEDIUM_DISK_DRIVE: + break; + } + + sample->isRelocated = true; + if (sample->unk_bit26 && (sample->medium != 0)) { + gUsedSamples[gNumUsedSamples++] = sample; + } + } + } +} + +s32 AudioLoad_RelocateFontAndPreloadSamples(s32 fontId, u32 fontDataAddr, SampleBankRelocInfo* relocData, s32 isAsync) { + s32 i; + Sample* sample; + u8* sampleRamAddr; + s32 size; + s32 pad; + u32 nChunks; + s32 inProgress; + + inProgress = false; + if (gPreloadSampleStackTop != 0) { + inProgress = true; + } else { + D_80148EF0 = 0; + } + + gNumUsedSamples = 0; + AudioLoad_RelocateFont(fontId, fontDataAddr, relocData); + size = 0; + + for (i = 0; i < gNumUsedSamples; i++) { + size += ALIGN16(gUsedSamples[i]->size); + } + + for (i = 0; i < gNumUsedSamples; i++) { + if (gPreloadSampleStackTop == 120) { + break; + } + sample = gUsedSamples[i]; +#ifdef AVOID_UB + sampleRamAddr = NULL; +#endif + //! @bug Those are assignments, not equality checks. + switch (isAsync) { + case AUDIOLOAD_SYNC: + if (sample->medium = relocData->medium1) { + sampleRamAddr = AudioHeap_AllocPersistentSampleCache(sample->size, relocData->sampleBankId1, + sample->sampleAddr, sample->medium); + } else if (sample->medium = relocData->medium2) { + sampleRamAddr = AudioHeap_AllocPersistentSampleCache(sample->size, relocData->sampleBankId2, + sample->sampleAddr, sample->medium); + } + break; + + case AUDIOLOAD_ASYNC: + if (sample->medium = relocData->medium1) { + sampleRamAddr = AudioHeap_AllocTemporarySampleCache(sample->size, relocData->sampleBankId1, + sample->sampleAddr, sample->medium); + } else if (sample->medium = relocData->medium2) { + sampleRamAddr = AudioHeap_AllocTemporarySampleCache(sample->size, relocData->sampleBankId2, + sample->sampleAddr, sample->medium); + } + break; + } + + if (sampleRamAddr == NULL) { + continue; + } + + switch (isAsync) { + case AUDIOLOAD_SYNC: + if (sample->medium == MEDIUM_UNK) { + AudioLoad_SyncDmaUnkMedium(sample->sampleAddr, sampleRamAddr, sample->size, + gSampleBankTable->base.unkMediumParam); + sample->sampleAddr = sampleRamAddr; + sample->medium = MEDIUM_RAM; + } else { + AudioLoad_SyncDma(sample->sampleAddr, sampleRamAddr, sample->size, sample->medium); + sample->sampleAddr = sampleRamAddr; + sample->medium = MEDIUM_RAM; + } + break; + + case AUDIOLOAD_ASYNC: + size = gPreloadSampleStackTop; + gPreloadSampleStack[size].sample = sample; + gPreloadSampleStack[size].ramAddr = sampleRamAddr; + gPreloadSampleStack[size].encodedInfo = (size << 24) | 0xFFFFFF; + gPreloadSampleStack[size].isFree = 0; + gPreloadSampleStack[size].endAndMediumKey = + (uintptr_t) sample->sampleAddr + sample->size + sample->medium; + gPreloadSampleStackTop++; + break; + } + } + + gNumUsedSamples = 0; + + if ((gPreloadSampleStackTop != 0) && !inProgress) { + sample = gPreloadSampleStack[gPreloadSampleStackTop - 1].sample; + nChunks = (sample->size / 0x1000) + 1; + AudioLoad_StartAsyncLoad(sample->sampleAddr, gPreloadSampleStack[gPreloadSampleStackTop - 1].ramAddr, + sample->size, sample->medium, nChunks, &gPreloadSampleQueue, + gPreloadSampleStack[gPreloadSampleStackTop - 1].encodedInfo); + } +} + +s32 AudioLoad_ProcessSamplePreloads(s32 resetStatus) { + Sample* sample; + u32 preloadIndex; + u32 key; + s32 sampleAddr; + u32 size; + s32 nChunks; + + if (gPreloadSampleStackTop > 0) { + if (resetStatus != 0) { + if (!MQ_GET_MESG(&gPreloadSampleQueue, &preloadIndex)) {} + gPreloadSampleStackTop = 0; + return false; + } + if (!MQ_GET_MESG(&gPreloadSampleQueue, &preloadIndex)) { + return false; + } + // "Receive %d\n" + preloadIndex >>= 0x18; + + if (gPreloadSampleStack[preloadIndex].isFree == 0) { + sample = gPreloadSampleStack[preloadIndex].sample; + key = sample->sampleAddr + sample->size + sample->medium; + if (key == gPreloadSampleStack[preloadIndex].endAndMediumKey) { + sample->sampleAddr = gPreloadSampleStack[preloadIndex].ramAddr; + sample->medium = MEDIUM_RAM; + } + // "============Error: Magic is Broken after loading.\n" + gPreloadSampleStack[preloadIndex].isFree = 1; + } + + while (true) { + if (gPreloadSampleStackTop <= 0) { + break; + } + if (gPreloadSampleStack[gPreloadSampleStackTop - 1].isFree == 1) { + gPreloadSampleStackTop--; + continue; + } + + sample = gPreloadSampleStack[gPreloadSampleStackTop - 1].sample; + sampleAddr = sample->sampleAddr; + size = sample->size; + nChunks = (size >> 0xC) + 1; + + key = sampleAddr + size + sample->medium; + if (key != gPreloadSampleStack[gPreloadSampleStackTop - 1].endAndMediumKey) { + // "============Error: Magic is Broken: %x\n"; + gPreloadSampleStack[gPreloadSampleStackTop - 1].isFree = 1; + gPreloadSampleStackTop--; + } else { + size = sample->size; + AudioLoad_StartAsyncLoad(sampleAddr, gPreloadSampleStack[gPreloadSampleStackTop - 1].ramAddr, size, + sample->medium, nChunks, &gPreloadSampleQueue, + gPreloadSampleStack[gPreloadSampleStackTop - 1].encodedInfo); + break; + } + } + } + return true; +} + +s32 AudioLoad_AddToSampleSet(Sample* sample, s32 numSamples, Sample** sampleSet) { + s32 i; + + for (i = 0; i < numSamples; i++) { + if (sample->sampleAddr == sampleSet[i]->sampleAddr) { + break; + } + } + if (i == numSamples) { + sampleSet[numSamples++] = sample; + } + return numSamples; +} + +s32 AudioLoad_GetSamplesForFont(s32 fontId, Sample** sampleSet) { + s32 i; + Drum* drum; + Instrument* inst; + s32 numLoaded = 0; + s32 numDrums = gSoundFontList[fontId].numDrums; + s32 numInstruments = gSoundFontList[fontId].numInstruments; + + for (i = 0; i < numDrums; i++) { + drum = Audio_GetDrum(fontId, i); + if (drum == NULL) { + continue; + } + numLoaded = AudioLoad_AddToSampleSet(drum->tunedSample.sample, numLoaded, sampleSet); + } + + for (i = 0; i < numInstruments; i++) { + inst = Audio_GetInstrument(fontId, i); + if (inst == NULL) { + continue; + } + if (inst->normalRangeLo != 0) { + numLoaded = AudioLoad_AddToSampleSet(inst->lowPitchTunedSample.sample, numLoaded, sampleSet); + } + if (inst->normalRangeHi != 127) { + numLoaded = AudioLoad_AddToSampleSet(inst->highPitchTunedSample.sample, numLoaded, sampleSet); + } + numLoaded = AudioLoad_AddToSampleSet(inst->normalPitchTunedSample.sample, numLoaded, sampleSet); + } + + return numLoaded; +} diff --git a/srceu/audio/audio_playback.c b/srceu/audio/audio_playback.c index 19da37c8..ff3eaffc 100644 --- a/srceu/audio/audio_playback.c +++ b/srceu/audio/audio_playback.c @@ -1,59 +1,783 @@ -#include "common.h" +// No version differences found here. -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80011870.s") +#include "sys.h" +#include "sf64audio_provisional.h" -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80011C38.s") +extern u32 D_80157EF8; +extern u8 sSamplesPerWavePeriod[4]; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80011CF0.s") +void func_80011C38(Note* note, f32 arg1); +void func_80013B4C(AdsrState* adsr, EnvelopePoint* envelope, s16* arg2); +void func_8001413C(SequenceChannel* channel); +void func_8001266C(SequenceLayer* layer); +f32 func_80013B70(AdsrState* adsr); +void func_80012C20(Note* note); +void func_800139F8(Note* note); +void func_80012BE0(AudioListItem* item1, AudioListItem* item2); +void func_80012CCC(Note* note, SequenceLayer* layer); +void func_80013A64(Note* note); +void func_8001459C(AudioListItem* list, AudioListItem* item); +void* func_800145DC(AudioListItem* list); -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80011D2C.s") +void func_80011870(Note* note, NoteAttributes* noteAttr) { + NoteSubEu* noteSub; + f32 panVolumeLeft; + f32 pamVolumeRight; + f32 velocity; + s32 temp_t0; + s32 var_a0; + s32 strongRight; + s32 strongLeft; + u8 pan; + u8 reverb; + Stereo stereo; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80011DDC.s") + func_80011C38(note, noteAttr->freqMod); + noteSub = ¬e->noteSubEu; + velocity = noteAttr->velocity; + pan = noteAttr->pan; + reverb = noteAttr->reverb; + stereo = noteAttr->stereo; + pan %= ARRAY_COUNTU(gHeadsetPanVolume); + if ((noteSub->bitField0.stereoHeadsetEffects) && (gAudioSoundMode == SOUNDMODE_HEADSET)) { + var_a0 = pan >> 1; + if (var_a0 >= ARRAY_COUNT(gHaasEffectDelaySizes)) { + var_a0 = ARRAY_COUNT(gHaasEffectDelaySizes) - 1; + } + noteSub->rightDelaySize = gHaasEffectDelaySizes[var_a0]; + noteSub->leftDelaySize = gHaasEffectDelaySizes[ARRAY_COUNT(gHaasEffectDelaySizes) - 1 - var_a0]; + noteSub->bitField0.stereoStrongRight = false; + noteSub->bitField0.stereoStrongLeft = false; + noteSub->bitField0.usesHeadsetPanEffects = true; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80011E98.s") + panVolumeLeft = gHeadsetPanVolume[pan]; + pamVolumeRight = gHeadsetPanVolume[ARRAY_COUNT(gHeadsetPanVolume) - 1 - pan]; + } else if (noteSub->bitField0.stereoHeadsetEffects && (gAudioSoundMode == SOUNDMODE_STEREO)) { + noteSub->leftDelaySize = 0; + noteSub->rightDelaySize = 0; + noteSub->bitField0.usesHeadsetPanEffects = false; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80011F2C.s") + panVolumeLeft = gStereoPanVolume[pan]; + pamVolumeRight = gStereoPanVolume[ARRAY_COUNT(gStereoPanVolume) - 1 - pan]; + strongRight = false; + strongLeft = false; + if (pan < 32) { + strongLeft = true; + } else if (pan > 96) { + strongRight = true; + } + noteSub->bitField0.stereoStrongRight = strongRight; + noteSub->bitField0.stereoStrongLeft = strongLeft; + switch (stereo.s.bit2) { + case 0: + noteSub->bitField0.stereoStrongRight = stereo.s.strongRight; + noteSub->bitField0.stereoStrongLeft = stereo.s.strongLeft; + break; + case 1: + break; + case 2: + noteSub->bitField0.stereoStrongRight = stereo.s.strongRight | strongRight; + noteSub->bitField0.stereoStrongLeft = stereo.s.strongLeft | strongLeft; + break; + case 3: + noteSub->bitField0.stereoStrongRight = stereo.s.strongRight ^ strongRight; + noteSub->bitField0.stereoStrongLeft = stereo.s.strongLeft ^ strongLeft; + break; + } + } else if (gAudioSoundMode == SOUNDMODE_MONO) { + panVolumeLeft = 0.707f; + pamVolumeRight = 0.707f; + } else { + panVolumeLeft = gDefaultPanVolume[pan]; + pamVolumeRight = gDefaultPanVolume[ARRAY_COUNT(gDefaultPanVolume) - 1 - pan]; + } + if (velocity < 0.0f) { + velocity = 0.0f; + } + if (velocity > 1.0f) { + velocity = 1.0f; + } + noteSub->panVolLeft = (s32) (velocity * panVolumeLeft * 4095.999f); + noteSub->panVolRight = (s32) (velocity * pamVolumeRight * 4095.999f); + noteSub->gain = noteAttr->gain; + if (noteSub->reverb != reverb) { + noteSub->reverb = reverb; + noteSub->bitField0.unused = true; + } else if (noteSub->bitField0.needsInit) { + noteSub->bitField0.unused = true; + } else { + noteSub->bitField0.unused = false; + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80011F88.s") +void func_80011C38(Note* note, f32 arg1) { + NoteSubEu* noteSub = ¬e->noteSubEu; + f32 var_fv0; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80012418.s") + if (arg1 < 2.0f) { + noteSub->bitField1.hasTwoParts = 0; + if (arg1 > 1.99998f) { + var_fv0 = 1.99998f; + } else { + var_fv0 = arg1; + } + } else { + noteSub->bitField1.hasTwoParts = 1; + if (arg1 > 3.99996f) { + var_fv0 = 1.99998f; + } else { + var_fv0 = arg1 * 0.5f; + } + } + note->noteSubEu.resampleRate = (s32) (var_fv0 * 32768.0f); +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_8001264C.s") +TunedSample* func_80011CF0(Instrument* instrument, s32 arg1) { + TunedSample* sample; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_8001266C.s") + if (arg1 < instrument->normalRangeLo) { + sample = &instrument->lowPitchTunedSample; + } else if (arg1 <= instrument->normalRangeHi) { + sample = &instrument->normalPitchTunedSample; + } else { + sample = &instrument->highPitchTunedSample; + } + return sample; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_8001268C.s") +Instrument* Audio_GetInstrument(s32 fontId, s32 instId) { + Instrument* instrument; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80012790.s") + if ((gFontLoadStatus[fontId] < 2) != 0) { + D_80157EF8 = fontId + 0x10000000; + return NULL; + } + if (instId >= gSoundFontList[fontId].numInstruments) { + D_80157EF8 = (fontId << 8) + instId + 0x03000000; + return NULL; + } + instrument = gSoundFontList[fontId].instruments[instId]; + if (instrument == NULL) { + D_80157EF8 = (fontId << 8) + instId + 0x01000000; + return instrument; + } + return instrument; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80012834.s") +Drum* Audio_GetDrum(s32 fontId, s32 drumId) { + Drum* drum; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80012844.s") + if ((gFontLoadStatus[fontId] < 2) != 0) { + D_80157EF8 = fontId + 0x10000000; + return NULL; + } + if (drumId >= gSoundFontList[fontId].numDrums) { + D_80157EF8 = (fontId << 8) + drumId + 0x04000000; + return NULL; + } + if ((u32) gSoundFontList[fontId].drums < AUDIO_RELOCATED_ADDRESS_START) { + return NULL; + } + drum = gSoundFontList[fontId].drums[drumId]; + if (gSoundFontList[fontId].drums[drumId] == NULL) { + D_80157EF8 = (fontId << 8) + drumId + 0x05000000; + } + return drum; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80012894.s") +void func_80011E98(Note* note) { + if (note->playbackState.parentLayer->adsr.decayIndex == 0) { + func_80013B4C(¬e->playbackState.adsr, note->playbackState.parentLayer->channel->adsr.envelope, + ¬e->playbackState.adsrVolModUnused); + } else { + func_80013B4C(¬e->playbackState.adsr, note->playbackState.parentLayer->adsr.envelope, + ¬e->playbackState.adsrVolModUnused); + } + note->playbackState.adsr.state = 1; + note->noteSubEu = gDefaultNoteSub; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80012944.s") +void func_80011F2C(Note* note) { + if (note->noteSubEu.bitField0.needsInit == 1) { + note->noteSubEu.bitField0.needsInit = 0; + } + note->playbackState.priority = 0; + note->playbackState.unk_04 = 0; + note->noteSubEu.bitField0.enabled = 0; + note->playbackState.parentLayer = NO_LAYER; + note->playbackState.prevParentLayer = NO_LAYER; + note->noteSubEu.bitField0.finished = 0; + note->playbackState.adsr.state = 0; + note->playbackState.adsr.current = 0.0f; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80012AA4.s") +void func_80011F88(void) { + s32 pad2; + s32 pad; + Note* note; + NotePlaybackState* playbackState; + NoteSubEu* noteSub; + NoteAttributes* attr; + s32 i; + NoteAttributes sp70; + u8 bookOffset; + f32 temp_fs0; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80012BE0.s") + for (i = 0; i < gNumNotes; i++) { + note = &gNotes[i]; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80012C20.s") + playbackState = ¬e->playbackState; + if ((playbackState->parentLayer != NO_LAYER)) { + if ((u32) playbackState->parentLayer < 0x7FFFFFFF) { + continue; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80012C4C.s") + if ((note != playbackState->parentLayer->note) && (playbackState->unk_04 == 0)) { + playbackState->adsr.action.asByte |= 0x10; + playbackState->adsr.fadeOutVel = gAudioBufferParams.ticksPerUpdateInv; + playbackState->priority = 1; + playbackState->unk_04 = 2; + goto block_21; + } else { + if ((playbackState->parentLayer->enabled) || (playbackState->unk_04 != 0) || + (playbackState->priority <= 0)) { + if (playbackState->parentLayer->channel->seqPlayer == NULL) { + func_8001413C(playbackState->parentLayer->channel); + playbackState->priority = 1; + playbackState->unk_04 = 1; + continue; + } + if (!(playbackState->parentLayer->channel->seqPlayer->muted && + (playbackState->parentLayer->channel->muteBehavior & 0x40))) { + goto block_21; + } + } + func_8001266C(playbackState->parentLayer); + func_80012C20(note); + func_80012BE0(¬e->listItem.pool->decaying, ¬e->listItem); + playbackState->priority = 1; + playbackState->unk_04 = 2; + } + } else if ((playbackState->unk_04 == 0) && (playbackState->priority > 0)) { + continue; + } + block_21: -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80012CCC.s") + if (playbackState->priority != 0) { + if (1) {} + noteSub = ¬e->noteSubEu; + if ((playbackState->unk_04 > 0) || noteSub->bitField0.finished) { + if ((playbackState->adsr.state == 0) || noteSub->bitField0.finished) { + if (playbackState->wantedParentLayer != NO_LAYER) { + func_80011F2C(note); + if (playbackState->wantedParentLayer->channel != NULL) { + func_80012CCC(note, playbackState->wantedParentLayer); + func_80013A64(note); + func_80012C20(note); + func_8001459C(¬e->listItem.pool->active, ¬e->listItem); + playbackState->wantedParentLayer = NO_LAYER; + } else { + func_80011F2C(note); + func_80012C20(note); + func_8001459C(¬e->listItem.pool->disabled, ¬e->listItem); + playbackState->wantedParentLayer = NO_LAYER; + goto next; + } + } else { + func_80011F2C(note); + func_80012C20(note); + func_8001459C(¬e->listItem.pool->disabled, ¬e->listItem); + goto next; + } + } + } else if (playbackState->adsr.state == 0) { + func_80011F2C(note); + func_80012C20(note); + func_8001459C(¬e->listItem.pool->disabled, ¬e->listItem); + goto next; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80012E08.s") + temp_fs0 = func_80013B70(&playbackState->adsr); + func_800139F8(note); + attr = &playbackState->attributes; + if ((playbackState->unk_04 == 1) || (playbackState->unk_04 == 2)) { + sp70.freqMod = attr->freqMod; + sp70.velocity = attr->velocity; + sp70.pan = attr->pan; + sp70.reverb = attr->reverb; + sp70.stereo = attr->stereo; + sp70.gain = attr->gain; + bookOffset = noteSub->bitField1.bookOffset; + } else { + sp70.freqMod = playbackState->parentLayer->noteFreqMod; + sp70.velocity = playbackState->parentLayer->noteVelocity; + sp70.pan = playbackState->parentLayer->notePan; + sp70.stereo = playbackState->parentLayer->stereo; + sp70.reverb = playbackState->parentLayer->channel->targetReverbVol; + sp70.gain = playbackState->parentLayer->channel->reverbIndex; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80012E3C.s") + bookOffset = playbackState->parentLayer->channel->bookOffset % 8U; + if ((playbackState->parentLayer->channel->seqPlayer->muted) && + (playbackState->parentLayer->channel->muteBehavior & 8)) { + sp70.freqMod = 0.0f; + sp70.velocity = 0.0f; + } + } + sp70.freqMod *= playbackState->vibratoFreqMod * playbackState->portamentoFreqMod; + sp70.freqMod *= gAudioBufferParams.resampleRate; + sp70.velocity *= temp_fs0; + func_80011870(note, &sp70); + noteSub->bitField1.bookOffset = bookOffset; + next:; + } + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80012E68.s") +void func_80012418(SequenceLayer* layer, s32 arg1) { + Note* note; + NoteAttributes* noteAttr; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80012EB4.s") + if (layer == NO_LAYER) { + return; + } + layer->unk_3 = 0; + if (layer->note == NULL) { + return; + } + note = layer->note; + if (layer == note->playbackState.wantedParentLayer) { + note->playbackState.wantedParentLayer = NO_LAYER; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80012F04.s") + if (layer != note->playbackState.parentLayer) { + if ((note->playbackState.parentLayer == NO_LAYER) && (note->playbackState.wantedParentLayer == NO_LAYER) && + (layer == note->playbackState.prevParentLayer) && (arg1 != 6)) { + note->playbackState.adsr.fadeOutVel = gAudioBufferParams.ticksPerUpdateInv; + note->playbackState.adsr.action.asByte |= 0x10; + } + } else { + noteAttr = ¬e->playbackState.attributes; + if (note->playbackState.adsr.state != 6) { + noteAttr->freqMod = layer->noteFreqMod; + noteAttr->velocity = layer->noteVelocity; + noteAttr->pan = layer->notePan; + noteAttr->stereo = layer->stereo; + if (layer->channel != NULL) { + noteAttr->reverb = layer->channel->targetReverbVol; + noteAttr->gain = layer->channel->reverbIndex; + if (layer->channel->seqPlayer->muted && (layer->channel->muteBehavior & 8)) { + note->noteSubEu.bitField0.finished = 1; + } + } + note->playbackState.priority = 1; + note->playbackState.prevParentLayer = note->playbackState.parentLayer; + note->playbackState.parentLayer = NO_LAYER; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_80012FFC.s") + if (arg1 == 7) { + note->playbackState.adsr.fadeOutVel = gAudioBufferParams.ticksPerUpdateInv; + note->playbackState.adsr.action.asByte |= 0x10; + note->playbackState.unk_04 = 2; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_playback/func_800132C8.s") + } else { + note->playbackState.unk_04 = 1; + note->playbackState.adsr.action.asByte |= 0x20; + if (layer->adsr.decayIndex == 0) { + note->playbackState.adsr.fadeOutVel = + layer->channel->adsr.decayIndex * gAudioBufferParams.ticksPerUpdateInvScaled; + } else { + note->playbackState.adsr.fadeOutVel = + layer->adsr.decayIndex * gAudioBufferParams.ticksPerUpdateInvScaled; + } + note->playbackState.adsr.sustain = + (s32) layer->channel->adsr.sustain * note->playbackState.adsr.current / 256.0f; + } + } + if (arg1 == 6) { + func_80012C20(note); + func_80012BE0(¬e->listItem.pool->decaying, ¬e->listItem); + } + } +} + +void func_8001264C(SequenceLayer* layer) { + func_80012418(layer, 6); +} + +void func_8001266C(SequenceLayer* layer) { + func_80012418(layer, 7); +} + +s32 func_8001268C(Note* note, SequenceLayer* layer, s32 waveId) { + f32 freqMod; + u8 harmonicIndex = 0; + + if (waveId < 128) { + waveId = 128; + } + freqMod = layer->freqMod; + if ((layer->portamento.mode != 0) && (layer->portamento.extent > 0.0f)) { + freqMod *= layer->portamento.extent + 1.0f; + } + if (freqMod < 1.0f) { + freqMod = 1.0465f; + } else if (freqMod < 2.0f) { + harmonicIndex = 1; + freqMod = 0.52325f; + } else if (freqMod < 4.0f) { + harmonicIndex = 2; + freqMod = 0.26263f; + } else { + harmonicIndex = 3; + freqMod = 0.13081f; + } + + layer->freqMod *= freqMod; + note->playbackState.waveId = waveId; + note->playbackState.harmonicIndex = harmonicIndex; + note->noteSubEu.waveSampleAddr = &gWaveSamples[waveId - 128][harmonicIndex * 64]; + return harmonicIndex; +} + +void func_80012790(Note* note, SequenceLayer* layer) { + s32 harmonicIndex; + s32 waveId; + + waveId = layer->instOrWave; + if (waveId == 0xFF) { + waveId = layer->channel->instOrWave; + } + harmonicIndex = note->playbackState.harmonicIndex; + note->synthesisState.samplePosInt = + (note->synthesisState.samplePosInt * sSamplesPerWavePeriod[func_8001268C(note, layer, waveId)]) / + sSamplesPerWavePeriod[harmonicIndex]; +} + +void func_80012834(AudioListItem* item) { + item->prev = item; + item->next = item; + item->u.value = NULL; +} + +void func_80012844(NotePool* pool) { + func_80012834(&pool->disabled); + func_80012834(&pool->decaying); + func_80012834(&pool->releasing); + func_80012834(&pool->active); + pool->disabled.pool = pool; + pool->decaying.pool = pool; + pool->releasing.pool = pool; + pool->active.pool = pool; +} + +void func_80012894(void) { + s32 i; + + func_80012844(&gNoteFreeLists); + for (i = 0; i < gNumNotes; i++) { + gNotes[i].listItem.u.value = &gNotes[i]; + gNotes[i].listItem.prev = NULL; + func_8001459C(&gNoteFreeLists.disabled, &gNotes[i].listItem); + } +} + +void func_80012944(NotePool* pool) { + s32 poolType; + AudioListItem* poolItem; + AudioListItem* nextPoolItem; + AudioListItem* freeList; + + for (poolType = 0; poolType < 4; poolType++) { + switch (poolType) { + case 0: + poolItem = &pool->disabled; + freeList = &gNoteFreeLists.disabled; + break; + case 1: + poolItem = &pool->decaying; + freeList = &gNoteFreeLists.decaying; + break; + case 2: + poolItem = &pool->releasing; + freeList = &gNoteFreeLists.releasing; + break; + case 3: + poolItem = &pool->active; + freeList = &gNoteFreeLists.active; + break; + } + + while (true) { + nextPoolItem = poolItem->next; + if ((nextPoolItem == poolItem) || (nextPoolItem == NULL)) { + break; + } + func_80012C20((Note*) nextPoolItem); + func_8001459C(freeList, nextPoolItem); + } + } +} + +void func_80012AA4(NotePool* pool, s32 arg1) { + s32 var_s0; + s32 poolType; + AudioListItem* note; + AudioListItem* freeList; + AudioListItem* poolList; + + func_80012944(pool); + poolType = 0; + var_s0 = 0; + while (var_s0 < arg1) { + if (poolType == 4) { + return; + } + switch (poolType) { + case 0: + freeList = &gNoteFreeLists.disabled; + poolList = &pool->disabled; + break; + case 1: + freeList = &gNoteFreeLists.decaying; + poolList = &pool->decaying; + break; + case 2: + freeList = &gNoteFreeLists.releasing; + poolList = &pool->releasing; + break; + case 3: + freeList = &gNoteFreeLists.active; + poolList = &pool->active; + break; + } + while (var_s0 < arg1) { + note = func_800145DC(freeList); + if (note == NULL) { + break; + } + func_8001459C(poolList, note); + var_s0++; + } + poolType++; + } +} + +void func_80012BE0(AudioListItem* item1, AudioListItem* item2) { + if (item2->prev == NULL) { + item2->prev = item1; + item2->next = item1->next; + item1->next->prev = item2; + item1->next = item2; + item1->u.count++; + item2->pool = item1->pool; + } +} + +void func_80012C20(Note* note) { + if (note->listItem.prev != NULL) { + note->listItem.prev->next = note->listItem.next; + note->listItem.next->prev = note->listItem.prev; + note->listItem.prev = NULL; + } +} + +Note* func_80012C4C(AudioListItem* item, s32 priority) { + AudioListItem* priorityItem; + AudioListItem* nextItem = item->next; + + if (nextItem == item) { + return NULL; + } + priorityItem = nextItem; + for (nextItem; nextItem != item; nextItem = nextItem->next) { + if (((Note*) nextItem->u.value)->playbackState.priority <= + ((Note*) priorityItem->u.value)->playbackState.priority) { + priorityItem = nextItem; + } + } + + if (priorityItem == NULL) { + return NULL; + } + + if (((Note*) priorityItem->u.value)->playbackState.priority >= priority) { + return NULL; + } + return (Note*) priorityItem->u.value; +} + +void func_80012CCC(Note* note, SequenceLayer* layer) { + s32 pad[4]; + s32 var_a2; + NoteSubEu* noteSub; + + note->playbackState.prevParentLayer = NO_LAYER; + note->playbackState.parentLayer = layer; + note->playbackState.priority = layer->channel->notePriority; + layer->ignoreDrumPan = 1; + layer->unk_3 = 3; + layer->note = note; + layer->channel->noteUnused = note; + layer->channel->layerUnused = layer; + layer->noteVelocity = 0.0f; + func_80011E98(note); + var_a2 = layer->instOrWave; + noteSub = ¬e->noteSubEu; + if (var_a2 == 0xFF) { + var_a2 = layer->channel->instOrWave; + } + noteSub->waveSampleAddr = (s16*) layer->tunedSample; + if (var_a2 >= 128) { + noteSub->bitField1.isSyntheticWave = true; + } else { + noteSub->bitField1.isSyntheticWave = false; + } + if (noteSub->bitField1.isSyntheticWave) { + func_8001268C(note, layer, var_a2); + } + note->playbackState.fontId = layer->channel->fontId; + noteSub->bitField0.stereoHeadsetEffects = layer->channel->stereoHeadsetEffects; + noteSub->bitField1.reverbIndex = layer->channel->someOtherPriority & 3; +} + +void func_80012E08(Note* note, SequenceLayer* layer) { + func_8001266C(note->playbackState.parentLayer); + note->playbackState.wantedParentLayer = layer; +} + +void func_80012E3C(Note* note, SequenceLayer* layer) { + note->playbackState.wantedParentLayer = layer; + note->playbackState.priority = layer->channel->notePriority; + note->playbackState.adsr.fadeOutVel = gAudioBufferParams.ticksPerUpdateInv; + note->playbackState.adsr.action.asByte |= 0x10; +} + +Note* func_80012E68(NotePool* pool, SequenceLayer* layer) { + Note* note = func_800145DC(&pool->disabled); + + if (note != NULL) { + func_80012CCC(note, layer); + func_80012BE0(&pool->active, ¬e->listItem); + } + return note; +} + +Note* func_80012EB4(NotePool* pool, SequenceLayer* layer) { + Note* note = func_800145DC(&pool->decaying); + + if (note != NULL) { + func_80012E3C(note, layer); + func_8001459C(&pool->releasing, ¬e->listItem); + } + return note; +} + +Note* func_80012F04(NotePool* pool, SequenceLayer* layer) { + Note* sp34; + Note* sp30; + s32 sp2C; + s32 sp28; + + sp2C = sp28 = 0x10; + sp34 = func_80012C4C(&pool->releasing, layer->channel->notePriority); + if (sp34 != NULL) { + sp2C = sp34->playbackState.priority; + } + sp30 = func_80012C4C(&pool->active, layer->channel->notePriority); + if (sp30 != NULL) { + sp28 = sp30->playbackState.priority; + } + if ((sp34 == NULL) && (sp30 == NULL)) { + return NULL; + } + if (sp28 < sp2C) { + func_80012C20(sp30); + func_80012E08(sp30, layer); + func_8001459C(&pool->releasing, &sp30->listItem); + sp30->playbackState.priority = layer->channel->notePriority; + return sp30; + } else { + sp34->playbackState.wantedParentLayer = layer; + sp34->playbackState.priority = layer->channel->notePriority; + return sp34; + } +} + +Note* func_80012FFC(SequenceLayer* layer) { + Note* sp24; + + if (layer->channel->noteAllocPolicy & 1) { + sp24 = layer->note; + if ((sp24 != NULL) && (layer == sp24->playbackState.prevParentLayer) && + (sp24->playbackState.wantedParentLayer == NO_LAYER)) { + + func_80012E3C(sp24, layer); + func_80012C20(sp24); + func_8001459C(&sp24->listItem.pool->releasing, &sp24->listItem); + return sp24; + } + } + + if (layer->channel->noteAllocPolicy & 2) { + if (((sp24 = func_80012E68(&layer->channel->notePool, layer)) != NULL) || + ((sp24 = func_80012EB4(&layer->channel->notePool, layer)) != NULL) || + ((sp24 = func_80012F04(&layer->channel->notePool, layer)) != NULL)) { + return sp24; + } + } else if (layer->channel->noteAllocPolicy & 4) { + if (((sp24 = func_80012E68(&layer->channel->notePool, layer)) != NULL) || + ((sp24 = func_80012E68(&layer->channel->seqPlayer->notePool, layer)) != NULL) || + ((sp24 = func_80012EB4(&layer->channel->notePool, layer)) != NULL) || + ((sp24 = func_80012EB4(&layer->channel->seqPlayer->notePool, layer)) != NULL) || + ((sp24 = func_80012F04(&layer->channel->notePool, layer)) != NULL) || + ((sp24 = func_80012F04(&layer->channel->seqPlayer->notePool, layer)) != NULL)) { + return sp24; + } + } else if (layer->channel->noteAllocPolicy & 8) { + if (((sp24 = func_80012E68(&gNoteFreeLists, layer)) != NULL) || + ((sp24 = func_80012EB4(&gNoteFreeLists, layer)) != NULL) || + ((sp24 = func_80012F04(&gNoteFreeLists, layer)) != NULL)) { + return sp24; + } + } else { + if (((sp24 = func_80012E68(&layer->channel->notePool, layer)) != NULL) || + ((sp24 = func_80012E68(&layer->channel->seqPlayer->notePool, layer)) != NULL) || + ((sp24 = func_80012E68(&gNoteFreeLists, layer)) != NULL) || + ((sp24 = func_80012EB4(&layer->channel->notePool, layer)) != NULL) || + ((sp24 = func_80012EB4(&layer->channel->seqPlayer->notePool, layer)) != NULL) || + ((sp24 = func_80012EB4(&gNoteFreeLists, layer)) != NULL) || + ((sp24 = func_80012F04(&layer->channel->notePool, layer)) != NULL) || + ((sp24 = func_80012F04(&layer->channel->seqPlayer->notePool, layer)) != NULL) || + ((sp24 = func_80012F04(&gNoteFreeLists, layer)) != NULL)) { + return sp24; + } + } + layer->unk_3 = 0; + return NULL; +} + +void func_800132C8(void) { + s32 i; + Note* note; + + for (i = 0; i < gNumNotes; i++) { + note = &gNotes[i]; + + note->noteSubEu = gZeroNoteSub; + + note->playbackState.priority = 0; + note->playbackState.unk_04 = 0; + note->playbackState.parentLayer = NO_LAYER; + note->playbackState.wantedParentLayer = NO_LAYER; + note->playbackState.prevParentLayer = NO_LAYER; + note->playbackState.waveId = 0; + note->playbackState.attributes.velocity = 0.0f; + note->playbackState.adsrVolModUnused = 0; + note->playbackState.adsr.state = 0; + note->playbackState.adsr.action.asByte = 0; + note->playbackState.vibratoState.active = 0; + note->playbackState.portamento.cur = 0.0f; + note->playbackState.portamento.speed = 0.0f; + + note->synthesisState.synthesisBuffers = AudioHeap_Alloc(&gMiscPool, sizeof(Note)); + } +} diff --git a/srceu/audio/audio_seqplayer.c b/srceu/audio/audio_seqplayer.c index 88ff98c9..6cf1e869 100644 --- a/srceu/audio/audio_seqplayer.c +++ b/srceu/audio/audio_seqplayer.c @@ -1,51 +1,1407 @@ -#include "common.h" +// No regional differences in this file -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_80013E80.s") +#include "sys.h" +#include "sf64audio_provisional.h" -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_80013FA4.s") +extern u32 D_80157EF8; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_800140B0.s") +void func_80012844(NotePool* pool); +void* func_800145DC(AudioListItem* list); +void func_8001459C(AudioListItem* list, AudioListItem* item); +void func_8001264C(SequenceLayer* layer); +void func_80012944(NotePool* pool); +u8 func_800152C0(SequenceChannel* channel, u8 arg1, Instrument** instrument, AdsrSettings* adsrSettings); +TunedSample* func_80011CF0(Instrument* instrument, s32 arg1); +void func_80012790(Note* note, SequenceLayer* layer); +void func_80013A64(Note* note); +Note* func_80012FFC(SequenceLayer* layer); +u8 func_800152A0(SequenceChannel* channel, u8 arg1, Instrument** instrument, AdsrSettings* adsrSettings); +void func_80012AA4(NotePool* pool, s32); +void func_80011F88(void); +void func_80013588(SequencePlayer* seqplayer); -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_800140EC.s") +void func_80013E80(SequenceChannel* channel) { + s32 i; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_8001413C.s") + channel->enabled = 0; + channel->finished = 0; + channel->stopScript = 0; + channel->muted = 0; + channel->hasInstrument = false; + channel->stereoHeadsetEffects = 0; + channel->transposition = 0; + channel->largeNotes = 0; + channel->bookOffset = 0; + channel->changes.asByte = 0xFF; + channel->scriptState.depth = 0; + channel->newPan = 0x40; + channel->panChannelWeight = 0x80; + channel->noteUnused = NULL; + channel->someOtherPriority = 0; + channel->targetReverbVol = 0; + channel->reverbIndex = 0; + channel->notePriority = 3; + channel->delay = 0; + channel->adsr.envelope = gDefaultEnvelope; + channel->adsr.decayIndex = 0x20; + channel->vibratoRateTarget = 0x800; + channel->vibratoRateStart = 0x800; + channel->adsr.sustain = 0; + channel->vibratoDepthTarget = 0; + channel->vibratoDepthStart = 0; + channel->vibratoRateChangeDelay = 0; + channel->vibratoDepthChangeDelay = 0; + channel->vibratoDelay = 0; + channel->volume = 1.0f; + channel->volumeMod = 1.0f; + channel->freqMod = 1.0f; + for (i = 0; i < 8; i++) { + channel->seqScriptIO[i] = -1; + } + channel->unused = 0; + func_80012844(&channel->notePool); +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_800141A8.s") +s32 func_80013FA4(SequenceChannel* channel, s32 arg1) { + SequenceLayer* temp_v0; + SequenceLayer* temp; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_80014224.s") + if (channel->layers[arg1] == NULL) { + temp_v0 = func_800145DC(&gLayerFreeList); + channel->layers[arg1] = temp_v0; + if (temp_v0 == NULL) { + channel->layers[arg1] = NULL; + return -1; + } + } else { + func_8001264C(channel->layers[arg1]); + } + temp = channel->layers[arg1]; + temp->channel = channel; + temp->adsr = channel->adsr; + temp->enabled = 1; + temp->muted = 0; + temp->continuousNotes = 0; + temp->finished = 0; + temp->adsr.decayIndex = 0; + temp->bit1 = 0; + temp->stereo.asByte = 0x40; + temp->portamento.mode = 0; + temp->state.depth = 0; + temp->unk_3 = 0; + temp->gateTime = 0x80; + temp->pan = 0x40; + temp->transposition = 0; + temp->delay = 0; + temp->gateDelay = 0; + temp->delay2 = 0; + temp->note = NULL; + temp->instrument = NULL; + temp->instOrWave = 0xFF; + temp->freqMod = 1.0f; + temp->velocitySquare = 0.0f; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_80014350.s") + return 0; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_80014420.s") +void func_800140B0(SequenceLayer* layer) { + if (layer != NULL) { + func_8001264C(layer); + layer->enabled = 0; + layer->finished = 1; + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_800144C4.s") +void func_800140EC(SequenceChannel* channel, s32 arg1) { + SequenceLayer* temp_a2 = channel->layers[arg1]; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_8001459C.s") + if (temp_a2 != NULL) { + func_8001459C(&gLayerFreeList, &temp_a2->listItem); + func_800140B0(temp_a2); + channel->layers[arg1] = NULL; + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_800145DC.s") +void func_8001413C(SequenceChannel* channel) { + s32 var_s0; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_8001461C.s") + for (var_s0 = 0; var_s0 < ARRAY_COUNT(channel->layers); var_s0++) { + func_800140EC(channel, var_s0); + } + func_80012944(&channel->notePool); + channel->enabled = 0; + channel->finished = 1; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_800146A0.s") +SequenceChannel* func_800141A8(void) { + s32 i; + SequenceChannel* var_v1; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_800146B4.s") + for (i = 0; i < 48; i++) { + if (gSeqChannels[i].seqPlayer == NULL) { + return &gSeqChannels[i]; + } + } + return &gSeqChannelNone; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_800146E4.s") +void func_80014224(SequencePlayer* seqPlayer, u16 arg1) { + SequenceChannel* temp_s0; + SequenceChannel* temp_v0; + s32 i; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_80014728.s") + for (i = 0; i < 16; i++) { + if (arg1 & 1) { + temp_s0 = seqPlayer->channels[i]; + if ((IS_SEQUENCE_CHANNEL_VALID(temp_s0) == 1) && (seqPlayer == temp_s0->seqPlayer)) { + func_8001413C(temp_s0); + temp_s0->seqPlayer = NULL; + } + temp_v0 = func_800141A8(); + if (IS_SEQUENCE_CHANNEL_VALID(temp_v0) == 0) { + D_80157EF8 = i + 0x10000; + seqPlayer->channels[i] = temp_v0; + } else { + func_80013E80(temp_v0); + seqPlayer->channels[i] = temp_v0; + temp_v0->seqPlayer = seqPlayer; + temp_v0->fontId = seqPlayer->defaultFont; + temp_v0->muteBehavior = seqPlayer->muteBehavior; + temp_v0->noteAllocPolicy = seqPlayer->noteAllocPolicy; + } + } + arg1 = arg1 >> 1; + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_800152A0.s") +void func_80014350(SequencePlayer* seqPlayer, u16 arg1) { + s32 i; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_80015310.s") + for (i = 0; i < 16; i++) { + if (arg1 & 1) { + SequenceChannel* temp_s0 = seqPlayer->channels[i]; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_800153A4.s") + if (IS_SEQUENCE_CHANNEL_VALID(temp_s0) == 1) { + if (seqPlayer == temp_s0->seqPlayer) { + func_8001413C(temp_s0); + if (0) {} + temp_s0->seqPlayer = NULL; + } + seqPlayer->channels[i] = &gSeqChannelNone; + } + } + arg1 = arg1 >> 1; + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_800153C8.s") +void func_80014420(SequencePlayer* seqPlayer, u8 arg1, u8* arg2) { + SequenceChannel* channel = seqPlayer->channels[arg1]; + s32 i; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_80015FB4.s") + if (IS_SEQUENCE_CHANNEL_VALID(channel) != 0) { + channel->scriptState.depth = 0; + channel->scriptState.pc = arg2; + channel->enabled = 1; + channel->finished = 0; + channel->delay = 0; + for (i = 0; i < ARRAY_COUNT(channel->layers); i++) { + if (channel->layers[i] != NULL) { + func_800140EC(channel, i); + } + } + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_8001676C.s") +void func_800144C4(SequencePlayer* seqPlayer) { + func_80014350(seqPlayer, 0xFFFF); + func_80012944(&seqPlayer->notePool); + seqPlayer->finished = 1; + seqPlayer->enabled = 0; + if ((gSeqLoadStatus[seqPlayer->seqId] >= 2) && (gSeqLoadStatus[seqPlayer->seqId] != 5)) { + gSeqLoadStatus[seqPlayer->seqId] = 3; + } + if ((gFontLoadStatus[seqPlayer->defaultFont] >= 2) && (gFontLoadStatus[seqPlayer->defaultFont] != 5)) { + gFontLoadStatus[seqPlayer->defaultFont] = 4; + } + if (seqPlayer->defaultFont == gFontCache.temporary.entries[0].id) { + gFontCache.temporary.nextSide = 1; + } else if (seqPlayer->defaultFont == gFontCache.temporary.entries[1].id) { + gFontCache.temporary.nextSide = 0; + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_800167E4.s") +void func_8001459C(AudioListItem* list, AudioListItem* item) { + if (item->prev == NULL) { + list->prev->next = item; + item->prev = list->prev; + item->next = list; + list->prev = item; + list->u.count++; + item->pool = list->pool; + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_8001689C.s") +void* func_800145DC(AudioListItem* list) { + AudioListItem* item = list->prev; + + if (item == list) { + return NULL; + } + item->prev->next = list; + list->prev = item->prev; + item->prev = NULL; + list->u.count--; + return item->u.value; +} + +void func_8001461C(void) { + s32 i; + + gLayerFreeList.prev = &gLayerFreeList; + gLayerFreeList.next = &gLayerFreeList; + gLayerFreeList.u.value = NULL; + gLayerFreeList.pool = NULL; + + for (i = 0; i < 64; i++) { + gSeqLayers[i].listItem.u.value = &gSeqLayers[i]; + gSeqLayers[i].listItem.prev = NULL; + func_8001459C(&gLayerFreeList, &gSeqLayers[i].listItem); + } +} + +u8 func_800146A0(SeqScriptState* state) { + return *(state->pc++); +} + +s16 func_800146B4(SeqScriptState* state) { + s16 ret = *(state->pc++) << 8; + + ret = *(state->pc++) | ret; + return ret; +} + +u16 func_800146E4(SeqScriptState* state) { + u16 ret = *(state->pc++); + + if (ret & 0x80) { + ret = (ret << 8) & 0x7F00; + ret = *(state->pc++) | ret; + } + return ret; +} + +void func_80014728(SequenceLayer* layer) { + SequencePlayer* seqPlayer; + SequenceChannel* channel; // sp60 + SeqScriptState* state; + u8 cmd; + Drum* drum; + Instrument* instrument; + TunedSample* sample; + Portamento* portamento; + s16 var_s2; + u16 sp44; // sp44 + s32 sp40 = true; // sp40 + + if (!layer->enabled) { + return; + } + if (layer->delay >= 2) { + layer->delay--; + if (!layer->muted && (layer->gateDelay >= layer->delay)) { + func_8001264C(layer); + layer->muted = 1; + } + return; + } + if (!layer->continuousNotes) { + func_8001264C(layer); + } else if ((layer->note != NULL) && (layer == layer->note->playbackState.wantedParentLayer)) { + func_8001264C(layer); + } + if (((layer->portamento.mode & ~0x80) == 1) || ((layer->portamento.mode & ~0x80) == 2)) { + layer->portamento.mode = 0; + } + channel = layer->channel; + state = &layer->state; + seqPlayer = channel->seqPlayer; + layer->ignoreDrumPan = 1; + while (true) { + cmd = func_800146A0(state); + if (cmd <= 0xC0) { + break; + } + switch (cmd) { + case 0xFF: + if (state->depth == 0) { + func_800140B0(layer); + return; + } + state->pc = state->stack[--state->depth]; + break; + case 0xFC: + sp44 = func_800146B4(state); + state->stack[state->depth] = state->pc; + state->depth++; + state->pc = &seqPlayer->seqData[sp44]; + break; + case 0xF8: + state->remLoopIters[state->depth] = func_800146A0(state); + state->stack[state->depth] = state->pc; + state->depth++; + break; + case 0xF7: + state->remLoopIters[state->depth - 1]--; + if (state->remLoopIters[state->depth - 1] != 0) { + state->pc = state->stack[state->depth - 1]; + } else { + state->depth--; + } + break; + case 0xFB: + sp44 = func_800146B4(state); + state->pc = &seqPlayer->seqData[sp44]; + break; + case 0xF4: + state->pc += (s8) func_800146A0(state); + break; + case 0xC1: + case 0xCA: + var_s2 = *state->pc++; + if (cmd == 0xC1) { + layer->velocitySquare = (f32) (var_s2 * var_s2) / 16129.0f; + } else { + layer->pan = var_s2; + } + break; + case 0xC2: + case 0xC9: + var_s2 = *state->pc++; + if (cmd == 0xC9) { + layer->gateTime = var_s2; + } else { + layer->transposition = var_s2; + } + break; + case 0xC4: + case 0xC5: + if (cmd == 0xC4) { + layer->continuousNotes = 1; + } else { + layer->continuousNotes = 0; + } + func_8001264C(layer); + break; + case 0xC3: + sp44 = func_800146E4(state); + layer->shortNoteDefaultDelay = sp44; + break; + case 0xC6: + cmd = func_800146A0(state); + if (cmd >= 127) { + if (cmd == 127) { + layer->instOrWave = 0; + } else { + layer->instOrWave = cmd; + layer->instrument = NULL; + } + if (cmd == 255) { + layer->adsr.decayIndex = 0; + } + } else { + // cmd = func_800152A0(channel, cmd, &layer->instrument, &layer->adsr); + // layer->instOrWave = cmd; + if ((layer->instOrWave = func_800152A0(channel, cmd, &layer->instrument, &layer->adsr)) == 0) { + layer->instOrWave = 0xFF; + } + } + break; + case 0xC7: + layer->portamento.mode = func_800146A0(state); + cmd = func_800146A0(state) + channel->transposition + layer->transposition + seqPlayer->transposition; + if (cmd > 127) { + cmd = 0; + } + layer->portamentoTargetNote = cmd; + if (layer->portamento.mode & 0x80) { + layer->portamentoTime = *state->pc++; + } else { + sp44 = func_800146E4(state); + layer->portamentoTime = sp44; + } + break; + case 0xC8: + layer->portamento.mode = 0; + break; + case 0xCB: + sp44 = func_800146B4(state); + layer->adsr.envelope = (EnvelopePoint*) &seqPlayer->seqData[sp44]; + layer->adsr.decayIndex = func_800146A0(state); + break; + case 0xCC: + layer->bit1 = 1; + break; + case 0xCD: + layer->stereo.asByte = func_800146A0(state); + break; + default: + switch (cmd & 0xF0) { /* switch 6; irregular */ + case 0xD0: + sp44 = (u16) seqPlayer->shortNoteVelocityTable[cmd & 0xF]; + layer->velocitySquare = (f32) (sp44 * sp44) / 16129.0f; + break; + case 0xE0: + layer->gateTime = seqPlayer->shortNoteGateTimeTable[cmd & 0xF]; + break; + default: + break; + } + break; + } + } + if (cmd == 0xC0) { + layer->delay = func_800146E4(state); + layer->muted = true; + } else { + f32 tuning; + f32 freqMod; + u32 instOrWave; + s32 vel; // sp30 + f32 temp_fa1; + f32 temp_fv1; + f32 var_v0_2; + s32 temp2; + + layer->muted = false; + if (channel->largeNotes == 1) { + switch (cmd & 0xC0) { + case 0x00: + sp44 = func_800146E4(state); + vel = *state->pc++; + layer->gateTime = *state->pc++; + layer->lastDelay = sp44; + break; + case 0x40: + sp44 = func_800146E4(state); + vel = *state->pc++; + layer->gateTime = 0; + layer->lastDelay = sp44; + break; + case 0x80: + sp44 = layer->lastDelay; + vel = *state->pc++; + layer->gateTime = *state->pc++; + + break; + } + if ((vel > 127) || (vel < 0)) { + vel = 127; + } + layer->velocitySquare = SQ((f32) vel) / 16129.0f; + cmd -= (cmd & 0xC0); + } else { + switch (cmd & 0xC0) { /* switch 4; irregular */ + case 0x0: + sp44 = func_800146E4(state); + layer->lastDelay = sp44; + break; + case 0x40: + sp44 = layer->shortNoteDefaultDelay; + break; + case 0x80: + sp44 = layer->lastDelay; + break; + } + cmd -= (cmd & 0xC0); + } + layer->delay = sp44; + layer->gateDelay = (layer->gateTime * sp44) >> 8; + if ((seqPlayer->muted && (channel->muteBehavior & 0x50)) || (channel->muted)) { + layer->muted = 1; + } else { + instOrWave = layer->instOrWave; + if (instOrWave == 0xFF) { + if (!channel->hasInstrument) { + return; + } + instOrWave = channel->instOrWave; + } + if (instOrWave == 0) { + cmd = cmd + channel->transposition + layer->transposition; + drum = Audio_GetDrum(channel->fontId, cmd); + if (drum == NULL) { + layer->muted = true; + layer->delay2 = layer->delay; + return; + } + layer->adsr.envelope = drum->envelope; + layer->adsr.decayIndex = drum->adsrDecayIndex; + if (!layer->bit1) { + layer->pan = drum->pan; + } + layer->tunedSample = &drum->tunedSample; + layer->freqMod = layer->tunedSample->tuning; + } else { + cmd = cmd + seqPlayer->transposition + channel->transposition + layer->transposition; + if (cmd >= 0x80) { + layer->muted = 1; + } else { + if (layer->instOrWave == 0xFF) { + instrument = channel->instrument; + } else { + instrument = layer->instrument; + } + if (layer->portamento.mode != 0) { + + if (layer->portamentoTargetNote < cmd) { + temp2 = cmd; + } else { + temp2 = layer->portamentoTargetNote; + } + if (instrument != NULL) { + sample = func_80011CF0(instrument, temp2); + sp40 = (sample == layer->tunedSample); + layer->tunedSample = sample; + tuning = sample->tuning; + } else { + tuning = 1.0f; + layer->tunedSample = NULL; + } + temp_fv1 = gPitchFrequencies[cmd] * tuning; + temp_fa1 = gPitchFrequencies[layer->portamentoTargetNote] * tuning; + portamento = &layer->portamento; + switch (portamento->mode & ~0x80) { + case 1: + case 3: + case 5: + var_v0_2 = temp_fv1; + freqMod = temp_fa1; + break; + case 2: + case 4: + freqMod = temp_fv1; + var_v0_2 = temp_fa1; + break; + default: + freqMod = temp_fv1; + var_v0_2 = temp_fv1; + break; + } + + portamento->extent = (var_v0_2 / freqMod) - 1.0f; + if (layer->portamento.mode & 0x80) { + portamento->speed = ((s32) seqPlayer->tempo * 32512.0f) / + ((f32) layer->delay * gMaxTempo * (s32) layer->portamentoTime); + } else { + portamento->speed = 127.0f / (s32) layer->portamentoTime; + } + portamento->cur = 0.0f; + layer->freqMod = freqMod; + if ((layer->portamento.mode & ~0x80) == 5) { + layer->portamentoTargetNote = cmd; + } + } else if (instrument != NULL) { + sample = func_80011CF0(instrument, cmd); + sp40 = (sample == layer->tunedSample); + layer->tunedSample = sample; + layer->freqMod = gPitchFrequencies[cmd] * sample->tuning; + } else { + layer->tunedSample = NULL; + layer->freqMod = gPitchFrequencies[cmd]; + } + } + } + layer->delay2 = layer->delay; + } + } + if ((layer->muted == 0) && (layer->tunedSample != NULL) && (layer->tunedSample->sample->codec == 2) && + (layer->tunedSample->sample->medium != 0)) { + layer->muted = 1; + } + if (layer->muted == 1) { + if ((layer->note != NULL) || (layer->continuousNotes)) { + func_8001264C(layer); + } + } else { + cmd = 0; + if (!layer->continuousNotes) { + cmd = 1; + } else if ((layer->note == NULL) || ((u8) layer->unk_3 == 0)) { + cmd = 1; + } else if (sp40 == 0) { + func_8001264C(layer); + cmd = 1; + } else if (layer != layer->note->playbackState.parentLayer) { + cmd = 1; + } else if (layer->tunedSample == NULL) { + func_80012790(layer->note, layer); + } + if (cmd != 0) { + layer->note = func_80012FFC(layer); + } + if ((layer->note != NULL) && (layer == layer->note->playbackState.parentLayer)) { + func_80013A64(layer->note); + } + } + if (!channel) {} +} + +u8 func_800152A0(SequenceChannel* channel, u8 arg1, Instrument** instrument, AdsrSettings* adsrSettings) { + Instrument* temp_v0; + + temp_v0 = Audio_GetInstrument(channel->fontId, arg1); + if (temp_v0 == NULL) { + *instrument = NULL; + return 0; + } + + adsrSettings->envelope = temp_v0->envelope; + adsrSettings->decayIndex = temp_v0->adsrDecayIndex; + *instrument = temp_v0; + arg1++; + return arg1; +} + +void func_80015310(SequenceChannel* channel, u8 arg1) { + if (arg1 >= 0x80) { + channel->instOrWave = arg1; + channel->instrument = NULL; + } else if (arg1 == 0x7F) { + channel->instOrWave = 0; + channel->instrument = (Instrument*) 1; + } else { + if ((channel->instOrWave = func_800152A0(channel, arg1, &channel->instrument, &channel->adsr)) == 0) { + channel->hasInstrument = false; + return; + } + } + channel->hasInstrument = true; +} + +void func_800153A4(SequenceChannel* channel, u8 arg1) { + channel->volume = (s32) arg1 / 127.0f; +} + +// #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_seqplayer/func_800153C8.s") +void func_800153C8(SequenceChannel* channel) { + s32 i; + SequencePlayer* seqPlayer; + u8 cmd; + s8 temps8; + u8 loBits; + u16 sp52; + SeqScriptState* state; + s8 sp4B; + u8* seqData; + s32 pad; + + if (!channel->enabled) { + return; + } + if (channel->stopScript) { + for (i = 0; i < ARRAY_COUNT(channel->layers); i++) { + if (channel->layers[i] != NULL) { + func_80014728(channel->layers[i]); + } + } + return; + } + seqPlayer = channel->seqPlayer; + if ((seqPlayer->muted) && (channel->muteBehavior & 0x80)) { + return; + } + + if (channel->delay != 0) { + channel->delay--; + } + + if (channel->delay == 0) { + + while (true) { + state = &channel->scriptState; + cmd = func_800146A0(state); + if (cmd > 0xC0) { + switch (cmd) { + case 0xD5: + case 0xD6: + break; + case 0xFF: + if (state->depth == 0) { + func_8001413C(channel); + goto end_loop; + } + state->pc = state->stack[--state->depth]; + break; + case 0xFE: + goto end_loop; + case 0xFD: + channel->delay = func_800146E4(state); + goto end_loop; + case 0xEA: + channel->stopScript = 1; + goto end_loop; + case 0xFC: + // if (0 && state->depth >= 4) { + // } + sp52 = func_800146B4(state); + state->stack[state->depth] = state->pc; + state->depth++; + state->pc = &seqPlayer->seqData[sp52]; + break; + case 0xF8: + // if (0 && state->depth >= 4) { + // } + state->remLoopIters[state->depth] = func_800146A0(state); + state->stack[state->depth] = state->pc; + state->depth++; + break; + case 0xF7: + state->remLoopIters[state->depth - 1]--; + if (state->remLoopIters[state->depth - 1] != 0) { + state->pc = state->stack[state->depth - 1]; + } else { + state->depth--; + } + break; + case 0xF6: + state->depth--; + break; + case 0xF5: + case 0xF9: + case 0xFA: + case 0xFB: + sp52 = func_800146B4(state); + if (((cmd == 0xFA) && (sp4B != 0)) || ((cmd == 0xF9) && (sp4B >= 0)) || + ((cmd == 0xF5) && (sp4B < 0))) { + break; + } + state->pc = &seqPlayer->seqData[sp52]; + break; + case 0xF2: + case 0xF3: + case 0xF4: + temps8 = func_800146A0(state); + if (((cmd == 0xF3) && (sp4B != 0)) || ((cmd == 0xF2) && (sp4B >= 0))) { + break; + } + state->pc = &state->pc[temps8]; + break; + case 0xF1: + func_80012944(&channel->notePool); + func_80012AA4(&channel->notePool, func_800146A0(state)); + break; + case 0xF0: + func_80012944(&channel->notePool); + break; + case 0xC2: + sp52 = func_800146B4(state); + channel->dynTable = (u8(*)[2]) & seqPlayer->seqData[sp52]; + break; + case 0xC5: + if (sp4B != -1) { + seqData = channel->dynTable[sp4B]; + sp52 = (seqData[0] << 8) + seqData[1]; + channel->dynTable = (u8(*)[2]) & seqPlayer->seqData[sp52]; + } + break; + case 0xEB: + cmd = func_800146A0(state); + sp52 = ((u16*) gSeqFontTable)[seqPlayer->seqId]; + loBits = gSeqFontTable[sp52]; + cmd = gSeqFontTable[sp52 + loBits - cmd]; + if (AudioHeap_SearchCaches(FONT_TABLE, CACHE_EITHER, cmd) != NULL) { + channel->fontId = cmd; + } + /* fallthrough */ + case 0xC1: + cmd = func_800146A0(state); + func_80015310(channel, cmd); + break; + case 0xC3: + channel->largeNotes = false; + break; + case 0xC4: + channel->largeNotes = true; + break; + case 0xDF: + cmd = func_800146A0(state); + func_800153A4(channel, cmd); + channel->changes.s.volume = 1; + break; + case 0xE0: + channel->volumeMod = (s32) func_800146A0(state) / 128.0f; + channel->changes.s.volume = 1; + break; + case 0xDE: + sp52 = func_800146B4(state); + channel->freqMod = (s32) sp52 / 32768.0f; + channel->changes.s.freqMod = 1; + break; + case 0xD3: + cmd = func_800146A0(state) + 0x80; + channel->freqMod = gBendPitchOneOctaveFrequencies[cmd]; + channel->changes.s.freqMod = 1; + break; + case 0xEE: + cmd = func_800146A0(state) + 0x80; + channel->freqMod = gBendPitchTwoSemitonesFrequencies[cmd]; + channel->changes.s.freqMod = 1; + break; + case 0xDD: + channel->newPan = func_800146A0(state); + channel->changes.s.pan = 1; + break; + case 0xDC: + channel->panChannelWeight = func_800146A0(state); + channel->changes.s.pan = 1; + break; + case 0xDB: + temps8 = *(state->pc++); + channel->transposition = temps8; + break; + case 0xDA: + sp52 = func_800146B4(state); + channel->adsr.envelope = (EnvelopePoint*) &seqPlayer->seqData[sp52]; + break; + case 0xD9: + channel->adsr.decayIndex = func_800146A0(state); + break; + case 0xD8: + channel->vibratoDepthTarget = func_800146A0(state) * 8; + channel->vibratoDepthStart = 0; + channel->vibratoDepthChangeDelay = 0; + break; + case 0xD7: + channel->vibratoRateStart = channel->vibratoRateTarget = func_800146A0(state) * 32; + channel->vibratoRateChangeDelay = 0; + break; + case 0xE2: + channel->vibratoDepthStart = func_800146A0(state) * 8; + channel->vibratoDepthTarget = func_800146A0(state) * 8; + channel->vibratoDepthChangeDelay = func_800146A0(state) * 0x10; + break; + case 0xE1: + channel->vibratoRateStart = func_800146A0(state) * 32; + channel->vibratoRateTarget = func_800146A0(state) * 32; + channel->vibratoRateChangeDelay = func_800146A0(state) * 0x10; + break; + case 0xE3: + channel->vibratoDelay = func_800146A0(state) * 0x10; + break; + case 0xD4: + channel->targetReverbVol = func_800146A0(state); + break; + case 0xC6: + cmd = func_800146A0(state); + sp52 = ((u16*) gSeqFontTable)[seqPlayer->seqId]; + loBits = gSeqFontTable[sp52]; + cmd = gSeqFontTable[sp52 + loBits - cmd]; + if (AudioHeap_SearchCaches(FONT_TABLE, CACHE_EITHER, cmd) != NULL) { + channel->fontId = cmd; + } + break; + case 0xC7: + cmd = func_800146A0(state); + sp52 = func_800146B4(state); + seqData = &seqPlayer->seqData[sp52]; + *seqData = (u8) sp4B + cmd; + break; + case 0xC8: + case 0xC9: + case 0xCC: + temps8 = func_800146A0(state); + if (cmd == 0xC8) { + sp4B -= temps8; + } else if (cmd == 0xCC) { + sp4B = temps8; + } else { + sp4B &= temps8; + } + break; + case 0xCD: + func_8001413C(seqPlayer->channels[func_800146A0(state)]); + break; + case 0xCA: + channel->muteBehavior = func_800146A0(state); + break; + case 0xCB: + sp52 = func_800146B4(state); + pad = sp52 + sp4B; + // seqData =&seqPlayer->seqData[sp4B]; + sp4B = seqPlayer->seqData[pad]; + break; + case 0xCE: + channel->unkC4 = func_800146B4(state); + break; + case 0xCF: + sp52 = func_800146B4(state); + seqData = &seqPlayer->seqData[sp52]; + seqData[0] = (channel->unkC4 >> 8) & 0xFF; + seqData[1] = channel->unkC4 & 0xFF; + break; + case 0xD0: + channel->stereoHeadsetEffects = func_800146A0(state); + break; + case 0xD1: + channel->noteAllocPolicy = func_800146A0(state); + break; + case 0xD2: + channel->adsr.sustain = func_800146A0(state); + break; + case 0xE5: + channel->someOtherPriority = func_800146A0(state); + break; + case 0xE4: + if (sp4B != -1) { + if (state->depth >= 4) { + // eu_stubbed_printf_0("Audio:Track: CTBLCALL Macro Level Over Error!\n"); + } + seqData = channel->dynTable[sp4B]; + state->stack[state->depth++] = state->pc; + sp52 = (seqData[0] << 8) + seqData[1]; + state->pc = &seqPlayer->seqData[sp52]; + // if (0 && sp52 >= gSequenceTable->entries[seqPlayer->seqId].size) { + // // eu_stubbed_printf_3("Err :Sub %x ,address %x:Undefined SubTrack Function %x", + // seqChannel, state->pc, sp38); + // } + } + break; + case 0xE6: + channel->bookOffset = func_800146A0(state); + break; + case 0xE7: + sp52 = func_800146B4(state); + seqData = &seqPlayer->seqData[sp52]; + channel->muteBehavior = *seqData++; + channel->noteAllocPolicy = *seqData++; + channel->notePriority = *seqData++; + channel->transposition = (s8) *seqData++; + channel->newPan = *seqData++; + channel->panChannelWeight = *seqData++; + channel->targetReverbVol = *seqData++; + channel->someOtherPriority = *seqData++; + channel->changes.s.pan = 1; + break; + case 0xE8: + channel->muteBehavior = func_800146A0(state); + channel->noteAllocPolicy = func_800146A0(state); + channel->notePriority = func_800146A0(state); + channel->transposition = (s8) func_800146A0(state); + channel->newPan = func_800146A0(state); + channel->panChannelWeight = func_800146A0(state); + channel->targetReverbVol = func_800146A0(state); + channel->someOtherPriority = func_800146A0(state); + channel->changes.s.pan = 1; + break; + case 0xEC: + channel->vibratoDepthTarget = 0; + channel->vibratoDepthStart = 0; + channel->vibratoDepthChangeDelay = 0; + channel->vibratoRateTarget = 0; + channel->vibratoRateStart = 0; + channel->vibratoRateChangeDelay = 0; + channel->freqMod = 1.0f; + break; + case 0xE9: + channel->notePriority = func_800146A0(state); + break; + case 0xED: + // cmd = + channel->reverbIndex = func_800146A0(state); + break; + case 0xEF: + func_800146B4(state); + func_800146A0(state); + break; + } + } else { + loBits = cmd & 0xF; + switch (cmd & 0xF0) { + case 0x0: + if (channel->layers[loBits] != NULL) { + sp4B = channel->layers[loBits]->finished; + } else { + sp4B = -1; + } + break; + case 0x10: + channel->seqScriptIO[loBits] = -1; + if (AudioLoad_SlowLoadSample(channel->fontId, sp4B, &channel->seqScriptIO[loBits]) == -1) {} + break; + case 0x70: + channel->seqScriptIO[loBits] = sp4B; + break; + case 0x80: + sp4B = channel->seqScriptIO[loBits]; + if (loBits < 4) { + channel->seqScriptIO[loBits] = -1; + } + break; + case 0x50: + sp4B -= channel->seqScriptIO[loBits]; + break; + case 0x60: + channel->delay = loBits; + goto end_loop; + case 0x90: + sp52 = func_800146B4(state); + if (func_80013FA4(channel, loBits) == 0) { + // if(1) {} + channel->layers[loBits]->state.pc = &seqPlayer->seqData[sp52]; + } + break; + case 0xA0: + func_800140EC(channel, loBits); + break; + case 0xB0: + if ((sp4B != -1) && (func_80013FA4(channel, loBits) != -1)) { + seqData = channel->dynTable[sp4B]; + sp52 = (seqData[0] << 8) + seqData[1]; + channel->layers[loBits]->state.pc = &seqPlayer->seqData[sp52]; + } + break; + case 0x20: + sp52 = func_800146B4(state); + func_80014420(seqPlayer, loBits, &seqPlayer->seqData[sp52]); + break; + case 0x30: + cmd = func_800146A0(state); + seqPlayer->channels[loBits]->seqScriptIO[cmd] = sp4B; + break; + case 0x40: + cmd = func_800146A0(state); + sp4B = seqPlayer->channels[loBits]->seqScriptIO[cmd]; + break; + } + } + } + } +end_loop:; + for (i = 0; i < ARRAY_COUNT(channel->layers); i++) { + if (channel->layers[i] != NULL) { + func_80014728(channel->layers[i]); + } + } +} + +void func_80015FB4(SequencePlayer* seqPlayer) { + u8 temp_s2; + u8 temp_v0_8; + u16 temp_v0_7; + u8* temp_v1_7; + SeqScriptState* temp_s0; + s32 sp50; + s32 i; + s8 pad; + u8* pad2; + s32 pad3; + + if (!seqPlayer->enabled) { + return; + } + if (((gSeqLoadStatus[seqPlayer->seqId] < 2) != 0) || + ((seqPlayer->defaultFont != 0xFF) && ((gFontLoadStatus[seqPlayer->defaultFont] < 2) != 0))) { + func_800144C4(seqPlayer); + return; + } + if (gSeqLoadStatus[seqPlayer->seqId] != 5) { + gSeqLoadStatus[seqPlayer->seqId] = 2; + } + if (gFontLoadStatus[seqPlayer->defaultFont] != 5) { + gFontLoadStatus[seqPlayer->defaultFont] = 2; + } + if (seqPlayer->muted && (seqPlayer->muteBehavior & 0x80)) { + return; + } + seqPlayer->tempoAcc += seqPlayer->tempo; + seqPlayer->tempoAcc = seqPlayer->tempoAcc + (s16) seqPlayer->tempoChange; + if (seqPlayer->tempoAcc < gMaxTempo) { + return; + } + seqPlayer->tempoAcc = (seqPlayer->tempoAcc - gMaxTempo) & 0xFFFF; // fake? + if (seqPlayer->delay > 1) { + seqPlayer->delay--; + } else { + temp_s0 = &seqPlayer->scriptState; + seqPlayer->recalculateVolume = true; + while (true) { + temp_s2 = func_800146A0(temp_s0); + if (temp_s2 == 0xFF) { + if (temp_s0->depth == 0) { + func_800144C4(seqPlayer); + break; + } + temp_s0->pc = temp_s0->stack[--temp_s0->depth]; + } + if (temp_s2 == 0xFD) { + seqPlayer->delay = func_800146E4(temp_s0); + break; + } + if (temp_s2 == 0xFE) { + seqPlayer->delay = 1; + break; + } + if (temp_s2 >= 0xC0) { + switch (temp_s2) { + case 0xFF: + break; + case 0xFC: + temp_v0_7 = func_800146B4(temp_s0); + + temp_s0->stack[temp_s0->depth] = temp_s0->pc; + temp_s0->depth++; + temp_s0->pc = &seqPlayer->seqData[temp_v0_7]; + break; + case 0xF8: + temp_s0->remLoopIters[temp_s0->depth] = func_800146A0(temp_s0); + temp_s0->stack[temp_s0->depth] = temp_s0->pc; + temp_s0->depth++; + break; + case 0xF7: + temp_s0->remLoopIters[temp_s0->depth - 1]--; + if (temp_s0->remLoopIters[temp_s0->depth - 1] != 0) { + temp_s0->pc = temp_s0->stack[temp_s0->depth - 1]; + } else { + temp_s0->depth--; + } + break; + case 0xF5: + case 0xF9: + case 0xFA: + case 0xFB: + temp_v0_7 = func_800146B4(temp_s0); + if (((temp_s2 != 0xFA) || (sp50 == 0)) && ((temp_s2 != 0xF9) || (sp50 < 0)) && + ((temp_s2 != 0xF5) || (sp50 >= 0))) { + temp_s0->pc = &seqPlayer->seqData[temp_v0_7]; + } + break; + case 0xF2: + case 0xF3: + case 0xF4: + pad = func_800146A0(temp_s0); + if (((temp_s2 != 0xF3) || (sp50 == 0)) && ((temp_s2 != 0xF2) || (sp50 < 0))) { + temp_s0->pc = &temp_s0->pc[pad]; + } + break; + case 0xF1: + func_80012944(&seqPlayer->notePool); + func_80012AA4(&seqPlayer->notePool, func_800146A0(temp_s0)); + break; + case 0xF0: + func_80012944(&seqPlayer->notePool); + break; + case 0xDF: + seqPlayer->transposition = 0; + /* fallthrough */ + case 0xDE: + seqPlayer->transposition += (s8) func_800146A0(temp_s0); + break; + case 0xDD: + seqPlayer->tempo = func_800146A0(temp_s0) * 0x30; + if (seqPlayer->tempo > gMaxTempo) { + seqPlayer->tempo = gMaxTempo; + } + if ((s16) seqPlayer->tempo <= 0) { + seqPlayer->tempo = 1; + } + break; + case 0xDC: + seqPlayer->tempoChange = (s8) func_800146A0(temp_s0) * 0x30; + break; + case 0xDA: + temp_s2 = func_800146A0(temp_s0); + temp_v0_7 = func_800146B4(temp_s0); + switch (temp_s2) { + case 0: + case 1: + if (seqPlayer->state != 2) { + seqPlayer->fadeTimerUnkEu = temp_v0_7; + seqPlayer->state = temp_s2; + } + break; + case 2: + seqPlayer->fadeTimer = temp_v0_7; + seqPlayer->state = temp_s2; + seqPlayer->fadeVelocity = (0.0f - seqPlayer->fadeVolume) / (s32) seqPlayer->fadeTimer; + break; + } + break; + case 0xDB: + temp_v0_8 = func_800146A0(temp_s0); + switch (seqPlayer->state) { + case 2: + break; + case 1: + seqPlayer->state = 0; + seqPlayer->fadeVolume = 0.0f; + /* fallthrough */ + case 0: + seqPlayer->fadeTimer = seqPlayer->fadeTimerUnkEu; + if (seqPlayer->fadeTimerUnkEu != 0) { + seqPlayer->fadeVelocity = (((s32) temp_v0_8 / 127.0f) - seqPlayer->fadeVolume) / + (s32) seqPlayer->fadeTimer; + } else { + seqPlayer->fadeVolume = (s32) temp_v0_8 / 127.f; + } + break; + } + break; + case 0xD9: + seqPlayer->fadeVolumeMod = (s8) func_800146A0(temp_s0) / 127.0f; + break; + case 0xD7: + func_80014224(seqPlayer, func_800146B4(temp_s0)); + break; + case 0xD6: + func_80014350(seqPlayer, func_800146B4(temp_s0)); + break; + case 0xD5: + seqPlayer->muteVolumeMod = (s8) func_800146A0(temp_s0) / 127.0f; + break; + case 0xD4: + seqPlayer->muted = 1; + break; + case 0xD3: + seqPlayer->muteBehavior = func_800146A0(temp_s0); + break; + case 0xD1: + case 0xD2: + temp_v0_7 = func_800146B4(temp_s0); + temp_v1_7 = &seqPlayer->seqData[(temp_v0_7)]; + if (temp_s2 == 0xD2) { + seqPlayer->shortNoteVelocityTable = temp_v1_7; + } else { + seqPlayer->shortNoteGateTimeTable = temp_v1_7; + } + break; + case 0xD0: + seqPlayer->noteAllocPolicy = func_800146A0(temp_s0); + break; + case 0xCC: + sp50 = func_800146A0(temp_s0); + break; + case 0xC9: + sp50 &= func_800146A0(temp_s0); + break; + case 0xC8: + sp50 -= func_800146A0(temp_s0); + break; + case 0xC7: + temp_s2 = func_800146A0(temp_s0); + temp_v0_7 = func_800146B4(temp_s0); + temp_v1_7 = &seqPlayer->seqData[temp_v0_7]; + temp_v0_8 = sp50; + *temp_v1_7 = temp_v0_8 + temp_s2; + break; + } + } else { + switch (temp_s2 & 0xF0) { + case 0x0: + sp50 = seqPlayer->channels[(u8) (temp_s2 & 0xF)]->finished; + break; + case 0x50: + sp50 -= seqPlayer->unk_07[0]; + break; + case 0x70: + seqPlayer->unk_07[0] = sp50; + break; + case 0x80: + sp50 = seqPlayer->unk_07[0]; + break; + case 0x90: + temp_v0_7 = func_800146B4(temp_s0); + func_80014420(seqPlayer, temp_s2 & 0xF, &seqPlayer->seqData[temp_v0_7]); + break; + case 0x10: + break; + case 0x20: + break; + case 0x40: + break; + case 0x60: + break; + case 0xA0: + break; + } + } + } + } + for (i = 0; i < 0x10; i++) { + if (IS_SEQUENCE_CHANNEL_VALID(seqPlayer->channels[i]) == 1) { + func_800153C8(seqPlayer->channels[i]); + } + } +} + +void func_8001676C(s32 arg0) { + s32 i; + + for (i = 0; i < ARRAY_COUNT(gSeqPlayers); i++) { + if (gSeqPlayers[i].enabled == 1) { + func_80015FB4(&gSeqPlayers[i]); + func_80013588(&gSeqPlayers[i]); + } + } + func_80011F88(); +} + +void func_800167E4(s32 arg0) { + SequencePlayer* seqPlayer = &gSeqPlayers[arg0]; + + func_800144C4(seqPlayer); + seqPlayer->delay = 0; + seqPlayer->state = 1; + seqPlayer->fadeTimer = 0; + seqPlayer->fadeTimerUnkEu = 0; + seqPlayer->tempoAcc = 0; + seqPlayer->tempo = 0x1680; + seqPlayer->tempoChange = 0; + seqPlayer->transposition = 0; + seqPlayer->noteAllocPolicy = 0; + seqPlayer->shortNoteVelocityTable = gDefaultShortNoteVelocityTable; + seqPlayer->shortNoteGateTimeTable = gDefaultShortNoteGateTimeTable; + seqPlayer->fadeVolume = 1.0f; + seqPlayer->fadeVolumeMod = 1.0f; + seqPlayer->fadeVelocity = 0.0f; + seqPlayer->volume = 0.0f; + seqPlayer->muteVolumeMod = 0.5f; +} + +void func_8001689C(void) { + s32 i; + s32 j; + + for (i = 0; i < ARRAY_COUNT(gSeqChannels); i++) { + gSeqChannels[i].seqPlayer = NULL; + gSeqChannels[i].enabled = false; +#ifdef AVOID_UB + for (j = 0; j < ARRAY_COUNT(gSeqChannels->layers); j++) { +#else + for (j = 0; j < 64; + j++) { // bug: this is ARRAY_COUNT(gSeqLayers) instead of ARRAY_COUNT(gSeqChannels[i].layers) +#endif + gSeqChannels[i].layers[j] = NULL; + } + } + + func_8001461C(); + + for (i = 0; i < ARRAY_COUNT(gSeqLayers); i++) { + gSeqLayers[i].channel = NULL; + gSeqLayers[i].enabled = false; + } + + for (i = 0; i < ARRAY_COUNT(gSeqPlayers); i++) { + for (j = 0; j < 16; j++) { + gSeqPlayers[i].channels[j] = &gSeqChannelNone; + } + gSeqPlayers[i].unk_07[0] = -1; + gSeqPlayers[i].muteBehavior = 0xE0; + gSeqPlayers[i].enabled = false; + gSeqPlayers[i].muted = false; + gSeqPlayers[i].fontDmaInProgress = false; + gSeqPlayers[i].seqDmaInProgress = false; + func_80012844(&gSeqPlayers[i].notePool); + func_800167E4(i); + } +} diff --git a/srceu/audio/audio_synthesis.c b/srceu/audio/audio_synthesis.c index 7683e1d2..aba36f8a 100644 --- a/srceu/audio/audio_synthesis.c +++ b/srceu/audio/audio_synthesis.c @@ -1,41 +1,614 @@ -#include "common.h" +// No regional differences in this file. +#include "sys.h" +#include "sf64audio_provisional.h" -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_80008130.s") +extern s8 D_8014E322; +extern f32 D_80147EB8[256]; +extern f32 D_801482B8[256]; +extern f32 D_801486B8[515]; +extern s16 D_8014E324; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_800083D4.s") +void func_800083D4(f32* buffer0, f32* buffer1, s32 length, f32* buffer2); +void func_80009194(s16** arg0); +Acmd* func_80009DE8(Acmd* aList, s32 aiBufLen, s16 reverbIndex, s16 updateIndex); +Acmd* func_8000A198(Acmd* aList, s16 reverbIndex, s16 updateIndex); +Acmd* func_8000A770(s32 noteIndex, NoteSubEu* noteSub, NoteSynthesisState* synthState, s16* aiBuf, s32 aiBufLen, + Acmd* aList, s32 updateIndex); +Acmd* func_800099F4(Acmd* aList, u16 dmem, u16 startPos, s32 size, s32 reverbIndex); +Acmd* func_8000994C(Acmd* aList, u16 dmem, u16 startPos, s32 size, s32 reverbIndex); +void func_8001676C(s32 arg0); +void func_80009B1C(s32 updateIndex); +void func_80008130(s32 sampleCount, s32 itemIndex, s32 reverbIndex); +Acmd* func_8000A2CC(s16* aiBuf, s32 aiBufLen, Acmd* aList, s32 updateIndex); +s32 func_800096EC(s32 length, s16* ramAddr, UnkStruct_800097A8* arg2); +void func_80009574(s16* arg0, UnkStruct_800097A8* arg1); +void func_800087F0(f32*, s32, f32*); + +void func_80008130(s32 sampleCount, s32 itemIndex, s32 reverbIndex) { + ReverbRingBufferItem* ringItem; + SynthesisReverb* reverb = &gSynthReverbs[reverbIndex]; + s32 temp_lo; + s32 temp_v1_3; + s32 i; + s32 j; + s32 pad1; + s32 pad2; + s32 pad3; + + if ((reverb->downsampleRate != 1) && (reverb->framesToIgnore == 0)) { + ringItem = &reverb->items[reverb->curFrame][itemIndex]; + osInvalDCache(ringItem->toDownsampleLeft, 0x300); + j = 0; + for (i = 0; i < ringItem->lengthA / 2; i++, j += reverb->downsampleRate) { + reverb->leftRingBuf[ringItem->startPos + i] = ringItem->toDownsampleLeft[j]; + reverb->rightRingBuf[ringItem->startPos + i] = ringItem->toDownsampleRight[j]; + } + for (i = 0; i < ringItem->lengthB / 2; i++, j += reverb->downsampleRate) { + reverb->leftRingBuf[i] = ringItem->toDownsampleLeft[j]; + reverb->rightRingBuf[i] = ringItem->toDownsampleRight[j]; + } + } + ringItem = &reverb->items[reverb->curFrame][itemIndex]; + temp_lo = sampleCount / reverb->downsampleRate; + temp_v1_3 = reverb->nextRingBufPos + temp_lo - reverb->bufSizePerChan; + + if (temp_v1_3 < 0) { + ringItem->lengthA = temp_lo * 2; + ringItem->lengthB = 0; + ringItem->startPos = reverb->nextRingBufPos; + reverb->nextRingBufPos += temp_lo; + } else { + ringItem->lengthA = (temp_lo - temp_v1_3) * 2; + ringItem->lengthB = temp_v1_3 * 2; + ringItem->startPos = reverb->nextRingBufPos; + reverb->nextRingBufPos = temp_v1_3; + } + ringItem->numSamplesAfterDownsampling = temp_lo; + ringItem->chunkLen = sampleCount; +} + +void func_800083D4(f32* buffer0, f32* buffer1, s32 length, f32* buffer2) { + f32 temp_ft0; + f32 var_fs0; + f32* buff0fromStart; + f32* buf2half2; + f32* buf2half3; + f32* buff1half1; + f32* buff0FromEnd; + f32* buff1half2; + s32 half; + s32 i; + s32 size; + + size = 1 << length; + half = size >> 1; + + // Initialize buffer 2 if it is the wrong size for this calculation + if (size != (s32) buffer2[0]) { + buf2half2 = &buffer2[half]; + buf2half3 = &buf2half2[half]; + var_fs0 = 0.0f; + temp_ft0 = D_PI / (f32) (2 * size); + for (i = 0; i < half; i++) { + *buf2half2++ = (__cosf(var_fs0) - __sinf(var_fs0)) * 0.707107f; + *buf2half3++ = (__cosf(var_fs0) + __sinf(var_fs0)) * 0.707107f; + var_fs0 += temp_ft0; + } + } + + // reset the buffer pointers + buf2half2 = &buffer2[half]; + buf2half3 = &buf2half2[half]; + buff1half1 = buffer1; + buff0fromStart = buffer0; + + // handle i = 0 case + buffer1[0] = buffer0[0]; + buffer1[half] = buffer0[half]; + + // advance buffer pointers + buf2half2++; + buf2half3++; + buff0fromStart++; + buff0FromEnd = &buffer0[size - 1]; + buff1half1++; + buff1half2 = &buffer1[size - 1]; + + // convert to real amplitudes + for (i = 1; i < half; i++) { + *buff1half1++ = (*buf2half2 * *buff0fromStart) + (*buf2half3 * *buff0FromEnd); + *buff1half2-- = (*buf2half3 * *buff0fromStart) - (*buf2half2 * *buff0FromEnd); + buff0fromStart++; + buf2half3++; + buf2half2++; + buff0FromEnd--; + } + + // FFT buffer 1 using buffer 2 + func_800087F0(buffer1, length, buffer2); + + buff0fromStart = buffer0; + buff0FromEnd = &buffer0[size - 1]; + buff1half1 = buffer1; + buff1half2 = &buffer1[half]; + + // Copy even entries of buffer 0 into the first half of buffer 1. Copy odd entries into the second half in reverse + // order + for (i = 0; i < half; i++) { + *buff0fromStart = *buff1half1++; + *buff0FromEnd = *buff1half2++; + buff0fromStart += 2; + buff0FromEnd -= 2; + } +} #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_800087F0.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_80009194.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_80009574.s") +void func_80009574(s16* arg0, UnkStruct_800097A8* arg1) { + s32 i; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_800096EC.s") + if (arg1->unk_0 != NULL) { + arg1->unk_C = arg1->unk_0; + arg1->unk_0 = 0; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_80009818.s") + arg1->unk18 += D_8014E324; + while (arg1->unk18 > 0x1000) { + func_80009194(&arg1->unk_C); + arg1->unk18 -= 0x1000; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_8000994C.s") + func_800083D4(D_80147EB8, D_801482B8, 8, D_801486B8); -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_800099F4.s") + for (i = 0; i < 256; i++) { + if (D_80147EB8[i] > 32767.0f) { + D_80147EB8[i] = 32767.0f; + } + if (D_80147EB8[i] < -32767.0f) { + D_80147EB8[i] = -32767.0f; + } + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_80009A9C.s") + for (i = 0; i < 0x100; i++, arg0++) { + *arg0 = D_80147EB8[i]; + } +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_80009B1C.s") +s32 func_800096EC(s32 length, s16* ramAddr, UnkStruct_800097A8* arg2) { + s32 pad; + s32 temp_t0; + s32 i; + s32 var_s1; + s16* temp_t7 = (s16*) arg2->unk_14->ramAddr; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_80009BD4.s") + for (i = 0; i < arg2->unk_4; i++) { + ramAddr[i] = temp_t7[i]; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_80009DE8.s") + var_s1 = arg2->unk_4; + temp_t0 = (length - arg2->unk_4 + 0xFF) / 256; + arg2->unk_4 = (temp_t0 * 256) + arg2->unk_4 - length; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_8000A198.s") + for (i = 0; i < temp_t0; i++) { + func_80009574(&ramAddr[var_s1], arg2); + var_s1 += 0x100; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_8000A2CC.s") + for (i = 0; i < arg2->unk_4; i++) { + temp_t7[i] = ramAddr[length + i]; + } + return temp_t0; +} + +u8* func_80009818(Sample* sample, s32 length, u32 flags, UnkStruct_800097A8* arg3) { + s32 pad1; + SampleDma* pad2; + SampleDma* sp1C; + + if (flags == 1) { + arg3->unk_0 = (s16*) sample->sampleAddr; + arg3->unk_4 = 0; + arg3->unk_8 = 0; + arg3->unk18 = 0; + + if (gSampleDmaReuseQueue1RdPos != gSampleDmaReuseQueue1WrPos) { + arg3->unk_14 = &gSampleDmas[gSampleDmaReuseQueue1[gSampleDmaReuseQueue1RdPos++]]; + arg3->unk_14->devAddr = -1; + arg3->unk_14->sizeUnused = 0; + } + } + + if (gSampleDmaReuseQueue1RdPos != gSampleDmaReuseQueue1WrPos) { + sp1C = &gSampleDmas[gSampleDmaReuseQueue1[gSampleDmaReuseQueue1RdPos++]]; + } + + if (1) {} //! FAKE + + sp1C->ttl = 2; + sp1C->devAddr = sample->sampleAddr; + sp1C->sizeUnused = length * 2; + pad2 = arg3->unk_14; + pad2->ttl = 2; + arg3->unk_8 += func_800096EC(length, (s16*) sp1C->ramAddr, arg3); + return sp1C->ramAddr; +} + +Acmd* func_8000994C(Acmd* aList, u16 dmem, u16 startPos, s32 size, s32 reverbIndex) { + aLoadBuffer(aList++, OS_K0_TO_PHYSICAL(&gSynthReverbs[reverbIndex].leftRingBuf[startPos]), dmem, size); + aLoadBuffer(aList++, OS_K0_TO_PHYSICAL(&gSynthReverbs[reverbIndex].rightRingBuf[startPos]), dmem + 0x180, size); + return aList; +} + +Acmd* func_800099F4(Acmd* aList, u16 dmem, u16 startPos, s32 size, s32 reverbIndex) { + aSaveBuffer(aList++, dmem, OS_K0_TO_PHYSICAL(&gSynthReverbs[reverbIndex].leftRingBuf[startPos]), size); + aSaveBuffer(aList++, dmem + 0x180, OS_K0_TO_PHYSICAL(&gSynthReverbs[reverbIndex].rightRingBuf[startPos]), size); + return aList; +} + +void func_80009A9C(s32 updateIndex, s32 noteIndex) { + NoteSubEu* noteSubEu; + s32 i; + + for (i = updateIndex + 1; i < gAudioBufferParams.ticksPerUpdate; i++) { + if (!gNoteSubsEu[(gNumNotes * i) + noteIndex].bitField0.needsInit) { + gNoteSubsEu[(gNumNotes * i) + noteIndex].bitField0.enabled = false; + } else { + break; + } + } +} + +void func_80009B1C(s32 updateIndex) { + NoteSubEu* subEu; + NoteSubEu* subEu2; + s32 i; + + for (i = 0; i < gNumNotes; i++) { + subEu = &gNotes[i].noteSubEu; + subEu2 = &gNoteSubsEu[gNumNotes * updateIndex + i]; + if (subEu->bitField0.enabled) { + *subEu2 = *subEu; + subEu->bitField0.needsInit = false; + } else { + subEu2->bitField0.enabled = false; + } + } +} + +Acmd* func_80009BD4(Acmd* aList, s32* cmdCount, s16* aiBufStart, s32 aiBufLen) { + Acmd* aCmdPtr; + s32* aiBufPtr; + s32 chunkLen; + s32 i; + s32 j; + + aCmdPtr = aList; + for (i = gAudioBufferParams.ticksPerUpdate; i > 0; i--) { + func_8001676C(i - 1); + func_80009B1C(gAudioBufferParams.ticksPerUpdate - i); + } + + aiBufPtr = (s32*) aiBufStart; + for (i = gAudioBufferParams.ticksPerUpdate; i > 0; i--) { + if (i == 1) { + chunkLen = aiBufLen; + } else if ((aiBufLen / i) >= gAudioBufferParams.samplesPerTickMax) { + chunkLen = gAudioBufferParams.samplesPerTickMax; + } else if (gAudioBufferParams.samplesPerTickMin >= (aiBufLen / i)) { + chunkLen = gAudioBufferParams.samplesPerTickMin; + } else { + chunkLen = gAudioBufferParams.samplesPerTick; + } + + for (j = 0; j < gNumSynthReverbs; j++) { + if (gSynthReverbs[j].useReverb) { + func_80008130(chunkLen, gAudioBufferParams.ticksPerUpdate - i, j); + } + } + + aCmdPtr = func_8000A2CC((s16*) aiBufPtr, chunkLen, aCmdPtr, gAudioBufferParams.ticksPerUpdate - i); + aiBufLen -= chunkLen; + aiBufPtr += chunkLen; + } + + for (j = 0; j < gNumSynthReverbs; j++) { + if (gSynthReverbs[j].framesToIgnore != 0) { + gSynthReverbs[j].framesToIgnore--; + } + gSynthReverbs[j].curFrame ^= 1; + } + + *cmdCount = aCmdPtr - aList; + + return aCmdPtr; +} +Acmd* func_80009DE8(Acmd* aList, s32 aiBufLen, s16 reverbIndex, s16 updateIndex) { + ReverbRingBufferItem* sp64 = &gSynthReverbs[reverbIndex].items[gSynthReverbs[reverbIndex].curFrame][updateIndex]; + s16 sp62; + s16 sp60; + + aClearBuffer(aList++, 0xC90, 0x300); + + if (gSynthReverbs[reverbIndex].downsampleRate == 1) { + aList = func_8000994C(aList, 0xC90, sp64->startPos, sp64->lengthA, reverbIndex); + if (sp64->lengthB != 0) { + aList = func_8000994C(aList, sp64->lengthA + 0xC90, 0, sp64->lengthB, reverbIndex); + } + aAddMixer(aList++, 0x300, 0xC90, 0x990, 0x7FFF); + aMix(aList++, 0x30, gSynthReverbs[reverbIndex].decayRatio + 0x8000, 0xC90, 0xC90); + } else { + sp62 = (sp64->startPos & 7) * 2; + sp60 = ALIGN16(sp62 + sp64->lengthA); + aList = func_8000994C(aList, 0x470, sp64->startPos - (sp62 / 2), 0x180, reverbIndex); + if (sp64->lengthB != 0) { + aList = func_8000994C(aList, sp60 + 0x470, 0, 0x180 - sp60, reverbIndex); + } + aSetBuffer(aList++, 0, sp62 + 0x470, 0xC90, aiBufLen * 2); + aResample(aList++, gSynthReverbs[reverbIndex].resampleFlags, gSynthReverbs[reverbIndex].unk_0A, + OS_K0_TO_PHYSICAL(gSynthReverbs[reverbIndex].unk_30)); + aSetBuffer(aList++, 0, sp62 + 0x5F0, 0xE10, aiBufLen * 2); + aResample(aList++, gSynthReverbs[reverbIndex].resampleFlags, gSynthReverbs[reverbIndex].unk_0A, + OS_K0_TO_PHYSICAL(gSynthReverbs[reverbIndex].unk_34)); + aAddMixer(aList++, 0x300, 0xC90, 0x990, 0x7FFF); + aMix(aList++, 0x30, gSynthReverbs[reverbIndex].decayRatio + 0x8000, 0xC90, 0xC90); + } + + if ((gSynthReverbs[reverbIndex].leakRtL != 0) || (gSynthReverbs[reverbIndex].leakLtR != 0)) { + aDMEMMove(aList++, 0xC90, 0x470, 0x180); + aMix(aList++, 0x18, gSynthReverbs[reverbIndex].leakRtL, 0xE10, 0xC90); + aMix(aList++, 0x18, gSynthReverbs[reverbIndex].leakLtR, 0x470, 0xE10); + } + return aList; +} + +Acmd* func_8000A198(Acmd* aList, s16 reverbIndex, s16 updateIndex) { + ReverbRingBufferItem* sp24; + + sp24 = &gSynthReverbs[reverbIndex].items[gSynthReverbs[reverbIndex].curFrame][updateIndex]; + switch (gSynthReverbs[reverbIndex].downsampleRate) { + case 1: + aList = func_800099F4(aList, 0xC90, sp24->startPos, sp24->lengthA, reverbIndex); + if (sp24->lengthB != 0) { + aList = func_800099F4(aList, sp24->lengthA + 0xC90, 0, sp24->lengthB, reverbIndex); + } + break; + + default: + aSaveBuffer(aList++, 0xC90, + OS_K0_TO_PHYSICAL(gSynthReverbs[reverbIndex] + .items[gSynthReverbs[reverbIndex].curFrame][updateIndex] + .toDownsampleLeft), + 0x300); + gSynthReverbs[reverbIndex].resampleFlags = 0; + break; + } + + return aList; +} + +Acmd* func_8000A2CC(s16* aiBuf, s32 aiBufLen, Acmd* aList, s32 updateIndex) { + u8 sp84[0x3C]; + NoteSubEu* temp_v0; + s16 var_s2; + s16 i; + s32 j; + + var_s2 = 0; + if (gNumSynthReverbs == 0) { + if (gSynthReverbs[i].useReverb) {} // fake? + for (j = 0; j < gNumNotes; j++) { + if (gNoteSubsEu[gNumNotes * updateIndex + j].bitField0.enabled) { + sp84[var_s2++] = j; + } + } + } else { + for (i = 0; i < gNumSynthReverbs; i++) { + for (j = 0; j < gNumNotes; j++) { + temp_v0 = &gNoteSubsEu[gNumNotes * updateIndex + j]; + if (temp_v0->bitField0.enabled && (temp_v0->bitField1.reverbIndex == i)) { + sp84[var_s2++] = j; + } + } + } + for (j = 0; j < gNumNotes; j++) { + temp_v0 = &gNoteSubsEu[gNumNotes * updateIndex + j]; + if (temp_v0->bitField0.enabled && (temp_v0->bitField1.reverbIndex >= gNumSynthReverbs)) { + sp84[var_s2++] = j; + } + } + } + + aClearBuffer(aList++, 0x990, 0x300); + + j = 0; + for (i = 0; i < gNumSynthReverbs; i++) { + D_8014E322 = gSynthReverbs[i].useReverb; + if (D_8014E322) { + aList = func_80009DE8(aList, aiBufLen, i, updateIndex); + } + while (j < var_s2) { + if (i != gNoteSubsEu[updateIndex * gNumNotes + sp84[j]].bitField1.reverbIndex) { + break; + } + aList = func_8000A770(sp84[j], &gNoteSubsEu[updateIndex * gNumNotes + sp84[j]], + &gNotes[sp84[j]].synthesisState, aiBuf, aiBufLen, aList, updateIndex); + j++; + } + if (gSynthReverbs[i].useReverb) { + aList = func_8000A198(aList, i, updateIndex); + } + } + + while (j < var_s2) { + aList = func_8000A770(sp84[j], &gNoteSubsEu[updateIndex * gNumNotes + sp84[j]], &gNotes[sp84[j]].synthesisState, + aiBuf, aiBufLen, aList, updateIndex); + j++; + } + + j = aiBufLen * 2; + aSetBuffer(aList++, 0, 0, 0x450, j); + aInterleave(aList++, 0, 0x990, 0xB10, 0); + aSaveBuffer(aList++, 0x450, OS_K0_TO_PHYSICAL(aiBuf), j * 2); + + return aList; +} #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_8000A770.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_8000B460.s") +Acmd* func_8000B460(Acmd* aList, NoteSubEu* noteSub, NoteSynthesisState* synthState, s32 numSamplesToLoad) { + s32 temp_v1; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_8000B4F0.s") + aLoadBuffer(aList++, OS_K0_TO_PHYSICAL(noteSub->waveSampleAddr), 0x5F0, 0x80); + synthState->samplePosInt &= 0x3F; + temp_v1 = 0x40 - synthState->samplePosInt; + if (temp_v1 < numSamplesToLoad) { + if ((((numSamplesToLoad - temp_v1) + 0x3F) / 64) != 0) { + aDuplicate(aList++, ((numSamplesToLoad - temp_v1) + 0x3F) / 64, 0x5F0, 0x670); + } + } + return aList; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_8000B58C.s") +Acmd* func_8000B4F0(Acmd* aList, NoteSynthesisState* synthState, s32 size, u16 pitch, u16 inpDmem, u32 resampleFlags) { + if (pitch == 0) { + aClearBuffer(aList++, 0x450, size); + } else { + aSetBuffer(aList++, 0, inpDmem, 0x450, size); + aResample(aList++, resampleFlags, pitch, OS_K0_TO_PHYSICAL(synthState->synthesisBuffers->finalResampleState)); + } + return aList; +} -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_synthesis/func_8000B9FC.s") +Acmd* func_8000B58C(Acmd* aList, NoteSubEu* noteSub, NoteSynthesisState* synthState, s32 aiBufLen, u16 dmemSrc, + s32 delaySide, s32 flags) { + s16 var_a2; + s16 var_a3; + s16 var_t0; + u16 temp_t7; + u16 temp_t9; + u16 temp_t1; + u16 temp_t2; + s32 temp_a1; + s32 temp = 0; + + temp_t1 = synthState->curVolLeft; + temp_t2 = synthState->curVolRight; + + temp_t7 = noteSub->panVolLeft; + temp_t9 = noteSub->panVolRight; + + temp_t7 <<= 4; + temp_t9 <<= 4; + + if (temp_t7 != temp_t1) { + var_t0 = (temp_t7 - temp_t1) / (aiBufLen >> 3); + } else { + var_t0 = 0; + } + if (temp_t9 != temp_t2) { + var_a3 = (temp_t9 - temp_t2) / (aiBufLen >> 3); + } else { + var_a3 = 0; + } + + temp_a1 = synthState->reverbVol; + + if (noteSub->reverb != temp_a1) { + temp = (((noteSub->reverb & 0x7F) - (temp_a1 & 0x7F)) << 8); + var_a2 = temp / (aiBufLen >> 3); + synthState->reverbVol = noteSub->reverb; + } else { + var_a2 = 0; + } + + synthState->curVolLeft = temp_t1 + (var_t0 * (aiBufLen >> 3)); + synthState->curVolRight = temp_t2 + (var_a3 * (aiBufLen >> 3)); + + if (noteSub->bitField0.usesHeadsetPanEffects) { + aClearBuffer(aList++, 0x650, 0x180); + aEnvSetup1(aList++, (temp_a1 & 0x7F), var_a2, var_t0, var_a3); + aEnvSetup2(aList++, temp_t1, temp_t2); + + switch (delaySide) { + case 1: + aEnvMixer(aList++, dmemSrc, aiBufLen, 0, 0, ((temp_a1 & 0x80) >> 7), + noteSub->bitField0.stereoStrongRight, noteSub->bitField0.stereoStrongLeft, 0x65B1C9E1); + break; + case 2: + aEnvMixer(aList++, dmemSrc, aiBufLen, 0, 0, ((temp_a1 & 0x80) >> 7), + noteSub->bitField0.stereoStrongRight, noteSub->bitField0.stereoStrongLeft, 0x9965C9E1); + break; + default: + aEnvMixer(aList++, dmemSrc, aiBufLen, 0, 0, ((temp_a1 & 0x80) >> 7), + noteSub->bitField0.stereoStrongRight, noteSub->bitField0.stereoStrongLeft, 0x99B1C9E1); + break; + } + } else { + aEnvSetup1(aList++, (temp_a1 & 0x7F), var_a2, var_t0, var_a3); + aEnvSetup2(aList++, temp_t1, temp_t2); + aEnvMixer(aList++, dmemSrc, aiBufLen, 0, 0, ((temp_a1 & 0x80) >> 7), noteSub->bitField0.stereoStrongRight, + noteSub->bitField0.stereoStrongLeft, 0x99B1C9E1); + } + + return aList; +} + +Acmd* func_8000B9FC(Acmd* aList, NoteSubEu* noteSub, NoteSynthesisState* synthState, s32 size, s32 flags, + s32 delaySide) { + u16 var_t0; + u8 var_a1; + u8 var_v1; + u16 temp; + + switch (delaySide) { + case 1: + var_t0 = 0x990; + var_a1 = noteSub->leftDelaySize; + synthState->prevHaasEffectRightDelaySize = 0; + var_v1 = synthState->prevHaasEffectLeftDelaySize; + synthState->prevHaasEffectLeftDelaySize = var_a1; + break; + + case 2: + var_t0 = 0xB10; + var_a1 = noteSub->rightDelaySize; + synthState->prevHaasEffectLeftDelaySize = 0; + var_v1 = synthState->prevHaasEffectRightDelaySize; + synthState->prevHaasEffectRightDelaySize = var_a1; + break; + + default: + return aList; + } + + if (flags != 1) { + if (var_a1 != var_v1) { + temp = (((size << 0xF) / 2) - 1) / ((size + var_a1 - var_v1 - 2) / 2); + aSetBuffer(aList++, 0, 0x650, 0x450, size + var_a1 - var_v1); + aResampleZoh(aList++, temp, 0); + } else { + aDMEMMove(aList++, 0x650, 0x450, size); + } + if (var_v1 != 0) { + aLoadBuffer(aList++, OS_K0_TO_PHYSICAL(synthState->synthesisBuffers->panSamplesBuffer), 0x650, + ALIGN16(var_v1)); + aDMEMMove(aList++, 0x450, var_v1 + 0x650, size + var_a1 - var_v1); + } else { + aDMEMMove(aList++, 0x450, 0x650, size + var_a1); + } + } else { + aDMEMMove(aList++, 0x650, 0x450, size); + aClearBuffer(aList++, 0x650, var_a1); + aDMEMMove(aList++, 0x450, var_a1 + 0x650, size); + } + if (var_a1) { + aSaveBuffer(aList++, size + 0x650, OS_K0_TO_PHYSICAL(synthState->synthesisBuffers->panSamplesBuffer), + ALIGN16(var_a1)); + } + + aAddMixer(aList++, ALIGN64(size), 0x650, var_t0, 0x7FFF); + + return aList; +} diff --git a/srceu/audio/audio_thread.c b/srceu/audio/audio_thread.c index cb7862fe..f156e1ab 100644 --- a/srceu/audio/audio_thread.c +++ b/srceu/audio/audio_thread.c @@ -1,39 +1,443 @@ -#include "common.h" +// No regional differences in this file +#include "sys.h" +#include "sf64audio_provisional.h" +#include "audiothread_cmd.h" -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001E020.s") +void AudioThread_ProcessCmds(u32 msg); +void AudioThread_SetFadeOutTimer(s32 seqPlayId, s32 fadeTime); +void AudioThread_SetFadeInTimer(s32 seqPlayId, s32 fadeTime); +void func_800144C4(SequencePlayer* seqPlayer); -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001E514.s") +extern OSMesgQueue sAudioTaskStartQueue; +extern OSMesgQueue sThreadCmdProcQueue; +extern OSMesgQueue sAudioSpecQueue; +extern OSMesgQueue sAudioResetQueue; +extern AudioCmd gThreadCmdBuffer[256]; +extern OSMesg sAudioTaskStartMsg[1]; +extern OSMesg sThreadCmdProcMsg[4]; +extern OSMesg sAudioSpecMsg[1]; +extern OSMesg sAudioResetMsg[1]; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001E7F0.s") +extern u8 gThreadCmdWritePos; +extern u8 gThreadCmdReadPos; +extern OSMesgQueue* gAudioTaskStartQueue; +extern OSMesgQueue* gThreadCmdProcQueue; +extern OSMesgQueue* gAudioSpecQueue; +extern OSMesgQueue* gAudioResetQueue; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001E848.s") +#ifndef IMPORT_DATA +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/AudioThread_CreateTask.s") +#else +SPTask* AudioThread_CreateTask(void) { + static s32 gMaxAbiCmdCnt = 128; + static SPTask* gWaitingAudioTask = NULL; + u32 aiSamplesLeft; + s32 abiCmdCount; + s32 aiBuffIndex; + s32 pad48; + OSTask_t* task; + u16* aiBuffer; + s32 pad3C; + u32 specId; + u32 msg; + s32 pad30; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001E898.s") + gAudioTaskCountQ++; + if ((gAudioTaskCountQ % gAudioBufferParams.count) != 0) { + return gWaitingAudioTask; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001E920.s") + osSendMesg(gAudioTaskStartQueue, (OSMesg) gAudioTaskCountQ, OS_MESG_NOBLOCK); -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001E978.s") + gAudioTaskIndexQ ^= 1; + gCurAiBuffIndex++; + gCurAiBuffIndex %= 3; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001E99C.s") + aiBuffIndex = (gCurAiBuffIndex + 1) % 3; + aiSamplesLeft = osAiGetLength() / 4; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001E9C0.s") + if ((gAudioResetTimer < 16) && (gAiBuffLengths[aiBuffIndex] != 0)) { + osAiSetNextBuffer(gAiBuffers[aiBuffIndex], gAiBuffLengths[aiBuffIndex] * 4); + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001E9F0.s") + if (gCurAudioFrameDmaCount && gCurAudioFrameDmaCount) {} //! FAKE ? -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001EA68.s") + gCurAudioFrameDmaCount = 0; + AudioLoad_DecreaseSampleDmaTtls(); + AudioLoad_ProcessLoads(gAudioResetStep); -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001EA7C.s") + if (MQ_GET_MESG(gAudioSpecQueue, &specId)) { + if (gAudioResetStep == 0) { + gAudioResetStep = 5; + } + gAudioSpecId = specId; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001ED7C.s") + if ((gAudioResetStep != 0) && (AudioHeap_ResetStep() == 0)) { + if (gAudioResetStep == 0) { + osSendMesg(gAudioResetQueue, (OSMesg) (s32) gAudioSpecId, OS_MESG_NOBLOCK); + } + gWaitingAudioTask = NULL; + return NULL; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001EDE4.s") + if (gAudioResetTimer > 16) { + return NULL; + } + if (gAudioResetTimer != 0) { + gAudioResetTimer++; + } -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001EE04.s") + gAudioCurTask = &gAudioRspTasks[gAudioTaskIndexQ]; + gCurAbiCmdBuffer = gAbiCmdBuffs[gAudioTaskIndexQ]; + aiBuffIndex = gCurAiBuffIndex; + aiBuffer = gAiBuffers[aiBuffIndex]; + gAiBuffLengths[aiBuffIndex] = ALIGN16_ALT(gAudioBufferParams.samplesPerFrameTarget - aiSamplesLeft + 0x80); -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001EE5C.s") + if (gAiBuffLengths[aiBuffIndex] < gAudioBufferParams.minAiBufferLength) { + gAiBuffLengths[aiBuffIndex] = gAudioBufferParams.minAiBufferLength; + } + if (gAiBuffLengths[aiBuffIndex] > gAudioBufferParams.maxAiBufferLength) { + gAiBuffLengths[aiBuffIndex] = gAudioBufferParams.maxAiBufferLength; + } + while (MQ_GET_MESG(gThreadCmdProcQueue, &msg)) { + AudioThread_ProcessCmds(msg); + } + gCurAbiCmdBuffer = func_80009BD4(gCurAbiCmdBuffer, &abiCmdCount, aiBuffer, gAiBuffLengths[aiBuffIndex]); + gAudioRandom = osGetCount() * (gAudioRandom + gAudioTaskCountQ); + gAudioRandom = gAiBuffers[aiBuffIndex][gAudioTaskCountQ & 0xFF] + gAudioRandom; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001EED0.s") + aiBuffIndex = gAudioTaskIndexQ; -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/func_8001EF0C.s") + gAudioCurTask->mesgQueue = NULL; + gAudioCurTask->msg = NULL; + + task = &gAudioCurTask->task.t; + + task->type = 2; + task->flags = 0; + task->ucode_boot = rspbootTextStart; + task->ucode_boot_size = (uintptr_t) rspbootTextEnd - (uintptr_t) rspbootTextStart; + + task->ucode = aspMainTextStart; + task->ucode_data = aspMainDataStart; + task->ucode_size = SP_UCODE_SIZE; + task->ucode_data_size = (aspMainDataEnd - aspMainDataStart) * 8; + + task->dram_stack = NULL; + task->dram_stack_size = 0; + + task->output_buff = NULL; + task->output_buff_size = NULL; + if (1) {} + task->data_ptr = (u64*) gAbiCmdBuffs[aiBuffIndex]; + task->data_size = abiCmdCount * sizeof(Acmd); + + task->yield_data_ptr = NULL; + task->yield_data_size = 0; + + if (gMaxAbiCmdCnt < abiCmdCount) { + gMaxAbiCmdCnt = abiCmdCount; + } + + if (gAudioBufferParams.count == 1) { + return gAudioCurTask; + } else { + gWaitingAudioTask = gAudioCurTask; + return NULL; + } +} +#endif + +void AudioThread_ProcessGlobalCmd(AudioCmd* cmd) { + s32 i; + + switch (cmd->op) { + case AUDIOCMD_OP_GLOBAL_SYNC_LOAD_SEQ_PARTS: + AudioLoad_SyncLoadSeqParts(cmd->arg1, 3); + break; + case AUDIOCMD_OP_GLOBAL_INIT_SEQPLAYER: + case AUDIOCMD_OP_GLOBAL_INIT_SEQPLAYER_ALT: + AudioLoad_SyncInitSeqPlayer(cmd->arg0, cmd->arg1, cmd->arg2); + AudioThread_SetFadeInTimer(cmd->arg0, cmd->data); + break; + case AUDIOCMD_OP_GLOBAL_DISABLE_SEQPLAYER: + if (gSeqPlayers[cmd->arg0].enabled) { + if (cmd->asInt == 0) { + func_800144C4(&gSeqPlayers[cmd->arg0]); + } else { + AudioThread_SetFadeOutTimer(cmd->arg0, cmd->asInt); + } + } + break; + case AUDIOCMD_OP_GLOBAL_UNK_84: + break; + case AUDIOCMD_OP_GLOBAL_SET_SOUND_MODE: + gAudioSoundMode = cmd->asUInt; + break; + case AUDIOCMD_OP_GLOBAL_MUTE: + for (i = 0; i < ARRAY_COUNT(gSeqPlayers); i++) { + SequencePlayer* seqplayer = &gSeqPlayers[i]; + + seqplayer->muted = true; + seqplayer->recalculateVolume = true; + } + break; + case AUDIOCMD_OP_GLOBAL_UNMUTE: + if (cmd->asUInt == 1) { + for (i = 0; i < gNumNotes; i++) { + Note* note = &gNotes[i]; + NoteSubEu* noteSub = ¬e->noteSubEu; + + if ((noteSub->bitField0.enabled) && (note->playbackState.unk_04 == 0) && + (note->playbackState.parentLayer != NO_LAYER) && + (note->playbackState.parentLayer->channel->muteBehavior & 8)) { + noteSub->bitField0.finished = true; + } + } + } + for (i = 0; i < ARRAY_COUNT(gSeqPlayers); i++) { + SequencePlayer* seqplayer = &gSeqPlayers[i]; + + seqplayer->muted = false; + seqplayer->recalculateVolume = true; + } + break; + case AUDIOCMD_OP_GLOBAL_SYNC_LOAD_INSTRUMENT: + AudioLoad_SyncLoadInstrument(cmd->arg0, cmd->arg1, cmd->arg2); + break; + case AUDIOCMD_OP_GLOBAL_ASYNC_LOAD_SAMPLE_BANK: + AudioLoad_AsyncLoadSampleBank(cmd->arg0, cmd->arg1, cmd->arg2, &gExternalLoadQueue); + break; + case AUDIOCMD_OP_GLOBAL_ASYNC_LOAD_FONT: + AudioLoad_AsyncLoadSeq(cmd->arg0, cmd->arg1, cmd->arg2, &gExternalLoadQueue); + break; + case AUDIOCMD_OP_GLOBAL_DISCARD_SEQ_FONTS: + AudioLoad_DiscardSeqFonts(cmd->arg1); + break; + } +} + +void AudioThread_SetFadeOutTimer(s32 seqPlayId, s32 fadeTime) { + if (fadeTime == 0) { + fadeTime = 1; + } + + gSeqPlayers[seqPlayId].state = 2; + gSeqPlayers[seqPlayId].fadeTimer = fadeTime; + gSeqPlayers[seqPlayId].fadeVelocity = -(gSeqPlayers[seqPlayId].fadeVolume / fadeTime); +} + +void AudioThread_SetFadeInTimer(s32 seqPlayId, s32 fadeTime) { + if (fadeTime != 0) { + gSeqPlayers[seqPlayId].state = 1; + gSeqPlayers[seqPlayId].fadeTimerUnkEu = fadeTime; + gSeqPlayers[seqPlayId].fadeTimer = fadeTime; + gSeqPlayers[seqPlayId].fadeVolume = 0.0f; + gSeqPlayers[seqPlayId].fadeVelocity = 0.0f; + } +} + +void AudioThread_InitQueues(void) { + gThreadCmdWritePos = 0; + gThreadCmdReadPos = 0; + osCreateMesgQueue(gAudioTaskStartQueue, sAudioTaskStartMsg, 1); + osCreateMesgQueue(gThreadCmdProcQueue, sThreadCmdProcMsg, 4); + osCreateMesgQueue(gAudioSpecQueue, sAudioSpecMsg, 1); + osCreateMesgQueue(gAudioResetQueue, sAudioResetMsg, 1); +} + +void AudioThread_QueueCmd(u32 opArgs, void** data) { + AudioCmd* audioCmd = &gThreadCmdBuffer[gThreadCmdWritePos & 0xFF]; + + audioCmd->opArgs = opArgs; + audioCmd->data = *data; + + gThreadCmdWritePos++; + if (gThreadCmdWritePos == gThreadCmdReadPos) { + gThreadCmdWritePos--; + } +} + +void AudioThread_QueueCmdF32(u32 opArgs, f32 val) { + AudioThread_QueueCmd(opArgs, (void**) &val); +} + +void AudioThread_QueueCmdS32(u32 opArgs, u32 val) { + AudioThread_QueueCmd(opArgs, (void**) &val); +} + +void AudioThread_QueueCmdS8(u32 opArgs, s8 val) { + s32 data = val << 0x18; + + AudioThread_QueueCmd(opArgs, (void**) &data); +} + +#ifndef IMPORT_DATA +void AudioThread_ScheduleProcessCmds(void); +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/AudioThread_ScheduleProcessCmds.s") +#else +void AudioThread_ScheduleProcessCmds(void) { + static s32 D_800C8884 = 0; + s32 msg; + + if (D_800C8884 < (u8) (gThreadCmdWritePos - gThreadCmdReadPos + 0x100)) { + D_800C8884 = (u8) (gThreadCmdWritePos - gThreadCmdReadPos + 0x100); + } + msg = (((gThreadCmdReadPos & 0xFF) << 8) | (gThreadCmdWritePos & 0xFF)); + osSendMesg(gThreadCmdProcQueue, (OSMesg) msg, OS_MESG_NOBLOCK); + gThreadCmdReadPos = gThreadCmdWritePos; +} +#endif + +void AudioThread_ResetCmdQueue(void) { + gThreadCmdReadPos = gThreadCmdWritePos; +} + +#ifndef IMPORT_DATA +void AudioThread_ProcessCmds(u32 msg); +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/AudioThread_ProcessCmds.s") +#else +void AudioThread_ProcessCmds(u32 msg) { + static u8 gCurCmdReadPos = 0; + static u8 gThreadCmdQueueFinished = false; + AudioCmd* cmd; + SequenceChannel* channel; + SequencePlayer* player; + u8 writePos; + + if (!gThreadCmdQueueFinished) { + gCurCmdReadPos = (msg >> 8) & 0xFF; + } + writePos = msg & 0xFF; + while (true) { + if (gCurCmdReadPos == writePos) { + gThreadCmdQueueFinished = 0; + break; + } + cmd = &gThreadCmdBuffer[gCurCmdReadPos & 0xFF]; + gCurCmdReadPos++; + if (cmd->op == AUDIOCMD_OP_GLOBAL_STOP_AUDIOCMDS) { + gThreadCmdQueueFinished = true; + break; + } + if ((cmd->op & 0xF0) == 0xF0) { + AudioThread_ProcessGlobalCmd(cmd); + } else if (cmd->arg0 < ARRAY_COUNT(gSeqPlayers)) { + player = &gSeqPlayers[cmd->arg0]; + if (cmd->op & 0x80) { + AudioThread_ProcessGlobalCmd(cmd); + } else if (cmd->op & 0x40) { + switch (cmd->op) { + case AUDIOCMD_OP_SEQPLAYER_FADE_VOLUME_SCALE: + if (player->fadeVolumeMod != cmd->asFloat) { + player->fadeVolumeMod = cmd->asFloat; + player->recalculateVolume = true; + } + break; + case AUDIOCMD_OP_SEQPLAYER_SET_TEMPO: + player->tempo = cmd->asInt * 48; + break; + case AUDIOCMD_OP_SEQPLAYER_SET_TRANSPOSITION: + player->transposition = cmd->asSbyte; + break; + case 0x46: // AUDIOCMD_OP_SEQPLAYER_SET_IO? + player->unk_07[cmd->arg2] = cmd->asSbyte; + break; + } + } else if ((player->enabled) && (cmd->arg1 < 16)) { + channel = player->channels[cmd->arg1]; + if (IS_SEQUENCE_CHANNEL_VALID(channel)) { + switch (cmd->op) { + case AUDIOCMD_OP_CHANNEL_SET_VOL_SCALE: + if (channel->volumeMod != cmd->asFloat) { + channel->volumeMod = cmd->asFloat; + channel->changes.s.volume = true; + } + break; + case AUDIOCMD_OP_CHANNEL_SET_VOL: + if (channel->volume != cmd->asFloat) { + channel->volume = cmd->asFloat; + channel->changes.s.volume = true; + } + break; + case AUDIOCMD_OP_CHANNEL_SET_PAN: + if (channel->newPan != cmd->asSbyte) { + channel->newPan = cmd->asSbyte; + channel->changes.s.pan = true; + } + break; + case AUDIOCMD_OP_CHANNEL_SET_FREQ_SCALE: + if (channel->freqMod != cmd->asFloat) { + channel->freqMod = cmd->asFloat; + channel->changes.s.freqMod = true; + } + break; + case AUDIOCMD_OP_CHANNEL_SET_REVERB_VOLUME: + if (channel->targetReverbVol != cmd->asSbyte) { + channel->targetReverbVol = cmd->asSbyte; + } + break; + case AUDIOCMD_OP_CHANNEL_SET_IO: + if (cmd->arg2 < 8) { + channel->seqScriptIO[cmd->arg2] = cmd->asSbyte; + } + break; + case AUDIOCMD_OP_CHANNEL_SET_MUTE: + channel->muted = cmd->asSbyte; + break; + } + } + } + } + cmd->op = 0; + } +} +#endif + +u32 AudioThread_GetAsyncLoadStatus(u32* outData) { + u32 loadStatus; + + if (!MQ_GET_MESG(&gExternalLoadQueue, &loadStatus)) { + *outData = 0; + return 0; + } + *outData = loadStatus & 0xFFFFFF; + return loadStatus >> 0x18; +} + +u8* AudioThread_GetFontsForSequence(s32 seqId, u32* outNumFonts) { + return AudioLoad_GetFontsForSequence(seqId, outNumFonts); +} + +bool AudioThread_ResetComplete(void) { + s32 pad; + s32 sp18; + + if (!MQ_GET_MESG(gAudioResetQueue, &sp18)) { + return false; + } + if (sp18 != gAudioSpecId) { + return false; + } + return true; +} + +void AudioThread_ResetAudioHeap(s32 specId) { + MQ_CLEAR_QUEUE(gAudioResetQueue); + + AudioThread_ResetCmdQueue(); + osSendMesg(gAudioSpecQueue, (OSMesg) specId, OS_MESG_NOBLOCK); +} + +void AudioThread_PreNMIReset(void) { + gAudioResetTimer = 1; + AudioThread_ResetAudioHeap(AUDIOSPEC_CO); + gAudioResetStep = 0; +} + +void AudioThread_Init(void) { + AudioThread_InitQueues(); +} #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/audio/audio_thread/D_800C9D00.s") diff --git a/srceu/driverominit.c b/srceu/driverominit.c index 37d8cf13..c098142c 100644 --- a/srceu/driverominit.c +++ b/srceu/driverominit.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/driverominit/func_8001EF30.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/driverominit/osDriveRomInit.s") diff --git a/srceu/engine/fox_360.c b/srceu/engine/fox_360.c index 41d13129..2299b9f9 100644 --- a/srceu/engine/fox_360.c +++ b/srceu/engine/fox_360.c @@ -30,7 +30,7 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_360/func_8002EFA0.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_360/func_8002F2BC.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_360/ActorAllRange_SpawnTeam.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_360/func_8002F51C.s") diff --git a/srceu/engine/fox_game.c b/srceu/engine/fox_game.c index 30185877..9d8a1a30 100644 --- a/srceu/engine/fox_game.c +++ b/srceu/engine/fox_game.c @@ -2,22 +2,22 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/func_800A1EC0.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/func_800A1F90.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/Game_SetGameState.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/func_800A217C.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/Game_ChangeScene.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/func_800A2224.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/Game_InitMasterDL.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/func_800A2478.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/Game_InitStandbyDL.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/func_800A2554.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/func_800A25C0.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/Game_InitViewport.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/func_800A2AEC.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/Game_Draw.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/func_800A2BEC.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/Game_SetScene.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/func_800A2CE0.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/Game_Update.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_game/func_800A3CC4.s") diff --git a/srceu/engine/fox_load.c b/srceu/engine/fox_load.c index 8a9ccc7e..736f97c6 100644 --- a/srceu/engine/fox_load.c +++ b/srceu/engine/fox_load.c @@ -1,6 +1,8 @@ #include "sf64dma.h" -u8 D_800CAFC0 = 3; +/* Had to comment these out because the rom didn't match */ +#if 0 +u8 sFillTimer = 3; #include "fox_load_inits.c" @@ -22,15 +24,43 @@ Scene D_800CCC44 = { /* 0xE */ NO_SEGMENT, /* 0xF */ NO_SEGMENT }, }; +#endif -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_load/func_80058B10.s") +// No difference +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_load/Load_RomFile.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_load/func_80058BD8.s") +// No difference +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_load/Load_SceneFiles.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_load/func_80058EA4.s") +// No difference +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_load/Load_SceneSetup.s") +// It's a version of Load_InitDmaAndMsg, although Msg isn't here, but in Load_SetTextLanguage #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_load/func_80059428.s") +// https://decomp.me/scratch/vQ0WZ (matching) +/* +void func_80059428(void) { + if (gStopTasks != 1) { + Lib_DmaRead(dma_table_ROM_START, gDmaTable, audio_seq_ROM_START - dma_table_ROM_START); + } +} +*/ -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_load/func_80059470.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_load/Load_SetTextLanguage.s") + +// https://decomp.me/scratch/pCmOV +/* +void Load_SetTextLanguage(void) { + if (gStopTasks != 1) { + switch (D_8017AACB) { + case 0: + Load_RomFile(&ast_radio_en_ROM_START, &D_fr_8017B230,(u32) &ast_radio_fr_ROM_START - +(u32)&ast_radio_en_ROM_START); break; case 1: Load_RomFile(&ast_radio_fr_ROM_START, &D_fr_8017B230, +(u32)&ast_radio_fr_ROM_END - (u32)&ast_radio_fr_ROM_START); break; case 2: Load_RomFile(&ast_radio_de_ROM_START, +&D_fr_8017B230, (u32)&ast_radio_de_ROM_END - (u32)&ast_radio_de_ROM_START); break; + } + } +} +*/ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_load/D_800D7350.s") diff --git a/srceu/engine/fox_load_inits.c b/srceu/engine/fox_load_inits.c index 006614b9..2938c2d6 100644 --- a/srceu/engine/fox_load_inits.c +++ b/srceu/engine/fox_load_inits.c @@ -1,6 +1,6 @@ #include "sf64dma.h" -Scene D_800CAFC4[1] = { +Scene sNoOvl_Logo[1] = { { NO_OVERLAY, { /* 1 */ NO_SEGMENT, /* 2 */ NO_SEGMENT, @@ -19,7 +19,7 @@ Scene D_800CAFC4[1] = { /* F */ ROM_SEGMENT(ast_logo) } }, }; -Scene D_800CB05C[6] = { +Scene sOvlending_Ending[6] = { { OVERLAY_OFFSETS(ovl_ending), { /* 1 */ NO_SEGMENT, /* 2 */ NO_SEGMENT, @@ -118,7 +118,7 @@ Scene D_800CB05C[6] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CB3EC[1] = { +Scene sOvlmenu_Title[1] = { { OVERLAY_OFFSETS(ovl_menu), { /* 1 */ NO_SEGMENT, /* 2 */ NO_SEGMENT, @@ -137,7 +137,7 @@ Scene D_800CB3EC[1] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CB484[3] = { +Scene sOvlmenu_Option[3] = { { OVERLAY_OFFSETS(ovl_menu), { /* 1 */ NO_SEGMENT, /* 2 */ NO_SEGMENT, @@ -188,7 +188,7 @@ Scene D_800CB484[3] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CB64C[3] = { +Scene sOvlmenu_Map[3] = { { OVERLAY_OFFSETS(ovl_menu), { /* 1 */ NO_SEGMENT, /* 2 */ NO_SEGMENT, @@ -239,7 +239,7 @@ Scene D_800CB64C[3] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CB814[1] = { +Scene sOvlmenu_GameOver[1] = { { OVERLAY_OFFSETS(ovl_menu), { /* 1 */ NO_SEGMENT, /* 2 */ NO_SEGMENT, @@ -258,7 +258,7 @@ Scene D_800CB814[1] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CB8AC[1] = { +Scene sOvli1_Corneria[1] = { { OVERLAY_OFFSETS(ovl_i1), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_planet), @@ -277,7 +277,7 @@ Scene D_800CB8AC[1] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CB944[2] = { +Scene sOvli2_Meteo[2] = { { OVERLAY_OFFSETS(ovl_i2), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_space), @@ -312,7 +312,7 @@ Scene D_800CB944[2] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CBA74[6] = { +Scene sOvli5_Titania[6] = { { OVERLAY_OFFSETS(ovl_i5), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_planet), @@ -411,7 +411,7 @@ Scene D_800CBA74[6] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CBE04[2] = { +Scene sOvli2_SectorX[2] = { { OVERLAY_OFFSETS(ovl_i2), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_space), @@ -446,7 +446,7 @@ Scene D_800CBE04[2] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CBF34[1] = { +Scene sOvli4_SectorZ[1] = { { OVERLAY_OFFSETS(ovl_i4), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_space), @@ -465,7 +465,7 @@ Scene D_800CBF34[1] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CBFCC[1] = { +Scene sOvli3_Aquas[1] = { { OVERLAY_OFFSETS(ovl_i3), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_planet), @@ -484,7 +484,7 @@ Scene D_800CBFCC[1] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CC064[1] = { +Scene sOvli3_Area6[1] = { { OVERLAY_OFFSETS(ovl_i3), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_space), @@ -503,7 +503,7 @@ Scene D_800CC064[1] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CC0FC[2] = { +Scene sOvli4_Fortuna[2] = { { OVERLAY_OFFSETS(ovl_i4), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_planet), @@ -538,7 +538,7 @@ Scene D_800CC0FC[2] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CC22C[1] = { +Scene sOvli3_Unk4[1] = { { OVERLAY_OFFSETS(ovl_i3), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_space), @@ -557,7 +557,7 @@ Scene D_800CC22C[1] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CC2C4[1] = { +Scene sOvli6_SectorY[1] = { { OVERLAY_OFFSETS(ovl_i6), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_space), @@ -576,7 +576,7 @@ Scene D_800CC2C4[1] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CC35C[1] = { +Scene sOvli3_Solar[1] = { { OVERLAY_OFFSETS(ovl_i3), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_planet), @@ -595,7 +595,7 @@ Scene D_800CC35C[1] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CC3F4[1] = { +Scene sOvli3_Zoness[1] = { { OVERLAY_OFFSETS(ovl_i3), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_planet), @@ -614,7 +614,7 @@ Scene D_800CC3F4[1] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CC48C[1] = { +Scene sOvli1_Venom1[1] = { { OVERLAY_OFFSETS(ovl_i1), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_planet), @@ -633,7 +633,7 @@ Scene D_800CC48C[1] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CC524[1] = { +Scene sOvli6_Andross[1] = { { OVERLAY_OFFSETS(ovl_i6), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_planet), @@ -652,7 +652,7 @@ Scene D_800CC524[1] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CC5BC[2] = { +Scene sOvli6_Venom2[2] = { { OVERLAY_OFFSETS(ovl_i6), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_planet), @@ -687,7 +687,7 @@ Scene D_800CC5BC[2] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CC6EC[1] = { +Scene sOvli2_Setup20[1] = { { OVERLAY_OFFSETS(ovl_i2), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_planet), @@ -706,7 +706,7 @@ Scene D_800CC6EC[1] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CC784[1] = { +Scene sOvli4_Bolse[1] = { { OVERLAY_OFFSETS(ovl_i4), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_space), @@ -725,7 +725,7 @@ Scene D_800CC784[1] = { /* F */ ROM_SEGMENT(ast_star_wolf) } }, }; -Scene D_800CC81C[1] = { +Scene sOvli4_Katina[1] = { { OVERLAY_OFFSETS(ovl_i4), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_planet), @@ -744,7 +744,7 @@ Scene D_800CC81C[1] = { /* F */ ROM_SEGMENT(ast_star_wolf) } }, }; -Scene D_800CC8B4[2] = { +Scene sOvli5_Macbeth[2] = { { OVERLAY_OFFSETS(ovl_i5), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_planet), @@ -779,7 +779,7 @@ Scene D_800CC8B4[2] = { /* F */ NO_SEGMENT } }, }; -Scene D_800CC9E4[1] = { +Scene sOvli1_Training[1] = { { OVERLAY_OFFSETS(ovl_i1), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_planet), @@ -798,7 +798,7 @@ Scene D_800CC9E4[1] = { /* F */ ROM_SEGMENT(ast_star_wolf) } }, }; -Scene D_800CCA7C[2] = { +Scene sOvli2_Versus[2] = { { OVERLAY_OFFSETS(ovl_i2), { /* 1 */ ROM_SEGMENT(ast_common), /* 2 */ ROM_SEGMENT(ast_bg_planet), diff --git a/srceu/engine/fox_message.c b/srceu/engine/fox_message.c index 8bab23a1..0ad3e3cb 100644 --- a/srceu/engine/fox_message.c +++ b/srceu/engine/fox_message.c @@ -14,4 +14,4 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_message/func_800C38C8.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_message/func_800C3ABC.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_message/Message_IsPrintingChar.s") diff --git a/srceu/engine/fox_play.c b/srceu/engine/fox_play.c index 4a88d529..26659044 100644 --- a/srceu/engine/fox_play.c +++ b/srceu/engine/fox_play.c @@ -8,9 +8,9 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800A46AC.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800A4B20.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/Player_WingEffects.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800A4D60.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/Player_DamageEffects.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800A5300.s") @@ -27,13 +27,13 @@ void func_800A59F0(void) { #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800A5EA0.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800A5F04.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/Play_Setup.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800A600C.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/Play_InitEnvironment.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800A642C.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800A657C.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/Play_SetupStarfield.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800A6660.s") @@ -47,9 +47,9 @@ void func_800A59F0(void) { #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800A67D8.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800A6808.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/Play_ClearObjectData.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800A6C50.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/Play_UpdateFillScreen.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800A6D4C.s") @@ -85,17 +85,17 @@ void func_800A59F0(void) { #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800AAEBC.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800AB968.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/Player_InitializeAll.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800AB9C0.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800AB9F0.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/Play_InitLevel.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800AC020.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/Player_ResetVsData.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800AC0C4.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800AC170.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/Play_Init.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800AC95C.s") @@ -123,9 +123,9 @@ void func_800A59F0(void) { #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800AE624.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800AE944.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/Player_CheckBounds360.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800AEB70.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/Player_MoveArwing360.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800AF3AC.s") @@ -169,7 +169,7 @@ void func_800A59F0(void) { #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800B4E2C.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800B4FE4.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/Player_Update.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800B5DE4.s") @@ -191,14 +191,15 @@ void func_800A59F0(void) { #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800B7B08.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800B80D8.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/Play_UpdateLevel.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800B8A54.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/Play_Update.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800B8C54.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800B8DCC.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/func_800B8DF4.s") +// has this added D_80163BC8 = 1.2f; +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/Play_Main.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_play/D_800D9760.s") diff --git a/srceu/engine/fox_radio.c b/srceu/engine/fox_radio.c index 5fdc76d3..aace8b3e 100644 --- a/srceu/engine/fox_radio.c +++ b/srceu/engine/fox_radio.c @@ -1,13 +1,19 @@ #include "common.h" +// No difference #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_radio/func_800BAE90.s") +// No difference #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_radio/func_800BAEEC.s") +// Different in EU +// https://decomp.me/scratch/kqrrH #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_radio/func_800BAF38.s") +// No difference #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_radio/func_800BB230.s") +// No difference #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_radio/func_800BBAD0.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_radio/func_800BBD18.s") diff --git a/srceu/engine/fox_rcp.c b/srceu/engine/fox_rcp.c index 2534959b..22369b1e 100644 --- a/srceu/engine/fox_rcp.c +++ b/srceu/engine/fox_rcp.c @@ -1,6 +1,6 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_rcp/func_800B9500.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_rcp/RCP_SetupDL.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_rcp/func_800B9544.s") @@ -30,7 +30,7 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_rcp/func_800B9A58.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_rcp/func_800B9A88.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_rcp/RCP_SetupDL_36.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_rcp/func_800B9AB8.s") diff --git a/srceu/engine/fox_save.c b/srceu/engine/fox_save.c index 0d112d1f..67e5f175 100644 --- a/srceu/engine/fox_save.c +++ b/srceu/engine/fox_save.c @@ -2,8 +2,8 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_save/func_800C3B40.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_save/func_800C3C14.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_save/Save_Write.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_save/func_800C3D24.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_save/Save_Read.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_save/D_800DA8A0.s") diff --git a/srceu/engine/fox_std_lib.c b/srceu/engine/fox_std_lib.c index cbcae9f7..f7100bd6 100644 --- a/srceu/engine/fox_std_lib.c +++ b/srceu/engine/fox_std_lib.c @@ -24,9 +24,9 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_std_lib/func_8009C154.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_std_lib/func_8009C5FC.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_std_lib/Math_SmoothStepToF.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_std_lib/func_8009C708.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_std_lib/Math_SmoothStepToAngle.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_std_lib/func_8009C8BC.s") @@ -46,7 +46,7 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_std_lib/func_8009E09C.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_std_lib/func_8009E364.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_std_lib/Lib_TextureRect_IA8.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_std_lib/func_8009E61C.s") @@ -66,7 +66,7 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_std_lib/func_8009FC90.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_std_lib/func_8009FF44.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_std_lib/Graphics_FillRectangle.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/engine/fox_std_lib/func_800A009C.s") diff --git a/srceu/overlays/ovl_ending/end1.c b/srceu/overlays/ovl_ending/end1.c index cca56cac..d6136e10 100644 --- a/srceu/overlays/ovl_ending/end1.c +++ b/srceu/overlays/ovl_ending/end1.c @@ -38,7 +38,7 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_ending/end1/func_ending_8018E3E8.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_ending/end1/func_ending_8018E458.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_ending/end1/Ending_Main.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_ending/end1/func_ending_8018E5D8.s") diff --git a/srceu/overlays/ovl_menu/fox_option.c b/srceu/overlays/ovl_menu/fox_option.c index 4d2e2045..65653911 100644 --- a/srceu/overlays/ovl_menu/fox_option.c +++ b/srceu/overlays/ovl_menu/fox_option.c @@ -1,44 +1,46 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80195880.s") +// difference from US: there's a call to func_menu_8019626C after setting gVIsPerFrame +// sOptionCardList setup is missing from this function, perhaps it was moved to func_menu_8019626C? +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Setup.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80195E4C.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Main.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80195F18.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Entry_Update.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_801960D8.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Entry_Draw.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019626C.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80196408.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Entry_Setup.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_801964EC.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019668C.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80196810.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Map_Update.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019688C.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Training_Update.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80196944.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80196D60.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_MainMenu_Update.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_801979D8.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_MainMenu_Draw.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80197C78.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80197DE0.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Versus_Update.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80198700.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80198888.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80198AB8.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Sound_Update.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80198CFC.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Sound_SetSoundMode.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80198DE0.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Sound_SetVolumeLevels.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80198F04.s") @@ -46,13 +48,13 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80199CFC.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80199D64.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_ExpertSound_Update.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_80199F94.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019A69C.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019A724.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Language_Update.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019A790.s") @@ -66,19 +68,19 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019B490.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019B4D4.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Data_Update.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019B754.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Data_Select.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019B970.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019BFF0.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019C098.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Ranking_Update.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019C138.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019C160.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Ranking_Select.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019C210.s") @@ -166,7 +168,7 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019E630.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019E790.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_VersusMenu_Update.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019E808.s") @@ -180,13 +182,13 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019F450.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019F47C.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_VersusStage_Update.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019F4E8.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Vs_PointMatch_Update.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019F56C.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Vs_BattleRoyal_Update.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019F5D8.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Vs_TimeTrial_Update.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_8019F65C.s") @@ -238,7 +240,7 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_801A174C.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_801A1A44.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Input_MoveCursor_Y.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_801A1BCC.s") @@ -248,7 +250,7 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_801A1EF4.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_801A2110.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_NameEntry_Update.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_801A21F0.s") @@ -262,13 +264,13 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_801A3344.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_801A33A0.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Score_Update.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_801A34E8.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_801A35D8.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_801A369C.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/Option_Invoice_Update.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/overlays/ovl_menu/fox_option/func_menu_801A38F0.s") diff --git a/srceu/sys/sys_lib.c b/srceu/sys/sys_lib.c index 5cb3f11b..99715219 100644 --- a/srceu/sys/sys_lib.c +++ b/srceu/sys/sys_lib.c @@ -8,10 +8,10 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_lib/func_80003008.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_lib/func_800031EC.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_lib/Lib_InitPerspective.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_lib/func_80003334.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_lib/func_80003460.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_lib/Lib_DmaRead.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_lib/func_800035A0.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_lib/Lib_FillScreen.s") diff --git a/srceu/sys/sys_matrix.c b/srceu/sys/sys_matrix.c index 3726fbb5..1fcefa82 100644 --- a/srceu/sys/sys_matrix.c +++ b/srceu/sys/sys_matrix.c @@ -12,9 +12,9 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_matrix/func_80005CA4.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_matrix/func_80005DB4.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_matrix/Matrix_RotateX.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_matrix/func_80005F00.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_matrix/Matrix_RotateY.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_matrix/func_80006050.s") @@ -26,7 +26,7 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_matrix/func_800069E0.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_matrix/func_80006A90.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_matrix/Matrix_MultVec3fNoTranslate.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_matrix/func_80006B28.s") diff --git a/srceu/sys/sys_memory.c b/srceu/sys/sys_memory.c index 81b978ea..f057f660 100644 --- a/srceu/sys/sys_memory.c +++ b/srceu/sys/sys_memory.c @@ -1,5 +1,5 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_memory/func_80006F90.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_memory/Memory_FreeAll.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_memory/func_80006FA8.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_memory/Memory_Allocate.s") diff --git a/srceu/sys/sys_timer.c b/srceu/sys/sys_timer.c index 41617f4f..0a97c376 100644 --- a/srceu/sys/sys_timer.c +++ b/srceu/sys/sys_timer.c @@ -2,9 +2,9 @@ #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_timer/func_80006FD0.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_timer/func_80007048.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_timer/Timer_CreateTask.s") -#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_timer/func_800070D8.s") +#pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_timer/Timer_Increment.s") #pragma GLOBAL_ASM("asm/eu/rev0/nonmatchings/sys/sys_timer/func_800070EC.s") diff --git a/srcjp/audio/audio_tables.c b/srcjp/audio/audio_tables.c new file mode 100644 index 00000000..0da7d3a4 --- /dev/null +++ b/srcjp/audio/audio_tables.c @@ -0,0 +1,160 @@ +#include "sys.h" +#include "sf64audio_provisional.h" + +// AudioTable gSampleBankTableInit = { +AudioTable D_800C0760 = { + { 4, 0, 0 }, + { + { 0x000000, 0x0DF120, MEDIUM_CART, CACHEPOLICY_4 }, + { 0x0DF120, 0x0D1D80, MEDIUM_CART, CACHEPOLICY_4 }, + { 0x1B0EA0, 0x48C480, MEDIUM_CART, CACHEPOLICY_4 }, + { 0x63D320, 0x0C3900, MEDIUM_CART, CACHEPOLICY_4 }, + }, +}; + +// AudioTable gSeqTableInit = { +AudioTable D_800C07B0 = { + { SEQ_ID_MAX, 0, 0 }, + { + { 0x00000, 0x3AF0, MEDIUM_CART, CACHEPOLICY_0 }, { 0x03AF0, 0x5990, MEDIUM_CART, CACHEPOLICY_0 }, + { 0x09480, 0x2D80, MEDIUM_CART, CACHEPOLICY_3 }, { 0x0C200, 0x1410, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x0D610, 0x1600, MEDIUM_CART, CACHEPOLICY_3 }, { 0x0EC10, 0xF20, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x0FB30, 0x13A0, MEDIUM_CART, CACHEPOLICY_3 }, { 0x10ED0, 0x1100, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x11FD0, 0x19E0, MEDIUM_CART, CACHEPOLICY_3 }, { 0x139B0, 0x13E0, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x14D90, 0x12F0, MEDIUM_CART, CACHEPOLICY_3 }, { SEQ_ID_SECTOR_Y, 0, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x16080, 0xB70, MEDIUM_CART, CACHEPOLICY_3 }, { 0x16BF0, 0x2460, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x19050, 0xD40, MEDIUM_CART, CACHEPOLICY_3 }, { SEQ_ID_FORTUNA, 0, MEDIUM_CART, CACHEPOLICY_3 }, + { SEQ_ID_TITANIA, 0, MEDIUM_CART, CACHEPOLICY_3 }, { 0x19D90, 0x7F0, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x1A580, 0x1440, MEDIUM_CART, CACHEPOLICY_3 }, { 0x1B9C0, 0x1B20, MEDIUM_CART, CACHEPOLICY_3 }, + { SEQ_ID_BOSS_ME, 0, MEDIUM_CART, CACHEPOLICY_3 }, { SEQ_ID_BOSS_CO_1, 0, MEDIUM_CART, CACHEPOLICY_3 }, + { SEQ_ID_BOSS_CO_1, 0, MEDIUM_CART, CACHEPOLICY_3 }, { SEQ_ID_BOSS_ME, 0, MEDIUM_CART, CACHEPOLICY_3 }, + { SEQ_ID_BOSS_ME, 0, MEDIUM_CART, CACHEPOLICY_3 }, { 0x1D4E0, 0x1B30, MEDIUM_CART, CACHEPOLICY_3 }, + { SEQ_ID_BOSS_CO_1, 0, MEDIUM_CART, CACHEPOLICY_3 }, { SEQ_ID_BOSS_ME, 0, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x1F010, 0x10B0, MEDIUM_CART, CACHEPOLICY_3 }, { SEQ_ID_BOSS_BO, 0, MEDIUM_CART, CACHEPOLICY_3 }, + { SEQ_ID_BOSS_ME, 0, MEDIUM_CART, CACHEPOLICY_3 }, { SEQ_ID_BOSS_BO, 0, MEDIUM_CART, CACHEPOLICY_3 }, + { SEQ_ID_BOSS_ME, 0, MEDIUM_CART, CACHEPOLICY_3 }, { 0x200C0, 0x1410, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x214D0, 0xF30, MEDIUM_CART, CACHEPOLICY_3 }, { 0x22400, 0x2B30, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x24F30, 0x7F0, MEDIUM_CART, CACHEPOLICY_3 }, { 0x25720, 0x13B0, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x26AD0, 0xC70, MEDIUM_CART, CACHEPOLICY_3 }, { 0x27740, 0x180, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x278C0, 0x5C0, MEDIUM_CART, CACHEPOLICY_3 }, { SEQ_ID_TITLE, 0, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x27E80, 0x4E40, MEDIUM_CART, CACHEPOLICY_3 }, { 0x2CCC0, 0x14E0, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x2E1A0, 0x400, MEDIUM_CART, CACHEPOLICY_3 }, { 0x2E5A0, 0x800, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x2EDA0, 0x1AB0, MEDIUM_CART, CACHEPOLICY_3 }, { 0x30850, 0x1AA0, MEDIUM_CART, CACHEPOLICY_3 }, + { SEQ_ID_BOSS_ME, 0, MEDIUM_CART, CACHEPOLICY_3 }, { 0x322F0, 0x1370, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x33660, 0xB80, MEDIUM_CART, CACHEPOLICY_3 }, { 0x341E0, 0x5C0, MEDIUM_CART, CACHEPOLICY_3 }, + { SEQ_ID_CO_INTRO, 0, MEDIUM_CART, CACHEPOLICY_3 }, { SEQ_ID_CO_INTRO, 0, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x347A0, 0x550, MEDIUM_CART, CACHEPOLICY_3 }, { 0x34CF0, 0x360, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x35050, 0x620, MEDIUM_CART, CACHEPOLICY_3 }, { SEQ_ID_VS_MENU, 0, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x35670, 0xA70, MEDIUM_CART, CACHEPOLICY_3 }, { SEQ_ID_STAR_WOLF, 0, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x360E0, 0xAB0, MEDIUM_CART, CACHEPOLICY_3 }, { 0x36B90, 0x13D0, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x37F60, 0x250, MEDIUM_CART, CACHEPOLICY_3 }, { 0x381B0, 0x6F0, MEDIUM_CART, CACHEPOLICY_3 }, + { 0x388A0, 0xFB0, MEDIUM_CART, CACHEPOLICY_3 }, { 0x39850, 0x1780, MEDIUM_CART, CACHEPOLICY_3 }, + }, +}; +#define SOUNDFONT_ENTRY(offset, size, medium, cachePolicy, bank1, bank2, numInst, numDrums) \ + { \ + offset, size, medium, cachePolicy, (((bank1) &0xFF) << 8) | ((bank2) &0xFF), \ + (((numInst) &0xFF) << 8) | ((numDrums) &0xFF) \ + } + +// AudioTable gSoundFontTableInit +s32 D_800C0BE0[] = { + 0x00210000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00002F00, 0x020000FF, 0x7F000000, 0x00002F00, + 0x00000820, 0x020101FF, 0x7F000000, 0x00003720, 0x000006E0, 0x020002FF, 0x7F000000, 0x00003E00, 0x000015E0, + 0x020002FF, 0x7F000000, 0x000053E0, 0x00000C20, 0x020002FF, 0x7F000000, 0x00006000, 0x00000FE0, 0x020002FF, + 0x7F000000, 0x00006FE0, 0x00001360, 0x020002FF, 0x7F000000, 0x00008340, 0x00001120, 0x020002FF, 0x7F000000, + 0x00009460, 0x00000EA0, 0x020002FF, 0x7F000000, 0x0000A300, 0x00000CE0, 0x020002FF, 0x7F000000, 0x0000AFE0, + 0x00001BA0, 0x020002FF, 0x7F000000, 0x0000CB80, 0x00000AC0, 0x020002FF, 0x7F000000, 0x0000D640, 0x00000AC0, + 0x020002FF, 0x7F000000, 0x0000E100, 0x00000EE0, 0x020002FF, 0x7F000000, 0x0000EFE0, 0x00000C00, 0x020002FF, + 0x7F000000, 0x0000FBE0, 0x000010A0, 0x020002FF, 0x7F000000, 0x00010C80, 0x00000F80, 0x020002FF, 0x7F000000, + 0x00011C00, 0x000010C0, 0x020002FF, 0x7F000000, 0x00012CC0, 0x00001380, 0x020002FF, 0x7F000000, 0x00014040, + 0x00002B20, 0x020002FF, 0x7F000000, 0x00016B60, 0x000009A0, 0x020002FF, 0x7F000000, 0x00017500, 0x00001220, + 0x020303FF, 0x10400000, 0x00018720, 0x00000180, 0x020303FF, 0x03000000, 0x000188A0, 0x000011C0, 0x020303FF, + 0x10400000, 0x00019A60, 0x00000940, 0x020303FF, 0x0A400000, 0x0001A3A0, 0x000009E0, 0x020303FF, 0x0A400000, + 0x0001AD80, 0x00000920, 0x020303FF, 0x0A400000, 0x0001B6A0, 0x000009E0, 0x020303FF, 0x0A400000, 0x0001C080, + 0x000009E0, 0x020303FF, 0x0A400000, 0x0001CA60, 0x00000A10, 0x020303FF, 0x0A400000, 0x0001D470, 0x000009E0, + 0x020303FF, 0x0A400000, 0x0001DE50, 0x00000A00, 0x020303FF, 0x0A400000, 0x0001E850, 0x000008D0, 0x020303FF, + 0x0A400000, +}; +/* +AudioTable gSoundFontTableInit = { + { 33, 0, 0 }, + { + SOUNDFONT_ENTRY(0x00000, 0x2F00, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_SFX, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x02F00, 0x0FE0, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_MAP, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x03EE0, 0x0640, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x04520, 0x1560, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x05A80, 0x0C00, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x06680, 0x0DE0, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x07460, 0x1200, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x08660, 0x1040, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x096A0, 0x0E40, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x0A4E0, 0x0C20, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x0B100, 0x1920, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x0CA20, 0x0A20, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x0D440, 0x0A00, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x0DE40, 0x0D60, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x0EBA0, 0x0C20, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x0F7C0, 0x0F00, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x106C0, 0x0F20, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x115E0, 0x0E20, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x12400, 0x10A0, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x134A0, 0x2580, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x15A20, 0x09E0, MEDIUM_CART, CACHEPOLICY_0, SAMPLES_VOICE, SAMPLES_NONE, 127, 0), + SOUNDFONT_ENTRY(0x16400, 0x1220, MEDIUM_CART, CACHEPOLICY_3, SAMPLES_INST, SAMPLES_NONE, 16, 64), + SOUNDFONT_ENTRY(0x17620, 0x0180, MEDIUM_CART, CACHEPOLICY_3, SAMPLES_INST, SAMPLES_NONE, 3, 0), + SOUNDFONT_ENTRY(0x177A0, 0x11C0, MEDIUM_CART, CACHEPOLICY_3, SAMPLES_INST, SAMPLES_NONE, 16, 64), + SOUNDFONT_ENTRY(0x18960, 0x0940, MEDIUM_CART, CACHEPOLICY_3, SAMPLES_INST, SAMPLES_NONE, 10, 64), + SOUNDFONT_ENTRY(0x192A0, 0x09E0, MEDIUM_CART, CACHEPOLICY_3, SAMPLES_INST, SAMPLES_NONE, 10, 64), + SOUNDFONT_ENTRY(0x19C80, 0x0920, MEDIUM_CART, CACHEPOLICY_3, SAMPLES_INST, SAMPLES_NONE, 10, 64), + SOUNDFONT_ENTRY(0x1A5A0, 0x09E0, MEDIUM_CART, CACHEPOLICY_3, SAMPLES_INST, SAMPLES_NONE, 10, 64), + SOUNDFONT_ENTRY(0x1AF80, 0x09E0, MEDIUM_CART, CACHEPOLICY_3, SAMPLES_INST, SAMPLES_NONE, 10, 64), + SOUNDFONT_ENTRY(0x1B960, 0x0A10, MEDIUM_CART, CACHEPOLICY_3, SAMPLES_INST, SAMPLES_NONE, 10, 64), + SOUNDFONT_ENTRY(0x1C370, 0x09E0, MEDIUM_CART, CACHEPOLICY_3, SAMPLES_INST, SAMPLES_NONE, 10, 64), + SOUNDFONT_ENTRY(0x1CD50, 0x0A00, MEDIUM_CART, CACHEPOLICY_3, SAMPLES_INST, SAMPLES_NONE, 10, 64), + SOUNDFONT_ENTRY(0x1D750, 0x08D0, MEDIUM_CART, CACHEPOLICY_3, SAMPLES_INST, SAMPLES_NONE, 10, 64), + }, +}; +*/ + +#define AS_BYTES(x) (((x) >> 8) & 0xFF), ((x) &0xFF) + +// u8 gSeqFontTableInit[283] +s32 D_800C0E00[] = { + 0x00840086, 0x009B009D, 0x009F00A1, 0x00A300A5, 0x00A700A9, 0x00AB00AD, 0x00AF00B1, 0x00B300B5, 0x00B700B9, + 0x00BB00BD, 0x00BF00C1, 0x00C300C5, 0x00C700C9, 0x00CB00CD, 0x00CF00D1, 0x00D300D5, 0x00D700D9, 0x00DB00DD, + 0x00DF00E1, 0x00E300E5, 0x00E700E9, 0x00EB00ED, 0x00EF00F1, 0x00F300F5, 0x00F700F9, 0x00FB00FD, 0x00FF0101, + 0x01030105, 0x01070109, 0x010B010D, 0x010F0111, 0x01130115, 0x01170119, 0x01001414, 0x13121110, 0x0F0E0D0C, + 0x0B0A0908, 0x07060504, 0x03010201, 0x18011D01, 0x19011A01, 0x1C011901, 0x19011D01, 0x18011D01, 0x1C011901, + 0x1E011801, 0x19011C01, 0x1C011F01, 0x1F011C01, 0x1C011F01, 0x1F011F01, 0x1C011F01, 0x1F011F01, 0x1F011F01, + 0x1F012001, 0x15011501, 0x16011501, 0x15011501, 0x15011501, 0x17011901, 0x15011501, 0x1D011901, 0x1F011501, + 0x15011501, 0x15011501, 0x15011501, 0x15011501, 0x1B011901, 0x15011901, 0x19011901, 0x15011F00, 0x00000000, +}; + +// clang-format off +/* +u8 gSeqFontTableInit[283] = { + // Offset into this table for sequence sound font list + AS_BYTES(132), AS_BYTES(134), AS_BYTES(155), AS_BYTES(157), AS_BYTES(159), AS_BYTES(161), AS_BYTES(163), + AS_BYTES(165), AS_BYTES(167), AS_BYTES(169), AS_BYTES(171), AS_BYTES(173), AS_BYTES(175), AS_BYTES(177), + AS_BYTES(179), AS_BYTES(181), AS_BYTES(183), AS_BYTES(185), AS_BYTES(187), AS_BYTES(189), AS_BYTES(191), + AS_BYTES(193), AS_BYTES(195), AS_BYTES(197), AS_BYTES(199), AS_BYTES(201), AS_BYTES(203), AS_BYTES(205), + AS_BYTES(207), AS_BYTES(209), AS_BYTES(211), AS_BYTES(213), AS_BYTES(215), AS_BYTES(217), AS_BYTES(219), + AS_BYTES(221), AS_BYTES(223), AS_BYTES(225), AS_BYTES(227), AS_BYTES(229), AS_BYTES(231), AS_BYTES(233), + AS_BYTES(235), AS_BYTES(237), AS_BYTES(239), AS_BYTES(241), AS_BYTES(243), AS_BYTES(245), AS_BYTES(247), + AS_BYTES(249), AS_BYTES(251), AS_BYTES(253), AS_BYTES(255), AS_BYTES(257), AS_BYTES(259), AS_BYTES(261), + AS_BYTES(263), AS_BYTES(265), AS_BYTES(267), AS_BYTES(269), AS_BYTES(271), AS_BYTES(273), AS_BYTES(275), + AS_BYTES(277), AS_BYTES(279), AS_BYTES(281), + + // sound font for SFX sequence + 1, 0, + // sound fonts voice sequence + 20, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 1, 2, + // sound fonts for BGM sequences. Each sequence has a single sound font. + 1, 24, 1, 29, 1, 25, 1, 26, 1, 28, 1, 25, 1, 25, 1, 29, 1, 24, 1, 29, 1, 28, 1, 25, 1, 30, 1, 24, 1, 25, 1, 28, + 1, 28, 1, 31, 1, 31, 1, 28, 1, 28, 1, 31, 1, 31, 1, 31, 1, 28, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, + 1, 21, 1, 21, 1, 22, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 23, 1, 25, 1, 21, 1, 21, 1, 29, 1, 25, 1, 31, 1, 21, + 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 27, 1, 25, 1, 21, 1, 25, 1, 25, 1, 25, 1, 21, 1, 31 +}; +*/ +// clang-format on diff --git a/srcjp/overlays/ovl_i1/fox_i1.c b/srcjp/overlays/ovl_i1/fox_i1.c index 76e6764e..140c35a1 100644 --- a/srcjp/overlays/ovl_i1/fox_i1.c +++ b/srcjp/overlays/ovl_i1/fox_i1.c @@ -1,3 +1,3 @@ #include "common.h" -#pragma GLOBAL_ASM("asm/jp/rev0/nonmatchings/overlays/ovl_i1/fox_i1/func_i1_8017E7A0.s") +#pragma GLOBAL_ASM("asm/jp/rev0/nonmatchings/overlays/ovl_i1/fox_i1/OvlI1_CallFunction.s") diff --git a/starfox64.eu.rev0.uncompressed.md5 b/starfox64.eu.rev0.uncompressed.md5 index 8e3b48ab..4119848d 100644 --- a/starfox64.eu.rev0.uncompressed.md5 +++ b/starfox64.eu.rev0.uncompressed.md5 @@ -1 +1 @@ -5541368ed41aee7c1612379aee2415bd baserom.eu.rev0.uncompressed.z64 +5541368ed41aee7c1612379aee2415bd ./build/starfox64.eu.rev0.uncompressed.z64 diff --git a/yamls/eu/rev0/main.yaml b/yamls/eu/rev0/main.yaml index a43b6511..e6bb69b9 100644 --- a/yamls/eu/rev0/main.yaml +++ b/yamls/eu/rev0/main.yaml @@ -228,7 +228,7 @@ - [0xCB690, data, engine/fox_tank] - [0xCB6F0, data, engine/fox_demo] - [0xCB9B0, data, engine/fox_display] - - [0xCBB40, .data, engine/fox_load] + - [0xCBB40, data, engine/fox_load] - [0xCD860, data, engine/fox_edata] - [0xD1360, data, engine/fox_edisplay] - [0xD1790, data, engine/fox_enmy] diff --git a/yamls/jp/rev0/header.yaml b/yamls/jp/rev0/header.yaml index aaa7d62b..bf5bdcdf 100644 --- a/yamls/jp/rev0/header.yaml +++ b/yamls/jp/rev0/header.yaml @@ -17,6 +17,7 @@ options: - linker_scripts/jp/rev0/symbol_addrs.txt - linker_scripts/jp/rev0/symbol_addrs_fix.txt - linker_scripts/jp/rev0/symbol_addrs_assets.txt + - linker_scripts/jp/rev0/symbol_addrs_overlays.txt asm_path: asm/jp/rev0 src_path: srcjp diff --git a/yamls/jp/rev0/main.yaml b/yamls/jp/rev0/main.yaml index fcda490c..36c42805 100644 --- a/yamls/jp/rev0/main.yaml +++ b/yamls/jp/rev0/main.yaml @@ -154,7 +154,7 @@ # DATA - Microcode - [0xC1030, data, aspmain] - - [0xC1360, data, audio/audio_tables] + - [0xC1360, .data, audio/audio_tables] - [0xC1B20, data, f3dex] # DATA - Nintendo Libraries diff --git a/yamls/jp/rev0/overlays.yaml b/yamls/jp/rev0/overlays.yaml index 925cc2db..51c2d023 100644 --- a/yamls/jp/rev0/overlays.yaml +++ b/yamls/jp/rev0/overlays.yaml @@ -1,4 +1,4 @@ - - name: ovl_i1 + - name: ovl_i1 # size = 0x141A0 exclusive_ram_id: overlay type: code dir: overlays/ovl_i1 @@ -25,7 +25,7 @@ - { type: bss, vram: 0x80192950, name: fox_co } - { type: bss, vram: 0x80192A70, name: fox_ve1 } - - name: ovl_i2 + - name: ovl_i2 # size = 0xE800 exclusive_ram_id: overlay type: code dir: overlays/ovl_i2 @@ -36,8 +36,8 @@ symbol_name_format: i2_$VRAM subsegments: - [0xDBD820, c, fox_i2] - - [0xDBD830, c, fox_me] - - [0xDC52D0, c, fox_sx] + - [0xDBD830, c, fox_me] # size = 0x7AA0 + - [0xDC52D0, c, fox_sx] # size = 0x6400 - [0xDCB6D0, data, fox_i2] - [0xDCB6E0, data, fox_me] - [0xDCB8F0, data, fox_sx] @@ -46,7 +46,7 @@ - { type: bss, vram: 0x8018CFA0, name: fox_i2 } - { type: bss, vram: 0x8018CFB0, name: fox_sx } - - name: ovl_i3 + - name: ovl_i3 # size = 0x3AD50 exclusive_ram_id: overlay type: code dir: overlays/ovl_i3 @@ -77,7 +77,7 @@ - { type: bss, vram: 0x801B9A70, name: fox_aq } - - name: ovl_i4 + - name: ovl_i4 # size = 0x18B00 exclusive_ram_id: overlay type: code dir: overlays/ovl_i4 @@ -87,11 +87,11 @@ bss_size: 0x1B0 symbol_name_format: i4_$VRAM subsegments: - - [0xE06D70, c, fox_i4] - - [0xE06E40, c, fox_fo] - - [0xE0B580, c, fox_bo] - - [0xE11FD0, c, fox_ka] - - [0xE18DD0, c, fox_sz] + - [0xE06D70, c, fox_i4] # size = 0xD0 + - [0xE06E40, c, fox_fo] # size = 0x4740 + - [0xE0B580, c, fox_bo] # size = 0x6A50 + - [0xE11FD0, c, fox_ka] # size = 0x6E00 + - [0xE18DD0, c, fox_sz] # size = 0x54D0 - [0xE1E2A0, data, fox_i4] - [0xE1E2B0, data, fox_fo] - [0xE1E350, data, fox_bo] diff --git a/yamls/us/rev1/overlays.yaml b/yamls/us/rev1/overlays.yaml index a1992e90..e7e1a50e 100644 --- a/yamls/us/rev1/overlays.yaml +++ b/yamls/us/rev1/overlays.yaml @@ -1,4 +1,4 @@ - - name: ovl_i1 + - name: ovl_i1 # size = 0x141A0 exclusive_ram_id: overlay type: code dir: overlays/ovl_i1 @@ -25,7 +25,7 @@ - { type: .bss, vram: 0x8019B6D0, name: fox_co } - { type: .bss, vram: 0x8019B7F0, name: fox_ve1 } - - name: ovl_i2 + - name: ovl_i2 # size = 0xE850 exclusive_ram_id: overlay type: code dir: overlays/ovl_i2 @@ -36,8 +36,8 @@ symbol_name_format: i2_$VRAM subsegments: - [0xE08400, c, fox_i2] - - [0xE08410, c, fox_me] - - [0xE0FF10, c, fox_sx] + - [0xE08410, c, fox_me] # size = 0x7B00 + - [0xE0FF10, c, fox_sx] # size = 0x63F0 - [0xE16300, .data, fox_i2] - [0xE16310, .data, fox_me] - [0xE16520, .data, fox_sx] @@ -46,7 +46,7 @@ - { type: .bss, vram: 0x80195D70, name: fox_i2 } - { type: .bss, vram: 0x80195D80, name: fox_sx } - - name: ovl_i3 + - name: ovl_i3 # size = 0x3AD20 exclusive_ram_id: overlay type: code dir: overlays/ovl_i3 @@ -76,7 +76,7 @@ - { type: .bss, vram: 0x801C2740, name: fox_so } - { type: .bss, vram: 0x801C27C0, name: fox_aq } - - name: ovl_i4 + - name: ovl_i4 # size = 0x18EA0 exclusive_ram_id: overlay type: code dir: overlays/ovl_i4 @@ -86,11 +86,11 @@ bss_size: 0x1B0 symbol_name_format: i4_$VRAM subsegments: - - [0xE51970, c, fox_i4] - - [0xE51A40, c, fox_fo] - - [0xE561B0, c, fox_bo] - - [0xE5CC30, c, fox_ka] - - [0xE63D50, c, fox_sz] + - [0xE51970, c, fox_i4] # size = 0xD0 + - [0xE51A40, c, fox_fo] # size = 0x4770 + - [0xE561B0, c, fox_bo] # size = 0x6A80 + - [0xE5CC30, c, fox_ka] # size = 0x7120 + - [0xE63D50, c, fox_sz] # size = 0x54D0 - [0xE69220, .data, fox_i4] - [0xE69230, .data, fox_fo] - [0xE692D0, .data, fox_bo]