export configuration for ast_great_fox & ast_sector_z & ast_sector_y (#175)

* Matchpoint

* remove symbols from undef

* remove header

* comments

* var rename

* remove header

* first asset

* progress

* progress

* progress, should be matching. Torch bug?

* comments

* update torch with Peter's fix

* PRINTF

* replace symbol usage

* todo comment

* D_SX_6000000 usage

* progress

* Matchpoint

* progress replacing symbol usage (apo apo ahora)

* remove headers

* va bene

* format

* remove header
This commit is contained in:
Alejandro Asenjo Nitti
2024-03-27 01:07:41 -03:00
committed by GitHub
parent 4a572e7e30
commit ec1d3da564
33 changed files with 847 additions and 433 deletions
+4 -3
View File
@@ -5,6 +5,7 @@
#include "assets/ast_allies.h"
#include "assets/ast_vs_player.h"
#include "assets/ast_enmy_planet.h"
#include "assets/ast_sector_z.h"
/* static */ Vec3f D_800C9A90 = { 0.0f, -10.0f, 0.0f };
/* static */ Vec3f D_800C9A9C[4] = {
@@ -2229,8 +2230,8 @@ void func_80035448(Actor* actor) {
func_8004FEC0(actor);
break;
case 200:
Animation_GetFrameData(&D_6006D64, 0, sp7C);
Animation_DrawSkeleton(3, D_6006E50, sp7C, func_800352E0, NULL, actor, gCalcMatrix);
Animation_GetFrameData(&D_SZ_6006D64, 0, sp7C);
Animation_DrawSkeleton(3, D_SZ_6006E50, sp7C, func_800352E0, NULL, actor, gCalcMatrix);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -400.0f, 1);
Matrix_Scale(gGfxMatrix, actor->fwork[29], actor->fwork[29], actor->fwork[29], 1);
func_8005B1E8(actor, 3);
@@ -2260,7 +2261,7 @@ void func_80035448(Actor* actor) {
break;
}
} else if (gCurrentLevel == LEVEL_SECTOR_Z) {
gSPDisplayList(gMasterDisp++, D_6004FE0) Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
gSPDisplayList(gMasterDisp++, D_SZ_6004FE0) Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
func_8005B1E8(actor, 2);
} else if (gCurrentLevel == LEVEL_BOLSE) {
gSPDisplayList(gMasterDisp++, D_6008770) Matrix_Push(&gGfxMatrix);
+5 -3
View File
@@ -3,6 +3,8 @@
#include "variables.h"
#include "assets.h"
#include "assets/ast_aquas.h"
#include "assets/ast_sector_y.h"
#include "assets/ast_sector_z.h"
#include "assets/ast_vs_player.h"
extern Vec3f D_6030FD0[];
@@ -55,7 +57,7 @@ CollisionHeader D_800D2B38[10] = {
{ -1704.0f, -1006.0f, -4751.0f },
{ 1704.0f, 1030.0f, 4842.0f },
174,
D_6033070,
D_SY_6033070,
D_6033E08,
},
{
@@ -90,8 +92,8 @@ CollisionHeader D_800D2B38[10] = {
{ -1386.0f, -696.0f, -2274.0f },
{ 1386.0f, 1033.0f, 1833.0f },
316,
D_6007558,
D_6008E08,
D_SZ_6007558,
D_6008E08, //! TODO: replace with D_SZ_6008E08 after factory fix
},
{
{ -671.0f, 0.0f, -671.0f },
+1 -1
View File
@@ -1465,7 +1465,7 @@ void func_80039A50(PlayerShot* shot) {
Matrix_Scale(gGfxMatrix, 3.0f, 3.0f, 20.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
RCP_SetupDL_40();
gSPDisplayList(gMasterDisp++, D_E00DFB0);
gSPDisplayList(gMasterDisp++, D_GREAT_FOX_E00DFB0);
break;
}
}
+4 -2
View File
@@ -21,6 +21,8 @@ f32 D_80161394; // can be static
#include "assets/ast_vs_player.h"
#include "assets/ast_training.h"
#include "assets/ast_sector_x.h"
#include "assets/ast_sector_y.h"
#include "assets/ast_sector_z.h"
#include "assets/ast_aquas.h"
#include "assets/ast_andross.h"
#include "assets/ast_warp_zone.h"
@@ -618,7 +620,7 @@ void func_8003E1E8(void) {
Matrix_Scale(gGfxMatrix, 0.5f, 0.5f, 0.5f, 1);
Matrix_RotateX(gGfxMatrix, M_PI / 2, 1);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_6002F80);
gSPDisplayList(gMasterDisp++, D_SZ_6002F80);
break;
case LEVEL_SECTOR_Y:
Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f), -290.0f, 1);
@@ -626,7 +628,7 @@ void func_8003E1E8(void) {
Matrix_SetGfxMtx(&gMasterDisp);
RCP_SetupDL_62();
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 192);
gSPDisplayList(gMasterDisp++, D_6001840);
gSPDisplayList(gMasterDisp++, D_SY_6001840);
break;
}
}
+1 -1
View File
@@ -305,7 +305,7 @@ s32 D_80177B00[4][4];
u8 D_Timer_80177B44;
u8 D_80177B4C;
u8 D_80177B6C;
u8 D_80177B8C;
u8 gGreatFoxIntact;
u8 D_80177BAC;
u16 D_Timer_80177BD0[4];
u16 D_80177C30[4];
+16 -25
View File
@@ -6,24 +6,19 @@
#include "global.h"
#include "assets.h"
#include "assets/ast_sector_x.h"
#include "assets/ast_aquas.h"
#include "assets/ast_great_fox.h"
#include "assets/ast_enmy_space.h"
#include "assets/ast_enmy_planet.h"
#include "assets/ast_ending.h"
#include "assets/ast_sector_x.h"
#include "assets/ast_sector_y.h"
#include "assets/ast_sector_z.h"
extern Gfx D_60320E0[];
extern s32 D_800C9E90[];
extern Animation D_60265B4;
extern Animation D_602B8DC;
extern Animation D_60034C4;
extern Animation D_602A2CC;
extern Animation D_602CEB4;
extern Animation D_602B778;
extern f32 D_80178454;
extern f32 D_80178458;
extern f32 D_80178464;
@@ -33,15 +28,11 @@ extern f32 D_80178478;
extern Gfx D_6000D80[];
extern Gfx D_600BAA0[];
extern Gfx D_60132A0[];
extern Gfx D_60132B0[];
extern Gfx D_6014A40[];
extern Gfx D_6020810[];
extern Animation D_AQ_6020A40;
extern Animation D_601F3B8;
extern Limb* D_AQ_6020C6C[];
extern Limb* D_602D140[];
#include "assets/ast_allies.h"
@@ -133,7 +124,7 @@ f32 D_800CA1D4[] = {
};
Animation* D_800CA1F4[] = {
&D_60265B4, &D_602B8DC, &D_60034C4, &D_602A2CC, &D_602CEB4, &D_602B778, &D_601F3B8,
&D_SY_60265B4, &D_SY_602B8DC, &D_SY_60034C4, &D_SY_602A2CC, &D_SY_602CEB4, &D_SY_602B778, &D_SY_601F3B8,
};
void func_80048AC0(s32 teamId) {
@@ -2613,14 +2604,14 @@ void func_8004FEC0(Actor* actor) {
case 25:
if (actor->index & 1) {
gSPDisplayList(gMasterDisp++, D_6001DA0);
gSPDisplayList(gMasterDisp++, D_SZ_6001DA0);
} else {
gSPDisplayList(gMasterDisp++, D_6001360);
gSPDisplayList(gMasterDisp++, D_SZ_6001360);
}
break;
case 26:
gSPDisplayList(gMasterDisp++, D_6004FE0);
gSPDisplayList(gMasterDisp++, D_SZ_6004FE0);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
func_8005B1E8(actor, 2);
break;
@@ -2780,14 +2771,14 @@ void func_8004FEC0(Actor* actor) {
Matrix_SetGfxMtx(&gMasterDisp);
/* fallthrough */
case 39:
gSPDisplayList(gMasterDisp++, D_60097E0);
gSPDisplayList(gMasterDisp++, D_SY_60097E0);
func_8004FCB8(actor, 4);
break;
case 36:
Matrix_Scale(gGfxMatrix, actor->scale, actor->scale, actor->scale, 1);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_601D730);
gSPDisplayList(gMasterDisp++, D_SY_601D730);
func_8004FCB8(actor, 0);
break;
@@ -2805,7 +2796,7 @@ void func_8004FEC0(Actor* actor) {
Math_SmoothStepToVec3fArray(sp144, actor->vwork, 1, animFrameData, actor->fwork[2], 100.0f, .0f);
RCP_SetupDL_30(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
gDPSetPrimColor(gMasterDisp++, 0, 0, 150, 255, 150, 255);
Animation_DrawSkeleton(1, D_602D140, actor->vwork, 0, 0, actor, &gIdentityMatrix);
Animation_DrawSkeleton(1, D_SY_602D140, actor->vwork, 0, 0, actor, &gIdentityMatrix);
if (actor->fwork[0] != 0.0f) {
RCP_SetupDL_49();
@@ -2865,7 +2856,7 @@ void func_8004FEC0(Actor* actor) {
break;
case 40:
gSPDisplayList(gMasterDisp++, D_60132A0);
gSPDisplayList(gMasterDisp++, D_SY_60132A0);
break;
case 41:
@@ -2873,7 +2864,7 @@ void func_8004FEC0(Actor* actor) {
break;
case 42:
gSPDisplayList(gMasterDisp++, D_6014A40);
gSPDisplayList(gMasterDisp++, D_SY_6014A40);
break;
case 43:
@@ -2942,10 +2933,10 @@ void func_800515C4(void) {
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, 1005);
}
if (D_80177B8C != 0) {
gSPDisplayList(gMasterDisp++, D_E000000);
if (gGreatFoxIntact) {
gSPDisplayList(gMasterDisp++, D_GREAT_FOX_E000000);
} else {
gSPDisplayList(gMasterDisp++, D_E003AB0);
gSPDisplayList(gMasterDisp++, D_GREAT_FOX_E003AB0);
}
if ((gCurrentLevel != LEVEL_AQUAS) &&
@@ -2953,7 +2944,7 @@ void func_800515C4(void) {
RCP_SetupDL_49();
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
for (i = 0, var_s6_2 = D_800CA0BC; i < 4; i++, var_s6_2++) {
if ((i != 1) || (D_80177B8C != 0)) {
if ((i != 1) || gGreatFoxIntact) {
sp9C[i] = 0.0f;
if (i < 2) {
if (!(gGameFrameCount & 0x38)) {
+2 -1
View File
@@ -17,6 +17,7 @@ f32 D_801615B8[4];
#include "assets/ast_allies.h"
#include "assets/ast_landmaster.h"
#include "assets/ast_vs_player.h"
#include "assets/ast_sector_z.h"
s32 D_800CA220 = 0;
u8 D_800CA224[] = { 0, 0, 0, 0 };
@@ -1390,7 +1391,7 @@ void func_80057248(void) {
Matrix_SetGfxMtx(&gMasterDisp);
gDPSetTextureFilter(gMasterDisp++, G_TF_POINT);
if ((i == 0) && (gCurrentLevel == LEVEL_SECTOR_Z)) {
gSPDisplayList(gMasterDisp++, D_6004330);
gSPDisplayList(gMasterDisp++, D_SZ_6004330);
} else {
gSPDisplayList(gMasterDisp++, D_800CA354[i]);
}
+17 -15
View File
@@ -5,6 +5,8 @@
#include "assets/ast_arwing.h"
#include "assets/ast_training.h"
#include "assets/ast_sector_x.h"
#include "assets/ast_sector_y.h"
#include "assets/ast_sector_z.h"
#include "assets/ast_aquas.h"
#include "assets/ast_7_ti_1.h"
#include "assets/ast_andross.h"
@@ -187,17 +189,17 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_80_103 */ {(void*) func_i5_801A23AC, 1, (ObjectFunc) NULL, D_800CBF34, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_80_104 */ {(void*) func_i5_801A23AC, 1, (ObjectFunc) func_i5_801A0BD8, D_6036594, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_80_105 */ {(void*) func_i5_801A23AC, 1, (ObjectFunc) NULL, D_6036204, 1300.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_80_106 */ {(void*) D_60097E0, 0, (ObjectFunc) NULL, D_6034478, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_107 */ {(void*) D_601D730, 0, (ObjectFunc) NULL, D_603450C, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_108 */ {(void*) D_60102C0, 0, (ObjectFunc) NULL, D_6034588, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_109 */ {(void*) D_60036A0, 0, (ObjectFunc) func_i6_801A4E44, D_6034664, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_110 */ {(void*) D_6005360, 0, (ObjectFunc) NULL, D_6034770, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_106 */ {(void*) D_SY_60097E0, 0, (ObjectFunc) NULL, D_SY_6034478, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_107 */ {(void*) D_SY_601D730, 0, (ObjectFunc) NULL, D_SY_603450C, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_108 */ {(void*) D_SY_60102C0, 0, (ObjectFunc) NULL, D_SY_6034588, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_109 */ {(void*) D_SY_60036A0, 0, (ObjectFunc) func_i6_801A4E44, D_SY_6034664, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_110 */ {(void*) D_SY_6005360, 0, (ObjectFunc) NULL, D_SY_6034770, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_111 */ {(void*) func_80074F90, 1, (ObjectFunc) NULL, D_800CBF34, 2000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_80_112 */ {(void*) D_600F6C0, 0, (ObjectFunc) func_i6_801A52B8, D_60347F0, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_113 */ {(void*) D_601B610, 0, (ObjectFunc) NULL, D_800CBF34, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_114 */ {(void*) D_601C6A0, 0, (ObjectFunc) NULL, D_800CBF34, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_115 */ {(void*) D_60188D0, 0, (ObjectFunc) NULL, D_603486C, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_116 */ {(void*) D_60034D0, 0, (ObjectFunc) NULL, D_60347D4, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_112 */ {(void*) D_SY_600F6C0, 0, (ObjectFunc) func_i6_801A52B8, D_SY_60347F0, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_113 */ {(void*) D_SY_601B610, 0, (ObjectFunc) NULL, D_800CBF34, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_114 */ {(void*) D_SY_601C6A0, 0, (ObjectFunc) NULL, D_800CBF34, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_115 */ {(void*) D_SY_60188D0, 0, (ObjectFunc) NULL, D_SY_603486C, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_116 */ {(void*) D_SY_60034D0, 0, (ObjectFunc) NULL, D_SY_60347D4, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_117 */ {(void*) D_AQ_60231C0, 0, (ObjectFunc) NULL, D_AQ_6030C60, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_118 */ {(void*) D_AQ_6011EE0, 0, (ObjectFunc) NULL, D_AQ_6030C7C, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_119 */ {(void*) D_AQ_6015730, 0, (ObjectFunc) NULL, D_AQ_6030D74, 2000.0f, 0, 0, 39, 0, 0.0f, 0 },
@@ -237,9 +239,9 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_80_153 */ {(void*) D_600B8B0, 0, (ObjectFunc) NULL, D_6011C48, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_154 */ {(void*) D_600BAF0, 0, (ObjectFunc) NULL, D_601115C, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_155 */ {(void*) NULL, 0, (ObjectFunc) NULL, D_800CBF34, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_156 */ {(void*) func_i6_80197CB8, 1, (ObjectFunc) NULL, D_6034368, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_157 */ {(void*) D_6001DA0, 0, (ObjectFunc) NULL, D_600924C, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_158 */ {(void*) D_6001360, 0, (ObjectFunc) NULL, D_60092E8, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_156 */ {(void*) func_i6_80197CB8, 1, (ObjectFunc) NULL, D_SY_6034368, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_157 */ {(void*) D_SZ_6001DA0, 0, (ObjectFunc) NULL, D_SZ_600924C, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_158 */ {(void*) D_SZ_6001360, 0, (ObjectFunc) NULL, D_SZ_60092E8, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_159 */ {(void*) D_6008370, 0, (ObjectFunc) NULL, D_601668C, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_160 */ {(void*) D_6010960, 0, (ObjectFunc) NULL, D_6016714, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_4C_161 */ {(void*) D_602F7C0, 0, (ObjectFunc) func_80068FE0, D_603E468, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
@@ -285,7 +287,7 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_ACTOR_201 */ {(void*) func_800598E8, 1, (ObjectFunc) func_8006AC08, D_602F684, 100.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_202 */ {(void*) func_80059A24, 1, (ObjectFunc) func_8006AD18, D_602F6A0, 100.0f, 0, 1, 39, 0, 180.0f, 1 },
/* OBJ_ACTOR_203 */ {(void*) func_i2_8018F884, 1, (ObjectFunc) func_i2_8018F330, D_800CBF34, 1000.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_204 */ {(void*) func_i6_801A4CB0, 1, (ObjectFunc) func_i6_801A3BD4, D_603405C, 1000.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_204 */ {(void*) func_i6_801A4CB0, 1, (ObjectFunc) func_i6_801A3BD4, D_SY_603405C, 1000.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_205 */ {(void*) func_i5_801A12C4, 1, (ObjectFunc) func_i5_8019C778, D_60359C8, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_206 */ {(void*) func_i5_801A12C4, 1, (ObjectFunc) func_i5_801AC438, D_6035A48, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_207 */ {(void*) func_i5_801AC294, 2, (ObjectFunc) func_i5_801A7E7C, D_603677C, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
@@ -394,7 +396,7 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_BOSS_310 */ {(void*) func_8002E64C, 1, (ObjectFunc) func_8002E628, D_800CBF34, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_311 */ {(void*) func_i4_80191AFC, 2, (ObjectFunc) func_i4_801912FC, D_6011C80, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_312 */ {(void*) func_i6_80196288, 2, (ObjectFunc) func_i6_80196210, D_60166F4, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_313 */ {(void*) func_i4_8019E98C, 1, (ObjectFunc) func_i4_8019E454, D_6009388, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_313 */ {(void*) func_i4_8019E98C, 1, (ObjectFunc) func_i4_8019E454, D_SZ_6009388, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_314 */ {(void*) func_i6_8019E2C4, 2, (ObjectFunc) func_i6_8019C888, D_800CBF34, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_SO */ {(void*) func_i3_801A71B8, 2, (ObjectFunc) func_i3_801A5B3C, D_800CBF34, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_316 */ {(void*) func_i4_801968F4, 1, (ObjectFunc) func_i4_801946C4, D_6011058, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
+2 -1
View File
@@ -22,6 +22,7 @@ extern Gfx D_601BAD0[];
#include "assets/ast_bg_planet.h"
#include "assets/ast_training.h"
#include "assets/ast_sector_x.h"
#include "assets/ast_sector_y.h"
#include "assets/ast_aquas.h"
#include "assets/ast_area_6.h"
#include "assets/ast_A_ti.h"
@@ -807,7 +808,7 @@ void func_800798F0(Effect* effect) {
case 16:
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
gSPDisplayList(gMasterDisp++, D_600F6C0);
gSPDisplayList(gMasterDisp++, D_SY_600F6C0);
gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK);
break;
+10 -8
View File
@@ -2,6 +2,8 @@
#include "global.h"
#include "assets.h"
#include "assets/ast_sector_x.h"
#include "assets/ast_sector_y.h"
#include "assets/ast_sector_z.h"
#include "assets/ast_aquas.h"
#include "assets/ast_andross.h"
#include "assets/ast_area_6.h"
@@ -15,9 +17,9 @@ u8 D_80161684;
#include "fox_enmy_assets.h"
ObjectInit* D_800CFDA0[] = {
D_60371A4, D_6026CC4, D_SX_602A164, D_A6_6023F64, D_A6_60287A4, D_602E4F4, D_6007E74,
D_601F234, D_6026714, D_C035154, D_TR_6006AA4, D_6031000, D_6006C60, D_602E5C8,
D_600EAD4, NULL, D_6011044, D_600FF74, D_6006EB4, D_6014D94, D_vs_player_302DE3C,
D_60371A4, D_6026CC4, D_SX_602A164, D_A6_6023F64, D_A6_60287A4, D_SY_602E4F4, D_6007E74,
D_601F234, D_6026714, D_C035154, D_TR_6006AA4, D_6031000, D_6006C60, D_602E5C8,
D_600EAD4, NULL, D_6011044, D_600FF74, D_SZ_6006EB4, D_6014D94, D_vs_player_302DE3C,
};
s32 D_800CFDF4[] = {
OBJ_80_0,
@@ -64,11 +66,11 @@ u32 D_800CFF54[9] = {
};
void func_80060F30(f32* pos, u32 sfxId, s32 arg2) {
(void) "CHIME SET \n";
(void) "BOMB SET 1\n";
(void) "BOMB SET 2\n";
(void) "center_X %f\n";
(void) "Enm->obj.pos.x %f\n";
PRINTF("CHIME SET \n");
PRINTF("BOMB SET 1\n");
PRINTF("BOMB SET 2\n");
PRINTF("center_X %f\n");
PRINTF("Enm->obj.pos.x %f\n");
if (!gVersusMode) {
AUDIO_PLAY_SFX(sfxId, gDefaultSfxSource, 4);
} else {
+23 -22
View File
@@ -11,6 +11,7 @@ s32 D_80161690;
#include "assets/ast_warp_zone.h"
#include "assets/ast_allies.h"
#include "assets/ast_sector_x.h"
#include "assets/ast_sector_y.h"
#include "assets/ast_aquas.h"
#include "assets/ast_7_ti_1.h"
#include "assets/ast_andross.h"
@@ -905,26 +906,26 @@ UnkStruct_D003C D_800D003C[108] = {
{ NULL, D_SX_603238C, 1.0f, 500.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 },
{ D_SX_6020D20, D_SX_60328CC, -1.0f, 2100.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ NULL, D_800CBF34, 1.0f, 100.0f, 3001.0f, 2, 0, 0, 0, 0.0f, 1 },
{ D_60097E0, D_6034478, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_601D730, D_603450C, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_SY_60097E0, D_SY_6034478, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_SY_601D730, D_SY_603450C, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ NULL, D_800CBE8C, 1.0f, 20000.0f, 3000.0f, 1, 0, 2, 0, 0.0f, 0 },
{ D_60102C0, D_6034588, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_SY_60102C0, D_SY_6034588, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_6017B60, D_800CBEC4, -1.0f, 300.0f, 3001.0f, 0, 0, 0, 0, 1.0f, 1 },
{ D_6004D00, D_800CBEC4, 1.0f, 100.0f, 3000.0f, 1, 0, 4, 0, 1.0f, 1 },
{ D_601A880, D_800CBE8C, -1.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 },
{ NULL, D_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 },
{ NULL, D_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 },
{ NULL, D_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 },
{ D_6015D60, D_6034124, 2.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 },
{ NULL, D_SY_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 },
{ NULL, D_SY_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 },
{ NULL, D_SY_603405C, 0.3f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 },
{ D_SY_6015D60, D_SY_6034124, 2.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 1.0f, 1 },
{ NULL, D_602C1A0, -1.0f, 1000.0f, 3000.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_SX_600B540, D_SX_60328E8, -1.0f, 2100.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_ENMY_SPACE_4000EC0, D_800CBE8C, 1.5f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 },
{ D_ENMY_SPACE_4008D50, D_800CBE8C, 1.5f, 100.0f, 3000.0f, 1, 0, 1, 0, 1.0f, 1 },
{ NULL, D_800CBF34, -1.0f, 2000.0f, 3000.0f, 0, 0, 3, 0, 0.0f, 1 },
{ D_60102C0, D_800CBF34, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_601F3D0, D_800CBF34, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_6022B10, D_800CBF34, 2.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_60209F0, D_800CBF34, 2.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_SY_60102C0, D_800CBF34, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_SY_601F3D0, D_800CBF34, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_SY_6022B10, D_800CBF34, 2.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_SY_60209F0, D_800CBF34, 2.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_6019430, D_800CBEC4, 2.5f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 },
{ D_6018960, D_800CBE8C, 2.5f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 },
{ D_6009F50, D_800CBF34, -1.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 },
@@ -932,16 +933,16 @@ UnkStruct_D003C D_800D003C[108] = {
{ D_600C2A0, D_800CBEC4, -1.0f, 100.0f, 8000.0f, 1, 0, 0, 0, 0.0f, 1 },
{ D_600BD40, D_800CBE8C, -1.0f, 100.0f, 8000.0f, 1, 0, 0, 0, 0.0f, 1 },
{ NULL, D_602F604, 3.0f, 100.0f, 3000.0f, 2, 0, 1, 0, 1.0f, 1 },
{ D_60205D0, D_603445C, 3.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 },
{ D_60036A0, D_6034664, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_601AD70, D_800CBF34, 4.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_SY_60205D0, D_SY_603445C, 3.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 1.0f, 1 },
{ D_SY_60036A0, D_SY_6034664, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_SY_601AD70, D_800CBF34, 4.0f, 100.0f, 3000.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_arwing_3007650, D_800CBF34, 1.0f, 100.0f, 3000.0f, 2, 0, 5, 0, 0.0f, 1 },
{ D_60034D0, D_60347D4, 3.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 },
{ D_6005360, D_6034770, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_600F6C0, D_60347F0, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_601B610, D_800CBF34, -1.0f, 10000.0f, 3001.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_601C6A0, D_800CBF34, -1.0f, 10000.0f, 3001.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_60188D0, D_603486C, 3.0f, 100.0f, 3001.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_SY_60034D0, D_SY_60347D4, 3.0f, 100.0f, 3000.0f, 1, 0, 0, 0, 0.0f, 1 },
{ D_SY_6005360, D_SY_6034770, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_SY_600F6C0, D_SY_60347F0, -1.0f, 10000.0f, 3001.0f, 0, 0, 0, 0, 0.0f, 1 },
{ D_SY_601B610, D_800CBF34, -1.0f, 10000.0f, 3001.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_SY_601C6A0, D_800CBF34, -1.0f, 10000.0f, 3001.0f, 0, 0, 1, 0, 0.0f, 1 },
{ D_SY_60188D0, D_SY_603486C, 3.0f, 100.0f, 3001.0f, 0, 0, 1, 0, 0.0f, 1 },
{ NULL, D_800CBEA8, 1.0f, 100.0f, 3000.0f, 2, 0, 0, 0, 1.0f, 0 },
{ NULL, D_602C294, 1.0f, 100.0f, 3000.0f, 0, 0, 0, 0, 1.0f, 1 },
{ NULL, D_601B474, -1.0f, 100.0f, 3000.0f, 2, 0, 0, 0, 0.0f, 1 },
@@ -1013,7 +1014,7 @@ void func_8006D36C(Actor* actor) {
var_v1 = SEGMENTED_TO_VIRTUAL(D_A6_6027F50);
break;
case LEVEL_SECTOR_Y:
var_v1 = SEGMENTED_TO_VIRTUAL(D_6032E18);
var_v1 = SEGMENTED_TO_VIRTUAL(D_SY_6032E18);
break;
case LEVEL_SOLAR:
var_v1 = SEGMENTED_TO_VIRTUAL(D_6020DD0);
@@ -3757,7 +3758,7 @@ bool func_80074F04(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* thi
s32 func_80074F90(Object_80* obj80) {
RCP_SetupDL(&gMasterDisp, 0x3C);
gSPDisplayList(gMasterDisp++, D_601AD70);
gSPDisplayList(gMasterDisp++, D_SY_601AD70);
RCP_SetupDL(&gMasterDisp, 0x40);
return 0;
}
+27 -25
View File
@@ -1,17 +1,5 @@
// #include "prevent_bss_reordering.h"
#include "sf64math.h"
#include "assets/ast_blue_marine.h"
#include "assets/ast_landmaster.h"
#include "assets/ast_training.h"
#include "assets/ast_andross.h"
#include "assets/ast_star_wolf.h"
#include "assets/ast_font.h"
#include "assets/ast_vs_player.h"
#include "assets/ast_bg_planet.h"
#include "assets/ast_bg_space.h"
#include "assets/ast_area_6.h"
#include "assets/ast_aquas.h"
// BSS section range:
// D_801616A0 <==> D_80161910
@@ -84,12 +72,26 @@ s32 D_80161900[20];
#include "global.h"
#include "assets.h"
#include "assets/ast_blue_marine.h"
#include "assets/ast_landmaster.h"
#include "assets/ast_training.h"
#include "assets/ast_andross.h"
#include "assets/ast_star_wolf.h"
#include "assets/ast_font.h"
#include "assets/ast_vs_player.h"
#include "assets/ast_bg_planet.h"
#include "assets/ast_bg_space.h"
#include "assets/ast_area_6.h"
#include "assets/ast_aquas.h"
#include "assets/ast_sector_x.h"
#include "assets/ast_sector_y.h"
#include "assets/ast_sector_z.h"
void func_80087788(void);
// Segmented addresses
extern u8 D_6000000[];
extern u16 D_6000840[];
extern u16 D_6000C80[];
extern u8 D_6000D80[];
extern u8 D_6001260[];
@@ -559,15 +561,15 @@ s32 func_800863C8(void) {
}
UnkStruct_D_800D1AEC D_800D1AEC[] = {
{ D_500A050, 16, 15, D_6000000, 128, 28 }, { D_500A140, 16, 15, D_6000000, 96, 28 },
{ D_500A140, 16, 15, D_6000000, 176, 12 }, { D_500A230, 16, 15, D_6000000, 168, 28 },
{ D_500A230, 16, 15, D_6000000, 168, 28 }, { D_500A230, 16, 15, D_AQ_6000000, 96, 13 },
{ D_500A320, 16, 15, D_6000000, 176, 12 }, { D_500A320, 16, 15, D_6000000, 112, 13 },
{ D_500A320, 16, 15, D_6000000, 112, 28 }, { D_500A410, 16, 15, D_6000000, 96, 28 },
{ D_500A410, 16, 15, D_6000000, 160, 28 }, { D_500A410, 16, 15, D_6000000, 176, 12 },
{ D_500A500, 16, 15, D_6000000, 168, 19 }, { D_500A500, 16, 15, D_A6_6000000, 104, 28 },
{ D_500A5F0, 16, 15, D_6000D80, 128, 28 }, { D_500A5F0, 16, 15, D_60012D0, 128, 28 },
{ D_500A5F0, 16, 15, D_C000A80, 128, 28 }, { D_5009F60, 16, 15, D_5000D50, 80, 12 },
{ D_500A050, 16, 15, D_6000000, 128, 28 }, { D_500A140, 16, 15, D_6000000, 96, 28 },
{ D_500A140, 16, 15, D_SY_6000000, 176, 12 }, { D_500A230, 16, 15, D_6000000, 168, 28 },
{ D_500A230, 16, 15, D_6000000, 168, 28 }, { D_500A230, 16, 15, D_AQ_6000000, 96, 13 },
{ D_500A320, 16, 15, D_SZ_6000000, 176, 12 }, { D_500A320, 16, 15, D_6000000, 112, 13 },
{ D_500A320, 16, 15, D_6000000, 112, 28 }, { D_500A410, 16, 15, D_6000000, 96, 28 },
{ D_500A410, 16, 15, D_6000000, 160, 28 }, { D_500A410, 16, 15, D_SX_6000000, 176, 12 },
{ D_500A500, 16, 15, D_6000000, 168, 19 }, { D_500A500, 16, 15, D_A6_6000000, 104, 28 },
{ D_500A5F0, 16, 15, D_6000D80, 128, 28 }, { D_500A5F0, 16, 15, D_60012D0, 128, 28 },
{ D_500A5F0, 16, 15, D_C000A80, 128, 28 }, { D_5009F60, 16, 15, D_5000D50, 80, 12 },
};
void func_80086444(void) {
@@ -1757,7 +1759,7 @@ void func_800898F0(void) {
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 208, 80, 255);
Matrix_Scale(gGfxMatrix, 30.0f, 30.0f, 1.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_6004570);
gSPDisplayList(gMasterDisp++, D_SZ_6004570);
}
f32 D_800D1E10 = 0.0f;
@@ -2103,7 +2105,7 @@ s32 func_8008A4DC(void) {
switch (gCurrentLevel) {
case LEVEL_SECTOR_Z:
TextureRect_8bIA(&gMasterDisp, D_60012D0, 16, 9, 251.0f + D_800D1E10, 181.0f, 1.00f, 1.00f);
TextureRect_8bIA(&gMasterDisp, D_SZ_60012D0, 16, 9, 251.0f + D_800D1E10, 181.0f, 1.00f, 1.00f);
break;
case LEVEL_FORTUNA:
@@ -2122,7 +2124,7 @@ s32 func_8008A4DC(void) {
if ((y < 150.0f) || (y > 206.0f)) {
break;
}
TextureRect_8bIA(&gMasterDisp, D_6000840, 64, 64, 250.0f + D_800D1E10, temp, 0.25f, 0.25f);
TextureRect_8bIA(&gMasterDisp, D_SY_6000840, 64, 64, 250.0f + D_800D1E10, temp, 0.25f, 0.25f);
}
break;
+8 -6
View File
@@ -4,6 +4,8 @@
#include "fox_map.h"
#include "assets/ast_training.h"
#include "assets/ast_sector_x.h"
#include "assets/ast_sector_y.h"
#include "assets/ast_sector_z.h"
#include "assets/ast_aquas.h"
#include "assets/ast_andross.h"
#include "assets/ast_arwing.h"
@@ -378,7 +380,7 @@ void func_800A55B0(void) {
s32 i;
s32 j;
D_80178310 = SEGMENTED_TO_VIRTUAL(D_6030B14);
D_80178310 = SEGMENTED_TO_VIRTUAL(D_SY_6030B14);
for (j = 0, obj58 = gObjects58; j < 200; j++) {
if (D_80178310[j].id <= OBJ_INVALID) {
@@ -461,9 +463,9 @@ void func_800A5844(void) {
}
EnvSettings* D_800D2F98[21] = {
&D_6037160, &D_ENV_6026C80, &D_SX_602A120, &D_A6_6023F20, &D_A6_6028760, &D_602E4B0, &D_6007E30,
&D_601F1F0, &D_60266D0, &D_C035110, &D_TR_6006A60, &D_6030E30_Env, &D_6005000, &D_AQ_602E540,
&D_600EA90, NULL, &D_6011000, &D_600FF30_Env, &D_6006E70, &D_6014D50, &D_vs_player_302DD70,
&D_6037160, &D_ENV_6026C80, &D_SX_602A120, &D_A6_6023F20, &D_A6_6028760, &D_SY_602E4B0, &D_6007E30,
&D_601F1F0, &D_60266D0, &D_C035110, &D_TR_6006A60, &D_6030E30_Env, &D_6005000, &D_AQ_602E540,
&D_600EA90, NULL, &D_6011000, &D_600FF30_Env, &D_SZ_6006E70, &D_6014D50, &D_vs_player_302DD70,
};
void func_800A594C(void) {
@@ -2365,7 +2367,7 @@ void func_800AB334(void) {
D_80178294 = 0;
switch (gCurrentLevel) {
case LEVEL_SECTOR_Z:
D_80177B8C = 1;
gGreatFoxIntact = true;
break;
case LEVEL_METEO:
case LEVEL_SECTOR_X:
@@ -4359,7 +4361,7 @@ void func_800B0F50(Player* playerx) {
gGoldRingCount[0] = D_80161A94[0] = gTotalHits = 0;
gLifeCount[gPlayerNum] = 2;
gBombCount[gPlayerNum] = 3;
D_80177B8C = 1;
gGreatFoxIntact = true;
if (gCamCount == (gPlayerNum + 1)) {
D_80161720[0] = 0.0f;
D_80161720[1] = 0.0f;
+7 -6
View File
@@ -16,6 +16,7 @@ s32 D_80178748;
#include "assets/ast_allies.h"
#include "assets/ast_training.h"
#include "assets/ast_sector_x.h"
#include "assets/ast_sector_y.h"
#include "assets/ast_aquas.h"
#include "assets/ast_star_wolf.h"
#include "assets/ast_great_fox.h"
@@ -299,10 +300,10 @@ void func_800BAAE8(void) {
sp44 = D_SX_6021ED0;
break;
case RCID_BOSS_SECTORY:
sp44 = D_6018F30;
sp44 = D_SY_6018F30;
break;
case RCID_BOSS_SECTORY_OPEN:
sp44 = D_6019E50;
sp44 = D_SY_6019E50;
break;
case RCID_BOSS_MACBETH:
sp44 = D_6010C20;
@@ -365,16 +366,16 @@ void func_800BAAE8(void) {
sp44 = D_D008990;
break;
case RCID_ROB64_TITLE:
sp44 = D_E00E100;
sp44 = D_GREAT_FOX_E00E100;
break;
case RCID_ROB64_TITLE_OPEN:
sp44 = D_E00F020;
sp44 = D_GREAT_FOX_E00F020;
break;
case RCID_GEN_PEPPER_TITLE:
sp44 = D_E00FF40;
sp44 = D_GREAT_FOX_E00FF40;
break;
case RCID_GEN_PEPPER_TITLE_OPEN:
sp44 = D_E010E60;
sp44 = D_GREAT_FOX_E010E60;
break;
case RCID_TR:
sp44 = D_TR_6000900;
+4 -4
View File
@@ -1784,12 +1784,12 @@ void func_ending_8018C21C(void) {
Matrix_RotateZ(gGfxMatrix, gActors[i].obj.rot.z * M_DTOR, 1);
Matrix_SetGfxMtx(&gMasterDisp);
if (D_80177B8C != 0) {
gSPDisplayList(gMasterDisp++, D_E000000);
if (gGreatFoxIntact) {
gSPDisplayList(gMasterDisp++, D_GREAT_FOX_E000000);
}
if (D_80177B8C == 0) {
gSPDisplayList(gMasterDisp++, D_E003AB0);
if (!gGreatFoxIntact) {
gSPDisplayList(gMasterDisp++, D_GREAT_FOX_E003AB0);
}
RCP_SetupDL(&gMasterDisp, 0x31);
+15 -18
View File
@@ -1,5 +1,6 @@
#include "global.h"
#include "assets.h"
#include "assets/ast_sector_z.h"
s32 D_i4_801A0560;
s32 D_i4_801A0564;
@@ -8,10 +9,6 @@ Vec3f D_i4_8019F4C0[] = { 0.0f, 0.0f, 35000.0f, -2000.0f, 0.0f, 35000.0f, 2000.0
Vec3f D_i4_8019F4E4[] = { -700.0f, -200.0f, 200.0f, 500.0f, 200.0f, -300.0f,
300.0f, -300.0f, -200.0f, 200.0f, 400.0f, 500.0f };
extern Gfx D_6001A10[];
extern Gfx D_60045E0[];
extern f32 D_6009230[];
extern s32 D_80161710;
void func_8002EE34(void);
@@ -188,7 +185,7 @@ void func_i4_80199FCC(Actor* actor, s32 arg1) {
actor->health = 250;
actor->info.drawType = 2;
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_6009230);
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SZ_6009230);
actor->fwork[1] = 25.0f;
actor->fwork[29] = 2.0f;
@@ -1027,7 +1024,7 @@ f32 D_i4_8019F63C[] = { -200.0f, -250.0f, -500.0f, 5000.0f };
void func_i4_8019C574(Actor* actor, s32 index) {
f32 var_fv0 = 1.0f;
if (D_80177B8C == 0) {
if (!gGreatFoxIntact) {
var_fv0 = -1.0f;
}
@@ -1096,7 +1093,7 @@ void func_i4_8019C85C(Player* player) {
Boss* boss0 = &gBosses[0];
f32 var_fv1 = 1.0f;
if (D_80177B8C == 0) {
if (!gGreatFoxIntact) {
var_fv1 = -1.0f;
}
@@ -1195,11 +1192,11 @@ void func_i4_8019C85C(Player* player) {
Math_SmoothStepToF(&boss0->fwork[2], 0.5f, 1.0f, 0.05f, 0.0f);
Math_SmoothStepToF(&boss0->fwork[3], 0.7f, 1.0f, 0.7f, 0.0f);
if ((gCsFrameCount == 100) && (D_80177B8C != 0)) {
if ((gCsFrameCount == 100) && gGreatFoxIntact) {
AUDIO_PLAY_BGM(SEQ_ID_38);
}
if ((gCsFrameCount == 210) && (D_80177B8C != 0)) {
if ((gCsFrameCount == 210) && gGreatFoxIntact) {
D_80177840 = 100;
D_80177930 = 1;
}
@@ -1222,7 +1219,7 @@ void func_i4_8019C85C(Player* player) {
D_80178340 = 0;
if (player->timer_1F8 == 0) {
if (D_80177B8C == 0) {
if (!gGreatFoxIntact) {
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 50);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 50);
}
@@ -1351,7 +1348,7 @@ void func_i4_8019C85C(Player* player) {
break;
}
if (D_80177B8C != 0) {
if (gGreatFoxIntact) {
switch (gCsFrameCount) {
case 1729:
Radio_PlayMessage(gMsg_ID_16250, RCID_ROB64);
@@ -1476,7 +1473,7 @@ void func_i4_8019C85C(Player* player) {
break;
case 1370:
if (D_80177B8C != 0) {
if (gGreatFoxIntact) {
D_80177930 = 1;
} else {
AUDIO_PLAY_BGM(SEQ_ID_49);
@@ -1485,7 +1482,7 @@ void func_i4_8019C85C(Player* player) {
break;
case 1560:
if (D_80177B8C == 0) {
if (!gGreatFoxIntact) {
D_80177840 = 100;
}
break;
@@ -1618,7 +1615,7 @@ void func_i4_8019DD20(Actor* actor) {
break;
case 400:
if (D_80177B8C != 0) {
if (gGreatFoxIntact) {
Radio_PlayMessage(gMsg_ID_16160, RCID_KATT);
} else {
Radio_PlayMessage(gMsg_ID_16165, RCID_KATT);
@@ -1689,10 +1686,10 @@ void func_i4_8019E234(Actor* actor) {
}
void func_i4_8019E3A8(Actor* actor) {
gSPDisplayList(gMasterDisp++, D_6001A10);
gSPDisplayList(gMasterDisp++, D_SZ_6001A10);
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
RCP_SetupDL(&gMasterDisp, 0x39);
gSPDisplayList(gMasterDisp++, D_60045E0);
gSPDisplayList(gMasterDisp++, D_SZ_60045E0);
gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK);
}
@@ -1719,7 +1716,7 @@ void func_i4_8019E454(Boss* boss) {
}
if (boss->timer_050 == 1) {
D_80177B8C = 0;
gGreatFoxIntact = false;
}
if (boss->timer_050 == 5) {
@@ -1760,7 +1757,7 @@ void func_i4_8019E454(Boss* boss) {
boss->obj.rot.y = boss->unk_078.y + 180.0f;
boss->obj.rot.z = -boss->unk_078.z;
if (D_80177B8C == 0) {
if (!gGreatFoxIntact) {
Matrix_RotateY(gCalcMatrix, (boss->obj.rot.y - 270.0f) * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, boss->obj.rot.x * M_DTOR, 1);
Matrix_RotateZ(gCalcMatrix, boss->obj.rot.z * M_DTOR, 1);
+99 -83
View File
@@ -1,28 +1,8 @@
#include "global.h"
#include "assets.h"
#include "assets/ast_sector_y.h"
extern Animation D_6003348;
extern Animation D_60034C4;
extern Gfx D_6013600[];
extern Gfx D_6014A40[];
extern Gfx D_6014BD0[];
extern Gfx D_601F3D0[];
extern Animation D_60258A0;
extern Animation D_602645C;
extern Animation D_60265B4;
extern Animation D_602738C;
extern Animation D_6029B48;
extern Animation D_602A2CC;
extern Animation D_602B778;
extern Animation D_602B8DC;
extern Animation D_602CEB4;
extern Limb* D_602D140[];
extern f32 D_60340C0[];
extern f32 D_6034124[];
extern f32 D_60341A8[];
extern f32 D_603421C[];
extern f32 D_60342A0[];
extern f32 D_6034304[];
void func_i6_80198244(Boss*);
void func_i6_80198ABC(Boss*);
@@ -66,9 +46,8 @@ void func_i6_80197B30(Actor* actor, s32 timer) {
}
void func_i6_80197C64(Effect* effect) {
RCP_SetupDL_21();
gSPDisplayList(gMasterDisp++, D_6014A40);
gSPDisplayList(gMasterDisp++, D_SY_6014A40);
RCP_SetupDL(&gMasterDisp, 0x40);
}
@@ -76,41 +55,47 @@ void func_i6_80197CB8(Object_80* obj80) {
}
void func_i6_80197CC4(Boss* boss) {
boss->fwork[9] = 0.0f;
boss->swork[33] = 5500;
boss->timer_050 = 10;
boss->timer_058 = 0;
D_80177A10[8] = 0;
if (boss->index == 0) {
boss->info.hitbox = SEGMENTED_TO_VIRTUAL(D_60342A0);
boss->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SY_60342A0);
boss->health = 150;
boss->swork[28] = 5;
boss->fwork[43] = 3.5f;
boss->fwork[45] = 40.0f;
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_9) {
boss->obj.pos.z = -28900.0f;
gObjects58[0].obj.pos.z = -30000.0f;
}
boss->unk_078.y = 0.0f;
func_i6_8019AEC0(boss);
} else {
boss->fwork[34] = 2.8f;
boss->info.hitbox = SEGMENTED_TO_VIRTUAL(D_6034304);
boss->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SY_6034304);
boss->health = 100;
boss->swork[28] = 0;
boss->swork[25] = 1;
boss->fwork[45] = 35.0f;
if (boss->index == 1) {
boss->unk_078.y = 15.0f;
} else {
boss->unk_078.y = 345.0f;
}
boss->vel.x = SIN_DEG(boss->unk_078.y) * boss->fwork[45] * 0.2f;
boss->vel.z = COS_DEG(boss->unk_078.y) * boss->fwork[45] * 0.2f;
func_i6_80198244(boss);
boss->timer_056 = 250;
}
if (gLevelMode == LEVELMODE_ON_RAILS) {
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) {
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_9;
@@ -140,6 +125,7 @@ void func_i6_80197F84(Boss* boss) {
Math_SmoothStepToF(&boss->vel.z, 0.0f, 0.1f, 0.2f, 0.1f);
Math_SmoothStepToF(&boss->vel.x, 0.0f, 0.1f, 0.2f, 0.1f);
Math_SmoothStepToAngle(&boss->unk_078.x, 0.0f, 0.1f, 4.0f, 0.1f);
if (func_i6_8019B5CC(boss) != 0) {
Math_SmoothStepToF(&boss->obj.pos.y, 1000.0f, 0.1f, 30.0f, 0.1f);
} else {
@@ -154,9 +140,11 @@ void func_i6_80197F84(Boss* boss) {
yaw = Math_RadToDeg(Math_Atan2F(boss->fwork[18] - boss->obj.pos.x, boss->fwork[20] - boss->obj.pos.z));
Math_SmoothStepToAngle(&boss->unk_078.y, yaw, 0.1f, 8.0f, 0.1f);
if (boss->timer_050 == 0) {
func_i6_80198244(boss);
}
if (boss->swork[22] == 1) {
if (ABS(boss->vel.x) <= 1.0f && (ABS(boss->vel.z) <= 1.0f) &&
(fabsf(boss->fwork[18] - boss->obj.pos.x) <= 400.0f) &&
@@ -169,6 +157,7 @@ void func_i6_80197F84(Boss* boss) {
}
}
}
if (func_i6_8019B528(boss) != 0) {
func_i6_80198ABC(boss);
}
@@ -206,9 +195,11 @@ void func_i6_801983E4(Boss* boss) {
f32 zSpeed;
func_i6_8019B6E8(boss);
if (boss->timer_052 == 0) {
func_i6_8019BC14(boss);
}
Math_SmoothStepToAngle(&boss->unk_078.z, 0.0f, 0.1f, 2.0f, 0.1f);
Math_SmoothStepToAngle(&boss->unk_078.x, 0.0f, 0.1f, 2.0f, 0.1f);
Math_SmoothStepToF(&boss->vel.x, boss->fwork[11], 0.1f, 0.5f, 0.1f);
@@ -238,22 +229,27 @@ void func_i6_801983E4(Boss* boss) {
boss->fwork[34] = 2.8f;
}
}
func_i6_8019C194(boss, zSpeed, xSpeed);
if (boss->swork[22] == 1) {
yAngle = gPlayer[0].unk_114 - 180.0f;
if (yAngle < 0.0f) {
yAngle += 360.0f;
}
yAngle = boss->unk_078.y - yAngle;
if (yAngle < 0.0f) {
yAngle += 360.0f;
}
if ((zSpeed <= 1300.0f) && (xSpeed <= 800.0f) && (yAngle < 260.0f) && (yAngle > 100.0f) &&
(boss->unk_078.x == 0.0f) && (boss->fwork[34] <= 2.0f)) {
if (Rand_ZeroOne() < 0.2f) {
func_i6_8019AA08(boss);
}
}
if ((zSpeed < 3400.0f) || (xSpeed < 2400.0f)) {
if (((yAngle >= 60.0f) && (yAngle <= 100.0f)) || ((yAngle <= 300.0f) && (yAngle >= 260.0f))) {
if (Rand_ZeroOne() < 0.3f) {
@@ -264,6 +260,7 @@ void func_i6_801983E4(Boss* boss) {
}
}
}
if (((yAngle > 300.0f) || (yAngle < 60.0f)) && (boss->unk_078.x == 0.0f)) {
if (Rand_ZeroOne() < 0.3f) {
if (Rand_ZeroOne() < 0.4f) {
@@ -281,11 +278,13 @@ void func_i6_801983E4(Boss* boss) {
}
}
}
if (func_i6_8019B5CC(boss) != 0) {
Math_SmoothStepToF(&boss->obj.pos.y, 1000.0f, 0.1f, 30.0f, 0.1f);
} else {
Math_SmoothStepToF(&boss->obj.pos.y, 0.0f, 0.1f, 5.0f, 0.1f);
}
if (boss->timer_056 == 0) {
if (Rand_ZeroOne() <= 0.7f) {
func_i6_80199D64(boss);
@@ -293,6 +292,7 @@ void func_i6_801983E4(Boss* boss) {
func_i6_80197F18(boss);
}
}
if (func_i6_8019B528(boss) != 0) {
func_i6_80198ABC(boss);
}
@@ -305,12 +305,14 @@ void func_i6_80198ABC(Boss* boss) {
if (yAngle < 0.0f) {
yAngle += 360.0f;
}
boss->swork[20] = 4;
boss->swork[21] = 3;
boss->fwork[34] = 4.5f;
boss->timer_056 = (s32) (RAND_FLOAT(100.0f) + 100.0f);
boss->timer_050 = 0;
if (yAngle > 180.0f) {
boss->fwork[27] = 40.0f;
if (boss->index == 0) {
@@ -330,11 +332,13 @@ void func_i6_80198ABC(Boss* boss) {
func_8002E4F8(gMsg_ID_14200, RCID_FALCO);
}
break;
case 1:
if ((gBosses[1].obj.status == OBJ_FREE) && (gBosses[2].obj.status == OBJ_FREE)) {
func_8002E4F8(gMsg_ID_14320, RCID_BOSS_SECTORY);
}
break;
case 2:
if ((gTeamShields[2] > 0) && (gBosses[1].obj.status != OBJ_FREE) && (gBosses[2].obj.status != OBJ_FREE)) {
func_8002E4F8(gMsg_ID_14220, RCID_SLIPPY);
@@ -350,9 +354,11 @@ void func_i6_80198CE4(Boss* boss) {
f32 yAngle;
func_i6_8019B6E8(boss);
if (boss->timer_052 == 0) {
func_i6_8019BC14(boss);
}
Math_SmoothStepToAngle(&boss->unk_078.z, boss->fwork[27], 0.1f, 0.5f, 0.1f);
Math_SmoothStepToAngle(&boss->unk_078.x, 0.0f, 0.1f, 4.0f, 0.1f);
yAngle = Math_RadToDeg(Math_Atan2F(-boss->obj.pos.x, -300.0f - boss->obj.pos.z));
@@ -362,6 +368,7 @@ void func_i6_80198CE4(Boss* boss) {
} else {
Math_SmoothStepToAngle(&boss->unk_078.y, yAngle, 0.1f, 2.0f, 0.1f);
}
if (boss->index == 0) {
boss->vel.x = SIN_DEG(boss->unk_078.y) * (boss->fwork[45] + 20.0f);
boss->vel.z = COS_DEG(boss->unk_078.y) * (boss->fwork[45] + 20.0f);
@@ -369,16 +376,20 @@ void func_i6_80198CE4(Boss* boss) {
boss->vel.x = SIN_DEG(boss->unk_078.y) * boss->fwork[45];
boss->vel.z = COS_DEG(boss->unk_078.y) * boss->fwork[45];
}
if (func_i6_8019B5CC(boss) != 0) {
Math_SmoothStepToF(&boss->obj.pos.y, 1000.0f, 0.1f, 30.0f, 0.1f);
} else {
Math_SmoothStepToF(&boss->obj.pos.y, 0.0f, 0.1f, 5.0f, 0.1f);
}
Math_SmoothStepToF(&boss->vel.y, 0.0f, 0.1f, 0.2f, 0.1f);
yAngle -= boss->unk_078.y;
if (yAngle < 0.0f) {
yAngle += 360.0f;
}
if ((func_i6_8019B528(boss) == 0) && ((yAngle <= 20.0f) || (yAngle >= 320.0f))) {
func_i6_80198244(boss);
}
@@ -394,15 +405,19 @@ void func_i6_80198F5C(Boss* boss) {
boss->timer_05C = 20;
func_8007C120(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z, boss->vel.x, boss->vel.y, boss->vel.z, 0.1f, 10);
boss->health -= boss->damage;
if (boss->health < 0) {
boss->health = 0;
}
boss->timer_058 = 20;
if (boss->health <= 0) {
boss->unk_04C = 0;
boss->swork[36] = 0;
boss->swork[21] = 9;
boss->info.hitbox = SEGMENTED_TO_VIRTUAL(D_800CBF34);
if (boss->index == 0) {
boss->timer_058 = 20000;
boss->vel.x = boss->vel.y = boss->vel.z = 0.0f;
@@ -425,6 +440,7 @@ void func_i6_80198F5C(Boss* boss) {
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 30);
return;
}
if ((gBosses[1].obj.status == OBJ_FREE) || (gBosses[2].obj.status == OBJ_FREE)) {
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 20);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 20);
@@ -581,7 +597,7 @@ void func_i6_80199438(Boss* boss) {
Object_Kill(&gActors[D_80177A10[9]].obj, gActors[D_80177A10[9]].sfxSource);
if ((gBosses[1].obj.status == OBJ_FREE) || (gBosses[2].obj.status == OBJ_FREE)) {
gBosses[0].unk_04A = 1;
gObjects58[0].info.dList = D_601F3D0;
gObjects58[0].info.dList = D_SY_601F3D0;
gObjects58[0].info.drawType = 0;
} else {
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_3;
@@ -608,7 +624,7 @@ void func_i6_80199438(Boss* boss) {
}
}
func_8007D2C8(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z + 30.0f, 4.0f);
boss->info.hitbox = SEGMENTED_TO_VIRTUAL(D_6034304);
boss->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SY_6034304);
AUDIO_PLAY_SFX(0x2903A06F, boss->sfxSource, 4);
}
}
@@ -849,12 +865,12 @@ void func_i6_8019AA08(Boss* boss) {
if (Rand_ZeroOne() >= 0.5f) {
boss->swork[21] = 7;
boss->swork[31] = 11;
boss->swork[32] = Animation_GetFrameCount(&D_602645C) - 1;
boss->swork[32] = Animation_GetFrameCount(&D_SY_602645C) - 1;
} else if (boss->index == 0) {
boss->swork[21] = 8;
boss->swork[31] = 13;
boss->swork[32] = Animation_GetFrameCount(&D_60258A0) - 1;
boss->swork[32] = Animation_GetFrameCount(&D_SY_60258A0) - 1;
} else {
return;
@@ -1369,56 +1385,56 @@ void func_i6_8019C888(Boss* boss) {
switch (boss->swork[21]) {
case 0:
boss->unk_04C = Animation_GetFrameCount(&D_602B778) - 1;
sp1D0 = Animation_GetFrameData(&D_602B778, boss->unk_04C, sp64);
boss->unk_04C = Animation_GetFrameCount(&D_SY_602B778) - 1;
sp1D0 = Animation_GetFrameData(&D_SY_602B778, boss->unk_04C, sp64);
break;
case 1:
boss->unk_04C = Animation_GetFrameCount(&D_60265B4) - 1;
sp1D0 = Animation_GetFrameData(&D_60265B4, boss->unk_04C, sp64);
boss->unk_04C = Animation_GetFrameCount(&D_SY_60265B4) - 1;
sp1D0 = Animation_GetFrameData(&D_SY_60265B4, boss->unk_04C, sp64);
break;
case 2:
boss->unk_04C = Animation_GetFrameCount(&D_6029B48) - 1;
sp1D0 = Animation_GetFrameData(&D_6029B48, boss->unk_04C, sp64);
boss->unk_04C = Animation_GetFrameCount(&D_SY_6029B48) - 1;
sp1D0 = Animation_GetFrameData(&D_SY_6029B48, boss->unk_04C, sp64);
break;
case 3:
boss->unk_04C = Animation_GetFrameCount(&D_602B8DC) - 1;
sp1D0 = Animation_GetFrameData(&D_602B8DC, boss->unk_04C, sp64);
boss->unk_04C = Animation_GetFrameCount(&D_SY_602B8DC) - 1;
sp1D0 = Animation_GetFrameData(&D_SY_602B8DC, boss->unk_04C, sp64);
break;
case 4:
boss->unk_04C++;
if (boss->unk_04C >= Animation_GetFrameCount(&D_6003348)) {
boss->unk_04C = Animation_GetFrameCount(&D_6003348) - 1;
if (boss->unk_04C >= Animation_GetFrameCount(&D_SY_6003348)) {
boss->unk_04C = Animation_GetFrameCount(&D_SY_6003348) - 1;
}
sp1D0 = Animation_GetFrameData(&D_6003348, boss->unk_04C, sp64);
sp1D0 = Animation_GetFrameData(&D_SY_6003348, boss->unk_04C, sp64);
break;
case 5:
boss->unk_04C++;
if (boss->unk_04C >= Animation_GetFrameCount(&D_602738C)) {
if (boss->unk_04C >= Animation_GetFrameCount(&D_SY_602738C)) {
boss->unk_04C = 0;
}
sp1D0 = Animation_GetFrameData(&D_602738C, boss->unk_04C, sp64);
sp1D0 = Animation_GetFrameData(&D_SY_602738C, boss->unk_04C, sp64);
break;
case 6:
sp1D0 = Animation_GetFrameData(&D_602738C, boss->unk_04C, sp64);
sp1D0 = Animation_GetFrameData(&D_SY_602738C, boss->unk_04C, sp64);
break;
case 7:
if (boss->unk_04C < (Animation_GetFrameCount(&D_602645C) - 1)) {
if (boss->unk_04C < (Animation_GetFrameCount(&D_SY_602645C) - 1)) {
boss->unk_04C++;
}
sp1D0 = Animation_GetFrameData(&D_602645C, boss->unk_04C, sp64);
sp1D0 = Animation_GetFrameData(&D_SY_602645C, boss->unk_04C, sp64);
break;
case 8:
if (boss->unk_04C < (Animation_GetFrameCount(&D_60258A0) - 1)) {
if (boss->unk_04C < (Animation_GetFrameCount(&D_SY_60258A0) - 1)) {
boss->unk_04C++;
}
sp1D0 = Animation_GetFrameData(&D_60258A0, boss->unk_04C, sp64);
sp1D0 = Animation_GetFrameData(&D_SY_60258A0, boss->unk_04C, sp64);
break;
case 9:
boss->unk_04C++;
if (boss->unk_04C >= Animation_GetFrameCount(&D_60034C4)) {
if (boss->unk_04C >= Animation_GetFrameCount(&D_SY_60034C4)) {
boss->unk_04C = 0;
}
sp1D0 = Animation_GetFrameData(&D_60034C4, boss->unk_04C, sp64);
sp1D0 = Animation_GetFrameData(&D_SY_60034C4, boss->unk_04C, sp64);
break;
}
boss->obj.rot.x = boss->unk_078.x;
@@ -1645,7 +1661,7 @@ s32 func_i6_8019DC4C(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* d
case 17:
rot->x += boss->fwork[8];
rot->y -= boss->fwork[7];
*dList = D_6014BD0;
*dList = D_SY_6014BD0;
break;
case 18:
rot->x += boss->fwork[6];
@@ -1680,7 +1696,7 @@ s32 func_i6_8019DE10(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* d
break;
case 4:
if (boss->swork[25] == 0) {
*dList = D_6013600;
*dList = D_SY_6013600;
if (boss->swork[24] & 1) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 255, 0, 255);
}
@@ -1691,7 +1707,7 @@ s32 func_i6_8019DE10(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* d
case 17:
rot->x += boss->fwork[8];
rot->y -= boss->fwork[7];
*dList = D_6014BD0;
*dList = D_SY_6014BD0;
break;
case 18:
rot->x += boss->fwork[6];
@@ -1781,7 +1797,7 @@ void func_i6_8019E2C4(Boss* boss) {
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
}
if ((boss->health > 0) || (boss->swork[36] == 0)) {
Animation_DrawSkeleton(2, D_602D140, boss->vwork, func_i6_8019DE10, func_i6_8019E014, boss, gCalcMatrix);
Animation_DrawSkeleton(2, D_SY_602D140, boss->vwork, func_i6_8019DE10, func_i6_8019E014, boss, gCalcMatrix);
if (boss->timer_054 != 0) {
sp9C = D_i6_801A69AC[boss->timer_054];
RCP_SetupDL_49();
@@ -3298,11 +3314,11 @@ void func_i6_801A3BD4(Actor* actor) {
break;
case 5:
actor->unk_046 = 5;
actor->unk_0B6 = Animation_GetFrameCount(&D_602B778) - 1;
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_602B778) - 1;
break;
case 7:
actor->unk_046 = 6;
actor->unk_0B6 = Animation_GetFrameCount(&D_602B778) - 1;
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_602B778) - 1;
break;
}
actor->unk_048 = 0;
@@ -3314,30 +3330,30 @@ void func_i6_801A3BD4(Actor* actor) {
i = actor->iwork[17];
if (i != 0) {
if (i == 1) {
actor->unk_0B6 = Animation_GetFrameCount(&D_60265B4) - 1;
sp4C = Animation_GetFrameData(&D_60265B4, actor->unk_0B6, sp68);
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_60265B4) - 1;
sp4C = Animation_GetFrameData(&D_SY_60265B4, actor->unk_0B6, sp68);
} else if (i == 2) {
actor->unk_0B6 = Animation_GetFrameCount(&D_602B8DC) - 1;
sp4C = Animation_GetFrameData(&D_602B8DC, actor->unk_0B6, sp68);
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_602B8DC) - 1;
sp4C = Animation_GetFrameData(&D_SY_602B8DC, actor->unk_0B6, sp68);
}
} else {
actor->unk_0B6 = Animation_GetFrameCount(&D_602CEB4);
sp4C = Animation_GetFrameData(&D_602CEB4, actor->unk_0B6, sp68);
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_602CEB4);
sp4C = Animation_GetFrameData(&D_SY_602CEB4, actor->unk_0B6, sp68);
}
break;
case 1:
i = actor->iwork[17];
if (i != 0) {
if (i == 1) {
actor->unk_0B6 = Animation_GetFrameCount(&D_60265B4) - 1;
sp4C = Animation_GetFrameData(&D_60265B4, actor->unk_0B6, sp68);
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_60265B4) - 1;
sp4C = Animation_GetFrameData(&D_SY_60265B4, actor->unk_0B6, sp68);
} else if (i == 2) {
actor->unk_0B6 = Animation_GetFrameCount(&D_602B8DC) - 1;
sp4C = Animation_GetFrameData(&D_602B8DC, actor->unk_0B6, sp68);
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_602B8DC) - 1;
sp4C = Animation_GetFrameData(&D_SY_602B8DC, actor->unk_0B6, sp68);
}
} else {
actor->unk_0B6 = Animation_GetFrameCount(&D_602A2CC) - 1;
sp4C = Animation_GetFrameData(&D_602A2CC, actor->unk_0B6, sp68);
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_602A2CC) - 1;
sp4C = Animation_GetFrameData(&D_SY_602A2CC, actor->unk_0B6, sp68);
}
if (actor->timer_0BE == 15) {
actor->timer_0C4 = 4;
@@ -3365,19 +3381,19 @@ void func_i6_801A3BD4(Actor* actor) {
}
break;
case 2:
if (actor->unk_0B6 < (Animation_GetFrameCount(&D_6029B48) - 1)) {
if (actor->unk_0B6 < (Animation_GetFrameCount(&D_SY_6029B48) - 1)) {
actor->unk_0B6++;
}
sp4C = Animation_GetFrameData(&D_6029B48, actor->unk_0B6, sp68);
sp4C = Animation_GetFrameData(&D_SY_6029B48, actor->unk_0B6, sp68);
break;
case 4:
actor->unk_0B6++;
if (actor->unk_0B6 >= (Animation_GetFrameCount(&D_602B778) - 1)) {
if (actor->unk_0B6 >= (Animation_GetFrameCount(&D_SY_602B778) - 1)) {
actor->unk_046 = 0;
actor->iwork[17] = 0;
actor->fwork[15] = 0.0f;
}
sp4C = Animation_GetFrameData(&D_602B778, actor->unk_0B6, sp68);
sp4C = Animation_GetFrameData(&D_SY_602B778, actor->unk_0B6, sp68);
break;
case 5:
case 6:
@@ -3391,14 +3407,14 @@ void func_i6_801A3BD4(Actor* actor) {
}
actor->unk_046 = 0;
}
sp4C = Animation_GetFrameData(&D_602B778, actor->unk_0B6, sp68);
sp4C = Animation_GetFrameData(&D_SY_602B778, actor->unk_0B6, sp68);
break;
case 3:
actor->unk_0B6++;
if (actor->unk_0B6 >= Animation_GetFrameCount(&D_6003348)) {
actor->unk_0B6 = Animation_GetFrameCount(&D_6003348) - 1;
if (actor->unk_0B6 >= Animation_GetFrameCount(&D_SY_6003348)) {
actor->unk_0B6 = Animation_GetFrameCount(&D_SY_6003348) - 1;
}
sp4C = Animation_GetFrameData(&D_6003348, actor->unk_0B6, sp68);
sp4C = Animation_GetFrameData(&D_SY_6003348, actor->unk_0B6, sp68);
if ((actor->timer_0BE % 4U) == 0) {
func_8007D2C8(RAND_FLOAT_CENTERED(150.0f) + actor->obj.pos.x,
RAND_FLOAT_CENTERED(150.0f) + actor->obj.pos.y, actor->obj.pos.z + 30.0f, 4.0f);
@@ -3479,20 +3495,20 @@ void func_i6_801A3BD4(Actor* actor) {
} else {
Math_SmoothStepToF(&actor->fwork[27], 0.0f, 1.0f, 0.05f, 0.0f);
}
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_603405C);
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SY_603405C);
if (actor->unk_046 == 1) {
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_603421C);
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SY_603421C);
}
i = actor->iwork[17];
if (i != 0) {
if (i == 1) {
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_6034124);
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SY_6034124);
} else if (i == 2) {
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_60341A8);
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SY_60341A8);
}
}
if (actor->unk_046 == 2) {
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_60340C0);
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_SY_60340C0);
}
if ((actor->unk_0D0 != 0) && (actor->unk_046 != 3)) {
@@ -3554,7 +3570,7 @@ s32 func_i6_801A4A18(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* d
rot->x += actor->fwork[28];
rot->y -= actor->fwork[29];
if (actor->unk_0B4 == 48) {
*dList = D_6014BD0;
*dList = D_SY_6014BD0;
}
}
if (limbIndex == 18) {
@@ -3585,7 +3601,7 @@ void func_i6_801A4CB0(Actor* actor) {
f32 scale;
RCP_SetupDL_30(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
Animation_DrawSkeleton(2, D_602D140, actor->vwork, func_i6_801A4A18, func_i6_801A4C34, actor, gCalcMatrix);
Animation_DrawSkeleton(2, D_SY_602D140, actor->vwork, func_i6_801A4A18, func_i6_801A4C34, actor, gCalcMatrix);
if (actor->timer_0C4 != 0) {
scale = D_i6_801A6B64[actor->timer_0C4];
+1 -1
View File
@@ -2487,7 +2487,7 @@ void func_menu_8018E058(void) {
Matrix_SetGfxMtx(&gMasterDisp);
RCP_SetupDL(&gMasterDisp, 0x17);
D_80177B8C = 1;
gGreatFoxIntact = true;
func_800515C4();
func_8005F1EC(D_menu_801B8658.unk_24);