summaryrefslogtreecommitdiff
path: root/src/d
diff options
context:
space:
mode:
authorelijah-thomas774 <elijahthomas774@gmail.com>2024-03-17 17:40:00 -0400
committerelijah-thomas774 <elijahthomas774@gmail.com>2024-03-17 17:40:00 -0400
commit606cc15eeda81fe26207ccab28e84a1ef40ec3fd (patch)
tree69576d8441f2f0d1a70e8833ccc7a984784e4ebb /src/d
parentc2a4909bd2a9a23d73a65f6840e8c886658cef74 (diff)
some fManager, fBase, mHeap, f - lists and tree stuff
Diffstat (limited to 'src/d')
-rw-r--r--src/d/a/d_a_base.cpp146
-rw-r--r--src/d/d_heap.cpp47
-rw-r--r--src/d/d_sys.cpp0
-rw-r--r--src/d/d_system.cpp0
4 files changed, 107 insertions, 86 deletions
diff --git a/src/d/a/d_a_base.cpp b/src/d/a/d_a_base.cpp
index 5b3ad743..51705bd2 100644
--- a/src/d/a/d_a_base.cpp
+++ b/src/d/a/d_a_base.cpp
@@ -6,49 +6,35 @@
u32 dAcBase_c::s_Create_RoomId = -1;
u32 dAcBase_c::s_Create_Params2 = -1;
u16 dAcBase_c::s_Create_UnkFlags = -1;
-u8 dAcBase_c::s_Create_ViewClipIdx = -1;
+u8 dAcBase_c::s_Create_ViewClipIdx = -1;
// .sbss
-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;
+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;
u8 dAcBase_c::s_Create_Subtype;
-extern "C" ObjInfo* getObjByActorIdAndSubtype_unkNamespace(ProfileName, u8);
-extern "C" char* getObjectName_8006a730(ObjInfo*);
-extern "C" void* soundForActorInitRelated_803889c0(s8, fBase_c*, char*, u8);
+extern "C" ObjInfo *getObjByActorIdAndSubtype_unkNamespace(ProfileName, u8);
+extern "C" char *getObjectName_8006a730(ObjInfo *);
+extern "C" void *soundForActorInitRelated_803889c0(s8, fBase_c *, char *, u8);
bool dAcBase_c::createHeap() {
return true;
}
// Doesnt Match Yet
-dAcBase_c::dAcBase_c() :
- heap_allocator() ,
- obj_info(s_Create_ObjInfo),
- sound_info_tail(&heap_allocator.mHeap),
- sound_info_next(&heap_allocator.mHeap),
- count(0),
- obj_sound(nullptr),
- obj_pos(&position),
- params2(s_Create_Params2),
- obj_id(s_Create_UnkFlags),
- viewclip_index(s_Create_ViewClipIdx),
- actor_node(),
- roomid(s_Create_RoomId),
- actor_subtype(s_Create_Subtype)
-{
+dAcBase_c::dAcBase_c()
+ : heap_allocator(), obj_info(s_Create_ObjInfo), sound_info_tail(&heap_allocator.mHeap),
+ sound_info_next(&heap_allocator.mHeap), count(0), obj_sound(nullptr), obj_pos(&position),
+ params2(s_Create_Params2), obj_id(s_Create_UnkFlags), viewclip_index(s_Create_ViewClipIdx), actor_node(),
+ roomid(s_Create_RoomId), actor_subtype(s_Create_Subtype) {
JStudio_actor = 0;
someStr[0] = 0;
if (s_Create_Position != nullptr) {
// void set(f32 fx, f32 fy, f32 fz) { x = fx; y = fy; z = fz; }
- position.set(
- s_Create_Position->x,
- s_Create_Position->y,
- s_Create_Position->z
- );
+ position.set(s_Create_Position->x, s_Create_Position->y, s_Create_Position->z);
// position = *s_Create_Position;
}
if (s_Create_Rotation != 0) {
@@ -59,27 +45,23 @@ dAcBase_c::dAcBase_c() :
} else {
setScale(1.0, 1.0, 1.0);
}
- if (s_Create_Parent != 0){
+ if (s_Create_Parent != 0) {
setActorRef(s_Create_Parent);
}
- fProfile::fActorProfile_c* profile = (fProfile::fActorProfile_c*)((*fProfile::sProfileList)[profile_name]);
+ 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);
}
someStr[0] = '\0';
-}
+}
/* 8002c530 */ dBase_c::~dBase_c() {}
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, s16 unkFlag, u8 viewClipIdx,\
- ObjInfo* objInfo )
-{
+void dAcBase_c::setTempCreateParams(mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, s32 roomId, u32 params2,
+ dAcBase_c *parent, u8 subtype, s16 unkFlag, u8 viewClipIdx, ObjInfo *objInfo) {
s_Create_Position = pos;
s_Create_Rotation = rot;
s_Create_Scale = scale;
@@ -93,25 +75,25 @@ void dAcBase_c::setTempCreateParams( \
}
// has regswap
-void* dAcBase_c::FUN_8002c690() {
+void *dAcBase_c::FUN_8002c690() {
if (obj_info == nullptr) {
return nullptr;
}
s8 unk_val = obj_info->unk_0xA;
- if ( unk_val == -1) {
+ if (unk_val == -1) {
return nullptr;
}
- char* objName = getObjectName_8006a730(obj_info);
+ char *objName = getObjectName_8006a730(obj_info);
return soundForActorInitRelated_803889c0(unk_val, this, objName, subtype);
}
-int dAcBase_c::initAllocatorWork1Heap(int size, char* name, int align) {
- initAllocator(size, name, dHeap::work1Heap, align);
+int dAcBase_c::initAllocatorWork1Heap(int size, char *name, int align) {
+ return initAllocator(size, name, dHeap::work1Heap.heap, align);
}
-extern "C" int fn_802EE510(mAllocator_c*, int size, EGG::Heap* heap, char* name, int align, int unk);
-int dAcBase_c::initAllocator(int size, char* name, EGG::Heap* heap, int align) {
- if (fn_802EE510(&heap_allocator, size, heap, name, 0x20, 0) == 0){
+extern "C" int fn_802EE510(mAllocator_c *, int size, EGG::Heap *heap, char *name, int align, int unk);
+int dAcBase_c::initAllocator(int size, char *name, EGG::Heap *heap, int align) {
+ if (fn_802EE510(&heap_allocator, size, heap, name, 0x20, 0) == 0) {
return 0;
}
obj_sound = FUN_8002c690();
@@ -121,11 +103,11 @@ int dAcBase_c::initAllocator(int size, char* name, EGG::Heap* heap, int align) {
}
bool dAcBase_c::addActorToRoom(s32 roomId) {
- dBase_c* room = RoomManager::getRoom(roomId);
+ dBase_c *room = RoomManager::getRoom(roomId);
if (room == nullptr) {
return false;
}
- if (setConnectChild(room)){
+ if (setConnectChild(room)) {
if (roomId == -1) {
this->roomid = RoomManager::m_Instance->curr_room_id;
} else {
@@ -149,7 +131,7 @@ int dAcBase_c::create() {
return actorPostCreate();
}
int success = actorCreate();
- if (success == SUCCEEDED){
+ if (success == SUCCEEDED) {
success = NOT_READY;
actor_properties |= 0x8000000;
}
@@ -159,15 +141,13 @@ int dAcBase_c::create() {
void dAcBase_c::postCreate(fBase_c::MAIN_STATE_e state) {
if (state == SUCCESS) {
pos_copy = position;
- rot_copy = rotation;
+ rot_copy = rotation;
room_id_copy = roomid;
}
dBase_c::postCreate(state);
}
-int dAcBase_c::preDelete() {
-
-}
+int dAcBase_c::preDelete() {}
int dAcBase_c::preExecute() {
if (dBase_c::preExecute() == NOT_READY) {
@@ -185,10 +165,14 @@ int dAcBase_c::execute() {}
int dAcBase_c::actorExecute() {}
int dAcBase_c::actorExecuteInEvent() {}
void dAcBase_c::postExecute(fBase_c::MAIN_STATE_e state) {}
-void dAcBase_c::unkVirtFunc_0x5C() { return; }
-void dAcBase_c::unkVirtFunc_0x60() { return; }
+void dAcBase_c::unkVirtFunc_0x5C() {
+ return;
+}
+void dAcBase_c::unkVirtFunc_0x60() {
+ return;
+}
bool dAcBase_c::restorePosRotFromCopy() {}
-u32 dAcBase_c::itemDroppingAndGivingRelated(Vec3f* spawnPos, int subtype) {}
+u32 dAcBase_c::itemDroppingAndGivingRelated(Vec3f *spawnPos, int subtype) {}
void dAcBase_c::fillUpperParams2Byte() {}
u32 dAcBase_c::getParams2_ignoreLower() {}
void dAcBase_c::setParams2Upper_ignoreLower(u32 val) {}
@@ -196,29 +180,23 @@ u8 dAcBase_c::getParams2UpperByte() {}
void dAcBase_c::setParams2UpperByte(u32 val) {}
u32 dAcBase_c::buildParams2(u32 lower, u8 upper) {}
u32 dAcBase_c::getParams2Lower() {}
-dAcBase_c* dAcBase_c::findActor(char* objName, dAcBase_c* parent) {}
+dAcBase_c *dAcBase_c::findActor(char *objName, dAcBase_c *parent) {}
// searches for actor based on groupType
-dAcBase_c* dAcBase_c::searchActor(dAcBase_c& optionalParent) {}
+dAcBase_c *dAcBase_c::searchActor(dAcBase_c &optionalParent) {}
-void dAcBase_c::forEachActor(void*, dAcBase_c&) {}
+void dAcBase_c::forEachActor(void *, dAcBase_c &) {}
mAng dAcBase_c::getXZAngleToPlayer() {}
-bool dAcBase_c::getDistanceToActor(dAcBase_c& actor, f32 distThresh, f32* outDist) {}
-bool dAcBase_c::getDistanceAndAngleToActor( \
- dAcBase_c& actor, f32 distThresh, s16 yAngle, s16 xAngle, \
- f32* outDist, s16* outDiffAngleY, s16* outDiffAngleX)
-{
-
-}
+bool dAcBase_c::getDistanceToActor(dAcBase_c &actor, f32 distThresh, f32 *outDist) {}
+bool dAcBase_c::getDistanceAndAngleToActor(dAcBase_c &actor, f32 distThresh, s16 yAngle, s16 xAngle, f32 *outDist,
+ s16 *outDiffAngleY, s16 *outDiffAngleX) {}
bool dAcBase_c::isWithinPlayerRadius(f32 radius) {}
-bool dAcBase_c::getDistanceAndAngleToPlayer( \
- f32 distThresh, s16 yAngle, s16 xAngle, \
- f32* outDist, s16* outDiffAngleY, s16* outDiffAngleX)
-{
+bool dAcBase_c::getDistanceAndAngleToPlayer(f32 distThresh, s16 yAngle, s16 xAngle, f32 *outDist, s16 *outDiffAngleY,
+ s16 *outDiffAngleX) {
// return getDistanceAndAngleToActor(PLAYER, distThresh, yAngle, xAngle, outDist, outDiffAngleY, outDiffAngleX);
}
f32 dAcBase_c::getDistToPlayer() {}
-f32 dAcBase_c::getSquareDistToPlayer() {}
+f32 dAcBase_c::getSquareDistToPlayer() {}
void dAcBase_c::updateRoomId(f32 yOffs) {}
bool dAcBase_c::isRoomFlags_0x6_Set() {}
void dAcBase_c::FUN_8002d590() {}
@@ -238,34 +216,30 @@ void dAcBase_c::FUN_8002d810() {}
void dAcBase_c::FUN_8002d830() {}
void dAcBase_c::FUN_8002d860() {}
void dAcBase_c::FUN_8002d880() {}
- // first param is not dAcBase_c
+// first param is not dAcBase_c
void dAcBase_c::FUN_8002d890() {}
- // current name is Global__setActorRef
-void dAcBase_c::setActorRef(dBase_c*) {}
- // May not be only purpose
+// current name is Global__setActorRef
+void dAcBase_c::setActorRef(dBase_c *) {}
+// May not be only purpose
void dAcBase_c::setUnkFlag() {}
void dAcBase_c::FUN_8002d940() {}
void dAcBase_c::FUN_8002d960() {}
// spawns GroupType2 (ACTOR)
-dAcBase_c dAcBase_c::createActor( \
- ProfileName actorId, u32 params1, \
- Vec3f* pos, Vec3s* rot, Vec3f* scale, \
- u32 params2, s32 roomId, dBase_c* ref) {}
+dAcBase_c dAcBase_c::createActor(ProfileName actorId, u32 params1, Vec3f *pos, Vec3s *rot, Vec3f *scale, u32 params2,
+ s32 roomId, dBase_c *ref) {}
-dAcBase_c dAcBase_c::createActorUnkGroup3( \
- ProfileName actorId, u32 params1, \
- Vec3f* pos, Vec3s* rot, Vec3f* scale, \
- u32 params2, s32 roomId, dBase_c* ref) {}
+dAcBase_c dAcBase_c::createActorUnkGroup3(ProfileName actorId, u32 params1, Vec3f *pos, Vec3s *rot, Vec3f *scale,
+ u32 params2, s32 roomId, dBase_c *ref) {}
-void* dAcBase_c::getCurrentEventActor() {}
+void *dAcBase_c::getCurrentEventActor() {}
void dAcBase_c::unkVirtFunc_0x6C() {}
void dAcBase_c::doInteraction(s32) {}
-void dAcBase_c::FUN_8002dc20(s16*, s16*) {}
+void dAcBase_c::FUN_8002dc20(s16 *, s16 *) {}
void dAcBase_c::incrementKillCounter() {}
void dAcBase_c::FUN_8002dcd0() {}
void dAcBase_c::FUN_8002dd10() {}
void dAcBase_c::FUN_8002dd50() {}
void dAcBase_c::FUN_8002dd90() {}
void dAcBase_c::FUN_8002ddd0() {}
-void dAcBase_c::FUN_8002de30() {} \ No newline at end of file
+void dAcBase_c::FUN_8002de30() {}
diff --git a/src/d/d_heap.cpp b/src/d/d_heap.cpp
new file mode 100644
index 00000000..4bfa5e52
--- /dev/null
+++ b/src/d/d_heap.cpp
@@ -0,0 +1,47 @@
+#include <d/d_heap.h>
+
+dHeap dHeap::work1Heap;
+dHeap dHeap::work2Heap;
+dHeap dHeap::workExHeap;
+dHeap dHeap::layoutHeap;
+dHeap dHeap::layoutExHeap;
+dHeap dHeap::layoutEx2Heap;
+dHeap dHeap::layoutResHeap;
+dHeap dHeap::fontHeap;
+dHeap dHeap::HBMHeap;
+
+EGG::ExpHeap *dHeap::init(const char *name, size_t size, EGG::Heap *parent) {
+ heap = EGG::ExpHeap::create(size, parent, 4);
+ if (heap != nullptr) {
+ heap->setGroupID(0);
+ heap->mName = name;
+ }
+ return heap;
+}
+void dHeap::createWork1Heap(size_t size, EGG::Heap *parent) {
+ work1Heap.init("ゲーム用作業用ヒープ(dHeap::work1Heap)", size, parent);
+}
+void dHeap::createWork2Heap(size_t size, EGG::Heap *parent) {
+ work2Heap.init("ゲーム用作業用ヒープ(dHeap::work2Heap)", size, parent);
+}
+void dHeap::createWorkExHeap(size_t size, EGG::Heap *parent) {
+ workExHeap.init("ゲーム用拡張作業用ヒープ(dHeap::workExHeap)", size, parent);
+}
+void dHeap::createLayoutHeap(size_t size, EGG::Heap *parent) {
+ layoutHeap.init("レイアウト作業用ヒープ(dHeap::layoutHeap)", size, parent);
+}
+void dHeap::createLayoutExHeap(size_t size, EGG::Heap *parent) {
+ layoutExHeap.init("レイアウト拡張作業用ヒープ(dHeap::layoutExHeap)", size, parent);
+}
+void dHeap::createLayoutEx2Heap(size_t size, EGG::Heap *parent) {
+ layoutEx2Heap.init("レイアウト拡張作業用ヒープ2(dHeap::layoutEx2Heap)", size, parent);
+}
+void dHeap::createLayoutResHeap(size_t size, EGG::Heap *parent) {
+ layoutResHeap.init("レイアウトリソース用ヒープ(dHeap::layoutResHeap)", size, parent);
+}
+void dHeap::createFontHeap(size_t size, EGG::Heap *parent) {
+ fontHeap.init("フォント用ヒープ(dHeap::fontHeap)", size, parent);
+}
+void dHeap::createHBMHeap(size_t size, EGG::Heap *parent) {
+ HBMHeap.init("HBM用ヒープ(dHeap::HBMHeap)", size, parent);
+}
diff --git a/src/d/d_sys.cpp b/src/d/d_sys.cpp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/src/d/d_sys.cpp
diff --git a/src/d/d_system.cpp b/src/d/d_system.cpp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/src/d/d_system.cpp