tbox rodata ok

This commit is contained in:
robojumper
2024-11-21 16:38:05 +01:00
parent 451566ac23
commit a25ded6d20
9 changed files with 1238 additions and 44 deletions
+27 -27
View File
@@ -2125,7 +2125,7 @@ fn_80051E40 = .text:0x80051E40; // type:function size:0x64
ColliderManager__staticAddCollider = .text:0x80051EB0; // type:function size:0x34
ColliderLinkedList__registerColliders = .text:0x80051EF0; // type:function size:0x10
fn_80051F00 = .text:0x80051F00; // type:function size:0x8
setMtx__16TboxAndMoreUnkCCFRC6mMtx_c = .text:0x80051F10; // type:function size:0x10
SetStts__16TboxAndMoreUnkCCFR9cCcD_Stts = .text:0x80051F10; // type:function size:0x10
ColliderLinkedList__search = .text:0x80051F20; // type:function size:0x74
fn_80051FA0 = .text:0x80051FA0; // type:function size:0x1C
fn_80051FC0 = .text:0x80051FC0; // type:function size:0x10
@@ -2451,7 +2451,7 @@ isSpinAttackingHorizontally = .text:0x8005B830; // type:function size:0x20
isSpinAttackingVertically = .text:0x8005B850; // type:function size:0x20
fn_8005B870 = .text:0x8005B870; // type:function size:0x28
fn_8005B8A0 = .text:0x8005B8A0; // type:function size:0xC0
ActorLink__setPosYRot = .text:0x8005B960; // type:function size:0x44
setPosYRot__7dAcPy_cFRC7mVec3_c4mAngiii = .text:0x8005B960; // type:function size:0x44
setTransform__7dAcPy_cFRC6mMtx_ciii = .text:0x8005B9B0; // type:function size:0x98
fn_8005BA50 = .text:0x8005BA50; // type:function size:0x30
fn_8005BA80 = .text:0x8005BA80; // type:function size:0x8
@@ -14241,7 +14241,7 @@ fn_802685D0 = .text:0x802685D0; // type:function size:0x68
fn_80268640 = .text:0x80268640; // type:function size:0x4
fn_80268650 = .text:0x80268650; // type:function size:0x8
fn_80268660__9dAcTbox_cFi = .text:0x80268660; // type:function size:0x20
hasCollectedAllTears2 = .text:0x80268680; // type:function size:0x1C
hasCollectedAllTears__9dAcTbox_cFv = .text:0x80268680; // type:function size:0x1C
fn_802686A0 = .text:0x802686A0; // type:function size:0x50
fn_802686F0 = .text:0x802686F0; // type:function size:0x5C
__ct__9dAcTbox_cFv = .text:0x80268750; // type:function size:0x2EC
@@ -14253,24 +14253,24 @@ __dt__47sFStateMgr_c<9dAcTbox_c,20sStateMethodUsr_FI_c>Fv = .text:0x80268C50; //
__dt__9dAcTbox_cFv = .text:0x80268D00; // type:function size:0x250
createHeap__9dAcTbox_cFv = .text:0x80268F50; // type:function size:0x54C
create__9dAcTbox_cFv = .text:0x802694A0; // type:function size:0xA00
AcTbox__destroy = .text:0x80269EA0; // type:function size:0xB4
AcTbox__update = .text:0x80269F60; // type:function size:0x690
doDelete__9dAcTbox_cFv = .text:0x80269EA0; // type:function size:0xB4
actorExecute__9dAcTbox_cFv = .text:0x80269F60; // type:function size:0x690
getStateID__77sStateMgr_c<9dAcTbox_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x8026A5F0; // type:function size:0x10
executeState__77sStateMgr_c<9dAcTbox_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x8026A600; // type:function size:0x10
AcTbox__updateInEvent = .text:0x8026A610; // type:function size:0x8F0
actorExecuteInEvent__9dAcTbox_cFv = .text:0x8026A610; // type:function size:0x8F0
changeState__77sStateMgr_c<9dAcTbox_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x8026AF00; // type:function size:0x10
AcTbox__draw = .text:0x8026AF10; // type:function size:0x1AC
AcTbox__setActionState = .text:0x8026B0C0; // type:function size:0x224
AcTbox__isValidSubtype = .text:0x8026B2F0; // type:function size:0x20
fn_8026B310 = .text:0x8026B310; // type:function size:0x8
fn_8026B320 = .text:0x8026B320; // type:function size:0x8
setItemId__9dAcTbox_cCFUs = .text:0x8026B330; // type:function size:0x8
draw__9dAcTbox_cFv = .text:0x8026AF10; // type:function size:0x1AC
setActionState__9dAcTbox_cFv = .text:0x8026B0C0; // type:function size:0x224
isValidVariant__9dAcTbox_cFi = .text:0x8026B2F0; // type:function size:0x20
getObjectListEntry__9dAcTbox_cFv = .text:0x8026B310; // type:function size:0x8
setFlags__9dAcTbox_cFUl = .text:0x8026B320; // type:function size:0x8
setItemId__9dAcTbox_cFUs = .text:0x8026B330; // type:function size:0x8
setDoObstructionCheck__9dAcTbox_cFv = .text:0x8026B340; // type:function size:0xC
isActualVisibleBox__9dAcTbox_cCFv = .text:0x8026B350; // type:function size:0xC
noObstructionCheck__9dAcTbox_cCFv = .text:0x8026B360; // type:function size:0xC
fn_8026B370__9dAcTbox_cCFv = .text:0x8026B370; // type:function size:0xC
fn_8026B380 = .text:0x8026B380; // type:function size:0x3C
fn_8026B3C0 = .text:0x8026B3C0; // type:function size:0x20
fn_8026B380__9dAcTbox_cCFR7mVec3_c = .text:0x8026B380; // type:function size:0x3C
fn_8026B3C0__9dAcTbox_cCFv = .text:0x8026B3C0; // type:function size:0x20
initializeState_DugOut__9dAcTbox_cFv = .text:0x8026B3E0; // type:function size:0x11C
executeState_DugOut__9dAcTbox_cFv = .text:0x8026B500; // type:function size:0x3D8
finalizeState_DugOut__9dAcTbox_cFv = .text:0x8026B8E0; // type:function size:0x4
@@ -14321,17 +14321,17 @@ AcTbox__checkShouldClose = .text:0x8026D340; // type:function size:0xC
AcTbox__setShouldCloseFlag = .text:0x8026D350; // type:function size:0xC
AcTbox__unsetShouldCloseFlag = .text:0x8026D360; // type:function size:0xC
fn_8026D370 = .text:0x8026D370; // type:function size:0x4C
fn_8026D3C0 = .text:0x8026D3C0; // type:function size:0xD4
fn_8026D3C0__9dAcTbox_cFv = .text:0x8026D3C0; // type:function size:0xD4
setChestFlag__9dAcTbox_cFv = .text:0x8026D4A0; // type:function size:0x10
AcTbox__setTboxFlag = .text:0x8026D4B0; // type:function size:0x18
checkTboxFlag__9dAcTbox_cCFv = .text:0x8026D4D0; // type:function size:0x4C
fn_8026D520 = .text:0x8026D520; // type:function size:0x18
fn_8026D540 = .text:0x8026D540; // type:function size:0x14
isNotSmall__9dAcTbox_cCFv = .text:0x8026D520; // type:function size:0x18
fn_8026D540__9dAcTbox_cFv = .text:0x8026D540; // type:function size:0x14
fn_8026D560__9dAcTbox_cCFv = .text:0x8026D560; // type:function size:0x94
getSomeCounter__9dAcTbox_cCFPUl = .text:0x8026D600; // type:function size:0x68
fn_8026D670__9dAcTbox_cCFv = .text:0x8026D670; // type:function size:0x8
fn_8026D680 = .text:0x8026D680; // type:function size:0x10
ActorObjectBase__setActorCollision = .text:0x8026D690; // type:function size:0xB8
syncScaleToMdl__9dAcTbox_cFPQ23m3d9scnLeaf_c = .text:0x8026D680; // type:function size:0x10
initBgW__9dAcTbox_cFR4dBgWPCcPCc = .text:0x8026D690; // type:function size:0xB8
AcTbox__initializeDowsingTarget = .text:0x8026D750; // type:function size:0x14
isItemRupee__9dAcTbox_cCFv = .text:0x8026D770; // type:function size:0x8
initDowsingTarget__9dAcTbox_cFQ213DowsingTarget11DowsingSlot = .text:0x8026D780; // type:function size:0x50
@@ -14343,13 +14343,13 @@ noUnregisterDowsing = .text:0x8026D8F0; // type:function size:0x4
unregisterDowsing = .text:0x8026D900; // type:function size:0x48
fn_8026D950 = .text:0x8026D950; // type:function size:0x28
checkIsClear = .text:0x8026D980; // type:function size:0x140
fn_8026DAC0 = .text:0x8026DAC0; // type:function size:0x10
fn_8026DAD0 = .text:0x8026DAD0; // type:function size:0x8
fn_8026DAE0 = .text:0x8026DAE0; // type:function size:0x28C
fn_8026DD70 = .text:0x8026DD70; // type:function size:0x2DC
AcTbox__getInteractionTargetDef = .text:0x8026E050; // type:function size:0x40
fn_8026E090 = .text:0x8026E090; // type:function size:0x594
fn_8026E630 = .text:0x8026E630; // type:function size:0x10C
fn_8026DAC0__9dAcTbox_cFR4mAng = .text:0x8026DAC0; // type:function size:0x10
fn_8026DAD0__9dAcTbox_cCFP7mVec3_cP7mVec3_c = .text:0x8026DAD0; // type:function size:0x8
getCylParams__9dAcTbox_cFP7mVec3_cPfPf = .text:0x8026DAE0; // type:function size:0x28C
fn_8026DD70__9dAcTbox_cFP7mVec3_cP7mVec3_c = .text:0x8026DD70; // type:function size:0x2DC
getInteractionTargetDef__9dAcTbox_cCFv = .text:0x8026E050; // type:function size:0x40
fn_8026E090__9dAcTbox_cFv = .text:0x8026E090; // type:function size:0x594
fn_8026E630__9dAcTbox_cFv = .text:0x8026E630; // type:function size:0x10C
build__24sFStateFct_c<9dAcTbox_c>FRC12sStateIDIf_c = .text:0x8026E740; // type:function size:0x60
dispose__24sFStateFct_c<9dAcTbox_c>FRP10sStateIf_c = .text:0x8026E7A0; // type:function size:0xC
initialize__21sFState_c<9dAcTbox_c>Fv = .text:0x8026E7B0; // type:function size:0x1C
@@ -40233,7 +40233,7 @@ lbl_805758F8 = .sbss:0x805758F8; // type:object size:0x8 data:byte
lbl_80575900 = .sbss:0x80575900; // type:object size:0x8 data:byte
@GUARD@draw__13dAcObjFairy_cFv@rot = .sbss:0x80575908; // type:object size:0x8 data:byte
sTboxActorList__9dAcTbox_c = .sbss:0x80575910; // type:object size:0x8 data:4byte
CURRENT_OBTAINING_ITEM_OARC_NAME = .sbss:0x80575918; // type:object size:0x4 data:4byte
sCurrentObtainingItemOarcName = .sbss:0x80575918; // type:object size:0x4 data:4byte
@GUARD@create__9dAcTbox_cFv@s1 = .sbss:0x8057591C; // type:object size:0x1 data:byte
@GUARD@create__9dAcTbox_cFv@s2@0 = .sbss:0x8057591D; // type:object size:0x1 data:byte
@GUARD@create__9dAcTbox_cFv@bbLo@3 = .sbss:0x8057591E; // type:object size:0x1 data:byte
+1
View File
@@ -50,6 +50,7 @@ public:
virtual ~dAcPy_c();
void setTransform(const mMtx_c &mtx, UNKWORD, UNKWORD, UNKWORD);
void setPosYRot(const mVec3_c &pos, mAng rot, UNKWORD, UNKWORD, UNKWORD);
/* vt 0x080 */ virtual UNKWORD IfCurrentActionToActor(dAcBase_c *ac, UNKWORD);
/* vt 0x084 */ virtual void vt_0x084(dAcBase_c *ac, UNKWORD);
+33 -5
View File
@@ -13,11 +13,13 @@
#include "m/m3d/m_anmmdl.h"
#include "m/m3d/m_anmtexpat.h"
#include "m/m3d/m_anmtexsrt.h"
#include "m/m3d/m_scnleaf.h"
#include "m/m3d/m_smdl.h"
#include "m/m_vec.h"
#include "nw4r/ut/ut_Color.h"
#include "s/s_State.hpp"
#include "toBeSorted/actor_event.h"
#include "toBeSorted/attention.h"
#include "toBeSorted/dowsing_target.h"
#include "toBeSorted/stage_render_stuff.h"
@@ -42,6 +44,7 @@ struct TboxAndMoreUnkCC {
void addCc(dAcTboxCcD &ccD, const dCcD_SrcUnk &src);
void SetStts(cCcD_Stts &stts);
void registerColliders();
};
class dAcTbox_c : public dAcObjBase_c {
@@ -63,6 +66,8 @@ public:
virtual int actorExecuteInEvent() override;
virtual int draw() override;
virtual void *getObjectListEntry() override;
STATE_FUNC_DECLARE(dAcTbox_c, DugOut);
STATE_FUNC_DECLARE(dAcTbox_c, WaitAppear);
STATE_FUNC_DECLARE(dAcTbox_c, DemoAppear);
@@ -80,7 +85,7 @@ public:
private:
bool initBgW(dBgW &bg, const char *arcName, const char *ccName);
bool isNotSmall() const;
void setItemId(u16 item) const;
void setItemId(u16 item);
void setChestFlag();
void setDoObstructionCheck();
int isActualVisibleBox() const;
@@ -104,6 +109,26 @@ private:
void noUnregisterDowsing();
static bool fn_80268660(int arg);
void fn_8026E090();
void fn_8026E630();
bool fn_8026D540();
bool fn_8026D3C0();
void syncScaleToMdl(m3d::scnLeaf_c *lf);
void fn_8026DD70(mVec3_c *out1, mVec3_c *out2);
void getCylParams(mVec3_c *out1, f32 *out2, f32 *out3);
void fn_8026DAD0(mVec3_c *src, mVec3_c *dest) const;
void fn_8026DAC0(mAng& ang);
static bool hasCollectedAllTears();
static bool isValidVariant(int variant);
void setActionState();
void setFlags(u32 flags);
void fn_8026D140();
const InteractionTargetDef &getInteractionTargetDef() const;
/* 0x0330 */ m3d::mdlAnmChr mMdl1;
/* 0x0398 */ m3d::smdl_c mOpenFxMdl;
@@ -142,18 +167,20 @@ private:
/* 0x11D8 */ mVec3_c field_0x11D8;
/* 0x11E4 */ u8 field_0x11E4[0x11EC - 0x11E4];
/* 0x11E4 */ u8 field_0x11E4[0x11E8 - 0x11E4];
/* 0x11E8 */ f32 field_0x11E8;
/* 0x11EC */ f32 field_0x11EC;
/* 0x11F0 */ UNKWORD field_0x11F0;
/* 0x11F4 */ UNKWORD field_0x11F4;
/* 0x11F4 */ u8 field_0x11F4[0x11FC - 0x11F4];
/* 0x11F8 */ u8 field_0x11F8[0x11FC - 0x11F8];
/* 0x11FC */ UNKWORD field_0x11FC;
/* 0x1200 */ u16 mItemId;
/* 0x1202 */ u8 field_0x1202[0x1204 - 0x1202];
/* 0x1202 */ u16 mItemModelIdx;
/* 0x1204 */ bool mHasBeenOpened;
/* 0x1205 */ u8 mSpawnSceneFlag;
@@ -165,7 +192,8 @@ private:
/* 0x1209 */ u8 mVariant;
/* 0x120A */ u8 field_0x120A;
/* 0x120B */ u8 field_0x120B[0x120D - 0x120B];
/* 0x120B */ u8 field_0x120B;
/* 0x120C */ u8 field_0x120C;
/* 0x120D */ u8 field_0x120D;
+3
View File
@@ -889,6 +889,9 @@ public:
void OnTgSet() {
mTg.OnSPrm(1);
}
void OffTgSet() {
mTg.OffSPrm(1);
}
u32 GetTgGrp() const {
return mTg.MskSPrm(0x3E);
}
+3
View File
@@ -83,6 +83,9 @@ public:
virtual cCcD_ShapeAttr *GetShapeAttr() override;
// Have to bring these in scope. Consider renaming this
// Set function instead or create an inline?
using cM3dGUnk::Set;
void Set(const dCcD_SrcUnk &src);
};
@@ -19,7 +19,7 @@ public:
bool checkIfObjectArcExistsOnDisk(const char *object);
bool loadObjectArcFromDisk(const char *object, EGG::Heap *heap);
bool addEntryFromSuperArc(const char *object, void *data, EGG::Heap *heap);
void ensureLoaded1(const char *object);
int ensureLoaded1(const char *object);
void ensureLoaded2(const char *object);
bool decrement(const char *path);
void *getData(const char *oarcName, const char *fileName);
+4
View File
@@ -60,6 +60,10 @@ public:
char _7[3];
bool hasAnmTexPat;
bool didAlreadyInit;
bool checkFlag(u32 flag) {
return flags & flag;
}
};
class dRoomTable {
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -35,8 +35,8 @@ bool OarcManager::addEntryFromSuperArc(const char *object, void *data, EGG::Heap
return mArcTable.addEntryFromSuperArc(object, data, 0, heap);
}
void OarcManager::ensureLoaded1(const char *object) {
mArcTable.ensureLoadedMaybe2(object);
int OarcManager::ensureLoaded1(const char *object) {
return mArcTable.ensureLoadedMaybe2(object);
}
void OarcManager::ensureLoaded2(const char *object) {