mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-03 06:24:30 +00:00
ovl_Boss_Ganon2 (2 nonmatching) (#874)
* Match a few * Remove cast * BossGanon2_Destroy * Some struct layout * Missed one * Work on BossGanon2_Update * Oops missed another * Work on update more * Get it to compile * Work a bit on update * func_808FD27C * Cleanup a bit * Fix incompatible pointer type * Work more on update * Multiply * Fix janky cast regalloc * Remove some casts * Move switch case to right spot * Tiny regalloc * Fix stack * Try to fix jump table * Migrate bss * Make data match * Fix minor formatting * Another minor formatting * Replace hex with symbols * Do display lists * Vertices * jnt items init * Split gfx into separate file * func_808FCF40 * func_808FCF5C * func_808FD080 * func_808FD4D4 * func_808FF898 * func_808FFA24 * func_808FFAC8 * func_808FFBBC * func_808FFC84 * use unk_313 as a bool * func_808FFCFC * func_808FFDB0 * Add commented static * func_808FFEBC * func_808FFFE0 * func_809000A0 * Remove useless cast in func_809000A0 * Remove useless temp * Fix wrong branch * BossGanon2_Update * Fix implicit function declarations * Type D_8090EB2C to zelda pointer * Reorder include because why not * Deduplicate undefined syms * Add more to struct * Work on func_808FD5F4 * Major work on func_808FD5F4 * Get func_808FD5F4 to compile * Make unk_398 unsigned * Work on func_808FD5F4 * Progress * func_808FD210 * BossGanon2_Draw * Make it compile * Fix compiler warnings * Fix branches func_808FD5F4 * re-nonmatching func_808FD5F4 * stuff * fix math functions * clang format * more progress * Replace bit stuff with type * Merge master * Add possibly janky things and fix while loop * Why does this help * Chained assignment * Remove dubious thing * Reorder thing * Add possibly fake notices * Use true and false * Make func_808FD5F4 equivalent * Massage stack a little * func_80906AB0 * Correct texture params * Whitespace is good * Use decimal line numbers * func_809069F8 * Work on func_809060E8 * Make funny loop less funny * Float stuff * Remove useless cast * Merge upstream * Fix compiler error in nonmatchings * func_809060E8 * Change tex alloc to be full integer * Add unk_234 * Correct size of unk_2F4 * Make textures u64[] * Type textures to u64[] * func_80905DA8 * func_80905674 * Replace some pi * BossGanon2_PostLimbDraw2 * func_8090523C * func_80904FC8 * func_80904D88 * BossGanon2_PostLimbDraw * BossGanon2_OverrideLimbDraw * func_8090464C * func_80903F38 * Match func_80900890 * Move func_80906538 prototype * Work on func_80902348 * Match func_80902348 * Add fake warning to array thing * Work on func_8090120C * Remove useless var from func_8090120C * Work more on func_8090120C * Move case probably into place func_8090120C * Work on func_8090120C until 4914 * Add break to switch * Pass player to startPlayerCutscene * Work more on func_8090120C * Work on func_80902524 * Move function prototype * Match func_80902524 * Clean up sfx ids in func_808FD5F4 * Correct SFX_FLAG in func_8090120C * Match func_8090120C * Match func_80904340 * Change tex to u8[] * Cleanup func_808FD5F4 a bit * Clean up another inequality func_808FD5F4 * Match func_80904108 * Cleanup for PR * Cleanup for PR part 2 * Cleanup data a bit and start on func_80906538 * Basically match func_80906538 * Match func_80906538 * Rename tex to shadowTexture * Work on func_809034E4 a bit * replace 255 with 0xFF for texture * Correct NON_MATCHING guard * Make func_809034E4 equivalent and not ugly! * Reuse i in func_809034E4 * Minor cleanup in func_809034E4 * Remove unused asm * Static all the data * Switch to using assets xml for overlay graphics :) * Remove now unused undefined syms * Rename pad to D_809071FC * Some cleanup * Cleanup and name more stuff * Name BossGanon2_DrawShadowTexture * Rename to sZelda * Correct array in func_809034E4.s * Start using proper symbols for assets * Add morre undefined syms comments * Cleanup a bit * Cleanup a bit more * Use THIS in limb functions * Update comments * Use define for actor id * Remove unnecessary padding in struct * Rename rand_float to randFloat * Update src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Various minor suggestions * Replace shadowTexture with void* wherever possible * Update src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Do multiply * Name some variables from debug prints * Update src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Use ARRAY_COUNT(sParticles) everywhere * Put data and bss in _data.c * Remove unecessary @bug s * Minor suggestions * Why are there so many timers Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
This commit is contained in:
parent
0f644b7545
commit
bc9ca97086
66 changed files with 3596 additions and 9015 deletions
File diff suppressed because it is too large
Load diff
|
@ -6,13 +6,92 @@
|
|||
|
||||
struct BossGanon2;
|
||||
|
||||
typedef void (*BossGanon2ActionFunc)(struct BossGanon2*, GlobalContext*);
|
||||
|
||||
typedef struct BossGanon2 {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x1C8];
|
||||
/* 0x014C */ SkelAnime skelAnime;
|
||||
/* 0x0190 */ BossGanon2ActionFunc actionFunc;
|
||||
/* 0x0194 */ f32 unk_194;
|
||||
/* 0x0198 */ f32 unk_198;
|
||||
/* 0x019C */ s16 unk_19C;
|
||||
/* 0x019E */ char unk_19E[0x4];
|
||||
/* 0x01A2 */ s16 unk_1A2[5];
|
||||
/* 0x01AC */ s16 unk_1AC;
|
||||
/* 0x01B0 */ f32 unk_1B0;
|
||||
/* 0x01B4 */ f32 unk_1B4;
|
||||
/* 0x01B8 */ Vec3f unk_1B8;
|
||||
/* 0x01C4 */ Vec3f unk_1C4;
|
||||
/* 0x01D0 */ Vec3f unk_1D0;
|
||||
/* 0x01D0 */ Vec3f unk_1DC;
|
||||
/* 0x01E8 */ Vec3f unk_1E8;
|
||||
/* 0x01F4 */ Vec3f unk_1F4;
|
||||
/* 0x0200 */ Vec3f unk_200;
|
||||
/* 0x020C */ Vec3f unk_20C;
|
||||
/* 0x0218 */ Vec3f unk_218;
|
||||
/* 0x0224 */ f32 unk_224;
|
||||
/* 0x0228 */ f32 unk_228;
|
||||
/* 0x022C */ char unk_22C[0x8];
|
||||
/* 0x0234 */ Vec3f unk_234[16];
|
||||
/* 0x02F4 */ s16 unk_2F4[5];
|
||||
/* 0x02FE */ s16 unk_2FE[5];
|
||||
/* 0x0308 */ char unk_308[4];
|
||||
/* 0x030C */ f32 unk_30C;
|
||||
/* 0x0310 */ u8 unk_310;
|
||||
/* 0x0311 */ u8 unk_311;
|
||||
/* 0x0312 */ u8 unk_312;
|
||||
/* 0x0313 */ u8 unk_313; // "look_on"
|
||||
/* 0x0314 */ u8 unk_314;
|
||||
/* 0x0315 */ char unk_315[0x0F];
|
||||
/* 0x0316 */ s16 unk_316; // "no_hit_time"
|
||||
/* 0x0318 */ s16 unk_318;
|
||||
/* 0x031A */ s16 unk_31A;
|
||||
/* 0x031C */ s16 unk_31C;
|
||||
/* 0x0320 */ f32 unk_320;
|
||||
/* 0x0324 */ f32 unk_324;
|
||||
/* 0x0328 */ char unk_328[0x5BC];
|
||||
/* 0x0328 */ s16 unk_328;
|
||||
/* 0x032C */ f32 unk_32C;
|
||||
/* 0x0330 */ s16 unk_330;
|
||||
/* 0x0332 */ s16 unk_332;
|
||||
/* 0x0334 */ u8 unk_334;
|
||||
/* 0x0335 */ u8 unk_335;
|
||||
/* 0x0336 */ u8 unk_336;
|
||||
/* 0x0337 */ u8 unk_337;
|
||||
/* 0x0338 */ u8 unk_338;
|
||||
/* 0x0339 */ s8 unk_339;
|
||||
/* 0x033C */ f32 unk_33C;
|
||||
/* 0x0340 */ s16 unk_340;
|
||||
/* 0x0342 */ s16 unk_342;
|
||||
/* 0x0344 */ s16 unk_344;
|
||||
/* 0x0346 */ s16 unk_346;
|
||||
/* 0x0348 */ s16 unk_348[5];
|
||||
/* 0x0352 */ s16 unk_352[5];
|
||||
/* 0x035C */ f32 unk_35C;
|
||||
/* 0x0360 */ Vec3f unk_360;
|
||||
/* 0x036C */ f32 unk_36C;
|
||||
/* 0x0370 */ Vec3f unk_370;
|
||||
/* 0x037C */ f32 unk_37C;
|
||||
/* 0x0380 */ f32 unk_380;
|
||||
/* 0x0384 */ f32 unk_384;
|
||||
/* 0x0388 */ f32 unk_388;
|
||||
/* 0x038C */ f32 unk_38C;
|
||||
/* 0x0390 */ s16 unk_390;
|
||||
/* 0x0392 */ s16 unk_392;
|
||||
/* 0x0394 */ f32 unk_394;
|
||||
/* 0x0398 */ u32 unk_398;
|
||||
/* 0x039C */ s16 unk_39C;
|
||||
/* 0x039E */ s16 unk_39E;
|
||||
/* 0x03A0 */ char unk_3A0[0x4];
|
||||
/* 0x03A4 */ Vec3f unk_3A4;
|
||||
/* 0x03B0 */ Vec3f unk_3B0;
|
||||
/* 0x03BC */ Vec3f unk_3BC;
|
||||
/* 0x03C8 */ char unk_3C8[0x48];
|
||||
/* 0x0410 */ Vec3f unk_410;
|
||||
/* 0x041C */ f32 unk_41C;
|
||||
/* 0x0420 */ f32 unk_420;
|
||||
/* 0x0424 */ ColliderJntSph unk_424;
|
||||
/* 0x0444 */ ColliderJntSph unk_444;
|
||||
/* 0x0464 */ ColliderJntSphElement unk_464[16];
|
||||
/* 0x0864 */ ColliderJntSphElement unk_864[2];
|
||||
} BossGanon2; // size = 0x08E4
|
||||
|
||||
extern const ActorInit Boss_Ganon2_InitVars;
|
||||
|
|
360
src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2_data.c
Normal file
360
src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2_data.c
Normal file
|
@ -0,0 +1,360 @@
|
|||
#include "z_boss_ganon2.h"
|
||||
#include "overlays/actors/ovl_En_Zl3/z_en_zl3.h"
|
||||
|
||||
// object_ganon2
|
||||
extern u64 D_0601E188[]; // eye open
|
||||
extern u64 D_0601E988[]; // eye half closed
|
||||
extern u64 D_0601EA08[]; // eye closed
|
||||
|
||||
typedef struct {
|
||||
/* 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[] = {
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 0, { { 0, 0, 0 }, 30 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 1, { { 0, 0, 0 }, 30 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 2, { { 0, 0, 0 }, 30 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 3, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 4, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 5, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 6, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 7, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 8, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 9, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 10, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 11, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 12, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 13, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x10 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 14, { { 0, 0, 0 }, 20 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK0,
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
{ 0xFFCFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 15, { { 0, 0, 0 }, 30 }, 100 },
|
||||
},
|
||||
};
|
||||
|
||||
static ColliderJntSphInit sJntSphInit1 = {
|
||||
{
|
||||
COLTYPE_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[] = {
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK2,
|
||||
{ 0xFFCFFFFF, 0x00, 0x40 },
|
||||
{ 0xFFDFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 15, { { 0, 0, 0 }, 45 }, 100 },
|
||||
},
|
||||
{
|
||||
{
|
||||
ELEMTYPE_UNK2,
|
||||
{ 0xFFCFFFFF, 0x00, 0x40 },
|
||||
{ 0xFFDFFFFF, 0x00, 0x00 },
|
||||
TOUCH_ON | TOUCH_SFX_NORMAL,
|
||||
BUMP_ON,
|
||||
OCELEM_ON,
|
||||
},
|
||||
{ 16, { { 0, 0, 0 }, 45 }, 100 },
|
||||
},
|
||||
};
|
||||
|
||||
static ColliderJntSphInit sJntSphInit2 = {
|
||||
{
|
||||
COLTYPE_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[] = {
|
||||
D_0601E188,
|
||||
D_0601E988,
|
||||
D_0601EA08,
|
||||
};
|
||||
|
||||
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 "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 sParticles[100];
|
||||
|
||||
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;
|
|
@ -175,7 +175,6 @@ void func_80AF8F60(Player* player, u8* shadowTexture, f32 arg2) {
|
|||
Vec3f sp7C;
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
//! @bug j is not initialized if arg2 == 0.0f, causing undefined behavior.
|
||||
if ((arg2 == 0.0f) || ((j = D_80AFA13C[i]) >= 0)) {
|
||||
if (arg2 > 0.0f) {
|
||||
lerp.x = D_80AFA660[i].x + (D_80AFA660[j].x - D_80AFA660[i].x) * arg2;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue