mirror of
https://github.com/zeldaret/ph
synced 2026-09-09 11:44:24 -04:00
ActorSpawner OK
This commit is contained in:
@@ -17,6 +17,7 @@ src/00_Core/Actor/ActorManager.cpp:
|
|||||||
.data start:0x020e72a8 end:0x020e72f4
|
.data start:0x020e72a8 end:0x020e72f4
|
||||||
|
|
||||||
src/00_Core/Actor/ActorSpawner.cpp:
|
src/00_Core/Actor/ActorSpawner.cpp:
|
||||||
|
complete
|
||||||
.text start:0x020c3f9c end:0x020c42d8
|
.text start:0x020c3f9c end:0x020c42d8
|
||||||
|
|
||||||
src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp:
|
src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp:
|
||||||
|
|||||||
@@ -603,25 +603,25 @@ _ZN11ActorRefill19func_ov014_02135474Ev kind:function(arm,size=0x84) addr:0x2135
|
|||||||
_ZN16ActorRefillBombsC1Ev kind:function(arm,size=0x34) addr:0x21354f8
|
_ZN16ActorRefillBombsC1Ev kind:function(arm,size=0x34) addr:0x21354f8
|
||||||
_ZN16ActorRefillBombsD1Ev kind:function(arm,size=0x14) addr:0x213552c
|
_ZN16ActorRefillBombsD1Ev kind:function(arm,size=0x14) addr:0x213552c
|
||||||
_ZN16ActorRefillBombsD0Ev kind:function(arm,size=0x1c) addr:0x2135540
|
_ZN16ActorRefillBombsD0Ev kind:function(arm,size=0x1c) addr:0x2135540
|
||||||
_ZN16ActorRefillBombs8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x213555c
|
_ZN16ActorRefillBombs11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x213555c
|
||||||
_ZN19ActorRefillBombchusC1Ev kind:function(arm,size=0x34) addr:0x2135564
|
_ZN19ActorRefillBombchusC1Ev kind:function(arm,size=0x34) addr:0x2135564
|
||||||
_ZN19ActorRefillBombchusD1Ev kind:function(arm,size=0x14) addr:0x2135598
|
_ZN19ActorRefillBombchusD1Ev kind:function(arm,size=0x14) addr:0x2135598
|
||||||
_ZN19ActorRefillBombchusD0Ev kind:function(arm,size=0x1c) addr:0x21355ac
|
_ZN19ActorRefillBombchusD0Ev kind:function(arm,size=0x1c) addr:0x21355ac
|
||||||
_ZN19ActorRefillBombchus8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x21355c8
|
_ZN19ActorRefillBombchus11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x21355c8
|
||||||
_ZN17ActorRefillArrowsC1Ev kind:function(arm,size=0x34) addr:0x21355d0
|
_ZN17ActorRefillArrowsC1Ev kind:function(arm,size=0x34) addr:0x21355d0
|
||||||
_ZN17ActorRefillArrowsD1Ev kind:function(arm,size=0x14) addr:0x2135604
|
_ZN17ActorRefillArrowsD1Ev kind:function(arm,size=0x14) addr:0x2135604
|
||||||
_ZN17ActorRefillArrowsD0Ev kind:function(arm,size=0x1c) addr:0x2135618
|
_ZN17ActorRefillArrowsD0Ev kind:function(arm,size=0x1c) addr:0x2135618
|
||||||
_ZN17ActorRefillArrows8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x2135634
|
_ZN17ActorRefillArrows11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135634
|
||||||
_ZN15ActorRefillTimeC1Ev kind:function(arm,size=0x34) addr:0x213563c
|
_ZN15ActorRefillTimeC1Ev kind:function(arm,size=0x34) addr:0x213563c
|
||||||
_ZN15ActorRefillTimeD1Ev kind:function(arm,size=0x14) addr:0x2135670
|
_ZN15ActorRefillTimeD1Ev kind:function(arm,size=0x14) addr:0x2135670
|
||||||
_ZN15ActorRefillTimeD0Ev kind:function(arm,size=0x1c) addr:0x2135684
|
_ZN15ActorRefillTimeD0Ev kind:function(arm,size=0x1c) addr:0x2135684
|
||||||
_ZN15ActorRefillTime4InitEv kind:function(arm,size=0x114) addr:0x21356a0
|
_ZN15ActorRefillTime4InitEv kind:function(arm,size=0x114) addr:0x21356a0
|
||||||
_ZN15ActorRefillTime8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x21357b4
|
_ZN15ActorRefillTime11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x21357b4
|
||||||
_ZN9ActorLSTMC1Ev kind:function(arm,size=0x34) addr:0x21357bc
|
_ZN9ActorLSTMC1Ev kind:function(arm,size=0x34) addr:0x21357bc
|
||||||
_ZN9ActorLSTMD1Ev kind:function(arm,size=0x14) addr:0x21357f0
|
_ZN9ActorLSTMD1Ev kind:function(arm,size=0x14) addr:0x21357f0
|
||||||
_ZN9ActorLSTMD0Ev kind:function(arm,size=0x1c) addr:0x2135804
|
_ZN9ActorLSTMD0Ev kind:function(arm,size=0x1c) addr:0x2135804
|
||||||
_ZN9ActorLSTM4InitEv kind:function(arm,size=0x118) addr:0x2135820
|
_ZN9ActorLSTM4InitEv kind:function(arm,size=0x118) addr:0x2135820
|
||||||
_ZN9ActorLSTM8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x2135938
|
_ZN9ActorLSTM11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135938
|
||||||
func_ov014_02135940 kind:function(arm,size=0x34) addr:0x2135940
|
func_ov014_02135940 kind:function(arm,size=0x34) addr:0x2135940
|
||||||
func_ov014_02135974 kind:function(arm,size=0xc4) addr:0x2135974
|
func_ov014_02135974 kind:function(arm,size=0xc4) addr:0x2135974
|
||||||
func_ov014_02135a38 kind:function(arm,size=0xc4) addr:0x2135a38
|
func_ov014_02135a38 kind:function(arm,size=0xc4) addr:0x2135a38
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ src/00_Core/Actor/ActorManager.cpp:
|
|||||||
.data start:0x020e7248 end:0x020e7294
|
.data start:0x020e7248 end:0x020e7294
|
||||||
|
|
||||||
src/00_Core/Actor/ActorSpawner.cpp:
|
src/00_Core/Actor/ActorSpawner.cpp:
|
||||||
|
complete
|
||||||
.text start:0x020c3f3c end:0x020c4278
|
.text start:0x020c3f3c end:0x020c4278
|
||||||
|
|
||||||
src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp:
|
src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp:
|
||||||
|
|||||||
@@ -603,25 +603,25 @@ _ZN11ActorRefill19func_ov014_02135474Ev kind:function(arm,size=0x84) addr:0x2135
|
|||||||
_ZN16ActorRefillBombsC1Ev kind:function(arm,size=0x34) addr:0x2135454
|
_ZN16ActorRefillBombsC1Ev kind:function(arm,size=0x34) addr:0x2135454
|
||||||
_ZN16ActorRefillBombsD1Ev kind:function(arm,size=0x14) addr:0x2135488
|
_ZN16ActorRefillBombsD1Ev kind:function(arm,size=0x14) addr:0x2135488
|
||||||
_ZN16ActorRefillBombsD0Ev kind:function(arm,size=0x1c) addr:0x213549c
|
_ZN16ActorRefillBombsD0Ev kind:function(arm,size=0x1c) addr:0x213549c
|
||||||
_ZN16ActorRefillBombs8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x21354b8
|
_ZN16ActorRefillBombs11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x21354b8
|
||||||
_ZN19ActorRefillBombchusC1Ev kind:function(arm,size=0x34) addr:0x21354c0
|
_ZN19ActorRefillBombchusC1Ev kind:function(arm,size=0x34) addr:0x21354c0
|
||||||
_ZN19ActorRefillBombchusD1Ev kind:function(arm,size=0x14) addr:0x21354f4
|
_ZN19ActorRefillBombchusD1Ev kind:function(arm,size=0x14) addr:0x21354f4
|
||||||
_ZN19ActorRefillBombchusD0Ev kind:function(arm,size=0x1c) addr:0x2135508
|
_ZN19ActorRefillBombchusD0Ev kind:function(arm,size=0x1c) addr:0x2135508
|
||||||
_ZN19ActorRefillBombchus8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x2135524
|
_ZN19ActorRefillBombchus11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135524
|
||||||
_ZN17ActorRefillArrowsC1Ev kind:function(arm,size=0x34) addr:0x213552c
|
_ZN17ActorRefillArrowsC1Ev kind:function(arm,size=0x34) addr:0x213552c
|
||||||
_ZN17ActorRefillArrowsD1Ev kind:function(arm,size=0x14) addr:0x2135560
|
_ZN17ActorRefillArrowsD1Ev kind:function(arm,size=0x14) addr:0x2135560
|
||||||
_ZN17ActorRefillArrowsD0Ev kind:function(arm,size=0x1c) addr:0x2135574
|
_ZN17ActorRefillArrowsD0Ev kind:function(arm,size=0x1c) addr:0x2135574
|
||||||
_ZN17ActorRefillArrows8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x2135590
|
_ZN17ActorRefillArrows11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135590
|
||||||
_ZN15ActorRefillTimeC1Ev kind:function(arm,size=0x34) addr:0x2135598
|
_ZN15ActorRefillTimeC1Ev kind:function(arm,size=0x34) addr:0x2135598
|
||||||
_ZN15ActorRefillTimeD1Ev kind:function(arm,size=0x14) addr:0x21355cc
|
_ZN15ActorRefillTimeD1Ev kind:function(arm,size=0x14) addr:0x21355cc
|
||||||
_ZN15ActorRefillTimeD0Ev kind:function(arm,size=0x1c) addr:0x21355e0
|
_ZN15ActorRefillTimeD0Ev kind:function(arm,size=0x1c) addr:0x21355e0
|
||||||
_ZN15ActorRefillTime4InitEv kind:function(arm,size=0x114) addr:0x21355fc
|
_ZN15ActorRefillTime4InitEv kind:function(arm,size=0x114) addr:0x21355fc
|
||||||
_ZN15ActorRefillTime8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x2135710
|
_ZN15ActorRefillTime11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135710
|
||||||
_ZN9ActorLSTMC1Ev kind:function(arm,size=0x34) addr:0x2135718
|
_ZN9ActorLSTMC1Ev kind:function(arm,size=0x34) addr:0x2135718
|
||||||
_ZN9ActorLSTMD1Ev kind:function(arm,size=0x14) addr:0x213574c
|
_ZN9ActorLSTMD1Ev kind:function(arm,size=0x14) addr:0x213574c
|
||||||
_ZN9ActorLSTMD0Ev kind:function(arm,size=0x1c) addr:0x2135760
|
_ZN9ActorLSTMD0Ev kind:function(arm,size=0x1c) addr:0x2135760
|
||||||
_ZN9ActorLSTM4InitEv kind:function(arm,size=0x118) addr:0x213577c
|
_ZN9ActorLSTM4InitEv kind:function(arm,size=0x118) addr:0x213577c
|
||||||
_ZN9ActorLSTM8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x2135894
|
_ZN9ActorLSTM11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135894
|
||||||
func_ov014_02135940 kind:function(arm,size=0x34) addr:0x213589c
|
func_ov014_02135940 kind:function(arm,size=0x34) addr:0x213589c
|
||||||
func_ov014_02135974 kind:function(arm,size=0xc4) addr:0x21358d0
|
func_ov014_02135974 kind:function(arm,size=0xc4) addr:0x21358d0
|
||||||
func_ov014_02135a38 kind:function(arm,size=0xc4) addr:0x2135994
|
func_ov014_02135a38 kind:function(arm,size=0xc4) addr:0x2135994
|
||||||
|
|||||||
@@ -33,10 +33,10 @@ extern "C" unk32 GetCardinal(s16 angle);
|
|||||||
ARM s32 ActorSpawner::Spawn(ActorTypeId type, Vec3p *pos, ActorSpawnOptions *options, ActorRef *ref) {
|
ARM s32 ActorSpawner::Spawn(ActorTypeId type, Vec3p *pos, ActorSpawnOptions *options, ActorRef *ref) {
|
||||||
ActorManager *actorManager = gActorManager;
|
ActorManager *actorManager = gActorManager;
|
||||||
u16 maxActors = actorManager->mMaxActors;
|
u16 maxActors = actorManager->mMaxActors;
|
||||||
Actor **actorSlot = actorManager->mActorTable;
|
s32 id = -1;
|
||||||
ActorRef actorRef;
|
s32 index;
|
||||||
actorRef.id = -1;
|
Actor **actorSlot = actorManager->mActorTable;
|
||||||
for (actorRef.index = 0; actorRef.index < maxActors; actorRef.index++, actorSlot++) {
|
for (index = 0; index < maxActors; index++, actorSlot++) {
|
||||||
if (*actorSlot != NULL) {
|
if (*actorSlot != NULL) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -51,7 +51,7 @@ ARM s32 ActorSpawner::Spawn(ActorTypeId type, Vec3p *pos, ActorSpawnOptions *opt
|
|||||||
}
|
}
|
||||||
actor->mType = type;
|
actor->mType = type;
|
||||||
(*actorSlot)->mRef.id = actorManager->mNextActorId;
|
(*actorSlot)->mRef.id = actorManager->mNextActorId;
|
||||||
(*actorSlot)->mRef.index = actorRef.index;
|
(*actorSlot)->mRef.index = index;
|
||||||
(*actorSlot)->mUnk_014 = *pos;
|
(*actorSlot)->mUnk_014 = *pos;
|
||||||
(*actorSlot)->mUnk_020 = options->mUnk_00;
|
(*actorSlot)->mUnk_020 = options->mUnk_00;
|
||||||
(*actorSlot)->mAngle = options->mAngle;
|
(*actorSlot)->mAngle = options->mAngle;
|
||||||
@@ -70,15 +70,15 @@ ARM s32 ActorSpawner::Spawn(ActorTypeId type, Vec3p *pos, ActorSpawnOptions *opt
|
|||||||
actor2->mPrevPos = *pos;
|
actor2->mPrevPos = *pos;
|
||||||
(*actorSlot)->mUnk_010 = gMapManager->GetCourseData_Unk_1c();
|
(*actorSlot)->mUnk_010 = gMapManager->GetCourseData_Unk_1c();
|
||||||
(*actorSlot)->mUnk_011 = gMapManager->GetCourseData_Unk_1d();
|
(*actorSlot)->mUnk_011 = gMapManager->GetCourseData_Unk_1d();
|
||||||
u16 nextIndex = actorRef.index + 1;
|
u16 nextIndex = index + 1;
|
||||||
if (actorManager->mMaxActorIndex < nextIndex) {
|
if (actorManager->mMaxActorIndex < nextIndex) {
|
||||||
actorManager->mMaxActorIndex = nextIndex;
|
actorManager->mMaxActorIndex = nextIndex;
|
||||||
}
|
}
|
||||||
actorManager->mCacheEmptyActorIndex = actorRef.index;
|
actorManager->mCacheEmptyActorIndex = index;
|
||||||
|
|
||||||
actorRef.id = actorManager->mNextActorId;
|
id = actorManager->mNextActorId;
|
||||||
if (ref != NULL) {
|
if (ref != NULL) {
|
||||||
*ref = actorRef;
|
*ref = ActorRef(id, index);
|
||||||
}
|
}
|
||||||
actorManager->mNextActorId += 1;
|
actorManager->mNextActorId += 1;
|
||||||
actorManager->mNumActors += 1;
|
actorManager->mNumActors += 1;
|
||||||
@@ -91,8 +91,8 @@ ARM s32 ActorSpawner::Spawn(ActorTypeId type, Vec3p *pos, ActorSpawnOptions *opt
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if ((actorRef.id == -1) && (ref != NULL)) {
|
if ((id == -1) && (ref != NULL)) {
|
||||||
ref->Reset();
|
ref->Reset();
|
||||||
}
|
}
|
||||||
return actorRef.id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user