mirror of
https://github.com/HarbourMasters/Starship
synced 2026-06-03 10:41:13 -04:00
Initial Katina documentation (#228)
* initial docs * func names * docs * more docs * more katina docs * format * format * yRot * more docs * more docs * this * some fixes * fixes * ActorAllRange * These should not be used here * corrections * some renamings * more docs * format * Merge remote-tracking branch 'origin' into fox_ka_docs * ActorCutscene * PR review * comment * bump torch * PR review * review
This commit is contained in:
committed by
GitHub
parent
9303fba359
commit
455aa0aa2c
@@ -45,7 +45,7 @@ u8 gKaAllyKillCount;
|
||||
s32 gAllRangeCheckpoint;
|
||||
s32 gAllRangeEventTimer;
|
||||
s32 gAllRangeCountdown[3];
|
||||
s32 gShowAllRangeCountdown;
|
||||
bool gShowAllRangeCountdown;
|
||||
s32 gAllRangeFrameCount;
|
||||
f32 gAllRangeCountdownScale;
|
||||
|
||||
@@ -1171,8 +1171,9 @@ bool func_360_80031900(Actor* actor) {
|
||||
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp24, &sp18);
|
||||
if (sp18.z > 0.0f) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static Vec3f sSectorZRetreatPath[6] = {
|
||||
@@ -2279,15 +2280,15 @@ void ActorAllRange_Draw(ActorAllRange* this) {
|
||||
} else if (gCurrentLevel == LEVEL_KATINA) {
|
||||
switch (this->unk_0B6) {
|
||||
case 0:
|
||||
gSPDisplayList(gMasterDisp++, D_KA_600EFF0);
|
||||
gSPDisplayList(gMasterDisp++, aKaEnemy1LowPolyDL);
|
||||
break;
|
||||
case 1:
|
||||
gSPDisplayList(gMasterDisp++, D_KA_600E050);
|
||||
gSPDisplayList(gMasterDisp++, aKaCornerianFighterDL);
|
||||
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, MTXF_APPLY);
|
||||
Actor_DrawEngineGlow(this, 0);
|
||||
break;
|
||||
case 3:
|
||||
gSPDisplayList(gMasterDisp++, D_KA_6001530);
|
||||
gSPDisplayList(gMasterDisp++, aKaEnemy1DL);
|
||||
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, 30.0f, MTXF_APPLY);
|
||||
ActorAllRange_DrawShield(this);
|
||||
break;
|
||||
|
||||
@@ -2374,7 +2374,7 @@ void ActorCutscene_Update(ActorCutscene* this) {
|
||||
break;
|
||||
|
||||
case LEVEL_KATINA:
|
||||
Katina_80197F10(this);
|
||||
Katina_SFTeamFlyTowardsCamera(this);
|
||||
break;
|
||||
|
||||
case LEVEL_SECTOR_Z:
|
||||
@@ -2745,14 +2745,14 @@ void ActorCutscene_Draw(Actor* actor) {
|
||||
if ((actor->index == 3) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) {
|
||||
gSPDisplayList(gMasterDisp++, D_D00B880);
|
||||
} else {
|
||||
gSPDisplayList(gMasterDisp++, D_KA_600E050);
|
||||
gSPDisplayList(gMasterDisp++, aKaCornerianFighterDL);
|
||||
}
|
||||
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, MTXF_APPLY);
|
||||
Actor_DrawEngineGlow(actor, 0);
|
||||
break;
|
||||
|
||||
case 34:
|
||||
gSPDisplayList(gMasterDisp++, D_KA_6001530);
|
||||
gSPDisplayList(gMasterDisp++, aKaEnemy1DL);
|
||||
break;
|
||||
|
||||
case 35:
|
||||
|
||||
@@ -247,7 +247,7 @@ ObjectInfo gObjectInfo[] = {
|
||||
/* OBJ_SCENERY_151 */ {(void*) D_FO_60066E0, 0, (ObjectFunc) NULL, D_FO_600FEB8, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
|
||||
/* OBJ_SCENERY_152 */ {(void*) D_BO_600F4C0, 0, (ObjectFunc) NULL, D_BO_6011C10, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
|
||||
/* OBJ_SCENERY_153 */ {(void*) D_BO_600B8B0, 0, (ObjectFunc) NULL, D_BO_6011C48, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
|
||||
/* OBJ_SCENERY_154 */ {(void*) D_KA_600BAF0, 0, (ObjectFunc) NULL, D_KA_601115C, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
|
||||
/* OBJ_SCENERY_154 */ {(void*) aKaFLBaseDL, 0, (ObjectFunc) NULL, D_KA_601115C, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
|
||||
/* OBJ_SCENERY_155 */ {(void*) NULL, 0, (ObjectFunc) NULL, gNoHitbox, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
|
||||
/* OBJ_SCENERY_156 */ {(void*) SectorY_80197CB8, 1, (ObjectFunc) NULL, D_SY_6034368, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
|
||||
/* OBJ_SCENERY_157 */ {(void*) D_SZ_6001DA0, 0, (ObjectFunc) NULL, D_SZ_600924C, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
|
||||
@@ -409,8 +409,8 @@ ObjectInfo gObjectInfo[] = {
|
||||
/* OBJ_BOSS_313 */ {(void*) SectorZ_8019E98C, 1, (ObjectFunc) SectorZ_8019E454, D_SZ_6009388, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_314 */ {(void*) SectorY_8019E2C4, 2, (ObjectFunc) SectorY_8019C888, gNoHitbox, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_SO */ {(void*) Solar_801A71B8, 2, (ObjectFunc) Solar_801A5B3C, gNoHitbox, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_316 */ {(void*) Katina_801968F4, 1, (ObjectFunc) Katina_801946C4, D_KA_6011058, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_317 */ {(void*) Katina_80193B1C, 1, (ObjectFunc) Katina_80193718, D_KA_601115C, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
|
||||
/* OBJ_BOSS_316 */ {(void*) Katina_BossDraw, 1, (ObjectFunc) Katina_BossUpdate, D_KA_6011058, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_317 */ {(void*) Katina_Base_Draw, 1, (ObjectFunc) Katina_BaseUpdate, D_KA_601115C, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
|
||||
/* OBJ_BOSS_AQ */ {(void*) Aquas_801B4D84, 2, (ObjectFunc) Aquas_801B134C, D_AQ_6030F74, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
/* OBJ_BOSS_319 */ {(void*) Venom1_801985E4, 1, (ObjectFunc) Venom1_80194398,D_VE1_8019A9B8, 3000.0f, 0, 0, 40, 1, 0.0f, 10 },
|
||||
/* OBJ_BOSS_320 */ {(void*) Andross_801928C8, 2, (ObjectFunc) Andross_8018DBF0, D_ANDROSS_C038DC0, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
|
||||
@@ -432,7 +432,7 @@ ObjectInfo gObjectInfo[] = {
|
||||
/* OBJ_ITEM_GOLD_RING */ {(void*) ItemGoldRing_Draw, 1, (ObjectFunc) ItemGoldRing_Update, gItemSupplyRingHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
|
||||
/* OBJ_ITEM_WING_REPAIR */ {(void*) D_arwing_3007650, 0, (ObjectFunc) ItemWingRepair_Update, gItemLasersHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
|
||||
/* OBJ_ITEM_TRAINING_RING */ {(void*) gItemTrainingRingDL, 0, (ObjectFunc) Training_ItemRing_Update, D_TR_6009CFC, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
|
||||
/* OBJ_EFFECT_339 */ {(void*) func_effect_8007D55C, 1, (ObjectFunc) func_effect_8007D2F4, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
|
||||
/* OBJ_EFFECT_FIRE_SMOKE */ {(void*) func_effect_8007D55C, 1, (ObjectFunc) func_effect_8007D2F4, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
|
||||
/* OBJ_EFFECT_340 */ {(void*) func_effect_8007D55C, 1, (ObjectFunc) func_effect_8007D748, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
|
||||
/* OBJ_EFFECT_341 */ {(void*) func_effect_8007D55C, 1, (ObjectFunc) func_effect_8007D8A8, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
|
||||
/* OBJ_EFFECT_342 */ {(void*) func_effect_8007E330, 1, (ObjectFunc) func_effect_8007E298, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
|
||||
@@ -451,7 +451,7 @@ ObjectInfo gObjectInfo[] = {
|
||||
/* OBJ_EFFECT_355 */ {(void*) func_effect_80078AEC, 1, (ObjectFunc) func_effect_800802B8, NULL, 100.0f, 1, 0, 20, 1, 0.0f, 0 },
|
||||
/* OBJ_EFFECT_356 */ {(void*) func_effect_80078C84, 1, (ObjectFunc) func_effect_800802F8, NULL, 100.0f, 1, 0, 20, 0, 0.0f, 0 },
|
||||
/* OBJ_EFFECT_357 */ {(void*) func_effect_800798F0, 1, (ObjectFunc) func_effect_8007968C, NULL, 100.0f, 0, 1, 0, 0, 0.0f, 0 },
|
||||
/* OBJ_EFFECT_358 */ {(void*) Katina_80192A68, 1, (ObjectFunc) Katina_80192984, NULL, 100.0f, 1, 1, 0, 0, 0.0f, 0 },
|
||||
/* OBJ_EFFECT_358 */ {(void*) Katina_LaserEnergyParticlesDraw, 1, (ObjectFunc) Katina_LaserEnergyParticlesUpdate, NULL, 100.0f, 1, 1, 0, 0, 0.0f, 0 },
|
||||
/* OBJ_EFFECT_359 */ {(void*) func_effect_8007AA60, 1, (ObjectFunc) func_effect_8007A994, NULL, -100.0f, 1, 2, 0, 0, 0.0f, 0 },
|
||||
/* OBJ_EFFECT_360 */ {(void*) func_effect_8007BEE8, 1, (ObjectFunc) func_effect_8007BE54, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
|
||||
/* OBJ_EFFECT_361 */ {(void*) func_effect_8007BEE8, 1, (ObjectFunc) func_effect_8007BDE0, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
|
||||
|
||||
@@ -167,7 +167,7 @@ Effect* func_effect_8007783C(ObjectId objId) {
|
||||
void func_effect_800778C4(Effect* effect, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 scale2) {
|
||||
Effect_Initialize(effect);
|
||||
effect->obj.status = OBJ_INIT;
|
||||
effect->obj.id = OBJ_EFFECT_339;
|
||||
effect->obj.id = OBJ_EFFECT_FIRE_SMOKE;
|
||||
|
||||
effect->obj.pos.x = xPos;
|
||||
effect->obj.pos.y = yPos;
|
||||
@@ -628,6 +628,7 @@ void func_effect_800794CC(f32 xPos, f32 yPos, f32 zPos, f32 scale2) {
|
||||
}
|
||||
}
|
||||
|
||||
// Broken pieces and debris effect
|
||||
void func_effect_8007953C(f32 xPos, f32 yPos, f32 zPos, f32 scale2) {
|
||||
s32 i;
|
||||
|
||||
@@ -1226,6 +1227,7 @@ void func_effect_8007B2BC(Effect* effect, f32 xPos, f32 yPos, f32 zPos, f32 scal
|
||||
Object_SetInfo(&effect->info, effect->obj.id);
|
||||
}
|
||||
|
||||
// Orange-yellowish light effect simulating an explosion
|
||||
void func_effect_8007B344(f32 xPos, f32 yPos, f32 zPos, f32 scale1, s32 arg4) {
|
||||
s32 i;
|
||||
|
||||
@@ -1791,7 +1793,7 @@ void func_effect_8007CAF0(Effect* effect) {
|
||||
void func_effect_8007CC00(Effect* effect, f32 xPos, f32 yPos, f32 zPos, f32 scale2) {
|
||||
Effect_Initialize(effect);
|
||||
effect->obj.status = OBJ_INIT;
|
||||
effect->obj.id = OBJ_EFFECT_339;
|
||||
effect->obj.id = OBJ_EFFECT_FIRE_SMOKE;
|
||||
effect->obj.pos.x = xPos;
|
||||
effect->obj.pos.y = yPos;
|
||||
effect->obj.pos.z = zPos;
|
||||
|
||||
@@ -458,7 +458,7 @@ void Object_Load(ObjectInit* objInit, f32 xMax, f32 xMin, f32 yMax, f32 yMin) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((objInit->id >= OBJ_ITEM_LASERS) && (objInit->id < OBJ_EFFECT_339)) {
|
||||
if ((objInit->id >= OBJ_ITEM_LASERS) && (objInit->id < OBJ_EFFECT_FIRE_SMOKE)) {
|
||||
for (i = 0; i < ARRAY_COUNT(gItems); i++) {
|
||||
if (gItems[i].obj.status == OBJ_FREE) {
|
||||
Item_Load(&gItems[i], objInit);
|
||||
@@ -466,7 +466,7 @@ void Object_Load(ObjectInit* objInit, f32 xMax, f32 xMin, f32 yMax, f32 yMin) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (objInit->id >= OBJ_EFFECT_339 && objInit->id <= OBJ_UNK_406) {
|
||||
if (objInit->id >= OBJ_EFFECT_FIRE_SMOKE && objInit->id <= OBJ_UNK_406) {
|
||||
switch (objInit->id) {
|
||||
case OBJ_UNK_403:
|
||||
D_MA_801BA1E8 = 99;
|
||||
@@ -1188,7 +1188,7 @@ void Object_Init(s32 index, ObjectId objId) {
|
||||
Andross_Boss320_Init(&gBosses[index]);
|
||||
break;
|
||||
case OBJ_BOSS_316:
|
||||
Katina_Boss316_Init(&gBosses[index]);
|
||||
Katina_BossSetup(&gBosses[index]);
|
||||
break;
|
||||
case OBJ_BOSS_314:
|
||||
SectorY_Boss314_Init(&gBosses[index]);
|
||||
|
||||
@@ -5417,7 +5417,7 @@ void func_hud_80094D20(f32 x, f32 y) {
|
||||
temp4 = gDisplayedHitCount;
|
||||
}
|
||||
|
||||
boolTemp = 0;
|
||||
boolTemp = false;
|
||||
i = 1000;
|
||||
temp3 %= i;
|
||||
temp4 %= i;
|
||||
@@ -5430,7 +5430,7 @@ void func_hud_80094D20(f32 x, f32 y) {
|
||||
temp = temp3 / i;
|
||||
temp2 = temp4 / i;
|
||||
|
||||
if ((temp != 0) || (boolTemp == 1)) {
|
||||
if ((temp != 0) || (boolTemp == true)) {
|
||||
if (temp != temp2) {
|
||||
D_hud_80161720[j] += 0.4f;
|
||||
if (D_hud_80161720[j] <= 0.9f) {
|
||||
@@ -5466,7 +5466,7 @@ void func_hud_80094D20(f32 x, f32 y) {
|
||||
if (xScale != 0.0f) {
|
||||
TextureRect_8bIA(&gMasterDisp, D_800D24DC[temp], 16, 15, x1, y1, xScale, 1.0f);
|
||||
}
|
||||
boolTemp = 1;
|
||||
boolTemp = true;
|
||||
}
|
||||
|
||||
if ((!boolTemp) && (xScale != 0.0f)) {
|
||||
|
||||
@@ -2666,7 +2666,7 @@ void Play_Init(void) {
|
||||
ActorAllRange_SpawnTeam();
|
||||
break;
|
||||
case LEVEL_KATINA:
|
||||
Katina_80198930();
|
||||
Katina_BossInit();
|
||||
if (!D_ctx_8017782C) {
|
||||
ActorAllRange_SpawnTeam();
|
||||
}
|
||||
|
||||
+1221
-728
File diff suppressed because it is too large
Load Diff
@@ -67,7 +67,7 @@ void SectorZ_80199900(Actor* actor, s32 arg1) {
|
||||
void SectorZ_80199B18(Effect* effect, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32 yVel, f32 zVel, f32 scale) {
|
||||
Effect_Initialize(effect);
|
||||
effect->obj.status = OBJ_INIT;
|
||||
effect->obj.id = OBJ_EFFECT_339;
|
||||
effect->obj.id = OBJ_EFFECT_FIRE_SMOKE;
|
||||
|
||||
effect->obj.pos.x = xPos;
|
||||
effect->obj.pos.y = yPos;
|
||||
@@ -1240,7 +1240,7 @@ void SectorZ_LevelComplete(Player* player) {
|
||||
player->csState = 10;
|
||||
player->csTimer = 1000;
|
||||
|
||||
Audio_StopPlayerNoise(0U);
|
||||
Audio_StopPlayerNoise(0);
|
||||
Audio_KillSfxBySource(player->sfxSource);
|
||||
Play_ClearObjectData();
|
||||
|
||||
|
||||
@@ -6265,6 +6265,7 @@ void Macbeth_LevelComplete2(Player* player) {
|
||||
Math_SmoothStepToF(&gCsCamEyeX, player->pos.x - 2000.0f, 0.1f, D_ctx_80177A48[8], 0.0f);
|
||||
gCsCamEyeZ -= 1.0f;
|
||||
}
|
||||
//! @BUG: The following condition is always true:
|
||||
if ((gCsFrameCount >= 2120) || (gCsFrameCount < 2175)) {
|
||||
Math_SmoothStepToF(&gCsCamAtY, player->pos.y + 70.0f, 0.1f, 8.0f, 0.0f);
|
||||
}
|
||||
|
||||
+1
-1
@@ -243,7 +243,7 @@ void Fault_ThreadEntry(void* arg0) {
|
||||
func_8000762C(300, 10, "-");
|
||||
gControllerPlugged[0] = 1;
|
||||
|
||||
#if MODS_AUTO_DEBUGGER == 0 // Turn this off for instant crash debugger (no button combination needed)
|
||||
#if MODS_AUTO_DEBUGGER == 0 // Instant crash debugger (no button combination needed)
|
||||
while (var_s5 == 0) {
|
||||
osSendMesg(&gSerialThreadMesgQueue, (OSMesg) SI_READ_CONTROLLER, OS_MESG_NOBLOCK);
|
||||
MQ_WAIT_FOR_MESG(&gControllerMesgQueue, NULL);
|
||||
|
||||
Reference in New Issue
Block a user