fox_zo decomped, work buffer enums for bosses implemented, changed overlay name to i3, various docs (#78)

* zo

* more

* more stuff

* hitboxes suck

* i3 test

* i3

* names

* remove extras

* whoops symbols

* more cleaning

* oh god it comes

* one last thing
This commit is contained in:
petrie911 2024-01-13 19:09:13 -06:00 committed by GitHub
parent 31bfc1ecdd
commit 56c2bd3e10
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
43 changed files with 9234 additions and 2949 deletions

View File

@ -1,24 +1,7 @@
#ifndef FOX_MAP_H
#define FOX_MAP_H
typedef enum PlanetId {
/* 0 */ PLANET_METEO,
/* 1 */ PLANET_AREA_6,
/* 2 */ PLANET_BOLSE,
/* 3 */ PLANET_SECTOR_Z,
/* 4 */ PLANET_SECTOR_X,
/* 5 */ PLANET_SECTOR_Y,
/* 6 */ PLANET_KATINA,
/* 7 */ PLANET_MACBETH,
/* 8 */ PLANET_ZONESS,
/* 9 */ PLANET_CORNERIA,
/* 10 */ PLANET_TITANIA,
/* 11 */ PLANET_AQUAS,
/* 12 */ PLANET_FORTUNA,
/* 13 */ PLANET_VENOM,
/* 14 */ PLANET_SOLAR,
/* 15 */ PLANET_MAX,
} PlanetId;
#include "PR/ultratypes.h"
typedef struct {
/* 0x0 */ f32 angle;

View File

@ -233,6 +233,7 @@ void Object_Load(ObjectInit* , f32 , f32 , f32 , f32 );
void func_80062568(void);
void func_80062B60(f32 xPos, f32 zPos, s32 arg2, f32 arg3);
void func_80062C38(f32, f32);
bool func_80062DBC(Vec3f* pos, f32* hitboxData, Object* obj, f32 xRot, f32 yRot, f32 zRot);
s32 func_800631A8(Vec3f*, f32*, Vec3f*);
s32 func_8006326C(Vec3f* , Vec3f* , ObjectId , Object* );
s32 func_8006351C(s32 , Vec3f* , Vec3f* , s32 );
@ -608,138 +609,138 @@ void func_E08400_80187B08(Actor *);
void func_E08400_80188A40(Boss *);
void func_E08400_8018CCF8(Actor *);
void func_E16C50_80187520(s32, void*);
void func_E16C50_80187754(Boss *);
void func_E16C50_80187944(Boss*);
void func_E16C50_8018C54C(Boss*);
void func_E16C50_8018DF74(Player *player);
void func_E16C50_8018ED78(Player*);
void func_i3_80187520(s32, void*);
void func_i3_80187754(Boss *);
void func_i3_80187944(Boss*);
void func_i3_8018C54C(Boss*);
void func_i3_8018DF74(Player *player);
void func_i3_8018ED78(Player*);
void func_E16C50_801900FC(Vec3f*, Vec3f*, f32, f32, f32, s32, f32, s32, s32);
void func_E16C50_80190430(Actor *);
void func_E16C50_801904CC(Actor*);
void func_E16C50_80190A00(Actor*);
void func_E16C50_80190F08(Actor *);
void func_E16C50_80191010(Actor*);
void func_E16C50_801914C4(Actor*);
void func_E16C50_801915A4(Actor *);
void func_E16C50_80191680(Actor*);
void func_E16C50_80191B4C(Actor*);
void func_E16C50_80191BB8(Actor *);
void func_E16C50_80191BC4(Actor*);
void func_E16C50_80191DB0(Actor*);
void func_E16C50_80191DB0(Actor*);
void func_E16C50_80191FFC(Actor*);
void func_E16C50_80192094(Actor*);
void func_E16C50_80192834(Actor*);
void func_E16C50_80192C18(Actor*);
void func_E16C50_80192E64(Actor*);
void func_E16C50_80193240(Actor*);
void func_E16C50_801932AC(Boss*);
void func_E16C50_801949DC(Boss*);
void func_E16C50_80194A84(Boss*);
void func_E16C50_8019969C(Actor*);
void func_E16C50_8019983C(Actor*);
void func_E16C50_80199A28(Actor*);
void func_E16C50_80199E24(Actor*);
void func_E16C50_80199F10(Actor*);
void func_E16C50_8019A1FC(Actor*);
void func_E16C50_8019A5D4(Actor*);
void func_E16C50_8019ACCC(Actor*);
void func_E16C50_8019B1F0(Actor *);
void func_E16C50_8019B548(Actor*);
void func_E16C50_8019B7DC(Actor*);
void func_E16C50_8019B810(Actor *);
void func_E16C50_8019B854(Actor*);
void func_E16C50_8019BDE0(Actor*);
void func_E16C50_8019BE48(Actor*);
void func_E16C50_8019C1CC(Actor*);
void func_E16C50_8019C200(Actor *);
void func_E16C50_8019C454(Actor*);
void func_E16C50_8019C83C(Actor*);
void func_E16C50_8019CBEC(Actor*);
void func_E16C50_8019CE58(Actor*);
void func_E16C50_8019D060(Actor *);
void func_E16C50_8019D15C(Actor*);
void func_E16C50_8019D3C4(Actor*);
void func_E16C50_8019D428(Player* player);
void func_E16C50_8019D76C(Player* player);
void func_i3_801900FC(Vec3f*, Vec3f*, f32, f32, f32, s32, f32, s32, s32);
void func_i3_80190430(Actor* actor);
void func_i3_801904CC(Actor* actor);
void func_i3_80190A00(Actor* actor);
void func_i3_80190F08(Actor* actor);
void func_i3_80191010(Actor* actor);
void func_i3_801914C4(Actor* actor);
void func_i3_801915A4(Actor* actor);
void func_i3_80191680(Actor* actor);
void func_i3_80191B4C(Actor* actor);
void func_i3_80191BB8(Actor* actor);
void func_i3_80191BC4(Actor* actor);
void func_i3_80191DB0(Actor* actor);
void func_i3_80191DB0(Actor* actor);
void func_i3_80191FFC(Actor* actor);
void func_i3_80192094(Actor* actor);
void func_i3_80192834(Actor* actor);
void func_i3_80192C18(Actor* actor);
void func_i3_80192E64(Actor* actor);
void func_i3_80193240(Actor* actor);
void func_i3_801932AC(Boss* bossZO);
void func_i3_801949DC(Boss* bossZO);
void func_i3_80194A84(Boss* bossZO);
void func_i3_8019969C(Actor* actor);
void func_i3_8019983C(Actor* actor);
void func_i3_80199A28(Actor* actor);
void func_i3_80199E24(Actor* actor);
void func_i3_80199F10(Actor* actor);
void func_i3_8019A1FC(Actor* actor);
void func_i3_8019A5D4(Actor* actor);
void func_i3_8019ACCC(Actor* actor);
void func_i3_8019B1F0(Actor* actor);
void func_i3_8019B548(Actor* actor);
void func_i3_8019B7DC(Actor* actor);
void func_i3_8019B810(Actor* actor);
void func_i3_8019B854(Actor* actor);
void func_i3_8019BDE0(Actor* actor);
void func_i3_8019BE48(Actor* actor);
void func_i3_8019C1CC(Actor* actor);
void func_i3_8019C200(Actor* actor);
void func_i3_8019C454(Actor* actor);
void func_i3_8019C83C(Actor* actor);
void func_i3_8019CBEC(Actor* actor);
void func_i3_8019CE58(Actor* actor);
void func_i3_8019D060(Actor* actor);
void func_i3_8019D15C(Actor* actor);
void func_i3_8019D3C4(Actor* actor);
void func_i3_8019D428(Player* player);
void func_i3_8019D76C(Player* player);
void func_E16C50_8019E8B8(f32, f32, f32, f32);
void func_E16C50_8019E9F4(f32, f32, f32, f32, f32, f32, f32, s32);
void func_E16C50_8019EA7C(Actor*);
void func_E16C50_8019F20C(Actor*);
void func_E16C50_8019F7AC(Actor*);
void func_E16C50_801A003C(Actor*);
void func_E16C50_801A0120(Effect*);
void func_E16C50_801A0AF0(Effect*);
void func_E16C50_801A10F4(Player* player);
void func_E16C50_801A5B3C(Boss*);
void func_E16C50_801A71B8(Boss*);
void func_E16C50_801A8BE8(Player* player);
void func_E16C50_801A7930(Player* player);
void func_i3_8019E8B8(f32, f32, f32, f32);
void func_i3_8019E9F4(f32, f32, f32, f32, f32, f32, f32, s32);
void func_i3_8019EA7C(Actor*);
void func_i3_8019F20C(Actor*);
void func_i3_8019F7AC(Actor*);
void func_i3_801A003C(Actor*);
void func_i3_801A0120(Effect*);
void func_i3_801A0AF0(Effect*);
void func_i3_801A10F4(Player* player);
void func_i3_801A5B3C(Boss*);
void func_i3_801A71B8(Boss*);
void func_i3_801A8BE8(Actor*);
void func_i3_801A7930(Player* player);
void func_E16C50_801A9824(void);
void func_E16C50_801AA20C(void);
void func_E16C50_801AA8E8(Player*);
void func_E16C50_801AACF8(Player*);
void func_E16C50_801ABA40(PlayerShot*);
void func_E16C50_801AC274(Player*);
void func_E16C50_801AC8A8(f32, f32, f32, f32, s32);
void func_E16C50_801AC8A8(f32, f32, f32, f32, s32);
void func_E16C50_801AC918(Effect*);
void func_E16C50_801ACBB4(void);
void func_E16C50_801ACE50(Player*);
void func_E16C50_801AD328(Player*);
void func_E16C50_801AD688(Actor *);
void func_E16C50_801AD6C0(Actor*);
void func_E16C50_801AE168(Actor*);
void func_E16C50_801AE3AC(Actor *);
void func_E16C50_801AE3D8(Actor*);
void func_E16C50_801AEB44(Actor*);
void func_E16C50_801AF9FC(Actor *);
void func_E16C50_801AFA5C(Actor*);
void func_E16C50_801B099C(Actor*);
void func_E16C50_801B0B60(Actor*);
void func_E16C50_801B0EC0(Actor*);
void func_E16C50_801B10F8(Boss*);
void func_E16C50_801B134C(Boss*);
void func_E16C50_801B4D84(Boss*);
void func_E16C50_801B504C(Actor*);
void func_E16C50_801B50E8(Actor*);
void func_E16C50_801B619C(Actor*);
void func_E16C50_801B6344(Actor *);
void func_E16C50_801B638C(Actor*);
void func_E16C50_801B6E54(Actor *);
void func_E16C50_801B6FF8(Actor*);
void func_E16C50_801B7A24(Actor*);
void func_E16C50_801B7AF0(Actor *);
void func_E16C50_801B7C78(Actor*);
void func_E16C50_801B90DC(Actor*);
void func_E16C50_801B91A4(Actor*);
void func_E16C50_801BA108(Actor*);
void func_E16C50_801BA26C(Actor*);
void func_E16C50_801BA4E4(Actor*);
void func_E16C50_801BA57C(Actor *);
void func_E16C50_801BA6A4(Actor*);
void func_E16C50_801BAD7C(Actor*);
void func_E16C50_801BADF8(Actor*);
void func_E16C50_801BB204(Actor*);
void func_E16C50_801BB26C(Actor *);
void func_E16C50_801BB79C(Actor*);
void func_E16C50_801BC930(Actor*);
void func_E16C50_801BC9A0(Actor*);
void func_E16C50_801BD264(Actor*);
void func_E16C50_801BD54C(Actor*);
void func_E16C50_801BDE6C(Actor*);
void func_E16C50_801BE1FC(Object_80*);
void func_E16C50_801BE3F8(Actor*);
void func_E16C50_801BEB1C(Actor*);
void func_E16C50_801BEC50(Boss*);
void func_E16C50_801BEC5C(Boss*);
void func_E16C50_801BEC68(Actor*);
void func_E16C50_801BEC74(Actor*);
void func_E16C50_801BEC80(Player*);
void func_i3_801A9824(void);
void func_i3_801AA20C(void);
void func_i3_801AA8E8(Player*);
void func_i3_801AACF8(Player*);
void func_i3_801ABA40(PlayerShot*);
void func_i3_801AC274(Player*);
void func_i3_801AC8A8(f32, f32, f32, f32, s32);
void func_i3_801AC8A8(f32, f32, f32, f32, s32);
void func_i3_801AC918(Effect*);
void func_i3_801ACBB4(void);
void func_i3_801ACE50(Player*);
void func_i3_801AD328(Player*);
void func_i3_801AD688(Actor *);
void func_i3_801AD6C0(Actor*);
void func_i3_801AE168(Actor*);
void func_i3_801AE3AC(Actor *);
void func_i3_801AE3D8(Actor*);
void func_i3_801AEB44(Actor*);
void func_i3_801AF9FC(Actor *);
void func_i3_801AFA5C(Actor*);
void func_i3_801B099C(Actor*);
void func_i3_801B0B60(Actor*);
void func_i3_801B0EC0(Actor*);
void func_i3_801B10F8(Boss*);
void func_i3_801B134C(Boss*);
void func_i3_801B4D84(Boss*);
void func_i3_801B504C(Actor*);
void func_i3_801B50E8(Actor*);
void func_i3_801B619C(Actor*);
void func_i3_801B6344(Actor *);
void func_i3_801B638C(Actor*);
void func_i3_801B6E54(Actor *);
void func_i3_801B6FF8(Actor*);
void func_i3_801B7A24(Actor*);
void func_i3_801B7AF0(Actor *);
void func_i3_801B7C78(Actor*);
void func_i3_801B90DC(Actor*);
void func_i3_801B91A4(Actor*);
void func_i3_801BA108(Actor*);
void func_i3_801BA26C(Actor*);
void func_i3_801BA4E4(Actor*);
void func_i3_801BA57C(Actor *);
void func_i3_801BA6A4(Actor*);
void func_i3_801BAD7C(Actor*);
void func_i3_801BADF8(Actor*);
void func_i3_801BB204(Actor*);
void func_i3_801BB26C(Actor *);
void func_i3_801BB79C(Actor*);
void func_i3_801BC930(Actor*);
void func_i3_801BC9A0(Actor*);
void func_i3_801BD264(Actor*);
void func_i3_801BD54C(Actor*);
void func_i3_801BDE6C(Actor*);
void func_i3_801BE1FC(Object_80*);
void func_i3_801BE3F8(Actor*);
void func_i3_801BEB1C(Actor*);
void func_i3_801BEC50(Boss*);
void func_i3_801BEC5C(Boss*);
void func_i3_801BEC68(Actor*);
void func_i3_801BEC74(Actor*);
void func_i3_801BEC80(Player*);
void func_E51970_80187520(s32, void*);

View File

@ -103,13 +103,13 @@ extern OverlayInit sOvlE08400_Meteo[2]; // E08400
extern OverlayInit sOvlE6A810_Titania[6]; // E6A810
extern OverlayInit sOvlE08400_SectorX[2]; // E08400
extern OverlayInit sOvlE51970_SectorZ[1]; // E51970
extern OverlayInit sOvlE16C50_Aquas[1]; // E16C50
extern OverlayInit sOvlE16C50_Area6[1]; // E16C50
extern OverlayInit sOvli3_Aquas[1]; // i3
extern OverlayInit sOvli3_Area6[1]; // i3
extern OverlayInit sOvlE51970_Fortuna[2]; // E51970
extern OverlayInit sOvlE16C50_Unk4[1]; // E16C50
extern OverlayInit sOvli3_Unk4[1]; // i3
extern OverlayInit sOvlE9F1D0_SectorY[1]; // E9F1D0
extern OverlayInit sOvlE16C50_Solar[1]; // E16C50
extern OverlayInit sOvlE16C50_Zoness[1]; // E16C50
extern OverlayInit sOvli3_Solar[1]; // i3
extern OverlayInit sOvli3_Zoness[1]; // i3
extern OverlayInit sOvlDF4260_Venom1[1]; // DF4260
extern OverlayInit sOvlE9F1D0_Venom2[1]; // E9F1D0
extern OverlayInit sOvlE9F1D0_VenomSW[2]; // E9F1D0
@ -178,7 +178,7 @@ DECLARE_SEGMENT(ast_DDC010);
DECLARE_SEGMENT(ast_DE5D50);
DECLARE_SEGMENT(ovl_DF4260);
DECLARE_SEGMENT(ovl_E08400);
DECLARE_SEGMENT(ovl_E16C50);
DECLARE_SEGMENT(ovl_i3);
DECLARE_SEGMENT(ovl_E51970);
DECLARE_SEGMENT(ovl_E6A810);
DECLARE_SEGMENT(ovl_E9F1D0);

View File

@ -88,6 +88,25 @@ typedef enum LevelId {
/* 77 */ LEVEL_WARP_ZONE = 77,
} LevelId;
typedef enum PlanetId {
/* 0 */ PLANET_METEO,
/* 1 */ PLANET_AREA_6,
/* 2 */ PLANET_BOLSE,
/* 3 */ PLANET_SECTOR_Z,
/* 4 */ PLANET_SECTOR_X,
/* 5 */ PLANET_SECTOR_Y,
/* 6 */ PLANET_KATINA,
/* 7 */ PLANET_MACBETH,
/* 8 */ PLANET_ZONESS,
/* 9 */ PLANET_CORNERIA,
/* 10 */ PLANET_TITANIA,
/* 11 */ PLANET_AQUAS,
/* 12 */ PLANET_FORTUNA,
/* 13 */ PLANET_VENOM,
/* 14 */ PLANET_SOLAR,
/* 15 */ PLANET_MAX,
} PlanetId;
typedef enum VsStage {
/* 0 */ VS_STAGE_CORNERIA,
/* 1 */ VS_STAGE_KATINA,

View File

@ -208,9 +208,9 @@ typedef struct {
/* 0x01C */ ObjectInfo info;
/* 0x040 */ s32 index;
/* 0x044 */ s16 unk_044;
/* 0x046 */ char unk_46[0x6];
/* 0x046 */ char unk_46[6];
/* 0x04C */ s16 unk_04C;
/* 0x04E */ s16 unk_04E;
/* 0x04E */ s16 actionState;
/* 0x050 */ s16 timer_050;
/* 0x052 */ s16 timer_052;
/* 0x054 */ s16 timer_054;
@ -219,15 +219,13 @@ typedef struct {
/* 0x05A */ s16 timer_05A;
/* 0x05C */ s16 timer_05C;
/* 0x05E */ u8 unk_05E;
/* 0x060 */ s16 unk_060;
/* 0x062 */ s8 unk_062;
/* 0x064 */ s16 unk_064;
/* 0x066 */ s16 unk_066;
/* 0x060 */ s16 health;
/* 0x062 */ s8 dmgType;
/* 0x064 */ s16 damage;
/* 0x066 */ s16 dmgPart;
/* 0x068 */ f32 unk_068;
/* 0x06C */ Vec3f vel;
/* 0x078 */ f32 unk_078;
/* 0x07C */ f32 unk_07C;
/* 0x080 */ char pad80[4];
/* 0x078 */ Vec3f unk_078;
/* 0x084 */ f32 gravity;
/* 0x088 */ s16 swork[40];
/* 0x0D8 */ f32 fwork[50];
@ -236,6 +234,10 @@ typedef struct {
/* 0x3FC */ Vec3f sfxPos;
} Boss; // size = 0x408
#define DMG_BEAM 1
#define DMG_NONE 0
#define DMG_BOMB -1
typedef struct {
/* 0x000 */ Object obj;
/* 0x01C */ ObjectInfo info;
@ -262,7 +264,6 @@ typedef struct {
/* 0x0CA */ u8 timer_0CA[4];
/* 0x0CE */ s16 unk_0CE;
/* 0x0D0 */ s8 unk_0D0;
/* 0x0D1 */ char pad0D1[0x1];
/* 0x0D2 */ s16 unk_0D2;
/* 0x0D4 */ s16 unk_0D4;
/* 0x0D6 */ u16 unk_0D6;
@ -693,4 +694,158 @@ typedef enum{
#define OBJ_UNK_1000 1000
// template enums for boss work buffers
typedef enum {
/* 0 */ LN_SWK_0,
/* 1 */ LN_SWK_1,
/* 2 */ LN_SWK_2,
/* 3 */ LN_SWK_3,
/* 4 */ LN_SWK_4,
/* 5 */ LN_SWK_5,
/* 6 */ LN_SWK_6,
/* 7 */ LN_SWK_7,
/* 8 */ LN_SWK_8,
/* 9 */ LN_SWK_9,
/* 10 */ LN_SWK_10,
/* 11 */ LN_SWK_11,
/* 12 */ LN_SWK_12,
/* 13 */ LN_SWK_13,
/* 14 */ LN_SWK_14,
/* 15 */ LN_SWK_15,
/* 16 */ LN_SWK_16,
/* 17 */ LN_SWK_17,
/* 18 */ LN_SWK_18,
/* 19 */ LN_SWK_19,
/* 20 */ LN_SWK_20,
/* 21 */ LN_SWK_21,
/* 22 */ LN_SWK_22,
/* 23 */ LN_SWK_23,
/* 24 */ LN_SWK_24,
/* 25 */ LN_SWK_25,
/* 26 */ LN_SWK_26,
/* 27 */ LN_SWK_27,
/* 28 */ LN_SWK_28,
/* 29 */ LN_SWK_29,
/* 30 */ LN_SWK_30,
/* 31 */ LN_SWK_31,
/* 32 */ LN_SWK_32,
/* 33 */ LN_SWK_33,
/* 34 */ LN_SWK_34,
/* 35 */ LN_SWK_35,
/* 36 */ LN_SWK_36,
/* 37 */ LN_SWK_37,
/* 38 */ LN_SWK_38,
/* 39 */ LN_SWK_39,
/* 40 */ LN_SWK_MAX,
} BossLNswork;
typedef enum {
/* 0 */ LN_FWK_0,
/* 1 */ LN_FWK_1,
/* 2 */ LN_FWK_2,
/* 3 */ LN_FWK_3,
/* 4 */ LN_FWK_4,
/* 5 */ LN_FWK_5,
/* 6 */ LN_FWK_6,
/* 7 */ LN_FWK_7,
/* 8 */ LN_FWK_8,
/* 9 */ LN_FWK_9,
/* 10 */ LN_FWK_10,
/* 11 */ LN_FWK_11,
/* 12 */ LN_FWK_12,
/* 13 */ LN_FWK_13,
/* 14 */ LN_FWK_14,
/* 15 */ LN_FWK_15,
/* 16 */ LN_FWK_16,
/* 17 */ LN_FWK_17,
/* 18 */ LN_FWK_18,
/* 19 */ LN_FWK_19,
/* 20 */ LN_FWK_20,
/* 21 */ LN_FWK_21,
/* 22 */ LN_FWK_22,
/* 23 */ LN_FWK_23,
/* 24 */ LN_FWK_24,
/* 25 */ LN_FWK_25,
/* 26 */ LN_FWK_26,
/* 27 */ LN_FWK_27,
/* 28 */ LN_FWK_28,
/* 29 */ LN_FWK_29,
/* 30 */ LN_FWK_30,
/* 31 */ LN_FWK_31,
/* 32 */ LN_FWK_32,
/* 33 */ LN_FWK_33,
/* 34 */ LN_FWK_34,
/* 35 */ LN_FWK_35,
/* 36 */ LN_FWK_36,
/* 37 */ LN_FWK_37,
/* 38 */ LN_FWK_38,
/* 39 */ LN_FWK_39,
/* 40 */ LN_FWK_40,
/* 41 */ LN_FWK_41,
/* 42 */ LN_FWK_42,
/* 43 */ LN_FWK_43,
/* 44 */ LN_FWK_44,
/* 45 */ LN_FWK_45,
/* 46 */ LN_FWK_46,
/* 47 */ LN_FWK_47,
/* 48 */ LN_FWK_48,
/* 49 */ LN_FWK_49,
/* 50 */ LN_FWK_MAX,
} BossLNfwork;
typedef enum {
/* 0 */ LN_VWK_0,
/* 1 */ LN_VWK_1,
/* 2 */ LN_VWK_2,
/* 3 */ LN_VWK_3,
/* 4 */ LN_VWK_4,
/* 5 */ LN_VWK_5,
/* 6 */ LN_VWK_6,
/* 7 */ LN_VWK_7,
/* 8 */ LN_VWK_8,
/* 9 */ LN_VWK_9,
/* 10 */ LN_VWK_10,
/* 11 */ LN_VWK_11,
/* 12 */ LN_VWK_12,
/* 13 */ LN_VWK_13,
/* 14 */ LN_VWK_14,
/* 15 */ LN_VWK_15,
/* 16 */ LN_VWK_16,
/* 17 */ LN_VWK_17,
/* 18 */ LN_VWK_18,
/* 19 */ LN_VWK_19,
/* 20 */ LN_VWK_20,
/* 21 */ LN_VWK_21,
/* 22 */ LN_VWK_22,
/* 23 */ LN_VWK_23,
/* 24 */ LN_VWK_24,
/* 25 */ LN_VWK_25,
/* 26 */ LN_VWK_26,
/* 27 */ LN_VWK_27,
/* 28 */ LN_VWK_28,
/* 29 */ LN_VWK_29,
/* 30 */ LN_VWK_30,
/* 31 */ LN_VWK_31,
/* 32 */ LN_VWK_32,
/* 33 */ LN_VWK_33,
/* 34 */ LN_VWK_34,
/* 35 */ LN_VWK_35,
/* 36 */ LN_VWK_36,
/* 37 */ LN_VWK_37,
/* 38 */ LN_VWK_38,
/* 39 */ LN_VWK_39,
/* 40 */ LN_VWK_40,
/* 41 */ LN_VWK_41,
/* 42 */ LN_VWK_42,
/* 43 */ LN_VWK_43,
/* 44 */ LN_VWK_44,
/* 45 */ LN_VWK_45,
/* 46 */ LN_VWK_46,
/* 47 */ LN_VWK_47,
/* 48 */ LN_VWK_48,
/* 49 */ LN_VWK_49,
/* 50 */ LN_VWK_MAX,
} BossLNvwork;
#endif

View File

@ -135,7 +135,7 @@ extern s32 D_800C9B4C;
// fox_bg
extern u16 D_800C9C3C[16];
// sf_43E80
// fox_43E80
extern Vec3f D_800C9F2C;
// fox_display
@ -241,7 +241,7 @@ extern u8 D_800D2F68;
extern u8 D_800D3180[30];
// unknown, could be fox_rcp, fox_play, or a data-only file.
extern s32 D_800D31A0[4];
extern UNK_TYPE D_800D31A0[4];
// fox_radio
extern s32 gCurrentMsgPri;
@ -284,7 +284,7 @@ extern f32 D_8015F984;
// extern f32 D_80161394;
// fox_43AC0
extern s32 D_801613A0;
extern s32 gBossFrameCount;
// fox_display
extern Vec3f D_801613B0[];
@ -323,7 +323,7 @@ extern f32 D_80161724;
extern f32 D_80161728;
extern s32 D_8016172C;
extern s32 D_80161730;
extern s32 D_80161734;
extern s32 gShowBossHealth;
extern s32 D_80161788;
extern s32 D_8016178C;
extern s32 D_80161790;
@ -414,7 +414,7 @@ extern GameState gGameState;
extern s32 D_80177838;
extern s32 D_Timer_8017783C;
extern s32 D_80177840;
extern s32 D_80177848;
extern s32 gBossHealthBar;
extern s32 D_80177844;
extern s32 D_8017784C;
extern s32 D_80177850;
@ -445,7 +445,7 @@ extern u16 gBrakeButton[4];
extern u8 D_80177930;
//
extern u16 gShootButton[4];
extern f32 D_80177940;
extern f32 gGroundLevel;
//
extern u16 gBombButton[4];
extern f32 D_80177950;
@ -844,8 +844,8 @@ extern f32 gDefaultPanVolume[];
extern Gfx* D_DF4260_8019A008[];
extern f32 D_DF4260_8019A9B8[];
// ovl_E16C50
// extern f32 D_E16C50_801C4188; Currently externed in relevant files for bss ordering
// ovl_i3
// extern f32 D_i3_801C4188; Currently externed in relevant files for bss ordering
// ovl_E51970
extern Matrix D_E51970_8019EE80;
@ -1091,9 +1091,9 @@ extern Gfx D_301F140[];
extern Gfx D_301FD20[];
extern Gfx D_302D240[];
extern Gfx D_302D4D0[];
extern EnvSettings D_302DD70[];
extern EnvSettings D_302DDB4[];
extern EnvSettings D_302DDF8[];
extern EnvSettings D_302DD70;
extern EnvSettings D_302DDB4;
extern EnvSettings D_302DDF8;
extern ObjectInit D_302DE3C[];
extern ObjectInit D_302E0E4[];
extern ObjectInit D_302E170[];
@ -1168,52 +1168,6 @@ extern Gfx D_500B600[];
* ast_B0AA00, ast_B1CA50, ast_B2CA50, ast_B612E0, ast_B84560,
* ast_BB11D0, ast_BC23D0, ast_BFC510, ast_C48F40, ast_DDC010
*/
extern CollisionPoly D_602FA9C[];
extern Vec3s D_60300C8[];
extern CollisionPoly D_60305DC[];
extern Vec3s D_603184C[];
extern CollisionPoly D_6030208[];
extern Vec3s D_6030550[];
extern CollisionPoly D_6033070[];
extern Vec3s D_6033E08[];
extern CollisionPoly D_600F60C[];
extern Vec3s D_600FD50[];
extern CollisionPoly D_600F3F4[];
extern Vec3s D_600F5AC[];
extern CollisionPoly D_600F1DC[];
extern Vec3s D_600F394[];
extern CollisionPoly D_6010294[];
extern Vec3s D_601170C[];
extern CollisionPoly D_6007558[];
extern Vec3s D_6008E08[];
extern CollisionPoly D_6014FEC[];
extern Vec3s D_6016374[];
extern Triangle D_603F338[];
extern Vec3f D_603F388[];
extern Triangle D_603F40C[];
extern Vec3f D_603F4E4[];
extern Triangle D_602CACC[];
extern Vec3f D_602CB80[];
extern Triangle D_6030E74[];
extern Vec3f D_6030E80[];
extern Triangle D_6030EB0[];
extern Vec3f D_6030EBC[];
extern Triangle D_6030EEC[];
extern Vec3f D_6030EF8[];
extern Triangle D_6030F28[];
extern Vec3f D_6030F34[];
extern Triangle D_6030F64[];
extern Vec3f D_6030F7C[];
extern Triangle D_6030FC4[];
extern Vec3f D_6030FD0[];
extern Triangle D_60320B8[];
extern Vec3f D_603216C[];
extern Triangle D_6031FB0[];
extern Vec3f D_6031FE0[];
extern Triangle D_6031FB0[];
extern Vec3f D_603204C[];
extern Triangle D_6032388[];
extern Vec3f D_6032430[];
extern u16 D_6000000[];
extern Gfx D_60005B0[];
extern u16 D_6000900[];
@ -1230,14 +1184,17 @@ extern Gfx D_6001A60[];
extern u16 D_6001A80[];
extern u8 D_6001B80[];
extern Vtx D_6001C50[];
extern u8 D_6001C80[];
extern Gfx D_6001DA0[];
extern u8 D_60020D0[];
extern u8 D_6002160[];
extern Gfx D_60023B0[];
extern Gfx D_6002990[];
extern u16 D_60029A0[];
extern Gfx D_6002E60[];
extern Gfx D_6002F80[];
extern Gfx D_6003000[];
extern u8 D_60030D0[];
extern Gfx D_60030F0[];
extern Gfx D_60034D0[];
extern Gfx D_6003610[];
@ -1246,23 +1203,28 @@ extern Gfx D_6003760[];
extern u16 D_60038C0[];
extern Gfx D_60038E0[];
extern u16 D_60038F8[];
extern u8 D_6003B50[];
extern Gfx D_6004170[];
extern Gfx D_6004330[];
extern Vtx D_6004500[];
extern Gfx D_6004570[];
extern Gfx D_60046F0[];
extern u16 D_60047E0[];
extern Gfx D_6004900[];
extern u8 D_6004AC0[];
extern Gfx D_6004FE0[];
extern EnvSettings D_6005000;
extern Gfx D_6005360[];
extern u16 D_6005700[];
extern u16 D_6005710[];
extern u8 D_6005740[];
extern Gfx D_6005780[];
extern Gfx D_6005880[];
extern Gfx D_60059F0[];
extern Gfx D_6006140[];
extern Gfx D_6006310[];
extern u16* D_600631C[];
extern u8 D_6006320[];
extern AnimationHeader D_600636C;
extern f32 D_60064AC[];
extern f32 D_60064C8[];
@ -1299,15 +1261,19 @@ extern f32 D_60069E8[];
extern f32 D_6006A04[];
extern f32 D_6006A20[];
extern f32 D_6006A3C[];
extern EnvSettings D_6006A60;
extern Gfx D_6006A80[];
extern Gfx D_6006BE0[];
extern f32 D_6006BF0[];
extern f32 D_6006C44[];
extern AnimationHeader D_6006D64;
extern Limb *D_6006E50[];
extern EnvSettings D_6006E70;
extern u8 D_6006E80[];
extern u16 D_6006EA0[];
extern Gfx D_6006F50[];
extern Gfx D_6007410[];
extern CollisionPoly D_6007558[];
extern Gfx D_60075D0[];
extern Gfx D_6007650[];
extern Gfx D_60079B0[];
@ -1315,11 +1281,14 @@ extern u8 D_6007B90[];
extern Gfx D_6007CF0[];
extern Gfx D_6007D80[];
extern Gfx D_6007D90[];
extern EnvSettings D_6007E30;
extern Gfx D_6008370[];
extern Gfx D_6008770[];
extern Gfx D_6008830[];
extern Gfx D_6008970[];
extern u8 D_6008990[];
extern Gfx D_6008AA0[];
extern Vec3s D_6008E08[];
extern f32 D_600924C[];
extern Gfx D_6009250[];
extern f32 D_60092E8[];
@ -1330,6 +1299,7 @@ extern u16* D_6009B34[];
extern u16 D_6009BB8[];
extern f32 D_6009CC4[];
extern f32 D_6009CFC[];
extern AnimationHeader D_6009D30;
extern Gfx D_6009E30[];
extern Vtx D_6009ED0[];
extern Gfx D_6009F90[];
@ -1338,14 +1308,18 @@ extern Gfx D_600A420[];
extern Gfx D_600A810[];
extern Gfx D_600AB10[];
extern u16 D_600AB68[];
extern u8 D_600AD30[];
extern Gfx D_600AF40[];
extern Gfx D_600B0E0[];
extern AnimationHeader D_600B1B4;
extern Gfx D_600B4B0[];
extern Gfx D_600B8B0[];
extern u8 D_600B9B0[];
extern Gfx D_600BAF0[];
extern u16 D_600BEA0[];
extern Gfx D_600BF80[];
extern Gfx D_600C130[];
extern AnimationHeader D_600C15C;
extern AnimationHeader D_600C200;
extern Limb *D_600C2AC[];
extern u16 D_600C6A0[];
@ -1353,7 +1327,9 @@ extern Gfx D_600C740[];
extern Vtx D_600C780[];
extern Gfx D_600CAA0[];
extern u16 D_600CBD8[];
extern u8 D_600CC10[];
extern Gfx D_600D190[];
extern AnimationHeader D_600D3DC;
extern u16 D_600D5C0[];
extern Gfx D_600D730[];
extern u16 D_600D990[];
@ -1365,37 +1341,54 @@ extern u8 D_600DDC0[];
extern Gfx D_600DDF0[];
extern Gfx D_600E050[];
extern Gfx D_600E0C0[];
extern u8 D_600E210[];
extern AnimationHeader D_600E2C4;
extern u8 D_600E360[];
extern Limb *D_600E470[];
extern AnimationHeader D_600E5EC;
extern Gfx D_600E820[];
extern u8 D_600E980[];
extern EnvSettings D_600EA90;
extern Gfx D_600EC90[];
extern Gfx D_600EE10[];
extern Gfx D_600EEF0[];
extern Gfx D_600EFF0[];
extern Gfx D_600F160[];
extern Gfx D_600F1D0[];
extern CollisionPoly D_600F1DC[];
extern Gfx D_600F1F0[];
extern Gfx D_600F2F0[];
extern u8 D_600F390[];
extern Vec3s D_600F394[];
extern Gfx D_600F3D0[];
extern CollisionPoly D_600F3F4[];
extern Gfx D_600F4C0[];
extern Gfx D_600F560[];
extern Vec3s D_600F5AC[];
extern CollisionPoly D_600F60C[];
extern Gfx D_600F670[];
extern Gfx D_600F6C0[];
extern Gfx D_600F6C0[];
extern AnimationHeader D_600F744;
extern Gfx D_600F8A0[];
extern u8 D_600F940[];
extern Gfx D_600F9B0[];
extern Vec3s D_600FD50[];
extern f32 D_600FE9C[];
extern f32 D_600FEB8[];
extern f32 D_600FF30[];
extern f32 D_600FF30_Hitbox[];
extern EnvSettings D_600FF30_Env;
extern f32 D_600FF80[];
extern f32 D_600FFA0[];
extern f32 D_600FFC0[];
extern f32 D_600FFE0[];
extern u8 D_6010010[];
extern ObjectInit* D_6010088[];
extern u8 D_6010090[];
extern u16 D_6010198[];
extern CollisionPoly D_6010294[];
extern Gfx D_60102C0[];
extern u8 D_60105C0[];
extern u8 D_60106B0[];
extern Gfx D_6010700[];
extern Gfx D_6010960[];
@ -1403,10 +1396,13 @@ extern Gfx D_6010A50[];
extern u16 D_6010C20[];
extern Gfx D_6010E00[];
extern u8 D_6010FA0[];
extern EnvSettings D_6011000;
extern f32 D_6011058[];
extern f32 D_601115C[];
extern u8 D_6011660[];
extern Vec3s D_601170C[];
extern u8 D_6011890[];
extern Gfx D_6011910[];
extern Gfx D_60119A0[];
extern f32 D_6011B24[];
extern u16 D_6011B40[];
@ -1414,20 +1410,25 @@ extern f32 D_6011BF4[];
extern f32 D_6011C10[];
extern f32 D_6011C48[];
extern f32 D_6011C80[];
extern u8 D_6011EA0[];
extern Gfx D_6011EE0[];
extern Gfx D_60120F0[];
extern u8 D_6012310[];
extern u8 D_60123F0[];
extern Gfx D_6012C00[];
extern u8 D_60131A0[];
extern Gfx D_60132B0[];
extern u8 D_6013470[];
extern Gfx D_6013480[];
extern Gfx D_60137B0[];
extern AnimationHeader D_6013820;
extern AnimationHeader D_601388C;
extern Limb* D_601390C[];
extern Gfx D_6013960[];
extern u8 D_60139E0[];
extern Gfx D_6013B50[];
extern u8 D_6014140[];
extern u8 D_6014360[];
extern Gfx D_60143E0[];
extern Gfx D_6014500[];
extern u16 D_6014510[];
@ -1439,24 +1440,40 @@ extern Gfx D_60148B0[];
extern Gfx D_60148D0[];
extern Gfx D_6014A20[];
extern Gfx D_6014B50[];
extern u8 D_6014BA0[];
extern EnvSettings D_6014D50;
extern CollisionPoly D_6014FEC[];
extern Gfx D_60153B0[];
extern u16 D_6015430[];
extern Gfx D_6015730[];
extern u8 D_6015CE0[];
extern Gfx D_6015DD0[];
extern Gfx D_6015EE0[];
extern Gfx D_6015F00[];
extern Gfx D_6015FF0[];
extern Gfx D_6016270[];
extern Vec3s D_6016374[];
extern Gfx D_60164F0[];
extern Gfx D_6016580[];
extern f32 D_601668C[];
extern f32 D_60166F4[];
extern f32 D_6016714[];
extern u8 D_6016760[];
extern Gfx D_6016CF0[];
extern Gfx D_6017090[];
extern Gfx D_6017370[];
extern u8 D_6017640[];
extern u8 D_6018280[];
extern Gfx D_6018450[];
extern Gfx D_60188D0[];
extern AnimationHeader D_6018994;
extern Limb* D_6018BA0[];
extern Gfx D_6018BF0[];
extern Gfx D_6018C00[]; // possible collision
extern Gfx D_6018D40[];
extern Gfx D_6018E80[];
extern u16 D_6018F30[];
extern u8 D_60190B0[];
extern Gfx D_6019220[];
extern Gfx D_6019730[];
extern u16 D_6019E50[];
@ -1468,6 +1485,7 @@ extern Gfx D_601AE40[];
extern Gfx D_601AFF0[];
extern Gfx D_601B0D0[];
extern u16* D_601B1E4[];
extern Gfx D_601B2B0[];
extern u16 D_601B4B0[];
extern f32 D_601B4C4[];
extern f32 D_601B4E0[];
@ -1493,9 +1511,12 @@ extern f32 D_601B8D8[];
extern Gfx D_601BB40[];
extern Gfx D_601BEC0[];
extern Gfx D_601C080[];
extern Gfx D_601C0D0[];
extern Gfx D_601C6A0[];
extern Gfx D_601C7C0[];
extern Gfx D_601C820[];
extern u16 D_601C8E0[];
extern Gfx D_601C960[];
extern Gfx D_601C9B0[];
extern Gfx D_601D1F0[];
extern Gfx D_601D730[];
@ -1503,17 +1524,21 @@ extern u8 D_601D750[];
extern u16 D_601D800[];
extern u16 D_601DB50[];
extern Gfx D_601DE60[];
extern Gfx D_601DE80[];
extern Gfx D_601E150[];
extern u16 D_601E1E8[];
extern AnimationHeader D_601E8C4;
extern Limb* D_601E9D0[];
extern Gfx D_601EAA0[];
extern Gfx D_601F1D0[];
extern EnvSettings D_601F1F0;
extern Gfx D_601F500[];
extern Gfx D_601F5A0[];
extern Gfx D_601F6B0[];
extern AnimationHeader D_601F874;
extern Limb* D_601F920[];
extern Gfx D_601FCB0[];
extern u8 D_601FF40[];
extern Gfx D_601FF80[];
extern Gfx D_60200E0[];
extern Gfx D_6020760[];
@ -1526,29 +1551,37 @@ extern u16 D_6020FB0[];
extern u16 D_6021ED0[];
extern AnimationHeader D_602201C;
extern Limb* D_60220E8[];
extern Gfx D_6022110[];
extern u16 D_6022340[];
extern Gfx D_60223C0[];
extern u8 D_60223E0[];
extern Gfx D_6022450[];
extern Gfx D_6022530[];
extern u16 D_6022760[];
extern Gfx D_6022920[];
extern u16 D_60229A4[];
extern f32 D_60231A4[];
extern Gfx D_60231C0[];
extern Gfx D_60238F0[];
extern Gfx D_6023AC0[];
extern EnvSettings D_6023F20;
extern Gfx D_6024010[];
extern Gfx D_6024220[];
extern Gfx D_60244A0[];
extern u16 D_60245E0[];
extern u16 D_60247E0[];
extern u8 D_6024890[];
extern Gfx D_6024AC0[];
extern Gfx D_6024B60[];
extern u16 D_6025500[];
extern Gfx D_6025B50[];
extern u16 D_6026420[];
extern EnvSettings D_60266D0;
extern EnvSettings D_6026C80;
extern u16 D_6026C90[];
extern u8 D_6026D70[];
extern Gfx D_60270E0[];
extern Gfx D_6027180[];
extern u16 D_6022340[];
extern AnimationHeader D_6027320;
extern u16 D_6027340[];
extern Limb* D_602742C[];
@ -1556,6 +1589,8 @@ extern Gfx D_6027900[];
extern u16* D_6027F50[];
extern u16 D_6028260[];
extern f32 D_6028454[];
extern f32 D_6028578[];
extern EnvSettings D_6028760;
extern u16* D_60289FC[];
extern u16 D_6028A60[];
extern u16 D_6029170[];
@ -1563,6 +1598,7 @@ extern u8 D_6029220[];
extern AnimationHeader D_6029528;
extern Limb* D_6029674[];
extern Gfx D_6029890[];
extern EnvSettings D_602A120;
extern Gfx D_602A720[];
extern u16* D_602AAC0[];
extern Gfx D_602AC40[];
@ -1571,6 +1607,7 @@ extern u16 D_602ACC0[];
extern ObjectInit* D_602B148[];
extern Gfx D_602B4C0[];
extern u16 D_602B620[];
extern u8 D_602B6D0[];
extern f32 D_602B9EC[];
extern f32 D_602BA20[];
extern f32 D_602BAE4[];
@ -1590,16 +1627,21 @@ extern f32 D_602C250[];
extern f32 D_602C294[];
extern f32 D_602C2B0[];
extern u16 D_602C2CC[];
extern Triangle D_602CACC[];
extern Vec3f D_602CB80[];
extern Gfx D_602D5F0[];
extern Gfx D_602DA20[];
extern u16 D_602DAD0[];
extern Gfx D_602DAE0[];
extern u8 D_602DB60[];
extern Gfx D_602DB80[];
extern Gfx D_602DC20[];
extern Gfx D_602DCA0[];
extern u16 D_602DCB8[];
extern Gfx D_602E080[];
extern Gfx D_602E380[];
extern EnvSettings D_602E4B0;
extern EnvSettings D_602E540;
extern Gfx D_602E570[];
extern EnvSettings D_602E584[];
extern Gfx D_602E7A0[];
@ -1616,8 +1658,14 @@ extern f32 D_602F740[];
extern f32 D_602F75C[];
extern Gfx D_602F7C0[];
extern f32 D_602FA50[];
extern CollisionPoly D_602FA9C[];
extern u16 D_602FF60[];
extern u8 D_602FFD0[];
extern Vec3s D_60300C8[];
extern CollisionPoly D_6030208[];
extern Gfx D_6030500[];
extern Vec3s D_6030550[];
extern CollisionPoly D_60305DC[];
extern Gfx D_6030630[];
extern Gfx D_60306D0[];
extern u16* D_60308B8[];
@ -1634,10 +1682,23 @@ extern f32 D_6030D20[];
extern f32 D_6030D74[];
extern f32 D_6030DF8[];
extern f32 D_6030E14[];
extern f32 D_6030E30[];
extern f32 D_6030E30_Hitbox[];
extern EnvSettings D_6030E30_Env;
extern f32 D_6030E4C[];
extern f32 D_6030E68[];
extern Triangle D_6030E74[];
extern Vec3f D_6030E80[];
extern Triangle D_6030EB0[];
extern Vec3f D_6030EBC[];
extern Triangle D_6030EEC[];
extern Vec3f D_6030EF8[];
extern Triangle D_6030F28[];
extern Vec3f D_6030F34[];
extern Triangle D_6030F64[];
extern f32 D_6030F74[];
extern Vec3f D_6030F7C[];
extern Triangle D_6030FC4[];
extern Vec3f D_6030FD0[];
extern f32 D_6031398[];
extern f32 D_60313CC[];
extern f32 D_6031400[];
@ -1649,18 +1710,32 @@ extern f32 D_6031538[];
extern f32 D_6031554[];
extern f32 D_6031570[];
extern u16 D_603158C[];
extern Vec3s D_603184C[];
extern Triangle D_6031FB0[];
extern Triangle D_6031FB0[];
extern Vec3f D_6031FE0[];
extern Vec3f D_603204C[];
extern Triangle D_60320B8[];
extern u16* D_60320D0[];
extern Gfx D_60320E0[];
extern Vec3f D_603216C[];
extern f32 D_6032328[];
extern Triangle D_6032388[];
extern u16 D_60323D0[];
extern f32 D_6032408[];
extern Vec3f D_6032430[];
extern u16 D_6032440[];
extern f32 D_6032488[];
extern f32 D_60324EC[];
extern f32 D_6032550[];
extern Gfx D_6032580[];
extern u16 D_6032A60[];
extern Gfx D_6032BC0[];
extern u16* D_6032E18[];
extern Gfx D_6033000[];
extern CollisionPoly D_6033070[];
extern u16 D_6033080[];
extern Vec3s D_6033E08[];
extern f32 D_603405C[];
extern f32 D_6034368[];
extern f32 D_6034478[];
@ -1672,6 +1747,7 @@ extern f32 D_60347D4[];
extern f32 D_60347F0[];
extern f32 D_603486C[];
extern Gfx D_6034B90[];
extern u16 D_6035780[];
extern f32 D_60359C8[];
extern f32 D_6035A14[];
extern f32 D_6035A48[];
@ -1716,12 +1792,18 @@ extern f32 D_6036930[];
extern f32 D_603694C[];
extern f32 D_6036968[];
extern Gfx D_6036CD0[];
extern EnvSettings D_6037160;
extern Gfx D_6037CF0[];
extern u16 D_6037E80[];
extern u16* D_60381D8[];
extern u16 D_603A580[];
extern u16 D_603A580[];
extern ObjectInit D_603B074[];
extern u16 D_603CC80[];
extern u16* D_603D9E8[];
extern f32 D_603DCA4[];
extern f32 D_603DD40[];
extern EnvSettings D_C035110;
extern f32 D_603DDF0[];
extern f32 D_603DE8C[];
extern f32 D_603DEF4[];
@ -1731,52 +1813,6 @@ extern f32 D_603E014[];
extern f32 D_603E030[];
extern f32 D_603E09C[];
extern f32 D_603E0EC[];
extern f32 D_603E118[];
extern f32 D_603E14C[];
extern f32 D_603E1B4[];
extern f32 D_603E21C[];
extern f32 D_603E3E0[];
extern f32 D_603E468[];
extern f32 D_603E484[];
extern f32 D_603E4A0[];
extern f32 D_603E4A4[];
extern f32 D_603E4DC[];
extern f32 D_603E514[];
extern f32 D_603E54C[];
extern f32 D_603E598[];
extern f32 D_603E5B4[];
extern f32 D_603E5D0[];
extern f32 D_603E604[];
extern f32 D_603E620[];
extern f32 D_603E714[];
extern f32 D_603E748[];
extern f32 D_603E7C4[];
extern f32 D_603E840[];
extern f32 D_603E88C[];
extern f32 D_603E8A8[];
extern f32 D_603E98C[];
extern f32 D_603E9EC[];
extern f32 D_603EA08[];
extern f32 D_603EA74[];
extern f32 D_603EAE0[];
extern f32 D_603EB0C[];
extern u16 D_603EB38[];
extern Gfx D_6041070[];
extern u16 D_60447A0[];
extern u16 D_6047550[];
extern Gfx D_6049F80[];
extern Gfx D_604A190[];
extern Gfx D_604A710[];
extern Gfx D_604A9F0[];
extern Gfx D_604A400[];
extern Gfx D_605C230[];
extern f32 D_6028578[];
extern Gfx D_600F1F0[];
extern Gfx D_6015EE0[];
extern Gfx D_6011910[];
extern AnimationHeader D_6018994;
extern Limb* D_6018BA0[];
extern Gfx D_601B2B0[];
// ast_9DD390, ast_A0E340, ast_BFA740, ast_CBFE70, ast_D27600
extern Gfx D_7000000[];
@ -1950,57 +1986,57 @@ extern Gfx D_F014310[];
// fox_map, to be ordered later
extern u8 D_60030D0[];
extern u8 D_600B9B0[];
extern u8 D_6010010[];
extern u8 D_600E210[];
extern u8 D_6006320[];
extern u8 D_60131A0[];
extern u8 D_6001C80[];
extern u8 D_6017640[];
extern u8 D_6014360[];
extern u8 D_6008990[];
extern u8 D_600AD30[];
extern u8 D_6011EA0[];
extern u8 D_6016760[];
extern u8 D_6005740[];
extern u8 D_6003B50[];
extern u8 D_600CC10[];
extern u8 D_60105C0[];
extern u8 D_600F390[];
extern u8 D_6006E80[];
extern u8 D_60139E0[];
extern u8 D_6002160[];
extern u8 D_6018280[];
extern u8 D_6014BA0[];
extern Gfx D_6055F20[];
extern Gfx D_6051D20[];
extern u8 D_601FF40[];
extern u8 D_602B6D0[];
extern u8 D_6026D70[];
extern u8 D_602FFD0[];
extern u8 D_60223E0[];
extern u8 D_6024890[];
extern u8 D_60190B0[];
extern u8 D_602DB60[];
extern Gfx D_6060610[];
extern Gfx D_601C0D0[];
extern Gfx D_601DE80[];
extern Gfx D_601C960[];
extern f32 D_603E118[];
extern f32 D_603E14C[];
extern f32 D_603E1B4[];
extern f32 D_603E21C[];
extern f32 D_603E3E0[];
extern f32 D_603E468[];
extern f32 D_603E484[];
extern f32 D_603E4A0[];
extern f32 D_603E4A4[];
extern f32 D_603E4DC[];
extern f32 D_603E514[];
extern f32 D_603E54C[];
extern f32 D_603E598[];
extern f32 D_603E5B4[];
extern f32 D_603E5D0[];
extern f32 D_603E604[];
extern f32 D_603E620[];
extern f32 D_603E714[];
extern f32 D_603E748[];
extern f32 D_603E7C4[];
extern f32 D_603E840[];
extern f32 D_603E88C[];
extern f32 D_603E8A8[];
extern f32 D_603E98C[];
extern f32 D_603E9EC[];
extern f32 D_603EA08[];
extern f32 D_603EA74[];
extern f32 D_603EAE0[];
extern f32 D_603EB0C[];
extern u16 D_603EB38[];
extern Triangle D_603F338[];
extern u16 D_603F380[];
extern Vec3f D_603F388[];
extern Triangle D_603F40C[];
extern Vec3f D_603F4E4[];
extern Gfx D_6041070[];
extern u16 D_6041A80[];
extern u16 D_6044180[];
extern u16 D_60447A0[];
extern u16 D_6047550[];
extern Gfx D_6049F80[];
extern Gfx D_604A190[];
extern Gfx D_604A400[];
extern Gfx D_604A710[];
extern Gfx D_604A9F0[];
extern Gfx D_604B750[];
extern Gfx D_604DB10[];
extern Gfx D_601F6B0[];
extern u16 D_6041A80[];
extern u16 D_603F380[];
extern u16 D_6035780[];
extern u16 D_6037E80[];
extern u16 D_6033080[];
extern u16 D_603CC80[];
extern u16 D_603A580[];
extern u16 D_603A580[];
extern u16 D_6032A60[];
extern u16 D_6044180[];
extern u16 D_6032440[];
extern Gfx D_6051D20[];
extern Gfx D_6055F20[];
extern Gfx D_605C230[];
extern Gfx D_6060610[];
extern Gfx D_9006AE0[];
extern Gfx D_9000570[];

View File

@ -3,6 +3,7 @@ __libm_qnan_f = 0x800C9570;
D_1 = 0x1; //ignore:true
D_80120000 = 0x80120000;//ignore:true
D_80130001 = 0x80130001;//ignore:true
D_80150000 = 0x80150000;//ignore:true
D_80000000 = 0x80000000;//ignore:true
D_80000001 = 0x80000001;//ignore:true
D_80000002 = 0x80000002;//ignore:true
@ -19,6 +20,10 @@ D_8000000C = 0x8000000C;//ignore:true
D_8000000D = 0x8000000D;//ignore:true
D_8000000E = 0x8000000E;//ignore:true
D_8000000F = 0x8000000F;//ignore:true
D_80000014 = 0x80000014;//ignore:true
D_80000018 = 0x80000018;//ignore:true
D_8000001C = 0x8000001C;//ignore:true
D_80000024 = 0x80000024;//ignore:true
D_800C45E0 = 0x800C45E0;
@ -87,10 +92,10 @@ D_800C93EC = 0x800C93EC; // force_migration:True
D_DF4260_8019B1EC = 0x8019B1EC; // force_migration:True segment:ovl_DF4260
D_DF4260_8019B6D8 = 0x8019B6D8; // size:0x110 segment:ovl_DF4260
D_E16C50_801C171C = 0x801C171C; // force_migration:True segment:ovl_E16C50
D_E16C50_801C1728 = 0x801C1728; // force_migration:True segment:ovl_E16C50
D_E16C50_801C1730 = 0x801C1730; // force_migration:True segment:ovl_E16C50
D_E16C50_801C1758 = 0x801C1758; // force_migration:True segment:ovl_E16C50
D_i3_801C171C = 0x801C171C; // force_migration:True segment:ovl_i3
D_i3_801C1728 = 0x801C1728; // force_migration:True segment:ovl_i3
D_i3_801C1730 = 0x801C1730; // force_migration:True segment:ovl_i3
D_i3_801C1758 = 0x801C1758; // force_migration:True segment:ovl_i3
D_E6A810_801BB83C = 0x801BB83C; // force_migration:True segment:ovl_E6A810
D_E6A810_801BB808 = 0x801BB808; // force_migration:True segment:ovl_E6A810
D_E6A810_801BBAD0 = 0x801BBAD0; // force_migration:True segment:ovl_E6A810

View File

@ -151,6 +151,9 @@ Message_IsPrintingChar = 0x800C2F30;
D_800C9CC4 = 0x800C9CC4;
D_800C9CF8 = 0x800C9CF8;
// fox_43AC0
gBossFrameCount = 0x801613A0;
// fox_save
gDefaultSave = 0x800D4D10;
gSaveFile = 0x80178870; //size:0x200
@ -355,11 +358,13 @@ func_800A25DC = 0x800A25DC;
func_800A26C0 = 0x800A26C0;
func_800A3608 = 0x800A3608;
gTotalHits = 0x80161714;
// sf_hud
gMedalFlashTimer = 0x801617B8;
gTotalHits = 0x80161714;
gShowBossHealth = 0x80161734;
gMedalStatus = 0x801617B4;
gMedalFlashTimer = 0x801617B8;
// fox_play
D_80161A50 = 0x80161A50;
@ -410,7 +415,7 @@ gGameState = 0x80177834;
D_80177838 = 0x80177838;
D_Timer_8017783C = 0x8017783C;
D_80177840 = 0x80177840;
D_80177848 = 0x80177848;
gBossHealthBar = 0x80177848;
D_8017784C = 0x8017784C;
D_80177850 = 0x80177850;
D_80177854 = 0x80177854;
@ -436,7 +441,7 @@ gTeamDamage = 0x80177910;
gBrakeButton = 0x80177928;
D_80177930 = 0x80177930;
gShootButton = 0x80177938;
D_80177940 = 0x80177940;
gGroundLevel = 0x80177940;
gBombButton = 0x80177948;
D_80177950 = 0x80177950;
D_80177958 = 0x80177958;

View File

@ -30,66 +30,66 @@ D_EBFBE0_801AEE6C = 0x801AEE6C; // type:s32 size:0x58 force_migration:True segme
D_EBFBE0_801AF25C = 0x801AF25C; // type:f32 size:0x18 force_migration:True segment:ovl_menu
D_EBFBE0_801AF274 = 0x801AF274; // type:f32 size:0x18 force_migration:True segment:ovl_menu
func_E16C50_80187754 = 0x80187754;
func_E16C50_801932AC = 0x801932AC;
func_E16C50_8019B1F0 = 0x8019B1F0;
func_E16C50_8019B810 = 0x8019B810;
func_E16C50_8019C200 = 0x8019C200;
func_E16C50_8019D060 = 0x8019D060;
func_E16C50_801AD688 = 0x801AD688;
func_E16C50_801AE3AC = 0x801AE3AC;
func_E16C50_801AF9FC = 0x801AF9FC;
func_E16C50_801B10F8 = 0x801B10F8;
func_E16C50_801B6344 = 0x801B6344;
func_E16C50_801B6E54 = 0x801B6E54;
func_E16C50_801B7AF0 = 0x801B7AF0;
func_E16C50_801BA57C = 0x801BA57C;
func_E16C50_801BB26C = 0x801BB26C;
func_E16C50_801915A4 = 0x801915A4;
func_E16C50_80191BB8 = 0x80191BB8;
D_E16C50_801C2240 = 0x801C2240;
D_E16C50_801C4188 = 0x801C4188;
D_E16C50_801C2250 = 0x801C2250;//size:0xA0 segment:ovl_E16C50
D_E16C50_801C22F0 = 0x801C22F0;//size:0x40 segment:ovl_E16C50
D_E16C50_801BF1F0 = 0x801BF1F0;//size:0x30 type:f32 segment:ovl_E16C50
D_E16C50_801BF220 = 0x801BF220;//size:0x30 type:f32 segment:ovl_E16C50
D_E16C50_801BF250 = 0x801BF250;//size:0x30 type:f32 segment:ovl_E16C50
D_E16C50_801BF280 = 0x801BF280;//size:0x30 type:f32 segment:ovl_E16C50
D_E16C50_801BF2B0 = 0x801BF2B0;//size:0x30 type:f32 segment:ovl_E16C50
D_E16C50_801BF2E0 = 0x801BF2E0;//size:0x30 type:f32 segment:ovl_E16C50
D_E16C50_801BF8AC = 0x801BF8AC;//size:0xC type:Vec3f segment:ovl_E16C50
D_E16C50_801BF8B8 = 0x801BF8B8;//size:0xC type:Vec3f segment:ovl_E16C50
D_E16C50_801BF8C4 = 0x801BF8C4;//size:0x8 type:f32 segment:ovl_E16C50
D_E16C50_801BED10 = 0x801BED10;//size:0xC type:Vec3f segment:ovl_E16C50
D_E16C50_801BED1C = 0x801BED1C;//size:0xC type:Vec3f segment:ovl_E16C50
D_E16C50_801BED70 = 0x801BED70;//size:0x90 type:Vec3f segment:ovl_E16C50
D_E16C50_801BEE00 = 0x801BEE00;//size:0x90 type:Vec3f segment:ovl_E16C50
D_E16C50_801BEEF0 = 0x801BEEF0;//size:0x90 type:Vec3f segment:ovl_E16C50
D_E16C50_801BEF80 = 0x801BEF80;//size:0x90 type:Vec3f segment:ovl_E16C50
D_E16C50_801BF070 = 0x801BF070;//size:0x90 type:Vec3f segment:ovl_E16C50
D_E16C50_801BF100 = 0x801BF100;//size:0x90 type:Vec3f segment:ovl_E16C50
D_E16C50_801BF190 = 0x801BF190;//size:0x30 type:f32 segment:ovl_E16C50
func_i3_80187754 = 0x80187754;
func_i3_801932AC = 0x801932AC;
func_i3_8019B1F0 = 0x8019B1F0;
func_i3_8019B810 = 0x8019B810;
func_i3_8019C200 = 0x8019C200;
func_i3_8019D060 = 0x8019D060;
func_i3_801AD688 = 0x801AD688;
func_i3_801AE3AC = 0x801AE3AC;
func_i3_801AF9FC = 0x801AF9FC;
func_i3_801B10F8 = 0x801B10F8;
func_i3_801B6344 = 0x801B6344;
func_i3_801B6E54 = 0x801B6E54;
func_i3_801B7AF0 = 0x801B7AF0;
func_i3_801BA57C = 0x801BA57C;
func_i3_801BB26C = 0x801BB26C;
func_i3_801915A4 = 0x801915A4;
func_i3_80191BB8 = 0x80191BB8;
D_i3_801C2240 = 0x801C2240;
D_i3_801C4188 = 0x801C4188;
D_i3_801C2250 = 0x801C2250;//size:0xA0 segment:ovl_i3
D_i3_801C22F0 = 0x801C22F0;//size:0x40 segment:ovl_i3
D_i3_801BF1F0 = 0x801BF1F0;//size:0x30 type:f32 segment:ovl_i3
D_i3_801BF220 = 0x801BF220;//size:0x30 type:f32 segment:ovl_i3
D_i3_801BF250 = 0x801BF250;//size:0x30 type:f32 segment:ovl_i3
D_i3_801BF280 = 0x801BF280;//size:0x30 type:f32 segment:ovl_i3
D_i3_801BF2B0 = 0x801BF2B0;//size:0x30 type:f32 segment:ovl_i3
D_i3_801BF2E0 = 0x801BF2E0;//size:0x30 type:f32 segment:ovl_i3
D_i3_801BF8AC = 0x801BF8AC;//size:0xC type:Vec3f segment:ovl_i3
D_i3_801BF8B8 = 0x801BF8B8;//size:0xC type:Vec3f segment:ovl_i3
D_i3_801BF8C4 = 0x801BF8C4;//size:0x8 type:f32 segment:ovl_i3
D_i3_801BED10 = 0x801BED10;//size:0xC type:Vec3f segment:ovl_i3
D_i3_801BED1C = 0x801BED1C;//size:0xC type:Vec3f segment:ovl_i3
D_i3_801BED70 = 0x801BED70;//size:0x90 type:Vec3f segment:ovl_i3
D_i3_801BEE00 = 0x801BEE00;//size:0x90 type:Vec3f segment:ovl_i3
D_i3_801BEEF0 = 0x801BEEF0;//size:0x90 type:Vec3f segment:ovl_i3
D_i3_801BEF80 = 0x801BEF80;//size:0x90 type:Vec3f segment:ovl_i3
D_i3_801BF070 = 0x801BF070;//size:0x90 type:Vec3f segment:ovl_i3
D_i3_801BF100 = 0x801BF100;//size:0x90 type:Vec3f segment:ovl_i3
D_i3_801BF190 = 0x801BF190;//size:0x30 type:f32 segment:ovl_i3
D_E16C50_801C2330 = 0x801C2330;//segment:ovl_E16C50 type:s32 size:0xA0
D_E16C50_801C23D0 = 0x801C23D0;//segment:ovl_E16C50 type:s32 size:0x118
D_E16C50_801C24E8 = 0x801C24E8;//segment:ovl_E16C50 type:f32 size:0x258
sZoLimbTimers = 0x801C2330;//segment:ovl_i3 type:s32 size:0xA0
sZoSwork = 0x801C23D0;//segment:ovl_i3 type:s32 size:0x118
sZoFwork = 0x801C24E8;//segment:ovl_i3 type:f32 size:0x258
D_E16C50_801C27C8 = 0x801C27C8; //segment:ovl_E16C50 size:0x12C0
D_E16C50_801C3A88 = 0x801C3A88; //segment:ovl_E16C50 size:0x700
D_E16C50_801C4190 = 0x801C4190; //segment:ovl_E16C50 size:0x28
D_E16C50_801C41B8 = 0x801C41B8; //segment:ovl_E16C50 size:0x78
D_E16C50_801C4230 = 0x801C4230; //segment:ovl_E16C50 size:0x70
D_E16C50_801C42A0 = 0x801C42A0; //segment:ovl_E16C50 size:0x68
D_E16C50_801C4308 = 0x801C4308; //segment:ovl_E16C50 size:0x148
D_E16C50_801C0060 = 0x801C0060; //segment:ovl_E16C50 type:f32
D_E16C50_801BFE14 = 0x801BFE14; //segment:ovl_E16C50 type:s32
D_E16C50_801C0264 = 0x801C0264; //segment:ovl_E16C50 type:s32
D_E16C50_801C02C8 = 0x801C02C8; //segment:ovl_E16C50 type:f32
D_E16C50_801C02D0 = 0x801C02D0; //segment:ovl_E16C50 type:s32
D_E16C50_801C0130 = 0x801C0130; //segment:ovl_E16C50 ignore:True
D_E16C50_801C2740 = 0x801C2740; //segment:ovl_E16C50 size:0x28
D_E16C50_801C2768 = 0x801C2768; //segment:ovl_E16C50 size:0x38
D_E16C50_801C27A0 = 0x801C27A0; //segment:ovl_E16C50 size:0x20
D_i3_801C27C8 = 0x801C27C8; //segment:ovl_i3 size:0x12C0
D_i3_801C3A88 = 0x801C3A88; //segment:ovl_i3 size:0x700
D_i3_801C4190 = 0x801C4190; //segment:ovl_i3 size:0x28
D_i3_801C41B8 = 0x801C41B8; //segment:ovl_i3 size:0x78
D_i3_801C4230 = 0x801C4230; //segment:ovl_i3 size:0x70
D_i3_801C42A0 = 0x801C42A0; //segment:ovl_i3 size:0x68
D_i3_801C4308 = 0x801C4308; //segment:ovl_i3 size:0x148
D_i3_801C0060 = 0x801C0060; //segment:ovl_i3 type:f32
D_i3_801BFE14 = 0x801BFE14; //segment:ovl_i3 type:s32
D_i3_801C0264 = 0x801C0264; //segment:ovl_i3 type:s32
D_i3_801C02C8 = 0x801C02C8; //segment:ovl_i3 type:f32
D_i3_801C02D0 = 0x801C02D0; //segment:ovl_i3 type:s32
D_i3_801C0130 = 0x801C0130; //segment:ovl_i3 ignore:True
D_i3_801C2740 = 0x801C2740; //segment:ovl_i3 size:0x28
D_i3_801C2768 = 0x801C2768; //segment:ovl_i3 size:0x38
D_i3_801C27A0 = 0x801C27A0; //segment:ovl_i3 size:0x20
func_E51970_80198594 = 0x80198594;
func_E51970_80193CA4 = 0x80193CA4;

View File

@ -357,6 +357,7 @@ D_5000480 = 0x05000480;
D_6000E00 = 0x06000E00;
D_6001360 = 0x06001360;
D_6001DA0 = 0x06001DA0;
D_60012A0 = 0x060012A0;
D_60023B0 = 0x060023B0;
D_6002990 = 0x06002990;
D_6003000 = 0x06003000;
@ -431,7 +432,7 @@ D_600F6C0 = 0x0600F6C0;
D_600FD50 = 0x0600FD50;
D_600FE9C = 0x0600FE9C;
D_600FEB8 = 0x0600FEB8;
D_600FF30 = 0x0600FF30;
D_600FF30_Hitbox = 0x0600FF30;
D_600FF80 = 0x0600FF80;
D_600FFA0 = 0x0600FFA0;
D_600FFC0 = 0x0600FFC0;
@ -467,6 +468,8 @@ D_60153B0 = 0x060153B0;
D_6015730 = 0x06015730;
D_6015CE0 = 0x06015CE0;
D_6015F00 = 0x06015F00;
D_6015FF0 = 0x06015FF0;
D_6015DD0 = 0x06015DD0;
D_6016270 = 0x06016270;
D_6016374 = 0x06016374;
D_60164F0 = 0x060164F0;
@ -508,8 +511,11 @@ D_601F500 = 0x0601F500;
D_601F5A0 = 0x0601F5A0;
D_601FCB0 = 0x0601FCB0;
D_6022340 = 0x06022340;
D_6022110 = 0x06022110;
D_60231C0 = 0x060231C0;
D_60238F0 = 0x060238F0;
D_60239E0 = 0x060239E0;
D_6023730 = 0x06023730;
D_6024010 = 0x06024010;
D_60244A0 = 0x060244A0;
D_60247E0 = 0x060247E0;
@ -580,7 +586,7 @@ D_6030D20 = 0x06030D20;
D_6030D74 = 0x06030D74;
D_6030DF8 = 0x06030DF8;
D_6030E14 = 0x06030E14;
D_6030E30 = 0x06030E30;
D_6030E30_Hitbox = 0x06030E30;
D_6030E4C = 0x06030E4C;
D_6030E68 = 0x06030E68;
D_6030E74 = 0x06030E74;
@ -714,6 +720,7 @@ D_603F338 = 0x0603F338;
D_603F388 = 0x0603F388;
D_603F40C = 0x0603F40C;
D_603F4E4 = 0x0603F4E4;
D_6049F80 = 0x06049F80;
D_604A190 = 0x0604A190;
D_604A400 = 0x0604A400;
D_604A710 = 0x0604A710;
@ -723,6 +730,25 @@ D_60034E0 = 0x060034E0;
D_6003580 = 0x06003580;
D_6003620 = 0x06003620;
D_60036C0 = 0x060036C0;
D_6037160 = 0x06037160;
D_6026C80 = 0x06026C80;
D_602A120 = 0x0602A120;
D_6023F20 = 0x06023F20;
D_6028760 = 0x06028760;
D_602E4B0 = 0x0602E4B0;
D_6007E30 = 0x06007E30;
D_601F1F0 = 0x0601F1F0;
D_60266D0 = 0x060266D0;
D_C035110 = 0x0C035110;
D_6006A60 = 0x06006A60;
D_6030E30_Env = 0x06030E30;
D_6005000 = 0x06005000;
D_602E540 = 0x0602E540;
D_600EA90 = 0x0600EA90;
D_6011000 = 0x06011000;
D_600FF30_Env = 0x0600FF30;
D_6006E70 = 0x06006E70;
D_6014D50 = 0x06014D50;
D_700AB70 = 0x0700AB70;
D_700BE00 = 0x0700BE00;
@ -747,59 +773,57 @@ D_D00B5C0 = 0x0D00B5C0;
D_D00B720 = 0x0D00B720;
// fox_map, to be ordered later
D_60030D0 = 0x060030D0;
D_600B9B0 = 0x0600B9B0;
D_6010010 = 0x06010010;
D_600E210 = 0x0600E210;
D_6006320 = 0x06006320;
D_60131A0 = 0x060131A0;
D_6001C80 = 0x06001C80;
D_6017640 = 0x06017640;
D_6014360 = 0x06014360;
D_6002160 = 0x06002160;
D_60030D0 = 0x060030D0;
D_6003B50 = 0x06003B50;
D_6005740 = 0x06005740;
D_6006320 = 0x06006320;
D_6006E80 = 0x06006E80;
D_6008990 = 0x06008990;
D_600AD30 = 0x0600AD30;
D_6011EA0 = 0x06011EA0;
D_6016760 = 0x06016760;
D_6005740 = 0x06005740;
D_6003B50 = 0x06003B50;
D_600B9B0 = 0x0600B9B0;
D_600CC10 = 0x0600CC10;
D_60105C0 = 0x060105C0;
D_600E210 = 0x0600E210;
D_600F390 = 0x0600F390;
D_6006E80 = 0x06006E80;
D_6010010 = 0x06010010;
D_60105C0 = 0x060105C0;
D_6011EA0 = 0x06011EA0;
D_60131A0 = 0x060131A0;
D_60139E0 = 0x060139E0;
D_6002160 = 0x06002160;
D_6018280 = 0x06018280;
D_6014360 = 0x06014360;
D_6014BA0 = 0x06014BA0;
D_6055F20 = 0x06055F20;
D_6051D20 = 0x06051D20;
D_6016760 = 0x06016760;
D_6017640 = 0x06017640;
D_6018280 = 0x06018280;
D_60190B0 = 0x060190B0;
D_601C0D0 = 0x0601C0D0;
D_601C960 = 0x0601C960;
D_601DE80 = 0x0601DE80;
D_601F6B0 = 0x0601F6B0;
D_601FF40 = 0x0601FF40;
D_602B6D0 = 0x0602B6D0;
D_6026D70 = 0x06026D70;
D_602FFD0 = 0x0602FFD0;
D_60223E0 = 0x060223E0;
D_6024890 = 0x06024890;
D_60190B0 = 0x060190B0;
D_6026D70 = 0x06026D70;
D_602B6D0 = 0x0602B6D0;
D_602DB60 = 0x0602DB60;
D_6060610 = 0x06060610;
D_601C0D0 = 0x0601C0D0;
D_601DE80 = 0x0601DE80;
D_601C960 = 0x0601C960;
D_604B750 = 0x0604B750;
D_604DB10 = 0x0604DB10;
D_601F6B0 = 0x0601F6B0;
D_6041A80 = 0x06041A80;
D_603F380 = 0x0603F380;
D_602FFD0 = 0x0602FFD0;
D_6032440 = 0x06032440;
D_6032A60 = 0x06032A60;
D_6033080 = 0x06033080;
D_6035780 = 0x06035780;
D_6037E80 = 0x06037E80;
D_6033080 = 0x06033080;
D_603CC80 = 0x0603CC80;
D_603A580 = 0x0603A580;
D_6032A60 = 0x06032A60;
D_603CC80 = 0x0603CC80;
D_603F380 = 0x0603F380;
D_6041A80 = 0x06041A80;
D_6044180 = 0x06044180;
D_6032440 = 0x06032440;
D_604B750 = 0x0604B750;
D_604DB10 = 0x0604DB10;
D_6051D20 = 0x06051D20;
D_6055F20 = 0x06055F20;
D_6060610 = 0x06060610;
D_9006AE0 = 0x09006AE0;
D_9000570 = 0x09000570;
D_90086F0 = 0x090086F0;

View File

@ -63,7 +63,7 @@ DmaEntry gDmaTable[90] = {
{ SEGMENT_ROM_START(ast_DE5D50), { SEGMENT_ROM_START(ast_DE5D50), SEGMENT_ROM_END(ast_DE5D50) }, false },
{ SEGMENT_ROM_START(ovl_DF4260), { SEGMENT_ROM_START(ovl_DF4260), SEGMENT_ROM_END(ovl_DF4260) }, false },
{ SEGMENT_ROM_START(ovl_E08400), { SEGMENT_ROM_START(ovl_E08400), SEGMENT_ROM_END(ovl_E08400) }, false },
{ SEGMENT_ROM_START(ovl_E16C50), { SEGMENT_ROM_START(ovl_E16C50), SEGMENT_ROM_END(ovl_E16C50) }, false },
{ SEGMENT_ROM_START(ovl_i3), { SEGMENT_ROM_START(ovl_i3), SEGMENT_ROM_END(ovl_i3) }, false },
{ SEGMENT_ROM_START(ovl_E51970), { SEGMENT_ROM_START(ovl_E51970), SEGMENT_ROM_END(ovl_E51970) }, false },
{ SEGMENT_ROM_START(ovl_E6A810), { SEGMENT_ROM_START(ovl_E6A810), SEGMENT_ROM_END(ovl_E6A810) }, false },
{ SEGMENT_ROM_START(ovl_E9F1D0), { SEGMENT_ROM_START(ovl_E9F1D0), SEGMENT_ROM_END(ovl_E9F1D0) }, false },

View File

@ -226,7 +226,7 @@ void func_8002E700(Player* player) {
player->unk_014 = 0;
player->unk_018 = 0;
player->unk_01C = 0;
gActors->unk_0B8 = 2;
gActors[0].unk_0B8 = 2;
}
break;
}
@ -1025,7 +1025,7 @@ void func_8003088C(Actor* arg0) {
arg0->fwork[14] = sp3C.y;
arg0->fwork[12] = sp3C.z;
}
if ((gRadioState == 0) && (gActors->obj.status == 2)) {
if ((gRadioState == 0) && (gActors[0].obj.status == 2)) {
if (arg0->unk_0D0 == 3) {
switch (arg0->unk_0E4) {
case 1:
@ -1375,7 +1375,7 @@ void func_800319AC(Actor* this) {
case 0:
if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_9) {
this->fwork[0] = this->fwork[1] = 40.0f;
if (gActors->unk_0B8 == 5) {
if (gActors[0].unk_0B8 == 5) {
Math_SmoothStepToF(&this->unk_0F4.x, 30.0f, 0.1f, 0.5f, 0.0f);
this->fwork[1] = 200.0f;
}
@ -1462,7 +1462,7 @@ void func_800319AC(Actor* this) {
this->fwork[6] = gPlayer[0].unk_138 + spC4;
this->fwork[1] = gPlayer[0].unk_0D0 + 10.0f;
}
if ((gActors->unk_0B8 == 6) && (this->unk_0E4 < 4)) {
if ((gActors[0].unk_0B8 == 6) && (this->unk_0E4 < 4)) {
this->fwork[3] = 3.0f;
this->fwork[1] = gPlayer[0].unk_0D0 - 5.0f;
this->iwork[11] = 2;
@ -1508,7 +1508,7 @@ void func_800319AC(Actor* this) {
this->fwork[6] = gBosses[0].obj.pos.z;
this->fwork[1] = 40.0f;
}
if ((this->unk_0E6 >= 0) && (this->unk_0E6 != 100) && (gActors->unk_0B8 != 6)) {
if ((this->unk_0E6 >= 0) && (this->unk_0E6 != 100) && (gActors[0].unk_0B8 != 6)) {
if (spE8 < spF8) {
if (spEC < spF8) {
if (this->unk_0E6 != 0) {
@ -1529,7 +1529,7 @@ void func_800319AC(Actor* this) {
this->iwork[4]++;
this->iwork[5] = 1;
if (!((this->index + gFrameCount) & sp10F) && (Rand_ZeroOne() < spF0) && func_80031900(this) &&
((gActors->unk_0B8 == 2) || (gCurrentLevel == LEVEL_TRAINING))) {
((gActors[0].unk_0B8 == 2) || (gCurrentLevel == LEVEL_TRAINING))) {
if ((this->unk_0E6 == 0) && (gCurrentLevel != LEVEL_TRAINING)) {
if ((this->iwork[4] > 250) && (gCurrentLevel != LEVEL_VENOM_ANDROSS)) {
if ((Rand_ZeroOne() < 0.5f) || (gCurrentLevel == LEVEL_VENOM_2)) {
@ -1558,7 +1558,7 @@ void func_800319AC(Actor* this) {
}
}
if ((gRadioState == 0) && (this->timer_0C4 == 0) && (D_8015F928 > 700) && (D_8015F908 == 0) &&
(gActors->obj.status == 2)) {
(gActors[0].obj.status == 2)) {
this->timer_0C4 = 600;
if (Rand_ZeroOne() < 0.5f) {
gActors[this->unk_0E6].iwork[6]++;
@ -1745,7 +1745,7 @@ void func_800319AC(Actor* this) {
this->fwork[3] = 1.0f;
this->fwork[1] = 38.0f;
}
if ((gCurrentLevel == LEVEL_SECTOR_Z) && (gActors->unk_0B8 == 0xA)) {
if ((gCurrentLevel == LEVEL_SECTOR_Z) && (gActors[0].unk_0B8 == 0xA)) {
this->fwork[10] = 30.0f;
}
if ((gLevelType == LEVELTYPE_SPACE) && (gCurrentLevel != LEVEL_BOLSE)) {
@ -1905,7 +1905,7 @@ void func_800319AC(Actor* this) {
if (spD8 < 0.0f) {
spD8 += 360.0f;
}
} else if ((this->obj.pos.y < (D_80177940 + 50.0f)) && (spD8 > 180.0f)) {
} else if ((this->obj.pos.y < (gGroundLevel + 50.0f)) && (spD8 > 180.0f)) {
spD8 = 0.0f;
this->unk_0F4.x = 0.0f;
}
@ -1967,8 +1967,8 @@ void func_800319AC(Actor* this) {
this->fwork[13] -= (this->fwork[13] * 0.1f);
this->fwork[14] -= (this->fwork[14] * 0.1f);
this->fwork[12] -= (this->fwork[12] * 0.1f);
if ((this->obj.pos.y < D_80177940 + 40.0f) && (this->vel.y < 0.0f)) {
this->obj.pos.y = D_80177940 + 40.0f;
if ((this->obj.pos.y < gGroundLevel + 40.0f) && (this->vel.y < 0.0f)) {
this->obj.pos.y = gGroundLevel + 40.0f;
this->vel.y = 0.0f;
}
if (this->iwork[0] != 0) {
@ -2022,7 +2022,7 @@ void func_800319AC(Actor* this) {
temp_v1->unk_10 = this->unk_0F4.y + 180.0f;
if (this->iwork[1] != 0) {
this->iwork[1]--;
if ((this->iwork[1] == 0) && (gActors->unk_0B8 == 2) && (gRadioState == 0)) {
if ((this->iwork[1] == 0) && (gActors[0].unk_0B8 == 2) && (gRadioState == 0)) {
switch (this->unk_0E4) {
case 1:
func_8002F5F4(gMsg_ID_9220, RCID_FALCO);
@ -2125,7 +2125,7 @@ void func_80035098(Actor* actor) {
Matrix_RotateX(gGfxMatrix, -actor->obj.rot.x * M_DTOR, 1);
Matrix_RotateY(gGfxMatrix, M_DTOR * -actor->obj.rot.y - gPlayer[0].unk_058, 1);
Matrix_RotateX(gGfxMatrix, gPlayer[0].unk_05C, 1);
Matrix_RotateZ(gGfxMatrix, gFrameCount * 20.0f * (*actor).iwork[15] * M_DTOR, 1);
Matrix_RotateZ(gGfxMatrix, gFrameCount * 20.0f * actor->iwork[15] * M_DTOR, 1);
if (actor->iwork[15] < 0) {
Matrix_RotateX(gGfxMatrix, M_PI, 1);
}

View File

@ -1,6 +1,6 @@
#include "global.h"
s32 D_801613A0;
s32 gBossFrameCount;
s32 D_800C9E90[28] = {
0x8012, 0x8013, 0x8015, 0x8017, 0x8017, 0x8019, 0x8018, 0x801B, 0x8016, 0x8018, 0x8012, 0x8020, 0x8014, 0x801E,
@ -13,13 +13,13 @@ void func_80042EC0(Boss* boss) {
s32 var_a3;
f32 var_fv0;
if (D_801613A0 < 0xF00) {
if (gBossFrameCount < 0xF00) {
var_a3 = 10;
} else if (D_801613A0 < 0x1680) {
} else if (gBossFrameCount < 0x1680) {
var_a3 = 5;
} else if (D_801613A0 < 0x1E00) {
} else if (gBossFrameCount < 0x1E00) {
var_a3 = 2;
} else if (D_801613A0 < 0x2580) {
} else if (gBossFrameCount < 0x2580) {
var_a3 = 1;
} else {
var_a3 = 0;

View File

@ -326,12 +326,12 @@ void func_800444BC(Player* player) {
sp30 = 0.0f;
}
sp40 = sp3C = 0.0f;
sp38 = D_80177940;
sp38 = gGroundLevel;
if (D_801784AC == 4) {
func_E6A810_801B6E20(player->pos.x, player->unk_138 + player->unk_144, &sp40, &sp38, &sp3C);
}
if (gCurrentLevel == LEVEL_MACBETH) {
D_E6A810_801BE250.unk_6C = D_80177940;
D_E6A810_801BE250.unk_6C = gGroundLevel;
D_E6A810_801BE250.unk_70 = D_E6A810_801BE250.unk_74 = 0.0f;
D_800C9F10 = 0.0f;
func_80047754(player);
@ -828,7 +828,7 @@ void func_80046358(Player* player) {
player->unk_064 = player->pos.x;
player->unk_06C = player->unk_138 + -20.0f;
player->unk_068 = D_80177940 + 3.0f;
player->unk_068 = gGroundLevel + 3.0f;
player->unk_248 = 0.0f;
player->unk_24C = 0.0f;
player->unk_070 = 0.0f;
@ -1164,7 +1164,7 @@ void func_80047504(Player* player) {
} else {
player->unk_064 = player->pos.x;
player->unk_06C = player->unk_138 + -10.0f;
player->unk_068 = D_80177940 - 4.0f;
player->unk_068 = gGroundLevel - 4.0f;
player->unk_248 = 0.0f;
player->unk_24C = 0.0f;
player->unk_070 = 0.0f;

View File

@ -54,16 +54,17 @@ void func_80035E78(PlayerShot* shot) {
shot->unk_58 = 150;
func_8001CE28(shot->playerNum, &shot->sfxPos);
D_Timer_80161A60 = 4;
if (shot->obj.pos.y < (D_80177940 + 450.0f)) {
if (shot->obj.pos.y < (gGroundLevel + 450.0f)) {
D_80178480 = 15;
if (D_80161A88 == 2) {
func_8007D9DC(shot->obj.pos.x, D_80177940 + 2.0f, shot->obj.pos.z, shot->unk_48 * 0.1f,
func_8007D9DC(shot->obj.pos.x, gGroundLevel + 2.0f, shot->obj.pos.z, shot->unk_48 * 0.1f,
shot->unk_48 * 3.0f, 0);
func_8007D9DC(shot->obj.pos.x, D_80177940 + 2.0f, shot->obj.pos.z, shot->unk_48 * 0.1f,
func_8007D9DC(shot->obj.pos.x, gGroundLevel + 2.0f, shot->obj.pos.z, shot->unk_48 * 0.1f,
shot->unk_48 * 3.0f, 5);
func_8007D9DC(shot->obj.pos.x, D_80177940 + 2.0f, shot->obj.pos.z, shot->unk_48 * 0.1f,
func_8007D9DC(shot->obj.pos.x, gGroundLevel + 2.0f, shot->obj.pos.z, shot->unk_48 * 0.1f,
shot->unk_48 * 3.0f, 10);
func_8007ADF4(shot->obj.pos.x, D_80177940, shot->obj.pos.z, shot->unk_48 * 0.05f, shot->unk_48 * 0.5f);
func_8007ADF4(shot->obj.pos.x, gGroundLevel, shot->obj.pos.z, shot->unk_48 * 0.05f,
shot->unk_48 * 0.5f);
func_8007A6F0(&shot->obj.pos, 0x19000014);
} else {
func_80062B60(shot->obj.pos.x, shot->obj.pos.z, 0, shot->unk_48 * 3.0f);
@ -78,7 +79,7 @@ void func_80035E78(PlayerShot* shot) {
if (var_fv1 > 2.0f) {
var_fv1 = 2.0f;
}
func_8007B550(shot->obj.pos.x, D_80177940 + 6.0f, shot->obj.pos.z, shot->unk_48 * (1.5f + var_fv1),
func_8007B550(shot->obj.pos.x, gGroundLevel + 6.0f, shot->obj.pos.z, shot->unk_48 * (1.5f + var_fv1),
var_fv0);
}
@ -950,7 +951,7 @@ void func_80038140(PlayerShot* shot) {
if (shot->obj.id == PLAYERSHOT_4) {
Object_Kill(&shot->obj, &shot->sfxPos);
} else {
boss->unk_062 = 1;
boss->dmgType = DMG_BEAM;
func_80036318(shot);
Audio_PlaySfx(0x29001062, &shot->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
@ -964,8 +965,8 @@ void func_80038140(PlayerShot* shot) {
if (shot->obj.id == PLAYERSHOT_4) {
Object_Kill(&shot->obj, &shot->sfxPos);
} else {
boss->unk_062 = 1;
boss->unk_066 = 100;
boss->dmgType = DMG_BEAM;
boss->dmgPart = 100;
Audio_PlaySfx(0x29121007, &shot->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
func_80036318(shot);
}
@ -976,25 +977,25 @@ void func_80038140(PlayerShot* shot) {
if (shot->obj.id == PLAYERSHOT_4) {
Object_Kill(&shot->obj, &shot->sfxPos);
} else if (!((boss->obj.id == OBJ_BOSS_316) && (shot->playerNum != 0))) {
boss->unk_062 = 1;
boss->dmgType = DMG_BEAM;
if (shot->obj.id == PLAYERSHOT_3) {
boss->unk_062 = -1;
boss->unk_064 = 20;
boss->dmgType = DMG_BOMB;
boss->damage = 20;
} else if (shot->obj.id == PLAYERSHOT_8) {
if (gCurrentLevel == LEVEL_AQUAS) {
boss->unk_064 = 31;
boss->damage = 31;
} else {
boss->unk_064 = 30;
boss->damage = 30;
}
} else {
boss->unk_064 = 10;
boss->damage = 10;
if (shot->playerNum < 4) {
switch (gLaserStrength[shot->playerNum]) {
case LASERS_SINGLE:
case LASERS_TWIN:
break;
case LASERS_HYPER:
boss->unk_064 = 15;
boss->damage = 15;
break;
}
}
@ -1002,7 +1003,7 @@ void func_80038140(PlayerShot* shot) {
if (boss->obj.id == OBJ_BOSS_314) {
boss->swork[19] = shot->playerNum;
}
boss->unk_066 = temp_v0 - 1;
boss->dmgPart = temp_v0 - 1;
if (boss->obj.id == OBJ_BOSS_301) {
boss->swork[5] = shot->obj.id;
} else if (boss->obj.id == OBJ_BOSS_319) {
@ -1385,7 +1386,7 @@ void func_80039A50(PlayerShot* shot) {
gSPDisplayList(gMasterDisp++, D_600DB80);
Matrix_Pop(&gGfxMatrix);
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, shot->obj.pos.x, D_80177940, shot->obj.pos.z + D_80177D20, 1);
Matrix_Translate(gGfxMatrix, shot->obj.pos.x, gGroundLevel, shot->obj.pos.z + D_80177D20, 1);
Matrix_Scale(gGfxMatrix, shot->unk_2C, shot->unk_30, shot->unk_34, 1);
RCP_SetupDL(&gMasterDisp, 0x31);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 32, 32, 0, shot->unk_58);
@ -1525,9 +1526,9 @@ void func_8003B00C(PlayerShot* shot, Player* player) {
Matrix_Push(&gCalcMatrix);
func_80038140(shot);
Matrix_Pop(&gCalcMatrix);
if (shot->obj.pos.y < D_80177940) {
if (shot->obj.pos.y < gGroundLevel) {
shot->unk_5C = 0;
func_80036770(shot->obj.pos.x, D_80177940 + 2.0f, shot->obj.pos.z, shot->obj.rot.y, 2.0f);
func_80036770(shot->obj.pos.x, gGroundLevel + 2.0f, shot->obj.pos.z, shot->obj.rot.y, 2.0f);
break;
} else if (shot->unk_5C == 2) {
shot->unk_5C = 0;
@ -1566,9 +1567,9 @@ void func_8003B00C(PlayerShot* shot, Player* player) {
Object_Kill(&shot->obj, &shot->sfxPos);
}
if (shot->unk_5C == 1) {
if (shot->obj.pos.y < D_80177940) {
if (shot->obj.pos.y < gGroundLevel) {
func_80036318(shot);
func_80036770(shot->obj.pos.x, D_80177940 + 2.0f, shot->obj.pos.z, shot->obj.rot.y, 2.0f);
func_80036770(shot->obj.pos.x, gGroundLevel + 2.0f, shot->obj.pos.z, shot->obj.rot.y, 2.0f);
if (gCurrentLevel == LEVEL_FORTUNA) {
func_8007BC7C(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z, 3.0f);
func_8007BC7C(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z, 3.0f);
@ -1583,13 +1584,13 @@ void func_8003B55C(PlayerShot* shot, s32 index) {
Vec3f sp44;
Vec3f sp38;
if ((D_80161A88 == 2) && (shot->obj.pos.y < (D_80177940 + 50.0f)) && (index == 0)) {
func_8007ACE0(shot->obj.pos.x, D_80177940, shot->obj.pos.z, 0.1f, 1.5f, shot->obj.rot.y + 20.0f);
func_8007ACE0(shot->obj.pos.x, D_80177940, shot->obj.pos.z, 0.1f, 1.5f, shot->obj.rot.y - 20.0f);
if ((D_80161A88 == 2) && (shot->obj.pos.y < (gGroundLevel + 50.0f)) && (index == 0)) {
func_8007ACE0(shot->obj.pos.x, gGroundLevel, shot->obj.pos.z, 0.1f, 1.5f, shot->obj.rot.y + 20.0f);
func_8007ACE0(shot->obj.pos.x, gGroundLevel, shot->obj.pos.z, 0.1f, 1.5f, shot->obj.rot.y - 20.0f);
}
if ((shot->obj.pos.y < D_80177940) && (D_801784AC != 4)) {
if ((shot->obj.pos.y < gGroundLevel) && (D_801784AC != 4)) {
func_80036318(shot);
shot->obj.pos.y = D_80177940 + 2;
shot->obj.pos.y = gGroundLevel + 2;
if (gCurrentLevel == LEVEL_BOLSE) {
func_8007A6F0(&shot->obj.pos, 0x29121007);
}
@ -1602,14 +1603,14 @@ void func_8003B55C(PlayerShot* shot, s32 index) {
sp44.y = sp44.z = 0.0f;
sp44.x = 40.0f;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp44, &sp38);
func_80036770(shot->obj.pos.x + sp38.x, D_80177940 + 2.0f, shot->obj.pos.z + sp38.z, shot->obj.rot.y,
func_80036770(shot->obj.pos.x + sp38.x, gGroundLevel + 2.0f, shot->obj.pos.z + sp38.z, shot->obj.rot.y,
2.0f);
sp44.x = -40.0f;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp44, &sp38);
func_80036770(shot->obj.pos.x + sp38.x, D_80177940 + 2.0f, shot->obj.pos.z + sp38.z, shot->obj.rot.y,
func_80036770(shot->obj.pos.x + sp38.x, gGroundLevel + 2.0f, shot->obj.pos.z + sp38.z, shot->obj.rot.y,
2.0f);
} else {
func_80036770(shot->obj.pos.x, D_80177940 + 2.0f, shot->obj.pos.z, shot->obj.rot.y, 2.0f);
func_80036770(shot->obj.pos.x, gGroundLevel + 2.0f, shot->obj.pos.z, shot->obj.rot.y, 2.0f);
}
}
if (D_80161A88 == 2) {
@ -1625,12 +1626,12 @@ void func_8003B55C(PlayerShot* shot, s32 index) {
func_8007B8F8(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z, 3.0f);
func_8007B8F8(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z, 3.0f);
func_8007B8F8(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z, 3.0f);
func_E16C50_801AC8A8(((Rand_ZeroOne() - 0.5f) * 10.0f) + shot->obj.pos.x,
((Rand_ZeroOne() - 0.5f) * 10.0f) + shot->obj.pos.y, shot->obj.pos.z, 0.8f, 0);
func_E16C50_801AC8A8(((Rand_ZeroOne() - 0.5f) * 10.0f) + shot->obj.pos.x,
((Rand_ZeroOne() - 0.5f) * 10.0f) + shot->obj.pos.y, shot->obj.pos.z, 0.8f, 0);
func_E16C50_801AC8A8(((Rand_ZeroOne() - 0.5f) * 10.0f) + shot->obj.pos.x,
((Rand_ZeroOne() - 0.5f) * 10.0f) + shot->obj.pos.y, shot->obj.pos.z, 0.8f, 0);
func_i3_801AC8A8(((Rand_ZeroOne() - 0.5f) * 10.0f) + shot->obj.pos.x,
((Rand_ZeroOne() - 0.5f) * 10.0f) + shot->obj.pos.y, shot->obj.pos.z, 0.8f, 0);
func_i3_801AC8A8(((Rand_ZeroOne() - 0.5f) * 10.0f) + shot->obj.pos.x,
((Rand_ZeroOne() - 0.5f) * 10.0f) + shot->obj.pos.y, shot->obj.pos.z, 0.8f, 0);
func_i3_801AC8A8(((Rand_ZeroOne() - 0.5f) * 10.0f) + shot->obj.pos.x,
((Rand_ZeroOne() - 0.5f) * 10.0f) + shot->obj.pos.y, shot->obj.pos.z, 0.8f, 0);
}
}
if (shot->unk_64 == 0) {
@ -1724,12 +1725,12 @@ bool func_8003BB4C(PlayerShot* shot) {
void func_8003BEF4(PlayerShot* shot) {
if (gVersusMode) {
if ((shot->obj.pos.y < D_80177940) || func_8003BB4C(shot) ||
if ((shot->obj.pos.y < gGroundLevel) || func_8003BB4C(shot) ||
!(gControllerHold[shot->playerNum].button & A_BUTTON) || (shot->unk_64 == 0)) {
Object_Kill(&shot->obj, &shot->sfxPos);
}
} else {
if ((shot->obj.pos.y < D_80177940) || func_8003BB4C(shot) ||
if ((shot->obj.pos.y < gGroundLevel) || func_8003BB4C(shot) ||
!(gControllerHold[gMainController].button & A_BUTTON) || (shot->unk_64 == 0)) {
Object_Kill(&shot->obj, &shot->sfxPos);
}
@ -1790,9 +1791,9 @@ void func_8003C008(PlayerShot* shot) {
var_fa1 *= 0.6f;
}
if (sqrtf(SQ(temp_ft4) + SQ(temp_ft5) + SQ(var_fa1)) < var_fs2) {
boss->unk_066 = j;
boss->unk_062 = -1;
boss->unk_064 = 20;
boss->dmgPart = j;
boss->dmgType = DMG_BOMB;
boss->damage = 20;
}
}
}
@ -1987,7 +1988,7 @@ void func_8003CC08(PlayerShot* shot) {
func_80035E78(shot);
break;
}
if ((shot->obj.pos.y < D_80177940) && (D_801784AC != 4)) {
if ((shot->obj.pos.y < gGroundLevel) && (D_801784AC != 4)) {
func_80035E78(shot);
break;
}
@ -2009,7 +2010,7 @@ void func_8003CC08(PlayerShot* shot) {
}
}
if (!((gCurrentLevel == LEVEL_VENOM_ANDROSS) && (gBosses[0].obj.status == 2) &&
(gBosses[0].unk_04E == 17))) {
(gBosses[0].actionState == 17))) {
func_80038140(shot);
}
func_8003C3D8(shot);
@ -2059,14 +2060,14 @@ void func_8003CF90(PlayerShot* shot) {
Actor* actor;
Player* player;
if ((shot->obj.pos.y < D_80177940) || (shot->unk_64 == 1)) {
if ((D_80161A88 == 2) && (shot->obj.pos.y < D_80177940)) {
if ((shot->obj.pos.y < gGroundLevel) || (shot->unk_64 == 1)) {
if ((D_80161A88 == 2) && (shot->obj.pos.y < gGroundLevel)) {
shot->unk_48 = 10.0f;
func_8007D9DC(shot->obj.pos.x, D_80177940 + 2.0f, shot->obj.pos.z, shot->unk_48 * 0.1f, shot->unk_48 * 3.0f,
0);
func_8007D9DC(shot->obj.pos.x, D_80177940 + 2.0f, shot->obj.pos.z, shot->unk_48 * 0.1f, shot->unk_48 * 3.0f,
5);
func_8007ADF4(shot->obj.pos.x, D_80177940, shot->obj.pos.z, shot->unk_48 * 0.05f, shot->unk_48 * 0.5f);
func_8007D9DC(shot->obj.pos.x, gGroundLevel + 2.0f, shot->obj.pos.z, shot->unk_48 * 0.1f,
shot->unk_48 * 3.0f, 0);
func_8007D9DC(shot->obj.pos.x, gGroundLevel + 2.0f, shot->obj.pos.z, shot->unk_48 * 0.1f,
shot->unk_48 * 3.0f, 5);
func_8007ADF4(shot->obj.pos.x, gGroundLevel, shot->obj.pos.z, shot->unk_48 * 0.05f, shot->unk_48 * 0.5f);
func_8007A6F0(&shot->obj.pos, 0x19000014);
}
func_80036318(shot);
@ -2221,7 +2222,7 @@ void func_8003D54C(PlayerShot* shot, s32 index) {
Object_Kill(&shot->obj, &shot->sfxPos);
func_8007A6F0(&shot->obj.pos, 0x0903502E);
} else if (gCurrentLevel == LEVEL_AQUAS) {
func_E16C50_801ABA40(shot);
func_i3_801ABA40(shot);
} else {
func_8003CF90(shot);
}

View File

@ -1,7 +1,7 @@
// #include "prevent_bss_reordering.h"
#include "global.h"
#include "prevent_bss_reordering.h"
extern f32 D_E16C50_801C4188;
extern f32 D_i3_801C4188;
f32 D_8015F960;
u8 D_8015F964;
@ -115,7 +115,7 @@ void func_8003DAF0(void) {
sp5C = D_80178290;
sp58 = D_80178298;
if (gGameState != 7) {
if (gGameState != GSTATE_PLAY) {
var_s2 = 1000;
}
sp70 = __cosf(D_80178428);
@ -1051,7 +1051,7 @@ void func_80040CE4(void) {
} else if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, D_8015F974, D_8015F978, D_8015F97C, D_8015F980);
} else {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, (s32) D_E16C50_801C4188);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, (s32) D_i3_801C4188);
}
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, 0.0f, D_8015F970, -3000.0f, 1);

View File

@ -348,9 +348,9 @@ void func_80048E40(Player* player) {
player->timer_1F8 = 0;
D_8017837C = 4;
if (gCurrentLevel == LEVEL_METEO) {
D_800D3180[1] = Play_CheckMedalStatus(0xC8U) + 1;
D_800D3180[LEVEL_METEO] = Play_CheckMedalStatus(200) + 1;
} else {
D_800D3180[2] = Play_CheckMedalStatus(0x96U) + 1;
D_800D3180[LEVEL_SECTOR_X] = Play_CheckMedalStatus(150) + 1;
}
D_80177930 = 2;
}
@ -717,7 +717,7 @@ void func_8004A52C(Player* player) {
break;
case LEVEL_ZONESS:
func_E16C50_8019D428(player);
func_i3_8019D428(player);
break;
case LEVEL_MACBETH:
@ -729,7 +729,7 @@ void func_8004A52C(Player* player) {
break;
case LEVEL_SOLAR:
func_E16C50_801A10F4(player);
func_i3_801A10F4(player);
break;
case LEVEL_VENOM_1:
@ -742,7 +742,7 @@ void func_8004A52C(Player* player) {
break;
case LEVEL_AREA_6:
func_E16C50_8018DF74(player);
func_i3_8018DF74(player);
break;
}
func_8004990C(player);
@ -872,10 +872,10 @@ void func_8004AAF4(Player* player) {
func_8001D444(0, 0x803DU, 0, 0xFFU);
} else if (gCurrentLevel != LEVEL_TRAINING) {
func_800BA808(gMsg_ID_20180, RCID_FOX);
if (gCurrentLevel == 5) {
func_8001D444(0, D_800C9E90[gCurrentLevel], 0, 2U);
if (gCurrentLevel == LEVEL_SECTOR_Y) {
func_8001D444(0, D_800C9E90[gCurrentLevel], 0, 2);
} else {
func_8001D444(0, D_800C9E90[gCurrentLevel], 0, 0xFFU);
func_8001D444(0, D_800C9E90[gCurrentLevel], 0, 0xFF);
}
}
}
@ -939,7 +939,7 @@ void func_8004AAF4(Player* player) {
D_801779A8[player->num] = 70.0f;
if ((gCurrentLevel != 9) && (gCurrentLevel != 0xA)) {
if ((gCurrentLevel != LEVEL_VENOM_ANDROSS) && (gCurrentLevel != LEVEL_TRAINING)) {
D_800D1970 = 0;
for (i = 0, var_s0 = &gActors[2]; i < 3; i++, var_s0++) {
Actor_Initialize(var_s0);
@ -1345,7 +1345,7 @@ void func_8004B368(Player* player) {
player->timer_1F8 = 0;
D_8017837C = 4;
func_8001DBD0(0xA);
D_800D3180[gCurrentLevel] = Play_CheckMedalStatus(0x96U) + 1;
D_800D3180[gCurrentLevel] = Play_CheckMedalStatus(150) + 1;
}
break;
}
@ -1423,7 +1423,7 @@ void func_8004C930(Player* player) {
func_80048E40(player);
}
} else if (gCurrentLevel == LEVEL_AREA_6) {
func_E16C50_8018ED78(player);
func_i3_8018ED78(player);
} else if (gCurrentLevel == LEVEL_FORTUNA) {
func_8004C90C(player);
func_800AA800(player);
@ -1439,10 +1439,10 @@ void func_8004C930(Player* player) {
func_8019EE60(player);
func_800AA800(player);
} else if (gCurrentLevel == LEVEL_SOLAR) {
func_E16C50_801A7930(player);
func_i3_801A7930(player);
func_800AA800(player);
} else if (gCurrentLevel == LEVEL_ZONESS) {
func_E16C50_8019D76C(player);
func_i3_8019D76C(player);
func_800AA800(player);
} else if (gCurrentLevel == LEVEL_VENOM_2) {
func_80196D88(player);
@ -1753,7 +1753,8 @@ void func_8004D828(Player* player) {
player->pos.x += player->vel.x;
player->pos.y += player->vel.y;
if ((gCurrentLevel != 6 || D_80178284 == 0) && (gLevelType == LEVELTYPE_PLANET || gCurrentLevel == LEVEL_BOLSE)) {
if ((gCurrentLevel != LEVEL_VENOM_1 || D_80178284 == 0) &&
(gLevelType == LEVELTYPE_PLANET || gCurrentLevel == LEVEL_BOLSE)) {
player->vel.y -= 0.5f;
player->unk_0E4 -= 2.0f;
}
@ -1917,7 +1918,7 @@ void func_8004DEF8(Player* player) {
} else if ((((player->timer_220 > 0) || (player->pos.y < player->unk_0A4)) || (player->timer_1FC == 0)) &&
(player->timer_1F8 == 0)) {
if (player->pos.y < player->unk_0A4) {
func_8007C688(player->pos.x, D_80177940 + 20.0f, player->unk_138 - (2.0f * player->vel.z), 3.0f, 0x320);
func_8007C688(player->pos.x, gGroundLevel + 20.0f, player->unk_138 - (2.0f * player->vel.z), 3.0f, 0x320);
func_80062C38(player->pos.x, player->pos.z);
}
func_8007D0E0(player->pos.x, player->pos.y - (2.0f * player->vel.y), player->unk_138 - (2.0f * player->vel.z),
@ -1943,8 +1944,8 @@ void func_8004DEF8(Player* player) {
}
if ((D_80161A88 == 2) && (player->pos.y <= player->unk_0A4)) {
func_8007D9DC(player->pos.x, D_80177940 + 2.0f, player->unk_138, 3.0f, 20.0f, 0);
func_8007ADF4(player->pos.x, D_80177940, player->unk_138, 0.1f, 2.0f);
func_8007D9DC(player->pos.x, gGroundLevel + 2.0f, player->unk_138, 3.0f, 20.0f, 0);
func_8007ADF4(player->pos.x, gGroundLevel, player->unk_138, 0.1f, 2.0f);
}
}
@ -2483,9 +2484,9 @@ void func_8004F8AC(Actor* actor) {
}
D_8017836C = actor->iwork[0] / 255.0f;
D_80178370 = gActors->obj.pos.x + 10.0f;
D_80178374 = gActors->obj.pos.y - 40.0f;
D_80178378 = gActors->obj.pos.z - 70.0f;
D_80178370 = gActors[0].obj.pos.x + 10.0f;
D_80178374 = gActors[0].obj.pos.y - 40.0f;
D_80178378 = gActors[0].obj.pos.z - 70.0f;
D_80178360 = 255;
D_80178364 = 255;
D_80178368 = 0x50;
@ -2680,12 +2681,12 @@ void func_8004FEC0(Actor* actor) {
for (sp2D0 = 0; sp2D0 < 30; sp2D0++) {
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, ((Rand_ZeroOneSeeded() - 0.5f) * 3000.0f) * (*actor).fwork[20],
((Rand_ZeroOneSeeded() - 0.5f) * 3000.0f) * (*actor).fwork[20],
((Rand_ZeroOneSeeded() - 0.5f) * 3000.0f) * (*actor).fwork[20], 1);
Matrix_RotateY(gGfxMatrix, 2.0f * (Rand_ZeroOneSeeded() * 3.1415927f), 1);
Matrix_Translate(gGfxMatrix, ((Rand_ZeroOneSeeded() - 0.5f) * 3000.0f) * actor->fwork[20],
((Rand_ZeroOneSeeded() - 0.5f) * 3000.0f) * actor->fwork[20],
((Rand_ZeroOneSeeded() - 0.5f) * 3000.0f) * actor->fwork[20], 1);
Matrix_RotateY(gGfxMatrix, 2.0f * (Rand_ZeroOneSeeded() * M_PI), 1);
Matrix_RotateZ(gGfxMatrix, (2.0f * gFrameCount) * M_DTOR, 1);
Matrix_RotateX(gGfxMatrix, 2.0f * (Rand_ZeroOneSeeded() * 3.1415927f), 1);
Matrix_RotateX(gGfxMatrix, 2.0f * (Rand_ZeroOneSeeded() * M_PI), 1);
switch (sp2D0 & 3) {
case 0:
@ -2833,9 +2834,8 @@ void func_8004FEC0(Actor* actor) {
case 37:
RCP_SetupDL_49();
gDPSetPrimColor(gMasterDisp++, 0, 0, (*actor).iwork[0], (*actor).iwork[1], (*actor).iwork[2],
(*actor).iwork[3]);
gDPSetEnvColor(gMasterDisp++, (*actor).iwork[4], (*actor).iwork[5], (*actor).iwork[6], (*actor).iwork[7]);
gDPSetPrimColor(gMasterDisp++, 0, 0, actor->iwork[0], actor->iwork[1], actor->iwork[2], actor->iwork[3]);
gDPSetEnvColor(gMasterDisp++, actor->iwork[4], actor->iwork[5], actor->iwork[6], actor->iwork[7]);
Matrix_Scale(gGfxMatrix, actor->scale, actor->fwork[4], 1.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_1024AC0);

View File

@ -689,7 +689,7 @@ void func_80054280(Player* player, s32 arg1) {
func_80052884(player);
return;
case FORM_BLUE_MARINE:
func_E16C50_801ACBB4();
func_i3_801ACBB4();
return;
case FORM_ON_FOOT:
func_800526B8(player);
@ -1672,7 +1672,7 @@ void func_80057D00(void) {
}
}
if ((gCurrentLevel == LEVEL_AQUAS) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3)) {
func_E16C50_801AA20C();
func_i3_801AA20C();
}
if (((gCurrentLevel == LEVEL_CORNERIA) || (gCurrentLevel == LEVEL_VENOM_ANDROSS)) &&
((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_2))) {

View File

@ -546,11 +546,11 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_80_119 */ {(void*) D_6015730, 0, (ObjectFunc) NULL, D_6030D74, 2000.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_80_120 */ {(void*) D_601DE60, 0, (ObjectFunc) NULL, D_6030DF8, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_121 */ {(void*) D_602B4C0, 0, (ObjectFunc) NULL, D_6030E14, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_80_122 */ {(void*) D_600EE10, 0, (ObjectFunc) NULL, D_6030E30, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_122 */ {(void*) D_600EE10, 0, (ObjectFunc) NULL, D_6030E30_Hitbox, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_123 */ {(void*) D_60120F0, 0, (ObjectFunc) NULL, D_6030E4C, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_124 */ {(void*) D_600EEF0, 0, (ObjectFunc) NULL, D_800CBF34, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_125 */ {(void*) D_600BF80, 0, (ObjectFunc) NULL, D_6030E68, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_126 */ {(void*) func_E16C50_801BE1FC, 1, (ObjectFunc) NULL, D_800CBF34, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_126 */ {(void*) func_i3_801BE1FC, 1, (ObjectFunc) NULL, D_800CBF34, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_80_127 */ {(void*) D_9005C80, 0, (ObjectFunc) func_DF4260_801924A8, D_601B678, 1000.0f, 0, 0, 42, 0, 0.0f, 0 },
/* OBJ_80_128 */ {(void*) D_9003F50, 0, (ObjectFunc) NULL, D_601B6C4, 3200.0f, 0, 0, 42, 0, 0.0f, 0 },
/* OBJ_80_129 */ {(void*) D_900F060, 0, (ObjectFunc) NULL, D_601B710, 3200.0f, 0, 0, 42, 0, 0.0f, 0 },
@ -612,7 +612,7 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_ACTOR_185 */ {(void*) func_8018DB6C, 1, (ObjectFunc) func_8018D9EC, D_800CBF34, 100.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_186 */ {(void*) func_8005B7CC, 1, (ObjectFunc) func_8018795C, D_602F724, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_187 */ {(void*) D_6018450, 0, (ObjectFunc) func_801877C4, D_602F740, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_188 */ {(void*) func_E16C50_801BEC74, 1, (ObjectFunc) func_E16C50_801BEC68, D_6030BE0, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_188 */ {(void*) func_i3_801BEC74, 1, (ObjectFunc) func_i3_801BEC68, D_6030BE0, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_189 */ {(void*) func_8005A094, 1, (ObjectFunc) func_8006C008, D_800CBF34, 0.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_190 */ {(void*) func_8005B848, 1, (ObjectFunc) func_800656D4, D_800CBFE4, 100.0f, 0, 1, 39, 0, 1.0f, 0 },
/* OBJ_ACTOR_191 */ {(void*) func_8005B848, 1, (ObjectFunc) func_800656D4, D_800CBFE4, 100.0f, 0, 1, 39, 0, 1.0f, 0 },
@ -659,51 +659,51 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_ACTOR_232 */ {(void*) func_8018B6AC, 1, (ObjectFunc) func_8018B268, D_6006890_f32, 0.0f, 0, 0, 39, 1, 20.0f, 1 },
/* OBJ_ACTOR_233 */ {(void*) func_8018A1C0, 1, (ObjectFunc) func_80189CC8, D_60068F0, 200.0f, 0, 0, 39, 1, 1.0f, 1 },
/* OBJ_ACTOR_234 */ {(void*) func_80077218, 1, (ObjectFunc) func_800771CC, D_800CBF34, 2000.0f, 0, 0, 39, 0, 0.0f, 5 },
/* OBJ_ACTOR_235 */ {(void*) func_E16C50_80190430, 2, (ObjectFunc) func_E16C50_801904CC, D_602C294, 1000.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_236 */ {(void*) func_E16C50_80190F08, 1, (ObjectFunc) func_E16C50_80190A00, D_602BC58, 5000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_235 */ {(void*) func_i3_80190430, 2, (ObjectFunc) func_i3_801904CC, D_602C294, 1000.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_236 */ {(void*) func_i3_80190F08, 1, (ObjectFunc) func_i3_80190A00, D_602BC58, 5000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_237 */ {(void*) func_8006A978, 1, (ObjectFunc) func_8006A96C, D_800CBF34, 200.0f, 0, 0, 40, 0, 0.0f, 2 },
/* OBJ_ACTOR_238 */ {(void*) func_E16C50_801914C4, 2, (ObjectFunc) func_E16C50_80191010, D_800CBE8C, 200.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_238 */ {(void*) func_i3_801914C4, 2, (ObjectFunc) func_i3_80191010, D_800CBE8C, 200.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_239 */ {(void*) NULL, 1, (ObjectFunc) NULL, D_800CBF34, 1000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_240 */ {(void*) func_E16C50_80191B4C, 1, (ObjectFunc) func_E16C50_80191680, D_800CBE8C, 1500.0f, 0, 1, 40, 0, 20.0f, 0 },
/* OBJ_ACTOR_241 */ {(void*) func_E16C50_80191DB0, 1, (ObjectFunc) func_E16C50_80191BC4, D_800CBE70, 1500.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_242 */ {(void*) func_E16C50_80191FFC, 2, (ObjectFunc) func_E16C50_80192094, D_602BE3C, 500.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_243 */ {(void*) func_E16C50_80192C18, 2, (ObjectFunc) func_E16C50_80192834, D_800CBE8C, 0.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_244 */ {(void*) func_E16C50_80193240, 2, (ObjectFunc) func_E16C50_80192E64, D_602BE58, 2000.0f, 0, 0, 40, 0, 50.0f, 0 },
/* OBJ_ACTOR_245 */ {(void*) func_E16C50_8019983C, 1, (ObjectFunc) func_E16C50_8019969C, D_800CBE8C, 200.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_246 */ {(void*) func_E16C50_80199E24, 1, (ObjectFunc) func_E16C50_80199A28, D_800CBE8C, 2000.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_247 */ {(void*) func_E16C50_8019D3C4, 1, (ObjectFunc) func_E16C50_8019D15C, D_602BFC4, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_248 */ {(void*) func_E16C50_8019A1FC, 1, (ObjectFunc) func_E16C50_80199F10, D_800CBEA8, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_249 */ {(void*) func_E16C50_8019ACCC, 1, (ObjectFunc) func_E16C50_8019A5D4, D_800CBEC4, 5000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_250 */ {(void*) func_E16C50_8019B7DC, 1, (ObjectFunc) func_E16C50_8019B548, D_602C1D4, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_251 */ {(void*) func_E16C50_8019BDE0, 2, (ObjectFunc) func_E16C50_8019B854, D_602C218, 1000.0f, 0, 0, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_252 */ {(void*) func_E16C50_8019C1CC, 1, (ObjectFunc) func_E16C50_8019BE48, D_602C234, 200.0f, 0, 0, 40, 0, 80.0f, 1 },
/* OBJ_ACTOR_253 */ {(void*) func_E16C50_8019C83C, 1, (ObjectFunc) func_E16C50_8019C454, D_602C250, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_254 */ {(void*) func_E16C50_8019CE58, 1, (ObjectFunc) func_E16C50_8019CBEC, D_602C2B0, 300.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_255 */ {(void*) func_E16C50_801AE168, 1, (ObjectFunc) func_E16C50_801AD6C0, D_6030BFC, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_256 */ {(void*) func_E16C50_801AEB44, 1, (ObjectFunc) func_E16C50_801AE3D8, D_6030C18, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_257 */ {(void*) func_E16C50_801B099C, 1, (ObjectFunc) func_E16C50_801AFA5C, D_6030C44, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_258 */ {(void*) func_E16C50_801B0EC0, 1, (ObjectFunc) func_E16C50_801B0B60, D_800CBE8C, 200.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_259 */ {(void*) func_E16C50_801B619C, 2, (ObjectFunc) func_E16C50_801B638C, D_6031398, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_260 */ {(void*) func_E16C50_801B90DC, 2, (ObjectFunc) func_E16C50_801B7C78, D_60313CC, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_261 */ {(void*) func_E16C50_801B504C, 2, (ObjectFunc) func_E16C50_801B50E8, D_6031400, 300.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_262 */ {(void*) func_E16C50_801B7A24, 2, (ObjectFunc) func_E16C50_801B6FF8, D_603144C, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_263 */ {(void*) func_E16C50_801BA108, 2, (ObjectFunc) func_E16C50_801B91A4, D_6031480, 200.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_264 */ {(void*) func_E16C50_801BA4E4, 1, (ObjectFunc) func_E16C50_801BA26C, D_800CBE8C, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_265 */ {(void*) func_E16C50_801BAD7C, 1, (ObjectFunc) func_E16C50_801BA6A4, D_6031500, 200.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_266 */ {(void*) func_E16C50_801BB204, 2, (ObjectFunc) func_E16C50_801BADF8, D_6031538, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_267 */ {(void*) func_E16C50_801BC930, 2, (ObjectFunc) func_E16C50_801BB79C, D_6031554, 800.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_268 */ {(void*) func_E16C50_801BDE6C, 1, (ObjectFunc) func_E16C50_801BD54C, D_6031570, 10000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_269 */ {(void*) func_E16C50_801BD264, 1, (ObjectFunc) func_E16C50_801BC9A0, D_6030D20, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_270 */ {(void*) func_E16C50_801BEB1C, 1, (ObjectFunc) func_E16C50_801BE3F8, D_60314C8, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_240 */ {(void*) func_i3_80191B4C, 1, (ObjectFunc) func_i3_80191680, D_800CBE8C, 1500.0f, 0, 1, 40, 0, 20.0f, 0 },
/* OBJ_ACTOR_241 */ {(void*) func_i3_80191DB0, 1, (ObjectFunc) func_i3_80191BC4, D_800CBE70, 1500.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_242 */ {(void*) func_i3_80191FFC, 2, (ObjectFunc) func_i3_80192094, D_602BE3C, 500.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_243 */ {(void*) func_i3_80192C18, 2, (ObjectFunc) func_i3_80192834, D_800CBE8C, 0.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_244 */ {(void*) func_i3_80193240, 2, (ObjectFunc) func_i3_80192E64, D_602BE58, 2000.0f, 0, 0, 40, 0, 50.0f, 0 },
/* OBJ_ACTOR_245 */ {(void*) func_i3_8019983C, 1, (ObjectFunc) func_i3_8019969C, D_800CBE8C, 200.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_246 */ {(void*) func_i3_80199E24, 1, (ObjectFunc) func_i3_80199A28, D_800CBE8C, 2000.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_247 */ {(void*) func_i3_8019D3C4, 1, (ObjectFunc) func_i3_8019D15C, D_602BFC4, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_248 */ {(void*) func_i3_8019A1FC, 1, (ObjectFunc) func_i3_80199F10, D_800CBEA8, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_249 */ {(void*) func_i3_8019ACCC, 1, (ObjectFunc) func_i3_8019A5D4, D_800CBEC4, 5000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_250 */ {(void*) func_i3_8019B7DC, 1, (ObjectFunc) func_i3_8019B548, D_602C1D4, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_251 */ {(void*) func_i3_8019BDE0, 2, (ObjectFunc) func_i3_8019B854, D_602C218, 1000.0f, 0, 0, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_252 */ {(void*) func_i3_8019C1CC, 1, (ObjectFunc) func_i3_8019BE48, D_602C234, 200.0f, 0, 0, 40, 0, 80.0f, 1 },
/* OBJ_ACTOR_253 */ {(void*) func_i3_8019C83C, 1, (ObjectFunc) func_i3_8019C454, D_602C250, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_254 */ {(void*) func_i3_8019CE58, 1, (ObjectFunc) func_i3_8019CBEC, D_602C2B0, 300.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_255 */ {(void*) func_i3_801AE168, 1, (ObjectFunc) func_i3_801AD6C0, D_6030BFC, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_256 */ {(void*) func_i3_801AEB44, 1, (ObjectFunc) func_i3_801AE3D8, D_6030C18, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_257 */ {(void*) func_i3_801B099C, 1, (ObjectFunc) func_i3_801AFA5C, D_6030C44, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_258 */ {(void*) func_i3_801B0EC0, 1, (ObjectFunc) func_i3_801B0B60, D_800CBE8C, 200.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_259 */ {(void*) func_i3_801B619C, 2, (ObjectFunc) func_i3_801B638C, D_6031398, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_260 */ {(void*) func_i3_801B90DC, 2, (ObjectFunc) func_i3_801B7C78, D_60313CC, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_261 */ {(void*) func_i3_801B504C, 2, (ObjectFunc) func_i3_801B50E8, D_6031400, 300.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_262 */ {(void*) func_i3_801B7A24, 2, (ObjectFunc) func_i3_801B6FF8, D_603144C, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_263 */ {(void*) func_i3_801BA108, 2, (ObjectFunc) func_i3_801B91A4, D_6031480, 200.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_264 */ {(void*) func_i3_801BA4E4, 1, (ObjectFunc) func_i3_801BA26C, D_800CBE8C, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_265 */ {(void*) func_i3_801BAD7C, 1, (ObjectFunc) func_i3_801BA6A4, D_6031500, 200.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_266 */ {(void*) func_i3_801BB204, 2, (ObjectFunc) func_i3_801BADF8, D_6031538, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_267 */ {(void*) func_i3_801BC930, 2, (ObjectFunc) func_i3_801BB79C, D_6031554, 800.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_268 */ {(void*) func_i3_801BDE6C, 1, (ObjectFunc) func_i3_801BD54C, D_6031570, 10000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_269 */ {(void*) func_i3_801BD264, 1, (ObjectFunc) func_i3_801BC9A0, D_6030D20, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_270 */ {(void*) func_i3_801BEB1C, 1, (ObjectFunc) func_i3_801BE3F8, D_60314C8, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_271 */ {(void*) func_8002E694, 2, (ObjectFunc) func_8002E670, D_6011B24, 0.0f, 0, 0, 39, 0, 730.0f, 1 },
/* OBJ_ACTOR_272 */ {(void*) func_8002E6DC, 1, (ObjectFunc) func_8002E6B8, D_6011BF4, 0.0f, 0, 0, 39, 0, 150.0f, 1 },
/* OBJ_ACTOR_273 */ {(void*) func_80188FE4, 2, (ObjectFunc) func_80188AD0, D_600FF30, 0.0f, 0, 0, 39, 0, 220.0f, 1 },
/* OBJ_ACTOR_273 */ {(void*) func_80188FE4, 2, (ObjectFunc) func_80188AD0, D_600FF30_Hitbox, 0.0f, 0, 0, 39, 0, 220.0f, 1 },
/* OBJ_ACTOR_274 */ {(void*) func_8019E3A8, 1, (ObjectFunc) func_8019E234, D_800CBEC4, 0.0f, 0, 0, 39, 0, 1.0f, 0 },
/* OBJ_ACTOR_275 */ {(void*) func_E16C50_8019F7AC, 1, (ObjectFunc) func_E16C50_8019F20C, D_800CBE8C, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_276 */ {(void*) func_E16C50_8019F7AC, 1, (ObjectFunc) func_E16C50_8019F20C, D_800CBE8C, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_277 */ {(void*) func_E16C50_8019F7AC, 1, (ObjectFunc) func_E16C50_8019F20C, D_800CBEC4, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_278 */ {(void*) NULL, 1, (ObjectFunc) func_E16C50_8019EA7C, D_800CBF34, 200.0f, 0, 0, 0, 0, 0.0f, 1 },
/* OBJ_ACTOR_279 */ {(void*) NULL, 1, (ObjectFunc) func_E16C50_801A003C, D_800CBF34, 1000.0f, 0, 0, 0, 0, 0.0f, 1 },
/* OBJ_ACTOR_275 */ {(void*) func_i3_8019F7AC, 1, (ObjectFunc) func_i3_8019F20C, D_800CBE8C, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_276 */ {(void*) func_i3_8019F7AC, 1, (ObjectFunc) func_i3_8019F20C, D_800CBE8C, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_277 */ {(void*) func_i3_8019F7AC, 1, (ObjectFunc) func_i3_8019F20C, D_800CBEC4, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_278 */ {(void*) NULL, 1, (ObjectFunc) func_i3_8019EA7C, D_800CBF34, 200.0f, 0, 0, 0, 0, 0.0f, 1 },
/* OBJ_ACTOR_279 */ {(void*) NULL, 1, (ObjectFunc) func_i3_801A003C, D_800CBF34, 1000.0f, 0, 0, 0, 0, 0.0f, 1 },
/* OBJ_ACTOR_280 */ {(void*) D_900DD20, 0, (ObjectFunc) func_80192518, D_601B7F8, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_281 */ {(void*) func_80192E2C, 1, (ObjectFunc) func_80192CD4, D_601B830, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_282 */ {(void*) D_901DA50, 0, (ObjectFunc) func_80192CD4, D_601B868, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
@ -725,13 +725,13 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_BOSS_298 */ {(void*) func_801887D0, 1, (ObjectFunc) func_80188344, D_602FA50, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_299 */ {(void*) func_80042FC4, 2, (ObjectFunc) func_80042FB8, D_800CBF34, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_300 */ {(void*) func_80042FE8, 1, (ObjectFunc) func_80042FDC, D_800CBF34, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_301 */ {(void*) func_E16C50_801BEC5C, 1, (ObjectFunc) func_E16C50_801BEC50, D_6030B10, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_A6 */ {(void*) func_E16C50_8018C54C, 1, (ObjectFunc) func_E16C50_80187944, D_6028454, 2000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_301 */ {(void*) func_i3_801BEC5C, 1, (ObjectFunc) func_i3_801BEC50, D_6030B10, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_A6 */ {(void*) func_i3_8018C54C, 1, (ObjectFunc) func_i3_80187944, D_6028454, 2000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_303 */ {(void*) func_80193434, 2, (ObjectFunc) func_80190078, D_6032550, 20000.0f, 0, 0, 20, 0, 0.0f, 10 },
/* OBJ_BOSS_304 */ {(void*) func_8018FF84, 2, (ObjectFunc) func_8018FE38, D_6032488, 1000.0f, 0, 0, 20, 0, 0.0f, 10 },
/* OBJ_BOSS_305 */ {(void*) func_80190020, 2, (ObjectFunc) func_8018FF20, D_60324EC, 1000.0f, 0, 0, 20, 0, 0.0f, 10 },
/* OBJ_BOSS_306 */ {(void*) func_801982A8, 1, (ObjectFunc) func_80197A94,D_E6A810_801B83A8, 1000.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_ZO */ {(void*) func_E16C50_801949DC, 2, (ObjectFunc) func_E16C50_80194A84, D_602C044, 1000.0f, 0, 0, 40, 0, 1.0f, 10 },
/* OBJ_BOSS_ZO */ {(void*) func_i3_801949DC, 2, (ObjectFunc) func_i3_80194A84, D_602C044, 1000.0f, 0, 0, 40, 0, 1.0f, 10 },
/* OBJ_BOSS_308 */ {(void*) func_8008FE78, 1, (ObjectFunc) func_800907C4, D_600FFE0, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_309 */ {(void*) func_8002E604, 1, (ObjectFunc) func_8002E5E0, D_800CBF34, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_310 */ {(void*) func_8002E64C, 1, (ObjectFunc) func_8002E628, D_800CBF34, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
@ -739,10 +739,10 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_BOSS_312 */ {(void*) func_80196288, 2, (ObjectFunc) func_80196210, D_60166F4, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_313 */ {(void*) func_8019E98C, 1, (ObjectFunc) func_8019E454, D_6009388, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_314 */ {(void*) func_8019E2C4, 2, (ObjectFunc) func_8019C888, D_800CBF34, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_SO */ {(void*) func_E16C50_801A71B8, 2, (ObjectFunc) func_E16C50_801A5B3C, D_800CBF34, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_SO */ {(void*) func_i3_801A71B8, 2, (ObjectFunc) func_i3_801A5B3C, D_800CBF34, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_316 */ {(void*) func_801968F4, 1, (ObjectFunc) func_801946C4, D_6011058, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_317 */ {(void*) func_80193B1C, 1, (ObjectFunc) func_80193718, D_601115C, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_AQ */ {(void*) func_E16C50_801B4D84, 2, (ObjectFunc) func_E16C50_801B134C, D_6030F74, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_AQ */ {(void*) func_i3_801B4D84, 2, (ObjectFunc) func_i3_801B134C, D_6030F74, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_319 */ {(void*) func_801985E4, 1, (ObjectFunc) func_80194398,D_DF4260_8019A9B8, 3000.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_320 */ {(void*) func_801928C8, 2, (ObjectFunc) func_8018DBF0, D_C038DC0, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_321 */ {(void*) func_8018B8C0, 1, (ObjectFunc) func_80189B70, D_C038F24, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
@ -790,7 +790,7 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_EFFECT_363 */ {(void*) func_80094BBC, 1, (ObjectFunc) func_80094954, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_364 */ {(void*) func_8007B9DC, 1, (ObjectFunc) func_8007B960, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_365 */ {(void*) func_8007E5CC, 1, (ObjectFunc) func_8007E45C, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_366 */ {(void*) func_80078550, 1, (ObjectFunc) func_E16C50_801AC918, NULL, 100.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_366 */ {(void*) func_80078550, 1, (ObjectFunc) func_i3_801AC918, NULL, 100.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_367 */ {(void*) func_80078604, 1, (ObjectFunc) func_8007E648, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_368 */ {(void*) func_80188FA8, 1, (ObjectFunc) func_80188F60, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_369 */ {(void*) func_8018DCE4, 1, (ObjectFunc) func_80188CAC, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 },
@ -816,7 +816,7 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_EFFECT_389 */ {(void*) func_800780F8, 1, (ObjectFunc) func_8007B67C, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_390 */ {(void*) NULL, 1, (ObjectFunc) func_8007C50C, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_391 */ {(void*) func_80083B8C, 1, (ObjectFunc) func_800837EC, NULL, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_392 */ {(void*) func_E16C50_801A0AF0, 1, (ObjectFunc) func_E16C50_801A0120, NULL, 300.0f, 1, 2, 10, 0, 0.0f, 0 },
/* OBJ_EFFECT_392 */ {(void*) func_i3_801A0AF0, 1, (ObjectFunc) func_i3_801A0120, NULL, 300.0f, 1, 2, 10, 0, 0.0f, 0 },
/* OBJ_EFFECT_393 */ {(void*) func_80078F78, 1, (ObjectFunc) func_80078EBC, NULL, 300.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_394 */ {(void*) func_80080D04, 1, (ObjectFunc) func_80080ACC, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_395 */ {(void*) func_80082F78, 1, (ObjectFunc) func_80081C5C, NULL, 300.0f, 0, 1, 40, 0, 0.0f, 0 },

View File

@ -1,4 +1,5 @@
#include "global.h"
// #include "prevent_bss_reordering.h"
Vec3f D_801615D0;
Vec3f D_801615E0;
@ -993,7 +994,7 @@ void Actor_Draw2(Actor* actor) {
func_8006B74C(actor);
return;
case OBJ_ACTOR_236:
func_E16C50_80190F08(actor);
func_i3_80190F08(actor);
return;
}
if ((actor->obj.id == OBJ_ACTOR_200) && (actor->unk_0B4 == 200)) {
@ -1313,19 +1314,19 @@ void func_8005ECD8(s32 index, Object* obj) {
} else {
switch (obj->id) {
case OBJ_ACTOR_230:
Matrix_Translate(gGfxMatrix, obj->pos.x, D_80177940 + 2.0f + gActors[index].fwork[1],
Matrix_Translate(gGfxMatrix, obj->pos.x, gGroundLevel + 2.0f + gActors[index].fwork[1],
obj->pos.z + D_80177D20, 1);
break;
case OBJ_ACTOR_229:
case OBJ_ACTOR_231:
Matrix_Translate(gGfxMatrix, obj->pos.x, D_80177940 + 2.0f + gActors[index].fwork[0],
Matrix_Translate(gGfxMatrix, obj->pos.x, gGroundLevel + 2.0f + gActors[index].fwork[0],
obj->pos.z + D_80177D20, 1);
break;
case OBJ_BOSS_316:
Matrix_Translate(gGfxMatrix, obj->pos.x, D_80177940 + 2.0f + D_8017847C, obj->pos.z, 1);
Matrix_Translate(gGfxMatrix, obj->pos.x, gGroundLevel + 2.0f + D_8017847C, obj->pos.z, 1);
break;
default:
Matrix_Translate(gGfxMatrix, obj->pos.x, D_80177940 + 2.0f, obj->pos.z + D_80177D20, 1);
Matrix_Translate(gGfxMatrix, obj->pos.x, gGroundLevel + 2.0f, obj->pos.z + D_80177D20, 1);
break;
}
if ((D_801784AC != 4) || (obj->id == OBJ_ACTOR_200) || (obj->id == OBJ_ACTOR_195) ||

View File

@ -695,14 +695,14 @@ void func_80079618(f32 posX, f32 posY, f32 posZ, f32 scale2) {
void func_8007968C(Effect* effect) {
if ((gCurrentLevel != LEVEL_MACBETH) || (effect->unk_44 != 7)) {
if ((effect->timer_50 == 0) || (effect->obj.pos.y < D_80177940)) {
if ((effect->timer_50 == 0) || (effect->obj.pos.y < gGroundLevel)) {
Object_Kill(&effect->obj, &effect->sfxPos);
}
} else {
if (!(gFrameCount & 3)) {
func_8007D2C8(effect->obj.pos.x, effect->obj.pos.y + 550.0f, effect->obj.pos.z, 10.0f);
}
if ((effect->timer_50 == 0) || (effect->obj.pos.y < (D_80177940 - 100.0f))) {
if ((effect->timer_50 == 0) || (effect->obj.pos.y < (gGroundLevel - 100.0f))) {
Object_Kill(&effect->obj, &effect->sfxPos);
}
}
@ -1107,7 +1107,7 @@ void func_8007AC0C(Effect* effect, f32 posX, f32 unused_posY, f32 posZ, f32 scal
effect->obj.id = OBJ_EFFECT_372;
effect->obj.pos.x = posX;
effect->obj.pos.y = D_80177940;
effect->obj.pos.y = gGroundLevel;
effect->obj.pos.z = posZ;
effect->unk_44 = 0xB4;
@ -1137,7 +1137,7 @@ void func_8007AD58(Effect* effect, f32 posX, f32 unused_posY, f32 posZ, f32 scal
effect->unk_4E = 1;
effect->obj.pos.x = posX;
effect->obj.pos.y = D_80177940;
effect->obj.pos.y = gGroundLevel;
effect->obj.pos.z = posZ;
effect->unk_44 = 0xB4;
@ -2203,10 +2203,10 @@ void func_8007DB70(Effect* effect) {
case 0:
effect->vel.y -= 0.5f;
if ((effect->timer_50 == 0) && ((func_8006351C(1000, &effect->obj.pos, &sp54, 1) != 0) ||
(effect->obj.pos.y < (D_80177940 + 10.0f)))) {
(effect->obj.pos.y < (gGroundLevel + 10.0f)))) {
effect->vel.y = 0.0f;
if (effect->obj.pos.y < (D_80177940 + 10.0f)) {
effect->obj.pos.y = D_80177940;
if (effect->obj.pos.y < (gGroundLevel + 10.0f)) {
effect->obj.pos.y = gGroundLevel;
}
effect->unk_4E = 1;
effect->timer_50 = 30;
@ -2217,7 +2217,7 @@ void func_8007DB70(Effect* effect) {
func_8007D0E0(effect->obj.pos.x, effect->obj.pos.y + 30.0f, effect->obj.pos.z, 7.0f);
func_8007BFFC(effect->obj.pos.x, effect->obj.pos.y + 30.0f, effect->obj.pos.z, 0.0f, 0.0f, 0.0f, 4.0f,
5);
if ((effect->obj.pos.y < (D_80177940 + 10.0f)) || (D_80161A88 != 2)) {
if ((effect->obj.pos.y < (gGroundLevel + 10.0f)) || (D_80161A88 != 2)) {
func_800365E4(effect->obj.pos.x, 3.0f, effect->obj.pos.z, effect->obj.pos.x, effect->obj.pos.z,
0.0f, 0.0f, 90.0f, 5.0f, 0, 0);
break;
@ -2404,9 +2404,9 @@ void func_8007E6B8(Effect* effect, u32 objId, f32 posX, f32 posY, f32 posZ, f32
effect->obj.pos.z = posZ;
Object_SetInfo(&effect->info, objId & 0xFFFF);
sp50 = Math_Atan2F(gPlayer->pos.x - posX, gPlayer->unk_138 - posZ);
temp_ft4 = sqrtf(SQ(gPlayer->unk_138 - posZ) + SQ(gPlayer->pos.x - posX));
sp54 = -Math_Atan2F(gPlayer->pos.y - posY, temp_ft4);
sp50 = Math_Atan2F(gPlayer[0].pos.x - posX, gPlayer[0].unk_138 - posZ);
temp_ft4 = sqrtf(SQ(gPlayer[0].pos.x - posX) + SQ(gPlayer[0].unk_138 - posZ));
sp54 = -Math_Atan2F(gPlayer[0].pos.y - posY, temp_ft4);
Matrix_RotateY(gCalcMatrix, sp50, 0);
Matrix_RotateX(gCalcMatrix, sp54, 1);
@ -2460,10 +2460,10 @@ void func_8007E93C(Effect* effect, u32 objId, f32 posX, f32 posY, f32 posZ, f32
effect->obj.pos.y = posY;
effect->obj.pos.z = posZ;
Object_SetInfo(&effect->info, objId & 0xFFFF);
sp50 = Math_Atan2F(gPlayer->camEye.x - posX, gPlayer->camEye.z - posZ);
temp_ft4 = sqrtf(SQ(gPlayer->camEye.z - posZ) + SQ(gPlayer->camEye.x - posX));
sp54 = -Math_Atan2F(gPlayer->camEye.y - posY, temp_ft4);
Object_SetInfo(&effect->info, effect->obj.id);
sp50 = Math_Atan2F(gPlayer[0].camEye.x - posX, gPlayer[0].camEye.z - posZ);
temp_ft4 = sqrtf(SQ(gPlayer[0].camEye.x - posX) + SQ(gPlayer[0].camEye.z - posZ));
sp54 = -Math_Atan2F(gPlayer[0].camEye.y - posY, temp_ft4);
Matrix_RotateY(gCalcMatrix, sp50, 0);
Matrix_RotateX(gCalcMatrix, sp54, 1);
@ -2608,7 +2608,7 @@ void func_8007F04C(s32 objId, f32 posX, f32 posY, f32 posZ, f32 rotX, f32 rotY,
void func_8007F11C(s32 objId, f32 posX, f32 posY, f32 posZ, f32 arg4) {
s32 i;
if ((fabsf(posZ - gPlayer->unk_138) > 300.0f) || (fabsf(posX - gPlayer->pos.x) > 300.0f)) {
if ((fabsf(posZ - gPlayer[0].unk_138) > 300.0f) || (fabsf(posX - gPlayer[0].pos.x) > 300.0f)) {
for (i = ARRAY_COUNT(gEffects) - 1; i >= 0; i--) {
if (gEffects[i].obj.status == 0) {
Matrix_Push(&gCalcMatrix);
@ -2623,7 +2623,7 @@ void func_8007F11C(s32 objId, f32 posX, f32 posY, f32 posZ, f32 arg4) {
void func_8007F20C(s32 objId, f32 posX, f32 posY, f32 posZ, f32 arg4) {
s32 i;
if ((fabsf(posZ - gPlayer->camEye.z) > 300.0f) || (fabsf(posX - gPlayer->camEye.x) > 300.0f)) {
if ((fabsf(posZ - gPlayer[0].camEye.z) > 300.0f) || (fabsf(posX - gPlayer[0].camEye.x) > 300.0f)) {
for (i = ARRAY_COUNT(gEffects) - 1; i >= 0; i--) {
if (gEffects[i].obj.status == 0) {
Matrix_Push(&gCalcMatrix);
@ -2640,7 +2640,7 @@ void func_8007F2FC(Effect* effect) {
Object_Kill(&effect->obj, &effect->sfxPos);
}
if ((effect->obj.pos.y < D_80177940) && (gLevelType == LEVELTYPE_PLANET)) {
if ((effect->obj.pos.y < gGroundLevel) && (gLevelType == LEVELTYPE_PLANET)) {
Object_Kill(&effect->obj, &effect->sfxPos);
}
@ -2746,7 +2746,7 @@ void func_8007F6B0(Effect* effect) {
temp = (i * 10.0f * M_DTOR) + randfloat;
sin = __sinf(temp) * effect->scale2 * 8.0f;
cos = __cosf(temp) * effect->scale2 * 8.0f;
posY = D_80177940 + 40.0f;
posY = gGroundLevel + 40.0f;
if (D_801784AC == 4) {
func_E6A810_801B6E20(effect->obj.pos.x + sin, effect->obj.pos.z + cos + D_80177D20, &x, &y, &z);
@ -2793,7 +2793,7 @@ void func_8007F958(Effect* effect) {
temp = (i * 72.0f * M_DTOR) + randFloat;
sin = __sinf(temp) * effect->scale2 * 16.0f;
cos = __cosf(temp) * effect->scale2 * 16.0f;
posY = D_80177940 + 10.0f;
posY = gGroundLevel + 10.0f;
if (D_801784AC == 4) {
func_E6A810_801B6E20(effect->obj.pos.x + sin, effect->obj.pos.z + cos + D_80177D20, &x, &y, &z);
@ -2834,7 +2834,7 @@ void func_8007FBE0(Effect* effect) {
temp = (i * 36.0f * M_DTOR) + randFloat;
sin = __sinf(temp) * effect->scale2 * 16.0f;
cos = __cosf(temp) * effect->scale2 * 16.0f;
posY = D_80177940 + 10.0f;
posY = gGroundLevel + 10.0f;
func_8007BC7C(effect->obj.pos.x + sin, posY, effect->obj.pos.z + cos, 12.0f);
}
}
@ -2881,14 +2881,14 @@ void func_8007FE88(Effect* effect) {
return;
}
if (gPlayer->unk_280 != 0) {
if (gPlayer[0].unk_280 != 0) {
var_fa0 = 100.0f;
}
if (fabsf(gPlayer->unk_138 - effect->obj.pos.z) < (50.0f + var_fa0)) {
if ((fabsf(gPlayer->pos.x - effect->obj.pos.x) < (30.0f + var_fa0)) &&
(fabsf(gPlayer->pos.y - effect->obj.pos.y) < (30.0f + var_fa0))) {
if ((gPlayer->unk_280 != 0) || (gPlayer->timer_27C != 0)) {
if (fabsf(gPlayer[0].unk_138 - effect->obj.pos.z) < (50.0f + var_fa0)) {
if ((fabsf(gPlayer[0].pos.x - effect->obj.pos.x) < (30.0f + var_fa0)) &&
(fabsf(gPlayer[0].pos.y - effect->obj.pos.y) < (30.0f + var_fa0))) {
if ((gPlayer[0].unk_280 != 0) || (gPlayer[0].timer_27C != 0)) {
effect->obj.rot.y = 90.0f;
effect->obj.rot.x = Rand_ZeroOne() * 360.0f;
Matrix_RotateY(gCalcMatrix, effect->obj.rot.y * M_DTOR, 0);
@ -2900,20 +2900,20 @@ void func_8007FE88(Effect* effect) {
effect->vel.x = destVelocity.x;
effect->vel.y = destVelocity.y;
effect->vel.z = destVelocity.z;
gPlayer->unk_2C4 += 1;
gPlayer[0].unk_2C4 += 1;
Audio_PlaySfx(0x09007011, &effect->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
if ((gPlayer->unk_280 == 0) && (gPlayer->timer_498 == 0)) {
if ((gPlayer[0].unk_280 == 0) && (gPlayer[0].timer_498 == 0)) {
Player_ApplyDamage(gPlayer, 0, effect->info.damage);
gPlayer->unk_0D8.x = 20.0f;
gPlayer[0].unk_0D8.x = 20.0f;
if (effect->vel.x < 0.0f) {
gPlayer->unk_0D8.x *= -1.0f;
gPlayer[0].unk_0D8.x *= -1.0f;
}
if (gCurrentLevel != LEVEL_MACBETH) {
gPlayer->unk_0D8.y = 20.0f;
gPlayer[0].unk_0D8.y = 20.0f;
if (effect->vel.y < 0.0f) {
gPlayer->unk_0D8.y *= -1.0f;
gPlayer[0].unk_0D8.y *= -1.0f;
}
}
Object_Kill(&effect->obj, &effect->sfxPos);
@ -2925,10 +2925,10 @@ void func_8007FE88(Effect* effect) {
if (func_E6A810_801B6AEC(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z + D_80177D20) != 0) {
Object_Kill(&effect->obj, &effect->sfxPos);
}
} else if (effect->obj.pos.y < D_80177940) {
} else if (effect->obj.pos.y < gGroundLevel) {
Object_Kill(&effect->obj, &effect->sfxPos);
if (D_80161A88 != 2) {
effect->obj.pos.y = D_80177940;
effect->obj.pos.y = gGroundLevel;
func_8007D074(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, 2.0f);
}
}
@ -2987,9 +2987,9 @@ void func_8008040C(Effect* effect) {
switch (effect->unk_4E) {
case 0:
rotY = Math_Atan2F(gPlayer->pos.x - effect->obj.pos.x, gPlayer->unk_138 - effect->obj.pos.z);
temp = sqrtf(SQ(gPlayer->unk_138 - effect->obj.pos.z) + SQ(gPlayer->pos.x - effect->obj.pos.x));
rotX = -Math_Atan2F(gPlayer->pos.y - effect->obj.pos.y, temp);
rotY = Math_Atan2F(gPlayer[0].pos.x - effect->obj.pos.x, gPlayer[0].unk_138 - effect->obj.pos.z);
temp = sqrtf(SQ(gPlayer[0].pos.x - effect->obj.pos.x) + SQ(gPlayer[0].unk_138 - effect->obj.pos.z));
rotX = -Math_Atan2F(gPlayer[0].pos.y - effect->obj.pos.y, temp);
Matrix_RotateY(gCalcMatrix, rotY, 0);
Matrix_RotateX(gCalcMatrix, rotX, 1);
srcVelocity.y = 0.0f;
@ -3014,14 +3014,14 @@ void func_8008040C(Effect* effect) {
return;
}
if (gPlayer->unk_280 != 0) {
if (gPlayer[0].unk_280 != 0) {
var_fa0 = 100.0f;
}
if (fabsf(gPlayer->unk_138 - effect->obj.pos.z) < (50.0f + var_fa0)) {
if ((fabsf(gPlayer->pos.x - effect->obj.pos.x) < (30.0f + var_fa0)) &&
(fabsf(gPlayer->pos.y - effect->obj.pos.y) < (30.0f + var_fa0))) {
if ((gPlayer->unk_280 != 0) || (gPlayer->timer_27C != 0)) {
if (fabsf(gPlayer[0].unk_138 - effect->obj.pos.z) < (50.0f + var_fa0)) {
if ((fabsf(gPlayer[0].pos.x - effect->obj.pos.x) < (30.0f + var_fa0)) &&
(fabsf(gPlayer[0].pos.y - effect->obj.pos.y) < (30.0f + var_fa0))) {
if ((gPlayer[0].unk_280 != 0) || (gPlayer[0].timer_27C != 0)) {
effect->obj.rot.y = 90.0f;
effect->obj.rot.x = Rand_ZeroOne() * 360.0f;
Matrix_RotateY(gCalcMatrix, effect->obj.rot.y * M_DTOR, 0);
@ -3033,19 +3033,19 @@ void func_8008040C(Effect* effect) {
effect->vel.x = destVelocity.x;
effect->vel.y = destVelocity.y;
effect->vel.z = destVelocity.z;
gPlayer->unk_2C4++;
gPlayer[0].unk_2C4++;
Audio_PlaySfx(0x09007011, &effect->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
if ((gPlayer->unk_280 == 0) && (gPlayer->timer_498 == 0)) {
if ((gPlayer[0].unk_280 == 0) && (gPlayer[0].timer_498 == 0)) {
Player_ApplyDamage(gPlayer, 0, effect->info.damage);
gPlayer->unk_0D8.x = 20.0f;
gPlayer[0].unk_0D8.x = 20.0f;
if (effect->vel.x < 0.0f) {
gPlayer->unk_0D8.x *= -1.0f;
gPlayer[0].unk_0D8.x *= -1.0f;
}
gPlayer->unk_0D8.y = 20.0f;
gPlayer[0].unk_0D8.y = 20.0f;
if (effect->vel.y < 0.0f) {
gPlayer->unk_0D8.y *= -1.0f;
gPlayer[0].unk_0D8.y *= -1.0f;
}
Object_Kill(&effect->obj, &effect->sfxPos);
}
@ -3056,10 +3056,10 @@ void func_8008040C(Effect* effect) {
0) {
Object_Kill(&effect->obj, &effect->sfxPos);
}
} else if (effect->obj.pos.y < D_80177940) {
} else if (effect->obj.pos.y < gGroundLevel) {
Object_Kill(&effect->obj, &effect->sfxPos);
if (D_80161A88 != 2) {
effect->obj.pos.y = D_80177940;
effect->obj.pos.y = gGroundLevel;
func_8007D074(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, 2.0f);
}
}
@ -3142,7 +3142,7 @@ void func_80080ACC(Effect* effect) {
effect->obj.rot.x += effect->unk_60.x;
effect->obj.rot.y += effect->unk_60.y;
effect->obj.rot.z += effect->unk_60.z;
if ((effect->unk_44 == 0) && (effect->obj.pos.y < D_80177940)) {
if ((effect->unk_44 == 0) && (effect->obj.pos.y < gGroundLevel)) {
Object_Kill(&effect->obj, &effect->sfxPos);
}
if (effect->unk_44 != 0) {
@ -3496,6 +3496,7 @@ void func_80081C5C(Effect* effect) {
s32 unusedOut;
Vec3f velocity;
Vec3f velocityDest;
// f32 pad;
velocity.x = effect->vel.x;
velocity.y = effect->vel.y;
@ -3603,7 +3604,7 @@ void func_80081C5C(Effect* effect) {
if (effect->unk_44 != 0) {
Object_Kill(&effect->obj, &effect->sfxPos);
func_8007D0E0(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, 5.0f);
} else if (fabsf(gPlayer->unk_138 - effect->obj.pos.z) < 1000.0f) {
} else if (fabsf(gPlayer[0].unk_138 - effect->obj.pos.z) < 1000.0f) {
func_8006F0D8(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, 15.0f);
Object_Kill(&effect->obj, &effect->sfxPos);
}
@ -3650,7 +3651,7 @@ void func_80081C5C(Effect* effect) {
effect->obj.rot.y += effect->unk_60.y;
effect->obj.rot.z += effect->unk_60.z;
effect->vel.y -= 0.5f;
if ((effect->timer_50 == 0) || (effect->obj.pos.y < D_80177940)) {
if ((effect->timer_50 == 0) || (effect->obj.pos.y < gGroundLevel)) {
Object_Kill(&effect->obj, &effect->sfxPos);
}
break;
@ -3658,11 +3659,7 @@ void func_80081C5C(Effect* effect) {
case LEVEL_ZONESS:
if (!(gFrameCount & 3)) {
// clang-format off
func_80081A8C(effect->obj.pos.x,
effect->obj.pos.y,
effect->obj.pos.z,
effect->scale2 * 3.0f,
6);
func_80081A8C(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, effect->scale2 * 3.0f, 6);
// clang-format on
}
@ -3684,8 +3681,8 @@ void func_80081C5C(Effect* effect) {
case 8:
Math_SmoothStepToF(D_801779A8, 30.0f, 1.0f, 5.0f, 0.0f);
Matrix_RotateY(gCalcMatrix, gBosses->obj.rot.y * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, gBosses->obj.rot.x * M_DTOR, 1);
Matrix_RotateY(gCalcMatrix, gBosses[0].obj.rot.y * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, gBosses[0].obj.rot.x * M_DTOR, 1);
velocity.y = 0.0f;
velocity.x = 0;
@ -3707,17 +3704,17 @@ void func_80081C5C(Effect* effect) {
Math_SmoothStepToF(&effect->scale2, 6.0f, 0.01f, 0.05f, 0.00001f);
if (effect->scale2 >= 5.0f) {
gEffects[ARRAY_COUNT(gEffects) - 1].obj.status =
(gEffects[ARRAY_COUNT(gEffects) - 2].obj.status = 0);
gEffects[ARRAY_COUNT(gEffects) - 2].obj.status = 0;
func_80081BEC(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, 1.0f, 10);
D_80178348 = (D_80178350 = (D_80178354 = 0xFF));
D_80178340 = (D_80178358 = 0xFF);
D_80178348 = D_80178350 = D_80178354 = 0xFF;
D_80178340 = D_80178358 = 0xFF;
D_80178358 = 0;
D_8017835C = 25;
effect->timer_50 = 10;
D_800D18EC = 0.0f;
D_800D18E8 = 0.0f;
gBosses[0].timer_050 = 150;
gBosses[0].unk_04E = 6;
gBosses[0].actionState = 6;
effect->unk_44++;
}
break;
@ -3726,9 +3723,9 @@ void func_80081C5C(Effect* effect) {
Math_SmoothStepToF(&effect->scale2, 8.0f, 0.1f, 1.0f, 0.00001f);
if (effect->timer_50 == 0) {
if (D_80178340 != 0) {
D_80178348 = (D_80178350 = (D_80178354 = (D_80178340 = 0)));
D_80178348 = D_80178350 = D_80178354 = D_80178340 = 0;
}
effect->timer_50 = gBosses->timer_050;
effect->timer_50 = gBosses[0].timer_050;
effect->unk_44++;
}
break;
@ -3752,7 +3749,7 @@ void func_80081C5C(Effect* effect) {
posZDiff = gBosses[0].obj.pos.z - effect->obj.pos.z;
yRotDeg = Math_RadToDeg(Math_Atan2F(posXDiff, posZDiff));
xRotDeg = Math_RadToDeg(-Math_Atan2F(posYDiff, sqrtf((posXDiff * posXDiff) + (posZDiff * posZDiff))));
xRotDeg = Math_RadToDeg(-Math_Atan2F(posYDiff, sqrtf(SQ(posXDiff) + SQ(posZDiff))));
Matrix_RotateY(gCalcMatrix, M_DTOR * yRotDeg, 0);
Matrix_RotateX(gCalcMatrix, M_DTOR * xRotDeg, 1);
@ -3794,19 +3791,17 @@ void func_80081C5C(Effect* effect) {
effect->unk_46 -= 1;
}
if ((!(gFrameCount & 0xF)) && (effect->timer_50 == 0)) {
D_800D18EC = (Math_Atan2F(gPlayer->camEye.x - gBosses->obj.pos.x,
gPlayer->camEye.z - (gBosses->obj.pos.z + D_80177D20)) *
180.0f) /
M_PI;
D_800D18E8 =
((-Math_Atan2F(gPlayer->camEye.y - gBosses->obj.pos.y,
sqrtf(SQ(gPlayer->camEye.x - gBosses->obj.pos.x) +
SQ((gPlayer->camEye.z - (gBosses->obj.pos.z + D_80177D20)))))) *
180.0f) /
M_PI;
D_800D18EC = Math_Atan2F(gPlayer[0].camEye.x - gBosses[0].obj.pos.x,
gPlayer[0].camEye.z - (gBosses[0].obj.pos.z + D_80177D20)) *
180.0f / M_PI;
D_800D18E8 = -Math_Atan2F(gPlayer[0].camEye.y - gBosses[0].obj.pos.y,
sqrtf(SQ(gPlayer[0].camEye.z - (gBosses[0].obj.pos.z + D_80177D20)) +
SQ(gPlayer[0].camEye.x - gBosses[0].obj.pos.x))) *
180.0f / M_PI;
}
if (gBosses->timer_050 == 0) {
gBosses->swork[39] = effect->index;
if (gBosses[0].timer_050 == 0) {
gBosses[0].swork[39] = effect->index;
effect->unk_44 = 1;
}
break;
@ -3818,24 +3813,24 @@ void func_80081C5C(Effect* effect) {
effect->info.unk_14 = 0;
Math_SmoothStepToAngle(&gBosses->obj.rot.x, D_800D18E8, 0.1f, 1.0f, 0.00001f);
Math_SmoothStepToAngle(&gBosses->obj.rot.y, D_800D18EC, 0.1f, 1.0f, 0.00001f);
Math_SmoothStepToAngle(&gBosses[0].obj.rot.x, D_800D18E8, 0.1f, 1.0f, 0.00001f);
Math_SmoothStepToAngle(&gBosses[0].obj.rot.y, D_800D18EC, 0.1f, 1.0f, 0.00001f);
effect->obj.rot.x = gBosses->obj.rot.x;
effect->obj.rot.y = gBosses->obj.rot.y;
effect->obj.rot.x = gBosses[0].obj.rot.x;
effect->obj.rot.y = gBosses[0].obj.rot.y;
effect->obj.rot.z += 30.0f;
Matrix_RotateY(gCalcMatrix, gBosses->obj.rot.y * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, gBosses->obj.rot.x * M_DTOR, 1);
Matrix_RotateY(gCalcMatrix, gBosses[0].obj.rot.y * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, gBosses[0].obj.rot.x * M_DTOR, 1);
velocity.x = velocity.y = 0.0f;
velocity.z = 250.0f;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &velocity, &velocityDest);
effect->obj.pos.x = gBosses->obj.pos.x + velocityDest.x;
effect->obj.pos.y = gBosses->obj.pos.y + velocityDest.y;
effect->obj.pos.z = gBosses->obj.pos.z + velocityDest.z;
effect->obj.pos.x = gBosses[0].obj.pos.x + velocityDest.x;
effect->obj.pos.y = gBosses[0].obj.pos.y + velocityDest.y;
effect->obj.pos.z = gBosses[0].obj.pos.z + velocityDest.z;
if (effect->unk_44 == 0) {
Math_SmoothStepToF(&effect->unk_60.x, 5.0f, 0.1f, 1.0f, 0.00001f);
@ -3844,14 +3839,14 @@ void func_80081C5C(Effect* effect) {
}
velocity.x = velocity.y = 0.0f;
velocity.z = fabsf(gPlayer->unk_138 - effect->obj.pos.z);
velocity.z = fabsf(gPlayer[0].unk_138 - effect->obj.pos.z);
Matrix_MultVec3fNoTranslate(gCalcMatrix, &velocity, &velocityDest);
if ((((effect->timer_50 == 0) &&
(fabsf(gPlayer->pos.x - (effect->obj.pos.x + velocityDest.x)) <= (effect->unk_60.x * 50.0f))) &&
(fabsf(gPlayer->pos.y - (effect->obj.pos.y + velocityDest.y)) <= (effect->unk_60.y * 50.0f))) &&
(gPlayer->timer_498 == 0)) {
(fabsf(gPlayer[0].pos.x - (effect->obj.pos.x + velocityDest.x)) <= (effect->unk_60.x * 50.0f))) &&
(fabsf(gPlayer[0].pos.y - (effect->obj.pos.y + velocityDest.y)) <= (effect->unk_60.y * 50.0f))) &&
(gPlayer[0].timer_498 == 0)) {
Player_ApplyDamage(gPlayer, 0, 40);
}
break;
@ -4085,7 +4080,7 @@ void func_800837EC(Effect* effect) {
}
effect->obj.rot.y =
(Math_Atan2F(gPlayer->camEye.x - effect->obj.pos.x, gPlayer->camEye.z - (effect->obj.pos.z + D_80177D20)) *
(Math_Atan2F(gPlayer[0].camEye.x - effect->obj.pos.x, gPlayer[0].camEye.z - (effect->obj.pos.z + D_80177D20)) *
180.0f) /
M_PI;
}
@ -4148,9 +4143,9 @@ void func_80083D2C(f32 posX, f32 posY, f32 posZ, f32 srcZ) {
}
}
x = gPlayer->pos.x + xSway - posX;
y = gPlayer->pos.y - posY;
z = gPlayer->unk_138 - posZ;
x = gPlayer[0].pos.x + xSway - posX;
y = gPlayer[0].pos.y - posY;
z = gPlayer[0].unk_138 - posZ;
rotY = Math_Atan2F(x, z);
rotX = -Math_Atan2F(y, sqrtf(SQ(x) + SQ(z)));
@ -4193,8 +4188,8 @@ void func_80083FA8(Effect* effect) {
return;
}
effect->obj.rot.y = (-gPlayer->unk_058 * 180.0f) / M_PI;
effect->obj.rot.x = (gPlayer->unk_05C * 180.0f) / M_PI;
effect->obj.rot.y = (-gPlayer[0].unk_058 * 180.0f) / M_PI;
effect->obj.rot.x = (gPlayer[0].unk_05C * 180.0f) / M_PI;
effect->obj.rot.z += 20.0f;
Matrix_RotateZ(gCalcMatrix, effect->unk_60.z * M_DTOR, 0);

View File

@ -305,7 +305,7 @@ void func_80061B68(void) {
sp1C = (Rand_ZeroOne() - 0.5f);
x = gPlayer[0].pos.x + (sp1C * 2000.0f) + (5.0f * gPlayer[0].vel.x);
y = 0;
while (y <= D_80177940) {
while (y <= gGroundLevel) {
sp1C = (Rand_ZeroOne() - 0.5f);
y = gPlayer[0].pos.y + (sp1C * 2000.0f) + (5.0f * gPlayer[0].vel.y);
}
@ -584,7 +584,7 @@ void func_80062B60(f32 xPos, f32 zPos, s32 arg2, f32 arg3) {
gEffects[i].obj.status = 1;
gEffects[i].obj.id = OBJ_EFFECT_348;
gEffects[i].obj.pos.x = xPos;
gEffects[i].obj.pos.y = D_80177940 + 3.0f;
gEffects[i].obj.pos.y = gGroundLevel + 3.0f;
gEffects[i].obj.pos.z = zPos;
gEffects[i].scale2 = 10.0f;
gEffects[i].scale1 = arg3;
@ -607,7 +607,7 @@ void func_80062C38(f32 xPos, f32 yPos) {
gEffects[i].obj.status = 1;
gEffects[i].obj.id = OBJ_EFFECT_349;
gEffects[i].obj.pos.x = xPos;
gEffects[i].obj.pos.y = D_80177940 + 3.0f;
gEffects[i].obj.pos.y = gGroundLevel + 3.0f;
gEffects[i].obj.pos.z = yPos;
gEffects[i].scale2 = 1.0f;
gEffects[i].scale1 = 1.3f;
@ -628,7 +628,7 @@ void func_80062D04(f32 xPos, f32 yPos) {
gEffects[i].obj.status = 1;
gEffects[i].obj.id = OBJ_EFFECT_350;
gEffects[i].obj.pos.x = xPos;
gEffects[i].obj.pos.y = D_80177940 + 3.0f;
gEffects[i].obj.pos.y = gGroundLevel + 3.0f;
gEffects[i].obj.pos.z = yPos;
gEffects[i].scale2 = 3.0f;
gEffects[i].scale1 = 2.0f;
@ -851,7 +851,7 @@ s32 func_8006351C(s32 index, Vec3f* pos, Vec3f* arg2, s32 arg3) {
temp.y = fabsf(boss->obj.pos.y - pos->y) * 2;
temp.z = fabsf(boss->obj.pos.z - pos->z) * (5.0f / 6.0f);
if (sqrtf(VEC3F_SQ(temp)) < 1500.0f) {
boss->unk_062 = 1;
boss->dmgType = DMG_BEAM;
return 2;
}
} else {
@ -935,7 +935,7 @@ void func_80063CAC(Object_80* obj80) {
void func_80063D58(Object_80* obj80) {
s32 i;
obj80->obj.pos.y = D_80177940;
obj80->obj.pos.y = gGroundLevel;
for (i = 0; i < ARRAY_COUNT(gObjects4C); i++) {
if (gObjects4C[i].obj.status == 0) {
Object_4C_Initialize(&gObjects4C[i]);
@ -1014,7 +1014,7 @@ void Object_Init(s32 index, ObjectId objId) {
gActors[index].fwork[10] = fabsf(Math_ModF(gActors[index].obj.pos.x, 100.0f));
break;
case OBJ_ACTOR_247:
func_E16C50_8019D060(&gActors[index]);
func_i3_8019D060(&gActors[index]);
break;
case OBJ_EFFECT_368:
if (gCurrentLevel == LEVEL_TITANIA) {
@ -1230,7 +1230,7 @@ void Object_Init(s32 index, ObjectId objId) {
func_DF4260_8018BE7C(&gBosses[index]);
break;
case OBJ_BOSS_A6:
func_E16C50_80187754(&gBosses[index]);
func_i3_80187754(&gBosses[index]);
break;
case OBJ_ACTOR_231:
func_E6A810_8018B96C(&gActors[index]);
@ -1257,43 +1257,43 @@ void Object_Init(s32 index, ObjectId objId) {
func_E6A810_8018FA48(&gBosses[index]);
break;
case OBJ_ACTOR_240:
func_E16C50_801915A4(&gActors[index]);
func_i3_801915A4(&gActors[index]);
break;
case OBJ_ACTOR_241:
func_E16C50_80191BB8(&gActors[index]);
func_i3_80191BB8(&gActors[index]);
break;
case OBJ_BOSS_ZO:
func_E16C50_801932AC(&gBosses[index]);
func_i3_801932AC(&gBosses[index]);
break;
case OBJ_ACTOR_250:
func_E16C50_8019B1F0(&gActors[index]);
func_i3_8019B1F0(&gActors[index]);
break;
case OBJ_ACTOR_251:
func_E16C50_8019B810(&gActors[index]);
func_i3_8019B810(&gActors[index]);
break;
case OBJ_ACTOR_253:
func_E16C50_8019C200(&gActors[index]);
func_i3_8019C200(&gActors[index]);
break;
case OBJ_ACTOR_255:
func_E16C50_801AD688(&gActors[index]);
func_i3_801AD688(&gActors[index]);
break;
case OBJ_ACTOR_256:
func_E16C50_801AE3AC(&gActors[index]);
func_i3_801AE3AC(&gActors[index]);
break;
case OBJ_ACTOR_257:
func_E16C50_801AF9FC(&gActors[index]);
func_i3_801AF9FC(&gActors[index]);
break;
case OBJ_BOSS_AQ:
func_E16C50_801B10F8(&gBosses[index]);
func_i3_801B10F8(&gBosses[index]);
break;
case OBJ_ACTOR_259:
func_E16C50_801B6344(&gActors[index]);
func_i3_801B6344(&gActors[index]);
break;
case OBJ_ACTOR_262:
func_E16C50_801B6E54(&gActors[index]);
func_i3_801B6E54(&gActors[index]);
break;
case OBJ_ACTOR_260:
func_E16C50_801B7AF0(&gActors[index]);
func_i3_801B7AF0(&gActors[index]);
break;
case OBJ_80_57:
func_E6A810_8018F0D8(&gObjects80[index]);
@ -1315,10 +1315,10 @@ void Object_Init(s32 index, ObjectId objId) {
func_DF4260_801933B4(&gActors[index]);
break;
case OBJ_ACTOR_265:
func_E16C50_801BA57C(&gActors[index]);
func_i3_801BA57C(&gActors[index]);
break;
case OBJ_ACTOR_267:
func_E16C50_801BB26C(&gActors[index]);
func_i3_801BB26C(&gActors[index]);
break;
}
}
@ -1566,7 +1566,7 @@ void func_800656D4(Actor* actor) {
sp8C.y = actor->vel.y;
sp8C.z = actor->vel.z;
if ((func_8006351C(actor->index, &actor->obj.pos, &sp8C, 1) != 0) || (actor->unk_0D0 != 0) ||
(actor->obj.pos.y < (D_80177940 + 10.0f)) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7)) {
(actor->obj.pos.y < (gGroundLevel + 10.0f)) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7)) {
func_8007D2C8(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 3.0f);
Object_Kill(&actor->obj, &actor->sfxPos);
if (actor->unk_0D0 != 0) {
@ -1694,12 +1694,12 @@ void func_80066254(Actor* actor) {
void func_8006654C(Actor* actor) {
actor->gravity = 0.4f;
if (actor->obj.pos.y <= D_80177940 + 130.0f) {
actor->obj.pos.y = D_80177940 + 130.0f;
if (actor->obj.pos.y <= gGroundLevel + 130.0f) {
actor->obj.pos.y = gGroundLevel + 130.0f;
actor->vel.y = 0.0f;
}
actor->vel.x = __sinf(actor->obj.rot.y * M_DTOR) * (*actor).fwork[0];
actor->vel.z = __cosf(actor->obj.rot.y * M_DTOR) * (*actor).fwork[0];
actor->vel.x = __sinf(actor->obj.rot.y * M_DTOR) * actor->fwork[0];
actor->vel.z = __cosf(actor->obj.rot.y * M_DTOR) * actor->fwork[0];
switch (actor->unk_0B8) {
case 0:
if (actor->fwork[0] < 20.0f) {
@ -1896,8 +1896,8 @@ void func_80066EF0(Item* item) {
Math_SmoothStepToF(&item->obj.pos.y, 650.0f, 0.1f, 10.0f, 0.01f);
}
if (gLevelType == LEVELTYPE_PLANET) {
if (item->obj.pos.y < D_80177940 + 70.0f) {
Math_SmoothStepToF(&item->obj.pos.y, D_80177940 + 70.0f, 0.1f, 5.0f, 0.01f);
if (item->obj.pos.y < gGroundLevel + 70.0f) {
Math_SmoothStepToF(&item->obj.pos.y, gGroundLevel + 70.0f, 0.1f, 5.0f, 0.01f);
}
if ((gCurrentLevel == LEVEL_AQUAS) && (D_80178284 != 0)) {
item->obj.pos.z += 20.0f;

View File

@ -331,8 +331,8 @@ void func_8006B95C(Object_80* obj80) {
case 0:
obj80->vel.y -= 1.0f;
if (obj80->obj.pos.y < D_80177940 + 40.0f) {
obj80->obj.pos.y = D_80177940 + 40.0f;
if (obj80->obj.pos.y < gGroundLevel + 40.0f) {
obj80->obj.pos.y = gGroundLevel + 40.0f;
Audio_PlaySfx(0x19130003, &obj80->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
obj80->unk_48 = 2;
obj80->vel.y = 0.0f;
@ -431,8 +431,8 @@ void func_8006BB78(Actor* actor) {
if (actor->vel.y < 12.0f) {
Math_SmoothStepToF(&actor->obj.rot.x, 180.0f, 0.1f, 7.0f, 0.01f);
}
if (actor->obj.pos.y < (D_80177940 + 10.0f)) {
actor->obj.pos.y = D_80177940;
if (actor->obj.pos.y < (gGroundLevel + 10.0f)) {
actor->obj.pos.y = gGroundLevel;
actor->unk_0B8 = 4;
actor->unk_0B6 = 0;
actor->vel.y = 0.0f;
@ -449,7 +449,7 @@ void func_8006BB78(Actor* actor) {
break;
}
if ((actor->obj.pos.y <= (D_80177940 + 10.0f)) && !(gFrameCount & 7)) {
if ((actor->obj.pos.y <= (gGroundLevel + 10.0f)) && !(gFrameCount & 7)) {
func_8006BB1C(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z);
}
@ -486,8 +486,8 @@ void func_8006C008(Actor* actor) {
switch (actor->unk_0B8) {
case 40:
if (actor->unk_04A & 4) {
actor->obj.pos.x = gPlayer[0].pos.x + (*actor).fwork[3];
actor->obj.pos.z = gPlayer[0].unk_138 + (*actor).fwork[4];
actor->obj.pos.x = gPlayer[0].pos.x + actor->fwork[3];
actor->obj.pos.z = gPlayer[0].unk_138 + actor->fwork[4];
}
actor->obj.rot.x += actor->fwork[0];
@ -604,7 +604,7 @@ void func_8006C008(Actor* actor) {
case 53:
case 55:
if (((actor->timer_0BC == 0) || (func_8006351C(actor->index, &actor->obj.pos, &D_800D0030, 1) != 0) ||
(actor->obj.pos.y < (D_80177940 + 10.0f))) &&
(actor->obj.pos.y < (gGroundLevel + 10.0f))) &&
(actor->timer_0BE == 0)) {
func_8007B8F8(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z + 50.0f, actor->scale * 10.0f);
Object_Kill(&actor->obj, &actor->sfxPos);
@ -615,7 +615,7 @@ void func_8006C008(Actor* actor) {
case 56:
Math_SmoothStepToF(&actor->scale, 0.0f, 0.1f, 2.0f, 0.0001f);
if (((actor->timer_0BC == 0) || (func_8006351C(actor->index, &actor->obj.pos, &D_800D0030, 1) != 0) ||
(actor->obj.pos.y < (D_80177940 + 10.0f))) &&
(actor->obj.pos.y < (gGroundLevel + 10.0f))) &&
(actor->timer_0BE == 0)) {
func_8007B8F8(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z + 50.0f, actor->scale * 10.0f);
Object_Kill(&actor->obj, &actor->sfxPos);
@ -636,7 +636,7 @@ void func_8006C008(Actor* actor) {
actor->obj.rot.z += actor->fwork[2];
if (((actor->timer_0BC == 0) || (func_8006351C(actor->index, &actor->obj.pos, &D_800D0030, 1) != 0) ||
(actor->obj.pos.y < (D_80177940 + 10.0f))) &&
(actor->obj.pos.y < (gGroundLevel + 10.0f))) &&
(actor->timer_0BE == 0)) {
func_8007B8F8(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z + 50.0f, actor->scale * 10.0f);
Object_Kill(&actor->obj, &actor->sfxPos);
@ -646,7 +646,7 @@ void func_8006C008(Actor* actor) {
case 54:
if (((actor->timer_0BC == 0) || (func_8006351C(actor->index, &actor->obj.pos, &D_800D0030, 1) != 0) ||
(actor->obj.pos.y < (D_80177940 + 10.0f))) &&
(actor->obj.pos.y < (gGroundLevel + 10.0f))) &&
(actor->timer_0BE == 0)) {
func_8007B8F8(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z + 70.0f, actor->scale * 20.0f);
func_8007B8F8(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z + 70.0f, actor->scale * 20.0f);
@ -666,7 +666,7 @@ void func_8006C008(Actor* actor) {
if (func_8006351C(actor->index, &actor->obj.pos, &D_800C9F2C, 1) != 0) {
actor->vel.x *= -0.7f;
}
if (actor->obj.pos.y < D_80177940) {
if (actor->obj.pos.y < gGroundLevel) {
Object_Kill(&actor->obj, &actor->sfxPos);
}
break;
@ -680,7 +680,7 @@ void func_8006C008(Actor* actor) {
actor->vel.x *= -0.7f;
}
if (actor->obj.pos.y < D_80177940) {
if (actor->obj.pos.y < gGroundLevel) {
if (actor->iwork[0] >= 3) {
actor->vel.y = 0.0f;
actor->gravity = 0.0f;
@ -690,7 +690,7 @@ void func_8006C008(Actor* actor) {
} else {
actor->iwork[0]++;
actor->vel.y = -actor->vel.y * 0.7f;
actor->obj.pos.y = D_80177940;
actor->obj.pos.y = gGroundLevel;
actor->fwork[0] *= 0.5f;
actor->fwork[1] *= 0.5f;
actor->fwork[2] *= 0.5f;
@ -712,12 +712,12 @@ void func_8006C008(Actor* actor) {
if (actor->unk_0B8 == 0x46) {
if ((actor->timer_0BC == 0) || (func_8006351C(actor->index, &actor->obj.pos, &D_800D0030, 1) != 0) ||
(actor->obj.pos.y < (D_80177940 + 10.0f))) {
(actor->obj.pos.y < (gGroundLevel + 10.0f))) {
Object_Kill(&actor->obj, &actor->sfxPos);
}
} else if (actor->unk_0B8 == 0x27) {
if (((actor->timer_0BC == 0) || (func_8006351C(actor->index, &actor->obj.pos, &D_800D0030, 1) != 0) ||
(actor->obj.pos.y < (D_80177940 + 10.0f))) &&
(actor->obj.pos.y < (gGroundLevel + 10.0f))) &&
(actor->timer_0BE == 0)) {
func_8007D0E0(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 10.0f);
Object_Kill(&actor->obj, &actor->sfxPos);
@ -739,7 +739,7 @@ void func_8006C008(Actor* actor) {
func_8007D0E0(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, actor->scale);
}
if (((actor->timer_0BC == 0) || (func_8006351C(actor->index, &actor->obj.pos, &D_800D0030, 1) != 0) ||
(actor->obj.pos.y < (D_80177940 + 10.0f))) &&
(actor->obj.pos.y < (gGroundLevel + 10.0f))) &&
(actor->timer_0BE == 0)) {
func_8007BFFC(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, actor->vel.x, actor->vel.y,
actor->vel.z, actor->scale * 1.5f, 4);
@ -751,7 +751,7 @@ void func_8006C008(Actor* actor) {
func_8007D0E0(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 1.5f);
}
if ((func_8006351C(actor->index, &actor->obj.pos, &D_800D0030, 1) != 0) ||
(actor->obj.pos.y < (D_80177940 + 10.0f))) {
(actor->obj.pos.y < (gGroundLevel + 10.0f))) {
if (gLevelType == LEVELTYPE_SPACE) {
func_8007D0E0(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 2.0f);
Object_Kill(&actor->obj, &actor->sfxPos);
@ -1947,8 +1947,8 @@ void func_8006FEEC(Actor* actor) {
if (actor->unk_0CE <= 0) {
for (i = 3; i < 11; i++) {
func_E16C50_801900FC(&actor->vwork[i], &actor->vwork[i + 11], (Rand_ZeroOne() - 0.5f) * 20.0f,
Rand_ZeroOne() * -10.0f, Rand_ZeroOne() * 10.0f, 41, actor->scale, 200, i);
func_i3_801900FC(&actor->vwork[i], &actor->vwork[i + 11], (Rand_ZeroOne() - 0.5f) * 20.0f,
Rand_ZeroOne() * -10.0f, Rand_ZeroOne() * 10.0f, 41, actor->scale, 200, i);
}
actor->unk_044 = 0;
func_80066254(actor);
@ -2188,7 +2188,7 @@ void func_800701E0(Actor* actor) {
sp3C.z = actor->vel.z;
if ((func_8006351C(actor->index, &actor->obj.pos, &sp3C, 0) != 0) ||
(actor->obj.pos.y < (D_80177940 + 20.0f))) {
(actor->obj.pos.y < (gGroundLevel + 20.0f))) {
actor->obj.status = 3;
actor->obj.pos.z -= actor->vel.z;
actor->unk_0D0 = 1;
@ -2592,79 +2592,79 @@ void func_80070D44(Actor* actor) {
break;
case 49:
if (D_800D3180[1] != 0) {
if (D_800D3180[LEVEL_METEO] != 0) {
func_80070CEC(actor);
}
break;
case 50:
if (D_800D3180[0xE] != 0) {
if (D_800D3180[LEVEL_FORTUNA] != 0) {
func_80070CEC(actor);
}
break;
case 51:
if (D_800D3180[2] != 0) {
if (D_800D3180[LEVEL_SECTOR_X] != 0) {
func_80070CEC(actor);
}
break;
case 52:
if (D_800D3180[0xC] != 0) {
if (D_800D3180[LEVEL_TITANIA] != 0) {
func_80070CEC(actor);
}
break;
case 53:
if (D_800D3180[0x11] != 0) {
if (D_800D3180[LEVEL_BOLSE] != 0) {
func_80070CEC(actor);
}
break;
case 54:
if (D_800D3180[5] != 0) {
if (D_800D3180[LEVEL_SECTOR_Y] != 0) {
func_80070CEC(actor);
}
break;
case 55:
if (D_800D3180[0x10] != 0) {
if (D_800D3180[LEVEL_KATINA] != 0) {
func_80070CEC(actor);
}
break;
case 56:
if (D_800D3180[7] != 0) {
if (D_800D3180[LEVEL_SOLAR] != 0) {
func_80070CEC(actor);
}
break;
case 57:
if (D_800D3180[0xB] != 0) {
if (D_800D3180[LEVEL_MACBETH] != 0) {
func_80070CEC(actor);
}
break;
case 58:
if (D_800D3180[0xD] != 0) {
if (D_800D3180[LEVEL_AQUAS] != 0) {
func_80070CEC(actor);
}
break;
case 59:
if (D_800D3180[8] != 0) {
if (D_800D3180[LEVEL_ZONESS] != 0) {
func_80070CEC(actor);
}
break;
case 60:
if (D_800D3180[0x12] != 0) {
if (D_800D3180[LEVEL_SECTOR_Z] != 0) {
func_80070CEC(actor);
}
break;
case 61:
if (D_800D3180[3] != 0) {
if (D_800D3180[LEVEL_AREA_6] != 0) {
func_80070CEC(actor);
}
break;
@ -3115,8 +3115,8 @@ void func_80072594(Actor* actor) {
break;
case 13:
spDC = __sinf(((actor->index * 45) + gFrameCount) * M_DTOR) * (*actor).fwork[17];
spD8 = __cosf(((actor->index * 45) + (gFrameCount * 2)) * M_DTOR) * (*actor).fwork[17];
spDC = __sinf(((actor->index * 45) + gFrameCount) * M_DTOR) * actor->fwork[17];
spD8 = __cosf(((actor->index * 45) + (gFrameCount * 2)) * M_DTOR) * actor->fwork[17];
pad = actor->iwork[1];
pad = gActors[pad].iwork[12];
D_Timer_80161670[pad] = 5;
@ -3442,8 +3442,8 @@ void func_80072594(Actor* actor) {
actor->unk_0B6 = 0;
}
if (((s32) gFrameCount % 3) == 0) {
func_E16C50_8019E9F4(actor->obj.pos.x, actor->obj.pos.y - 20, actor->obj.pos.z - 180.0f, 0.0f,
Rand_ZeroOne() * 20.0f * -1.0f, 0.0f, 4.0f, 2);
func_i3_8019E9F4(actor->obj.pos.x, actor->obj.pos.y - 20, actor->obj.pos.z - 180.0f, 0.0f,
Rand_ZeroOne() * 20.0f * -1.0f, 0.0f, 4.0f, 2);
}
} else if (actor->unk_0B6 >= Animation_GetFrameCount(&D_40057AC)) {
actor->unk_0B6 = 0;
@ -3635,9 +3635,9 @@ void func_80072594(Actor* actor) {
actor->unk_0B6 = 49;
}
if (gFrameCount & 1) {
func_E16C50_801AC8A8(((Rand_ZeroOne() - 0.5f) * 100.0f) + actor->obj.pos.x,
(Rand_ZeroOne() * 50.0f) + actor->obj.pos.y,
((Rand_ZeroOne() - 0.5f) * 100.0f) + actor->obj.pos.z, 1.0f, 0);
func_i3_801AC8A8(((Rand_ZeroOne() - 0.5f) * 100.0f) + actor->obj.pos.x,
(Rand_ZeroOne() * 50.0f) + actor->obj.pos.y,
((Rand_ZeroOne() - 0.5f) * 100.0f) + actor->obj.pos.z, 1.0f, 0);
}
}
actor->timer_0C2 = 10000;
@ -3802,8 +3802,8 @@ void func_80074FF0(Actor* actor) {
case 96:
RCP_SetupDL(&gMasterDisp, 0x22);
gDPSetTextureFilter(gMasterDisp++, G_TF_POINT);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, (s32) (*actor).fwork[15], (s32) (*actor).fwork[16],
(s32) (*actor).fwork[17], 255);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, (s32) actor->fwork[15], (s32) actor->fwork[16],
(s32) actor->fwork[17], 255);
gSPDisplayList(gMasterDisp++, D_800D003C[actor->unk_0B4].unk_00);
gDPSetTextureFilter(gMasterDisp++, G_TF_BILERP);
break;
@ -3945,7 +3945,7 @@ void func_80074FF0(Actor* actor) {
Matrix_RotateY(gGfxMatrix, M_PI, 1);
Matrix_Scale(gGfxMatrix, 1.5f, 1.5f, 1.5f, 1);
Animation_DrawSkeleton(1, D_400A398, sp114, func_80074BFC, NULL, actor, &gIdentityMatrix);
Math_SmoothStepToF(&(*actor).fwork[16], 0.0f, 0.3f, 2.0f, 0.0001f);
Math_SmoothStepToF(&actor->fwork[16], 0.0f, 0.3f, 2.0f, 0.0001f);
break;
case 36:
@ -4002,7 +4002,7 @@ void func_80074FF0(Actor* actor) {
case 79:
temp_s0 = actor->unk_0B8;
actor->unk_0B8 = 2;
func_E16C50_80190430(actor);
func_i3_80190430(actor);
actor->unk_0B8 = temp_s0;
break;
@ -4182,7 +4182,7 @@ void func_800763A4(Actor* actor) {
sp60 = func_8006351C(actor->index, &actor->obj.pos, &sp4C, 0);
if ((sp60 != 0) || (actor->obj.pos.y < (D_80177940 + 30.0f))) {
if ((sp60 != 0) || (actor->obj.pos.y < (gGroundLevel + 30.0f))) {
if ((Rand_ZeroOne() < 0.5f) && (actor->timer_04C < 3) && (gLevelType == LEVELTYPE_PLANET) &&
(sp60 != 999) && (D_80161A88 != 2) && ((actor->vel.z < -20.0f) || (actor->vel.z > 0.0f))) {
if (gCurrentLevel == LEVEL_FORTUNA) {
@ -4219,13 +4219,13 @@ void func_800763A4(Actor* actor) {
}
}
} else {
if ((actor->obj.pos.y < (D_80177940 + 30.0f)) && (gLevelType == LEVELTYPE_PLANET)) {
if ((actor->obj.pos.y < (gGroundLevel + 30.0f)) && (gLevelType == LEVELTYPE_PLANET)) {
actor->vel.z = 0.0f;
if (D_80161A88 == 2) {
func_8007D9DC(actor->obj.pos.x, D_80177940 + 2.0f, actor->obj.pos.z, 3.0f, 20.0f, 0);
func_8007D9DC(actor->obj.pos.x, D_80177940 + 2.0f, actor->obj.pos.z, 3.0f, 20.0f, 10);
func_8007D9DC(actor->obj.pos.x, D_80177940 + 2.0f, actor->obj.pos.z, 3.0f, 20.0f, 20);
func_8007ADF4(actor->obj.pos.x, D_80177940, actor->obj.pos.z, 0.1f, 3.0f);
func_8007D9DC(actor->obj.pos.x, gGroundLevel + 2.0f, actor->obj.pos.z, 3.0f, 20.0f, 0);
func_8007D9DC(actor->obj.pos.x, gGroundLevel + 2.0f, actor->obj.pos.z, 3.0f, 20.0f, 10);
func_8007D9DC(actor->obj.pos.x, gGroundLevel + 2.0f, actor->obj.pos.z, 3.0f, 20.0f, 20);
func_8007ADF4(actor->obj.pos.x, gGroundLevel, actor->obj.pos.z, 0.1f, 3.0f);
} else {
func_800365E4(actor->obj.pos.x, 3.0f, actor->obj.pos.z, actor->obj.pos.x, actor->obj.pos.z,
0.0f, 0.0f, 90.0f, 6.5f, 0, 0);
@ -4233,7 +4233,7 @@ void func_800763A4(Actor* actor) {
func_8007C120(actor->obj.pos.x, 20.0f, actor->obj.pos.z, 0.0f, 0.0f, 0.0f, actor->scale * 0.05f,
0x1E);
if ((gCurrentLevel == LEVEL_FORTUNA) || (gCurrentLevel == LEVEL_VENOM_2)) {
func_8007C688(actor->obj.pos.x, D_80177940 + 30.0f, actor->obj.pos.z, 3.0f, 60);
func_8007C688(actor->obj.pos.x, gGroundLevel + 30.0f, actor->obj.pos.z, 3.0f, 60);
if (gCurrentLevel == LEVEL_FORTUNA) {
func_80062C38(actor->obj.pos.x, actor->obj.pos.z);
}

View File

@ -383,8 +383,8 @@ void func_800A26C0(void) {
gLifeCount[0] = 2;
D_80177D20 = 0.0f;
D_8016170C = D_80177A80 = D_80177830 = D_80177838 = D_80177840 = D_80178754 = gVersusMode = D_80177AE0 =
D_80178410 = D_80177B40 = D_80177854 = D_8017784C = gDrawMode = D_80161734 = D_80161A2C = gBgColor =
D_80178340 = 0;
D_80178410 = D_80177B40 = D_80177854 = D_8017784C = gDrawMode = gShowBossHealth = D_80161A2C =
gBgColor = D_80178340 = 0;
gNextGameState = D_80177C94 = D_80177CAC = D_80177CB4 = D_80177CBC = D_80177CC4 = D_80177C9C =
D_80177CA4 = D_80161A5C = D_80161A34 = 0;
for (i = 0; i < 4; i++) {

View File

@ -128,25 +128,25 @@ u8 Overlay_Load(u8 ovlSetup, u8 ovlStage) {
changeOvl = Overlay_Init(&sOvlE51970_SectorZ[ovlStage]);
break;
case OVL_SETUP_AQUAS:
changeOvl = Overlay_Init(&sOvlE16C50_Aquas[ovlStage]);
changeOvl = Overlay_Init(&sOvli3_Aquas[ovlStage]);
break;
case OVL_SETUP_AREA_6:
changeOvl = Overlay_Init(&sOvlE16C50_Area6[ovlStage]);
changeOvl = Overlay_Init(&sOvli3_Area6[ovlStage]);
break;
case OVL_SETUP_FORTUNA:
changeOvl = Overlay_Init(&sOvlE51970_Fortuna[ovlStage]);
break;
case OVL_SETUP_UNK_4:
changeOvl = Overlay_Init(&sOvlE16C50_Unk4[ovlStage]);
changeOvl = Overlay_Init(&sOvli3_Unk4[ovlStage]);
break;
case OVL_SETUP_SECTOR_Y:
changeOvl = Overlay_Init(&sOvlE9F1D0_SectorY[ovlStage]);
break;
case OVL_SETUP_SOLAR:
changeOvl = Overlay_Init(&sOvlE16C50_Solar[ovlStage]);
changeOvl = Overlay_Init(&sOvli3_Solar[ovlStage]);
break;
case OVL_SETUP_ZONESS:
changeOvl = Overlay_Init(&sOvlE16C50_Zoness[ovlStage]);
changeOvl = Overlay_Init(&sOvli3_Zoness[ovlStage]);
break;
case OVL_SETUP_VENOM_ANDROSS:
changeOvl = Overlay_Init(&sOvlE9F1D0_Venom2[ovlStage]);

View File

@ -422,8 +422,8 @@ OverlayInit sOvlE51970_SectorZ[1] = {
/* 0xF */ NO_SEGMENT } },
};
OverlayInit sOvlE16C50_Aquas[1] = {
{ OVERLAY_OFFSETS(ovl_E16C50),
OverlayInit sOvli3_Aquas[1] = {
{ OVERLAY_OFFSETS(ovl_i3),
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
/* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
/* 0x3 */ ROM_SEGMENT(ast_8E1F80),
@ -441,8 +441,8 @@ OverlayInit sOvlE16C50_Aquas[1] = {
/* 0xF */ NO_SEGMENT } },
};
OverlayInit sOvlE16C50_Area6[1] = {
{ OVERLAY_OFFSETS(ovl_E16C50),
OverlayInit sOvli3_Area6[1] = {
{ OVERLAY_OFFSETS(ovl_i3),
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
/* 0x2 */ ROM_SEGMENT(ast_8A68C0),
/* 0x3 */ ROM_SEGMENT(ast_8BFC00),
@ -495,8 +495,8 @@ OverlayInit sOvlE51970_Fortuna[2] = {
/* 0xF */ NO_SEGMENT } },
};
OverlayInit sOvlE16C50_Unk4[1] = {
{ OVERLAY_OFFSETS(ovl_E16C50),
OverlayInit sOvli3_Unk4[1] = {
{ OVERLAY_OFFSETS(ovl_i3),
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
/* 0x2 */ ROM_SEGMENT(ast_8A68C0),
/* 0x3 */ ROM_SEGMENT(ast_8BFC00),
@ -533,8 +533,8 @@ OverlayInit sOvlE9F1D0_SectorY[1] = {
/* 0xF */ NO_SEGMENT } },
};
OverlayInit sOvlE16C50_Solar[1] = {
{ OVERLAY_OFFSETS(ovl_E16C50),
OverlayInit sOvli3_Solar[1] = {
{ OVERLAY_OFFSETS(ovl_i3),
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
/* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
/* 0x3 */ ROM_SEGMENT(ast_8BFC00),
@ -552,8 +552,8 @@ OverlayInit sOvlE16C50_Solar[1] = {
/* 0xF */ NO_SEGMENT } },
};
OverlayInit sOvlE16C50_Zoness[1] = {
{ OVERLAY_OFFSETS(ovl_E16C50),
OverlayInit sOvli3_Zoness[1] = {
{ OVERLAY_OFFSETS(ovl_i3),
{ /* 0x1 */ ROM_SEGMENT(ast_873CB0),
/* 0x2 */ ROM_SEGMENT(ast_8AE0A0),
/* 0x3 */ ROM_SEGMENT(ast_8BFC00),

View File

@ -1,33 +1,74 @@
#include "global.h"
#include "fox_map.h"
extern UNK_TYPE D_800D2F50; // type unclear. unused?
extern s32 D_800D2F54; // only gets set to 0. unused?
extern f32 D_800D2F58;
extern f32 D_800D2F5C; // holds float versions of gVolumeSettings. Unused?
extern f32 D_800D2F60;
extern f32 D_800D2F64;
extern u8 D_800D2F68;
extern u8 D_800D2F6C[20];
extern Vec3f D_800D2F80;
extern Vec3f D_800D2F8C;
extern EnvSettings* D_800D2F98[21];
extern f32 D_800D2FEC[5];
extern s32 D_800D3000[4][4];
extern Vec3f D_800D3040[6];
extern Vec3f D_800D3088[4];
extern Vec3f D_800D30B8[4];
extern Vec3f D_800D30E8;
extern f32 D_800D30F4[4];
extern f32 D_800D3104[4];
extern f32 D_800D3114[4];
extern f32 D_800D3124[12];
extern f32 D_800D3154[4];
extern s32 D_800D3164[4];
extern u8 D_800D317C;
extern u8 D_800D3180[30];
extern s32 D_800D31A0[4];
UNK_TYPE D_800D2F50 = 0;
s32 D_800D2F54 = 0;
f32 D_800D2F58 = 0.0f;
f32 D_800D2F5C = 0.0f;
f32 D_800D2F60 = 0.0f;
f32 D_800D2F64 = 0.0f;
u8 D_800D2F68 = 0;
u8 D_800D2F6C[20] = {
PLANET_CORNERIA, PLANET_METEO, PLANET_SECTOR_X, PLANET_AREA_6, PLANET_AREA_6,
PLANET_SECTOR_Y, SAVE_SLOT_VENOM_1, SAVE_SLOT_SOLAR, PLANET_ZONESS, SAVE_SLOT_VENOM_1,
PLANET_CORNERIA, PLANET_MACBETH, PLANET_TITANIA, PLANET_AQUAS, PLANET_FORTUNA,
PLANET_METEO, PLANET_KATINA, PLANET_BOLSE, PLANET_SECTOR_Z, SAVE_SLOT_VENOM_2,
};
Vec3f D_800D2F80 = { -65.0f, -22.0f, -65.0f };
Vec3f D_800D2F8C = { 65.0f, -22.0f, -65.0f };
EnvSettings* D_800D2F98[21] = {
&D_6037160, &D_6026C80, &D_602A120, &D_6023F20, &D_6028760, &D_602E4B0, &D_6007E30,
&D_601F1F0, &D_60266D0, &D_C035110, &D_6006A60, &D_6030E30_Env, &D_6005000, &D_602E540,
&D_600EA90, NULL, &D_6011000, &D_600FF30_Env, &D_6006E70, &D_6014D50, &D_302DD70,
};
f32 D_800D2FEC[5] = {
0.0f, 0.5f, -0.5f, 0.5f, -0.5f,
};
s32 D_800D3000[4][4] = {
{ 20, 40, 0, 0 },
{ 20, 20, 0, 0 },
{ 0, 0, 0, 0 },
{ 80, 120, 0, 0 },
};
Vec3f D_800D3040[6] = {
{ 0.0f, -20.0f, 0.0f }, { -17.5f, -17.5f, 0.0f }, { -17.5f, 17.5f, 0.0f },
{ 0.0f, 20.0f, 0.0f }, { 17.5f, 17.5f, 0.0f }, { 17.5f, -17.5f, 0.0f },
};
Vec3f D_800D3088[4] = {
{ 0.0f, -20.0f, 0.0f },
{ 0.0f, 20.0f, 0.0f },
{ 20.0f, 0.0f, 0.0f },
{ -20.0f, 0.0f, 0.0f },
};
Vec3f D_800D30B8[4] = {
{ 0.0f, -20.0f, 0.0f },
{ 0.0f, 20.0f, 0.0f },
{ -20.0f, 0.0f, 0.0f },
{ 20.0f, 0.0f, 0.0f },
};
Vec3f D_800D30E8 = { 0.0f, -10.0f, 0.0f };
f32 D_800D30F4[4] = { 3.0f, 4.0f, 5.0f, 3.0f };
f32 D_800D3104[4] = { 0.2f, 0.25f, 0.3f, 0.2f };
f32 D_800D3114[4] = { 10000.0f, -10000.0f, 10000.0f, -10000.0f };
f32 D_800D3124[12] = {
10000.0f, -10000.0f, -10000.0f, 10000.0f, 500.0f, -500.0f, 500.0f, -500.0f, 500.0f, -500.0f, -500.0f, 500.0f,
};
f32 D_800D3154[4] = {
45.0f,
-135.0f,
135.0f,
-45.0f,
};
s32 D_800D3164[6] = {
1, 1, -1, 1, -1, 1,
};
u8 D_800D317C = 255;
u8 D_800D3180[30] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
UNK_TYPE D_800D31A0[4] = { 0 };
extern f32 D_E16C50_801C4188;
extern f32 D_i3_801C4188;
#define MEM_ARRAY_ALLOCATE(arr, count) ((arr) = Memory_Allocate((count) * sizeof(*(arr))))
@ -125,7 +166,7 @@ void func_800A3FEC(void) {
}
void func_800A4460(Player* player) {
if ((gCurrentLevel == LEVEL_VENOM_ANDROSS) && (gBosses[0].obj.status == 2) && (gBosses[0].unk_04E == 17)) {
if ((gCurrentLevel == LEVEL_VENOM_ANDROSS) && (gBosses[0].obj.status == 2) && (gBosses[0].actionState == 17)) {
player->unk_060 = __sinf(player->unk_0F4 * 0.7f * M_DTOR) * 0.5f;
player->unk_088 += 13.0f;
player->unk_0F4 += 20.0f;
@ -224,16 +265,16 @@ void func_800A4C40(Player* player) {
Matrix_RotateZ(gCalcMatrix, -(player->unk_0F8 * M_DTOR), 1);
Matrix_MultVec3f(gCalcMatrix, &sp54, &sp3C);
Matrix_MultVec3f(gCalcMatrix, &sp48, &sp30);
if (player->pos.y < (D_80177940 + 100.0f)) {
if ((sp3C.y < D_80177940 + 80.0f) && !(gFrameCount & 1)) {
if (player->pos.y < (gGroundLevel + 100.0f)) {
if ((sp3C.y < gGroundLevel + 80.0f) && !(gFrameCount & 1)) {
if (D_80161A64) {}
func_8007ACE0(sp3C.x, D_80177940, sp3C.z, 0.1f, 2.0f, player->unk_0E8 + player->unk_114 + 20.0f);
func_8007ACE0(sp3C.x, gGroundLevel, sp3C.z, 0.1f, 2.0f, player->unk_0E8 + player->unk_114 + 20.0f);
}
if ((sp30.y < D_80177940 + 80.0f) && !(gFrameCount & 1)) {
func_8007ACE0(sp30.x, D_80177940, sp30.z, 0.1f, 2.0f, player->unk_0E8 + player->unk_114 - 20.0f);
if ((sp30.y < gGroundLevel + 80.0f) && !(gFrameCount & 1)) {
func_8007ACE0(sp30.x, gGroundLevel, sp30.z, 0.1f, 2.0f, player->unk_0E8 + player->unk_114 - 20.0f);
}
}
if ((sp30.y < D_80177940 + 80.0f) || (sp3C.y < D_80177940 + 80.0f)) {
if ((sp30.y < gGroundLevel + 80.0f) || (sp3C.y < gGroundLevel + 80.0f)) {
if (D_80161A64 == 0) {
D_80161A64 = 1;
Audio_PlaySfx(0x1100000B, &player->unk_460, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
@ -458,13 +499,13 @@ void func_800A594C(void) {
if (gVersusMode) {
switch (gVersusStage) {
case 0:
sEnvSettings = SEGMENTED_TO_VIRTUAL(D_302DD70);
sEnvSettings = SEGMENTED_TO_VIRTUAL(&D_302DD70);
break;
case 1:
sEnvSettings = SEGMENTED_TO_VIRTUAL(D_302DDB4);
sEnvSettings = SEGMENTED_TO_VIRTUAL(&D_302DDB4);
break;
case 2:
sEnvSettings = SEGMENTED_TO_VIRTUAL(D_302DDF8);
sEnvSettings = SEGMENTED_TO_VIRTUAL(&D_302DDF8);
break;
}
} else {
@ -519,7 +560,7 @@ void func_800A5D6C(void) {
void func_800A5EBC(void) {
func_800A5D6C();
D_80177940 = -25000.0f;
gGroundLevel = -25000.0f;
D_80178410 = 600;
if (gCurrentLevel == LEVEL_AREA_6) {
D_80178410 = 300;
@ -538,11 +579,11 @@ void func_800A5EBC(void) {
}
if (gCurrentLevel == LEVEL_BOLSE) {
D_80178410 = 300;
D_80177940 = -0.0f;
gGroundLevel = -0.0f;
}
if (gCurrentLevel == LEVEL_TRAINING) {
D_80178410 = 800;
D_80177940 = -0.0f;
gGroundLevel = -0.0f;
}
}
@ -1540,7 +1581,7 @@ void func_800A8BA4(Player* player) {
break;
}
} else if (player->form == FORM_ARWING) {
if ((player->hit1.y < (D_80177940 + 13.0f)) && (player->state_1C8 != PLAYERSTATE_1C8_4)) {
if ((player->hit1.y < (gGroundLevel + 13.0f)) && (player->state_1C8 != PLAYERSTATE_1C8_4)) {
if (D_80161A88 == 2) {
player->unk_1F4 = 7;
player->unk_0E4 = (player->unk_0D0 + player->unk_110) * 0.5f;
@ -1553,7 +1594,7 @@ void func_800A8BA4(Player* player) {
func_8007BC7C(player->hit1.x, player->hit1.y, player->hit1.z, 6.0f);
}
}
if ((player->hit2.y < (D_80177940 + 13.0f)) && (player->state_1C8 != PLAYERSTATE_1C8_4)) {
if ((player->hit2.y < (gGroundLevel + 13.0f)) && (player->state_1C8 != PLAYERSTATE_1C8_4)) {
if (D_80161A88 == 2) {
player->unk_1F4 = 7;
player->unk_0E4 = (player->unk_0D0 + player->unk_110) * 0.5f;
@ -1789,7 +1830,7 @@ void func_800A8BA4(Player* player) {
player->unk_110 = 0.0f;
player->timer_498 = 5;
player->unk_0D8.y = 30.0f;
boss->unk_062 = 1;
boss->dmgType = DMG_BEAM;
func_8007BFFC(player->pos.x + (10.0f * (Rand_ZeroOne() - 0.5f)),
player->pos.y + (10.0f * Rand_ZeroOne()),
player->unk_138 + (10.0f * (Rand_ZeroOne() - 0.5f)), 0.0f, 15.0f, 0.0f, 2.0f, 5);
@ -1828,8 +1869,8 @@ void func_800A8BA4(Player* player) {
break;
}
Player_ApplyDamage(player, temp_v0, boss->info.damage);
if ((boss->obj.id == OBJ_BOSS_303) && ((boss->unk_04E == 2) || (boss->unk_04E == 3)) &&
(sp98 >= 9)) {
if ((boss->obj.id == OBJ_BOSS_303) &&
((boss->actionState == 2) || (boss->actionState == 3)) && (sp98 >= 9)) {
player->unk_0D8.y = -100.0f;
}
if ((boss->obj.id == OBJ_BOSS_320) && (sp98 < 5)) {
@ -2086,9 +2127,9 @@ void func_800AA800(Player* player) {
player->unk_06C = player->unk_138 - player->pos.y;
if (D_801784AC != 4) {
if (gCamCount == 1) {
player->unk_068 = D_80177940 + 3.0f;
player->unk_068 = gGroundLevel + 3.0f;
} else {
player->unk_068 = D_80177940;
player->unk_068 = gGroundLevel;
if (player->form == FORM_ON_FOOT) {
player->unk_06C = player->unk_138;
}
@ -2111,7 +2152,7 @@ void func_800AA800(Player* player) {
spC8.y = obj58->obj.pos.y;
spC8.z = obj58->obj.pos.z;
spD4.x = player->pos.x;
spD4.y = D_80177940;
spD4.y = gGroundLevel;
spD4.z = player->unk_138;
colId = COL2_4;
if (obj58->obj.id == OBJ_80_141) {
@ -2198,7 +2239,7 @@ void func_800AA800(Player* player) {
spEC.y = player->pos.y + var_fs0 - tempy;
spEC.z = player->unk_138 + var_fs1 - tempz;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &spEC, &spE0);
if ((player->pos.y + var_fs0) <= D_80177940) {
if ((player->pos.y + var_fs0) <= gGroundLevel) {
break;
}
spD4.x = spE0.x + tempx;
@ -2263,12 +2304,12 @@ void func_800AA800(Player* player) {
tempx2 = spE0.x + tempx;
tempy2 = spE0.y + tempy;
tempz2 = spE0.z + tempz;
if (spEC.y + tempy <= D_80177940) {
if (spEC.y + tempy <= gGroundLevel) {
break;
}
if (func_800A78C4(hitbox, tempx, tempy, tempz, tempx2, tempy2, tempz2)) {
if (D_80177940 < player->unk_068) {
if (gGroundLevel < player->unk_068) {
player->unk_068 = spEC.y + 15.0f + tempy;
player->unk_06C = spEC.z + 10.0f + tempz;
player->unk_248 = (sp100 / 180.0f) * M_PI;
@ -2354,8 +2395,8 @@ void func_800AB334(void) {
case LEVEL_AQUAS:
D_80137E78 = 3;
D_8015F970 = 1600.0f;
D_E16C50_801C4188 = 128.0f;
func_E16C50_801A9824();
D_i3_801C4188 = 128.0f;
func_i3_801A9824();
break;
case LEVEL_TITANIA:
func_E6A810_80188F30();
@ -2374,7 +2415,7 @@ void func_800AB334(void) {
/* fallthrough */
case LEVEL_SOLAR:
D_80178294 = 1;
D_80177940 = -20000.0f;
gGroundLevel = -20000.0f;
fptr = MEM_ARRAY_ALLOCATE(D_801782CC, 17 * 17);
for (i = 0; i < 17 * 17; i++, fptr++) {
*fptr = 0.0f;
@ -2490,7 +2531,7 @@ void func_800ABAB4(void) {
func_8001A838(0x11403076);
func_8001A838(0x49000014);
Memory_FreeAll();
D_80177C78 = D_80177C8C = D_80161734 = D_8015F908 = D_8015F90C = D_8015F910 = 0;
D_80177C78 = D_80177C8C = gShowBossHealth = D_8015F908 = D_8015F90C = D_8015F910 = 0;
D_800CA220 = 0;
D_80177830 = 0;
if (gCurrentLevel != LEVEL_VERSUS) {
@ -2516,7 +2557,7 @@ void func_800ABAB4(void) {
D_80177E7C = 0;
func_800A594C();
D_80161A62 = D_8017796C = D_Timer_80177B44 = D_80177B4C = D_8015F928 = D_8015F940 = D_80178284 = gFrameCount =
D_80178480 = D_801782FC = D_801613A0 = D_80161690 = D_8015F900 = D_80177930 = 0;
D_80178480 = D_801782FC = gBossFrameCount = D_80161690 = D_8015F900 = D_80177930 = 0;
if (gCurrentLevel == LEVEL_SECTOR_X) {
D_80177930 = 1;
@ -2537,7 +2578,7 @@ void func_800ABAB4(void) {
D_8017835C = 16;
D_8017836C = 0.0f;
D_8015F960 = 0.0f;
D_80177940 = 0.0f;
gGroundLevel = 0.0f;
D_80178414 = D_80178420 = D_80178424 = D_80178428 = D_8017842C = D_80178430 = 0.0f;
if ((gLevelType == LEVELTYPE_SPACE) || (gCurrentLevel == LEVEL_TRAINING)) {
@ -3079,7 +3120,7 @@ void func_800ADA28(Player* player) {
Math_SmoothStepToF(&player->wings.unk_08, -70.0f, 0.3f, 100.0f, 0.f);
Math_SmoothStepToF(&player->wings.unk_0C, 70.0f, 0.3f, 100.0f, 0.f);
Math_SmoothStepToF(&player->wings.unk_10, 70.0f, 0.3f, 100.0f, 0.f);
if (player->pos.y < (D_80177940 + 70.0f)) {
if (player->pos.y < (gGroundLevel + 70.0f)) {
player->pos.y += 6.0f;
}
}
@ -3093,7 +3134,7 @@ void func_800ADA28(Player* player) {
Math_SmoothStepToF(&player->wings.unk_08, 70.0f, 0.3f, 100.0f, 0.0f);
Math_SmoothStepToF(&player->wings.unk_0C, -70.0f, 0.3f, 100.0f, 0.0f);
Math_SmoothStepToF(&player->wings.unk_10, -70.0f, 0.3f, 100.0f, 0.0f);
if (player->pos.y < (D_80177940 + 70.0f)) {
if (player->pos.y < (gGroundLevel + 70.0f)) {
player->pos.y += 6.0f;
}
}
@ -3324,14 +3365,14 @@ void func_800AE4A4(Player* player) {
D_80177968 = 2.3f;
var_fa1 = 0.1f;
temp = -sp78 * D_80177970;
if ((temp <= 0.0f) && (player->pos.y < (D_80177940 + 50.0f))) {
if ((temp <= 0.0f) && (player->pos.y < (gGroundLevel + 50.0f))) {
D_80177968 *= 2.0f;
temp = 0.0f;
var_fa1 = 0.2f;
}
Math_SmoothStepToF(&player->unk_0E4, temp, var_fa1, D_80177968, 0.03f);
var_fv1 = 1.5f;
if (player->pos.y < (D_80177940 + 70.0f)) {
if (player->pos.y < (gGroundLevel + 70.0f)) {
var_fv1 = 0.8f;
}
if (!(((gInputHold->button & R_TRIG) && (gInputHold->button & Z_TRIG)) ||
@ -3478,10 +3519,10 @@ void func_800AF07C(Player* player) {
D_80177968 = 2.3f;
D_80177970 = 0.68f;
if ((gInputPress->stick_x == 0) && (gInputPress->stick_y == 0)) {
// wut
} else {
}
// if ((gInputPress->stick_x == 0) && (gInputPress->stick_y == 0)) {
// // wut
// } else {
// }
sp9C = -gInputPress->stick_x;
sp98 = gInputPress->stick_y;
Math_SmoothStepToAngle(&player->unk_4D8, 0.0f, 0.1f, 5.0f, 0.01f);
@ -3532,14 +3573,14 @@ void func_800AF07C(Player* player) {
D_80177968 = 2.3f;
sp84 = 0.1f;
var_fa1 = -sp98 * D_80177970;
if ((var_fa1 <= 0.0f) && (player->pos.y < (D_80177940 + 50.0f))) {
if ((var_fa1 <= 0.0f) && (player->pos.y < (gGroundLevel + 50.0f))) {
var_fa1 = 0.0f;
sp84 = 0.2f;
D_80177968 *= 2.0f;
}
Math_SmoothStepToF(&player->unk_0E4, var_fa1, sp84, D_80177968, 0.03f);
var_fv1 = 1.0f;
if (player->pos.y < (D_80177940 + 70.0f)) {
if (player->pos.y < (gGroundLevel + 70.0f)) {
var_fv1 = 0.8f;
}
if (!(((gInputHold->button & R_TRIG) && (gInputHold->button & Z_TRIG)) ||
@ -3728,8 +3769,8 @@ void func_800AF928(Player* player) {
Math_SmoothStepToF(&player->unk_000, 0.0f, 0.1f, 5.0f, 0.00001f);
}
player->unk_1D4 = 0;
if (player->pos.y <= D_80177940 - 5.0f) {
player->pos.y = D_80177940 - 5.0f;
if (player->pos.y <= gGroundLevel - 5.0f) {
player->pos.y = gGroundLevel - 5.0f;
if (player->vel.y < -20.0f) {
player->unk_1F4 = 20;
}
@ -3942,7 +3983,7 @@ void func_800B0194(Player* player) {
player->unk_1D4 = 0;
player->vel.y -= player->unk_0D4;
player->pos.y += player->vel.y;
if (player->pos.y <= D_80177940) {
if (player->pos.y <= gGroundLevel) {
player->unk_1D4 = 1;
player->pos.y = 0.0f;
player->vel.y = 0.0f;
@ -4019,7 +4060,7 @@ void func_800B0F50(Player* playerx) {
} else {
player->unk_09C = 700.0f;
player->unk_0A0 = 680.0f;
player->unk_0A4 = D_80177940 + 40.0f;
player->unk_0A4 = gGroundLevel + 40.0f;
player->unk_0A8 = 3000.0f;
}
player->unk_0D0 = D_80161A54;
@ -4048,7 +4089,7 @@ void func_800B0F50(Player* playerx) {
player->unk_09C = 700.0f;
player->unk_0D0 = 20.0f;
player->unk_0A0 = 720.0f;
player->unk_0A4 = D_80177940 + 30.0f;
player->unk_0A4 = gGroundLevel + 30.0f;
break;
case LEVEL_SOLAR:
case LEVEL_ZONESS:
@ -4270,7 +4311,7 @@ void func_800B0F50(Player* playerx) {
} else if (!gVersusMode && (D_80177C90 != 0xFFFF) && ((gLevelMode != LEVELMODE_ALL_RANGE) || (D_8015F924 == 0))) {
func_8001D444(0, D_80177C90, 0, 0xFF);
}
D_80177840 = D_80177848 = D_80177850 = 0;
D_80177840 = gBossHealthBar = D_80177850 = 0;
if ((gCurrentLevel == LEVEL_TRAINING)) {
D_80177824 = 1;
@ -5045,12 +5086,12 @@ void func_800B42B0(Player* player) {
func_80047504(player);
break;
case FORM_BLUE_MARINE:
func_E16C50_801ACE50(player);
func_E16C50_801AD328(player);
func_i3_801ACE50(player);
func_i3_801AD328(player);
func_800B41E0(player);
func_E16C50_801AACF8(player);
func_i3_801AACF8(player);
func_800ADF58(player);
func_E16C50_801AC274(player);
func_i3_801AC274(player);
func_800A8BA4(player);
func_800AA800(player);
func_800B415C(player);
@ -5112,7 +5153,7 @@ void func_800B44C4(Player* player) {
}
break;
case FORM_BLUE_MARINE:
func_E16C50_801BEC80(player);
func_i3_801BEC80(player);
return;
case FORM_ON_FOOT:
func_800B00C0(player);
@ -5498,7 +5539,7 @@ void func_800B56BC(Player* player) {
Math_SmoothStepToF(&player->unk_030, var_fv1 * 1.6f, 0.1f, 3.0f, 0.05f);
if (gLevelType == LEVELTYPE_SPACE) {
Math_SmoothStepToF(&player->unk_02C, var_fv0 * 0.8f, 0.1f, 3.0f, 0.05f);
} else if (player->pos.y < (D_80177940 + 50.0f)) {
} else if (player->pos.y < (gGroundLevel + 50.0f)) {
Math_SmoothStepToF(&player->unk_02C, var_fv0 * 0.3f, 0.1f, 3.0f, 0.05f);
} else {
Math_SmoothStepToF(&player->unk_02C, 2.0f * var_fv0, 0.1f, 4.0f, 0.05f);
@ -5896,7 +5937,7 @@ void func_800B71E4(Player* player) {
} else if (player->form == FORM_LANDMASTER) {
func_80043468(player);
} else if (player->form == FORM_BLUE_MARINE) {
func_E16C50_801AA8E8(player);
func_i3_801AA8E8(player);
}
break;
case LEVELMODE_ALL_RANGE:
@ -6061,7 +6102,7 @@ void func_800B79B0(void) {
break;
case LEVEL_VENOM_ANDROSS:
func_E9F1D0_8018BDD8();
D_80177940 = -25000.0f;
gGroundLevel = -25000.0f;
gPlayer[0].unk_0A0 = 612.0f;
gPlayer[0].unk_0A4 = -544.0f;
if (D_Timer_80177B44 != 0) {
@ -6151,9 +6192,9 @@ void func_800B79B0(void) {
var_a0 = MIN(gPlayer[0].shields, 0xFF);
func_8001D1C8(var_a0, sp3A);
if (!(gFrameCount & 7) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_7)) {
func_E16C50_8019E8B8((Rand_ZeroOne() - 0.5f) * 6000.0f, -80.0f,
gPlayer[0].unk_138 + ((Rand_ZeroOne() * 2000.0f) + -6000.0f),
(Rand_ZeroOne() * 10.0f) + 20.0f);
func_i3_8019E8B8((Rand_ZeroOne() - 0.5f) * 6000.0f, -80.0f,
gPlayer[0].unk_138 + ((Rand_ZeroOne() * 2000.0f) + -6000.0f),
(Rand_ZeroOne() * 10.0f) + 20.0f);
}
func_8008C104(D_60229A4, D_6010198);
if (gPlayer[0].shields == 0) {

View File

@ -1923,7 +1923,7 @@ void func_800C2244(Actor* actor) {
x3 += 360.0f;
}
} else if (actor->obj.pos.y < D_80177940 + 50.0f) {
} else if (actor->obj.pos.y < gGroundLevel + 50.0f) {
if (x3 > 180.0f) {
x3 = 0.0f;
actor->unk_0F4.x = 0.0f;
@ -1959,8 +1959,8 @@ void func_800C2244(Actor* actor) {
actor->fwork[14] -= actor->fwork[14] * 0.1f;
actor->fwork[12] -= actor->fwork[12] * 0.1f;
if ((actor->obj.pos.y < D_80177940 + 40.0f) && (actor->vel.y < 0.0f)) {
actor->obj.pos.y = D_80177940 + 40.0f;
if ((actor->obj.pos.y < gGroundLevel + 40.0f) && (actor->vel.y < 0.0f)) {
actor->obj.pos.y = gGroundLevel + 40.0f;
actor->vel.y = 0.0f;
}

View File

@ -1322,8 +1322,8 @@ void func_8008DE68(void) {
f32 temp7;
f32 var_fv0;
if ((D_80161734 == 1) && (gTeamShields[2] > 0)) {
if ((D_80177848 >= 0) && (D_801616BC == -1.0f)) {
if ((gShowBossHealth == 1) && (gTeamShields[2] > 0)) {
if ((gBossHealthBar >= 0) && (D_801616BC == -1.0f)) {
Audio_PlaySfx(0x4900C028, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
D_801616BC = 255.0f;
}
@ -1358,7 +1358,7 @@ void func_8008DE68(void) {
gDPSetPrimColor(gMasterDisp++, 0, 0, 0, 0, 0, 255);
if (D_801616BC > 0.0f) {
var_fv0 = (D_801616BC - D_80177848) * (2.76f / D_801616BC);
var_fv0 = (D_801616BC - gBossHealthBar) * (2.76f / D_801616BC);
if (var_fv0 > 2.76f) {
var_fv0 = 2.76f;
}
@ -1600,10 +1600,10 @@ void func_8008F96C(void) {
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80090200.s")
void func_800907C4(Boss* boss) {
switch (boss->unk_04E) {
switch (boss->actionState) {
case 0:
if ((boss->fwork[1] == 255.0f) && (boss->fwork[2] == 212.0f)) {
boss->unk_04E = 1;
boss->actionState = 1;
} else {
Math_SmoothStepToF(&boss->fwork[1], 255.0f, 0.3f, 6.0f, 6.0f);
@ -1613,7 +1613,7 @@ void func_800907C4(Boss* boss) {
case 1:
if ((boss->fwork[1] == 28.0f) && (boss->fwork[2] == 23.0f)) {
boss->unk_04E = 0;
boss->actionState = 0;
} else {
Math_SmoothStepToF(&boss->fwork[1], 28.0f, 0.3f, 6.0f, 6.0f);
Math_SmoothStepToF(&boss->fwork[2], 23.0f, 0.3f, 4.98f, 4.98f);
@ -1819,9 +1819,9 @@ bool func_800910C0(Actor* actor) {
actor->timer_0BC = (s32) (Rand_ZeroOne() * 20.0f) + 10;
}
actor->fwork[4] = gBosses[0].obj.pos.x + (*actor).vwork[28].x;
actor->fwork[5] = (*actor).vwork[28].y;
actor->fwork[6] = gBosses[0].obj.pos.z + (*actor).vwork[28].z;
actor->fwork[4] = gBosses[0].obj.pos.x + actor->vwork[28].x;
actor->fwork[5] = actor->vwork[28].y;
actor->fwork[6] = gBosses[0].obj.pos.z + actor->vwork[28].z;
if (actor->unk_0E4 == 1) {
var_fv1 = 1500.0f;
@ -1965,7 +1965,7 @@ bool func_80091864(Actor* actor) {
sp44 += 40.0f;
if (sp44 >= 360.0f) {
sp44 -= 360.0f;
} else if ((actor->obj.pos.y < (D_80177940 + 50.0f)) && (gLevelType == LEVELTYPE_PLANET) && (sp44 > 180.0f)) {
} else if ((actor->obj.pos.y < (gGroundLevel + 50.0f)) && (gLevelType == LEVELTYPE_PLANET) && (sp44 > 180.0f)) {
sp44 = 0.0f;
}
actor->iwork[0] = 0;
@ -2022,8 +2022,8 @@ bool func_80091B90(Actor* actor) {
actor->fwork[14] -= actor->fwork[14] * 0.1f;
actor->fwork[12] -= actor->fwork[12] * 0.1f;
if ((actor->obj.pos.y < D_80177940 + 40.0f) && (actor->vel.y < 0.0f) && (gLevelType == LEVELTYPE_PLANET)) {
actor->obj.pos.y = D_80177940 + 40.0f;
if ((actor->obj.pos.y < gGroundLevel + 40.0f) && (actor->vel.y < 0.0f) && (gLevelType == LEVELTYPE_PLANET)) {
actor->obj.pos.y = gGroundLevel + 40.0f;
actor->vel.y = 0.0f;
}
actor->vel.z -= D_80177D08;
@ -2054,7 +2054,7 @@ bool func_80091DF4(Actor* actor) {
Vec3f sp44;
Vec3f sp38;
if ((actor->iwork[0] != 0) && (D_80177848 > 70)) {
if ((actor->iwork[0] != 0) && (gBossHealthBar > 70)) {
actor->iwork[0] = 0;
sp44.x = 0.0f;
sp44.y = 0.0f;
@ -2214,7 +2214,7 @@ void func_80093310(void) {
this->obj.pos.x = 0.0f;
this->obj.pos.y += 1700.0f;
this->obj.pos.z -= 5000.0f;
gActors->unk_0B6 = 1;
gActors[0].unk_0B6 = 1;
if (1) {}
this->obj.id = OBJ_ACTOR_195;
Object_SetInfo(&this->info, this->obj.id);

View File

@ -91,8 +91,8 @@ void func_DF4260_80187838(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4) {
void func_DF4260_801878D8(Boss* boss) {
s32 i;
D_801613A0 = 0;
if (gLevelMode == 0) {
gBossFrameCount = 0;
if (gLevelMode == LEVELMODE_ON_RAILS) {
if (gPlayer[0].state_1C8 == 3) {
gPlayer[0].state_1C8 = 9;
gPlayer[0].unk_1D0 = 0;
@ -137,11 +137,11 @@ void func_DF4260_80187AC8(Boss* boss) {
s32 var_s1;
s32 var_s1_2;
if (boss->unk_062 != 0) {
boss->unk_062 = 0;
if (boss->unk_066 == 0) {
if (boss->dmgType != DMG_NONE) {
boss->dmgType = DMG_NONE;
if (boss->dmgPart == 0) {
boss->swork[10] = 15;
boss->swork[29] -= boss->unk_064;
boss->swork[29] -= boss->damage;
func_DF4260_80187A38(boss, D_DF4260_8019B6D8[62], D_DF4260_8019B6D8[63], D_DF4260_8019B6D8[64], 0.2f, 20);
if (boss->swork[29] < 30) {
func_8007A6F0(&boss->obj.pos, 0x2943500F);
@ -158,7 +158,7 @@ void func_DF4260_80187AC8(Boss* boss) {
if (fabsf(boss->obj.rot.x) < 20.0f) {
boss->swork[32] = 1;
}
boss->unk_04E = 7;
boss->actionState = 7;
boss->timer_050 = 100;
func_800182F4(0x105000FF);
func_800182F4(0x115000FF);
@ -178,13 +178,13 @@ void func_DF4260_80187AC8(Boss* boss) {
}
func_800BA808(gMsg_ID_2280, RCID_BOSS_CORNERIA);
func_80042EC0(boss);
D_801613A0 = 100000;
gBossFrameCount = 100000;
return;
}
} else if (boss->unk_066 == 3) {
} else if (boss->dmgPart == 3) {
boss->swork[3] = 15;
boss->swork[20] = 30;
boss->swork[28] -= boss->unk_064;
boss->swork[28] -= boss->damage;
func_DF4260_801879F0(boss, D_DF4260_8019B6D8[12] + ((Rand_ZeroOne() - 0.5f) * 60.0f), D_DF4260_8019B6D8[13],
D_DF4260_8019B6D8[14] + ((Rand_ZeroOne() - 0.5f) * 60.0f), 2.0f);
func_DF4260_80187A38(boss, D_DF4260_8019B6D8[12], D_DF4260_8019B6D8[13], D_DF4260_8019B6D8[14], 0.1f, 20);
@ -195,10 +195,10 @@ void func_DF4260_80187AC8(Boss* boss) {
}
}
if (boss->unk_066 == 1) {
if (boss->dmgPart == 1) {
boss->swork[2] = 15;
boss->swork[21] = 30;
boss->swork[26] -= boss->unk_064;
boss->swork[26] -= boss->damage;
func_DF4260_801879F0(boss, D_DF4260_8019B6D8[6] + ((Rand_ZeroOne() - 0.5f) * 60.0f), D_DF4260_8019B6D8[7],
D_DF4260_8019B6D8[8] + ((Rand_ZeroOne() - 0.5f) * 60.0f), 2.0f);
@ -208,10 +208,10 @@ void func_DF4260_80187AC8(Boss* boss) {
boss->info.hitbox[1 + 6] = 100000.0f;
func_DF4260_8018798C(boss, D_DF4260_8019B6D8[6], D_DF4260_8019B6D8[7], D_DF4260_8019B6D8[8], 7.0f);
}
} else if (boss->unk_066 == 2) {
} else if (boss->dmgPart == 2) {
boss->swork[1] = 15;
boss->swork[22] = 30;
boss->swork[27] -= boss->unk_064;
boss->swork[27] -= boss->damage;
func_DF4260_801879F0(boss, D_DF4260_8019B6D8[0] + ((Rand_ZeroOne() - 0.5f) * 60.0f), D_DF4260_8019B6D8[1],
D_DF4260_8019B6D8[2] + ((Rand_ZeroOne() - 0.5f) * 60.0f), 2.0f);
func_DF4260_80187A38(boss, D_DF4260_8019B6D8[0], D_DF4260_8019B6D8[1], D_DF4260_8019B6D8[2], 0.1f, 20);
@ -220,11 +220,11 @@ void func_DF4260_80187AC8(Boss* boss) {
boss->info.hitbox[1 + 12] = 100000.0f;
func_DF4260_8018798C(boss, D_DF4260_8019B6D8[0], D_DF4260_8019B6D8[1], D_DF4260_8019B6D8[2], 7.0f);
}
} else if ((boss->unk_066 == 4) || (boss->unk_066 == 5)) {
} else if ((boss->dmgPart == 4) || (boss->dmgPart == 5)) {
Audio_PlaySfx(0x2903300E, &boss->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
boss->swork[23] = 200;
if (boss->unk_066 == 4) {
boss->swork[24] -= boss->unk_064;
if (boss->dmgPart == 4) {
boss->swork[24] -= boss->damage;
boss->swork[7] = boss->swork[8] = boss->swork[9] = 5;
boss->swork[18] = 30;
if (boss->swork[24] <= 0) {
@ -237,13 +237,13 @@ void func_DF4260_80187AC8(Boss* boss) {
(Rand_ZeroOne() * 20.0f), 0.0f, 5.5f, var_s1 + 0x1C,
((s32) (Rand_ZeroOne() * 30.0f)) + 60.0f);
}
if (boss->unk_04E < 5) {
boss->unk_04E = 5;
if (boss->actionState < 5) {
boss->actionState = 5;
boss->timer_050 = 60;
}
}
} else {
boss->swork[25] -= boss->unk_064;
boss->swork[25] -= boss->damage;
boss->swork[4] = boss->swork[5] = boss->swork[6] = 5;
boss->swork[19] = 30;
if (boss->swork[25] <= 0) {
@ -257,8 +257,8 @@ void func_DF4260_80187AC8(Boss* boss) {
(Rand_ZeroOne() * 20.0f), 0.0f, 5.5f, var_s1 + 0x1C,
((s32) (Rand_ZeroOne() * 30.0f)) + 60.0f);
}
if (boss->unk_04E < 5) {
boss->unk_04E = 6;
if (boss->actionState < 5) {
boss->actionState = 6;
boss->timer_050 = 60;
}
}
@ -268,7 +268,7 @@ void func_DF4260_80187AC8(Boss* boss) {
boss->timer_050 += 10;
}
if ((boss->unk_04E != 0) && (boss->unk_04E < 5)) {
if ((boss->actionState != 0) && (boss->actionState < 5)) {
boss->fwork[14] = 0.0f;
if (Rand_ZeroOne() < 0.5f) {
var_v0 = 0x144;
@ -277,8 +277,8 @@ void func_DF4260_80187AC8(Boss* boss) {
}
func_DF4260_80187838(boss, boss->obj.pos.x, boss->obj.pos.y + 100.0f, boss->obj.pos.z, var_v0);
}
if (boss->unk_04E < 5) {
boss->unk_04E = 0;
if (boss->actionState < 5) {
boss->actionState = 0;
switch ((s32) (Rand_ZeroOne() * 5.0f)) {
case 0:
boss->swork[31] = 2;
@ -359,7 +359,7 @@ void func_DF4260_801887AC(Boss* boss) {
s32 sp38;
s32 temp_v0;
if ((D_801613A0 >= 500)) {
if ((gBossFrameCount >= 500)) {
temp_v0 = boss->swork[30];
if (temp_v0 != 0) {
switch (temp_v0) {
@ -406,7 +406,7 @@ void func_DF4260_801887AC(Boss* boss) {
void func_DF4260_80188A18(Boss* boss) {
if (boss->timer_050 == 0) {
boss->unk_04E = 0;
boss->actionState = 0;
boss->timer_050 = (s32) (Rand_ZeroOne() * 20.0f) + 20;
boss->fwork[14] = 0.0f;
@ -433,7 +433,7 @@ void func_DF4260_80188A18(Boss* boss) {
break;
}
if ((D_801613A0 >= 1001) && (Rand_ZeroOne() < 0.3f)) {
if ((gBossFrameCount >= 1001) && (Rand_ZeroOne() < 0.3f)) {
if (Rand_ZeroOne() < 0.5f) {
func_8002E4F8(gMsg_ID_2263, RCID_BOSS_CORNERIA);
} else {
@ -441,7 +441,7 @@ void func_DF4260_80188A18(Boss* boss) {
}
}
}
if ((D_801613A0 >= 801) && !(D_801613A0 & 0x1FF)) {
if ((gBossFrameCount >= 801) && !(gBossFrameCount & 0x1FF)) {
if (D_80177B6C < 2) {
func_800BA808(gMsg_ID_20237, RCID_PEPPY);
} else if (D_801615D0.z > 0.0f) {
@ -484,7 +484,7 @@ void func_DF4260_80188D50(Boss* boss) {
if (D_DF4260_801997E0 != 0) {
D_DF4260_801997E0--;
} else if ((gPlayer[0].pos.y < 200.0f) && (boss->unk_04E < 5) &&
} else if ((gPlayer[0].pos.y < 200.0f) && (boss->actionState < 5) &&
(fabsf(boss->obj.pos.x - gPlayer[0].pos.x) < 200.0f) &&
(fabsf(boss->obj.pos.z - gPlayer[0].unk_138) < 200.0f) && (gPlayer[0].unk_4D8 > 180.0f)) {
boss->swork[36]++;
@ -566,7 +566,7 @@ void func_DF4260_80189058(Boss* boss) {
sp78 = D_DF4260_801997FC;
sp6C = D_DF4260_80199808;
if (gPlayer->state_1C8 != 9) {
if (gPlayer[0].state_1C8 != 9) {
if (boss->swork[33] == 0) {
boss->swork[33]++;
D_80178284 = 2;
@ -585,15 +585,15 @@ void func_DF4260_80189058(Boss* boss) {
boss->info.hitbox[1 + 24] = 0.0f;
boss->info.hitbox[1 + 30] = 0.0f;
boss->timer_052 = 100;
boss->unk_04E = 0;
boss->actionState = 0;
boss->swork[31] = 1;
D_DF4260_8019B6D8[66] = 0.0f;
D_DF4260_8019B6D8[67] = 10000.0f;
boss->timer_050 = 30;
Animation_GetFrameData(&D_602C0D0, 0, boss->vwork);
D_801613A0 = 0;
gBossFrameCount = 0;
}
D_801613A0++;
gBossFrameCount++;
gUnkEntities28[59].unk_00 = 1;
gUnkEntities28[59].unk_02 = 0x66;
gUnkEntities28[59].pos.x = boss->obj.pos.x;
@ -604,13 +604,13 @@ void func_DF4260_80189058(Boss* boss) {
func_DF4260_80188D50(boss);
if (D_801615D0.z > 0.0f) {
if (D_801615D0.x > 0.0f) {
gPlayer->unk_228 = 0x10;
gPlayer[0].unk_228 = 0x10;
} else {
gPlayer->unk_228 = 0x20;
gPlayer[0].unk_228 = 0x20;
}
}
switch (D_801613A0) {
switch (gBossFrameCount) {
case 20:
func_800BA808(gMsg_ID_2240, RCID_BOSS_CORNERIA);
break;
@ -621,7 +621,7 @@ void func_DF4260_80189058(Boss* boss) {
func_800BA808(gMsg_ID_2225, RCID_SLIPPY);
break;
case 486:
D_80161734 = 1;
gShowBossHealth = 1;
break;
case 500:
func_800BA808(gMsg_ID_2260, RCID_BOSS_CORNERIA);
@ -630,14 +630,14 @@ void func_DF4260_80189058(Boss* boss) {
func_800BA808(gMsg_ID_2230, RCID_PEPPY);
break;
case 3840:
if (boss->unk_04E < 5) {
if (boss->actionState < 5) {
func_800BA808(gMsg_ID_2230, RCID_PEPPY);
}
break;
}
if (D_801613A0 >= 487) {
D_80177848 = boss->swork[29] * 2;
if (gBossFrameCount >= 487) {
gBossHealthBar = boss->swork[29] * 2;
}
for (sp218 = 0; sp218 < 24; sp218++) {
@ -654,7 +654,7 @@ void func_DF4260_80189058(Boss* boss) {
boss->fwork[3] = __sinf(boss->swork[21] * 50.0f * M_DTOR) * func_DF4260_80187A88(boss->swork[21]);
boss->fwork[4] = __sinf(boss->swork[22] * 50.0f * M_DTOR) * func_DF4260_80187A88(boss->swork[22]);
if (boss->unk_04E < 5) {
if (boss->actionState < 5) {
sp5C = __sinf(boss->swork[23] * 12.0f * M_DTOR) * func_DF4260_80187A88(boss->swork[23]) * 0.3f;
Math_SmoothStepToF(&boss->obj.rot.z, sp5C, 0.2f, 100.0f, 0.001f);
}
@ -689,7 +689,7 @@ void func_DF4260_80189058(Boss* boss) {
Math_SmoothStepToAngle(&D_DF4260_8019B6D8[16], sp1FC, 0.1f, 3.0f, 0.0f);
Math_SmoothStepToAngle(&D_DF4260_8019B6D8[15], sp200, 0.1f, 3.0f, 0.0f);
if (boss->unk_04E != 0) {
if (boss->actionState != 0) {
Math_SmoothStepToAngle(&boss->obj.rot.y,
Math_RadToDeg(Math_Atan2F(D_DF4260_8019B6D8[66] - boss->obj.pos.x,
D_DF4260_8019B6D8[67] - boss->obj.pos.z)),
@ -697,28 +697,28 @@ void func_DF4260_80189058(Boss* boss) {
}
Matrix_RotateY(gCalcMatrix, boss->obj.rot.y * M_DTOR, 0U);
switch (boss->unk_04E) {
switch (boss->actionState) {
case 0:
boss->unk_04C = 0;
D_DF4260_8019B6D8[17] = gPlayer->pos.x;
D_DF4260_8019B6D8[18] = gPlayer->pos.y;
D_DF4260_8019B6D8[19] = gPlayer->unk_138;
D_DF4260_8019B6D8[17] = gPlayer[0].pos.x;
D_DF4260_8019B6D8[18] = gPlayer[0].pos.y;
D_DF4260_8019B6D8[19] = gPlayer[0].unk_138;
if (boss->timer_050 == 0) {
switch (boss->swork[31]) {
case 1:
boss->unk_04E = 1;
boss->actionState = 1;
boss->timer_050 = (s32) (Rand_ZeroOne() * 50.0f) + 50;
boss->fwork[14] = 0.0f;
break;
case 2:
boss->unk_04E = 2;
boss->actionState = 2;
boss->timer_050 = (s32) (Rand_ZeroOne() * 100.0f) + 150;
boss->timer_052 = 40;
boss->timer_054 = 40;
boss->fwork[14] = 0.07f;
break;
case 4:
boss->unk_04E = 4;
boss->actionState = 4;
boss->timer_050 = (s32) (Rand_ZeroOne() * 70.0f) + 100;
boss->fwork[14] = 0.1f;
D_DF4260_8019B6D8[66] = (Rand_ZeroOne() - 0.5f) * 6000.0f;
@ -726,7 +726,7 @@ void func_DF4260_80189058(Boss* boss) {
boss->fwork[14] = 0.07f;
break;
case 3:
boss->unk_04E = 3;
boss->actionState = 3;
boss->timer_050 = (s32) (Rand_ZeroOne() * 100.0f) + 150;
boss->fwork[14] = 0.07f;
break;
@ -739,9 +739,9 @@ void func_DF4260_80189058(Boss* boss) {
}
break;
case 1:
D_DF4260_8019B6D8[17] = D_DF4260_8019B6D8[66] = gPlayer->pos.x;
D_DF4260_8019B6D8[18] = gPlayer->pos.y;
D_DF4260_8019B6D8[19] = D_DF4260_8019B6D8[67] = gPlayer->unk_138;
D_DF4260_8019B6D8[17] = D_DF4260_8019B6D8[66] = gPlayer[0].pos.x;
D_DF4260_8019B6D8[18] = gPlayer[0].pos.y;
D_DF4260_8019B6D8[19] = D_DF4260_8019B6D8[67] = gPlayer[0].unk_138;
boss->unk_04C += 2;
if (boss->unk_04C >= Animation_GetFrameCount(&D_602BC18)) {
@ -756,9 +756,9 @@ void func_DF4260_80189058(Boss* boss) {
func_DF4260_80188A18(boss);
break;
case 2:
D_DF4260_8019B6D8[17] = D_DF4260_8019B6D8[66] = gPlayer->pos.x;
D_DF4260_8019B6D8[18] = gPlayer->pos.y;
D_DF4260_8019B6D8[19] = D_DF4260_8019B6D8[67] = gPlayer->unk_138;
D_DF4260_8019B6D8[17] = D_DF4260_8019B6D8[66] = gPlayer[0].pos.x;
D_DF4260_8019B6D8[18] = gPlayer[0].pos.y;
D_DF4260_8019B6D8[19] = D_DF4260_8019B6D8[67] = gPlayer[0].unk_138;
boss->unk_04C -= 4;
if (boss->unk_04C < 0) {
@ -777,9 +777,9 @@ void func_DF4260_80189058(Boss* boss) {
func_DF4260_80188A18(boss);
break;
case 3:
D_DF4260_8019B6D8[17] = D_DF4260_8019B6D8[66] = gPlayer->pos.x;
D_DF4260_8019B6D8[18] = gPlayer->pos.y;
D_DF4260_8019B6D8[19] = D_DF4260_8019B6D8[67] = gPlayer->unk_138;
D_DF4260_8019B6D8[17] = D_DF4260_8019B6D8[66] = gPlayer[0].pos.x;
D_DF4260_8019B6D8[18] = gPlayer[0].pos.y;
D_DF4260_8019B6D8[19] = D_DF4260_8019B6D8[67] = gPlayer[0].unk_138;
boss->unk_04C += 4;
if (boss->unk_04C >= 101) {
@ -798,9 +798,9 @@ void func_DF4260_80189058(Boss* boss) {
func_DF4260_80188A18(boss);
break;
case 4:
D_DF4260_8019B6D8[17] = gPlayer->pos.x;
D_DF4260_8019B6D8[18] = gPlayer->pos.y;
D_DF4260_8019B6D8[19] = gPlayer->unk_138;
D_DF4260_8019B6D8[17] = gPlayer[0].pos.x;
D_DF4260_8019B6D8[18] = gPlayer[0].pos.y;
D_DF4260_8019B6D8[19] = gPlayer[0].unk_138;
boss->unk_04C += 4;
if (boss->unk_04C >= 101) {
@ -815,12 +815,12 @@ void func_DF4260_80189058(Boss* boss) {
boss->unk_05E = 0;
D_8017812C = 1;
if (!(gFrameCount & 7)) {
D_DF4260_8019B6D8[17] = ((Rand_ZeroOne() - 0.5f) * 2000.0f) + gPlayer->pos.x;
D_DF4260_8019B6D8[18] = gPlayer->pos.y;
D_DF4260_8019B6D8[19] = ((Rand_ZeroOne() - 0.5f) * 2000.0f) + gPlayer->unk_138;
D_DF4260_8019B6D8[17] = ((Rand_ZeroOne() - 0.5f) * 2000.0f) + gPlayer[0].pos.x;
D_DF4260_8019B6D8[18] = gPlayer[0].pos.y;
D_DF4260_8019B6D8[19] = ((Rand_ZeroOne() - 0.5f) * 2000.0f) + gPlayer[0].unk_138;
}
boss->fwork[12] += 0.05f;
if (boss->unk_04E == 6) {
if (boss->actionState == 6) {
boss->obj.rot.z += boss->fwork[12];
if (boss->obj.rot.z > 60.0f) {
boss->obj.rot.z = 60.0f;
@ -895,7 +895,7 @@ void func_DF4260_80189058(Boss* boss) {
func_8007D0E0(D_DF4260_8019B6D8[62], D_DF4260_8019B6D8[63] - 100.0f, D_DF4260_8019B6D8[64], 30.0f);
func_80062B60(D_DF4260_8019B6D8[62], D_DF4260_8019B6D8[64], 0, 120.0f);
D_80178480 = 25;
D_80161734 = 0;
gShowBossHealth = 0;
for (sp218 = 0; sp218 < 100; sp218++) {
func_80079618(D_DF4260_8019B6D8[62] + ((Rand_ZeroOne() - 0.5f) * 600.0f),
@ -904,30 +904,30 @@ void func_DF4260_80189058(Boss* boss) {
}
}
if (boss->timer_050 < 50) {
boss->unk_066 = boss->timer_050 & 7;
boss->dmgPart = boss->timer_050 & 7;
switch (boss->unk_066) {
switch (boss->dmgPart) {
case 1:
if (boss->swork[2] != 1000) {
boss->unk_062 = 1;
boss->dmgType = DMG_BEAM;
}
break;
case 2:
if (boss->swork[1] != 1000) {
boss->unk_062 = 1;
boss->dmgType = DMG_BEAM;
}
case 3:
if (boss->swork[3] != 1000) {
boss->unk_062 = 1;
boss->dmgType = DMG_BEAM;
}
break;
case 4:
if (boss->swork[7] != 1000) {
boss->unk_062 = 1;
boss->dmgType = DMG_BEAM;
}
case 5:
if (boss->swork[4] != 1000) {
boss->unk_062 = 1;
boss->dmgType = DMG_BEAM;
}
break;
}
@ -947,19 +947,20 @@ void func_DF4260_80189058(Boss* boss) {
Math_SmoothStepToVec3fArray(sp84, boss->vwork, 1, 19, boss->fwork[14], 100.0f, 0.0f);
Math_SmoothStepToF(&boss->fwork[14], 1.0f, 1.0f, 0.01f, 0.0f);
if (boss->unk_04E < 5) {
if (((fabsf(boss->obj.pos.x) > 4000.0f) || (fabsf(boss->obj.pos.z) > 4000.0f)) && (boss->unk_04E != 4)) {
boss->unk_04E = 4;
if (boss->actionState < 5) {
if (((fabsf(boss->obj.pos.x) > 4000.0f) || (fabsf(boss->obj.pos.z) > 4000.0f)) &&
(boss->actionState != 4)) {
boss->actionState = 4;
boss->timer_050 = 150;
D_DF4260_8019B6D8[66] = 0.0f;
D_DF4260_8019B6D8[67] = 0.0f;
boss->swork[31] = 0;
}
if ((boss->unk_04E != 0) && ((boss->unk_04C == 0) || (boss->unk_04C == 52))) {
if ((boss->actionState != 0) && ((boss->unk_04C == 0) || (boss->unk_04C == 52))) {
Audio_PlaySfx(0x29022019U, &boss->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
if ((gPlayer->unk_4DC != 0) && (boss->unk_04E != 0)) {
boss->unk_04E = 0;
if ((gPlayer[0].unk_4DC != 0) && (boss->actionState != 0)) {
boss->actionState = 0;
boss->swork[31] = 1;
boss->timer_050 = 100;
boss->fwork[14] = 0.0f;
@ -1525,10 +1526,10 @@ void func_DF4260_8018BE7C(Boss* boss) {
s16 temp_s1;
D_80178284 = 1;
D_801613A0 = 0;
gBossFrameCount = 0;
boss->unk_05E = 1;
boss->timer_050 = 354;
boss->unk_060 = 601;
boss->health = 601;
boss->fwork[18] = -D_80161A54 - 10.0f;
if (fabsf(gPlayer[0].unk_0AC) < 1.0f) {
boss->timer_05A = 30000;
@ -1557,7 +1558,7 @@ void func_DF4260_8018BE7C(Boss* boss) {
gBosses[i].obj.pos.x = boss->obj.pos.x;
gBosses[i].obj.pos.y = boss->obj.pos.y;
gBosses[i].obj.pos.z = boss->obj.pos.z;
gBosses[i].unk_060 = 200;
gBosses[i].health = 200;
gBosses[i].unk_05E = 1;
gBosses[i].timer_05A = temp_s1;
Object_SetInfo(&gBosses[i].info, gBosses[i].obj.id);
@ -1566,10 +1567,10 @@ void func_DF4260_8018BE7C(Boss* boss) {
}
void func_DF4260_8018C0B0(Boss* boss) {
func_8007D9DC(boss->obj.pos.x, D_80177940 + 2.0f, boss->obj.pos.z, 5.0f, 100.0f, 0);
func_8007D9DC(boss->obj.pos.x, D_80177940 + 2.0f, boss->obj.pos.z, 5.0f, 100.0f, 5);
func_8007D9DC(boss->obj.pos.x, D_80177940 + 2.0f, boss->obj.pos.z, 5.0f, 100.0f, 10);
func_8007ADF4(boss->obj.pos.x, D_80177940, boss->obj.pos.z, 1.0f, 10.0f);
func_8007D9DC(boss->obj.pos.x, gGroundLevel + 2.0f, boss->obj.pos.z, 5.0f, 100.0f, 0);
func_8007D9DC(boss->obj.pos.x, gGroundLevel + 2.0f, boss->obj.pos.z, 5.0f, 100.0f, 5);
func_8007D9DC(boss->obj.pos.x, gGroundLevel + 2.0f, boss->obj.pos.z, 5.0f, 100.0f, 10);
func_8007ADF4(boss->obj.pos.x, gGroundLevel, boss->obj.pos.z, 1.0f, 10.0f);
}
static Vec3f D_DF4260_801998CC = { 442.0f, 5.0f, 360.0f };
@ -1616,7 +1617,7 @@ void func_DF4260_8018C19C(Boss* boss) {
f32* temp_a0;
f32* temp_a1;
D_801613A0++;
gBossFrameCount++;
Matrix_RotateY(gCalcMatrix, boss->obj.rot.y * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, boss->obj.rot.x * M_DTOR, 1);
Matrix_RotateZ(gCalcMatrix, boss->obj.rot.z * M_DTOR, 1);
@ -1645,7 +1646,7 @@ void func_DF4260_8018C19C(Boss* boss) {
func_8007BC7C(sp84[8].x + boss->obj.pos.x, sp84[8].y + boss->obj.pos.y, sp84[8].z + boss->obj.pos.z, 10.0f);
}
} else {
if ((D_801613A0 >= 381) && (D_801613A0 < 430)) {
if ((gBossFrameCount >= 381) && (gBossFrameCount < 430)) {
D_80178540 = 5;
D_80178570 = 20;
D_80178574 = 20;
@ -1656,8 +1657,8 @@ void func_DF4260_8018C19C(Boss* boss) {
Matrix_MultVec3f(gCalcMatrix, &D_DF4260_801998D8, &sp84[1]);
Matrix_MultVec3f(gCalcMatrix, &D_DF4260_801998E4, &sp84[2]);
if (boss->unk_060 != 601) {
var_v1 = boss->unk_060 - 601;
if (boss->health != 601) {
var_v1 = boss->health - 601;
if (var_v1 < 0) {
var_v1 *= -1;
@ -1675,13 +1676,13 @@ void func_DF4260_8018C19C(Boss* boss) {
}
}
}
if (boss->unk_062 != 0) {
boss->unk_062 = 0;
if ((gBosses[1].unk_04E != 0) && (gBosses[2].unk_04E != 0) && (gBosses[3].unk_04E != 0)) {
if (boss->unk_060 >= 2) {
if (boss->dmgType != DMG_NONE) {
boss->dmgType = DMG_NONE;
if ((gBosses[1].actionState != 0) && (gBosses[2].actionState != 0) && (gBosses[3].actionState != 0)) {
if (boss->health >= 2) {
boss->timer_05C = 15;
boss->unk_060 -= boss->unk_064;
if (boss->unk_060 < 120) {
boss->health -= boss->damage;
if (boss->health < 120) {
boss->fwork[17] = 2.8f;
Audio_PlaySfx(0x2943500F, &boss->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
} else {
@ -1693,10 +1694,10 @@ void func_DF4260_8018C19C(Boss* boss) {
}
}
boss->vel.z = boss->fwork[18];
if (boss->unk_04E > 0) {
if (boss->actionState > 0) {
boss->fwork[3] = (gPlayer[0].camEye.z - D_80177D20) - 2500.0f;
}
if (boss->unk_04E != 7) {
if (boss->actionState != 7) {
Math_SmoothStepToF(&boss->fwork[4], boss->fwork[5], 0.1f, 2.0f, 0.00001f);
Math_SmoothStepToF(&boss->obj.pos.z, boss->fwork[3], 0.1f, boss->fwork[4], 0.00001f);
}
@ -1704,7 +1705,7 @@ void func_DF4260_8018C19C(Boss* boss) {
Math_SmoothStepToAngle(&boss->fwork[0], boss->fwork[9], 0.2f, 5.0f, 0.00001f);
Math_SmoothStepToAngle(&boss->fwork[1], boss->fwork[10], 0.2f, 5.0f, 0.00001f);
Math_SmoothStepToAngle(&boss->fwork[2], boss->fwork[11], 0.2f, 5.0f, 0.00001f);
if (boss->unk_04E < 6) {
if (boss->actionState < 6) {
Math_SmoothStepToAngle(&boss->obj.rot.y, boss->fwork[13], 0.03f, boss->fwork[8], 0.00001f);
Math_SmoothStepToF(&boss->fwork[8], boss->fwork[12], 0.1f, 0.02f, 0.001f);
Math_SmoothStepToAngle(&boss->obj.rot.z, boss->fwork[14], 0.03f, boss->fwork[15], 0.00001f);
@ -1713,14 +1714,14 @@ void func_DF4260_8018C19C(Boss* boss) {
boss->fwork[15] = 0.5f;
}
}
if ((gBosses[1].unk_04E != 0) && !(gFrameCount & 0xF)) {
if ((gBosses[1].actionState != 0) && !(gFrameCount & 0xF)) {
Matrix_MultVec3f(gCalcMatrix, &D_DF4260_80199908, &sp84[5]);
func_8007D0E0(gBosses[0].obj.pos.x + sp84[5].x, gBosses[0].obj.pos.y + sp84[5].y,
gBosses[0].obj.pos.z + sp84[5].z, 5.0f);
}
if (gBosses[2].unk_04E != 0) {
if (gBosses[2].actionState != 0) {
gBosses[3].unk_05E = 1;
if (gBosses[3].unk_04E != 0) {
if (gBosses[3].actionState != 0) {
if (!(gFrameCount & 7)) {
Matrix_MultVec3f(gCalcMatrix, &D_DF4260_80199950, &sp84[11]);
func_8007D0E0(gBosses[0].obj.pos.x + sp84[11].x, gBosses[0].obj.pos.y + sp84[11].y,
@ -1732,13 +1733,13 @@ void func_DF4260_8018C19C(Boss* boss) {
gBosses[0].obj.pos.z + sp84[9].z, 5.0f);
}
}
if ((gBosses[3].unk_04E != 0) && (gBosses[2].unk_04E == 0) && !(gFrameCount & 0xF)) {
if ((gBosses[3].actionState != 0) && (gBosses[2].actionState == 0) && !(gFrameCount & 0xF)) {
Matrix_MultVec3f(gCalcMatrix, &D_DF4260_80199944, &sp84[10]);
func_8007D0E0(gBosses[0].obj.pos.x + sp84[10].x, gBosses[0].obj.pos.y + sp84[10].y,
gBosses[0].obj.pos.z + sp84[10].z, 5.0f);
}
if (((boss->unk_04E == 1) || (boss->unk_04E == 2)) && !(gFrameCount & 7)) {
if (((boss->actionState == 1) || (boss->actionState == 2)) && !(gFrameCount & 7)) {
Matrix_MultVec3f(gCalcMatrix, &D_DF4260_80199914[0], &sp84[6]);
Matrix_MultVec3f(gCalcMatrix, &D_DF4260_80199914[1], &sp84[7]);
Matrix_MultVec3f(gCalcMatrix, &D_DF4260_8019992C, &sp84[8]);
@ -1750,7 +1751,7 @@ void func_DF4260_8018C19C(Boss* boss) {
Math_SmoothStepToF(&D_801779A8[0], 50.0f, 1.0f, 1.6f, 0.0001f);
}
switch (boss->unk_04E) {
switch (boss->actionState) {
case 0:
boss->fwork[3] = gPlayer[0].unk_138 + 1500.0f;
if (boss->timer_050 == 350) {
@ -1764,7 +1765,7 @@ void func_DF4260_8018C19C(Boss* boss) {
}
if (boss->timer_050 == 0) {
boss->obj.pos.y = 900.0f;
boss->unk_04E = 1;
boss->actionState = 1;
boss->fwork[13] = 180.0f;
boss->fwork[12] = 1.5f;
boss->fwork[6] = 800.0f;
@ -1776,7 +1777,7 @@ void func_DF4260_8018C19C(Boss* boss) {
break;
case 1:
if (boss->timer_050 == 0) {
boss->unk_04E = 2;
boss->actionState = 2;
boss->fwork[8] = 0.0f;
boss->fwork[13] = 359.9f;
boss->timer_050 = 250;
@ -1784,7 +1785,7 @@ void func_DF4260_8018C19C(Boss* boss) {
break;
case 2:
if (boss->timer_050 == 0) {
boss->unk_04E = 3;
boss->actionState = 3;
boss->swork[0] = 4;
boss->timer_050 = 75;
boss->timer_054 = 0;
@ -1800,7 +1801,7 @@ void func_DF4260_8018C19C(Boss* boss) {
boss->fwork[10] = 0.0f;
boss->fwork[13] = 0.0f;
if (boss->timer_050 == 0) {
boss->unk_04E = boss->swork[0];
boss->actionState = boss->swork[0];
boss->timer_050 = 60;
boss->fwork[8] = 0.0f;
Audio_PlaySfx(0x2940201A, &boss->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
@ -1809,15 +1810,15 @@ void func_DF4260_8018C19C(Boss* boss) {
case 4:
boss->fwork[11] = 120.0f;
boss->fwork[13] = 340.0f;
if ((boss->timer_050 == 0) || (gBosses[1].unk_04E != 0)) {
boss->unk_04E = 3;
if ((boss->timer_050 == 0) || (gBosses[1].actionState != 0)) {
boss->actionState = 3;
boss->swork[0] = 5;
boss->timer_050 = 20;
boss->fwork[8] = 0.0f;
if (gBosses[1].unk_04E == 0) {
if (gBosses[1].actionState == 0) {
Audio_PlaySfx(0x2940201A, &boss->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
if ((boss->swork[5] == 0) && ((gBosses[2].unk_04E == 0) || (gBosses[3].unk_04E == 0))) {
if ((boss->swork[5] == 0) && ((gBosses[2].actionState == 0) || (gBosses[3].actionState == 0))) {
func_800BA808(gMsg_ID_2292, RCID_BOSS_CORNERIA2);
}
boss->swork[5]++;
@ -1831,36 +1832,37 @@ void func_DF4260_8018C19C(Boss* boss) {
boss->fwork[9] = 120.0f;
boss->fwork[10] = 120.0f;
boss->fwork[13] = 20.0f;
if ((boss->fwork[0] > 60.0f) && (gBosses[2].unk_04E == 0) && (boss->swork[1] == 0)) {
if ((boss->fwork[0] > 60.0f) && (gBosses[2].actionState == 0) && (boss->swork[1] == 0)) {
func_DF4260_8018BDD4(boss, sp84[1].x, sp84[1].y + 50.0f, sp84[1].z, 45.0f, 0, 0);
Audio_PlaySfx(0x2903201B, &boss->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
func_DF4260_8018BDD4(boss, sp84[1].x, sp84[1].y - 50.0f, sp84[1].z, 40.0f, 0, 0);
boss->swork[1] = 1;
}
if ((boss->fwork[1] > 60.0f) && (gBosses[3].unk_04E == 0) && (boss->swork[2] == 0)) {
if ((boss->fwork[1] > 60.0f) && (gBosses[3].actionState == 0) && (boss->swork[2] == 0)) {
func_DF4260_8018BDD4(boss, sp84[2].x, sp84[2].y + 50.0f, sp84[2].z, 35.0f, 0, 0);
Audio_PlaySfx(0x2903201B, &boss->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
func_DF4260_8018BDD4(boss, sp84[2].x, sp84[2].y - 50.0f, sp84[2].z, 30.0f, 0, 0);
boss->swork[2] = 1;
}
if ((boss->timer_050 == 0) || ((gBosses[3].unk_04E != 0) && (gBosses[2].unk_04E != 0))) {
boss->unk_04E = 3;
if ((boss->timer_050 == 0) || ((gBosses[3].actionState != 0) && (gBosses[2].actionState != 0))) {
boss->actionState = 3;
boss->swork[0] = 4;
boss->timer_050 = 70;
boss->swork[1] = 0;
boss->swork[2] = 0;
boss->fwork[8] = 0.0f;
if ((boss->swork[4] == 0) && (gBosses[1].unk_04E == 0)) {
if ((boss->swork[4] == 0) && (gBosses[1].actionState == 0)) {
func_800BA808(gMsg_ID_2291, RCID_BOSS_CORNERIA2);
}
if ((boss->swork[4] == 2) && (boss->swork[7] == 0) &&
((gBosses[3].unk_04E == 0) || (gBosses[2].unk_04E == 0) || (gBosses[1].unk_04E == 0))) {
((gBosses[3].actionState == 0) || (gBosses[2].actionState == 0) ||
(gBosses[1].actionState == 0))) {
func_800BA808(gMsg_ID_2299, RCID_PEPPY);
boss->swork[7]++;
}
boss->swork[4]++;
boss->swork[4] &= 3;
if ((gBosses[3].unk_04E == 0) && (gBosses[2].unk_04E == 0)) {
if ((gBosses[3].actionState == 0) && (gBosses[2].actionState == 0)) {
Audio_PlaySfx(0x2940201A, &boss->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
}
@ -1870,7 +1872,7 @@ void func_DF4260_8018C19C(Boss* boss) {
Math_SmoothStepToAngle(&boss->obj.rot.z, boss->fwork[14], 0.1f, 5.0f, 0.01f);
if ((boss->obj.rot.y == 0.0f) || (boss->timer_058 == 0)) {
boss->timer_058 = 0;
boss->unk_04E = 7;
boss->actionState = 7;
boss->obj.rot.z = 0.0f;
boss->obj.rot.y = 0.0f;
}
@ -1933,18 +1935,18 @@ void func_DF4260_8018C19C(Boss* boss) {
}
}
}
if (boss->unk_060 < 2) {
if (boss->health < 2) {
D_8017796C = -1;
func_8001A55C(&boss->sfxPos, 0x31034025);
func_800182F4(0x102800FF);
func_800182F4(0x112800FF);
Audio_PlaySfx(0x2940D09A, &boss->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
D_Timer_80161A60 = 8;
D_80161734 = 0;
gShowBossHealth = false;
func_800BA808(gMsg_ID_2294, RCID_BOSS_CORNERIA2);
boss->unk_060 = 1;
boss->health = 1;
boss->timer_056 = 150;
boss->unk_04E = 8;
boss->actionState = 8;
boss->fwork[19] = 15.0f;
} else {
Math_SmoothStepToF(&boss->fwork[8], 3.0f, 0.1f, 0.5f, 0.001f);
@ -1986,7 +1988,7 @@ void func_DF4260_8018C19C(Boss* boss) {
}
}
Math_SmoothStepToAngle(&boss->obj.rot.z, boss->fwork[14], 1.0f, 1.0f, 0.001f);
if (boss->unk_060 != 0) {
if (boss->health != 0) {
if (boss->timer_056 == 0) {
func_80042EC0(boss);
boss->fwork[17] = 10.0f;
@ -1995,7 +1997,7 @@ void func_DF4260_8018C19C(Boss* boss) {
if ((gPlayer[0].state_1C8 == 3) || (gPlayer[0].state_1C8 == 5)) {
func_8004319C(gPlayer, boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z);
}
boss->unk_060--;
boss->health--;
boss->fwork[8] = 0.0f;
func_800BA808(gMsg_ID_2296, RCID_BOSS_CORNERIA2);
} else {
@ -2012,7 +2014,7 @@ void func_DF4260_8018C19C(Boss* boss) {
}
}
} else {
boss->unk_04E = 9;
boss->actionState = 9;
}
break;
case 9:
@ -2027,7 +2029,7 @@ void func_DF4260_8018C19C(Boss* boss) {
Math_SmoothStepToF(&boss->vel.z, 0.0f, 0.1f, 2.0f, 0.00001f);
boss->obj.rot.z -= 2.0f;
boss->gravity = 1.0f;
if (boss->obj.pos.y < (D_80177940 + 150.0f)) {
if (boss->obj.pos.y < (gGroundLevel + 150.0f)) {
D_80178480 = 100;
func_80081A8C(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z, 40.0f, 12);
boss->timer_050 = 20;
@ -2035,7 +2037,7 @@ void func_DF4260_8018C19C(Boss* boss) {
boss->gravity = 0.0f;
boss->fwork[17] = 20.0f;
func_DF4260_8018C0B0(boss);
boss->unk_04E = 10;
boss->actionState = 10;
}
break;
case 10:
@ -2066,25 +2068,25 @@ void func_DF4260_8018C19C(Boss* boss) {
temp_a1[9] = -557.0f;
}
boss->fwork[16] = 4.0f;
if ((boss->swork[10] == 0) && (boss->unk_04E < 6)) {
if ((boss->swork[10] == 0) && (boss->actionState < 6)) {
boss->fwork[17] = 1.8f;
Audio_PlaySfx(0x11020084, &boss->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
boss->timer_058 = 71;
boss->unk_04E = 6;
boss->actionState = 6;
boss->fwork[12] = 0.0f;
boss->fwork[8] = 0.0f;
boss->fwork[14] = 0.0f;
boss->fwork[13] = 0.0f;
}
if (D_801613A0 == 430) {
if (gBossFrameCount == 430) {
func_800BA808(gMsg_ID_2225, RCID_SLIPPY);
}
if (D_801613A0 == 586) {
D_80161734 = 1;
if (gBossFrameCount == 586) {
gShowBossHealth = true;
}
if (D_801613A0 >= 587) {
D_80177848 = (boss->unk_060 / 601.0f) * 255.0f;
if (gBossFrameCount >= 587) {
gBossHealthBar = (boss->health / 601.0f) * 255.0f;
}
}
}
@ -2097,17 +2099,17 @@ void func_DF4260_8018DDAC(Boss* boss) {
Vec3f sp40;
s32 i;
switch (boss->unk_04E) {
switch (boss->actionState) {
case 0:
if (boss->unk_062 != 0) {
boss->unk_062 = 0;
if (boss->unk_066 == 0) {
if (boss->dmgType != DMG_NONE) {
boss->dmgType = DMG_NONE;
if (boss->dmgPart == 0) {
if (boss->fwork[2] > 60.0f) {
if (boss->unk_060 != 0) {
if (boss->health != 0) {
boss->timer_05C = 15;
boss->unk_060 -= boss->unk_064;
boss->health -= boss->damage;
Audio_PlaySfx(0x29034003, &boss->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
if (boss->unk_060 <= 0) {
if (boss->health <= 0) {
gBosses[0].swork[8]--;
if (gBosses[0].swork[8] != 0) {
func_800BA808(gMsg_ID_15130, RCID_FALCO);
@ -2122,7 +2124,7 @@ void func_DF4260_8018DDAC(Boss* boss) {
gBosses[0].swork[10]--;
}
gBosses[0].timer_056 = 30;
boss->unk_04E = 1;
boss->actionState = 1;
Matrix_MultVec3f(gCalcMatrix, &D_DF4260_80199A6C, &sp4C);
for (i = 0; i < 10; i++) {
@ -2130,7 +2132,7 @@ void func_DF4260_8018DDAC(Boss* boss) {
boss->obj.pos.z + sp4C.z, 1.0f);
}
if ((gBosses[2].unk_04E == 1) && (gBosses[3].unk_04E == 1)) {
if ((gBosses[2].actionState == 1) && (gBosses[3].actionState == 1)) {
gBosses[0].fwork[14] = 335.0f;
}
}
@ -2166,7 +2168,7 @@ void func_DF4260_8018DDAC(Boss* boss) {
boss->vel.y, boss->vel.z, 0.2f, 10);
}
if (boss->obj.pos.y < (D_80177940 + 150.0f)) {
if (boss->obj.pos.y < (gGroundLevel + 150.0f)) {
if (boss->swork[0] == 0) {
boss->vel.y = -5.0f;
boss->swork[0] = 1;
@ -2191,17 +2193,17 @@ void func_DF4260_8018E290(Boss* boss) {
Vec3f sp40;
s32 i;
switch (boss->unk_04E) {
switch (boss->actionState) {
case 0:
if (boss->unk_062 != 0) {
boss->unk_062 = 0;
if (boss->unk_066 == 2) {
if (boss->dmgType != DMG_NONE) {
boss->dmgType = DMG_NONE;
if (boss->dmgPart == 2) {
if (boss->fwork[0] > 60.0f) {
if (boss->unk_060 != 0) {
if (boss->health != 0) {
boss->timer_05C = 15;
boss->unk_060 -= boss->unk_064;
boss->health -= boss->damage;
Audio_PlaySfx(0x29034003, &boss->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
if (boss->unk_060 <= 0) {
if (boss->health <= 0) {
gBosses[0].swork[8]--;
if (gBosses[0].swork[8] != 0) {
func_800BA808(gMsg_ID_15130, RCID_FALCO);
@ -2211,19 +2213,19 @@ void func_DF4260_8018E290(Boss* boss) {
boss->info.unk_10 = 300.0f;
gBosses[0].fwork[15] = 0.0f;
gBosses[0].fwork[14] = 335.0f;
boss->unk_060 = 0;
boss->health = 0;
Audio_PlaySfx(0x2940C027, &boss->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
if (gBosses[0].swork[10] != 0) {
gBosses[0].swork[10]--;
}
gBosses[0].timer_056 = 30;
boss->unk_04E = 1;
boss->actionState = 1;
Matrix_MultVec3f(gCalcMatrix, &D_DF4260_80199A84, &sp4C);
for (i = 0; i < 10; i++) {
func_80079618(boss->obj.pos.x + sp4C.x, boss->obj.pos.y + sp4C.y,
boss->obj.pos.z + sp4C.z, 1.0f);
}
if (gBosses[1].unk_04E == 1) {
if (gBosses[1].actionState == 1) {
gBosses[0].fwork[14] = 25.0f;
}
}
@ -2259,7 +2261,7 @@ void func_DF4260_8018E290(Boss* boss) {
boss->vel.y, boss->vel.z, 0.2f, 10);
}
if (boss->obj.pos.y < (D_80177940 + 150.0f)) {
if (boss->obj.pos.y < (gGroundLevel + 150.0f)) {
if (boss->swork[0] == 0) {
boss->vel.y = -5.0f;
boss->swork[0] = 1;
@ -2284,17 +2286,17 @@ void func_DF4260_8018E76C(Boss* boss) {
Vec3f sp40;
s32 i;
switch (boss->unk_04E) {
switch (boss->actionState) {
case 0:
if (boss->unk_062 != 0) {
boss->unk_062 = 0;
if (boss->unk_066 == 2) {
if (boss->dmgType != DMG_NONE) {
boss->dmgType = DMG_NONE;
if (boss->dmgPart == 2) {
if (boss->fwork[1] > 60.0f) {
if (boss->unk_060 != 0) {
if (boss->health != 0) {
boss->timer_05C = 15;
boss->unk_060 -= boss->unk_064;
boss->health -= boss->damage;
Audio_PlaySfx(0x29034003, &boss->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
if (boss->unk_060 <= 0) {
if (boss->health <= 0) {
gBosses[0].swork[8]--;
if (gBosses[0].swork[8] != 0) {
func_800BA808(gMsg_ID_15130, RCID_FALCO);
@ -2304,13 +2306,13 @@ void func_DF4260_8018E76C(Boss* boss) {
boss->info.unk_10 = 300.0f;
gBosses[0].fwork[15] = 0.0f;
gBosses[0].fwork[14] = 335.0f;
boss->unk_060 = 0;
boss->health = 0;
Audio_PlaySfx(0x2940C027, &boss->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
if (gBosses[0].swork[10] != 0) {
gBosses[0].swork[10]--;
}
gBosses[0].timer_056 = 30;
boss->unk_04E = 1;
boss->actionState = 1;
gBosses[0].fwork[6] = 500.0f;
Matrix_MultVec3f(gCalcMatrix, &D_DF4260_80199A9C, &sp4C);
@ -2319,7 +2321,7 @@ void func_DF4260_8018E76C(Boss* boss) {
boss->obj.pos.z + sp4C.z, 1.0f);
}
if (gBosses[1].unk_04E == 1) {
if (gBosses[1].actionState == 1) {
gBosses[0].fwork[14] = 25.0f;
}
}
@ -2352,7 +2354,7 @@ void func_DF4260_8018E76C(Boss* boss) {
func_8007C120(boss->obj.pos.x + sp4C.x, boss->obj.pos.y + sp4C.y, boss->obj.pos.z + sp4C.z, boss->vel.x,
boss->vel.y, boss->vel.z, 0.2f, 10);
}
if (boss->obj.pos.y < (D_80177940 + 150.0f)) {
if (boss->obj.pos.y < (gGroundLevel + 150.0f)) {
if (boss->swork[0] == 0) {
boss->vel.y = -5.0f;
boss->swork[0] = 1;
@ -2369,7 +2371,7 @@ void func_DF4260_8018E76C(Boss* boss) {
}
s32 func_DF4260_8018EC54(s32 arg0, Gfx** arg1, Vec3f* arg2, Vec3f* arg3, void* arg4) {
if ((arg0 == 10) && (gBosses[2].unk_04E != 0) && (gBosses[3].unk_04E != 0)) {
if ((arg0 == 10) && (gBosses[2].actionState != 0) && (gBosses[3].actionState != 0)) {
*arg1 = NULL;
}
if ((arg0 != 12) && (arg0 != 10)) {
@ -2711,7 +2713,7 @@ void func_DF4260_8018F880(Player* player) {
actor1->iwork[14] = 3;
actor2->iwork[14] = 4;
player->camEye.x = D_80177978 = player->pos.x - 400.0f;
gPlayer->camEye.y = D_80177980 = player->pos.y + 600.0f;
gPlayer[0].camEye.y = D_80177980 = player->pos.y + 600.0f;
player->camEye.z = D_80177988 = player->unk_138 + 2000.0f;
player->camAt.x = D_801779A0 = player->pos.x;
player->camAt.y = D_801779B8 = player->pos.y;

View File

@ -1,7 +0,0 @@
#include "global.h"
static s32 D_E16C50_801BECA0 = 0;
static s32 D_E16C50_801C2240;
void func_E16C50_80187520(s32 arg0, void* arg1) {
}

View File

@ -1,502 +0,0 @@
#include "global.h"
void func_E16C50_801AC918(Effect*);
void func_E16C50_801AD6C0(Actor*);
void func_E16C50_801AE168(Actor*);
void func_E16C50_801AE3D8(Actor*);
void func_E16C50_801AEB44(Actor*);
void func_E16C50_801AFA5C(Actor*);
void func_E16C50_801B099C(Actor*);
void func_E16C50_801B0B60(Actor*);
void func_E16C50_801B0EC0(Actor*);
void func_E16C50_801B504C(Actor*);
void func_E16C50_801B50E8(Actor*);
void func_E16C50_801B619C(Actor*);
void func_E16C50_801B638C(Actor*);
void func_E16C50_801B6FF8(Actor*);
void func_E16C50_801B7A24(Actor*);
void func_E16C50_801B7C78(Actor*);
void func_E16C50_801B90DC(Actor*);
void func_E16C50_801B91A4(Actor*);
void func_E16C50_801BA108(Actor*);
void func_E16C50_801BA26C(Actor*);
void func_E16C50_801BA4E4(Actor*);
void func_E16C50_801BA6A4(Actor*);
void func_E16C50_801BAD7C(Actor*);
void func_E16C50_801BADF8(Actor*);
void func_E16C50_801BB204(Actor*);
void func_E16C50_801BB79C(Actor*);
void func_E16C50_801BC930(Actor*);
void func_E16C50_801BC9A0(Actor*);
void func_E16C50_801BD264(Actor*);
void func_E16C50_801BD54C(Actor*);
void func_E16C50_801BDE6C(Actor*);
void func_E16C50_801BE1FC(Object_80*);
void func_E16C50_801BE3F8(Actor*);
void func_E16C50_801BEB1C(Actor*);
void func_E16C50_801BEC68(Actor*);
void func_E16C50_801BEC74(Actor*);
f32 D_E16C50_801BFB60 = 0.0f;
s32 D_E16C50_801BFB64[11] = {
0, 0x1E, 0x1B, 0x18, 0x15, 0x12, 0xF, 0xC, 9, 6, 3,
};
u8 D_E16C50_801BFB90[12] = {
0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
};
u32 D_E16C50_801BFB9C[3] = { 0x06015FF0, 0x06022110, 0x06015DD0 };
f32 D_E16C50_801BFBA8[2] = { 40.0f, -40.0f };
f32 D_E16C50_801BFBB0[3] = { 20.0f, 10.0f, 15.0f };
f32 D_E16C50_801BFBBC[3] = { 8.0f, 27.0f, 42.0f };
f32 D_E16C50_801BFBC8[3] = { 15.0f, 6.0f, 7.0f };
f32 D_E16C50_801BFBD4[3] = { 358.0f, 12.0f, 352.0f };
f32 D_E16C50_801BFBE0[3][4] = {
{ 1.3f, 0.1f, 1.0f, 777.0f },
{ 0.7f, 0.5f, 5.0f, 777.0f },
{ 1.0f, 0.2f, 2.0f, 777.0f },
};
f32 D_E16C50_801BFC10[3][4] = {
{ 0.6f, 0.1f, 1.0f, 777.0f },
{ 1.5f, 0.5f, 5.0f, 777.0f },
{ 1.0f, 0.2f, 2.0f, 777.0f },
};
f32 D_E16C50_801BFC40[3][4] = {
{ 1.3f, 0.1f, 1.0f, 777.0f },
{ 0.7f, 0.5f, 5.0f, 777.0f },
{ 1.0f, 0.2f, 2.0f, 777.0f },
};
s32 D_E16C50_801BFC70[3] = { 0x12, 0x16, 0x2D };
f32 D_E16C50_801BFC7C[3] = { 20.0f, 10.0f, 0.0f };
f32 D_E16C50_801BFC88[3] = { 10.0f, 320.0f, 30.0f };
Vec3f D_E16C50_801BFC94[6][4] = {
{ { 1.0f, 1.0f, 1.0f }, { 0.9f, 0.9f, 0.9f }, { 1.0f, 1.0f, 1.0f }, { 1.0f, 1.0f, 1.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 0.9f, 0.9f, 0.9f }, { 1.0f, 1.0f, 1.0f }, { 1.0f, 1.0f, 1.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 0.9f, 0.9f, 0.9f }, { 1.0f, 1.0f, 1.0f }, { 1.0f, 1.0f, 1.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 0.9f, 1.0f, 0.9f }, { 1.0f, 1.0f, 1.0f }, { 1.0f, 1.0f, 1.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 0.9f, 1.0f, 0.9f }, { 1.0f, 1.0f, 1.0f }, { 1.0f, 1.0f, 1.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 1.0f, 0.8f, 0.9f }, { 1.0f, 1.0f, 1.0f }, { 1.0f, 1.0f, 1.0f } },
};
s32 D_E16C50_801BFDB4[6][4] = {
{ 1, 5, 0xF, 0x186A0 }, { 1, 5, 0xF, 0x186A0 }, { 1, 5, 0xF, 0x186A0 },
{ 1, 0xA, 0x14, 0x186A0 }, { 1, 0xA, 0x14, 0x186A0 }, { 1, 0xA, 0x14, 0x186A0 },
};
s32 D_E16C50_801BFE14 = 0;
Vec3f D_E16C50_801BFE18[6][4] = {
{ { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f } },
{ { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f } },
{ { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f } },
{ { 0.2f, 0.2f, 0.2f }, { 0.3f, 0.3f, 0.3f }, { 0.2f, 0.2f, 0.2f }, { 0.2f, 0.2f, 0.2f } },
{ { 0.2f, 0.2f, 0.2f }, { 0.2f, 0.2f, 0.2f }, { 0.2f, 0.2f, 0.2f }, { 0.2f, 0.2f, 0.2f } },
{ { 0.2f, 0.2f, 0.2f }, { 0.2f, 0.2f, 0.2f }, { 0.2f, 0.2f, 0.2f }, { 0.2f, 0.2f, 0.2f } },
};
Vec3f D_E16C50_801BFF38[6][4] = {
{ { 1.0f, 1.0f, 1.0f }, { 5.0f, 5.0f, 5.0f }, { 10.0f, 10.0f, 10.0f }, { 5.0f, 5.0f, 5.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 5.0f, 5.0f, 5.0f }, { 10.0f, 10.0f, 10.0f }, { 5.0f, 5.0f, 5.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 3.0f, 3.0f, 3.0f }, { 2.0f, 2.0f, 2.0f }, { 1.0f, 1.0f, 1.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 3.0f, 1.0f, 3.0f }, { 2.0f, 1.0f, 2.0f }, { 1.0f, 1.0f, 1.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 3.0f, 1.0f, 3.0f }, { 2.0f, 1.0f, 2.0f }, { 1.0f, 1.0f, 1.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 1.0f, 4.0f, 3.0f }, { 1.0f, 3.0f, 2.0f }, { 1.0f, 1.0f, 1.0f } },
};
f32 D_E16C50_801C0058 = 191.0f;
f32 D_E16C50_801C005C = 63.0f;
f32 D_E16C50_801C0060[14] = {
50.0f, 8.0f, 50.0f, 8.0f, 10.0f, 1.0f, 20.0f, 2.0f, 20.0f, 2.0f, 20.0f, 2.0f, 50.0f, 2.0f,
};
Vec3f D_E16C50_801C0098[2] = {
{ 370.0f, -53.0f, 1085.0f },
{ -370.0f, -53.0f, 1085.0f },
};
f32 D_E16C50_801C00B0[3][4] = {
{ 1.0f, 1.2f, 0.8f, 1.0f },
{ 1.0f, 1.2f, 0.9f, 1.0f },
{ 1.0f, 0.7f, 1.4f, 1.0f },
};
s32 D_E16C50_801C00E0[4] = { 1, 5, 8, 0x28 };
f32 D_E16C50_801C00F0[3][4] = {
{ 0.3f, 0.3f, 0.3f, 0.3f },
{ 0.3f, 0.3f, 0.3f, 0.3f },
{ 0.5f, 0.5f, 0.5f, 0.5f },
};
f32 D_E16C50_801C0120[3][4] = {
{ 1.0f, 1.0f, 1.0f, 1.0f },
{ 1.0f, 1.0f, 1.0f, 1.0f },
{ 2.0f, 2.0f, 2.0f, 2.0f },
};
f32 D_E16C50_801C0150[4][4] = {
{ 0.0f, 0.0f, 0.0f, 0.0f },
{ 0.0f, -25.5f, 0.0f, 0.0f },
{ -25.5f, 25.5f, -25.5f, 0.0f },
{ 25.5f, 0.0f, 25.5f, 0.0f },
};
f32 D_E16C50_801C0190[5] = {
0.0f, -30.0f, 30.0f, -30.0f, 30.0f,
};
Vec3f D_E16C50_801C01A4 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801C01B0 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801C01BC = { 340.0f, 600.0f, 1480.0f };
Vec3f D_E16C50_801C01C8 = { -640.0f, 380.0f, 1520.0f };
Vec3f D_E16C50_801C01D4 = { 760.0f, 340.0f, 1560.0f };
Vec3f D_E16C50_801C01E0 = { 130.0f, 350.0f, 130.0f };
Vec3f D_E16C50_801C01EC = { -130.0f, 350.0f, 130.0f };
f32 D_E16C50_801C01F8[11] = {
400.0f, 430.0f, 460.0f, 490.0f, 520.0f, 550.0f, 580.0f, 610.0f, 640.0f, 670.0f, 700.0f,
};
f32 D_E16C50_801C0224[11] = {
6.0f, 6.0f, 8.0f, 8.0f, 8.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f,
};
Vec3f D_E16C50_801C0250 = { 0.0f, 0.0f, 0.0f };
f32 D_E16C50_801C025C[2] = { 120.0f, 0.0f };
s32 D_E16C50_801C0264[19] = {
0, 0, 3, 4, 0, 5, 6, 7, 1, 2, 0, 0, 0, 0, 0, 0, 8, 9, 0,
};
Vec3f D_E16C50_801C02B0 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801C02BC = { 0.0f, 0.0f, 0.0f };
f32 D_E16C50_801C02C8[2] = { 255.0f, 68.0f };
s32 D_E16C50_801C02D0[2] = { 0x46, 0x64 };
Vec3f D_E16C50_801C02D8 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801C02E4 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801C02F0 = { 108.0f, 0.0f, 24.0f };
Vec3f D_E16C50_801C02FC = { 102.0f, 14.0f, -21.0f };
Vec3f D_E16C50_801C0308 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801C0314 = { 0.0f, 0.0f, 50.0f };
Vec3f D_E16C50_801C0320 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801C032C = { -27.0f, 7.0f, 5.0f };
Vec3f D_E16C50_801C0338 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801C0344[4] = {
{ -6.4f, -4.6f, -7.8f },
{ 6.4f, 4.6f, 7.8f },
{ -5.9f, -7.8f, -7.0f },
{ 5.9f, 7.8f, 7.0f },
};
Vec3f D_E16C50_801C0374[17] = {
{ 1.0f, 1.0f, 1.0f }, { 1.3f, 0.8f, 1.3f }, { 1.0f, 1.2f, 1.0f }, { 1.3f, 0.8f, 1.3f },
{ 1.0f, 1.0f, 1.0f }, { 1.3f, 1.0f, 1.3f }, { 1.0f, 1.0f, 1.0f }, { 1.3f, 1.0f, 1.3f },
{ 1.0f, 1.0f, 1.0f }, { 0.85f, 0.95f, 0.85f }, { 0.85f, 0.95f, 0.85f }, { 0.85f, 0.95f, 0.85f },
{ 1.0f, 1.05f, 1.0f }, { 0.85f, 0.95f, 0.85f }, { 0.85f, 0.95f, 0.85f }, { 0.85f, 0.95f, 0.85f },
{ 0.85f, 0.95f, 0.85f },
};
s32 D_E16C50_801C0440[24] = {
0, 0x1E, 0x3C, 0x5A, 0, 0, 0, 0, 0, 0xF, 0x1E, 0x2D, 0, 0, 0, 0, 0, 0xF, 0x1E, 0x2D, 0x3C, 0x4B, 0x5A, 0x69,
};
s32 D_E16C50_801C04A0[6] = {
0xF, -0xF, 0xA, -0xA, 7, -7,
};
Vec3f D_E16C50_801C04B8 = { 0.0f, 0.0f, 0.0f };
s32 D_E16C50_801C04C4[9] = {
1, 5, 9, 0xE, 0xF, 0x10, 0x11, 0, 0xD,
};
Vec3f D_E16C50_801C04E8 = { 0.0f, 0.0f, 0.0f };
f32 D_E16C50_801C04F4[4] = {
700.0f,
300.0f,
600.0f,
400.0f,
};
Vec3f D_E16C50_801C0504[50] = {
{ 416.0f, 440.0f, -4182.0f }, { 437.0f, 440.0f, -4178.0f }, { 510.0f, 420.0f, -4156.0f },
{ 168.0f, 361.0f, -4168.0f }, { 434.0f, 440.0f, -4162.0f }, { 465.0f, 465.0f, -4146.0f },
{ 464.0f, 493.0f, -4124.0f }, { 426.0f, 395.0f, -4136.0f }, { 457.0f, 440.0f, -4112.0f },
{ 480.0f, 487.0f, -4110.0f }, { 454.0f, 440.0f, -4256.0f }, { 179.0f, 507.0f, -4272.0f },
{ 442.0f, 392.0f, -4242.0f }, { 450.0f, 481.0f, -4248.0f }, { 474.0f, 420.0f, -4232.0f },
{ 376.0f, 440.0f, -4196.0f }, { 463.0f, 507.0f, -4190.0f }, { 467.0f, 424.0f, -4208.0f },
{ 394.0f, 404.0f, -4186.0f }, { 256.0f, 440.0f, -3680.0f }, { 243.0f, 515.0f, -3648.0f },
{ 277.0f, 390.0f, -3662.0f }, { 234.0f, 457.0f, -3664.0f }, { 561.0f, 440.0f, -4332.0f },
{ 550.0f, 514.0f, -4346.0f }, { 568.0f, 404.0f, -4304.0f }, { 580.0f, 545.0f, -4350.0f },
{ 552.0f, 382.0f, -4292.0f }, { 528.0f, 462.0f, -4322.0f }, { 558.0f, 440.0f, -4294.0f },
{ 396.0f, 440.0f, -4284.0f }, { 391.0f, 363.0f, -4254.0f }, { 379.0f, 501.0f, -4254.0f },
{ 428.0f, 440.0f, -4246.0f }, { 374.0f, 440.0f, -4282.0f }, { 373.0f, 342.0f, -4290.0f },
{ 353.0f, 570.0f, -4266.0f }, { 359.0f, 440.0f, -4232.0f }, { 399.0f, 216.0f, -4246.0f },
{ 406.0f, 251.0f, -4222.0f }, { 380.0f, 189.0f, -4248.0f }, { 370.0f, 278.0f, -4214.0f },
{ 383.0f, 237.0f, -4266.0f }, { 360.0f, 299.0f, -4320.0f }, { 359.0f, 266.0f, -4280.0f },
{ 354.0f, 211.0f, -4256.0f }, { 391.0f, 238.0f, -4192.0f }, { 340.0f, 294.0f, -4216.0f },
{ 423.0f, 242.0f, -4200.0f }, { 429.0f, 311.0f, -4138.0f },
};
f32 D_E16C50_801C075C[51] = {
28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f,
28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 320.0f, 320.0f, 320.0f, 320.0f, 40.0f, 40.0f, 40.0f,
40.0f, 40.0f, 40.0f, 40.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f,
28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 10.0f, 28.0f, 28.0f,
};
f32 D_E16C50_801C0828[51] = {
210.0f, 250.0f, 170.0f, 200.0f, 225.0f, 240.0f, 220.0f, 180.0f, 210.0f, 230.0f, 355.0f, 349.0f, 357.0f,
12.0f, 357.0f, 65.0f, 256.0f, 250.0f, 88.0f, 0.0f, 0.0f, 0.0f, 9.0f, 14.0f, 35.0f, 40.0f,
5.0f, 92.0f, 56.0f, 71.0f, 355.0f, 326.0f, 30.0f, 5.0f, 30.0f, 30.0f, 60.0f, 69.0f, 1.0f,
346.0f, 30.0f, 97.0f, 30.0f, 30.0f, 30.0f, 30.0f, 162.0f, 98.0f, 10.0f, 213.0f, 30.0f,
};
Vec3f D_E16C50_801C08F4 = { 0.0f, 0.0f, 0.0f };
typedef struct {
char unk_00[0x148];
} UnkStruct_1C4308;
PosRot* D_E16C50_801C27C0;
PosRot D_E16C50_801C27C8[4][50];
Vtx D_E16C50_801C3A88[2][2][28];
f32 D_E16C50_801C4188;
s32 D_E16C50_801C4190[10];
f32 D_E16C50_801C41B8[30];
s32 D_E16C50_801C4230[28];
s32 D_E16C50_801C42A0[25];
UnkStruct_1C4308 D_E16C50_801C4308;
s32 D_E16C50_801C4450;
s32 D_E16C50_801C4454;
f32 D_E16C50_801C4458;
f32 D_E16C50_801C445C;
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801A8E30.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801A92EC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801A9374.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801A9448.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801A94EC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801A958C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801A95C8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801A96DC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801A9728.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801A9824.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801A99D4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801A9C98.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801A9DE4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801A9ED0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AA20C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AA4BC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AA8E8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AACF8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AB9B0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801ABA40.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AC09C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AC18C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AC274.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AC7C8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AC8A8.s")
// OBJ_EFFECT_366 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AC918.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801ACBB4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801ACE50.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AD328.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AD598.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AD688.s")
// OBJ_ACTOR_255 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AD6C0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801ADF7C.s")
// OBJ_ACTOR_255 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AE168.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AE3AC.s")
// OBJ_ACTOR_256 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AE3D8.s")
// OBJ_ACTOR_256 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AEB44.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AF9FC.s")
// OBJ_ACTOR_257 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AFA5C.s")
// OBJ_ACTOR_257 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B099C.s")
// OBJ_ACTOR_258 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B0B60.s")
// OBJ_ACTOR_258 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B0EC0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B0F88.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B0FCC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B1008.s")
// OBJ_BOSS_AQ init
void func_E16C50_801B10F8(Boss* bossAQ);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B10F8.s")
// OBJ_BOSS_AQ action
void func_E16C50_801B134C(Boss* bossAQ);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B134C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B42AC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B49DC.s")
// OBJ_BOSS_AQ draw
void func_E16C50_801B4D84(Boss* bossAQ);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B4D84.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B4DDC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B4E94.s")
// OBJ_ACTOR_261 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B504C.s")
// OBJ_ACTOR_261 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B50E8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B5C18.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B5F68.s")
// OBJ_ACTOR_259 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B619C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B6344.s")
// OBJ_ACTOR_259 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B638C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B6E54.s")
// OBJ_ACTOR_262 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B6FF8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B76EC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B7754.s")
// OBJ_ACTOR_262 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B7A24.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B7AF0.s")
// OBJ_ACTOR_260 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B7C78.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B8C50.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B8D7C.s")
// OBJ_ACTOR_260 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B90DC.s")
// OBJ_ACTOR_263 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B91A4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B9DB0.s")
// OBJ_ACTOR_263 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BA108.s")
// OBJ_ACTOR_264 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BA26C.s")
// OBJ_ACTOR_264 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BA4E4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BA57C.s")
// OBJ_ACTOR_265 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BA6A4.s")
// OBJ_ACTOR_265 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BAD7C.s")
// OBJ_ACTOR_266 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BADF8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BB0C4.s")
// OBJ_ACTOR_266 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BB204.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BB26C.s")
// OBJ_ACTOR_267 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BB79C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BC530.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BC91C.s")
// OBJ_ACTOR_267 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BC930.s")
// OBJ_ACTOR_269 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BC9A0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BD17C.s")
// OBJ_ACTOR_269 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BD264.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BD3B0.s")
// OBJ_ACTOR_268 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BD54C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BDDFC.s")
// OBJ_ACTOR_268 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BDE6C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BDF14.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BE034.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BE0F0.s")
// OBJ_80_126 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BE1FC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BE274.s")
// OBJ_ACTOR_270 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BE3F8.s")
// OBJ_ACTOR_270 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BEB1C.s")
// OBJ_BOSS_301 action
void func_E16C50_801BEC50(Boss* boss301) {
}
// OBJ_BOSS_301 draw
void func_E16C50_801BEC5C(Boss* boss301) {
}
// OBJ_ACTOR_188 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BEC68.s")
// OBJ_ACTOR_188 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BEC74.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BEC80.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BEC8C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/D_E16C50_801C1A30.s")

View File

@ -1,203 +0,0 @@
#include "global.h"
typedef void (*BossSOfunc)(Boss*);
void func_E16C50_8019EA7C(Actor*);
void func_E16C50_8019F20C(Actor*);
void func_E16C50_8019F7AC(Actor*);
void func_E16C50_801A003C(Actor*);
void func_E16C50_801A0120(Effect*);
void func_E16C50_801A0AF0(Effect*);
void func_E16C50_801A1F80(Boss* bossSO);
void func_E16C50_801A23F4(Boss* bossSO);
void func_E16C50_801A2C98(Boss* bossSO);
void func_E16C50_801A3128(Boss* bossSO);
void func_E16C50_801A3510(Boss* bossSO);
void func_E16C50_801A4214(Boss* bossSO);
void func_E16C50_801A4A34(Boss* bossSO);
void func_E16C50_801A4EF8(Boss* bossSO);
void func_E16C50_801A56B8(Boss* bossSO);
f32 D_E16C50_801BF8E0[4] = { 10.0f, 6.0f, -6.0f, -10.0f };
Vec3f D_E16C50_801BF8F0[4] = {
{ 10.0f, 7.0f, 0.0f },
{ -10.0f, 7.0f, 0.0f },
{ 7.0f, 10.0f, 0.0f },
{ -7.0f, 10.0f, 0.0f },
};
Vec3f D_E16C50_801BF920 = { 0.0f, 0.0f, 0.0f };
u32 D_E16C50_801BF92C[6] = {
0x0200B630, 0x0200A5A0, 0x02009510, 0x060084C0, 0x06008D40, 0x06007C40,
};
u32 D_E16C50_801BF944[6] = {
0x0601B790, 0x0601B790, 0x0601A700, 0x06019670, 0x060185E0, 0x06017550,
};
Vec3f D_E16C50_801BF95C[3] = {
{ 0.0f, 30.0f, 480.0f },
{ -180.0f, 0.0f, 240.0f },
{ 180.0f, 0.0f, 240.0f },
};
BossSOfunc D_E16C50_801BF980[9] = {
func_E16C50_801A1F80, func_E16C50_801A23F4, func_E16C50_801A2C98, func_E16C50_801A3128, func_E16C50_801A3510,
func_E16C50_801A4214, func_E16C50_801A4A34, func_E16C50_801A4EF8, func_E16C50_801A56B8,
};
Vec3f D_E16C50_801BF9A4 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BF9B0 = { 10.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BF9BC = { -10.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BF9C8 = { 90.0f, 0.0f, -10.0f };
Vec3f D_E16C50_801BF9D4 = { 135.0f, 0.0f, -40.0f };
Vec3f D_E16C50_801BF9E0 = { 106.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BF9EC = { 75.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BF9F8 = { 85.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BFA04 = { 10.0f, 2.0f, 0.0f };
Vec3f D_E16C50_801BFA10 = { 10.0f, -2.0f, 0.0f };
Vec3f D_E16C50_801BFA1C = { 0.0f, 0.05f, 0.0f };
Vec3f D_E16C50_801BFA28 = { 0.0f, -0.05f, 0.0f };
Vec3f D_E16C50_801BFA34 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BFA40[9] = {
{ 150.0f, 300.0f, 100.0f }, { -100.0f, 200.0f, 100.0f }, { 50.0f, 100.0f, 100.0f },
{ 0.0f, 0.0f, -500.0f }, { 790.0f, 630.0f, -600.0f }, { 280.0f, 140.0f, 500.0f },
{ -210.0f, 110.0f, 500.0f }, { -460.0f, 260.0f, 500.0f }, { 380.0f, 290.0f, 500.0f },
};
Vec3f D_E16C50_801BFAAC[3] = {
{ -1.0f, -0.3f, -2.0f },
{ 121.0f, 209.0f, 183.0f },
{ 181.0f, 167.0f, 182.0f },
};
Vec3f D_E16C50_801BFAD0[3] = {
{ -89.0f, -90.0f, -88.0f },
{ -36.0f, -73.0f, -95.0f },
{ -91.0f, -83.0f, -91.0f },
};
Vec3f D_E16C50_801BFAF4[5] = {
{ 0.0f, 10.0f, 20.0f }, { 300.0f, 100.0f, 200.0f }, { 100.0f, 60.0f, -260.0f },
{ 80.0f, 100.0f, 80.0f }, { 262.0f, 285.0f, 252.0f },
};
Vec3f D_E16C50_801BFB30[4] = {
{ 0.0f, 50.0f, 500.0f },
{ -500.0f, 0.0f, 250.0f },
{ 500.0f, 0.0f, 250.0f },
{ 0.0f, 0.0f, 0.0f },
};
s32 D_E16C50_801C2740[10];
f32 D_E16C50_801C2768[14];
s32 D_E16C50_801C27A0[8]; // unused? part of previous?
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019E7F0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019E8B8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019E920.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019E9F4.s")
// OBJ_ACTOR_278 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019EA7C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019EF30.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019F038.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019F0B0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019F194.s")
// OBJ_ACTOR_275, 276, 277 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019F20C.s")
// OBJ_ACTOR_275, 276, 277 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019F7AC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019F99C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019FAA4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019FDE0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019FEE8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019FF44.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019FFC0.s")
// OBJ_ACTOR_279 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A003C.s")
// OBJ_EFFECT_392 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A0120.s")
// OBJ_EFFECT_392 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A0AF0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A0CEC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A0D90.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A0DF8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A0FD4.s")
void func_E16C50_801A10F4(Player* player);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A10F4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A1CD8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A1E14.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A1EB0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A1F80.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A239C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A23F4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A2C3C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A2C98.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A30CC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A3128.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A3468.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A3510.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A3C4C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A4214.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A48B8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A4A34.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A4EC0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A4EF8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A56B8.s")
// OBJ_BOSS_SO action
void func_E16C50_801A5B3C(Boss* bossSO);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A5B3C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A68A8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A6BDC.s")
// OBJ_BOSS_SO draw
void func_E16C50_801A71B8(Boss* bossSO);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A71B8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A7750.s")
void func_E16C50_801A7930(Player* player);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A7930.s")
void func_E16C50_801A8BE8(Player* player);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A8BE8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A8DB8.s")

View File

@ -1,372 +0,0 @@
#include "global.h"
void func_E16C50_801904CC(Actor*);
void func_E16C50_80190A00(Actor*);
void func_E16C50_80191010(Actor*);
void func_E16C50_801914C4(Actor*);
void func_E16C50_80191680(Actor*);
void func_E16C50_80191B4C(Actor*);
void func_E16C50_80191BC4(Actor*);
void func_E16C50_80191DB0(Actor*);
void func_E16C50_80191FFC(Actor*);
void func_E16C50_80192094(Actor*);
void func_E16C50_80192834(Actor*);
void func_E16C50_80192C18(Actor*);
void func_E16C50_80192E64(Actor*);
void func_E16C50_80193240(Actor*);
void func_E16C50_8019969C(Actor*);
void func_E16C50_8019983C(Actor*);
void func_E16C50_80199A28(Actor*);
void func_E16C50_80199E24(Actor*);
void func_E16C50_80199F10(Actor*);
void func_E16C50_8019A1FC(Actor*);
void func_E16C50_8019A5D4(Actor*);
void func_E16C50_8019ACCC(Actor*);
void func_E16C50_8019B548(Actor*);
void func_E16C50_8019B7DC(Actor*);
void func_E16C50_8019B854(Actor*);
void func_E16C50_8019BDE0(Actor*);
void func_E16C50_8019BE48(Actor*);
void func_E16C50_8019C1CC(Actor*);
void func_E16C50_8019C454(Actor*);
void func_E16C50_8019C83C(Actor*);
void func_E16C50_8019CBEC(Actor*);
void func_E16C50_8019CE58(Actor*);
void func_E16C50_8019D15C(Actor*);
void func_E16C50_8019D3C4(Actor*);
Vec3f D_E16C50_801BF560 = { 0.0f, 0.0f, 0.0f };
s16 D_E16C50_801BF56C[20] = {
0, 190, 180, 170, 160, 150, 140, 130, 120, 110, 100, 90, 80, 70, 60, 50, 40, 30, 20, 10,
};
u8 D_E16C50_801BF594[20] = {
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
};
Gfx* D_E16C50_801BF5A8[3] = { (Gfx*) 0x060012A0, (Gfx*) 0x060239E0, (Gfx*) 0x06023730 };
Vec3f D_E16C50_801BF5B4 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BF5C0 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BF5CC = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BF5D8 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BF5E4 = { 0.0f, 0.0f, 0.0f };
s32 D_E16C50_801BF5F0[6] = {
20, 40, 20, 20, 10, 10,
};
f32 D_E16C50_801BF608[6] = {
-45.0f, 0.0f, -45.0f, 0.0f, -45.0f, 0.0f,
};
Vec3f D_E16C50_801BF620 = { 0.0f, 0.0f, 40.0f };
Vec3f D_E16C50_801BF62C = { 96.0f, 199.0f, -9.0f };
Vec3f D_E16C50_801BF638 = { 50.0f, 150.0f, -20.0f };
Vec3f D_E16C50_801BF644 = { 50.0f, 150.0f, 20.0f };
Vec3f D_E16C50_801BF650 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BF65C = { 210.0f, -50.0f, 0.0f };
Vec3f D_E16C50_801BF668 = { 50.0f, 70.0f, 0.0f };
Vec3f D_E16C50_801BF674 = { 166.0f, -174.0f, -25.0f };
Vec3f D_E16C50_801BF680 = { 166.0f, -174.0f, 25.0f };
Vec3f D_E16C50_801BF68C = { 50.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BF698 = { 150.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BF6A4 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BF6B0 = { 0.0f, 0.0f, 0.0f };
f32 D_E16C50_801BF6BC[2] = { -600.0f, -3400.0f };
f32 D_E16C50_801BF6C4[2] = { 330.0f, 30.0f };
f32 D_E16C50_801BF6CC[2] = { 250.0f, -250.0f };
f32 D_E16C50_801BF6D4[2] = { 330.0f, 30.0f };
Vec3f D_E16C50_801BF6DC = { 615.0f, 532.0f, -80.0f };
Vec3f D_E16C50_801BF6E8 = { -615.0f, 532.0f, -80.0f };
Vec3f D_E16C50_801BF6F4 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BF700 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BF70C = { 0.0f, 0.0f, 40.0f };
Vec3f D_E16C50_801BF718 = { 0.0f, 0.0f, 50.0f };
Vec3f D_E16C50_801BF724 = { 0.0f, 0.0f, 20.0f };
Vec3f D_E16C50_801BF730 = { 0.0f, 0.0f, 100.0f };
f32 D_E16C50_801BF73C[2] = { -80.0f, 80.0f };
Vec3f D_E16C50_801BF744[3] = {
{ 0.0f, 50.0f, -200.0f },
{ 0.0f, 50.0f, 200.0f },
{ 0.0f, 50.0f, 600.0f },
};
Vec3f D_E16C50_801BF768[3] = {
{ 0.0f, 300.0f, 0.0f },
{ 0.0f, 300.0f, -200.0f },
{ 0.0f, 300.0f, 300.0f },
};
s32 D_E16C50_801BF78C[30] = {
0, 7, 7, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 4, 7, 0, 0, 0, 0, 327, 324, 0, 322, 327, 0, 324, 324, 0, 336, 0,
};
f32 D_E16C50_801BF804[8] = { 0.0f, 0.0f, 270.0f, 90.0f, 0.0f, 180.0f, 400.0f, 400.0f };
s32 D_E16C50_801BF824[10] = { 1, 5, 9, 14, 15, 16, 17, 0, 13, 1000 };
Vec3f D_E16C50_801BF84C[6] = {
{ 5.0f, -10.0f, 0.0f }, { 10.0f, 0.0f, 0.0f }, { 5.0f, 10.0f, 0.0f },
{ -5.0f, -10.0f, 0.0f }, { -10.0f, 0.0f, 0.0f }, { -5.0f, 10.0f, 0.0f },
};
Vec3f D_E16C50_801BF894 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BF8A0 = { 0.0f, 0.0f, 0.0f };
Vec3f D_E16C50_801BF8AC = { 230.0f, -50.0f, 0.0f };
Vec3f D_E16C50_801BF8B8 = { 230.0f, -250.0f, 0.0f };
f32 D_E16C50_801BF8C4[2] = { 46.0f, 314.0f };
f32 D_E16C50_801BF8CC[2] = { 23.0f, 337.0f };
typedef struct {
/* 0x000 */ char pad0[4];
/* 0x004 */ f32 unk_4;
/* 0x008 */ char pad8[0x24];
/* 0x02C */ f32 unk_2C;
/* 0x030 */ char pad30[0x2C];
/* 0x05C */ f32 unk_5C;
/* 0x060 */ char pad60[4];
/* 0x064 */ f32 unk_64;
/* 0x068 */ f32 unk_68;
/* 0x06C */ char pad6C[4];
/* 0x070 */ f32 unk_70;
/* 0x074 */ Vec3f unk_74;
/* 0x080 */ Vec3f unk_80;
/* 0x08C */ char pad8C[8];
/* 0x094 */ Vec3f unk_94;
/* 0x0A0 */ Vec3f unk_A0;
/* 0x0AC */ Vec3f unk_AC;
/* 0x0B8 */ Vec3f unk_B8;
/* 0x0C4 */ Vec3f unk_C4;
/* 0x0D0 */ Vec3f unk_D0;
/* 0x0DC */ Vec3f unk_DC;
/* 0x0E8 */ char padE8[8];
/* 0x0F0 */ Vec3f unk_F0;
/* 0x0FC */ char padFC[8];
/* 0x104 */ Vec3f unk_104;
/* 0x110 */ Vec3f unk_110;
/* 0x11C */ Vec3f unk_11C;
/* 0x128 */ char pad128[0x4C];
/* 0x174 */ Vec3f unk_174;
/* 0x180 */ Vec3f unk_180;
/* 0x18C */ Vec3f unk_18C;
/* 0x198 */ Vec3f unk_198;
/* 0x1A4 */ char pad1A4[4];
/* 0x1A8 */ Vec3f unk_1A8;
/* 0x1B4 */ Vec3f unk_1B4;
/* 0x1C0 */ char pad1C0[0x98];
} UnkStruct_1C24E8; /* size = 0x258 */
s32 D_E16C50_801C2330[40];
s32 D_E16C50_801C23D0[70];
UnkStruct_1C24E8 D_E16C50_801C24E8;
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8018FF50.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190028.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801900FC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019019C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190204.s")
// OBJ_ACTOR_235 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190430.s")
// OBJ_ACTOR_235 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801904CC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190790.s")
// OBJ_ACTOR_236 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190A00.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190B4C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190D0C.s")
// OBJ_ACTOR_236 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190F08.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190F28.s")
// OBJ_ACTOR_238 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191010.s")
// OBJ_ACTOR_238 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801914C4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801915A4.s")
// OBJ_ACTOR_240 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191680.s")
// OBJ_ACTOR_240 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191B4C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191BB8.s")
// OBJ_ACTOR_241 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191BC4.s")
// OBJ_ACTOR_241 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191DB0.s")
// OBJ_ACTOR_242 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191E94.s")
// OBJ_ACTOR_242 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191FFC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80192094.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801926F4.s")
// OBJ_ACTOR_243 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80192834.s")
// OBJ_ACTOR_243 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80192C18.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80192C84.s")
// OBJ_ACTOR_244 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80192E64.s")
// OBJ_ACTOR_244 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80193240.s")
// OBJ_BOSS_ZO init
void func_E16C50_801932AC(Boss* bossZO);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801932AC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80193628.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801937D8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80193908.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80193970.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80193A98.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80193B08.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80193C5C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80193CC8.s")
bool func_E16C50_80193D08(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, Boss* thisx);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80193D08.s")
void func_E16C50_80194394(s32 limbIndex, Vec3f* rot, Boss* thisx);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80194394.s")
// OBJ_BOSS_ZO draw
void func_E16C50_801949DC(Boss* bossZO);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801949DC.s")
// OBJ_BOSS_ZO action
void func_E16C50_80194A84(Boss* bossZO);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80194A84.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801986FC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801989FC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80198BE8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80198ECC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80198F3C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019907C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019914C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801991D0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80199394.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80199470.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019962C.s")
// OBJ_ACTOR_245 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019969C.s")
// OBJ_ACTOR_245 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019983C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801998E0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801999CC.s")
// OBJ_ACTOR_246 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80199A28.s")
// OBJ_ACTOR_246 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80199E24.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80199E9C.s")
// OBJ_ACTOR_248 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80199F10.s")
// OBJ_ACTOR_248 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019A1FC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019A4E0.s")
// OBJ_ACTOR_249 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019A5D4.s")
// OBJ_ACTOR_249 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019ACCC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019B1F0.s")
// OBJ_ACTOR_250 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019B548.s")
// OBJ_ACTOR_250 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019B7DC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019B810.s")
// OBJ_ACTOR_251 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019B854.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019BC78.s")
// OBJ_ACTOR_251 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019BDE0.s")
// OBJ_ACTOR_252 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019BE48.s")
// OBJ_ACTOR_252 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019C1CC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019C200.s")
// OBJ_ACTOR_253 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019C454.s")
// OBJ_ACTOR_253 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019C83C.s")
// OBJ_ACTOR_254 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019CBEC.s")
// OBJ_ACTOR_254 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019CE58.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019D060.s")
// OBJ_ACTOR_247 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019D15C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019D340.s")
// OBJ_ACTOR_247 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019D3C4.s")
void func_E16C50_8019D428(Player* player);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019D428.s")
void func_E16C50_8019D76C(Player* player);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019D76C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019E5F0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/D_E16C50_801C0DB0.s")

View File

@ -0,0 +1,7 @@
#include "global.h"
static s32 D_i3_801BECA0 = 0;
static s32 D_i3_801C2240;
void func_i3_80187520(s32 arg0, void* arg1) {
}

4907
src/overlays/ovl_i3/fox_zo.c Normal file

File diff suppressed because it is too large Load Diff

649
src/overlays/ovl_i3/sf_aq.c Normal file
View File

@ -0,0 +1,649 @@
#include "global.h"
void func_i3_801AC918(Effect*);
void func_i3_801AD6C0(Actor*);
void func_i3_801AE168(Actor*);
void func_i3_801AE3D8(Actor*);
void func_i3_801AEB44(Actor*);
void func_i3_801AFA5C(Actor*);
void func_i3_801B099C(Actor*);
void func_i3_801B0B60(Actor*);
void func_i3_801B0EC0(Actor*);
void func_i3_801B504C(Actor*);
void func_i3_801B50E8(Actor*);
void func_i3_801B619C(Actor*);
void func_i3_801B638C(Actor*);
void func_i3_801B6FF8(Actor*);
void func_i3_801B7A24(Actor*);
void func_i3_801B7C78(Actor*);
void func_i3_801B90DC(Actor*);
void func_i3_801B91A4(Actor*);
void func_i3_801BA108(Actor*);
void func_i3_801BA26C(Actor*);
void func_i3_801BA4E4(Actor*);
void func_i3_801BA6A4(Actor*);
void func_i3_801BAD7C(Actor*);
void func_i3_801BADF8(Actor*);
void func_i3_801BB204(Actor*);
void func_i3_801BB79C(Actor*);
void func_i3_801BC930(Actor*);
void func_i3_801BC9A0(Actor*);
void func_i3_801BD264(Actor*);
void func_i3_801BD54C(Actor*);
void func_i3_801BDE6C(Actor*);
void func_i3_801BE1FC(Object_80*);
void func_i3_801BE3F8(Actor*);
void func_i3_801BEB1C(Actor*);
void func_i3_801BEC68(Actor*);
void func_i3_801BEC74(Actor*);
typedef enum {
/* 0 */ AQ_SWK_0,
/* 1 */ AQ_SWK_1,
/* 2 */ AQ_SWK_2,
/* 3 */ AQ_SWK_3,
/* 4 */ AQ_SWK_4,
/* 5 */ AQ_SWK_5,
/* 6 */ AQ_SWK_6,
/* 7 */ AQ_SWK_7,
/* 8 */ AQ_SWK_8,
/* 9 */ AQ_SWK_9,
/* 10 */ AQ_SWK_10,
/* 11 */ AQ_SWK_11,
/* 12 */ AQ_SWK_12,
/* 13 */ AQ_SWK_13,
/* 14 */ AQ_SWK_14,
/* 15 */ AQ_SWK_15,
/* 16 */ AQ_SWK_16,
/* 17 */ AQ_SWK_17,
/* 18 */ AQ_SWK_18,
/* 19 */ AQ_SWK_19,
/* 20 */ AQ_SWK_20,
/* 21 */ AQ_SWK_21,
/* 22 */ AQ_SWK_22,
/* 23 */ AQ_SWK_23,
/* 24 */ AQ_SWK_24,
/* 25 */ AQ_SWK_25,
/* 26 */ AQ_SWK_26,
/* 27 */ AQ_SWK_27,
/* 28 */ AQ_SWK_28,
/* 29 */ AQ_SWK_29,
/* 30 */ AQ_SWK_30,
/* 31 */ AQ_SWK_31,
/* 32 */ AQ_SWK_32,
/* 33 */ AQ_SWK_33,
/* 34 */ AQ_SWK_34,
/* 35 */ AQ_SWK_35,
/* 36 */ AQ_SWK_36,
/* 37 */ AQ_SWK_37,
/* 38 */ AQ_SWK_38,
/* 39 */ AQ_SWK_39,
/* 40 */ AQ_SWK_MAX,
} BossAQswork;
typedef enum {
/* 0 */ AQ_FWK_0,
/* 1 */ AQ_FWK_1,
/* 2 */ AQ_FWK_2,
/* 3 */ AQ_FWK_3,
/* 4 */ AQ_FWK_4,
/* 5 */ AQ_FWK_5,
/* 6 */ AQ_FWK_6,
/* 7 */ AQ_FWK_7,
/* 8 */ AQ_FWK_8,
/* 9 */ AQ_FWK_9,
/* 10 */ AQ_FWK_10,
/* 11 */ AQ_FWK_11,
/* 12 */ AQ_FWK_12,
/* 13 */ AQ_FWK_13,
/* 14 */ AQ_FWK_14,
/* 15 */ AQ_FWK_15,
/* 16 */ AQ_FWK_16,
/* 17 */ AQ_FWK_17,
/* 18 */ AQ_FWK_18,
/* 19 */ AQ_FWK_19,
/* 20 */ AQ_FWK_20,
/* 21 */ AQ_FWK_21,
/* 22 */ AQ_FWK_22,
/* 23 */ AQ_FWK_23,
/* 24 */ AQ_FWK_24,
/* 25 */ AQ_FWK_25,
/* 26 */ AQ_FWK_26,
/* 27 */ AQ_FWK_27,
/* 28 */ AQ_FWK_28,
/* 29 */ AQ_FWK_29,
/* 30 */ AQ_FWK_30,
/* 31 */ AQ_FWK_31,
/* 32 */ AQ_FWK_32,
/* 33 */ AQ_FWK_33,
/* 34 */ AQ_FWK_34,
/* 35 */ AQ_FWK_35,
/* 36 */ AQ_FWK_36,
/* 37 */ AQ_FWK_37,
/* 38 */ AQ_FWK_38,
/* 39 */ AQ_FWK_39,
/* 40 */ AQ_FWK_40,
/* 41 */ AQ_FWK_41,
/* 42 */ AQ_FWK_42,
/* 43 */ AQ_FWK_43,
/* 44 */ AQ_FWK_44,
/* 45 */ AQ_FWK_45,
/* 46 */ AQ_FWK_46,
/* 47 */ AQ_FWK_47,
/* 48 */ AQ_FWK_48,
/* 49 */ AQ_FWK_49,
/* 50 */ AQ_FWK_MAX,
} BossAQfwork;
typedef enum {
/* 0 */ AQ_VWK_0,
/* 1 */ AQ_VWK_1,
/* 2 */ AQ_VWK_2,
/* 3 */ AQ_VWK_3,
/* 4 */ AQ_VWK_4,
/* 5 */ AQ_VWK_5,
/* 6 */ AQ_VWK_6,
/* 7 */ AQ_VWK_7,
/* 8 */ AQ_VWK_8,
/* 9 */ AQ_VWK_9,
/* 10 */ AQ_VWK_10,
/* 11 */ AQ_VWK_11,
/* 12 */ AQ_VWK_12,
/* 13 */ AQ_VWK_13,
/* 14 */ AQ_VWK_14,
/* 15 */ AQ_VWK_15,
/* 16 */ AQ_VWK_16,
/* 17 */ AQ_VWK_17,
/* 18 */ AQ_VWK_18,
/* 19 */ AQ_VWK_19,
/* 20 */ AQ_VWK_20,
/* 21 */ AQ_VWK_21,
/* 22 */ AQ_VWK_22,
/* 23 */ AQ_VWK_23,
/* 24 */ AQ_VWK_24,
/* 25 */ AQ_VWK_25,
/* 26 */ AQ_VWK_26,
/* 27 */ AQ_VWK_27,
/* 28 */ AQ_VWK_28,
/* 29 */ AQ_VWK_29,
/* 30 */ AQ_VWK_30,
/* 31 */ AQ_VWK_31,
/* 32 */ AQ_VWK_32,
/* 33 */ AQ_VWK_33,
/* 34 */ AQ_VWK_34,
/* 35 */ AQ_VWK_35,
/* 36 */ AQ_VWK_36,
/* 37 */ AQ_VWK_37,
/* 38 */ AQ_VWK_38,
/* 39 */ AQ_VWK_39,
/* 40 */ AQ_VWK_40,
/* 41 */ AQ_VWK_41,
/* 42 */ AQ_VWK_42,
/* 43 */ AQ_VWK_43,
/* 44 */ AQ_VWK_44,
/* 45 */ AQ_VWK_45,
/* 46 */ AQ_VWK_46,
/* 47 */ AQ_VWK_47,
/* 48 */ AQ_VWK_48,
/* 49 */ AQ_VWK_49,
/* 50 */ AQ_VWK_MAX,
} BossAQvwork;
f32 D_i3_801BFB60 = 0.0f;
s32 D_i3_801BFB64[11] = {
0, 30, 27, 24, 21, 18, 15, 12, 9, 6, 3,
};
u8 D_i3_801BFB90[12] = {
0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
};
Gfx* D_i3_801BFB9C[3] = { D_6015FF0, D_6022110, D_6015DD0 };
f32 D_i3_801BFBA8[2] = { 40.0f, -40.0f };
f32 D_i3_801BFBB0[3] = { 20.0f, 10.0f, 15.0f };
f32 D_i3_801BFBBC[3] = { 8.0f, 27.0f, 42.0f };
f32 D_i3_801BFBC8[3] = { 15.0f, 6.0f, 7.0f };
f32 D_i3_801BFBD4[3] = { 358.0f, 12.0f, 352.0f };
f32 D_i3_801BFBE0[3][4] = {
{ 1.3f, 0.1f, 1.0f, 777.0f },
{ 0.7f, 0.5f, 5.0f, 777.0f },
{ 1.0f, 0.2f, 2.0f, 777.0f },
};
f32 D_i3_801BFC10[3][4] = {
{ 0.6f, 0.1f, 1.0f, 777.0f },
{ 1.5f, 0.5f, 5.0f, 777.0f },
{ 1.0f, 0.2f, 2.0f, 777.0f },
};
f32 D_i3_801BFC40[3][4] = {
{ 1.3f, 0.1f, 1.0f, 777.0f },
{ 0.7f, 0.5f, 5.0f, 777.0f },
{ 1.0f, 0.2f, 2.0f, 777.0f },
};
s32 D_i3_801BFC70[3] = { 18, 22, 45 };
f32 D_i3_801BFC7C[3] = { 20.0f, 10.0f, 0.0f };
f32 D_i3_801BFC88[3] = { 10.0f, 320.0f, 30.0f };
Vec3f D_i3_801BFC94[6][4] = {
{ { 1.0f, 1.0f, 1.0f }, { 0.9f, 0.9f, 0.9f }, { 1.0f, 1.0f, 1.0f }, { 1.0f, 1.0f, 1.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 0.9f, 0.9f, 0.9f }, { 1.0f, 1.0f, 1.0f }, { 1.0f, 1.0f, 1.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 0.9f, 0.9f, 0.9f }, { 1.0f, 1.0f, 1.0f }, { 1.0f, 1.0f, 1.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 0.9f, 1.0f, 0.9f }, { 1.0f, 1.0f, 1.0f }, { 1.0f, 1.0f, 1.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 0.9f, 1.0f, 0.9f }, { 1.0f, 1.0f, 1.0f }, { 1.0f, 1.0f, 1.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 1.0f, 0.8f, 0.9f }, { 1.0f, 1.0f, 1.0f }, { 1.0f, 1.0f, 1.0f } },
};
s32 D_i3_801BFDB4[6][4] = {
{ 1, 5, 15, 100000 }, { 1, 5, 15, 100000 }, { 1, 5, 15, 100000 },
{ 1, 10, 20, 100000 }, { 1, 10, 20, 100000 }, { 1, 10, 20, 100000 },
};
s32 D_i3_801BFE14 = 0;
Vec3f D_i3_801BFE18[6][4] = {
{ { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f } },
{ { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f } },
{ { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f }, { 0.4f, 0.4f, 0.4f } },
{ { 0.2f, 0.2f, 0.2f }, { 0.3f, 0.3f, 0.3f }, { 0.2f, 0.2f, 0.2f }, { 0.2f, 0.2f, 0.2f } },
{ { 0.2f, 0.2f, 0.2f }, { 0.2f, 0.2f, 0.2f }, { 0.2f, 0.2f, 0.2f }, { 0.2f, 0.2f, 0.2f } },
{ { 0.2f, 0.2f, 0.2f }, { 0.2f, 0.2f, 0.2f }, { 0.2f, 0.2f, 0.2f }, { 0.2f, 0.2f, 0.2f } },
};
Vec3f D_i3_801BFF38[6][4] = {
{ { 1.0f, 1.0f, 1.0f }, { 5.0f, 5.0f, 5.0f }, { 10.0f, 10.0f, 10.0f }, { 5.0f, 5.0f, 5.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 5.0f, 5.0f, 5.0f }, { 10.0f, 10.0f, 10.0f }, { 5.0f, 5.0f, 5.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 3.0f, 3.0f, 3.0f }, { 2.0f, 2.0f, 2.0f }, { 1.0f, 1.0f, 1.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 3.0f, 1.0f, 3.0f }, { 2.0f, 1.0f, 2.0f }, { 1.0f, 1.0f, 1.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 3.0f, 1.0f, 3.0f }, { 2.0f, 1.0f, 2.0f }, { 1.0f, 1.0f, 1.0f } },
{ { 1.0f, 1.0f, 1.0f }, { 1.0f, 4.0f, 3.0f }, { 1.0f, 3.0f, 2.0f }, { 1.0f, 1.0f, 1.0f } },
};
f32 D_i3_801C0058 = 191.0f;
f32 D_i3_801C005C = 63.0f;
f32 D_i3_801C0060[14] = {
50.0f, 8.0f, 50.0f, 8.0f, 10.0f, 1.0f, 20.0f, 2.0f, 20.0f, 2.0f, 20.0f, 2.0f, 50.0f, 2.0f,
};
Vec3f D_i3_801C0098[2] = {
{ 370.0f, -53.0f, 1085.0f },
{ -370.0f, -53.0f, 1085.0f },
};
f32 D_i3_801C00B0[3][4] = {
{ 1.0f, 1.2f, 0.8f, 1.0f },
{ 1.0f, 1.2f, 0.9f, 1.0f },
{ 1.0f, 0.7f, 1.4f, 1.0f },
};
s32 D_i3_801C00E0[4] = { 1, 5, 8, 40 };
f32 D_i3_801C00F0[3][4] = {
{ 0.3f, 0.3f, 0.3f, 0.3f },
{ 0.3f, 0.3f, 0.3f, 0.3f },
{ 0.5f, 0.5f, 0.5f, 0.5f },
};
f32 D_i3_801C0120[3][4] = {
{ 1.0f, 1.0f, 1.0f, 1.0f },
{ 1.0f, 1.0f, 1.0f, 1.0f },
{ 2.0f, 2.0f, 2.0f, 2.0f },
};
f32 D_i3_801C0150[4][4] = {
{ 0.0f, 0.0f, 0.0f, 0.0f },
{ 0.0f, -25.5f, 0.0f, 0.0f },
{ -25.5f, 25.5f, -25.5f, 0.0f },
{ 25.5f, 0.0f, 25.5f, 0.0f },
};
f32 D_i3_801C0190[5] = {
0.0f, -30.0f, 30.0f, -30.0f, 30.0f,
};
Vec3f D_i3_801C01A4 = { 0.0f, 0.0f, 0.0f };
Vec3f D_i3_801C01B0 = { 0.0f, 0.0f, 0.0f };
Vec3f D_i3_801C01BC = { 340.0f, 600.0f, 1480.0f };
Vec3f D_i3_801C01C8 = { -640.0f, 380.0f, 1520.0f };
Vec3f D_i3_801C01D4 = { 760.0f, 340.0f, 1560.0f };
Vec3f D_i3_801C01E0 = { 130.0f, 350.0f, 130.0f };
Vec3f D_i3_801C01EC = { -130.0f, 350.0f, 130.0f };
f32 D_i3_801C01F8[11] = {
400.0f, 430.0f, 460.0f, 490.0f, 520.0f, 550.0f, 580.0f, 610.0f, 640.0f, 670.0f, 700.0f,
};
f32 D_i3_801C0224[11] = {
6.0f, 6.0f, 8.0f, 8.0f, 8.0f, 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f,
};
Vec3f D_i3_801C0250 = { 0.0f, 0.0f, 0.0f };
f32 D_i3_801C025C[2] = { 120.0f, 0.0f };
s32 D_i3_801C0264[19] = {
0, 0, 3, 4, 0, 5, 6, 7, 1, 2, 0, 0, 0, 0, 0, 0, 8, 9, 0,
};
Vec3f D_i3_801C02B0 = { 0.0f, 0.0f, 0.0f };
Vec3f D_i3_801C02BC = { 0.0f, 0.0f, 0.0f };
f32 D_i3_801C02C8[2] = { 255.0f, 68.0f };
s32 D_i3_801C02D0[2] = { 70, 100 };
Vec3f D_i3_801C02D8 = { 0.0f, 0.0f, 0.0f };
Vec3f D_i3_801C02E4 = { 0.0f, 0.0f, 0.0f };
Vec3f D_i3_801C02F0 = { 108.0f, 0.0f, 24.0f };
Vec3f D_i3_801C02FC = { 102.0f, 14.0f, -21.0f };
Vec3f D_i3_801C0308 = { 0.0f, 0.0f, 0.0f };
Vec3f D_i3_801C0314 = { 0.0f, 0.0f, 50.0f };
Vec3f D_i3_801C0320 = { 0.0f, 0.0f, 0.0f };
Vec3f D_i3_801C032C = { -27.0f, 7.0f, 5.0f };
Vec3f D_i3_801C0338 = { 0.0f, 0.0f, 0.0f };
Vec3f D_i3_801C0344[4] = {
{ -6.4f, -4.6f, -7.8f },
{ 6.4f, 4.6f, 7.8f },
{ -5.9f, -7.8f, -7.0f },
{ 5.9f, 7.8f, 7.0f },
};
Vec3f D_i3_801C0374[17] = {
{ 1.0f, 1.0f, 1.0f }, { 1.3f, 0.8f, 1.3f }, { 1.0f, 1.2f, 1.0f }, { 1.3f, 0.8f, 1.3f },
{ 1.0f, 1.0f, 1.0f }, { 1.3f, 1.0f, 1.3f }, { 1.0f, 1.0f, 1.0f }, { 1.3f, 1.0f, 1.3f },
{ 1.0f, 1.0f, 1.0f }, { 0.85f, 0.95f, 0.85f }, { 0.85f, 0.95f, 0.85f }, { 0.85f, 0.95f, 0.85f },
{ 1.0f, 1.05f, 1.0f }, { 0.85f, 0.95f, 0.85f }, { 0.85f, 0.95f, 0.85f }, { 0.85f, 0.95f, 0.85f },
{ 0.85f, 0.95f, 0.85f },
};
s32 D_i3_801C0440[24] = {
0, 30, 60, 90, 0, 0, 0, 0, 0, 15, 30, 45, 0, 0, 0, 0, 0, 15, 30, 45, 60, 75, 90, 105,
};
s32 D_i3_801C04A0[6] = {
15, -15, 10, -10, 7, -7,
};
Vec3f D_i3_801C04B8 = { 0.0f, 0.0f, 0.0f };
s32 D_i3_801C04C4[9] = {
1, 5, 9, 14, 15, 16, 17, 0, 13,
};
Vec3f D_i3_801C04E8 = { 0.0f, 0.0f, 0.0f };
f32 D_i3_801C04F4[4] = { 700.0f, 300.0f, 600.0f, 400.0f };
Vec3f D_i3_801C0504[50] = {
{ 416.0f, 440.0f, -4182.0f }, { 437.0f, 440.0f, -4178.0f }, { 510.0f, 420.0f, -4156.0f },
{ 168.0f, 361.0f, -4168.0f }, { 434.0f, 440.0f, -4162.0f }, { 465.0f, 465.0f, -4146.0f },
{ 464.0f, 493.0f, -4124.0f }, { 426.0f, 395.0f, -4136.0f }, { 457.0f, 440.0f, -4112.0f },
{ 480.0f, 487.0f, -4110.0f }, { 454.0f, 440.0f, -4256.0f }, { 179.0f, 507.0f, -4272.0f },
{ 442.0f, 392.0f, -4242.0f }, { 450.0f, 481.0f, -4248.0f }, { 474.0f, 420.0f, -4232.0f },
{ 376.0f, 440.0f, -4196.0f }, { 463.0f, 507.0f, -4190.0f }, { 467.0f, 424.0f, -4208.0f },
{ 394.0f, 404.0f, -4186.0f }, { 256.0f, 440.0f, -3680.0f }, { 243.0f, 515.0f, -3648.0f },
{ 277.0f, 390.0f, -3662.0f }, { 234.0f, 457.0f, -3664.0f }, { 561.0f, 440.0f, -4332.0f },
{ 550.0f, 514.0f, -4346.0f }, { 568.0f, 404.0f, -4304.0f }, { 580.0f, 545.0f, -4350.0f },
{ 552.0f, 382.0f, -4292.0f }, { 528.0f, 462.0f, -4322.0f }, { 558.0f, 440.0f, -4294.0f },
{ 396.0f, 440.0f, -4284.0f }, { 391.0f, 363.0f, -4254.0f }, { 379.0f, 501.0f, -4254.0f },
{ 428.0f, 440.0f, -4246.0f }, { 374.0f, 440.0f, -4282.0f }, { 373.0f, 342.0f, -4290.0f },
{ 353.0f, 570.0f, -4266.0f }, { 359.0f, 440.0f, -4232.0f }, { 399.0f, 216.0f, -4246.0f },
{ 406.0f, 251.0f, -4222.0f }, { 380.0f, 189.0f, -4248.0f }, { 370.0f, 278.0f, -4214.0f },
{ 383.0f, 237.0f, -4266.0f }, { 360.0f, 299.0f, -4320.0f }, { 359.0f, 266.0f, -4280.0f },
{ 354.0f, 211.0f, -4256.0f }, { 391.0f, 238.0f, -4192.0f }, { 340.0f, 294.0f, -4216.0f },
{ 423.0f, 242.0f, -4200.0f }, { 429.0f, 311.0f, -4138.0f },
};
f32 D_i3_801C075C[51] = {
28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f,
28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 320.0f, 320.0f, 320.0f, 320.0f, 40.0f, 40.0f, 40.0f,
40.0f, 40.0f, 40.0f, 40.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f,
28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 28.0f, 10.0f, 28.0f, 28.0f,
};
f32 D_i3_801C0828[51] = {
210.0f, 250.0f, 170.0f, 200.0f, 225.0f, 240.0f, 220.0f, 180.0f, 210.0f, 230.0f, 355.0f, 349.0f, 357.0f,
12.0f, 357.0f, 65.0f, 256.0f, 250.0f, 88.0f, 0.0f, 0.0f, 0.0f, 9.0f, 14.0f, 35.0f, 40.0f,
5.0f, 92.0f, 56.0f, 71.0f, 355.0f, 326.0f, 30.0f, 5.0f, 30.0f, 30.0f, 60.0f, 69.0f, 1.0f,
346.0f, 30.0f, 97.0f, 30.0f, 30.0f, 30.0f, 30.0f, 162.0f, 98.0f, 10.0f, 213.0f, 30.0f,
};
Vec3f D_i3_801C08F4 = { 0.0f, 0.0f, 0.0f };
typedef struct {
char unk_00[0x148];
} UnkStruct_1C4308;
PosRot* D_i3_801C27C0;
PosRot D_i3_801C27C8[4][50];
Vtx D_i3_801C3A88[2][2][28];
f32 D_i3_801C4188;
s32 D_i3_801C4190[10];
f32 D_i3_801C41B8[30];
s32 D_i3_801C4230[28];
s32 D_i3_801C42A0[25];
UnkStruct_1C4308 D_i3_801C4308;
s32 D_i3_801C4450;
s32 D_i3_801C4454;
f32 D_i3_801C4458;
f32 D_i3_801C445C;
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801A8E30.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801A92EC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801A9374.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801A9448.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801A94EC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801A958C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801A95C8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801A96DC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801A9728.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801A9824.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801A99D4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801A9C98.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801A9DE4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801A9ED0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AA20C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AA4BC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AA8E8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AACF8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AB9B0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801ABA40.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AC09C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AC18C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AC274.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AC7C8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AC8A8.s")
// OBJ_EFFECT_366 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AC918.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801ACBB4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801ACE50.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AD328.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AD598.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AD688.s")
// OBJ_ACTOR_255 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AD6C0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801ADF7C.s")
// OBJ_ACTOR_255 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AE168.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AE3AC.s")
// OBJ_ACTOR_256 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AE3D8.s")
// OBJ_ACTOR_256 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AEB44.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AF9FC.s")
// OBJ_ACTOR_257 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801AFA5C.s")
// OBJ_ACTOR_257 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B099C.s")
// OBJ_ACTOR_258 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B0B60.s")
// OBJ_ACTOR_258 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B0EC0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B0F88.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B0FCC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B1008.s")
// OBJ_BOSS_AQ init
void func_i3_801B10F8(Boss* bossAQ);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B10F8.s")
// OBJ_BOSS_AQ action
void func_i3_801B134C(Boss* bossAQ);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B134C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B42AC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B49DC.s")
// OBJ_BOSS_AQ draw
void func_i3_801B4D84(Boss* bossAQ);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B4D84.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B4DDC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B4E94.s")
// OBJ_ACTOR_261 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B504C.s")
// OBJ_ACTOR_261 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B50E8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B5C18.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B5F68.s")
// OBJ_ACTOR_259 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B619C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B6344.s")
// OBJ_ACTOR_259 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B638C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B6E54.s")
// OBJ_ACTOR_262 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B6FF8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B76EC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B7754.s")
// OBJ_ACTOR_262 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B7A24.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B7AF0.s")
// OBJ_ACTOR_260 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B7C78.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B8C50.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B8D7C.s")
// OBJ_ACTOR_260 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B90DC.s")
// OBJ_ACTOR_263 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B91A4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801B9DB0.s")
// OBJ_ACTOR_263 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BA108.s")
// OBJ_ACTOR_264 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BA26C.s")
// OBJ_ACTOR_264 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BA4E4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BA57C.s")
// OBJ_ACTOR_265 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BA6A4.s")
// OBJ_ACTOR_265 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BAD7C.s")
// OBJ_ACTOR_266 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BADF8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BB0C4.s")
// OBJ_ACTOR_266 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BB204.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BB26C.s")
// OBJ_ACTOR_267 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BB79C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BC530.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BC91C.s")
// OBJ_ACTOR_267 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BC930.s")
// OBJ_ACTOR_269 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BC9A0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BD17C.s")
// OBJ_ACTOR_269 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BD264.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BD3B0.s")
// OBJ_ACTOR_268 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BD54C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BDDFC.s")
// OBJ_ACTOR_268 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BDE6C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BDF14.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BE034.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BE0F0.s")
// OBJ_80_126 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BE1FC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BE274.s")
// OBJ_ACTOR_270 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BE3F8.s")
// OBJ_ACTOR_270 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BEB1C.s")
// OBJ_BOSS_301 action
void func_i3_801BEC50(Boss* boss301) {
}
// OBJ_BOSS_301 draw
void func_i3_801BEC5C(Boss* boss301) {
}
// OBJ_ACTOR_188 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BEC68.s")
// OBJ_ACTOR_188 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BEC74.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BEC80.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/func_i3_801BEC8C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_i3/sf_aq/D_i3_801C1A30.s")

1242
src/overlays/ovl_i3/sf_so.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -3226,7 +3226,7 @@ void func_EBFBE0_801A36A8(void) {
break;
case 4:
gGameState = 3;
gGameState = GSTATE_MENU;
D_Timer_8017783C = 2;
D_8017784C = 0;
gDrawMode = 0;
@ -3703,7 +3703,7 @@ void func_EBFBE0_801A4D7C(void) {
void func_EBFBE0_801A4F8C(void) {
D_80178410 = 0;
gGameState = 5;
gGameState = GSTATE_GAME_OVER;
D_80177868 = 0;
D_Timer_8017783C = 2;
gDrawMode = DRAWMODE_0;
@ -4366,7 +4366,7 @@ void func_EBFBE0_801A659C(void) {
}
void func_EBFBE0_801A6628(void) {
gGameState = 7;
gGameState = GSTATE_PLAY;
D_Timer_8017783C = 2;
D_80177854 = 0;
gDrawMode = DRAWMODE_0;

View File

@ -408,7 +408,7 @@ void func_EBFBE0_80191B20(void) {
if ((D_80161A34 == 5) || (D_80161A34 == 8)) {
if (D_80161A34 == 8) {
D_80177B90[gCurrentPlanet] = 13;
if (D_800D3180[9] == 1) {
if (D_800D3180[LEVEL_VENOM_ANDROSS] == 1) {
gSaveFile.save.data.planet[SAVE_SLOT_VENOM_1].played = 1;
if (var_v0_2 != 0) {
gSaveFile.save.data.planet[SAVE_SLOT_VENOM_1].expertClear = 1;
@ -416,7 +416,7 @@ void func_EBFBE0_80191B20(void) {
gSaveFile.save.data.planet[SAVE_SLOT_VENOM_1].normalClear = 1;
}
Save_Write();
} else if (D_800D3180[9] == 2) {
} else if (D_800D3180[LEVEL_VENOM_ANDROSS] == 2) {
D_80177BB0[gCurrentPlanet] = 1;
gSaveFile.save.data.planet[SAVE_SLOT_VENOM_2].played = 1;
if (var_v0_2) {

View File

@ -174,7 +174,7 @@
- [0x36930, c, fox_beam]
- [0x3E6F0, c, fox_bg]
- [0x43AC0, c, fox_43AC0]
- [0x43E80, c, sf_43E80]
- [0x43E80, c, fox_43E80]
- [0x496C0, c, fox_demo]
- [0x52730, c, fox_display]
- [0x59780, c, fox_load]
@ -267,7 +267,7 @@
- [0xCA7C0, .data, fox_beam]
- [0xCA830, .data, fox_bg]
- [0xCAA90, .data, fox_43AC0]
- [0xCAB00, .data, sf_43E80]
- [0xCAB00, .data, fox_43E80]
- [0xCAB60, .data, fox_demo]
- [0xCAE20, .data, fox_display]
- [0xCAFB0, .data, fox_load]
@ -280,7 +280,7 @@
- [0xD31D0, .data, fox_std_lib]
- [0xD3460, .data, fox_game]
- [0xD3520, .data, fox_A4290]
- [0xD3B50, data, fox_play]
- [0xD3B50, .data, fox_play]
- [0xD3DB0, .data, fox_rcp]
- [0xD5670, .data, fox_radio]
- [0xD5680, .data, fox_reset]
@ -292,7 +292,7 @@
- [0xD5CF0, .rodata, fox_beam]
- [0xD5F90, .rodata, fox_bg]
- [0xD61D0, .rodata, fox_43AC0]
- [0xD61F0, .rodata, sf_43E80]
- [0xD61F0, .rodata, fox_43E80]
- [0xD6350, .rodata, fox_demo]
- [0xD69A0, .rodata, fox_display]
- [0xD6BA0, .rodata, fox_load]

View File

@ -41,32 +41,32 @@
- [0xE16930, .rodata, E0FF10]
- { start: 0xE16C50, type: bss, vram: 0x80195D70, name: ovl_E08400 }
- name: ovl_E16C50
- name: ovl_i3
type: code
dir: overlays/ovl_E16C50
dir: overlays/ovl_i3
start: 0xE16C50
vram: 0x80187520
bss_size: 0x2220
exclusive_ram_id: overlay
symbol_name_format: E16C50_$VRAM
symbol_name_format: i3_$VRAM
subsegments:
- [0xE16C50, c, E16C50]
- [0xE16C50, c, fox_i3]
- [0xE16C60, c, fox_a6]
- [0xE1F680, c, sf_zo]
- [0xE1F680, c, fox_zo]
- [0xE2DF20, c, sf_so]
- [0xE38560, c, sf_aq]
- [0xE4E3D0, .data, E16C50]
- [0xE4E3D0, .data, fox_i3]
- [0xE4E3E0, .data, fox_a6]
- [0xE4EC90, .data, sf_zo]
- [0xE4EC90, .data, fox_zo]
- [0xE4F010, .data, sf_so]
- [0xE4F290, .data, sf_aq]
- [0xE50030, .rodata, fox_a6]
- [0xE504E0, .rodata, sf_zo]
- [0xE504E0, .rodata, fox_zo]
- [0xE50C00, .rodata, sf_so]
- [0xE51160, .rodata, sf_aq]
- { start: 0xE51970, type: .bss, vram: 0x801C2240, name: E16C50 }
- { start: 0xE51970, type: .bss, vram: 0x801C2240, name: fox_i3 }
- { start: 0xE51970, type: .bss, vram: 0x801C2250, name: fox_a6 }
- { start: 0xE51970, type: .bss, vram: 0x801C2330, name: sf_zo }
- { start: 0xE51970, type: .bss, vram: 0x801C2330, name: fox_zo }
- { start: 0xE51970, type: .bss, vram: 0x801C2740, name: sf_so }
- { start: 0xE51970, type: .bss, vram: 0x801C27C0, name: sf_aq }