1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-25 09:45:02 +00:00

Document everything in ovl_Boss_Ganon2.xml (#1377)

* Document everything in ovl_Boss_Ganon2.xml

* Add translation I forgot to do

* Remove leading zeroes
This commit is contained in:
Tom Overton 2022-10-02 13:47:27 -07:00 committed by GitHub
parent 82bcf03ba5
commit a2c8eabbc5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 40 additions and 87 deletions

View file

@ -1,77 +1,29 @@
<Root>
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="assets/objects/gameplay_keep/"/>
<File Name="ovl_Boss_Ganon2" BaseAddress="0x808FCF40" RangeStart="0xA2C8" RangeEnd="0x10778">
<Texture Name="ovl_Boss_Ganon2_Tex_00A2C8" OutName="tex_0000A2C8" Format="i8" Width="64" Height="64" Offset="0x00A2C8"/>
<Array Name="ovl_Boss_Ganon2_Vtx_00B2C8" Count="4" Offset="0x00B2C8">
<Texture Name="gGanonLightOrbTex" OutName="ganon_light_orb" Format="i8" Width="64" Height="64" Offset="0xA2C8"/>
<DList Name="gGanonLightOrbMaterialDL" Offset="0xB308"/>
<DList Name="gGanonLightOrbModelDL" Offset="0xB378"/>
<DList Name="gGanonShadowMaterialDL" Offset="0xB3D0"/>
<DList Name="gGanonShadowModelDL" Offset="0xB3F0"/>
<Texture Name="gGanonSwordTrailTex" OutName="ganon_sword_trail" Format="i8" Width="32" Height="32" Offset="0xB420"/>
<Texture Name="gGanonSwordTrailMaskTex" OutName="ganon_sword_trail_mask" Format="i4" Width="32" Height="32" Offset="0xB820"/>
<Array Name="gGanonSwordTrailVtx" Count="22" Offset="0xBA20">
<Vtx/>
</Array>
<DList Name="ovl_Boss_Ganon2_DL_00B308" Offset="0x00B308"/>
<DList Name="ovl_Boss_Ganon2_DL_00B378" Offset="0x00B378"/>
<Array Name="ovl_Boss_Ganon2_Vtx_00B390" Count="4" Offset="0x00B390">
<Vtx/>
</Array>
<DList Name="ovl_Boss_Ganon2_DL_00B3D0" Offset="0x00B3D0"/>
<DList Name="ovl_Boss_Ganon2_DL_00B3F0" Offset="0x00B3F0"/>
<Texture Name="ovl_Boss_Ganon2_Tex_00B420" OutName="tex_0000B420" Format="i8" Width="32" Height="32" Offset="0x00B420"/>
<Texture Name="ovl_Boss_Ganon2_Tex_00B820" OutName="tex_0000B820" Format="i4" Width="32" Height="32" Offset="0x00B820"/>
<Array Name="ovl_Boss_Ganon2_Vtx_00BA20" Count="22" Offset="0x00BA20">
<Vtx/>
</Array>
<DList Name="ovl_Boss_Ganon2_DL_00BB80" Offset="0x00BB80"/>
<Texture Name="ovl_Boss_Ganon2_Tex_00BC98" OutName="tex_0000BC98" Format="i8" Width="64" Height="64" Offset="0x00BC98"/>
<Array Name="ovl_Boss_Ganon2_Vtx_00CC98" Count="4" Offset="0x00CC98">
<Vtx/>
</Array>
<DList Name="ovl_Boss_Ganon2_DL_00CCD8" Offset="0x00CCD8"/>
<Texture Name="ovl_Boss_Ganon2_Tex_00CD58" OutName="tex_0000CD58" Format="i4" Width="32" Height="160" Offset="0x00CD58"/>
<Array Name="ovl_Boss_Ganon2_Vtx_00D758" Count="4" Offset="0x00D758">
<Vtx/>
</Array>
<DList Name="ovl_Boss_Ganon2_DL_00D798" Offset="0x00D798"/>
<Texture Name="ovl_Boss_Ganon2_Tex_00D820" OutName="tex_0000D820" Format="i8" Width="32" Height="64" Offset="0x00D820"/>
<Array Name="ovl_Boss_Ganon2_Vtx_00E020" Count="26" Offset="0x00E020">
<Vtx/>
</Array>
<DList Name="ovl_Boss_Ganon2_DL_00E1C0" Offset="0x00E1C0"/>
<Texture Name="ovl_Boss_Ganon2_Tex_00E2E0" OutName="tex_0000E2E0" Format="i8" Width="32" Height="64" Offset="0x00E2E0"/>
<Array Name="ovl_Boss_Ganon2_Vtx_00EAE0" Count="22" Offset="0x00EAE0">
<Vtx/>
</Array>
<DList Name="ovl_Boss_Ganon2_DL_00EC40" Offset="0x00EC40"/>
<Texture Name="ovl_Boss_Ganon2_Tex_00ED48" OutName="tex_0000ED48" Format="i8" Width="32" Height="32" Offset="0x00ED48"/>
<Array Name="ovl_Boss_Ganon2_Vtx_00F148" Count="4" Offset="0x00F148">
<Vtx/>
</Array>
<DList Name="ovl_Boss_Ganon2_DL_00F188" Offset="0x00F188"/>
<Texture Name="ovl_Boss_Ganon2_Tex_00F208" OutName="tex_0000F208" Format="rgba16" Width="16" Height="16" Offset="0x00F208"/>
<Texture Name="ovl_Boss_Ganon2_Tex_00F408" OutName="tex_0000F408" Format="rgba16" Width="32" Height="32" Offset="0x00F408"/>
<Array Name="ovl_Boss_Ganon2_Vtx_00FC08" Count="3" Offset="0x00FC08">
<Vtx/>
</Array>
<Array Name="ovl_Boss_Ganon2_Vtx_00FC38" Count="32" Offset="0x00FC38">
<Vtx/>
</Array>
<Array Name="ovl_Boss_Ganon2_Vtx_00FE38" Count="15" Offset="0x00FE38">
<Vtx/>
</Array>
<Array Name="ovl_Boss_Ganon2_Vtx_00FF28" Count="11" Offset="0x00FF28">
<Vtx/>
</Array>
<Array Name="ovl_Boss_Ganon2_Vtx_00FFD8" Count="6" Offset="0x00FFD8">
<Vtx/>
</Array>
<Array Name="ovl_Boss_Ganon2_Vtx_010038" Count="12" Offset="0x010038">
<Vtx/>
</Array>
<Array Name="ovl_Boss_Ganon2_Vtx_0100F8" Count="10" Offset="0x0100F8">
<Vtx/>
</Array>
<Array Name="ovl_Boss_Ganon2_Vtx_010198" Count="16" Offset="0x010198">
<Vtx/>
</Array>
<Array Name="ovl_Boss_Ganon2_Vtx_010298" Count="17" Offset="0x010298">
<Vtx/>
</Array>
<DList Name="ovl_Boss_Ganon2_DL_0103A8" Offset="0x0103A8"/>
<DList Name="gGanonSwordTrailDL" Offset="0xBB80"/>
<Texture Name="gGanonTriforceTex" OutName="ganon_triforce" Format="i8" Width="64" Height="64" Offset="0xBC98"/>
<DList Name="gGanonTriforceDL" Offset="0xCCD8"/>
<Texture Name="gGanonLightningTex" OutName="ganon_lightning" Format="i4" Width="32" Height="160" Offset="0xCD58"/>
<DList Name="gGanonLightningDL" Offset="0xD798"/> <!-- Original name might be "efc_fg2_thunder1_modelT" -->
<Texture Name="gGanonFireRingTex" OutName="ganon_fire_ring" Format="i8" Width="32" Height="64" Offset="0xD820"/>
<DList Name="gGanonFireRingDL" Offset="0xE1C0"/> <!-- Original name is "ganon_fire_modelT" -->
<Texture Name="gGanonZeldaMagicTex" OutName="ganon_zelda_magic" Format="i8" Width="32" Height="64" Offset="0xE2E0"/>
<DList Name="gGanonZeldaMagicDL" Offset="0xEC40"/> <!-- Original name is "efc_ganon2_hadou_modelT" ("wave motion; undulation; surge") -->
<Texture Name="gGanonMasterSwordShadowTex" OutName="ganon_master_sword_shadow" Format="i8" Width="32" Height="32" Offset="0xED48"/>
<DList Name="gGanonMasterSwordShadowDL" Offset="0xF188"/> <!-- Original name is "master_sword_shadow_model" -->
<Texture Name="gGanonMasterSwordPommelTex" OutName="ganon_master_sword_pommel" Format="rgba16" Width="16" Height="16" Offset="0xF208"/>
<Texture Name="gGanonMasterSwordGuardTex" OutName="ganon_master_sword_guard" Format="rgba16" Width="32" Height="32" Offset="0xF408"/>
<DList Name="gGanonMasterSwordDL" Offset="0x103A8"/> <!-- Original name is "master_gn2_swordB_model" -->
</File>
</Root>

View file

@ -2374,7 +2374,7 @@ void func_809034E4(Vec3f* arg0, Vec3f* arg1) {
}
}
vtx = SEGMENTED_TO_VIRTUAL(ovl_Boss_Ganon2_Vtx_00BA20);
vtx = SEGMENTED_TO_VIRTUAL(gGanonSwordTrailVtx);
for (i = 0; i < 11; i++) {
if ((temp_s4 - i) > 0) {
vtx[D_80907084[i]].n.ob[0] = sp18C[temp_s4 - i - 1].x;
@ -2406,7 +2406,7 @@ void func_80903F38(BossGanon2* this, PlayState* play) {
Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_NEW);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5117),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, ovl_Boss_Ganon2_DL_00BB80);
gSPDisplayList(POLY_XLU_DISP++, gGanonSwordTrailDL);
}
CLOSE_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5122);
@ -2429,7 +2429,7 @@ void func_80904108(BossGanon2* this, PlayState* play) {
Matrix_Scale(0.098000005f, 0.1f, 0.098000005f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5183),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(ovl_Boss_Ganon2_DL_00E1C0));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonFireRingDL));
Matrix_Pop();
CLOSE_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5186);
@ -2479,7 +2479,7 @@ void func_80904340(BossGanon2* this, PlayState* play) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5250),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(ovl_Boss_Ganon2_DL_00D798));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonLightningDL));
}
}
@ -2503,7 +2503,7 @@ void func_8090464C(BossGanon2* this, PlayState* play) {
Matrix_Scale(0.6f, 0.6f, 1.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5290),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(ovl_Boss_Ganon2_DL_00CCD8));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonTriforceDL));
Matrix_Pop();
CLOSE_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5293);
@ -2624,7 +2624,7 @@ void func_80904D88(BossGanon2* this, PlayState* play) {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 255);
gDPSetEnvColor(POLY_XLU_DISP++, 100, 255, 255, 0);
}
gSPDisplayList(POLY_XLU_DISP++, ovl_Boss_Ganon2_DL_00B308);
gSPDisplayList(POLY_XLU_DISP++, gGanonLightOrbMaterialDL);
for (i = 0; i < 15; i++) {
Matrix_Translate(this->unk_234[i].x, this->unk_234[i].y, this->unk_234[i].z, MTXMODE_NEW);
@ -2633,7 +2633,7 @@ void func_80904D88(BossGanon2* this, PlayState* play) {
Matrix_RotateZ(Rand_CenteredFloat(M_PI), MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5618),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, ovl_Boss_Ganon2_DL_00B378);
gSPDisplayList(POLY_XLU_DISP++, gGanonLightOrbModelDL);
}
}
@ -2649,7 +2649,7 @@ void func_80904FC8(BossGanon2* this, PlayState* play) {
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 200);
gDPSetEnvColor(POLY_XLU_DISP++, 255, 200, 0, 0);
gSPDisplayList(POLY_XLU_DISP++, ovl_Boss_Ganon2_DL_00B308);
gSPDisplayList(POLY_XLU_DISP++, gGanonLightOrbMaterialDL);
Matrix_Translate(sZelda->actor.world.pos.x, sZelda->actor.world.pos.y + 80.0f, sZelda->actor.world.pos.z,
MTXMODE_NEW);
Matrix_ReplaceRotation(&play->billboardMtxF);
@ -2657,11 +2657,11 @@ void func_80904FC8(BossGanon2* this, PlayState* play) {
Matrix_RotateZ(this->unk_388, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5661),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(ovl_Boss_Ganon2_DL_00B378));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonLightOrbModelDL));
Matrix_RotateZ(this->unk_388 * -2.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5664),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(ovl_Boss_Ganon2_DL_00B378));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonLightOrbModelDL));
}
CLOSE_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5667);
@ -2680,7 +2680,7 @@ void func_8090523C(BossGanon2* this, PlayState* play) {
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, (s16)this->unk_38C);
gDPSetEnvColor(POLY_XLU_DISP++, 0, 255, 255, 0);
gSPDisplayList(POLY_XLU_DISP++, ovl_Boss_Ganon2_DL_00B308);
gSPDisplayList(POLY_XLU_DISP++, gGanonLightOrbMaterialDL);
for (i = 0; i < 11; i++) {
Matrix_Mult(&player->mf_9E0, MTXMODE_NEW);
@ -2697,7 +2697,7 @@ void func_8090523C(BossGanon2* this, PlayState* play) {
Matrix_RotateZ(Rand_ZeroFloat(2.0f * M_PI), MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5721),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(ovl_Boss_Ganon2_DL_00B378));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonLightOrbModelDL));
}
}
@ -2744,7 +2744,7 @@ void func_80905674(BossGanon2* this, PlayState* play) {
Matrix_RotateX(M_PI / 2.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5814),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(ovl_Boss_Ganon2_DL_00EC40));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonZeldaMagicDL));
Matrix_Pop();
CLOSE_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5817);
@ -2922,7 +2922,8 @@ void BossGanon2_DrawEffects(PlayState* play) {
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_OPA_DISP++, 0x08,
Gfx_TexScroll(play->state.gfxCtx, 0, 0 - (play->gameplayFrames & 0x7F), 32, 32));
gSPDisplayList(POLY_OPA_DISP++, ovl_Boss_Ganon2_DL_0103A8);
gSPDisplayList(POLY_OPA_DISP++, gGanonMasterSwordDL);
if ((play->envCtx.lightSetting == 1) || (play->envCtx.lightSetting == 2)) {
alpha = (s16)(play->envCtx.lightBlend * 150.0f) + 50;
angle = M_PI / 5.0f;
@ -2937,7 +2938,7 @@ void BossGanon2_DrawEffects(PlayState* play) {
Matrix_Scale(1.0f, 0.0f, 1.0f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 6155),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, ovl_Boss_Ganon2_DL_00F188);
gSPDisplayList(POLY_XLU_DISP++, gGanonMasterSwordShadowDL);
}
}
@ -3076,10 +3077,10 @@ void BossGanon2_DrawShadowTexture(void* shadowTexture, BossGanon2* this, PlaySta
Matrix_Scale(1.65f, 1.0f, 1.65f, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 6457),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, ovl_Boss_Ganon2_DL_00B3D0);
gSPDisplayList(POLY_OPA_DISP++, gGanonShadowMaterialDL);
gDPLoadTextureBlock(POLY_OPA_DISP++, shadowTexture, G_IM_FMT_I, G_IM_SIZ_8b, 64, 64, 0, G_TX_NOMIRROR | G_TX_CLAMP,
G_TX_NOMIRROR | G_TX_CLAMP, 6, 6, G_TX_NOLOD, G_TX_NOLOD);
gSPDisplayList(POLY_OPA_DISP++, ovl_Boss_Ganon2_DL_00B3F0);
gSPDisplayList(POLY_OPA_DISP++, gGanonShadowModelDL);
CLOSE_DISPS(gfxCtx, "../z_boss_ganon2.c", 6479);
}