summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelijah-thomas774 <elijahthomas774@gmail.com>2026-04-11 12:32:15 -0400
committerelijah-thomas774 <elijahthomas774@gmail.com>2026-04-18 09:05:49 -0400
commit7156493229f2a0ac36ba98e7271f147bdd18b47a (patch)
treef23882d46cd4aad5cfe9a9b30e6695491b8f73a4
parent124935c073861c40f412e1bc0bfb880f5ded7693 (diff)
more CREATE_ALLOCATOR macros
-rw-r--r--include/d/a/obj/d_a_obj_base.h9
-rw-r--r--src/REL/d/a/npc/d_a_npc_rival_lod.cpp4
-rw-r--r--src/REL/d/a/obj/d_a_obj_bird_statue.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_chest.cpp4
-rw-r--r--src/REL/d/a/obj/d_a_obj_decoB.cpp5
-rw-r--r--src/REL/d/a/obj/d_a_obj_dungeon_ship.cpp9
-rw-r--r--src/REL/d/a/obj/d_a_obj_flying_clawshot_target.cpp2
-rw-r--r--src/REL/d/a/obj/d_a_obj_pumpkin_leaf.cpp5
-rw-r--r--src/REL/d/a/obj/d_a_obj_spike.cpp5
-rw-r--r--src/REL/d/a/obj/d_a_obj_toD3_stone_figure.cpp6
-rw-r--r--src/REL/d/a/obj/d_a_obj_tower_gearD101.cpp8
-rw-r--r--src/REL/d/a/obj/d_a_obj_triforce.cpp5
-rw-r--r--src/REL/d/a/obj/d_a_obj_underground_switch.cpp4
-rw-r--r--src/REL/d/t/d_t_reaction.cpp5
14 files changed, 31 insertions, 46 deletions
diff --git a/include/d/a/obj/d_a_obj_base.h b/include/d/a/obj/d_a_obj_base.h
index 57f1222a..8f7287c2 100644
--- a/include/d/a/obj/d_a_obj_base.h
+++ b/include/d/a/obj/d_a_obj_base.h
@@ -254,14 +254,17 @@ public:
return result; \
} while (0)
-// Use this in actors' create functions
-#define CREATE_ALLOCATOR(className) \
+#define CREATE_ALLOCATOR_SIZE(className, size) \
do { \
- if (!initAllocatorWork1Heap(-1, #className "::m_allocator", 0x20)) { \
+ if (!initAllocatorWork1Heap(size, #className "::m_allocator", 0x20)) { \
return FAILED; \
} \
} while (0)
+// Use this in actors' create functions
+#define CREATE_ALLOCATOR(className) CREATE_ALLOCATOR_SIZE(className, -1)
+#define CREATE_ALLOCATOR_UNCHECKED(className) initAllocatorWork1Heap(-1, #className "::m_allocator", 0x20)
+
class dAcObjRef_unk {
public:
dAcObjRef_unk(dAcObjBase_c *ref) : mObj(nullptr), refOwner(ref) {}
diff --git a/src/REL/d/a/npc/d_a_npc_rival_lod.cpp b/src/REL/d/a/npc/d_a_npc_rival_lod.cpp
index f1440a07..5b727b57 100644
--- a/src/REL/d/a/npc/d_a_npc_rival_lod.cpp
+++ b/src/REL/d/a/npc/d_a_npc_rival_lod.cpp
@@ -14,9 +14,7 @@ bool dAcNpcRivalLOD_c::createHeap() {
return true;
}
int dAcNpcRivalLOD_c::create() {
- if (!initAllocatorWork1Heap(-1, "dAcNpcRivalLOD_c::m_allocator", 0x20)) {
- return FAILED;
- }
+ CREATE_ALLOCATOR(dAcNpcRivalLOD_c);
0.0f; // float order, cool
mAcceleration = -1.0f;
mMaxSpeed = -40.0f;
diff --git a/src/REL/d/a/obj/d_a_obj_bird_statue.cpp b/src/REL/d/a/obj/d_a_obj_bird_statue.cpp
index 6ce53e52..c44b90af 100644
--- a/src/REL/d/a/obj/d_a_obj_bird_statue.cpp
+++ b/src/REL/d/a/obj/d_a_obj_bird_statue.cpp
@@ -1,5 +1,7 @@
#include "d/a/obj/d_a_obj_bird_statue.h"
+#include "d/a/obj/d_a_obj_base.h"
+
SPECIAL_ACTOR_PROFILE(OBJ_BIRD_STATUE, dAcOBirdStatue_c, fProfile::OBJ_BIRD_STATUE, 0x285, 0, 3);
bool dAcOBirdStatue_c::createHeap() {
@@ -22,9 +24,7 @@ bool dAcOBirdStatue_c::createHeap() {
}
int dAcOBirdStatue_c::create() {
- if (!initAllocatorWork1Heap(0xffffffff, "dAcOBirdStatue_c::m_allocator", 0x20)) {
- return FAILED;
- }
+ CREATE_ALLOCATOR(dAcOBirdStatue_c);
updateMatrix();
mMdl.setLocalMtx(mWorldMtx);
mVec3_c min, max;
diff --git a/src/REL/d/a/obj/d_a_obj_chest.cpp b/src/REL/d/a/obj/d_a_obj_chest.cpp
index 2d7d8625..81135a64 100644
--- a/src/REL/d/a/obj/d_a_obj_chest.cpp
+++ b/src/REL/d/a/obj/d_a_obj_chest.cpp
@@ -109,9 +109,7 @@ bool dAcOChest_c::createHeap() {
}
int dAcOChest_c::create() {
- if (!initAllocatorWork1Heap(0x4000, "dAcOChest_c::m_allocator", 0x20)) {
- return FAILED;
- }
+ CREATE_ALLOCATOR_SIZE(dAcOChest_c, 0x4000);
mBgW.Lock();
dBgS::GetInstance()->Regist(&mBgW, this);
dBgS::GetInstance()->RegistBg(&mBgW, this);
diff --git a/src/REL/d/a/obj/d_a_obj_decoB.cpp b/src/REL/d/a/obj/d_a_obj_decoB.cpp
index 5de5f8f2..36d3e075 100644
--- a/src/REL/d/a/obj/d_a_obj_decoB.cpp
+++ b/src/REL/d/a/obj/d_a_obj_decoB.cpp
@@ -2,6 +2,7 @@
#include "common.h"
#include "d/a/d_a_player.h"
+#include "d/a/obj/d_a_obj_base.h"
#include "f/f_base.h"
#include "m/m_vec.h"
#include "nw4r/g3d/res/g3d_resfile.h"
@@ -20,9 +21,7 @@ bool dAcODecoB_c::createHeap() {
}
int dAcODecoB_c::create() {
- if (!initAllocatorWork1Heap(0x1000, "dAcODecoB_c::m_allocator", 0x20)) {
- return FAILED;
- }
+ CREATE_ALLOCATOR_SIZE(dAcODecoB_c, 0x1000);
mAcceleration = 0.0f;
mMaxSpeed = 0.0f;
mStateMgr.changeState(StateID_Wait);
diff --git a/src/REL/d/a/obj/d_a_obj_dungeon_ship.cpp b/src/REL/d/a/obj/d_a_obj_dungeon_ship.cpp
index abcd43cc..4bdfa042 100644
--- a/src/REL/d/a/obj/d_a_obj_dungeon_ship.cpp
+++ b/src/REL/d/a/obj/d_a_obj_dungeon_ship.cpp
@@ -4,6 +4,7 @@
#include "c/c_math.h"
#include "common.h"
#include "d/a/d_a_player.h"
+#include "d/a/obj/d_a_obj_base.h"
#include "d/col/bg/d_bg_s.h"
#include "d/col/cc/d_cc_s.h"
#include "d/flag/sceneflag_manager.h"
@@ -116,9 +117,7 @@ int dAcODungeonShip_c::create() {
mIsDocked = true;
}
- if (!initAllocatorWork1Heap(0x40000, "dAcODungeonShip_c::m_allocator", 0x20)) {
- return FAILED;
- }
+ CREATE_ALLOCATOR_SIZE(dAcODungeonShip_c, 0x40000);
mPathIdx = mParams & 0xFF;
if (mPathIdx == 0xFF) {
@@ -190,9 +189,7 @@ int dAcODungeonShip_c::actorExecute() {
mAnmMatClr.play();
mMdl.calc(false);
if (field_0x8D8) {
- mEffects[0].holdEffect(
- PARTICLE_RESOURCE_ID_MAPPING_682_, mPosition, &mRotation, nullptr, nullptr, nullptr
- );
+ mEffects[0].holdEffect(PARTICLE_RESOURCE_ID_MAPPING_682_, mPosition, &mRotation, nullptr, nullptr, nullptr);
}
if (field_0x8D9) {
diff --git a/src/REL/d/a/obj/d_a_obj_flying_clawshot_target.cpp b/src/REL/d/a/obj/d_a_obj_flying_clawshot_target.cpp
index 7265baed..3bde0aa3 100644
--- a/src/REL/d/a/obj/d_a_obj_flying_clawshot_target.cpp
+++ b/src/REL/d/a/obj/d_a_obj_flying_clawshot_target.cpp
@@ -46,7 +46,7 @@ const cCcD_SrcGObj dAcOFlyingClawshotTarget_c::sColSrc = {
// clang-format on
int dAcOFlyingClawshotTarget_c::actorCreate() {
- initAllocatorWork1Heap(-1, "dAcOFlyingClawshotTarget_c::m_allocator", 0x20);
+ CREATE_ALLOCATOR_UNCHECKED(dAcOFlyingClawshotTarget_c);
mMdl.setPriorityDraw(0x7F, 0x7F);
mWorldMtx.transS(mVec3_c::Zero);
diff --git a/src/REL/d/a/obj/d_a_obj_pumpkin_leaf.cpp b/src/REL/d/a/obj/d_a_obj_pumpkin_leaf.cpp
index 1cf42d46..970858dc 100644
--- a/src/REL/d/a/obj/d_a_obj_pumpkin_leaf.cpp
+++ b/src/REL/d/a/obj/d_a_obj_pumpkin_leaf.cpp
@@ -1,5 +1,6 @@
#include "d/a/obj/d_a_obj_pumpkin_leaf.h"
+#include "d/a/obj/d_a_obj_base.h"
#include "nw4r/g3d/res/g3d_resfile.h"
#include "s/s_Math.h"
@@ -15,9 +16,7 @@ bool dAcOPumpkinLeaf_c::createHeap() {
}
int dAcOPumpkinLeaf_c::create() {
- if (!initAllocatorWork1Heap(0x1000, "dAcOPumpkinLeaf_c::m_allocator", 0x20)) {
- return FAILED;
- }
+ CREATE_ALLOCATOR_SIZE(dAcOPumpkinLeaf_c, 0x1000);
mAcceleration = -1.0f;
mMaxSpeed = -40.0f;
diff --git a/src/REL/d/a/obj/d_a_obj_spike.cpp b/src/REL/d/a/obj/d_a_obj_spike.cpp
index 3a38eda4..9cec9808 100644
--- a/src/REL/d/a/obj/d_a_obj_spike.cpp
+++ b/src/REL/d/a/obj/d_a_obj_spike.cpp
@@ -1,5 +1,6 @@
#include "d/a/obj/d_a_obj_spike.h"
+#include "d/a/obj/d_a_obj_base.h"
#include "d/col/cc/d_cc_s.h"
SPECIAL_ACTOR_PROFILE(OBJ_SPIKE, dAcOspike_c, fProfile::OBJ_SPIKE, 0x1D9, 0, 2);
@@ -25,9 +26,7 @@ bool dAcOspike_c::createHeap() {
}
int dAcOspike_c::create() {
- if (!initAllocatorWork1Heap(-1, "dAcOspike_c::m_allocator", 0x20)) {
- return FAILED;
- }
+ CREATE_ALLOCATOR(dAcOspike_c);
mStts.SetDefaultRank();
mCollision.Set(sCcSrc);
diff --git a/src/REL/d/a/obj/d_a_obj_toD3_stone_figure.cpp b/src/REL/d/a/obj/d_a_obj_toD3_stone_figure.cpp
index 6b651ba0..e5f146df 100644
--- a/src/REL/d/a/obj/d_a_obj_toD3_stone_figure.cpp
+++ b/src/REL/d/a/obj/d_a_obj_toD3_stone_figure.cpp
@@ -1,6 +1,7 @@
#include "d/a/obj/d_a_obj_toD3_stone_figure.h"
#include "d/a/d_a_item.h"
+#include "d/a/obj/d_a_obj_base.h"
#include "d/col/cc/d_cc_s.h"
#include "d/d_sc_game.h"
#include "d/flag/storyflag_manager.h"
@@ -39,9 +40,8 @@ int dAcOtoD3StoneFigure_c::create() {
mIsSkyKeepAlreadyOpen = isStoneOfTrialsPlaced();
mExitId = mParams & 0xFF;
updateMatrix();
- if (!initAllocatorWork1Heap(-1, "dAcOtoD3StoneFigure_c::m_allocator", 0x20)) {
- return FAILED;
- }
+
+ CREATE_ALLOCATOR(dAcOtoD3StoneFigure_c);
mMdl.setLocalMtx(mWorldMtx);
mStts.SetDefaultRank();
diff --git a/src/REL/d/a/obj/d_a_obj_tower_gearD101.cpp b/src/REL/d/a/obj/d_a_obj_tower_gearD101.cpp
index 8737934d..09ebb0dd 100644
--- a/src/REL/d/a/obj/d_a_obj_tower_gearD101.cpp
+++ b/src/REL/d/a/obj/d_a_obj_tower_gearD101.cpp
@@ -34,9 +34,7 @@ bool dAcOTowerGearD101_c::createHeap() {
}
int dAcOTowerGearD101_c::actorCreate() {
- if (!initAllocatorWork1Heap(0x1000, "dAcOTowerGearD101_c::m_allocator", 0x20)) {
- return FAILED;
- }
+ CREATE_ALLOCATOR_SIZE(dAcOTowerGearD101_c, 0x1000);
nw4r::g3d::ResMdl mdl = mMdl.getResMdl();
mMdlCallback.init(mdl.GetResNode("model0").GetID());
mMdl.setCallback(&mMdlCallback);
@@ -128,7 +126,5 @@ void dAcOTowerGearD101_c::initTransform() {
}
void dAcOTowerGearD101_c::playVisualEffect() {
- mEffects.holdEffect(
- PARTICLE_RESOURCE_ID_MAPPING_572_, field_0x3F4, &mRotation, nullptr, nullptr, nullptr
- );
+ mEffects.holdEffect(PARTICLE_RESOURCE_ID_MAPPING_572_, field_0x3F4, &mRotation, nullptr, nullptr, nullptr);
}
diff --git a/src/REL/d/a/obj/d_a_obj_triforce.cpp b/src/REL/d/a/obj/d_a_obj_triforce.cpp
index 3b6937f1..4c17ba02 100644
--- a/src/REL/d/a/obj/d_a_obj_triforce.cpp
+++ b/src/REL/d/a/obj/d_a_obj_triforce.cpp
@@ -1,6 +1,7 @@
#include "d/a/obj/d_a_obj_triforce.h"
#include "c/c_math.h"
+#include "d/a/obj/d_a_obj_base.h"
#include "d/col/cc/d_cc_s.h"
#include "m/m_vec.h"
#include "nw4r/g3d/res/g3d_resfile.h"
@@ -32,9 +33,7 @@ bool dAcOtriforce_c::createHeap() {
}
int dAcOtriforce_c::create() {
- if (!initAllocatorWork1Heap(-1, "dAcOtriforce_c::m_allocator", 0x20)) {
- return FAILED;
- }
+ CREATE_ALLOCATOR(dAcOtriforce_c);
mStts.SetDefaultRank();
mCollision.Set(sCcSrc);
diff --git a/src/REL/d/a/obj/d_a_obj_underground_switch.cpp b/src/REL/d/a/obj/d_a_obj_underground_switch.cpp
index 2424d2d1..aca8de7f 100644
--- a/src/REL/d/a/obj/d_a_obj_underground_switch.cpp
+++ b/src/REL/d/a/obj/d_a_obj_underground_switch.cpp
@@ -40,9 +40,7 @@ int dAcOUgSwitch_c::create() {
mActiveSceneFlag = mParams & 0xFF;
field_0x3BD = (mParams >> 8) & 0xFF;
setVariant((mParams >> 16) & 0xF);
- if (!initAllocatorWork1Heap(0x1000, "dAcOUgSwitch_c::m_allocator", 0x20)) {
- return FAILED;
- }
+ CREATE_ALLOCATOR_SIZE(dAcOUgSwitch_c, 0x1000);
mOnEventTimer = 0;
updateMatrix();
diff --git a/src/REL/d/t/d_t_reaction.cpp b/src/REL/d/t/d_t_reaction.cpp
index 26918ab6..5ede15d2 100644
--- a/src/REL/d/t/d_t_reaction.cpp
+++ b/src/REL/d/t/d_t_reaction.cpp
@@ -4,6 +4,7 @@
#include "c/c_math.h"
#include "d/a/d_a_item.h"
#include "d/a/d_a_player.h"
+#include "d/a/obj/d_a_obj_base.h"
#include "d/col/c/c_cc_d.h"
#include "d/col/cc/d_cc_s.h"
#include "d/d_pouch.h"
@@ -33,9 +34,7 @@ bool dTgReaction_c::createHeap() {
int dTgReaction_c::create() {
// Note the double _c here
- if (!initAllocatorWork1Heap(0x1000, "dTgReaction_c_c::m_allocator", 0x20)) {
- return FAILED;
- }
+ CREATE_ALLOCATOR_SIZE(dTgReaction_c_c, 0x1000);
if (getReactType() != REACT_UNDERWATER) {
if (getSceneFlag() >= 0xFF) {