diff --git a/assets/yaml/us/ast_solar.yaml b/assets/yaml/us/ast_solar.yaml new file mode 100644 index 00000000..2625e7a5 --- /dev/null +++ b/assets/yaml/us/ast_solar.yaml @@ -0,0 +1,197 @@ +:config: + segments: + - [0x06, 0xB612E0] + header: + code: + - '#include "assets/ast_solar.h"' + header: + - '#include "gfx.h"' + - '#include "sf64object.h"' + - '#include "structs.h"' + - '#include "sf64level.h"' + +D_SO_6000000: + { type: TEXTURE, ctype: u8, format: IA8, width: 112, height: 13, offset: 0x6000000, symbol: D_SO_6000000} + +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} + +D_SO_600636C: + { type: SF64:ANIM, offset: 0x600636C, symbol: D_SO_600636C} + +D_SO_6006558: + { type: SF64:SKELETON, offset: 0x6006558, symbol: D_SO_6006558} + +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_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_6013C70: + { type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x6013C70, symbol: D_SO_6013C70} + +D_SO_6016CF0: + { type: GFX, offset: 0x6016CF0, symbol: D_SO_6016CF0} + +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} + +D_SO_6017090: + { type: GFX, offset: 0x6017090, symbol: D_SO_6017090} + +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} + +D_SO_6017370: + { type: GFX, offset: 0x6017370, symbol: D_SO_6017370} + +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:ENV_SETTINGS, 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/include/assets.h b/include/assets.h index 58f2cd75..db303978 100644 --- a/include/assets.h +++ b/include/assets.h @@ -15,43 +15,26 @@ * ast_bolse, ast_fortuna, ast_sector_y, ast_solar, ast_zoness, * ast_katina, ast_macbeth, ast_title, ast_map, ast_training */ -extern Gfx D_60005B0[]; // fox_bg extern Gfx D_6001530[]; // fox_360, fox_demo, fox_ka extern Gfx D_6001A60[]; // fox_effect -extern Vtx D_6001C50[]; // fox_play extern Gfx D_6002E60[]; // fox_bg extern Gfx D_60030F0[]; // fox_edata_1C -extern Vtx D_6004500[]; extern Gfx D_60046F0[]; -extern u16 D_6005710[]; extern Gfx D_6005880[]; extern Gfx D_6006140[]; -extern Animation D_600636C; -extern Limb* D_6006558[]; extern EnvSettings D_6006A60; extern u16 D_6006EA0[]; -extern Gfx D_6007C40[]; -extern Gfx D_60084C0[]; -extern Gfx D_6008770[]; extern Gfx D_6009250[]; extern u16* D_6009B34[]; extern f32 D_6009CC4[]; extern f32 D_6009CFC[]; -extern Animation D_6009D30; extern Gfx D_6009F90[]; extern Gfx D_600A420[]; -extern Animation D_600B1B4; -extern Gfx D_600B8B0[]; extern u16 D_600BEA0[]; -extern Animation D_600C15C; extern u16 D_600C6A0[]; -extern Animation D_600D3DC; extern Gfx D_600D9F0[]; extern u8 D_600DDC0[]; -extern Gfx D_600DDF0[]; -extern Animation D_600E2C4; extern u8 D_600E360[]; -extern Limb* D_600E470[]; extern u8 D_600E980[]; extern Gfx D_600F160[]; extern Gfx D_600F2F0[]; @@ -59,30 +42,23 @@ extern Vec3s D_600F394[]; extern Gfx D_600F3D0[]; extern CollisionPoly D_600F3F4[]; extern Vec3s D_600F5AC[]; -extern Animation D_600F744; extern u8 D_600F940[]; extern Gfx D_600F9B0[]; extern Vec3s D_600FD50[]; extern u8 D_6010090[]; -extern u16 D_6010198[]; extern u8 D_60106B0[]; extern u8 D_6010FA0[]; extern Vec3s D_601170C[]; extern u8 D_6011890[]; extern u8 D_6012310[]; extern u8 D_60123F0[]; -extern Animation D_6012C00_Anim; extern u8 D_6013470[]; -extern Animation D_601388C; extern u8 D_6014140[]; extern u16 D_60147C0[]; extern u8 D_60147E0[]; extern u8 D_60148B0[]; extern Gfx D_6016270[]; extern Vec3s D_6016374[]; -extern Gfx D_6016CF0[]; -extern Gfx D_6017090[]; -extern Gfx D_6017370[]; extern u16* D_VE1_601B1E4[]; extern Gfx D_6018C00[]; // possible collision extern Gfx D_6019670[]; @@ -93,19 +69,10 @@ extern Gfx D_601A700[]; extern u16* D_SO_600631C[]; extern Gfx D_601AE40[]; extern f32 D_F32_601B710[]; -extern Gfx D_601B790[]; -extern Gfx D_601B790[]; -extern Gfx D_601C820[]; -extern Gfx D_601E150[]; -extern u16 D_601E1E8[]; extern EnvSettings D_SO_601F1F0; extern Gfx D_60200E0[]; extern Gfx D_6020A30[]; extern Gfx D_6020E60[]; -extern u16 D_6020F60[]; -extern u16 D_6022760[]; -extern u16 D_60229A4[]; -extern f32 D_60231A4[]; extern Vec3f D_602CB80[]; extern CollisionPoly D_602FA9C[]; extern Vec3s D_6033E08[]; diff --git a/include/assets/ast_solar.h b/include/assets/ast_solar.h deleted file mode 100644 index 3a371c9c..00000000 --- a/include/assets/ast_solar.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef AST_SOLAR_H -#define AST_SOLAR_H - -#include "gfx.h" -#include "sf64object.h" -#include "structs.h" - -#endif diff --git a/linker_scripts/us/undefined_syms.ld b/linker_scripts/us/undefined_syms.ld index fcfaefd9..7690e31b 100644 --- a/linker_scripts/us/undefined_syms.ld +++ b/linker_scripts/us/undefined_syms.ld @@ -200,7 +200,6 @@ D_601115C = 0x0601115C; D_AQ_6011EE0 = 0x06011EE0; D_AQ_60120F0 = 0x060120F0; D_MA_6012C00 = 0x06012C00; -D_6012C00_Anim = 0x06012C00; D_MA_6013960 = 0x06013960; D_6014FEC = 0x06014FEC; D_AQ_6015730 = 0x06015730; @@ -368,15 +367,8 @@ D_AQ_602E540 = 0x0602E540; D_FO_600EA90 = 0x0600EA90; D_KA_6011000 = 0x06011000; D_VE2_6014D50 = 0x06014D50; -D_60084C0 = 0x060084C0; -D_6008D40 = 0x06008D40; -D_6007C40 = 0x06007C40; D_601B790 = 0x0601B790; D_601B790 = 0x0601B790; -D_601A700 = 0x0601A700; -D_6019670 = 0x06019670; -D_60185E0 = 0x060185E0; -D_6017550 = 0x06017550; D_TI1_700AB70 = 0x0700AB70; D_TI1_700BE00 = 0x0700BE00; @@ -1249,7 +1241,6 @@ D_500A320 = 0x500A320; D_500A410 = 0x500A410; D_500A500 = 0x500A500; D_500B600 = 0x500B600; -D_60005B0 = 0x60005B0; D_TI_6000A80 = 0x6000A80; D_AQ_6000AE4 = 0x6000AE4; D_A6_6000B60 = 0x6000B60; @@ -1268,13 +1259,11 @@ D_SX_6001950 = 0x6001950; D_6001A60 = 0x6001A60; D_A6_6001A80 = 0x6001A80; D_TI_6001BA8 = 0x6001BA8; -D_6001C50 = 0x6001C50; D_AQ_6002628 = 0x6002628; D_AQ_6002874 = 0x6002874; D_6002890 = 0x6002890; D_MA_6002890 = 0x6002890; D_A6_60029A0 = 0x60029A0; -D_6002E60 = 0x6002E60; D_MA_6002E60 = 0x6002E60; D_MA_6003070 = 0x6003070; D_6003090 = 0x6003090; @@ -1282,15 +1271,11 @@ D_MA_6003370 = 0x6003370; D_A6_60038C0 = 0x60038C0; D_60038E0 = 0x60038E0; D_MA_6004440 = 0x6004440; -D_6004500 = 0x6004500; D_60046F0 = 0x60046F0; D_A6_6005700 = 0x6005700; -D_6005710 = 0x6005710; D_AQ_6005954 = 0x6005954; D_AQ_6005A80 = 0x6005A80; D_TI_600631C = 0x600631C; -D_600636C = 0x600636C; -D_6006558 = 0x6006558; D_MA_60066A0 = 0x60066A0; D_60066D0 = 0x60066D0; D_SX_60066F0 = 0x60066F0; @@ -1333,7 +1318,6 @@ D_6009300 = 0x6009300; D_TI_6009BB8 = 0x6009BB8; D_SX_6009C30 = 0x6009C30; D_MA_6009C50 = 0x6009C50; -D_6009D30 = 0x6009D30; D_MA_6009F10 = 0x6009F10; D_6009F90 = 0x6009F90; D_SX_6009FF8 = 0x6009FF8; @@ -1346,14 +1330,12 @@ D_MA_600AA70 = 0x600AA70; D_AQ_600AB10 = 0x600AB10; D_AQ_600AB68 = 0x600AB68; D_MA_600AD50 = 0x600AD50; -D_600B1B4 = 0x600B1B4; D_600B4B0 = 0x600B4B0; D_600BAF0 = 0x600BAF0; D_600BEA0 = 0x600BEA0; D_600BFB0 = 0x600BFB0; D_600C038 = 0x600C038; D_600C0A4 = 0x600C0A4; -D_600C15C = 0x600C15C; D_600C200 = 0x600C200; D_600C2AC = 0x600C2AC; D_600C2D0 = 0x600C2D0; @@ -1367,7 +1349,6 @@ D_600CDC0 = 0x600CDC0; D_600D090 = 0x600D090; D_MA_600D1E4 = 0x600D1E4; D_600D290 = 0x600D290; -D_600D3DC = 0x600D3DC; D_MA_600D480 = 0x600D480; D_600D4E0 = 0x600D4E0; D_600D590 = 0x600D590; @@ -1381,10 +1362,8 @@ D_600DDC0 = 0x600DDC0; D_600E010 = 0x600E010; D_600E050 = 0x600E050; D_A6_600E0C0 = 0x600E0C0; -D_600E2C4 = 0x600E2C4; D_600E360 = 0x600E360; D_MA_600E360 = 0x600E360; -D_600E470 = 0x600E470; D_600E900 = 0x600E900; D_600E980 = 0x600E980; D_AQ_600EEF0 = 0x600EEF0; @@ -1395,7 +1374,6 @@ D_A6_600F1F0 = 0x600F1F0; D_600F2F0 = 0x600F2F0; D_600F3D0 = 0x600F3D0; D_600F670 = 0x600F670; -D_600F744 = 0x600F744; D_SX_600F890 = 0x600F890; D_SX_600F8A0 = 0x600F8A0; D_600F940 = 0x600F940; @@ -1405,7 +1383,6 @@ D_600FF64 = 0x600FF64; D_6010088 = 0x6010088; D_6010090 = 0x6010090; D_MA_6010144 = 0x6010144; -D_6010198 = 0x6010198; D_MA_6010220 = 0x6010220; D_MA_601042C = 0x601042C; D_MA_6010470 = 0x6010470; @@ -1428,7 +1405,6 @@ D_60123F0 = 0x60123F0; D_A6_6012550 = 0x6012550; D_A6_6012840 = 0x6012840; D_MA_6012A60 = 0x6012A60; -D_6012C00 = 0x6012C00; D_AQ_6012C98 = 0x6012C98; D_MA_6012C98 = 0x6012C98; D_MA_6012F50 = 0x6012F50; @@ -1440,7 +1416,6 @@ D_SX_6013798 = 0x6013798; D_AQ_60137CC = 0x60137CC; D_AQ_60137F0 = 0x60137F0; D_SX_6013820 = 0x6013820; -D_601388C = 0x601388C; D_SX_601390C = 0x601390C; D_AQ_6014030 = 0x6014030; D_6014140 = 0x6014140; @@ -1464,10 +1439,7 @@ D_A6_6015EE0 = 0x6015EE0; D_MA_6016040 = 0x6016040; D_MA_60163F0 = 0x60163F0; D_MA_6016B2C = 0x6016B2C; -D_6016CF0 = 0x6016CF0; D_SX_6016E28 = 0x6016E28; -D_6017090 = 0x6017090; -D_6017370 = 0x6017370; D_MA_6017714 = 0x6017714; D_MA_6017720 = 0x6017720; D_6017AD0 = 0x6017AD0; @@ -1485,7 +1457,7 @@ D_AQ_6019238 = 0x6019238; D_AQ_6019338 = 0x6019338; D_AQ_60194D0 = 0x60194D0; D_A6_6019730 = 0x6019730; -D_ZO_601996C = 0x601996C; +D_601996C = 0x601996C; D_AQ_6019E80 = 0x6019E80; D_A6_601A120 = 0x601A120; D_MA_601A2B0 = 0x601A2B0; @@ -1504,7 +1476,6 @@ D_AQ_601C080 = 0x601C080; D_MA_601C170 = 0x601C170; D_SX_601C690 = 0x601C690; D_TITLE_601C7C0 = 0x601C7C0; -D_601C820 = 0x601C820; D_MA_601D188 = 0x601D188; D_601D1F0 = 0x601D1F0; D_TITLE_601D750 = 0x601D750; @@ -1516,8 +1487,6 @@ D_601DCD8 = 0x601DCD8; D_601DCF0 = 0x601DCF0; D_AQ_601DE50 = 0x601DE50; D_AQ_601DE60 = 0x601DE60; -D_601E150 = 0x601E150; -D_601E1E8 = 0x601E1E8; D_601E9A0 = 0x601E9A0; D_MA_601EA28 = 0x601EA28; D_MA_601EAB0 = 0x601EAB0; @@ -1528,18 +1497,13 @@ D_MA_601F270 = 0x601F270; D_TITLE_601F8E0 = 0x601F8E0; D_60200E0 = 0x60200E0; D_6020A30 = 0x6020A30; -D_SO_600631C = 0x6020DD0; D_6020E60 = 0x6020E60; -D_6020F60 = 0x6020F60; D_MA_6022200 = 0x6022200; D_MA_60223C0 = 0x60223C0; D_MA_6022450 = 0x6022450; D_MA_6022530 = 0x6022530; D_MA_6022610 = 0x6022610; -D_6022760 = 0x6022760; D_MA_60227F0 = 0x60227F0; -D_60229A4 = 0x60229A4; -D_60231A4 = 0x60231A4; D_MA_6023228 = 0x6023228; D_MA_6023388 = 0x6023388; D_MA_60239D0 = 0x60239D0; diff --git a/src/main/fox_bg.c b/src/main/fox_bg.c index 3d3b4fe0..162d4eff 100644 --- a/src/main/fox_bg.c +++ b/src/main/fox_bg.c @@ -1,6 +1,6 @@ #include "global.h" #include "assets.h" -// #include "prevent_bss_reordering.h" +#include "prevent_bss_reordering.h" extern f32 D_i3_801C4188; @@ -34,6 +34,7 @@ f32 D_80161394; // can be static #include "assets/ast_titania.h" #include "assets/ast_macbeth.h" #include "assets/ast_andross.h" +#include "assets/ast_solar.h" #include "assets/ast_warp_zone.h" #include "assets/ast_area_6.h" #include "assets/ast_zoness.h" @@ -479,7 +480,7 @@ void func_8003E1E8(void) { } else if (gCurrentLevel == LEVEL_ZONESS) { gSPDisplayList(gMasterDisp++, D_ZO_6013480); } else if (gCurrentLevel == LEVEL_SOLAR) { - gSPDisplayList(gMasterDisp++, D_601E150); + gSPDisplayList(gMasterDisp++, D_SO_601E150); } if (sp13C < 0) { sp13C = 1.0f; @@ -495,7 +496,7 @@ void func_8003E1E8(void) { } else if (gCurrentLevel == LEVEL_ZONESS) { gSPDisplayList(gMasterDisp++, D_ZO_6013480); } else if (gCurrentLevel == LEVEL_SOLAR) { - gSPDisplayList(gMasterDisp++, D_601E150); + gSPDisplayList(gMasterDisp++, D_SO_601E150); } break; } @@ -1101,9 +1102,9 @@ void func_80040CE4(void) { Matrix_Scale(gGfxMatrix, 3.0f, 2.0f, 3.0f, 1); Matrix_SetGfxMtx(&gMasterDisp); if (gGameFrameCount & 1) { - gSPDisplayList(gMasterDisp++, D_60005B0); + gSPDisplayList(gMasterDisp++, D_SO_60005B0); } else { - gSPDisplayList(gMasterDisp++, D_6002E60); + gSPDisplayList(gMasterDisp++, D_SO_6002E60); } break; case LEVEL_ZONESS: diff --git a/src/main/fox_enmy2.c b/src/main/fox_enmy2.c index 4f6fb244..06185202 100644 --- a/src/main/fox_enmy2.c +++ b/src/main/fox_enmy2.c @@ -24,6 +24,7 @@ s32 D_80161690; #include "assets/ast_area_6.h" #include "assets/ast_enmy_space.h" #include "assets/ast_enmy_planet.h" +#include "assets/ast_solar.h" #include "assets/ast_ve1_boss.h" #include "assets/ast_zoness.h" @@ -1024,7 +1025,7 @@ void func_8006D36C(Actor* actor) { var_v1 = SEGMENTED_TO_VIRTUAL(D_SY_6032E18); break; case LEVEL_SOLAR: - var_v1 = SEGMENTED_TO_VIRTUAL(D_SO_600631C); + var_v1 = SEGMENTED_TO_VIRTUAL(D_SO_6020DD0); break; case LEVEL_ZONESS: var_v1 = SEGMENTED_TO_VIRTUAL(D_ZO_602AAC0); @@ -3456,7 +3457,7 @@ void func_80072594(Actor* actor) { case 6: actor->unk_0B6++; if (gCurrentLevel == LEVEL_SOLAR) { - if (actor->unk_0B6 >= Animation_GetFrameCount(&D_600636C)) { + if (actor->unk_0B6 >= Animation_GetFrameCount(&D_SO_600636C)) { actor->unk_0B6 = 0; } if (((s32) gGameFrameCount % 3) == 0) { @@ -3875,8 +3876,8 @@ void func_80074FF0(Actor* actor) { case 6: if (gCurrentLevel == LEVEL_SOLAR) { gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK); - Animation_GetFrameData(&D_600636C, actor->unk_0B6, sp114); - Animation_DrawSkeleton(1, D_6006558, sp114, NULL, NULL, actor, &gIdentityMatrix); + Animation_GetFrameData(&D_SO_600636C, actor->unk_0B6, sp114); + Animation_DrawSkeleton(1, D_SO_6006558, sp114, NULL, NULL, actor, &gIdentityMatrix); gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK); } else { Animation_GetFrameData(&D_ENMY_PLANET_40057AC, actor->unk_0B6, sp114); diff --git a/src/main/fox_play.c b/src/main/fox_play.c index 7890aa84..ee433c34 100644 --- a/src/main/fox_play.c +++ b/src/main/fox_play.c @@ -17,6 +17,7 @@ #include "assets/ast_fortuna.h" #include "assets/ast_titania.h" #include "assets/ast_andross.h" +#include "assets/ast_solar.h" #include "assets/ast_arwing.h" #include "assets/ast_versus.h" #include "assets/ast_area_6.h" @@ -90,11 +91,11 @@ void func_800A3FEC(void) { switch (gCurrentLevel) { case LEVEL_SOLAR: if (gGameFrameCount & 1) { - spB4 = SEGMENTED_TO_VIRTUAL(D_6001C50); + spB4 = SEGMENTED_TO_VIRTUAL(D_SO_6001C50); } else { - spB4 = SEGMENTED_TO_VIRTUAL(D_6004500); + spB4 = SEGMENTED_TO_VIRTUAL(D_SO_6004500); } - spB0 = SEGMENTED_TO_VIRTUAL(D_6022760); + spB0 = SEGMENTED_TO_VIRTUAL(D_SO_6022760); spA8 = 15; sp90 = 70.0f; sp8C = 0.1f; @@ -999,8 +1000,8 @@ bool func_800A73E4(f32* arg0, s32* arg1, f32 xPos, f32 yPos, f32 zPos) { switch (gCurrentLevel) { case LEVEL_SOLAR: - spA4 = SEGMENTED_TO_VIRTUAL(D_6001C50); - spA0 = SEGMENTED_TO_VIRTUAL(D_6022760); + spA4 = SEGMENTED_TO_VIRTUAL(D_SO_6001C50); + spA0 = SEGMENTED_TO_VIRTUAL(D_SO_6022760); break; case LEVEL_ZONESS: spA4 = SEGMENTED_TO_VIRTUAL(D_ZO_6009ED0); @@ -2445,7 +2446,7 @@ void func_800AB334(void) { switch (gCurrentLevel) { case LEVEL_SOLAR: - mesh = SEGMENTED_TO_VIRTUAL(D_6001C50); + mesh = SEGMENTED_TO_VIRTUAL(D_SO_6001C50); break; case LEVEL_ZONESS: mesh = SEGMENTED_TO_VIRTUAL(D_ZO_6009ED0); @@ -2465,7 +2466,7 @@ void func_800AB334(void) { switch (gCurrentLevel) { case LEVEL_SOLAR: - mesh = SEGMENTED_TO_VIRTUAL(D_6004500); + mesh = SEGMENTED_TO_VIRTUAL(D_SO_6004500); break; case LEVEL_ZONESS: mesh = SEGMENTED_TO_VIRTUAL(D_ZO_600C780); @@ -6192,12 +6193,12 @@ void func_800B79B0(void) { func_800A3FEC(); for (D_80177CE8; D_80177CE8 >= 10.0f; D_80177CE8 -= 10.0f) { - Texture_Scroll(D_6005710, 32, 32, 1); + Texture_Scroll(D_SO_6005710, 32, 32, 1); } if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_6) { - Texture_Scroll(D_6005710, 32, 32, 1); + Texture_Scroll(D_SO_6005710, 32, 32, 1); } - Texture_Mottle(D_601E1E8, D_6020F60, 3); + Texture_Mottle(D_SO_601E1E8, D_SO_6020F60, 3); if (gPlayer[0].pos.y > 600.0f) { var_v0_2 = 7; @@ -6241,7 +6242,7 @@ void func_800B79B0(void) { gPlayer[0].unk_138 + (RAND_FLOAT(2000.0f) + -6000.0f), RAND_FLOAT(10.0f) + 20.0f); // check } - func_8008C104(D_60229A4, D_6010198); + func_8008C104(D_SO_60229A4, D_SO_6010198); if (gPlayer[0].shields == 0) { D_80177B4C = 1; } diff --git a/src/overlays/ovl_i3/fox_so.c b/src/overlays/ovl_i3/fox_so.c index 31788ba2..741a9fbf 100644 --- a/src/overlays/ovl_i3/fox_so.c +++ b/src/overlays/ovl_i3/fox_so.c @@ -2,6 +2,7 @@ #include "global.h" #include "assets.h" #include "assets/ast_bg_planet.h" +#include "assets/ast_solar.h" typedef void (*BossSOfunc)(Boss*); @@ -373,10 +374,10 @@ Vec3f D_i3_801BF8F0[4] = { }; Vec3f D_i3_801BF920 = { 0.0f, 0.0f, 0.0f }; Gfx* D_i3_801BF92C[6] = { - D_BG_PLANET_200B630, D_BG_PLANET_200A5A0, D_BG_PLANET_2009510, D_60084C0, D_6008D40, D_6007C40, + D_BG_PLANET_200B630, D_BG_PLANET_200A5A0, D_BG_PLANET_2009510, D_SO_60084C0, D_SO_6008D40, D_SO_6007C40, }; Gfx* D_i3_801BF944[6] = { - D_601B790, D_601B790, D_601A700, D_6019670, D_60185E0, D_6017550, + D_SO_601B790, D_SO_601B790, D_SO_601A700, D_SO_6019670, D_SO_60185E0, D_SO_6017550, }; Vec3f D_i3_801BF95C[3] = { { 0.0f, 30.0f, 480.0f }, @@ -480,17 +481,17 @@ void func_i3_8019F7AC(Actor* actor) { Matrix_SetGfxMtx(&gMasterDisp); switch (actor->obj.id) { case OBJ_ACTOR_275: - gSPDisplayList(gMasterDisp++, D_6017370); + gSPDisplayList(gMasterDisp++, D_SO_6017370); break; case OBJ_ACTOR_276: if (!(gGameFrameCount & 1)) { RCP_SetupDL(&gMasterDisp, 0x29); gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255); } - gSPDisplayList(gMasterDisp++, D_6017090); + gSPDisplayList(gMasterDisp++, D_SO_6017090); break; case OBJ_ACTOR_277: - gSPDisplayList(gMasterDisp++, D_6016CF0); + gSPDisplayList(gMasterDisp++, D_SO_6016CF0); break; } @@ -844,7 +845,7 @@ void func_i3_801A0AF0(Effect* effect) { break; case 3: gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 128, 128, effect->unk_44); - gSPDisplayList(gMasterDisp++, D_601C820); + gSPDisplayList(gMasterDisp++, D_SO_601C820); break; case 4: case 5: @@ -1223,7 +1224,7 @@ void func_i3_801A1F80(Boss* bossSO) { D_801779A8[gMainController] = 10.0f; D_80178480 = 120; bossSO->fwork[SO_FWK_3] = 2400.0f; - bossSO->info.hitbox = SEGMENTED_TO_VIRTUAL(D_60231A4); + bossSO->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SO_60231A4); bossSO->unk_04C = 0; bossSO->swork[SO_SWK_1] = 0; bossSO->info.hitbox[8] = bossSO->info.hitbox[12] = bossSO->info.hitbox[14] = bossSO->info.hitbox[18] = @@ -1457,7 +1458,7 @@ void func_i3_801A2C3C(Boss* bossSO) { bossSO->swork[SO_SWK_0] = 2; bossSO->swork[SO_SWK_1] = 0; bossSO->fwork[SO_FWK_0] = 0.05f; - bossSO->unk_04C = Animation_GetFrameCount(&D_601388C) - 2; + bossSO->unk_04C = Animation_GetFrameCount(&D_SO_601388C) - 2; bossSO->state = 0; bossSO->swork[SO_SWK_11] = 15; } @@ -1503,7 +1504,7 @@ void func_i3_801A2C98(Boss* bossSO) { bossSO->obj.rot.y = -bossSO->obj.rot.y; } } else { - bossSO->unk_04C = Animation_GetFrameCount(&D_601388C) - 2; + bossSO->unk_04C = Animation_GetFrameCount(&D_SO_601388C) - 2; } } else { Math_SmoothStepToAngle(&bossSO->obj.rot.y, 0.0f, 1.0f, 1.5f, 1.0f); @@ -1535,7 +1536,7 @@ void func_i3_801A30CC(Boss* bossSO) { bossSO->swork[SO_SWK_0] = 3; bossSO->swork[SO_SWK_1] = 0; bossSO->fwork[SO_FWK_0] = 0.1f; - bossSO->unk_04C = Animation_GetFrameCount(&D_601388C) - 2; + bossSO->unk_04C = Animation_GetFrameCount(&D_SO_601388C) - 2; bossSO->state = 0; bossSO->swork[SO_SWK_11] = 15; } @@ -1563,7 +1564,7 @@ void func_i3_801A3128(Boss* bossSO) { bossSO->obj.pos.z = gPlayer[0].unk_138 - 2100.0f; } } else { - bossSO->unk_04C = Animation_GetFrameCount(&D_601388C) - 2; + bossSO->unk_04C = Animation_GetFrameCount(&D_SO_601388C) - 2; } } else { if (bossSO->swork[SO_SWK_11] == 80) { @@ -2377,44 +2378,44 @@ void func_i3_801A5B3C(Boss* bossSO) { if (bossSO->unk_04C == 75) { AUDIO_PLAY_SFX(0x29432073, bossSO->sfxSource, 4); } - if (bossSO->unk_04C >= Animation_GetFrameCount(&D_601388C)) { + if (bossSO->unk_04C >= Animation_GetFrameCount(&D_SO_601388C)) { if (bossSO->health != 0) { bossSO->unk_04C = 0; bossSO->swork[SO_SWK_1]++; bossSO->fwork[SO_FWK_0] = 0.01f; } else { - bossSO->unk_04C = Animation_GetFrameCount(&D_601388C) - 1; + bossSO->unk_04C = Animation_GetFrameCount(&D_SO_601388C) - 1; } } - sp1BC = Animation_GetFrameData(&D_601388C, bossSO->unk_04C, sp50); + sp1BC = Animation_GetFrameData(&D_SO_601388C, bossSO->unk_04C, sp50); break; case 1: bossSO->unk_04C++; - if (bossSO->unk_04C >= Animation_GetFrameCount(&D_600D3DC)) { + if (bossSO->unk_04C >= Animation_GetFrameCount(&D_SO_600D3DC)) { bossSO->unk_04C = 0; } - sp1BC = Animation_GetFrameData(&D_600D3DC, bossSO->unk_04C, sp50); + sp1BC = Animation_GetFrameData(&D_SO_600D3DC, bossSO->unk_04C, sp50); break; case 2: bossSO->unk_04C++; - if (bossSO->unk_04C >= Animation_GetFrameCount(&D_600E2C4)) { + if (bossSO->unk_04C >= Animation_GetFrameCount(&D_SO_600E2C4)) { bossSO->unk_04C = 0; } - sp1BC = Animation_GetFrameData(&D_600E2C4, bossSO->unk_04C, sp50); + sp1BC = Animation_GetFrameData(&D_SO_600E2C4, bossSO->unk_04C, sp50); break; case 3: bossSO->unk_04C++; - if (bossSO->unk_04C >= Animation_GetFrameCount(&D_600F744)) { + if (bossSO->unk_04C >= Animation_GetFrameCount(&D_SO_600F744)) { bossSO->unk_04C = 0; } - sp1BC = Animation_GetFrameData(&D_600F744, bossSO->unk_04C, sp50); + sp1BC = Animation_GetFrameData(&D_SO_600F744, bossSO->unk_04C, sp50); break; case 4: bossSO->unk_04C++; - if (bossSO->unk_04C >= Animation_GetFrameCount(&D_600C15C)) { + if (bossSO->unk_04C >= Animation_GetFrameCount(&D_SO_600C15C)) { bossSO->unk_04C = 0; } - sp1BC = Animation_GetFrameData(&D_600C15C, bossSO->unk_04C, sp50); + sp1BC = Animation_GetFrameData(&D_SO_600C15C, bossSO->unk_04C, sp50); break; case 5: case 8: @@ -2423,24 +2424,24 @@ void func_i3_801A5B3C(Boss* bossSO) { if ((bossSO->unk_04C == 45) && (bossSO->health != 0)) { AUDIO_PLAY_SFX(0x29432073, bossSO->sfxSource, 4); } - if (bossSO->unk_04C >= Animation_GetFrameCount(&D_6012C00_Anim)) { + if (bossSO->unk_04C >= Animation_GetFrameCount(&D_SO_6012C00)) { bossSO->unk_04C = 0; } - sp1BC = Animation_GetFrameData(&D_6012C00_Anim, bossSO->unk_04C, sp50); + sp1BC = Animation_GetFrameData(&D_SO_6012C00, bossSO->unk_04C, sp50); break; case 6: bossSO->unk_04C++; - if (bossSO->unk_04C >= Animation_GetFrameCount(&D_600B1B4)) { + if (bossSO->unk_04C >= Animation_GetFrameCount(&D_SO_600B1B4)) { bossSO->unk_04C = 0; } - sp1BC = Animation_GetFrameData(&D_600B1B4, bossSO->unk_04C, sp50); + sp1BC = Animation_GetFrameData(&D_SO_600B1B4, bossSO->unk_04C, sp50); break; case 7: bossSO->unk_04C++; - if (bossSO->unk_04C >= Animation_GetFrameCount(&D_6009D30)) { + if (bossSO->unk_04C >= Animation_GetFrameCount(&D_SO_6009D30)) { bossSO->unk_04C = 0; } - sp1BC = Animation_GetFrameData(&D_6009D30, bossSO->unk_04C, sp50); + sp1BC = Animation_GetFrameData(&D_SO_6009D30, bossSO->unk_04C, sp50); break; } Matrix_RotateZ(gCalcMatrix, -bossSO->vwork[SO_VWK_29].z * M_DTOR, 0); @@ -2708,7 +2709,7 @@ void func_i3_801A71B8(Boss* bossSO) { Matrix_Scale(gCalcMatrix, bossSO->unk_3F8, bossSO->unk_3F8, bossSO->unk_3F8, 1); if (gBossActive != 0) { - Animation_DrawSkeleton(2, D_600E470, bossSO->vwork, func_i3_801A68A8, func_i3_801A6BDC, bossSO, gCalcMatrix); + Animation_DrawSkeleton(2, D_SO_600E470, bossSO->vwork, func_i3_801A68A8, func_i3_801A6BDC, bossSO, gCalcMatrix); } if (bossSO->health <= 0) { RCP_SetupDL_49(); diff --git a/src/overlays/ovl_i3/fox_zo.c b/src/overlays/ovl_i3/fox_zo.c index 345caee8..2c6d0226 100644 --- a/src/overlays/ovl_i3/fox_zo.c +++ b/src/overlays/ovl_i3/fox_zo.c @@ -79,39 +79,6 @@ void func_i3_8019962C(Boss* bossZO, f32 arg1); // /* 0xC */ NO_SEGMENT, // /* 0xD */ ROM_SEGMENT(ast_955270), -extern Gfx D_ZO_6002E10[]; -extern Gfx D_ZO_6004380[]; -extern Gfx D_ZO_6006360[]; -extern Limb* D_ZO_600E7D8[]; -extern Gfx D_ZO_6013330[]; -extern Gfx D_ZO_6017950[]; -extern Gfx D_ZO_60181E0[]; -extern Animation D_ZO_6018550; -extern Limb* D_ZO_601863C[]; -extern Gfx D_ZO_6018660[]; -extern Animation D_ZO_60195EC; -extern Limb* D_ZO_6019738[]; -extern Limb* D_ZO_6019E18[]; -extern Gfx D_ZO_6019EB0[]; -extern Gfx D_ZO_601A340[]; -extern Animation D_ZO_601AA48; -extern Limb* D_ZO_601AB14[]; -extern Animation D_ZO_601AFB8; -extern Limb* D_ZO_601B184[]; -extern Gfx D_ZO_601BCC0[]; -extern Gfx D_ZO_601C590[]; -extern Gfx D_ZO_601D680[]; -extern Animation D_ZO_601FBC4; -extern Limb* D_ZO_601FC90[]; -extern Animation D_ZO_6021ABC; -extern Limb* D_ZO_6021B88[]; -extern Gfx D_ZO_6023D50[]; -extern Gfx D_ZO_6025E60[]; -extern f32 D_ZO_602C028[]; -extern Gfx D_ZO_60012A0[]; -extern Gfx D_ZO_60239E0[]; -extern Gfx D_ZO_6023730[]; - // typedef struct { // /* 0 */ char pad0[4]; // /* 4 */ f32 unk_4; diff --git a/yamls/us/assets.yaml b/yamls/us/assets.yaml index 645df368..76356b6e 100644 --- a/yamls/us/assets.yaml +++ b/yamls/us/assets.yaml @@ -283,8 +283,12 @@ - name: ast_solar exclusive_ram_id: segment_06 - type: bin + type: code + dir: assets start: 0xB612E0 + vram: 0x06000000 + subsegments: + - [0xB612E0, .data, ast_solar/ast_solar] - name: ast_zoness exclusive_ram_id: segment_06