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:
parent
743f42f651
commit
5e071a014d
130 changed files with 1210 additions and 2940 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue