mirror of
https://github.com/zeldaret/ss
synced 2026-07-07 21:40:42 -04:00
some formatting fixup
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
+3
-12
@@ -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);
|
||||
|
||||
/**
|
||||
|
||||
+94
-92
@@ -4,6 +4,9 @@
|
||||
#include <d/d_heap.h>
|
||||
#include <m/m_allocator.h>
|
||||
#include <UnknownTypeBelongings.h>
|
||||
#include <m/types_m.h>
|
||||
#include <m/m_angle.h>
|
||||
|
||||
// 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;
|
||||
};
|
||||
@@ -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);
|
||||
|
||||
};
|
||||
+3
-3
@@ -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();
|
||||
|
||||
+72
-96
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
+3
-10
@@ -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;
|
||||
};
|
||||
+21
-38
@@ -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;
|
||||
};
|
||||
@@ -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;
|
||||
};
|
||||
+1
-1
@@ -7,5 +7,5 @@ struct mAng {
|
||||
};
|
||||
|
||||
class mAng3_c {
|
||||
|
||||
s16 x,y,z;
|
||||
};
|
||||
+19
-156
@@ -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() {}
|
||||
+2
-2
@@ -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() {
|
||||
|
||||
+1
-1
@@ -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() {}
|
||||
|
||||
Reference in New Issue
Block a user