Area 6 decomp, Object_408 -> boss, more overlay symbols in main (#70)

* 408

* more stuff

* brutal matches

* data and such

* gPlayer

* names and boss and such

* cat

* forgot something
This commit is contained in:
petrie911 2024-01-06 16:39:23 -06:00 committed by GitHub
parent c36c713da5
commit a0ec7a5516
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
35 changed files with 4997 additions and 1818 deletions

View File

@ -95,12 +95,13 @@ void Mio0_Decompress(void* header, u8* dst);
s32 vsprintf(char* dst, const char* fmt, va_list args);
// fox_360
void func_8002ED60(Player*);
void func_8002E3E0(Object_2F4*);
void func_8002E548(void);
void func_8002E5E0(Object_408*);
void func_8002E604(Object_408*);
void func_8002E628(Object_408*);
void func_8002E64C(Object_408*);
void func_8002E5E0(Boss*);
void func_8002E604(Boss*);
void func_8002E628(Boss*);
void func_8002E64C(Boss*);
void func_8002E670(Object_2F4*);
void func_8002E694(Object_2F4*);
void func_8002E6B8(Object_2F4*);
@ -129,19 +130,23 @@ void func_80040CE4(void);
void func_80042D38(void);
// fox_43AC0
void func_80042FAC(Object_408 *);
void func_80042FB8(Object_408*);
void func_80042FC4(Object_408*);
void func_80042FD0(Object_408 *);
void func_80042FDC(Object_408*);
void func_80042FE8(Object_408*);
void func_8004319C(Player* player, f32 arg1, f32 arg2, f32 arg3);
void func_80042EC0(Boss* boss);
void func_80042FAC(Boss* boss);
void func_80042FB8(Boss* boss);
void func_80042FC4(Boss* boss);
void func_80042FD0(Boss* boss);
void func_80042FDC(Boss* boss);
void func_80042FE8(Boss* boss);
// fox_43E80
void func_80043468(Player* player);
void func_800444BC(Player * player);
void func_80047504(Player * player);
void func_80046358(Player*);
// sf_496E0
void func_80048AC0(s32 teamId);
void func_80049C0C(Player *);
void func_8004A52C(Player *);
void func_8004AAF4(Player *);
@ -213,7 +218,7 @@ void Object_SetInfo(ObjectInfo*, u32);
void Object_80_Initialize(Object_80*);
void Object_4C_Initialize(Object_4C*);
void Object_2F4_Initialize(Object_2F4*);
void Object_408_Initialize(Object_408*);
void Boss_Initialize(Boss*);
void Item_Initialize(Item*);
void Object_8C_Initialize(Object_8C*);
void func_80061B68(void);
@ -261,12 +266,12 @@ void func_80068FE0(Object_4C*);
void func_800690D0(s32, ObjectId);
void func_80069924(Object_8C *);
void func_800693E8(Object_2F4 *);
void func_80069658(Object_408 *);
void func_80069658(Boss *);
void func_800696F8(Object_80 *);
void func_80069858(Object_4C *);
void func_80069A10(Item *);
void Object_2F4_Update(Object_2F4*);
void Object_408_Update(Object_408 *);
void Boss_Update(Boss *);
void Object_80_Update(Object_80 *);
void Object_4C_Update(Object_4C *);
void Item_Update(Item *);
@ -433,6 +438,7 @@ void func_80084488(s32);
void func_80084688(s32, s32);
// fox_hud
void func_80084B94(s32);
void func_800857DC(f32, f32, f32, f32);
void func_80085890(f32, f32, f32, f32);
@ -440,6 +446,7 @@ void func_80086110(f32, f32, s32);
void func_80086664(f32, f32);
void func_800869A0(f32, f32, s32, f32, s32, s32);
void func_80087530(f32, f32, s32);
void func_80088564(void);
void func_8008865C(void);
void func_8008AD94(void);
void func_8008B5B0(f32 x, f32 y);
@ -458,13 +465,16 @@ void func_8008E51C(s32* , f32);
void func_8008E9EC(f32, f32);
void func_8008EA14(f32, f32);
void func_8008FA84(void);
void func_8008FE78(Object_408*);
void func_8008FFF0(Object_408*, s32);
void func_8008FE78(Boss*);
void func_8008FFF0(Boss*, s32);
bool func_8009092C(Object_2F4*);
void func_800907C4(Object_408*);
void func_800907C4(Boss*);
s32 func_800915FC(Object_2F4*);
void func_80092D48(Object_2F4 *);
void func_80092EC0(Object_2F4*);
void func_80093164(Object_2F4*);
void func_800935E8(Player*);
void func_80095604(Player*);
void func_80094954(Object_8C*);
void func_80094BBC(Object_8C*);
void func_80094D20(f32, f32);
@ -496,6 +506,7 @@ void func_800A3CA0(void);
// fox_play
s32 Play_CheckMedalStatus(u16);
s32 Play_GetMaxShields(void);
void func_800A6028(Vec3f*, u32);
void func_800A5844(void);
void func_800A5D6C(void);
void func_800A5FA0(Vec3f* , u32 , s32 );
@ -510,6 +521,10 @@ void func_800AA800(Player *player);
void func_800ACDC0(Player *, PlayerShot *, PlayerShotId );
void func_800B0F50(Player *);
void func_800B44C4(Player *);
void func_800AB334(void);
void func_800AE278(Player*);
void func_800B2130(Player*);
void func_800B2574(Player*);
void func_800B5FBC(Player *, s32 , s32 );
void func_800B63BC(Player *, s32);
void func_800B6848(Player *, s32 );
@ -554,72 +569,173 @@ s32 Save_Read(void);
void func_EFFA40_80187520(s32, void*);
void func_DF4260_80187520(s32, void*);
void func_DF4260_80187530(Object_80*);
void func_DF4260_8018753C(Object_80*);
void func_DF4260_801878D8(Object_408 *);
void func_DF4260_801878D8(Boss *);
void func_DF4260_8018B0B4(Object_2F4 *);
void func_DF4260_8018BE7C(Object_408 *);
void func_DF4260_8018ED78(Object_408*);
void func_DF4260_8018BE7C(Boss *);
void func_DF4260_8018ED78(Boss*);
void func_DF4260_801924A8(Object_80* );
void func_DF4260_8019250C(Object_2F4 *);
void func_DF4260_80192CB0(Object_2F4 *);
void func_DF4260_80192EA4(Object_2F4 *);
void func_DF4260_801933B4(Object_2F4 *);
void func_DF4260_801935CC(Object_408 *);
void func_DF4260_80198310(Object_408 *);
void func_DF4260_80198594(Object_408 *);
void func_DF4260_801935CC(Boss *);
void func_DF4260_80198310(Boss *);
void func_DF4260_80198594(Boss *);
void func_DF4260_801988E0(void);
void func_DF4260_80198C50(void);
void func_DF4260_8019949C(void);
void func_DF4260_8019864C(PlayerShot*);
void func_E08400_80187520(s32, void*);
void func_E08400_80187B08(Object_2F4 *);
void func_E08400_80188A40(Object_408 *);
void func_E08400_80188A40(Boss *);
void func_E08400_8018CCF8(Object_2F4 *);
void func_E16C50_801ABA40(PlayerShot*);
void func_E16C50_801AC8A8(f32, f32, f32, f32, s32);
void func_E16C50_80187754(Object_408 *);
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_E16C50_801900FC(Vec3f*, Vec3f*, f32, f32, f32, s32, f32, s32, s32);
void func_E16C50_80190430(Object_2F4 *);
void func_E16C50_801904CC(Object_2F4*);
void func_E16C50_80190A00(Object_2F4*);
void func_E16C50_80190F08(Object_2F4 *);
void func_E16C50_80191010(Object_2F4*);
void func_E16C50_801914C4(Object_2F4*);
void func_E16C50_801915A4(Object_2F4 *);
void func_E16C50_80191680(Object_2F4*);
void func_E16C50_80191B4C(Object_2F4*);
void func_E16C50_80191BB8(Object_2F4 *);
void func_E16C50_80191BC4(Object_2F4*);
void func_E16C50_80191DB0(Object_2F4*);
void func_E16C50_801932AC(Object_408 *);
void func_E16C50_80191DB0(Object_2F4*);
void func_E16C50_80191FFC(Object_2F4*);
void func_E16C50_80192094(Object_2F4*);
void func_E16C50_80192834(Object_2F4*);
void func_E16C50_80192C18(Object_2F4*);
void func_E16C50_80192E64(Object_2F4*);
void func_E16C50_80193240(Object_2F4*);
void func_E16C50_801932AC(Boss*);
void func_E16C50_801949DC(Boss*);
void func_E16C50_80194A84(Boss*);
void func_E16C50_8019969C(Object_2F4*);
void func_E16C50_8019983C(Object_2F4*);
void func_E16C50_80199A28(Object_2F4*);
void func_E16C50_80199E24(Object_2F4*);
void func_E16C50_80199F10(Object_2F4*);
void func_E16C50_8019A1FC(Object_2F4*);
void func_E16C50_8019A5D4(Object_2F4*);
void func_E16C50_8019ACCC(Object_2F4*);
void func_E16C50_8019B1F0(Object_2F4 *);
void func_E16C50_8019B548(Object_2F4*);
void func_E16C50_8019B7DC(Object_2F4*);
void func_E16C50_8019B810(Object_2F4 *);
void func_E16C50_8019B854(Object_2F4*);
void func_E16C50_8019BDE0(Object_2F4*);
void func_E16C50_8019BE48(Object_2F4*);
void func_E16C50_8019C1CC(Object_2F4*);
void func_E16C50_8019C200(Object_2F4 *);
void func_E16C50_8019C454(Object_2F4*);
void func_E16C50_8019C83C(Object_2F4*);
void func_E16C50_8019CBEC(Object_2F4*);
void func_E16C50_8019CE58(Object_2F4*);
void func_E16C50_8019D060(Object_2F4 *);
void func_E16C50_8019D15C(Object_2F4*);
void func_E16C50_8019D3C4(Object_2F4*);
void func_E16C50_8019D428(Player* player);
void func_E16C50_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(Object_2F4*);
void func_E16C50_8019F20C(Object_2F4*);
void func_E16C50_8019F7AC(Object_2F4*);
void func_E16C50_801A003C(Object_2F4*);
void func_E16C50_801A0120(Object_8C*);
void func_E16C50_801A0AF0(Object_8C*);
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_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(Object_8C*);
void func_E16C50_801ACBB4(void);
void func_E16C50_801ACE50(Player*);
void func_E16C50_801AD328(Player*);
void func_E16C50_801AD688(Object_2F4 *);
void func_E16C50_801AD6C0(Object_2F4*);
void func_E16C50_801AE168(Object_2F4*);
void func_E16C50_801AE3AC(Object_2F4 *);
void func_E16C50_801AE3D8(Object_2F4*);
void func_E16C50_801AEB44(Object_2F4*);
void func_E16C50_801AF9FC(Object_2F4 *);
void func_E16C50_801B10F8(Object_408 *);
void func_E16C50_801AFA5C(Object_2F4*);
void func_E16C50_801B099C(Object_2F4*);
void func_E16C50_801B0B60(Object_2F4*);
void func_E16C50_801B0EC0(Object_2F4*);
void func_E16C50_801B10F8(Boss*);
void func_E16C50_801B134C(Boss*);
void func_E16C50_801B4D84(Boss*);
void func_E16C50_801B504C(Object_2F4*);
void func_E16C50_801B50E8(Object_2F4*);
void func_E16C50_801B619C(Object_2F4*);
void func_E16C50_801B6344(Object_2F4 *);
void func_E16C50_801B638C(Object_2F4*);
void func_E16C50_801B6E54(Object_2F4 *);
void func_E16C50_801B6FF8(Object_2F4*);
void func_E16C50_801B7A24(Object_2F4*);
void func_E16C50_801B7AF0(Object_2F4 *);
void func_E16C50_801B7C78(Object_2F4*);
void func_E16C50_801B90DC(Object_2F4*);
void func_E16C50_801B91A4(Object_2F4*);
void func_E16C50_801BA108(Object_2F4*);
void func_E16C50_801BA26C(Object_2F4*);
void func_E16C50_801BA4E4(Object_2F4*);
void func_E16C50_801BA57C(Object_2F4 *);
void func_E16C50_801BA6A4(Object_2F4*);
void func_E16C50_801BAD7C(Object_2F4*);
void func_E16C50_801BADF8(Object_2F4*);
void func_E16C50_801BB204(Object_2F4*);
void func_E16C50_801BB26C(Object_2F4 *);
void func_E16C50_801BB79C(Object_2F4*);
void func_E16C50_801BC930(Object_2F4*);
void func_E16C50_801BC9A0(Object_2F4*);
void func_E16C50_801BD264(Object_2F4*);
void func_E16C50_801BD54C(Object_2F4*);
void func_E16C50_801BDE6C(Object_2F4*);
void func_E16C50_801BE1FC(Object_80*);
void func_E16C50_801BE3F8(Object_2F4*);
void func_E16C50_801BEB1C(Object_2F4*);
void func_E16C50_801BEC50(Boss*);
void func_E16C50_801BEC5C(Boss*);
void func_E16C50_801BEC68(Object_2F4*);
void func_E16C50_801BEC74(Object_2F4*);
void func_E16C50_801BEC80(Player*);
void func_E51970_80187520(s32, void*);
void func_E51970_80187960(Object_2F4*);
void func_E51970_8018BA2C(Object_58**);
void func_E51970_8018C158(Object_2F4*);
void func_E51970_80191ED8(Object_58**);
void func_E51970_80192264(void);
void func_E51970_80193CA4(Object_408 *);
void func_E51970_80193CA4(Boss *);
void func_E51970_80198594(Object_2F4*);
void func_E51970_80198930(Object_58**);
void func_E51970_80199900(Object_2F4 *, s32);
@ -627,7 +743,9 @@ void func_E51970_80199C60(Object_2F4*);
void func_E51970_8019AB8C(Object_2F4*);
void func_E51970_8019EA68(Object_58**);
void func_E6A810_8018769C(Object_2F4 *);
void func_E6A810_80187520(s32, void*);
void func_E6A810_8018769C(Player *);
void func_E6A810_80188F30(void);
void func_E6A810_80189B80(Object_2F4 *);
void func_E6A810_8018ADC4(Object_2F4 *);
@ -639,8 +757,8 @@ void func_E6A810_8018E3CC(Object_2F4 *);
void func_E6A810_8018E5E8(Object_2F4 *);
void func_E6A810_8018EFF0(Object_4C *);
void func_E6A810_8018F0D8(Object_80 *);
void func_E6A810_8018FA48(Object_408 *);
void func_E6A810_801990DC(Object_408 *);
void func_E6A810_8018FA48(Boss *);
void func_E6A810_801990DC(Boss *);
void func_E6A810_80199920(void);
void func_E6A810_80199F8C(Object_2F4 *);
void func_E6A810_801A3E70(Object_2F4 *);
@ -657,24 +775,207 @@ void func_E6A810_801B58AC(Gfx **, f32);
bool func_E6A810_801B6AEC(f32, f32, f32);
void func_E6A810_801B6E20(f32, f32, f32 *, f32 *, f32 *);
void func_E6A810_801AD144(PlayerShot*);
void func_E6A810_80189120(f32 x, f32 y, f32 z, f32, f32);
bool func_E6A810_801A3C20(f32);
s32 func_E6A810_801A3300(Player*, f32, f32);
s32 func_E6A810_801A3790(Player*, f32, f32);
void func_E9F1D0_8018769C(Object_2F4*);
void func_E9F1D0_80187520(s32, void*);
void func_E9F1D0_801878A8(Object_58**);
void func_E9F1D0_801888F4(Object_2F4 *);
void func_E9F1D0_80189214(void);
void func_E9F1D0_8018BDD8(void);
void func_E9F1D0_8018C390(Player*);
void func_E9F1D0_8018D16C(Object_408 *);
void func_E9F1D0_8018D16C(Boss *);
void func_E9F1D0_801961AC(Object_58**);
void func_E9F1D0_80196314(Object_2F4*);
void func_E9F1D0_80196968(Object_58**);
void func_E9F1D0_80197CC4(Object_408 *);
void func_E9F1D0_80197CC4(Boss *);
void func_E9F1D0_801A3BD4(Object_2F4*);
void func_E9F1D0_801A4CB0(Object_2F4*);
void func_E9F1D0_801A5AD4(Player*);
void func_E9F1D0_801A5FC0(Player*);
void func_E9F1D0_801A6164(Player *);
void func_EBFBE0_80187520(s32, void*);
void func_EF0260_8018A96C(void);
void func_EF0260_8018AAC4(void);
// void func_DF4260_801875A4(Object*);
// void func_DF4260_80189058(Object*);
// void func_DF4260_8018AA74(Object*);
// void func_DF4260_8018AED0(Object*);
// void func_DF4260_8018B15C(Object*);
// void func_DF4260_8018B418(Object*);
// void func_DF4260_8018B58C(Object*);
// void func_DF4260_8018BAAC(Object*);
// void func_DF4260_8018BBA4(Object*);
// void func_DF4260_8018BBF8(Object*);
// void func_DF4260_8018BD7C(Object*);
// void func_DF4260_8018C19C(Object*);
// void func_DF4260_8018DDAC(Object*);
// void func_DF4260_8018E290(Object*);
// void func_DF4260_8018E76C(Object*);
// void func_DF4260_8018ECAC(Object*);
// void func_DF4260_8018ED78(Object*);
// void func_DF4260_8018EE84(Object*);
// void func_DF4260_8018EF90(Object*);
// void func_DF4260_8018F044(Object*);
// void func_DF4260_8018F31C(Object*);
// void func_DF4260_801922DC(Object*);
// void func_DF4260_80192358(Object*);
// void func_DF4260_801923C0(Object*);
// void func_DF4260_8019243C(Object*);
// void func_DF4260_80192518(Object*);
// void func_DF4260_80192CD4(Object*);
// void func_DF4260_80192E2C(Object*);
// void func_DF4260_80192EB0(Object*);
// void func_DF4260_801933DC(Object*);
// void func_DF4260_801934D0(Object*);
// void func_DF4260_80193540(Object*);
// void func_DF4260_80194398(Object*);
// void func_DF4260_801985E4(Object*);
// void func_DF4260_80198968(Object*);
// void func_E08400_8018756C(Object*);
// void func_E08400_80187650(Object*);
// void func_E08400_801877C4(Object*);
// void func_E08400_8018795C(Object*);
// void func_E08400_80188344(Object*);
// void func_E08400_801887D0(Object*);
// void func_E08400_80188CAC(Object*);
// void func_E08400_80188FAC(Object*);
// void func_E08400_80189114(Object*);
// void func_E08400_8018978C(Object*);
// void func_E08400_8018BACC(Object*);
// void func_E08400_8018D9EC(Object*);
// void func_E08400_8018DA6C(Object*);
// void func_E08400_8018DAEC(Object*);
// void func_E08400_8018DB6C(Object*);
// void func_E08400_8018DBEC(Object*);
// void func_E08400_8018DCE4(Object*);
// void func_E08400_8018DE14(Object*);
// void func_E08400_8018F330(Object*);
// void func_E08400_8018F884(Object*);
// void func_E08400_8018FE38(Object*);
// void func_E08400_8018FF20(Object*);
// void func_E08400_8018FF84(Object*);
// void func_E08400_80190020(Object*);
// void func_E08400_80190078(Object*);
// void func_E08400_80193434(Object*);
// void func_E51970_80188AD0(Object*);
// void func_E51970_80188FE4(Object*);
// void func_E51970_80191054(Object*);
// void func_E51970_80191180(Object*);
// void func_E51970_801912FC(Object*);
// void func_E51970_80191AFC(Object*);
// void func_E51970_80192984(Object*);
// void func_E51970_80192A68(Object*);
// void func_E51970_80193718(Object*);
// void func_E51970_80193B1C(Object*);
// void func_E51970_801946C4(Object*);
// void func_E51970_801968F4(Object*);
// void func_E51970_8019E234(Object*);
// void func_E51970_8019E3A8(Object*);
// void func_E51970_8019E454(Object*);
// void func_E51970_8019E98C(Object*);
// void func_E6A810_80188F60(Object*);
// void func_E6A810_80188FA8(Object*);
// void func_E6A810_80189194(Object*);
// void func_E6A810_801895B8(Object*);
// void func_E6A810_80189AFC(Object*);
// void func_E6A810_80189CC8(Object*);
// void func_E6A810_8018A1C0(Object*);
// void func_E6A810_8018A544(Object*);
// void func_E6A810_8018AABC(Object*);
// void func_E6A810_8018AB44(Object*);
// void func_E6A810_8018B268(Object*);
// void func_E6A810_8018B6AC(Object*);
// void func_E6A810_8018B9D0(Object*);
// void func_E6A810_8018BE84(Object*);
// void func_E6A810_8018C8A8(Object*);
// void func_E6A810_8018E2D8(Object*);
// void func_E6A810_8018E54C(Object*);
// void func_E6A810_8018E5B4(Object*);
// void func_E6A810_8018E5F8(Object*);
// void func_E6A810_8018EF14(Object*);
// void func_E6A810_8018F038(Object*);
// void func_E6A810_8018F4D8(Object*);
// void func_E6A810_8018F8B8(Object*);
// void func_E6A810_80197A94(Object*);
// void func_E6A810_801982A8(Object*);
// void func_E6A810_8019C778(Object*);
// void func_E6A810_8019CE88(Object*);
// void func_E6A810_8019D700(Object*);
// void func_E6A810_8019E410(Object*);
// void func_E6A810_8019EA60(Object*);
// void func_E6A810_8019EE68(Object*);
// void func_E6A810_8019FF9C(Object*);
// void func_E6A810_801A0BD8(Object*);
// void func_E6A810_801A12C4(Object*);
// void func_E6A810_801A23AC(Object*);
// void func_E6A810_801A2A78(Object*);
// void func_E6A810_801A2B24(Object*);
// void func_E6A810_801A2DD8(Object*);
// void func_E6A810_801A3240(Object*);
// void func_E6A810_801A3E98(Object*);
// void func_E6A810_801A43BC(Object*);
// void func_E6A810_801A46A0(Object*);
// void func_E6A810_801A4A64(Object*);
// void func_E6A810_801A4B24(Object*);
// void func_E6A810_801A54E8(Object*);
// void func_E6A810_801A57D0(Object*);
// void func_E6A810_801A5AF0(Object*);
// void func_E6A810_801A5B4C(Object*);
// void func_E6A810_801A5D68(Object*);
// void func_E6A810_801A5E54(Object*);
// void func_E6A810_801A5F90(Object*);
// void func_E6A810_801A5FD0(Object*);
// void func_E6A810_801A6100(Object*);
// void func_E6A810_801A6144(Object*);
// void func_E6A810_801A6540(Object*);
// void func_E6A810_801A6608(Object*);
// void func_E6A810_801A67C8(Object*);
// void func_E6A810_801A68EC(Object*);
// void func_E6A810_801A7E7C(Object*);
// void func_E6A810_801AC294(Object*);
// void func_E6A810_801AC438(Object*);
// void func_E6A810_801AD6F0(Object*);
// void func_E6A810_801ADAC8(Object*);
// void func_E6A810_801ADD68(Object*);
// void func_E6A810_801AE2C0(Object*);
// void func_E6A810_801AE87C(Object*);
// void func_E6A810_801AEAA0(Object*);
// void func_E6A810_801AEC04(Object*);
// void func_E6A810_801AEEFC(Object*);
// void func_E9F1D0_801880E4(Object*);
// void func_E9F1D0_80188448(Object*);
// void func_E9F1D0_80188528(Object*);
// void func_E9F1D0_80188660(Object*);
// void func_E9F1D0_8018933C(Object*);
// void func_E9F1D0_801893B8(Object*);
// void func_E9F1D0_80189470(Object*);
// void func_E9F1D0_80189724(Object*);
// void func_E9F1D0_80189B70(Object*);
// void func_E9F1D0_8018B8C0(Object*);
// void func_E9F1D0_8018CAD4(Object*);
// void func_E9F1D0_8018CF98(Object*);
// void func_E9F1D0_8018DBF0(Object*);
// void func_E9F1D0_801928C8(Object*);
// void func_E9F1D0_80192E94(Object*);
// void func_E9F1D0_80193244(Object*);
// void func_E9F1D0_80193380(Object*);
// void func_E9F1D0_8019350C(Object*);
// void func_E9F1D0_8019356C(Object*);
// void func_E9F1D0_801935D4(Object*);
// void func_E9F1D0_80196210(Object*);
// void func_E9F1D0_80196288(Object*);
// void func_E9F1D0_80197C64(Object*);
// void func_E9F1D0_80197CB8(Object*);
// void func_E9F1D0_8019C888(Object*);
// void func_E9F1D0_8019E2C4(Object*);
// void func_E9F1D0_801A4E44(Object*);
// void func_E9F1D0_801A52B8(Object*);
#endif

View File

@ -16,8 +16,8 @@
#define GDL(dl) gSPDisplayList(gMasterDisp++, dl) // 06000000 dl
#define GPC(r, g, b, a) gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, r, g, b, a) // FA000000 RRGGBBAA
#define GEC(r, g, b, a) gDPSetEnvColor(gMasterDisp++, r, g, b, a) // FB000000 RRGGBBAA
#define GSGM_BACK(mode) gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK) // B7000000 00002000, most common geometry mode changed
#define GCGM_BACK(mode) gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK) // B6000000 00002000
#define GSGM_BACK() gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK) // B7000000 00002000, most common geometry mode changed
#define GCGM_BACK() gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK) // B6000000 00002000
#define gSPSetOtherModeHi(pkt, settings) gSPSetOtherMode(pkt, G_SETOTHERMODE_H, G_MDSFT_BLENDMASK, 24, settings)
#define gsSPSetOtherModeHi(settings) gsSPSetOtherMode(G_SETOTHERMODE_H, G_MDSFT_BLENDMASK, 24, settings)

View File

@ -0,0 +1,83 @@
#ifndef PREVENT_BSS_REORDERING_H
#define PREVENT_BSS_REORDERING_H
/**
* To determine variable order for .bss, the compiler sorts variables by their
* "name index" mod 256, where name index is something that, with -g, gets
* incremented by struct and variable declarations, typedefs, and file markers,
* among else. (Without -g, only variable declarations affects the index.)
* This file contains enough dummy declarations to bump the index by 128.
* Including it, or removing the include, should fix bss reordering problems
* for a file, assuming the name index distance between its first and last bss
* variable is at most 128.
* Note that if a variable is declared "extern" within a header file, the name
* index is taken at that point of the extern declaration. Thus, this include
* must come before any such header.
*/
struct Dummy0 { int x; };
struct Dummy1 { int x; };
struct Dummy2 { int x; };
struct Dummy3 { int x; };
struct Dummy4 { int x; };
struct Dummy5 { int x; };
struct Dummy6 { int x; };
struct Dummy7 { int x; };
struct Dummy8 { int x; };
struct Dummy9 { int x; };
struct Dummy10 { int x; };
struct Dummy11 { int x; };
struct Dummy12 { int x; };
struct Dummy13 { int x; };
struct Dummy14 { int x; };
struct Dummy15 { int x; };
struct Dummy16 { int x; };
struct Dummy17 { int x; };
struct Dummy18 { int x; };
struct Dummy19 { int x; };
struct Dummy20 { int x; };
struct Dummy21 { int x; };
struct Dummy22 { int x; };
struct Dummy23 { int x; };
struct Dummy24 { int x; };
struct Dummy25 { int x; };
struct Dummy26 { int x; };
struct Dummy27 { int x; };
struct Dummy28 { int x; };
struct Dummy29 { int x; };
struct Dummy30 { int x; };
struct Dummy31 { int x; };
struct Dummy32 { int x; };
struct Dummy33 { int x; };
struct Dummy34 { int x; };
struct Dummy35 { int x; };
struct Dummy36 { int x; };
struct Dummy37 { int x; };
struct Dummy38 { int x; };
struct Dummy39 { int x; };
struct Dummy40 { int x; };
struct Dummy41 { int x; };
struct Dummy42 { int x; };
struct Dummy43 { int x; };
struct Dummy44 { int x; };
struct Dummy45 { int x; };
struct Dummy46 { int x; };
struct Dummy47 { int x; };
struct Dummy48 { int x; };
struct Dummy49 { int x; };
struct Dummy50 { int x; };
struct Dummy51 { int x; };
struct Dummy52 { int x; };
struct Dummy53 { int x; };
struct Dummy54 { int x; };
struct Dummy55 { int x; };
struct Dummy56 { int x; };
struct Dummy57 { int x; };
struct Dummy58 { int x; };
struct Dummy59 { int x; };
struct Dummy60 { int x; };
struct Dummy61 { int x; };
struct Dummy62 { int x; };
typedef int Dummy63;
#endif

View File

@ -47,12 +47,12 @@ typedef enum {
/* 1 */ COL1_1, // OBJ_80_39
/* 2 */ COL1_2,
/* 3 */ COL1_3, // OBJ_UNK_1000
/* 4 */ COL1_4, // OBJ_408_308
/* 4 */ COL1_4, // OBJ_BOSS_308
/* 5 */ COL1_5, // OBJ_80_149
/* 6 */ COL1_6, // OBJ_80_150
/* 7 */ COL1_7, // OBJ_408_309
/* 8 */ COL1_8, // OBJ_408_313
/* 9 */ COL1_9, // OBJ_408_312
/* 7 */ COL1_7, // OBJ_BOSS_309
/* 8 */ COL1_8, // OBJ_BOSS_313
/* 9 */ COL1_9, // OBJ_BOSS_312
} CollisonId_1;
typedef enum {
@ -217,55 +217,22 @@ typedef struct {
/* 0x05A */ s16 timer_05A;
/* 0x05C */ s16 timer_05C;
/* 0x05E */ u8 unk_05E;
/* 0x05F */ char pad5F[3];
/* 0x060 */ s16 unk_060;
/* 0x062 */ s8 unk_062;
/* 0x063 */ char pad63[1];
/* 0x064 */ s16 unk_064;
/* 0x066 */ s16 unk_066;
/* 0x068 */ f32 unk_068;
/* 0x06C */ Vec3f vel;
/* 0x078 */ char pad78[0xC];
/* 0x06C */ Vec3f vel;
/* 0x078 */ f32 unk_078;
/* 0x07C */ f32 unk_07C;
/* 0x080 */ char pad80[4];
/* 0x084 */ f32 gravity;
/* 0x088 */ s16 unk_088;
/* 0x08A */ s16 unk_08A;
/* 0x08C */ char pad8C[6];
/* 0x092 */ u16 unk_092;
/* 0x094 */ char pad94[0x12];
/* 0x0A6 */ s16 unk_0A6;
/* 0x0A8 */ char padA8[6];
/* 0x0AE */ s16 unk_0AE;
/* 0x0B0 */ char padB0[0x16];
/* 0x0C6 */ u16 unk_0C6;
/* 0x0C8 */ char padC8[1];
/* 0x0C9 */ u8 unk_0C9;
/* 0x0CA */ char padCA[6];
/* 0x0D0 */ s16 unk_0D0;
/* 0x0D2 */ char padD2[4];
/* 0x0D6 */ s16 unk_0D6;
/* 0x0D8 */ char padD8[4];
/* 0x0DC */ f32 unk_0DC;
/* 0x0E0 */ f32 unk_0E0;
/* 0x0E4 */ f32 unk_0E4;
/* 0x0E8 */ f32 unk_0E8;
/* 0x0EC */ f32 unk_0EC;
/* 0x0F0 */ f32 unk_0F0;
/* 0x0F4 */ f32 unk_0F4;
/* 0x0F8 */ f32 unk_0F8;
/* 0x0FC */ f32 unk_0FC;
/* 0x100 */ Vec3f unk_100;
/* 0x10C */ char pad10C[4];
/* 0x110 */ f32 unk_110;
/* 0x114 */ f32 unk_114;
/* 0x118 */ char pad118[0x7C];
/* 0x194 */ f32 unk_194;
/* 0x198 */ f32 unk_198;
/* 0x19C */ f32 unk_19C;
/* 0x1A0 */ char pad1A0[0x168];
/* 0x308 */ Vec3f unk_308;
/* 0x314 */ char pad314[0xE4];
/* 0x088 */ s16 swork[40];
/* 0x0D8 */ f32 fwork[50];
/* 0x1A0 */ Vec3f vwork[50];
/* 0x3F8 */ f32 unk_3F8;
/* 0x3FC */ Vec3f sfxPos;
} Object_408; // size = 0x408
} Boss; // size = 0x408
typedef struct {
/* 0x000 */ Object obj;
@ -652,36 +619,36 @@ typedef enum{
/* 289 */ OBJ_2F4_289,
/* 290 */ OBJ_2F4_290,
/* 291 */ OBJ_2F4_291,
/* 292 */ OBJ_408_292,
/* 293 */ OBJ_408_293,
/* 294 */ OBJ_408_294,
/* 295 */ OBJ_408_295,
/* 296 */ OBJ_408_296,
/* 297 */ OBJ_408_297,
/* 298 */ OBJ_408_298,
/* 299 */ OBJ_408_299,
/* 300 */ OBJ_408_300,
/* 301 */ OBJ_408_301,
/* 302 */ OBJ_408_302,
/* 303 */ OBJ_408_303,
/* 304 */ OBJ_408_304,
/* 305 */ OBJ_408_305,
/* 306 */ OBJ_408_306,
/* 307 */ OBJ_408_307,
/* 308 */ OBJ_408_308,
/* 309 */ OBJ_408_309,
/* 310 */ OBJ_408_310,
/* 311 */ OBJ_408_311,
/* 312 */ OBJ_408_312,
/* 313 */ OBJ_408_313,
/* 314 */ OBJ_408_314,
/* 315 */ OBJ_408_315,
/* 316 */ OBJ_408_316,
/* 317 */ OBJ_408_317,
/* 318 */ OBJ_408_318,
/* 319 */ OBJ_408_319,
/* 320 */ OBJ_408_320,
/* 321 */ OBJ_408_321,
/* 292 */ OBJ_BOSS_292,
/* 293 */ OBJ_BOSS_293,
/* 294 */ OBJ_BOSS_294,
/* 295 */ OBJ_BOSS_295,
/* 296 */ OBJ_BOSS_296,
/* 297 */ OBJ_BOSS_297,
/* 298 */ OBJ_BOSS_298,
/* 299 */ OBJ_BOSS_299,
/* 300 */ OBJ_BOSS_300,
/* 301 */ OBJ_BOSS_301,
/* 302 */ OBJ_BOSS_A6,
/* 303 */ OBJ_BOSS_303,
/* 304 */ OBJ_BOSS_304,
/* 305 */ OBJ_BOSS_305,
/* 306 */ OBJ_BOSS_306,
/* 307 */ OBJ_BOSS_ZO,
/* 308 */ OBJ_BOSS_308,
/* 309 */ OBJ_BOSS_309,
/* 310 */ OBJ_BOSS_310,
/* 311 */ OBJ_BOSS_311,
/* 312 */ OBJ_BOSS_312,
/* 313 */ OBJ_BOSS_313,
/* 314 */ OBJ_BOSS_314,
/* 315 */ OBJ_BOSS_SO,
/* 316 */ OBJ_BOSS_316,
/* 317 */ OBJ_BOSS_317,
/* 318 */ OBJ_BOSS_AQ,
/* 319 */ OBJ_BOSS_319,
/* 320 */ OBJ_BOSS_320,
/* 321 */ OBJ_BOSS_321,
/* 322 */ OBJ_ITEM_LASERS,
/* 323 */ OBJ_ITEM_CHECKPOINT,
/* 324 */ OBJ_ITEM_SILVER_RING,

View File

@ -234,7 +234,7 @@ typedef struct Player {
/* 0x224 */ s32 timer_224;
/* 0x228 */ s32 unk_228;
/* 0x22C */ s32 unk_22C;
/* 0x230 */ char pad230[4];
/* 0x230 */ s32 unk_230;
/* 0x234 */ s32 unk_234;
/* 0x238 */ s32 unk_238;
/* 0x23C */ s32 unk_23C;

View File

@ -401,7 +401,7 @@ extern s32 D_80161AB8;
extern Object_80 gObjects80[50];
extern Object_4C gObjects4C[40];
extern Object_2F4 gObjects2F4[60];
extern Object_408 gObjects408[4];
extern Boss gBosses[4];
extern Object_8C gObjects8C[100];
extern Item gItems[20];
extern PlayerShot gPlayerShots[16];
@ -820,7 +820,7 @@ extern Gfx* D_DF4260_8019A008[];
extern f32 D_DF4260_8019A9B8[];
// ovl_E16C50
extern f32 D_E16C50_801C4188;
// extern f32 D_E16C50_801C4188; Currently externed in relevant files for bss ordering
// ovl_E51970
extern Matrix D_E51970_8019EE80;
@ -1707,6 +1707,13 @@ extern u16 D_60447A0[];
extern u16 D_6047550[];
extern Gfx D_604A9F0[];
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[];

View File

@ -81,7 +81,6 @@ D_800D503C = 0x800D503C; // force_migration:True
D_800D5248 = 0x800D5248; // force_migration:True
D_800D525C = 0x800D525C; // force_migration:True
D_800D8560 = 0x800D8560; // force_migration:True
D_800D55E4_fake = 0x800D55E4; // force_migration:True
D_800D8570 = 0x800D8570; // force_migration:True
D_800D8594 = 0x800D8594; // force_migration:True
D_800C93EC = 0x800C93EC; // force_migration:True

View File

@ -198,7 +198,7 @@ Object_80_Draw = 0x8005D654;
Object_4C_Draw = 0x8005D8B8;
Object_2F4_Draw2 = 0x8005D954;
Object_2F4_Draw1 = 0x8005DBC0;
Object_408_Draw = 0x8005E1B8;
Boss_Draw = 0x8005E1B8;
Object_8C_Draw1 = 0x8005E454;
Object_8C_Draw2 = 0x8005E538;
Item_Draw = 0x8005E7B8;
@ -227,13 +227,13 @@ Object_SetInfo = 0x800612B8;
Object_80_Initialize = 0x80061364;
Object_4C_Initialize = 0x80061394;
Object_2F4_Initialize = 0x800613C4;
Object_408_Initialize = 0x80061404;
Boss_Initialize = 0x80061404;
Item_Initialize = 0x80061444;
Object_8C_Initialize = 0x80061474;
Object_80_Load = 0x800614B4;
Object_4C_Load = 0x800615A0;
Object_2F4_Load = 0x8006168C;
Object_408_Load = 0x80061778;
Boss_Load = 0x80061778;
Item_Load = 0x80061864;
func_80061958 = 0x80061958;
func_80061A4C = 0x80061A4C;
@ -305,7 +305,7 @@ func_80069858 = 0x80069858;
func_80069924 = 0x80069924;
func_80069A10 = 0x80069A10;
Object_2F4_Update = 0x80069AAC;
Object_408_Update = 0x80069CBC;
Boss_Update = 0x80069CBC;
Object_80_Update = 0x80069DF4;
Object_4C_Update = 0x80069E88;
Item_Update = 0x80069F30;
@ -381,7 +381,7 @@ D_80161AB8 = 0x80161AB8;
gObjects80 = 0x80161B00; //size:0x1900
gObjects4C = 0x80163400; //size:0xBE0
gObjects2F4 = 0x80163FE0; //size:0xB130
gObjects408 = 0x8016F110; //size:0x1020
gBosses = 0x8016F110; //size:0x1020
gObjects8C = 0x80170130; //size:0x36B0
gItems = 0x801737E0; //size:0x870
gPlayerShots = 0x80174050; //size:0x700

View File

@ -49,6 +49,47 @@ 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
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
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
func_E51970_80198594 = 0x80198594;
func_E51970_80193CA4 = 0x80193CA4;

View File

@ -1,8 +1,5 @@
#include "global.h"
// placeholder for ambiguous overlay function
void func_80187520(s32, void*);
typedef struct {
s32 unk_00;
char unk_04[0x2F0];
@ -110,36 +107,36 @@ void func_8002E548(void) {
}
}
void func_8002E5E0(Object_408* obj408) {
func_80187520(0x5B, obj408);
void func_8002E5E0(Boss* boss) {
func_E51970_80187520(91, boss);
}
void func_8002E604(Object_408* obj408) {
func_80187520(0x5C, obj408);
void func_8002E604(Boss* boss) {
func_E51970_80187520(92, boss);
}
void func_8002E628(Object_408* obj408) {
func_80187520(0x5D, obj408);
void func_8002E628(Boss* boss) {
func_E51970_80187520(93, boss);
}
void func_8002E64C(Object_408* obj408) {
func_80187520(0x5E, obj408);
void func_8002E64C(Boss* boss) {
func_E51970_80187520(94, boss);
}
void func_8002E670(Object_2F4* obj408) {
func_80187520(0x5F, obj408);
void func_8002E670(Object_2F4* obj2F4) {
func_E51970_80187520(95, obj2F4);
}
void func_8002E694(Object_2F4* obj408) {
func_80187520(0x60, obj408);
void func_8002E694(Object_2F4* obj2F4) {
func_E51970_80187520(96, obj2F4);
}
void func_8002E6B8(Object_2F4* obj408) {
func_80187520(0x61, obj408);
void func_8002E6B8(Object_2F4* obj2F4) {
func_E51970_80187520(97, obj2F4);
}
void func_8002E6DC(Object_2F4* obj408) {
func_80187520(0x62, obj408);
void func_8002E6DC(Object_2F4* obj2F4) {
func_E51970_80187520(98, obj2F4);
}
void func_8002E700(Player* player) {
@ -470,22 +467,22 @@ void func_8002F69C(Object_2F4* obj2F4) {
if (D_8015F928 == D_800C9B4C) {
func_8002F3E0();
obj2F4->unk_0B8 = 3;
gPlayer->state_1C8 = PLAYERSTATE_1C8_0;
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_0;
if ((gCurrentLevel == LEVEL_VENOM_2) || (gCurrentLevel == LEVEL_BOLSE)) {
gPlayer->unk_034 = 20.0f;
gPlayer[0].unk_034 = 20.0f;
}
func_8001D444(0, 0x802B, 0, 0xFF);
func_8002EE34();
if ((gCurrentLevel == LEVEL_FORTUNA) || (gCurrentLevel == LEVEL_VENOM_2)) {
gPlayer->camEye.x = 4500.0f;
gPlayer[0].camEye.x = 4500.0f;
} else if (gCurrentLevel == LEVEL_BOLSE) {
gPlayer->camEye.x = 5500.0f;
gPlayer[0].camEye.x = 5500.0f;
}
gPlayer->camEye.y = 2500.0f;
gPlayer->camEye.z = 5000.0f;
gPlayer->camAt.x = gObjects2F4[4].obj.pos.x;
gPlayer->camAt.y = gObjects2F4[4].obj.pos.y;
gPlayer->camAt.z = gObjects2F4[4].obj.pos.z;
gPlayer[0].camEye.y = 2500.0f;
gPlayer[0].camEye.z = 5000.0f;
gPlayer[0].camAt.x = gObjects2F4[4].obj.pos.x;
gPlayer[0].camAt.y = gObjects2F4[4].obj.pos.y;
gPlayer[0].camAt.z = gObjects2F4[4].obj.pos.z;
}
if (D_8015F928 > D_800C9B4C) {
if (D_8015F908 == 0) {
@ -611,9 +608,9 @@ bool func_8002FE74(void) {
case LEVEL_FORTUNA:
return D_8015F928 == D_800C9B4C + 2400;
case LEVEL_BOLSE:
return gObjects408[2].unk_0D0 == 4;
return gBosses[2].swork[36] == 4;
case LEVEL_KATINA:
return gObjects408[1].unk_0A6 == 2;
return gBosses[1].swork[15] == 2;
}
return false;
}
@ -655,11 +652,11 @@ void func_8002FEF0(Object_2F4* arg0) {
}
}
}
if ((gPlayer->state_1C8 == PLAYERSTATE_1C8_3) && (D_8015F910 == 0)) {
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) && (D_8015F910 == 0)) {
if (D_8015F90C != 0) {
D_8015F90C--;
}
if ((gPlayer->shields < 64) || func_8002FE74() || (D_8015F90C == 1)) {
if ((gPlayer[0].shields < 64) || func_8002FE74() || (D_8015F90C == 1)) {
D_80161690 = 60;
D_8015F910 = 1;
}
@ -667,7 +664,7 @@ void func_8002FEF0(Object_2F4* arg0) {
}
void func_8003010C(Object_2F4* obj2F4) {
if ((gPlayer->state_1C8 == PLAYERSTATE_1C8_4) || (gPlayer->state_1C8 == PLAYERSTATE_1C8_6)) {
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_4) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_6)) {
Object_Kill(&obj2F4->obj, &obj2F4->sfxPos);
return;
}
@ -693,7 +690,7 @@ void func_8003010C(Object_2F4* obj2F4) {
}
s32 func_800301F4(Object_2F4* obj2F4) {
Object_408* obj408;
Boss* boss;
f32 temp_ft4;
f32 temp_ft5;
s32 i;
@ -720,11 +717,11 @@ s32 func_800301F4(Object_2F4* obj2F4) {
}
}
}
obj408 = gObjects408;
if ((gCurrentLevel == LEVEL_SECTOR_Z) && (fabsf(obj408->obj.pos.x - (obj2F4->obj.pos.x + temp_ft4)) < 2000.0f) &&
(fabsf(obj408->obj.pos.z - (obj2F4->obj.pos.z + temp_ft5)) < 2000.0f)) {
if (fabsf(obj408->obj.pos.y - obj2F4->obj.pos.y) < 1500.0f) {
if (obj408->obj.pos.y < obj2F4->obj.pos.y) {
boss = &gBosses[0];
if ((gCurrentLevel == LEVEL_SECTOR_Z) && (fabsf(boss->obj.pos.x - (obj2F4->obj.pos.x + temp_ft4)) < 2000.0f) &&
(fabsf(boss->obj.pos.z - (obj2F4->obj.pos.z + temp_ft5)) < 2000.0f)) {
if (fabsf(boss->obj.pos.y - obj2F4->obj.pos.y) < 1500.0f) {
if (boss->obj.pos.y < obj2F4->obj.pos.y) {
return 1;
} else {
return -1;
@ -743,10 +740,10 @@ s32 func_8003049C(Object_2F4* arg0) {
f32 temp_fa0;
f32 temp_ft4;
f32 var_ft5;
Object_408* obj408 = &gObjects408[0];
Boss* boss = &gBosses[0];
s32 pad[4];
if (gPlayer->state_1C8 == PLAYERSTATE_1C8_2) {
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_2) {
return 0;
}
if ((gLevelType == LEVELTYPE_SPACE) && (gCurrentLevel != LEVEL_BOLSE)) {
@ -770,18 +767,18 @@ s32 func_8003049C(Object_2F4* arg0) {
var_ft5 = 720.0f;
}
if (obj408->obj.id == OBJ_408_293) {
if (boss->obj.id == OBJ_BOSS_293) {
var_ft5 = 350.0f;
} else if (obj408->obj.id == OBJ_408_309) {
} else if (boss->obj.id == OBJ_BOSS_309) {
sp44 = 2000.0f;
var_ft5 = 750.0f;
} else if (obj408->obj.id == OBJ_408_317) {
} else if (boss->obj.id == OBJ_BOSS_317) {
sp44 = 1500.0f;
var_ft5 = 700.0f;
}
if ((fabsf(obj408->obj.pos.x - (arg0->obj.pos.x + temp_fa0)) < sp44) &&
(fabsf(obj408->obj.pos.z - (arg0->obj.pos.z + temp_ft4)) < sp44) &&
(fabsf(obj408->obj.pos.y - arg0->obj.pos.y) < var_ft5)) {
if ((fabsf(boss->obj.pos.x - (arg0->obj.pos.x + temp_fa0)) < sp44) &&
(fabsf(boss->obj.pos.z - (arg0->obj.pos.z + temp_ft4)) < sp44) &&
(fabsf(boss->obj.pos.y - arg0->obj.pos.y) < var_ft5)) {
return 1;
}
return 0;
@ -812,7 +809,7 @@ void func_8003088C(Object_2F4* arg0) {
if (arg0->unk_0D0 != 0) {
var_a1 = false;
if ((arg0->unk_0B6 == 3) ||
((gCurrentLevel == LEVEL_BOLSE) && (gObjects408[1].obj.status != 0) && (arg0->unk_0E4 >= 4)) ||
((gCurrentLevel == LEVEL_BOLSE) && (gBosses[1].obj.status != 0) && (arg0->unk_0E4 >= 4)) ||
((gCurrentLevel == LEVEL_VENOM_2) && (arg0->unk_0E4 >= 4) && (arg0->unk_0E4 < 10) &&
(arg0->unk_0D0 == 2))) {
arg0->unk_0D6 = 0;
@ -1129,10 +1126,10 @@ void func_8003088C(Object_2F4* arg0) {
}
void func_80031858(Object_2F4* obj2F4) {
if ((gPlayer->state_1C8 == PLAYERSTATE_1C8_3) && (obj2F4->unk_0B0 != 0) &&
(fabsf(obj2F4->obj.pos.x - gPlayer->pos.x) < 1000.0f) &&
(fabsf(obj2F4->obj.pos.y - gPlayer->pos.y) < 1000.0f) &&
(fabsf(obj2F4->obj.pos.z - gPlayer->unk_138) < 1000.0f)) {
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) && (obj2F4->unk_0B0 != 0) &&
(fabsf(obj2F4->obj.pos.x - gPlayer[0].pos.x) < 1000.0f) &&
(fabsf(obj2F4->obj.pos.y - gPlayer[0].pos.y) < 1000.0f) &&
(fabsf(obj2F4->obj.pos.z - gPlayer[0].unk_138) < 1000.0f)) {
obj2F4->unk_078++;
} else {
obj2F4->unk_078 = 0;
@ -1284,7 +1281,7 @@ void func_800319AC(Object_2F4* this) {
case 8:
break;
case 1:
if (gPlayer->shields < (Play_GetMaxShields() / 2)) {
if (gPlayer[0].shields < (Play_GetMaxShields() / 2)) {
func_800BA808(gMsg_ID_20298, RCID_FALCO);
} else if (Rand_ZeroOne() < 0.5f) {
func_800BA808(gMsg_ID_20280, RCID_FALCO);
@ -1293,7 +1290,7 @@ void func_800319AC(Object_2F4* this) {
}
break;
case 2:
if (gPlayer->shields < (Play_GetMaxShields() / 2)) {
if (gPlayer[0].shields < (Play_GetMaxShields() / 2)) {
func_800BA808(gMsg_ID_20297, RCID_SLIPPY);
} else if (Rand_ZeroOne() < 0.5f) {
func_800BA808(gMsg_ID_20282, RCID_SLIPPY);
@ -1302,7 +1299,7 @@ void func_800319AC(Object_2F4* this) {
}
break;
case 3:
if (gPlayer->shields < (Play_GetMaxShields() / 2)) {
if (gPlayer[0].shields < (Play_GetMaxShields() / 2)) {
func_800BA808(gMsg_ID_20296, RCID_PEPPY);
} else if (Rand_ZeroOne() < 0.5f) {
func_800BA808(gMsg_ID_20281, RCID_PEPPY);
@ -1376,7 +1373,7 @@ void func_800319AC(Object_2F4* this) {
sp104 = 1;
break;
case 0:
if (gPlayer->state_1C8 != PLAYERSTATE_1C8_9) {
if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_9) {
this->unk_114 = this->unk_118 = 40.0f;
if (gObjects2F4->unk_0B8 == 5) {
Math_SmoothStepToF(&this->unk_0F4.x, 30.0f, 0.1f, 0.5f, 0.0f);
@ -1439,8 +1436,8 @@ void func_800319AC(Object_2F4* this) {
}
if (this->unk_0E6 == 0) {
if (gCurrentLevel != LEVEL_VENOM_2) {
if (((gPlayer->unk_4DC != 0) && (this->unk_060 > 10)) ||
((gCurrentLevel == LEVEL_BOLSE) && (gPlayer->state_1C8 == PLAYERSTATE_1C8_0))) {
if (((gPlayer[0].unk_4DC != 0) && (this->unk_060 > 10)) ||
((gCurrentLevel == LEVEL_BOLSE) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_0))) {
this->unk_0B8 = 3;
this->unk_04E = 300;
this->timer_0BC = 160;
@ -1448,7 +1445,7 @@ void func_800319AC(Object_2F4* this) {
func_8002F5F4(gMsg_ID_9369, RCID_WOLF);
}
break;
} else if ((this->unk_060 > 200) && (gPlayer->timer_224 != 0)) {
} else if ((this->unk_060 > 200) && (gPlayer[0].timer_224 != 0)) {
this->unk_060 = 100;
break;
}
@ -1459,15 +1456,15 @@ void func_800319AC(Object_2F4* this) {
spC8 = __cosf(((this->index * 45) + (gFrameCount * 2)) * M_DTOR) * 100.0f;
spC4 = __sinf(((this->index * 45) + gFrameCount) * M_DTOR) * 100.0f;
}
if (gPlayer->unk_4DC == 0) {
this->unk_124.x = gPlayer->pos.x + spCC;
this->unk_124.y = gPlayer->pos.y + spC8;
this->unk_124.z = gPlayer->unk_138 + spC4;
this->unk_118 = gPlayer->unk_0D0 + 10.0f;
if (gPlayer[0].unk_4DC == 0) {
this->unk_124.x = gPlayer[0].pos.x + spCC;
this->unk_124.y = gPlayer[0].pos.y + spC8;
this->unk_124.z = gPlayer[0].unk_138 + spC4;
this->unk_118 = gPlayer[0].unk_0D0 + 10.0f;
}
if ((gObjects2F4->unk_0B8 == 6) && (this->unk_0E4 < 4)) {
this->unk_120 = 3.0f;
this->unk_118 = gPlayer->unk_0D0 - 5.0f;
this->unk_118 = gPlayer[0].unk_0D0 - 5.0f;
this->unk_07C = 2;
} else if ((gCurrentLevel == LEVEL_VENOM_2) && (this->unk_0E4 >= 4)) {
this->unk_120 = 1.6f;
@ -1506,9 +1503,9 @@ void func_800319AC(Object_2F4* this) {
this->unk_120 = 1.4f;
}
} else {
this->unk_124.x = gObjects408->obj.pos.x;
this->unk_124.y = gObjects408->obj.pos.y + 400.0f;
this->unk_124.z = gObjects408->obj.pos.z;
this->unk_124.x = gBosses[0].obj.pos.x;
this->unk_124.y = gBosses[0].obj.pos.y + 400.0f;
this->unk_124.z = gBosses[0].obj.pos.z;
this->unk_118 = 40.0f;
}
if ((this->unk_0E6 >= 0) && (this->unk_0E6 != 100) && (gObjects2F4->unk_0B8 != 6)) {
@ -1517,9 +1514,9 @@ void func_800319AC(Object_2F4* this) {
if (this->unk_0E6 != 0) {
this->unk_118 = gObjects2F4[this->unk_0E6].unk_114 - 5.0f;
} else {
this->unk_118 = gPlayer->unk_0D0 - 5.0f;
if ((gCurrentLevel == LEVEL_VENOM_2) && (gPlayer->state_1C8 == PLAYERSTATE_1C8_5) &&
(gPlayer->unk_4D8 > 100.0f)) {
this->unk_118 = gPlayer[0].unk_0D0 - 5.0f;
if ((gCurrentLevel == LEVEL_VENOM_2) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_5) &&
(gPlayer[0].unk_4D8 > 100.0f)) {
this->unk_090 = 8;
}
}
@ -1774,7 +1771,7 @@ void func_800319AC(Object_2F4* this) {
spE0 = 0.0f;
}
spDC = (Rand_ZeroOne() - 0.5f) * 10000.0f;
if ((gCurrentLevel == LEVEL_KATINA) && (gPlayer->state_1C8 == PLAYERSTATE_1C8_0)) {
if ((gCurrentLevel == LEVEL_KATINA) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_0)) {
spE4 = (Rand_ZeroOne() - 0.5f) * 5000.0f;
spDC = (Rand_ZeroOne() - 0.5f) * 5000.0f;
}
@ -2129,9 +2126,9 @@ void func_80035098(Object_2F4* obj2F4) {
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -30.0f, 1);
Matrix_RotateZ(gGfxMatrix, -obj2F4->obj.rot.z * M_DTOR, 1);
Matrix_RotateX(gGfxMatrix, -obj2F4->obj.rot.x * M_DTOR, 1);
Matrix_RotateY(gGfxMatrix, -obj2F4->obj.rot.y * (0, M_DTOR) - gPlayer->unk_058, 1); // fake
Matrix_RotateX(gGfxMatrix, gPlayer->unk_05C, 1);
Matrix_RotateZ(gGfxMatrix, obj2F4->unk_08C * (gFrameCount * 20.0f) * M_DTOR, 1);
Matrix_RotateY(gGfxMatrix, M_DTOR * -obj2F4->obj.rot.y - gPlayer[0].unk_058, 1);
Matrix_RotateX(gGfxMatrix, gPlayer[0].unk_05C, 1);
Matrix_RotateZ(gGfxMatrix, gFrameCount * 20.0f * (*obj2F4).unk_08C * M_DTOR, 1);
if (obj2F4->unk_08C < 0) {
Matrix_RotateX(gGfxMatrix, M_PI, 1);
}

View File

@ -9,7 +9,7 @@ s32 D_800C9E90[28] = {
const f32 D_800D55D0[] = { 6000.0f, 18000.0f, -6000.0f, -18000.0f };
void func_80042EC0(Object_408* obj408) {
void func_80042EC0(Boss* boss) {
s32 var_a3;
f32 var_fv0;
@ -26,33 +26,33 @@ void func_80042EC0(Object_408* obj408) {
}
if (var_a3 != 0) {
var_fv0 = 0.0f;
if (obj408->obj.id == OBJ_408_292) {
if (boss->obj.id == OBJ_BOSS_292) {
var_fv0 = 300.0f;
} else if (obj408->obj.id == OBJ_408_306) {
} else if (boss->obj.id == OBJ_BOSS_306) {
var_fv0 = 200.0f;
}
func_80077240(obj408->obj.pos.x, obj408->obj.pos.y + var_fv0, obj408->obj.pos.z, var_a3);
func_80077240(boss->obj.pos.x, boss->obj.pos.y + var_fv0, boss->obj.pos.z, var_a3);
}
gHitCount += var_a3 + 1;
D_80177850 = 0xF;
D_80177850 = 15;
}
void func_80042FAC(Object_408* obj408) {
void func_80042FAC(Boss* boss) {
}
void func_80042FB8(Object_408* obj408) {
void func_80042FB8(Boss* boss) {
}
void func_80042FC4(Object_408* obj408) {
void func_80042FC4(Boss* boss) {
}
void func_80042FD0(Object_408* obj408) {
void func_80042FD0(Boss* boss) {
}
void func_80042FDC(Object_408* obj408) {
void func_80042FDC(Boss* boss) {
}
void func_80042FE8(Object_408* obj408) {
void func_80042FE8(Boss* boss) {
}
void func_80042FF4(Object_2F4* obj2F4, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8,

View File

@ -1,25 +1,26 @@
#include "global.h"
#include "prevent_bss_reordering.h"
static f32 __dx1;
static f32 __dx2;
static f32 __dy1;
static f32 __dy2;
static f32 __dz1;
static f32 __dz2;
static f32 __vtx0_x;
static f32 __vtx0_y;
static f32 __vtx0_z;
static f32 __vtx1_x;
static f32 __vtx1_y;
static f32 __vtx1_z;
static f32 __vtx2_x;
static f32 __vtx2_y;
static f32 __vtx2_z;
static f32 __vtx3_x;
static f32 __vtx3_y;
static f32 __vtx3_z;
static f32 __pos_x;
static f32 __pos_z;
f32 __dx1;
f32 __dx2;
f32 __dy1;
f32 __dy2;
f32 __dz1;
f32 __dz2;
f32 __vtx0_x;
f32 __vtx0_y;
f32 __vtx0_z;
f32 __vtx1_x;
f32 __vtx1_y;
f32 __vtx1_z;
f32 __vtx2_x;
f32 __vtx2_y;
f32 __vtx2_z;
f32 __vtx3_x;
f32 __vtx3_y;
f32 __vtx3_z;
f32 __pos_x;
f32 __pos_z;
#define TRINORM_X(A, B, C) ((B##_y - A##_y) * (C##_z - B##_z) - (B##_z - A##_z) * (C##_y - B##_y))
#define TRINORM_Y(A, B, C) ((B##_z - A##_z) * (C##_x - B##_x) - (B##_x - A##_x) * (C##_z - B##_z))

View File

@ -478,7 +478,7 @@ bool func_8003774C(PlayerShot* shot, ObjectId objId, Object* obj) {
sp7C.z = obj->pos.z - shot->obj.pos.z;
// undefined behavior: if this check fails, the function returns no value
if (((fabsf(sp7C.x) < 1100.0f) && (fabsf(sp7C.z) < 1100.0f) && (shot->obj.pos.y < 900.0f)) ||
(objId == OBJ_408_313) || (objId == OBJ_UNK_1000) || (objId == OBJ_80_39)) {
(objId == OBJ_BOSS_313) || (objId == OBJ_UNK_1000) || (objId == OBJ_80_39)) {
Matrix_RotateY(gCalcMatrix, -obj->rot.y * M_DTOR, 0);
sp7C.x = shot->obj.pos.x - obj->pos.x;
sp7C.y = shot->obj.pos.y - obj->pos.y;
@ -510,19 +510,19 @@ bool func_8003774C(PlayerShot* shot, ObjectId objId, Object* obj) {
case OBJ_80_150:
objId = COL1_6;
break;
case OBJ_408_308:
case OBJ_BOSS_308:
objId = COL1_4;
break;
case OBJ_408_312:
case OBJ_BOSS_312:
objId = COL1_9;
break;
case OBJ_408_309:
case OBJ_BOSS_309:
objId = COL1_7;
break;
case OBJ_UNK_1000:
objId = COL1_3;
break;
case OBJ_408_313:
case OBJ_BOSS_313:
objId = COL1_8;
break;
case OBJ_80_39:
@ -723,7 +723,7 @@ void func_80038140(PlayerShot* shot) {
Vec3f sp88;
Vec3f sp7C;
Object_2F4* obj2F4;
Object_408* obj408;
Boss* boss;
Object_58* obj58;
Object_4C* obj4C;
Object_80* obj80;
@ -937,78 +937,78 @@ void func_80038140(PlayerShot* shot) {
}
}
}
for (i = 0, obj408 = gObjects408; i < 4; i++, obj408++) {
if ((obj408->obj.status == 2) && (obj408->timer_05A == 0)) {
if ((obj408->obj.id == OBJ_408_308) || (obj408->obj.id == OBJ_408_312) || (obj408->obj.id == OBJ_408_309) ||
(obj408->obj.id == OBJ_408_313)) {
func_8003774C(shot, obj408->obj.id, &obj408->obj);
} else if (obj408->obj.id == OBJ_408_310) {
temp_fv1 = fabsf(obj408->obj.pos.x - shot->obj.pos.x) * .8333333f;
temp_fa0 = fabsf(obj408->obj.pos.y - shot->obj.pos.y) * 2;
temp_fv0 = fabsf(obj408->obj.pos.z - shot->obj.pos.z) * 0.8333333f;
for (i = 0, boss = gBosses; i < 4; i++, boss++) {
if ((boss->obj.status == 2) && (boss->timer_05A == 0)) {
if ((boss->obj.id == OBJ_BOSS_308) || (boss->obj.id == OBJ_BOSS_312) || (boss->obj.id == OBJ_BOSS_309) ||
(boss->obj.id == OBJ_BOSS_313)) {
func_8003774C(shot, boss->obj.id, &boss->obj);
} else if (boss->obj.id == OBJ_BOSS_310) {
temp_fv1 = fabsf(boss->obj.pos.x - shot->obj.pos.x) * .8333333f;
temp_fa0 = fabsf(boss->obj.pos.y - shot->obj.pos.y) * 2;
temp_fv0 = fabsf(boss->obj.pos.z - shot->obj.pos.z) * 0.8333333f;
if (sqrtf(SQ(temp_fv1) + SQ(temp_fa0) + SQ(temp_fv0)) < 1500.0f) {
if (shot->obj.id == PLAYERSHOT_4) {
Object_Kill(&shot->obj, &shot->sfxPos);
} else {
obj408->unk_062 = 1;
boss->unk_062 = 1;
func_80036318(shot);
Audio_PlaySfx(0x29001062, &shot->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
}
} else {
if (obj408->obj.id == OBJ_408_316) {
temp_fv1 = fabsf(obj408->obj.pos.x - shot->obj.pos.x);
temp_fa0 = fabsf(obj408->obj.pos.y - 300.0f - shot->obj.pos.y) * 7.42f;
temp_fv0 = fabsf(obj408->obj.pos.z - shot->obj.pos.z);
if (boss->obj.id == OBJ_BOSS_316) {
temp_fv1 = fabsf(boss->obj.pos.x - shot->obj.pos.x);
temp_fa0 = fabsf(boss->obj.pos.y - 300.0f - shot->obj.pos.y) * 7.42f;
temp_fv0 = fabsf(boss->obj.pos.z - shot->obj.pos.z);
if (sqrtf(SQ(temp_fv1) + SQ(temp_fa0) + SQ(temp_fv0)) < 2700.0f) {
if (shot->obj.id == PLAYERSHOT_4) {
Object_Kill(&shot->obj, &shot->sfxPos);
} else {
obj408->unk_062 = 1;
obj408->unk_066 = 100;
boss->unk_062 = 1;
boss->unk_066 = 100;
Audio_PlaySfx(0x29121007, &shot->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
func_80036318(shot);
}
}
}
temp_v0 = func_80036874(shot, obj408->info.hitbox, &obj408->obj);
temp_v0 = func_80036874(shot, boss->info.hitbox, &boss->obj);
if (temp_v0 != 0) {
if (shot->obj.id == PLAYERSHOT_4) {
Object_Kill(&shot->obj, &shot->sfxPos);
} else if (!((obj408->obj.id == OBJ_408_316) && (shot->playerNum != 0))) {
obj408->unk_062 = 1;
} else if (!((boss->obj.id == OBJ_BOSS_316) && (shot->playerNum != 0))) {
boss->unk_062 = 1;
if (shot->obj.id == PLAYERSHOT_3) {
obj408->unk_062 = -1;
obj408->unk_064 = 20;
boss->unk_062 = -1;
boss->unk_064 = 20;
} else if (shot->obj.id == PLAYERSHOT_8) {
if (gCurrentLevel == LEVEL_AQUAS) {
obj408->unk_064 = 31;
boss->unk_064 = 31;
} else {
obj408->unk_064 = 30;
boss->unk_064 = 30;
}
} else {
obj408->unk_064 = 10;
boss->unk_064 = 10;
if (shot->playerNum < 4) {
switch (gLaserStrength[shot->playerNum]) {
case LASERS_SINGLE:
case LASERS_TWIN:
break;
case LASERS_HYPER:
obj408->unk_064 = 15;
boss->unk_064 = 15;
break;
}
}
}
if (obj408->obj.id == OBJ_408_314) {
obj408->unk_0AE = shot->playerNum;
if (boss->obj.id == OBJ_BOSS_314) {
boss->swork[19] = shot->playerNum;
}
obj408->unk_066 = temp_v0 - 1;
if (obj408->obj.id == OBJ_408_301) {
obj408->unk_092 = shot->obj.id;
} else if (obj408->obj.id == OBJ_408_319) {
obj408->unk_194 = shot->obj.pos.x;
obj408->unk_198 = shot->obj.pos.y;
obj408->unk_19C = shot->obj.pos.z;
boss->unk_066 = temp_v0 - 1;
if (boss->obj.id == OBJ_BOSS_301) {
boss->swork[5] = shot->obj.id;
} else if (boss->obj.id == OBJ_BOSS_319) {
boss->fwork[47] = shot->obj.pos.x;
boss->fwork[48] = shot->obj.pos.y;
boss->fwork[49] = shot->obj.pos.z;
}
} else {
return;
@ -1741,7 +1741,7 @@ void func_8003C008(PlayerShot* shot) {
s32 i;
s32 j;
f32* hitboxData;
Object_408* obj408;
Boss* boss;
f32 temp_ft4;
f32 temp_ft5;
f32 var_fa1;
@ -1751,17 +1751,17 @@ void func_8003C008(PlayerShot* shot) {
s32 var_s6;
s32 count;
obj408 = gObjects408;
for (i = 0; i < ARRAY_COUNT(gObjects408); i++, obj408++) {
if ((obj408->obj.status == 2) && (obj408->timer_05A == 0)) {
if (obj408->obj.id == OBJ_408_316) {
boss = gBosses;
for (i = 0; i < ARRAY_COUNT(gBosses); i++, boss++) {
if ((boss->obj.status == 2) && (boss->timer_05A == 0)) {
if (boss->obj.id == OBJ_BOSS_316) {
var_s6 = gFrameCount & 7;
var_fs2 = shot->unk_44 * 40.0f;
} else {
var_s6 = gFrameCount & 0xF;
var_fs2 = shot->unk_44 * 30.0f;
}
hitboxData = obj408->info.hitbox;
hitboxData = boss->info.hitbox;
count = *hitboxData++;
if (count != 0) {
for (j = 0; j < count; j++, hitboxData += 6) {
@ -1769,30 +1769,30 @@ void func_8003C008(PlayerShot* shot) {
Matrix_RotateZ(gCalcMatrix, -hitboxData[3] * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, -hitboxData[1] * M_DTOR, 1);
Matrix_RotateY(gCalcMatrix, -hitboxData[2] * M_DTOR, 1);
Matrix_RotateZ(gCalcMatrix, -obj408->obj.rot.z * M_DTOR, 1);
Matrix_RotateX(gCalcMatrix, -obj408->obj.rot.x * M_DTOR, 1);
Matrix_RotateY(gCalcMatrix, -obj408->obj.rot.y * M_DTOR, 1);
Matrix_RotateZ(gCalcMatrix, -boss->obj.rot.z * M_DTOR, 1);
Matrix_RotateX(gCalcMatrix, -boss->obj.rot.x * M_DTOR, 1);
Matrix_RotateY(gCalcMatrix, -boss->obj.rot.y * M_DTOR, 1);
hitboxData += 4;
} else {
Matrix_RotateZ(gCalcMatrix, -obj408->obj.rot.z * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, -obj408->obj.rot.x * M_DTOR, 1);
Matrix_RotateY(gCalcMatrix, -obj408->obj.rot.y * M_DTOR, 1);
Matrix_RotateZ(gCalcMatrix, -boss->obj.rot.z * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, -boss->obj.rot.x * M_DTOR, 1);
Matrix_RotateY(gCalcMatrix, -boss->obj.rot.y * M_DTOR, 1);
}
if ((j == var_s6) && (hitboxData[1] > -100.0f) && (hitboxData[3] > -100.0f)) {
sp8C.x = shot->obj.pos.x - obj408->obj.pos.x;
sp8C.y = shot->obj.pos.y - obj408->obj.pos.y;
sp8C.z = shot->obj.pos.z - obj408->obj.pos.z;
sp8C.x = shot->obj.pos.x - boss->obj.pos.x;
sp8C.y = shot->obj.pos.y - boss->obj.pos.y;
sp8C.z = shot->obj.pos.z - boss->obj.pos.z;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp8C, &sp80);
temp_ft4 = (hitboxData[4] + obj408->obj.pos.x) - (obj408->obj.pos.x + sp80.x);
temp_ft5 = (hitboxData[2] + obj408->obj.pos.y) - (obj408->obj.pos.y + sp80.y);
var_fa1 = (hitboxData[0] + obj408->obj.pos.z) - (obj408->obj.pos.z + sp80.z);
temp_ft4 = (hitboxData[4] + boss->obj.pos.x) - (boss->obj.pos.x + sp80.x);
temp_ft5 = (hitboxData[2] + boss->obj.pos.y) - (boss->obj.pos.y + sp80.y);
var_fa1 = (hitboxData[0] + boss->obj.pos.z) - (boss->obj.pos.z + sp80.z);
if ((gLevelMode == LEVELMODE_ON_RAILS) && (var_fa1 < 0.0f)) {
var_fa1 *= 0.6f;
}
if (sqrtf(SQ(temp_ft4) + SQ(temp_ft5) + SQ(var_fa1)) < var_fs2) {
obj408->unk_066 = j;
obj408->unk_062 = -1;
obj408->unk_064 = 20;
boss->unk_066 = j;
boss->unk_062 = -1;
boss->unk_064 = 20;
}
}
}
@ -2007,8 +2007,8 @@ void func_8003CC08(PlayerShot* shot) {
}
}
}
if (!((gCurrentLevel == LEVEL_VENOM_ANDROSS) && (gObjects408->obj.status == 2) &&
(gObjects408->unk_04E == 17))) {
if (!((gCurrentLevel == LEVEL_VENOM_ANDROSS) && (gBosses[0].obj.status == 2) &&
(gBosses[0].unk_04E == 17))) {
func_80038140(shot);
}
func_8003C3D8(shot);

View File

@ -1,5 +1,7 @@
#include "global.h"
extern f32 D_E16C50_801C4188;
f32 D_8015F960;
u8 D_8015F964;
f32 D_8015F968;
@ -368,14 +370,14 @@ void func_8003E1E8(void) {
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -290.0f, 1);
Matrix_Push(&gGfxMatrix);
Matrix_Scale(gGfxMatrix, 11.0f, 11.0f, 1.0f, 1);
Matrix_RotateZ(gGfxMatrix, (gPlayer->unk_034 + (gFrameCount * 1.5f)) * M_DTOR, 1);
Matrix_RotateZ(gGfxMatrix, (gPlayer[0].unk_034 + (gFrameCount * 1.5f)) * M_DTOR, 1);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_C039208);
Matrix_Pop(&gGfxMatrix);
if (D_80177AB0 != 5) {
Matrix_Push(&gGfxMatrix);
Matrix_Scale(gGfxMatrix, 10.0f, 10.0f, 1.0f, 1);
Matrix_RotateZ(gGfxMatrix, (gPlayer->unk_034 + (gFrameCount * -1.3f)) * M_DTOR, 1);
Matrix_RotateZ(gGfxMatrix, (gPlayer[0].unk_034 + (gFrameCount * -1.3f)) * M_DTOR, 1);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_C039208);
Matrix_Pop(&gGfxMatrix);
@ -384,7 +386,7 @@ void func_8003E1E8(void) {
}
break;
case LEVEL_AQUAS:
if (gPlayer->state_1C8 == PLAYERSTATE_1C8_2) {
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_2) {
sp13C = ((Math_RadToDeg(gPlayer[gPlayerNum].unk_058) - gPlayer[gPlayerNum].unk_114));
sp134 = (gPlayer[gPlayerNum].unk_05C * -7000.0f) - (gPlayer[gPlayerNum].camEye.y * 0.6f);
sp13C = Math_ModF(sp13C * -40.44444f * 2.0f, 7280.0f);
@ -394,7 +396,7 @@ void func_8003E1E8(void) {
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, sp13C, sp134, -7000.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
if (gPlayer->state_1C8 == PLAYERSTATE_1C8_2) {
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_2) {
gSPDisplayList(gMasterDisp++, D_601AFF0);
} else {
gSPDisplayList(gMasterDisp++, D_601C080);
@ -407,7 +409,7 @@ void func_8003E1E8(void) {
}
Matrix_Translate(gGfxMatrix, 7280.0f * sp13C, 0.0f, 0.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
if (gPlayer->state_1C8 == PLAYERSTATE_1C8_2) {
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_2) {
gSPDisplayList(gMasterDisp++, D_601AFF0);
} else {
@ -423,14 +425,14 @@ void func_8003E1E8(void) {
sp138 = Math_RadToDeg(gPlayer[gPlayerNum].unk_058) - gPlayer[gPlayerNum].unk_114;
sp134 = (gPlayer[gPlayerNum].unk_05C * -7000.0f) - (gPlayer[gPlayerNum].camEye.y * 0.6f);
sp13C = sp138 * -40.44444f * 2.0f;
if ((gCurrentLevel == LEVEL_TITANIA) && (gPlayer->state_1C8 == PLAYERSTATE_1C8_2) &&
(gPlayer->unk_1D0 < 3)) {
D_8015F968 += __sinf(gPlayer->unk_058) * 20.0f;
if ((gCurrentLevel == LEVEL_TITANIA) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_2) &&
(gPlayer[0].unk_1D0 < 3)) {
D_8015F968 += __sinf(gPlayer[0].unk_058) * 20.0f;
sp13C += D_8015F968;
}
if ((gCurrentLevel == LEVEL_SOLAR) && (gPlayer->state_1C8 == PLAYERSTATE_1C8_2) &&
(gPlayer->unk_1D0 >= 2) && (gPlayer->camEye.z <= -1900.0f)) {
D_8015F968 = __sinf(gPlayer->unk_05C) * 7000.0f;
if ((gCurrentLevel == LEVEL_SOLAR) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_2) &&
(gPlayer[0].unk_1D0 >= 2) && (gPlayer[0].camEye.z <= -1900.0f)) {
D_8015F968 = __sinf(gPlayer[0].unk_05C) * 7000.0f;
sp134 -= fabsf(D_8015F968);
}
sp13C = Math_ModF(sp13C, 7280.0f);
@ -474,10 +476,10 @@ void func_8003E1E8(void) {
}
break;
case LEVELTYPE_SPACE:
if (gPlayer->state_1C8 != PLAYERSTATE_1C8_8) {
if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_8) {
Matrix_Push(&gGfxMatrix);
sp12C = Math_RadToDeg(gPlayer->unk_058);
sp130 = Math_RadToDeg(gPlayer->unk_05C);
sp12C = Math_RadToDeg(gPlayer[0].unk_058);
sp130 = Math_RadToDeg(gPlayer[0].unk_05C);
if (((sp12C < 45.0f) || (sp12C > 315.0f)) && ((sp130 < 40.0f) || (sp130 > 325.0f))) {
RCP_SetupDL_36();
sp138 = D_80178420;
@ -498,7 +500,7 @@ void func_8003E1E8(void) {
sp138 = Math_ModF(sp138 - 34.5f, 480.0f);
sp134 = Math_ModF(sp134 + 19.0f, 360.0f);
} else if (sp11C == LEVEL_BOLSE) {
if ((gPlayer->state_1C8 != PLAYERSTATE_1C8_7) || (gPlayer->unk_1D0 < 10)) {
if ((gPlayer[0].state_1C8 != PLAYERSTATE_1C8_7) || (gPlayer[0].unk_1D0 < 10)) {
sp134 = Math_ModF(sp134 + 360.0f - 100.0f, 360.0f);
}
} else {
@ -530,7 +532,7 @@ void func_8003E1E8(void) {
}
break;
case LEVEL_METEO:
if ((gPlayer->state_1C8 == PLAYERSTATE_1C8_7) && (D_80177A80 > 260)) {
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7) && (D_80177A80 > 260)) {
Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f) - 30.0f, -290.0f, 1);
Matrix_Scale(gGfxMatrix, 0.5f, 0.5f, 1.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
@ -566,7 +568,7 @@ void func_8003E1E8(void) {
if (sp128 > 3.5f) {
sp128 = 3.5f;
}
if (gPlayer->state_1C8 == PLAYERSTATE_1C8_7) {
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7) {
sp128 = D_8015F984;
if (sp128 > 3.5f) {
sp128 = 3.5f;
@ -590,7 +592,7 @@ void func_8003E1E8(void) {
break;
case LEVEL_BOLSE:
sp128 = 1.0f;
if ((D_80177A80 > 500) && (gPlayer->state_1C8 == PLAYERSTATE_1C8_7)) {
if ((D_80177A80 > 500) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7)) {
sp128 = 1.3f;
}
Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f), -290.0f, 1);
@ -665,7 +667,7 @@ void func_80040450(void) {
if (D_80178380[gPlayerNum] > 300) {
D_80178380[gPlayerNum] = 0;
}
if (((gCurrentLevel == LEVEL_AQUAS) && (gPlayer->state_1C8 == PLAYERSTATE_1C8_2)) ||
if (((gCurrentLevel == LEVEL_AQUAS) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_2)) ||
(((gPlayer[gPlayerNum].state_1C8 == PLAYERSTATE_1C8_5) || (gLevelMode == LEVELMODE_ALL_RANGE) ||
(gPlayer[gPlayerNum].state_1C8 == PLAYERSTATE_1C8_7)) &&
(gLevelType == LEVELTYPE_PLANET) && (gCurrentLevel != LEVEL_TITANIA) && (gCurrentLevel != LEVEL_AQUAS))) {
@ -683,7 +685,7 @@ void func_80040450(void) {
if (gCurrentLevel == LEVEL_KATINA) {
D_801783D4 -= 80.0f;
}
if ((gCurrentLevel == LEVEL_ZONESS) && (gPlayer->unk_1D0 >= 2) && (D_80161684 == 0)) {
if ((gCurrentLevel == LEVEL_ZONESS) && (gPlayer[0].unk_1D0 >= 2) && (D_80161684 == 0)) {
D_801783D4 -= 60.0f;
D_801783D0 -= 480.0f;
}
@ -788,7 +790,7 @@ void func_80040CE4(void) {
u16* sp1C4;
Gfx* sp1C0;
if ((gCurrentLevel != LEVEL_VENOM_2) && ((gPlayer->camEye.y > 4000.0f) || (D_80177A98 == 0))) {
if ((gCurrentLevel != LEVEL_VENOM_2) && ((gPlayer[0].camEye.y > 4000.0f) || (D_80177A98 == 0))) {
return;
}
if ((gCurrentLevel == LEVEL_BOLSE) && (D_800C9C34 != 0)) {
@ -1043,9 +1045,9 @@ void func_80040CE4(void) {
} else {
RCP_SetupDL(&gMasterDisp, 0x25);
}
if ((gPlayer->state_1C8 == PLAYERSTATE_1C8_2) && (gPlayer->unk_1D0 < 2)) {
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_2) && (gPlayer[0].unk_1D0 < 2)) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255);
} else if (gPlayer->state_1C8 == PLAYERSTATE_1C8_7) {
} 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);

View File

@ -131,60 +131,39 @@ AnimationHeader* D_800CA1F4[] = {
D_60265B4, D_602B8DC, D_60034C4, D_602A2CC, D_602CEB4, D_602B778, (AnimationHeader*) 0x0601F3B8,
};
extern void func_80187520(s32, void*);
extern void func_800AB334(void);
extern void func_800ADF58(Player*);
extern void func_8004D440(Player*);
extern void func_80046358(Player*);
extern void func_8004B368(Player*);
extern void func_80095604(Player*);
extern void func_800B2130(Player*);
extern void func_E6A810_8018769C(Player*);
extern void func_801882CC(Player*, OSContPad**, OSContPad**);
extern void func_8018E084(Player*);
extern void func_8018F94C(Player*);
extern void func_80191160(Player*);
extern void func_80193C4C(Player*);
extern void func_80194728(Player*);
extern void func_80196D88(Player*);
extern void func_80197290(Player*);
extern void func_8019C85C(Player*);
extern void func_8019D76C(Player*);
extern void func_8019EE60(Player*);
extern void func_801A7930(Player*);
extern void func_801AF8F4(Player*, OSContPad**, OSContPad**);
extern void func_801B3D04(Player*, OSContPad**, OSContPad**);
extern void func_8002ED60(Player*);
extern void func_800935E8(Player*);
extern void func_8018769C(Player*);
extern void func_8018CD8C(Player*);
extern void func_8018DF74(Player*);
extern void func_8018DA58(Object_2F4*);
extern void func_8018E084(Player*);
extern void func_8018ED9C(Object_2F4*);
extern void func_8018EF6C(Player*);
extern void func_8018F880(Player*);
extern void func_8018F94C(Player*);
extern void func_80191160(Player*);
extern void func_80192E20(Player*);
extern void func_80193A30(Player*);
extern void func_80193C4C(Player*);
extern void func_80194728(Player*);
extern void func_80195E44(Object_2F4*);
extern void func_80196BF8(Player*);
extern void func_80196D88(Player*);
extern void func_80197290(Player*);
extern void func_80197F10(Object_2F4*);
extern void func_801988B8(Player*);
extern void func_8019BA64(Player*);
extern void func_8019D428(Player*);
extern void func_801A0AC0(Player*);
extern void func_801A10F4(Player*);
extern void func_801AB9B0(Player*);
extern void func_801AC754(Player*);
extern void func_800A46A0(Player*);
extern void func_800AD7F0(Player*);
extern void func_800B2574(Player*);
extern void func_800AE278(Player*);
extern void func_80093164(Object_2F4*);
extern void func_800A6028(Vec3f*, u32);
extern void func_8018DA58(Object_2F4*);
extern void func_8018ED9C(Object_2F4*);
extern void func_80195E44(Object_2F4*);
extern void func_80197F10(Object_2F4*);
extern void func_8019C85C(Player*);
extern void func_8019DD20(Object_2F4*);
extern void func_8019E5F0(Object_2F4*);
extern void func_8019EE60(Player*);
extern void func_8019FF00(Object_2F4*);
extern void func_E9F1D0_801A0AC0(Player*);
extern void func_801A8BE8(Object_2F4*);
extern void func_801AB9B0(Player*);
extern void func_E6A810_801AC754(Player*);
extern void func_801AF8F4(Player*, OSContPad**, OSContPad**);
extern void func_801B28BC(Object_2F4*);
extern void func_801B3D04(Player*, OSContPad**, OSContPad**);
extern void func_801BE0F0(Object_2F4*);
void func_80048AC0(s32 teamId) {
@ -268,7 +247,7 @@ void func_80048E40(Player* player) {
f32 temp_ret;
s32 temp_v1;
gObjects408[1].obj.status = 0;
gBosses[1].obj.status = 0;
Math_SmoothStepToF(&player->unk_130, 0.0f, 0.1f, 15.0f, 0.0f);
Math_SmoothStepToF(&player->unk_12C, 0.0f, 0.1f, 15.0f, 0.0f);
Math_SmoothStepToF(&player->unk_0E4, 0.0f, 0.1f, 3.0f, 0.0f);
@ -421,9 +400,9 @@ void func_80049630(Object_2F4* obj2F4) {
switch (obj2F4->unk_0B8) {
case 0:
obj2F4->unk_18C[0].x = D_800C9FA0[obj2F4->index].x + gPlayer->pos.x;
obj2F4->unk_18C[0].y = D_800C9FA0[obj2F4->index].y + gPlayer->pos.y;
obj2F4->unk_18C[0].z = D_800C9FA0[obj2F4->index].z + gPlayer->pos.z;
obj2F4->unk_18C[0].x = gPlayer[0].pos.x + D_800C9FA0[obj2F4->index].x;
obj2F4->unk_18C[0].y = gPlayer[0].pos.y + D_800C9FA0[obj2F4->index].y;
obj2F4->unk_18C[0].z = gPlayer[0].pos.z + D_800C9FA0[obj2F4->index].z;
Math_SmoothStepToF(&obj2F4->obj.pos.x, obj2F4->unk_18C[0].x, 0.05f, 50.0f, 0.0001f);
Math_SmoothStepToF(&obj2F4->obj.pos.y, obj2F4->unk_18C[0].y, 0.05f, 50.0f, 0.0001f);
Math_SmoothStepToF(&obj2F4->obj.pos.z, obj2F4->unk_18C[0].z, 0.05f, 50.0f, 0.0001f);
@ -733,24 +712,24 @@ void func_8004A52C(Player* player) {
break;
case LEVEL_TITANIA:
func_8018769C(player);
func_E6A810_8018769C(player);
func_800AA800(player);
break;
case LEVEL_ZONESS:
func_8019D428(player);
func_E16C50_8019D428(player);
break;
case LEVEL_MACBETH:
func_801AC754(player);
func_E6A810_801AC754(player);
break;
case LEVEL_SECTOR_Y:
func_801A0AC0(player);
func_E9F1D0_801A0AC0(player);
break;
case LEVEL_SOLAR:
func_801A10F4(player);
func_E16C50_801A10F4(player);
break;
case LEVEL_VENOM_1:
@ -763,7 +742,7 @@ void func_8004A52C(Player* player) {
break;
case LEVEL_AREA_6:
func_8018DF74(player);
func_E16C50_8018DF74(player);
break;
}
func_8004990C(player);
@ -1422,8 +1401,8 @@ void func_8004B368(Player* player) {
player->unk_0F0 = __sinf(player->unk_0F4 * M_DTOR);
}
void func_8004C90C(s32 arg0) {
func_80187520(0x5A, arg0);
void func_8004C90C(Player* player) {
func_E51970_80187520(90, player);
}
void func_8004C930(Player* player) {
@ -1444,7 +1423,7 @@ void func_8004C930(Player* player) {
func_80048E40(player);
}
} else if (gCurrentLevel == LEVEL_AREA_6) {
func_DF4260_8018ED78((Object_408*) player);
func_E16C50_8018ED78(player);
} else if (gCurrentLevel == LEVEL_FORTUNA) {
func_8004C90C(player);
func_800AA800(player);
@ -1460,10 +1439,10 @@ void func_8004C930(Player* player) {
func_8019EE60(player);
func_800AA800(player);
} else if (gCurrentLevel == LEVEL_SOLAR) {
func_801A7930(player);
func_E16C50_801A7930(player);
func_800AA800(player);
} else if (gCurrentLevel == LEVEL_ZONESS) {
func_8019D76C(player);
func_E16C50_8019D76C(player);
func_800AA800(player);
} else if (gCurrentLevel == LEVEL_VENOM_2) {
func_80196D88(player);
@ -2213,8 +2192,7 @@ void func_8004EBD0(Object_2F4* obj2F4) {
Matrix_RotateY(gCalcMatrix, (gPlayer[0].unk_0E8 + 180.0f) * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, -(gPlayer[0].unk_0E4 * M_DTOR), 1);
Matrix_RotateZ(gCalcMatrix, -((gPlayer[0].unk_0F0 + gPlayer->unk_0F8) * M_DTOR), 1);
Matrix_RotateZ(gCalcMatrix, -((gPlayer[0].unk_0F8 + gPlayer[0].unk_0F0) * M_DTOR), 1);
src.x = 0.0f;
src.y = 0.0f;
src.z = obj2F4->unk_124.z * obj2F4->unk_124.z;

View File

@ -1,527 +1,358 @@
#include "global.h"
// these are overlay functions. They will need to be replaced with their proper overlay names given below them.
void func_8018756C(Object*);
// func_E08400_8018756C
void func_801875A4(Object*);
// func_DF4260_801875A4
void func_80187650(Object*);
// func_E08400_80187650
void func_801877C4(Object*);
// func_E08400_801877C4
void func_80187944(Object*);
// func_E16C50_80187944
void func_8018795C(Object*);
// func_E08400_8018795C
void func_801880E4(Object*);
// func_E9F1D0_801880E4
void func_80188344(Object*);
// func_E08400_80188344
void func_80188448(Object*);
// func_E9F1D0_80188448
void func_80188528(Object*);
// func_E9F1D0_80188528
void func_80188660(Object*);
// func_E9F1D0_80188660
void func_801887D0(Object*);
// func_E08400_801887D0
void func_80188AD0(Object*);
// func_E51970_80188AD0
void func_80188CAC(Object*);
// func_E08400_80188CAC
void func_80188F60(Object*);
// func_E6A810_80188F60
void func_80188FA8(Object*);
// func_E6A810_80188FA8
void func_80188FAC(Object*);
// func_E08400_80188FAC
void func_80188FE4(Object*);
// func_E51970_80188FE4
void func_80189058(Object*);
void func_801875A4(Object*);
// func_DF4260_80189058
void func_80189114(Object*);
// func_E08400_80189114
void func_80189194(Object*);
// func_E6A810_80189194
void func_8018933C(Object*);
// func_E9F1D0_8018933C
void func_801893B8(Object*);
// func_E9F1D0_801893B8
void func_80189470(Object*);
// func_E9F1D0_80189470
void func_801895B8(Object*);
// func_E6A810_801895B8
void func_80189724(Object*);
// func_E9F1D0_80189724
void func_8018978C(Object*);
// func_E08400_8018978C
void func_80189AFC(Object*);
// func_E6A810_80189AFC
void func_80189B70(Object*);
// func_E9F1D0_80189B70
void func_80189CC8(Object*);
// func_E6A810_80189CC8
void func_8018A1C0(Object*);
// func_E6A810_8018A1C0
void func_8018A544(Object*);
// func_E6A810_8018A544
void func_8018AA74(Object*);
void func_80189058(Object*);
// func_DF4260_8018AA74
void func_8018AABC(Object*);
// func_E6A810_8018AABC
void func_8018AB44(Object*);
// func_E6A810_8018AB44
void func_8018AED0(Object*);
void func_8018AA74(Object*);
// func_DF4260_8018AED0
void func_8018B15C(Object*);
void func_8018AED0(Object*);
// func_DF4260_8018B15C
void func_8018B268(Object*);
// func_E6A810_8018B268
void func_8018B418(Object*);
void func_8018B15C(Object*);
// func_DF4260_8018B418
void func_8018B58C(Object*);
void func_8018B418(Object*);
// func_DF4260_8018B58C
void func_8018B6AC(Object*);
// func_E6A810_8018B6AC
void func_8018B8C0(Object*);
// func_E9F1D0_8018B8C0
void func_8018B9D0(Object*);
// func_E6A810_8018B9D0
void func_8018BAAC(Object*);
void func_8018B58C(Object*);
// func_DF4260_8018BAAC
void func_8018BACC(Object*);
// func_E08400_8018BACC
void func_8018BBA4(Object*);
void func_8018BAAC(Object*);
// func_DF4260_8018BBA4
void func_8018BBF8(Object*);
void func_8018BBA4(Object*);
// func_DF4260_8018BBF8
void func_8018BD7C(Object*);
void func_8018BBF8(Object*);
// func_DF4260_8018BD7C
void func_8018BE84(Object*);
// func_E6A810_8018BE84
void func_8018C19C(Object*);
void func_8018BD7C(Object*);
// func_DF4260_8018C19C
void func_8018C54C(Object*);
// func_E16C50_8018C54C
void func_8018C8A8(Object*);
// func_E6A810_8018C8A8
void func_8018CAD4(Object*);
// func_E9F1D0_8018CAD4
void func_8018CF98(Object*);
// func_E9F1D0_8018CF98
void func_8018D9EC(Object*);
// func_E08400_8018D9EC
void func_8018DA6C(Object*);
// func_E08400_8018DA6C
void func_8018DAEC(Object*);
// func_E08400_8018DAEC
void func_8018DB6C(Object*);
// func_E08400_8018DB6C
void func_8018DBEC(Object*);
// func_E08400_8018DBEC
void func_8018DBF0(Object*);
// func_E9F1D0_8018DBF0
void func_8018DCE4(Object*);
// func_E08400_8018DCE4
void func_8018DDAC(Object*);
void func_8018C19C(Object*);
// func_DF4260_8018DDAC
void func_8018DE14(Object*);
// func_E08400_8018DE14
void func_8018E290(Object*);
void func_8018DDAC(Object*);
// func_DF4260_8018E290
void func_8018E2D8(Object*);
// func_E6A810_8018E2D8
void func_8018E54C(Object*);
// func_E6A810_8018E54C
void func_8018E5B4(Object*);
// func_E6A810_8018E5B4
void func_8018E5F8(Object*);
// func_E6A810_8018E5F8
void func_8018E76C(Object*);
void func_8018E290(Object*);
// func_DF4260_8018E76C
void func_8018ECAC(Object*);
void func_8018E76C(Object*);
// func_DF4260_8018ECAC
void func_8018ED78(Object*);
void func_8018ECAC(Object*);
// func_DF4260_8018ED78
void func_8018EE84(Object*);
void func_8018ED78(Object*);
// func_DF4260_8018EE84
void func_8018EF14(Object*);
// func_E6A810_8018EF14
void func_8018EF90(Object*);
void func_8018EE84(Object*);
// func_DF4260_8018EF90
void func_8018F038(Object*);
// func_E6A810_8018F038
void func_8018F044(Object*);
void func_8018EF90(Object*);
// func_DF4260_8018F044
void func_8018F31C(Object*);
void func_8018F044(Object*);
// func_DF4260_8018F31C
void func_8018F330(Object*);
// func_E08400_8018F330
void func_8018F4D8(Object*);
// func_E6A810_8018F4D8
void func_8018F884(Object*);
// func_E08400_8018F884
void func_8018F8B8(Object*);
// func_E6A810_8018F8B8
void func_8018FE38(Object*);
// func_E08400_8018FE38
void func_8018FF20(Object*);
// func_E08400_8018FF20
void func_8018FF84(Object*);
// func_E08400_8018FF84
void func_80190020(Object*);
// func_E08400_80190020
void func_80190078(Object*);
// func_E08400_80190078
void func_801904CC(Object*);
// func_E16C50_801904CC
void func_80190A00(Object*);
// func_E16C50_80190A00
void func_80191010(Object*);
// func_E16C50_80191010
void func_80191054(Object*);
// func_E51970_80191054
void func_80191180(Object*);
// func_E51970_80191180
void func_801912FC(Object*);
// func_E51970_801912FC
void func_801914C4(Object*);
// func_E16C50_801914C4
void func_80191680(Object*);
// func_E16C50_80191680
void func_80191AFC(Object*);
// func_E51970_80191AFC
void func_80191B4C(Object*);
// func_E16C50_80191B4C
void func_80191BC4(Object*);
// func_E16C50_80191BC4
void func_80191DB0(Object*);
// func_E16C50_80191DB0
void func_80191FFC(Object*);
// func_E16C50_80191FFC
void func_80192094(Object*);
// func_E16C50_80192094
void func_801922DC(Object*);
void func_8018F31C(Object*);
// func_DF4260_801922DC
void func_80192358(Object*);
void func_801922DC(Object*);
// func_DF4260_80192358
void func_801923C0(Object*);
void func_80192358(Object*);
// func_DF4260_801923C0
void func_8019243C(Object*);
void func_801923C0(Object*);
// func_DF4260_8019243C
void func_80192518(Object*);
void func_8019243C(Object*);
// func_DF4260_80192518
void func_80192834(Object*);
// func_E16C50_80192834
void func_801928C8(Object*);
// func_E9F1D0_801928C8
void func_80192984(Object*);
// func_E51970_80192984
void func_80192A68(Object*);
// func_E51970_80192A68
void func_80192C18(Object*);
// func_E16C50_80192C18
void func_80192CD4(Object*);
void func_80192518(Object*);
// func_DF4260_80192CD4
void func_80192E2C(Object*);
void func_80192CD4(Object*);
// func_DF4260_80192E2C
void func_80192E64(Object*);
// func_E16C50_80192E64
void func_80192E94(Object*);
// func_E9F1D0_80192E94
void func_80192EB0(Object*);
void func_80192E2C(Object*);
// func_DF4260_80192EB0
void func_80193240(Object*);
// func_E16C50_80193240
void func_80193244(Object*);
// func_E9F1D0_80193244
void func_80193380(Object*);
// func_E9F1D0_80193380
void func_801933DC(Object*);
void func_80192EB0(Object*);
// func_DF4260_801933DC
void func_80193434(Object*);
// func_E08400_80193434
void func_801934D0(Object*);
void func_801933DC(Object*);
// func_DF4260_801934D0
void func_8019350C(Object*);
// func_E9F1D0_8019350C
void func_80193540(Object*);
void func_801934D0(Object*);
// func_DF4260_80193540
void func_8019356C(Object*);
// func_E9F1D0_8019356C
void func_801935D4(Object*);
// func_E9F1D0_801935D4
void func_80193718(Object*);
// func_E51970_80193718
void func_80193B1C(Object*);
// func_E51970_80193B1C
void func_80194398(Object*);
void func_80193540(Object*);
// func_DF4260_80194398
void func_801946C4(Object*);
// func_E51970_801946C4
void func_801949DC(Object*);
// func_E16C50_801949DC
void func_80194A84(Object*);
// func_E16C50_80194A84
void func_80196210(Object*);
// func_E9F1D0_80196210
void func_80196288(Object*);
// func_E9F1D0_80196288
void func_801968F4(Object*);
// func_E51970_801968F4
void func_80197A94(Object*);
// func_E6A810_80197A94
void func_80197C64(Object*);
// func_E9F1D0_80197C64
void func_80197CB8(Object*);
// func_E9F1D0_80197CB8
void func_801982A8(Object*);
// func_E6A810_801982A8
void func_801985E4(Object*);
void func_80194398(Object*);
// func_DF4260_801985E4
void func_80198968(Object*);
void func_801985E4(Object*);
// func_DF4260_80198968
void func_8019969C(Object*);
// func_E16C50_8019969C
void func_8019983C(Object*);
// func_E16C50_8019983C
void func_80199A28(Object*);
// func_E16C50_80199A28
void func_80199E24(Object*);
// func_E16C50_80199E24
void func_80199F10(Object*);
// func_E16C50_80199F10
void func_8019A1FC(Object*);
// func_E16C50_8019A1FC
void func_8019A5D4(Object*);
// func_E16C50_8019A5D4
void func_8019ACCC(Object*);
// func_E16C50_8019ACCC
void func_8019B548(Object*);
// func_E16C50_8019B548
void func_8019B7DC(Object*);
// func_E16C50_8019B7DC
void func_8019B854(Object*);
// func_E16C50_8019B854
void func_8019BDE0(Object*);
// func_E16C50_8019BDE0
void func_8019BE48(Object*);
// func_E16C50_8019BE48
void func_8019C1CC(Object*);
// func_E16C50_8019C1CC
void func_8019C454(Object*);
// func_E16C50_8019C454
void func_8019C778(Object*);
// func_E6A810_8019C778
void func_8019C83C(Object*);
// func_E16C50_8019C83C
void func_8019C888(Object*);
// func_E9F1D0_8019C888
void func_8019CBEC(Object*);
// func_E16C50_8019CBEC
void func_8019CE58(Object*);
// func_E16C50_8019CE58
void func_8019CE88(Object*);
// func_E6A810_8019CE88
void func_8019D15C(Object*);
// func_E16C50_8019D15C
void func_8019D3C4(Object*);
// func_E16C50_8019D3C4
void func_8019D700(Object*);
// func_E6A810_8019D700
void func_8019E234(Object*);
void func_80198968(Object*);
// func_E08400_8018756C
void func_8018756C(Object*);
// func_E08400_80187650
void func_80187650(Object*);
// func_E08400_801877C4
void func_801877C4(Object*);
// func_E08400_8018795C
void func_8018795C(Object*);
// func_E08400_80188344
void func_80188344(Object*);
// func_E08400_801887D0
void func_801887D0(Object*);
// func_E08400_80188CAC
void func_80188CAC(Object*);
// func_E08400_80188FAC
void func_80188FAC(Object*);
// func_E08400_80189114
void func_80189114(Object*);
// func_E08400_8018978C
void func_8018978C(Object*);
// func_E08400_8018BACC
void func_8018BACC(Object*);
// func_E08400_8018D9EC
void func_8018D9EC(Object*);
// func_E08400_8018DA6C
void func_8018DA6C(Object*);
// func_E08400_8018DAEC
void func_8018DAEC(Object*);
// func_E08400_8018DB6C
void func_8018DB6C(Object*);
// func_E08400_8018DBEC
void func_8018DBEC(Object*);
// func_E08400_8018DCE4
void func_8018DCE4(Object*);
// func_E08400_8018DE14
void func_8018DE14(Object*);
// func_E08400_8018F330
void func_8018F330(Object*);
// func_E08400_8018F884
void func_8018F884(Object*);
// func_E08400_8018FE38
void func_8018FE38(Object*);
// func_E08400_8018FF20
void func_8018FF20(Object*);
// func_E08400_8018FF84
void func_8018FF84(Object*);
// func_E08400_80190020
void func_80190020(Object*);
// func_E08400_80190078
void func_80190078(Object*);
// func_E08400_80193434
void func_80193434(Object*);
// func_E51970_80188AD0
void func_80188AD0(Object*);
// func_E51970_80188FE4
void func_80188FE4(Object*);
// func_E51970_80191054
void func_80191054(Object*);
// func_E51970_80191180
void func_80191180(Object*);
// func_E51970_801912FC
void func_801912FC(Object*);
// func_E51970_80191AFC
void func_80191AFC(Object*);
// func_E51970_80192984
void func_80192984(Object*);
// func_E51970_80192A68
void func_80192A68(Object*);
// func_E51970_80193718
void func_80193718(Object*);
// func_E51970_80193B1C
void func_80193B1C(Object*);
// func_E51970_801946C4
void func_801946C4(Object*);
// func_E51970_801968F4
void func_801968F4(Object*);
// func_E51970_8019E234
void func_8019E2C4(Object*);
// func_E9F1D0_8019E2C4
void func_8019E3A8(Object*);
void func_8019E234(Object*);
// func_E51970_8019E3A8
void func_8019E410(Object*);
// func_E6A810_8019E410
void func_8019E454(Object*);
void func_8019E3A8(Object*);
// func_E51970_8019E454
void func_8019E98C(Object*);
void func_8019E454(Object*);
// func_E51970_8019E98C
void func_8019EA60(Object*);
void func_8019E98C(Object*);
// func_E6A810_80188F60
void func_80188F60(Object*);
// func_E6A810_80188FA8
void func_80188FA8(Object*);
// func_E6A810_80189194
void func_80189194(Object*);
// func_E6A810_801895B8
void func_801895B8(Object*);
// func_E6A810_80189AFC
void func_80189AFC(Object*);
// func_E6A810_80189CC8
void func_80189CC8(Object*);
// func_E6A810_8018A1C0
void func_8018A1C0(Object*);
// func_E6A810_8018A544
void func_8018A544(Object*);
// func_E6A810_8018AABC
void func_8018AABC(Object*);
// func_E6A810_8018AB44
void func_8018AB44(Object*);
// func_E6A810_8018B268
void func_8018B268(Object*);
// func_E6A810_8018B6AC
void func_8018B6AC(Object*);
// func_E6A810_8018B9D0
void func_8018B9D0(Object*);
// func_E6A810_8018BE84
void func_8018BE84(Object*);
// func_E6A810_8018C8A8
void func_8018C8A8(Object*);
// func_E6A810_8018E2D8
void func_8018E2D8(Object*);
// func_E6A810_8018E54C
void func_8018E54C(Object*);
// func_E6A810_8018E5B4
void func_8018E5B4(Object*);
// func_E6A810_8018E5F8
void func_8018E5F8(Object*);
// func_E6A810_8018EF14
void func_8018EF14(Object*);
// func_E6A810_8018F038
void func_8018F038(Object*);
// func_E6A810_8018F4D8
void func_8018F4D8(Object*);
// func_E6A810_8018F8B8
void func_8018F8B8(Object*);
// func_E6A810_80197A94
void func_80197A94(Object*);
// func_E6A810_801982A8
void func_801982A8(Object*);
// func_E6A810_8019C778
void func_8019C778(Object*);
// func_E6A810_8019CE88
void func_8019CE88(Object*);
// func_E6A810_8019D700
void func_8019D700(Object*);
// func_E6A810_8019E410
void func_8019E410(Object*);
// func_E6A810_8019EA60
void func_8019EA7C(Object*);
// func_E16C50_8019EA7C
void func_8019EE68(Object*);
void func_8019EA60(Object*);
// func_E6A810_8019EE68
void func_8019F20C(Object*);
// func_E16C50_8019F20C
void func_8019F7AC(Object*);
// func_E16C50_8019F7AC
void func_8019FF9C(Object*);
void func_8019EE68(Object*);
// func_E6A810_8019FF9C
void func_801A003C(Object*);
// func_E16C50_801A003C
void func_801A0120(Object*);
// func_E16C50_801A0120
void func_801A0AF0(Object*);
// func_E16C50_801A0AF0
void func_801A0BD8(Object*);
void func_8019FF9C(Object*);
// func_E6A810_801A0BD8
void func_801A12C4(Object*);
void func_801A0BD8(Object*);
// func_E6A810_801A12C4
void func_801A23AC(Object*);
void func_801A12C4(Object*);
// func_E6A810_801A23AC
void func_801A2A78(Object*);
void func_801A23AC(Object*);
// func_E6A810_801A2A78
void func_801A2B24(Object*);
void func_801A2A78(Object*);
// func_E6A810_801A2B24
void func_801A2DD8(Object*);
void func_801A2B24(Object*);
// func_E6A810_801A2DD8
void func_801A3240(Object*);
void func_801A2DD8(Object*);
// func_E6A810_801A3240
void func_801A3E98(Object*);
void func_801A3240(Object*);
// func_E6A810_801A3E98
void func_801A43BC(Object*);
void func_801A3E98(Object*);
// func_E6A810_801A43BC
void func_801A46A0(Object*);
void func_801A43BC(Object*);
// func_E6A810_801A46A0
void func_801A4A64(Object*);
void func_801A46A0(Object*);
// func_E6A810_801A4A64
void func_801A4B24(Object*);
void func_801A4A64(Object*);
// func_E6A810_801A4B24
void func_801A4E44(Object*);
// func_E9F1D0_801A4E44
void func_801A52B8(Object*);
// func_E9F1D0_801A52B8
void func_801A54E8(Object*);
void func_801A4B24(Object*);
// func_E6A810_801A54E8
void func_801A57D0(Object*);
void func_801A54E8(Object*);
// func_E6A810_801A57D0
void func_801A5AF0(Object*);
void func_801A57D0(Object*);
// func_E6A810_801A5AF0
void func_801A5B3C(Object*);
// func_E16C50_801A5B3C
void func_801A5B4C(Object*);
void func_801A5AF0(Object*);
// func_E6A810_801A5B4C
void func_801A5D68(Object*);
void func_801A5B4C(Object*);
// func_E6A810_801A5D68
void func_801A5E54(Object*);
void func_801A5D68(Object*);
// func_E6A810_801A5E54
void func_801A5F90(Object*);
void func_801A5E54(Object*);
// func_E6A810_801A5F90
void func_801A5FD0(Object*);
void func_801A5F90(Object*);
// func_E6A810_801A5FD0
void func_801A6100(Object*);
void func_801A5FD0(Object*);
// func_E6A810_801A6100
void func_801A6144(Object*);
void func_801A6100(Object*);
// func_E6A810_801A6144
void func_801A6540(Object*);
void func_801A6144(Object*);
// func_E6A810_801A6540
void func_801A6608(Object*);
void func_801A6540(Object*);
// func_E6A810_801A6608
void func_801A67C8(Object*);
void func_801A6608(Object*);
// func_E6A810_801A67C8
void func_801A68EC(Object*);
void func_801A67C8(Object*);
// func_E6A810_801A68EC
void func_801A71B8(Object*);
// func_E16C50_801A71B8
void func_801A7E7C(Object*);
void func_801A68EC(Object*);
// func_E6A810_801A7E7C
void func_801AC294(Object*);
void func_801A7E7C(Object*);
// func_E6A810_801AC294
void func_801AC438(Object*);
void func_801AC294(Object*);
// func_E6A810_801AC438
void func_801AC918(Object*);
// func_E16C50_801AC918
void func_801AD6C0(Object*);
// func_E16C50_801AD6C0
void func_801AD6F0(Object*);
void func_801AC438(Object*);
// func_E6A810_801AD6F0
void func_801ADAC8(Object*);
void func_801AD6F0(Object*);
// func_E6A810_801ADAC8
void func_801ADD68(Object*);
void func_801ADAC8(Object*);
// func_E6A810_801ADD68
void func_801AE168(Object*);
// func_E16C50_801AE168
void func_801AE2C0(Object*);
void func_801ADD68(Object*);
// func_E6A810_801AE2C0
void func_801AE3D8(Object*);
// func_E16C50_801AE3D8
void func_801AE87C(Object*);
void func_801AE2C0(Object*);
// func_E6A810_801AE87C
void func_801AEAA0(Object*);
void func_801AE87C(Object*);
// func_E6A810_801AEAA0
void func_801AEB44(Object*);
// func_E16C50_801AEB44
void func_801AEC04(Object*);
void func_801AEAA0(Object*);
// func_E6A810_801AEC04
void func_801AEEFC(Object*);
void func_801AEC04(Object*);
// func_E6A810_801AEEFC
void func_801AFA5C(Object*);
// func_E16C50_801AFA5C
void func_801B099C(Object*);
// func_E16C50_801B099C
void func_801B0B60(Object*);
// func_E16C50_801B0B60
void func_801B0EC0(Object*);
// func_E16C50_801B0EC0
void func_801B134C(Object*);
// func_E16C50_801B134C
void func_801B4D84(Object*);
// func_E16C50_801B4D84
void func_801B504C(Object*);
// func_E16C50_801B504C
void func_801B50E8(Object*);
// func_E16C50_801B50E8
void func_801B619C(Object*);
// func_E16C50_801B619C
void func_801B638C(Object*);
// func_E16C50_801B638C
void func_801B6FF8(Object*);
// func_E16C50_801B6FF8
void func_801B7A24(Object*);
// func_E16C50_801B7A24
void func_801B7C78(Object*);
// func_E16C50_801B7C78
void func_801B90DC(Object*);
// func_E16C50_801B90DC
void func_801B91A4(Object*);
// func_E16C50_801B91A4
void func_801BA108(Object*);
// func_E16C50_801BA108
void func_801BA26C(Object*);
// func_E16C50_801BA26C
void func_801BA4E4(Object*);
// func_E16C50_801BA4E4
void func_801BA6A4(Object*);
// func_E16C50_801BA6A4
void func_801BAD7C(Object*);
// func_E16C50_801BAD7C
void func_801BADF8(Object*);
// func_E16C50_801BADF8
void func_801BB204(Object*);
// func_E16C50_801BB204
void func_801BB79C(Object*);
// func_E16C50_801BB79C
void func_801BC930(Object*);
// func_E16C50_801BC930
void func_801BC9A0(Object*);
// func_E16C50_801BC9A0
void func_801BD264(Object*);
// func_E16C50_801BD264
void func_801BD54C(Object*);
// func_E16C50_801BD54C
void func_801BDE6C(Object*);
// func_E16C50_801BDE6C
void func_801BE1FC(Object*);
// func_E16C50_801BE1FC
void func_801BE3F8(Object*);
// func_E16C50_801BE3F8
void func_801BEB1C(Object*);
// func_E16C50_801BEB1C
void func_801BEC50(Object*);
// func_E16C50_801BEC50
void func_801BEC5C(Object*);
// func_E16C50_801BEC5C
void func_801BEC68(Object*);
// func_E16C50_801BEC68
void func_801BEC74(Object*);
// func_E16C50_801BEC74
void func_801AEEFC(Object*);
// func_E9F1D0_801880E4
void func_801880E4(Object*);
// func_E9F1D0_80188448
void func_80188448(Object*);
// func_E9F1D0_80188528
void func_80188528(Object*);
// func_E9F1D0_80188660
void func_80188660(Object*);
// func_E9F1D0_8018933C
void func_8018933C(Object*);
// func_E9F1D0_801893B8
void func_801893B8(Object*);
// func_E9F1D0_80189470
void func_80189470(Object*);
// func_E9F1D0_80189724
void func_80189724(Object*);
// func_E9F1D0_80189B70
void func_80189B70(Object*);
// func_E9F1D0_8018B8C0
void func_8018B8C0(Object*);
// func_E9F1D0_8018CAD4
void func_8018CAD4(Object*);
// func_E9F1D0_8018CF98
void func_8018CF98(Object*);
// func_E9F1D0_8018DBF0
void func_8018DBF0(Object*);
// func_E9F1D0_801928C8
void func_801928C8(Object*);
// func_E9F1D0_80192E94
void func_80192E94(Object*);
// func_E9F1D0_80193244
void func_80193244(Object*);
// func_E9F1D0_80193380
void func_80193380(Object*);
// func_E9F1D0_8019350C
void func_8019350C(Object*);
// func_E9F1D0_8019356C
void func_8019356C(Object*);
// func_E9F1D0_801935D4
void func_801935D4(Object*);
// func_E9F1D0_80196210
void func_80196210(Object*);
// func_E9F1D0_80196288
void func_80196288(Object*);
// func_E9F1D0_80197C64
void func_80197C64(Object*);
// func_E9F1D0_80197CB8
void func_80197CB8(Object*);
// func_E9F1D0_8019C888
void func_8019C888(Object*);
// func_E9F1D0_8019E2C4
void func_8019E2C4(Object*);
// func_E9F1D0_801A4E44
void func_801A4E44(Object*);
// func_E9F1D0_801A52B8
void func_801A52B8(Object*);
f32 D_800CBE70[] = {
1.0f, 0.0f, 50.0f, 0.0f, 25.0f, 0.0f, 25.0f,
@ -719,7 +550,7 @@ ObjectInfo D_800CC124[0x190] = {
/* 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_801BE1FC, 1, (ObjectFunc) NULL, D_800CBF34, 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_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 },
@ -781,7 +612,7 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_2F4_185 */ {(void*) func_8018DB6C, 1, (ObjectFunc) func_8018D9EC, D_800CBF34, 100.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_2F4_186 */ {(void*) func_8005B7CC, 1, (ObjectFunc) func_8018795C, D_602F724, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_2F4_187 */ {(void*) D_6018450, 0, (ObjectFunc) func_801877C4, D_602F740, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_2F4_188 */ {(void*) func_801BEC74, 1, (ObjectFunc) func_801BEC68, D_6030BE0, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_2F4_188 */ {(void*) func_E16C50_801BEC74, 1, (ObjectFunc) func_E16C50_801BEC68, D_6030BE0, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_2F4_189 */ {(void*) func_8005A094, 1, (ObjectFunc) func_8006C008, D_800CBF34, 0.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_2F4_190 */ {(void*) func_8005B848, 1, (ObjectFunc) func_800656D4, D_800CBFE4, 100.0f, 0, 1, 39, 0, 1.0f, 0 },
/* OBJ_2F4_191 */ {(void*) func_8005B848, 1, (ObjectFunc) func_800656D4, D_800CBFE4, 100.0f, 0, 1, 39, 0, 1.0f, 0 },
@ -828,51 +659,51 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_2F4_232 */ {(void*) func_8018B6AC, 1, (ObjectFunc) func_8018B268, D_6006890_f32, 0.0f, 0, 0, 39, 1, 20.0f, 1 },
/* OBJ_2F4_233 */ {(void*) func_8018A1C0, 1, (ObjectFunc) func_80189CC8, D_60068F0, 200.0f, 0, 0, 39, 1, 1.0f, 1 },
/* OBJ_2F4_234 */ {(void*) func_80077218, 1, (ObjectFunc) func_800771CC, D_800CBF34, 2000.0f, 0, 0, 39, 0, 0.0f, 5 },
/* OBJ_2F4_235 */ {(void*) func_E16C50_80190430, 2, (ObjectFunc) func_801904CC, D_602C294, 1000.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_2F4_236 */ {(void*) func_E16C50_80190F08, 1, (ObjectFunc) func_80190A00, D_602BC58, 5000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_235 */ {(void*) func_E16C50_80190430, 2, (ObjectFunc) func_E16C50_801904CC, D_602C294, 1000.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_2F4_236 */ {(void*) func_E16C50_80190F08, 1, (ObjectFunc) func_E16C50_80190A00, D_602BC58, 5000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_237 */ {(void*) func_8006A978, 1, (ObjectFunc) func_8006A96C, D_800CBF34, 200.0f, 0, 0, 40, 0, 0.0f, 2 },
/* OBJ_2F4_238 */ {(void*) func_801914C4, 2, (ObjectFunc) func_80191010, D_800CBE8C, 200.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_2F4_238 */ {(void*) func_E16C50_801914C4, 2, (ObjectFunc) func_E16C50_80191010, D_800CBE8C, 200.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_2F4_239 */ {(void*) NULL, 1, (ObjectFunc) NULL, D_800CBF34, 1000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_2F4_240 */ {(void*) func_80191B4C, 1, (ObjectFunc) func_80191680, D_800CBE8C, 1500.0f, 0, 1, 40, 0, 20.0f, 0 },
/* OBJ_2F4_241 */ {(void*) func_80191DB0, 1, (ObjectFunc) func_80191BC4, D_800CBE70, 1500.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_2F4_242 */ {(void*) func_80191FFC, 2, (ObjectFunc) func_80192094, D_602BE3C, 500.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_2F4_243 */ {(void*) func_80192C18, 2, (ObjectFunc) func_80192834, D_800CBE8C, 0.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_2F4_244 */ {(void*) func_80193240, 2, (ObjectFunc) func_80192E64, D_602BE58, 2000.0f, 0, 0, 40, 0, 50.0f, 0 },
/* OBJ_2F4_245 */ {(void*) func_8019983C, 1, (ObjectFunc) func_8019969C, D_800CBE8C, 200.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_2F4_246 */ {(void*) func_80199E24, 1, (ObjectFunc) func_80199A28, D_800CBE8C, 2000.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_2F4_247 */ {(void*) func_8019D3C4, 1, (ObjectFunc) func_8019D15C, D_602BFC4, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_248 */ {(void*) func_8019A1FC, 1, (ObjectFunc) func_80199F10, D_800CBEA8, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_249 */ {(void*) func_8019ACCC, 1, (ObjectFunc) func_8019A5D4, D_800CBEC4, 5000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_250 */ {(void*) func_8019B7DC, 1, (ObjectFunc) func_8019B548, D_602C1D4, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_251 */ {(void*) func_8019BDE0, 2, (ObjectFunc) func_8019B854, D_602C218, 1000.0f, 0, 0, 40, 0, 1.0f, 1 },
/* OBJ_2F4_252 */ {(void*) func_8019C1CC, 1, (ObjectFunc) func_8019BE48, D_602C234, 200.0f, 0, 0, 40, 0, 80.0f, 1 },
/* OBJ_2F4_253 */ {(void*) func_8019C83C, 1, (ObjectFunc) func_8019C454, D_602C250, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_254 */ {(void*) func_8019CE58, 1, (ObjectFunc) func_8019CBEC, D_602C2B0, 300.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_2F4_255 */ {(void*) func_801AE168, 1, (ObjectFunc) func_801AD6C0, D_6030BFC, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_256 */ {(void*) func_801AEB44, 1, (ObjectFunc) func_801AE3D8, D_6030C18, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_257 */ {(void*) func_801B099C, 1, (ObjectFunc) func_801AFA5C, D_6030C44, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_258 */ {(void*) func_801B0EC0, 1, (ObjectFunc) func_801B0B60, D_800CBE8C, 200.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_259 */ {(void*) func_801B619C, 2, (ObjectFunc) func_801B638C, D_6031398, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_260 */ {(void*) func_801B90DC, 2, (ObjectFunc) func_801B7C78, D_60313CC, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_261 */ {(void*) func_801B504C, 2, (ObjectFunc) func_801B50E8, D_6031400, 300.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_2F4_262 */ {(void*) func_801B7A24, 2, (ObjectFunc) func_801B6FF8, D_603144C, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_263 */ {(void*) func_801BA108, 2, (ObjectFunc) func_801B91A4, D_6031480, 200.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_2F4_264 */ {(void*) func_801BA4E4, 1, (ObjectFunc) func_801BA26C, D_800CBE8C, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_2F4_265 */ {(void*) func_801BAD7C, 1, (ObjectFunc) func_801BA6A4, D_6031500, 200.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_2F4_266 */ {(void*) func_801BB204, 2, (ObjectFunc) func_801BADF8, D_6031538, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_2F4_267 */ {(void*) func_801BC930, 2, (ObjectFunc) func_801BB79C, D_6031554, 800.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_268 */ {(void*) func_801BDE6C, 1, (ObjectFunc) func_801BD54C, D_6031570, 10000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_2F4_269 */ {(void*) func_801BD264, 1, (ObjectFunc) func_801BC9A0, D_6030D20, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_270 */ {(void*) func_801BEB1C, 1, (ObjectFunc) func_801BE3F8, D_60314C8, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_240 */ {(void*) func_E16C50_80191B4C, 1, (ObjectFunc) func_E16C50_80191680, D_800CBE8C, 1500.0f, 0, 1, 40, 0, 20.0f, 0 },
/* OBJ_2F4_241 */ {(void*) func_E16C50_80191DB0, 1, (ObjectFunc) func_E16C50_80191BC4, D_800CBE70, 1500.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_2F4_242 */ {(void*) func_E16C50_80191FFC, 2, (ObjectFunc) func_E16C50_80192094, D_602BE3C, 500.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_2F4_243 */ {(void*) func_E16C50_80192C18, 2, (ObjectFunc) func_E16C50_80192834, D_800CBE8C, 0.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_2F4_244 */ {(void*) func_E16C50_80193240, 2, (ObjectFunc) func_E16C50_80192E64, D_602BE58, 2000.0f, 0, 0, 40, 0, 50.0f, 0 },
/* OBJ_2F4_245 */ {(void*) func_E16C50_8019983C, 1, (ObjectFunc) func_E16C50_8019969C, D_800CBE8C, 200.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_2F4_246 */ {(void*) func_E16C50_80199E24, 1, (ObjectFunc) func_E16C50_80199A28, D_800CBE8C, 2000.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_2F4_247 */ {(void*) func_E16C50_8019D3C4, 1, (ObjectFunc) func_E16C50_8019D15C, D_602BFC4, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_248 */ {(void*) func_E16C50_8019A1FC, 1, (ObjectFunc) func_E16C50_80199F10, D_800CBEA8, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_249 */ {(void*) func_E16C50_8019ACCC, 1, (ObjectFunc) func_E16C50_8019A5D4, D_800CBEC4, 5000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_250 */ {(void*) func_E16C50_8019B7DC, 1, (ObjectFunc) func_E16C50_8019B548, D_602C1D4, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_251 */ {(void*) func_E16C50_8019BDE0, 2, (ObjectFunc) func_E16C50_8019B854, D_602C218, 1000.0f, 0, 0, 40, 0, 1.0f, 1 },
/* OBJ_2F4_252 */ {(void*) func_E16C50_8019C1CC, 1, (ObjectFunc) func_E16C50_8019BE48, D_602C234, 200.0f, 0, 0, 40, 0, 80.0f, 1 },
/* OBJ_2F4_253 */ {(void*) func_E16C50_8019C83C, 1, (ObjectFunc) func_E16C50_8019C454, D_602C250, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_254 */ {(void*) func_E16C50_8019CE58, 1, (ObjectFunc) func_E16C50_8019CBEC, D_602C2B0, 300.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_2F4_255 */ {(void*) func_E16C50_801AE168, 1, (ObjectFunc) func_E16C50_801AD6C0, D_6030BFC, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_256 */ {(void*) func_E16C50_801AEB44, 1, (ObjectFunc) func_E16C50_801AE3D8, D_6030C18, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_257 */ {(void*) func_E16C50_801B099C, 1, (ObjectFunc) func_E16C50_801AFA5C, D_6030C44, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_258 */ {(void*) func_E16C50_801B0EC0, 1, (ObjectFunc) func_E16C50_801B0B60, D_800CBE8C, 200.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_259 */ {(void*) func_E16C50_801B619C, 2, (ObjectFunc) func_E16C50_801B638C, D_6031398, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_260 */ {(void*) func_E16C50_801B90DC, 2, (ObjectFunc) func_E16C50_801B7C78, D_60313CC, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_261 */ {(void*) func_E16C50_801B504C, 2, (ObjectFunc) func_E16C50_801B50E8, D_6031400, 300.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_2F4_262 */ {(void*) func_E16C50_801B7A24, 2, (ObjectFunc) func_E16C50_801B6FF8, D_603144C, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_263 */ {(void*) func_E16C50_801BA108, 2, (ObjectFunc) func_E16C50_801B91A4, D_6031480, 200.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_2F4_264 */ {(void*) func_E16C50_801BA4E4, 1, (ObjectFunc) func_E16C50_801BA26C, D_800CBE8C, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_2F4_265 */ {(void*) func_E16C50_801BAD7C, 1, (ObjectFunc) func_E16C50_801BA6A4, D_6031500, 200.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_2F4_266 */ {(void*) func_E16C50_801BB204, 2, (ObjectFunc) func_E16C50_801BADF8, D_6031538, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_2F4_267 */ {(void*) func_E16C50_801BC930, 2, (ObjectFunc) func_E16C50_801BB79C, D_6031554, 800.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_268 */ {(void*) func_E16C50_801BDE6C, 1, (ObjectFunc) func_E16C50_801BD54C, D_6031570, 10000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_2F4_269 */ {(void*) func_E16C50_801BD264, 1, (ObjectFunc) func_E16C50_801BC9A0, D_6030D20, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_270 */ {(void*) func_E16C50_801BEB1C, 1, (ObjectFunc) func_E16C50_801BE3F8, D_60314C8, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_271 */ {(void*) func_8002E694, 2, (ObjectFunc) func_8002E670, D_6011B24, 0.0f, 0, 0, 39, 0, 730.0f, 1 },
/* OBJ_2F4_272 */ {(void*) func_8002E6DC, 1, (ObjectFunc) func_8002E6B8, D_6011BF4, 0.0f, 0, 0, 39, 0, 150.0f, 1 },
/* OBJ_2F4_273 */ {(void*) func_80188FE4, 2, (ObjectFunc) func_80188AD0, D_600FF30, 0.0f, 0, 0, 39, 0, 220.0f, 1 },
/* OBJ_2F4_274 */ {(void*) func_8019E3A8, 1, (ObjectFunc) func_8019E234, D_800CBEC4, 0.0f, 0, 0, 39, 0, 1.0f, 0 },
/* OBJ_2F4_275 */ {(void*) func_8019F7AC, 1, (ObjectFunc) func_8019F20C, D_800CBE8C, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_2F4_276 */ {(void*) func_8019F7AC, 1, (ObjectFunc) func_8019F20C, D_800CBE8C, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_2F4_277 */ {(void*) func_8019F7AC, 1, (ObjectFunc) func_8019F20C, D_800CBEC4, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_2F4_278 */ {(void*) NULL, 1, (ObjectFunc) func_8019EA7C, D_800CBF34, 200.0f, 0, 0, 0, 0, 0.0f, 1 },
/* OBJ_2F4_279 */ {(void*) NULL, 1, (ObjectFunc) func_801A003C, D_800CBF34, 1000.0f, 0, 0, 0, 0, 0.0f, 1 },
/* OBJ_2F4_275 */ {(void*) func_E16C50_8019F7AC, 1, (ObjectFunc) func_E16C50_8019F20C, D_800CBE8C, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_2F4_276 */ {(void*) func_E16C50_8019F7AC, 1, (ObjectFunc) func_E16C50_8019F20C, D_800CBE8C, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_2F4_277 */ {(void*) func_E16C50_8019F7AC, 1, (ObjectFunc) func_E16C50_8019F20C, D_800CBEC4, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_2F4_278 */ {(void*) NULL, 1, (ObjectFunc) func_E16C50_8019EA7C, D_800CBF34, 200.0f, 0, 0, 0, 0, 0.0f, 1 },
/* OBJ_2F4_279 */ {(void*) NULL, 1, (ObjectFunc) func_E16C50_801A003C, D_800CBF34, 1000.0f, 0, 0, 0, 0, 0.0f, 1 },
/* OBJ_2F4_280 */ {(void*) D_900DD20, 0, (ObjectFunc) func_80192518, D_601B7F8, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_281 */ {(void*) func_80192E2C, 1, (ObjectFunc) func_80192CD4, D_601B830, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_282 */ {(void*) D_901DA50, 0, (ObjectFunc) func_80192CD4, D_601B868, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
@ -885,36 +716,36 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_2F4_289 */ {(void*) func_800596B0, 1, (ObjectFunc) func_80189470, D_800CBF34, 1000.0f, 0, 0, 20, 1, 0.0f, 0 },
/* OBJ_2F4_290 */ {(void*) NULL, 1, (ObjectFunc) func_8018933C, D_800CBF34, 1000.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_2F4_291 */ {(void*) func_80067874, 1, (ObjectFunc) func_8006753C, D_800CBEA8, 1000.0f, 0, 0, 0, 0, 1.0f, 0 },
/* OBJ_408_292 */ {(void*) func_8018AA74, 2, (ObjectFunc) func_80189058, D_603E620, 20000.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_408_293 */ {(void*) func_8018ECAC, 1, (ObjectFunc) func_8018C19C, D_603E840, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_408_294 */ {(void*) func_8018ED78, 1, (ObjectFunc) func_8018DDAC, D_603E714, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_408_295 */ {(void*) func_8018EE84, 1, (ObjectFunc) func_8018E290, D_603E748, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_408_296 */ {(void*) func_8018EF90, 1, (ObjectFunc) func_8018E76C, D_603E7C4, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_408_297 */ {(void*) func_8018BACC, 1, (ObjectFunc) func_8018978C, D_602F75C, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_408_298 */ {(void*) func_801887D0, 1, (ObjectFunc) func_80188344, D_602FA50, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_408_299 */ {(void*) func_80042FC4, 2, (ObjectFunc) func_80042FB8, D_800CBF34, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_408_300 */ {(void*) func_80042FE8, 1, (ObjectFunc) func_80042FDC, D_800CBF34, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_408_301 */ {(void*) func_801BEC5C, 1, (ObjectFunc) func_801BEC50, D_6030B10, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_408_302 */ {(void*) func_8018C54C, 1, (ObjectFunc) func_80187944, D_6028454, 2000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_408_303 */ {(void*) func_80193434, 2, (ObjectFunc) func_80190078, D_6032550, 20000.0f, 0, 0, 20, 0, 0.0f, 10 },
/* OBJ_408_304 */ {(void*) func_8018FF84, 2, (ObjectFunc) func_8018FE38, D_6032488, 1000.0f, 0, 0, 20, 0, 0.0f, 10 },
/* OBJ_408_305 */ {(void*) func_80190020, 2, (ObjectFunc) func_8018FF20, D_60324EC, 1000.0f, 0, 0, 20, 0, 0.0f, 10 },
/* OBJ_408_306 */ {(void*) func_801982A8, 1, (ObjectFunc) func_80197A94,D_E6A810_801B83A8, 1000.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_408_307 */ {(void*) func_801949DC, 2, (ObjectFunc) func_80194A84, D_602C044, 1000.0f, 0, 0, 40, 0, 1.0f, 10 },
/* OBJ_408_308 */ {(void*) func_8008FE78, 1, (ObjectFunc) func_800907C4, D_600FFE0, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_408_309 */ {(void*) func_8002E604, 1, (ObjectFunc) func_8002E5E0, D_800CBF34, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_408_310 */ {(void*) func_8002E64C, 1, (ObjectFunc) func_8002E628, D_800CBF34, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_408_311 */ {(void*) func_80191AFC, 2, (ObjectFunc) func_801912FC, D_6011C80, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_408_312 */ {(void*) func_80196288, 2, (ObjectFunc) func_80196210, D_60166F4, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_408_313 */ {(void*) func_8019E98C, 1, (ObjectFunc) func_8019E454, D_6009388, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_408_314 */ {(void*) func_8019E2C4, 2, (ObjectFunc) func_8019C888, D_800CBF34, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_408_315 */ {(void*) func_801A71B8, 2, (ObjectFunc) func_801A5B3C, D_800CBF34, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_408_316 */ {(void*) func_801968F4, 1, (ObjectFunc) func_801946C4, D_6011058, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_408_317 */ {(void*) func_80193B1C, 1, (ObjectFunc) func_80193718, D_601115C, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_408_318 */ {(void*) func_801B4D84, 2, (ObjectFunc) func_801B134C, D_6030F74, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_408_319 */ {(void*) func_801985E4, 1, (ObjectFunc) func_80194398,D_DF4260_8019A9B8, 3000.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_408_320 */ {(void*) func_801928C8, 2, (ObjectFunc) func_8018DBF0, D_C038DC0, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_408_321 */ {(void*) func_8018B8C0, 1, (ObjectFunc) func_80189B70, D_C038F24, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_292 */ {(void*) func_8018AA74, 2, (ObjectFunc) func_80189058, D_603E620, 20000.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_293 */ {(void*) func_8018ECAC, 1, (ObjectFunc) func_8018C19C, D_603E840, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_294 */ {(void*) func_8018ED78, 1, (ObjectFunc) func_8018DDAC, D_603E714, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_295 */ {(void*) func_8018EE84, 1, (ObjectFunc) func_8018E290, D_603E748, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_296 */ {(void*) func_8018EF90, 1, (ObjectFunc) func_8018E76C, D_603E7C4, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_297 */ {(void*) func_8018BACC, 1, (ObjectFunc) func_8018978C, D_602F75C, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* 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_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_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 },
/* OBJ_BOSS_311 */ {(void*) func_80191AFC, 2, (ObjectFunc) func_801912FC, D_6011C80, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* 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_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_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 },
/* OBJ_ITEM_LASERS */ {(void*) func_8005CC9C, 1, (ObjectFunc) func_80067F6C, D_800CBFA8, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ITEM_CHECKPOINT */ {(void*) func_8005C5F0, 1, (ObjectFunc) func_80068914, D_800CBF38, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ITEM_SILVER_RING */ {(void*) func_8005C900, 1, (ObjectFunc) func_80068020, D_800CBF54, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
@ -959,7 +790,7 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_8C_363 */ {(void*) func_80094BBC, 1, (ObjectFunc) func_80094954, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_8C_364 */ {(void*) func_8007B9DC, 1, (ObjectFunc) func_8007B960, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_8C_365 */ {(void*) func_8007E5CC, 1, (ObjectFunc) func_8007E45C, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_8C_366 */ {(void*) func_80078550, 1, (ObjectFunc) func_801AC918, NULL, 100.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_8C_366 */ {(void*) func_80078550, 1, (ObjectFunc) func_E16C50_801AC918, NULL, 100.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_8C_367 */ {(void*) func_80078604, 1, (ObjectFunc) func_8007E648, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_8C_368 */ {(void*) func_80188FA8, 1, (ObjectFunc) func_80188F60, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_8C_369 */ {(void*) func_8018DCE4, 1, (ObjectFunc) func_80188CAC, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 },
@ -985,7 +816,7 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_8C_389 */ {(void*) func_800780F8, 1, (ObjectFunc) func_8007B67C, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_8C_390 */ {(void*) NULL, 1, (ObjectFunc) func_8007C50C, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_8C_391 */ {(void*) func_80083B8C, 1, (ObjectFunc) func_800837EC, NULL, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_8C_392 */ {(void*) func_801A0AF0, 1, (ObjectFunc) func_801A0120, NULL, 300.0f, 1, 2, 10, 0, 0.0f, 0 },
/* OBJ_8C_392 */ {(void*) func_E16C50_801A0AF0, 1, (ObjectFunc) func_E16C50_801A0120, NULL, 300.0f, 1, 2, 10, 0, 0.0f, 0 },
/* OBJ_8C_393 */ {(void*) func_80078F78, 1, (ObjectFunc) func_80078EBC, NULL, 300.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_8C_394 */ {(void*) func_80080D04, 1, (ObjectFunc) func_80080ACC, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_8C_395 */ {(void*) func_80082F78, 1, (ObjectFunc) func_80081C5C, NULL, 300.0f, 0, 1, 40, 0, 0.0f, 0 },

View File

@ -285,7 +285,7 @@ void func_8005A094(Object_2F4* obj2F4) {
if (gCurrentLevel != LEVEL_SOLAR) {
gSPDisplayList(gMasterDisp++, D_E6A810_801B769C[obj2F4->unk_046]);
} else {
if (gObjects408[0].unk_0E4 < 4800.0f) {
if (gBosses[0].fwork[3] < 4800.0f) {
RCP_SetupDL(&gMasterDisp, 0x1E);
gDPSetFogColor(gMasterDisp++, 0x40, 0x20, 0x20, gFogAlpha);
gSPFogPosition(gMasterDisp++, gFogNear, gFogFar);
@ -661,10 +661,10 @@ void func_8005BAB4(ObjectId objId, s32 index) {
break;
}
break;
case OBJ_408_292:
case OBJ_BOSS_292:
gSPDisplayList(gMasterDisp++, D_6034B90);
break;
case OBJ_408_316:
case OBJ_BOSS_316:
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_0) {
RCP_SetupDL(&gMasterDisp, 0x40);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 200);
@ -673,25 +673,25 @@ void func_8005BAB4(ObjectId objId, s32 index) {
Graphics_SetScaleMtx(150.0f);
gSPDisplayList(gMasterDisp++, D_102A8A0);
break;
case OBJ_408_293:
case OBJ_408_294:
case OBJ_408_295:
case OBJ_408_296:
__cosf(gObjects408[index].obj.rot.z * M_DTOR);
case OBJ_BOSS_293:
case OBJ_BOSS_294:
case OBJ_BOSS_295:
case OBJ_BOSS_296:
__cosf(gBosses[index].obj.rot.z * M_DTOR);
if (D_80161A88 == 2) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 90);
} else {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 150);
}
switch (objId) {
case OBJ_408_293:
case OBJ_BOSS_293:
gSPDisplayList(gMasterDisp++, D_6036840);
break;
case OBJ_408_294:
case OBJ_BOSS_294:
gSPDisplayList(gMasterDisp++, D_6036CD0);
break;
case OBJ_408_295:
case OBJ_408_296:
case OBJ_BOSS_295:
case OBJ_BOSS_296:
gSPDisplayList(gMasterDisp++, D_60363B0);
break;
}
@ -749,8 +749,8 @@ void func_8005BAB4(ObjectId objId, s32 index) {
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_1024AC0);
break;
case OBJ_408_319:
func_DF4260_80198310(&gObjects408[index]);
case OBJ_BOSS_319:
func_DF4260_80198310(&gBosses[index]);
break;
}
}
@ -1123,7 +1123,7 @@ void Object_2F4_Draw1(Object_2F4* obj2F4) {
obj2F4->unk_0B0 = D_801615EC;
}
void Object_408_Draw(Object_408* obj408, s32 arg1) {
void Boss_Draw(Boss* boss, s32 arg1) {
f32 var_fa1;
f32 var_ft5;
f32 var_fv0;
@ -1131,21 +1131,21 @@ void Object_408_Draw(Object_408* obj408, s32 arg1) {
f32 sp3C;
Vec3f sp30 = { 0.0f, 0.0f, 0.0f };
if (obj408->info.unk_19 != 0) {
obj408->obj.pos.y += obj408->unk_068 + D_8017847C;
func_8005D1F0(&obj408->obj, obj408->info.drawType);
obj408->obj.pos.y -= obj408->unk_068 + D_8017847C;
if (boss->info.unk_19 != 0) {
boss->obj.pos.y += boss->unk_068 + D_8017847C;
func_8005D1F0(&boss->obj, boss->info.drawType);
boss->obj.pos.y -= boss->unk_068 + D_8017847C;
} else {
func_8005D1F0(&obj408->obj, obj408->info.drawType);
func_8005D1F0(&boss->obj, boss->info.drawType);
}
Matrix_MultVec3f(&D_801615F0, &sp30, &D_801615D0);
func_8005F290(&obj408->sfxPos, &D_801615D0);
if ((obj408->obj.id == OBJ_408_316) || (obj408->obj.id == OBJ_408_317)) {
func_8005F290(&boss->sfxPos, &D_801615D0);
if ((boss->obj.id == OBJ_BOSS_316) || (boss->obj.id == OBJ_BOSS_317)) {
var_fa1 = 6000.0f;
var_fv0 = 6000.0f;
var_ft5 = 0.9f;
var_fv1 = -20000.0f;
} else if (obj408->obj.id == OBJ_408_313) {
} else if (boss->obj.id == OBJ_BOSS_313) {
var_fv1 = -25000.0f;
var_ft5 = 0.7f;
var_fa1 = 3000.0f;
@ -1161,27 +1161,27 @@ void Object_408_Draw(Object_408* obj408, s32 arg1) {
if (fabsf(D_801615D0.x) < (fabsf(D_801615D0.z * var_ft5) + var_fa1)) {
if (fabsf(D_801615D0.y) < (fabsf(D_801615D0.z * var_ft5) + var_fa1)) {
sp3C = 1.0f;
if (obj408->obj.id != OBJ_408_309) {
if (obj408->obj.id != OBJ_408_316) {
func_8005F670(&obj408->obj.pos);
if (boss->obj.id != OBJ_BOSS_309) {
if (boss->obj.id != OBJ_BOSS_316) {
func_8005F670(&boss->obj.pos);
}
if (obj408->info.drawType != 2) {
if (boss->info.drawType != 2) {
Matrix_SetGfxMtx(&gMasterDisp);
}
if (arg1 < 0) {
func_800596C0();
}
obj408->info.draw(&obj408->obj);
boss->info.draw(&boss->obj);
}
}
}
}
D_801615D0.y = sp3C;
if (obj408->obj.id == OBJ_408_309) {
obj408->unk_308 = D_801615D0;
func_8005F670(&obj408->obj.pos);
if (boss->obj.id == OBJ_BOSS_309) {
boss->vwork[30] = D_801615D0;
func_8005F670(&boss->obj.pos);
Matrix_SetGfxMtx(&gMasterDisp);
obj408->info.draw(&obj408->obj);
boss->info.draw(&boss->obj);
}
}
@ -1320,7 +1320,7 @@ void func_8005ECD8(s32 index, Object* obj) {
Matrix_Translate(gGfxMatrix, obj->pos.x, D_80177940 + 2.0f + gObjects2F4[index].unk_114,
obj->pos.z + D_80177D20, 1);
break;
case OBJ_408_316:
case OBJ_BOSS_316:
Matrix_Translate(gGfxMatrix, obj->pos.x, D_80177940 + 2.0f + D_8017847C, obj->pos.z, 1);
break;
default:
@ -1331,7 +1331,7 @@ void func_8005ECD8(s32 index, Object* obj) {
Matrix_Scale(gGfxMatrix, 1.0f, 0.0f, 1.0f, 1);
Matrix_RotateY(gGfxMatrix, obj->rot.y * M_DTOR, 1);
}
if ((obj->id < OBJ_408_292) && (obj->id != OBJ_2F4_230) && (obj->id != OBJ_2F4_229) &&
if ((obj->id < OBJ_BOSS_292) && (obj->id != OBJ_2F4_230) && (obj->id != OBJ_2F4_229) &&
(obj->id != OBJ_2F4_231)) {
Matrix_RotateX(gGfxMatrix, obj->rot.x * M_DTOR, 1);
Matrix_RotateZ(gGfxMatrix, obj->rot.z * M_DTOR, 1);
@ -1536,7 +1536,7 @@ void Object_DrawAll(s32 arg0) {
s32 i;
s32 pad[5]; // probably separate iterators for each loop
Object_2F4* obj2F4;
Object_408* obj408;
Boss* boss;
Object_4C* obj4C;
Object_58* obj58;
Item* item;
@ -1554,7 +1554,7 @@ void Object_DrawAll(s32 arg0) {
spAC.y = obj58->sfxPos.y;
spAC.z = obj58->sfxPos.z;
Matrix_MultVec3fNoTranslate(&D_E51970_8019EE80, &spAC, &obj58->obj.pos);
obj58->obj.rot.y = obj58->unk_54 + gObjects408->obj.rot.y;
obj58->obj.rot.y = gBosses[0].obj.rot.y + (*obj58).unk_54;
}
Matrix_Push(&gGfxMatrix);
Object_58_Draw(obj58);
@ -1575,9 +1575,9 @@ void Object_DrawAll(s32 arg0) {
}
}
}
for (i = 0, obj408 = gObjects408; i < ARRAY_COUNT(gObjects408); i++, obj408++) {
if ((obj408->obj.status >= 2) && (obj408->obj.id != OBJ_408_310)) {
if (!(obj408->timer_05C & 1)) {
for (i = 0, boss = gBosses; i < ARRAY_COUNT(gBosses); i++, boss++) {
if ((boss->obj.status >= 2) && (boss->obj.id != OBJ_BOSS_310)) {
if (!(boss->timer_05C & 1)) {
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
} else {
RCP_SetupDL_27();
@ -1585,11 +1585,11 @@ void Object_DrawAll(s32 arg0) {
}
func_800597C0(arg0);
Matrix_Push(&gGfxMatrix);
Object_408_Draw(obj408, arg0);
Boss_Draw(boss, arg0);
Matrix_Pop(&gGfxMatrix);
if ((obj408->unk_05E != 0) && (D_801615D0.y > 0.0f)) {
if ((boss->unk_05E != 0) && (D_801615D0.y > 0.0f)) {
Matrix_Push(&gGfxMatrix);
func_8005ECD8(i, &obj408->obj);
func_8005ECD8(i, &boss->obj);
Matrix_Pop(&gGfxMatrix);
}
}
@ -1673,7 +1673,7 @@ void Object_DrawAll(s32 arg0) {
void func_8006046C(s32 arg0) {
s32 i;
Object_408* obj408;
Boss* boss;
Object_8C* obj8C;
RCP_SetupDL(&gMasterDisp, 0x40);
@ -1700,16 +1700,16 @@ void func_8006046C(s32 arg0) {
}
}
}
for (i = 0, obj408 = gObjects408; i < ARRAY_COUNT(gObjects408); i++, obj408++) {
if ((obj408->obj.status >= 2) && (obj408->obj.id == OBJ_408_310)) {
if (!(obj408->timer_05C & 1)) {
for (i = 0, boss = gBosses; i < ARRAY_COUNT(gBosses); i++, boss++) {
if ((boss->obj.status >= 2) && (boss->obj.id == OBJ_BOSS_310)) {
if (!(boss->timer_05C & 1)) {
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
} else {
RCP_SetupDL_27();
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 64, 64, 255, 255);
}
Matrix_Push(&gGfxMatrix);
Object_408_Draw(obj408, arg0);
Boss_Draw(boss, arg0);
Matrix_Pop(&gGfxMatrix);
}
}

View File

@ -148,14 +148,14 @@ void Object_2F4_Initialize(Object_2F4* obj2F4) {
obj2F4->scale = 1.0f;
}
void Object_408_Initialize(Object_408* obj408) {
void Boss_Initialize(Boss* boss) {
s32 i;
u8* ptr = (u8*) obj408;
u8* ptr = (u8*) boss;
for (i = 0; i < sizeof(Object_408); i++, ptr++) {
for (i = 0; i < sizeof(Boss); i++, ptr++) {
*ptr = 0;
}
obj408->unk_3F8 = 1.0f;
boss->unk_3F8 = 1.0f;
}
void Item_Initialize(Item* item) {
@ -219,18 +219,18 @@ void Object_2F4_Load(Object_2F4* obj2F4, ObjectInit* objInit) {
Object_SetInfo(&obj2F4->info, obj2F4->obj.id);
}
void Object_408_Load(Object_408* obj408, ObjectInit* objInit) {
Object_408_Initialize(obj408);
obj408->obj.status = 1;
obj408->obj.pos.z = -objInit->zPos1;
obj408->obj.pos.z += -3000.0f + objInit->zPos2;
obj408->obj.pos.x = objInit->xPos;
obj408->obj.pos.y = objInit->yPos;
obj408->obj.rot.y = objInit->unk_C;
obj408->obj.rot.x = objInit->unk_A;
obj408->obj.rot.z = objInit->unk_E;
obj408->obj.id = objInit->id;
Object_SetInfo(&obj408->info, obj408->obj.id);
void Boss_Load(Boss* boss, ObjectInit* objInit) {
Boss_Initialize(boss);
boss->obj.status = 1;
boss->obj.pos.z = -objInit->zPos1;
boss->obj.pos.z += -3000.0f + objInit->zPos2;
boss->obj.pos.x = objInit->xPos;
boss->obj.pos.y = objInit->yPos;
boss->obj.rot.y = objInit->unk_C;
boss->obj.rot.x = objInit->unk_A;
boss->obj.rot.z = objInit->unk_E;
boss->obj.id = objInit->id;
Object_SetInfo(&boss->info, boss->obj.id);
}
void Item_Load(Item* item, ObjectInit* objInit) {
@ -416,7 +416,7 @@ void Object_Load(ObjectInit* objInit, f32 arg1, f32 arg2, f32 arg3, f32 arg4) {
}
}
}
if ((objInit->id >= OBJ_2F4_176) && (objInit->id < OBJ_408_292)) {
if ((objInit->id >= OBJ_2F4_176) && (objInit->id < OBJ_BOSS_292)) {
if ((objInit->id == OBJ_2F4_267) || (objInit->id == OBJ_2F4_254)) {
for (i = ARRAY_COUNT(gObjects2F4) - 1; i >= 0; i--) {
if (gObjects2F4[i].obj.status == 0) {
@ -440,10 +440,10 @@ void Object_Load(ObjectInit* objInit, f32 arg1, f32 arg2, f32 arg3, f32 arg4) {
}
}
}
if ((objInit->id >= OBJ_408_292) && (objInit->id < OBJ_ITEM_LASERS)) {
for (i = 0; i < ARRAY_COUNT(gObjects408); i++) {
if (gObjects408[i].obj.status == 0) {
Object_408_Load(&gObjects408[i], objInit);
if ((objInit->id >= OBJ_BOSS_292) && (objInit->id < OBJ_ITEM_LASERS)) {
for (i = 0; i < ARRAY_COUNT(gBosses); i++) {
if (gBosses[i].obj.status == 0) {
Boss_Load(&gBosses[i], objInit);
break;
}
}
@ -734,23 +734,23 @@ bool func_8006326C(Vec3f* arg0, Vec3f* arg1, ObjectId objId, Object* obj) {
sp50.x = obj->pos.x;
sp50.y = obj->pos.y;
sp50.z = obj->pos.z;
if ((objId == OBJ_2F4_180) || (objId == OBJ_80_149) || (objId == OBJ_80_150) || (objId == OBJ_408_308) ||
(objId == OBJ_408_313) || (objId == OBJ_408_312) || (objId == OBJ_408_309) || (objId == OBJ_80_39)) {
if ((objId == OBJ_2F4_180) || (objId == OBJ_80_149) || (objId == OBJ_80_150) || (objId == OBJ_BOSS_308) ||
(objId == OBJ_BOSS_313) || (objId == OBJ_BOSS_312) || (objId == OBJ_BOSS_309) || (objId == OBJ_80_39)) {
colId = COL1_0;
if (objId == OBJ_408_312) {
if (objId == OBJ_BOSS_312) {
colId = COL1_9;
}
if (objId == OBJ_80_39) {
colId = COL1_1;
} else if (objId == OBJ_408_308) {
} else if (objId == OBJ_BOSS_308) {
colId = COL1_4;
} else if (objId == OBJ_408_309) {
} else if (objId == OBJ_BOSS_309) {
colId = COL1_7;
} else if (objId == OBJ_80_149) {
colId = COL1_5;
} else if (objId == OBJ_80_150) {
colId = COL1_6;
} else if (objId == OBJ_408_313) {
} else if (objId == OBJ_BOSS_313) {
colId = COL1_8;
}
if (func_800998FC(&sp5C, &sp50, arg1, colId, &sp44, &sp30) > 0) {
@ -787,7 +787,7 @@ s32 func_8006351C(s32 index, Vec3f* pos, Vec3f* arg2, s32 arg3) {
Object_58* obj58;
Object_80* obj80;
Object_4C* obj4C;
Object_408* obj408;
Boss* boss;
Object_2F4* obj2F4;
Vec3f temp;
s32 i;
@ -838,34 +838,34 @@ s32 func_8006351C(s32 index, Vec3f* pos, Vec3f* arg2, s32 arg3) {
}
if ((arg3 == 0) || (arg3 == 2) || (arg3 == 3)) {
if (arg3 != 2) {
obj408 = gObjects408;
for (i = 0; i < ARRAY_COUNT(gObjects408); i++, obj408++) {
if (obj408->obj.status == 2) {
if ((obj408->obj.id == OBJ_408_308) || (obj408->obj.id == OBJ_408_312) ||
(obj408->obj.id == OBJ_408_313) || (obj408->obj.id == OBJ_408_309)) {
if (func_8006326C(pos, arg2, obj408->obj.id, &obj408->obj)) {
boss = gBosses;
for (i = 0; i < ARRAY_COUNT(gBosses); i++, boss++) {
if (boss->obj.status == 2) {
if ((boss->obj.id == OBJ_BOSS_308) || (boss->obj.id == OBJ_BOSS_312) ||
(boss->obj.id == OBJ_BOSS_313) || (boss->obj.id == OBJ_BOSS_309)) {
if (func_8006326C(pos, arg2, boss->obj.id, &boss->obj)) {
return 2;
}
} else if (obj408->obj.id == OBJ_408_310) {
temp.x = fabsf(obj408->obj.pos.x - pos->x) * (5.0f / 6.0f);
temp.y = fabsf(obj408->obj.pos.y - pos->y) * 2;
temp.z = fabsf(obj408->obj.pos.z - pos->z) * (5.0f / 6.0f);
} else if (boss->obj.id == OBJ_BOSS_310) {
temp.x = fabsf(boss->obj.pos.x - pos->x) * (5.0f / 6.0f);
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) {
obj408->unk_062 = 1;
boss->unk_062 = 1;
return 2;
}
} else {
if (obj408->obj.id == OBJ_408_316) {
temp.x = fabsf(obj408->obj.pos.x - pos->x);
temp.y = fabsf(obj408->obj.pos.y - 300.0f - pos->y) * 7.42f;
temp.z = fabsf(obj408->obj.pos.z - pos->z);
if (boss->obj.id == OBJ_BOSS_316) {
temp.x = fabsf(boss->obj.pos.x - pos->x);
temp.y = fabsf(boss->obj.pos.y - 300.0f - pos->y) * 7.42f;
temp.z = fabsf(boss->obj.pos.z - pos->z);
if (sqrtf(VEC3F_SQ(temp)) < 2700.0f) {
return 2;
}
}
if ((fabsf(pos->x - obj408->obj.pos.x) < 2000.0f) &&
(fabsf(pos->z - obj408->obj.pos.z) < 2000.0f)) {
if (func_80062DBC(pos, obj408->info.hitbox, &obj408->obj, 0.0f, 0.0f, 0.0f)) {
if ((fabsf(pos->x - boss->obj.pos.x) < 2000.0f) &&
(fabsf(pos->z - boss->obj.pos.z) < 2000.0f)) {
if (func_80062DBC(pos, boss->info.hitbox, &boss->obj, 0.0f, 0.0f, 0.0f)) {
return 2;
}
}
@ -1165,14 +1165,14 @@ void Object_Init(s32 index, ObjectId objId) {
case OBJ_2F4_192:
gObjects2F4[index].unk_0C9 = 1;
break;
case OBJ_408_320:
func_E9F1D0_8018D16C(&gObjects408[index]);
case OBJ_BOSS_320:
func_E9F1D0_8018D16C(&gBosses[index]);
break;
case OBJ_408_316:
func_E51970_80193CA4(&gObjects408[index]);
case OBJ_BOSS_316:
func_E51970_80193CA4(&gBosses[index]);
break;
case OBJ_408_314:
func_E9F1D0_80197CC4(&gObjects408[index]);
case OBJ_BOSS_314:
func_E9F1D0_80197CC4(&gBosses[index]);
break;
case OBJ_2F4_205:
case OBJ_2F4_206:
@ -1214,23 +1214,23 @@ void Object_Init(s32 index, ObjectId objId) {
gObjects2F4[index].unk_0CE = 24;
Audio_PlaySfx(0x31000016, &gObjects2F4[index].sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
break;
case OBJ_408_297:
func_E08400_80188A40(&gObjects408[index]);
case OBJ_BOSS_297:
func_E08400_80188A40(&gBosses[index]);
break;
case OBJ_408_299:
func_80042FAC(&gObjects408[index]);
case OBJ_BOSS_299:
func_80042FAC(&gBosses[index]);
break;
case OBJ_408_300:
func_80042FD0(&gObjects408[index]);
case OBJ_BOSS_300:
func_80042FD0(&gBosses[index]);
break;
case OBJ_408_292:
func_DF4260_801878D8(&gObjects408[index]);
case OBJ_BOSS_292:
func_DF4260_801878D8(&gBosses[index]);
break;
case OBJ_408_293:
func_DF4260_8018BE7C(&gObjects408[index]);
case OBJ_BOSS_293:
func_DF4260_8018BE7C(&gBosses[index]);
break;
case OBJ_408_302:
func_E16C50_80187754(&gObjects408[index]);
case OBJ_BOSS_A6:
func_E16C50_80187754(&gBosses[index]);
break;
case OBJ_2F4_231:
func_E6A810_8018B96C(&gObjects2F4[index]);
@ -1253,8 +1253,8 @@ void Object_Init(s32 index, ObjectId objId) {
case OBJ_4C_169:
func_E6A810_8018EFF0(&gObjects4C[index]);
break;
case OBJ_408_306:
func_E6A810_8018FA48(&gObjects408[index]);
case OBJ_BOSS_306:
func_E6A810_8018FA48(&gBosses[index]);
break;
case OBJ_2F4_240:
func_E16C50_801915A4(&gObjects2F4[index]);
@ -1262,8 +1262,8 @@ void Object_Init(s32 index, ObjectId objId) {
case OBJ_2F4_241:
func_E16C50_80191BB8(&gObjects2F4[index]);
break;
case OBJ_408_307:
func_E16C50_801932AC(&gObjects408[index]);
case OBJ_BOSS_ZO:
func_E16C50_801932AC(&gBosses[index]);
break;
case OBJ_2F4_250:
func_E16C50_8019B1F0(&gObjects2F4[index]);
@ -1283,8 +1283,8 @@ void Object_Init(s32 index, ObjectId objId) {
case OBJ_2F4_257:
func_E16C50_801AF9FC(&gObjects2F4[index]);
break;
case OBJ_408_318:
func_E16C50_801B10F8(&gObjects408[index]);
case OBJ_BOSS_AQ:
func_E16C50_801B10F8(&gBosses[index]);
break;
case OBJ_2F4_259:
func_E16C50_801B6344(&gObjects2F4[index]);
@ -1298,8 +1298,8 @@ void Object_Init(s32 index, ObjectId objId) {
case OBJ_80_57:
func_E6A810_8018F0D8(&gObjects80[index]);
break;
case OBJ_408_319:
func_DF4260_801935CC(&gObjects408[index]);
case OBJ_BOSS_319:
func_DF4260_801935CC(&gBosses[index]);
break;
case OBJ_2F4_280:
func_DF4260_8019250C(&gObjects2F4[index]);
@ -1539,9 +1539,9 @@ void func_800656D4(Object_2F4* obj2F4) {
}
}
Math_Vec3fFromAngles(&sp98, obj2F4->obj.rot.x, obj2F4->obj.rot.y, obj2F4->unk_124.y);
obj2F4->unk_0E8.x = sp98.x;
obj2F4->unk_0E8.y = sp98.y;
obj2F4->unk_0E8.z = sp98.z - D_80177D08;
obj2F4->vel.x = sp98.x;
obj2F4->vel.y = sp98.y;
obj2F4->vel.z = sp98.z - D_80177D08;
if (obj2F4->unk_0B4 == 0) {
obj2F4->obj.rot.z += 5.0f;
}
@ -1564,9 +1564,9 @@ void func_800656D4(Object_2F4* obj2F4) {
func_8007D2C8(obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, 5.0f);
Object_Kill(&obj2F4->obj, &obj2F4->sfxPos);
}
sp8C.x = obj2F4->unk_0E8.x;
sp8C.y = obj2F4->unk_0E8.y;
sp8C.z = obj2F4->unk_0E8.z;
sp8C.x = obj2F4->vel.x;
sp8C.y = obj2F4->vel.y;
sp8C.z = obj2F4->vel.z;
if ((func_8006351C(obj2F4->index, &obj2F4->obj.pos, &sp8C, 1) != 0) || (obj2F4->unk_0D0 != 0) ||
(obj2F4->obj.pos.y < (D_80177940 + 10.0f)) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7)) {
func_8007D2C8(obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, 3.0f);
@ -1974,7 +1974,7 @@ void func_800674B4(f32 xPos, f32 yPos, f32 zPos, f32 xRot, f32 yRot, f32 arg5, f
}
void func_8006753C(Object_2F4* obj2F4) {
Player* player = gPlayer; // fake?
Player* player = &gPlayer[0];
s32 i;
obj2F4->obj.rot.y += 1.0f;
@ -2462,14 +2462,14 @@ void func_800690D0(s32 index, ObjectId objId) {
case OBJ_2F4_192:
func_8006684C(&gObjects2F4[index]);
break;
case OBJ_408_306:
func_E6A810_801990DC(&gObjects408[index]);
case OBJ_BOSS_306:
func_E6A810_801990DC(&gBosses[index]);
break;
case OBJ_2F4_232:
func_E6A810_8018B720(&gObjects2F4[index]);
break;
case OBJ_408_319:
func_DF4260_80198594(&gObjects408[index]);
case OBJ_BOSS_319:
func_DF4260_80198594(&gBosses[index]);
break;
}
}
@ -2521,14 +2521,14 @@ void func_800693E8(Object_2F4* obj2F4) {
}
}
void func_80069658(Object_408* obj408) {
obj408->obj.pos.x += obj408->vel.x;
obj408->obj.pos.y += obj408->vel.y;
obj408->obj.pos.z += obj408->vel.z;
obj408->vel.y -= obj408->gravity;
if ((D_80161AB8 != 0) && ((obj408->obj.pos.z + D_80177D20) > (obj408->info.unk_10 - gPlayer[0].camEye.z))) {
void func_80069658(Boss* boss) {
boss->obj.pos.x += boss->vel.x;
boss->obj.pos.y += boss->vel.y;
boss->obj.pos.z += boss->vel.z;
boss->vel.y -= boss->gravity;
if ((D_80161AB8 != 0) && ((boss->obj.pos.z + D_80177D20) > (boss->info.unk_10 - gPlayer[0].camEye.z))) {
if (gPlayer[0].camEye.z) {} // fake
Object_Kill(&obj408->obj, &obj408->sfxPos);
Object_Kill(&boss->obj, &boss->sfxPos);
}
}
@ -2659,44 +2659,44 @@ void Object_2F4_Update(Object_2F4* obj2F4) {
}
}
void Object_408_Update(Object_408* obj408) {
if (obj408->timer_050 != 0) {
obj408->timer_050--;
void Boss_Update(Boss* boss) {
if (boss->timer_050 != 0) {
boss->timer_050--;
}
if (obj408->timer_052 != 0) {
obj408->timer_052--;
if (boss->timer_052 != 0) {
boss->timer_052--;
}
if (obj408->timer_054 != 0) {
obj408->timer_054--;
if (boss->timer_054 != 0) {
boss->timer_054--;
}
if (obj408->timer_056 != 0) {
obj408->timer_056--;
if (boss->timer_056 != 0) {
boss->timer_056--;
}
if (obj408->timer_058 != 0) {
obj408->timer_058--;
if (boss->timer_058 != 0) {
boss->timer_058--;
}
if (obj408->timer_05A != 0) {
obj408->timer_05A--;
if (boss->timer_05A != 0) {
boss->timer_05A--;
}
if (obj408->timer_05C != 0) {
obj408->timer_05C--;
if (boss->timer_05C != 0) {
boss->timer_05C--;
}
switch (obj408->obj.status) {
switch (boss->obj.status) {
case 1:
obj408->obj.status = 2;
Object_Init(obj408->index, obj408->obj.id);
func_80069658(obj408);
boss->obj.status = 2;
Object_Init(boss->index, boss->obj.id);
func_80069658(boss);
break;
case 2:
func_80069658(obj408);
if ((obj408->obj.status != 0) && (obj408->info.action != NULL)) {
obj408->info.action(&obj408->obj);
func_80069658(boss);
if ((boss->obj.status != 0) && (boss->info.action != NULL)) {
boss->info.action(&boss->obj);
}
break;
case 3:
func_80069658(obj408);
if (obj408->obj.status != 0) {
func_800690D0(obj408->index, obj408->obj.id);
func_80069658(boss);
if (boss->obj.status != 0) {
func_800690D0(boss->index, boss->obj.id);
}
break;
}
@ -2848,7 +2848,7 @@ void Object_UpdateAll(void) {
s32 pad;
Object_58* obj58;
Object_2F4* obj2F4;
Object_408* obj408;
Boss* boss;
Object_4C* obj4C;
Object_80* obj80;
Item* item;
@ -2888,10 +2888,10 @@ void Object_UpdateAll(void) {
Object_4C_Update(obj4C);
}
}
for (i = 0, obj408 = gObjects408; i < ARRAY_COUNT(gObjects408); i++, obj408++) {
if (obj408->obj.status != 0) {
obj408->index = i;
Object_408_Update(obj408);
for (i = 0, boss = gBosses; i < ARRAY_COUNT(gBosses); i++, boss++) {
if (boss->obj.status != 0) {
boss->index = i;
Boss_Update(boss);
}
}
for (i = 0, obj2F4 = gObjects2F4; i < ARRAY_COUNT(gObjects2F4); i++, obj2F4++) {

View File

@ -110,7 +110,6 @@ bool func_8006ABA4(Object_2F4* obj2F4) {
return false;
}
// fake? gPlayer[0]. doesn't match
void func_8006AC08(Object_2F4* obj2F4) {
f32 sp2C;
@ -119,10 +118,10 @@ void func_8006AC08(Object_2F4* obj2F4) {
obj2F4->timer_0BC = 20;
}
sp2C = obj2F4->obj.pos.z + D_80177D20;
obj2F4->obj.rot.y = Math_RadToDeg(Math_Atan2F(gPlayer->camEye.x - obj2F4->obj.pos.x, gPlayer->camEye.z - sp2C));
obj2F4->obj.rot.x =
-Math_RadToDeg(Math_Atan2F(gPlayer->camEye.y - obj2F4->obj.pos.y,
sqrtf(SQ(gPlayer->camEye.x - obj2F4->obj.pos.x) + SQ(gPlayer->camEye.z - sp2C))));
obj2F4->obj.rot.y = Math_RadToDeg(Math_Atan2F(gPlayer[0].camEye.x - obj2F4->obj.pos.x, gPlayer[0].camEye.z - sp2C));
obj2F4->obj.rot.x = -Math_RadToDeg(
Math_Atan2F(gPlayer[0].camEye.y - obj2F4->obj.pos.y,
sqrtf(SQ(gPlayer[0].camEye.z - sp2C) + SQ(gPlayer[0].camEye.x - obj2F4->obj.pos.x))));
}
void func_8006AD18(Object_2F4* obj2F4) {
@ -478,7 +477,6 @@ void func_8006BF7C(f32 xPos, f32 yPos, f32 zPos) {
}
}
// fake? gPlayer[0]. doesn't match
Vec3f D_800D0030 = { 0.0f, -10.0f, 0.0f }; // could be in-function
void func_8006C008(Object_2F4* obj2F4) {
f32 sp4C;
@ -489,8 +487,8 @@ void func_8006C008(Object_2F4* obj2F4) {
switch (obj2F4->unk_0B8) {
case 40:
if (obj2F4->unk_04A & 4) {
obj2F4->obj.pos.x = obj2F4->unk_120 + gPlayer->pos.x;
obj2F4->obj.pos.z = obj2F4->unk_124.x + gPlayer->unk_138;
obj2F4->obj.pos.x = gPlayer[0].pos.x + (*obj2F4).unk_120;
obj2F4->obj.pos.z = gPlayer[0].unk_138 + (*obj2F4).unk_124.x;
}
obj2F4->obj.rot.x += obj2F4->unk_114;
@ -2953,7 +2951,7 @@ void func_80072594(Object_2F4* obj2F4) {
spD8 = 0.0f;
spD4 = 0.0f;
if ((gPlayer->state_1C8 == PLAYERSTATE_1C8_7) || (D_8017828C != 0)) {
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7) || (D_8017828C != 0)) {
Object_Kill(&obj2F4->obj, &obj2F4->sfxPos);
return;
}
@ -2972,7 +2970,7 @@ void func_80072594(Object_2F4* obj2F4) {
return;
}
if (obj2F4->unk_0B4 == 300) {
gPlayer->unk_1A4 = obj2F4->index;
gPlayer[0].unk_1A4 = obj2F4->index;
obj2F4->timer_0C2 = 100;
} else if (obj2F4->unk_0B4 >= 200) {
obj2F4->unk_04E++;
@ -3035,13 +3033,13 @@ void func_80072594(Object_2F4* obj2F4) {
Matrix_RotateY(gCalcMatrix, -obj2F4->unk_2E8.y * M_DTOR, 1);
if ((obj2F4->unk_0B8 == 0xE) || (obj2F4->unk_0B8 == 0xF)) {
spB8.x = gPlayer->camEye.x - spF0;
spB8.y = gPlayer->camEye.y - (spEC + 25.0f);
spB8.z = (gPlayer->camEye.z * 15.0f) - spE8;
spB8.x = gPlayer[0].camEye.x - spF0;
spB8.y = gPlayer[0].camEye.y - (spEC + 25.0f);
spB8.z = (gPlayer[0].camEye.z * 15.0f) - spE8;
} else {
spB8.x = gPlayer->pos.x - spF0;
spB8.y = gPlayer->pos.y - (spEC + 25.0f);
spB8.z = (gPlayer->vel.z * 15.0f) + gPlayer->pos.z - spE8;
spB8.x = gPlayer[0].pos.x - spF0;
spB8.y = gPlayer[0].pos.y - (spEC + 25.0f);
spB8.z = gPlayer[0].pos.z + (gPlayer[0].vel.z * 15.0f) - spE8;
}
Matrix_MultVec3fNoTranslate(gCalcMatrix, &spB8, &spAC);
@ -3099,13 +3097,13 @@ void func_80072594(Object_2F4* obj2F4) {
}
} else {
if ((obj2F4->unk_0B8 == 0xE) || (obj2F4->unk_0B8 == 0xF)) {
spCC = gPlayer->camEye.x;
spC8 = gPlayer->camEye.y;
spC4 = gPlayer->camEye.z;
spCC = gPlayer[0].camEye.x;
spC8 = gPlayer[0].camEye.y;
spC4 = gPlayer[0].camEye.z;
} else {
spCC = gPlayer->pos.x;
spC8 = gPlayer->pos.y;
spC4 = gPlayer->pos.z;
spCC = gPlayer[0].pos.x;
spC8 = gPlayer[0].pos.y;
spC4 = gPlayer[0].pos.z;
}
Math_SmoothStepToAngle(&obj2F4->unk_2E8.z, 0.0f, 0.1f, 5.0f, 0.0001f);
@ -3366,7 +3364,7 @@ void func_80072594(Object_2F4* obj2F4) {
obj2F4->vel.z -= D_80177D08;
}
if (gPlayer->state_1C8 == PLAYERSTATE_1C8_8) {
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_8) {
obj2F4->vel.z = 100.0f;
}
@ -4082,7 +4080,7 @@ void func_80074FF0(Object_2F4* obj2F4) {
case 103:
case 104:
func_E6A810_8018769C(obj2F4);
func_E9F1D0_8018769C(obj2F4);
break;
case 105:

View File

@ -1,8 +1,6 @@
#include "global.h"
#include "sf64dma.h"
extern void func_80187520(s32, void*);
f32 D_80161A10;
f32 D_80161A14;
s32 gPlayerInactive[4];
@ -247,15 +245,15 @@ void func_800A24DC(s32 arg0) {
break;
case DRAWMODE_1:
func_8003DAF0();
func_80187520(0x68, NULL);
func_EBFBE0_80187520(104, NULL);
break;
case DRAWMODE_2:
func_8003DAF0();
func_80187520(0x6C, NULL);
func_EBFBE0_80187520(108, NULL);
break;
case DRAW_MAP:
func_8003DAF0();
func_80187520(0x6A, NULL);
func_EBFBE0_80187520(106, NULL);
break;
case DRAWMODE_4:
gPlayerNum = arg0;
@ -263,7 +261,7 @@ void func_800A24DC(s32 arg0) {
break;
case DRAWMODE_5:
func_8003DAF0();
func_80187520(0x6E, NULL);
func_EBFBE0_80187520(110, NULL);
break;
case DRAWMODE_6:
func_800C2190();
@ -443,10 +441,10 @@ void func_800A26C0(void) {
func_8001D8A8(2, gVolumeSettings[2]);
break;
case GSTATE_TITLE:
func_80187520(0x67, NULL);
func_EBFBE0_80187520(103, NULL);
break;
case GSTATE_MENU:
func_80187520(0x6B, NULL);
func_EBFBE0_80187520(107, NULL);
break;
case GSTATE_MAP:
func_EBFBE0_8019E8D0();
@ -458,7 +456,7 @@ void func_800A26C0(void) {
func_800B86CC();
break;
case GSTATE_GAME_OVER:
func_80187520(0x6D, NULL);
func_EBFBE0_80187520(109, NULL);
break;
case GSTATE_CREDITS:
gDrawMode = DRAWMODE_8;

View File

@ -27,6 +27,8 @@ extern u8 D_800D317C;
extern u8 D_800D3180[30];
extern s32 D_800D31A0[4];
extern f32 D_E16C50_801C4188;
#define MEM_ARRAY_ALLOCATE(arr, count) ((arr) = Memory_Allocate((count) * sizeof(*(arr))))
bool Play_CheckMedalStatus(u16 hitCount) {
@ -123,7 +125,7 @@ void func_800A3FEC(void) {
}
void func_800A4460(Player* player) {
if ((gCurrentLevel == LEVEL_VENOM_ANDROSS) && (gObjects408[0].obj.status == 2) && (gObjects408[0].unk_04E == 17)) {
if ((gCurrentLevel == LEVEL_VENOM_ANDROSS) && (gBosses[0].obj.status == 2) && (gBosses[0].unk_04E == 17)) {
player->unk_060 = __sinf(player->unk_0F4 * 0.7f * M_DTOR) * 0.5f;
player->unk_088 += 13.0f;
player->unk_0F4 += 20.0f;
@ -356,13 +358,13 @@ void func_800A5338(void) {
}
}
i = 0; // fake?
Object_408_Initialize(&gObjects408[i]);
gObjects408[i].obj.status = 1;
gObjects408[i].obj.pos.x = 0.0f;
gObjects408[i].obj.pos.y = 0.0f;
gObjects408[i].obj.pos.z = 0.0f;
gObjects408[i].obj.id = OBJ_408_292;
Object_SetInfo(&gObjects408[i].info, gObjects408[i].obj.id);
Boss_Initialize(&gBosses[i]);
gBosses[i].obj.status = 1;
gBosses[i].obj.pos.x = 0.0f;
gBosses[i].obj.pos.y = 0.0f;
gBosses[i].obj.pos.z = 0.0f;
gBosses[i].obj.id = OBJ_BOSS_292;
Object_SetInfo(&gBosses[i].info, gBosses[i].obj.id);
}
void func_800A55B0(void) {
@ -389,41 +391,41 @@ void func_800A55B0(void) {
}
}
i = 0; // fake?
Object_408_Initialize(&gObjects408[i]);
gObjects408[i].obj.status = 1;
gObjects408[i].obj.pos.x = 0.0f;
gObjects408[i].obj.pos.y = 0.0f;
gObjects408[i].obj.pos.z = 0.0f;
gObjects408[i].obj.id = OBJ_408_314;
Object_SetInfo(&gObjects408[i].info, gObjects408[i].obj.id);
Boss_Initialize(&gBosses[i]);
gBosses[i].obj.status = 1;
gBosses[i].obj.pos.x = 0.0f;
gBosses[i].obj.pos.y = 0.0f;
gBosses[i].obj.pos.z = 0.0f;
gBosses[i].obj.id = OBJ_BOSS_314;
Object_SetInfo(&gBosses[i].info, gBosses[i].obj.id);
i = 1;
Object_408_Initialize(&gObjects408[i]);
gObjects408[i].obj.status = 1;
gObjects408[i].obj.pos.x = 0.0f;
gObjects408[i].obj.pos.y = 0.0f;
gObjects408[i].obj.pos.z = 0.0f;
gObjects408[i].obj.id = OBJ_408_314;
Object_SetInfo(&gObjects408[i].info, gObjects408[i].obj.id);
Boss_Initialize(&gBosses[i]);
gBosses[i].obj.status = 1;
gBosses[i].obj.pos.x = 0.0f;
gBosses[i].obj.pos.y = 0.0f;
gBosses[i].obj.pos.z = 0.0f;
gBosses[i].obj.id = OBJ_BOSS_314;
Object_SetInfo(&gBosses[i].info, gBosses[i].obj.id);
i = 2;
Object_408_Initialize(&gObjects408[i]);
gObjects408[i].obj.status = 1;
gObjects408[i].obj.pos.x = 0.0f;
gObjects408[i].obj.pos.y = 0.0f;
gObjects408[i].obj.pos.z = 0.0f;
gObjects408[i].obj.id = OBJ_408_314;
Object_SetInfo(&gObjects408[i].info, gObjects408[i].obj.id);
Boss_Initialize(&gBosses[i]);
gBosses[i].obj.status = 1;
gBosses[i].obj.pos.x = 0.0f;
gBosses[i].obj.pos.y = 0.0f;
gBosses[i].obj.pos.z = 0.0f;
gBosses[i].obj.id = OBJ_BOSS_314;
Object_SetInfo(&gBosses[i].info, gBosses[i].obj.id);
}
void func_800A57E0(void) {
s32 i = 0; // fake?
Object_408_Initialize(&gObjects408[i]);
gObjects408[i].obj.status = 1;
gObjects408[i].obj.pos.x = 0.0f;
gObjects408[i].obj.pos.y = 0.0f;
gObjects408[i].obj.pos.z = 0.0f;
gObjects408[i].obj.id = OBJ_408_321;
Object_SetInfo(&gObjects408[i].info, gObjects408[i].obj.id);
Boss_Initialize(&gBosses[i]);
gBosses[i].obj.status = 1;
gBosses[i].obj.pos.x = 0.0f;
gBosses[i].obj.pos.y = 0.0f;
gBosses[i].obj.pos.z = 0.0f;
gBosses[i].obj.id = OBJ_BOSS_321;
Object_SetInfo(&gBosses[i].info, gBosses[i].obj.id);
}
void func_800A5844(void) {
@ -611,9 +613,9 @@ void func_800A6148(void) {
Object_Kill(&gObjects2F4[i].obj, &gObjects2F4[i].sfxPos);
Object_2F4_Initialize(&gObjects2F4[i]);
}
for (i = 0; i < ARRAY_COUNT(gObjects408); i++) {
Object_Kill(&gObjects408[i].obj, &gObjects408[i].sfxPos);
Object_408_Initialize(&gObjects408[i]);
for (i = 0; i < ARRAY_COUNT(gBosses); i++) {
Object_Kill(&gBosses[i].obj, &gBosses[i].sfxPos);
Boss_Initialize(&gBosses[i]);
}
for (i = 0; i < ARRAY_COUNT(gObjects8C); i++) {
Object_Kill(&gObjects8C[i].obj, &gObjects8C[i].sfxPos);
@ -1189,19 +1191,19 @@ bool func_800A8054(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 a
case OBJ_80_150:
colId = COL1_6;
break;
case OBJ_408_308:
case OBJ_BOSS_308:
colId = COL1_4;
break;
case OBJ_408_312:
case OBJ_BOSS_312:
colId = COL1_9;
break;
case OBJ_408_309:
case OBJ_BOSS_309:
colId = COL1_7;
break;
case OBJ_UNK_1000:
colId = COL1_3;
break;
case OBJ_408_313:
case OBJ_BOSS_313:
colId = COL1_8;
break;
case OBJ_80_39:
@ -1513,7 +1515,7 @@ void func_800A8BA4(Player* player) {
f32 padB8; // B8
Object_2F4* obj2F4; // B4
f32 padB0; // B0
Object_408* obj408; // AC
Boss* boss; // AC
Object_4C* obj4C; // A8
s32 pad; // A4
Object_80* obj80; // A0
@ -1767,27 +1769,27 @@ void func_800A8BA4(Player* player) {
}
}
}
for (i = 0, obj408 = gObjects408; i < ARRAY_COUNT(gObjects408); i++, obj408++) {
if (obj408->obj.status == 2) {
if ((obj408->obj.id == OBJ_408_312) || (obj408->obj.id == OBJ_408_308) ||
(obj408->obj.id == OBJ_408_313) || (obj408->obj.id == OBJ_408_309)) {
temp_v0 = func_800A8304(player, obj408->obj.id, obj408->obj.pos.x, obj408->obj.pos.y,
obj408->obj.pos.z, obj408->obj.rot.x, obj408->obj.rot.y, obj408->obj.rot.z);
for (i = 0, boss = gBosses; i < ARRAY_COUNT(gBosses); i++, boss++) {
if (boss->obj.status == 2) {
if ((boss->obj.id == OBJ_BOSS_312) || (boss->obj.id == OBJ_BOSS_308) ||
(boss->obj.id == OBJ_BOSS_313) || (boss->obj.id == OBJ_BOSS_309)) {
temp_v0 = func_800A8304(player, boss->obj.id, boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z,
boss->obj.rot.x, boss->obj.rot.y, boss->obj.rot.z);
if (temp_v0 != 0) {
Player_ApplyDamage(player, temp_v0, obj408->info.damage);
Player_ApplyDamage(player, temp_v0, boss->info.damage);
break;
}
}
if (obj408->obj.id == OBJ_408_310) {
spfD4.x = fabsf(obj408->obj.pos.x - player->pos.x) * .8333333f;
spfD4.y = fabsf(obj408->obj.pos.y - player->pos.y) * 2;
spfD4.z = fabsf(obj408->obj.pos.z - player->unk_138) * 0.8333333f;
if (boss->obj.id == OBJ_BOSS_310) {
spfD4.x = fabsf(boss->obj.pos.x - player->pos.x) * .8333333f;
spfD4.y = fabsf(boss->obj.pos.y - player->pos.y) * 2;
spfD4.z = fabsf(boss->obj.pos.z - player->unk_138) * 0.8333333f;
if (sqrtf(VEC3F_SQ(spfD4)) < 1500.0f) {
Player_ApplyDamage(player, 0, obj408->info.damage);
Player_ApplyDamage(player, 0, boss->info.damage);
player->unk_110 = 0.0f;
player->timer_498 = 5;
player->unk_0D8.y = 30.0f;
obj408->unk_062 = 1;
boss->unk_062 = 1;
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);
@ -1801,38 +1803,38 @@ void func_800A8BA4(Player* player) {
break;
}
} else {
if (obj408->obj.id == OBJ_408_316) {
spfD4.x = fabsf(obj408->obj.pos.x - player->pos.x);
spfD4.y = fabsf(obj408->obj.pos.y - 300.0f - player->pos.y) * 7.42f;
spfD4.z = fabsf(obj408->obj.pos.z - player->unk_138);
if (boss->obj.id == OBJ_BOSS_316) {
spfD4.x = fabsf(boss->obj.pos.x - player->pos.x);
spfD4.y = fabsf(boss->obj.pos.y - 300.0f - player->pos.y) * 7.42f;
spfD4.z = fabsf(boss->obj.pos.z - player->unk_138);
if (sqrtf(VEC3F_SQ(spfD4)) < 2700.0f) {
Player_ApplyDamage(player, 3, obj408->info.damage);
Player_ApplyDamage(player, 3, boss->info.damage);
}
}
temp_v0 = func_800A7974(player, obj408->info.hitbox, &sp98, obj408->obj.pos.x, obj408->obj.pos.y,
obj408->obj.pos.z, obj408->obj.rot.x, obj408->obj.rot.y, obj408->obj.rot.z,
0.0f, 0.0f, 0.0f);
temp_v0 = func_800A7974(player, boss->info.hitbox, &sp98, boss->obj.pos.x, boss->obj.pos.y,
boss->obj.pos.z, boss->obj.rot.x, boss->obj.rot.y, boss->obj.rot.z, 0.0f,
0.0f, 0.0f);
if (temp_v0 != 0) {
if (temp_v0 < 0) {
if (player->unk_22C == 0) {
Audio_PlaySfx(0x19000001, &obj408->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
Audio_PlaySfx(0x19000001, &boss->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
player->unk_22C += 2;
if (player->unk_22C >= 4) {
player->unk_22C = 4;
}
} else {
if ((obj408->obj.id == OBJ_408_320) && (obj408->timer_056 != 0) && (sp98 == 5)) {
if ((boss->obj.id == OBJ_BOSS_320) && (boss->timer_056 != 0) && (sp98 == 5)) {
break;
}
Player_ApplyDamage(player, temp_v0, obj408->info.damage);
if ((obj408->obj.id == OBJ_408_303) && ((obj408->unk_04E == 2) || (obj408->unk_04E == 3)) &&
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)) {
player->unk_0D8.y = -100.0f;
}
if ((obj408->obj.id == OBJ_408_320) && (sp98 < 5)) {
player->unk_0D8.x = obj408->unk_110;
player->unk_0D8.y = obj408->unk_114;
if ((boss->obj.id == OBJ_BOSS_320) && (sp98 < 5)) {
player->unk_0D8.x = boss->fwork[14];
player->unk_0D8.y = boss->fwork[15];
}
}
}
@ -1877,7 +1879,7 @@ void func_800A8BA4(Player* player) {
if (D_80177E80 == 3) {
func_800BA808(gMsg_ID_5504, RCID_FALCO);
}
Audio_PlaySfx(D_800CFF54[D_80177E80], &gPlayer->unk_460, 0, &D_800C5D34,
Audio_PlaySfx(D_800CFF54[D_80177E80], &gPlayer[0].unk_460, 0, &D_800C5D34,
&D_800C5D34, &D_800C5D3C);
Audio_PlaySfx(0x49008025, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
@ -5400,7 +5402,7 @@ void func_800B48BC(Player* player) {
}
if (D_80178340 == 0xFF) {
func_800A6148();
D_80177D20 = gPlayer->unk_144 = 0.0f;
D_80177D20 = gPlayer[0].unk_144 = 0.0f;
D_80178380[0] = 0;
D_8015F93C = gRadioState = 0;
func_8001AE58();
@ -5466,7 +5468,7 @@ void func_800B48BC(Player* player) {
Math_SmoothStepToF(&player->unk_09C, sp1C8, 1.0f, 10.0f, 0.0f);
if (player->form == FORM_ARWING) {
Math_SmoothStepToF(&player->unk_194, player->unk_190, 0.5f, 5.0f, 0.0f);
if (player->unk_2B4 && (gPlayer->state_1C8 == PLAYERSTATE_1C8_3)) {
if (player->unk_2B4 && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3)) {
player->unk_190 = 0.5f;
} else {
player->unk_190 = 1.0f;
@ -5851,14 +5853,14 @@ void func_800B6F50(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5) {
}
var_ft5 = 0.0f;
if (gCurrentLevel == LEVEL_UNK_15) {
var_ft5 = gPlayer->camEye.y * 0.03f;
var_ft5 = gPlayer[0].camEye.y * 0.03f;
}
sp30 = (2.0f * (-sp2C * (-8.0f / 3.0f * M_RTOD))) + 3000.0f + D_80178430 + var_ft5;
sp34 = (2.0f * (sp28 * (-8.0f / 3.0f * M_RTOD))) + 3000.0f + D_8017842C;
sp20 = D_80178420;
D_80178420 = Math_ModF(sp34, 480.0f);
D_80178424 = Math_ModF(sp30, 360.0f);
if ((gGameState == GSTATE_PLAY) && (gPlayer->state_1C8 == PLAYERSTATE_1C8_2) && (gCurrentLevel == LEVEL_METEO)) {
if ((gGameState == GSTATE_PLAY) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_2) && (gCurrentLevel == LEVEL_METEO)) {
if (fabsf(D_80178420 - sp20) < 50.0f) {
D_8015F96C = 0.0f;
if (fabsf(D_80178420 - sp20) > 3.0f) {
@ -5935,7 +5937,7 @@ void func_800B73E0(Player* player) {
Vec3f sp38;
f32 pad;
if ((gCurrentLevel == LEVEL_AQUAS) && (gPlayer->state_1C8 != PLAYERSTATE_1C8_2)) {
if ((gCurrentLevel == LEVEL_AQUAS) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_2)) {
D_801784D4 = D_801784C8 = D_801784C8 = D_801784FC = D_801784C8 = 110.0f;
if (gFrameCount & 0x20) {
D_801784D4 = D_801784C8 = D_801784C8 = D_801784FC = D_801784C8 = 90.0f;
@ -6046,11 +6048,11 @@ void func_800B79B0(void) {
}
break;
case LEVEL_VENOM_2:
if ((gPlayer->state_1C8 != PLAYERSTATE_1C8_7) && (D_8017827C == 2)) {
gPlayer->state_1C8 = PLAYERSTATE_1C8_7;
gPlayer->unk_1D0 = 0;
gPlayer->unk_234 = 1;
gPlayer->pos.z = 15000.0f;
if ((gPlayer[0].state_1C8 != PLAYERSTATE_1C8_7) && (D_8017827C == 2)) {
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_7;
gPlayer[0].unk_1D0 = 0;
gPlayer[0].unk_234 = 1;
gPlayer[0].pos.z = 15000.0f;
func_800B7184(gPlayer, 1);
D_80178340 = 255;
D_8017835C = 255;
@ -6062,8 +6064,8 @@ void func_800B79B0(void) {
case LEVEL_VENOM_ANDROSS:
func_E9F1D0_8018BDD8();
D_80177940 = -25000.0f;
gPlayer->unk_0A0 = 612.0f;
gPlayer->unk_0A4 = -544.0f;
gPlayer[0].unk_0A0 = 612.0f;
gPlayer[0].unk_0A4 = -544.0f;
if (D_Timer_80177B44 != 0) {
D_Timer_80177B44--;
if (D_Timer_80177B44 == 0) {
@ -6077,7 +6079,7 @@ void func_800B79B0(void) {
case LEVEL_SECTOR_X:
if (D_8017827C == 1) {
gBlurAlpha = 128;
if (gPlayer->state_1C8 == PLAYERSTATE_1C8_7) {
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7) {
Math_SmoothStepToF(&D_8015F960, 0.0f, 1.0f, 1.0f, 0.0f);
} else {
Math_SmoothStepToF(&D_8015F960, 128.0f, 1.0f, 1.0f, 0.0f);
@ -6085,8 +6087,8 @@ void func_800B79B0(void) {
}
if ((gCurrentLevel == LEVEL_SECTOR_X) && (D_8017827C == 0) && (D_80177E80 == 4)) {
D_80177E80++;
gPlayer->state_1C8 = PLAYERSTATE_1C8_8;
gPlayer->unk_1D0 = 0;
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_8;
gPlayer[0].unk_1D0 = 0;
gOverlayStage = 1;
Audio_PlaySfx(0x1900602A, &D_800C5D28, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
D_80177930 = 2;
@ -6108,7 +6110,7 @@ void func_800B79B0(void) {
for (D_80177CE8; D_80177CE8 >= 10.0f; D_80177CE8 -= 10.0f) {
Texture_Scroll(D_6005710, 32, 32, 1);
}
if (gPlayer->state_1C8 == PLAYERSTATE_1C8_6) {
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_6) {
Texture_Scroll(D_6005710, 32, 32, 1);
}
Texture_Mottle(D_601E1E8, D_6020F60, 3);
@ -6150,13 +6152,13 @@ void func_800B79B0(void) {
}
var_a0 = MIN(gPlayer[0].shields, 0xFF);
func_8001D1C8(var_a0, sp3A);
if (!(gFrameCount & 7) && (gPlayer->state_1C8 != PLAYERSTATE_1C8_7)) {
if (!(gFrameCount & 7) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_7)) {
func_E16C50_8019E8B8((Rand_ZeroOne() - 0.5f) * 6000.0f, -80.0f,
(Rand_ZeroOne() * 2000.0f) + -6000.0f + gPlayer->unk_138,
gPlayer[0].unk_138 + ((Rand_ZeroOne() * 2000.0f) + -6000.0f),
(Rand_ZeroOne() * 10.0f) + 20.0f);
}
func_8008C104(D_60229A4, D_6010198);
if (gPlayer->shields == 0) {
if (gPlayer[0].shields == 0) {
D_80177B4C = 1;
}
break;
@ -6165,11 +6167,12 @@ void func_800B79B0(void) {
for (D_80177CE8; D_80177CE8 >= 20.0f; D_80177CE8 -= 20.0f) {
Texture_Scroll(D_602C2CC, 32, 32, 1);
}
if (gPlayer->state_1C8 == PLAYERSTATE_1C8_6) {
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_6) {
Texture_Scroll(D_602C2CC, 32, 32, 1);
}
func_8008C104(D_602C2CC, D_600D990);
if (func_800A73E4(&sp3C, &sp40, gPlayer->camEye.x, gPlayer->camEye.y, gPlayer->camEye.z - D_80177D20)) {
if (func_800A73E4(&sp3C, &sp40, gPlayer[0].camEye.x, gPlayer[0].camEye.y,
gPlayer[0].camEye.z - D_80177D20)) {
gLight1R = 0;
gLight1G = 7;
gLight1B = 10;
@ -6291,11 +6294,11 @@ void func_800B86CC(void) {
} else if (gCurrentLevel == LEVEL_TRAINING) {
func_DF4260_80198C50();
}
func_800B86A4(&gPlayer->pos.z);
func_800B86A4(&gPlayer->unk_138);
gPlayer->camEye.z += 15000.0f;
gPlayer->camAt.z += 15000.0f;
gPlayer->unk_144 = gPlayer->unk_140 = D_80177D08 = D_80177D20 = 0.0f;
func_800B86A4(&gPlayer[0].pos.z);
func_800B86A4(&gPlayer[0].unk_138);
gPlayer[0].camEye.z += 15000.0f;
gPlayer[0].camAt.z += 15000.0f;
gPlayer[0].unk_144 = gPlayer[0].unk_140 = D_80177D08 = D_80177D20 = 0.0f;
}
if (D_80177854 != 100) {
(void) "play_time = %d\n";
@ -6323,7 +6326,7 @@ void func_800B86CC(void) {
gDrawMode = DRAWMODE_4;
func_800B832C();
if ((gControllerPress[gMainController].button & START_BUTTON) &&
(gPlayer->state_1C8 == PLAYERSTATE_1C8_2) &&
(gPlayer[0].state_1C8 == PLAYERSTATE_1C8_2) &&
gSaveFile.save.data.planet[D_800D2F6C[gCurrentLevel]].normalClear) {
func_8001AE58();
func_8001D400(0);

View File

@ -42,11 +42,6 @@ extern f32 D_E6A810_801BE29C;
extern f32 D_E6A810_801BE2A4;
extern s16 D_E6A810_801BE2FA;
void func_80189120(f32 x, f32 y, f32 z, f32, f32);
bool func_801A3C20(f32);
s32 func_801A3300(Player*, f32, f32);
s32 func_801A3790(Player*, f32, f32);
void func_80043280(u16* text0, u16* text1, f32 zRot) {
s32 py;
s32 px;
@ -148,8 +143,8 @@ void func_800438E0(Object_8C* obj8C, f32 xPos, f32 yPos, f32 zPos, f32 scale) {
obj8C->obj.pos.y = yPos;
obj8C->obj.pos.z = zPos;
obj8C->vel.x = Rand_ZeroOne() - (2.0f * Rand_ZeroOne());
obj8C->vel.y = ((Rand_ZeroOne() * 3.0f) - (gPlayer->vel.z / 5.0f)) + 3.0f;
obj8C->vel.z = ((Rand_ZeroOne() * 3.0f) - (gPlayer->vel.z / 5.0f)) + 2.0f;
obj8C->vel.y = ((Rand_ZeroOne() * 3.0f) - (gPlayer[0].vel.z / 5.0f)) + 3.0f;
obj8C->vel.z = ((Rand_ZeroOne() * 3.0f) - (gPlayer[0].vel.z / 5.0f)) + 2.0f;
obj8C->scale2 = ((Rand_ZeroOne() * 0.8f) + 0.3f) * scale;
obj8C->timer_50 = (s32) (Rand_ZeroOne() * 5.0f) + 8;
obj8C->obj.rot.x = Rand_ZeroOne() * 360.0f;
@ -203,8 +198,8 @@ void func_80043B18(Player* player) {
func_80043AA0(player->pos.x + sp3C.x, player->pos.y + sp3C.y, player->unk_138 + sp3C.z, 0.2f);
} else {
if (!(gFrameCount & 1)) {
func_80189120(player->pos.x + sp3C.x, player->pos.y + sp3C.y, player->unk_138 + sp3C.z,
player->unk_0E8 + sp38, 1.3f);
func_E6A810_80189120(player->pos.x + sp3C.x, player->pos.y + sp3C.y, player->unk_138 + sp3C.z,
player->unk_0E8 + sp38, 1.3f);
}
if (!(gFrameCount & 3)) {
func_8007A900(player->pos.x + sp3C.x, player->pos.y + sp3C.y + 20.0f, player->unk_138 + sp3C.z, 2.0f,
@ -222,8 +217,8 @@ void func_80043B18(Player* player) {
}
} else {
if (!(gFrameCount & 1)) {
func_80189120(player->pos.x + sp3C.x, player->pos.y + sp3C.y, player->unk_138 + sp3C.z,
player->unk_0E8 + sp38, 1.0f);
func_E6A810_80189120(player->pos.x + sp3C.x, player->pos.y + sp3C.y, player->unk_138 + sp3C.z,
player->unk_0E8 + sp38, 1.0f);
}
if (!(gFrameCount & 3) && (player->unk_0D0 >= 5.0f)) {
func_8007A900(player->pos.x + sp3C.x, player->pos.y + sp3C.y + 20.0f, player->unk_138 + sp3C.z,
@ -240,8 +235,8 @@ void func_80043B18(Player* player) {
}
} else {
if (!(gFrameCount & 1)) {
func_80189120(player->pos.x + sp3C.x, player->pos.y + sp3C.y, player->unk_138 + sp3C.z,
player->unk_0E8 + sp38, 1.0f);
func_E6A810_80189120(player->pos.x + sp3C.x, player->pos.y + sp3C.y, player->unk_138 + sp3C.z,
player->unk_0E8 + sp38, 1.0f);
}
if (!(gFrameCount & 3) && (player->unk_0D0 >= 5.0f)) {
func_8007A900(player->pos.x + sp3C.x, player->pos.y + sp3C.y + 20.0f, player->unk_138 + sp3C.z,
@ -995,7 +990,7 @@ void func_80046704(Player* player) {
(obj80->obj.pos.z <= (player->unk_138 + 220.0f)) && (player->pos.y >= 200.0f)) {
player->unk_068 = obj80->obj.pos.y + 204.0f;
}
} else if ((obj80->obj.id == OBJ_80_105) && func_801A3C20(player->unk_138)) {
} else if ((obj80->obj.id == OBJ_80_105) && func_E6A810_801A3C20(player->unk_138)) {
if (((player->pos.x - 200.0f) < D_E6A810_801BE250.unk_54) &&
(D_E6A810_801BE250.unk_54 < (player->pos.x + 200.0f))) {
player->unk_068 = D_E6A810_801BE250.unk_58 - 1.0f;
@ -1188,7 +1183,7 @@ void func_80047504(Player* player) {
void func_80047754(Player* player) {
u8 sp2F = false;
if ((D_E6A810_801BE2FA == 0) && (func_801A3300(player, player->unk_138, player->unk_0E8) == 0)) {
if ((D_E6A810_801BE2FA == 0) && (func_E6A810_801A3300(player, player->unk_138, player->unk_0E8) == 0)) {
if (((player->pos.x - 110.0f) < D_E6A810_801BE274) && (D_E6A810_801BE274 < (player->pos.x + 110.0f)) &&
((player->pos.y - 60.0f) < (D_E6A810_801BE258 + 30.0f)) &&
((D_E6A810_801BE258 + 30.0f) < (player->pos.y + 60.f))) {
@ -1202,7 +1197,7 @@ void func_80047754(Player* player) {
func_80047E7C(player, D_E6A810_801BE274, D_E6A810_801BE258 + 30.0f);
}
}
if (func_801A3C20(player->unk_138)) {
if (func_E6A810_801A3C20(player->unk_138)) {
player->unk_0E4 = D_E6A810_801BE250.unk_5C;
if (((player->pos.x - 200.0f) < D_E6A810_801BE250.unk_54) &&
(D_E6A810_801BE250.unk_54 < (player->pos.x + 200.0f))) {
@ -1243,7 +1238,7 @@ void func_80047754(Player* player) {
label_29:
if (((D_E6A810_801BE2FA == 1) || (player->unk_138 < -116467.875f)) &&
(func_801A3790(player, player->unk_138, player->unk_0E8) == 0)) {
(func_E6A810_801A3790(player, player->unk_138, player->unk_0E8) == 0)) {
if (((player->pos.x - 110.0f) < D_E6A810_801BE29C) && (D_E6A810_801BE29C < (player->pos.x + 110.0f)) &&
((player->pos.y - 60.0f) < (D_E6A810_801BE280 + 30.0f)) &&
((D_E6A810_801BE280 + 30.0f) < (player->pos.y + 60.0f))) {
@ -1317,7 +1312,7 @@ void func_80047FBC(Player* player) {
if (!(D_800C9F08 & 1)) {
Math_SmoothStepToF(&player->unk_0EC, -((player->vel.z / 5.0f) * 4.0f), 0.4f, 8.0f, 0.01f);
if (player->unk_0EC >= 3.0f) {
if (gPlayer->state_1C8 != PLAYERSTATE_1C8_7) {
if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_7) {
Audio_PlaySfx(0x19000065, &player->unk_460, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
D_800C9F08 |= 1;
@ -1350,7 +1345,7 @@ void func_800481F4(Player* player) {
s32 i;
s32 temp_v0;
Object_2F4* obj2F4;
Object_408* obj408;
Boss* boss;
Object_4C* obj4C;
Object_80* obj80;
s32 sp98;
@ -1399,13 +1394,13 @@ void func_800481F4(Player* player) {
}
}
for (i = 0, obj408 = gObjects408; i < ARRAY_COUNT(gObjects408); i++, obj408++) {
if (obj408->obj.status == 2) {
temp_v0 = func_800A7974(player, obj408->info.hitbox, &sp98, obj408->obj.pos.x, obj408->obj.pos.y,
obj408->obj.pos.z, obj408->obj.rot.x, obj408->obj.rot.y, obj408->obj.rot.z,
0.0f, 0.0f, 0.0f);
for (i = 0, boss = gBosses; i < ARRAY_COUNT(gBosses); i++, boss++) {
if (boss->obj.status == 2) {
temp_v0 =
func_800A7974(player, boss->info.hitbox, &sp98, boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z,
boss->obj.rot.x, boss->obj.rot.y, boss->obj.rot.z, 0.0f, 0.0f, 0.0f);
if (temp_v0 != 0) {
Player_ApplyDamage(player, temp_v0, obj408->info.damage);
Player_ApplyDamage(player, temp_v0, boss->info.damage);
}
}
}

View File

@ -493,8 +493,8 @@ void func_8007905C(Object_8C* obj8C, f32 posX, f32 posY, f32 posZ, f32 arg4, u8
obj8C->obj.pos.z = posZ;
obj8C->unk_4C = arg5;
if (arg4 == 1.6f) {
obj8C->vel.x = (posX - gObjects408[1].obj.pos.x) * 0.1f;
obj8C->vel.z = (posZ - gObjects408[1].obj.pos.z) * 0.1f;
obj8C->vel.x = (posX - gBosses[1].obj.pos.x) * 0.1f;
obj8C->vel.z = (posZ - gBosses[1].obj.pos.z) * 0.1f;
} else if (arg4 == 1.3f) {
obj8C->vel.x = ((Rand_ZeroOne() * 0.05f) + 0.03f) * posX;
obj8C->vel.z = ((Rand_ZeroOne() * 0.05f) + 0.03f) * posZ;
@ -1299,7 +1299,7 @@ void func_8007BB14(Object_8C* obj8C, f32 posX, f32 posY, f32 posZ, f32 arg4) {
obj8C->scale2 = arg4 * 0.25f;
obj8C->obj.rot.z = Rand_ZeroOne() * 360.0f;
if (arg4 == 6.0f) {
obj8C->vel.z = gPlayer->vel.z * 0.6f;
obj8C->vel.z = gPlayer[0].vel.z * 0.6f;
}
Object_SetInfo(&obj8C->info, obj8C->obj.id);
}
@ -1316,11 +1316,11 @@ void func_8007BC7C(f32 posX, f32 posY, f32 posZ, f32 arg3) {
}
void func_8007BCE8(Object_8C* obj8C) {
if (gPlayer->state_1C8 == PLAYERSTATE_1C8_7) {
obj8C->obj.rot.x = (gPlayer->unk_05C * 180.0f) / M_PI;
obj8C->obj.rot.y = (-gPlayer->unk_058 * 180.0f) / M_PI;
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7) {
obj8C->obj.rot.x = (gPlayer[0].unk_05C * 180.0f) / M_PI;
obj8C->obj.rot.y = (-gPlayer[0].unk_058 * 180.0f) / M_PI;
}
if (gPlayer->state_1C8 == PLAYERSTATE_1C8_6) {
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_6) {
obj8C->unk_46 = 2;
obj8C->vel.y -= 0.13f;
}
@ -1349,7 +1349,7 @@ void func_8007BE54(Object_8C* obj8C) {
if (obj8C->unk_4A < 0) {
Object_Kill(&obj8C->obj, &obj8C->sfxPos);
}
obj8C->vel.z = gPlayer->vel.z + 7.0f;
obj8C->vel.z = gPlayer[0].vel.z + 7.0f;
obj8C->obj.rot.z += obj8C->unk_48;
obj8C->vel.y += 0.1f;
}
@ -1529,7 +1529,7 @@ void func_8007C6FC(Object_8C* obj8C, f32 posX, f32 posY, f32 posZ, f32 arg4) {
if (Rand_ZeroOne() < 0.5f) {
obj8C->unk_48 = -obj8C->unk_48;
}
if ((gCurrentLevel == LEVEL_FORTUNA) && (gPlayer->state_1C8 != PLAYERSTATE_1C8_6)) {
if ((gCurrentLevel == LEVEL_FORTUNA) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_6)) {
obj8C->unk_4A = 180;
} else {
obj8C->unk_4A = 255;
@ -1564,7 +1564,7 @@ void func_8007C8C4(Object_8C* obj8C) {
s32 var_v0;
var_v0 = 0;
if ((gCurrentLevel == LEVEL_FORTUNA) && (gPlayer->state_1C8 != PLAYERSTATE_1C8_6)) {
if ((gCurrentLevel == LEVEL_FORTUNA) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_6)) {
var_v0 = 3;
}
if (!(obj8C->timer_50 & var_v0) && (gLevelType == LEVELTYPE_PLANET)) {
@ -1783,7 +1783,7 @@ void func_8007D2C8(f32 posX, f32 posY, f32 posZ, f32 scale2) {
void func_8007D2F4(Object_8C* obj8C) {
if (gLevelType == LEVELTYPE_PLANET) {
if ((gCurrentLevel == LEVEL_KATINA) && (gPlayer->state_1C8 == PLAYERSTATE_1C8_7)) {
if ((gCurrentLevel == LEVEL_KATINA) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7)) {
obj8C->vel.y += 0.1f;
if (obj8C->timer_50 == 0) {
obj8C->unk_4C++;
@ -1796,7 +1796,8 @@ void func_8007D2F4(Object_8C* obj8C) {
}
}
} else {
if ((gCurrentLevel == LEVEL_MACBETH) && (gPlayer->state_1C8 == PLAYERSTATE_1C8_7) && (obj8C->vel.x != 0)) {
if ((gCurrentLevel == LEVEL_MACBETH) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7) &&
(obj8C->vel.x != 0)) {
Math_SmoothStepToF(&obj8C->vel.x, -1.0f, 1.0f, 1.0f, 0.0f);
Math_SmoothStepToF(&obj8C->vel.z, 4.0f, 1.0f, 1.0f, 0.0f);
obj8C->vel.y += 1.7f;
@ -1996,10 +1997,10 @@ void func_8007DB70(Object_8C* obj8C) {
}
}
obj8C->obj.rot.y = 180.0f - obj8C->obj.rot.y;
if ((fabsf(gPlayer->unk_138 - obj8C->obj.pos.z) < 40.0f) &&
(fabsf(gPlayer->pos.x - obj8C->obj.pos.x) < 80.0f)) {
if ((obj8C->obj.pos.y < gPlayer->pos.y) &&
((gPlayer->pos.y - obj8C->obj.pos.y) < (obj8C->scale2 * 35.0f)) && (gPlayer->timer_498 == 0)) {
if ((fabsf(gPlayer[0].unk_138 - obj8C->obj.pos.z) < 40.0f) &&
(fabsf(gPlayer[0].pos.x - obj8C->obj.pos.x) < 80.0f)) {
if ((obj8C->obj.pos.y < gPlayer[0].pos.y) &&
((gPlayer[0].pos.y - obj8C->obj.pos.y) < (obj8C->scale2 * 35.0f)) && (gPlayer[0].timer_498 == 0)) {
Player_ApplyDamage(gPlayer, 0, obj8C->info.damage);
}
}

View File

@ -1598,43 +1598,43 @@ void func_8008F96C(void) {
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80090200.s")
void func_800907C4(Object_408* obj408) {
switch (obj408->unk_04E) {
void func_800907C4(Boss* boss) {
switch (boss->unk_04E) {
case 0:
if ((obj408->unk_0DC == 255.0f) && (obj408->unk_0E0 == 212.0f)) {
obj408->unk_04E = 1;
if ((boss->fwork[1] == 255.0f) && (boss->fwork[2] == 212.0f)) {
boss->unk_04E = 1;
} else {
Math_SmoothStepToF(&obj408->unk_0DC, 255.0f, 0.3f, 6.0f, 6.0f);
Math_SmoothStepToF(&obj408->unk_0E0, 212.0f, 0.3f, 4.98f, 4.98f);
Math_SmoothStepToF(&boss->fwork[1], 255.0f, 0.3f, 6.0f, 6.0f);
Math_SmoothStepToF(&boss->fwork[2], 212.0f, 0.3f, 4.98f, 4.98f);
}
break;
case 1:
if ((obj408->unk_0DC == 28.0f) && (obj408->unk_0E0 == 23.0f)) {
obj408->unk_04E = 0;
if ((boss->fwork[1] == 28.0f) && (boss->fwork[2] == 23.0f)) {
boss->unk_04E = 0;
} else {
Math_SmoothStepToF(&obj408->unk_0DC, 28.0f, 0.3f, 6.0f, 6.0f);
Math_SmoothStepToF(&obj408->unk_0E0, 23.0f, 0.3f, 4.98f, 4.98f);
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);
}
break;
}
func_8008FFF0(obj408, D_8015F928);
func_8008FFF0(boss, D_8015F928);
}
bool func_8009092C(Object_2F4* obj2F4) {
bool var_s5 = false;
Object_408* obj408;
Boss* boss;
s32 i = 0;
if (obj2F4->unk_0E6 != 0) {
return true;
}
obj408 = &gObjects408[1];
boss = &gBosses[1];
for (i = 1; i < 4; i++, obj408++) {
if (obj408->obj.status == 2) {
for (i = 1; i < 4; i++, boss++) {
if (boss->obj.status == 2) {
var_s5 = true;
if (obj2F4->unk_0E6 == 0) {
obj2F4->unk_0E6 = i;
@ -1672,7 +1672,7 @@ bool func_80090A00(Object_2F4* obj2F4) {
}
case 2:
obj2F4->unk_124.x = gObjects408[0].obj.pos.x + 1000.0f;
obj2F4->unk_124.x = gBosses[0].obj.pos.x + 1000.0f;
obj2F4->unk_124.y = 300.0f;
obj2F4->unk_124.z = obj2F4->obj.pos.z - 10000.0f;
obj2F4->unk_058++;
@ -1686,9 +1686,9 @@ bool func_80090A00(Object_2F4* obj2F4) {
break;
case 3:
obj2F4->unk_124.x = gObjects408[0].obj.pos.x - 1000.0f;
obj2F4->unk_124.x = gBosses[0].obj.pos.x - 1000.0f;
obj2F4->unk_124.y = 400.0f;
obj2F4->unk_124.z = gObjects408[0].obj.pos.z;
obj2F4->unk_124.z = gBosses[0].obj.pos.z;
obj2F4->unk_058++;
if (obj2F4->unk_05C == obj2F4->unk_058) {
obj2F4->unk_064 = 4;
@ -1726,13 +1726,13 @@ bool func_80090CCC(Object_2F4* obj2F4) {
bool ret = false;
if (func_8009092C(obj2F4)) {
obj2F4->unk_124.z = gObjects408[obj2F4->unk_0E6].obj.pos.z;
obj2F4->unk_124.y = gObjects408[obj2F4->unk_0E6].obj.pos.y;
obj2F4->unk_124.x = gObjects408[obj2F4->unk_0E6].obj.pos.x;
obj2F4->unk_124.z = gBosses[obj2F4->unk_0E6].obj.pos.z;
obj2F4->unk_124.y = gBosses[obj2F4->unk_0E6].obj.pos.y;
obj2F4->unk_124.x = gBosses[obj2F4->unk_0E6].obj.pos.x;
} else {
obj2F4->unk_124.z = gObjects408[0].obj.pos.z;
obj2F4->unk_124.y = gObjects408[0].obj.pos.y;
obj2F4->unk_124.x = gObjects408[0].obj.pos.x;
obj2F4->unk_124.z = gBosses[0].obj.pos.z;
obj2F4->unk_124.y = gBosses[0].obj.pos.y;
obj2F4->unk_124.x = gBosses[0].obj.pos.x;
}
if ((fabsf(obj2F4->obj.pos.x - obj2F4->unk_124.x) < 2000.0f) &&
@ -1756,7 +1756,7 @@ bool func_80090CCC(Object_2F4* obj2F4) {
obj2F4->unk_13C = 30.0f;
}
if (gObjects408[obj2F4->unk_0E6].obj.status == 0) {
if (gBosses[obj2F4->unk_0E6].obj.status == 0) {
obj2F4->unk_0B8 = 1;
obj2F4->unk_0E6 = 0;
obj2F4->unk_068 = 0;
@ -1797,8 +1797,8 @@ s32 func_80090E8C(Object_2F4* obj2F4) {
var_fv1_2 = 5000.0f;
}
if ((var_fv1_2 < fabsf(obj2F4->obj.pos.x - gObjects408->obj.pos.x)) &&
(var_fv1_2 < fabsf(obj2F4->obj.pos.z - gObjects408->obj.pos.z))) {
if ((var_fv1_2 < fabsf(obj2F4->obj.pos.x - gBosses[0].obj.pos.x)) &&
(var_fv1_2 < fabsf(obj2F4->obj.pos.z - gBosses[0].obj.pos.z))) {
obj2F4->unk_0B8 = 0;
}
@ -1819,9 +1819,9 @@ bool func_800910C0(Object_2F4* obj2F4) {
obj2F4->timer_0BC = (s32) (Rand_ZeroOne() * 20.0f) + 10;
}
obj2F4->unk_124.x = obj2F4->unk_2DC.x + gObjects408->obj.pos.x;
obj2F4->unk_124.y = obj2F4->unk_2DC.y;
obj2F4->unk_124.z = obj2F4->unk_2DC.z + gObjects408->obj.pos.z;
obj2F4->unk_124.x = gBosses[0].obj.pos.x + (*obj2F4).unk_2DC.x;
obj2F4->unk_124.y = (*obj2F4).unk_2DC.y;
obj2F4->unk_124.z = gBosses[0].obj.pos.z + (*obj2F4).unk_2DC.z;
if (obj2F4->unk_0E4 == 1) {
var_fv1 = 1500.0f;

View File

@ -1,7 +1,7 @@
#include "global.h"
#include "DF4260.h"
void func_DF4260_80187520(s32 arg0, s32 arg1) {
void func_DF4260_80187520(s32 arg0, void* arg1) {
}
void func_DF4260_80187530(Object_80* obj80) {

View File

@ -1,55 +1,7 @@
#include "common.h"
#include "global.h"
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_80187520.s")
static s32 D_E16C50_801BECA0 = 0;
static s32 D_E16C50_801C2240;
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_80187530.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_801875E4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018767C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_80187704.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_80187754.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_80187944.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018A1B0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018A2C4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018A464.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018B9BC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018BCD4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018C0D0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018C54C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018D3CC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018D4E0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018D5C8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018D694.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018D804.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018D920.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018DA58.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018DF74.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018EA88.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018EB3C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018EC38.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/func_E16C50_8018ED78.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E16C50/D_E16C50_801C0900.s")
void func_E16C50_80187520(s32 arg0, void* arg1) {
}

View File

@ -1,177 +0,0 @@
#include "common.h"
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8018FF50.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80190028.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_801900FC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019019C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80190204.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80190430.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_801904CC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80190790.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80190A00.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80190B4C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80190D0C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80190F08.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80190F28.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80191010.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_801914C4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_801915A4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80191680.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80191B4C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80191BB8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80191BC4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80191DB0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80191E94.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80191FFC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80192094.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_801926F4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80192834.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80192C18.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80192C84.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80192E64.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80193240.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_801932AC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80193628.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_801937D8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80193908.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80193970.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80193A98.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80193B08.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80193C5C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80193CC8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80193D08.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80194394.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_801949DC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80194A84.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_801986FC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_801989FC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80198BE8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80198ECC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80198F3C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019907C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019914C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_801991D0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80199394.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80199470.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019962C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019969C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019983C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_801998E0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_801999CC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80199A28.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80199E24.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80199E9C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_80199F10.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019A1FC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019A4E0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019A5D4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019ACCC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019B1F0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019B548.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019B7DC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019B810.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019B854.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019BC78.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019BDE0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019BE48.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019C1CC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019C200.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019C454.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019C83C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019CBEC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019CE58.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019D060.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019D15C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019D340.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019D3C4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019D428.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019D76C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/func_E16C50_8019E5F0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E1F680/D_E16C50_801C0DB0.s")

View File

@ -1,105 +0,0 @@
#include "common.h"
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_8019E7F0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_8019E8B8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_8019E920.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_8019E9F4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_8019EA7C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_8019EF30.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_8019F038.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_8019F0B0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_8019F194.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_8019F20C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_8019F7AC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_8019F99C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_8019FAA4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_8019FDE0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_8019FEE8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_8019FF44.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_8019FFC0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A003C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A0120.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A0AF0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A0CEC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A0D90.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A0DF8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A0FD4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A10F4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A1CD8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A1E14.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A1EB0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A1F80.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A239C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A23F4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A2C3C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A2C98.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A30CC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A3128.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A3468.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A3510.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A3C4C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A4214.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A48B8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A4A34.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A4EC0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A4EF8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A56B8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A5B3C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A68A8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A6BDC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A71B8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A7750.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A7930.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A8BE8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E2DF20/func_E16C50_801A8DB8.s")

View File

@ -1,213 +0,0 @@
#include "common.h"
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801A8E30.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801A92EC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801A9374.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801A9448.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801A94EC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801A958C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801A95C8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801A96DC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801A9728.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801A9824.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801A99D4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801A9C98.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801A9DE4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801A9ED0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AA20C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AA4BC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AA8E8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AACF8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AB9B0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801ABA40.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AC09C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AC18C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AC274.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AC7C8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AC8A8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AC918.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801ACBB4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801ACE50.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AD328.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AD598.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AD688.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AD6C0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801ADF7C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AE168.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AE3AC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AE3D8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AEB44.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AF9FC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801AFA5C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B099C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B0B60.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B0EC0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B0F88.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B0FCC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B1008.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B10F8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B134C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B42AC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B49DC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B4D84.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B4DDC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B4E94.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B504C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B50E8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B5C18.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B5F68.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B619C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B6344.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B638C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B6E54.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B6FF8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B76EC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B7754.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B7A24.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B7AF0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B7C78.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B8C50.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B8D7C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B90DC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B91A4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801B9DB0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BA108.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BA26C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BA4E4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BA57C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BA6A4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BAD7C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BADF8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BB0C4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BB204.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BB26C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BB79C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BC530.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BC91C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BC930.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BC9A0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BD17C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BD264.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BD3B0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BD54C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BDDFC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BDE6C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BDF14.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BE034.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BE0F0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BE1FC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BE274.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BE3F8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BEB1C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BEC50.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BEC5C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BEC68.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BEC74.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BEC80.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/func_E16C50_801BEC8C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/E38560/D_E16C50_801C1A30.s")

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,502 @@
#include "global.h"
void func_E16C50_801AC918(Object_8C*);
void func_E16C50_801AD6C0(Object_2F4*);
void func_E16C50_801AE168(Object_2F4*);
void func_E16C50_801AE3D8(Object_2F4*);
void func_E16C50_801AEB44(Object_2F4*);
void func_E16C50_801AFA5C(Object_2F4*);
void func_E16C50_801B099C(Object_2F4*);
void func_E16C50_801B0B60(Object_2F4*);
void func_E16C50_801B0EC0(Object_2F4*);
void func_E16C50_801B504C(Object_2F4*);
void func_E16C50_801B50E8(Object_2F4*);
void func_E16C50_801B619C(Object_2F4*);
void func_E16C50_801B638C(Object_2F4*);
void func_E16C50_801B6FF8(Object_2F4*);
void func_E16C50_801B7A24(Object_2F4*);
void func_E16C50_801B7C78(Object_2F4*);
void func_E16C50_801B90DC(Object_2F4*);
void func_E16C50_801B91A4(Object_2F4*);
void func_E16C50_801BA108(Object_2F4*);
void func_E16C50_801BA26C(Object_2F4*);
void func_E16C50_801BA4E4(Object_2F4*);
void func_E16C50_801BA6A4(Object_2F4*);
void func_E16C50_801BAD7C(Object_2F4*);
void func_E16C50_801BADF8(Object_2F4*);
void func_E16C50_801BB204(Object_2F4*);
void func_E16C50_801BB79C(Object_2F4*);
void func_E16C50_801BC930(Object_2F4*);
void func_E16C50_801BC9A0(Object_2F4*);
void func_E16C50_801BD264(Object_2F4*);
void func_E16C50_801BD54C(Object_2F4*);
void func_E16C50_801BDE6C(Object_2F4*);
void func_E16C50_801BE1FC(Object_80*);
void func_E16C50_801BE3F8(Object_2F4*);
void func_E16C50_801BEB1C(Object_2F4*);
void func_E16C50_801BEC68(Object_2F4*);
void func_E16C50_801BEC74(Object_2F4*);
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_8C_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_2F4_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_2F4_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_2F4_256 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AE3D8.s")
// OBJ_2F4_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_2F4_257 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AFA5C.s")
// OBJ_2F4_257 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B099C.s")
// OBJ_2F4_258 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B0B60.s")
// OBJ_2F4_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_2F4_261 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B504C.s")
// OBJ_2F4_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_2F4_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_2F4_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_2F4_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_2F4_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_2F4_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_2F4_260 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B90DC.s")
// OBJ_2F4_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_2F4_263 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BA108.s")
// OBJ_2F4_264 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BA26C.s")
// OBJ_2F4_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_2F4_265 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BA6A4.s")
// OBJ_2F4_265 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BAD7C.s")
// OBJ_2F4_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_2F4_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_2F4_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_2F4_267 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BC930.s")
// OBJ_2F4_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_2F4_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_2F4_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_2F4_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_2F4_270 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BE3F8.s")
// OBJ_2F4_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_2F4_188 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BEC68.s")
// OBJ_2F4_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

@ -0,0 +1,203 @@
#include "global.h"
typedef void (*BossSOfunc)(Boss*);
void func_E16C50_8019EA7C(Object_2F4*);
void func_E16C50_8019F20C(Object_2F4*);
void func_E16C50_8019F7AC(Object_2F4*);
void func_E16C50_801A003C(Object_2F4*);
void func_E16C50_801A0120(Object_8C*);
void func_E16C50_801A0AF0(Object_8C*);
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_2F4_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_2F4_275, 276, 277 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019F20C.s")
// OBJ_2F4_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_2F4_279 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A003C.s")
// OBJ_8C_392 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A0120.s")
// OBJ_8C_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

@ -0,0 +1,372 @@
#include "global.h"
void func_E16C50_801904CC(Object_2F4*);
void func_E16C50_80190A00(Object_2F4*);
void func_E16C50_80191010(Object_2F4*);
void func_E16C50_801914C4(Object_2F4*);
void func_E16C50_80191680(Object_2F4*);
void func_E16C50_80191B4C(Object_2F4*);
void func_E16C50_80191BC4(Object_2F4*);
void func_E16C50_80191DB0(Object_2F4*);
void func_E16C50_80191FFC(Object_2F4*);
void func_E16C50_80192094(Object_2F4*);
void func_E16C50_80192834(Object_2F4*);
void func_E16C50_80192C18(Object_2F4*);
void func_E16C50_80192E64(Object_2F4*);
void func_E16C50_80193240(Object_2F4*);
void func_E16C50_8019969C(Object_2F4*);
void func_E16C50_8019983C(Object_2F4*);
void func_E16C50_80199A28(Object_2F4*);
void func_E16C50_80199E24(Object_2F4*);
void func_E16C50_80199F10(Object_2F4*);
void func_E16C50_8019A1FC(Object_2F4*);
void func_E16C50_8019A5D4(Object_2F4*);
void func_E16C50_8019ACCC(Object_2F4*);
void func_E16C50_8019B548(Object_2F4*);
void func_E16C50_8019B7DC(Object_2F4*);
void func_E16C50_8019B854(Object_2F4*);
void func_E16C50_8019BDE0(Object_2F4*);
void func_E16C50_8019BE48(Object_2F4*);
void func_E16C50_8019C1CC(Object_2F4*);
void func_E16C50_8019C454(Object_2F4*);
void func_E16C50_8019C83C(Object_2F4*);
void func_E16C50_8019CBEC(Object_2F4*);
void func_E16C50_8019CE58(Object_2F4*);
void func_E16C50_8019D15C(Object_2F4*);
void func_E16C50_8019D3C4(Object_2F4*);
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_2F4_235 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190430.s")
// OBJ_2F4_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_2F4_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_2F4_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_2F4_238 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191010.s")
// OBJ_2F4_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_2F4_240 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191680.s")
// OBJ_2F4_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_2F4_241 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191BC4.s")
// OBJ_2F4_241 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191DB0.s")
// OBJ_2F4_242 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191E94.s")
// OBJ_2F4_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_2F4_243 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80192834.s")
// OBJ_2F4_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_2F4_244 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80192E64.s")
// OBJ_2F4_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_2F4_245 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019969C.s")
// OBJ_2F4_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_2F4_246 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80199A28.s")
// OBJ_2F4_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_2F4_248 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80199F10.s")
// OBJ_2F4_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_2F4_249 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019A5D4.s")
// OBJ_2F4_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_2F4_250 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019B548.s")
// OBJ_2F4_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_2F4_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_2F4_251 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019BDE0.s")
// OBJ_2F4_252 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019BE48.s")
// OBJ_2F4_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_2F4_253 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019C454.s")
// OBJ_2F4_253 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019C83C.s")
// OBJ_2F4_254 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019CBEC.s")
// OBJ_2F4_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_2F4_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_2F4_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

@ -9,7 +9,7 @@ void func_EBFBE0_8019E8C8(void);
void func_EBFBE0_8019E8D0(void);
void func_EBFBE0_801A01A8(void);
void func_EBFBE0_80187520(s32 arg0, s32 arg1) {
void func_EBFBE0_80187520(s32 arg0, void* arg1) {
switch (arg0) {
case 103:
func_EBFBE0_80187754();

View File

@ -47,18 +47,24 @@
symbol_name_format: E16C50_$VRAM
subsegments:
- [0xE16C50, c, E16C50]
- [0xE1F680, c, E1F680]
- [0xE2DF20, c, E2DF20]
- [0xE38560, c, E38560]
- [0xE4E3D0, data, E16C50]
- [0xE4EC90, data, E1F680]
- [0xE4F010, data, E2DF20]
- [0xE4F290, data, E38560]
- [0xE50030, .rodata, E16C50]
- [0xE504E0, .rodata, E1F680]
- [0xE50C00, .rodata, E2DF20]
- [0xE51160, .rodata, E38560]
- { start: 0xE51970, type: bss, vram: 0x801C2240, name: ovl_E16C50 }
- [0xE16C60, c, fox_a6]
- [0xE1F680, c, sf_zo]
- [0xE2DF20, c, sf_so]
- [0xE38560, c, sf_aq]
- [0xE4E3D0, .data, E16C50]
- [0xE4E3E0, .data, fox_a6]
- [0xE4EC90, .data, sf_zo]
- [0xE4F010, .data, sf_so]
- [0xE4F290, .data, sf_aq]
- [0xE50030, .rodata, fox_a6]
- [0xE504E0, .rodata, sf_zo]
- [0xE50C00, .rodata, sf_so]
- [0xE51160, .rodata, sf_aq]
- { start: 0xE51970, type: .bss, vram: 0x801C2240, name: E16C50 }
- { start: 0xE51970, type: .bss, vram: 0x801C2250, name: fox_a6 }
- { start: 0xE51970, type: .bss, vram: 0x801C2330, name: sf_zo }
- { start: 0xE51970, type: .bss, vram: 0x801C2740, name: sf_so }
- { start: 0xE51970, type: .bss, vram: 0x801C27C0, name: sf_aq }
- name: ovl_E51970
type: code