1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-23 07:21:19 +00:00

Symbol cleanup (#897)

* symbol cleanup

* run formatter

* run formatter

* remove duplicate z_demo_ik symbols

* run formatter
This commit is contained in:
Dragorn421 2021-08-22 17:52:02 +02:00 committed by GitHub
parent 743f42f651
commit 5e071a014d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
130 changed files with 1210 additions and 2940 deletions

View file

@ -1,5 +1,6 @@
#include "z_boss_tw.h"
#include "objects/gameplay_keep/gameplay_keep.h"
#include "objects/object_tw/object_tw.h"
#define FLAGS 0x00000035
@ -231,78 +232,6 @@ static s16 D_8094C87C;
static u8 D_8094C87E;
static BossTwEffect sTwEffects[150];
extern FlexSkeletonHeader D_060070E0;
extern AnimationHeader D_06006F28;
extern FlexSkeletonHeader D_0601F888;
extern AnimationHeader D_0603A2D0;
extern AnimationHeader D_06032BF8;
extern AnimationHeader D_06035988;
extern AnimationHeader D_060343B4;
extern AnimationHeader D_06035030;
extern AnimationHeader D_060338F0;
extern AnimationHeader D_06024374;
extern AnimationHeader D_06023750;
extern AnimationHeader D_06022700;
extern AnimationHeader D_06036FBC;
extern Gfx D_0601A528[];
extern Gfx D_0601A998[];
extern Gfx D_0601AB00[];
extern Gfx D_0601A430[];
extern Gfx D_0601A790[];
extern Gfx D_0601AA50[];
extern Gfx D_0601A5A8[];
extern Gfx D_0601F390[];
extern Gfx D_0601F238[];
extern Gfx D_0601EEB0[];
extern Gfx D_0601EC68[];
extern Gfx D_0601E0E0[];
extern Gfx D_0601E020[];
extern Gfx D_0601DDF0[];
extern Gfx D_0601E3A0[];
extern Gfx D_0601E2C0[];
extern Gfx D_0601E9F0[];
extern Gfx D_0602D940[];
extern Gfx D_0602D890[];
extern Gfx D_0601CEE0[];
extern Gfx D_0601DBE8[];
extern Gfx D_06019D40[]; // Koume Ground Crater
extern Gfx D_06018FC0[]; // Koume Ground Smoke
extern Gfx D_06019938[]; // koume Ground Flame
extern Gfx D_0601BC00[];
extern Gfx D_0601C1C0[];
extern Gfx D_06013E98[];
extern Gfx D_06013F98[];
extern Gfx D_06014070[];
extern Gfx D_06014158[];
extern Gfx D_06013AE8[];
extern Gfx D_06013D68[];
extern Gfx D_06012CE0[];
extern Gfx D_060134B8[];
extern Gfx D_06012B38[];
extern Gfx D_06013310[];
extern AnimationHeader D_060216DC;
extern AnimationHeader D_0600230C;
extern AnimationHeader D_06001D10;
extern AnimationHeader D_060017E0;
extern AnimationHeader D_060012A4;
extern AnimationHeader D_060004A4;
extern AnimationHeader D_06000AAC;
extern AnimationHeader D_060088C8;
extern UNK_TYPE D_0602E170[];
extern AnimationHeader D_06038E2C;
extern AnimationHeader D_06032BF8;
extern AnimationHeader D_06007CA8;
extern AnimationHeader D_06006530;
extern AnimationHeader D_0600578C;
extern AnimationHeader D_06004548;
extern AnimationHeader D_06009398;
extern AnimationHeader D_06003614;
extern AnimationHeader D_06003E34;
extern AnimationHeader D_06007688;
extern FlexSkeletonHeader D_06032020;
extern AnimationHeader D_060244B4;
extern Gfx D_0601F608[];
void BossTw_AddDotEffect(GlobalContext* globalCtx, Vec3f* initalPos, Vec3f* initalSpeed, Vec3f* accel, f32 scale,
s16 args, s16 countLimit) {
s16 i;
@ -582,7 +511,7 @@ void BossTw_Init(Actor* thisx, GlobalContext* globalCtx2) {
if (this->actor.params == TW_KOTAKE) {
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInitKoumeKotake);
this->actor.naviEnemyId = 0x33;
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_060070E0, &D_06006F28, NULL, NULL, 0);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_tw_Skel_0070E0, &object_tw_Anim_006F28, NULL, NULL, 0);
if (gSaveContext.eventChkInf[7] & 0x20) {
// began twinrova battle
@ -595,12 +524,12 @@ void BossTw_Init(Actor* thisx, GlobalContext* globalCtx2) {
BossTw_SetupCSWait(this, globalCtx);
}
Animation_MorphToLoop(&this->skelAnime, &D_06006F28, -3.0f);
Animation_MorphToLoop(&this->skelAnime, &object_tw_Anim_006F28, -3.0f);
this->visible = true;
} else if (this->actor.params == TW_KOUME) {
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInitKoumeKotake);
this->actor.naviEnemyId = 0x32;
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_0601F888, &D_06006F28, NULL, NULL, 0);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_tw_Skel_01F888, &object_tw_Anim_006F28, NULL, NULL, 0);
if (gSaveContext.eventChkInf[7] & 0x20) {
// began twinrova battle
@ -612,7 +541,7 @@ void BossTw_Init(Actor* thisx, GlobalContext* globalCtx2) {
BossTw_SetupCSWait(this, globalCtx);
}
Animation_MorphToLoop(&this->skelAnime, &D_06006F28, -3.0f);
Animation_MorphToLoop(&this->skelAnime, &object_tw_Anim_006F28, -3.0f);
this->visible = true;
} else {
// Twinrova
@ -621,8 +550,8 @@ void BossTw_Init(Actor* thisx, GlobalContext* globalCtx2) {
this->actor.colChkInfo.health = 24;
this->actor.update = BossTw_TwinrovaUpdate;
this->actor.draw = BossTw_TwinrovaDraw;
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06032020, &D_060244B4, NULL, NULL, 0);
Animation_MorphToLoop(&this->skelAnime, &D_060244B4, -3.0f);
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_tw_Skel_032020, &object_tw_Anim_0244B4, NULL, NULL, 0);
Animation_MorphToLoop(&this->skelAnime, &object_tw_Anim_0244B4, -3.0f);
if (gSaveContext.eventChkInf[7] & 0x20) {
// began twinrova battle
@ -720,7 +649,7 @@ void BossTw_SetupFlyTo(BossTw* this, GlobalContext* globalCtx) {
this->actor.flags |= 1;
this->actionFunc = BossTw_FlyTo;
this->rotateSpeed = 0.0f;
Animation_MorphToLoop(&this->skelAnime, &D_06006F28, -10.0f);
Animation_MorphToLoop(&this->skelAnime, &object_tw_Anim_006F28, -10.0f);
if ((Rand_ZeroOne() < 0.5f) && (otherTw != NULL && otherTw->actionFunc == BossTw_ShootBeam)) {
// Other Sister is shooting a beam, go near them.
this->targetPos.x = otherTw->actor.world.pos.x + Rand_CenteredFloat(200.0f);
@ -781,8 +710,8 @@ void BossTw_SetupShootBeam(BossTw* this, GlobalContext* globalCtx) {
Player* player = PLAYER;
this->actionFunc = BossTw_ShootBeam;
Animation_MorphToPlayOnce(&this->skelAnime, &D_06007688, -5.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&D_06007688);
Animation_MorphToPlayOnce(&this->skelAnime, &object_tw_Anim_007688, -5.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&object_tw_Anim_007688);
this->timers[1] = 70;
this->targetPos = player->actor.world.pos;
this->csState1 = 0;
@ -1122,13 +1051,13 @@ void BossTw_ShootBeam(BossTw* this, GlobalContext* globalCtx) {
}
if (Animation_OnFrame(&this->skelAnime, this->workf[ANIM_SW_TGT])) {
Animation_MorphToLoop(&this->skelAnime, &D_06009398, 0.0f);
Animation_MorphToLoop(&this->skelAnime, &object_tw_Anim_009398, 0.0f);
this->workf[ANIM_SW_TGT] = 10000.0f;
}
if (this->timers[1] == 1) {
Animation_MorphToPlayOnce(&this->skelAnime, &D_06003614, 0.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&D_06003614);
Animation_MorphToPlayOnce(&this->skelAnime, &object_tw_Anim_003614, 0.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&object_tw_Anim_003614);
this->unk_4DC = 0.0f;
this->spawnPortalAlpha = 0.0f;
this->flameAlpha = 0.0f;
@ -1136,7 +1065,7 @@ void BossTw_ShootBeam(BossTw* this, GlobalContext* globalCtx) {
}
} else {
if (Animation_OnFrame(&this->skelAnime, this->workf[ANIM_SW_TGT])) {
Animation_MorphToLoop(&this->skelAnime, &D_06003E34, 0.0f);
Animation_MorphToLoop(&this->skelAnime, &object_tw_Anim_003E34, 0.0f);
this->workf[ANIM_SW_TGT] = 10000.0f;
}
@ -1390,8 +1319,8 @@ void BossTw_ShootBeam(BossTw* this, GlobalContext* globalCtx) {
void BossTw_SetupFinishBeamShoot(BossTw* this, GlobalContext* globalCtx) {
this->actionFunc = BossTw_FinishBeamShoot;
Animation_MorphToPlayOnce(&this->skelAnime, &D_06004548, 0.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&D_06004548);
Animation_MorphToPlayOnce(&this->skelAnime, &object_tw_Anim_004548, 0.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&object_tw_Anim_004548);
}
void BossTw_FinishBeamShoot(BossTw* this, GlobalContext* globalCtx) {
@ -1411,7 +1340,7 @@ void BossTw_FinishBeamShoot(BossTw* this, GlobalContext* globalCtx) {
void BossTw_SetupHitByBeam(BossTw* this, GlobalContext* globalCtx) {
this->actionFunc = BossTw_HitByBeam;
Animation_MorphToPlayOnce(&this->skelAnime, &D_0600578C, 0.0f);
Animation_MorphToPlayOnce(&this->skelAnime, &object_tw_Anim_00578C, 0.0f);
this->timers[0] = 53;
this->actor.speedXZ = 0.0f;
@ -1465,8 +1394,8 @@ void BossTw_HitByBeam(BossTw* this, GlobalContext* globalCtx) {
}
if (this->timers[0] == 1) {
Animation_MorphToPlayOnce(&this->skelAnime, &D_06006530, 0.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&D_06006530);
Animation_MorphToPlayOnce(&this->skelAnime, &object_tw_Anim_006530, 0.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&object_tw_Anim_006530);
}
if ((this->timers[0] == 0) && Animation_OnFrame(&this->skelAnime, this->workf[ANIM_SW_TGT])) {
@ -1476,8 +1405,8 @@ void BossTw_HitByBeam(BossTw* this, GlobalContext* globalCtx) {
void BossTw_SetupLaugh(BossTw* this, GlobalContext* globalCtx) {
this->actionFunc = BossTw_Laugh;
Animation_MorphToPlayOnce(&this->skelAnime, &D_060088C8, 0.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&D_060088C8);
Animation_MorphToPlayOnce(&this->skelAnime, &object_tw_Anim_0088C8, 0.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&object_tw_Anim_0088C8);
this->actor.speedXZ = 0.0f;
}
@ -1499,8 +1428,8 @@ void BossTw_Laugh(BossTw* this, GlobalContext* globalCtx) {
void BossTw_SetupSpin(BossTw* this, GlobalContext* globalCtx) {
this->actionFunc = BossTw_Spin;
Animation_MorphToPlayOnce(&this->skelAnime, &D_06007CA8, -3.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&D_06007CA8);
Animation_MorphToPlayOnce(&this->skelAnime, &object_tw_Anim_007CA8, -3.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&object_tw_Anim_007CA8);
this->actor.speedXZ = 0.0f;
SkelAnime_Update(&this->skelAnime);
this->timers[0] = 20;
@ -1528,7 +1457,7 @@ void BossTw_SetupMergeCS(BossTw* this, GlobalContext* globalCtx) {
this->actionFunc = BossTw_MergeCS;
this->rotateSpeed = 0.0f;
this->actor.speedXZ = 0.0f;
Animation_MorphToLoop(&this->skelAnime, &D_06006F28, -10.0f);
Animation_MorphToLoop(&this->skelAnime, &object_tw_Anim_006F28, -10.0f);
}
void BossTw_MergeCS(BossTw* this, GlobalContext* globalCtx) {
@ -1707,8 +1636,8 @@ void BossTw_TwinrovaMergeCS(BossTw* this, GlobalContext* globalCtx) {
BossTw_SetupWait(sKotakePtr, globalCtx);
BossTw_SetupWait(sKoumePtr, globalCtx);
Actor_SetScale(&this->actor, 0.0f);
Animation_MorphToPlayOnce(&this->skelAnime, &D_06038E2C, 0.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&D_06038E2C);
Animation_MorphToPlayOnce(&this->skelAnime, &object_tw_Anim_038E2C, 0.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&object_tw_Anim_038E2C);
this->timers[0] = 50;
func_8002DF54(globalCtx, &this->actor, 2);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_TWINROBA_TRANSFORM);
@ -1722,7 +1651,7 @@ void BossTw_TwinrovaMergeCS(BossTw* this, GlobalContext* globalCtx) {
case 1:
if (Animation_OnFrame(&this->skelAnime, this->workf[ANIM_SW_TGT])) {
Animation_MorphToLoop(&this->skelAnime, &D_06032BF8, -15.0f);
Animation_MorphToLoop(&this->skelAnime, &object_tw_Anim_032BF8, -15.0f);
}
sEnvType = -1;
@ -1797,7 +1726,7 @@ void BossTw_TwinrovaMergeCS(BossTw* this, GlobalContext* globalCtx) {
void BossTw_SetupDeathCS(BossTw* this, GlobalContext* globalCtx) {
this->actionFunc = BossTw_DeathCS;
Animation_MorphToLoop(&this->skelAnime, &D_060004A4, -3.0f);
Animation_MorphToLoop(&this->skelAnime, &object_tw_Anim_0004A4, -3.0f);
this->unk_5F8 = 0;
this->work[CS_TIMER_2] = Rand_ZeroFloat(20.0f);
}
@ -1923,7 +1852,7 @@ void BossTw_TwinrovaIntroCS(BossTw* this, GlobalContext* globalCtx) {
if (this->work[CS_TIMER_1] >= 236) {
this->csState2 = 2;
sKoumePtr->visible = 1;
Animation_MorphToLoop(&sKoumePtr->skelAnime, &D_060004A4, 0.0f);
Animation_MorphToLoop(&sKoumePtr->skelAnime, &object_tw_Anim_0004A4, 0.0f);
sKoumePtr->actor.world.pos.x = 0.0f;
sKoumePtr->actor.world.pos.y = 80.0f;
sKoumePtr->actor.world.pos.z = 600.0f;
@ -2003,8 +1932,8 @@ void BossTw_TwinrovaIntroCS(BossTw* this, GlobalContext* globalCtx) {
this->subCamAtStep.z = fabsf(this->subCamAtTarget.z - this->subCamAt.z);
this->subCamUpdateRate = 0.0f;
this->subCamDistStep = 0.05f;
Animation_MorphToPlayOnce(&sKoumePtr->skelAnime, &D_06000AAC, 0.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&D_06000AAC);
Animation_MorphToPlayOnce(&sKoumePtr->skelAnime, &object_tw_Anim_000AAC, 0.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&object_tw_Anim_000AAC);
this->work[CS_TIMER_1] = 0;
}
break;
@ -2052,8 +1981,8 @@ void BossTw_TwinrovaIntroCS(BossTw* this, GlobalContext* globalCtx) {
1.0f, 0.005f);
} else {
if (this->work[CS_TIMER_1] == 50) {
Animation_MorphToPlayOnce(&sKoumePtr->skelAnime, &D_060088C8, -5);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&D_060088C8);
Animation_MorphToPlayOnce(&sKoumePtr->skelAnime, &object_tw_Anim_0088C8, -5);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&object_tw_Anim_0088C8);
}
if (this->work[CS_TIMER_1] == 60) {
@ -2061,7 +1990,7 @@ void BossTw_TwinrovaIntroCS(BossTw* this, GlobalContext* globalCtx) {
}
if (Animation_OnFrame(&sKoumePtr->skelAnime, this->workf[ANIM_SW_TGT])) {
Animation_MorphToLoop(&sKoumePtr->skelAnime, &D_06006F28, 0.f);
Animation_MorphToLoop(&sKoumePtr->skelAnime, &object_tw_Anim_006F28, 0.f);
this->workf[ANIM_SW_TGT] = 1000.0f;
}
@ -2077,7 +2006,7 @@ void BossTw_TwinrovaIntroCS(BossTw* this, GlobalContext* globalCtx) {
this->work[CS_TIMER_1] = 0;
this->subCamYawStep = 0.0f;
sKotakePtr->visible = 1;
Animation_MorphToLoop(&sKotakePtr->skelAnime, &D_060004A4, 0.0f);
Animation_MorphToLoop(&sKotakePtr->skelAnime, &object_tw_Anim_0004A4, 0.0f);
sKotakePtr->actor.world.pos.x = 0.0f;
sKotakePtr->actor.world.pos.y = 80.0f;
sKotakePtr->actor.world.pos.z = -600.0f;
@ -2105,7 +2034,7 @@ void BossTw_TwinrovaIntroCS(BossTw* this, GlobalContext* globalCtx) {
Math_ApproachF(&this->subCamYawStep, 12288.0f, 1.0f, 384.0f);
if (Animation_OnFrame(&sKoumePtr->skelAnime, this->workf[ANIM_SW_TGT])) {
Animation_MorphToLoop(&sKoumePtr->skelAnime, &D_06006F28, 0.0f);
Animation_MorphToLoop(&sKoumePtr->skelAnime, &object_tw_Anim_006F28, 0.0f);
this->workf[ANIM_SW_TGT] = 1000.0f;
}
}
@ -2167,8 +2096,8 @@ void BossTw_TwinrovaIntroCS(BossTw* this, GlobalContext* globalCtx) {
this->subCamAtStep.z = fabsf(this->subCamAtTarget.z - this->subCamAt.z);
this->subCamUpdateRate = 0;
this->subCamDistStep = 0.05f;
Animation_MorphToPlayOnce(&sKotakePtr->skelAnime, &D_06000AAC, 0);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&D_06000AAC);
Animation_MorphToPlayOnce(&sKotakePtr->skelAnime, &object_tw_Anim_000AAC, 0);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&object_tw_Anim_000AAC);
this->work[CS_TIMER_1] = 0;
}
break;
@ -2214,8 +2143,8 @@ void BossTw_TwinrovaIntroCS(BossTw* this, GlobalContext* globalCtx) {
1.0f, 0.005f);
} else {
if (this->work[CS_TIMER_1] == 50) {
Animation_MorphToPlayOnce(&sKotakePtr->skelAnime, &D_060088C8, -5.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&D_060088C8);
Animation_MorphToPlayOnce(&sKotakePtr->skelAnime, &object_tw_Anim_0088C8, -5.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&object_tw_Anim_0088C8);
}
if (this->work[CS_TIMER_1] == 60) {
@ -2223,7 +2152,7 @@ void BossTw_TwinrovaIntroCS(BossTw* this, GlobalContext* globalCtx) {
}
if (Animation_OnFrame(&sKotakePtr->skelAnime, this->workf[ANIM_SW_TGT])) {
Animation_MorphToLoop(&sKotakePtr->skelAnime, &D_06006F28, 0.0f);
Animation_MorphToLoop(&sKotakePtr->skelAnime, &object_tw_Anim_006F28, 0.0f);
this->workf[ANIM_SW_TGT] = 1000.0f;
}
@ -2266,7 +2195,7 @@ void BossTw_TwinrovaIntroCS(BossTw* this, GlobalContext* globalCtx) {
Math_ApproachF(&this->subCamYawStep, 12288.0f, 1.0f, 384.0f);
if (Animation_OnFrame(&sKotakePtr->skelAnime, this->workf[ANIM_SW_TGT])) {
Animation_MorphToLoop(&sKotakePtr->skelAnime, &D_06006F28, 0.0f);
Animation_MorphToLoop(&sKotakePtr->skelAnime, &object_tw_Anim_006F28, 0.0f);
this->workf[ANIM_SW_TGT] = 1000.0f;
}
}
@ -2287,8 +2216,8 @@ void BossTw_TwinrovaIntroCS(BossTw* this, GlobalContext* globalCtx) {
globalCtx->envCtx.unk_BE = 1;
globalCtx->envCtx.unk_BD = 1;
globalCtx->envCtx.unk_D8 = 0.0f;
TitleCard_InitBossName(globalCtx, &globalCtx->actorCtx.titleCtx, SEGMENTED_TO_VIRTUAL(D_0602E170), 0xA0,
0xB4, 0x80, 0x28);
TitleCard_InitBossName(globalCtx, &globalCtx->actorCtx.titleCtx,
SEGMENTED_TO_VIRTUAL(object_tw_Blob_02E170), 0xA0, 0xB4, 0x80, 0x28);
gSaveContext.eventChkInf[7] |= 0x20;
Audio_QueueSeqCmd(0x1B);
}
@ -2441,7 +2370,7 @@ void BossTw_DeathBall(BossTw* this, GlobalContext* globalCtx) {
void BossTw_TwinrovaSetupDeathCS(BossTw* this, GlobalContext* globalCtx) {
this->actionFunc = BossTw_TwinrovaDeathCS;
Animation_MorphToLoop(&this->skelAnime, &D_06024374, -3.0f);
Animation_MorphToLoop(&this->skelAnime, &object_tw_Anim_024374, -3.0f);
this->actor.world.rot.y = this->actor.shape.rot.y;
this->actor.flags &= ~1;
this->csState2 = this->csState1 = 0;
@ -2616,31 +2545,31 @@ void BossTw_DeathCSMsgSfx(BossTw* this, GlobalContext* globalCtx) {
switch (kotakeAnim) {
case 1:
Animation_MorphToLoop(&sKotakePtr->skelAnime, &D_0600230C, -5.0f);
Animation_MorphToLoop(&sKotakePtr->skelAnime, &object_tw_Anim_00230C, -5.0f);
break;
case 2:
Animation_MorphToLoop(&sKotakePtr->skelAnime, &D_06001D10, -5.0f);
Animation_MorphToLoop(&sKotakePtr->skelAnime, &object_tw_Anim_001D10, -5.0f);
break;
case 3:
Animation_MorphToLoop(&sKotakePtr->skelAnime, &D_060017E0, -5.0f);
Animation_MorphToLoop(&sKotakePtr->skelAnime, &object_tw_Anim_0017E0, -5.0f);
break;
case 4:
Animation_MorphToLoop(&sKotakePtr->skelAnime, &D_060012A4, -5.0f);
Animation_MorphToLoop(&sKotakePtr->skelAnime, &object_tw_Anim_0012A4, -5.0f);
break;
}
switch (koumeAnim) {
case 1:
Animation_MorphToLoop(&sKoumePtr->skelAnime, &D_0600230C, -5.0f);
Animation_MorphToLoop(&sKoumePtr->skelAnime, &object_tw_Anim_00230C, -5.0f);
break;
case 2:
Animation_MorphToLoop(&sKoumePtr->skelAnime, &D_06001D10, -5.0f);
Animation_MorphToLoop(&sKoumePtr->skelAnime, &object_tw_Anim_001D10, -5.0f);
break;
case 3:
Animation_MorphToLoop(&sKoumePtr->skelAnime, &D_060017E0, -5.0f);
Animation_MorphToLoop(&sKoumePtr->skelAnime, &object_tw_Anim_0017E0, -5.0f);
break;
case 4:
Animation_MorphToLoop(&sKoumePtr->skelAnime, &D_060012A4, -5.0f);
Animation_MorphToLoop(&sKoumePtr->skelAnime, &object_tw_Anim_0012A4, -5.0f);
break;
}
@ -2695,7 +2624,7 @@ void BossTw_TwinrovaDeathCS(BossTw* this, GlobalContext* globalCtx) {
switch (this->csState1) {
case 0:
if (this->work[CS_TIMER_1] == 15) {
Animation_MorphToPlayOnce(&this->skelAnime, &D_060216DC, -3.0f);
Animation_MorphToPlayOnce(&this->skelAnime, &object_tw_Anim_0216DC, -3.0f);
}
if (this->work[CS_TIMER_1] >= 15) {
@ -3253,9 +3182,9 @@ s32 BossTw_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList
if (limbIndex == 21) {
if (this->unk_5F8 == 0) {
if (this->actor.params == 0) {
*dList = D_06012CE0;
*dList = object_tw_DL_012CE0;
} else {
*dList = D_060134B8;
*dList = object_tw_DL_0134B8;
}
}
}
@ -3265,9 +3194,9 @@ s32 BossTw_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList
*dList = NULL;
} else if (this->scepterAlpha == 0.0f) {
if (this->actor.params == 0) {
*dList = D_06012B38;
*dList = object_tw_DL_012B38;
} else {
*dList = D_06013310;
*dList = object_tw_DL_013310;
}
}
}
@ -3295,9 +3224,9 @@ void BossTw_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, V
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 6190),
G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH);
if (this->actor.params == 0) {
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_06013AE8));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_013AE8));
} else {
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_06013D68));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_013D68));
}
}
break;
@ -3313,14 +3242,14 @@ void BossTw_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, V
G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH);
if (this->actor.params == 0) {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 225, 255, (s16)this->scepterAlpha);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_06013E98));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_013E98));
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 195, 225, 235, (s16)this->scepterAlpha);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_06013F98));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_013F98));
} else {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 100, 20, 0, (s16)this->scepterAlpha);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_06014070));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_014070));
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 70, 0, (s16)this->scepterAlpha);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_06014158));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_014158));
}
}
break;
@ -3342,7 +3271,7 @@ void func_80941BC0(BossTw* this, GlobalContext* globalCtx) {
G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, (s16)this->workf[UNK_F11]);
gDPSetEnvColor(POLY_XLU_DISP++, 0, 40, 30, 80);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601BC00));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01BC00));
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 215, 215, 215, (s16)this->workf[UNK_F11] * this->workf[UNK_F14]);
gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 255, 128);
gSPSegment(POLY_XLU_DISP++, 8,
@ -3352,7 +3281,7 @@ void func_80941BC0(BossTw* this, GlobalContext* globalCtx) {
Matrix_RotateY(this->workf[UNK_F15], MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 6423),
G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601C1C0));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01C1C0));
Matrix_Pop();
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 6427),
G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH);
@ -3367,7 +3296,7 @@ void func_80941BC0(BossTw* this, GlobalContext* globalCtx) {
GBL_c1(G_BL_CLR_FOG, G_BL_A_SHADE, G_BL_CLR_IN, G_BL_1MA),
G_RM_ZB_OVL_SURF2);
gSPSetGeometryMode(POLY_XLU_DISP++, G_CULL_BACK | G_FOG);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601A790));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01A790));
Matrix_Pop();
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_boss_tw.c", 6461);
@ -3391,7 +3320,7 @@ void func_80942180(BossTw* this, GlobalContext* globalCtx) {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 100, 40, 00, (s16)this->workf[KM_GRND_CRTR_A]);
gDPPipeSync(POLY_XLU_DISP++);
gDPSetEnvColor(POLY_XLU_DISP++, 255, 245, 255, 128);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_06019D40));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_019D40));
func_800D1FD4(&globalCtx->mf_11DA0);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 6514),
@ -3403,7 +3332,7 @@ void func_80942180(BossTw* this, GlobalContext* globalCtx) {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 80, 0, 0, (s16)this->workf[KM_GD_SMOKE_A]);
gDPPipeSync(POLY_XLU_DISP++);
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, 100);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_06018FC0));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_018FC0));
gSPSegment(POLY_XLU_DISP++, 8,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (-this->work[CS_TIMER_1] * 3) & 0x7F, 0, 0x20, 0x20, 1, 0,
@ -3414,7 +3343,7 @@ void func_80942180(BossTw* this, GlobalContext* globalCtx) {
Matrix_Scale(this->workf[KM_GD_FLM_SCL], this->workf[KM_GD_FLM_SCL], this->workf[KM_GD_FLM_SCL], MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 6575),
G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_06019938));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_019938));
Matrix_Pop();
@ -3440,17 +3369,17 @@ void func_809426F0(BossTw* this, GlobalContext* globalCtx) {
if (this->actor.params == 0) {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 135, 175, 165, (s16)this->spawnPortalAlpha);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601CEE0));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01CEE0));
} else {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 0, (s16)this->spawnPortalAlpha);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601DBE8));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01DBE8));
}
Matrix_Pop();
if (this->actor.params == 0) {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 195, 225, 235, (s16)this->flameAlpha);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601A998));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01A998));
} else {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 200, 20, 0, (s16)this->flameAlpha);
gDPSetEnvColor(POLY_XLU_DISP++, 255, 215, 255, 128);
@ -3468,7 +3397,7 @@ void func_809426F0(BossTw* this, GlobalContext* globalCtx) {
func_800D1FD4(&globalCtx->mf_11DA0);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 6751),
G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601A430));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01A430));
Matrix_Pop();
}
@ -3502,7 +3431,7 @@ void func_80942C70(Actor* thisx, GlobalContext* globalCtx) {
Matrix_Scale(this->beamScale, this->beamScale, (this->beamDist * 0.01f * 98.0f) / 20000.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 6846),
G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601DDF0));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01DDF0));
if (this->beamReflectionDist > 10.0f) {
Matrix_Translate(this->beamReflectionOrigin.x, this->beamReflectionOrigin.y, this->beamReflectionOrigin.z,
@ -3514,7 +3443,7 @@ void func_80942C70(Actor* thisx, GlobalContext* globalCtx) {
MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 6870),
G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601DDF0));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01DDF0));
}
Matrix_Pop();
@ -3534,7 +3463,7 @@ void func_80943028(Actor* thisx, GlobalContext* globalCtx) {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 255);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 6908),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601F608));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01F608));
func_80094044(globalCtx->state.gfxCtx);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 0, 0, 0, 200);
Matrix_Translate(this->actor.world.pos.x, 240.0f, this->actor.world.pos.z, MTXMODE_NEW);
@ -3684,13 +3613,13 @@ s32 BossTw_TwinrovaOverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx
break;
case 19:
if (this->unk_5F8 != 0) {
*dList = D_0602D940;
*dList = object_tw_DL_02D940;
}
break;
case 20:
if (this->unk_5F8 != 0) {
*dList = D_0602D890;
*dList = object_tw_DL_02D890;
}
break;
}
@ -3791,20 +3720,20 @@ void BossTw_ShieldChargeDraw(BossTw* this, GlobalContext* globalCtx) {
temp_a0 = (Math_SinS(this->work[CS_TIMER_1] * 2730 * temp_t0) * D_8094C854 * 0.5f) + (D_8094C854 * 0.5f);
if (sShieldFireCharge != 0) {
gDPSetEnvColor(POLY_XLU_DISP++, 255, 245, 255, temp_a0);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601E0E0));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01E0E0));
gSPSegment(POLY_XLU_DISP++, 8,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (this->work[CS_TIMER_1] * 2) * temp_t0, 0, 0x20,
0x20, 1, (-this->work[CS_TIMER_1] * 2) * temp_t0, 0, 0x20, 0x20));
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 100, 20, 0, (s16)D_8094C854);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601E020));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01E020));
} else {
gDPSetEnvColor(POLY_XLU_DISP++, 225, 255, 255, temp_a0);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601E3A0));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01E3A0));
gSPSegment(POLY_XLU_DISP++, 8,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, (-this->work[CS_TIMER_1] * 5) * temp_t0,
0x20, 0x40, 1, (this->work[CS_TIMER_1] * 4) * temp_t0, 0, 0x20, 0x20));
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 175, 205, 195, (s16)D_8094C854);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601E2C0));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01E2C0));
}
}
}
@ -3839,7 +3768,7 @@ void BossTw_ShieldChargeDraw(BossTw* this, GlobalContext* globalCtx) {
gSPSegment(POLY_XLU_DISP++, 8,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, this->work[CS_TIMER_1] * D_8094C872, 0x20, 0x40, 1,
0, this->work[CS_TIMER_1] * D_8094C872, 0x20, 0x20));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601E9F0));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01E9F0));
}
Matrix_Pop();
@ -3864,28 +3793,28 @@ void BossTw_SpawnPortalDraw(BossTw* this, GlobalContext* globalCtx) {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 0, 0, 0, (s16)this->spawnPortalAlpha);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 7582),
G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601EC68));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01EC68));
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 135, 175, 165, (s16)this->spawnPortalAlpha);
Matrix_Translate(0.0f, 2.0f, 0.0f, MTXMODE_APPLY);
Matrix_RotateX(M_PI / 2.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 7596),
G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601CEE0));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01CEE0));
Matrix_Translate(0.0f, 232.0f, 600.0f, MTXMODE_NEW);
Matrix_Scale(this->spawnPortalScale, this->spawnPortalScale, this->spawnPortalScale, MTXMODE_APPLY);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 0, 0, 0, (s16)this->spawnPortalAlpha);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 7617),
G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601EC68));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01EC68));
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 0, (s16)this->spawnPortalAlpha);
Matrix_Translate(0.0f, 2.0f, 0.0f, MTXMODE_APPLY);
Matrix_RotateX(M_PI / 2.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 7631),
G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601DBE8));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01DBE8));
Matrix_Pop();
@ -3905,7 +3834,7 @@ void func_80944C50(BossTw* this, GlobalContext* globalCtx) {
Matrix_Scale(this->workf[UNK_F19], this->workf[UNK_F19], this->workf[UNK_F19], MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 7671),
G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601F390));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01F390));
Matrix_Pop();
gSPSegment(POLY_XLU_DISP++, 8,
@ -3914,7 +3843,7 @@ void func_80944C50(BossTw* this, GlobalContext* globalCtx) {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, (s16)this->workf[UNK_F18] / 2);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 7694),
G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601F238));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01F238));
gSPSegment(POLY_XLU_DISP++, 8,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, -sKoumePtr->work[CS_TIMER_1] * 5,
@ -3928,7 +3857,7 @@ void func_80944C50(BossTw* this, GlobalContext* globalCtx) {
Matrix_Scale(scale, 1.0f, scale, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 7728),
G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601EEB0));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01EEB0));
Matrix_Pop();
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_boss_tw.c", 7732);
@ -4533,7 +4462,7 @@ void BossTw_BlastDraw(Actor* thisx, GlobalContext* globalCtx2) {
func_800D1FD4(&globalCtx->mf_11DA0);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 8865),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601A430));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01A430));
}
break;
@ -4542,7 +4471,7 @@ void BossTw_BlastDraw(Actor* thisx, GlobalContext* globalCtx2) {
case TW_ICE_BLAST:
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 195, 225, 235, (s8)this->workf[TAIL_ALPHA]);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601A998));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01A998));
for (i = 9; i >= 0; i--) {
gSPSegment(POLY_XLU_DISP++, 8,
Gfx_TwoTexScroll(
@ -4557,7 +4486,7 @@ void BossTw_BlastDraw(Actor* thisx, GlobalContext* globalCtx2) {
func_800D1FD4(&globalCtx->mf_11DA0);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 9004),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601AB00));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01AB00));
}
break;
@ -4597,11 +4526,11 @@ void BossTw_DrawDeathBall(Actor* thisx, GlobalContext* globalCtx2) {
func_800D1FD4(&globalCtx->mf_11DA0);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 9071),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601A430));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01A430));
}
} else {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 195, 225, 235, (s8)this->workf[TAIL_ALPHA]);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601A998));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01A998));
for (i = 9; i >= 0; i--) {
gSPSegment(POLY_XLU_DISP++, 8,
@ -4617,7 +4546,7 @@ void BossTw_DrawDeathBall(Actor* thisx, GlobalContext* globalCtx2) {
func_800D1FD4(&globalCtx->mf_11DA0);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_boss_tw.c", 9107),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601AB00));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01AB00));
}
}
@ -4984,7 +4913,7 @@ void BossTw_DrawEffects(GlobalContext* globalCtx) {
for (i = 0; i < ARRAY_COUNT(sTwEffects); i++) {
if (currentEffect->type == 1) {
if (sp18F == 0) {
gSPDisplayList(POLY_XLU_DISP++, D_0601A528);
gSPDisplayList(POLY_XLU_DISP++, object_tw_DL_01A528);
sp18F++;
}
@ -4995,7 +4924,7 @@ void BossTw_DrawEffects(GlobalContext* globalCtx) {
Matrix_Scale(currentEffect->workf[EFF_SCALE], currentEffect->workf[EFF_SCALE], 1.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_tw.c", 9617),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, D_0601A5A8);
gSPDisplayList(POLY_XLU_DISP++, object_tw_DL_01A5A8);
}
currentEffect++;
@ -5007,7 +4936,7 @@ void BossTw_DrawEffects(GlobalContext* globalCtx) {
for (i = 0; i < ARRAY_COUNT(sTwEffects); i++) {
if (currentEffect->type == 3) {
if (sp18F == 0) {
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601A998));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01A998));
sp18F++;
}
@ -5020,7 +4949,7 @@ void BossTw_DrawEffects(GlobalContext* globalCtx) {
Matrix_Scale(currentEffect->workf[EFF_SCALE], currentEffect->workf[EFF_SCALE], 1.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_tw.c", 9660),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601AB00));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01AB00));
}
currentEffect++;
}
@ -5045,7 +4974,7 @@ void BossTw_DrawEffects(GlobalContext* globalCtx) {
Matrix_Scale(currentEffect->workf[EFF_SCALE], currentEffect->workf[EFF_SCALE], 1.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_tw.c", 9709),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601A430));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01A430));
}
currentEffect++;
@ -5090,7 +5019,7 @@ void BossTw_DrawEffects(GlobalContext* globalCtx) {
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetRenderMode(POLY_XLU_DISP++, G_RM_PASS, G_RM_AA_ZB_XLU_SURF2);
gSPClearGeometryMode(POLY_XLU_DISP++, G_CULL_BACK | G_FOG);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601A790));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01A790));
}
currentEffect++;
@ -5105,7 +5034,7 @@ void BossTw_DrawEffects(GlobalContext* globalCtx) {
if (currentEffect->type == TWEFF_PLYR_FRZ) {
if (sp18F == 0) {
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601AA50));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01AA50));
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 195, 225, 235, 255);
gSPSegment(POLY_XLU_DISP++, 8,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 0x20, 0x40, 1, 0, 0, 0x20, 0x20));
@ -5135,7 +5064,7 @@ void BossTw_DrawEffects(GlobalContext* globalCtx) {
Matrix_RotateX((BossTw_RandZeroOne() - 0.5f) * M_PI * 0.5f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_tw.c", 9855),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601AB00));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01AB00));
}
}
@ -5149,7 +5078,7 @@ void BossTw_DrawEffects(GlobalContext* globalCtx) {
if (currentEffect->type >= 6) {
if (currentEffect->work[EFF_ARGS] == 0) {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 195, 225, 235, currentEffect->alpha);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601A998));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01A998));
} else {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 200, 20, 0, currentEffect->alpha);
gDPPipeSync(POLY_XLU_DISP++);
@ -5166,9 +5095,9 @@ void BossTw_DrawEffects(GlobalContext* globalCtx) {
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (currentEffect->work[EFF_ARGS] == 0) {
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601AB00));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01AB00));
} else {
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0601A430));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_tw_DL_01A430));
}
}
@ -5180,7 +5109,7 @@ void BossTw_DrawEffects(GlobalContext* globalCtx) {
void BossTw_TwinrovaSetupArriveAtTarget(BossTw* this, GlobalContext* globalCtx) {
this->actionFunc = BossTw_TwinrovaArriveAtTarget;
Animation_MorphToLoop(&this->skelAnime, &D_06032BF8, -3.0f);
Animation_MorphToLoop(&this->skelAnime, &object_tw_Anim_032BF8, -3.0f);
this->work[CS_TIMER_1] = Rand_ZeroFloat(100.0f);
this->timers[1] = 25;
this->rotateSpeed = 0.0f;
@ -5203,8 +5132,8 @@ void BossTw_TwinrovaArriveAtTarget(BossTw* this, GlobalContext* globalCtx) {
void BossTw_TwinrovaSetupChargeBlast(BossTw* this, GlobalContext* globalCtx) {
this->actionFunc = BossTw_TwinrovaChargeBlast;
Animation_MorphToPlayOnce(&this->skelAnime, &D_06036FBC, -5.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&D_06036FBC);
Animation_MorphToPlayOnce(&this->skelAnime, &object_tw_Anim_036FBC, -5.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&object_tw_Anim_036FBC);
this->csState1 = 0;
}
@ -5236,12 +5165,12 @@ void BossTw_TwinrovaSetupShootBlast(BossTw* this, GlobalContext* globalCtx) {
this->actionFunc = BossTw_TwinrovaShootBlast;
if (sTwinrovaBlastType == 0) {
Animation_MorphToPlayOnce(&this->skelAnime, &D_06022700, 0.0f);
Animation_MorphToPlayOnce(&this->skelAnime, &object_tw_Anim_022700, 0.0f);
} else {
Animation_MorphToPlayOnce(&this->skelAnime, &D_06023750, 0.0f);
Animation_MorphToPlayOnce(&this->skelAnime, &object_tw_Anim_023750, 0.0f);
}
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&D_06023750);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&object_tw_Anim_023750);
}
void BossTw_TwinrovaShootBlast(BossTw* this, GlobalContext* globalCtx) {
@ -5299,7 +5228,7 @@ void BossTw_TwinrovaShootBlast(BossTw* this, GlobalContext* globalCtx) {
void BossTw_TwinrovaSetupDoneBlastShoot(BossTw* this, GlobalContext* globalCtx) {
this->actionFunc = BossTw_TwinrovaDoneBlastShoot;
Animation_MorphToLoop(&this->skelAnime, &D_06032BF8, -10.0f);
Animation_MorphToLoop(&this->skelAnime, &object_tw_Anim_032BF8, -10.0f);
this->timers[1] = 60;
}
@ -5320,7 +5249,7 @@ void BossTw_TwinrovaDoneBlastShoot(BossTw* this, GlobalContext* globalCtx) {
void BossTw_TwinrovaDamage(BossTw* this, GlobalContext* globalCtx, u8 damage) {
if (this->actionFunc != BossTw_TwinrovaStun) {
Animation_MorphToPlayOnce(&this->skelAnime, &D_060338F0, -15.0f);
Animation_MorphToPlayOnce(&this->skelAnime, &object_tw_Anim_0338F0, -15.0f);
this->timers[0] = 150;
this->timers[1] = 20;
this->csState1 = 0;
@ -5328,8 +5257,8 @@ void BossTw_TwinrovaDamage(BossTw* this, GlobalContext* globalCtx, u8 damage) {
} else {
this->work[FOG_TIMER] = 10;
this->work[INVINC_TIMER] = 20;
Animation_MorphToPlayOnce(&this->skelAnime, &D_06024374, -3.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&D_06024374);
Animation_MorphToPlayOnce(&this->skelAnime, &object_tw_Anim_024374, -3.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&object_tw_Anim_024374);
this->csState1 = 1;
if ((s8)(this->actor.colChkInfo.health -= damage) < 0) {
@ -5391,12 +5320,12 @@ void BossTw_TwinrovaStun(BossTw* this, GlobalContext* globalCtx) {
if (this->csState1 == 0) {
if (this->timers[1] == 0) {
this->csState1 = 1;
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&D_060343B4);
Animation_Change(&this->skelAnime, &D_060343B4, 1.0f, 0.0f, this->workf[ANIM_SW_TGT], 3, 0.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&object_tw_Anim_0343B4);
Animation_Change(&this->skelAnime, &object_tw_Anim_0343B4, 1.0f, 0.0f, this->workf[ANIM_SW_TGT], 3, 0.0f);
}
} else if (Animation_OnFrame(&this->skelAnime, this->workf[ANIM_SW_TGT])) {
this->workf[ANIM_SW_TGT] = 1000.0f;
Animation_MorphToLoop(&this->skelAnime, &D_06035030, 0.0f);
Animation_MorphToLoop(&this->skelAnime, &object_tw_Anim_035030, 0.0f);
}
if (this->actor.bgCheckFlags & 1) {
@ -5409,8 +5338,8 @@ void BossTw_TwinrovaStun(BossTw* this, GlobalContext* globalCtx) {
}
void BossTw_TwinrovaSetupGetUp(BossTw* this, GlobalContext* globalCtx) {
Animation_MorphToPlayOnce(&this->skelAnime, &D_06035988, 0.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&D_06035988);
Animation_MorphToPlayOnce(&this->skelAnime, &object_tw_Anim_035988, 0.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&object_tw_Anim_035988);
this->actionFunc = BossTw_TwinrovaGetUp;
this->timers[0] = 50;
}
@ -5421,7 +5350,7 @@ void BossTw_TwinrovaGetUp(BossTw* this, GlobalContext* globalCtx) {
if (Animation_OnFrame(&this->skelAnime, this->workf[ANIM_SW_TGT])) {
this->workf[ANIM_SW_TGT] = 1000.0f;
Animation_MorphToLoop(&this->skelAnime, &D_06032BF8, 0.0f);
Animation_MorphToLoop(&this->skelAnime, &object_tw_Anim_032BF8, 0.0f);
}
if (this->timers[0] == 0) {
@ -5455,7 +5384,7 @@ void BossTw_TwinrovaSetupFly(BossTw* this, GlobalContext* globalCtx) {
this->actor.world.rot.y = Math_FAtan2F(xDiff, zDiff) * (32768 / M_PI);
xzDist = sqrtf(SQ(xDiff) + SQ(zDiff));
this->actor.world.rot.x = Math_FAtan2F(yDiff, xzDist) * (32768 / M_PI);
Animation_MorphToLoop(&this->skelAnime, &D_06032BF8, -10.0f);
Animation_MorphToLoop(&this->skelAnime, &object_tw_Anim_032BF8, -10.0f);
}
void BossTw_TwinrovaFly(BossTw* this, GlobalContext* globalCtx) {
@ -5494,7 +5423,7 @@ void BossTw_TwinrovaFly(BossTw* this, GlobalContext* globalCtx) {
void BossTw_TwinrovaSetupSpin(BossTw* this, GlobalContext* globalCtx) {
this->actionFunc = BossTw_TwinrovaSpin;
Animation_MorphToLoop(&this->skelAnime, &D_06032BF8, 0.0f);
Animation_MorphToLoop(&this->skelAnime, &object_tw_Anim_032BF8, 0.0f);
this->timers[0] = 20;
this->actor.speedXZ = 0.0f;
}
@ -5515,8 +5444,8 @@ void BossTw_TwinrovaSpin(BossTw* this, GlobalContext* globalCtx) {
void BossTw_TwinrovaSetupLaugh(BossTw* this, GlobalContext* globalCtx) {
this->actionFunc = BossTw_TwinrovaLaugh;
Animation_MorphToPlayOnce(&this->skelAnime, &D_0603A2D0, 0.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&D_0603A2D0);
Animation_MorphToPlayOnce(&this->skelAnime, &object_tw_Anim_03A2D0, 0.0f);
this->workf[ANIM_SW_TGT] = Animation_GetLastFrame(&object_tw_Anim_03A2D0);
this->actor.speedXZ = 0.0f;
}