fox_co decomp, Object_2F4 rename to Actor with work buffers (#79)

* first few functions

* funcs so far - messy

* only large funcs left

* func_DF4260_8018F880 and func_DF4260_80191160

* func_DF4260_8018C19C

* func_DF4260_8018F880 player

* build post merge

* first cleanup pass

* add work buffers to Object_2F4

* halfway through data import

* finish data import

* cleanup and add non_matching

* bss complete

* actor rename

* post merge cleanup

* file rename

* arg rename

* other object variables rename

* hex cleanup for func_DF4260_80189058

* format

* revert note_data

* suggestions

* format suggestions
This commit is contained in:
inspectredc
2024-01-13 22:45:37 +00:00
committed by GitHub
parent 262a0bede2
commit 31bfc1ecdd
32 changed files with 8044 additions and 4948 deletions
+187 -183
View File
@@ -96,23 +96,24 @@ s32 vsprintf(char* dst, const char* fmt, va_list args);
// fox_360
void func_8002ED60(Player*);
void func_8002E3E0(Object_2F4*);
void func_8002E3E0(Actor*);
void func_8002E548(void);
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*);
void func_8002E6DC(Object_2F4*);
void func_8002E670(Actor*);
void func_8002E694(Actor*);
void func_8002E6B8(Actor*);
void func_8002E6DC(Actor*);
bool func_8002E4F8(u16*, s32);
void func_8002E700(Player *);
void func_8002EE64(Object_2F4 * obj2F4);
void func_8002EE64(Actor * actor);
void func_8002F180(void);
void func_8002F5F4(u16* msg, s32 character);
void func_8003088C(Object_2F4*);
void func_800319AC(Object_2F4* this);
void func_80035448(Object_2F4* obj2F4);
void func_8003088C(Actor*);
void func_800319AC(Actor* this);
void func_80035448(Actor* actor);
//fox_beam
void PlayerShot_Initialize(PlayerShot *);
@@ -131,7 +132,6 @@ void func_80040CE4(void);
void func_80042D38(void);
// fox_43AC0
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);
@@ -139,6 +139,8 @@ void func_80042FC4(Boss* boss);
void func_80042FD0(Boss* boss);
void func_80042FDC(Boss* boss);
void func_80042FE8(Boss* boss);
void func_800430DC(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s32, s32);
void func_8004319C(Player* player, f32 arg1, f32 arg2, f32 arg3);
// fox_43E80
void func_80043468(Player* player);
@@ -150,12 +152,13 @@ void func_80046358(Player*);
void func_80048AC0(s32 teamId);
void func_80049C0C(Player *);
void func_8004A52C(Player *);
void func_8004AA84(void);
void func_8004AAF4(Player *);
void func_8004C930(Player *);
void func_8004CCC0(Player *);
void func_8004E3D8(Player *);
void func_8004F8AC(Object_2F4*);
void func_8004FEC0(Object_2F4*);
void func_8004F8AC(Actor*);
void func_8004FEC0(Actor*);
void func_800515C4(void);
// fox_display
@@ -168,31 +171,31 @@ void func_80057D00(void);
void func_800594F0(Object_80*);
void func_800595D0(Object_80*);
void func_800596C0(void);
void func_800596B0(Object_2F4*);
void func_800596B0(Actor*);
// fox_edisplay
void Graphics_SetScaleMtx(f32);
void func_80059850(Object_4C*);
void func_800598E8(Object_2F4*);
void func_80059A24(Object_2F4*);
void func_800598E8(Actor*);
void func_80059A24(Actor*);
void func_80059AEC(Object_80*);
void func_80059B20(Object_80*);
void func_80059BBC(Object_80*);
void func_80059BF0(Object_2F4*);
void func_80059BF0(Actor*);
void func_80059C34(Object_4C*);
void func_80059C40(Object_4C*);
void func_80059F68(Item*);
void func_80059FDC(Item*);
void func_8005A094(Object_2F4*);
void func_8005ADAC(Object_2F4*);
void func_8005B1E8(Object_2F4*, s32);
void func_8005B388(Object_2F4*);
void func_8005B6A4(Object_2F4*);
void func_8005B71C(Object_2F4*);
void func_8005B7CC(Object_2F4*);
void func_8005B848(Object_2F4*);
void func_8005B9A4(Object_2F4*);
void func_8005BA30(Object_2F4*);
void func_8005A094(Actor*);
void func_8005ADAC(Actor*);
void func_8005B1E8(Actor*, s32);
void func_8005B388(Actor*);
void func_8005B6A4(Actor*);
void func_8005B71C(Actor*);
void func_8005B7CC(Actor*);
void func_8005B848(Actor*);
void func_8005B9A4(Actor*);
void func_8005BA30(Actor*);
void func_8005C5F0(Item*);
void func_8005C900(Item*);
void func_8005C9C0(Item*);
@@ -218,14 +221,14 @@ s32 func_80060FE4(Vec3f*, f32);
void Object_SetInfo(ObjectInfo* info, u32 objId);
void Object_80_Initialize(Object_80*);
void Object_4C_Initialize(Object_4C*);
void Object_2F4_Initialize(Object_2F4*);
void Actor_Initialize(Actor*);
void Boss_Initialize(Boss*);
void Item_Initialize(Item*);
void Effect_Initialize(Effect*);
void func_80061B68(void);
void func_80061CD0(void);
void func_80061E48(Object_2F4* , f32 , f32 , f32 );
void func_80061F0C(Object_2F4* , ObjectInit* , s32 );
void func_80061E48(Actor* , f32 , f32 , f32 );
void func_80061F0C(Actor* , ObjectInit* , s32 );
void Object_Load(ObjectInit* , f32 , f32 , f32 , f32 );
void func_80062568(void);
void func_80062B60(f32 xPos, f32 zPos, s32 arg2, f32 arg3);
@@ -236,13 +239,13 @@ s32 func_8006351C(s32 , Vec3f* , Vec3f* , s32 );
s32 func_801A55D4(s32 , Vec3f* , Vec3f* , s32 );
void func_800652CC(Object_80*);
void func_800654E4(Object *);
void func_800656D4(Object_2F4*);
void func_800660F0(Object_2F4*);
void func_80066254(Object_2F4*);
void func_8006654C(Object_2F4*);
void func_8006684C(Object_2F4*);
void func_800669A0(Object_2F4*);
void func_80066A80(Object_2F4*);
void func_800656D4(Actor*);
void func_800660F0(Actor*);
void func_80066254(Actor*);
void func_8006654C(Actor*);
void func_8006684C(Actor*);
void func_800669A0(Actor*);
void func_80066A80(Actor*);
void func_80066C00(Object_80*);
void func_80066D5C(Object_80*);
void func_80066E8C(Object_4C*);
@@ -250,8 +253,8 @@ void func_80066EA8(Object_80*);
void func_80066EF0(Item *);
void func_800671D0(Item *);
void func_800674B4(f32, f32, f32, f32, f32, f32, f32, f32);
void func_8006753C(Object_2F4*);
void func_80067874(Object_2F4*);
void func_8006753C(Actor*);
void func_80067874(Actor*);
void func_80067A40(void);
void func_80067B1C(Item*);
void func_80067BEC(Item*);
@@ -267,12 +270,12 @@ void func_80068C88(Item*);
void func_80068FE0(Object_4C*);
void func_800690D0(s32, ObjectId);
void func_80069924(Effect *);
void func_800693E8(Object_2F4 *);
void func_800693E8(Actor *);
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 Actor_Update(Actor*);
void Boss_Update(Boss *);
void Object_80_Update(Object_80 *);
void Object_4C_Update(Object_4C *);
@@ -283,27 +286,27 @@ void func_8006A38C(void);
void Object_UpdateAll(void);
//fox_6B3B0
void func_8006A96C(Object_2F4*);
void func_8006A978(Object_2F4*);
void func_8006A96C(Actor*);
void func_8006A978(Actor*);
void func_8006AA98(Object_80*);
void func_8006AC08(Object_2F4*);
void func_8006AD18(Object_2F4*);
void func_8006B094(Object_2F4*);
void func_8006B0A0(Object_2F4 *);
void func_8006B74C(Object_2F4 *);
void func_8006AC08(Actor*);
void func_8006AD18(Actor*);
void func_8006B094(Actor*);
void func_8006B0A0(Actor *);
void func_8006B74C(Actor *);
void func_8006B95C(Object_80*);
void func_8006BB78(Object_2F4*);
void func_8006C008(Object_2F4*);
void func_8006BB78(Actor*);
void func_8006C008(Actor*);
void func_8006D350(Object_80*);
void func_8006EEFC(s32, f32, f32, f32, f32, f32, f32, f32, f32, f32);
void func_8006F0D8(f32 xPos, f32 yPos, f32 zPos, f32 arg3);
void func_80072594(Object_2F4*);
void func_80072594(Actor*);
s32 func_80074F90(Object_80*);
void func_80074FF0(Object_2F4*);
void func_800763A4(Object_2F4 *);
void func_8007717C(Object_2F4 *);
void func_800771CC(Object_2F4*);
void func_80077218(Object_2F4*);
void func_80074FF0(Actor*);
void func_800763A4(Actor *);
void func_8007717C(Actor *);
void func_800771CC(Actor*);
void func_80077218(Actor*);
// fox_effect
void func_80077240(f32 posX, f32 posY, f32 posZ, s32 hits);
@@ -456,6 +459,7 @@ void func_800869A0(f32, f32, s32, f32, s32, s32);
void func_80087530(f32, f32, s32);
void func_80088564(void);
void func_8008865C(void);
s32 func_8008AC54(s32);
void func_8008AD94(void);
void func_8008B5B0(f32 x, f32 y);
s32 func_8008B774(void);
@@ -475,12 +479,12 @@ void func_8008EA14(f32, f32);
void func_8008FA84(void);
void func_8008FE78(Boss*);
void func_8008FFF0(Boss*, s32);
bool func_8009092C(Object_2F4*);
bool func_8009092C(Actor*);
void func_800907C4(Boss*);
s32 func_800915FC(Object_2F4*);
void func_80092D48(Object_2F4 *);
void func_80092EC0(Object_2F4*);
void func_80093164(Object_2F4*);
s32 func_800915FC(Actor*);
void func_80092D48(Actor *);
void func_80092EC0(Actor*);
void func_80093164(Actor*);
void func_800935E8(Player*);
void func_80095604(Player*);
void func_80094954(Effect*);
@@ -503,7 +507,7 @@ void func_800A1FB0(Gfx **, u8 , u8);
void func_800A24DC(s32);
void func_800A26C0(void);
void func_800A25DC(void);
Object_2F4 *func_800A3608(s32);
Actor *func_800A3608(s32);
// fox_A4290
bool func_800A3690(Vec3f*, Vec3f*, s32, Vec3f*);
@@ -582,14 +586,14 @@ void func_DF4260_80187520(s32, void*);
void func_DF4260_80187530(Object_80*);
void func_DF4260_8018753C(Object_80*);
void func_DF4260_801878D8(Boss *);
void func_DF4260_8018B0B4(Object_2F4 *);
void func_DF4260_8018B0B4(Actor *);
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_8019250C(Actor *);
void func_DF4260_80192CB0(Actor *);
void func_DF4260_80192EA4(Actor *);
void func_DF4260_801933B4(Actor *);
void func_DF4260_801935CC(Boss *);
void func_DF4260_80198310(Boss *);
void func_DF4260_80198594(Boss *);
@@ -600,9 +604,9 @@ void func_DF4260_8019864C(PlayerShot*);
void func_E08400_80187520(s32, void*);
void func_E08400_80187B08(Object_2F4 *);
void func_E08400_80187B08(Actor *);
void func_E08400_80188A40(Boss *);
void func_E08400_8018CCF8(Object_2F4 *);
void func_E08400_8018CCF8(Actor *);
void func_E16C50_80187520(s32, void*);
void func_E16C50_80187754(Boss *);
@@ -612,61 +616,61 @@ 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_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_80190430(Actor *);
void func_E16C50_801904CC(Actor*);
void func_E16C50_80190A00(Actor*);
void func_E16C50_80190F08(Actor *);
void func_E16C50_80191010(Actor*);
void func_E16C50_801914C4(Actor*);
void func_E16C50_801915A4(Actor *);
void func_E16C50_80191680(Actor*);
void func_E16C50_80191B4C(Actor*);
void func_E16C50_80191BB8(Actor *);
void func_E16C50_80191BC4(Actor*);
void func_E16C50_80191DB0(Actor*);
void func_E16C50_80191DB0(Actor*);
void func_E16C50_80191FFC(Actor*);
void func_E16C50_80192094(Actor*);
void func_E16C50_80192834(Actor*);
void func_E16C50_80192C18(Actor*);
void func_E16C50_80192E64(Actor*);
void func_E16C50_80193240(Actor*);
void func_E16C50_801932AC(Boss*);
void func_E16C50_801949DC(Boss*);
void func_E16C50_80194A84(Boss*);
void func_E16C50_8019969C(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_8019969C(Actor*);
void func_E16C50_8019983C(Actor*);
void func_E16C50_80199A28(Actor*);
void func_E16C50_80199E24(Actor*);
void func_E16C50_80199F10(Actor*);
void func_E16C50_8019A1FC(Actor*);
void func_E16C50_8019A5D4(Actor*);
void func_E16C50_8019ACCC(Actor*);
void func_E16C50_8019B1F0(Actor *);
void func_E16C50_8019B548(Actor*);
void func_E16C50_8019B7DC(Actor*);
void func_E16C50_8019B810(Actor *);
void func_E16C50_8019B854(Actor*);
void func_E16C50_8019BDE0(Actor*);
void func_E16C50_8019BE48(Actor*);
void func_E16C50_8019C1CC(Actor*);
void func_E16C50_8019C200(Actor *);
void func_E16C50_8019C454(Actor*);
void func_E16C50_8019C83C(Actor*);
void func_E16C50_8019CBEC(Actor*);
void func_E16C50_8019CE58(Actor*);
void func_E16C50_8019D060(Actor *);
void func_E16C50_8019D15C(Actor*);
void func_E16C50_8019D3C4(Actor*);
void func_E16C50_8019D428(Player* player);
void func_E16C50_8019D76C(Player* player);
void func_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_8019EA7C(Actor*);
void func_E16C50_8019F20C(Actor*);
void func_E16C50_8019F7AC(Actor*);
void func_E16C50_801A003C(Actor*);
void func_E16C50_801A0120(Effect*);
void func_E16C50_801A0AF0(Effect*);
void func_E16C50_801A10F4(Player* player);
@@ -687,96 +691,96 @@ void func_E16C50_801AC918(Effect*);
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_801AFA5C(Object_2F4*);
void func_E16C50_801B099C(Object_2F4*);
void func_E16C50_801B0B60(Object_2F4*);
void func_E16C50_801B0EC0(Object_2F4*);
void func_E16C50_801AD688(Actor *);
void func_E16C50_801AD6C0(Actor*);
void func_E16C50_801AE168(Actor*);
void func_E16C50_801AE3AC(Actor *);
void func_E16C50_801AE3D8(Actor*);
void func_E16C50_801AEB44(Actor*);
void func_E16C50_801AF9FC(Actor *);
void func_E16C50_801AFA5C(Actor*);
void func_E16C50_801B099C(Actor*);
void func_E16C50_801B0B60(Actor*);
void func_E16C50_801B0EC0(Actor*);
void func_E16C50_801B10F8(Boss*);
void func_E16C50_801B134C(Boss*);
void func_E16C50_801B4D84(Boss*);
void func_E16C50_801B504C(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_801B504C(Actor*);
void func_E16C50_801B50E8(Actor*);
void func_E16C50_801B619C(Actor*);
void func_E16C50_801B6344(Actor *);
void func_E16C50_801B638C(Actor*);
void func_E16C50_801B6E54(Actor *);
void func_E16C50_801B6FF8(Actor*);
void func_E16C50_801B7A24(Actor*);
void func_E16C50_801B7AF0(Actor *);
void func_E16C50_801B7C78(Actor*);
void func_E16C50_801B90DC(Actor*);
void func_E16C50_801B91A4(Actor*);
void func_E16C50_801BA108(Actor*);
void func_E16C50_801BA26C(Actor*);
void func_E16C50_801BA4E4(Actor*);
void func_E16C50_801BA57C(Actor *);
void func_E16C50_801BA6A4(Actor*);
void func_E16C50_801BAD7C(Actor*);
void func_E16C50_801BADF8(Actor*);
void func_E16C50_801BB204(Actor*);
void func_E16C50_801BB26C(Actor *);
void func_E16C50_801BB79C(Actor*);
void func_E16C50_801BC930(Actor*);
void func_E16C50_801BC9A0(Actor*);
void func_E16C50_801BD264(Actor*);
void func_E16C50_801BD54C(Actor*);
void func_E16C50_801BDE6C(Actor*);
void func_E16C50_801BE1FC(Object_80*);
void func_E16C50_801BE3F8(Object_2F4*);
void func_E16C50_801BEB1C(Object_2F4*);
void func_E16C50_801BE3F8(Actor*);
void func_E16C50_801BEB1C(Actor*);
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_801BEC68(Actor*);
void func_E16C50_801BEC74(Actor*);
void func_E16C50_801BEC80(Player*);
void func_E51970_80187520(s32, void*);
void func_E51970_80187960(Object_2F4*);
void func_E51970_80187960(Actor*);
void func_E51970_8018BA2C(Object_58**);
void func_E51970_8018C158(Object_2F4*);
void func_E51970_8018C158(Actor*);
void func_E51970_80191ED8(Object_58**);
void func_E51970_80192264(void);
void func_E51970_80193CA4(Boss *);
void func_E51970_80198594(Object_2F4*);
void func_E51970_80198594(Actor*);
void func_E51970_80198930(Object_58**);
void func_E51970_80199900(Object_2F4 *, s32);
void func_E51970_80199C60(Object_2F4*);
void func_E51970_8019AB8C(Object_2F4*);
void func_E51970_80199900(Actor *, s32);
void func_E51970_80199C60(Actor*);
void func_E51970_8019AB8C(Actor*);
void func_E51970_8019EA68(Object_58**);
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 *);
void func_E6A810_8018B720(Object_2F4 *);
void func_E6A810_8018B96C(Object_2F4 *);
void func_E6A810_8018BFB0(Object_2F4 *);
void func_E6A810_8018E3B0(Object_2F4 *);
void func_E6A810_8018E3CC(Object_2F4 *);
void func_E6A810_8018E5E8(Object_2F4 *);
void func_E6A810_80189B80(Actor *);
void func_E6A810_8018ADC4(Actor *);
void func_E6A810_8018B720(Actor *);
void func_E6A810_8018B96C(Actor *);
void func_E6A810_8018BFB0(Actor *);
void func_E6A810_8018E3B0(Actor *);
void func_E6A810_8018E3CC(Actor *);
void func_E6A810_8018E5E8(Actor *);
void func_E6A810_8018EFF0(Object_4C *);
void func_E6A810_8018F0D8(Object_80 *);
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 *);
void func_E6A810_801A4660(Object_2F4 *);
void func_E6A810_801A4AF8(Object_2F4 *);
void func_E6A810_801A5E2C(Object_2F4 *);
void func_E6A810_801A6134(Object_2F4 *);
void func_E6A810_80199F8C(Actor *);
void func_E6A810_801A3E70(Actor *);
void func_E6A810_801A4660(Actor *);
void func_E6A810_801A4AF8(Actor *);
void func_E6A810_801A5E2C(Actor *);
void func_E6A810_801A6134(Actor *);
void func_E6A810_801A65E0(Object_80 *);
void func_E6A810_801A7D98(Object_2F4 *);
void func_E6A810_801A7D98(Actor *);
void func_E6A810_801ACFBC(ObjectInit*);
void func_E6A810_801AD080(void);
void func_E6A810_801B5110(f32, f32, f32);
@@ -789,20 +793,20 @@ 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_8018769C(Actor*);
void func_E9F1D0_80187520(s32, void*);
void func_E9F1D0_801878A8(Object_58**);
void func_E9F1D0_801888F4(Object_2F4 *);
void func_E9F1D0_801888F4(Actor *);
void func_E9F1D0_80189214(void);
void func_E9F1D0_8018BDD8(void);
void func_E9F1D0_8018C390(Player*);
void func_E9F1D0_8018D16C(Boss *);
void func_E9F1D0_801961AC(Object_58**);
void func_E9F1D0_80196314(Object_2F4*);
void func_E9F1D0_80196314(Actor*);
void func_E9F1D0_80196968(Object_58**);
void func_E9F1D0_80197CC4(Boss *);
void func_E9F1D0_801A3BD4(Object_2F4*);
void func_E9F1D0_801A4CB0(Object_2F4*);
void func_E9F1D0_801A3BD4(Actor*);
void func_E9F1D0_801A4CB0(Actor*);
void func_E9F1D0_801A5AD4(Player*);
void func_E9F1D0_801A5FC0(Player*);
void func_E9F1D0_801A6164(Player *);
+2 -2
View File
@@ -33,8 +33,8 @@ void func_8008D7F4(void);
void func_8008D984(void);
void func_8008DC34(void);
void func_8008E5E8(void);
s32 func_80090E8C(Object_2F4*);
s32 func_800910C0(Object_2F4*);
s32 func_80090E8C(Actor*);
s32 func_800910C0(Actor*);
// Weird addresses, assets maybe?
extern u16 D_1000E80[];
+128 -175
View File
@@ -43,7 +43,7 @@ typedef struct {
} CollisionHeader2; // size = 0x24
typedef enum {
/* 0 */ COL1_0, // OBJ_2F4_180
/* 0 */ COL1_0, // OBJ_ACTOR_180
/* 1 */ COL1_1, // OBJ_80_39
/* 2 */ COL1_2,
/* 3 */ COL1_3, // OBJ_UNK_1000
@@ -207,7 +207,9 @@ typedef struct {
/* 0x000 */ Object obj;
/* 0x01C */ ObjectInfo info;
/* 0x040 */ s32 index;
/* 0x044 */ char unk_44[0xA];
/* 0x044 */ s16 unk_044;
/* 0x046 */ char unk_46[0x6];
/* 0x04C */ s16 unk_04C;
/* 0x04E */ s16 unk_04E;
/* 0x050 */ s16 timer_050;
/* 0x052 */ s16 timer_052;
@@ -244,44 +246,24 @@ typedef struct {
/* 0x04A */ s16 unk_04A;
/* 0x04C */ s16 timer_04C;
/* 0x04E */ s16 unk_04E;
/* 0x050 */ bool unk_050;
/* 0x054 */ bool unk_054;
/* 0x058 */ s32 unk_058;
/* 0x05C */ s32 unk_05C;
/* 0x060 */ s32 unk_060;
/* 0x064 */ s32 unk_064;
/* 0x068 */ s32 unk_068;
/* 0x06C */ s32 unk_06C;
/* 0x070 */ s32 unk_070;
/* 0x074 */ s32 unk_074;
/* 0x078 */ s32 unk_078;
/* 0x07C */ s32 unk_07C;
/* 0x080 */ s32 unk_080;
/* 0x084 */ s32 unk_084;
/* 0x088 */ s32 unk_088;
/* 0x08C */ s32 unk_08C;
/* 0x090 */ s32 unk_090;
/* 0x094 */ s32 unk_094;
/* 0x098 */ s32 unk_098;
/* 0x09C */ s32 unk_09C;
/* 0x0A0 */ char padA0[0x10];
/* 0x0B0 */ s32 unk_0B0;
/* 0x050 */ s32 iwork[25];
/* 0x0B4 */ s16 unk_0B4;
/* 0x0B6 */ s16 unk_0B6;
/* 0x0B8 */ s16 unk_0B8;
/* 0x0BA */ char pad0BA[0x2];
/* 0x0BC */ u16 timer_0BC;
/* 0x0BC */ u16 timer_0BE;
/* 0x0BE */ u16 timer_0BE;
/* 0x0C0 */ u16 timer_0C0;
/* 0x0C2 */ u16 timer_0C2;
/* 0x0C4 */ u16 timer_0C4;
/* 0x0C6 */ u16 timer_0C6;
/* 0x0C8 */ u8 unk_0C8;
/* 0x0C9 */ u8 unk_0C9;
/* 0x0C9 */ u8 timer_0CA[4];
/* 0x0CA */ u8 timer_0CA[4];
/* 0x0CE */ s16 unk_0CE;
/* 0x0D0 */ s8 unk_0D0;
/* 0x0D1 */ s16 unk_0D2;
/* 0x0D1 */ char pad0D1[0x1];
/* 0x0D2 */ s16 unk_0D2;
/* 0x0D4 */ s16 unk_0D4;
/* 0x0D6 */ u16 unk_0D6;
/* 0x0D8 */ Vec3f unk_0D8;
@@ -292,38 +274,9 @@ typedef struct {
/* 0x100 */ Vec3f sfxPos;
/* 0x10C */ f32 gravity;
/* 0x110 */ f32 scale;
/* 0x114 */ f32 unk_114;
/* 0x118 */ f32 unk_118;
/* 0x11C */ f32 unk_11C;
/* 0x120 */ f32 unk_120;
/* 0x124 */ Vec3f unk_124;
/* 0x130 */ f32 unk_130;
/* 0x134 */ f32 unk_134;
/* 0x138 */ f32 unk_138;
/* 0x13C */ f32 unk_13C;
/* 0x140 */ f32 unk_140;
/* 0x144 */ f32 unk_144;
/* 0x148 */ f32 unk_148;
/* 0x14C */ f32 unk_14C;
/* 0x150 */ f32 unk_150;
/* 0x154 */ f32 unk_154;
/* 0x158 */ f32 unk_158;
/* 0x15C */ f32 unk_15C;
/* 0x160 */ f32 unk_160;
/* 0x164 */ f32 unk_164;
/* 0x168 */ f32 unk_168;
/* 0x16C */ f32 unk_16C;
/* 0x170 */ f32 unk_170;
/* 0x174 */ f32 unk_174;
/* 0x178 */ f32 unk_178;
/* 0x17C */ f32 unk_17C;
/* 0x180 */ f32 unk_180;
/* 0x184 */ f32 unk_184;
/* 0x188 */ f32 unk_188;
/* 0x18C */ Vec3f unk_18C[28]; // could be joint table
/* 0x2DC */ Vec3f unk_2DC;
/* 0x2E8 */ Vec3f unk_2E8;
} Object_2F4; // size = 0x2F4
/* 0x114 */ f32 fwork[30];
/* 0x18C */ Vec3f vwork[30];
} Actor; // size = 0x2F4
typedef enum{
/* -1 */ OBJ_INVALID=-1,
@@ -503,122 +456,122 @@ typedef enum{
/* 173 */ OBJ_4C_173,
/* 174 */ OBJ_4C_174,
/* 175 */ OBJ_4C_175,
/* 176 */ OBJ_2F4_176,
/* 177 */ OBJ_2F4_177,
/* 178 */ OBJ_2F4_178,
/* 179 */ OBJ_2F4_179,
/* 180 */ OBJ_2F4_180,
/* 181 */ OBJ_2F4_181,
/* 182 */ OBJ_2F4_182,
/* 183 */ OBJ_2F4_183,
/* 184 */ OBJ_2F4_184,
/* 185 */ OBJ_2F4_185,
/* 186 */ OBJ_2F4_186,
/* 187 */ OBJ_2F4_187,
/* 188 */ OBJ_2F4_188,
/* 189 */ OBJ_2F4_189,
/* 190 */ OBJ_2F4_190,
/* 191 */ OBJ_2F4_191,
/* 192 */ OBJ_2F4_192,
/* 193 */ OBJ_2F4_193,
/* 194 */ OBJ_2F4_194,
/* 195 */ OBJ_2F4_195,
/* 196 */ OBJ_2F4_196,
/* 197 */ OBJ_2F4_197,
/* 198 */ OBJ_2F4_198,
/* 199 */ OBJ_2F4_199,
/* 200 */ OBJ_2F4_200,
/* 201 */ OBJ_2F4_201,
/* 202 */ OBJ_2F4_202,
/* 203 */ OBJ_2F4_203,
/* 204 */ OBJ_2F4_204,
/* 205 */ OBJ_2F4_205,
/* 206 */ OBJ_2F4_206,
/* 207 */ OBJ_2F4_207,
/* 208 */ OBJ_2F4_208,
/* 209 */ OBJ_2F4_209,
/* 210 */ OBJ_2F4_210,
/* 211 */ OBJ_2F4_211,
/* 212 */ OBJ_2F4_212,
/* 213 */ OBJ_2F4_213,
/* 214 */ OBJ_2F4_214,
/* 215 */ OBJ_2F4_215,
/* 216 */ OBJ_2F4_216,
/* 217 */ OBJ_2F4_217,
/* 218 */ OBJ_2F4_218,
/* 219 */ OBJ_2F4_219,
/* 220 */ OBJ_2F4_220,
/* 221 */ OBJ_2F4_221,
/* 222 */ OBJ_2F4_222,
/* 223 */ OBJ_2F4_223,
/* 224 */ OBJ_2F4_224,
/* 225 */ OBJ_2F4_225,
/* 226 */ OBJ_2F4_226,
/* 227 */ OBJ_2F4_227,
/* 228 */ OBJ_2F4_228,
/* 229 */ OBJ_2F4_229,
/* 230 */ OBJ_2F4_230,
/* 231 */ OBJ_2F4_231,
/* 232 */ OBJ_2F4_232,
/* 233 */ OBJ_2F4_233,
/* 234 */ OBJ_2F4_234,
/* 235 */ OBJ_2F4_235,
/* 236 */ OBJ_2F4_236,
/* 237 */ OBJ_2F4_237,
/* 238 */ OBJ_2F4_238,
/* 239 */ OBJ_2F4_239,
/* 240 */ OBJ_2F4_240,
/* 241 */ OBJ_2F4_241,
/* 242 */ OBJ_2F4_242,
/* 243 */ OBJ_2F4_243,
/* 244 */ OBJ_2F4_244,
/* 245 */ OBJ_2F4_245,
/* 246 */ OBJ_2F4_246,
/* 247 */ OBJ_2F4_247,
/* 248 */ OBJ_2F4_248,
/* 249 */ OBJ_2F4_249,
/* 250 */ OBJ_2F4_250,
/* 251 */ OBJ_2F4_251,
/* 252 */ OBJ_2F4_252,
/* 253 */ OBJ_2F4_253,
/* 254 */ OBJ_2F4_254,
/* 255 */ OBJ_2F4_255,
/* 256 */ OBJ_2F4_256,
/* 257 */ OBJ_2F4_257,
/* 258 */ OBJ_2F4_258,
/* 259 */ OBJ_2F4_259,
/* 260 */ OBJ_2F4_260,
/* 261 */ OBJ_2F4_261,
/* 262 */ OBJ_2F4_262,
/* 263 */ OBJ_2F4_263,
/* 264 */ OBJ_2F4_264,
/* 265 */ OBJ_2F4_265,
/* 266 */ OBJ_2F4_266,
/* 267 */ OBJ_2F4_267,
/* 268 */ OBJ_2F4_268,
/* 269 */ OBJ_2F4_269,
/* 270 */ OBJ_2F4_270,
/* 271 */ OBJ_2F4_271,
/* 272 */ OBJ_2F4_272,
/* 273 */ OBJ_2F4_273,
/* 274 */ OBJ_2F4_274,
/* 275 */ OBJ_2F4_275,
/* 276 */ OBJ_2F4_276,
/* 277 */ OBJ_2F4_277,
/* 278 */ OBJ_2F4_278,
/* 279 */ OBJ_2F4_279,
/* 280 */ OBJ_2F4_280,
/* 281 */ OBJ_2F4_281,
/* 282 */ OBJ_2F4_282,
/* 283 */ OBJ_2F4_283,
/* 284 */ OBJ_2F4_284,
/* 285 */ OBJ_2F4_285,
/* 286 */ OBJ_2F4_286,
/* 287 */ OBJ_2F4_287,
/* 288 */ OBJ_2F4_288,
/* 289 */ OBJ_2F4_289,
/* 290 */ OBJ_2F4_290,
/* 291 */ OBJ_2F4_291,
/* 176 */ OBJ_ACTOR_176,
/* 177 */ OBJ_ACTOR_177,
/* 178 */ OBJ_ACTOR_178,
/* 179 */ OBJ_ACTOR_179,
/* 180 */ OBJ_ACTOR_180,
/* 181 */ OBJ_ACTOR_181,
/* 182 */ OBJ_ACTOR_182,
/* 183 */ OBJ_ACTOR_183,
/* 184 */ OBJ_ACTOR_184,
/* 185 */ OBJ_ACTOR_185,
/* 186 */ OBJ_ACTOR_186,
/* 187 */ OBJ_ACTOR_187,
/* 188 */ OBJ_ACTOR_188,
/* 189 */ OBJ_ACTOR_189,
/* 190 */ OBJ_ACTOR_190,
/* 191 */ OBJ_ACTOR_191,
/* 192 */ OBJ_ACTOR_192,
/* 193 */ OBJ_ACTOR_193,
/* 194 */ OBJ_ACTOR_194,
/* 195 */ OBJ_ACTOR_195,
/* 196 */ OBJ_ACTOR_196,
/* 197 */ OBJ_ACTOR_197,
/* 198 */ OBJ_ACTOR_198,
/* 199 */ OBJ_ACTOR_199,
/* 200 */ OBJ_ACTOR_200,
/* 201 */ OBJ_ACTOR_201,
/* 202 */ OBJ_ACTOR_202,
/* 203 */ OBJ_ACTOR_203,
/* 204 */ OBJ_ACTOR_204,
/* 205 */ OBJ_ACTOR_205,
/* 206 */ OBJ_ACTOR_206,
/* 207 */ OBJ_ACTOR_207,
/* 208 */ OBJ_ACTOR_208,
/* 209 */ OBJ_ACTOR_209,
/* 210 */ OBJ_ACTOR_210,
/* 211 */ OBJ_ACTOR_211,
/* 212 */ OBJ_ACTOR_212,
/* 213 */ OBJ_ACTOR_213,
/* 214 */ OBJ_ACTOR_214,
/* 215 */ OBJ_ACTOR_215,
/* 216 */ OBJ_ACTOR_216,
/* 217 */ OBJ_ACTOR_217,
/* 218 */ OBJ_ACTOR_218,
/* 219 */ OBJ_ACTOR_219,
/* 220 */ OBJ_ACTOR_220,
/* 221 */ OBJ_ACTOR_221,
/* 222 */ OBJ_ACTOR_222,
/* 223 */ OBJ_ACTOR_223,
/* 224 */ OBJ_ACTOR_224,
/* 225 */ OBJ_ACTOR_225,
/* 226 */ OBJ_ACTOR_226,
/* 227 */ OBJ_ACTOR_227,
/* 228 */ OBJ_ACTOR_228,
/* 229 */ OBJ_ACTOR_229,
/* 230 */ OBJ_ACTOR_230,
/* 231 */ OBJ_ACTOR_231,
/* 232 */ OBJ_ACTOR_232,
/* 233 */ OBJ_ACTOR_233,
/* 234 */ OBJ_ACTOR_234,
/* 235 */ OBJ_ACTOR_235,
/* 236 */ OBJ_ACTOR_236,
/* 237 */ OBJ_ACTOR_237,
/* 238 */ OBJ_ACTOR_238,
/* 239 */ OBJ_ACTOR_239,
/* 240 */ OBJ_ACTOR_240,
/* 241 */ OBJ_ACTOR_241,
/* 242 */ OBJ_ACTOR_242,
/* 243 */ OBJ_ACTOR_243,
/* 244 */ OBJ_ACTOR_244,
/* 245 */ OBJ_ACTOR_245,
/* 246 */ OBJ_ACTOR_246,
/* 247 */ OBJ_ACTOR_247,
/* 248 */ OBJ_ACTOR_248,
/* 249 */ OBJ_ACTOR_249,
/* 250 */ OBJ_ACTOR_250,
/* 251 */ OBJ_ACTOR_251,
/* 252 */ OBJ_ACTOR_252,
/* 253 */ OBJ_ACTOR_253,
/* 254 */ OBJ_ACTOR_254,
/* 255 */ OBJ_ACTOR_255,
/* 256 */ OBJ_ACTOR_256,
/* 257 */ OBJ_ACTOR_257,
/* 258 */ OBJ_ACTOR_258,
/* 259 */ OBJ_ACTOR_259,
/* 260 */ OBJ_ACTOR_260,
/* 261 */ OBJ_ACTOR_261,
/* 262 */ OBJ_ACTOR_262,
/* 263 */ OBJ_ACTOR_263,
/* 264 */ OBJ_ACTOR_264,
/* 265 */ OBJ_ACTOR_265,
/* 266 */ OBJ_ACTOR_266,
/* 267 */ OBJ_ACTOR_267,
/* 268 */ OBJ_ACTOR_268,
/* 269 */ OBJ_ACTOR_269,
/* 270 */ OBJ_ACTOR_270,
/* 271 */ OBJ_ACTOR_271,
/* 272 */ OBJ_ACTOR_272,
/* 273 */ OBJ_ACTOR_273,
/* 274 */ OBJ_ACTOR_274,
/* 275 */ OBJ_ACTOR_275,
/* 276 */ OBJ_ACTOR_276,
/* 277 */ OBJ_ACTOR_277,
/* 278 */ OBJ_ACTOR_278,
/* 279 */ OBJ_ACTOR_279,
/* 280 */ OBJ_ACTOR_280,
/* 281 */ OBJ_ACTOR_281,
/* 282 */ OBJ_ACTOR_282,
/* 283 */ OBJ_ACTOR_283,
/* 284 */ OBJ_ACTOR_284,
/* 285 */ OBJ_ACTOR_285,
/* 286 */ OBJ_ACTOR_286,
/* 287 */ OBJ_ACTOR_287,
/* 288 */ OBJ_ACTOR_288,
/* 289 */ OBJ_ACTOR_289,
/* 290 */ OBJ_ACTOR_290,
/* 291 */ OBJ_ACTOR_291,
/* 292 */ OBJ_BOSS_292,
/* 293 */ OBJ_BOSS_293,
/* 294 */ OBJ_BOSS_294,
+2 -2
View File
@@ -141,7 +141,7 @@ extern Vec3f D_800C9F2C;
// fox_display
extern s32 D_800CA220;
extern f32 D_800CA230;
extern Object_2F4* D_800CA234;
extern Actor* D_800CA234;
extern s32 D_Timer_800CA238;
// fox_edata
@@ -387,7 +387,7 @@ extern s32 D_80161AB8;
// 0x44
extern Object_80 gObjects80[50];
extern Object_4C gObjects4C[40];
extern Object_2F4 gObjects2F4[60];
extern Actor gActors[60];
extern Boss gBosses[4];
extern Effect gEffects[100];
extern Item gItems[20];
+1
View File
@@ -86,6 +86,7 @@ D_800D8594 = 0x800D8594; // force_migration:True
D_800C93EC = 0x800C93EC; // force_migration:True
D_DF4260_8019B1EC = 0x8019B1EC; // force_migration:True segment:ovl_DF4260
D_DF4260_8019B6D8 = 0x8019B6D8; // size:0x110 segment:ovl_DF4260
D_E16C50_801C171C = 0x801C171C; // force_migration:True segment:ovl_E16C50
D_E16C50_801C1728 = 0x801C1728; // force_migration:True segment:ovl_E16C50
D_E16C50_801C1730 = 0x801C1730; // force_migration:True segment:ovl_E16C50
+6 -6
View File
@@ -201,8 +201,8 @@ func_8005D1F0 = 0x8005D1F0;
func_8005D3CC = 0x8005D3CC;
Object_80_Draw = 0x8005D654;
Object_4C_Draw = 0x8005D8B8;
Object_2F4_Draw2 = 0x8005D954;
Object_2F4_Draw1 = 0x8005DBC0;
Actor_Draw2 = 0x8005D954;
Actor_Draw1 = 0x8005DBC0;
Boss_Draw = 0x8005E1B8;
Effect_Draw1 = 0x8005E454;
Effect_Draw2 = 0x8005E538;
@@ -231,13 +231,13 @@ func_80061148 = 0x80061148;
Object_SetInfo = 0x800612B8;
Object_80_Initialize = 0x80061364;
Object_4C_Initialize = 0x80061394;
Object_2F4_Initialize = 0x800613C4;
Actor_Initialize = 0x800613C4;
Boss_Initialize = 0x80061404;
Item_Initialize = 0x80061444;
Effect_Initialize = 0x80061474;
Object_80_Load = 0x800614B4;
Object_4C_Load = 0x800615A0;
Object_2F4_Load = 0x8006168C;
Actor_Load = 0x8006168C;
Boss_Load = 0x80061778;
Item_Load = 0x80061864;
func_80061958 = 0x80061958;
@@ -309,7 +309,7 @@ func_800696F8 = 0x800696F8;
func_80069858 = 0x80069858;
func_80069924 = 0x80069924;
func_80069A10 = 0x80069A10;
Object_2F4_Update = 0x80069AAC;
Actor_Update = 0x80069AAC;
Boss_Update = 0x80069CBC;
Object_80_Update = 0x80069DF4;
Object_4C_Update = 0x80069E88;
@@ -385,7 +385,7 @@ gLaserStrength = 0x80161AA8;//size:0x10
D_80161AB8 = 0x80161AB8;
gObjects80 = 0x80161B00; //size:0x1900
gObjects4C = 0x80163400; //size:0xBE0
gObjects2F4 = 0x80163FE0; //size:0xB130
gActors = 0x80163FE0; //size:0xB130
gBosses = 0x8016F110; //size:0x1020
gEffects = 0x80170130; //size:0x36B0
gItems = 0x801737E0; //size:0x870
+411 -414
View File
File diff suppressed because it is too large Load Diff
+23 -23
View File
@@ -55,27 +55,27 @@ void func_80042FDC(Boss* boss) {
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,
void func_80042FF4(Actor* actor, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8,
f32 arg9, f32 argA, s32 argB, s32 argC) {
Object_2F4_Initialize(obj2F4);
obj2F4->obj.status = 1;
obj2F4->obj.id = OBJ_2F4_189;
obj2F4->unk_0B8 = argB;
obj2F4->obj.pos.x = arg1;
obj2F4->obj.pos.y = arg2;
obj2F4->obj.pos.z = arg3;
obj2F4->obj.rot.x = arg4;
obj2F4->obj.rot.y = arg5;
obj2F4->obj.rot.z = arg6;
obj2F4->vel.x = arg7;
obj2F4->vel.y = arg8;
obj2F4->vel.z = arg9;
obj2F4->scale = argA;
obj2F4->timer_0BC = argC;
obj2F4->timer_0BE = 20;
Object_SetInfo(&obj2F4->info, obj2F4->obj.id);
Actor_Initialize(actor);
actor->obj.status = 1;
actor->obj.id = OBJ_ACTOR_189;
actor->unk_0B8 = argB;
actor->obj.pos.x = arg1;
actor->obj.pos.y = arg2;
actor->obj.pos.z = arg3;
actor->obj.rot.x = arg4;
actor->obj.rot.y = arg5;
actor->obj.rot.z = arg6;
actor->vel.x = arg7;
actor->vel.y = arg8;
actor->vel.z = arg9;
actor->scale = argA;
actor->timer_0BC = argC;
actor->timer_0BE = 20;
Object_SetInfo(&actor->info, actor->obj.id);
if (gLevelType == LEVELTYPE_PLANET) {
obj2F4->gravity = 0.5f;
actor->gravity = 0.5f;
}
}
@@ -84,15 +84,15 @@ void func_800430DC(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f
s32 i;
for (i = 59; i >= 0; i--) {
if (gObjects2F4[i].obj.status == 0) {
func_80042FF4(&gObjects2F4[i], arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, argA, argB);
if (gActors[i].obj.status == 0) {
func_80042FF4(&gActors[i], arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, argA, argB);
return;
}
}
}
void func_80043188(Object_2F4* obj2F4) {
obj2F4->info.unk_10 = 30000.0f;
void func_80043188(Actor* actor) {
actor->info.unk_10 = 30000.0f;
}
void func_8004319C(Player* player, f32 arg1, f32 arg2, f32 arg3) {
+165 -164
View File
@@ -133,8 +133,8 @@ void func_80036318(PlayerShot* shot) {
func_80035E78(shot);
} else if (shot->obj.id == PLAYERSHOT_8) {
shot->unk_44 = 7.5f;
for (i = 0; i < ARRAY_COUNT(gObjects2F4); i++) {
gObjects2F4[i].timer_0CA[shot->playerNum] = 0;
for (i = 0; i < ARRAY_COUNT(gActors); i++) {
gActors[i].timer_0CA[shot->playerNum] = 0;
}
shot->vel.x = shot->vel.y = shot->vel.z = 0.0f;
if (gCurrentLevel == LEVEL_AQUAS) {
@@ -339,7 +339,7 @@ s32 func_80036874(PlayerShot* shot, f32* hitboxData, Object* obj) {
return 0;
}
s32 func_80036F88(PlayerShot* shot, Object_2F4* obj2F4) {
s32 func_80036F88(PlayerShot* shot, Actor* actor) {
s32 i;
f32* hitboxData;
f32 shotPx;
@@ -351,22 +351,22 @@ s32 func_80036F88(PlayerShot* shot, Object_2F4* obj2F4) {
Hitbox* hitbox;
s32 count;
if ((fabsf(shot->obj.pos.z - obj2F4->obj.pos.z) < 2000.0f) &&
(fabsf(shot->obj.pos.y - obj2F4->obj.pos.y) < 2000.0f) &&
(fabsf(shot->obj.pos.x - obj2F4->obj.pos.x) < 2000.0f)) {
hitboxData = obj2F4->info.hitbox;
if ((fabsf(shot->obj.pos.z - actor->obj.pos.z) < 2000.0f) &&
(fabsf(shot->obj.pos.y - actor->obj.pos.y) < 2000.0f) &&
(fabsf(shot->obj.pos.x - actor->obj.pos.x) < 2000.0f)) {
hitboxData = actor->info.hitbox;
count = *hitboxData++;
if (count != 0) {
xySizeMod = 0.0f;
if (obj2F4->info.unk_16 == 1) {
xySizeMod = fabsf((obj2F4->obj.pos.z + D_80177D20) / 50.0f) + 10.0f;
if (actor->info.unk_16 == 1) {
xySizeMod = fabsf((actor->obj.pos.z + D_80177D20) / 50.0f) + 10.0f;
if ((shot->playerNum < 4) &&
((gLaserStrength[shot->playerNum] != LASERS_SINGLE) || (shot->obj.id == PLAYERSHOT_8))) {
xySizeMod += 30.0f;
}
}
for (i = 0; i < count; i++, hitboxData += 6) {
if (obj2F4->info.unk_16 == 1) {
if (actor->info.unk_16 == 1) {
shotPx = shot->obj.pos.x;
shotPy = shot->obj.pos.y;
shotPz = shot->obj.pos.z;
@@ -375,34 +375,34 @@ s32 func_80036F88(PlayerShot* shot, Object_2F4* obj2F4) {
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, -obj2F4->obj.rot.z * M_DTOR, 1);
Matrix_RotateX(gCalcMatrix, -obj2F4->obj.rot.x * M_DTOR, 1);
Matrix_RotateY(gCalcMatrix, -obj2F4->obj.rot.y * M_DTOR, 1);
Matrix_RotateZ(gCalcMatrix, -actor->obj.rot.z * M_DTOR, 1);
Matrix_RotateX(gCalcMatrix, -actor->obj.rot.x * M_DTOR, 1);
Matrix_RotateY(gCalcMatrix, -actor->obj.rot.y * M_DTOR, 1);
hitboxData += 4;
} else {
Matrix_RotateZ(gCalcMatrix, -obj2F4->obj.rot.z * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, -obj2F4->obj.rot.x * M_DTOR, 1);
Matrix_RotateY(gCalcMatrix, -obj2F4->obj.rot.y * M_DTOR, 1);
Matrix_RotateZ(gCalcMatrix, -actor->obj.rot.z * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, -actor->obj.rot.x * M_DTOR, 1);
Matrix_RotateY(gCalcMatrix, -actor->obj.rot.y * M_DTOR, 1);
}
if (((obj2F4->unk_2E8.z != 0.0f) || (obj2F4->unk_2E8.x != 0.0f) || (obj2F4->unk_0F4.z != 0.0f) ||
(obj2F4->unk_2E8.y != 0.0f)) &&
(obj2F4->unk_0B4 != 31)) {
Matrix_RotateZ(gCalcMatrix, -(obj2F4->unk_2E8.z + obj2F4->unk_0F4.z) * M_DTOR, 1);
Matrix_RotateX(gCalcMatrix, -obj2F4->unk_2E8.x * M_DTOR, 1);
Matrix_RotateY(gCalcMatrix, -obj2F4->unk_2E8.y * M_DTOR, 1);
if (((actor->vwork[29].z != 0.0f) || (actor->vwork[29].x != 0.0f) || (actor->unk_0F4.z != 0.0f) ||
(actor->vwork[29].y != 0.0f)) &&
(actor->unk_0B4 != 31)) {
Matrix_RotateZ(gCalcMatrix, -(actor->vwork[29].z + actor->unk_0F4.z) * M_DTOR, 1);
Matrix_RotateX(gCalcMatrix, -actor->vwork[29].x * M_DTOR, 1);
Matrix_RotateY(gCalcMatrix, -actor->vwork[29].y * M_DTOR, 1);
}
sp7C.x = shot->obj.pos.x - obj2F4->obj.pos.x;
sp7C.y = shot->obj.pos.y - obj2F4->obj.pos.y;
sp7C.z = shot->obj.pos.z - obj2F4->obj.pos.z;
sp7C.x = shot->obj.pos.x - actor->obj.pos.x;
sp7C.y = shot->obj.pos.y - actor->obj.pos.y;
sp7C.z = shot->obj.pos.z - actor->obj.pos.z;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp7C, &sp70);
shotPx = obj2F4->obj.pos.x + sp70.x;
shotPy = obj2F4->obj.pos.y + sp70.y;
shotPz = obj2F4->obj.pos.z + sp70.z;
shotPx = actor->obj.pos.x + sp70.x;
shotPy = actor->obj.pos.y + sp70.y;
shotPz = actor->obj.pos.z + sp70.z;
}
hitbox = (Hitbox*) hitboxData;
if ((fabsf(hitbox->z.offset + obj2F4->obj.pos.z - shotPz) < (hitbox->z.size + 50.0f)) &&
(fabsf(hitbox->x.offset + obj2F4->obj.pos.x - shotPx) < (hitbox->x.size + xySizeMod)) &&
(fabsf(hitbox->y.offset + obj2F4->obj.pos.y - shotPy) < (hitbox->y.size + xySizeMod))) {
if ((fabsf(hitbox->z.offset + actor->obj.pos.z - shotPz) < (hitbox->z.size + 50.0f)) &&
(fabsf(hitbox->x.offset + actor->obj.pos.x - shotPx) < (hitbox->x.size + xySizeMod)) &&
(fabsf(hitbox->y.offset + actor->obj.pos.y - shotPy) < (hitbox->y.size + xySizeMod))) {
return i + 1;
}
}
@@ -411,17 +411,17 @@ s32 func_80036F88(PlayerShot* shot, Object_2F4* obj2F4) {
return 0;
}
bool func_80037438(PlayerShot* shot, Object_2F4* obj2F4) {
bool func_80037438(PlayerShot* shot, Actor* actor) {
Object* shotx = &shot->obj;
f32 temp_fv1 = obj2F4->obj.pos.x - shotx->pos.x;
f32 temp_fa0 = obj2F4->obj.pos.z - shotx->pos.z;
f32 temp_fv1 = actor->obj.pos.x - shotx->pos.x;
f32 temp_fa0 = actor->obj.pos.z - shotx->pos.z;
f32 var_fa1;
f32* hitboxData = obj2F4->info.hitbox;
f32* hitboxData = actor->info.hitbox;
if (((s32) hitboxData[0] != 0) && (sqrtf(SQ(temp_fv1) + SQ(temp_fa0)) <= 500.0f)) {
if (shot->playerNum < 4) {
temp_fv1 = obj2F4->obj.pos.x - gPlayer[0].camEye.x;
temp_fa0 = obj2F4->obj.pos.z + D_80177D20 - gPlayer[0].camEye.z;
temp_fv1 = actor->obj.pos.x - gPlayer[0].camEye.x;
temp_fa0 = actor->obj.pos.z + D_80177D20 - gPlayer[0].camEye.z;
var_fa1 = (sqrtf(SQ(temp_fv1) + SQ(temp_fa0)) / 50.0f) + 20.0f + 10.0f;
if (var_fa1 > 200.0f) {
var_fa1 = 200.0f;
@@ -431,17 +431,17 @@ bool func_80037438(PlayerShot* shot, Object_2F4* obj2F4) {
} else if (gLaserStrength[shot->playerNum] != LASERS_SINGLE) {
var_fa1 += 30.0f;
}
if (fabsf(hitboxData[1] + obj2F4->obj.pos.z - shotx->pos.z) < (hitboxData[2] + var_fa1)) {
if (fabsf(hitboxData[3] + obj2F4->obj.pos.y - shotx->pos.y) < (hitboxData[4] + var_fa1)) {
if (fabsf(hitboxData[5] + obj2F4->obj.pos.x - shotx->pos.x) < (hitboxData[6] + var_fa1)) {
if (fabsf(hitboxData[1] + actor->obj.pos.z - shotx->pos.z) < (hitboxData[2] + var_fa1)) {
if (fabsf(hitboxData[3] + actor->obj.pos.y - shotx->pos.y) < (hitboxData[4] + var_fa1)) {
if (fabsf(hitboxData[5] + actor->obj.pos.x - shotx->pos.x) < (hitboxData[6] + var_fa1)) {
return true;
}
}
}
} else {
if (fabsf(hitboxData[1] + obj2F4->obj.pos.z - shotx->pos.z) < hitboxData[2]) {
if (fabsf(hitboxData[3] + obj2F4->obj.pos.y - shotx->pos.y) < hitboxData[4]) {
if (fabsf(hitboxData[5] + obj2F4->obj.pos.x - shotx->pos.x) < hitboxData[6]) {
if (fabsf(hitboxData[1] + actor->obj.pos.z - shotx->pos.z) < hitboxData[2]) {
if (fabsf(hitboxData[3] + actor->obj.pos.y - shotx->pos.y) < hitboxData[4]) {
if (fabsf(hitboxData[5] + actor->obj.pos.x - shotx->pos.x) < hitboxData[6]) {
return true;
}
}
@@ -496,7 +496,7 @@ bool func_8003774C(PlayerShot* shot, ObjectId objId, Object* obj) {
sp58.z = obj->pos.z;
useCol2 = false;
switch (objId) {
case OBJ_2F4_180:
case OBJ_ACTOR_180:
objId = COL1_0;
break;
case OBJ_80_4:
@@ -640,52 +640,52 @@ bool func_8003774C(PlayerShot* shot, ObjectId objId, Object* obj) {
// return false;
}
void func_80037CF4(PlayerShot* shot, Object_2F4* obj2F4, s32 hitIndex) {
void func_80037CF4(PlayerShot* shot, Actor* actor, s32 hitIndex) {
Vec3f sp44 = { 0.0f, 0.0f, -100.0f };
Vec3f sp38;
obj2F4->unk_0D0 = 1;
obj2F4->unk_0D2 = hitIndex - 1;
obj2F4->timer_0C2 = 2;
obj2F4->unk_0D6 = 10;
actor->unk_0D0 = 1;
actor->unk_0D2 = hitIndex - 1;
actor->timer_0C2 = 2;
actor->unk_0D6 = 10;
if ((shot->playerNum < 4) && (gPlayer[shot->playerNum].form != FORM_LANDMASTER)) {
switch (gLaserStrength[shot->playerNum]) {
case LASERS_TWIN:
obj2F4->unk_0D6 = 12;
actor->unk_0D6 = 12;
break;
case LASERS_HYPER:
obj2F4->unk_0D6 = 15;
actor->unk_0D6 = 15;
break;
}
} else if ((shot->playerNum >= 100) && (gCurrentLevel == LEVEL_SECTOR_X)) {
if ((gObjects2F4[shot->playerNum - 100].obj.id == 200) && (gObjects2F4[shot->playerNum - 100].unk_080 == 5)) {
obj2F4->unk_0D6 = 30;
if ((gActors[shot->playerNum - 100].obj.id == 200) && (gActors[shot->playerNum - 100].iwork[12] == 5)) {
actor->unk_0D6 = 30;
}
}
if (shot->obj.id == PLAYERSHOT_9) {
obj2F4->unk_0D6 = 100;
actor->unk_0D6 = 100;
} else if (shot->obj.id == PLAYERSHOT_8) {
if (gCurrentLevel == LEVEL_AQUAS) {
obj2F4->unk_0D6 = 31;
actor->unk_0D6 = 31;
} else {
obj2F4->unk_0D0 = 2;
obj2F4->unk_0D6 = 30;
obj2F4->timer_0CA[shot->playerNum] = 0;
actor->unk_0D0 = 2;
actor->unk_0D6 = 30;
actor->timer_0CA[shot->playerNum] = 0;
}
}
obj2F4->unk_0D4 = shot->playerNum + 1;
obj2F4->unk_0D8.x = shot->obj.pos.x;
obj2F4->unk_0D8.y = shot->obj.pos.y;
obj2F4->unk_0D8.z = shot->obj.pos.z;
if (((obj2F4->obj.id == OBJ_2F4_200) && (obj2F4->unk_0D2 == 0) &&
((obj2F4->unk_0B4 == 48) || (obj2F4->unk_0B4 == 49) || (obj2F4->unk_0B4 == 50))) ||
((obj2F4->obj.id == OBJ_2F4_197) && (obj2F4->unk_170 > 1.0f)) ||
((obj2F4->obj.id == OBJ_2F4_200) && (obj2F4->unk_0D2 == 0) && (obj2F4->unk_0B4 == 67)) ||
((obj2F4->obj.id == OBJ_2F4_261) && (shot->obj.id != PLAYERSHOT_8) &&
((obj2F4->unk_0B8 < 3) || (obj2F4->unk_0B8 >= 5))) ||
((obj2F4->obj.id == OBJ_2F4_260) && (shot->obj.id != PLAYERSHOT_8) && (obj2F4->timer_0BC != 0))) {
if ((obj2F4->obj.id == OBJ_2F4_261) && (obj2F4->unk_0B8 < 2)) {
obj2F4->unk_0B8 = 2;
actor->unk_0D4 = shot->playerNum + 1;
actor->unk_0D8.x = shot->obj.pos.x;
actor->unk_0D8.y = shot->obj.pos.y;
actor->unk_0D8.z = shot->obj.pos.z;
if (((actor->obj.id == OBJ_ACTOR_200) && (actor->unk_0D2 == 0) &&
((actor->unk_0B4 == 48) || (actor->unk_0B4 == 49) || (actor->unk_0B4 == 50))) ||
((actor->obj.id == OBJ_ACTOR_197) && (actor->fwork[23] > 1.0f)) ||
((actor->obj.id == OBJ_ACTOR_200) && (actor->unk_0D2 == 0) && (actor->unk_0B4 == 67)) ||
((actor->obj.id == OBJ_ACTOR_261) && (shot->obj.id != PLAYERSHOT_8) &&
((actor->unk_0B8 < 3) || (actor->unk_0B8 >= 5))) ||
((actor->obj.id == OBJ_ACTOR_260) && (shot->obj.id != PLAYERSHOT_8) && (actor->timer_0BC != 0))) {
if ((actor->obj.id == OBJ_ACTOR_261) && (actor->unk_0B8 < 2)) {
actor->unk_0B8 = 2;
}
if ((shot->obj.id == PLAYERSHOT_8) || (shot->obj.id == PLAYERSHOT_3)) {
func_80036318(shot);
@@ -702,9 +702,9 @@ void func_80037CF4(PlayerShot* shot, Object_2F4* obj2F4, s32 hitIndex) {
shot->obj.pos.x += shot->vel.x * 5.0f;
shot->obj.pos.y += shot->vel.y * 5.0f;
shot->obj.pos.z += shot->vel.z * 5.0f;
obj2F4->timer_0C2 = 3;
func_80078E50(obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, 8.0f);
Audio_PlaySfx(0x29121007, &obj2F4->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
actor->timer_0C2 = 3;
func_80078E50(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 8.0f);
Audio_PlaySfx(0x29121007, &actor->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
func_800A668C(D_8017849C, D_801784A0, D_80178498);
}
} else {
@@ -722,7 +722,7 @@ void func_80038140(PlayerShot* shot) {
f32 sp94;
Vec3f sp88;
Vec3f sp7C;
Object_2F4* obj2F4;
Actor* actor;
Boss* boss;
Object_58* obj58;
Object_4C* obj4C;
@@ -748,64 +748,64 @@ void func_80038140(PlayerShot* shot) {
}
}
}
for (i = 0, obj2F4 = gObjects2F4; i < 60; i++, obj2F4++) {
if ((obj2F4->obj.status >= 2) && (obj2F4->timer_0C2 == 0)) {
switch (obj2F4->obj.id) {
case OBJ_2F4_180:
if (func_8003774C(shot, obj2F4->obj.id, &obj2F4->obj)) {
obj2F4->unk_0D0 = 1;
obj2F4->unk_0D2 = shot->playerNum;
for (i = 0, actor = gActors; i < 60; i++, actor++) {
if ((actor->obj.status >= 2) && (actor->timer_0C2 == 0)) {
switch (actor->obj.id) {
case OBJ_ACTOR_180:
if (func_8003774C(shot, actor->obj.id, &actor->obj)) {
actor->unk_0D0 = 1;
actor->unk_0D2 = shot->playerNum;
return;
}
break;
case OBJ_2F4_200:
if (obj2F4->unk_0B4 == 42) {
if (func_8003774C(shot, OBJ_UNK_1000, &obj2F4->obj)) {
obj2F4->unk_0D0 = 1;
obj2F4->unk_0D2 = shot->playerNum;
case OBJ_ACTOR_200:
if (actor->unk_0B4 == 42) {
if (func_8003774C(shot, OBJ_UNK_1000, &actor->obj)) {
actor->unk_0D0 = 1;
actor->unk_0D2 = shot->playerNum;
return;
}
} else if (obj2F4->unk_0B4 == 63) {
temp_fv1 = fabsf(obj2F4->obj.pos.x - shot->obj.pos.x);
temp_fa0 = fabsf(obj2F4->obj.pos.y - shot->obj.pos.y);
temp_fv0 = fabsf(obj2F4->obj.pos.z - shot->obj.pos.z);
} else if (actor->unk_0B4 == 63) {
temp_fv1 = fabsf(actor->obj.pos.x - shot->obj.pos.x);
temp_fa0 = fabsf(actor->obj.pos.y - shot->obj.pos.y);
temp_fv0 = fabsf(actor->obj.pos.z - shot->obj.pos.z);
if (sqrtf(SQ(temp_fv1) + SQ(temp_fa0) + SQ(temp_fv0)) < 1000.0f) {
func_80037CF4(shot, obj2F4, 0);
func_80037CF4(shot, actor, 0);
}
} else {
temp_v0 = func_80036F88(shot, obj2F4);
temp_v0 = func_80036F88(shot, actor);
if (temp_v0 != 0) {
func_80037CF4(shot, obj2F4, temp_v0);
func_80037CF4(shot, actor, temp_v0);
return;
}
}
break;
default:
if (obj2F4->info.unk_16 != 0) {
if (obj2F4->obj.id == OBJ_2F4_197) {
if ((obj2F4->unk_0E4 >= 4) && (obj2F4->unk_0E4 < 10) &&
if (actor->info.unk_16 != 0) {
if (actor->obj.id == OBJ_ACTOR_197) {
if ((actor->unk_0E4 >= 4) && (actor->unk_0E4 < 10) &&
(((gCurrentLevel == LEVEL_VENOM_2) && (shot->playerNum < 104)) ||
((gCurrentLevel != LEVEL_VENOM_2) && (shot->playerNum == 0))) &&
(shot->obj.id != PLAYERSHOT_8) &&
(fabsf(obj2F4->obj.pos.x - shot->obj.pos.x) < 500.0f) &&
(fabsf(obj2F4->obj.pos.y - shot->obj.pos.y) < 300.0f) &&
(fabsf(obj2F4->obj.pos.z - shot->obj.pos.z) < 500.0f)) {
(fabsf(actor->obj.pos.x - shot->obj.pos.x) < 500.0f) &&
(fabsf(actor->obj.pos.y - shot->obj.pos.y) < 300.0f) &&
(fabsf(actor->obj.pos.z - shot->obj.pos.z) < 500.0f)) {
if (gCurrentLevel == LEVEL_VENOM_2) {
obj2F4->unk_094 = 1;
actor->iwork[17] = 1;
} else if (Rand_ZeroOne() < 0.1f) {
obj2F4->unk_094 = 1;
actor->iwork[17] = 1;
}
}
}
temp_v0 = func_80037438(shot, obj2F4);
temp_v0 = func_80037438(shot, actor);
if (temp_v0 != 0) {
func_80037CF4(shot, obj2F4, temp_v0);
func_80037CF4(shot, actor, temp_v0);
return;
}
} else {
temp_v0 = func_80036874(shot, obj2F4->info.hitbox, &obj2F4->obj);
temp_v0 = func_80036874(shot, actor->info.hitbox, &actor->obj);
if (temp_v0 != 0) {
func_80037CF4(shot, obj2F4, temp_v0);
func_80037CF4(shot, actor, temp_v0);
return;
}
}
@@ -1102,22 +1102,22 @@ void func_80039210(PlayerShot* shot) {
} else {
var_a1 = 0;
if ((gCurrentLevel != LEVEL_KATINA) && (shot->playerNum >= 104) && (shot->playerNum != 108)) {
if (gObjects2F4[shot->playerNum - 100].obj.id != 200) {
if (gActors[shot->playerNum - 100].obj.id != 200) {
var_a1 = 1;
} else if (gObjects2F4[shot->playerNum - 100].unk_080 == 5) {
} else if (gActors[shot->playerNum - 100].iwork[12] == 5) {
var_a1 = 2;
}
} else if (gCurrentLevel == LEVEL_KATINA) {
if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_2) {
if (shot->playerNum >= 104) {
if (gObjects2F4[shot->playerNum - 100].unk_0B6 == 0) {
if (gActors[shot->playerNum - 100].unk_0B6 == 0) {
var_a1 = 1;
}
if (gObjects2F4[shot->playerNum - 100].unk_0B6 == 2) {
if (gActors[shot->playerNum - 100].unk_0B6 == 2) {
var_a1 = 2;
}
}
} else if (gObjects2F4[shot->playerNum - 100].unk_0B6 == 34) {
} else if (gActors[shot->playerNum - 100].unk_0B6 == 34) {
var_a1 = 1;
}
}
@@ -1672,7 +1672,7 @@ bool func_8003BB4C(PlayerShot* shot) {
s32 i;
s32 j;
f32 var_fa0;
Object_2F4* obj2F4;
Actor* actor;
Player* player;
if (gLevelMode == LEVELMODE_ON_RAILS) {
@@ -1680,12 +1680,12 @@ bool func_8003BB4C(PlayerShot* shot) {
} else {
var_fa0 = 200.0f;
}
for (i = 0, obj2F4 = gObjects2F4; i < 60; i++, obj2F4++) {
if ((obj2F4->obj.status == 2) && (obj2F4->info.unk_1C != 0.0f) &&
((obj2F4->timer_0CA[shot->playerNum] == 0) && (fabsf(shot->obj.pos.x - obj2F4->obj.pos.x) <= var_fa0) &&
(fabsf(shot->obj.pos.y - (obj2F4->obj.pos.y + obj2F4->info.unk_1C)) <= var_fa0) &&
(fabsf(shot->obj.pos.z - obj2F4->obj.pos.z) <= var_fa0))) {
obj2F4->timer_0CA[shot->playerNum] = 20;
for (i = 0, actor = gActors; i < 60; i++, actor++) {
if ((actor->obj.status == 2) && (actor->info.unk_1C != 0.0f) &&
((actor->timer_0CA[shot->playerNum] == 0) && (fabsf(shot->obj.pos.x - actor->obj.pos.x) <= var_fa0) &&
(fabsf(shot->obj.pos.y - (actor->obj.pos.y + actor->info.unk_1C)) <= var_fa0) &&
(fabsf(shot->obj.pos.z - actor->obj.pos.z) <= var_fa0))) {
actor->timer_0CA[shot->playerNum] = 20;
func_80060F30(gPlayer[shot->playerNum].unk_460_arr, 0x49008027, shot->playerNum);
for (j = 0; j < ARRAY_COUNT(gPlayerShots); j++) {
if (gPlayerShots[j].obj.id == PLAYERSHOT_4) {
@@ -1832,7 +1832,7 @@ void func_8003C4D0(PlayerShot* shot, s32 unkD6) {
f32 sp64;
f32 sp60;
s32 pad[2];
Object_2F4* obj2F4;
Actor* actor;
Object_4C* obj4C;
Object_80* obj80;
Effect* effect;
@@ -1861,54 +1861,55 @@ void func_8003C4D0(PlayerShot* shot, s32 unkD6) {
}
}
}
obj2F4 = gObjects2F4;
for (i = 0; i < 60; i++, obj2F4++) {
if ((obj2F4->obj.status == 2) && (obj2F4->timer_0C2 == 0) &&
!((gCurrentLevel == LEVEL_MACBETH) && (OBJ_2F4_205 <= obj2F4->obj.id) && (obj2F4->obj.id < OBJ_2F4_214)) &&
!((obj2F4->obj.id == OBJ_2F4_200) && (obj2F4->unk_080 != 0)) &&
((obj2F4->scale >= 0.0f) || (obj2F4->obj.id == OBJ_2F4_271))) {
sp68 = obj2F4->obj.pos.x - shot->obj.pos.x;
sp64 = obj2F4->obj.pos.y - shot->obj.pos.y;
sp60 = obj2F4->obj.pos.z - shot->obj.pos.z;
actor = gActors;
for (i = 0; i < 60; i++, actor++) {
if ((actor->obj.status == 2) && (actor->timer_0C2 == 0) &&
!((gCurrentLevel == LEVEL_MACBETH) && (OBJ_ACTOR_205 <= actor->obj.id) &&
(actor->obj.id < OBJ_ACTOR_214)) &&
!((actor->obj.id == OBJ_ACTOR_200) && (actor->iwork[12] != 0)) &&
((actor->scale >= 0.0f) || (actor->obj.id == OBJ_ACTOR_271))) {
sp68 = actor->obj.pos.x - shot->obj.pos.x;
sp64 = actor->obj.pos.y - shot->obj.pos.y;
sp60 = actor->obj.pos.z - shot->obj.pos.z;
if ((gLevelMode == 0) && (sp60 < 0.0f)) {
sp60 *= 0.6f;
}
obj2F4->unk_0D8.x = shot->obj.pos.x;
obj2F4->unk_0D8.y = shot->obj.pos.y;
obj2F4->unk_0D8.z = shot->obj.pos.z;
actor->unk_0D8.x = shot->obj.pos.x;
actor->unk_0D8.y = shot->obj.pos.y;
actor->unk_0D8.z = shot->obj.pos.z;
if (sqrtf(SQ(sp68) + SQ(sp64) + SQ(sp60)) < temp_fs2) {
if ((obj2F4->obj.id == OBJ_2F4_193) || (obj2F4->obj.id == OBJ_2F4_186) ||
(obj2F4->obj.id == OBJ_2F4_190) || (obj2F4->obj.id == OBJ_2F4_202) ||
(obj2F4->obj.id == OBJ_2F4_201) || (obj2F4->obj.id == OBJ_2F4_187) ||
((obj2F4->obj.id == OBJ_2F4_200) && (obj2F4->unk_0B4 == 78)) ||
((obj2F4->obj.id == OBJ_2F4_200) && (obj2F4->unk_0B4 == 38)) || (obj2F4->obj.id == OBJ_2F4_196)) {
obj2F4->unk_0D0 = 2;
obj2F4->unk_0D2 = 0;
obj2F4->unk_0D4 = shot->playerNum + 1;
obj2F4->unk_0D6 = unkD6;
if ((actor->obj.id == OBJ_ACTOR_193) || (actor->obj.id == OBJ_ACTOR_186) ||
(actor->obj.id == OBJ_ACTOR_190) || (actor->obj.id == OBJ_ACTOR_202) ||
(actor->obj.id == OBJ_ACTOR_201) || (actor->obj.id == OBJ_ACTOR_187) ||
((actor->obj.id == OBJ_ACTOR_200) && (actor->unk_0B4 == 78)) ||
((actor->obj.id == OBJ_ACTOR_200) && (actor->unk_0B4 == 38)) || (actor->obj.id == OBJ_ACTOR_196)) {
actor->unk_0D0 = 2;
actor->unk_0D2 = 0;
actor->unk_0D4 = shot->playerNum + 1;
actor->unk_0D6 = unkD6;
if (obj2F4->info.bonus != 0) {
if (actor->info.bonus != 0) {
shot->bonus++;
}
} else if ((obj2F4->obj.id == OBJ_2F4_200) && (obj2F4->scale >= 0.5f) && (unkD6 >= 31)) {
obj2F4->unk_0D4 = shot->playerNum + 1;
obj2F4->vel.x = sp68 * 0.03f;
obj2F4->vel.y = sp64 * 0.03f;
obj2F4->vel.z = sp60 * 0.03f;
obj2F4->obj.status = 3;
obj2F4->timer_0BC = (s32) (Rand_ZeroOne() * 15.0f) + 10;
obj2F4->timer_0BE = 0;
obj2F4->timer_04C = 4;
obj2F4->obj.rot.x = Math_ModF(obj2F4->obj.rot.x, 360.0f);
if (obj2F4->info.bonus != 0) {
} else if ((actor->obj.id == OBJ_ACTOR_200) && (actor->scale >= 0.5f) && (unkD6 >= 31)) {
actor->unk_0D4 = shot->playerNum + 1;
actor->vel.x = sp68 * 0.03f;
actor->vel.y = sp64 * 0.03f;
actor->vel.z = sp60 * 0.03f;
actor->obj.status = 3;
actor->timer_0BC = (s32) (Rand_ZeroOne() * 15.0f) + 10;
actor->timer_0BE = 0;
actor->timer_04C = 4;
actor->obj.rot.x = Math_ModF(actor->obj.rot.x, 360.0f);
if (actor->info.bonus != 0) {
shot->bonus++;
}
} else {
obj2F4->unk_0D0 = 2;
obj2F4->unk_0D2 = 0;
obj2F4->unk_0D4 = shot->playerNum + 1;
obj2F4->unk_0D6 = unkD6;
if (obj2F4->info.bonus != 0) {
actor->unk_0D0 = 2;
actor->unk_0D2 = 0;
actor->unk_0D4 = shot->playerNum + 1;
actor->unk_0D6 = unkD6;
if (actor->info.bonus != 0) {
shot->bonus++;
}
}
@@ -2055,7 +2056,7 @@ void func_8003CF90(PlayerShot* shot) {
f32 sp60;
f32 sp5C;
f32 sp58;
Object_2F4* obj2F4;
Actor* actor;
Player* player;
if ((shot->obj.pos.y < D_80177940) || (shot->unk_64 == 1)) {
@@ -2072,13 +2073,13 @@ void func_8003CF90(PlayerShot* shot) {
} else {
var_a3 = 0;
if (shot->unk_60 == 0) {
for (i = 0, obj2F4 = gObjects2F4; i < 60; i++, obj2F4++) {
if ((obj2F4->obj.status == 2) && (obj2F4->info.unk_1C != 0.0f) &&
(obj2F4->timer_0CA[shot->playerNum] != 0)) {
for (i = 0, actor = gActors; i < 60; i++, actor++) {
if ((actor->obj.status == 2) && (actor->info.unk_1C != 0.0f) &&
(actor->timer_0CA[shot->playerNum] != 0)) {
var_a3 = 1;
obj2F4->timer_0CA[shot->playerNum] = 2;
D_800C9C24 = obj2F4->obj.pos;
D_800C9C24.y += obj2F4->info.unk_1C;
actor->timer_0CA[shot->playerNum] = 2;
D_800C9C24 = actor->obj.pos;
D_800C9C24.y += actor->info.unk_1C;
}
}
for (i = 0, player = gPlayer; i < gCamCount; i++, player++) {
+420 -420
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -16,7 +16,7 @@ u8 D_800CA224[] = { 0, 0, 0, 0 };
s32 D_800CA228 = 0;
s32 D_800CA22C = 0;
f32 D_800CA230 = 0.0f;
Object_2F4* D_800CA234 = NULL;
Actor* D_800CA234 = NULL;
s32 D_Timer_800CA238 = 0;
f32 D_800CA23C[3] = { 0.5f, 0.25f, 0.25f };
f32 D_800CA248[3] = { 2.0f, 1.0f, 0.5f };
+1 -1
View File
@@ -20,5 +20,5 @@ void func_800595D0(Object_80* obj80) {
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
}
void func_800596B0(Object_2F4* obj2F4) {
void func_800596B0(Actor* actor) {
}
+116 -116
View File
@@ -600,122 +600,122 @@ ObjectInfo D_800CC124[0x190] = {
/* OBJ_4C_173 */ {(void*) NULL, 1, (ObjectFunc) func_801923C0, D_800CBF34, 0.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_4C_174 */ {(void*) NULL, 1, (ObjectFunc) func_8019243C, D_800CBF34, 0.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_4C_175 */ {(void*) NULL, 1, (ObjectFunc) NULL, D_800CBF34, 1000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_2F4_176 */ {(void*) func_8018BAAC, 2, (ObjectFunc) func_8018AED0, D_603E5D0, 500.0f, 0, 0, 39, 1, 200.0f, 1 },
/* OBJ_2F4_177 */ {(void*) func_8018BBA4, 2, (ObjectFunc) func_8018B15C, D_603E5D0, 500.0f, 0, 0, 39, 1, 200.0f, 1 },
/* OBJ_2F4_178 */ {(void*) func_8018BBF8, 2, (ObjectFunc) func_8018B418, D_603E5D0, 500.0f, 0, 0, 39, 1, 200.0f, 1 },
/* OBJ_2F4_179 */ {(void*) func_8018BD7C, 2, (ObjectFunc) func_8018B58C, D_603E604, 500.0f, 0, 0, 39, 1, 0.0f, 1 },
/* OBJ_2F4_180 */ {(void*) func_8005B6A4, 1, (ObjectFunc) func_80066A80, D_800CBF34, 1000.0f, 0, 0, 39, 0, 0.0f, 1 },
/* OBJ_2F4_181 */ {(void*) D_6018C00, 0, (ObjectFunc) func_8018756C, D_602F6EC, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_2F4_182 */ {(void*) func_8005B71C, 1, (ObjectFunc) func_80187650, D_602F708, 100.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_2F4_183 */ {(void*) func_8018DA6C, 1, (ObjectFunc) func_8018D9EC, D_800CBF34, 100.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_2F4_184 */ {(void*) func_8018DAEC, 1, (ObjectFunc) func_8018D9EC, D_800CBF34, 100.0f, 0, 1, 39, 0, 0.0f, 1 },
/* 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_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 },
/* OBJ_2F4_192 */ {(void*) func_8005B9A4, 1, (ObjectFunc) func_8006654C, D_603E54C, 200.0f, 0, 1, 39, 0, 50.0f, 1 },
/* OBJ_2F4_193 */ {(void*) func_8005BA30, 1, (ObjectFunc) func_800669A0, D_603E598, 100.0f, 0, 1, 39, 0, 0.0f, 0 },
/* OBJ_2F4_194 */ {(void*) func_8006B74C, 1, (ObjectFunc) func_8006B094, D_800CC000, 200.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_2F4_195 */ {(void*) func_8004FEC0, 1, (ObjectFunc) func_8004F8AC, D_800CBF34, 20000.0f, 0, 1, 39, 0, 0.0f, 0 },
/* OBJ_2F4_196 */ {(void*) func_80059BF0, 1, (ObjectFunc) func_8006BB78, D_603E5B4, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_2F4_197 */ {(void*) func_80035448, 1, (ObjectFunc) func_800319AC, D_800CC038, 20000.0f, 0, 1, 39, 1, 1.0f, 1 },
/* OBJ_2F4_198 */ {(void*) func_80035448, 1, (ObjectFunc) func_80092EC0, D_800CC01C, 20000.0f, 0, 0, 39, 1, 0.0f, 0 },
/* OBJ_2F4_199 */ {(void*) func_80188448, 1, (ObjectFunc) func_801880E4, D_800CBF34, 20000.0f, 0, 0, 39, 1, 0.0f, 0 },
/* OBJ_2F4_200 */ {(void*) func_80074FF0, 1, (ObjectFunc) func_80072594, D_800CBF34, 2000.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_2F4_201 */ {(void*) func_800598E8, 1, (ObjectFunc) func_8006AC08, D_602F684, 100.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_2F4_202 */ {(void*) func_80059A24, 1, (ObjectFunc) func_8006AD18, D_602F6A0, 100.0f, 0, 1, 39, 0, 180.0f, 1 },
/* OBJ_2F4_203 */ {(void*) func_8018F884, 1, (ObjectFunc) func_8018F330, D_800CBF34, 1000.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_2F4_204 */ {(void*) func_E9F1D0_801A4CB0, 1, (ObjectFunc) func_E9F1D0_801A3BD4, D_603405C, 1000.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_2F4_205 */ {(void*) func_801A12C4, 1, (ObjectFunc) func_8019C778, D_60359C8, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_206 */ {(void*) func_801A12C4, 1, (ObjectFunc) func_801AC438, D_6035A48, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_207 */ {(void*) func_801AC294, 2, (ObjectFunc) func_801A7E7C, D_603677C, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_208 */ {(void*) func_801A12C4, 1, (ObjectFunc) func_8019EA60, D_6035A14, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_209 */ {(void*) func_801A12C4, 1, (ObjectFunc) func_8019D700, D_6035AE0, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_210 */ {(void*) func_801A12C4, 1, (ObjectFunc) func_8019CE88, D_6035D9C, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_211 */ {(void*) func_801A12C4, 1, (ObjectFunc) func_8019E410, D_6035E04, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_212 */ {(void*) func_801A12C4, 1, (ObjectFunc) func_8019FF9C, D_60360C0, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_213 */ {(void*) func_801A12C4, 1, (ObjectFunc) func_8019EE68, D_6036154, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_214 */ {(void*) func_801A43BC, 1, (ObjectFunc) func_801A3E98, D_6036458, 300.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_215 */ {(void*) func_801A4A64, 1, (ObjectFunc) func_801A46A0, D_60364C0, 300.0f, 0, 1, 40, 1, 0.0f, 1 },
/* OBJ_2F4_216 */ {(void*) func_801A5F90, 1, (ObjectFunc) func_801A5E54, D_60366EC, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_217 */ {(void*) func_801A6100, 1, (ObjectFunc) func_801A5FD0, D_6036708, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_218 */ {(void*) func_801A6540, 1, (ObjectFunc) func_801A6144, D_6036728, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_219 */ {(void*) func_801A68EC, 1, (ObjectFunc) func_801A67C8, D_6036744, 300.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_220 */ {(void*) func_801ADAC8, 1, (ObjectFunc) func_801AD6F0, D_6036930, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_221 */ {(void*) func_801AE2C0, 1, (ObjectFunc) func_801ADD68, D_603694C, 300.0f, 0, 0, 40, 1, 1.0f, 0 },
/* OBJ_2F4_222 */ {(void*) func_801AEEFC, 1, (ObjectFunc) func_801AEC04, D_6036968, 300.0f, 0, 0, 40, 1, 1.0f, 0 },
/* OBJ_2F4_223 */ {(void*) func_801A54E8, 1, (ObjectFunc) func_801A4B24, D_60364DC, 300.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_224 */ {(void*) NULL, 1, (ObjectFunc) func_80189194, D_800CBF34, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_2F4_225 */ {(void*) D_700AB70, 0, (ObjectFunc) func_8018AB44, D_60064AC, 50.0f, 0, 0, 39, 1, 1.0f, 0 },
/* OBJ_2F4_226 */ {(void*) func_80189AFC, 1, (ObjectFunc) func_801895B8, D_60064C8, 300.0f, 0, 0, 39, 1, 70.0f, 1 },
/* OBJ_2F4_227 */ {(void*) func_8018E5B4, 1, (ObjectFunc) func_8018E54C, D_60067C4, 0.0f, 0, 0, 39, 1, 0.0f, 0 },
/* OBJ_2F4_228 */ {(void*) func_8018EF14, 1, (ObjectFunc) func_8018E5F8, D_6006808, 0.0f, 0, 0, 39, 1, 1.0f, 1 },
/* OBJ_2F4_229 */ {(void*) func_8018E2D8, 1, (ObjectFunc) func_8018C8A8, D_6006A3C, 1000.0f, 0, 0, 20, 1, 0.0f, 1 },
/* OBJ_2F4_230 */ {(void*) func_8018AABC, 1, (ObjectFunc) func_8018A544, D_600683C, 0.0f, 0, 1, 39, 1, 0.0f, 1 },
/* OBJ_2F4_231 */ {(void*) func_8018BE84, 1, (ObjectFunc) func_8018B9D0, D_6006858, 0.0f, 0, 0, 39, 1, 0.0f, 1 },
/* 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_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_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_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_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 },
/* OBJ_2F4_283 */ {(void*) D_9023AD0, 0, (ObjectFunc) func_80192EB0, D_601B8A0, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_284 */ {(void*) func_801934D0, 1, (ObjectFunc) func_801933DC, D_601B8D8, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_2F4_285 */ {(void*) func_80193244, 1, (ObjectFunc) func_80192E94, D_800CBE8C, 1000.0f, 0, 0, 20, 0, 1.0f, 1 },
/* OBJ_2F4_286 */ {(void*) func_80188660, 1, (ObjectFunc) func_80188528, D_800CBE8C, 1000.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_2F4_287 */ {(void*) NULL, 1, (ObjectFunc) func_80189724, D_800CBF34, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_2F4_288 */ {(void*) NULL, 1, (ObjectFunc) func_801893B8, D_800CBF34, 1000.0f, 0, 0, 20, 1, 0.0f, 0 },
/* 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_ACTOR_176 */ {(void*) func_8018BAAC, 2, (ObjectFunc) func_8018AED0, D_603E5D0, 500.0f, 0, 0, 39, 1, 200.0f, 1 },
/* OBJ_ACTOR_177 */ {(void*) func_8018BBA4, 2, (ObjectFunc) func_8018B15C, D_603E5D0, 500.0f, 0, 0, 39, 1, 200.0f, 1 },
/* OBJ_ACTOR_178 */ {(void*) func_8018BBF8, 2, (ObjectFunc) func_8018B418, D_603E5D0, 500.0f, 0, 0, 39, 1, 200.0f, 1 },
/* OBJ_ACTOR_179 */ {(void*) func_8018BD7C, 2, (ObjectFunc) func_8018B58C, D_603E604, 500.0f, 0, 0, 39, 1, 0.0f, 1 },
/* OBJ_ACTOR_180 */ {(void*) func_8005B6A4, 1, (ObjectFunc) func_80066A80, D_800CBF34, 1000.0f, 0, 0, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_181 */ {(void*) D_6018C00, 0, (ObjectFunc) func_8018756C, D_602F6EC, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_182 */ {(void*) func_8005B71C, 1, (ObjectFunc) func_80187650, D_602F708, 100.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_183 */ {(void*) func_8018DA6C, 1, (ObjectFunc) func_8018D9EC, D_800CBF34, 100.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_184 */ {(void*) func_8018DAEC, 1, (ObjectFunc) func_8018D9EC, D_800CBF34, 100.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_185 */ {(void*) func_8018DB6C, 1, (ObjectFunc) func_8018D9EC, D_800CBF34, 100.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_186 */ {(void*) func_8005B7CC, 1, (ObjectFunc) func_8018795C, D_602F724, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_187 */ {(void*) D_6018450, 0, (ObjectFunc) func_801877C4, D_602F740, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_188 */ {(void*) func_E16C50_801BEC74, 1, (ObjectFunc) func_E16C50_801BEC68, D_6030BE0, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_189 */ {(void*) func_8005A094, 1, (ObjectFunc) func_8006C008, D_800CBF34, 0.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_190 */ {(void*) func_8005B848, 1, (ObjectFunc) func_800656D4, D_800CBFE4, 100.0f, 0, 1, 39, 0, 1.0f, 0 },
/* OBJ_ACTOR_191 */ {(void*) func_8005B848, 1, (ObjectFunc) func_800656D4, D_800CBFE4, 100.0f, 0, 1, 39, 0, 1.0f, 0 },
/* OBJ_ACTOR_192 */ {(void*) func_8005B9A4, 1, (ObjectFunc) func_8006654C, D_603E54C, 200.0f, 0, 1, 39, 0, 50.0f, 1 },
/* OBJ_ACTOR_193 */ {(void*) func_8005BA30, 1, (ObjectFunc) func_800669A0, D_603E598, 100.0f, 0, 1, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_194 */ {(void*) func_8006B74C, 1, (ObjectFunc) func_8006B094, D_800CC000, 200.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_195 */ {(void*) func_8004FEC0, 1, (ObjectFunc) func_8004F8AC, D_800CBF34, 20000.0f, 0, 1, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_196 */ {(void*) func_80059BF0, 1, (ObjectFunc) func_8006BB78, D_603E5B4, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_197 */ {(void*) func_80035448, 1, (ObjectFunc) func_800319AC, D_800CC038, 20000.0f, 0, 1, 39, 1, 1.0f, 1 },
/* OBJ_ACTOR_198 */ {(void*) func_80035448, 1, (ObjectFunc) func_80092EC0, D_800CC01C, 20000.0f, 0, 0, 39, 1, 0.0f, 0 },
/* OBJ_ACTOR_199 */ {(void*) func_80188448, 1, (ObjectFunc) func_801880E4, D_800CBF34, 20000.0f, 0, 0, 39, 1, 0.0f, 0 },
/* OBJ_ACTOR_200 */ {(void*) func_80074FF0, 1, (ObjectFunc) func_80072594, D_800CBF34, 2000.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_201 */ {(void*) func_800598E8, 1, (ObjectFunc) func_8006AC08, D_602F684, 100.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_202 */ {(void*) func_80059A24, 1, (ObjectFunc) func_8006AD18, D_602F6A0, 100.0f, 0, 1, 39, 0, 180.0f, 1 },
/* OBJ_ACTOR_203 */ {(void*) func_8018F884, 1, (ObjectFunc) func_8018F330, D_800CBF34, 1000.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_204 */ {(void*) func_E9F1D0_801A4CB0, 1, (ObjectFunc) func_E9F1D0_801A3BD4, D_603405C, 1000.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_205 */ {(void*) func_801A12C4, 1, (ObjectFunc) func_8019C778, D_60359C8, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_206 */ {(void*) func_801A12C4, 1, (ObjectFunc) func_801AC438, D_6035A48, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_207 */ {(void*) func_801AC294, 2, (ObjectFunc) func_801A7E7C, D_603677C, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_208 */ {(void*) func_801A12C4, 1, (ObjectFunc) func_8019EA60, D_6035A14, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_209 */ {(void*) func_801A12C4, 1, (ObjectFunc) func_8019D700, D_6035AE0, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_210 */ {(void*) func_801A12C4, 1, (ObjectFunc) func_8019CE88, D_6035D9C, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_211 */ {(void*) func_801A12C4, 1, (ObjectFunc) func_8019E410, D_6035E04, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_212 */ {(void*) func_801A12C4, 1, (ObjectFunc) func_8019FF9C, D_60360C0, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_213 */ {(void*) func_801A12C4, 1, (ObjectFunc) func_8019EE68, D_6036154, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_214 */ {(void*) func_801A43BC, 1, (ObjectFunc) func_801A3E98, D_6036458, 300.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_215 */ {(void*) func_801A4A64, 1, (ObjectFunc) func_801A46A0, D_60364C0, 300.0f, 0, 1, 40, 1, 0.0f, 1 },
/* OBJ_ACTOR_216 */ {(void*) func_801A5F90, 1, (ObjectFunc) func_801A5E54, D_60366EC, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_217 */ {(void*) func_801A6100, 1, (ObjectFunc) func_801A5FD0, D_6036708, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_218 */ {(void*) func_801A6540, 1, (ObjectFunc) func_801A6144, D_6036728, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_219 */ {(void*) func_801A68EC, 1, (ObjectFunc) func_801A67C8, D_6036744, 300.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_220 */ {(void*) func_801ADAC8, 1, (ObjectFunc) func_801AD6F0, D_6036930, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_221 */ {(void*) func_801AE2C0, 1, (ObjectFunc) func_801ADD68, D_603694C, 300.0f, 0, 0, 40, 1, 1.0f, 0 },
/* OBJ_ACTOR_222 */ {(void*) func_801AEEFC, 1, (ObjectFunc) func_801AEC04, D_6036968, 300.0f, 0, 0, 40, 1, 1.0f, 0 },
/* OBJ_ACTOR_223 */ {(void*) func_801A54E8, 1, (ObjectFunc) func_801A4B24, D_60364DC, 300.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_224 */ {(void*) NULL, 1, (ObjectFunc) func_80189194, D_800CBF34, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_225 */ {(void*) D_700AB70, 0, (ObjectFunc) func_8018AB44, D_60064AC, 50.0f, 0, 0, 39, 1, 1.0f, 0 },
/* OBJ_ACTOR_226 */ {(void*) func_80189AFC, 1, (ObjectFunc) func_801895B8, D_60064C8, 300.0f, 0, 0, 39, 1, 70.0f, 1 },
/* OBJ_ACTOR_227 */ {(void*) func_8018E5B4, 1, (ObjectFunc) func_8018E54C, D_60067C4, 0.0f, 0, 0, 39, 1, 0.0f, 0 },
/* OBJ_ACTOR_228 */ {(void*) func_8018EF14, 1, (ObjectFunc) func_8018E5F8, D_6006808, 0.0f, 0, 0, 39, 1, 1.0f, 1 },
/* OBJ_ACTOR_229 */ {(void*) func_8018E2D8, 1, (ObjectFunc) func_8018C8A8, D_6006A3C, 1000.0f, 0, 0, 20, 1, 0.0f, 1 },
/* OBJ_ACTOR_230 */ {(void*) func_8018AABC, 1, (ObjectFunc) func_8018A544, D_600683C, 0.0f, 0, 1, 39, 1, 0.0f, 1 },
/* OBJ_ACTOR_231 */ {(void*) func_8018BE84, 1, (ObjectFunc) func_8018B9D0, D_6006858, 0.0f, 0, 0, 39, 1, 0.0f, 1 },
/* OBJ_ACTOR_232 */ {(void*) func_8018B6AC, 1, (ObjectFunc) func_8018B268, D_6006890_f32, 0.0f, 0, 0, 39, 1, 20.0f, 1 },
/* OBJ_ACTOR_233 */ {(void*) func_8018A1C0, 1, (ObjectFunc) func_80189CC8, D_60068F0, 200.0f, 0, 0, 39, 1, 1.0f, 1 },
/* OBJ_ACTOR_234 */ {(void*) func_80077218, 1, (ObjectFunc) func_800771CC, D_800CBF34, 2000.0f, 0, 0, 39, 0, 0.0f, 5 },
/* OBJ_ACTOR_235 */ {(void*) func_E16C50_80190430, 2, (ObjectFunc) func_E16C50_801904CC, D_602C294, 1000.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_236 */ {(void*) func_E16C50_80190F08, 1, (ObjectFunc) func_E16C50_80190A00, D_602BC58, 5000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_237 */ {(void*) func_8006A978, 1, (ObjectFunc) func_8006A96C, D_800CBF34, 200.0f, 0, 0, 40, 0, 0.0f, 2 },
/* OBJ_ACTOR_238 */ {(void*) func_E16C50_801914C4, 2, (ObjectFunc) func_E16C50_80191010, D_800CBE8C, 200.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_239 */ {(void*) NULL, 1, (ObjectFunc) NULL, D_800CBF34, 1000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_240 */ {(void*) func_E16C50_80191B4C, 1, (ObjectFunc) func_E16C50_80191680, D_800CBE8C, 1500.0f, 0, 1, 40, 0, 20.0f, 0 },
/* OBJ_ACTOR_241 */ {(void*) func_E16C50_80191DB0, 1, (ObjectFunc) func_E16C50_80191BC4, D_800CBE70, 1500.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_242 */ {(void*) func_E16C50_80191FFC, 2, (ObjectFunc) func_E16C50_80192094, D_602BE3C, 500.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_243 */ {(void*) func_E16C50_80192C18, 2, (ObjectFunc) func_E16C50_80192834, D_800CBE8C, 0.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_244 */ {(void*) func_E16C50_80193240, 2, (ObjectFunc) func_E16C50_80192E64, D_602BE58, 2000.0f, 0, 0, 40, 0, 50.0f, 0 },
/* OBJ_ACTOR_245 */ {(void*) func_E16C50_8019983C, 1, (ObjectFunc) func_E16C50_8019969C, D_800CBE8C, 200.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_246 */ {(void*) func_E16C50_80199E24, 1, (ObjectFunc) func_E16C50_80199A28, D_800CBE8C, 2000.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_247 */ {(void*) func_E16C50_8019D3C4, 1, (ObjectFunc) func_E16C50_8019D15C, D_602BFC4, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_248 */ {(void*) func_E16C50_8019A1FC, 1, (ObjectFunc) func_E16C50_80199F10, D_800CBEA8, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_249 */ {(void*) func_E16C50_8019ACCC, 1, (ObjectFunc) func_E16C50_8019A5D4, D_800CBEC4, 5000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_250 */ {(void*) func_E16C50_8019B7DC, 1, (ObjectFunc) func_E16C50_8019B548, D_602C1D4, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_251 */ {(void*) func_E16C50_8019BDE0, 2, (ObjectFunc) func_E16C50_8019B854, D_602C218, 1000.0f, 0, 0, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_252 */ {(void*) func_E16C50_8019C1CC, 1, (ObjectFunc) func_E16C50_8019BE48, D_602C234, 200.0f, 0, 0, 40, 0, 80.0f, 1 },
/* OBJ_ACTOR_253 */ {(void*) func_E16C50_8019C83C, 1, (ObjectFunc) func_E16C50_8019C454, D_602C250, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_254 */ {(void*) func_E16C50_8019CE58, 1, (ObjectFunc) func_E16C50_8019CBEC, D_602C2B0, 300.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_255 */ {(void*) func_E16C50_801AE168, 1, (ObjectFunc) func_E16C50_801AD6C0, D_6030BFC, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_256 */ {(void*) func_E16C50_801AEB44, 1, (ObjectFunc) func_E16C50_801AE3D8, D_6030C18, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_257 */ {(void*) func_E16C50_801B099C, 1, (ObjectFunc) func_E16C50_801AFA5C, D_6030C44, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_258 */ {(void*) func_E16C50_801B0EC0, 1, (ObjectFunc) func_E16C50_801B0B60, D_800CBE8C, 200.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_259 */ {(void*) func_E16C50_801B619C, 2, (ObjectFunc) func_E16C50_801B638C, D_6031398, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_260 */ {(void*) func_E16C50_801B90DC, 2, (ObjectFunc) func_E16C50_801B7C78, D_60313CC, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_261 */ {(void*) func_E16C50_801B504C, 2, (ObjectFunc) func_E16C50_801B50E8, D_6031400, 300.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_262 */ {(void*) func_E16C50_801B7A24, 2, (ObjectFunc) func_E16C50_801B6FF8, D_603144C, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_263 */ {(void*) func_E16C50_801BA108, 2, (ObjectFunc) func_E16C50_801B91A4, D_6031480, 200.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_264 */ {(void*) func_E16C50_801BA4E4, 1, (ObjectFunc) func_E16C50_801BA26C, D_800CBE8C, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_265 */ {(void*) func_E16C50_801BAD7C, 1, (ObjectFunc) func_E16C50_801BA6A4, D_6031500, 200.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_266 */ {(void*) func_E16C50_801BB204, 2, (ObjectFunc) func_E16C50_801BADF8, D_6031538, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_267 */ {(void*) func_E16C50_801BC930, 2, (ObjectFunc) func_E16C50_801BB79C, D_6031554, 800.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_268 */ {(void*) func_E16C50_801BDE6C, 1, (ObjectFunc) func_E16C50_801BD54C, D_6031570, 10000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_269 */ {(void*) func_E16C50_801BD264, 1, (ObjectFunc) func_E16C50_801BC9A0, D_6030D20, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_270 */ {(void*) func_E16C50_801BEB1C, 1, (ObjectFunc) func_E16C50_801BE3F8, D_60314C8, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_271 */ {(void*) func_8002E694, 2, (ObjectFunc) func_8002E670, D_6011B24, 0.0f, 0, 0, 39, 0, 730.0f, 1 },
/* OBJ_ACTOR_272 */ {(void*) func_8002E6DC, 1, (ObjectFunc) func_8002E6B8, D_6011BF4, 0.0f, 0, 0, 39, 0, 150.0f, 1 },
/* OBJ_ACTOR_273 */ {(void*) func_80188FE4, 2, (ObjectFunc) func_80188AD0, D_600FF30, 0.0f, 0, 0, 39, 0, 220.0f, 1 },
/* OBJ_ACTOR_274 */ {(void*) func_8019E3A8, 1, (ObjectFunc) func_8019E234, D_800CBEC4, 0.0f, 0, 0, 39, 0, 1.0f, 0 },
/* OBJ_ACTOR_275 */ {(void*) func_E16C50_8019F7AC, 1, (ObjectFunc) func_E16C50_8019F20C, D_800CBE8C, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_276 */ {(void*) func_E16C50_8019F7AC, 1, (ObjectFunc) func_E16C50_8019F20C, D_800CBE8C, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_277 */ {(void*) func_E16C50_8019F7AC, 1, (ObjectFunc) func_E16C50_8019F20C, D_800CBEC4, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_278 */ {(void*) NULL, 1, (ObjectFunc) func_E16C50_8019EA7C, D_800CBF34, 200.0f, 0, 0, 0, 0, 0.0f, 1 },
/* OBJ_ACTOR_279 */ {(void*) NULL, 1, (ObjectFunc) func_E16C50_801A003C, D_800CBF34, 1000.0f, 0, 0, 0, 0, 0.0f, 1 },
/* OBJ_ACTOR_280 */ {(void*) D_900DD20, 0, (ObjectFunc) func_80192518, D_601B7F8, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_281 */ {(void*) func_80192E2C, 1, (ObjectFunc) func_80192CD4, D_601B830, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_282 */ {(void*) D_901DA50, 0, (ObjectFunc) func_80192CD4, D_601B868, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_283 */ {(void*) D_9023AD0, 0, (ObjectFunc) func_80192EB0, D_601B8A0, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_284 */ {(void*) func_801934D0, 1, (ObjectFunc) func_801933DC, D_601B8D8, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_285 */ {(void*) func_80193244, 1, (ObjectFunc) func_80192E94, D_800CBE8C, 1000.0f, 0, 0, 20, 0, 1.0f, 1 },
/* OBJ_ACTOR_286 */ {(void*) func_80188660, 1, (ObjectFunc) func_80188528, D_800CBE8C, 1000.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_ACTOR_287 */ {(void*) NULL, 1, (ObjectFunc) func_80189724, D_800CBF34, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_288 */ {(void*) NULL, 1, (ObjectFunc) func_801893B8, D_800CBF34, 1000.0f, 0, 0, 20, 1, 0.0f, 0 },
/* OBJ_ACTOR_289 */ {(void*) func_800596B0, 1, (ObjectFunc) func_80189470, D_800CBF34, 1000.0f, 0, 0, 20, 1, 0.0f, 0 },
/* OBJ_ACTOR_290 */ {(void*) NULL, 1, (ObjectFunc) func_8018933C, D_800CBF34, 1000.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_ACTOR_291 */ {(void*) func_80067874, 1, (ObjectFunc) func_8006753C, D_800CBEA8, 1000.0f, 0, 0, 0, 0, 1.0f, 0 },
/* 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 },
+210 -209
View File
@@ -37,7 +37,7 @@ void func_80059850(Object_4C* obj4C) {
void func_800598DC(s32 arg0) {
}
void func_800598E8(Object_2F4* obj2F4) {
void func_800598E8(Actor* actor) {
RCP_SetupDL_60(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
gSPDisplayList(gMasterDisp++, D_6025B50);
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
@@ -52,7 +52,7 @@ void func_800599A4(s32 limbIndex, Vec3f* rot, void* index) {
sp24.y = 0.0f;
sp24.z = 0.0f;
Matrix_MultVec3f(gCalcMatrix, &sp24, &sp18);
gObjects2F4[*((s32*) index)].unk_114 = sp18.y;
gActors[*((s32*) index)].fwork[0] = sp18.y;
}
}
@@ -66,14 +66,14 @@ f32 D_800CFA2C[] = {
1.0f, 1.0f, 0.95f, 0.9f, 0.85f, 0.8f, 0.75f, 0.7f, 0.65f, 0.6f,
};
void func_80059A24(Object_2F4* obj2F4) {
void func_80059A24(Actor* actor) {
Vec3f sp30[30];
f32 temp = D_800CF9B0[obj2F4->unk_0B6] - 114.0f;
f32 temp = D_800CF9B0[actor->unk_0B6] - 114.0f;
Matrix_Translate(gGfxMatrix, 0.f, -temp, 0.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
Animation_GetFrameData(&D_601E8C4, obj2F4->unk_0B6, sp30);
Animation_DrawSkeleton(1, D_601E9D0, sp30, NULL, func_800599A4, &obj2F4->index, &gIdentityMatrix);
Animation_GetFrameData(&D_601E8C4, actor->unk_0B6, sp30);
Animation_DrawSkeleton(1, D_601E9D0, sp30, NULL, func_800599A4, &actor->index, &gIdentityMatrix);
}
void func_80059AEC(Object_80* obj80) {
@@ -96,8 +96,8 @@ void func_80059BBC(Object_80* obj80) {
gSPDisplayList(gMasterDisp++, D_6023AC0);
}
void func_80059BF0(Object_2F4* obj2F4) {
if (obj2F4->unk_0B6 != 0) {
void func_80059BF0(Actor* actor) {
if (actor->unk_0B6 != 0) {
gSPDisplayList(gMasterDisp++, D_6032BC0);
}
}
@@ -232,8 +232,8 @@ Gfx* D_800CFC7C[] = {
0x0601B570, 0x0601B710, 0x060209B0, 0x06020B70, 0x06020D50, 0x0601B8F0, 0x0601B3B0, 0x0601B1C0, 0x06011660,
};
void func_8005A094(Object_2F4* obj2F4) {
switch (obj2F4->unk_0B8) {
void func_8005A094(Actor* actor) {
switch (actor->unk_0B8) {
case 0:
Matrix_Translate(gGfxMatrix, 18.0f, 15.0f, -15.0f, 1);
Matrix_RotateY(gGfxMatrix, M_PI, 1);
@@ -247,15 +247,15 @@ void func_8005A094(Object_2F4* obj2F4) {
gSPDisplayList(gMasterDisp++, D_3015D80);
break;
case 2:
Graphics_SetScaleMtx(obj2F4->scale);
Graphics_SetScaleMtx(actor->scale);
gSPDisplayList(gMasterDisp++, D_30155E0);
break;
case 3:
gSPDisplayList(gMasterDisp++, D_3011720);
break;
case 4:
Graphics_SetScaleMtx(obj2F4->scale);
if (obj2F4->index & 1) {
Graphics_SetScaleMtx(actor->scale);
if (actor->index & 1) {
gSPDisplayList(gMasterDisp++, D_10194C0);
} else {
gSPDisplayList(gMasterDisp++, D_1024290);
@@ -263,11 +263,11 @@ void func_8005A094(Object_2F4* obj2F4) {
break;
case 39:
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
gSPDisplayList(gMasterDisp++, D_800CFAC4[obj2F4->unk_048]);
gSPDisplayList(gMasterDisp++, D_800CFAC4[actor->unk_048]);
break;
case 40:
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255);
switch (obj2F4->unk_048) {
switch (actor->unk_048) {
case 0:
break;
case 1:
@@ -283,7 +283,7 @@ void func_8005A094(Object_2F4* obj2F4) {
break;
}
if (gCurrentLevel != LEVEL_SOLAR) {
gSPDisplayList(gMasterDisp++, D_E6A810_801B769C[obj2F4->unk_046]);
gSPDisplayList(gMasterDisp++, D_E6A810_801B769C[actor->unk_046]);
} else {
if (gBosses[0].fwork[3] < 4800.0f) {
RCP_SetupDL(&gMasterDisp, 0x1E);
@@ -294,58 +294,58 @@ void func_8005A094(Object_2F4* obj2F4) {
gDPSetFogColor(gMasterDisp++, 0x10, 0x10, 0x10, gFogAlpha);
gSPFogPosition(gMasterDisp++, gFogNear, gFogFar);
}
Graphics_SetScaleMtx(obj2F4->scale);
gSPDisplayList(gMasterDisp++, D_800CFB40[obj2F4->unk_046]);
Graphics_SetScaleMtx(actor->scale);
gSPDisplayList(gMasterDisp++, D_800CFB40[actor->unk_046]);
}
break;
case 41:
Graphics_SetScaleMtx(obj2F4->scale);
gSPDisplayList(gMasterDisp++, D_800CFADC[obj2F4->unk_048]);
Graphics_SetScaleMtx(actor->scale);
gSPDisplayList(gMasterDisp++, D_800CFADC[actor->unk_048]);
break;
case 42:
Graphics_SetScaleMtx(obj2F4->scale);
gSPDisplayList(gMasterDisp++, D_800CFB08[obj2F4->unk_048]);
Graphics_SetScaleMtx(actor->scale);
gSPDisplayList(gMasterDisp++, D_800CFB08[actor->unk_048]);
break;
case 43:
Graphics_SetScaleMtx(obj2F4->scale);
gSPDisplayList(gMasterDisp++, D_800CFB14[obj2F4->unk_048]);
Graphics_SetScaleMtx(actor->scale);
gSPDisplayList(gMasterDisp++, D_800CFB14[actor->unk_048]);
break;
case 44:
Graphics_SetScaleMtx(obj2F4->scale);
gSPDisplayList(gMasterDisp++, D_800CFB28[obj2F4->unk_048]);
Graphics_SetScaleMtx(actor->scale);
gSPDisplayList(gMasterDisp++, D_800CFB28[actor->unk_048]);
break;
case 45:
gSPDisplayList(gMasterDisp++, D_40018A0);
break;
case 46:
if ((obj2F4->unk_048 == 2) || (obj2F4->unk_048 == 3) || (obj2F4->unk_048 == 4)) {
if ((actor->unk_048 == 2) || (actor->unk_048 == 3) || (actor->unk_048 == 4)) {
RCP_SetupDL(&gMasterDisp, 0x21);
}
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
gSPDisplayList(gMasterDisp++, D_E6A810_801B7584[obj2F4->unk_048]);
gSPDisplayList(gMasterDisp++, D_E6A810_801B7584[actor->unk_048]);
break;
case 47:
gSPDisplayList(gMasterDisp++, D_E6A810_801B7608[obj2F4->unk_048]);
gSPDisplayList(gMasterDisp++, D_E6A810_801B7608[actor->unk_048]);
break;
case 48:
Graphics_SetScaleMtx(obj2F4->scale);
gSPDisplayList(gMasterDisp++, D_800CFB64[obj2F4->unk_048]);
Graphics_SetScaleMtx(actor->scale);
gSPDisplayList(gMasterDisp++, D_800CFB64[actor->unk_048]);
break;
case 49:
Graphics_SetScaleMtx(obj2F4->scale);
gSPDisplayList(gMasterDisp++, D_800CFB88[obj2F4->unk_048]);
Graphics_SetScaleMtx(actor->scale);
gSPDisplayList(gMasterDisp++, D_800CFB88[actor->unk_048]);
break;
case 50:
Graphics_SetScaleMtx(0.7f);
if (obj2F4->unk_054 == 1) {
if (actor->iwork[1] == 1) {
RCP_SetupDL(&gMasterDisp, 0x1E);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 0, 0, 255);
} else if (obj2F4->unk_054 == 2) {
} else if (actor->iwork[1] == 2) {
RCP_SetupDL(&gMasterDisp, 0x1E);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 0, 0, 255);
Graphics_SetScaleMtx(0.7f);
}
switch (obj2F4->unk_050) {
switch (actor->iwork[0]) {
case 0:
gSPDisplayList(gMasterDisp++, D_90234D0);
break;
@@ -359,94 +359,94 @@ void func_8005A094(Object_2F4* obj2F4) {
gSPDisplayList(gMasterDisp++, D_9010FD0);
break;
}
if (obj2F4->unk_054 != 0) {
if (actor->iwork[1] != 0) {
RCP_SetupDL(&gMasterDisp, 0x1D);
Graphics_SetScaleMtx(0.7f);
}
break;
case 51:
Graphics_SetScaleMtx(obj2F4->scale);
gSPDisplayList(gMasterDisp++, D_800CFBA8[obj2F4->unk_048]);
Graphics_SetScaleMtx(actor->scale);
gSPDisplayList(gMasterDisp++, D_800CFBA8[actor->unk_048]);
break;
case 52:
Graphics_SetScaleMtx(obj2F4->scale);
gSPDisplayList(gMasterDisp++, D_800CFBE4[obj2F4->unk_048]);
Graphics_SetScaleMtx(actor->scale);
gSPDisplayList(gMasterDisp++, D_800CFBE4[actor->unk_048]);
break;
case 53:
Graphics_SetScaleMtx(obj2F4->scale);
gSPDisplayList(gMasterDisp++, D_800CFC0C[obj2F4->unk_048]);
Graphics_SetScaleMtx(actor->scale);
gSPDisplayList(gMasterDisp++, D_800CFC0C[actor->unk_048]);
break;
case 54:
Graphics_SetScaleMtx(obj2F4->scale);
gSPDisplayList(gMasterDisp++, D_800CFC40[obj2F4->unk_048]);
Graphics_SetScaleMtx(actor->scale);
gSPDisplayList(gMasterDisp++, D_800CFC40[actor->unk_048]);
break;
case 55:
Graphics_SetScaleMtx(obj2F4->scale);
gSPDisplayList(gMasterDisp++, D_800CFC50[obj2F4->unk_048]);
Graphics_SetScaleMtx(actor->scale);
gSPDisplayList(gMasterDisp++, D_800CFC50[actor->unk_048]);
break;
case 56:
Graphics_SetScaleMtx(obj2F4->scale);
Graphics_SetScaleMtx(actor->scale);
RCP_SetupDL(&gMasterDisp, 0x29);
Matrix_SetGfxMtx(&gMasterDisp);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 191, 255, 223, 255);
gSPDisplayList(gMasterDisp++, D_800CFC64[obj2F4->unk_048]);
gSPDisplayList(gMasterDisp++, D_800CFC64[actor->unk_048]);
break;
case 58:
Graphics_SetScaleMtx(obj2F4->scale);
Graphics_SetScaleMtx(actor->scale);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_60148B0);
break;
case 59:
Graphics_SetScaleMtx(obj2F4->scale);
Graphics_SetScaleMtx(actor->scale);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_800CFC7C[obj2F4->unk_048]);
gSPDisplayList(gMasterDisp++, D_800CFC7C[actor->unk_048]);
break;
case 70:
gSPDisplayList(gMasterDisp++, D_10177C0);
break;
case 57:
gSPDisplayList(gMasterDisp++, D_DF4260_8019A008[obj2F4->unk_048]);
gSPDisplayList(gMasterDisp++, D_DF4260_8019A008[actor->unk_048]);
break;
default:
if (obj2F4->unk_0B8 > 9) { // part of switch tree somehow?
if (obj2F4->unk_0B8 == 0x24) {
if (actor->unk_0B8 > 9) { // part of switch tree somehow?
if (actor->unk_0B8 == 0x24) {
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
}
gSPDisplayList(gMasterDisp++, D_800CFA54[obj2F4->unk_0B8 - 10]);
gSPDisplayList(gMasterDisp++, D_800CFA54[actor->unk_0B8 - 10]);
}
break;
}
}
void func_8005ADAC(Object_2F4* obj2F4) {
void func_8005ADAC(Actor* actor) {
f32 sp5C;
f32 temp1;
f32 sp54;
s32 pad[5]; // fake? seems like a lot of padding
if ((obj2F4->unk_07C != 0) && (obj2F4->obj.status == 2)) {
if ((actor->iwork[11] != 0) && (actor->obj.status == 2)) {
temp1 = 652.5f * 0.001f; // 0.65250003f;
if (obj2F4->unk_07C >= 2) {
if (actor->iwork[11] >= 2) {
temp1 = 1.3050001f;
}
Math_SmoothStepToF(&obj2F4->unk_188, temp1, 0.3f, 5.0f, 0.0f);
sp5C = obj2F4->unk_188;
Math_SmoothStepToF(&actor->fwork[29], temp1, 0.3f, 5.0f, 0.0f);
sp5C = actor->fwork[29];
if (gFrameCount & 1) {
sp5C *= 1.111f;
}
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
Matrix_Scale(gGfxMatrix, sp5C, sp5C * 0.7f, sp5C, 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 * M_DTOR, 1);
Matrix_RotateZ(gGfxMatrix, -actor->obj.rot.z * M_DTOR, 1);
Matrix_RotateX(gGfxMatrix, -actor->obj.rot.x * M_DTOR, 1);
Matrix_RotateY(gGfxMatrix, -actor->obj.rot.y * M_DTOR, 1);
Matrix_RotateY(gGfxMatrix, -gPlayer[gPlayerNum].unk_058, 1);
Matrix_RotateX(gGfxMatrix, gPlayer[gPlayerNum].unk_05C, 1);
Matrix_SetGfxMtx(&gMasterDisp);
func_8005465C(gLevelType);
Matrix_Pop(&gGfxMatrix);
}
sp5C = obj2F4->unk_168;
sp5C = actor->fwork[21];
if ((sp5C != 0.0f) && (gLevelType == LEVELTYPE_PLANET)) {
sp54 = 0.0f;
if (gFrameCount & 1) {
@@ -479,22 +479,22 @@ f32 D_800CFCA0[] = {
1.7f, 1.8f, 2.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f,
};
void func_8005B1E8(Object_2F4* obj2F4, s32 levelType) {
void func_8005B1E8(Actor* actor, s32 levelType) {
f32 scale;
if ((obj2F4->unk_07C != 0) && (obj2F4->obj.status == 2)) {
if ((actor->iwork[11] != 0) && (actor->obj.status == 2)) {
scale = 0.63f;
if (obj2F4->unk_07C >= 2) {
scale = D_800CFCA0[obj2F4->unk_07C - 2] * 0.45f;
if (actor->iwork[11] >= 2) {
scale = D_800CFCA0[actor->iwork[11] - 2] * 0.45f;
}
if (gFrameCount & 1) {
scale *= 1.2f;
}
Matrix_Push(&gGfxMatrix);
Matrix_Scale(gGfxMatrix, scale, scale, scale, 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 * M_DTOR, 1);
Matrix_RotateZ(gGfxMatrix, -actor->obj.rot.z * M_DTOR, 1);
Matrix_RotateX(gGfxMatrix, -actor->obj.rot.x * M_DTOR, 1);
Matrix_RotateY(gGfxMatrix, -actor->obj.rot.y * M_DTOR, 1);
Matrix_RotateY(gGfxMatrix, -gPlayer[gPlayerNum].unk_058, 1);
Matrix_SetGfxMtx(&gMasterDisp);
func_8005465C(levelType);
@@ -502,7 +502,7 @@ void func_8005B1E8(Object_2F4* obj2F4, s32 levelType) {
}
}
void func_8005B388(Object_2F4* obj2F4) {
void func_8005B388(Actor* actor) {
Vec3f sp3C = { 0.0f, 0.0f, 0.0f };
Vec3f sp30;
@@ -511,13 +511,13 @@ void func_8005B388(Object_2F4* obj2F4) {
(gPlayer[0].state_1C8 == PLAYERSTATE_1C8_0) || (gCurrentLevel == LEVEL_VENOM_ANDROSS) ||
(gCurrentLevel == LEVEL_VENOM_2) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7)) &&
(gCurrentLevel != LEVEL_MACBETH) && (gCurrentLevel != LEVEL_TITANIA)) {
if (obj2F4->obj.id == OBJ_2F4_195) {
if (actor->obj.id == OBJ_ACTOR_195) {
if (((gCurrentLevel == LEVEL_VENOM_2) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7) &&
(obj2F4->index == 10)) ||
(actor->index == 10)) ||
((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7) && (gPlayer[0].unk_1D0 >= 100) &&
(gCurrentLevel == LEVEL_KATINA) && (obj2F4->index == 1)) ||
(gCurrentLevel == LEVEL_KATINA) && (actor->index == 1)) ||
((gCurrentLevel == LEVEL_SECTOR_Y) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_0) &&
(obj2F4->unk_0B8 == 5))) {
(actor->unk_0B8 == 5))) {
D_80161630.rightState = gPlayer[0].wings.rightState;
D_80161630.leftState = gPlayer[0].wings.leftState;
} else {
@@ -526,16 +526,16 @@ void func_8005B388(Object_2F4* obj2F4) {
} else {
D_80161630.rightState = D_80161630.leftState = WINGSTATE_INTACT;
}
D_80161630.unk_04 = obj2F4->unk_150;
D_80161630.unk_0C = obj2F4->unk_154;
D_80161630.unk_08 = obj2F4->unk_17C;
D_80161630.unk_10 = obj2F4->unk_180;
D_80161630.unk_04 = actor->fwork[15];
D_80161630.unk_0C = actor->fwork[16];
D_80161630.unk_08 = actor->fwork[26];
D_80161630.unk_10 = actor->fwork[27];
D_80161630.unk_14 = D_80161630.unk_18 = D_80161630.unk_1C = D_80161630.unk_20 = D_80161630.unk_38 =
D_80161630.unk_24 = 0.0f;
D_80161630.unk_28 = obj2F4->unk_158;
D_80161630.unk_2C = obj2F4->unk_088;
D_80161630.unk_30 = obj2F4->unk_164;
D_80161630.unk_34 = obj2F4->unk_160;
D_80161630.unk_28 = actor->fwork[17];
D_80161630.unk_2C = actor->iwork[14];
D_80161630.unk_30 = actor->fwork[20];
D_80161630.unk_34 = actor->fwork[19];
if (gLevelType == LEVELTYPE_SPACE) {
D_80161630.unk_04 = D_80161630.unk_08 = D_80161630.unk_0C = D_80161630.unk_10 = 0.0f;
}
@@ -547,31 +547,31 @@ void func_8005B388(Object_2F4* obj2F4) {
} else {
gSPDisplayList(gMasterDisp++, D_4007870);
}
func_8005ADAC(obj2F4);
func_8005ADAC(actor);
}
void func_8005B6A4(Object_2F4* obj2F4) {
void func_8005B6A4(Actor* actor) {
Matrix_Scale(gGfxMatrix, 1.0f, 1.0f, 1.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_6024B60);
}
void func_8005B71C(Object_2F4* obj2F4) {
RCP_SetupDL_29(obj2F4->unk_046, gFogGreen, gFogBlue, gFogAlpha, obj2F4->unk_048, gFogFar);
void func_8005B71C(Actor* actor) {
RCP_SetupDL_29(actor->unk_046, gFogGreen, gFogBlue, gFogAlpha, actor->unk_048, gFogFar);
Matrix_Scale(gGfxMatrix, 0.5f, 0.5f, 0.5f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_6018C00);
}
void func_8005B7CC(Object_2F4* obj2F4) {
RCP_SetupDL_29(obj2F4->unk_046, gFogGreen, gFogBlue, gFogAlpha, obj2F4->unk_048, gFogFar);
void func_8005B7CC(Actor* actor) {
RCP_SetupDL_29(actor->unk_046, gFogGreen, gFogBlue, gFogAlpha, actor->unk_048, gFogFar);
gSPDisplayList(gMasterDisp++, D_6022920);
}
void func_8005B848(Object_2F4* obj2F4) {
void func_8005B848(Actor* actor) {
f32 scale;
switch (obj2F4->unk_0B4) {
switch (actor->unk_0B4) {
case 0:
gSPDisplayList(gMasterDisp++, D_1028230);
break;
@@ -588,19 +588,19 @@ void func_8005B848(Object_2F4* obj2F4) {
scale = 1.7f;
}
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, 1);
obj2F4->unk_07C = 1;
actor->iwork[11] = 1;
Matrix_Scale(gGfxMatrix, scale, scale, scale, 1);
func_8005B1E8(obj2F4, 2);
func_8005B1E8(actor, 2);
}
void func_8005B9A4(Object_2F4* obj2F4) {
void func_8005B9A4(Actor* actor) {
Matrix_Translate(gGfxMatrix, 0.0f, -124.0f, 0.0f, 1);
Animation_GetFrameData(&D_6029528, obj2F4->unk_0B6, obj2F4->unk_18C);
Animation_DrawSkeleton(1, D_6029674, obj2F4->unk_18C, NULL, NULL, obj2F4, &gIdentityMatrix);
Animation_GetFrameData(&D_6029528, actor->unk_0B6, actor->vwork);
Animation_DrawSkeleton(1, D_6029674, actor->vwork, NULL, NULL, actor, &gIdentityMatrix);
}
void func_8005BA30(Object_2F4* obj2F4) {
if (obj2F4->timer_0BC != 0) {
void func_8005BA30(Actor* actor) {
if (actor->timer_0BC != 0) {
RCP_SetupDL_27();
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 0, 0, 255);
}
@@ -629,10 +629,10 @@ void func_8005BAB4(ObjectId objId, s32 index) {
}
RCP_SetupDL(&gMasterDisp, 0x40);
break;
case OBJ_2F4_195:
case OBJ_2F4_198:
case OBJ_2F4_200:
switch (gObjects2F4[index].unk_0B4) {
case OBJ_ACTOR_195:
case OBJ_ACTOR_198:
case OBJ_ACTOR_200:
switch (gActors[index].unk_0B4) {
case 3:
Matrix_Scale(gGfxMatrix, 2.3f, 0.0f, 2.3f, 1);
Matrix_RotateX(gGfxMatrix, M_PI / 2.0f, 1);
@@ -643,7 +643,7 @@ void func_8005BAB4(ObjectId objId, s32 index) {
RCP_SetupDL(&gMasterDisp, 0x30);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 255);
gDPSetEnvColor(gMasterDisp++, 0, 0, 0, 255);
temp_fv0 = gObjects2F4[index].unk_150 * 3.0f;
temp_fv0 = gActors[index].fwork[15] * 3.0f;
Matrix_Scale(gGfxMatrix, temp_fv0, temp_fv0, temp_fv0, 1);
Matrix_RotateX(gGfxMatrix, -M_PI / 2.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
@@ -696,52 +696,52 @@ void func_8005BAB4(ObjectId objId, s32 index) {
break;
}
break;
case OBJ_2F4_192:
case OBJ_ACTOR_192:
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 150);
Matrix_Scale(gGfxMatrix, 0.4f, 0.4f, gObjects2F4[index].scale, 1);
Matrix_Scale(gGfxMatrix, 0.4f, 0.4f, gActors[index].scale, 1);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_6034B90);
break;
case OBJ_2F4_230:
case OBJ_ACTOR_230:
RCP_SetupDL_48();
RCP_SetupDL(&gMasterDisp, 0x45);
gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 255);
gDPSetEnvColor(gMasterDisp++, 0, 0, 0, 0);
Matrix_RotateX(gGfxMatrix, gObjects2F4[index].unk_114, 1);
Matrix_RotateZ(gGfxMatrix, gObjects2F4[index].unk_11C, 1);
Matrix_Scale(gGfxMatrix, gObjects2F4[index].scale, 1.0f, gObjects2F4[index].scale, 1);
Matrix_RotateX(gGfxMatrix, gActors[index].fwork[0], 1);
Matrix_RotateZ(gGfxMatrix, gActors[index].fwork[2], 1);
Matrix_Scale(gGfxMatrix, gActors[index].scale, 1.0f, gActors[index].scale, 1);
Matrix_RotateX(gGfxMatrix, -M_PI / 2.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_1024AC0);
break;
case OBJ_2F4_229:
case OBJ_ACTOR_229:
RCP_SetupDL(&gMasterDisp, 0x44);
gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 255);
gDPSetEnvColor(gMasterDisp++, 0, 0, 0, 0);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, 120.0f, 1);
Matrix_RotateX(gGfxMatrix, gObjects2F4[index].unk_118 * M_DTOR, 1);
Matrix_RotateZ(gGfxMatrix, gObjects2F4[index].unk_11C * M_DTOR, 1);
Matrix_RotateY(gGfxMatrix, gObjects2F4[index].obj.rot.y * M_DTOR, 1);
Matrix_RotateX(gGfxMatrix, gActors[index].fwork[1] * M_DTOR, 1);
Matrix_RotateZ(gGfxMatrix, gActors[index].fwork[2] * M_DTOR, 1);
Matrix_RotateY(gGfxMatrix, gActors[index].obj.rot.y * M_DTOR, 1);
Matrix_Scale(gGfxMatrix, 6.0f, 1.0f, 7.5f, 1);
Matrix_RotateX(gGfxMatrix, -M_PI / 2.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_1024AC0);
break;
case OBJ_2F4_231:
case OBJ_ACTOR_231:
RCP_SetupDL(&gMasterDisp, 0x45);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 255);
gDPSetEnvColor(gMasterDisp++, 0, 0, 0, 0);
Matrix_RotateX(gGfxMatrix, gObjects2F4[index].unk_118, 1);
Matrix_RotateZ(gGfxMatrix, gObjects2F4[index].unk_11C, 1);
Matrix_RotateX(gGfxMatrix, gActors[index].fwork[1], 1);
Matrix_RotateZ(gGfxMatrix, gActors[index].fwork[2], 1);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, 0.0f, 1);
Matrix_Scale(gGfxMatrix, 1.2f, 1.0f, 1.2f, 1);
Matrix_RotateX(gGfxMatrix, -M_PI / 2.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_1024AC0);
break;
case OBJ_2F4_215:
case OBJ_ACTOR_215:
RCP_SetupDL_48();
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 255);
gDPSetEnvColor(gMasterDisp++, 0, 0, 0, 255);
@@ -984,54 +984,54 @@ void Object_4C_Draw(Object_4C* obj4C, s32 arg1) {
}
}
void Object_2F4_Draw2(Object_2F4* obj2F4) {
void Actor_Draw2(Actor* actor) {
Vec3f sp34 = { 0.0f, 0.0f, 0.0f };
if (obj2F4->info.draw != NULL) {
switch (obj2F4->obj.id) {
case OBJ_2F4_194:
func_8006B74C(obj2F4);
if (actor->info.draw != NULL) {
switch (actor->obj.id) {
case OBJ_ACTOR_194:
func_8006B74C(actor);
return;
case OBJ_2F4_236:
func_E16C50_80190F08(obj2F4);
case OBJ_ACTOR_236:
func_E16C50_80190F08(actor);
return;
}
if ((obj2F4->obj.id == OBJ_2F4_200) && (obj2F4->unk_0B4 == 200)) {
func_8006B74C(obj2F4);
if ((actor->obj.id == OBJ_ACTOR_200) && (actor->unk_0B4 == 200)) {
func_8006B74C(actor);
} else {
if (obj2F4->info.unk_19 != 0) {
obj2F4->obj.pos.y += D_8017847C;
func_8005D008(&obj2F4->obj, obj2F4->info.drawType);
obj2F4->obj.pos.y -= D_8017847C;
} else if ((obj2F4->obj.id == OBJ_2F4_200) && (obj2F4->unk_0B4 != 31)) {
func_8005D3CC(&obj2F4->obj, obj2F4->unk_2E8.x, obj2F4->unk_2E8.y, obj2F4->unk_2E8.z + obj2F4->unk_0F4.z,
obj2F4->info.drawType);
if (actor->info.unk_19 != 0) {
actor->obj.pos.y += D_8017847C;
func_8005D008(&actor->obj, actor->info.drawType);
actor->obj.pos.y -= D_8017847C;
} else if ((actor->obj.id == OBJ_ACTOR_200) && (actor->unk_0B4 != 31)) {
func_8005D3CC(&actor->obj, actor->vwork[29].x, actor->vwork[29].y,
actor->vwork[29].z + actor->unk_0F4.z, actor->info.drawType);
} else {
func_8005D008(&obj2F4->obj, obj2F4->info.drawType);
func_8005D008(&actor->obj, actor->info.drawType);
}
if (obj2F4->info.drawType == 0) {
gSPDisplayList(gMasterDisp++, obj2F4->info.dList);
func_8005F1EC(&obj2F4->sfxPos);
if (actor->info.drawType == 0) {
gSPDisplayList(gMasterDisp++, actor->info.dList);
func_8005F1EC(&actor->sfxPos);
} else {
obj2F4->info.draw(&obj2F4->obj);
func_8005F1EC(&obj2F4->sfxPos);
if (((obj2F4->obj.id == OBJ_2F4_198) || ((obj2F4->obj.id == OBJ_2F4_203) && (obj2F4->unk_0B6 > 0))) &&
actor->info.draw(&actor->obj);
func_8005F1EC(&actor->sfxPos);
if (((actor->obj.id == OBJ_ACTOR_198) || ((actor->obj.id == OBJ_ACTOR_203) && (actor->unk_0B6 > 0))) &&
(D_80161410 > 0)) {
Matrix_MultVec3f(gGfxMatrix, &sp34, &D_80177E98[obj2F4->unk_0E4]);
Matrix_MultVec3f(gGfxMatrix, &sp34, &D_80177E98[actor->unk_0E4]);
}
}
if ((obj2F4->timer_0CA[0] != 0) && (D_80161410 > 0)) {
sp34.y += obj2F4->info.unk_1C;
if ((actor->timer_0CA[0] != 0) && (D_80161410 > 0)) {
sp34.y += actor->info.unk_1C;
Matrix_MultVec3f(gGfxMatrix, &sp34, &D_80161578[0]);
if (D_80161578[0].z > -200.0f) {
obj2F4->timer_0CA[0] = 0;
actor->timer_0CA[0] = 0;
}
}
}
}
}
void Object_2F4_Draw1(Object_2F4* obj2F4) {
void Actor_Draw1(Actor* actor) {
s32 var_v1;
Vec3f sp50 = { 0.0f, 0.0f, 0.0f };
f32 var_fa1;
@@ -1040,40 +1040,40 @@ void Object_2F4_Draw1(Object_2F4* obj2F4) {
f32 var_fv1;
D_801615EC = 0;
if (obj2F4->info.drawType == 2) {
if (actor->info.drawType == 2) {
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, D_80177D20, 1);
Matrix_Translate(gCalcMatrix, obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, 0);
Matrix_Translate(gCalcMatrix, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 0);
Matrix_Push(&gGfxMatrix);
Matrix_Mult(gGfxMatrix, gCalcMatrix, 1);
Matrix_MultVec3f(gGfxMatrix, &sp50, &D_801615E0);
Matrix_Pop(&gGfxMatrix);
var_fv0 = 0.0f;
var_fv1 = -12000.0f;
if ((obj2F4->obj.id == OBJ_2F4_197) && (obj2F4->unk_0E4 >= 100)) {
if ((actor->obj.id == OBJ_ACTOR_197) && (actor->unk_0E4 >= 100)) {
var_fv0 = 1000.0f;
var_fv1 = -25000.0f;
}
if ((var_fv0 > D_801615E0.z) && (D_801615E0.z > var_fv1)) {
if (fabsf(D_801615E0.x) < (fabsf(D_801615E0.z * 0.5f) + 500.0f)) {
if (fabsf(D_801615E0.y) < (fabsf(D_801615E0.z * 0.5f) + 500.0f)) {
Matrix_RotateY(gCalcMatrix, obj2F4->obj.rot.y * M_DTOR, 1);
Matrix_RotateX(gCalcMatrix, obj2F4->obj.rot.x * M_DTOR, 1);
Matrix_RotateZ(gCalcMatrix, obj2F4->obj.rot.z * M_DTOR, 1);
obj2F4->info.draw(&obj2F4->obj);
Matrix_RotateY(gCalcMatrix, actor->obj.rot.y * M_DTOR, 1);
Matrix_RotateX(gCalcMatrix, actor->obj.rot.x * M_DTOR, 1);
Matrix_RotateZ(gCalcMatrix, actor->obj.rot.z * M_DTOR, 1);
actor->info.draw(&actor->obj);
D_801615EC = 1;
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) && (obj2F4->obj.id == OBJ_2F4_197) &&
(obj2F4->unk_0E4 == 200)) {
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) && (actor->obj.id == OBJ_ACTOR_197) &&
(actor->unk_0E4 == 200)) {
D_80177E98[0] = D_801615E0;
}
}
}
}
} else {
Matrix_Translate(gGfxMatrix, obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, 1);
Matrix_Translate(gGfxMatrix, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 1);
Matrix_MultVec3f(gGfxMatrix, &sp50, &D_801615E0);
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_2) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_0) ||
((obj2F4->obj.id == OBJ_2F4_197) && (obj2F4->unk_0E4 >= 100)) ||
((obj2F4->obj.id == OBJ_2F4_195) && (obj2F4->info.bonus != 0))) {
((actor->obj.id == OBJ_ACTOR_197) && (actor->unk_0E4 >= 100)) ||
((actor->obj.id == OBJ_ACTOR_195) && (actor->info.bonus != 0))) {
var_ft5 = var_fv0 = 3000.0f;
var_fv1 = -29000.0f;
var_fa1 = 0.7f;
@@ -1086,18 +1086,18 @@ void Object_2F4_Draw1(Object_2F4* obj2F4) {
if ((var_fv0 > D_801615E0.z) && (D_801615E0.z > var_fv1)) {
if (fabsf(D_801615E0.x) < (fabsf(D_801615E0.z * var_fa1) + var_ft5)) {
if (fabsf(D_801615E0.y) < (fabsf(D_801615E0.z * var_fa1) + var_ft5)) {
if (obj2F4->info.draw != NULL) {
Matrix_RotateY(gGfxMatrix, obj2F4->obj.rot.y * M_DTOR, 1);
Matrix_RotateX(gGfxMatrix, obj2F4->obj.rot.x * M_DTOR, 1);
Matrix_RotateZ(gGfxMatrix, obj2F4->obj.rot.z * M_DTOR, 1);
if (actor->info.draw != NULL) {
Matrix_RotateY(gGfxMatrix, actor->obj.rot.y * M_DTOR, 1);
Matrix_RotateX(gGfxMatrix, actor->obj.rot.x * M_DTOR, 1);
Matrix_RotateZ(gGfxMatrix, actor->obj.rot.z * M_DTOR, 1);
Matrix_SetGfxMtx(&gMasterDisp);
obj2F4->info.draw(&obj2F4->obj);
actor->info.draw(&actor->obj);
D_801615EC = 1;
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) &&
(((obj2F4->obj.id == OBJ_2F4_197) &&
((obj2F4->unk_0E4 < 4) || (obj2F4->unk_0E4 == 8) || (obj2F4->unk_0E4 == 9))) ||
(obj2F4->obj.id == OBJ_2F4_198))) {
D_80177E98[obj2F4->unk_0E4] = D_801615E0;
(((actor->obj.id == OBJ_ACTOR_197) &&
((actor->unk_0E4 < 4) || (actor->unk_0E4 == 8) || (actor->unk_0E4 == 9))) ||
(actor->obj.id == OBJ_ACTOR_198))) {
D_80177E98[actor->unk_0E4] = D_801615E0;
}
}
}
@@ -1105,22 +1105,22 @@ void Object_2F4_Draw1(Object_2F4* obj2F4) {
}
}
if (D_801615EC == 0) {
obj2F4->timer_0CA[gPlayerNum] = 0;
if ((obj2F4->obj.id == OBJ_2F4_189) || (obj2F4->obj.id == OBJ_2F4_286)) {
Object_Kill(&obj2F4->obj, &obj2F4->sfxPos);
actor->timer_0CA[gPlayerNum] = 0;
if ((actor->obj.id == OBJ_ACTOR_189) || (actor->obj.id == OBJ_ACTOR_286)) {
Object_Kill(&actor->obj, &actor->sfxPos);
}
}
for (var_v1 = 0; var_v1 < gCamCount; var_v1++) {
if (obj2F4->timer_0CA[var_v1] != 0) {
if (actor->timer_0CA[var_v1] != 0) {
D_80161578[var_v1] = D_801615E0;
D_80161578[var_v1].y += obj2F4->info.unk_1C;
D_80161578[var_v1].y += actor->info.unk_1C;
if ((var_v1 == gPlayerNum) && (D_80161578[var_v1].z > -300.0f)) {
obj2F4->timer_0CA[var_v1] = 0;
actor->timer_0CA[var_v1] = 0;
}
}
}
func_8005F290(&obj2F4->sfxPos, &D_801615E0);
obj2F4->unk_0B0 = D_801615EC;
func_8005F290(&actor->sfxPos, &D_801615E0);
actor->iwork[24] = D_801615EC;
}
void Boss_Draw(Boss* boss, s32 arg1) {
@@ -1274,29 +1274,29 @@ void Item_Draw(Item* item, s32 arg1) {
}
}
void func_8005EA24(Object_2F4* obj2F4) {
Matrix_Translate(gGfxMatrix, obj2F4->obj.pos.x, obj2F4->unk_178 + 3.0f, obj2F4->obj.pos.z, 1);
void func_8005EA24(Actor* actor) {
Matrix_Translate(gGfxMatrix, actor->obj.pos.x, actor->fwork[25] + 3.0f, actor->obj.pos.z, 1);
if (gCurrentLevel == LEVEL_FORTUNA) {
Matrix_RotateY(gGfxMatrix, obj2F4->unk_180, 1);
Matrix_RotateX(gGfxMatrix, obj2F4->unk_17C, 1);
Matrix_RotateZ(gGfxMatrix, obj2F4->unk_184, 1);
Matrix_RotateY(gGfxMatrix, -obj2F4->unk_180, 1);
Matrix_RotateY(gGfxMatrix, actor->fwork[27], 1);
Matrix_RotateX(gGfxMatrix, actor->fwork[26], 1);
Matrix_RotateZ(gGfxMatrix, actor->fwork[28], 1);
Matrix_RotateY(gGfxMatrix, -actor->fwork[27], 1);
}
Matrix_Scale(gGfxMatrix, 1.4f, 0.0f, 1.4f, 1);
Matrix_RotateY(gGfxMatrix, (obj2F4->obj.rot.y + 180.0f) * M_DTOR, 1);
Matrix_RotateZ(gGfxMatrix, obj2F4->obj.rot.z * M_DTOR, 1);
Matrix_RotateY(gGfxMatrix, (actor->obj.rot.y + 180.0f) * M_DTOR, 1);
Matrix_RotateZ(gGfxMatrix, actor->obj.rot.z * M_DTOR, 1);
Matrix_SetGfxMtx(&gMasterDisp);
if (obj2F4->unk_0E4 < 4) {
if (actor->unk_0E4 < 4) {
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, 30.0f, 1);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_1032780);
} else if (gCurrentLevel == LEVEL_KATINA) {
if ((obj2F4->unk_0B6 == 1) || (obj2F4->unk_0B6 == 2)) {
if ((actor->unk_0B6 == 1) || (actor->unk_0B6 == 2)) {
gSPDisplayList(gMasterDisp++, D_600D730);
} else {
gSPDisplayList(gMasterDisp++, D_600DBC0);
}
} else if ((obj2F4->unk_0E4 < 8) || (gCurrentLevel != LEVEL_FORTUNA)) {
} else if ((actor->unk_0E4 < 8) || (gCurrentLevel != LEVEL_FORTUNA)) {
gSPDisplayList(gMasterDisp++, D_F014310);
} else if (gCurrentLevel == LEVEL_FORTUNA) {
gSPDisplayList(gMasterDisp++, D_6009F90);
@@ -1308,17 +1308,17 @@ void func_8005EA24(Object_2F4* obj2F4) {
void func_8005ECD8(s32 index, Object* obj) {
RCP_SetupDL(&gMasterDisp, 0x42);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 0, 0, 0, 180);
if (obj->id == OBJ_2F4_197) {
func_8005EA24(&gObjects2F4[index]);
if (obj->id == OBJ_ACTOR_197) {
func_8005EA24(&gActors[index]);
} else {
switch (obj->id) {
case OBJ_2F4_230:
Matrix_Translate(gGfxMatrix, obj->pos.x, D_80177940 + 2.0f + gObjects2F4[index].unk_118,
case OBJ_ACTOR_230:
Matrix_Translate(gGfxMatrix, obj->pos.x, D_80177940 + 2.0f + gActors[index].fwork[1],
obj->pos.z + D_80177D20, 1);
break;
case OBJ_2F4_229:
case OBJ_2F4_231:
Matrix_Translate(gGfxMatrix, obj->pos.x, D_80177940 + 2.0f + gObjects2F4[index].unk_114,
case OBJ_ACTOR_229:
case OBJ_ACTOR_231:
Matrix_Translate(gGfxMatrix, obj->pos.x, D_80177940 + 2.0f + gActors[index].fwork[0],
obj->pos.z + D_80177D20, 1);
break;
case OBJ_BOSS_316:
@@ -1328,12 +1328,13 @@ void func_8005ECD8(s32 index, Object* obj) {
Matrix_Translate(gGfxMatrix, obj->pos.x, D_80177940 + 2.0f, obj->pos.z + D_80177D20, 1);
break;
}
if ((D_801784AC != 4) || (obj->id == OBJ_2F4_200) || (obj->id == OBJ_2F4_195) || (obj->id == OBJ_2F4_198)) {
if ((D_801784AC != 4) || (obj->id == OBJ_ACTOR_200) || (obj->id == OBJ_ACTOR_195) ||
(obj->id == OBJ_ACTOR_198)) {
Matrix_Scale(gGfxMatrix, 1.0f, 0.0f, 1.0f, 1);
Matrix_RotateY(gGfxMatrix, obj->rot.y * M_DTOR, 1);
}
if ((obj->id < OBJ_BOSS_292) && (obj->id != OBJ_2F4_230) && (obj->id != OBJ_2F4_229) &&
(obj->id != OBJ_2F4_231)) {
if ((obj->id < OBJ_BOSS_292) && (obj->id != OBJ_ACTOR_230) && (obj->id != OBJ_ACTOR_229) &&
(obj->id != OBJ_ACTOR_231)) {
Matrix_RotateX(gGfxMatrix, obj->rot.x * M_DTOR, 1);
Matrix_RotateZ(gGfxMatrix, obj->rot.z * M_DTOR, 1);
}
@@ -1536,7 +1537,7 @@ void Object_DrawAll(s32 arg0) {
Vec3f spAC;
s32 i;
s32 pad[5]; // probably separate iterators for each loop
Object_2F4* obj2F4;
Actor* actor;
Boss* boss;
Object_4C* obj4C;
Object_58* obj58;
@@ -1609,9 +1610,9 @@ void Object_DrawAll(s32 arg0) {
Matrix_Pop(&gGfxMatrix);
}
}
for (i = 0, obj2F4 = gObjects2F4; i < ARRAY_COUNT(gObjects2F4); i++, obj2F4++) {
if (obj2F4->obj.status >= 2) {
if (!(obj2F4->timer_0C6 & 1)) {
for (i = 0, actor = gActors; i < ARRAY_COUNT(gActors); i++, actor++) {
if (actor->obj.status >= 2) {
if (!(actor->timer_0C6 & 1)) {
if (gCurrentLevel == LEVEL_UNK_15) {
RCP_SetupDL_23();
} else {
@@ -1619,7 +1620,7 @@ void Object_DrawAll(s32 arg0) {
}
} else {
RCP_SetupDL_27();
if (obj2F4->scale >= 0.0f) {
if (actor->scale >= 0.0f) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 0, 0, 255);
} else {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 64, 64, 255, 255);
@@ -1631,25 +1632,25 @@ void Object_DrawAll(s32 arg0) {
Matrix_Push(&gGfxMatrix);
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_2) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7) ||
(gCurrentLevel == LEVEL_AQUAS)) {
func_8005F670(&obj2F4->obj.pos);
func_8005F670(&actor->obj.pos);
}
func_800597C0(arg0);
Object_2F4_Draw2(obj2F4);
Actor_Draw2(actor);
Matrix_Pop(&gGfxMatrix);
if (obj2F4->unk_0C9 != 0) {
if (actor->unk_0C9 != 0) {
Matrix_Push(&gGfxMatrix);
func_8005ECD8(i, &obj2F4->obj);
func_8005ECD8(i, &actor->obj);
Matrix_Pop(&gGfxMatrix);
}
break;
case LEVELMODE_ALL_RANGE:
Matrix_Push(&gGfxMatrix);
Object_2F4_Draw1(obj2F4);
Actor_Draw1(actor);
Matrix_Pop(&gGfxMatrix);
if ((obj2F4->unk_0C9 != 0) && (D_801615EC != 0) &&
if ((actor->unk_0C9 != 0) && (D_801615EC != 0) &&
((D_801615E0.z > -4000.0f) || (gCurrentLevel != LEVEL_KATINA))) {
Matrix_Push(&gGfxMatrix);
func_8005ECD8(i, &obj2F4->obj);
func_8005ECD8(i, &actor->obj);
Matrix_Pop(&gGfxMatrix);
}
break;
+15 -15
View File
@@ -532,9 +532,9 @@ void func_80078D60(Effect* effect, f32 posX, f32 posY, f32 posZ, f32 scale2) {
effect->scale2 = scale2;
if (scale2 == 3.1f) {
effect->vel.x = gObjects2F4[8].vel.x;
effect->vel.y = gObjects2F4[8].vel.y;
effect->vel.z = gObjects2F4[8].vel.z;
effect->vel.x = gActors[8].vel.x;
effect->vel.y = gActors[8].vel.y;
effect->vel.z = gActors[8].vel.z;
}
if (scale2 != 30.0f) {
effect->unk_4E = 1;
@@ -2842,22 +2842,22 @@ void func_8007FBE0(Effect* effect) {
bool func_8007FD84(Effect* effect) {
s32 i;
Object_2F4* obj2F4;
Actor* actor;
for (i = 1; i < ARRAY_COUNT(D_800CFF80); i++) {
obj2F4 = &gObjects2F4[D_800CFF80[i]];
if (obj2F4->obj.status == 2) {
if ((obj2F4->unk_080 > 0) && (obj2F4->unk_080 < 6) &&
(fabsf(obj2F4->obj.pos.z - effect->obj.pos.z) < 100.0f) &&
(fabsf(obj2F4->obj.pos.x - effect->obj.pos.x) < 100.0f) &&
(fabsf(obj2F4->obj.pos.y - effect->obj.pos.y) < 100.0f)) {
obj2F4->unk_0D0 = 1;
obj2F4->unk_0D2 = 0;
obj2F4->unk_0D6 = 10;
actor = &gActors[D_800CFF80[i]];
if (actor->obj.status == 2) {
if ((actor->iwork[12] > 0) && (actor->iwork[12] < 6) &&
(fabsf(actor->obj.pos.z - effect->obj.pos.z) < 100.0f) &&
(fabsf(actor->obj.pos.x - effect->obj.pos.x) < 100.0f) &&
(fabsf(actor->obj.pos.y - effect->obj.pos.y) < 100.0f)) {
actor->unk_0D0 = 1;
actor->unk_0D2 = 0;
actor->unk_0D6 = 10;
if (effect->obj.id == OBJ_EFFECT_354) {
obj2F4->unk_0D6 = 30;
actor->unk_0D6 = 30;
}
obj2F4->unk_0D4 = 100;
actor->unk_0D4 = 100;
return true;
}
}
+567 -571
View File
File diff suppressed because it is too large Load Diff
+1610 -1635
View File
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -539,21 +539,21 @@ void func_800A26C0(void) {
}
}
Object_2F4* func_800A3608(s32 arg0) {
Object_2F4* obj2F4 = gObjects2F4;
Actor* func_800A3608(s32 arg0) {
Actor* actor = gActors;
s32 i;
for (i = 0; i < ARRAY_COUNT(gObjects2F4); i++, obj2F4++) {
if (obj2F4->obj.status == 0) {
Object_2F4_Initialize(obj2F4);
obj2F4->obj.status = 1;
obj2F4->obj.id = arg0;
Object_SetInfo(&obj2F4->info, obj2F4->obj.id);
for (i = 0; i < ARRAY_COUNT(gActors); i++, actor++) {
if (actor->obj.status == 0) {
Actor_Initialize(actor);
actor->obj.status = 1;
actor->obj.id = arg0;
Object_SetInfo(&actor->info, actor->obj.id);
break;
}
}
if (i == ARRAY_COUNT(gObjects2F4)) {
obj2F4 = NULL;
if (i == ARRAY_COUNT(gActors)) {
actor = NULL;
}
return obj2F4;
return actor;
}
+96 -98
View File
@@ -609,9 +609,9 @@ void func_800A6148(void) {
for (i = 0; i < ARRAY_COUNT(gObjects4C); i++) {
Object_4C_Initialize(&gObjects4C[i]);
}
for (i = 0; i < ARRAY_COUNT(gObjects2F4); i++) {
Object_Kill(&gObjects2F4[i].obj, &gObjects2F4[i].sfxPos);
Object_2F4_Initialize(&gObjects2F4[i]);
for (i = 0; i < ARRAY_COUNT(gActors); i++) {
Object_Kill(&gActors[i].obj, &gActors[i].sfxPos);
Actor_Initialize(&gActors[i]);
}
for (i = 0; i < ARRAY_COUNT(gBosses); i++) {
Object_Kill(&gBosses[i].obj, &gBosses[i].sfxPos);
@@ -688,57 +688,57 @@ void func_800A668C(f32 xPos, f32 yPos, f32 zPos) {
}
}
void func_800A670C(Object_2F4* obj2F4, s32 arg1, f32 arg2, f32 arg3, f32 arg4) {
Object_2F4_Initialize(obj2F4);
obj2F4->obj.status = 1;
obj2F4->obj.id = OBJ_2F4_189;
obj2F4->unk_0B8 = arg1;
obj2F4->obj.pos.x = arg2;
obj2F4->obj.pos.y = arg3;
obj2F4->obj.pos.z = arg4;
obj2F4->gravity = 0.5f;
void func_800A670C(Actor* actor, s32 arg1, f32 arg2, f32 arg3, f32 arg4) {
Actor_Initialize(actor);
actor->obj.status = 1;
actor->obj.id = OBJ_ACTOR_189;
actor->unk_0B8 = arg1;
actor->obj.pos.x = arg2;
actor->obj.pos.y = arg3;
actor->obj.pos.z = arg4;
actor->gravity = 0.5f;
if ((arg1 == 0) || (arg1 == 1)) {
obj2F4->vel.y = (Rand_ZeroOne() * 5.0f) + 10.0f;
obj2F4->vel.x = 10.0f;
actor->vel.y = (Rand_ZeroOne() * 5.0f) + 10.0f;
actor->vel.x = 10.0f;
if (arg1 == 0) {
obj2F4->vel.x = -10.0f;
actor->vel.x = -10.0f;
}
obj2F4->timer_0BC = 15;
actor->timer_0BC = 15;
} else {
if (gLevelType == LEVELTYPE_PLANET) {
obj2F4->vel.y = (Rand_ZeroOne() * 7.0f) + 7.0f;
obj2F4->vel.x = (Rand_ZeroOne() - 0.5f) * 10.0f;
obj2F4->vel.z = (Rand_ZeroOne() * 5.0f) + 5.0f;
actor->vel.y = (Rand_ZeroOne() * 7.0f) + 7.0f;
actor->vel.x = (Rand_ZeroOne() - 0.5f) * 10.0f;
actor->vel.z = (Rand_ZeroOne() * 5.0f) + 5.0f;
if (gLevelMode == LEVELMODE_ALL_RANGE) {
obj2F4->vel.z = (Rand_ZeroOne() - 0.5f) * 10.0f;
actor->vel.z = (Rand_ZeroOne() - 0.5f) * 10.0f;
}
obj2F4->timer_0BC = (s32) (Rand_ZeroOne() * 10.0f) + 10;
actor->timer_0BC = (s32) (Rand_ZeroOne() * 10.0f) + 10;
} else {
obj2F4->vel.x = (Rand_ZeroOne() - 0.5f) * 10.0f;
obj2F4->vel.y = (Rand_ZeroOne() - 0.5f) * 10.0f;
obj2F4->vel.z = (Rand_ZeroOne() - 0.5f) * 10.0f;
obj2F4->timer_0BC = (s32) (Rand_ZeroOne() * 25.0f) + 25;
obj2F4->gravity = 0.0f;
actor->vel.x = (Rand_ZeroOne() - 0.5f) * 10.0f;
actor->vel.y = (Rand_ZeroOne() - 0.5f) * 10.0f;
actor->vel.z = (Rand_ZeroOne() - 0.5f) * 10.0f;
actor->timer_0BC = (s32) (Rand_ZeroOne() * 25.0f) + 25;
actor->gravity = 0.0f;
}
if (arg1 == 2) {
obj2F4->scale = (Rand_ZeroOne() * 1.5f) + 0.75f;
actor->scale = (Rand_ZeroOne() * 1.5f) + 0.75f;
} else if (arg1 == 4) {
obj2F4->scale = (Rand_ZeroOne() * 0.8f) + 0.3f;
obj2F4->timer_0BC = (s32) (Rand_ZeroOne() * 50.0f) + 70;
actor->scale = (Rand_ZeroOne() * 0.8f) + 0.3f;
actor->timer_0BC = (s32) (Rand_ZeroOne() * 50.0f) + 70;
}
obj2F4->obj.rot.x = Rand_ZeroOne() * 360.0f;
actor->obj.rot.x = Rand_ZeroOne() * 360.0f;
}
Object_SetInfo(&obj2F4->info, obj2F4->obj.id);
Object_SetInfo(&actor->info, actor->obj.id);
}
void func_800A69F8(s32 arg0, f32 arg1, f32 arg2, f32 arg3) {
s32 i;
if (!gVersusMode) {
for (i = ARRAY_COUNT(gObjects2F4) - 1; i >= 10; i--) {
if (gObjects2F4[i].obj.status == 0) {
func_800A670C(&gObjects2F4[i], arg0, arg1, arg2, arg3);
for (i = ARRAY_COUNT(gActors) - 1; i >= 10; i--) {
if (gActors[i].obj.status == 0) {
func_800A670C(&gActors[i], arg0, arg1, arg2, arg3);
break;
}
}
@@ -1177,7 +1177,7 @@ bool func_800A8054(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 a
useCol2 = false;
switch (objId) {
case OBJ_2F4_180:
case OBJ_ACTOR_180:
colId = COL1_0;
break;
case OBJ_80_4:
@@ -1512,14 +1512,14 @@ void func_800A8BA4(Player* player) {
Vec3f spfD4;
Vec3f spC8;
Vec3f spBC;
f32 padB8; // B8
Object_2F4* obj2F4; // B4
f32 padB0; // B0
Boss* boss; // AC
Object_4C* obj4C; // A8
s32 pad; // A4
Object_80* obj80; // A0
Player* opponent; // 9C
f32 padB8; // B8
Actor* actor; // B4
f32 padB0; // B0
Boss* boss; // AC
Object_4C* obj4C; // A8
s32 pad; // A4
Object_80* obj80; // A0
Player* opponent; // 9C
s32 sp98;
f32 sp94;
s32 sp90;
@@ -1841,40 +1841,39 @@ void func_800A8BA4(Player* player) {
}
}
}
for (i = 0, obj2F4 = gObjects2F4; i < ARRAY_COUNT(gObjects2F4); i++, obj2F4++) {
if ((obj2F4->obj.status == 2) && (obj2F4->timer_0C2 == 0)) {
if (obj2F4->obj.id == OBJ_2F4_180) {
temp_v0 = func_800A8304(player, obj2F4->obj.id, obj2F4->obj.pos.x, obj2F4->obj.pos.y,
obj2F4->obj.pos.z, obj2F4->obj.rot.x, obj2F4->obj.rot.y, obj2F4->obj.rot.z);
for (i = 0, actor = gActors; i < ARRAY_COUNT(gActors); i++, actor++) {
if ((actor->obj.status == 2) && (actor->timer_0C2 == 0)) {
if (actor->obj.id == OBJ_ACTOR_180) {
temp_v0 = func_800A8304(player, actor->obj.id, actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z,
actor->obj.rot.x, actor->obj.rot.y, actor->obj.rot.z);
if (temp_v0 != 0) {
Player_ApplyDamage(player, temp_v0, obj2F4->info.damage);
Player_ApplyDamage(player, temp_v0, actor->info.damage);
}
} else if (obj2F4->obj.id == OBJ_2F4_200) {
if (obj2F4->unk_0B4 == 42) {
temp_v0 =
func_800A8304(player, OBJ_UNK_1000, obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z,
obj2F4->obj.rot.x, obj2F4->obj.rot.y, obj2F4->obj.rot.z);
} else if (actor->obj.id == OBJ_ACTOR_200) {
if (actor->unk_0B4 == 42) {
temp_v0 = func_800A8304(player, OBJ_UNK_1000, actor->obj.pos.x, actor->obj.pos.y,
actor->obj.pos.z, actor->obj.rot.x, actor->obj.rot.y, actor->obj.rot.z);
if (temp_v0 != 0) {
Player_ApplyDamage(player, temp_v0, obj2F4->info.damage);
Player_ApplyDamage(player, temp_v0, actor->info.damage);
}
} else if (obj2F4->unk_0B4 == 63) {
spfD4.x = fabsf(obj2F4->obj.pos.x - player->pos.x);
spfD4.y = fabsf(obj2F4->obj.pos.y - player->pos.y);
spfD4.z = fabsf(obj2F4->obj.pos.z - player->unk_138);
} else if (actor->unk_0B4 == 63) {
spfD4.x = fabsf(actor->obj.pos.x - player->pos.x);
spfD4.y = fabsf(actor->obj.pos.y - player->pos.y);
spfD4.z = fabsf(actor->obj.pos.z - player->unk_138);
if (sqrtf(VEC3F_SQ(spfD4)) < 900.0f) {
Player_ApplyDamage(player, 0, obj2F4->info.damage);
obj2F4->unk_0D0 = 3;
Player_ApplyDamage(player, 0, actor->info.damage);
actor->unk_0D0 = 3;
}
} else {
temp_v0 =
func_800A7974(player, obj2F4->info.hitbox, &sp98, obj2F4->obj.pos.x, obj2F4->obj.pos.y,
obj2F4->obj.pos.z, obj2F4->obj.rot.x, obj2F4->obj.rot.y, obj2F4->obj.rot.z,
obj2F4->unk_2E8.x, obj2F4->unk_2E8.y, obj2F4->unk_2E8.z + obj2F4->unk_0F4.z);
temp_v0 = func_800A7974(player, actor->info.hitbox, &sp98, actor->obj.pos.x, actor->obj.pos.y,
actor->obj.pos.z, actor->obj.rot.x, actor->obj.rot.y, actor->obj.rot.z,
actor->vwork[29].x, actor->vwork[29].y,
actor->vwork[29].z + actor->unk_0F4.z);
if (temp_v0 != 0) {
if ((temp_v0 < 0) && (obj2F4->unk_0B4 == 38)) {
obj2F4->info.hitbox = SEGMENTED_TO_VIRTUAL(D_6032328);
if ((temp_v0 < 0) && (actor->unk_0B4 == 38)) {
actor->info.hitbox = SEGMENTED_TO_VIRTUAL(D_6032328);
if (D_80177E80 >= 0) {
obj2F4->unk_046 = 2;
actor->unk_046 = 2;
D_80177E80++;
if (D_80177E80 == 3) {
func_800BA808(gMsg_ID_5504, RCID_FALCO);
@@ -1885,57 +1884,56 @@ void func_800A8BA4(Player* player) {
}
} else if (temp_v0 < 0) {
if (player->unk_22C == 0) {
Audio_PlaySfx(0x19000001, &obj2F4->sfxPos, 0, &D_800C5D34, &D_800C5D34,
&D_800C5D3C);
Audio_PlaySfx(0x19000001, &actor->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
player->unk_22C += 2;
if (player->unk_22C >= 4) {
player->unk_22C = 4;
}
} else {
Player_ApplyDamage(player, temp_v0, obj2F4->info.damage);
obj2F4->unk_0D0 = 3;
obj2F4->unk_0D4 = player->num + 1;
Player_ApplyDamage(player, temp_v0, actor->info.damage);
actor->unk_0D0 = 3;
actor->unk_0D4 = player->num + 1;
}
}
}
} else if ((obj2F4->obj.id >= OBJ_2F4_205) && (obj2F4->obj.id < OBJ_2F4_214)) {
temp_v0 = func_800A7974(player, obj2F4->info.hitbox, &sp98, obj2F4->unk_178 + obj2F4->obj.pos.x,
obj2F4->unk_134 + obj2F4->obj.pos.y + 25.0f, obj2F4->obj.pos.z,
obj2F4->unk_188, obj2F4->unk_17C, obj2F4->obj.rot.z, 0.0f, 0.0f, 0.0f);
} else if ((actor->obj.id >= OBJ_ACTOR_205) && (actor->obj.id < OBJ_ACTOR_214)) {
temp_v0 = func_800A7974(player, actor->info.hitbox, &sp98, actor->fwork[25] + actor->obj.pos.x,
actor->fwork[8] + actor->obj.pos.y + 25.0f, actor->obj.pos.z,
actor->fwork[29], actor->fwork[26], actor->obj.rot.z, 0.0f, 0.0f, 0.0f);
if (temp_v0 != 0) {
obj2F4->unk_0D0 = 3;
if (obj2F4->info.damage) {
Player_ApplyDamage(player, temp_v0, obj2F4->info.damage);
actor->unk_0D0 = 3;
if (actor->info.damage) {
Player_ApplyDamage(player, temp_v0, actor->info.damage);
} else {
obj2F4->unk_0D0 = -1;
actor->unk_0D0 = -1;
}
}
} else {
temp_v0 = func_800A7974(player, obj2F4->info.hitbox, &sp98, obj2F4->obj.pos.x, obj2F4->obj.pos.y,
obj2F4->obj.pos.z, obj2F4->obj.rot.x, obj2F4->obj.rot.y, obj2F4->obj.rot.z,
temp_v0 = func_800A7974(player, actor->info.hitbox, &sp98, actor->obj.pos.x, actor->obj.pos.y,
actor->obj.pos.z, actor->obj.rot.x, actor->obj.rot.y, actor->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, &obj2F4->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
Audio_PlaySfx(0x19000001, &actor->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
player->unk_22C += 2;
if (player->unk_22C >= 4) {
player->unk_22C = 4;
}
} else {
obj2F4->unk_0D0 = 3;
if (obj2F4->obj.id == OBJ_2F4_190) {
obj2F4->unk_0D0 = -1;
actor->unk_0D0 = 3;
if (actor->obj.id == OBJ_ACTOR_190) {
actor->unk_0D0 = -1;
}
if (obj2F4->info.damage) {
Player_ApplyDamage(player, temp_v0, obj2F4->info.damage);
if (obj2F4->obj.id == OBJ_2F4_225) {
if (actor->info.damage) {
Player_ApplyDamage(player, temp_v0, actor->info.damage);
if (actor->obj.id == OBJ_ACTOR_225) {
player->unk_0D8.y = 0.0f;
}
} else {
obj2F4->unk_0D0 = -1;
actor->unk_0D0 = -1;
}
}
}
@@ -2886,11 +2884,11 @@ void func_800AD094(Player* player) {
}
bool func_800AD118(s32 playerNum) {
Object_2F4* obj2F4;
Actor* actor;
s32 i;
for (i = 0, obj2F4 = gObjects2F4; i < ARRAY_COUNT(gObjects2F4); i++, obj2F4++) {
if ((obj2F4->obj.status == 2) && (obj2F4->timer_0CA[playerNum] != 0)) {
for (i = 0, actor = gActors; i < ARRAY_COUNT(gActors); i++, actor++) {
if ((actor->obj.status == 2) && (actor->timer_0CA[playerNum] != 0)) {
return false;
}
}
@@ -2941,8 +2939,8 @@ bool func_800AD1F4(Player* player) {
}
if (gInputPress->button & A_BUTTON) {
for (i = 0; i < ARRAY_COUNT(gObjects2F4); i++) {
if ((gObjects2F4[i].obj.status == 2) && (gObjects2F4[i].timer_0CA[player->num] != 0)) {
for (i = 0; i < ARRAY_COUNT(gActors); i++) {
if ((gActors[i].obj.status == 2) && (gActors[i].timer_0CA[player->num] != 0)) {
if ((gPlayerShots[14 - player->num].obj.status == 0) ||
(gPlayerShots[14 - player->num].obj.id != PLAYERSHOT_8) ||
((gPlayerShots[14 - player->num].obj.id == PLAYERSHOT_8) &&
@@ -2979,8 +2977,8 @@ bool func_800AD1F4(Player* player) {
}
if (gInputPress->button & B_BUTTON) {
var_a2 = false;
for (i = 0; i < ARRAY_COUNT(gObjects2F4); i++) {
if ((gObjects2F4[i].obj.status == 2) && (gObjects2F4[i].timer_0CA[player->num] != 0)) {
for (i = 0; i < ARRAY_COUNT(gActors); i++) {
if ((gActors[i].obj.status == 2) && (gActors[i].timer_0CA[player->num] != 0)) {
var_a2 = true;
break;
}
+3 -4
View File
@@ -718,15 +718,14 @@ void func_800BB5D0(void) {
break;
}
if ((gObjects2F4[var_v1].obj.status != 2) && (gFrameCount & 4) &&
(gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) && (D_801782A4 != 2) && (D_801782A4 != 3) &&
(D_801782A4 != 1000)) {
if ((gActors[var_v1].obj.status != 2) && (gFrameCount & 4) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) &&
(D_801782A4 != 2) && (D_801782A4 != 3) && (D_801782A4 != 1000)) {
RCP_SetupDL(&gMasterDisp, 0x4C);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255);
Graphics_DisplaySmallText(31, 167, 1.0f, 1.0f, "DOWN");
}
if (((D_801782A4 != 2) && (D_801782A4 != 3)) && (D_801782A4 != 1000)) {
func_80086110(22.0f, 165.0f, gObjects2F4[var_v1].unk_0CE * 2.55f);
func_80086110(22.0f, 165.0f, gActors[var_v1].unk_0CE * 2.55f);
}
}
if (((D_801782A4 != 2) && (D_801782A4 != 3)) && (D_801782A4 != 1000)) {
+57 -57
View File
@@ -1844,17 +1844,17 @@ void func_800C20B0(void) {
void func_800C2190(void) {
}
bool func_800C2198(Object_2F4* obj2F4, f32 arg1, f32 arg2) {
if ((fabsf(gBosses[0].obj.pos.x - (obj2F4->obj.pos.x + (arg1 * 650.0f))) < 1500.0f) &&
(fabsf(gBosses[0].obj.pos.z - (obj2F4->obj.pos.z + (arg2 * 650.0f))) < 1500.0f) &&
(fabsf(gBosses[0].obj.pos.y - obj2F4->obj.pos.y) < 700.0f)) {
bool func_800C2198(Actor* actor, f32 arg1, f32 arg2) {
if ((fabsf(gBosses[0].obj.pos.x - (actor->obj.pos.x + (arg1 * 650.0f))) < 1500.0f) &&
(fabsf(gBosses[0].obj.pos.z - (actor->obj.pos.z + (arg2 * 650.0f))) < 1500.0f) &&
(fabsf(gBosses[0].obj.pos.y - actor->obj.pos.y) < 700.0f)) {
return true;
} else {
return false;
}
}
void func_800C2244(Object_2F4* obj2F4) {
void func_800C2244(Actor* actor) {
bool boolTemp2;
bool boolTemp;
s32 pad2[6];
@@ -1874,44 +1874,44 @@ void func_800C2244(Object_2F4* obj2F4) {
boolTemp = false;
switch (obj2F4->unk_0B8) {
switch (actor->unk_0B8) {
case 0:
boolTemp = true;
if (obj2F4->timer_0BC == 0) {
if (actor->timer_0BC == 0) {
y = Rand_ZeroOne() * 1000.0f;
x = (Rand_ZeroOne() - 0.5f) * 10000.0f;
z = (Rand_ZeroOne() - 0.5f) * 10000.0f;
if ((fabsf(obj2F4->obj.pos.x - x) > 2000.0f) || (fabsf(obj2F4->obj.pos.z - z) > 2000.0f)) {
obj2F4->unk_124.x = x;
obj2F4->unk_124.y = y;
obj2F4->unk_124.z = z;
obj2F4->timer_0BC = (s32) (Rand_ZeroOne() * 20.0f) + 10;
if ((fabsf(actor->obj.pos.x - x) > 2000.0f) || (fabsf(actor->obj.pos.z - z) > 2000.0f)) {
actor->fwork[4] = x;
actor->fwork[5] = y;
actor->fwork[6] = z;
actor->timer_0BC = (s32) (Rand_ZeroOne() * 20.0f) + 10;
}
}
break;
}
sinX = __sinf(M_DTOR * (obj2F4->obj.rot.x));
cosX = __cosf(M_DTOR * (obj2F4->obj.rot.x));
sinY = __sinf(M_DTOR * (obj2F4->obj.rot.y));
cosY = __cosf(M_DTOR * (obj2F4->obj.rot.y));
sinX = __sinf(M_DTOR * (actor->obj.rot.x));
cosX = __cosf(M_DTOR * (actor->obj.rot.x));
sinY = __sinf(M_DTOR * (actor->obj.rot.y));
cosY = __cosf(M_DTOR * (actor->obj.rot.y));
if (boolTemp) {
x = obj2F4->unk_124.x - obj2F4->obj.pos.x;
y = obj2F4->unk_124.y - obj2F4->obj.pos.y;
z = obj2F4->unk_124.z - obj2F4->obj.pos.z;
x = actor->fwork[4] - actor->obj.pos.x;
y = actor->fwork[5] - actor->obj.pos.y;
z = actor->fwork[6] - actor->obj.pos.z;
if (!((gFrameCount + obj2F4->index) & 7)) {
obj2F4->unk_160 = Math_RadToDeg((Math_Atan2F(x, z)));
if (!((gFrameCount + actor->index) & 7)) {
actor->fwork[19] = Math_RadToDeg((Math_Atan2F(x, z)));
z = sqrtf(SQ(x) + SQ(z));
obj2F4->unk_164 = Math_RadToDeg((Math_Atan2F(y, z)));
actor->fwork[20] = Math_RadToDeg((Math_Atan2F(y, z)));
}
x3 = obj2F4->unk_164;
x3 = actor->fwork[20];
boolTemp2 = func_800C2198(obj2F4, sinY, cosY);
boolTemp2 = func_800C2198(actor, sinY, cosY);
if (boolTemp2) {
x3 += 40.0f * boolTemp2;
@@ -1923,15 +1923,15 @@ void func_800C2244(Object_2F4* obj2F4) {
x3 += 360.0f;
}
} else if (obj2F4->obj.pos.y < D_80177940 + 50.0f) {
} else if (actor->obj.pos.y < D_80177940 + 50.0f) {
if (x3 > 180.0f) {
x3 = 0.0f;
obj2F4->unk_0F4.x = 0.0f;
actor->unk_0F4.x = 0.0f;
}
}
Math_SmoothStepToAngle(&obj2F4->unk_0F4.x, x3, 0.5f, 1.0f, 0.0001f);
y3 = Math_SmoothStepToAngle(&obj2F4->unk_0F4.y, obj2F4->unk_160, 0.5f, 1.0f, 0.0001f) * 30.0f;
Math_SmoothStepToAngle(&actor->unk_0F4.x, x3, 0.5f, 1.0f, 0.0001f);
y3 = Math_SmoothStepToAngle(&actor->unk_0F4.y, actor->fwork[19], 0.5f, 1.0f, 0.0001f) * 30.0f;
if (y3 < 0.0f) {
y3 *= -1.0f;
@@ -1939,11 +1939,11 @@ void func_800C2244(Object_2F4* obj2F4) {
y3 = 360.0f - y3;
}
Math_SmoothStepToAngle(&obj2F4->obj.rot.z, y3, 0.1f, 3.0f, 0.01f);
Math_SmoothStepToAngle(&actor->obj.rot.z, y3, 0.1f, 3.0f, 0.01f);
}
obj2F4->obj.rot.x = -obj2F4->unk_0F4.x;
obj2F4->obj.rot.y = obj2F4->unk_0F4.y;
actor->obj.rot.x = -actor->unk_0F4.x;
actor->obj.rot.y = actor->unk_0F4.y;
vec.z = +cosX * 38.0f;
vec.y = -sinX * 38.0f;
@@ -1951,23 +1951,23 @@ void func_800C2244(Object_2F4* obj2F4) {
vec.x = sinY * vec.z;
vec.z = cosY * vec.z;
obj2F4->vel.x = vec.x + obj2F4->unk_148;
obj2F4->vel.y = vec.y + obj2F4->unk_14C;
obj2F4->vel.z = vec.z + obj2F4->unk_144;
actor->vel.x = vec.x + actor->fwork[13];
actor->vel.y = vec.y + actor->fwork[14];
actor->vel.z = vec.z + actor->fwork[12];
obj2F4->unk_148 -= obj2F4->unk_148 * 0.1f;
obj2F4->unk_14C -= obj2F4->unk_14C * 0.1f;
obj2F4->unk_144 -= obj2F4->unk_144 * 0.1f;
actor->fwork[13] -= actor->fwork[13] * 0.1f;
actor->fwork[14] -= actor->fwork[14] * 0.1f;
actor->fwork[12] -= actor->fwork[12] * 0.1f;
if ((obj2F4->obj.pos.y < D_80177940 + 40.0f) && (obj2F4->vel.y < 0.0f)) {
obj2F4->obj.pos.y = D_80177940 + 40.0f;
obj2F4->vel.y = 0.0f;
if ((actor->obj.pos.y < D_80177940 + 40.0f) && (actor->vel.y < 0.0f)) {
actor->obj.pos.y = D_80177940 + 40.0f;
actor->vel.y = 0.0f;
}
func_8003088C(obj2F4);
func_8003088C(actor);
if (obj2F4->unk_070) {
obj2F4->unk_070--;
if (actor->iwork[8]) {
actor->iwork[8]--;
}
}
@@ -1975,7 +1975,7 @@ void func_800C26C8(void) {
s32 i;
Vec3f src;
Vec3f dest;
Object_2F4* obj2F4;
Actor* actor;
if ((D_801778AC != 2) || (D_80177E7C == 0)) {
return;
@@ -1992,22 +1992,22 @@ void func_800C26C8(void) {
src.y = 500.0f;
src.z = -10000.0f;
for (i = 0, obj2F4 = &gObjects2F4[10]; i < 5; i++, obj2F4++) {
if (obj2F4->obj.status == 0) {
Object_2F4_Initialize(obj2F4);
obj2F4->obj.status = 2;
obj2F4->obj.id = 197;
for (i = 0, actor = &gActors[10]; i < 5; i++, actor++) {
if (actor->obj.status == 0) {
Actor_Initialize(actor);
actor->obj.status = 2;
actor->obj.id = 197;
Matrix_RotateY(gCalcMatrix, M_DTOR * (Rand_ZeroOne() * 360.0f), 0);
Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest);
obj2F4->obj.pos.x = dest.x;
obj2F4->obj.pos.y = dest.y;
obj2F4->obj.pos.z = dest.z;
obj2F4->unk_0E4 = i + 10;
obj2F4->unk_0CE = 24;
obj2F4->timer_0C2 = 30;
actor->obj.pos.x = dest.x;
actor->obj.pos.y = dest.y;
actor->obj.pos.z = dest.z;
actor->unk_0E4 = i + 10;
actor->unk_0CE = 24;
actor->timer_0C2 = 30;
Object_SetInfo(&obj2F4->info, obj2F4->obj.id);
obj2F4->info.action = (ObjectFunc) func_800C2244;
Object_SetInfo(&actor->info, actor->obj.id);
actor->info.action = (ObjectFunc) func_800C2244;
break;
}
}
+36 -36
View File
@@ -1344,7 +1344,7 @@ void func_800481F4(Player* player) {
s32 pad[17];
s32 i;
s32 temp_v0;
Object_2F4* obj2F4;
Actor* actor;
Boss* boss;
Object_4C* obj4C;
Object_80* obj80;
@@ -1405,29 +1405,29 @@ void func_800481F4(Player* player) {
}
}
for (i = 0, obj2F4 = gObjects2F4; i < ARRAY_COUNT(gObjects2F4); i++, obj2F4++) {
if ((obj2F4->obj.status == 2) && (obj2F4->timer_0C2 == 0)) {
if (obj2F4->obj.id == OBJ_2F4_200) {
for (i = 0, actor = gActors; i < ARRAY_COUNT(gActors); i++, actor++) {
if ((actor->obj.status == 2) && (actor->timer_0C2 == 0)) {
if (actor->obj.id == OBJ_ACTOR_200) {
temp_v0 =
func_800A7974(player, obj2F4->info.hitbox, &sp98, obj2F4->obj.pos.x, obj2F4->obj.pos.y,
obj2F4->obj.pos.z, obj2F4->obj.rot.x, obj2F4->obj.rot.y, obj2F4->obj.rot.z,
obj2F4->unk_2E8.x, obj2F4->unk_2E8.y, obj2F4->unk_2E8.z + obj2F4->unk_0F4.z);
func_800A7974(player, actor->info.hitbox, &sp98, actor->obj.pos.x, actor->obj.pos.y,
actor->obj.pos.z, actor->obj.rot.x, actor->obj.rot.y, actor->obj.rot.z,
actor->vwork[29].x, actor->vwork[29].y, actor->vwork[29].z + actor->unk_0F4.z);
if (temp_v0 != 0) {
Player_ApplyDamage(player, temp_v0, obj2F4->info.damage);
obj2F4->unk_0D0 = 3;
obj2F4->unk_0D4 = player->num + 1;
Player_ApplyDamage(player, temp_v0, actor->info.damage);
actor->unk_0D0 = 3;
actor->unk_0D4 = player->num + 1;
}
} else if (obj2F4->obj.id == OBJ_2F4_207) {
if (func_80046E40(player, obj2F4->info.hitbox, &sp98, obj2F4->obj.pos.x, obj2F4->obj.pos.y,
obj2F4->obj.pos.z, obj2F4->obj.rot.x, obj2F4->obj.rot.y, obj2F4->obj.rot.z, 0.0f,
} else if (actor->obj.id == OBJ_ACTOR_207) {
if (func_80046E40(player, actor->info.hitbox, &sp98, actor->obj.pos.x, actor->obj.pos.y,
actor->obj.pos.z, actor->obj.rot.x, actor->obj.rot.y, actor->obj.rot.z, 0.0f,
0.0f, 0.0f) != 0) {
if (player->pos.x < obj2F4->obj.pos.x) {
player->unk_0D8.x = (obj2F4->vel.z > 5.0f) ? -5.0f : -1.5f;
if (player->pos.x < actor->obj.pos.x) {
player->unk_0D8.x = (actor->vel.z > 5.0f) ? -5.0f : -1.5f;
player->unk_1DC = 8;
player->timer_1E8 = 15;
player->unk_1EC = player->unk_1F0 = 20;
} else {
player->unk_0D8.x = (obj2F4->vel.z > 5.0f) ? 5.0f : 1.5f;
player->unk_0D8.x = (actor->vel.z > 5.0f) ? 5.0f : 1.5f;
player->unk_1DC = 8;
player->timer_1E8 = 15;
player->unk_1EC = player->unk_1F0 = -20;
@@ -1437,23 +1437,23 @@ void func_800481F4(Player* player) {
player->vel.x = 0.0f;
player->vel.y = 30.0f;
player->pos.x = player->unk_090.x;
obj2F4->unk_0D0 = 3;
actor->unk_0D0 = 3;
Player_ApplyDamage(player, 0, 5);
player->timer_498 = 1;
}
} else if ((obj2F4->obj.id >= 205) && (obj2F4->obj.id < 214)) {
if (func_80046E40(player, obj2F4->info.hitbox, &sp98, obj2F4->unk_178 + obj2F4->obj.pos.x,
obj2F4->unk_134 + obj2F4->obj.pos.y + 25.0f, obj2F4->obj.pos.z, obj2F4->unk_188,
obj2F4->unk_17C, obj2F4->obj.rot.z, 0.0f, 0.0f, 0.0f) != 0) {
} else if ((actor->obj.id >= 205) && (actor->obj.id < 214)) {
if (func_80046E40(player, actor->info.hitbox, &sp98, actor->fwork[25] + actor->obj.pos.x,
actor->fwork[8] + actor->obj.pos.y + 25.0f, actor->obj.pos.z, actor->fwork[29],
actor->fwork[26], actor->obj.rot.z, 0.0f, 0.0f, 0.0f) != 0) {
Math_SmoothStepToF(&player->unk_0D0, 15.0f, 0.3f, 3.5f, 0.001f);
Math_SmoothStepToF(&player->unk_08C, 0, 0.3f, 3.5f, 0.001f);
if (player->pos.x < (obj2F4->unk_170 + obj2F4->obj.pos.x)) {
player->unk_0D8.x = (obj2F4->vel.z > 5.0f) ? -5.0f : -1.5f;
if (player->pos.x < (actor->fwork[23] + actor->obj.pos.x)) {
player->unk_0D8.x = (actor->vel.z > 5.0f) ? -5.0f : -1.5f;
player->unk_1DC = 8;
player->timer_1E8 = 15;
player->unk_1EC = player->unk_1F0 = 20;
} else {
player->unk_0D8.x = (obj2F4->vel.z > 5.0f) ? 5.0f : 1.5f;
player->unk_0D8.x = (actor->vel.z > 5.0f) ? 5.0f : 1.5f;
player->unk_1DC = 8;
player->timer_1E8 = 15;
player->unk_1EC = player->unk_1F0 = -20;
@@ -1461,29 +1461,29 @@ void func_800481F4(Player* player) {
player->vel.x = 0.0f;
player->vel.y = 30.0f;
player->pos.x = player->unk_090.x;
obj2F4->unk_0D0 = 3;
if (obj2F4->info.damage != 0) {
actor->unk_0D0 = 3;
if (actor->info.damage != 0) {
Player_ApplyDamage(player, 0, 20);
} else {
obj2F4->unk_0D0 = -1;
actor->unk_0D0 = -1;
}
}
} else {
temp_v0 = func_800A7974(player, obj2F4->info.hitbox, &sp98, obj2F4->obj.pos.x, obj2F4->obj.pos.y,
obj2F4->obj.pos.z, obj2F4->obj.rot.x, obj2F4->obj.rot.y, obj2F4->obj.rot.z,
temp_v0 = func_800A7974(player, actor->info.hitbox, &sp98, actor->obj.pos.x, actor->obj.pos.y,
actor->obj.pos.z, actor->obj.rot.x, actor->obj.rot.y, actor->obj.rot.z,
0.0f, 0.0f, 0.0f);
if (temp_v0 != 0) {
obj2F4->unk_0D0 = 3;
if ((obj2F4->obj.id == OBJ_2F4_225) || (obj2F4->obj.id == OBJ_2F4_190)) {
obj2F4->unk_0D0 = -1;
actor->unk_0D0 = 3;
if ((actor->obj.id == OBJ_ACTOR_225) || (actor->obj.id == OBJ_ACTOR_190)) {
actor->unk_0D0 = -1;
}
if (obj2F4->info.damage) {
Player_ApplyDamage(player, temp_v0, obj2F4->info.damage);
if (obj2F4->obj.id == OBJ_2F4_225) {
if (actor->info.damage) {
Player_ApplyDamage(player, temp_v0, actor->info.damage);
if (actor->obj.id == OBJ_ACTOR_225) {
player->unk_0D8.y = 0.0f;
}
} else {
obj2F4->unk_0D0 = -1;
actor->unk_0D0 = -1;
}
}
}
+280 -281
View File
@@ -705,26 +705,27 @@ void func_80089E98(s32 arg0) {
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8008A4DC.s")
s32 func_8008AC54(s32 arg0) {
Object_2F4* obj2F4;
Actor* actor;
s32 i;
s32 ret = 0;
for (i = 0, obj2F4 = gObjects2F4; i < 60; i++, obj2F4++) {
for (i = 0, actor = gActors; i < 60; i++, actor++) {
switch (arg0) {
case 0:
if ((obj2F4->obj.status == 2) && (obj2F4->obj.id == OBJ_2F4_190)) {
if ((actor->obj.status == 2) && (actor->obj.id == OBJ_ACTOR_190)) {
ret++;
}
break;
case 1:
if ((obj2F4->obj.status == 2) && (obj2F4->obj.id == OBJ_2F4_191)) {
if ((actor->obj.status == 2) && (actor->obj.id == OBJ_ACTOR_191)) {
ret++;
}
break;
case 2:
if (((obj2F4->obj.id == OBJ_2F4_190) || (obj2F4->obj.id == OBJ_2F4_191)) && (obj2F4->obj.status == 2)) {
if (((actor->obj.id == OBJ_ACTOR_190) || (actor->obj.id == OBJ_ACTOR_191)) &&
(actor->obj.status == 2)) {
ret++;
}
break;
@@ -1622,12 +1623,12 @@ void func_800907C4(Boss* boss) {
func_8008FFF0(boss, D_8015F928);
}
bool func_8009092C(Object_2F4* obj2F4) {
bool func_8009092C(Actor* actor) {
bool var_s5 = false;
Boss* boss;
s32 i = 0;
if (obj2F4->unk_0E6 != 0) {
if (actor->unk_0E6 != 0) {
return true;
}
@@ -1636,143 +1637,142 @@ bool func_8009092C(Object_2F4* obj2F4) {
for (i = 1; i < 4; i++, boss++) {
if (boss->obj.status == 2) {
var_s5 = true;
if (obj2F4->unk_0E6 == 0) {
obj2F4->unk_0E6 = i;
if (actor->unk_0E6 == 0) {
actor->unk_0E6 = i;
} else if (Rand_ZeroOne() > 0.4f) {
obj2F4->unk_0E6 = i;
actor->unk_0E6 = i;
}
obj2F4->unk_0B8 = 0;
actor->unk_0B8 = 0;
}
}
return var_s5;
}
bool func_80090A00(Object_2F4* obj2F4) {
switch (obj2F4->unk_064) {
bool func_80090A00(Actor* actor) {
switch (actor->iwork[5]) {
case 0:
obj2F4->unk_134 = 0.0f;
obj2F4->unk_130 = 360.0f;
obj2F4->timer_0BC = 8;
obj2F4->unk_0F4.y = 100.0f;
obj2F4->unk_0F4.x = 300.0f;
obj2F4->unk_060 = 1;
obj2F4->unk_064 = 1;
actor->fwork[8] = 0.0f;
actor->fwork[7] = 360.0f;
actor->timer_0BC = 8;
actor->unk_0F4.y = 100.0f;
actor->unk_0F4.x = 300.0f;
actor->iwork[4] = 1;
actor->iwork[5] = 1;
case 1:
if (obj2F4->timer_0BC == 0.0f) {
obj2F4->unk_118 = 20.0f;
obj2F4->unk_120 = 3.6f;
obj2F4->unk_058 = 0;
obj2F4->unk_05C = 36;
obj2F4->unk_064 = 2;
if (actor->timer_0BC == 0.0f) {
actor->fwork[1] = 20.0f;
actor->fwork[3] = 3.6f;
actor->iwork[2] = 0;
actor->iwork[3] = 36;
actor->iwork[5] = 2;
} else {
obj2F4->obj.pos.y -= 8.0f;
actor->obj.pos.y -= 8.0f;
break;
}
case 2:
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++;
if (obj2F4->unk_05C == obj2F4->unk_058) {
obj2F4->unk_064 = 3;
obj2F4->unk_05C = 40;
obj2F4->unk_058 = 0;
} else if (obj2F4->unk_058 == 6) {
obj2F4->unk_054 = 1;
actor->fwork[4] = gBosses[0].obj.pos.x + 1000.0f;
actor->fwork[5] = 300.0f;
actor->fwork[6] = actor->obj.pos.z - 10000.0f;
actor->iwork[2]++;
if (actor->iwork[2] == actor->iwork[3]) {
actor->iwork[5] = 3;
actor->iwork[3] = 40;
actor->iwork[2] = 0;
} else if (actor->iwork[2] == 6) {
actor->iwork[1] = 1;
}
break;
case 3:
obj2F4->unk_124.x = gBosses[0].obj.pos.x - 1000.0f;
obj2F4->unk_124.y = 400.0f;
obj2F4->unk_124.z = gBosses[0].obj.pos.z;
obj2F4->unk_058++;
if (obj2F4->unk_05C == obj2F4->unk_058) {
obj2F4->unk_064 = 4;
} else if (obj2F4->unk_058 == 20) {
obj2F4->unk_118 = 30.0f;
actor->fwork[4] = gBosses[0].obj.pos.x - 1000.0f;
actor->fwork[5] = 400.0f;
actor->fwork[6] = gBosses[0].obj.pos.z;
actor->iwork[2]++;
if (actor->iwork[2] == actor->iwork[3]) {
actor->iwork[5] = 4;
} else if (actor->iwork[2] == 20) {
actor->fwork[1] = 30.0f;
}
break;
case 4:
obj2F4->unk_124.z = gPlayer[0].unk_138;
obj2F4->unk_124.y = 100.0f;
obj2F4->unk_124.x = gPlayer[0].pos.x;
if ((fabsf(obj2F4->obj.pos.x - gPlayer[0].pos.x) < 300.0f) &&
(fabsf(obj2F4->obj.pos.z - gPlayer[0].unk_138) < 300.0f)) {
obj2F4->unk_064 = 5;
obj2F4->unk_05C = 20;
obj2F4->unk_058 = 0;
actor->fwork[6] = gPlayer[0].unk_138;
actor->fwork[5] = 100.0f;
actor->fwork[4] = gPlayer[0].pos.x;
if ((fabsf(actor->obj.pos.x - gPlayer[0].pos.x) < 300.0f) &&
(fabsf(actor->obj.pos.z - gPlayer[0].unk_138) < 300.0f)) {
actor->iwork[5] = 5;
actor->iwork[3] = 20;
actor->iwork[2] = 0;
}
break;
case 5:
obj2F4->unk_124.z = gPlayer[0].unk_138 + 1000.0f;
obj2F4->unk_124.y = 1000.0f;
obj2F4->unk_124.x = gPlayer[0].pos.x - 1000.0f;
obj2F4->unk_058++;
if (obj2F4->unk_05C == obj2F4->unk_058) {
Object_Kill(&obj2F4->obj, &obj2F4->sfxPos);
actor->fwork[6] = gPlayer[0].unk_138 + 1000.0f;
actor->fwork[5] = 1000.0f;
actor->fwork[4] = gPlayer[0].pos.x - 1000.0f;
actor->iwork[2]++;
if (actor->iwork[2] == actor->iwork[3]) {
Object_Kill(&actor->obj, &actor->sfxPos);
}
break;
}
return false;
}
bool func_80090CCC(Object_2F4* obj2F4) {
bool func_80090CCC(Actor* actor) {
bool ret = false;
if (func_8009092C(obj2F4)) {
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;
if (func_8009092C(actor)) {
actor->fwork[6] = gBosses[actor->unk_0E6].obj.pos.z;
actor->fwork[5] = gBosses[actor->unk_0E6].obj.pos.y;
actor->fwork[4] = gBosses[actor->unk_0E6].obj.pos.x;
} else {
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;
actor->fwork[6] = gBosses[0].obj.pos.z;
actor->fwork[5] = gBosses[0].obj.pos.y;
actor->fwork[4] = gBosses[0].obj.pos.x;
}
if ((fabsf(obj2F4->obj.pos.x - obj2F4->unk_124.x) < 2000.0f) &&
(fabsf(obj2F4->obj.pos.z - obj2F4->unk_124.z) < 2000.0f)) {
obj2F4->unk_068++;
if (obj2F4->unk_068 >= 9) {
obj2F4->unk_050 = 1;
obj2F4->unk_068 = 0;
if ((fabsf(actor->obj.pos.x - actor->fwork[4]) < 2000.0f) &&
(fabsf(actor->obj.pos.z - actor->fwork[6]) < 2000.0f)) {
actor->iwork[6]++;
if (actor->iwork[6] >= 9) {
actor->iwork[0] = 1;
actor->iwork[6] = 0;
}
}
if ((fabsf(obj2F4->obj.pos.x - obj2F4->unk_124.x) < 700.0f) &&
(fabsf(obj2F4->obj.pos.x - obj2F4->unk_124.x) < 700.0f)) {
obj2F4->unk_0B8 = 1;
obj2F4->unk_068 = 0;
if ((fabsf(actor->obj.pos.x - actor->fwork[4]) < 700.0f) && (fabsf(actor->obj.pos.x - actor->fwork[4]) < 700.0f)) {
actor->unk_0B8 = 1;
actor->iwork[6] = 0;
ret = true;
}
if (obj2F4->timer_0BE == 0) {
obj2F4->timer_0BE = (s32) (Rand_ZeroOne() * 200.0f) + 200;
obj2F4->unk_13C = 30.0f;
if (actor->timer_0BE == 0) {
actor->timer_0BE = (s32) (Rand_ZeroOne() * 200.0f) + 200;
actor->fwork[10] = 30.0f;
}
if (gBosses[obj2F4->unk_0E6].obj.status == 0) {
obj2F4->unk_0B8 = 1;
obj2F4->unk_0E6 = 0;
obj2F4->unk_068 = 0;
if (gBosses[actor->unk_0E6].obj.status == 0) {
actor->unk_0B8 = 1;
actor->unk_0E6 = 0;
actor->iwork[6] = 0;
ret = true;
}
return ret;
}
s32 func_80090E8C(Object_2F4* obj2F4) {
s32 func_80090E8C(Actor* actor) {
f32 x;
f32 y;
f32 z;
f32 var_fv1_2;
if (obj2F4->timer_0BC == 0) {
if (actor->timer_0BC == 0) {
if (gLevelType == LEVELTYPE_SPACE) {
x = (Rand_ZeroOne() - 0.5f) * 20000.0f;
y = (Rand_ZeroOne() - 0.5f) * 5000.0f;
@@ -1783,96 +1783,95 @@ s32 func_80090E8C(Object_2F4* obj2F4) {
z = (Rand_ZeroOne() - 0.5f) * 10000.0f;
}
if ((fabsf(obj2F4->obj.pos.x - x) > 2000.0f) && (fabsf(obj2F4->obj.pos.z - z) > 2000.0f)) {
obj2F4->unk_124.x = x;
obj2F4->unk_124.y = y;
obj2F4->unk_124.z = z;
obj2F4->timer_0BC = (s32) (Rand_ZeroOne() * 20.0f) + 10;
if ((fabsf(actor->obj.pos.x - x) > 2000.0f) && (fabsf(actor->obj.pos.z - z) > 2000.0f)) {
actor->fwork[4] = x;
actor->fwork[5] = y;
actor->fwork[6] = z;
actor->timer_0BC = (s32) (Rand_ZeroOne() * 20.0f) + 10;
}
}
if (obj2F4->unk_0E4 == 1) {
if (actor->unk_0E4 == 1) {
var_fv1_2 = 3000.0f;
} else {
var_fv1_2 = 5000.0f;
}
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;
if ((var_fv1_2 < fabsf(actor->obj.pos.x - gBosses[0].obj.pos.x)) &&
(var_fv1_2 < fabsf(actor->obj.pos.z - gBosses[0].obj.pos.z))) {
actor->unk_0B8 = 0;
}
if (obj2F4->timer_0BE == 0) {
obj2F4->timer_0BE = (s32) (Rand_ZeroOne() * 200.0f) + 200;
obj2F4->unk_13C = 30.0f;
if (actor->timer_0BE == 0) {
actor->timer_0BE = (s32) (Rand_ZeroOne() * 200.0f) + 200;
actor->fwork[10] = 30.0f;
}
return false;
}
bool func_800910C0(Object_2F4* obj2F4) {
bool func_800910C0(Actor* actor) {
f32 var_fv1;
if (obj2F4->timer_0BC == 0) {
obj2F4->unk_2DC.x = (Rand_ZeroOne() - 0.5f) * 2000.0f;
obj2F4->unk_2DC.y = (Rand_ZeroOne() * 1000.0f) + 200.0f;
obj2F4->unk_2DC.z = (Rand_ZeroOne() - 0.5f) * 2000.0f;
obj2F4->timer_0BC = (s32) (Rand_ZeroOne() * 20.0f) + 10;
if (actor->timer_0BC == 0) {
actor->vwork[28].x = (Rand_ZeroOne() - 0.5f) * 2000.0f;
actor->vwork[28].y = (Rand_ZeroOne() * 1000.0f) + 200.0f;
actor->vwork[28].z = (Rand_ZeroOne() - 0.5f) * 2000.0f;
actor->timer_0BC = (s32) (Rand_ZeroOne() * 20.0f) + 10;
}
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;
actor->fwork[4] = gBosses[0].obj.pos.x + (*actor).vwork[28].x;
actor->fwork[5] = (*actor).vwork[28].y;
actor->fwork[6] = gBosses[0].obj.pos.z + (*actor).vwork[28].z;
if (obj2F4->unk_0E4 == 1) {
if (actor->unk_0E4 == 1) {
var_fv1 = 1500.0f;
} else {
var_fv1 = 3000.0f;
}
if ((var_fv1 < fabsf(obj2F4->obj.pos.x - obj2F4->unk_124.x)) &&
(var_fv1 < fabsf(obj2F4->obj.pos.z - obj2F4->unk_124.z))) {
obj2F4->unk_0B8 = 0;
if ((var_fv1 < fabsf(actor->obj.pos.x - actor->fwork[4])) &&
(var_fv1 < fabsf(actor->obj.pos.z - actor->fwork[6]))) {
actor->unk_0B8 = 0;
}
if (obj2F4->timer_0BE == 0) {
obj2F4->timer_0BE = (s32) (Rand_ZeroOne() * 200.0f) + 200;
obj2F4->unk_13C = 30.0f;
if (actor->timer_0BE == 0) {
actor->timer_0BE = (s32) (Rand_ZeroOne() * 200.0f) + 200;
actor->fwork[10] = 30.0f;
}
return false;
}
void func_80091254(Object_2F4* obj2F4) {
void func_80091254(Actor* actor) {
if (gLevelMode == LEVELMODE_ALL_RANGE) {
func_80090E8C(obj2F4);
func_80090E8C(actor);
} else {
func_800910C0(obj2F4);
func_800910C0(actor);
}
}
bool func_80091298(Object_2F4* obj2F4) {
obj2F4->unk_118 = gPlayer[0].unk_0D0 + 10.0f;
obj2F4->unk_120 = 3.6f;
obj2F4->unk_124.x = gPlayer[0].pos.x + ((f32) (obj2F4->unk_0E4 - 2) * 700.0f);
obj2F4->unk_124.y = gPlayer[0].pos.y;
obj2F4->unk_124.z = gPlayer[0].unk_138;
bool func_80091298(Actor* actor) {
actor->fwork[1] = gPlayer[0].unk_0D0 + 10.0f;
actor->fwork[3] = 3.6f;
actor->fwork[4] = gPlayer[0].pos.x + ((f32) (actor->unk_0E4 - 2) * 700.0f);
actor->fwork[5] = gPlayer[0].pos.y;
actor->fwork[6] = gPlayer[0].unk_138;
if ((fabsf(obj2F4->obj.pos.x - obj2F4->unk_124.x) < 700.0f) ||
(fabsf(obj2F4->obj.pos.z - obj2F4->unk_124.z) < 700.0f)) {
obj2F4->unk_118 = gPlayer[0].unk_0D0 - 10.0f;
obj2F4->unk_120 = 1.2f;
if ((fabsf(actor->obj.pos.x - actor->fwork[4]) < 700.0f) || (fabsf(actor->obj.pos.z - actor->fwork[6]) < 700.0f)) {
actor->fwork[1] = gPlayer[0].unk_0D0 - 10.0f;
actor->fwork[3] = 1.2f;
}
return false;
}
bool func_80091368(Object_2F4* obj2F4) {
switch (obj2F4->unk_064) {
bool func_80091368(Actor* actor) {
switch (actor->iwork[5]) {
case 0:
obj2F4->unk_124.y = 20000.0f;
obj2F4->unk_054 = 1;
obj2F4->unk_064 = 1;
gTeamShields[obj2F4->unk_0E4] = 1;
actor->fwork[5] = 20000.0f;
actor->iwork[1] = 1;
actor->iwork[5] = 1;
gTeamShields[actor->unk_0E4] = 1;
switch (obj2F4->unk_0E4) {
switch (actor->unk_0E4) {
case 1:
func_800BA808(gMsg_ID_20220, RCID_FALCO);
break;
@@ -1885,67 +1884,67 @@ bool func_80091368(Object_2F4* obj2F4) {
func_800BA808(gMsg_ID_20222, RCID_SLIPPY);
break;
}
gTeamShields[obj2F4->unk_0E4] = -1;
gTeamShields[actor->unk_0E4] = -1;
break;
case 1:
if (obj2F4->unk_188 < 2.0f) {
obj2F4->unk_188 = 2.0f;
if (actor->fwork[29] < 2.0f) {
actor->fwork[29] = 2.0f;
}
if (obj2F4->timer_0BC == 0) {
obj2F4->timer_0BC = (s32) (Rand_ZeroOne() * 20.0f) + 30;
obj2F4->unk_130 = 360.0f;
obj2F4->unk_134 = 0.0f;
if (actor->timer_0BC == 0) {
actor->timer_0BC = (s32) (Rand_ZeroOne() * 20.0f) + 30;
actor->fwork[7] = 360.0f;
actor->fwork[8] = 0.0f;
}
if (obj2F4->obj.pos.y > 3000.0f) {
Object_Kill(&obj2F4->obj, &obj2F4->sfxPos);
if (actor->obj.pos.y > 3000.0f) {
Object_Kill(&actor->obj, &actor->sfxPos);
}
break;
}
return false;
}
void func_800914FC(Object_2F4* obj2F4) {
switch (obj2F4->unk_0B8) {
void func_800914FC(Actor* actor) {
switch (actor->unk_0B8) {
case 0:
if (!func_80090CCC(obj2F4)) {
if (!func_80090CCC(actor)) {
break;
}
case 1:
func_80091254(obj2F4);
func_80091254(actor);
break;
case 2:
func_80091298(obj2F4);
func_80091298(actor);
break;
case 3:
func_80091368(obj2F4);
func_80091368(actor);
break;
case 7:
func_80090A00(obj2F4);
func_80090A00(actor);
break;
}
if ((gTeamShields[obj2F4->unk_0E4] <= 0) && (obj2F4->unk_0B8 != 3)) {
obj2F4->unk_064 = 0;
obj2F4->unk_0B8 = 3;
if ((gTeamShields[actor->unk_0E4] <= 0) && (actor->unk_0B8 != 3)) {
actor->iwork[5] = 0;
actor->unk_0B8 = 3;
}
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_7) {
if ((obj2F4->unk_0B8 != 2) && (obj2F4->unk_0B8 != 3)) {
obj2F4->unk_060 = 1;
obj2F4->unk_0B8 = 2;
if ((actor->unk_0B8 != 2) && (actor->unk_0B8 != 3)) {
actor->iwork[4] = 1;
actor->unk_0B8 = 2;
}
}
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_800915FC.s")
bool func_80091864(Object_2F4* obj2F4) {
bool func_80091864(Actor* actor) {
f32 sp44;
f32 sp40;
f32 sp3C;
@@ -1955,25 +1954,25 @@ bool func_80091864(Object_2F4* obj2F4) {
f32 sp2C;
f32 sp28;
x = obj2F4->unk_124.x - obj2F4->obj.pos.x;
y = obj2F4->unk_124.y - obj2F4->obj.pos.y;
z = obj2F4->unk_124.z - obj2F4->obj.pos.z;
x = actor->fwork[4] - actor->obj.pos.x;
y = actor->fwork[5] - actor->obj.pos.y;
z = actor->fwork[6] - actor->obj.pos.z;
sp40 = Math_RadToDeg(Math_Atan2F(x, z));
sp44 = Math_RadToDeg(Math_Atan2F(y, sqrtf(SQ(x) + SQ(z))));
if ((func_800915FC(obj2F4) != 0) && (obj2F4->unk_060 == 0)) {
if ((func_800915FC(actor) != 0) && (actor->iwork[4] == 0)) {
sp44 += 40.0f;
if (sp44 >= 360.0f) {
sp44 -= 360.0f;
} else if ((obj2F4->obj.pos.y < (D_80177940 + 50.0f)) && (gLevelType == LEVELTYPE_PLANET) && (sp44 > 180.0f)) {
} else if ((actor->obj.pos.y < (D_80177940 + 50.0f)) && (gLevelType == LEVELTYPE_PLANET) && (sp44 > 180.0f)) {
sp44 = 0.0f;
}
obj2F4->unk_050 = 0;
actor->iwork[0] = 0;
}
sp3C = Math_SmoothStepToAngle(&obj2F4->unk_0F4.y, sp40, 0.5f, obj2F4->unk_11C, 0.001f) * 30.0f;
Math_SmoothStepToAngle(&obj2F4->unk_0F4.x, sp44, 0.5f, obj2F4->unk_11C, 0.0001f);
sp3C = Math_SmoothStepToAngle(&actor->unk_0F4.y, sp40, 0.5f, actor->fwork[2], 0.001f) * 30.0f;
Math_SmoothStepToAngle(&actor->unk_0F4.x, sp44, 0.5f, actor->fwork[2], 0.0001f);
sp2C = sp28 = 0.0f;
if (sp3C < 0.0f) {
@@ -1982,10 +1981,10 @@ bool func_80091864(Object_2F4* obj2F4) {
sp28 = sp3C;
}
Math_SmoothStepToF(&obj2F4->unk_150, sp2C, 0.2f, 30.0f, 0.00f);
Math_SmoothStepToF(&obj2F4->unk_17C, -sp2C, 0.2f, 30.0f, 0.00f);
Math_SmoothStepToF(&obj2F4->unk_154, sp28, 0.2f, 30.0f, 0.00f);
Math_SmoothStepToF(&obj2F4->unk_180, -sp28, 0.2f, 30.0f, 0.00f);
Math_SmoothStepToF(&actor->fwork[15], sp2C, 0.2f, 30.0f, 0.00f);
Math_SmoothStepToF(&actor->fwork[26], -sp2C, 0.2f, 30.0f, 0.00f);
Math_SmoothStepToF(&actor->fwork[16], sp28, 0.2f, 30.0f, 0.00f);
Math_SmoothStepToF(&actor->fwork[27], -sp28, 0.2f, 30.0f, 0.00f);
if (sp3C < 0.0f) {
sp3C *= -1.0f;
@@ -1993,101 +1992,101 @@ bool func_80091864(Object_2F4* obj2F4) {
sp3C = 360.0f - sp3C;
}
Math_SmoothStepToF(&obj2F4->unk_130, obj2F4->unk_134, 0.2f, 30.0f, 0.0001f);
Math_SmoothStepToF(&actor->fwork[7], actor->fwork[8], 0.2f, 30.0f, 0.0001f);
if ((obj2F4->unk_130 > 0.01f) && (obj2F4->unk_130 < 359.9f)) {
Math_SmoothStepToAngle(&obj2F4->obj.rot.z, obj2F4->unk_130, 0.2f, 100.0f, 0.01f);
if ((actor->fwork[7] > 0.01f) && (actor->fwork[7] < 359.9f)) {
Math_SmoothStepToAngle(&actor->obj.rot.z, actor->fwork[7], 0.2f, 100.0f, 0.01f);
} else {
Math_SmoothStepToAngle(&obj2F4->obj.rot.z, sp3C, 0.1f, 3.0f, 0.01f);
Math_SmoothStepToAngle(&actor->obj.rot.z, sp3C, 0.1f, 3.0f, 0.01f);
}
return false;
}
bool func_80091B90(Object_2F4* obj2F4) {
bool func_80091B90(Actor* actor) {
Vec3f vec;
obj2F4->obj.rot.x = -obj2F4->unk_0F4.x;
obj2F4->obj.rot.y = obj2F4->unk_0F4.y;
actor->obj.rot.x = -actor->unk_0F4.x;
actor->obj.rot.y = actor->unk_0F4.y;
Math_SmoothStepToF(&obj2F4->unk_114, obj2F4->unk_118, 0.2f, 1.0f, 0.0f);
Math_SmoothStepToF(&obj2F4->unk_11C, obj2F4->unk_120, 1.0f, 1.0f, 0.0f);
Math_SmoothStepToF(&actor->fwork[0], actor->fwork[1], 0.2f, 1.0f, 0.0f);
Math_SmoothStepToF(&actor->fwork[2], actor->fwork[3], 1.0f, 1.0f, 0.0f);
Math_Vec3fFromAngles(&vec, obj2F4->obj.rot.x, obj2F4->obj.rot.y, obj2F4->unk_138 + obj2F4->unk_114);
Math_Vec3fFromAngles(&vec, actor->obj.rot.x, actor->obj.rot.y, actor->fwork[0] + actor->fwork[9]);
obj2F4->vel.y = obj2F4->unk_14C + vec.y;
obj2F4->vel.x = obj2F4->unk_148 + vec.x;
obj2F4->vel.z = obj2F4->unk_144 + vec.z;
actor->vel.y = actor->fwork[14] + vec.y;
actor->vel.x = actor->fwork[13] + vec.x;
actor->vel.z = actor->fwork[12] + vec.z;
obj2F4->unk_148 -= obj2F4->unk_148 * 0.1f;
obj2F4->unk_14C -= obj2F4->unk_14C * 0.1f;
obj2F4->unk_144 -= obj2F4->unk_144 * 0.1f;
actor->fwork[13] -= actor->fwork[13] * 0.1f;
actor->fwork[14] -= actor->fwork[14] * 0.1f;
actor->fwork[12] -= actor->fwork[12] * 0.1f;
if ((obj2F4->obj.pos.y < D_80177940 + 40.0f) && (obj2F4->vel.y < 0.0f) && (gLevelType == LEVELTYPE_PLANET)) {
obj2F4->obj.pos.y = D_80177940 + 40.0f;
obj2F4->vel.y = 0.0f;
if ((actor->obj.pos.y < D_80177940 + 40.0f) && (actor->vel.y < 0.0f) && (gLevelType == LEVELTYPE_PLANET)) {
actor->obj.pos.y = D_80177940 + 40.0f;
actor->vel.y = 0.0f;
}
obj2F4->vel.z -= D_80177D08;
actor->vel.z -= D_80177D08;
return false;
}
bool func_80091CF8(Object_2F4* obj2F4) {
if (obj2F4->unk_054 != 0) {
if (obj2F4->unk_13C < 0.1f) {
obj2F4->unk_13C = 20.0f;
Audio_PlaySfx(0x09000002, &obj2F4->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
obj2F4->unk_188 = 5.0f;
bool func_80091CF8(Actor* actor) {
if (actor->iwork[1] != 0) {
if (actor->fwork[10] < 0.1f) {
actor->fwork[10] = 20.0f;
Audio_PlaySfx(0x09000002, &actor->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
actor->fwork[29] = 5.0f;
}
obj2F4->unk_054 = 0;
actor->iwork[1] = 0;
}
Math_SmoothStepToF(&obj2F4->unk_13C, 0.0f, 0.1f, 0.2f, 0.0f);
Math_SmoothStepToF(&obj2F4->unk_138, obj2F4->unk_13C, 0.1f, 2.0f, 0.0f);
Math_SmoothStepToF(&actor->fwork[10], 0.0f, 0.1f, 0.2f, 0.0f);
Math_SmoothStepToF(&actor->fwork[9], actor->fwork[10], 0.1f, 2.0f, 0.0f);
if (obj2F4->unk_13C < 0.1f) {
obj2F4->unk_07C = 1;
if (actor->fwork[10] < 0.1f) {
actor->iwork[11] = 1;
}
return false;
}
bool func_80091DF4(Object_2F4* obj2F4) {
bool func_80091DF4(Actor* actor) {
Vec3f sp44;
Vec3f sp38;
if ((obj2F4->unk_050 != 0) && (D_80177848 > 70)) {
obj2F4->unk_050 = 0;
if ((actor->iwork[0] != 0) && (D_80177848 > 70)) {
actor->iwork[0] = 0;
sp44.x = 0.0f;
sp44.y = 0.0f;
sp44.z = 100.0f;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp44, &sp38);
func_8006EEFC(obj2F4->unk_0E4, obj2F4->obj.pos.x + (sp38.x * 1.5), obj2F4->obj.pos.y + (sp38.y * 1.5),
obj2F4->obj.pos.z + (sp38.z * 1.5), sp38.x, sp38.y, sp38.z, obj2F4->obj.rot.x, obj2F4->obj.rot.y,
obj2F4->obj.rot.z);
func_8006EEFC(actor->unk_0E4, actor->obj.pos.x + (sp38.x * 1.5), actor->obj.pos.y + (sp38.y * 1.5),
actor->obj.pos.z + (sp38.z * 1.5), sp38.x, sp38.y, sp38.z, actor->obj.rot.x, actor->obj.rot.y,
actor->obj.rot.z);
}
return false;
}
bool func_80091F00(Object_2F4* obj2F4) {
u8 temp_v0 = obj2F4->unk_0D0;
bool func_80091F00(Actor* actor) {
u8 temp_v0 = actor->unk_0D0;
Vec3f sp40;
Vec3f sp34;
obj2F4->unk_0D0 = 0;
actor->unk_0D0 = 0;
if ((obj2F4->unk_0B8 == 3) || (temp_v0 == 2)) {
if ((actor->unk_0B8 == 3) || (temp_v0 == 2)) {
return false;
}
obj2F4->unk_0CE -= obj2F4->unk_0D6;
if (obj2F4->unk_0CE <= 0) {
obj2F4->unk_0CE = -1;
actor->unk_0CE -= actor->unk_0D6;
if (actor->unk_0CE <= 0) {
actor->unk_0CE = -1;
}
obj2F4->timer_0C6 = 20;
actor->timer_0C6 = 20;
Audio_PlaySfx(0x2903300E, &obj2F4->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
func_8007D10C(obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, 1.5f);
Matrix_RotateY(gCalcMatrix, obj2F4->unk_0F4.y * M_DTOR, 0);
Audio_PlaySfx(0x2903300E, &actor->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
func_8007D10C(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 1.5f);
Matrix_RotateY(gCalcMatrix, actor->unk_0F4.y * M_DTOR, 0);
if (Rand_ZeroOne() < 0.5f) {
sp40.x = -20.0f;
@@ -2100,18 +2099,18 @@ bool func_80091F00(Object_2F4* obj2F4) {
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp40, &sp34);
obj2F4->unk_148 = sp34.x;
obj2F4->unk_14C = sp34.y;
obj2F4->unk_144 = sp34.z;
actor->fwork[13] = sp34.x;
actor->fwork[14] = sp34.y;
actor->fwork[12] = sp34.z;
gTeamShields[obj2F4->unk_0E4] = obj2F4->unk_0CE;
gTeamShields[actor->unk_0E4] = actor->unk_0CE;
if (gRadioState != 0) {
return false;
}
if ((obj2F4->unk_0D0 == 3) && (obj2F4->unk_0D4 == 1)) {
switch (obj2F4->unk_0E4) {
if ((actor->unk_0D0 == 3) && (actor->unk_0D4 == 1)) {
switch (actor->unk_0E4) {
case 1:
func_800BA808(gMsg_ID_20210, RCID_FALCO);
break;
@@ -2124,8 +2123,8 @@ bool func_80091F00(Object_2F4* obj2F4) {
}
}
if ((obj2F4->unk_0D0 != 3) && (obj2F4->unk_0D4 == 1)) {
switch (obj2F4->unk_0E4) {
if ((actor->unk_0D0 != 3) && (actor->unk_0D4 == 1)) {
switch (actor->unk_0E4) {
case 1:
func_800BA808(gMsg_ID_20060, RCID_FALCO);
break;
@@ -2138,8 +2137,8 @@ bool func_80091F00(Object_2F4* obj2F4) {
}
}
if ((obj2F4->unk_0D4 == 2) || (obj2F4->unk_0D4 == 100)) {
switch (obj2F4->unk_0E4) {
if ((actor->unk_0D4 == 2) || (actor->unk_0D4 == 100)) {
switch (actor->unk_0E4) {
case 1:
func_800BA808(gMsg_ID_20030, RCID_FALCO);
break;
@@ -2151,47 +2150,47 @@ bool func_80091F00(Object_2F4* obj2F4) {
break;
}
}
obj2F4->unk_070 = 20;
actor->iwork[8] = 20;
return false;
}
void func_80092244(Object_2F4* obj2F4) {
gUnkEntities28[obj2F4->index].unk_00 = 1;
gUnkEntities28[obj2F4->index].unk_02 = obj2F4->unk_0E4;
gUnkEntities28[obj2F4->index].pos.x = obj2F4->obj.pos.x;
gUnkEntities28[obj2F4->index].pos.y = obj2F4->obj.pos.y;
gUnkEntities28[obj2F4->index].pos.z = obj2F4->obj.pos.z;
gUnkEntities28[obj2F4->index].unk_10 = obj2F4->unk_0F4.y + 180.0f;
void func_80092244(Actor* actor) {
gUnkEntities28[actor->index].unk_00 = 1;
gUnkEntities28[actor->index].unk_02 = actor->unk_0E4;
gUnkEntities28[actor->index].pos.x = actor->obj.pos.x;
gUnkEntities28[actor->index].pos.y = actor->obj.pos.y;
gUnkEntities28[actor->index].pos.z = actor->obj.pos.z;
gUnkEntities28[actor->index].unk_10 = actor->unk_0F4.y + 180.0f;
}
void func_800922F4(Object_2F4* obj2F4) {
void func_800922F4(Actor* actor) {
s32 temp;
if ((gTeamShields[obj2F4->unk_0E4] < 64) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_7)) {
if ((gTeamShields[actor->unk_0E4] < 64) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_7)) {
temp = 7;
if (gTeamShields[obj2F4->unk_0E4] > 16) {
if (gTeamShields[actor->unk_0E4] > 16) {
temp = 15;
}
if (gTeamShields[obj2F4->unk_0E4] > 32) {
if (gTeamShields[actor->unk_0E4] > 32) {
temp = 31;
}
if (gTeamShields[obj2F4->unk_0E4] > 48) {
if (gTeamShields[actor->unk_0E4] > 48) {
temp = 63;
}
if (!(gFrameCount & temp)) {
func_8007D10C(obj2F4->obj.pos.x + ((Rand_ZeroOne() - 0.5f) * 10.0f),
obj2F4->obj.pos.y + (Rand_ZeroOne() * 10.0f),
obj2F4->obj.pos.z + ((Rand_ZeroOne() - 0.5f) * 10.0f), 2.2f);
func_8007D10C(actor->obj.pos.x + ((Rand_ZeroOne() - 0.5f) * 10.0f),
actor->obj.pos.y + (Rand_ZeroOne() * 10.0f),
actor->obj.pos.z + ((Rand_ZeroOne() - 0.5f) * 10.0f), 2.2f);
}
if (!((temp >> 2) & gFrameCount)) {
if (Rand_ZeroOne() < 0.5f) {
func_8007C120(obj2F4->obj.pos.x + ((Rand_ZeroOne() - 0.5f) * 30.0f),
obj2F4->obj.pos.y + (Rand_ZeroOne() * 10.0f),
obj2F4->obj.pos.z + ((Rand_ZeroOne() - 0.5f) * 30.0f), obj2F4->vel.x, obj2F4->vel.y,
obj2F4->vel.z, obj2F4->scale * 0.07f, 3);
func_8007C120(actor->obj.pos.x + ((Rand_ZeroOne() - 0.5f) * 30.0f),
actor->obj.pos.y + (Rand_ZeroOne() * 10.0f),
actor->obj.pos.z + ((Rand_ZeroOne() - 0.5f) * 30.0f), actor->vel.x, actor->vel.y,
actor->vel.z, actor->scale * 0.07f, 3);
}
}
}
@@ -2208,16 +2207,16 @@ void func_800922F4(Object_2F4* obj2F4) {
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80093164.s")
void func_80093310(void) {
Object_2F4* this = &gObjects2F4[0];
Actor* this = &gActors[0];
Object_2F4_Initialize(this);
Actor_Initialize(this);
this->obj.status = 1;
this->obj.pos.x = 0.0f;
this->obj.pos.y += 1700.0f;
this->obj.pos.z -= 5000.0f;
gObjects2F4->unk_0B6 = 1;
gActors->unk_0B6 = 1;
if (1) {}
this->obj.id = OBJ_2F4_195;
this->obj.id = OBJ_ACTOR_195;
Object_SetInfo(&this->info, this->obj.id);
Audio_PlaySfx(0x11030010, &this->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
@@ -2352,16 +2351,16 @@ void stub_80094D18(void) {
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80094D20.s")
void func_80095350(Object_2F4* obj2F4) {
Object_2F4_Initialize(obj2F4);
obj2F4->obj.status = 2;
obj2F4->obj.id = OBJ_2F4_195;
obj2F4->unk_0B6 = 9999;
Object_SetInfo(&obj2F4->info, obj2F4->obj.id);
void func_80095350(Actor* actor) {
Actor_Initialize(actor);
actor->obj.status = 2;
actor->obj.id = OBJ_ACTOR_195;
actor->unk_0B6 = 9999;
Object_SetInfo(&actor->info, actor->obj.id);
}
#ifdef IMPORT_DATA_PENDING
void func_800953A0(Object_2F4* obj_2F4, s32 arg1) {
void func_800953A0(Actor* actor, s32 arg1) {
Vec3f D_800D2510[] = {
{ 1800.0f, 0.0f, -4000.0f },
{ -1000.0f, 0.0f, -4800.0f },
@@ -2369,51 +2368,51 @@ void func_800953A0(Object_2F4* obj_2F4, s32 arg1) {
{ -200.0f, 0.0f, -7000.0f },
};
Object_2F4_Initialize(obj_2F4);
obj_2F4->obj.status = 2;
obj_2F4->obj.id = OBJ_2F4_195;
obj_2F4->obj.pos = D_800D2510[arg1];
obj_2F4->obj.pos.z -= D_80177D20;
obj_2F4->unk_0B6 = 45;
Object_SetInfo(&obj_2F4->info, obj_2F4->obj.id);
Actor_Initialize(actor);
actor->obj.status = 2;
actor->obj.id = OBJ_ACTOR_195;
actor->obj.pos = D_800D2510[arg1];
actor->obj.pos.z -= D_80177D20;
actor->unk_0B6 = 45;
Object_SetInfo(&actor->info, actor->obj.id);
}
#else
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_800953A0.s")
#endif
#ifdef IMPORT_DATA_PENDING
void func_8009546C(Object_2F4* obj2F4, s32 arg1) {
void func_8009546C(Actor* actor, s32 arg1) {
Vec3f D_800D2540[] = {
{ 1300.0f, 0.0f, -2000.0f }, { -1000.0f, 0.0f, -3000.0f }, { 800.0f, 0.0f, 0.0f },
{ -1200.0f, 0.0f, -1000.0f }, { -1400.0f, 0.0f, 700.0f },
};
Object_2F4_Initialize(obj2F4);
obj2F4->obj.status = 2;
obj2F4->obj.id = OBJ_2F4_195;
obj2F4->obj.pos = D_800D2540[arg1];
obj2F4->obj.pos.z -= D_80177D20;
obj2F4->unk_0B6 = 46;
Object_SetInfo(&obj2F4->info, obj2F4->obj.id);
Actor_Initialize(actor);
actor->obj.status = 2;
actor->obj.id = OBJ_ACTOR_195;
actor->obj.pos = D_800D2540[arg1];
actor->obj.pos.z -= D_80177D20;
actor->unk_0B6 = 46;
Object_SetInfo(&actor->info, actor->obj.id);
}
#else
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_8009546C.s")
#endif
#ifdef IMPORT_DATA_PENDING
void func_80095538(Object_2F4* obj_2F4, s32 arg1) {
void func_80095538(Actor* actor, s32 arg1) {
Vec3f D_800D257C[] = {
{ 0.0f, 0.0f, -200.0f }, { -300.0f, 0.0f, -700.0f }, { 400.0f, 0.0f, -900.0f },
{ 300.0f, 0.0f, -1700.0f }, { -260.0f, 0.0f, -2000.0f }, { -200.0f, 0.0f, -2600.0f },
};
Object_2F4_Initialize(obj_2F4);
obj_2F4->obj.status = 2;
obj_2F4->obj.id = OBJ_2F4_195;
obj_2F4->obj.pos = D_800D257C[arg1];
obj_2F4->obj.pos.z -= D_80177D20;
obj_2F4->unk_0B6 = 47;
Object_SetInfo(&obj_2F4->info, obj_2F4->obj.id);
Actor_Initialize(actor);
actor->obj.status = 2;
actor->obj.id = OBJ_ACTOR_195;
actor->obj.pos = D_800D257C[arg1];
actor->obj.pos.z -= D_80177D20;
actor->unk_0B6 = 47;
Object_SetInfo(&actor->info, actor->obj.id);
}
#else
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_hud/func_80095538.s")
+4 -142
View File
@@ -1,146 +1,8 @@
#include "global.h"
#include "DF4260.h"
static s32 D_DF4260_801997D0 = 0;
s32 D_DF4260_8019B6C0;
void func_DF4260_80187520(s32 arg0, void* arg1) {
}
void func_DF4260_80187530(Object_80* obj80) {
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018753C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_801875A4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_80187670.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_80187710.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_801877A0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_80187838.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_801878D8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018798C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_801879F0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_80187A38.s")
f32 func_DF4260_80187A88(s32 arg0) {
f32 ret = arg0 * 0.5f;
if (ret > 8.0f) {
ret = 8.0f;
}
return ret;
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_80187AC8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_80188750.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_801887AC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_80188A18.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_80188C7C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_80188D50.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_80189058.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018A434.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018A730.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018AA74.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018AB08.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018AB64.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018ACE0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018AED0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018B0B4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018B15C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018B418.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018B58C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018BAAC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018BAFC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018BBA4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018BBF8.s")
bool func_DF4260_8018BC50(s32 arg0, Gfx** arg1, Vec3f* arg2, Vec3f* arg3, UnkStruct_func_DF4260_8018BC50* arg4) {
if ((arg4->unkB8 == 0x65) && (arg0 != 8)) {
*arg1 = NULL;
}
return false;
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018BC84.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018BD7C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018BDD4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018BE7C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018C0B0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018C19C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018DDAC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018E290.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018E76C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018EC54.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018ECAC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018ED1C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018ED78.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018EE2C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018EE84.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018EF38.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018EF90.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018F044.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018F1C8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018F31C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018F3BC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018F4A4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018F55C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018F678.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018F6F8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_8018F880.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_80190F74.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/func_DF4260_80191160.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DF4260/D_DF4260_8019AEF0.s")
-18
View File
@@ -1,18 +0,0 @@
#ifndef OVL_DF4260_H
#define OVL_DF4260_H
#include "global.h"
typedef struct {
/* 0x00 */ char pad_0[0xB8];
/* 0xB8 */ s16 unkB8;
} UnkStruct_func_DF4260_8018BC50;
typedef struct {
/* 0x00 */ char pad_0[0x6C];
/* 0x6C */ f32 unk6C;
/* 0x70 */ f32 unk70;
/* 0x74 */ f32 unk74;
} UnkStruct_func_DF4260_80187A38;
#endif
+3 -3
View File
@@ -32,9 +32,9 @@ void func_DF4260_801924A8(Object_80* arg0) {
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DFEE30/func_DF4260_80192AA4.s")
void func_DF4260_80192CB0(Object_2F4* obj2F4) {
obj2F4->unk_050 = obj2F4->obj.rot.x;
obj2F4->obj.rot.x = 0.0f;
void func_DF4260_80192CB0(Actor* actor) {
actor->iwork[0] = actor->obj.rot.x;
actor->obj.rot.x = 0.0f;
}
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_DF4260/DFEE30/func_DF4260_80192CD4.s")
File diff suppressed because it is too large Load Diff
+212 -212
View File
@@ -149,34 +149,34 @@ f32 D_E16C50_801BF494[12] = {
-90.0f, 30.0f, 26.0f, 22.0f, 18.0f, 11.0f, 8.0f, 5.0f, 3.0f, 2.0f, 1.0f, 0.0f,
};
void func_E16C50_80187530(Object_2F4* obj2F4, f32 xPos, f32 yPos, f32 zPos, f32 unk124y, f32 xRot, f32 yRot,
s32 timer0BC, s32 unk0B4) {
void func_E16C50_80187530(Actor* actor, f32 xPos, f32 yPos, f32 zPos, f32 fwork6, f32 xRot, f32 yRot, s32 timer0BC,
s32 unk0B4) {
(void) "おん\n";
(void) "おふ\n";
Object_2F4_Initialize(obj2F4);
obj2F4->obj.status = 1;
obj2F4->obj.id = OBJ_2F4_191;
obj2F4->obj.pos.x = xPos;
obj2F4->obj.pos.y = yPos;
obj2F4->obj.pos.z = zPos;
obj2F4->obj.rot.x = xRot;
obj2F4->obj.rot.y = yRot;
obj2F4->timer_0BC = timer0BC;
obj2F4->timer_0BE = 20;
obj2F4->unk_0B4 = unk0B4;
obj2F4->unk_124.y = unk124y;
Object_SetInfo(&obj2F4->info, obj2F4->obj.id);
func_8007A6F0(&obj2F4->obj.pos, 0x2903201B);
Actor_Initialize(actor);
actor->obj.status = 1;
actor->obj.id = OBJ_ACTOR_191;
actor->obj.pos.x = xPos;
actor->obj.pos.y = yPos;
actor->obj.pos.z = zPos;
actor->obj.rot.x = xRot;
actor->obj.rot.y = yRot;
actor->timer_0BC = timer0BC;
actor->timer_0BE = 20;
actor->unk_0B4 = unk0B4;
actor->fwork[5] = fwork6;
Object_SetInfo(&actor->info, actor->obj.id);
func_8007A6F0(&actor->obj.pos, 0x2903201B);
}
void func_E16C50_801875E4(f32 xPos, f32 yPos, f32 zPos, f32 unk124y, f32 xRot, f32 yRot, s32 timer0BC, s32 unk0B4) {
void func_E16C50_801875E4(f32 xPos, f32 yPos, f32 zPos, f32 fwork6, f32 xRot, f32 yRot, s32 timer0BC, s32 unk0B4) {
s32 i;
Object_2F4* obj2F4;
Actor* actor;
for (i = 0, obj2F4 = gObjects2F4; i < ARRAY_COUNT(gObjects2F4); i++, obj2F4++) {
if (obj2F4->obj.status == 0) {
func_E16C50_80187530(obj2F4, xPos, yPos, zPos, unk124y, xRot, yRot, timer0BC, unk0B4);
for (i = 0, actor = gActors; i < ARRAY_COUNT(gActors); i++, actor++) {
if (actor->obj.status == 0) {
func_E16C50_80187530(actor, xPos, yPos, zPos, fwork6, xRot, yRot, timer0BC, unk0B4);
D_E16C50_801C2250.unk_00[11] = i + 1;
break;
}
@@ -809,7 +809,7 @@ void func_E16C50_80187944(Boss* bossA6) {
if (temp_1 < 0) {
temp_1 = 0;
}
if ((gObjects2F4[temp_1].obj.status == 0) || (gObjects2F4[temp_1].obj.id != OBJ_2F4_191) ||
if ((gActors[temp_1].obj.status == 0) || (gActors[temp_1].obj.id != OBJ_ACTOR_191) ||
(D_E16C50_801C2250.unk_00[24] == 0)) {
D_E16C50_801C2250.unk_00[12 + i] = 0;
temp_1 = 0;
@@ -1706,60 +1706,60 @@ void func_E16C50_8018D3CC(s32 arg0, f32 xPos, f32 yPos, f32 zPos, f32 xVel, f32
}
}
void func_E16C50_8018D4E0(Object_2F4* obj2F4) {
void func_E16C50_8018D4E0(Actor* actor) {
s32 i;
func_8007BFFC(obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, 0.0f, 0.0f, 0.0f, 4.0f, 0x14);
func_8007D2C8(obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, 7.0f);
func_8007B344(obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, 6.0f, 5);
Object_Kill(&obj2F4->obj, &obj2F4->sfxPos);
func_8007BFFC(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 0.0f, 0.0f, 0.0f, 4.0f, 0x14);
func_8007D2C8(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 7.0f);
func_8007B344(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 6.0f, 5);
Object_Kill(&actor->obj, &actor->sfxPos);
for (i = 0; i < 15; i++) {
func_800794CC(obj2F4->obj.pos.x, obj2F4->obj.pos.y, obj2F4->obj.pos.z, 1.0f);
func_800794CC(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 1.0f);
}
func_8007A6F0(&obj2F4->obj.pos, 0x2903B009);
func_8007A6F0(&actor->obj.pos, 0x2903B009);
}
void func_E16C50_8018D5C8(void) {
s32 i = 0;
Object_2F4_Initialize(&gObjects2F4[i]);
gObjects2F4[i].obj.status = 1;
gObjects2F4[i].obj.pos.x = 1600.0f;
gObjects2F4[i].obj.pos.y = 3750.0f;
gObjects2F4[i].obj.pos.z = 13000.0f;
gObjects2F4[i].unk_0B6 = 1;
gObjects2F4[i].unk_0B8 = 90;
gObjects2F4[i].unk_114 = 0.0f;
gObjects2F4[i].obj.id = OBJ_2F4_195;
Object_SetInfo(&gObjects2F4[i].info, gObjects2F4[i].obj.id);
Audio_PlaySfx(0x11030010, &gObjects2F4[i].sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
Actor_Initialize(&gActors[i]);
gActors[i].obj.status = 1;
gActors[i].obj.pos.x = 1600.0f;
gActors[i].obj.pos.y = 3750.0f;
gActors[i].obj.pos.z = 13000.0f;
gActors[i].unk_0B6 = 1;
gActors[i].unk_0B8 = 90;
gActors[i].fwork[0] = 0.0f;
gActors[i].obj.id = OBJ_ACTOR_195;
Object_SetInfo(&gActors[i].info, gActors[i].obj.id);
Audio_PlaySfx(0x11030010, &gActors[i].sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
void func_E16C50_8018D694(Object_2F4* obj2F4, s32 arg1) {
void func_E16C50_8018D694(Actor* actor, s32 arg1) {
Vec3f sp2C[5] = {
{ -150.0f, 0.0f, 200.0f }, { 0.0f, 50.0f, 0.0f }, { 150.0f, -50.0f, 100.0f },
{ -350.0f, 100.0f, 300.0f }, { 100.0f, -300.0f, 100.0f },
};
Object_2F4_Initialize(obj2F4);
obj2F4->obj.status = 2;
obj2F4->obj.id = OBJ_2F4_195;
obj2F4->obj.pos.x = sp2C[arg1].x + 100.0f;
obj2F4->obj.pos.y = sp2C[arg1].y + 350.0f;
obj2F4->obj.pos.z = sp2C[arg1].z + 1000.0f;
obj2F4->unk_0B8 = 1;
obj2F4->unk_0B6 = 28;
obj2F4->unk_07C = 1;
obj2F4->unk_0F4.y = 90.0f;
obj2F4->unk_114 = 1.5f;
obj2F4->unk_130 = Rand_ZeroOneSeeded() * 360.0f;
obj2F4->unk_134 = Rand_ZeroOneSeeded() * 360.0f;
obj2F4->unk_138 = Rand_ZeroOneSeeded() * 360.0f;
Object_SetInfo(&obj2F4->info, obj2F4->obj.id);
Audio_PlaySfx(0x31000011, &obj2F4->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
Actor_Initialize(actor);
actor->obj.status = 2;
actor->obj.id = OBJ_ACTOR_195;
actor->obj.pos.x = sp2C[arg1].x + 100.0f;
actor->obj.pos.y = sp2C[arg1].y + 350.0f;
actor->obj.pos.z = sp2C[arg1].z + 1000.0f;
actor->unk_0B8 = 1;
actor->unk_0B6 = 28;
actor->iwork[11] = 1;
actor->unk_0F4.y = 90.0f;
actor->fwork[0] = 1.5f;
actor->fwork[7] = Rand_ZeroOneSeeded() * 360.0f;
actor->fwork[8] = Rand_ZeroOneSeeded() * 360.0f;
actor->fwork[9] = Rand_ZeroOneSeeded() * 360.0f;
Object_SetInfo(&actor->info, actor->obj.id);
Audio_PlaySfx(0x31000011, &actor->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
void func_E16C50_8018D804(Object_2F4* obj2F4, s32 arg1) {
void func_E16C50_8018D804(Actor* actor, s32 arg1) {
Vec3f sp2C[3] = {
{ -200.0f, 0.0f, -500.0f },
{ 200.0f, 30.0f, -600.0f },
@@ -1767,17 +1767,17 @@ void func_E16C50_8018D804(Object_2F4* obj2F4, s32 arg1) {
};
Player* player = &gPlayer[0];
Object_2F4_Initialize(obj2F4);
obj2F4->obj.status = 2;
obj2F4->obj.id = OBJ_2F4_195;
obj2F4->obj.pos.x = sp2C[arg1].x + player->pos.x;
obj2F4->obj.pos.y = sp2C[arg1].y + player->pos.y;
obj2F4->obj.pos.z = sp2C[arg1].z + player->pos.z;
obj2F4->unk_0B8 = 5;
obj2F4->unk_07C = 1;
obj2F4->unk_114 = 0.0f;
Object_SetInfo(&obj2F4->info, obj2F4->obj.id);
Audio_PlaySfx(0x3100000C, &obj2F4->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
Actor_Initialize(actor);
actor->obj.status = 2;
actor->obj.id = OBJ_ACTOR_195;
actor->obj.pos.x = sp2C[arg1].x + player->pos.x;
actor->obj.pos.y = sp2C[arg1].y + player->pos.y;
actor->obj.pos.z = sp2C[arg1].z + player->pos.z;
actor->unk_0B8 = 5;
actor->iwork[11] = 1;
actor->fwork[0] = 0.0f;
Object_SetInfo(&actor->info, actor->obj.id);
Audio_PlaySfx(0x3100000C, &actor->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
void func_E16C50_8018D920(Vec3f* arg0) {
@@ -1798,7 +1798,7 @@ void func_E16C50_8018D920(Vec3f* arg0) {
func_E16C50_8018D3CC(100, arg0->x, arg0->y, arg0->z, sp44.x, sp44.y, sp44.z, sp5C, sp60, 0.0f);
}
void func_E16C50_8018DA58(Object_2F4* obj2F4) {
void func_E16C50_8018DA58(Actor* actor) {
Vec3f sp5C;
Vec3f sp50;
f32 sp4C;
@@ -1808,37 +1808,37 @@ void func_E16C50_8018DA58(Object_2F4* obj2F4) {
f32 sp3C;
f32 sp38;
switch (obj2F4->unk_0B8) { /* irregular */
switch (actor->unk_0B8) { /* irregular */
case 1:
obj2F4->unk_130 += 2.5f;
obj2F4->unk_0F4.z = __sinf(obj2F4->unk_130 * M_DTOR) * 10.0f;
obj2F4->unk_134 += 1.0f;
obj2F4->obj.pos.y += __sinf(obj2F4->unk_134 * M_DTOR) * 1.5f;
obj2F4->unk_138 += 1.0f;
obj2F4->obj.pos.z += __cosf(obj2F4->unk_138 * M_DTOR) * 1.5f;
actor->fwork[7] += 2.5f;
actor->unk_0F4.z = __sinf(actor->fwork[7] * M_DTOR) * 10.0f;
actor->fwork[8] += 1.0f;
actor->obj.pos.y += __sinf(actor->fwork[8] * M_DTOR) * 1.5f;
actor->fwork[9] += 1.0f;
actor->obj.pos.z += __cosf(actor->fwork[9] * M_DTOR) * 1.5f;
break;
case 2:
Math_SmoothStepToF(&obj2F4->unk_0F4.z, -180.0f, 0.1f, 3.0f, 0.0f);
Math_SmoothStepToF(&actor->unk_0F4.z, -180.0f, 0.1f, 3.0f, 0.0f);
break;
case 3:
Math_SmoothStepToF(&obj2F4->unk_0F4.z, -45.0f, 0.05f, 2.0f, 0.0f);
Math_SmoothStepToAngle(&obj2F4->unk_0F4.y, 340.0f, 0.05f, 2.4f, 0.0f);
Math_SmoothStepToF(&obj2F4->unk_0F4.x, 3.0f, 0.05f, 1.0f, 0.0f);
Math_SmoothStepToF(&obj2F4->unk_114, 30.0f, 0.1f, 3.0f, 0.0f);
Math_SmoothStepToF(&actor->unk_0F4.z, -45.0f, 0.05f, 2.0f, 0.0f);
Math_SmoothStepToAngle(&actor->unk_0F4.y, 340.0f, 0.05f, 2.4f, 0.0f);
Math_SmoothStepToF(&actor->unk_0F4.x, 3.0f, 0.05f, 1.0f, 0.0f);
Math_SmoothStepToF(&actor->fwork[0], 30.0f, 0.1f, 3.0f, 0.0f);
break;
case 6:
case 11:
case 16:
obj2F4->unk_0B8++;
Audio_PlaySfx(0x09000002, &obj2F4->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
obj2F4->unk_188 = 5.0f;
actor->unk_0B8++;
Audio_PlaySfx(0x09000002, &actor->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
actor->fwork[29] = 5.0f;
/* fallthrough */
case 7:
case 12:
case 17:
obj2F4->unk_07C = 2;
Math_SmoothStepToF(&obj2F4->unk_114, 50.0f, 0.1f, 3.0f, 0.01f);
switch (obj2F4->unk_0B8) {
actor->iwork[11] = 2;
Math_SmoothStepToF(&actor->fwork[0], 50.0f, 0.1f, 3.0f, 0.01f);
switch (actor->unk_0B8) {
case 7:
sp48 = -100.0f;
sp4C = 100.0f;
@@ -1863,29 +1863,29 @@ void func_E16C50_8018DA58(Object_2F4* obj2F4) {
if (sp40 > 180.0f) {
sp40 = 0.0f;
}
sp38 = Math_SmoothStepToAngle(&obj2F4->unk_0F4.y, sp3C, 0.5f, 2.0f, 0.0001f) * 30.0f;
Math_SmoothStepToAngle(&obj2F4->unk_0F4.x, sp40, 0.5f, 2.0f, 0.0001f);
Math_SmoothStepToAngle(&obj2F4->unk_0F4.z, sp38, 0.1f, 5.0f, 0.0001f);
sp38 = Math_SmoothStepToAngle(&actor->unk_0F4.y, sp3C, 0.5f, 2.0f, 0.0001f) * 30.0f;
Math_SmoothStepToAngle(&actor->unk_0F4.x, sp40, 0.5f, 2.0f, 0.0001f);
Math_SmoothStepToAngle(&actor->unk_0F4.z, sp38, 0.1f, 5.0f, 0.0001f);
break;
case 91:
Math_SmoothStepToF(&obj2F4->obj.pos.y, 0.0f, 0.1f, 5.0f, 0.1f);
Math_SmoothStepToF(&obj2F4->obj.pos.z, 0.0f, 1.0f, 20.0f, 20.0f);
Math_SmoothStepToF(&actor->obj.pos.y, 0.0f, 0.1f, 5.0f, 0.1f);
Math_SmoothStepToF(&actor->obj.pos.z, 0.0f, 1.0f, 20.0f, 20.0f);
break;
case 90:
break;
}
Matrix_RotateY(gCalcMatrix, (obj2F4->unk_0F4.y + 180.0f) * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, -(obj2F4->unk_0F4.x * M_DTOR), 1);
Matrix_RotateY(gCalcMatrix, (actor->unk_0F4.y + 180.0f) * M_DTOR, 0);
Matrix_RotateX(gCalcMatrix, -(actor->unk_0F4.x * M_DTOR), 1);
sp5C.x = 0.0f;
sp5C.y = 0.0f;
sp5C.z = obj2F4->unk_114;
sp5C.z = actor->fwork[0];
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp5C, &sp50);
obj2F4->vel.x = sp50.x;
obj2F4->vel.y = sp50.y;
obj2F4->vel.z = sp50.z;
obj2F4->obj.rot.x = -obj2F4->unk_0F4.x;
obj2F4->obj.rot.y = obj2F4->unk_0F4.y + 180.0f;
obj2F4->obj.rot.z = -obj2F4->unk_0F4.z;
actor->vel.x = sp50.x;
actor->vel.y = sp50.y;
actor->vel.z = sp50.z;
actor->obj.rot.x = -actor->unk_0F4.x;
actor->obj.rot.y = actor->unk_0F4.y + 180.0f;
actor->obj.rot.z = -actor->unk_0F4.z;
}
void func_E16C50_8018DF74(Player* player) {
@@ -1902,36 +1902,36 @@ void func_E16C50_8018DF74(Player* player) {
D_80177A80 = 0;
player->unk_1D0 = 1;
Rand_SetSeed(1, 29000, 9876);
func_E16C50_8018D694(&gObjects2F4[1], 0);
func_E16C50_8018D694(&gObjects2F4[2], 1);
func_E16C50_8018D694(&gObjects2F4[6], 2);
func_E16C50_8018D694(&gObjects2F4[7], 3);
func_E16C50_8018D694(&gObjects2F4[8], 4);
func_E16C50_8018D694(&gActors[1], 0);
func_E16C50_8018D694(&gActors[2], 1);
func_E16C50_8018D694(&gActors[6], 2);
func_E16C50_8018D694(&gActors[7], 3);
func_E16C50_8018D694(&gActors[8], 4);
func_E16C50_8018D5C8();
player->pos.x = 0.0f;
player->pos.y = 350.0f;
player->pos.z = 16000.0f;
player->unk_0D0 = 30.0f;
if (gTeamShields[1] > 0) {
func_E16C50_8018D804(&gObjects2F4[3], 0);
func_E16C50_8018D804(&gActors[3], 0);
}
if (gTeamShields[2] > 0) {
func_E16C50_8018D804(&gObjects2F4[4], 1);
func_E16C50_8018D804(&gActors[4], 1);
}
if (gTeamShields[3] > 0) {
func_E16C50_8018D804(&gObjects2F4[5], 2);
func_E16C50_8018D804(&gActors[5], 2);
}
gObjects2F4[0].unk_114 = 20.0f;
gObjects2F4[3].unk_114 = 30.0f;
gObjects2F4[4].unk_114 = 30.0f;
gObjects2F4[5].unk_114 = 30.0f;
gActors[0].fwork[0] = 20.0f;
gActors[3].fwork[0] = 30.0f;
gActors[4].fwork[0] = 30.0f;
gActors[5].fwork[0] = 30.0f;
D_80177A48[4] = 270.0f;
D_80177A48[5] = 1000.0f;
D_80177A48[6] = 1100.0f;
D_80177A48[3] = 0.001f;
/* fallthrough */
case 1:
Math_SmoothStepToF(&gObjects2F4->obj.pos.y, 0.0f, 0.01f, 10.0f, 0.001f);
Math_SmoothStepToF(&gActors->obj.pos.y, 0.0f, 0.01f, 10.0f, 0.001f);
if (D_80177A80 < 490) {
sp74.x = 0.0f;
sp74.y = 0.0f;
@@ -1944,9 +1944,9 @@ void func_E16C50_8018DF74(Player* player) {
D_80177988 = sp68.z;
if (D_80177A80 < 200) {
Math_SmoothStepToF(&D_80177A48[4], 0.0f, 0.05f, 0.56f, 0.001f);
D_801779A0 = gObjects2F4[1].obj.pos.x;
D_801779B8 = gObjects2F4[1].obj.pos.y;
D_801779C0 = gObjects2F4[1].obj.pos.z;
D_801779A0 = gActors[1].obj.pos.x;
D_801779B8 = gActors[1].obj.pos.y;
D_801779C0 = gActors[1].obj.pos.z;
D_80177A48[0] = 1.0f;
D_80177A48[1] = 1.0f;
} else {
@@ -2016,48 +2016,48 @@ void func_E16C50_8018DF74(Player* player) {
break;
case 176:
if (gTeamShields[1] > 0) {
func_E16C50_8018D920(&gObjects2F4[3].obj.pos);
func_E16C50_8018D920(&gActors[3].obj.pos);
}
break;
case 187:
if (gTeamShields[2] > 0) {
func_E16C50_8018D920(&gObjects2F4[4].obj.pos);
func_E16C50_8018D920(&gActors[4].obj.pos);
}
break;
case 198:
if (gTeamShields[3] > 0) {
func_E16C50_8018D920(&gObjects2F4[5].obj.pos);
func_E16C50_8018D920(&gActors[5].obj.pos);
}
break;
case 199:
func_E16C50_8018D4E0(&gObjects2F4[1]);
func_E16C50_8018D4E0(&gActors[1]);
break;
case 210:
func_800BA808(gMsg_ID_7006, RCID_CAIMAN_AREA6);
break;
case 240:
gObjects2F4[2].unk_0B8 = 3;
gActors[2].unk_0B8 = 3;
break;
case 250:
gObjects2F4[6].unk_0B8 = 3;
gActors[6].unk_0B8 = 3;
break;
case 260:
gObjects2F4[7].unk_0B8 = 3;
gActors[7].unk_0B8 = 3;
break;
case 270:
gObjects2F4[8].unk_0B8 = 3;
gActors[8].unk_0B8 = 3;
break;
case 360:
func_800BA808(gMsg_ID_7011, RCID_FALCO);
break;
case 430:
gObjects2F4[5].unk_0B8 = 16;
gActors[5].unk_0B8 = 16;
break;
case 440:
gObjects2F4[4].unk_0B8 = 11;
gActors[4].unk_0B8 = 11;
break;
case 450:
gObjects2F4[3].unk_0B8 = 6;
gActors[3].unk_0B8 = 6;
break;
case 480:
func_800A6148();
@@ -2087,46 +2087,46 @@ void func_E16C50_8018DF74(Player* player) {
Math_SmoothStepToF(&player->camAt.z, D_801779C0, D_80177A48[1], 50000.0f, 0.001f);
}
void func_E16C50_8018EA88(Object_2F4* obj2F4) {
Object_2F4_Initialize(obj2F4);
obj2F4->obj.status = 2;
obj2F4->obj.id = OBJ_2F4_195;
obj2F4->obj.pos.x = 0.0f;
obj2F4->obj.pos.y = 0.0f;
obj2F4->obj.pos.z = gBosses[0].obj.pos.z + 500.0f;
obj2F4->unk_0B6 = 37;
obj2F4->unk_0B8 = 100;
obj2F4->unk_050 = 255;
obj2F4->unk_054 = 255;
obj2F4->unk_058 = 255;
obj2F4->unk_05C = 240;
obj2F4->unk_060 = 0;
obj2F4->unk_064 = 0;
obj2F4->unk_068 = 255;
obj2F4->unk_06C = 100;
obj2F4->unk_124.x = 1.0f;
obj2F4->scale = 1.0f;
Object_SetInfo(&obj2F4->info, obj2F4->obj.id);
void func_E16C50_8018EA88(Actor* actor) {
Actor_Initialize(actor);
actor->obj.status = 2;
actor->obj.id = OBJ_ACTOR_195;
actor->obj.pos.x = 0.0f;
actor->obj.pos.y = 0.0f;
actor->obj.pos.z = gBosses[0].obj.pos.z + 500.0f;
actor->unk_0B6 = 37;
actor->unk_0B8 = 100;
actor->iwork[0] = 255;
actor->iwork[1] = 255;
actor->iwork[2] = 255;
actor->iwork[3] = 240;
actor->iwork[4] = 0;
actor->iwork[5] = 0;
actor->iwork[6] = 255;
actor->iwork[7] = 100;
actor->fwork[4] = 1.0f;
actor->scale = 1.0f;
Object_SetInfo(&actor->info, actor->obj.id);
}
void func_E16C50_8018EB3C(Object_2F4* obj2F4) {
void func_E16C50_8018EB3C(Actor* actor) {
Player* player = &gPlayer[0];
Object_2F4_Initialize(obj2F4);
obj2F4->obj.status = 1;
obj2F4->obj.id = OBJ_2F4_195;
obj2F4->obj.pos.x = player->pos.x;
obj2F4->obj.pos.y = player->pos.y + 600.0f;
obj2F4->obj.pos.z = player->pos.z + 2800.0f;
obj2F4->unk_0B6 = 1;
obj2F4->unk_0B8 = 100;
obj2F4->unk_114 = 0.0f;
Object_SetInfo(&obj2F4->info, obj2F4->obj.id);
Audio_PlaySfx(0x11030010, &obj2F4->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
Audio_PlaySfx(0x31024059, &obj2F4->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
Actor_Initialize(actor);
actor->obj.status = 1;
actor->obj.id = OBJ_ACTOR_195;
actor->obj.pos.x = player->pos.x;
actor->obj.pos.y = player->pos.y + 600.0f;
actor->obj.pos.z = player->pos.z + 2800.0f;
actor->unk_0B6 = 1;
actor->unk_0B8 = 100;
actor->fwork[0] = 0.0f;
Object_SetInfo(&actor->info, actor->obj.id);
Audio_PlaySfx(0x11030010, &actor->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
Audio_PlaySfx(0x31024059, &actor->sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
void func_E16C50_8018EC38(Object_2F4* obj2F4, s32 arg1) {
void func_E16C50_8018EC38(Actor* actor, s32 arg1) {
Vec3f sp2C[3] = {
{ -150.0f, 40.0f, 75.0f },
{ 150.0f, 40.0f, 150.0f },
@@ -2135,20 +2135,20 @@ void func_E16C50_8018EC38(Object_2F4* obj2F4, s32 arg1) {
Player* player = &gPlayer[0];
if (gTeamShields[arg1 + 1] > 0) {
Object_2F4_Initialize(obj2F4);
obj2F4->obj.status = 2;
obj2F4->obj.id = OBJ_2F4_195;
obj2F4->obj.pos.x = sp2C[arg1].x + player->pos.x;
obj2F4->obj.pos.y = sp2C[arg1].y + player->pos.y;
obj2F4->obj.pos.z = sp2C[arg1].z + player->pos.z;
obj2F4->unk_0B8 = 0x64;
obj2F4->unk_07C = 1;
obj2F4->unk_114 = 0.0f;
Actor_Initialize(actor);
actor->obj.status = 2;
actor->obj.id = OBJ_ACTOR_195;
actor->obj.pos.x = sp2C[arg1].x + player->pos.x;
actor->obj.pos.y = sp2C[arg1].y + player->pos.y;
actor->obj.pos.z = sp2C[arg1].z + player->pos.z;
actor->unk_0B8 = 0x64;
actor->iwork[11] = 1;
actor->fwork[0] = 0.0f;
if (arg1 + 1 != 3) {
obj2F4->unk_088 = arg1 + 2;
actor->iwork[14] = arg1 + 2;
}
Object_SetInfo(&obj2F4->info, obj2F4->obj.id);
Audio_PlaySfx(0x3100000C, &obj2F4->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
Object_SetInfo(&actor->info, actor->obj.id);
Audio_PlaySfx(0x3100000C, &actor->sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
}
@@ -2212,10 +2212,10 @@ void func_E16C50_8018ED78(Player* player) {
D_801779C0 = gBosses[0].obj.pos.z + D_80177D20;
D_80177A48[0] = 0.04f;
if (D_80177A80 == 140) {
func_E16C50_8018EA88(&gObjects2F4[4]);
func_E16C50_8018EA88(&gObjects2F4[5]);
func_E16C50_8018EA88(&gObjects2F4[6]);
gObjects2F4[4].unk_124.x = 0.5f;
func_E16C50_8018EA88(&gActors[4]);
func_E16C50_8018EA88(&gActors[5]);
func_E16C50_8018EA88(&gActors[6]);
gActors[4].fwork[4] = 0.5f;
}
if (D_80177A80 >= 200) {
if (D_80178340 == 255) {
@@ -2233,29 +2233,29 @@ void func_E16C50_8018ED78(Player* player) {
D_80178348 = D_80178350 = D_80178354 = D_80178340 = 0;
}
if ((D_80177A80 == 146) || (D_80177A80 == 150)) {
Audio_PlaySfx(0x2940F026, &gObjects2F4[5].sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
Audio_PlaySfx(0x2940F026, &gActors[5].sfxPos, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
}
if (D_80177A80 >= 147) {
gObjects2F4[4].unk_05C -= 4;
if (gObjects2F4[4].unk_05C < 0) {
gObjects2F4[4].unk_05C = 0;
gActors[4].iwork[3] -= 4;
if (gActors[4].iwork[3] < 0) {
gActors[4].iwork[3] = 0;
}
gObjects2F4[4].unk_06C -= 4;
if (gObjects2F4[4].unk_06C < 0) {
gObjects2F4[4].unk_06C = 0;
gActors[4].iwork[7] -= 4;
if (gActors[4].iwork[7] < 0) {
gActors[4].iwork[7] = 0;
}
Math_SmoothStepToF(&gObjects2F4[5].unk_124.x, 450.0f, 0.03f, 1000.0f, 1.0f);
Math_SmoothStepToF(&gObjects2F4[5].scale, 450.0f, 0.03f, 1000.0f, 1.0f);
Math_SmoothStepToF(&gActors[5].fwork[4], 450.0f, 0.03f, 1000.0f, 1.0f);
Math_SmoothStepToF(&gActors[5].scale, 450.0f, 0.03f, 1000.0f, 1.0f);
}
if (D_80177A80 >= 161) {
Math_SmoothStepToF(&gObjects2F4[6].unk_124.x, 350.0f, 0.03f, 1000.0f, 1.0f);
Math_SmoothStepToF(&gObjects2F4[6].scale, 350.0f, 0.03f, 1000.0f, 1.0f);
Math_SmoothStepToF(&gActors[6].fwork[4], 350.0f, 0.03f, 1000.0f, 1.0f);
Math_SmoothStepToF(&gActors[6].scale, 350.0f, 0.03f, 1000.0f, 1.0f);
}
if (D_80177A80 >= 141) {
gObjects2F4[4].obj.pos.x = gObjects2F4[5].obj.pos.x = gObjects2F4[6].obj.pos.x = gBosses[0].obj.pos.x;
gObjects2F4[4].obj.pos.y = gObjects2F4[5].obj.pos.y = gObjects2F4[6].obj.pos.y = gBosses[0].obj.pos.y;
gObjects2F4[4].obj.pos.z = gObjects2F4[5].obj.pos.z = gObjects2F4[6].obj.pos.z = gBosses[0].obj.pos.z;
Math_SmoothStepToF(&gObjects2F4[4].scale, 600.0f, 0.03f, 1000.0f, 0.01f);
gActors[4].obj.pos.x = gActors[5].obj.pos.x = gActors[6].obj.pos.x = gBosses[0].obj.pos.x;
gActors[4].obj.pos.y = gActors[5].obj.pos.y = gActors[6].obj.pos.y = gBosses[0].obj.pos.y;
gActors[4].obj.pos.z = gActors[5].obj.pos.z = gActors[6].obj.pos.z = gBosses[0].obj.pos.z;
Math_SmoothStepToF(&gActors[4].scale, 600.0f, 0.03f, 1000.0f, 0.01f);
}
break;
case 2:
@@ -2271,10 +2271,10 @@ void func_E16C50_8018ED78(Player* player) {
player->unk_110 = player->unk_034 = player->unk_12C = player->unk_130 = player->unk_4D8 = 0.0f;
D_8015F984 = (D_80177D20 * 0.00004f) + 0.5f;
func_E16C50_8018EC38(&gObjects2F4[1], 0);
func_E16C50_8018EC38(&gObjects2F4[2], 1);
func_E16C50_8018EC38(&gObjects2F4[3], 2);
func_E16C50_8018EB3C(&gObjects2F4[0]);
func_E16C50_8018EC38(&gActors[1], 0);
func_E16C50_8018EC38(&gActors[2], 1);
func_E16C50_8018EC38(&gActors[3], 2);
func_E16C50_8018EB3C(&gActors[0]);
D_80177A48[5] = 300.0f;
D_80177A48[4] = 0.0f;
D_80177A48[9] = 50.0f;
@@ -2290,10 +2290,10 @@ void func_E16C50_8018ED78(Player* player) {
}
case 3:
Math_SmoothStepToF(&player->pos.y, 0.0f, 0.01f, 10.0f, 0.001f);
Math_SmoothStepToF(&gObjects2F4[1].obj.pos.y, 40.0f, 0.01f, 10.0f, 0.001f);
Math_SmoothStepToF(&gObjects2F4[2].obj.pos.y, 40.0f, 0.01f, 10.0f, 0.001f);
Math_SmoothStepToF(&gObjects2F4[3].obj.pos.y, 88.0f, 0.01f, 10.0f, 0.001f);
Math_SmoothStepToF(&gObjects2F4[0].obj.pos.y, 60.0f, 0.01f, 2.0f, 0.001f);
Math_SmoothStepToF(&gActors[1].obj.pos.y, 40.0f, 0.01f, 10.0f, 0.001f);
Math_SmoothStepToF(&gActors[2].obj.pos.y, 40.0f, 0.01f, 10.0f, 0.001f);
Math_SmoothStepToF(&gActors[3].obj.pos.y, 88.0f, 0.01f, 10.0f, 0.001f);
Math_SmoothStepToF(&gActors[0].obj.pos.y, 60.0f, 0.01f, 2.0f, 0.001f);
if (D_80177A80 < 1077) {
D_80177A48[1] = player->pos.x;
D_80177A48[3] = player->pos.z;
@@ -2333,7 +2333,7 @@ void func_E16C50_8018ED78(Player* player) {
player->camEye.z = D_80177988 = sp6C.z;
if (D_80177A80 == 1076) {
Object_Kill(&gObjects2F4[0].obj, &gObjects2F4[0].sfxPos);
Object_Kill(&gActors[0].obj, &gActors[0].sfxPos);
player->unk_190 = 2.0f;
player->unk_194 = 5.0f;
Audio_PlaySfx(0x09000002, &player->unk_460, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
@@ -2386,26 +2386,26 @@ void func_E16C50_8018ED78(Player* player) {
func_800BA808(gMsg_ID_7093, RCID_FOX);
break;
case 1070: /* switch 1 */
gObjects2F4[1].unk_188 = 5.0f;
Audio_PlaySfx(0x09000002, &gObjects2F4[1].sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
gActors[1].fwork[29] = 5.0f;
Audio_PlaySfx(0x09000002, &gActors[1].sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
break;
case 1072: /* switch 1 */
gObjects2F4[2].unk_188 = 5.0f;
Audio_PlaySfx(0x09000002, &gObjects2F4[2].sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
gActors[2].fwork[29] = 5.0f;
Audio_PlaySfx(0x09000002, &gActors[2].sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
break;
case 1074: /* switch 1 */
gObjects2F4[3].unk_188 = 5.0f;
Audio_PlaySfx(0x09000002, &gObjects2F4[3].sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
gActors[3].fwork[29] = 5.0f;
Audio_PlaySfx(0x09000002, &gActors[3].sfxPos, 0, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
break;
}
if (D_80177A80 >= 1070) {
Math_SmoothStepToF(&gObjects2F4[1].unk_144, 50.0f, 0.1f, 1000.0f, 0.001f);
Math_SmoothStepToF(&gActors[1].fwork[12], 50.0f, 0.1f, 1000.0f, 0.001f);
}
if (D_80177A80 >= 1072) {
Math_SmoothStepToF(&gObjects2F4[2].unk_144, 50.0f, 0.1f, 1000.0f, 0.001f);
Math_SmoothStepToF(&gActors[2].fwork[12], 50.0f, 0.1f, 1000.0f, 0.001f);
}
if (D_80177A80 >= 1074) {
Math_SmoothStepToF(&gObjects2F4[3].unk_144, 50.0f, 0.1f, 1000.0f, 0.001f);
Math_SmoothStepToF(&gActors[3].fwork[12], 50.0f, 0.1f, 1000.0f, 0.001f);
}
if (D_80177A80 >= 1076) {
Math_SmoothStepToF(&player->unk_0D0, 50.0f, 0.1f, 1000.0f, 0.001f);
+68 -68
View File
@@ -1,41 +1,41 @@
#include "global.h"
void func_E16C50_801AC918(Effect*);
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_801AD6C0(Actor*);
void func_E16C50_801AE168(Actor*);
void func_E16C50_801AE3D8(Actor*);
void func_E16C50_801AEB44(Actor*);
void func_E16C50_801AFA5C(Actor*);
void func_E16C50_801B099C(Actor*);
void func_E16C50_801B0B60(Actor*);
void func_E16C50_801B0EC0(Actor*);
void func_E16C50_801B504C(Actor*);
void func_E16C50_801B50E8(Actor*);
void func_E16C50_801B619C(Actor*);
void func_E16C50_801B638C(Actor*);
void func_E16C50_801B6FF8(Actor*);
void func_E16C50_801B7A24(Actor*);
void func_E16C50_801B7C78(Actor*);
void func_E16C50_801B90DC(Actor*);
void func_E16C50_801B91A4(Actor*);
void func_E16C50_801BA108(Actor*);
void func_E16C50_801BA26C(Actor*);
void func_E16C50_801BA4E4(Actor*);
void func_E16C50_801BA6A4(Actor*);
void func_E16C50_801BAD7C(Actor*);
void func_E16C50_801BADF8(Actor*);
void func_E16C50_801BB204(Actor*);
void func_E16C50_801BB79C(Actor*);
void func_E16C50_801BC930(Actor*);
void func_E16C50_801BC9A0(Actor*);
void func_E16C50_801BD264(Actor*);
void func_E16C50_801BD54C(Actor*);
void func_E16C50_801BDE6C(Actor*);
void func_E16C50_801BE1FC(Object_80*);
void func_E16C50_801BE3F8(Object_2F4*);
void func_E16C50_801BEB1C(Object_2F4*);
void func_E16C50_801BEC68(Object_2F4*);
void func_E16C50_801BEC74(Object_2F4*);
void func_E16C50_801BE3F8(Actor*);
void func_E16C50_801BEB1C(Actor*);
void func_E16C50_801BEC68(Actor*);
void func_E16C50_801BEC74(Actor*);
f32 D_E16C50_801BFB60 = 0.0f;
s32 D_E16C50_801BFB64[11] = {
@@ -306,34 +306,34 @@ f32 D_E16C50_801C445C;
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AD688.s")
// OBJ_2F4_255 action
// OBJ_ACTOR_255 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AD6C0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801ADF7C.s")
// OBJ_2F4_255 draw
// OBJ_ACTOR_255 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AE168.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AE3AC.s")
// OBJ_2F4_256 action
// OBJ_ACTOR_256 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AE3D8.s")
// OBJ_2F4_256 draw
// OBJ_ACTOR_256 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AEB44.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AF9FC.s")
// OBJ_2F4_257 action
// OBJ_ACTOR_257 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801AFA5C.s")
// OBJ_2F4_257 draw
// OBJ_ACTOR_257 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B099C.s")
// OBJ_2F4_258 action
// OBJ_ACTOR_258 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B0B60.s")
// OBJ_2F4_258 draw
// OBJ_ACTOR_258 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B0EC0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B0F88.s")
@@ -362,106 +362,106 @@ void func_E16C50_801B4D84(Boss* bossAQ);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B4E94.s")
// OBJ_2F4_261 draw
// OBJ_ACTOR_261 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B504C.s")
// OBJ_2F4_261 action
// OBJ_ACTOR_261 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B50E8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B5C18.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B5F68.s")
// OBJ_2F4_259 draw
// OBJ_ACTOR_259 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B619C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B6344.s")
// OBJ_2F4_259 action
// OBJ_ACTOR_259 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B638C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B6E54.s")
// OBJ_2F4_262 action
// OBJ_ACTOR_262 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B6FF8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B76EC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B7754.s")
// OBJ_2F4_262 draw
// OBJ_ACTOR_262 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B7A24.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B7AF0.s")
// OBJ_2F4_260 action
// OBJ_ACTOR_260 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B7C78.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B8C50.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B8D7C.s")
// OBJ_2F4_260 draw
// OBJ_ACTOR_260 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B90DC.s")
// OBJ_2F4_263 action
// OBJ_ACTOR_263 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B91A4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801B9DB0.s")
// OBJ_2F4_263 draw
// OBJ_ACTOR_263 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BA108.s")
// OBJ_2F4_264 action
// OBJ_ACTOR_264 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BA26C.s")
// OBJ_2F4_264 draw
// OBJ_ACTOR_264 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BA4E4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BA57C.s")
// OBJ_2F4_265 action
// OBJ_ACTOR_265 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BA6A4.s")
// OBJ_2F4_265 draw
// OBJ_ACTOR_265 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BAD7C.s")
// OBJ_2F4_266 action
// OBJ_ACTOR_266 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BADF8.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BB0C4.s")
// OBJ_2F4_266 draw
// OBJ_ACTOR_266 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BB204.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BB26C.s")
// OBJ_2F4_267 action
// OBJ_ACTOR_267 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BB79C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BC530.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BC91C.s")
// OBJ_2F4_267 draw
// OBJ_ACTOR_267 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BC930.s")
// OBJ_2F4_269 action
// OBJ_ACTOR_269 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BC9A0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BD17C.s")
// OBJ_2F4_269 draw
// OBJ_ACTOR_269 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BD264.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BD3B0.s")
// OBJ_2F4_268 action
// OBJ_ACTOR_268 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BD54C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BDDFC.s")
// OBJ_2F4_268 draw
// OBJ_ACTOR_268 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BDE6C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BDF14.s")
@@ -475,10 +475,10 @@ void func_E16C50_801B4D84(Boss* bossAQ);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BE274.s")
// OBJ_2F4_270 action
// OBJ_ACTOR_270 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BE3F8.s")
// OBJ_2F4_270 draw
// OBJ_ACTOR_270 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BEB1C.s")
// OBJ_BOSS_301 action
@@ -489,10 +489,10 @@ void func_E16C50_801BEC50(Boss* boss301) {
void func_E16C50_801BEC5C(Boss* boss301) {
}
// OBJ_2F4_188 action
// OBJ_ACTOR_188 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BEC68.s")
// OBJ_2F4_188 draw
// OBJ_ACTOR_188 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BEC74.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_aq/func_E16C50_801BEC80.s")
+8 -8
View File
@@ -2,10 +2,10 @@
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_8019EA7C(Actor*);
void func_E16C50_8019F20C(Actor*);
void func_E16C50_8019F7AC(Actor*);
void func_E16C50_801A003C(Actor*);
void func_E16C50_801A0120(Effect*);
void func_E16C50_801A0AF0(Effect*);
@@ -93,7 +93,7 @@ s32 D_E16C50_801C27A0[8]; // unused? part of previous?
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019E9F4.s")
// OBJ_2F4_278 action
// OBJ_ACTOR_278 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019EA7C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019EF30.s")
@@ -104,10 +104,10 @@ s32 D_E16C50_801C27A0[8]; // unused? part of previous?
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019F194.s")
// OBJ_2F4_275, 276, 277 action
// OBJ_ACTOR_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
// OBJ_ACTOR_275, 276, 277 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019F7AC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019F99C.s")
@@ -122,7 +122,7 @@ s32 D_E16C50_801C27A0[8]; // unused? part of previous?
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_8019FFC0.s")
// OBJ_2F4_279 action
// OBJ_ACTOR_279 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_so/func_E16C50_801A003C.s")
// OBJ_EFFECT_392 action
+70 -70
View File
@@ -1,39 +1,39 @@
#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*);
void func_E16C50_801904CC(Actor*);
void func_E16C50_80190A00(Actor*);
void func_E16C50_80191010(Actor*);
void func_E16C50_801914C4(Actor*);
void func_E16C50_80191680(Actor*);
void func_E16C50_80191B4C(Actor*);
void func_E16C50_80191BC4(Actor*);
void func_E16C50_80191DB0(Actor*);
void func_E16C50_80191FFC(Actor*);
void func_E16C50_80192094(Actor*);
void func_E16C50_80192834(Actor*);
void func_E16C50_80192C18(Actor*);
void func_E16C50_80192E64(Actor*);
void func_E16C50_80193240(Actor*);
void func_E16C50_8019969C(Actor*);
void func_E16C50_8019983C(Actor*);
void func_E16C50_80199A28(Actor*);
void func_E16C50_80199E24(Actor*);
void func_E16C50_80199F10(Actor*);
void func_E16C50_8019A1FC(Actor*);
void func_E16C50_8019A5D4(Actor*);
void func_E16C50_8019ACCC(Actor*);
void func_E16C50_8019B548(Actor*);
void func_E16C50_8019B7DC(Actor*);
void func_E16C50_8019B854(Actor*);
void func_E16C50_8019BDE0(Actor*);
void func_E16C50_8019BE48(Actor*);
void func_E16C50_8019C1CC(Actor*);
void func_E16C50_8019C454(Actor*);
void func_E16C50_8019C83C(Actor*);
void func_E16C50_8019CBEC(Actor*);
void func_E16C50_8019CE58(Actor*);
void func_E16C50_8019D15C(Actor*);
void func_E16C50_8019D3C4(Actor*);
Vec3f D_E16C50_801BF560 = { 0.0f, 0.0f, 0.0f };
s16 D_E16C50_801BF56C[20] = {
@@ -159,70 +159,70 @@ UnkStruct_1C24E8 D_E16C50_801C24E8;
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190204.s")
// OBJ_2F4_235 draw
// OBJ_ACTOR_235 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190430.s")
// OBJ_2F4_235 action
// OBJ_ACTOR_235 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801904CC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190790.s")
// OBJ_2F4_236 action
// OBJ_ACTOR_236 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190A00.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190B4C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190D0C.s")
// OBJ_2F4_236 draw
// OBJ_ACTOR_236 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190F08.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80190F28.s")
// OBJ_2F4_238 action
// OBJ_ACTOR_238 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191010.s")
// OBJ_2F4_238 draw
// OBJ_ACTOR_238 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801914C4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801915A4.s")
// OBJ_2F4_240 action
// OBJ_ACTOR_240 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191680.s")
// OBJ_2F4_240 draw
// OBJ_ACTOR_240 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191B4C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191BB8.s")
// OBJ_2F4_241 action
// OBJ_ACTOR_241 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191BC4.s")
// OBJ_2F4_241 draw
// OBJ_ACTOR_241 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191DB0.s")
// OBJ_2F4_242 action
// OBJ_ACTOR_242 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191E94.s")
// OBJ_2F4_242 draw
// OBJ_ACTOR_242 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80191FFC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80192094.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801926F4.s")
// OBJ_2F4_243 action
// OBJ_ACTOR_243 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80192834.s")
// OBJ_2F4_243 draw
// OBJ_ACTOR_243 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80192C18.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80192C84.s")
// OBJ_2F4_244 action
// OBJ_ACTOR_244 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80192E64.s")
// OBJ_2F4_244 draw
// OBJ_ACTOR_244 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80193240.s")
// OBJ_BOSS_ZO init
@@ -281,84 +281,84 @@ void func_E16C50_80194A84(Boss* bossZO);
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019962C.s")
// OBJ_2F4_245 action
// OBJ_ACTOR_245 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019969C.s")
// OBJ_2F4_245 draw
// OBJ_ACTOR_245 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019983C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801998E0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_801999CC.s")
// OBJ_2F4_246 action
// OBJ_ACTOR_246 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80199A28.s")
// OBJ_2F4_246 draw
// OBJ_ACTOR_246 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80199E24.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80199E9C.s")
// OBJ_2F4_248 action
// OBJ_ACTOR_248 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_80199F10.s")
// OBJ_2F4_248 draw
// OBJ_ACTOR_248 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019A1FC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019A4E0.s")
// OBJ_2F4_249 action
// OBJ_ACTOR_249 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019A5D4.s")
// OBJ_2F4_249 draw
// OBJ_ACTOR_249 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019ACCC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019B1F0.s")
// OBJ_2F4_250 action
// OBJ_ACTOR_250 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019B548.s")
// OBJ_2F4_250 draw
// OBJ_ACTOR_250 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019B7DC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019B810.s")
// OBJ_2F4_251 action
// OBJ_ACTOR_251 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019B854.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019BC78.s")
// OBJ_2F4_251 draw
// OBJ_ACTOR_251 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019BDE0.s")
// OBJ_2F4_252 action
// OBJ_ACTOR_252 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019BE48.s")
// OBJ_2F4_252 draw
// OBJ_ACTOR_252 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019C1CC.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019C200.s")
// OBJ_2F4_253 action
// OBJ_ACTOR_253 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019C454.s")
// OBJ_2F4_253 draw
// OBJ_ACTOR_253 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019C83C.s")
// OBJ_2F4_254 action
// OBJ_ACTOR_254 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019CBEC.s")
// OBJ_2F4_254 draw
// OBJ_ACTOR_254 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019CE58.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019D060.s")
// OBJ_2F4_247 action
// OBJ_ACTOR_247 action
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019D15C.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019D340.s")
// OBJ_2F4_247 draw
// OBJ_ACTOR_247 draw
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_E16C50/sf_zo/func_E16C50_8019D3C4.s")
void func_E16C50_8019D428(Player* player);
+7 -3
View File
@@ -8,17 +8,21 @@
symbol_name_format: DF4260_$VRAM
subsegments:
- [0xDF4260, c, DF4260]
- [0xDF4270, c, fox_co]
- [0xDFEE30, c, DFEE30]
- [0xE05620, c, E05620]
- [0xE05990, c, E05990]
- [0xE06510, data, DF4260]
- [0xE06510, .data, DF4260]
- [0xE06520, .data, fox_co]
- [0xE06880, data, DFEE30]
- [0xE07B90, data, E05990]
- [0xE07C30, .rodata, DF4260]
- [0xE07C30, .rodata, fox_co]
- [0xE07FF0, .rodata, DFEE30]
- [0xE08380, .rodata, E05620]
- [0xE083C0, .rodata, E05990]
- { start: 0xE08400, type: bss, vram: 0x8019B6C0, name: ovl_DF4260 }
- { start: 0xE08400, type: .bss, vram: 0x8019B6C0, name: DF4260 }
- { start: 0xE08410, type: .bss, vram: 0x8019B6D0, name: fox_co }
- { start: 0xE08530, type: bss, vram: 0x8019B7F0, name: DFEE30 }
- name: ovl_E08400
type: code