mirror of
https://github.com/zeldaret/ph
synced 2026-05-23 23:05:17 -04:00
@@ -116,7 +116,7 @@ func_ov003_020f3c28 kind:function(thumb,size=0x5a) addr:0x020f3c28
|
||||
func_ov003_020f3c84 kind:function(thumb,size=0x42) addr:0x020f3c84
|
||||
func_ov003_020f3cc8 kind:function(arm,size=0x8) addr:0x020f3cc8
|
||||
func_ov003_020f3cd0 kind:function(arm,size=0x8c) addr:0x020f3cd0
|
||||
func_ov003_020f3d5c kind:function(thumb,size=0x16) addr:0x020f3d5c
|
||||
_ZN18UnkStruct_027e0dbc19func_ov003_020f3d5cEi kind:function(thumb,size=0x16) addr:0x020f3d5c
|
||||
func_ov003_020f3d74 kind:function(thumb,size=0xc) addr:0x020f3d74
|
||||
func_ov003_020f3d80 kind:function(thumb,size=0xc) addr:0x020f3d80
|
||||
func_ov003_020f3d8c kind:function(thumb,size=0x6) addr:0x020f3d8c
|
||||
|
||||
@@ -11,3 +11,7 @@ src/04_Load/Player/LinkStateMove_04.cpp:
|
||||
|
||||
src/04_Load/Actor/Navi/ActorNavi_04.cpp:
|
||||
.text start:0x02107810 end:0x02107c00
|
||||
|
||||
src/04_Load/Actor/ActorManager_04.cpp:
|
||||
complete
|
||||
.text start:0x021051e0 end:0x021056c8
|
||||
|
||||
@@ -1052,14 +1052,14 @@ from:0x02105324 kind:thumb_call_arm to:0x020c3fd4 module:overlay(0)
|
||||
from:0x02105334 kind:thumb_call_arm to:0x020c4014 module:overlay(0)
|
||||
from:0x0210534c kind:thumb_call_arm to:0x020a5e9c module:overlay(0)
|
||||
from:0x02105364 kind:thumb_call_arm to:0x02168a54 module:overlay(17)
|
||||
from:0x0210536c kind:thumb_call_arm to:0x0216d6a0 module:overlays(19,20,21,22,23,24,25,26,27,28,29)
|
||||
from:0x0210537a kind:thumb_call_arm to:0x0216d6a0 module:overlays(19,20,21,22,23,24,25,26,27,28,29)
|
||||
from:0x0210536c kind:thumb_call_arm to:0x0216d6a0 module:overlay(25)
|
||||
from:0x0210537a kind:thumb_call_arm to:0x0216d6a0 module:overlay(29)
|
||||
from:0x02105384 kind:thumb_call_arm to:0x020a5e9c module:overlay(0)
|
||||
from:0x02105394 kind:thumb_call_arm to:0x020a5e9c module:overlay(0)
|
||||
from:0x021053cc kind:load to:0x027e0fe8 module:dtcm
|
||||
from:0x021053d0 kind:load to:0x027e0ff4 module:dtcm
|
||||
from:0x021053d4 kind:load to:0x027e0d38 module:dtcm
|
||||
from:0x021053d8 kind:load to:0x0217a4ac module:overlays(22,23,24,25,26,29,61)
|
||||
from:0x021053d8 kind:load to:0x0217a4ac module:overlay(29)
|
||||
from:0x021053f8 kind:thumb_call_arm to:0x020c33d4 module:overlay(0)
|
||||
from:0x0210540c kind:thumb_call to:0x020174a4 module:main
|
||||
from:0x0210541c kind:thumb_call to:0x0210f744 module:overlay(4)
|
||||
@@ -1067,13 +1067,13 @@ from:0x02105422 kind:thumb_call_arm to:0x0202ea0c module:main
|
||||
from:0x02105436 kind:thumb_call_arm to:0x020a5e9c module:overlay(0)
|
||||
from:0x0210544e kind:thumb_call_arm to:0x02168a90 module:overlay(17)
|
||||
from:0x02105456 kind:thumb_call_arm to:0x0216d6dc module:overlay(25)
|
||||
from:0x02105464 kind:thumb_call_arm to:0x0216d6f0 module:overlays(23,29)
|
||||
from:0x02105464 kind:thumb_call_arm to:0x0216d6f0 module:overlay(29)
|
||||
from:0x0210546c kind:thumb_call_arm to:0x020c4018 module:overlay(0)
|
||||
from:0x02105470 kind:thumb_call to:0x020c33b0 module:overlay(0)
|
||||
from:0x02105478 kind:thumb_call to:0x02105950 module:overlay(4)
|
||||
from:0x02105490 kind:load to:0x027e0ce0 module:dtcm
|
||||
from:0x02105494 kind:load to:0x027e0d38 module:dtcm
|
||||
from:0x02105498 kind:load to:0x0217a4ac module:overlays(22,23,24,25,26,29,61)
|
||||
from:0x02105498 kind:load to:0x0217a4ac module:overlay(29)
|
||||
from:0x0210549c kind:load to:0x027e0fe8 module:dtcm
|
||||
from:0x021054a0 kind:load to:0x027e0fec module:dtcm
|
||||
from:0x021054ca kind:thumb_call_arm to:0x02097c80 module:overlay(0)
|
||||
@@ -1091,7 +1091,7 @@ from:0x02105594 kind:thumb_call_arm to:0x020a5e9c module:overlay(0)
|
||||
from:0x021055bc kind:thumb_call to:0x02184554 module:overlay(30)
|
||||
from:0x021055c6 kind:thumb_call to:0x021843c4 module:overlay(30)
|
||||
from:0x021055ce kind:thumb_call to:0x02184640 module:overlay(30)
|
||||
from:0x021055dc kind:thumb_call_arm to:0x0216daa4 module:overlays(19,25)
|
||||
from:0x021055dc kind:thumb_call_arm to:0x0216daa4 module:overlay(25)
|
||||
from:0x021055e6 kind:thumb_call_arm to:0x0216d804 module:overlay(25)
|
||||
from:0x021055f0 kind:load to:0x027e0fec module:dtcm
|
||||
from:0x021055f4 kind:load to:0x027e0d38 module:dtcm
|
||||
|
||||
@@ -135,7 +135,7 @@ _ZN12ActorManagerC1Ev kind:function(thumb,size=0xe8) addr:0x02105230
|
||||
_ZN12ActorManagerD1Ev kind:function(thumb,size=0x14) addr:0x02105318
|
||||
_ZN12ActorManager19func_ov004_0210532cEv kind:function(thumb,size=0xb0) addr:0x0210532c
|
||||
_ZN12ActorManager19func_ov004_021053dcEv kind:function(thumb,size=0xc8) addr:0x021053dc
|
||||
_ZN12ActorManager19func_ov004_021054a4EPiii kind:function(thumb,size=0xa8) addr:0x021054a4
|
||||
_ZN12ActorManager19func_ov004_021054a4EP13FileEntryFlagii kind:function(thumb,size=0xa8) addr:0x021054a4
|
||||
_ZN12ActorManager19func_ov004_0210554cEv kind:function(thumb,size=0x2c) addr:0x0210554c
|
||||
_ZN12ActorManager19func_ov004_02105578Ei kind:function(thumb,size=0x90) addr:0x02105578
|
||||
_ZN12ActorManager19func_ov004_02105608Eiii kind:function(thumb,size=0xb0) addr:0x02105608
|
||||
@@ -435,8 +435,8 @@ func_ov004_0210f650 kind:function(thumb,size=0x20) addr:0x0210f650
|
||||
func_ov004_0210f670 kind:function(thumb,size=0x6c) addr:0x0210f670
|
||||
func_ov004_0210f6dc kind:function(arm,size=0x4) addr:0x0210f6dc
|
||||
func_ov004_0210f6e0 kind:function(thumb,size=0x28) addr:0x0210f6e0
|
||||
func_ov004_0210f708 kind:function(thumb,size=0x3c) addr:0x0210f708
|
||||
func_ov004_0210f744 kind:function(thumb,size=0x26) addr:0x0210f744
|
||||
_ZN18ActorManager_Unk14C1Ej kind:function(thumb,size=0x3c) addr:0x0210f708
|
||||
_ZN18ActorManager_Unk14D1Ev kind:function(thumb,size=0x26) addr:0x0210f744
|
||||
func_ov004_0210f76c kind:function(thumb,size=0x24) addr:0x0210f76c
|
||||
func_ov004_0210f790 kind:function(thumb,size=0x24) addr:0x0210f790
|
||||
func_ov004_0210f7b4 kind:function(thumb,size=0x38) addr:0x0210f7b4
|
||||
|
||||
@@ -116,7 +116,7 @@ func_ov003_020f3c28 kind:function(thumb,size=0x5a) addr:0x020f3bc8
|
||||
func_ov003_020f3c84 kind:function(thumb,size=0x42) addr:0x020f3c24
|
||||
func_ov003_020f3cc8 kind:function(arm,size=0x8) addr:0x020f3c68
|
||||
func_ov003_020f3cd0 kind:function(arm,size=0x8c) addr:0x020f3c70
|
||||
func_ov003_020f3d5c kind:function(thumb,size=0x16) addr:0x020f3cfc
|
||||
_ZN18UnkStruct_027e0dbc19func_ov003_020f3d5cEi kind:function(thumb,size=0x16) addr:0x020f3cfc
|
||||
func_ov003_020f3d74 kind:function(thumb,size=0xc) addr:0x020f3d14
|
||||
func_ov003_020f3d80 kind:function(thumb,size=0xc) addr:0x020f3d20
|
||||
func_ov003_020f3d8c kind:function(thumb,size=0x6) addr:0x020f3d2c
|
||||
|
||||
@@ -11,3 +11,7 @@ src/04_Load/Player/LinkStateMove_04.cpp:
|
||||
|
||||
src/04_Load/Actor/Navi/ActorNavi_04.cpp:
|
||||
.text start:0x02107790 end:0x02107b80
|
||||
|
||||
src/04_Load/Actor/ActorManager_04.cpp:
|
||||
complete
|
||||
.text start:0x02105160 end:0x02105648
|
||||
|
||||
@@ -1052,14 +1052,14 @@ from:0x021052a4 kind:thumb_call_arm to:0x020c3f74 module:overlay(0)
|
||||
from:0x021052b4 kind:thumb_call_arm to:0x020c3fb4 module:overlay(0)
|
||||
from:0x021052cc kind:thumb_call_arm to:0x020a5e3c module:overlay(0)
|
||||
from:0x021052e4 kind:thumb_call_arm to:0x021689b4 module:overlay(17)
|
||||
from:0x021052ec kind:thumb_call_arm to:0x0216d600 module:overlays(19,20,21,22,23,24,25,26,27,28,29)
|
||||
from:0x021052fa kind:thumb_call_arm to:0x0216d600 module:overlays(19,20,21,22,23,24,25,26,27,28,29)
|
||||
from:0x021052ec kind:thumb_call_arm to:0x0216d600 module:overlay(25)
|
||||
from:0x021052fa kind:thumb_call_arm to:0x0216d600 module:overlay(29)
|
||||
from:0x02105304 kind:thumb_call_arm to:0x020a5e3c module:overlay(0)
|
||||
from:0x02105314 kind:thumb_call_arm to:0x020a5e3c module:overlay(0)
|
||||
from:0x0210534c kind:load to:0x027e0fe8 module:dtcm
|
||||
from:0x02105350 kind:load to:0x027e0ff4 module:dtcm
|
||||
from:0x02105354 kind:load to:0x027e0d38 module:dtcm
|
||||
from:0x02105358 kind:load to:0x0217a40c module:overlays(22,23,24,25,26,29,61)
|
||||
from:0x02105358 kind:load to:0x0217a40c module:overlay(29)
|
||||
from:0x02105378 kind:thumb_call_arm to:0x020c3374 module:overlay(0)
|
||||
from:0x0210538c kind:thumb_call to:0x020174a4 module:main
|
||||
from:0x0210539c kind:thumb_call to:0x0210f6c4 module:overlay(4)
|
||||
@@ -1067,13 +1067,13 @@ from:0x021053a2 kind:thumb_call_arm to:0x0202ea08 module:main
|
||||
from:0x021053b6 kind:thumb_call_arm to:0x020a5e3c module:overlay(0)
|
||||
from:0x021053ce kind:thumb_call_arm to:0x021689f0 module:overlay(17)
|
||||
from:0x021053d6 kind:thumb_call_arm to:0x0216d63c module:overlay(25)
|
||||
from:0x021053e4 kind:thumb_call_arm to:0x0216d650 module:overlays(23,29)
|
||||
from:0x021053e4 kind:thumb_call_arm to:0x0216d650 module:overlay(29)
|
||||
from:0x021053ec kind:thumb_call_arm to:0x020c3fb8 module:overlay(0)
|
||||
from:0x021053f0 kind:thumb_call to:0x020c3350 module:overlay(0)
|
||||
from:0x021053f8 kind:thumb_call to:0x021058d0 module:overlay(4)
|
||||
from:0x02105410 kind:load to:0x027e0ce0 module:dtcm
|
||||
from:0x02105414 kind:load to:0x027e0d38 module:dtcm
|
||||
from:0x02105418 kind:load to:0x0217a40c module:overlays(22,23,24,25,26,29,61)
|
||||
from:0x02105418 kind:load to:0x0217a40c module:overlay(29)
|
||||
from:0x0210541c kind:load to:0x027e0fe8 module:dtcm
|
||||
from:0x02105420 kind:load to:0x027e0fec module:dtcm
|
||||
from:0x0210544a kind:thumb_call_arm to:0x02097c20 module:overlay(0)
|
||||
@@ -1091,7 +1091,7 @@ from:0x02105514 kind:thumb_call_arm to:0x020a5e3c module:overlay(0)
|
||||
from:0x0210553c kind:thumb_call to:0x021844b4 module:overlay(30)
|
||||
from:0x02105546 kind:thumb_call to:0x02184324 module:overlay(30)
|
||||
from:0x0210554e kind:thumb_call to:0x021845a0 module:overlay(30)
|
||||
from:0x0210555c kind:thumb_call_arm to:0x0216da04 module:overlays(19,25)
|
||||
from:0x0210555c kind:thumb_call_arm to:0x0216da04 module:overlay(25)
|
||||
from:0x02105566 kind:thumb_call_arm to:0x0216d764 module:overlay(25)
|
||||
from:0x02105570 kind:load to:0x027e0fec module:dtcm
|
||||
from:0x02105574 kind:load to:0x027e0d38 module:dtcm
|
||||
|
||||
@@ -135,7 +135,7 @@ _ZN12ActorManagerC1Ev kind:function(thumb,size=0xe8) addr:0x021051b0
|
||||
_ZN12ActorManagerD1Ev kind:function(thumb,size=0x14) addr:0x02105298
|
||||
_ZN12ActorManager19func_ov004_0210532cEv kind:function(thumb,size=0xb0) addr:0x021052ac
|
||||
_ZN12ActorManager19func_ov004_021053dcEv kind:function(thumb,size=0xc8) addr:0x0210535c
|
||||
_ZN12ActorManager19func_ov004_021054a4EPiii kind:function(thumb,size=0xa8) addr:0x02105424
|
||||
_ZN12ActorManager19func_ov004_021054a4EP13FileEntryFlagii kind:function(thumb,size=0xa8) addr:0x02105424
|
||||
_ZN12ActorManager19func_ov004_0210554cEv kind:function(thumb,size=0x2c) addr:0x021054cc
|
||||
_ZN12ActorManager19func_ov004_02105578Ei kind:function(thumb,size=0x90) addr:0x021054f8
|
||||
_ZN12ActorManager19func_ov004_02105608Eiii kind:function(thumb,size=0xb0) addr:0x02105588
|
||||
@@ -435,8 +435,8 @@ func_ov004_0210f650 kind:function(thumb,size=0x20) addr:0x0210f5d0
|
||||
func_ov004_0210f670 kind:function(thumb,size=0x6c) addr:0x0210f5f0
|
||||
func_ov004_0210f6dc kind:function(arm,size=0x4) addr:0x0210f65c
|
||||
func_ov004_0210f6e0 kind:function(thumb,size=0x28) addr:0x0210f660
|
||||
func_ov004_0210f708 kind:function(thumb,size=0x3c) addr:0x0210f688
|
||||
func_ov004_0210f744 kind:function(thumb,size=0x26) addr:0x0210f6c4
|
||||
_ZN18ActorManager_Unk14C1Ej kind:function(thumb,size=0x3c) addr:0x0210f688
|
||||
_ZN18ActorManager_Unk14D1Ev kind:function(thumb,size=0x26) addr:0x0210f6c4
|
||||
func_ov004_0210f76c kind:function(thumb,size=0x24) addr:0x0210f6ec
|
||||
func_ov004_0210f790 kind:function(thumb,size=0x24) addr:0x0210f710
|
||||
func_ov004_0210f7b4 kind:function(thumb,size=0x38) addr:0x0210f734
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "lib/files.hpp"
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorRef.hpp"
|
||||
#include "Actor/FilterActorBase.hpp"
|
||||
@@ -41,7 +43,18 @@ struct ActorList {
|
||||
/* c */
|
||||
};
|
||||
|
||||
class ActorManager {
|
||||
class ActorManager_Unk14 : public SysObject {
|
||||
public:
|
||||
/* 00 */ unk8 mUnk_00[4];
|
||||
/* 04 */ void *mUnk_04;
|
||||
/* 08 */ unk8 mUnk_08[4];
|
||||
/* 0c */
|
||||
|
||||
ActorManager_Unk14(u32 maxActors);
|
||||
~ActorManager_Unk14();
|
||||
};
|
||||
|
||||
class ActorManager : public SysObject {
|
||||
public:
|
||||
/* 00 */ u16 mMaxActors;
|
||||
/* 02 */ u16 mNumActors;
|
||||
@@ -49,32 +62,39 @@ public:
|
||||
/* 08 */ s32 mCacheEmptyActorIndex;
|
||||
/* 0c */ unk32 mNextActorId;
|
||||
/* 10 */ Actor **mActorTable;
|
||||
/* 14 */ void *mUnk_14;
|
||||
/* 18 */ unk8 mUnk_18[4];
|
||||
/* 14 */ ActorManager_Unk14 *mUnk_14;
|
||||
/* 18 */ bool mUnk_18;
|
||||
/* 1c */ unk32 mUnk_1c;
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ unk8 mUnk_28;
|
||||
/* 28 */ u8 mUnk_28;
|
||||
/* 29 */ bool mUnk_29;
|
||||
/* 2a */ unk8 mUnk_2a;
|
||||
/* 2b */ unk8 mUnk_2b;
|
||||
/* 2c */ unk32 mUnk_2c;
|
||||
/* 30 */ unk32 mUnk_30;
|
||||
/* 34 */ unk32 mUnk_34;
|
||||
/* 38 */ unk8 mUnk_38[4];
|
||||
/* 38 */ u8 mUnk_38;
|
||||
/* 39 */ unk8 mUnk_39[3];
|
||||
/* 3c */ u32 mUnk_3c;
|
||||
/* 40 */ unk32 mUnk_40;
|
||||
/* 44 */ unk32 mUnk_44;
|
||||
/* 48 */ u32 mUnk_48;
|
||||
/* 4c */ unk32 mUnk_4c;
|
||||
/* 50 */ unk32 mUnk_50;
|
||||
/* 54 */ unk8 mUnk_54[4];
|
||||
/* 54 */ u8 mUnk_54;
|
||||
/* 55 */ u8 mUnk_55;
|
||||
/* 56 */ u8 mUnk_56;
|
||||
/* 57 */ unk8 mUnk_57;
|
||||
/* 58 */ u32 mUnk_58;
|
||||
/* 5c */ unk32 mUnk_5c;
|
||||
/* 60 */ unk32 mUnk_60;
|
||||
/* 64 */ unk8 mUnk_64[4];
|
||||
/* 64 */ u8 mUnk_64;
|
||||
/* 65 */ unk8 mUnk_65;
|
||||
/* 66 */ unk8 mUnk_66[2];
|
||||
/* 68 */ ActorManager_UnkStruct_68 mUnk_68[5];
|
||||
/* a4 */ unk8 mUnk_a4[0x20];
|
||||
/* a4 */ unk8 mUnk_a4[0x1f];
|
||||
/* a4 */ u8 mUnk_c3;
|
||||
/* c4 */
|
||||
|
||||
void DeleteActor(u32 index, bool param2);
|
||||
@@ -100,7 +120,7 @@ public:
|
||||
~ActorManager();
|
||||
void func_ov004_0210532c();
|
||||
void func_ov004_021053dc();
|
||||
void func_ov004_021054a4(s32 *param1, s32 param2, unk32 param3);
|
||||
void func_ov004_021054a4(FileEntryFlag *param1, s32 param2, unk32 param3);
|
||||
void func_ov004_0210554c();
|
||||
bool func_ov004_02105578(unk32 param1);
|
||||
bool func_ov004_02105608(unk32 param1, unk32 param2, unk32 param3);
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "lib/files.h"
|
||||
#include "types.h"
|
||||
|
||||
struct MotionParams {
|
||||
/* 00 */ FileEntry motionBhio; // motion.bhio
|
||||
/* 10 */ unk8 mUnk_10;
|
||||
/* 11 */
|
||||
};
|
||||
@@ -1,13 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "lib/files.hpp"
|
||||
#include "nds/math.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Item/ItemManager.hpp"
|
||||
#include "Player/Bhio.hpp"
|
||||
#include "Player/MotionParams.hpp"
|
||||
#include "Player/PlayerBase.hpp"
|
||||
#include "Player/PlayerControlData.hpp"
|
||||
|
||||
@@ -39,7 +39,7 @@ public:
|
||||
/* 5a */ s16 mUnk_5a;
|
||||
/* 5c */ unk8 mUnk_5c[3];
|
||||
/* 5f */ bool mUnk_5f;
|
||||
/* 60 */ MotionParams *mMotionParams;
|
||||
/* 60 */ FileEntryFlag *mMotionParams;
|
||||
/* 64 */ Bhio *mBhio_0;
|
||||
/* 68 */ Bhio *mBhio_1;
|
||||
/* 6c */ Bhio *mBhio_2;
|
||||
|
||||
@@ -81,7 +81,7 @@ public:
|
||||
|
||||
extern "C" void Fill16(int value, unsigned short *dst, int size);
|
||||
extern "C" void Fill32(unk32, u32 *, unk32);
|
||||
extern "C" void Fill256(int value, int *dst, int size);
|
||||
extern "C" void Fill256(int value, void *dst, int size);
|
||||
|
||||
class SaveInventory {
|
||||
public:
|
||||
|
||||
@@ -24,6 +24,8 @@ public:
|
||||
void func_ov000_0207b9dc();
|
||||
void func_ov000_0207b9c8();
|
||||
void func_ov000_0207b988(GameModeId modeId);
|
||||
|
||||
unk32 func_ov003_020f3d5c(unk32 param1);
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0dbc data_027e0dbc;
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
struct FileEntry {
|
||||
/* 00 (vtable )*/
|
||||
/* 04 */ void *path;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */
|
||||
};
|
||||
@@ -0,0 +1,39 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
struct FileEntry_Unk8 {
|
||||
/* 00 */ unk8 mUnk_00[0x8];
|
||||
/* 08 */ u16 mUnk_08;
|
||||
/* 0a */ u16 mUnk_0a;
|
||||
/* 0c */ // more fields, probably
|
||||
};
|
||||
|
||||
class FileEntry {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ char *path;
|
||||
/* 08 */ FileEntry_Unk8 *mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */
|
||||
|
||||
/* 00 */ virtual ~FileEntry() = 0;
|
||||
/* 08 */ virtual FileEntry_Unk8 *vfunc_08(unk32 param1) = 0;
|
||||
/* 0c */ virtual void vfunc_0c() = 0;
|
||||
/* 10 */ virtual u32 vfunc_10(u32 param1) = 0;
|
||||
/* 14 */
|
||||
};
|
||||
|
||||
class FileEntryFlag : public FileEntry {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 10 */ unk8 mUnk_10;
|
||||
/* 14 */
|
||||
|
||||
/* 00 */ virtual ~FileEntryFlag() override;
|
||||
/* 08 */ virtual FileEntry_Unk8 *vfunc_08(unk32 param1) override;
|
||||
/* 0c */ virtual void vfunc_0c() override;
|
||||
/* 10 */ virtual u32 vfunc_10(u32 param1) override;
|
||||
/* 14 */
|
||||
};
|
||||
@@ -1,13 +0,0 @@
|
||||
#include "Actor/ActorManager.hpp"
|
||||
|
||||
void ActorManager::Create() {}
|
||||
void ActorManager::Destroy() {}
|
||||
ActorManager::ActorManager() {}
|
||||
ActorManager::~ActorManager() {}
|
||||
void ActorManager::func_ov004_0210532c() {}
|
||||
void ActorManager::func_ov004_021053dc() {}
|
||||
void ActorManager::func_ov004_021054a4(s32 *param1, s32 param2, unk32 param3) {}
|
||||
void ActorManager::func_ov004_0210554c() {}
|
||||
bool ActorManager::func_ov004_02105578(unk32 param1) {}
|
||||
bool ActorManager::func_ov004_02105608(unk32 param1, unk32 param2, unk32 param3) {}
|
||||
void ActorManager::func_ov004_021056b8() {}
|
||||
@@ -0,0 +1,297 @@
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Actor/ActorSpawner.hpp"
|
||||
#include "DTCM/UnkStruct_027e0d38.hpp"
|
||||
#include "Game/Game.hpp"
|
||||
#include "Item/ItemManager.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "Unknown/UnkStruct_027e0dbc.hpp"
|
||||
|
||||
extern u32 *data_027e0ce0[];
|
||||
THUMB void ActorManager::Create() {
|
||||
if (!gActorManager) {
|
||||
gActorManager = new(data_027e0ce0[1], 4) ActorManager();
|
||||
}
|
||||
}
|
||||
|
||||
THUMB void ActorManager::Destroy() {
|
||||
if (gActorManager) {
|
||||
delete gActorManager;
|
||||
gActorManager = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" void func_ov004_0210682c();
|
||||
extern "C" void func_ov004_021056c8();
|
||||
THUMB ActorManager::ActorManager() {
|
||||
this->mMaxActors = 0;
|
||||
this->mNumActors = 0;
|
||||
this->mMaxActorIndex = 0;
|
||||
this->mCacheEmptyActorIndex = -1;
|
||||
this->mNextActorId = 0xb;
|
||||
this->mActorTable = NULL;
|
||||
this->mUnk_14 = NULL;
|
||||
this->mUnk_18 = true;
|
||||
ActorSpawner::Create();
|
||||
func_ov004_0210682c();
|
||||
func_ov004_021056c8();
|
||||
this->mUnk_1c = 0;
|
||||
this->mUnk_20 = 0;
|
||||
this->mUnk_24 = 0;
|
||||
this->mUnk_28 = 0xff;
|
||||
this->mUnk_29 = false;
|
||||
this->mUnk_2c = 0;
|
||||
this->mUnk_30 = 0;
|
||||
this->mUnk_34 = 0;
|
||||
this->mUnk_38 = 0xff;
|
||||
this->mUnk_3c = 0x7fffffff;
|
||||
this->mUnk_40 = 0;
|
||||
this->mUnk_44 = 0;
|
||||
this->mUnk_48 = 0x7fffffff;
|
||||
this->mUnk_4c = 0;
|
||||
this->mUnk_50 = 0;
|
||||
this->mUnk_54 = 0xff;
|
||||
this->mUnk_56 = 0xff;
|
||||
this->mUnk_55 = this->mUnk_56;
|
||||
this->mUnk_58 = 0x7fffffff;
|
||||
this->mUnk_5c = 0;
|
||||
this->mUnk_60 = 0;
|
||||
this->mUnk_64 = 0xff;
|
||||
this->mUnk_65 = 0;
|
||||
for (s32 i = 0; i < 5; ++i) {
|
||||
this->mUnk_68[i].unk_0 = 0x7fffffff;
|
||||
this->mUnk_68[i].unk_4 = 0;
|
||||
this->mUnk_68[i].unk_8 = 0;
|
||||
}
|
||||
this->mUnk_c3 = 0xff;
|
||||
if (gGame.mModeId == 2) {
|
||||
if (data_027e0dbc.func_ov003_020f3d5c(4) == 0) {
|
||||
gAdventureFlags->Set(0xe8, false);
|
||||
}
|
||||
gAdventureFlags->Set(0x56, false);
|
||||
gAdventureFlags->Set(0x9e, false);
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" void func_ov004_021056f0();
|
||||
extern "C" void func_ov004_02106854();
|
||||
THUMB ActorManager::~ActorManager() {
|
||||
func_ov004_021056f0();
|
||||
func_ov004_02106854();
|
||||
ActorSpawner::Destroy();
|
||||
}
|
||||
|
||||
extern unk32 *data_027e0ff4;
|
||||
extern "C" void func_ov017_02168a54();
|
||||
extern "C" void func_ov025_0216d6a0();
|
||||
extern unk32 data_ov029_0217a4ac;
|
||||
extern "C" void func_ov029_0216d6a0(unk32 *);
|
||||
THUMB void ActorManager::func_ov004_0210532c() {
|
||||
bool bVar1;
|
||||
int iVar2;
|
||||
|
||||
gActorSpawner->func_ov000_020c4014();
|
||||
*data_027e0ff4 = 0;
|
||||
if (data_027e0d38->mUnk_14 != 1) {
|
||||
iVar2 = data_027e0d38->mUnk_0c.func_ov000_020a5e9c();
|
||||
if ((iVar2 == 0x29) || (iVar2 == 0x25)) {
|
||||
bVar1 = true;
|
||||
} else {
|
||||
bVar1 = false;
|
||||
}
|
||||
if (bVar1) {
|
||||
func_ov017_02168a54();
|
||||
}
|
||||
if (iVar2 == 0x29) {
|
||||
func_ov025_0216d6a0();
|
||||
}
|
||||
if ((iVar2 == 0x31) || (iVar2 == 0x33)) {
|
||||
func_ov029_0216d6a0(&data_ov029_0217a4ac);
|
||||
}
|
||||
}
|
||||
if (data_027e0d38->mUnk_0c.func_ov000_020a5e9c() == 0) {
|
||||
switch (data_027e0d38->mUnk_28->mUnk_1c.func_ov000_020a5e9c()) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
break;
|
||||
default:
|
||||
this->mUnk_64 = 0xff;
|
||||
this->mUnk_c3 = 0xff;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
extern "C" void func_020174a4(u32 *, void *);
|
||||
extern "C" void func_ov017_02168a90();
|
||||
extern "C" void func_ov025_0216d6dc();
|
||||
extern "C" void func_ov029_0216d6f0(unk32 *);
|
||||
extern "C" void func_ov000_020c33b0();
|
||||
extern unk32 data_027e0fec;
|
||||
extern "C" void func_ov004_02105950(unk32);
|
||||
THUMB void ActorManager::func_ov004_021053dc() {
|
||||
bool bVar1;
|
||||
int iVar2;
|
||||
Actor **ppAVar3;
|
||||
s32 i;
|
||||
|
||||
for (i = 0, ppAVar3 = this->mActorTable; i < this->mMaxActors; ++i, ++ppAVar3) {
|
||||
if (*ppAVar3) {
|
||||
this->DeleteActor(i, true);
|
||||
}
|
||||
}
|
||||
func_020174a4(data_027e0ce0[1], this->mActorTable);
|
||||
this->mActorTable = NULL;
|
||||
delete this->mUnk_14;
|
||||
this->mUnk_14 = NULL;
|
||||
if (data_027e0d38->mUnk_14 != 1) {
|
||||
iVar2 = data_027e0d38->mUnk_0c.func_ov000_020a5e9c();
|
||||
if ((iVar2 == 0x29) || (iVar2 == 0x25)) {
|
||||
bVar1 = true;
|
||||
} else {
|
||||
bVar1 = false;
|
||||
}
|
||||
if (bVar1) {
|
||||
func_ov017_02168a90();
|
||||
}
|
||||
if (iVar2 == 0x29) {
|
||||
func_ov025_0216d6dc();
|
||||
}
|
||||
if ((iVar2 == 0x31) || (iVar2 == 0x33)) {
|
||||
func_ov029_0216d6f0(&data_ov029_0217a4ac);
|
||||
}
|
||||
}
|
||||
gActorSpawner->func_ov000_020c4018();
|
||||
func_ov000_020c33b0();
|
||||
func_ov004_02105950(data_027e0fec);
|
||||
this->mMaxActors = 0;
|
||||
this->mNumActors = 0;
|
||||
this->mMaxActorIndex = 0;
|
||||
this->mCacheEmptyActorIndex = -1;
|
||||
this->mNextActorId = 0xb;
|
||||
}
|
||||
|
||||
extern "C" void func_ov000_020c3388(unk32);
|
||||
extern "C" void *NewEXPH(u32 *id, s32 length, s32 param_3);
|
||||
THUMB void ActorManager::func_ov004_021054a4(FileEntryFlag *param1, s32 param2, unk32 param3) {
|
||||
u16 sVar1;
|
||||
u16 sVar2;
|
||||
unk32 iVar3;
|
||||
FileEntry_Unk8 *fileEntry_unk;
|
||||
Actor **ppAVar4;
|
||||
void *pvVar5;
|
||||
|
||||
fileEntry_unk = param1->vfunc_08(0x10);
|
||||
sVar1 = fileEntry_unk->mUnk_08;
|
||||
if (*(int *) (param2 + 8) == 1) {
|
||||
this->mMaxActors = fileEntry_unk->mUnk_0a + 0x20;
|
||||
sVar2 = gAdventureFlags->Get_FlagsUnk_42(*(int *) (param2 + 0xc));
|
||||
sVar2 = sVar1 + 0x80 + sVar2;
|
||||
} else {
|
||||
this->mMaxActors = fileEntry_unk->mUnk_0a + 0x40;
|
||||
iVar3 = data_027e0d38->func_ov000_02078b40();
|
||||
if (iVar3 == 2) {
|
||||
sVar2 = sVar1 + 0x280;
|
||||
} else {
|
||||
sVar2 = sVar1 + 0xc0;
|
||||
}
|
||||
}
|
||||
param1->vfunc_0c();
|
||||
func_ov000_020c3388(sVar2);
|
||||
this->mActorTable = (Actor **) NewEXPH(data_027e0ce0[1], this->mMaxActors * 4, 4);
|
||||
Fill256(0, this->mActorTable, this->mMaxActors * 4);
|
||||
this->mUnk_14 = new(data_027e0ce0[1], 4) ActorManager_Unk14(this->mMaxActors);
|
||||
}
|
||||
|
||||
THUMB void ActorManager::func_ov004_0210554c() {
|
||||
s32 i;
|
||||
Actor **iter;
|
||||
|
||||
for (i = 0, iter = this->mActorTable; i < this->mMaxActors; ++i, ++iter) {
|
||||
Actor *actor = *iter;
|
||||
if (actor && actor->mUnk_03c >= 0) {
|
||||
actor->vfunc_0c();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" void func_ov004_021058cc(unk32);
|
||||
extern unk32 data_027e10b4;
|
||||
extern "C" void func_ov030_02184554(unk32, unk32);
|
||||
extern "C" void func_ov030_021843c4(unk32, unk32);
|
||||
extern "C" void func_ov030_02184640(unk32);
|
||||
extern unk32 data_027e10b8;
|
||||
extern "C" void func_ov025_0216daa4(unk32, unk32);
|
||||
extern "C" void func_ov025_0216d804(unk32, unk32);
|
||||
THUMB bool ActorManager::func_ov004_02105578(unk32 param1) {
|
||||
bool bVar1;
|
||||
int iVar2;
|
||||
|
||||
this->mUnk_18 = true;
|
||||
func_ov004_021058cc(data_027e0fec);
|
||||
if (data_027e0d38->mUnk_14 != 1) {
|
||||
iVar2 = data_027e0d38->mUnk_0c.func_ov000_020a5e9c();
|
||||
if ((iVar2 == 0x29) || (iVar2 == 0x25)) {
|
||||
bVar1 = true;
|
||||
} else {
|
||||
bVar1 = false;
|
||||
}
|
||||
if ((bVar1) && (OverlayId_30 == gOverlayManager.mLoadedOverlays[7])) {
|
||||
func_ov030_02184554(data_027e10b4, param1);
|
||||
func_ov030_021843c4(data_027e10b4, param1);
|
||||
func_ov030_02184640(data_027e10b4);
|
||||
}
|
||||
if (iVar2 == 0x29) {
|
||||
func_ov025_0216daa4(data_027e10b8, param1);
|
||||
func_ov025_0216d804(data_027e10b8, param1);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
extern "C" void func_ov030_021843ec(unk32, unk32);
|
||||
extern "C" void func_ov017_02168bc0(unk32);
|
||||
extern "C" void func_ov025_0216d844(unk32, unk32);
|
||||
THUMB bool ActorManager::func_ov004_02105608(unk32 param1, unk32 param2, unk32 param3) {
|
||||
bool bVar1;
|
||||
int iVar2;
|
||||
|
||||
if (data_027e0d38->mUnk_14 != 1) {
|
||||
iVar2 = data_027e0d38->mUnk_0c.func_ov000_020a5e9c();
|
||||
if ((iVar2 == 0x29) || (iVar2 == 0x25)) {
|
||||
bVar1 = true;
|
||||
} else {
|
||||
bVar1 = false;
|
||||
}
|
||||
if ((bVar1) && (OverlayId_30 == gOverlayManager.mLoadedOverlays[7])) {
|
||||
func_ov030_021843ec(data_027e10b4, param3);
|
||||
func_ov017_02168bc0(data_027e10b4);
|
||||
}
|
||||
if (iVar2 == 0x29) {
|
||||
func_ov025_0216d844(data_027e10b8, param3);
|
||||
}
|
||||
}
|
||||
|
||||
s32 i;
|
||||
Actor **iter;
|
||||
for (i = 0, iter = this->mActorTable; i < this->mMaxActors; ++i, ++iter) {
|
||||
if (*iter != NULL && !(*iter)->vfunc_30()) {
|
||||
(*iter)->vfunc_24();
|
||||
if (!(*iter)->mGrabbed) {
|
||||
this->DeleteActor(i, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
THUMB void ActorManager::func_ov004_021056b8() {
|
||||
gItemManager->SpawnFairies();
|
||||
}
|
||||
@@ -32,7 +32,6 @@ void func_02021714(unk32, u32 *);
|
||||
void func_020209a4(unk32, u32 *);
|
||||
void func_0201f1ac(u32 *);
|
||||
void func_0201f96c(unk32, unk32);
|
||||
void Fill256(int value, int *dst, int size);
|
||||
void Fill32(unk32, u32 *, unk32);
|
||||
void Fill(unsigned char *dst, int value, int size);
|
||||
void func_0200afac();
|
||||
|
||||
Reference in New Issue
Block a user