summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/eur/arm9/overlays/ov000/delinks.txt1
-rw-r--r--config/eur/arm9/overlays/ov014/symbols.txt10
-rw-r--r--config/usa/arm9/overlays/ov000/delinks.txt1
-rw-r--r--config/usa/arm9/overlays/ov014/symbols.txt10
-rw-r--r--src/00_Core/Actor/ActorSpawner.cpp22
5 files changed, 23 insertions, 21 deletions
diff --git a/config/eur/arm9/overlays/ov000/delinks.txt b/config/eur/arm9/overlays/ov000/delinks.txt
index 5ef9d228..56207f63 100644
--- a/config/eur/arm9/overlays/ov000/delinks.txt
+++ b/config/eur/arm9/overlays/ov000/delinks.txt
@@ -17,6 +17,7 @@ src/00_Core/Actor/ActorManager.cpp:
.data start:0x020e72a8 end:0x020e72f4
src/00_Core/Actor/ActorSpawner.cpp:
+ complete
.text start:0x020c3f9c end:0x020c42d8
src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp:
diff --git a/config/eur/arm9/overlays/ov014/symbols.txt b/config/eur/arm9/overlays/ov014/symbols.txt
index da54c8f2..6f2c7d43 100644
--- a/config/eur/arm9/overlays/ov014/symbols.txt
+++ b/config/eur/arm9/overlays/ov014/symbols.txt
@@ -603,25 +603,25 @@ _ZN11ActorRefill19func_ov014_02135474Ev kind:function(arm,size=0x84) addr:0x2135
_ZN16ActorRefillBombsC1Ev kind:function(arm,size=0x34) addr:0x21354f8
_ZN16ActorRefillBombsD1Ev kind:function(arm,size=0x14) addr:0x213552c
_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
_ZN19ActorRefillBombchusD1Ev kind:function(arm,size=0x14) addr:0x2135598
_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
_ZN17ActorRefillArrowsD1Ev kind:function(arm,size=0x14) addr:0x2135604
_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
_ZN15ActorRefillTimeD1Ev kind:function(arm,size=0x14) addr:0x2135670
_ZN15ActorRefillTimeD0Ev kind:function(arm,size=0x1c) addr:0x2135684
_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
_ZN9ActorLSTMD1Ev kind:function(arm,size=0x14) addr:0x21357f0
_ZN9ActorLSTMD0Ev kind:function(arm,size=0x1c) addr:0x2135804
_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_02135974 kind:function(arm,size=0xc4) addr:0x2135974
func_ov014_02135a38 kind:function(arm,size=0xc4) addr:0x2135a38
diff --git a/config/usa/arm9/overlays/ov000/delinks.txt b/config/usa/arm9/overlays/ov000/delinks.txt
index 5d8f5cc3..894e26de 100644
--- a/config/usa/arm9/overlays/ov000/delinks.txt
+++ b/config/usa/arm9/overlays/ov000/delinks.txt
@@ -17,6 +17,7 @@ src/00_Core/Actor/ActorManager.cpp:
.data start:0x020e7248 end:0x020e7294
src/00_Core/Actor/ActorSpawner.cpp:
+ complete
.text start:0x020c3f3c end:0x020c4278
src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp:
diff --git a/config/usa/arm9/overlays/ov014/symbols.txt b/config/usa/arm9/overlays/ov014/symbols.txt
index af30394f..a033bc75 100644
--- a/config/usa/arm9/overlays/ov014/symbols.txt
+++ b/config/usa/arm9/overlays/ov014/symbols.txt
@@ -603,25 +603,25 @@ _ZN11ActorRefill19func_ov014_02135474Ev kind:function(arm,size=0x84) addr:0x2135
_ZN16ActorRefillBombsC1Ev kind:function(arm,size=0x34) addr:0x2135454
_ZN16ActorRefillBombsD1Ev kind:function(arm,size=0x14) addr:0x2135488
_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
_ZN19ActorRefillBombchusD1Ev kind:function(arm,size=0x14) addr:0x21354f4
_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
_ZN17ActorRefillArrowsD1Ev kind:function(arm,size=0x14) addr:0x2135560
_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
_ZN15ActorRefillTimeD1Ev kind:function(arm,size=0x14) addr:0x21355cc
_ZN15ActorRefillTimeD0Ev kind:function(arm,size=0x1c) addr:0x21355e0
_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
_ZN9ActorLSTMD1Ev kind:function(arm,size=0x14) addr:0x213574c
_ZN9ActorLSTMD0Ev kind:function(arm,size=0x1c) addr:0x2135760
_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_02135974 kind:function(arm,size=0xc4) addr:0x21358d0
func_ov014_02135a38 kind:function(arm,size=0xc4) addr:0x2135994
diff --git a/src/00_Core/Actor/ActorSpawner.cpp b/src/00_Core/Actor/ActorSpawner.cpp
index 60feae90..55cf1a57 100644
--- a/src/00_Core/Actor/ActorSpawner.cpp
+++ b/src/00_Core/Actor/ActorSpawner.cpp
@@ -33,10 +33,10 @@ extern "C" unk32 GetCardinal(s16 angle);
ARM s32 ActorSpawner::Spawn(ActorTypeId type, Vec3p *pos, ActorSpawnOptions *options, ActorRef *ref) {
ActorManager *actorManager = gActorManager;
u16 maxActors = actorManager->mMaxActors;
- Actor **actorSlot = actorManager->mActorTable;
- ActorRef actorRef;
- actorRef.id = -1;
- for (actorRef.index = 0; actorRef.index < maxActors; actorRef.index++, actorSlot++) {
+ s32 id = -1;
+ s32 index;
+ Actor **actorSlot = actorManager->mActorTable;
+ for (index = 0; index < maxActors; index++, actorSlot++) {
if (*actorSlot != NULL) {
continue;
}
@@ -51,7 +51,7 @@ ARM s32 ActorSpawner::Spawn(ActorTypeId type, Vec3p *pos, ActorSpawnOptions *opt
}
actor->mType = type;
(*actorSlot)->mRef.id = actorManager->mNextActorId;
- (*actorSlot)->mRef.index = actorRef.index;
+ (*actorSlot)->mRef.index = index;
(*actorSlot)->mUnk_014 = *pos;
(*actorSlot)->mUnk_020 = options->mUnk_00;
(*actorSlot)->mAngle = options->mAngle;
@@ -70,15 +70,15 @@ ARM s32 ActorSpawner::Spawn(ActorTypeId type, Vec3p *pos, ActorSpawnOptions *opt
actor2->mPrevPos = *pos;
(*actorSlot)->mUnk_010 = gMapManager->GetCourseData_Unk_1c();
(*actorSlot)->mUnk_011 = gMapManager->GetCourseData_Unk_1d();
- u16 nextIndex = actorRef.index + 1;
+ u16 nextIndex = index + 1;
if (actorManager->mMaxActorIndex < nextIndex) {
actorManager->mMaxActorIndex = nextIndex;
}
- actorManager->mCacheEmptyActorIndex = actorRef.index;
+ actorManager->mCacheEmptyActorIndex = index;
- actorRef.id = actorManager->mNextActorId;
+ id = actorManager->mNextActorId;
if (ref != NULL) {
- *ref = actorRef;
+ *ref = ActorRef(id, index);
}
actorManager->mNextActorId += 1;
actorManager->mNumActors += 1;
@@ -91,8 +91,8 @@ ARM s32 ActorSpawner::Spawn(ActorTypeId type, Vec3p *pos, ActorSpawnOptions *opt
}
break;
}
- if ((actorRef.id == -1) && (ref != NULL)) {
+ if ((id == -1) && (ref != NULL)) {
ref->Reset();
}
- return actorRef.id;
+ return id;
}