summaryrefslogtreecommitdiff
path: root/src/d/a/d_a_base.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/d/a/d_a_base.cpp')
-rw-r--r--src/d/a/d_a_base.cpp41
1 files changed, 19 insertions, 22 deletions
diff --git a/src/d/a/d_a_base.cpp b/src/d/a/d_a_base.cpp
index ff47e669..381245d2 100644
--- a/src/d/a/d_a_base.cpp
+++ b/src/d/a/d_a_base.cpp
@@ -17,6 +17,7 @@
#include "f/f_list_nd.h"
#include "m/m_angle.h"
#include "m/m_vec.h"
+#include "toBeSorted/actor_info.h"
#include "toBeSorted/event.h"
#include "toBeSorted/event_manager.h"
#include "toBeSorted/file_manager.h"
@@ -33,13 +34,10 @@ mVec3_c *dAcBase_c::s_Create_Position;
mAng3_c *dAcBase_c::s_Create_Rotation;
mVec3_c *dAcBase_c::s_Create_Scale;
dAcBase_c *dAcBase_c::s_Create_Parent;
-ObjInfo *dAcBase_c::s_Create_ObjInfo;
+const ActorInfo *dAcBase_c::s_Create_ActorInfo;
u8 dAcBase_c::s_Create_Subtype;
-extern "C" ObjInfo *getObjByActorIdAndSubtype_unkNamespace(ProfileName, u8);
-extern "C" ObjInfo *getObjByActorName_unkNamespace(char *name);
-extern "C" char *getObjectName_8006a730(ObjInfo *);
-extern "C" SoundSource *soundForActorInitRelated_803889c0(s8, fBase_c *, char *, u8);
+extern "C" SoundSource *soundForActorInitRelated_803889c0(s8, fBase_c *, const char *, u8);
bool dAcBase_c::createHeap() {
return true;
@@ -50,7 +48,7 @@ bool dAcBase_c::createHeap() {
// 8002c3b0
dAcBase_c::dAcBase_c()
: heap_allocator(),
- obj_info(s_Create_ObjInfo),
+ mpActorInfo(s_Create_ActorInfo),
sound_list(),
obj_pos(&position),
params2(s_Create_Params2),
@@ -82,8 +80,8 @@ dAcBase_c::dAcBase_c()
fProfile::fActorProfile_c *profile = (fProfile::fActorProfile_c *)((*fProfile::sProfileList)[profile_name]);
actor_properties = profile->mActorProperties;
- if (obj_info == nullptr) {
- obj_info = getObjByActorIdAndSubtype_unkNamespace(profile_name, actor_subtype);
+ if (mpActorInfo == nullptr) {
+ mpActorInfo = getActorInfoByProfileAndSubtype(profile_name, actor_subtype);
}
someStr[0] = '\0';
}
@@ -98,7 +96,7 @@ dAcBase_c::~dAcBase_c() {}
void dAcBase_c::setTempCreateParams(
mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, s32 roomId, u32 params2, dAcBase_c *parent, u8 subtype, u16 unkFlag,
- s8 viewClipIdx, ObjInfo *objInfo
+ s8 viewClipIdx, const ActorInfo *actorInfo
) {
s_Create_Position = pos;
s_Create_Rotation = rot;
@@ -109,22 +107,21 @@ void dAcBase_c::setTempCreateParams(
s_Create_Subtype = subtype;
s_Create_UnkFlags = unkFlag;
s_Create_ViewClipIdx = viewClipIdx;
- s_Create_ObjInfo = objInfo;
+ s_Create_ActorInfo = actorInfo;
}
-// has regswap
-SoundSource *dAcBase_c::FUN_8002c690() {
- if (obj_info == nullptr) {
+SoundSource *dAcBase_c::createSoundSource() {
+ if (mpActorInfo == nullptr) {
return nullptr;
}
- s32 unk_val = obj_info->unk_0xA;
- if (unk_val == -1) {
+ s32 soundSourceType = mpActorInfo->soundSourceType;
+ if (soundSourceType == -1) {
return nullptr;
}
- char *objName = getObjectName_8006a730(obj_info);
- return soundForActorInitRelated_803889c0(unk_val, this, objName, subtype);
+ const char *actorName = getActorName(mpActorInfo);
+ return soundForActorInitRelated_803889c0(soundSourceType, this, actorName, subtype);
}
int dAcBase_c::initAllocatorWork1Heap(int size, char *name, int align) {
@@ -135,7 +132,7 @@ int dAcBase_c::initAllocator(int size, char *name, EGG::Heap *heap, int align) {
if (!heap_allocator.createNewTempFrmHeap(size, heap, name, 0x20, 0)) {
return 0;
}
- sound_source = FUN_8002c690();
+ sound_source = createSoundSource();
int success = createHeap();
heap_allocator.adjustFrmHeapRestoreCurrent();
return success;
@@ -344,16 +341,16 @@ u32 dAcBase_c::getParams2Lower() const {
// 8002d020
dAcBase_c *dAcBase_c::findActor(char *objName, dAcBase_c *parent) {
- ObjInfo *objInfo = getObjByActorName_unkNamespace(objName);
- if (objInfo == nullptr) {
+ const ActorInfo *actorInfo = getActorInfoByName(objName);
+ if (actorInfo == nullptr) {
return nullptr;
} else {
do {
- parent = (dAcBase_c *)fManager_c::searchBaseByProfName(objInfo->obj_id, parent);
+ parent = (dAcBase_c *)fManager_c::searchBaseByProfName(actorInfo->profileId, parent);
if (parent == nullptr) {
break;
}
- } while (parent->actor_subtype != objInfo->subtype);
+ } while (parent->actor_subtype != actorInfo->subtype);
}
return parent;
}