mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-27 23:36:22 +00:00
[ntsc-1.0/1.1] Match z_boss_ganon.c and z_boss_ganon2.c changes from PAL 1.0 (#2228)
This commit is contained in:
parent
19621c6a3f
commit
f7a0117e7d
4 changed files with 394 additions and 391 deletions
|
@ -1,28 +1,28 @@
|
|||
<Root>
|
||||
<File Name="ovl_Boss_Ganon2">
|
||||
<Texture Name="gGanonLightOrbTex" OutName="ganon_light_orb" Format="i8" Width="64" Height="64" Offset="0x0"/>
|
||||
<DList Name="gGanonLightOrbMaterialDL" Offset="0x1040"/>
|
||||
<DList Name="gGanonLightOrbModelDL" Offset="0x10B0"/>
|
||||
<DList Name="gGanonShadowMaterialDL" Offset="0x1108"/>
|
||||
<DList Name="gGanonShadowModelDL" Offset="0x1128"/>
|
||||
<Texture Name="gGanonSwordTrailTex" OutName="ganon_sword_trail" Format="i8" Width="32" Height="32" Offset="0x1158"/>
|
||||
<Texture Name="gGanonSwordTrailMaskTex" OutName="ganon_sword_trail_mask" Format="i4" Width="32" Height="32" Offset="0x1558"/>
|
||||
<Array Name="gGanonSwordTrailVtx" Count="22" Offset="0x1758">
|
||||
<Texture Name="gGanonLightOrbTex" OutName="ganon_light_orb" Format="i8" Width="64" Height="64" Offset="0x0" Static="Off"/>
|
||||
<DList Name="gGanonLightOrbMaterialDL" Offset="0x1040" Static="Off"/>
|
||||
<DList Name="gGanonLightOrbModelDL" Offset="0x10B0" Static="Off"/>
|
||||
<DList Name="gGanonShadowMaterialDL" Offset="0x1108" Static="Off"/>
|
||||
<DList Name="gGanonShadowModelDL" Offset="0x1128" Static="Off"/>
|
||||
<Texture Name="gGanonSwordTrailTex" OutName="ganon_sword_trail" Format="i8" Width="32" Height="32" Offset="0x1158" Static="Off"/>
|
||||
<Texture Name="gGanonSwordTrailMaskTex" OutName="ganon_sword_trail_mask" Format="i4" Width="32" Height="32" Offset="0x1558" Static="Off"/>
|
||||
<Array Name="gGanonSwordTrailVtx" Count="22" Offset="0x1758" Static="Off">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
<DList Name="gGanonSwordTrailDL" Offset="0x18B8"/>
|
||||
<Texture Name="gGanonTriforceTex" OutName="ganon_triforce" Format="i8" Width="64" Height="64" Offset="0x19D0"/>
|
||||
<DList Name="gGanonTriforceDL" Offset="0x2A10"/>
|
||||
<Texture Name="gGanonLightningTex" OutName="ganon_lightning" Format="i4" Width="32" Height="160" Offset="0x2A90"/>
|
||||
<DList Name="gGanonLightningDL" Offset="0x34D0"/> <!-- Original name might be "efc_fg2_thunder1_modelT" -->
|
||||
<Texture Name="gGanonFireRingTex" OutName="ganon_fire_ring" Format="i8" Width="32" Height="64" Offset="0x3558"/>
|
||||
<DList Name="gGanonFireRingDL" Offset="0x3EF8"/> <!-- Original name is "ganon_fire_modelT" -->
|
||||
<Texture Name="gGanonZeldaMagicTex" OutName="ganon_zelda_magic" Format="i8" Width="32" Height="64" Offset="0x4018"/>
|
||||
<DList Name="gGanonZeldaMagicDL" Offset="0x4978"/> <!-- 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="0x4A80"/>
|
||||
<DList Name="gGanonMasterSwordShadowDL" Offset="0x4EC0"/> <!-- Original name is "master_sword_shadow_model" -->
|
||||
<Texture Name="gGanonMasterSwordPommelTex" OutName="ganon_master_sword_pommel" Format="rgba16" Width="16" Height="16" Offset="0x4F40"/>
|
||||
<Texture Name="gGanonMasterSwordGuardTex" OutName="ganon_master_sword_guard" Format="rgba16" Width="32" Height="32" Offset="0x5140"/>
|
||||
<DList Name="gGanonMasterSwordDL" Offset="0x60E0"/> <!-- Original name is "master_gn2_swordB_model" -->
|
||||
<DList Name="gGanonSwordTrailDL" Offset="0x18B8" Static="Off"/>
|
||||
<Texture Name="gGanonTriforceTex" OutName="ganon_triforce" Format="i8" Width="64" Height="64" Offset="0x19D0" Static="Off"/>
|
||||
<DList Name="gGanonTriforceDL" Offset="0x2A10" Static="Off"/>
|
||||
<Texture Name="gGanonLightningTex" OutName="ganon_lightning" Format="i4" Width="32" Height="160" Offset="0x2A90" Static="Off"/>
|
||||
<DList Name="gGanonLightningDL" Offset="0x34D0" Static="Off"/> <!-- Original name might be "efc_fg2_thunder1_modelT" -->
|
||||
<Texture Name="gGanonFireRingTex" OutName="ganon_fire_ring" Format="i8" Width="32" Height="64" Offset="0x3558" Static="Off"/>
|
||||
<DList Name="gGanonFireRingDL" Offset="0x3EF8" Static="Off"/> <!-- Original name is "ganon_fire_modelT" -->
|
||||
<Texture Name="gGanonZeldaMagicTex" OutName="ganon_zelda_magic" Format="i8" Width="32" Height="64" Offset="0x4018" Static="Off"/>
|
||||
<DList Name="gGanonZeldaMagicDL" Offset="0x4978" Static="Off"/> <!-- 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="0x4A80" Static="Off"/>
|
||||
<DList Name="gGanonMasterSwordShadowDL" Offset="0x4EC0" Static="Off"/> <!-- Original name is "master_sword_shadow_model" -->
|
||||
<Texture Name="gGanonMasterSwordPommelTex" OutName="ganon_master_sword_pommel" Format="rgba16" Width="16" Height="16" Offset="0x4F40" Static="Off"/>
|
||||
<Texture Name="gGanonMasterSwordGuardTex" OutName="ganon_master_sword_guard" Format="rgba16" Width="32" Height="32" Offset="0x5140" Static="Off"/>
|
||||
<DList Name="gGanonMasterSwordDL" Offset="0x60E0" Static="Off"/> <!-- Original name is "master_gn2_swordB_model" -->
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "z_boss_ganon.h"
|
||||
#include "versions.h"
|
||||
#include "assets/overlays/ovl_Boss_Ganon/ovl_Boss_Ganon.h"
|
||||
#include "overlays/actors/ovl_En_Ganon_Mant/z_en_ganon_mant.h"
|
||||
#include "overlays/actors/ovl_En_Zl3/z_en_zl3.h"
|
||||
|
@ -1225,15 +1226,10 @@ void BossGanon_ShatterWindows(u8 windowShatterState) {
|
|||
}
|
||||
|
||||
void BossGanon_DeathAndTowerCutscene(BossGanon* this, PlayState* play) {
|
||||
static Color_RGBA8 bloodPrimColor = { 0, 120, 0, 255 };
|
||||
static Color_RGBA8 bloodEnvColor = { 0, 120, 0, 255 };
|
||||
s16 i;
|
||||
u8 moveCam = false;
|
||||
Player* player = GET_PLAYER(play);
|
||||
s16 pad;
|
||||
Vec3f sp98;
|
||||
Vec3f sp8C;
|
||||
Vec3f sp80;
|
||||
|
||||
gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->animObjectSlot].segment);
|
||||
|
||||
|
@ -1336,6 +1332,17 @@ void BossGanon_DeathAndTowerCutscene(BossGanon* this, PlayState* play) {
|
|||
Actor_PlaySfx(&this->actor, NA_SE_EN_GANON_TOKETU);
|
||||
} else {
|
||||
if (Animation_OnFrame(&this->skelAnime, this->fwork[GDF_FWORK_1] - 16.0f)) {
|
||||
Vec3f sp98;
|
||||
Vec3f sp8C;
|
||||
#if OOT_VERSION < PAL_1_0
|
||||
Color_RGBA8 bloodPrimColor = { 120, 0, 0, 255 };
|
||||
Color_RGBA8 bloodEnvColor = { 120, 0, 0, 255 };
|
||||
#else
|
||||
static Color_RGBA8 bloodPrimColor = { 0, 120, 0, 255 };
|
||||
static Color_RGBA8 bloodEnvColor = { 0, 120, 0, 255 };
|
||||
#endif
|
||||
Vec3f sp80;
|
||||
|
||||
for (i = 0; i < 40; i++) {
|
||||
sp98.x = Rand_CenteredFloat(5.0f);
|
||||
sp98.y = Rand_CenteredFloat(1.5f) + 1.0f;
|
||||
|
|
|
@ -7,9 +7,25 @@
|
|||
#include "assets/objects/object_ganon2/object_ganon2.h"
|
||||
#include "assets/objects/object_ganon_anime3/object_ganon_anime3.h"
|
||||
#include "assets/objects/object_geff/object_geff.h"
|
||||
#include "assets/overlays/ovl_Boss_Ganon2/ovl_Boss_Ganon2.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5)
|
||||
|
||||
#define BOSS_GANON2_EFFECT_COUNT 100
|
||||
|
||||
typedef struct BossGanon2Effect {
|
||||
/* 0x00 */ u8 type;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x04 */ Vec3f position;
|
||||
/* 0x10 */ Vec3f velocity;
|
||||
/* 0x1C */ Vec3f accel;
|
||||
/* 0x28 */ char unk_28[0x6];
|
||||
/* 0x2E */ s16 unk_2E;
|
||||
/* 0x30 */ char unk_30[0x4];
|
||||
/* 0x34 */ f32 scale;
|
||||
/* 0x38 */ Vec3f unk_38;
|
||||
} BossGanon2Effect; // size = 0x44
|
||||
|
||||
void BossGanon2_Init(Actor* thisx, PlayState* play);
|
||||
void BossGanon2_Destroy(Actor* thisx, PlayState* play);
|
||||
void BossGanon2_Update(Actor* thisx, PlayState* play);
|
||||
|
@ -45,7 +61,265 @@ ActorProfile Boss_Ganon2_Profile = {
|
|||
/**/ BossGanon2_Draw,
|
||||
};
|
||||
|
||||
#include "z_boss_ganon2_data.inc.c"
|
||||
static Vec3f D_80906D60 = { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
static Vec3f D_80906D6C = { 0.0f, 0.0f, 500.0f };
|
||||
|
||||
static u8 D_80906D78 = 0;
|
||||
|
||||
static ColliderJntSphElementInit sJntSphItemsInit1[] = {
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 0, { { 0, 0, 0 }, 30 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 1, { { 0, 0, 0 }, 30 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 2, { { 0, 0, 0 }, 30 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 3, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 4, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 5, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 6, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 7, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 8, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 9, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 10, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 11, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 12, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 13, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 14, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 15, { { 0, 0, 0 }, 30 }, 100 },
|
||||
},
|
||||
};
|
||||
|
||||
static ColliderJntSphInit sJntSphInit1 = {
|
||||
{
|
||||
COL_MATERIAL_METAL,
|
||||
AT_ON | AT_TYPE_ENEMY,
|
||||
AC_ON | AC_TYPE_PLAYER,
|
||||
OC1_ON | OC1_TYPE_PLAYER,
|
||||
OC2_FIRST_ONLY | OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
ARRAY_COUNT(sJntSphItemsInit1),
|
||||
sJntSphItemsInit1,
|
||||
};
|
||||
|
||||
static ColliderJntSphElementInit sJntSphItemsInit2[] = {
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK2,
|
||||
{ 0xFFCFFFFF, 0x00, 0x40 },
|
||||
{ 0xFFDFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 15, { { 0, 0, 0 }, 45 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK2,
|
||||
{ 0xFFCFFFFF, 0x00, 0x40 },
|
||||
{ 0xFFDFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 16, { { 0, 0, 0 }, 45 }, 100 },
|
||||
},
|
||||
};
|
||||
|
||||
static ColliderJntSphInit sJntSphInit2 = {
|
||||
{
|
||||
COL_MATERIAL_METAL,
|
||||
AT_ON | AT_TYPE_ENEMY,
|
||||
AC_ON | AC_TYPE_PLAYER,
|
||||
OC1_ON | OC1_TYPE_PLAYER,
|
||||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
ARRAY_COUNT(sJntSphItemsInit2),
|
||||
sJntSphItemsInit2,
|
||||
};
|
||||
|
||||
static Vec3f D_8090EB20;
|
||||
|
||||
static EnZl3* sZelda;
|
||||
|
||||
static Actor* D_8090EB30;
|
||||
|
||||
// unused
|
||||
static UNK_TYPE D_8090EB34;
|
||||
|
||||
static BossGanon2Effect sEffects[BOSS_GANON2_EFFECT_COUNT];
|
||||
|
||||
static s32 sSeed1;
|
||||
static s32 sSeed2;
|
||||
static s32 sSeed3;
|
||||
|
||||
// unused
|
||||
static UNK_TYPE D_809105DC;
|
||||
|
||||
static Vec3f D_809105D8[4];
|
||||
|
||||
static Vec3f D_80910608[4];
|
||||
|
||||
static s8 D_80910638;
|
||||
|
||||
void BossGanon2_InitRand(s32 seedInit0, s32 seedInit1, s32 seedInit2) {
|
||||
sSeed1 = seedInit0;
|
||||
|
@ -1448,12 +1722,18 @@ void func_80901020(BossGanon2* this, PlayState* play) {
|
|||
|
||||
void func_8090109C(BossGanon2* this, PlayState* play) {
|
||||
u8 i;
|
||||
Vec3f velocity;
|
||||
Vec3f accel;
|
||||
#if OOT_VERSION < PAL_1_0
|
||||
Color_RGBA8 sPrimColor = { 120, 0, 0, 255 };
|
||||
Color_RGBA8 sEnvColor = { 120, 0, 0, 255 };
|
||||
#else
|
||||
static Color_RGBA8 sPrimColor = { 0, 120, 0, 255 };
|
||||
static Color_RGBA8 sEnvColor = { 0, 120, 0, 255 };
|
||||
#endif
|
||||
Vec3f pos;
|
||||
|
||||
for (i = 0; i < 70; i++) {
|
||||
Vec3f velocity;
|
||||
Vec3f accel;
|
||||
Vec3f pos;
|
||||
|
||||
velocity.x = Rand_CenteredFloat(50.0f);
|
||||
velocity.y = Rand_CenteredFloat(10.0f) + 5.0f;
|
||||
velocity.z = Rand_CenteredFloat(50.0f);
|
||||
|
@ -1467,6 +1747,18 @@ void func_8090109C(BossGanon2* this, PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
static Vec3f D_8090702C[] = {
|
||||
{ 10.0f, -10.0f, 0.0f },
|
||||
{ 0.0f, 0.0f, -60.0f },
|
||||
{ 70.0f, -30.0f, 10.0f },
|
||||
};
|
||||
|
||||
static Vec3f D_80907050[] = {
|
||||
{ -20.0f, 0.0f, 0.0f },
|
||||
{ -15.0f, 0.0f, 10.0f },
|
||||
{ -16.0f, -12.0f, 40.0f },
|
||||
};
|
||||
|
||||
void func_8090120C(BossGanon2* this, PlayState* play) {
|
||||
Player* player;
|
||||
f32 temp_f14;
|
||||
|
@ -1875,7 +2167,12 @@ void func_80902348(BossGanon2* this, PlayState* play) {
|
|||
temp_f2 = -200.0f - player->actor.world.pos.x;
|
||||
temp_f12 = -200.0f - player->actor.world.pos.z;
|
||||
|
||||
if (sqrtf(SQ(temp_f2) + SQ(temp_f12)) > 784.0f) {
|
||||
#if OOT_VERSION < PAL_1_0
|
||||
if (sqrtf(SQ(temp_f2) + SQ(temp_f12)) > 800.0f)
|
||||
#else
|
||||
if (sqrtf(SQ(temp_f2) + SQ(temp_f12)) > 784.0f)
|
||||
#endif
|
||||
{
|
||||
for (j = 0; j < PLAYER_BODYPART_MAX; j++) {
|
||||
player->bodyFlameTimers[j] = Rand_S16Offset(0, 200);
|
||||
}
|
||||
|
@ -1967,6 +2264,8 @@ void BossGanon2_CollisionCheck(BossGanon2* this, PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
static s16 D_80907074[] = { 0, 1, 2, 2, 1, 0 };
|
||||
|
||||
void BossGanon2_Update(Actor* thisx, PlayState* play) {
|
||||
BossGanon2* this = (BossGanon2*)thisx;
|
||||
s32 pad;
|
||||
|
@ -2205,6 +2504,11 @@ void BossGanon2_Update(Actor* thisx, PlayState* play) {
|
|||
BossGanon2_UpdateEffects(this, play);
|
||||
}
|
||||
|
||||
static s16 D_80907080 = 0;
|
||||
|
||||
static u8 D_80907084[] = { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 };
|
||||
static u8 D_80907090[] = { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 };
|
||||
|
||||
void func_809034E4(Vec3f* arg0, Vec3f* arg1) {
|
||||
Vtx* vtx;
|
||||
Vec3f sp2D0;
|
||||
|
@ -2436,7 +2740,11 @@ void func_80904108(BossGanon2* this, PlayState* play) {
|
|||
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 200, 0, (s8)this->unk_324);
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, 255, 0, 0, 128);
|
||||
Matrix_Translate(-200.0f, 1086.0f, -200.0f, MTXMODE_NEW);
|
||||
#if OOT_VERSION < PAL_1_0
|
||||
Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY);
|
||||
#else
|
||||
Matrix_Scale(0.098000005f, 0.1f, 0.098000005f, MTXMODE_APPLY);
|
||||
#endif
|
||||
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, gameState->gfxCtx, "../z_boss_ganon2.c", 5183);
|
||||
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonFireRingDL));
|
||||
Matrix_Pop();
|
||||
|
@ -2546,6 +2854,25 @@ s32 BossGanon2_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec
|
|||
return 0;
|
||||
}
|
||||
|
||||
static s8 D_8090709C[] = {
|
||||
0xFF, 0xFF, 0x01, 0xFF, 0x03, 0x04, 0xFF, 0xFF, 0x05, 0xFF, 0x06, 0x07, 0xFF, 0xFF, 0x08, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0xFF, 0xFF, 0x02, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0x00,
|
||||
};
|
||||
|
||||
static s8 D_809070CC[] = {
|
||||
0xFF, 0xFF, 0x01, 0xFF, 0x03, 0x04, 0xFF, 0xFF, 0x05, 0xFF, 0x06, 0x07, 0xFF, 0xFF, 0x08, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0xFF, 0xFF, 0x02, 0x0C, 0x0D, 0x0E, 0x09, 0x0A, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
|
||||
};
|
||||
|
||||
static Vec3f D_809070FC = { 0.0f, 0.0f, 5000.0f };
|
||||
static Vec3f D_80907108 = { 0.0f, 2000.0f, 0.0f };
|
||||
static Vec3f D_80907114 = { 0.0f, 2000.0f, 0.0f };
|
||||
static Vec3f D_80907120 = { 0.0f, 0.0f, 17000.0f };
|
||||
static Vec3f D_8090712C = { 0.0f, 0.0f, 3000.0f };
|
||||
static Vec3f D_80907138 = { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
void BossGanon2_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
|
||||
s8 pad;
|
||||
s8 temp_v0;
|
||||
|
@ -2704,6 +3031,13 @@ void func_8090523C(BossGanon2* this, PlayState* play) {
|
|||
CLOSE_DISPS(gameState->gfxCtx, "../z_boss_ganon2.c", 5725);
|
||||
}
|
||||
|
||||
static s8 D_80907144[] = {
|
||||
0xFF, 0xFF, 0x01, 0xFF, 0x03, 0x04, 0x05, 0xFF, 0x06, 0x07, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x02, 0x0C, 0x0D, 0x0E, 0x09, 0x0A, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
|
||||
};
|
||||
|
||||
static Vec3f D_80907164 = { 800.0f, 420.0f, 100.0f };
|
||||
|
||||
void BossGanon2_PostLimbDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
|
||||
s8 temp_v1 = D_80907144[limbIndex];
|
||||
BossGanon2* this = (BossGanon2*)thisx;
|
||||
|
@ -2749,6 +3083,14 @@ void func_80905674(BossGanon2* this, PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
static void* sEyeTextures[] = {
|
||||
gGanonEyeOpenTex,
|
||||
gGanonEyeHalfTex,
|
||||
gGanonEyeClosedTex,
|
||||
};
|
||||
|
||||
static Vec3f D_8090717C = { 0.0f, -2000.0f, 0.0f };
|
||||
|
||||
void BossGanon2_Draw(Actor* thisx, PlayState* play) {
|
||||
void* shadowTexture = GRAPH_ALLOC(play->state.gfxCtx, 4096);
|
||||
BossGanon2* this = (BossGanon2*)thisx;
|
||||
|
@ -2962,6 +3304,13 @@ void BossGanon2_DrawEffects(PlayState* play) {
|
|||
CLOSE_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 6185);
|
||||
}
|
||||
|
||||
static s16 D_80907188[] = { 1, 2, 3, 3, 2, 1 };
|
||||
static s16 D_80907194[] = { 2, 3, 4, 4, 4, 3, 2 };
|
||||
static s16 D_809071A4[] = { 2, 3, 4, 4, 4, 4, 3, 2 };
|
||||
static s16 D_809071B4[] = { 2, 4, 5, 5, 6, 6, 6, 6, 5, 5, 4, 2 };
|
||||
static s16 D_809071CC[] = { 1, -1, 1, 1, 3, 4, 1, 6, 7, 2, 9, 10, 2, 12, 13 };
|
||||
static u8 D_809071EC[] = { 3, 2, 2, 1, 3, 3, 1, 3, 3, 1, 0, 3, 1, 0, 3 };
|
||||
|
||||
void func_80906538(BossGanon2* this, u8* shadowTexture, f32 arg2) {
|
||||
s16 temp_t0;
|
||||
s16 temp_v0;
|
||||
|
@ -3081,3 +3430,8 @@ void BossGanon2_DrawShadowTexture(void* shadowTexture, BossGanon2* this, PlaySta
|
|||
|
||||
CLOSE_DISPS(gfxCtx, "../z_boss_ganon2.c", 6479);
|
||||
}
|
||||
|
||||
// padding
|
||||
static u32 D_809071FC[2] = { 0 };
|
||||
|
||||
#include "assets/overlays/ovl_Boss_Ganon2/ovl_Boss_Ganon2.c"
|
||||
|
|
|
@ -1,358 +0,0 @@
|
|||
#include "z_boss_ganon2.h"
|
||||
#include "overlays/actors/ovl_En_Zl3/z_en_zl3.h"
|
||||
#include "assets/objects/object_ganon2/object_ganon2.h"
|
||||
|
||||
#define BOSS_GANON2_EFFECT_COUNT 100
|
||||
|
||||
typedef struct BossGanon2Effect {
|
||||
/* 0x00 */ u8 type;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x04 */ Vec3f position;
|
||||
/* 0x10 */ Vec3f velocity;
|
||||
/* 0x1C */ Vec3f accel;
|
||||
/* 0x28 */ char unk_28[0x6];
|
||||
/* 0x2E */ s16 unk_2E;
|
||||
/* 0x30 */ char unk_30[0x4];
|
||||
/* 0x34 */ f32 scale;
|
||||
/* 0x38 */ Vec3f unk_38;
|
||||
} BossGanon2Effect; // size = 0x44
|
||||
|
||||
static Vec3f D_80906D60 = { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
static Vec3f D_80906D6C = { 0.0f, 0.0f, 500.0f };
|
||||
|
||||
static u8 D_80906D78 = 0;
|
||||
|
||||
static ColliderJntSphElementInit sJntSphItemsInit1[] = {
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 0, { { 0, 0, 0 }, 30 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 1, { { 0, 0, 0 }, 30 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 2, { { 0, 0, 0 }, 30 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 3, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 4, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 5, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 6, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 7, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 8, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 9, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 10, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 11, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 12, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 13, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 14, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 15, { { 0, 0, 0 }, 30 }, 100 },
|
||||
},
|
||||
};
|
||||
|
||||
static ColliderJntSphInit sJntSphInit1 = {
|
||||
{
|
||||
COL_MATERIAL_METAL,
|
||||
AT_ON | AT_TYPE_ENEMY,
|
||||
AC_ON | AC_TYPE_PLAYER,
|
||||
OC1_ON | OC1_TYPE_PLAYER,
|
||||
OC2_FIRST_ONLY | OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
ARRAY_COUNT(sJntSphItemsInit1),
|
||||
sJntSphItemsInit1,
|
||||
};
|
||||
|
||||
static ColliderJntSphElementInit sJntSphItemsInit2[] = {
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK2,
|
||||
{ 0xFFCFFFFF, 0x00, 0x40 },
|
||||
{ 0xFFDFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 15, { { 0, 0, 0 }, 45 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEM_MATERIAL_UNK2,
|
||||
{ 0xFFCFFFFF, 0x00, 0x40 },
|
||||
{ 0xFFDFFFFF, 0x00, 0x00 },
|
||||
ATELEM_ON | ATELEM_SFX_NORMAL,
|
||||
ACELEM_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 16, { { 0, 0, 0 }, 45 }, 100 },
|
||||
},
|
||||
};
|
||||
|
||||
static ColliderJntSphInit sJntSphInit2 = {
|
||||
{
|
||||
COL_MATERIAL_METAL,
|
||||
AT_ON | AT_TYPE_ENEMY,
|
||||
AC_ON | AC_TYPE_PLAYER,
|
||||
OC1_ON | OC1_TYPE_PLAYER,
|
||||
OC2_TYPE_1,
|
||||
COLSHAPE_JNTSPH,
|
||||
},
|
||||
ARRAY_COUNT(sJntSphItemsInit2),
|
||||
sJntSphItemsInit2,
|
||||
};
|
||||
|
||||
static Color_RGBA8 sPrimColor = { 0, 120, 0, 255 };
|
||||
|
||||
static Color_RGBA8 sEnvColor = { 0, 120, 0, 255 };
|
||||
|
||||
static Vec3f D_8090702C[] = {
|
||||
{ 10.0f, -10.0f, 0.0f },
|
||||
{ 0.0f, 0.0f, -60.0f },
|
||||
{ 70.0f, -30.0f, 10.0f },
|
||||
};
|
||||
|
||||
static Vec3f D_80907050[] = {
|
||||
{ -20.0f, 0.0f, 0.0f },
|
||||
{ -15.0f, 0.0f, 10.0f },
|
||||
{ -16.0f, -12.0f, 40.0f },
|
||||
};
|
||||
|
||||
static s16 D_80907074[] = { 0, 1, 2, 2, 1, 0 };
|
||||
|
||||
static s16 D_80907080 = 0;
|
||||
|
||||
static u8 D_80907084[] = { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 };
|
||||
|
||||
static u8 D_80907090[] = { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 };
|
||||
|
||||
static s8 D_8090709C[] = {
|
||||
0xFF, 0xFF, 0x01, 0xFF, 0x03, 0x04, 0xFF, 0xFF, 0x05, 0xFF, 0x06, 0x07, 0xFF, 0xFF, 0x08, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0xFF, 0xFF, 0x02, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0x00,
|
||||
};
|
||||
|
||||
static s8 D_809070CC[] = {
|
||||
0xFF, 0xFF, 0x01, 0xFF, 0x03, 0x04, 0xFF, 0xFF, 0x05, 0xFF, 0x06, 0x07, 0xFF, 0xFF, 0x08, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0xFF, 0xFF, 0x02, 0x0C, 0x0D, 0x0E, 0x09, 0x0A, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
|
||||
};
|
||||
|
||||
static Vec3f D_809070FC = { 0.0f, 0.0f, 5000.0f };
|
||||
|
||||
static Vec3f D_80907108 = { 0.0f, 2000.0f, 0.0f };
|
||||
|
||||
static Vec3f D_80907114 = { 0.0f, 2000.0f, 0.0f };
|
||||
|
||||
static Vec3f D_80907120 = { 0.0f, 0.0f, 17000.0f };
|
||||
|
||||
static Vec3f D_8090712C = { 0.0f, 0.0f, 3000.0f };
|
||||
|
||||
static Vec3f D_80907138 = { 0.0f, 0.0f, 0.0f };
|
||||
|
||||
static s8 D_80907144[] = {
|
||||
0xFF, 0xFF, 0x01, 0xFF, 0x03, 0x04, 0x05, 0xFF, 0x06, 0x07, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x02, 0x0C, 0x0D, 0x0E, 0x09, 0x0A, 0x0B, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
|
||||
};
|
||||
|
||||
static Vec3f D_80907164 = { 800.0f, 420.0f, 100.0f };
|
||||
|
||||
static void* sEyeTextures[] = {
|
||||
gGanonEyeOpenTex,
|
||||
gGanonEyeHalfTex,
|
||||
gGanonEyeClosedTex,
|
||||
};
|
||||
|
||||
static Vec3f D_8090717C = { 0.0f, -2000.0f, 0.0f };
|
||||
|
||||
static s16 D_80907188[] = { 1, 2, 3, 3, 2, 1 };
|
||||
|
||||
static s16 D_80907194[] = { 2, 3, 4, 4, 4, 3, 2 };
|
||||
|
||||
static s16 D_809071A4[] = { 2, 3, 4, 4, 4, 4, 3, 2 };
|
||||
|
||||
static s16 D_809071B4[] = { 2, 4, 5, 5, 6, 6, 6, 6, 5, 5, 4, 2 };
|
||||
|
||||
static s16 D_809071CC[] = { 1, -1, 1, 1, 3, 4, 1, 6, 7, 2, 9, 10, 2, 12, 13 };
|
||||
|
||||
static u8 D_809071EC[] = { 3, 2, 2, 1, 3, 3, 1, 3, 3, 1, 0, 3, 1, 0, 3 };
|
||||
|
||||
// padding
|
||||
static u32 D_809071FC[2] = { 0 };
|
||||
|
||||
#include "assets/overlays/ovl_Boss_Ganon2/ovl_Boss_Ganon2.c"
|
||||
|
||||
static Vec3f D_8090EB20;
|
||||
|
||||
static EnZl3* sZelda;
|
||||
|
||||
static Actor* D_8090EB30;
|
||||
|
||||
// unused
|
||||
static UNK_TYPE D_8090EB34;
|
||||
|
||||
static BossGanon2Effect sEffects[BOSS_GANON2_EFFECT_COUNT];
|
||||
|
||||
static s32 sSeed1;
|
||||
static s32 sSeed2;
|
||||
static s32 sSeed3;
|
||||
|
||||
// unused
|
||||
static UNK_TYPE D_809105DC;
|
||||
|
||||
static Vec3f D_809105D8[4];
|
||||
|
||||
static Vec3f D_80910608[4];
|
||||
|
||||
static s8 D_80910638;
|
Loading…
Reference in a new issue