From de8b60021c270b1a46fa13edfa3bd248b23e35e7 Mon Sep 17 00:00:00 2001 From: Elijah Thomas Date: Thu, 10 Aug 2023 13:46:38 -0400 Subject: [PATCH] some formatting fixup --- config/SOUE01/symbols.txt | 26 ++--- include/UnknownTypeBelongings.h | 12 +-- include/c/c_list.h | 15 +-- include/d/a/d_a_base.h | 186 ++++++++++++++++---------------- include/d/a/obj/d_a_obj_base.h | 23 ++-- include/d/d_base.h | 6 +- include/f/f_base.h | 168 +++++++++++++---------------- include/f/f_list_mg.h | 11 +- include/f/f_list_mg_ptmf.h | 16 +-- include/f/f_list_nd.h | 13 +-- include/f/f_manager.h | 59 ++++------ include/f/f_tree_nd.h | 7 +- include/m/m_angle.h | 2 +- src/d/a/d_a_base.cpp | 175 ++++-------------------------- src/d/d_base.cpp | 4 +- src/f/f_base.cpp | 2 +- 16 files changed, 253 insertions(+), 472 deletions(-) diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index 7bdae9c3..18a2ddd6 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -1060,7 +1060,7 @@ getParams2Lower__9dAcBase_cFv = .text:0x8002D010; // type:function size:0xC findActor__9dAcBase_cFPcP9dAcBase_c = .text:0x8002D020; // type:function size:0x74 searchActor__9dAcBase_cFR9dAcBase_c = .text:0x8002D0A0; // type:function size:0x88 forEachActor__9dAcBase_cFPvR9dAcBase_c = .text:0x8002D130; // type:function size:0x5C -getXZAngleToPlayer__9dAcBase_cFRsR9dAcBase_c = .text:0x8002D190; // type:function size:0x3C +getXZAngleToPlayer__9dAcBase_cFv = .text:0x8002D190; // type:function size:0x3C getDistanceToActor__9dAcBase_cFR9dAcBase_cfPf = .text:0x8002D1D0; // type:function size:0xB8 getDistanceAndAngleToActor__9dAcBase_cFR9dAcBase_cfssPfPsPs = .text:0x8002D290; // type:function size:0x148 isWithinPlayerRadius__9dAcBase_cFf = .text:0x8002D3E0; // type:function size:0x5C @@ -1071,26 +1071,18 @@ updateRoomId__9dAcBase_cFf = .text:0x8002D4B0; // type:function size:0x90 isRoomFlags_0x6_Set__9dAcBase_cFv = .text:0x8002D540; // type:function size:0x44 FUN_8002d590__9dAcBase_cFv = .text:0x8002D590; // type:function size:0x20 FUN_8002d5b0__9dAcBase_cFv = .text:0x8002D5B0; // type:function size:0x20 -playSound__9dAcBase_cFv = .text:0x8002D5D0; // type:function size:0x24 -fn_8002D5F4 = .text:0x8002D5F4; // type:function size:0x4 -FUN_8002d600__9dAcBase_cFv = .text:0x8002D600; // type:function size:0x24 -fn_8002D624 = .text:0x8002D624; // type:function size:0x4 +playSound__9dAcBase_cFv = .text:0x8002D5D0; // type:function size:0x28 +FUN_8002d600__9dAcBase_cFv = .text:0x8002D600; // type:function size:0x28 FUN_8002d630__9dAcBase_cFv = .text:0x8002D630; // type:function size:0x9C -FUN_8002d6d0__9dAcBase_cFv = .text:0x8002D6D0; // type:function size:0x3C -fn_8002D70C = .text:0x8002D70C; // type:function size:0x4 -playSoundEffect1__9dAcBase_cFv = .text:0x8002D710; // type:function size:0x24 -fn_8002D734 = .text:0x8002D734; // type:function size:0x4 -FUN_8002d740__9dAcBase_cFv = .text:0x8002D740; // type:function size:0x24 -fn_8002D764 = .text:0x8002D764; // type:function size:0x4 -FUN_8002d770__9dAcBase_cFv = .text:0x8002D770; // type:function size:0x24 -fn_8002D794 = .text:0x8002D794; // type:function size:0x4 -FUN_8002d7a0__9dAcBase_cFv = .text:0x8002D7A0; // type:function size:0x24 -fn_8002D7C4 = .text:0x8002D7C4; // type:function size:0x4 +FUN_8002d6d0__9dAcBase_cFv = .text:0x8002D6D0; // type:function size:0x40 +playSoundEffect1__9dAcBase_cFv = .text:0x8002D710; // type:function size:0x28 +FUN_8002d740__9dAcBase_cFv = .text:0x8002D740; // type:function size:0x28 +FUN_8002d770__9dAcBase_cFv = .text:0x8002D770; // type:function size:0x28 +FUN_8002d7a0__9dAcBase_cFv = .text:0x8002D7A0; // type:function size:0x28 FUN_8002d7d0__9dAcBase_cFv = .text:0x8002D7D0; // type:function size:0x20 FUN_8002d7f0__9dAcBase_cFv = .text:0x8002D7F0; // type:function size:0x20 FUN_8002d810__9dAcBase_cFv = .text:0x8002D810; // type:function size:0x20 -FUN_8002d830__9dAcBase_cFv = .text:0x8002D830; // type:function size:0x24 -fn_8002D854 = .text:0x8002D854; // type:function size:0x4 +FUN_8002d830__9dAcBase_cFv = .text:0x8002D830; // type:function size:0x28 FUN_8002d860__9dAcBase_cFv = .text:0x8002D860; // type:function size:0x20 FUN_8002d880__9dAcBase_cFv = .text:0x8002D880; // type:function size:0x8 FUN_8002d890__9dAcBase_cFv = .text:0x8002D890; // type:function size:0x88 diff --git a/include/UnknownTypeBelongings.h b/include/UnknownTypeBelongings.h index 0dac36a6..93f9c3f7 100644 --- a/include/UnknownTypeBelongings.h +++ b/include/UnknownTypeBelongings.h @@ -28,12 +28,12 @@ struct ObjInfoPtr { /* 0x0B */ u8 subtype; }; -class fBase_c; -struct ActorReference { - ActorReference* prev; - ActorReference* next; - fBase_c* link; -}; +// is now fLiNdBa_c +// struct ActorReference { +// ActorReference* prev; +// ActorReference* next; +// fBase_c* link; +// }; class UnkCollider { diff --git a/include/c/c_list.h b/include/c/c_list.h index 166f035f..abd6d9bd 100644 --- a/include/c/c_list.h +++ b/include/c/c_list.h @@ -21,20 +21,11 @@ protected: friend class cListMg_c; }; -/// @brief A doubly-linked list container. See cListNd_c. -/// @note Unofficial name. class cListMg_c { public: - /// @brief Constructs a new list container. - cListMg_c() : mpFirst(nullptr), mpLast(nullptr) {} - - /** - * @brief Inserts a node after the given previous node. - * - * @param node The node to insert. - * @param prevNode The node to insert it after, or @p nullptr to insert it at the beginning. - * @return If the operation was successful. - */ + /* 802e2be0 */ cListMg_c() : mpFirst(nullptr), mpLast(nullptr) {} + // /* 802e2880 */ ~cListMg_c(); + bool insertAfter(cListNd_c *node, cListNd_c *prevNode); /** diff --git a/include/d/a/d_a_base.h b/include/d/a/d_a_base.h index 4f33079f..f9b1799d 100644 --- a/include/d/a/d_a_base.h +++ b/include/d/a/d_a_base.h @@ -4,6 +4,9 @@ #include #include #include +#include +#include + // Ghidra: ActorBase // size: 0xFC // non-official name @@ -17,115 +20,114 @@ public: /* 0x94 */ void* soundRelated; protected: /* 80501544 */ // vtable - /* 0x08 */ virtual int create(); - /* 0x10 */ virtual void postCreate(MAIN_STATE_e state); - /* 0x18 */ virtual int preDelete(); - /* 0x20 */ virtual int execute(); // calls either actorExecute/executeInEvent - /* 0x24 */ virtual int preExecute(); // looks at some actor properties - /* 0x28 */ virtual void postExecute(MAIN_STATE_e state); // not fully understood - /* 0x44 */ virtual bool createHeap(); - /* 0x48 */ virtual ~dAcBase_c(); - /* 0x4C */ virtual int actorCreate(); // name is assumed - /* 0x50 */ virtual int actorReCreate(); // name is assumed - /* 0x54 */ virtual int actorExecute(); // name is assumed - /* 0x58 */ virtual int actorExecuteInEvent(); // name is assumed - /* 0x5C */ virtual void unkVirtFunc_0x5C(); - /* 0x60 */ virtual void unkVirtFunc_0x60(); - /* 0x64 */ virtual bool restorePosRotFromCopy(); - /* 0x68 */ virtual void* getCurrentEventActor(); - /* 0x6C */ virtual void unkVirtFunc_0x6C(); - /* 0x70 */ virtual void doInteraction(s32); + /* 0x08 | 8002c880 */ virtual int create(); + /* 0x10 | 8002c8f0 */ virtual void postCreate(MAIN_STATE_e state); + /* 0x18 | 8002c940 */ virtual int preDelete(); + /* 0x20 | 8002cc10 */ virtual int execute(); // calls either actorExecute/executeInEvent + /* 0x24 | 8002cb10 */ virtual int preExecute(); // looks at some actor properties + /* 0x28 | 8002ccc0 */ virtual void postExecute(MAIN_STATE_e state); // not fully understood + /* 0x44 | 8002c3a0 */ virtual bool createHeap(); + /* 0x48 | 8002c590 */ virtual ~dAcBase_c(); + /* 0x4C | 8002c860 */ virtual int actorCreate(); // name is assumed + /* 0x50 | 8002c870 */ virtual int actorReCreate(); // name is assumed + /* 0x54 | 8002cca0 */ virtual int actorExecute(); // name is assumed + /* 0x58 | 8002ccb0 */ virtual int actorExecuteInEvent(); // name is assumed + /* 0x5C | 8002ce90 */ virtual void unkVirtFunc_0x5C(); + /* 0x60 | 8002cea0 */ virtual void unkVirtFunc_0x60(); + /* 0x64 | 8002ceb0 */ virtual bool restorePosRotFromCopy(); + /* 0x68 | 8002db80 */ virtual void* getCurrentEventActor(); + /* 0x6C | 8002db90 */ virtual void unkVirtFunc_0x6C(); + /* 0x70 | 8002dba0 */ virtual void doInteraction(s32); public: - dAcBase_c(); + /* 8002c3b0 */ dAcBase_c(); public: // funcs found in TU - static void setTempCreateParams( \ + /* 8002c650 */ static void setTempCreateParams( \ Vec3f* pos, Vec3s* rot, Vec3f* scale, \ s32 roomId, u32 params2, dAcBase_c* parent, \ u8 subtype, s16 unkFlag, u8 viewClipIdx,\ ObjInfoPtr* objInfo ); - void* FUN_8002c690(); - int initAllocatorWork1Heap(int size, char* name, int align); - int initAllocator(int size, char* name, EGG::Heap* heap, int align); - bool addActorToRoom(s32 roomId); - void setBit_field_0xE8(s32); - u32 itemDroppingAndGivingRelated(Vec3f* spawnPos, int subtype); - void fillUpperParams2Byte(); - u32 getParams2_ignoreLower(); - void setParams2Upper_ignoreLower(u32 val); - u8 getParams2UpperByte(); - void setParams2UpperByte(u32 val); - static u32 buildParams2(u32 lower, u8 upper); - u32 getParams2Lower(); - static dAcBase_c* findActor(char* objName, dAcBase_c* parent); - static dAcBase_c* searchActor(dAcBase_c& optionalParent); - // Kinda performs the code of the first param on every actor (second param is optional parent) - static void forEachActor(void*, dAcBase_c&); - // Not really static, but we currently dont have a type for the return (not just simply a s16) - static void getXZAngleToPlayer(s16&, dAcBase_c&); - // returns true if under the distThresh, False if not. the actual distance is returned in outDist - bool getDistanceToActor(dAcBase_c& actor, f32 distThresh, f32* outDist); - // same concept as above - bool getDistanceAndAngleToActor(dAcBase_c& actor, f32 distThresh, s16 yAngle, s16 xAngle, f32* outDist, s16* outDiffAngleY, s16* outDiffAngleX); - bool isWithinPlayerRadius(f32 radius); - bool getDistanceAndAngleToPlayer(f32 distThresh, s16 yAngle, s16 xAngle, f32* outDist, s16* outDiffAngleY, s16* outDiffAngleX); - f32 getDistToPlayer(); - f32 getSquareDistToPlayer(); - void updateRoomId(f32 yOffs); - bool isRoomFlags_0x6_Set(); - // Begin Sound Effect Related - void FUN_8002d590(); - void FUN_8002d5b0(); - void playSound(); - void FUN_8002d600(); - void FUN_8002d630(); - void FUN_8002d6d0(); - void playSoundEffect1(); - void FUN_8002d740(); - void FUN_8002d770(); - void FUN_8002d7a0(); - void FUN_8002d7d0(); - void FUN_8002d7f0(); - void FUN_8002d810(); - void FUN_8002d830(); - void FUN_8002d860(); - void FUN_8002d880(); + /* 8002c690 */ void* FUN_8002c690(); + /* 8002c710 */ int initAllocatorWork1Heap(int size, char* name, int align); + /* 8002c720 */ int initAllocator(int size, char* name, EGG::Heap* heap, int align); + /* 8002c7b0 */ bool addActorToRoom(s32 roomId); + /* 8002c840 */ void setBit_field_0xE8(s32); + /* 8002cf10 */ u32 itemDroppingAndGivingRelated(Vec3f* spawnPos, int subtype); + /* 8002cf90 */ void fillUpperParams2Byte(); + /* 8002cfa0 */ u32 getParams2_ignoreLower(); + /* 8002cfb0 */ void setParams2Upper_ignoreLower(u32 val); + /* 8002cfc0 */ u8 getParams2UpperByte(); + /* 8002cfd0 */ void setParams2UpperByte(u32 val); + /* 8002cff0 */ static u32 buildParams2(u32 lower, u8 upper); + /* 8002d010 */ u32 getParams2Lower(); + /* 8002d020 */ static dAcBase_c* findActor(char* objName, dAcBase_c* parent); + /* 8002d0a0 */ static dAcBase_c* searchActor(dAcBase_c& optionalParent); + // Kinda performs the code of the first param on every actor (second param is optional parent) + /* 8002d130 */static void forEachActor(void*, dAcBase_c&); + // Not really static, but we currently dont have a type for the return (not just simply a s16) + /* 8002d190 */ mAng getXZAngleToPlayer(); + // returns true if under the distThresh, False if not. the actual distance is returned in outDist + /* 8002d1d0 */ bool getDistanceToActor(dAcBase_c& actor, f32 distThresh, f32* outDist); + // same concept as above + /* 8002d290 */ bool getDistanceAndAngleToActor(dAcBase_c& actor, f32 distThresh, s16 yAngle, s16 xAngle, f32* outDist, s16* outDiffAngleY, s16* outDiffAngleX); + /* 8002d3e0 */ bool isWithinPlayerRadius(f32 radius); + /* 8002d440 */ bool getDistanceAndAngleToPlayer(f32 distThresh, s16 yAngle, s16 xAngle, f32* outDist, s16* outDiffAngleY, s16* outDiffAngleX); + /* 8002d470 */ f32 getDistToPlayer(); + /* 8002d4a0 */ f32 getSquareDistToPlayer(); + /* 8002d4b0 */ void updateRoomId(f32 yOffs); + /* 8002d540 */ bool isRoomFlags_0x6_Set(); + // Begin Sound Effect Related + /* 8002d590 */ void FUN_8002d590(); + /* 8002d5b0 */ void FUN_8002d5b0(); + /* 8002d5d0 */ void playSound(); + /* 8002d600 */ void FUN_8002d600(); + /* 8002d630 */ void FUN_8002d630(); + /* 8002d6d0 */ void FUN_8002d6d0(); + /* 8002d710 */ void playSoundEffect1(); + /* 8002d740 */ void FUN_8002d740(); + /* 8002d770 */ void FUN_8002d770(); + /* 8002d7a0 */ void FUN_8002d7a0(); + /* 8002d7d0 */ void FUN_8002d7d0(); + /* 8002d7f0 */ void FUN_8002d7f0(); + /* 8002d810 */ void FUN_8002d810(); + /* 8002d830 */ void FUN_8002d830(); + /* 8002d860 */ void FUN_8002d860(); + /* 8002d880 */ void FUN_8002d880(); // End Sound Effect Related - void FUN_8002d890(); - void setActorRef(dBase_c&); + /* 8002d890 */ void FUN_8002d890(); + /* 8002d920 */ void setActorRef(dBase_c&); // next three funcs are related - void setUnkFlag(); - void FUN_8002d940(); - void FUN_8002d960(); + /* 8002d930 */ void setUnkFlag(); + /* 8002d940 */ void FUN_8002d940(); + /* 8002d960 */ void FUN_8002d960(); - static dAcBase_c createActor(ProfileName actorId, u32 params1, Vec3f* pos, Vec3s* rot, \ + /* 8002d980 */ static dAcBase_c createActor(ProfileName actorId, u32 params1, Vec3f* pos, Vec3s* rot, \ Vec3f* scale, u32 params2, s32 roomId, dBase_c* ref); - static dAcBase_c createActorUnkGroup3(ProfileName actorId, u32 params1, Vec3f* pos, Vec3s* rot, \ + /* 8002da80 */ static dAcBase_c createActorUnkGroup3(ProfileName actorId, u32 params1, Vec3f* pos, Vec3s* rot, \ Vec3f* scale, u32 params2, s32 roomId, dBase_c* ref); - void FUN_8002dc20(s16*, s16*); - void incrementKillCounter(); - void FUN_8002dcd0(); - void FUN_8002dd10(); - void FUN_8002dd50(); - void FUN_8002dd90(); - void FUN_8002ddd0(); - void FUN_8002de30(); + /* 8002dc20 */ void FUN_8002dc20(s16*, s16*); + /* 8002dc50 */ void incrementKillCounter(); + /* 8002dcd0 */ void FUN_8002dcd0(); + /* 8002dd10 */ void FUN_8002dd10(); + /* 8002dd50 */ void FUN_8002dd50(); + /* 8002dd90 */ void FUN_8002dd90(); + /* 8002ddd0 */ void FUN_8002ddd0(); + /* 8002de30 */ void FUN_8002de30(); public: - // static vars - static u32 s_Create_RoomId; - static u32 s_Create_Params2; - static u16 s_Create_UnkFlags; - static u8 s_Create_ViewClipIdx; - static Vec3f* s_Create_Position; - static Vec3s* s_Create_Rotation; - static Vec3f* s_Create_Scale; - static dAcBase_c* s_Create_Parent; - static ObjInfoPtr* s_Create_ObjInfo; - static u8 s_Create_Subtype; + /* 80571920 */ static u32 s_Create_RoomId; + /* 80571924 */ static u32 s_Create_Params2; + /* 80571928 */ static u16 s_Create_UnkFlags; + /* 8057192A */ static u8 s_Create_ViewClipIdx; + /* 80575080 */ static Vec3f* s_Create_Position; + /* 80575084 */ static Vec3s* s_Create_Rotation; + /* 80575088 */ static Vec3f* s_Create_Scale; + /* 8057508C */ static dAcBase_c* s_Create_Parent; + /* 80575090 */ static ObjInfoPtr* s_Create_ObjInfo; + /* 80575094 */ static u8 s_Create_Subtype; }; \ No newline at end of file diff --git a/include/d/a/obj/d_a_obj_base.h b/include/d/a/obj/d_a_obj_base.h index 7bf7d920..5fb16a79 100644 --- a/include/d/a/obj/d_a_obj_base.h +++ b/include/d/a/obj/d_a_obj_base.h @@ -36,23 +36,23 @@ public: public: /* 8002e630 */ static dAcObjBase_c create( \ fProfile::PROFILE_NAME_e actorId, u32 roomId, u32 params1, \ - Vec3f* pos, Vec3s* rot, Vec3f* scale, u32 params2 ); + mVec3_c* pos, mAng3_c* rot, mVec3_c* scale, u32 params2 ); /* 8002e6d0 */ static dAcObjBase_c create( \ char* name, u32 roomId, u32 params1, \ - Vec3f* pos, Vec3s* rot, Vec3f* scale, \ + mVec3_c* pos, mAng3_c* rot, mVec3_c* scale, \ u32 params2, u16 id, u8 viewclipId); /* 8002e770 */ static dAcObjBase_c* findObject(fProfile::PROFILE_NAME_e actorId,\ - ActorReference* refList, dAcObjBase_c* parent); - /* 8002e7f0 */ static dAcObjBase_c* getNextObject(ActorReference* ref, dAcObjBase_c* parent); + fLiNdBa_c* refList, dAcObjBase_c* parent); + /* 8002e7f0 */ static dAcObjBase_c* getNextObject(fLiNdBa_c* ref, dAcObjBase_c* parent); /* 8002e850 */ bool isPlayer(); - /* 8002e870 */ void calcVelocity(Vec3f& pos, f32 speed); + /* 8002e870 */ void calcVelocity(mVec3_c& pos, f32 speed); /* 8002e8e0 */ void calcVelocity(); /* 8002e9a0 */ void updateMatrix(); /* 8002ea00 */ void setDefaultCullDistance(); /* 8002ea30 */ void fn_8002EA30(f32,f32,f32,f32,f32, void*); /* 8002ea60 */ void fn_8002EA60(void*); /* 8002eb30 */ void fn_8002EB30(void*); - /* 8002eb90 */ void putInODesert(f32 depth, Vec3f* position); + /* 8002eb90 */ void putInODesert(f32 depth, mVec3_c* position); // Disabling makes Items and Link Disappear /* 8002ec70 */ void drawModelType1(); // Disabling make Lava and other objects Disappear @@ -62,26 +62,25 @@ public: /* 8002ee40 */ void drawShadow(); /* 8002ef40 */ void createChildAttached( \ fProfile::PROFILE_NAME_e actorId, u32 params1, \ - Vec3f* pos, Vec3s* rot, Vec3f* scale, u32 params2, \ + mVec3_c* pos, mAng3_c* rot, mVec3_c* scale, u32 params2, \ u32 roomId ); /* 8002ef40 */ void createChildNonAttached( \ fProfile::PROFILE_NAME_e actorId, u32 params1, \ - Vec3f* pos, Vec3s* rot, Vec3f* scale, u32 params2, \ + mVec3_c* pos, mAng3_c* rot, mVec3_c* scale, u32 params2, \ u32 roomId ); /* 8002efa0 */ void fn_8002efa0(); /* 8002eff0 */ bool fn_8002eff0(f32*, s16*, UnkCollider*, f32*, f32*); /* 8002f190 */ void createChildAttached2( \ fProfile::PROFILE_NAME_e actorId, u32 params1, \ - Vec3f* pos, Vec3s* rot, Vec3f* scale, u32 params2, \ + mVec3_c* pos, mAng3_c* rot, mVec3_c* scale, u32 params2, \ u32 roomId ); // These may not belong here /* 8002f1c0 */ static dAcBase_c createActorUnkGroup3( \ fProfile::PROFILE_NAME_e actorId, u32 roomId, \ - u32 params1, Vec3f* pos, Vec3s* rot, Vec3f* scale, \ + u32 params1, mVec3_c* pos, mAng3_c* rot, mVec3_c* scale, \ u32 params2); /* 8002f260 */ static dAcBase_c createActorUnkGroup3( \ char* name, u32 roomId, u32 params1, \ - Vec3f* pos, Vec3s* rot, Vec3f* scale, \ + mVec3_c* pos, mAng3_c* rot, mVec3_c* scale, \ u32 params2, u16 id, u8 viewclipId); - }; \ No newline at end of file diff --git a/include/d/d_base.h b/include/d/d_base.h index f52bc820..606ef0e8 100644 --- a/include/d/d_base.h +++ b/include/d/d_base.h @@ -6,7 +6,9 @@ // Ghidra: dBase_c // size: 0x68 // non-official but likely name -class dBase_c : public fBase_c{ +class dBase_c : public fBase_c { +public: + /* 0x64 */ u32 baseProperties; // field from profile init public: /* 80050800 */ dBase_c(); /* 80050890 */ virtual int preExecute(); @@ -15,8 +17,6 @@ public: /* 80050860 */ virtual void postDraw(MAIN_STATE_e state); /* 8002c530 */ virtual ~dBase_c(); -public: - u32 baseProperties; // field from profile init public: /* 80050980 */ static void resetFlags(); diff --git a/include/f/f_base.h b/include/f/f_base.h index 43dd34d7..db596901 100644 --- a/include/f/f_base.h +++ b/include/f/f_base.h @@ -16,44 +16,25 @@ // official name class fBase_c { public: - /* 0x00 */ fBaseID_e mUniqueID; - /* 0x04 */ undefined4 mParam; // params1 - /* 0x08 */ ProfileName mProfName; // Actor Id -protected: - /* 0x0A */ u8 mLifecycleState; - /* 0x0B */ bool mDeleteRequest; - /* 0x0C */ bool mUpdateRequest; - /* 0x0D */ bool mRetryCreate; - /* 0x0E */ u8 mGroupType; - /* 0x0F */ u8 mProcControl; - /* 0x10 */ fManager_c mMng; - /* 0x50 */ fBaHelper_c* mpUnusedHelper; - /* 0x54 */ fLiMgBa_c mUnusedList; - /* 0x5C */ EGG::FrmHeap* mpHeap; + /* 0x00 */ fBaseID_e unique_ID; + /* 0x04 */ u32 params1; // params1 + /* 0x08 */ ProfileName profile_name; // Actor Id + /* 0x0A */ u8 lifecycle_state; + /* 0x0B */ bool delete_request; + /* 0x0C */ bool update_request; + /* 0x0D */ bool retry_create; + /* 0x0E */ u8 group_type; + /* 0x0F */ u8 proc_control; + /* 0x10 */ fManager_c manager; + /* 0x50 */ fBaHelper_c* p_unused_helper; + /* 0x54 */ fLiMgBa_c unused_list; + /* 0x5C */ EGG::FrmHeap* p_heap; /* 0x60 */ // vtable public: - enum LIFECYCLE_e { - WAITING_FOR_CREATE, - ACTIVE, - TO_BE_DELETED - }; - enum GROUP_TYPE_e { - OTHER, - SCENE, - ACTOR - }; - enum MAIN_STATE_e { - CANCELED, - ERROR, - SUCCESS, - WAITING - }; - enum PACK_RESULT_e { - NOT_READY, - SUCCEEDED, - FAILED, - }; - + enum LIFECYCLE_e { WAITING_FOR_CREATE, ACTIVE, TO_BE_DELETED }; + enum GROUP_TYPE_e { OTHER, SCENE, ACTOR, STAGE, }; + enum MAIN_STATE_e { CANCELED, ERROR, SUCCESS, WAITING }; + enum PACK_RESULT_e { NOT_READY, SUCCEEDED, FAILED, }; enum PROC_DISABLE_e { ROOT_DISABLE_EXECUTE = 1, DISABLE_EXECUTE = 2, @@ -61,72 +42,67 @@ public: DISABLE_DRAW = 8 }; - bool isProcControlFlag(u8 flag) const { return (mProcControl & flag) != 0; } - void setProcControlFlag(u8 flag) { mProcControl |= flag; } - void clearProcControlFlag(u8 flag) { mProcControl &= ~flag; } -public: - fBase_c(); - - static void *operator new(size_t); - static void operator delete(void *); - -protected: - // This vtable should exist at 0x60 - /* 0x08 */ virtual int create(); - /* 0x0C */ virtual int preCreate(); - /* 0x10 */ virtual void postCreate(MAIN_STATE_e state); - /* 0x14 */ virtual int doDelete(); - /* 0x18 */ virtual int preDelete(); - /* 0x1C */ virtual void postDelete(MAIN_STATE_e state); - /* 0x20 */ virtual int execute(); - /* 0x24 */ virtual int preExecute(); - /* 0x28 */ virtual void postExecute(MAIN_STATE_e state); - /* 0x2C */ virtual int draw(); - /* 0x30 */ virtual int preDraw(); - /* 0x34 */ virtual void postDraw(MAIN_STATE_e state); - /* 0x38 */ virtual void deleteReady(); - /* 0x3C */ virtual bool entryFrmHeap(unsigned long size, EGG::Heap *parentHeap); - /* 0x40 */ virtual bool entryFrmHeapNonAdjust(unsigned long size, EGG::Heap *parentHeap); - /* 0x44 */ virtual bool createHeap(); - /* 0x48 */ virtual ~fBase_c(); - +// Inlines + bool isProcControlFlag(u8 flag) const { return (proc_control & flag) != 0; } + void setProcControlFlag(u8 flag) { proc_control |= flag; } + void clearProcControlFlag(u8 flag) { proc_control &= ~flag; } public: - void deleteRequest(); - fBase_c *getConnectParent() const; - fBase_c *getConnectChild() const; - fBase_c *getConnectBrNext() const; - bool checkChildProcessCreateState() const; - -private: - int createPack(); - int deletePack(); - int executePack(); - int drawPack(); - int commonPack(int (fBase_c::*doFunc)(), int (fBase_c::*preFunc)(), void (fBase_c::*postFunc)(MAIN_STATE_e)); - int connectProc(); - void runCreate(); - fBase_c *getChildProcessCreateState() const; + /* 802e12f0 */ fBase_c(); + /* 802e23b0 */ static void *operator new(size_t); + /* 802e2410 */ static void operator delete(void *); + +public: // vtable 0x60 + /* 0x08 | 802E15C0 */ virtual int create(); + /* 0x0C | 802E15D0 */ virtual int preCreate(); + /* 0x10 | 802E15E0 */ virtual void postCreate(MAIN_STATE_e state); + /* 0x14 | 802E1670 */ virtual int doDelete(); + /* 0x18 | 802E1730 */ virtual int preDelete(); + /* 0x1C | 802E17A0 */ virtual void postDelete(MAIN_STATE_e state); + /* 0x20 | 802E1910 */ virtual int execute(); + /* 0x24 | 802E1920 */ virtual int preExecute(); + /* 0x28 | 802E1950 */ virtual void postExecute(MAIN_STATE_e state); + /* 0x2C | 802E1A90 */ virtual int draw(); + /* 0x30 | 802E1AA0 */ virtual int preDraw(); + /* 0x34 | 802E1AD0 */ virtual void postDraw(MAIN_STATE_e state); + /* 0x38 | 802E1B90 */ virtual void deleteReady(); + /* 0x3C | 802E20E0 */ virtual bool entryFrmHeap(unsigned long size, EGG::Heap *parentHeap); + /* 0x40 | 802E22E0 */ virtual bool entryFrmHeapNonAdjust(unsigned long size, EGG::Heap *parentHeap); + /* 0x44 | 802E23A0 */ virtual bool createHeap(); + /* 0x48 | 802E1480 */ virtual ~fBase_c(); public: - static fBase_c *createChild(ProfileName profName, fBase_c *parent, unsigned long param, u8 groupType); - static fBase_c *createRoot(ProfileName profName, unsigned long param, u8 groupType); + /* 802e1500 */ int commonPack(int (fBase_c::*doFunc)(), int (fBase_c::*preFunc)(), void (fBase_c::*postFunc)(MAIN_STATE_e)); + /* 802e1680 */ int createPack(); + /* 802e1860 */ int deletePack(); + /* 802e1960 */ int executePack(); + /* 802e1ae0 */ int drawPack(); + /* 802e1ba0 */ int connectProc(); + /* 802e1e00 */ void deleteRequest(); + /* 802e1f90 */ fBase_c *getConnectParent() const; + /* 802e1fb0 */ fBase_c *getConnectChild() const; + /* 802e1fd0 */ fBase_c *getConnectBrNext() const; + /* 802e2420 */ void runCreate(); + /* 802e24a0 */ fBase_c *getChildProcessCreateState() const; + /* 802e2510 */ bool checkChildProcessCreateState() const; + +public: + /* 802e2540 */ static void setTmpCtData(ProfileName profName, fTrNdBa_c *connectParent, unsigned long param, u8 groupType); + /* 802e2560 */ static fBase_c *fBase_make(ProfileName profName, fTrNdBa_c *connectParent, unsigned long param, u8 groupType); + /* 802e2640 */ static fBase_c *createRoot(ProfileName profName, unsigned long param, u8 groupType); + /* 802e2600 */ static fBase_c *createChild(ProfileName profName, fBase_c *parent, unsigned long param, u8 groupType); + +public: + /* 80575ba8 */ static fLiMgBa_c m_additional_actors; + /* 80575bb0 */ static int (*sLoadAsyncCallback)(); + /* 80575bb4 */ static void (*sUnloadCallback)(); private: - static void setTmpCtData(ProfileName profName, fTrNdBa_c *connectParent, unsigned long param, u8 groupType); - static fBase_c *fBase_make(ProfileName profName, fTrNdBa_c *connectParent, unsigned long param, u8 groupType); - -protected: - // these still exist and are still unused - static int (*sLoadAsyncCallback)(); - static void (*sUnloadCallback)(); - -private: - static fBaseID_e m_rootUniqueID; - static ProfileName m_tmpCtProfName; - static fTrNdBa_c *m_tmpCtConnectParent; - static u32 m_tmpCtParam; - static u8 m_tmpCtGroupType; + /* 80573fb8 */ static fBaseID_e m_rootUniqueID; + /* 805b84c8 */ static ProfileName m_tmpCtProfName; + /* 805b84cc */ static fTrNdBa_c *m_tmpCtConnectParent; + /* 805b84d0 */ static u32 m_tmpCtParam; + /* 805b84d4 */ static u8 m_tmpCtGroupType; friend class fManager_c; friend class fLiNdBa_c; diff --git a/include/f/f_list_mg.h b/include/f/f_list_mg.h index 3fdd6a8d..85dd7022 100644 --- a/include/f/f_list_mg.h +++ b/include/f/f_list_mg.h @@ -21,13 +21,10 @@ public: */ int countNodeByProfName(ProfileName profName) const; - /** - * @brief Finds a node in this list with the given ID. - * - * @param id The ID to search for. - * @return The found node, or @p nullptr if none were found. - */ - const fLiNdBa_c *searchNodeByID(fBaseID_e id) const; + /* 802e2760 */ const fLiNdBa_c *searchNodeByID(fBaseID_e id) const; + /* 802e2790 */ const fLiNdBa_c *searchNodeByID(fBaseID_e id, fLiMgBa_c* start) const; + /* 802e27d0 */ void link(fLiNdBa_c&, fBase_c*); + /* 802e2830 */ void unlink(fLiNdBa_c&); inline fLiNdBa_c *getFirst() const { return (fLiNdBa_c *) cListMg_c::getFirst(); diff --git a/include/f/f_list_mg_ptmf.h b/include/f/f_list_mg_ptmf.h index 29db1c95..472f4f82 100644 --- a/include/f/f_list_mg_ptmf.h +++ b/include/f/f_list_mg_ptmf.h @@ -13,21 +13,9 @@ class fBase_c; /// @note Unofficial name. class fLiMgPTMF_c : public fLiMgBa_c { public: - /// @brief Constructs a new list node. - /// @param procFunc The process function. fLiMgPTMF_c(int (fBase_c::*procFunc)()) : mpProcFunc(procFunc) {} - - /** - * @brief Inserts a node in the correct place according to its priority. - * - * @param node The node to insert. - * @return If the operation was successful. - */ - bool addNode(fLiNdPrio_c *node); - - /// @brief Calls the process function ::mpProcFunc on the owner of each node in the list. - /// @return If the operation was successful. - bool walkPack(); + /* 802e2680 */ bool addNode(fLiNdPrio_c *node); + /* 802e26e0 */ bool walkPack(); fLiNdPrio_c *getFirst() const { return (fLiNdPrio_c *) fLiMgBa_c::getFirst(); diff --git a/include/f/f_list_nd.h b/include/f/f_list_nd.h index 9834bb30..1961d767 100644 --- a/include/f/f_list_nd.h +++ b/include/f/f_list_nd.h @@ -7,14 +7,11 @@ class fBase_c; -/// @brief A list node with an owner reference. -/// @note Unofficial name. +// Ghidra: Used to be ActorReference class fLiNdBa_c : public cListNd_c { public: - /// @brief Constructs a new list node. - /// @param owner The node's owner. - fLiNdBa_c(fBase_c *owner) : mpOwner(owner) {} + fLiNdBa_c(fBase_c *owner) : p_owner(owner) {} inline fLiNdBa_c *getPrev() const { return (fLiNdBa_c *) cListNd_c::getPrev(); @@ -24,9 +21,5 @@ public: return (fLiNdBa_c *) cListNd_c::getNext(); } - /// @brief Removes this node from the owner's fBase_c::mUnusedList. - /// @note Unofficial name. Might not actually belong to this class (xor trick on hash). - void removeSelf(); - - fBase_c *mpOwner; ///< The owner of this node. + fBase_c *p_owner; }; \ No newline at end of file diff --git a/include/f/f_manager.h b/include/f/f_manager.h index 0c033c75..4b3c9e2e 100644 --- a/include/f/f_manager.h +++ b/include/f/f_manager.h @@ -15,16 +15,13 @@ class fBase_c; -/// @brief A class that manages the execution of the bases. class fManager_c { public: - /// @brief The processes for fManager_c. enum LOOP_PROC_e { NOTHING, CONNECT, CREATE, EXECUTE, DELETE, DRAW }; - /// @brief Flags for different processes, induced from ::LOOP_PROC_e. enum PROC_FLAGS { PROC_FLAG_CONNECT = GET_PROC_FLAG(CONNECT), PROC_FLAG_CREATE = GET_PROC_FLAG(CREATE), @@ -33,48 +30,34 @@ public: PROC_FLAG_DRAW = GET_PROC_FLAG(DRAW) }; - /// @brief Constructs a new manager. - /// @param owner The manager's owner. fManager_c(fBase_c *owner) : - mConnectNode(owner), - mExecuteNode(owner), - mDrawNode(owner), - mSearchNode(owner) {} + connect_node(owner), + execute_node(owner), + draw_node(owner), + search_node(owner) {} - /// @brief Gets the index of the search list corresponding to the owner of the manager. See ::m_searchManage. - int getSearchTableNum(); - - /// @brief Executes the currently enabled processes on all the bases in the respective lists. - static void mainLoop(); - - /// @brief Searches for a base with the given ID. - static fBase_c *searchBaseByID(fBaseID_e id); - - /// @brief Searches for a base with a given profile name, optionally under a given parent. - static fBase_c *searchBaseByProfName(ProfileName profID, const fBase_c *parent); - - /// @brief Searches for a base with a given group type, optionally under a given parent. - static fBase_c *searchBaseByGroupType(unsigned char groupType, const fBase_c *parent); + /* 802e28c0 */ int getSearchTableNum(); + /* 802e28d0 */ static fBase_c *searchBaseByID(fBaseID_e id); + /* 802e2920 */ static fBase_c *searchBaseByProfName(ProfileName profID, const fBase_c *parent); + /* 802e2980 */ static fBase_c *searchBaseByGroupType(unsigned char groupType, const fBase_c *parent); + /* 802e29e0 */ static void mainLoop(); private: - fTrNdBa_c mConnectNode; ///< The node in ::m_connectManage. - fLiNdPrio_c mExecuteNode; ///< The node in ::m_executeManage. - fLiNdPrio_c mDrawNode; ///< The node in ::m_drawManage. - fLiNdBa_c mSearchNode; ///< The node in ::m_searchManage. + fTrNdBa_c connect_node; ///< The node in ::m_connectManage. + fLiNdPrio_c execute_node; ///< The node in ::m_executeManage. + fLiNdPrio_c draw_node; ///< The node in ::m_drawManage. + fLiNdBa_c search_node; ///< The node in ::m_searchManage. - static fTrMgPTMF_c m_connectManage; ///< A tree that connects all loaded bases. - static fLiMgPTMF_c m_createManage; ///< A list of all the bases scheduled for creation. - static fLiMgPTMF_c m_executeManage; ///< A list of all the bases scheduled for execution. - static fLiMgPTMF_c m_deleteManage; ///< A list of all the bases scheduled for deletion. - static fLiMgPTMF_c m_drawManage; ///< A list of all the bases scheduled for drawing. + /* 805b84d8 */ static fTrMgPTMF_c m_connectManage; ///< A tree that connects all loaded bases. + /* 805b84e8 */ static fLiMgPTMF_c m_createManage; ///< A list of all the bases scheduled for creation. + /* 805b84fc */ static fLiMgPTMF_c m_executeManage; ///< A list of all the bases scheduled for execution. + /* 805b8510 */ static fLiMgPTMF_c m_drawManage; ///< A list of all the bases scheduled for drawing. + /* 805b8524 */ static fLiMgPTMF_c m_deleteManage; ///< A list of all the bases scheduled for deletion. - /// @brief An array of lists that is used to search for bases. - /// @details Bases are distributed evenly between each entry in the array. - /// This allows for more efficient base lookups. - static fLiMgBa_c m_searchManage[8]; + /* 805b8548 */ static fLiMgBa_c m_searchManage[8]; - static u32 m_StopProcInf; ///< Which processes should be executed this frame. - static LOOP_PROC_e m_nowLoopProc; ///< The process ::mainLoop is currently in. + /* 80575bb8 */ static u32 m_StopProcInf; ///< Which processes should be executed this frame. + /* 80573fc0 */ static LOOP_PROC_e m_nowLoopProc; ///< The process ::mainLoop is currently in. friend class fBase_c; }; \ No newline at end of file diff --git a/include/f/f_tree_nd.h b/include/f/f_tree_nd.h index 4b76d93e..17628306 100644 --- a/include/f/f_tree_nd.h +++ b/include/f/f_tree_nd.h @@ -8,12 +8,9 @@ class fBase_c; -/// @brief A tree node with an owner reference. class fTrNdBa_c : public cTreeNd_c { public: - /// @brief Constructs a new tree node. - /// @param owner The node's owner. - fTrNdBa_c(fBase_c *owner) : mpOwner(owner) {} + fTrNdBa_c(fBase_c *owner) : p_owner(owner) {} fTrNdBa_c *getTreeNext() const { return (fTrNdBa_c *) cTreeNd_c::getTreeNext(); @@ -39,5 +36,5 @@ public: return (fTrNdBa_c *) cTreeNd_c::getBrNext(); } - fBase_c *mpOwner; ///< The owner of this node. + fBase_c *p_owner; }; \ No newline at end of file diff --git a/include/m/m_angle.h b/include/m/m_angle.h index d249244f..059e34bb 100644 --- a/include/m/m_angle.h +++ b/include/m/m_angle.h @@ -7,5 +7,5 @@ struct mAng { }; class mAng3_c { - + s16 x,y,z; }; \ No newline at end of file diff --git a/src/d/a/d_a_base.cpp b/src/d/a/d_a_base.cpp index 536f272f..3c84535e 100644 --- a/src/d/a/d_a_base.cpp +++ b/src/d/a/d_a_base.cpp @@ -2,34 +2,29 @@ // .sdata -/* 0x80571920 */ u32 dAcBase_c::s_Create_RoomId = -1; -/* 0x80571924 */ u32 dAcBase_c::s_Create_Params2 = -1; -/* 0x80571928 */ u16 dAcBase_c::s_Create_UnkFlags = -1; -/* 0x8057192A */ u8 dAcBase_c::s_Create_ViewClipIdx = -1; +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; // .sbss -/* 0x80575080 */ Vec3f* dAcBase_c::s_Create_Position; -/* 0x80575084 */ Vec3s* dAcBase_c::s_Create_Rotation; -/* 0x80575088 */ Vec3f* dAcBase_c::s_Create_Scale; -/* 0x8057508C */ dAcBase_c* dAcBase_c::s_Create_Parent; -/* 0x80575090 */ ObjInfoPtr* dAcBase_c::s_Create_ObjInfo; -/* 0x80575094 */ u8 dAcBase_c::s_Create_Subtype; +Vec3f* dAcBase_c::s_Create_Position; +Vec3s* dAcBase_c::s_Create_Rotation; +Vec3f* dAcBase_c::s_Create_Scale; +dAcBase_c* dAcBase_c::s_Create_Parent; +ObjInfoPtr* dAcBase_c::s_Create_ObjInfo; +u8 dAcBase_c::s_Create_Subtype; -/* 8002c3a0 */ bool dAcBase_c::createHeap() { return true; } -/* 8002c3b0 */ dAcBase_c::dAcBase_c() {} -/* 8002c530 */ // dont know how this got here -dBase_c::~dBase_c() {} +/* 8002c530 */ dBase_c::~dBase_c() {} -/* 8002c590 */ dAcBase_c::~dAcBase_c() {} -/* 8002c650 */ void dAcBase_c::setTempCreateParams( \ Vec3f* pos, Vec3s* rot, Vec3f* scale, \ s32 roomId, u32 params2, dAcBase_c* parent, \ @@ -47,18 +42,12 @@ void dAcBase_c::setTempCreateParams( \ s_Create_ViewClipIdx = viewClipIdx; s_Create_ObjInfo = objInfo; } - -/* 8002c690 */ void* dAcBase_c::FUN_8002c690() {} - -/* 8002c710 */ int dAcBase_c::initAllocatorWork1Heap(int size, char* name, int align) { initAllocator(size, name, dHeap::work1Heap, align); } extern "C" int fn_802EE510(mAllocator_c*, int size, EGG::Heap* heap, char* name, int align, int unk); - -/* 8002c720 */ int dAcBase_c::initAllocator(int size, char* name, EGG::Heap* heap, int align) { if (fn_802EE510(&mHeapAllocator, size, heap, name, 0x20, 0) == 0){ return 0; @@ -69,102 +58,43 @@ int dAcBase_c::initAllocator(int size, char* name, EGG::Heap* heap, int align) { return success; } -/* 8002c7b0 */ bool dAcBase_c::addActorToRoom(s32 roomId) {} - -/* 8002c840 */ void dAcBase_c::setBit_field_0xE8(s32) {} - -/* 8002c860 */ // virt func, initiates the allocator int dAcBase_c::actorCreate() {} - -/* 8002c870 */ // virt func int dAcBase_c::actorReCreate() {} - -/* 8002c880 */ int dAcBase_c::create() {} - -/* 8002c8f0 */ void dAcBase_c::postCreate(fBase_c::MAIN_STATE_e state) {} - -/* 8002c940 */ int dAcBase_c::preDelete() {} - -/* 8002cb10 */ int dAcBase_c::preExecute() {} - -/* 8002cc10 */ int dAcBase_c::execute() {} - -/* 8002cca0 */ int dAcBase_c::actorExecute() {} - -/* 8002ccb0 */ int dAcBase_c::actorExecuteInEvent() {} - -/* 8002ccc0 */ void dAcBase_c::postExecute(fBase_c::MAIN_STATE_e state) {} - -/* 8002ce90 */ void dAcBase_c::unkVirtFunc_0x5C() { return; } - -/* 8002cea0 */ void dAcBase_c::unkVirtFunc_0x60() { return; } - -/* 8002ceb0 */ bool dAcBase_c::restorePosRotFromCopy() {} - -/* 8002cf10 */ u32 dAcBase_c::itemDroppingAndGivingRelated(Vec3f* spawnPos, int subtype) {} - -/* 8002cf90 */ void dAcBase_c::fillUpperParams2Byte() {} - -/* 8002cfa0 */ u32 dAcBase_c::getParams2_ignoreLower() {} - -/* 8002cfb0 */ void dAcBase_c::setParams2Upper_ignoreLower(u32 val) {} - -/* 8002cfc0 */ u8 dAcBase_c::getParams2UpperByte() {} - -/* 8002cfd0 */ void dAcBase_c::setParams2UpperByte(u32 val) {} - -/* 8002cff0 */ u32 dAcBase_c::buildParams2(u32 lower, u8 upper) {} - -/* 8002d010 */ u32 dAcBase_c::getParams2Lower() {} - -/* 8002d020 */ dAcBase_c* dAcBase_c::findActor(char* objName, dAcBase_c* parent) {} - -/* 8002d0a0 */ // searches for actor based on groupType +// searches for actor based on groupType dAcBase_c* dAcBase_c::searchActor(dAcBase_c& optionalParent) {} -/* 8002d130 */ void dAcBase_c::forEachActor(void*, dAcBase_c&) {} - -/* 8002d190 */ -void dAcBase_c::getXZAngleToPlayer(s16&, dAcBase_c&) {} - -/* 8002d1d0 */ +mAng dAcBase_c::getXZAngleToPlayer() {} bool dAcBase_c::getDistanceToActor(dAcBase_c& actor, f32 distThresh, f32* outDist) {} - -/* 8002d290 */ bool dAcBase_c::getDistanceAndAngleToActor( \ dAcBase_c& actor, f32 distThresh, s16 yAngle, s16 xAngle, \ f32* outDist, s16* outDiffAngleY, s16* outDiffAngleX) { } - -/* 8002d3e0 */ bool dAcBase_c::isWithinPlayerRadius(f32 radius) {} - -/* 8002d440 */ bool dAcBase_c::getDistanceAndAngleToPlayer( \ f32 distThresh, s16 yAngle, s16 xAngle, \ f32* outDist, s16* outDiffAngleY, s16* outDiffAngleX) @@ -172,122 +102,55 @@ bool dAcBase_c::getDistanceAndAngleToPlayer( \ // return getDistanceAndAngleToActor(PLAYER, distThresh, yAngle, xAngle, outDist, outDiffAngleY, outDiffAngleX); } -/* 8002d470 */ f32 dAcBase_c::getDistToPlayer() {} - -/* 8002d4a0 */ -f32 dAcBase_c::getSquareDistToPlayer() {} - -/* 8002d4b0 */ +f32 dAcBase_c::getSquareDistToPlayer() {} void dAcBase_c::updateRoomId(f32 yOffs) {} - -/* 8002d540 */ // currently named Global__isRoomFlags_6not0 bool dAcBase_c::isRoomFlags_0x6_Set() {} - -/* 8002d590 */ void dAcBase_c::FUN_8002d590() {} - -/* 8002d5b0 */ void dAcBase_c::FUN_8002d5b0() {} - -/* 8002d5d0*/ void dAcBase_c::playSound() {} - -/* 8002d600 */ void dAcBase_c::FUN_8002d600() {} - -/* 8002d630 */ void dAcBase_c::FUN_8002d630() {} - -/* 8002d6d0 */ void dAcBase_c::FUN_8002d6d0() {} - -/* 8002d710 */ // currently named ActorBase__playSoundEffect1 +// currently named ActorBase__playSoundEffect1 void dAcBase_c::playSoundEffect1() {} - -/* 8002d740 */ void dAcBase_c::FUN_8002d740() {} - -/* 8002d770 */ void dAcBase_c::FUN_8002d770() {} - -/* 8002d7a0 */ void dAcBase_c::FUN_8002d7a0() {} - -/* 8002d7d0 */ void dAcBase_c::FUN_8002d7d0() {} - -/* 8002d7f0 */ void dAcBase_c::FUN_8002d7f0() {} - -/* 8002d810 */ void dAcBase_c::FUN_8002d810() {} - -/* 8002d830 */ void dAcBase_c::FUN_8002d830() {} - -/* 8002d860 */ void dAcBase_c::FUN_8002d860() {} - -/* 8002d880 */ void dAcBase_c::FUN_8002d880() {} - -/* 8002d890 */ // first param is not dAcBase_c + // first param is not dAcBase_c void dAcBase_c::FUN_8002d890() {} - -/* 8002d920 */ // current name is Global__setActorRef + // current name is Global__setActorRef void dAcBase_c::setActorRef(dBase_c&) {} - -/* 8002d930 */ // May not be only purpose + // May not be only purpose void dAcBase_c::setUnkFlag() {} - -/* 8002d940 */ void dAcBase_c::FUN_8002d940() {} - -/* 8002d960 */ void dAcBase_c::FUN_8002d960() {} -/* 8002d980 */ // spawns GroupType2 (ACTOR) +// 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) {} -/* 8002da80 */ // spawns GroupType3 (TG_FORCE_LINE ? ) dAcBase_c dAcBase_c::createActorUnkGroup3( \ ProfileName actorId, u32 params1, \ Vec3f* pos, Vec3s* rot, Vec3f* scale, \ u32 params2, s32 roomId, dBase_c* ref) {} -/* 8002db80 */ void* dAcBase_c::getCurrentEventActor() {} - -/* 8002db90 */ void dAcBase_c::unkVirtFunc_0x6C() {} - -/* 8002dba0 */ void dAcBase_c::doInteraction(s32) {} - -/* 8002dc20 */ void dAcBase_c::FUN_8002dc20(s16*, s16*) {} - -/* 8002dc50 */ void dAcBase_c::incrementKillCounter() {} - -/* 8002dcd0 */ void dAcBase_c::FUN_8002dcd0() {} - -/* 8002dd10 */ void dAcBase_c::FUN_8002dd10() {} - -/* 8002dd50 */ void dAcBase_c::FUN_8002dd50() {} - -/* 8002dd90 */ void dAcBase_c::FUN_8002dd90() {} - -/* 8002ddd0 */ void dAcBase_c::FUN_8002ddd0() {} - -/* 8002de30 */ void dAcBase_c::FUN_8002de30() {} \ No newline at end of file diff --git a/src/d/d_base.cpp b/src/d/d_base.cpp index d34b42e9..7c2dbe8d 100644 --- a/src/d/d_base.cpp +++ b/src/d/d_base.cpp @@ -8,7 +8,7 @@ extern "C" fProfile::fBaseProfile_c** DAT_ACTOR_ALLOCATION_FUNCTIONS; /* 805750c0 */ u32 dBase_c::s_NextExecuteControlFlags; dBase_c::dBase_c() : fBase_c() { - baseProperties = DAT_ACTOR_ALLOCATION_FUNCTIONS[mProfName]->mBaseProperties; + baseProperties = DAT_ACTOR_ALLOCATION_FUNCTIONS[profile_name]->mBaseProperties; } void dBase_c::postDraw(fBase_c::MAIN_STATE_e status) { @@ -56,7 +56,7 @@ void dBase_c::resetFlags() { } bool dBase_c::isActorPlayer(dBase_c& base) { - return base.mProfName == fProfile::PLAYER; + return base.profile_name == fProfile::PLAYER; } int dBase_c::loadAsyncCallback() { diff --git a/src/f/f_base.cpp b/src/f/f_base.cpp index bffbfabb..9ab5bca4 100644 --- a/src/f/f_base.cpp +++ b/src/f/f_base.cpp @@ -19,7 +19,7 @@ int (*fBase_c::sLoadAsyncCallback)(); void (*fBase_c::sUnloadCallback)(); /* 802e12f0 */ -fBase_c::fBase_c() : mMng(this) {} +fBase_c::fBase_c() : manager(this) {} /* 802e1480 */ fBase_c::~fBase_c() {}