mirror of
https://github.com/zeldaret/ph
synced 2026-07-08 05:40:40 -04:00
Match 00_Core/Actor/Dungeon/ActorEventIcon.cpp (#119)
* match ActorEventIcon * mark as complete
This commit is contained in:
@@ -28,6 +28,7 @@ src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp:
|
||||
.sbss start:0x020ecd64 end:0x020ecd84
|
||||
|
||||
src/00_Core/Actor/Dungeon/ActorEventIcon.cpp:
|
||||
complete
|
||||
.text start:0x020904f4 end:0x020908f8
|
||||
.init start:0x020df6f8 end:0x020df738
|
||||
.ctor start:0x020e1ecc end:0x020e1ed0
|
||||
|
||||
@@ -2313,7 +2313,7 @@ from:0x02090518 kind:arm_call to:0x02090524 module:overlay(0)
|
||||
from:0x02090520 kind:load to:0x027e0fe0 module:dtcm
|
||||
from:0x0209052c kind:arm_call to:0x020c1554 module:overlay(0)
|
||||
from:0x02090548 kind:arm_call to:0x02035064 module:main
|
||||
from:0x0209057c kind:load to:0x020e2aa8 module:overlay(0)
|
||||
from:0x0209057c kind:load to:0x020e2aa0 add:8 module:overlay(0)
|
||||
from:0x020905c0 kind:arm_call to:0x020350b4 module:main
|
||||
from:0x020905d8 kind:arm_call to:0x020351b8 module:main
|
||||
from:0x020905fc kind:arm_call to:0x020350b4 module:main
|
||||
|
||||
@@ -960,7 +960,7 @@ func_ov000_0209048c kind:function(arm,size=0x38) addr:0x0209048c
|
||||
func_ov000_020904c4 kind:function(arm,size=0x14) addr:0x020904c4
|
||||
func_ov000_020904d8 kind:function(arm,size=0x1c) addr:0x020904d8
|
||||
_ZN14ActorEventIcon6CreateEv kind:function(arm,size=0x30) addr:0x020904f4
|
||||
_ZN14ActorEventIconC2Ev kind:function(arm,size=0x5c) addr:0x02090524
|
||||
_ZN14ActorEventIconC1Ev kind:function(arm,size=0x5c) addr:0x02090524
|
||||
_ZN14ActorEventIcon4InitEv kind:function(arm,size=0xb0) addr:0x02090580
|
||||
_ZN14ActorEventIcon8vfunc_14Ej kind:function(arm,size=0xc) addr:0x02090630
|
||||
_ZN14ActorEventIcon8vfunc_18Ej kind:function(arm,size=0xc) addr:0x0209063c
|
||||
@@ -3940,7 +3940,7 @@ __sinit_ov000_020df4cc kind:function(arm,size=0x174) addr:0x020df4cc
|
||||
__sinit_ov000_020df640 kind:function(arm,size=0x38) addr:0x020df640
|
||||
__sinit_ActorSwitchObject.cpp kind:function(arm,size=0x40) addr:0x020df678
|
||||
__sinit_ov000_020df6b8 kind:function(arm,size=0x40) addr:0x020df6b8
|
||||
__sinit_ActorEventIcon.cpp kind:function(arm,size=0x40) addr:0x020df6f8
|
||||
__sinit_ActorEventIcon.cpp kind:function(arm,size=0x40) addr:0x020df6f8 local
|
||||
__sinit_ov000_020df738 kind:function(arm,size=0x38) addr:0x020df738
|
||||
__sinit_ov000_020df770 kind:function(arm,size=0x20) addr:0x020df770
|
||||
__sinit_ov000_020df790 kind:function(arm,size=0x1718) addr:0x020df790
|
||||
@@ -4066,7 +4066,7 @@ data_ov000_020e2870 kind:data(any) addr:0x020e2870
|
||||
data_ov000_020e289c kind:data(any) addr:0x020e289c
|
||||
_ZTV17ActorSwitchObject kind:data(any) addr:0x020e2930
|
||||
data_ov000_020e29ec kind:data(any) addr:0x020e29ec
|
||||
_ZTV14ActorEventIcon kind:data(any) addr:0x020e2aa8
|
||||
_ZTV14ActorEventIcon kind:data(any) addr:0x020e2aa0
|
||||
data_ov000_020e2b64 kind:data(any) addr:0x020e2b64
|
||||
data_ov000_020e2bb4 kind:data(any) addr:0x020e2bb4
|
||||
data_ov000_020e2c04 kind:data(any) addr:0x020e2c04
|
||||
@@ -5849,7 +5849,7 @@ data_ov000_020ecd64 kind:bss addr:0x020ecd64
|
||||
_ZN17ActorSwitchObject5gTypeE kind:bss addr:0x020ecd70
|
||||
data_ov000_020ecd84 kind:bss addr:0x020ecd84
|
||||
data_ov000_020ecd90 kind:bss addr:0x020ecd90
|
||||
data_ov000_020ecda4 kind:bss addr:0x020ecda4
|
||||
@558 kind:bss addr:0x020ecda4 local
|
||||
_ZN14ActorEventIcon5gTypeE kind:bss addr:0x020ecdb0
|
||||
data_ov000_020ecdc4 kind:bss addr:0x020ecdc4
|
||||
data_ov000_020ecdcc kind:bss addr:0x020ecdcc
|
||||
|
||||
@@ -1719,7 +1719,7 @@ func_0203490c kind:function(arm,size=0x30) addr:0x0203490c
|
||||
func_0203493c kind:function(arm,size=0x48) addr:0x0203493c
|
||||
func_02034984 kind:function(arm,size=0x48) addr:0x02034984
|
||||
func_020349cc kind:function(arm,size=0x50) addr:0x020349cc
|
||||
func_02034a1c kind:function(arm,size=0xf0) addr:0x02034a1c
|
||||
_ZN18UnkStruct_0203506413func_02034a1cEiiP18UnkStruct_01ffbe34 kind:function(arm,size=0xf0) addr:0x02034a1c
|
||||
func_02034b0c kind:function(arm,size=0x4c) addr:0x02034b0c
|
||||
func_02034b58 kind:function(arm,size=0x38) addr:0x02034b58
|
||||
func_02034b90 kind:function(arm,size=0x38) addr:0x02034b90
|
||||
|
||||
@@ -28,6 +28,7 @@ src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp:
|
||||
.sbss start:0x020ecd04 end:0x020ecd24
|
||||
|
||||
src/00_Core/Actor/Dungeon/ActorEventIcon.cpp:
|
||||
complete
|
||||
.text start:0x02090494 end:0x02090898
|
||||
.init start:0x020df698 end:0x020df6d8
|
||||
.ctor start:0x020e1e6c end:0x020e1e70
|
||||
|
||||
@@ -2313,7 +2313,7 @@ from:0x020904b8 kind:arm_call to:0x020904c4 module:overlay(0)
|
||||
from:0x020904c0 kind:load to:0x027e0fe0 module:dtcm
|
||||
from:0x020904cc kind:arm_call to:0x020c14f4 module:overlay(0)
|
||||
from:0x020904e8 kind:arm_call to:0x02035020 module:main
|
||||
from:0x0209051c kind:load to:0x020e2a48 module:overlay(0)
|
||||
from:0x0209051c kind:load to:0x020e2a40 add:8 module:overlay(0)
|
||||
from:0x02090560 kind:arm_call to:0x02035070 module:main
|
||||
from:0x02090578 kind:arm_call to:0x02035174 module:main
|
||||
from:0x0209059c kind:arm_call to:0x02035070 module:main
|
||||
|
||||
@@ -960,7 +960,7 @@ func_ov000_0209048c kind:function(arm,size=0x38) addr:0x0209042c
|
||||
func_ov000_020904c4 kind:function(arm,size=0x14) addr:0x02090464
|
||||
func_ov000_020904d8 kind:function(arm,size=0x1c) addr:0x02090478
|
||||
_ZN14ActorEventIcon6CreateEv kind:function(arm,size=0x30) addr:0x02090494
|
||||
_ZN14ActorEventIconC2Ev kind:function(arm,size=0x5c) addr:0x020904c4
|
||||
_ZN14ActorEventIconC1Ev kind:function(arm,size=0x5c) addr:0x020904c4
|
||||
_ZN14ActorEventIcon4InitEv kind:function(arm,size=0xb0) addr:0x02090520
|
||||
_ZN14ActorEventIcon8vfunc_14Ej kind:function(arm,size=0xc) addr:0x020905d0
|
||||
_ZN14ActorEventIcon8vfunc_18Ej kind:function(arm,size=0xc) addr:0x020905dc
|
||||
@@ -3940,7 +3940,7 @@ __sinit_ov000_020df4cc kind:function(arm,size=0x174) addr:0x020df46c
|
||||
__sinit_ov000_020df640 kind:function(arm,size=0x38) addr:0x020df5e0
|
||||
__sinit_ActorSwitchObject.cpp kind:function(arm,size=0x40) addr:0x020df618
|
||||
__sinit_ov000_020df6b8 kind:function(arm,size=0x40) addr:0x020df658
|
||||
__sinit_ActorEventIcon.cpp kind:function(arm,size=0x40) addr:0x020df698
|
||||
__sinit_ActorEventIcon.cpp kind:function(arm,size=0x40) addr:0x020df698 local
|
||||
__sinit_ov000_020df738 kind:function(arm,size=0x38) addr:0x020df6d8
|
||||
__sinit_ov000_020df770 kind:function(arm,size=0x20) addr:0x020df710
|
||||
__sinit_ov000_020df790 kind:function(arm,size=0x1718) addr:0x020df730
|
||||
@@ -4066,7 +4066,7 @@ data_ov000_020e2870 kind:data(any) addr:0x020e2810
|
||||
data_ov000_020e289c kind:data(any) addr:0x020e283c
|
||||
_ZTV17ActorSwitchObject kind:data(any) addr:0x020e28d0
|
||||
data_ov000_020e29ec kind:data(any) addr:0x020e298c
|
||||
_ZTV14ActorEventIcon kind:data(any) addr:0x020e2a48
|
||||
_ZTV14ActorEventIcon kind:data(any) addr:0x020e2a40
|
||||
data_ov000_020e2b64 kind:data(any) addr:0x020e2b04
|
||||
data_ov000_020e2bb4 kind:data(any) addr:0x020e2b54
|
||||
data_ov000_020e2c04 kind:data(any) addr:0x020e2ba4
|
||||
@@ -5849,7 +5849,7 @@ data_ov000_020ecd64 kind:bss addr:0x020ecd04
|
||||
_ZN17ActorSwitchObject5gTypeE kind:bss addr:0x020ecd10
|
||||
data_ov000_020ecd84 kind:bss addr:0x020ecd24
|
||||
data_ov000_020ecd90 kind:bss addr:0x020ecd30
|
||||
data_ov000_020ecda4 kind:bss addr:0x020ecd44
|
||||
@558 kind:bss addr:0x020ecd44 local
|
||||
_ZN14ActorEventIcon5gTypeE kind:bss addr:0x020ecd50
|
||||
data_ov000_020ecdc4 kind:bss addr:0x020ecd64
|
||||
data_ov000_020ecdcc kind:bss addr:0x020ecd6c
|
||||
|
||||
@@ -1719,7 +1719,7 @@ func_0203490c kind:function(arm,size=0x30) addr:0x020348c8
|
||||
func_0203493c kind:function(arm,size=0x48) addr:0x020348f8
|
||||
func_02034984 kind:function(arm,size=0x48) addr:0x02034940
|
||||
func_020349cc kind:function(arm,size=0x50) addr:0x02034988
|
||||
func_02034a1c kind:function(arm,size=0xf0) addr:0x020349d8
|
||||
_ZN18UnkStruct_0203506413func_02034a1cEiiP18UnkStruct_01ffbe34 kind:function(arm,size=0xf0) addr:0x020349d8
|
||||
func_02034b0c kind:function(arm,size=0x4c) addr:0x02034ac8
|
||||
func_02034b58 kind:function(arm,size=0x38) addr:0x02034b14
|
||||
func_02034b90 kind:function(arm,size=0x38) addr:0x02034b4c
|
||||
|
||||
@@ -12,9 +12,10 @@ public:
|
||||
static ActorType gType;
|
||||
|
||||
/* 000 (base) */
|
||||
/* 158 */ void *mUnk_158;
|
||||
/* 158 */ u32 mUnk_158;
|
||||
/* 15c */ u32 mUnk_15c;
|
||||
/* 160 */ UnkStruct_02035064 mUnk_160;
|
||||
/* 1e8 */
|
||||
|
||||
/* 00 */ virtual ~ActorEventIcon() override;
|
||||
/* 08 */ virtual bool Init() override;
|
||||
@@ -25,6 +26,6 @@ public:
|
||||
|
||||
static ActorEventIcon *Create();
|
||||
ActorEventIcon();
|
||||
u32 func_ov000_02090648(u32 param1);
|
||||
void func_ov000_02090648(u32 param1);
|
||||
bool func_ov000_02090774(u32 param1);
|
||||
};
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
|
||||
// astruct_11
|
||||
struct UnkStruct_0202e1a0 {
|
||||
/* 00 */ unk16 mUnk_00;
|
||||
/* 00 */ u16 mUnk_00;
|
||||
/* 02 */ unk16 mUnk_02;
|
||||
/* 04 */ s32 mUnk_04;
|
||||
/* 08 */ u32 mUnk_08;
|
||||
/* 08 */ s32 mUnk_08;
|
||||
/* 0c */ s32 mUnk_0c;
|
||||
/* 10 */ s32 mUnk_10;
|
||||
/* 14 */ s32 mUnk_14;
|
||||
|
||||
@@ -36,7 +36,7 @@ public:
|
||||
/* 74 */ u16 *mUnk_74;
|
||||
/* 78 */ s32 *mUnk_78;
|
||||
/* 7c */ u32 mUnk_7c;
|
||||
/* 80 */ u16 mUnk_80;
|
||||
/* 80 */ s16 mUnk_80;
|
||||
/* 82 */ unk16 mUnk_82;
|
||||
/* 84 */ unk16 mUnk_84;
|
||||
/* 86 */ bool mUnk_86;
|
||||
|
||||
@@ -1,13 +1,150 @@
|
||||
#include "Actor/Dungeon/ActorEventIcon.hpp"
|
||||
#include "Player/PlayerBase.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
|
||||
extern u32 **data_027e0fe0[];
|
||||
extern void *data_027e0d3c;
|
||||
extern "C" unk32 func_ov000_02079470(void *, Vec3p *, unk32, unk32, unk32 *, unk32 *, unk32, unk32);
|
||||
|
||||
#pragma section sbss begin
|
||||
ActorType ActorEventIcon::gType = ActorType(ActorTypeId_EventIcon, (ActorCreateFunc) ActorEventIcon::Create, NULL);
|
||||
#pragma section sbss end
|
||||
|
||||
ActorEventIcon *ActorEventIcon::Create() {}
|
||||
ActorEventIcon::ActorEventIcon() {}
|
||||
bool ActorEventIcon::Init() {}
|
||||
void ActorEventIcon::vfunc_14(u32 param1) {}
|
||||
void ActorEventIcon::vfunc_18(u32 param1) {}
|
||||
u32 ActorEventIcon::func_ov000_02090648(u32 param1) {}
|
||||
bool ActorEventIcon::func_ov000_02090774(u32 param1) {}
|
||||
void ActorEventIcon::vfunc_1c(u16 *param1) {}
|
||||
ActorEventIcon::~ActorEventIcon() {}
|
||||
ARM ActorEventIcon *ActorEventIcon::Create() {
|
||||
return new(*data_027e0fe0[0], 4) ActorEventIcon();
|
||||
}
|
||||
|
||||
ARM ActorEventIcon::ActorEventIcon() :
|
||||
mUnk_158(0),
|
||||
mUnk_15c(0) {
|
||||
this->mHitbox.pos.x = 0;
|
||||
this->mHitbox.pos.y = 0x4000;
|
||||
this->mHitbox.pos.z = 0;
|
||||
this->mHitbox.size = 0x4000;
|
||||
|
||||
this->mUnk_08c.pos.x = 0;
|
||||
this->mUnk_08c.pos.y = 0x4000;
|
||||
this->mUnk_08c.pos.z = 0;
|
||||
this->mUnk_08c.size = 0x4000;
|
||||
}
|
||||
|
||||
ARM bool ActorEventIcon::Init() {
|
||||
switch (this->mUnk_144) {
|
||||
case 1:
|
||||
case 2:
|
||||
this->mUnk_15c = 0xFFFFFFF2;
|
||||
this->mUnk_160.func_020350b4(3, 3, 0x19, 0, 0);
|
||||
this->mUnk_160.func_020351b8(true, false, false, false);
|
||||
break;
|
||||
default:
|
||||
this->mUnk_15c = 0xFFFFFFF4;
|
||||
this->mUnk_160.func_020350b4(3, 0, 0x19, 0, 0);
|
||||
this->mUnk_160.func_020351b8(false, false, false, false);
|
||||
break;
|
||||
}
|
||||
|
||||
this->func_ov000_02090774(0);
|
||||
return true;
|
||||
}
|
||||
|
||||
ARM void ActorEventIcon::vfunc_14(u32 param1) {
|
||||
func_ov000_02090648(param1);
|
||||
}
|
||||
|
||||
ARM void ActorEventIcon::vfunc_18(u32 param1) {
|
||||
func_ov000_02090648(param1);
|
||||
}
|
||||
|
||||
ARM void ActorEventIcon::func_ov000_02090648(u32 param1) {
|
||||
if (!this->func_ov00_020c313c(param1)) {
|
||||
return;
|
||||
}
|
||||
|
||||
this->mPrevPos = this->mPos;
|
||||
|
||||
switch (this->mUnk_130) {
|
||||
case 0:
|
||||
switch (this->mUnk_140) {
|
||||
case 0:
|
||||
if (Vec3p_Distance(&this->mPos, &gPlayerPos) <= 0x1000) {
|
||||
this->func_ov000_02090774(1);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case 1: break;
|
||||
case 2:
|
||||
if (this->mUnk_160.mUnk_5c.mUnk_08 >= 0x5A000 && Vec3p_Distance(&this->mPos, &gPlayerPos) > 0x1000) {
|
||||
this->func_ov000_02090774(1);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
if (this->mUnk_160.mUnk_5c.mUnk_00 == 1) {
|
||||
if (this->mUnk_160.mUnk_5c.func_0202e58c() != 0) {
|
||||
func_ov000_02090774(1);
|
||||
}
|
||||
} else {
|
||||
if (!gAdventureFlags->func_ov00_02097738()) {
|
||||
this->mUnk_158++;
|
||||
}
|
||||
|
||||
if (this->mUnk_158 >= 0x258) {
|
||||
func_ov000_02090774(1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1: break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
this->mUnk_160.func_0203516c();
|
||||
}
|
||||
|
||||
ARM bool ActorEventIcon::func_ov000_02090774(u32 param1) {
|
||||
this->mUnk_130 = param1;
|
||||
|
||||
switch (this->mUnk_130) {
|
||||
case 0: this->mUnk_158 = 0; break;
|
||||
case 1: this->mAlive = false; break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
ARM void ActorEventIcon::vfunc_1c(u16 *param1) {
|
||||
unk32 iStack_c;
|
||||
unk32 iStack_10;
|
||||
|
||||
if (((*param1 & 4) == 0) && ((*param1 & 8) == 0)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (func_ov000_02079470(data_027e0d3c, &this->mPos, 0, 0, &iStack_c, &iStack_10, 0, 0) != 0) {
|
||||
switch (this->mUnk_144) {
|
||||
case 1:
|
||||
if (this->mUnk_160.mUnk_80 >= 8) {
|
||||
iStack_10 -= 8;
|
||||
} else {
|
||||
iStack_10 -= 0xe;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
iStack_c++;
|
||||
|
||||
if (this->mUnk_160.mUnk_80 >= 8) {
|
||||
iStack_10 -= 0xb;
|
||||
} else {
|
||||
iStack_10 -= 0x11;
|
||||
}
|
||||
break;
|
||||
default: iStack_10 += this->mUnk_15c; break;
|
||||
}
|
||||
|
||||
this->mUnk_160.func_02034a1c(iStack_c, iStack_10, 0);
|
||||
}
|
||||
}
|
||||
|
||||
ARM ActorEventIcon::~ActorEventIcon() {}
|
||||
|
||||
Reference in New Issue
Block a user