mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-13 05:16:01 -04:00
some cleanup of f_pc/f_op files (#2254)
* cleanup f_pc files * cleanup f_op files * fix a couple f_op_actor_mng functions * minor JSystem work
This commit is contained in:
+3
-3
@@ -397,7 +397,7 @@ config.libs = [
|
||||
Object(Matching, "f_op/f_op_kankyo.cpp"),
|
||||
Object(Matching, "f_op/f_op_msg.cpp"),
|
||||
Object(Matching, "f_op/f_op_kankyo_mng.cpp"),
|
||||
Object(NonMatching, "f_op/f_op_msg_mng.cpp"),
|
||||
Object(Matching, "f_op/f_op_msg_mng.cpp", extra_cflags=['-pragma "nosyminline on"']),
|
||||
Object(Matching, "f_op/f_op_draw_iter.cpp"),
|
||||
Object(Matching, "f_op/f_op_draw_tag.cpp"),
|
||||
Object(Matching, "f_op/f_op_scene_pause.cpp"),
|
||||
@@ -927,7 +927,7 @@ config.libs = [
|
||||
[
|
||||
Object(NonMatching, "JSystem/JGadget/binary.cpp"),
|
||||
Object(NonMatching, "JSystem/JGadget/linklist.cpp"),
|
||||
Object(NonMatching, "JSystem/JGadget/std-vector.cpp"),
|
||||
Object(Equivalent, "JSystem/JGadget/std-vector.cpp"), # just weak order
|
||||
],
|
||||
),
|
||||
JSystemLib(
|
||||
@@ -984,7 +984,7 @@ config.libs = [
|
||||
Object(Matching, "JSystem/J3DGraphBase/J3DGD.cpp"),
|
||||
Object(Matching, "JSystem/J3DGraphBase/J3DSys.cpp"),
|
||||
Object(Matching, "JSystem/J3DGraphBase/J3DVertex.cpp"),
|
||||
Object(NonMatching, "JSystem/J3DGraphBase/J3DTransform.cpp"),
|
||||
Object(Matching, "JSystem/J3DGraphBase/J3DTransform.cpp"),
|
||||
Object(Matching, "JSystem/J3DGraphBase/J3DTexture.cpp"),
|
||||
Object(Matching, "JSystem/J3DGraphBase/J3DPacket.cpp"),
|
||||
Object(NonMatching, "JSystem/J3DGraphBase/J3DShapeMtx.cpp"),
|
||||
|
||||
@@ -53,7 +53,7 @@ struct J3DTransformInfo {
|
||||
extern J3DTransformInfo const j3dDefaultTransformInfo;
|
||||
extern Vec const j3dDefaultScale;
|
||||
extern Mtx const j3dDefaultMtx;
|
||||
extern f32 PSMulUnit01[2];
|
||||
extern f32 PSMulUnit01[];
|
||||
|
||||
void J3DGQRSetup7(u32 param_0, u32 param_1, u32 param_2, u32 param_3);
|
||||
void J3DCalcBBoardMtx(f32 (*)[4]);
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
#ifndef STD_MEMORY_H
|
||||
#define STD_MEMORY_H
|
||||
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
|
||||
namespace JGadget {
|
||||
template <typename T>
|
||||
struct TAllocator {
|
||||
T* allocate(u32 count, void *param_2) {
|
||||
return AllocateRaw(count * sizeof(T));
|
||||
}
|
||||
|
||||
T* AllocateRaw(u32 size) {
|
||||
return (T*)operator new(size);
|
||||
}
|
||||
|
||||
void deallocate(T* mem, u32 size) {
|
||||
DeallocateRaw(mem);
|
||||
}
|
||||
|
||||
void DeallocateRaw(T* mem) {
|
||||
delete mem;
|
||||
}
|
||||
|
||||
void destroy(T* p) {
|
||||
JUT_ASSERT(68, p!=0);
|
||||
}
|
||||
|
||||
/* 0x0 */ u8 mAllocator;
|
||||
};
|
||||
}
|
||||
|
||||
#endif /* STD_MEMORY_H */
|
||||
@@ -1,4 +1,176 @@
|
||||
#ifndef STD_VECTOR_H
|
||||
#define STD_VECTOR_H
|
||||
|
||||
#include "JSystem/JGadget/std-memory.h"
|
||||
#include "algorithm.h"
|
||||
#include "msl_memory.h"
|
||||
|
||||
namespace JGadget {
|
||||
namespace vector {
|
||||
/* 802DCCC8 */ u32 extend_default(u32, u32, u32);
|
||||
};
|
||||
|
||||
typedef u32 (*extendFunc)(u32, u32, u32);
|
||||
|
||||
template <typename T, typename Allocator = JGadget::TAllocator<T> >
|
||||
struct TVector {
|
||||
struct TDestructed_deallocate_ {
|
||||
TDestructed_deallocate_(JGadget::TAllocator<T>& allocator, T* ptr) {
|
||||
mAllocator = &allocator;
|
||||
mPtr = ptr;
|
||||
}
|
||||
|
||||
~TDestructed_deallocate_() { mAllocator->deallocate(mPtr, 0); }
|
||||
|
||||
void set(T* ptr) { mPtr = ptr; }
|
||||
|
||||
Allocator* mAllocator;
|
||||
T* mPtr;
|
||||
};
|
||||
|
||||
TVector(Allocator const& allocator) {
|
||||
mAllocator = allocator;
|
||||
pBegin_ = NULL;
|
||||
pEnd_ = pBegin_;
|
||||
mCapacity = 0;
|
||||
pfnExtend_ = JGadget::vector::extend_default;
|
||||
}
|
||||
|
||||
~TVector() {
|
||||
clear();
|
||||
mAllocator.deallocate(pBegin_, 0);
|
||||
}
|
||||
|
||||
T* insert(T* pos, const T& val) {
|
||||
u32 diff = (int)((u32)pos - (u32)begin()) / 4;
|
||||
insert(pos, 1, val);
|
||||
return pBegin_ + diff;
|
||||
}
|
||||
|
||||
void insert(T* pos, u32 count, const T& val) {
|
||||
if (count != 0) {
|
||||
T* ptr = Insert_raw(pos, count);
|
||||
if (ptr == end()) {
|
||||
/* JGadget_outMessage sp120(JGadget_outMessage::warning, __FILE__, 0x141);
|
||||
sp120 << "can't allocate memory"; */
|
||||
} else {
|
||||
std::uninitialized_fill_n(ptr, count, val);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
T* Insert_raw(T* pIt, u32 pCount) {
|
||||
JUT_ASSERT(446, (pBegin_ <= pIt) && (pIt <= pEnd_));
|
||||
|
||||
T* const pFirst = pIt;
|
||||
|
||||
if (pCount == 0) {
|
||||
return pIt;
|
||||
}
|
||||
|
||||
if (pCount + size() <= mCapacity) {
|
||||
void** newEnd = pFirst + pCount;
|
||||
|
||||
if (newEnd < pEnd_) {
|
||||
void** pOverwrittenValues = pEnd_ - pCount;
|
||||
std::uninitialized_copy(pOverwrittenValues, pEnd_, pEnd_);
|
||||
std::copy_backward(pFirst, pOverwrittenValues, pEnd_);
|
||||
DestroyElement_(pFirst, newEnd);
|
||||
|
||||
pEnd_ += pCount;
|
||||
return pIt;
|
||||
} else {
|
||||
std::uninitialized_copy(pFirst, pEnd_, newEnd);
|
||||
DestroyElement_(pFirst, pEnd_);
|
||||
|
||||
pEnd_ += pCount;
|
||||
return pIt;
|
||||
}
|
||||
}
|
||||
|
||||
u32 newSize = GetSize_extend_(pCount);
|
||||
|
||||
void** newDataPointer = mAllocator.allocate(newSize, 0);
|
||||
if (!newDataPointer) {
|
||||
return end();
|
||||
}
|
||||
|
||||
TDestructed_deallocate_ destructionDeallocator(mAllocator, newDataPointer);
|
||||
|
||||
void** const endOfCopy = std::uninitialized_copy(pBegin_, pFirst, newDataPointer);
|
||||
std::uninitialized_copy(pFirst, pEnd_, endOfCopy + pCount);
|
||||
|
||||
DestroyElement_all_();
|
||||
destructionDeallocator.set(pBegin_);
|
||||
|
||||
pEnd_ = newDataPointer + (pEnd_ - pBegin_ + pCount);
|
||||
pBegin_ = newDataPointer;
|
||||
mCapacity = newSize;
|
||||
|
||||
return endOfCopy;
|
||||
}
|
||||
|
||||
T* begin() { return pBegin_; }
|
||||
|
||||
T* end() { return pEnd_; }
|
||||
|
||||
u32 size() {
|
||||
if (pBegin_ == 0) {
|
||||
return 0;
|
||||
}
|
||||
return (int)((u32)pEnd_ - (u32)pBegin_) / 4;
|
||||
}
|
||||
|
||||
u32 capacity() { return mCapacity; }
|
||||
|
||||
u32 GetSize_extend_(u32 count) {
|
||||
JUT_ASSERT(0x22B, pfnExtend_!=0);
|
||||
|
||||
u32 oldSize = size();
|
||||
u32 neededNewSpace = oldSize + count;
|
||||
u32 extendedSize = pfnExtend_(capacity(), oldSize, count);
|
||||
|
||||
return neededNewSpace > extendedSize ? neededNewSpace : extendedSize;
|
||||
}
|
||||
|
||||
void DestroyElement_(T* start, T* end) {
|
||||
for (; start != end; start++) {
|
||||
mAllocator.destroy(start);
|
||||
}
|
||||
}
|
||||
|
||||
void DestroyElement_all_() { DestroyElement_(pBegin_, pEnd_); }
|
||||
|
||||
T* erase(T* start, T* end) {
|
||||
T* vectorEnd = pEnd_;
|
||||
T* ppvVar3 = std::copy(end, vectorEnd, start);
|
||||
DestroyElement_(ppvVar3, pEnd_);
|
||||
pEnd_ = ppvVar3;
|
||||
return start;
|
||||
}
|
||||
|
||||
void clear() { erase(begin(), end()); }
|
||||
|
||||
/* 0x00 */ Allocator mAllocator;
|
||||
/* 0x04 */ T* pBegin_;
|
||||
/* 0x08 */ T* pEnd_;
|
||||
/* 0x0C */ u32 mCapacity;
|
||||
/* 0x10 */ extendFunc pfnExtend_;
|
||||
};
|
||||
|
||||
struct TVector_pointer_void : public TVector<void*, TAllocator<void*> > {
|
||||
TVector_pointer_void(const JGadget::TAllocator<void*>& allocator);
|
||||
TVector_pointer_void(u32, void* const&,
|
||||
const JGadget::TAllocator<void*>& allocator);
|
||||
|
||||
~TVector_pointer_void();
|
||||
|
||||
void insert(void**, void* const&);
|
||||
void** erase(void**, void**);
|
||||
|
||||
void clear() { erase(begin(), end()); }
|
||||
void push_back(const void*& value) { insert(end(), (void* const&)value); }
|
||||
};
|
||||
} // namespace JGadget
|
||||
|
||||
#endif /* STD_VECTOR_H */
|
||||
|
||||
@@ -42,6 +42,13 @@ struct data {
|
||||
|
||||
struct TParse_TBlock_messageID : public TParse_TBlock {
|
||||
TParse_TBlock_messageID(const void* data) : TParse_TBlock(data) {}
|
||||
|
||||
char* get() const { return (char*)getRaw(); }
|
||||
u8 get_formSupplement() const { return *(u8*)(get() + 0xB); }
|
||||
u16 get_number() const { return *(u16*)(get() + 0x8); }
|
||||
char* getContent() const { return (char*)get() + 0x10; }
|
||||
u8 get_form() const { return *(u8*)(get() + 0xA) & 0xF; }
|
||||
bool get_isOrdered() const { return *(u8*)(get() + 0xA) & 0xF0; }
|
||||
};
|
||||
|
||||
struct TParse_TBlock_color : public TParse_TBlock {
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace JMessage {
|
||||
*/
|
||||
struct TResource {
|
||||
TResource()
|
||||
: field_0x8(NULL), field_0xc(NULL), field_0x10(NULL), field_0x14(0), field_0x18(NULL) {}
|
||||
: field_0x8(NULL), field_0xc(NULL), field_0x10(NULL), field_0x14(0), mMessageID(NULL) {}
|
||||
|
||||
/* 802A8CDC */ u16 toMessageIndex_messageID(u32, u32, bool*) const;
|
||||
|
||||
@@ -56,7 +56,7 @@ struct TResource {
|
||||
/* 0x0C */ data::TParse_TBlock_info field_0xc;
|
||||
/* 0x10 */ char* field_0x10;
|
||||
/* 0x14 */ int field_0x14;
|
||||
/* 0x18 */ data::TParse_TBlock_messageID field_0x18;
|
||||
/* 0x18 */ data::TParse_TBlock_messageID mMessageID;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,204 +4,9 @@
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct request_base_class {
|
||||
struct {
|
||||
u8 flag0 : 1;
|
||||
u8 flag1 : 1;
|
||||
u8 flag2 : 6;
|
||||
} field_0x0;
|
||||
u8 field_0x1;
|
||||
u8 field_0x2;
|
||||
u8 field_0x3;
|
||||
u16 field_0x4;
|
||||
u8 field_0x6;
|
||||
u8 field_0x7;
|
||||
u32 field_0x8;
|
||||
s8 field_0xc;
|
||||
u8 field_0xd;
|
||||
u8 field_0xe;
|
||||
u8 field_0xf;
|
||||
int* field_0x10;
|
||||
// u8 field_0x11;
|
||||
// u8 field_0x12;
|
||||
// u8 field_0x13;
|
||||
u8 field_0x14;
|
||||
u8 field_0x15;
|
||||
u8 field_0x16;
|
||||
u8 field_0x17;
|
||||
u8 field_0x18;
|
||||
u8 field_0x19;
|
||||
u8 field_0x1a;
|
||||
u8 field_0x1b;
|
||||
u8 field_0x1c;
|
||||
u8 field_0x1d;
|
||||
u8 field_0x1e;
|
||||
u8 field_0x1f;
|
||||
u32* field_0x20;
|
||||
u8 field_0x24;
|
||||
u8 field_0x25;
|
||||
u8 field_0x26;
|
||||
u8 field_0x27;
|
||||
u8 field_0x28;
|
||||
u8 field_0x29;
|
||||
u8 field_0x2a;
|
||||
u8 field_0x2b;
|
||||
u8 field_0x2c;
|
||||
u8 field_0x2d;
|
||||
u8 field_0x2e;
|
||||
u8 field_0x2f;
|
||||
u8 field_0x30;
|
||||
u8 field_0x31;
|
||||
u8 field_0x32;
|
||||
u8 field_0x33;
|
||||
u8 field_0x34;
|
||||
u8 field_0x35;
|
||||
u8 field_0x36;
|
||||
u8 field_0x37;
|
||||
u8 field_0x38;
|
||||
u8 field_0x39;
|
||||
u8 field_0x3a;
|
||||
u8 field_0x3b;
|
||||
u8 field_0x3c;
|
||||
u8 field_0x3d;
|
||||
u8 field_0x3e;
|
||||
u8 field_0x3f;
|
||||
u8 field_0x40;
|
||||
u8 field_0x41;
|
||||
u8 field_0x42;
|
||||
u8 field_0x43;
|
||||
u8 field_0x44;
|
||||
u8 field_0x45;
|
||||
u8 field_0x46;
|
||||
u8 field_0x47;
|
||||
u8 field_0x48;
|
||||
u8 field_0x49;
|
||||
u8 field_0x4a;
|
||||
u8 field_0x4b;
|
||||
u8 field_0x4c;
|
||||
u8 field_0x4d;
|
||||
u8 field_0x4e;
|
||||
u8 field_0x4f;
|
||||
u8 field_0x50;
|
||||
u8 field_0x51;
|
||||
u8 field_0x52;
|
||||
u8 field_0x53;
|
||||
u8 field_0x54;
|
||||
u8 field_0x55;
|
||||
u8 field_0x56;
|
||||
u8 field_0x57;
|
||||
u8 field_0x58;
|
||||
u8 field_0x59;
|
||||
u8 field_0x5a;
|
||||
u8 field_0x5b;
|
||||
u8 field_0x5c;
|
||||
u8 field_0x5d;
|
||||
u8 field_0x5e;
|
||||
u8 field_0x5f;
|
||||
u8 field_0x60;
|
||||
u8 field_0x61;
|
||||
u8 field_0x62;
|
||||
u8 field_0x63;
|
||||
u8 field_0x64;
|
||||
u8 field_0x65;
|
||||
u8 field_0x66;
|
||||
u8 field_0x67;
|
||||
u8 field_0x68;
|
||||
u8 field_0x69;
|
||||
u8 field_0x6a;
|
||||
u8 field_0x6b;
|
||||
u8 field_0x6c;
|
||||
u8 field_0x6d;
|
||||
u8 field_0x6e;
|
||||
u8 field_0x6f;
|
||||
u8 field_0x70;
|
||||
u8 field_0x71;
|
||||
u8 field_0x72;
|
||||
u8 field_0x73;
|
||||
u8 field_0x74;
|
||||
u8 field_0x75;
|
||||
u8 field_0x76;
|
||||
u8 field_0x77;
|
||||
u8 field_0x78;
|
||||
u8 field_0x79;
|
||||
u8 field_0x7a;
|
||||
u8 field_0x7b;
|
||||
u8 field_0x7c;
|
||||
u8 field_0x7d;
|
||||
u8 field_0x7e;
|
||||
u8 field_0x7f;
|
||||
u8 field_0x80;
|
||||
u8 field_0x81;
|
||||
u8 field_0x82;
|
||||
u8 field_0x83;
|
||||
u8 field_0x84;
|
||||
u8 field_0x85;
|
||||
u8 field_0x86;
|
||||
u8 field_0x87;
|
||||
u8 field_0x88;
|
||||
u8 field_0x89;
|
||||
u8 field_0x8a;
|
||||
u8 field_0x8b;
|
||||
u8 field_0x8c;
|
||||
u8 field_0x8d;
|
||||
u8 field_0x8e;
|
||||
u8 field_0x8f;
|
||||
u8 field_0x90;
|
||||
u8 field_0x91;
|
||||
u8 field_0x92;
|
||||
u8 field_0x93;
|
||||
u8 field_0x94;
|
||||
u8 field_0x95;
|
||||
u8 field_0x96;
|
||||
u8 field_0x97;
|
||||
u8 field_0x98;
|
||||
u8 field_0x99;
|
||||
u8 field_0x9a;
|
||||
u8 field_0x9b;
|
||||
u8 field_0x9c;
|
||||
u8 field_0x9d;
|
||||
u8 field_0x9e;
|
||||
u8 field_0x9f;
|
||||
u8 field_0xa0;
|
||||
u8 field_0xa1;
|
||||
u8 field_0xa2;
|
||||
u8 field_0xa3;
|
||||
u8 field_0xa4;
|
||||
u8 field_0xa5;
|
||||
u8 field_0xa6;
|
||||
u8 field_0xa7;
|
||||
u8 field_0xa8;
|
||||
u8 field_0xa9;
|
||||
u8 field_0xaa;
|
||||
u8 field_0xab;
|
||||
u8 field_0xac;
|
||||
u8 field_0xad;
|
||||
u8 field_0xae;
|
||||
u8 field_0xaf;
|
||||
u8 field_0xb0;
|
||||
u8 field_0xb1;
|
||||
u8 field_0xb2;
|
||||
u8 field_0xb3;
|
||||
u8 field_0xb4;
|
||||
u8 field_0xb5;
|
||||
u8 field_0xb6;
|
||||
u8 field_0xb7;
|
||||
u8 field_0xb8;
|
||||
u8 field_0xb9;
|
||||
u8 field_0xba;
|
||||
u8 field_0xbb;
|
||||
u8 field_0xbc;
|
||||
u8 field_0xbd;
|
||||
u8 field_0xbe;
|
||||
u8 field_0xbf;
|
||||
u32 field_0xc0;
|
||||
// u8 field_0xc1;
|
||||
// u8 field_0xc2;
|
||||
// u8 field_0xc3;
|
||||
request_base_class* field_0xc4;
|
||||
// u8 field_0xc5;
|
||||
// u8 field_0xc6;
|
||||
// u8 field_0xc7;
|
||||
u32* field_0xc8;
|
||||
u8 flag0 : 1;
|
||||
u8 flag1 : 1;
|
||||
u8 flag2 : 6;
|
||||
};
|
||||
|
||||
int cReq_Is_Done(request_base_class*);
|
||||
|
||||
@@ -19,4 +19,8 @@ struct DynamicNameTableEntry {
|
||||
int cDyl_InitAsyncIsDone();
|
||||
void cDyl_InitAsync();
|
||||
|
||||
BOOL cDyl_IsLinked(s16 i_ProfName);
|
||||
BOOL cDyl_Unlink(s16 i_ProfName);
|
||||
int cDyl_LinkASync(s16 i_ProfName);
|
||||
|
||||
#endif /* C_C_DYLINK_H */
|
||||
|
||||
@@ -74,7 +74,7 @@ public:
|
||||
camera_class* iVar1 = dComIfGp_getCamera(0);
|
||||
cXyz local_28;
|
||||
current.pos = *fopCamM_GetEye_p(iVar1);
|
||||
dKyr_get_vectle_calc(&iVar1->mLookat.mEye, &iVar1->mLookat.mCenter, &local_28);
|
||||
dKyr_get_vectle_calc(&iVar1->lookat.eye, &iVar1->lookat.center, &local_28);
|
||||
current.angle.y = cM_atan2s(local_28.x, local_28.z);
|
||||
current.angle.x = -cM_atan2s(
|
||||
local_28.y, JMAFastSqrt((local_28.x * local_28.x + local_28.z * local_28.z)));
|
||||
|
||||
@@ -3393,19 +3393,19 @@ inline void dComIfGp_event_setTalkPartner(fopAc_ac_c* i_actor) {
|
||||
}
|
||||
|
||||
inline fopAc_ac_c* dComIfGp_event_getTalkPartner() {
|
||||
return g_dComIfG_gameInfo.play.getEvent().getPtT();
|
||||
return (fopAc_ac_c*)g_dComIfG_gameInfo.play.getEvent().getPtT();
|
||||
}
|
||||
|
||||
inline fopAc_ac_c* dComIfGp_event_getItemPartner() {
|
||||
return g_dComIfG_gameInfo.play.getEvent().getPtI();
|
||||
return (fopAc_ac_c*)g_dComIfG_gameInfo.play.getEvent().getPtI();
|
||||
}
|
||||
|
||||
inline fopAc_ac_c* dComIfGp_event_getPt1() {
|
||||
return g_dComIfG_gameInfo.play.getEvent().getPt1();
|
||||
return (fopAc_ac_c*)g_dComIfG_gameInfo.play.getEvent().getPt1();
|
||||
}
|
||||
|
||||
inline fopAc_ac_c* dComIfGp_event_getPt2() {
|
||||
return g_dComIfG_gameInfo.play.getEvent().getPt2();
|
||||
return (fopAc_ac_c*)g_dComIfG_gameInfo.play.getEvent().getPt2();
|
||||
}
|
||||
|
||||
inline BOOL dComIfGp_event_runCheck() {
|
||||
@@ -3897,11 +3897,11 @@ inline view_class* dComIfGd_getView() {
|
||||
}
|
||||
|
||||
inline Mtx44* dComIfGd_getProjViewMtx() {
|
||||
return &(g_dComIfG_gameInfo.drawlist.getView()->mProjViewMtx);
|
||||
return &(g_dComIfG_gameInfo.drawlist.getView()->projViewMtx);
|
||||
}
|
||||
|
||||
inline MtxP dComIfGd_getInvViewMtx() {
|
||||
return g_dComIfG_gameInfo.drawlist.getView()->mInvViewMtx;
|
||||
return g_dComIfG_gameInfo.drawlist.getView()->invViewMtx;
|
||||
}
|
||||
|
||||
inline view_port_class* dComIfGd_getViewport() {
|
||||
@@ -3909,10 +3909,10 @@ inline view_port_class* dComIfGd_getViewport() {
|
||||
}
|
||||
|
||||
inline MtxP dComIfGd_getViewRotMtx() {
|
||||
return ((camera_process_class*)g_dComIfG_gameInfo.drawlist.getView())->mViewMtxNoTrans;
|
||||
return ((camera_process_class*)g_dComIfG_gameInfo.drawlist.getView())->viewMtxNoTrans;
|
||||
}
|
||||
inline MtxP dComIfGd_getViewMtx() {
|
||||
return ((camera_process_class*)g_dComIfG_gameInfo.drawlist.getView())->mViewMtx;
|
||||
return ((camera_process_class*)g_dComIfG_gameInfo.drawlist.getView())->viewMtx;
|
||||
}
|
||||
|
||||
inline J3DDrawBuffer* dComIfGd_getListFilter() {
|
||||
|
||||
@@ -249,7 +249,7 @@ public:
|
||||
s8 getCameraID() { return mCameraID; }
|
||||
void setMode(int mode) { mMode = mode; }
|
||||
view_port_class* getViewPort() { return &mViewport; }
|
||||
scissor_class* getScissor() { return &mViewport.mScissor; }
|
||||
scissor_class* getScissor() { return &mViewport.scissor; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ view_port_class mViewport;
|
||||
|
||||
@@ -11,16 +11,16 @@ struct actor_method_class {
|
||||
};
|
||||
|
||||
struct actor_process_profile_definition {
|
||||
/* 0x00 */ leaf_process_profile_definition mBase;
|
||||
/* 0x00 */ leaf_process_profile_definition base;
|
||||
/* 0x24 */ actor_method_class* sub_method;
|
||||
/* 0x28 */ u32 status;
|
||||
/* 0x2C */ u8 mActorType;
|
||||
/* 0x2C */ u8 group;
|
||||
/* 0x2D */ u8 cullType;
|
||||
};
|
||||
|
||||
// Unclear what this is. Only appears in 4 profiles (BG,DSHUTTER,PATH,SCENE_EXIT)
|
||||
struct actor_process_profile_definition2 {
|
||||
/* 0x00 */ actor_process_profile_definition def;
|
||||
/* 0x00 */ actor_process_profile_definition base;
|
||||
/* 0x30 */ u32 field_0x30;
|
||||
};
|
||||
|
||||
@@ -304,7 +304,7 @@ public:
|
||||
/* 0x5A8 */ u8 mMidnaBindMode;
|
||||
}; // Size: 0x5AC
|
||||
|
||||
s32 fopAc_IsActor(void* actor);
|
||||
BOOL fopAc_IsActor(void* i_actor);
|
||||
|
||||
extern actor_method_class g_fopAc_Method;
|
||||
|
||||
|
||||
+264
-247
@@ -1,27 +1,27 @@
|
||||
#ifndef F_OP_ACTOR_MNG_H_
|
||||
#define F_OP_ACTOR_MNG_H_
|
||||
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "f_op/f_op_actor_iter.h"
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
#include "f_op/f_op_draw_tag.h"
|
||||
#include "d/d_bg_s.h"
|
||||
#include "d/d_bg_s_gnd_chk.h"
|
||||
#include "d/d_bg_s_lin_chk.h"
|
||||
#include "d/d_bg_s_wtr_chk.h"
|
||||
#include "d/d_bg_s_roof_chk.h"
|
||||
#include "d/d_bg_s_wtr_chk.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "f_op/f_op_actor_iter.h"
|
||||
#include "f_op/f_op_draw_tag.h"
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
#include "m_Do/m_Do_hostIO.h"
|
||||
|
||||
#define fopAcM_SetupActor(ptr,ClassName) \
|
||||
if (!fopAcM_CheckCondition(ptr, fopAcCnd_INIT_e)) { \
|
||||
new (ptr) ClassName(); \
|
||||
fopAcM_OnCondition(ptr, fopAcCnd_INIT_e); \
|
||||
#define fopAcM_SetupActor(ptr, ClassName) \
|
||||
if (!fopAcM_CheckCondition(ptr, fopAcCnd_INIT_e)) { \
|
||||
new (ptr) ClassName(); \
|
||||
fopAcM_OnCondition(ptr, fopAcCnd_INIT_e); \
|
||||
}
|
||||
|
||||
#define fopAcM_SetupActor2(ptr,ClassName, ...) \
|
||||
if (!fopAcM_CheckCondition(ptr, fopAcCnd_INIT_e)) { \
|
||||
new (ptr) ClassName(__VA_ARGS__); \
|
||||
fopAcM_OnCondition(ptr, fopAcCnd_INIT_e); \
|
||||
#define fopAcM_SetupActor2(ptr, ClassName, ...) \
|
||||
if (!fopAcM_CheckCondition(ptr, fopAcCnd_INIT_e)) { \
|
||||
new (ptr) ClassName(__VA_ARGS__); \
|
||||
fopAcM_OnCondition(ptr, fopAcCnd_INIT_e); \
|
||||
}
|
||||
|
||||
class J3DModelData; // placeholder
|
||||
@@ -36,47 +36,46 @@ struct fopAcM_prmBase_class {
|
||||
}; // Size = 0x18
|
||||
|
||||
struct fopAcM_prm_class {
|
||||
/* 0x00 */ u32 mParameter; // single U32 Parameter
|
||||
/* 0x04 */ cXyz mPos;
|
||||
/* 0x10 */ csXyz mAngle; // rotation
|
||||
/* 0x16 */ u16 mEnemyNo;
|
||||
/* 0x18 */ u8 mScale[3];
|
||||
/* 0x1B */ u8 mGbaName; // from WW, maybe a different parameter here
|
||||
/* 0x1C */ fpc_ProcID mParentPId; // parent process ID
|
||||
/* 0x20 */ s8 mSubtype;
|
||||
/* 0x21 */ s8 mRoomNo;
|
||||
/* 0x00 */ u32 parameters;
|
||||
/* 0x04 */ cXyz position;
|
||||
/* 0x10 */ csXyz angle;
|
||||
/* 0x16 */ u16 setId;
|
||||
/* 0x18 */ u8 scale[3];
|
||||
/* 0x1C */ fpc_ProcID parent_id;
|
||||
/* 0x20 */ s8 subtype;
|
||||
/* 0x21 */ s8 room_no;
|
||||
};
|
||||
|
||||
struct fopAcM_search4ev_prm {
|
||||
fopAcM_search4ev_prm() { clear(); }
|
||||
void clear() {
|
||||
mName[0] = 0;
|
||||
mEventID = -1;
|
||||
mProcName = 11;
|
||||
mSubType = 0;
|
||||
name[0] = 0;
|
||||
event_id = -1;
|
||||
procname = PROC_PLAY_SCENE;
|
||||
subtype = 0;
|
||||
}
|
||||
|
||||
/* 0x00 */ char mName[30];
|
||||
/* 0x1E */ s16 mEventID;
|
||||
/* 0x20 */ s16 mProcName;
|
||||
/* 0x22 */ s8 mSubType;
|
||||
/* 0x00 */ char name[30];
|
||||
/* 0x1E */ s16 event_id;
|
||||
/* 0x20 */ s16 procname;
|
||||
/* 0x22 */ s8 subtype;
|
||||
};
|
||||
|
||||
struct fopAcM_search_prm {
|
||||
/* 0x00 */ u32 mParam0;
|
||||
/* 0x04 */ u32 mParam1;
|
||||
/* 0x08 */ s16 mProcName;
|
||||
/* 0x0A */ s8 mSubType;
|
||||
/* 0x00 */ u32 prm0;
|
||||
/* 0x04 */ u32 prm1;
|
||||
/* 0x08 */ s16 procname;
|
||||
/* 0x0A */ s8 subtype;
|
||||
};
|
||||
|
||||
// define to avoid vtable mess in WIP TUs
|
||||
#ifndef HIO_entry_c_NO_VIRTUAL
|
||||
struct fOpAcm_HIO_entry_c : public mDoHIO_entry_c {
|
||||
virtual ~fOpAcm_HIO_entry_c() {}
|
||||
virtual ~fOpAcm_HIO_entry_c() {}
|
||||
};
|
||||
#else
|
||||
struct fOpAcm_HIO_entry_c {
|
||||
~fOpAcm_HIO_entry_c();
|
||||
~fOpAcm_HIO_entry_c();
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -89,9 +88,7 @@ dBgS& dComIfG_Bgsp();
|
||||
|
||||
class fopAcM_lc_c {
|
||||
public:
|
||||
fopAcM_lc_c() {
|
||||
mLineCheck.ClrSttsRoofOff();
|
||||
}
|
||||
fopAcM_lc_c() { mLineCheck.ClrSttsRoofOff(); }
|
||||
|
||||
static dBgS_ObjLinChk* getLineCheck() { return &mLineCheck; }
|
||||
static bool checkMoveBG() { return dComIfG_Bgsp().ChkMoveBG(mLineCheck); }
|
||||
@@ -125,7 +122,9 @@ public:
|
||||
static dBgS_ObjGndChk mGndCheck;
|
||||
static f32 mGroundY;
|
||||
|
||||
static bool getTriPla(cM3dGPla* i_plane) { return dComIfG_Bgsp().GetTriPla(mGndCheck, i_plane); }
|
||||
static bool getTriPla(cM3dGPla* i_plane) {
|
||||
return dComIfG_Bgsp().GetTriPla(mGndCheck, i_plane);
|
||||
}
|
||||
static int getRoomId() { return dComIfG_Bgsp().GetRoomId(mGndCheck); }
|
||||
static int getPolyColor() { return dComIfG_Bgsp().GetPolyColor(mGndCheck); }
|
||||
static int getPolyAtt0() { return dComIfG_Bgsp().GetPolyAtt0(mGndCheck); }
|
||||
@@ -168,37 +167,37 @@ enum fopAcM_STATUS {
|
||||
/* 0x000800 */ fopAcM_STATUS_UNK_000800 = 1 << 11,
|
||||
/* 0x001000 */ fopAcM_STATUS_UNK_001000 = 1 << 12,
|
||||
/* 0x002000 */ fopAcM_STATUS_CARRY_NOW = 1 << 13,
|
||||
/* 0x004000 */ fopAcM_STATUS_UNK_004000 = 1 << 14,
|
||||
/* 0x008000 */ fopAcM_STATUS_UNK_008000 = 1 << 15,
|
||||
/* 0x010000 */ fopAcM_STATUS_UNK_010000 = 1 << 16,
|
||||
/* 0x020000 */ fopAcM_STATUS_UNK_200000 = 1 << 17,
|
||||
/* 0x040000 */ fopAcM_STATUS_UNK_400000 = 1 << 18,
|
||||
/* 0x080000 */ fopAcM_STATUS_UNK_800000 = 1 << 19,
|
||||
/* 0x004000 */ fopAcM_STATUS_UNK_004000 = 1 << 14,
|
||||
/* 0x008000 */ fopAcM_STATUS_UNK_008000 = 1 << 15,
|
||||
/* 0x010000 */ fopAcM_STATUS_UNK_010000 = 1 << 16,
|
||||
/* 0x020000 */ fopAcM_STATUS_UNK_200000 = 1 << 17,
|
||||
/* 0x040000 */ fopAcM_STATUS_UNK_400000 = 1 << 18,
|
||||
/* 0x080000 */ fopAcM_STATUS_UNK_800000 = 1 << 19,
|
||||
/* 0x100000 */ fopAcM_STATUS_HOOK_CARRY_NOW = 1 << 20,
|
||||
};
|
||||
|
||||
inline s8 fopAcM_GetRoomNo(const fopAc_ac_c* pActor) {
|
||||
return pActor->current.roomNo;
|
||||
inline s8 fopAcM_GetRoomNo(const fopAc_ac_c* i_actor) {
|
||||
return i_actor->current.roomNo;
|
||||
}
|
||||
|
||||
inline fpc_ProcID fopAcM_GetID(const void* pActor) {
|
||||
return fpcM_GetID(pActor);
|
||||
inline fpc_ProcID fopAcM_GetID(const void* i_actor) {
|
||||
return fpcM_GetID(i_actor);
|
||||
}
|
||||
|
||||
inline s16 fopAcM_GetName(void* pActor) {
|
||||
return fpcM_GetName(pActor);
|
||||
inline s16 fopAcM_GetName(void* i_actor) {
|
||||
return fpcM_GetName(i_actor);
|
||||
}
|
||||
|
||||
inline MtxP fopAcM_GetMtx(const fopAc_ac_c* pActor) {
|
||||
return pActor->cullMtx;
|
||||
inline MtxP fopAcM_GetMtx(const fopAc_ac_c* i_actor) {
|
||||
return i_actor->cullMtx;
|
||||
}
|
||||
|
||||
inline u32 fopAcM_checkStatus(fopAc_ac_c* pActor, u32 actor_status) {
|
||||
return pActor->actor_status & actor_status;
|
||||
inline u32 fopAcM_checkStatus(fopAc_ac_c* i_actor, u32 actor_status) {
|
||||
return i_actor->actor_status & actor_status;
|
||||
}
|
||||
|
||||
inline u32 fopAcM_checkCarryNow(fopAc_ac_c* pActor) {
|
||||
return pActor->actor_status & fopAcM_STATUS_CARRY_NOW;
|
||||
inline u32 fopAcM_checkCarryNow(fopAc_ac_c* i_actor) {
|
||||
return i_actor->actor_status & fopAcM_STATUS_CARRY_NOW;
|
||||
}
|
||||
|
||||
enum fopAcM_CARRY {
|
||||
@@ -206,7 +205,7 @@ enum fopAcM_CARRY {
|
||||
/* 0x02 */ fopAcM_CARRY_HEAVY = 2,
|
||||
/* 0x04 */ fopAcM_CARRY_SIDE = 4,
|
||||
/* 0x08 */ fopAcM_CARRY_TYPE_8 = 8,
|
||||
/* 0x10 */ fopAcM_CARRY_LIGHT = 16, // guess based on context
|
||||
/* 0x10 */ fopAcM_CARRY_LIGHT = 16, // guess based on context
|
||||
/* 0x20 */ fopAcM_CARRY_ITEM = 32,
|
||||
/* 0x30 */ fopAcM_CARRY_UNK_30 = 0x30,
|
||||
/* 0x40 */ fopAcM_CARRY_UNK_40 = 0x40,
|
||||
@@ -217,88 +216,88 @@ inline u32 fopAcM_CheckCarryType(fopAc_ac_c* actor, fopAcM_CARRY type) {
|
||||
return actor->carryType & type;
|
||||
}
|
||||
|
||||
inline u32 fopAcM_checkHookCarryNow(fopAc_ac_c* pActor) {
|
||||
return fopAcM_checkStatus(pActor, fopAcM_STATUS_HOOK_CARRY_NOW);
|
||||
inline u32 fopAcM_checkHookCarryNow(fopAc_ac_c* i_actor) {
|
||||
return fopAcM_checkStatus(i_actor, fopAcM_STATUS_HOOK_CARRY_NOW);
|
||||
}
|
||||
|
||||
inline u32 fopAcM_GetParam(const void* pActor) {
|
||||
return fpcM_GetParam(pActor);
|
||||
inline u32 fopAcM_GetParam(const void* i_actor) {
|
||||
return fpcM_GetParam(i_actor);
|
||||
}
|
||||
|
||||
inline u32 fopAcM_GetParamBit(void* ac, u8 shift, u8 bit) {
|
||||
return (fopAcM_GetParam(ac) >> shift) & ((1 << bit) - 1);
|
||||
}
|
||||
|
||||
inline void fopAcM_SetParam(void* p_actor, u32 param) {
|
||||
fpcM_SetParam(p_actor, param);
|
||||
inline void fopAcM_SetParam(void* i_actor, u32 param) {
|
||||
fpcM_SetParam(i_actor, param);
|
||||
}
|
||||
|
||||
inline void fopAcM_SetJntCol(fopAc_ac_c* i_actorP, dJntCol_c* i_jntColP) {
|
||||
i_actorP->jntCol = i_jntColP;
|
||||
}
|
||||
|
||||
inline s16 fopAcM_GetProfName(const void* pActor) {
|
||||
return fpcM_GetProfName(pActor);
|
||||
inline s16 fopAcM_GetProfName(const void* i_actor) {
|
||||
return fpcM_GetProfName(i_actor);
|
||||
}
|
||||
|
||||
inline u8 fopAcM_GetGroup(const fopAc_ac_c* p_actor) {
|
||||
return p_actor->group;
|
||||
inline u8 fopAcM_GetGroup(const fopAc_ac_c* i_actor) {
|
||||
return i_actor->group;
|
||||
}
|
||||
|
||||
inline void fopAcM_OnStatus(fopAc_ac_c* pActor, u32 flag) {
|
||||
pActor->actor_status |= flag;
|
||||
inline void fopAcM_OnStatus(fopAc_ac_c* i_actor, u32 flag) {
|
||||
i_actor->actor_status |= flag;
|
||||
}
|
||||
|
||||
inline void fopAcM_OffStatus(fopAc_ac_c* pActor, u32 flag) {
|
||||
pActor->actor_status &= ~flag;
|
||||
inline void fopAcM_OffStatus(fopAc_ac_c* i_actor, u32 flag) {
|
||||
i_actor->actor_status &= ~flag;
|
||||
}
|
||||
|
||||
inline fopAc_ac_c* fopAcM_Search(fopAcIt_JudgeFunc func, void* param) {
|
||||
return (fopAc_ac_c*)fopAcIt_Judge(func, param);
|
||||
inline fopAc_ac_c* fopAcM_Search(fopAcIt_JudgeFunc i_judgeFunc, void* i_process) {
|
||||
return (fopAc_ac_c*)fopAcIt_Judge(i_judgeFunc, i_process);
|
||||
}
|
||||
|
||||
inline fopAc_ac_c* fopAcM_SearchByID(fpc_ProcID id) {
|
||||
return (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)fpcSch_JudgeByID, &id);
|
||||
}
|
||||
|
||||
inline fpc_ProcID fopAcM_GetLinkId(const fopAc_ac_c* pActor) {
|
||||
return pActor->parentActorID;
|
||||
inline fpc_ProcID fopAcM_GetLinkId(const fopAc_ac_c* i_actor) {
|
||||
return i_actor->parentActorID;
|
||||
}
|
||||
|
||||
inline cXyz* fopAcM_GetPosition_p(fopAc_ac_c* pActor) {
|
||||
return &pActor->current.pos;
|
||||
inline cXyz* fopAcM_GetPosition_p(fopAc_ac_c* i_actor) {
|
||||
return &i_actor->current.pos;
|
||||
}
|
||||
|
||||
inline cXyz& fopAcM_GetPosition(fopAc_ac_c* pActor) {
|
||||
return pActor->current.pos;
|
||||
inline cXyz& fopAcM_GetPosition(fopAc_ac_c* i_actor) {
|
||||
return i_actor->current.pos;
|
||||
}
|
||||
|
||||
inline cXyz* fopAcM_GetOldPosition_p(fopAc_ac_c* pActor) {
|
||||
return &pActor->old.pos;
|
||||
inline cXyz* fopAcM_GetOldPosition_p(fopAc_ac_c* i_actor) {
|
||||
return &i_actor->old.pos;
|
||||
}
|
||||
|
||||
inline cXyz* fopAcM_GetSpeed_p(fopAc_ac_c* pActor) {
|
||||
return &pActor->speed;
|
||||
inline cXyz* fopAcM_GetSpeed_p(fopAc_ac_c* i_actor) {
|
||||
return &i_actor->speed;
|
||||
}
|
||||
|
||||
inline csXyz* fopAcM_GetAngle_p(fopAc_ac_c* pActor) {
|
||||
return &pActor->current.angle;
|
||||
inline csXyz* fopAcM_GetAngle_p(fopAc_ac_c* i_actor) {
|
||||
return &i_actor->current.angle;
|
||||
}
|
||||
|
||||
inline csXyz* fopAcM_GetShapeAngle_p(fopAc_ac_c* pActor) {
|
||||
return &pActor->shape_angle;
|
||||
inline csXyz* fopAcM_GetShapeAngle_p(fopAc_ac_c* i_actor) {
|
||||
return &i_actor->shape_angle;
|
||||
}
|
||||
|
||||
inline u32 fopAcM_CheckCondition(fopAc_ac_c* p_actor, u32 flag) {
|
||||
return p_actor->actor_condition & flag;
|
||||
inline u32 fopAcM_CheckCondition(fopAc_ac_c* i_actor, u32 flag) {
|
||||
return i_actor->actor_condition & flag;
|
||||
}
|
||||
|
||||
inline void fopAcM_OnCondition(fopAc_ac_c* p_actor, u32 flag) {
|
||||
p_actor->actor_condition |= flag;
|
||||
inline void fopAcM_OnCondition(fopAc_ac_c* i_actor, u32 flag) {
|
||||
i_actor->actor_condition |= flag;
|
||||
}
|
||||
|
||||
inline void fopAcM_OffCondition(fopAc_ac_c* p_actor, u32 flag) {
|
||||
p_actor->actor_condition &= ~flag;
|
||||
inline void fopAcM_OffCondition(fopAc_ac_c* i_actor, u32 flag) {
|
||||
i_actor->actor_condition &= ~flag;
|
||||
}
|
||||
|
||||
inline BOOL fopAcM_IsActor(void* actor) {
|
||||
@@ -317,8 +316,8 @@ inline void fopAcM_cancelHookCarryNow(fopAc_ac_c* actor) {
|
||||
fopAcM_OffStatus(actor, fopAcM_STATUS_HOOK_CARRY_NOW);
|
||||
}
|
||||
|
||||
inline s8 fopAcM_GetHomeRoomNo(const fopAc_ac_c* pActor) {
|
||||
return pActor->home.roomNo;
|
||||
inline s8 fopAcM_GetHomeRoomNo(const fopAc_ac_c* i_actor) {
|
||||
return i_actor->home.roomNo;
|
||||
}
|
||||
|
||||
inline void fopAcM_SetGravity(fopAc_ac_c* actor, f32 gravity) {
|
||||
@@ -361,28 +360,28 @@ inline BOOL fopAcM_IsExecuting(fpc_ProcID id) {
|
||||
return fpcM_IsExecuting(id);
|
||||
}
|
||||
|
||||
inline f32 fopAcM_GetSpeedF(const fopAc_ac_c* p_actor) {
|
||||
return p_actor->speedF;
|
||||
inline f32 fopAcM_GetSpeedF(const fopAc_ac_c* i_actor) {
|
||||
return i_actor->speedF;
|
||||
}
|
||||
|
||||
inline f32 fopAcM_GetGravity(const fopAc_ac_c* p_actor) {
|
||||
return p_actor->gravity;
|
||||
inline f32 fopAcM_GetGravity(const fopAc_ac_c* i_actor) {
|
||||
return i_actor->gravity;
|
||||
}
|
||||
|
||||
inline f32 fopAcM_GetMaxFallSpeed(const fopAc_ac_c* p_actor) {
|
||||
return p_actor->maxFallSpeed;
|
||||
inline f32 fopAcM_GetMaxFallSpeed(const fopAc_ac_c* i_actor) {
|
||||
return i_actor->maxFallSpeed;
|
||||
}
|
||||
|
||||
inline const cXyz* fopAcM_GetSpeed_p(const fopAc_ac_c* p_actor) {
|
||||
return &p_actor->speed;
|
||||
inline const cXyz* fopAcM_GetSpeed_p(const fopAc_ac_c* i_actor) {
|
||||
return &i_actor->speed;
|
||||
}
|
||||
|
||||
inline cXyz& fopAcM_GetSpeed(fopAc_ac_c* p_actor) {
|
||||
return p_actor->speed;
|
||||
inline cXyz& fopAcM_GetSpeed(fopAc_ac_c* i_actor) {
|
||||
return i_actor->speed;
|
||||
}
|
||||
|
||||
inline const cXyz* fopAcM_GetPosition_p(const fopAc_ac_c* p_actor) {
|
||||
return &p_actor->current.pos;
|
||||
inline const cXyz* fopAcM_GetPosition_p(const fopAc_ac_c* i_actor) {
|
||||
return &i_actor->current.pos;
|
||||
}
|
||||
|
||||
inline dJntCol_c* fopAcM_GetJntCol(fopAc_ac_c* i_actor) {
|
||||
@@ -422,16 +421,16 @@ inline void dComIfGs_offSwitch(int i_no, int i_roomNo);
|
||||
inline BOOL dComIfGs_isSwitch(int i_no, int i_roomNo);
|
||||
inline void dComIfGs_offActor(int i_no, int i_roomNo);
|
||||
|
||||
inline void fopAcM_onSwitch(const fopAc_ac_c* pActor, int sw) {
|
||||
return dComIfGs_onSwitch(sw, fopAcM_GetHomeRoomNo(pActor));
|
||||
inline void fopAcM_onSwitch(const fopAc_ac_c* i_actor, int sw) {
|
||||
return dComIfGs_onSwitch(sw, fopAcM_GetHomeRoomNo(i_actor));
|
||||
}
|
||||
|
||||
inline void fopAcM_offSwitch(const fopAc_ac_c* pActor, int sw) {
|
||||
return dComIfGs_offSwitch(sw, fopAcM_GetHomeRoomNo(pActor));
|
||||
inline void fopAcM_offSwitch(const fopAc_ac_c* i_actor, int sw) {
|
||||
return dComIfGs_offSwitch(sw, fopAcM_GetHomeRoomNo(i_actor));
|
||||
}
|
||||
|
||||
inline BOOL fopAcM_isSwitch(const fopAc_ac_c* pActor, int sw) {
|
||||
return dComIfGs_isSwitch(sw, fopAcM_GetHomeRoomNo(pActor));
|
||||
inline BOOL fopAcM_isSwitch(const fopAc_ac_c* i_actor, int sw) {
|
||||
return dComIfGs_isSwitch(sw, fopAcM_GetHomeRoomNo(i_actor));
|
||||
}
|
||||
|
||||
inline fopAc_ac_c* fopAcM_SearchByName(s16 proc_id) {
|
||||
@@ -452,15 +451,15 @@ inline f32 fopAcM_searchActorDistanceY(const fopAc_ac_c* actorA, const fopAc_ac_
|
||||
return actorB->current.pos.y - actorA->current.pos.y;
|
||||
}
|
||||
|
||||
inline u16 fopAcM_GetSetId(const fopAc_ac_c* p_actor) {
|
||||
return p_actor->setID;
|
||||
inline u16 fopAcM_GetSetId(const fopAc_ac_c* i_actor) {
|
||||
return i_actor->setID;
|
||||
}
|
||||
|
||||
inline void dComIfGs_onActor(int bitNo, int roomNo);
|
||||
|
||||
inline void fopAcM_onActor(const fopAc_ac_c* p_actor) {
|
||||
int setId = fopAcM_GetSetId(p_actor);
|
||||
dComIfGs_onActor(setId, fopAcM_GetHomeRoomNo(p_actor));
|
||||
inline void fopAcM_onActor(const fopAc_ac_c* i_actor) {
|
||||
int setId = fopAcM_GetSetId(i_actor);
|
||||
dComIfGs_onActor(setId, fopAcM_GetHomeRoomNo(i_actor));
|
||||
}
|
||||
|
||||
inline void fopAcM_onDraw(fopAc_ac_c* i_actor) {
|
||||
@@ -473,204 +472,219 @@ inline void fopAcM_offDraw(fopAc_ac_c* i_actor) {
|
||||
|
||||
void fopAcM_initManager();
|
||||
|
||||
void* fopAcM_FastCreate(s16 pProcTypeID, FastCreateReqFunc param_2, void* param_3, void* pData);
|
||||
fopAc_ac_c* fopAcM_FastCreate(s16 i_procName, FastCreateReqFunc i_createFunc, void* i_createData,
|
||||
void* i_append);
|
||||
|
||||
void fopAcM_setStageLayer(void* p_proc);
|
||||
void fopAcM_setStageLayer(void* i_proc);
|
||||
|
||||
void fopAcM_setRoomLayer(void* p_proc, int roomNo);
|
||||
void fopAcM_setRoomLayer(void* i_proc, int i_roomNo);
|
||||
|
||||
s32 fopAcM_SearchByID(fpc_ProcID id, fopAc_ac_c** p_actor);
|
||||
s32 fopAcM_SearchByID(fpc_ProcID i_actorID, fopAc_ac_c** i_outActor);
|
||||
|
||||
s32 fopAcM_SearchByName(s16 procName, fopAc_ac_c** p_actor);
|
||||
s32 fopAcM_SearchByName(s16 i_procName, fopAc_ac_c** i_outActor);
|
||||
|
||||
fopAcM_prm_class* fopAcM_CreateAppend();
|
||||
|
||||
fopAcM_prm_class* createAppend(u16 enemyNo, u32 parameters, const cXyz* p_pos, int roomNo,
|
||||
const csXyz* p_angle, const cXyz* p_scale, s8 subType,
|
||||
fpc_ProcID parentPId);
|
||||
fopAcM_prm_class* createAppend(u16 i_setId, u32 i_parameters, const cXyz* i_pos, int i_roomNo,
|
||||
const csXyz* i_angle, const cXyz* i_scale, s8 i_subtype,
|
||||
fpc_ProcID i_parentId);
|
||||
|
||||
void fopAcM_Log(fopAc_ac_c const* p_actor, char const* str);
|
||||
void fopAcM_Log(fopAc_ac_c const* i_actor, char const* i_message);
|
||||
|
||||
void fopAcM_delete(fopAc_ac_c* p_actor);
|
||||
void fopAcM_delete(fopAc_ac_c* i_actor);
|
||||
|
||||
s32 fopAcM_delete(fpc_ProcID actorID);
|
||||
s32 fopAcM_delete(fpc_ProcID i_actorID);
|
||||
|
||||
s32 fopAcM_create(s16 procName, u16 enemyNo, u32 parameter, const cXyz* p_pos, int roomNo,
|
||||
const csXyz* p_angle, const cXyz* p_scale, s8 subType, createFunc p_createFunc);
|
||||
fpc_ProcID fopAcM_create(s16 i_procName, u16 i_setId, u32 i_parameters, const cXyz* i_pos,
|
||||
int i_roomNo, const csXyz* i_angle, const cXyz* i_scale, s8 i_subtype,
|
||||
createFunc i_createFunc);
|
||||
|
||||
s32 fopAcM_create(s16 procName, u32 parameter, const cXyz* p_pos, int roomNo, const csXyz* p_angle,
|
||||
const cXyz* p_scale, s8 subType);
|
||||
fpc_ProcID fopAcM_create(s16 i_procName, u32 i_parameters, const cXyz* i_pos, int i_roomNo,
|
||||
const csXyz* i_angle, const cXyz* i_scale, s8 i_subtype);
|
||||
|
||||
void* fopAcM_fastCreate(s16 procName, u32 parameter, const cXyz* p_pos, int roomNo,
|
||||
const csXyz* p_angle, const cXyz* p_scale, s8 subType,
|
||||
createFunc p_createFunc, void* p_createFuncData);
|
||||
fopAc_ac_c* fopAcM_fastCreate(s16 i_procName, u32 i_parameters, const cXyz* i_pos, int i_roomNo,
|
||||
const csXyz* i_angle, const cXyz* i_scale, s8 i_subtype,
|
||||
createFunc i_createFunc, void* i_createFuncData);
|
||||
|
||||
void* fopAcM_fastCreate(const char* p_actorName, u32 parameter, const cXyz* pActorPos, int roomNo,
|
||||
const csXyz* p_angle, const cXyz* p_scale, createFunc p_createFunc,
|
||||
void* p_createFuncData);
|
||||
fopAc_ac_c* fopAcM_fastCreate(const char* i_actorname, u32 i_parameters, const cXyz* i_pos,
|
||||
int i_roomNo, const csXyz* i_angle, const cXyz* i_scale,
|
||||
createFunc i_createFunc, void* i_createFuncData);
|
||||
|
||||
s32 fopAcM_createChild(s16 procName, fpc_ProcID parentPId, u32 parameters, const cXyz* p_pos,
|
||||
int roomNo, const csXyz* p_angle, const cXyz* p_scale, s8 subType,
|
||||
createFunc p_createFunc);
|
||||
fpc_ProcID fopAcM_createChild(s16 i_procName, fpc_ProcID i_parentID, u32 i_parameters,
|
||||
const cXyz* i_pos, int i_roomNo, const csXyz* i_angle,
|
||||
const cXyz* i_scale, s8 i_subtype, createFunc i_createFunc);
|
||||
|
||||
s32 fopAcM_createChildFromOffset(s16 procName, fpc_ProcID parentProcID, u32 actorParams,
|
||||
const cXyz* p_pos, int roomNo, const csXyz* p_angle,
|
||||
const cXyz* p_scale, s8 subType, createFunc p_createFunc);
|
||||
fpc_ProcID fopAcM_createChildFromOffset(s16 i_procName, fpc_ProcID i_parentID, u32 i_parameters,
|
||||
const cXyz* i_pos, int i_roomNo, const csXyz* i_angle,
|
||||
const cXyz* i_scale, s8 i_subtype, createFunc i_createFunc);
|
||||
|
||||
void fopAcM_DeleteHeap(fopAc_ac_c* p_actor);
|
||||
void fopAcM_DeleteHeap(fopAc_ac_c* i_actor);
|
||||
|
||||
s32 fopAcM_callCallback(fopAc_ac_c* p_actor, heapCallbackFunc p_callbackFunc, JKRHeap* p_heap);
|
||||
s32 fopAcM_callCallback(fopAc_ac_c* i_actor, heapCallbackFunc i_heapCallback, JKRHeap* i_heap);
|
||||
|
||||
bool fopAcM_entrySolidHeap_(fopAc_ac_c* p_actor, heapCallbackFunc p_heapCallback, u32 size);
|
||||
bool fopAcM_entrySolidHeap_(fopAc_ac_c* i_actor, heapCallbackFunc i_heapCallback, u32 i_size);
|
||||
|
||||
bool fopAcM_entrySolidHeap(fopAc_ac_c* p_actor, heapCallbackFunc p_heapCallback, u32 size);
|
||||
bool fopAcM_entrySolidHeap(fopAc_ac_c* i_actor, heapCallbackFunc i_heapCallback, u32 i_size);
|
||||
|
||||
void fopAcM_SetMin(fopAc_ac_c* p_actor, f32 minX, f32 minY, f32 minZ);
|
||||
void fopAcM_SetMin(fopAc_ac_c* i_actor, f32 minX, f32 minY, f32 minZ);
|
||||
|
||||
void fopAcM_SetMax(fopAc_ac_c* p_actor, f32 maxX, f32 maxY, f32 maxZ);
|
||||
void fopAcM_SetMax(fopAc_ac_c* i_actor, f32 maxX, f32 maxY, f32 maxZ);
|
||||
|
||||
void fopAcM_setCullSizeBox(fopAc_ac_c* p_actor, f32 minX, f32 minY, f32 minZ, f32 maxX, f32 maxY,
|
||||
void fopAcM_setCullSizeBox(fopAc_ac_c* i_actor, f32 minX, f32 minY, f32 minZ, f32 maxX, f32 maxY,
|
||||
f32 maxZ);
|
||||
|
||||
void fopAcM_setCullSizeSphere(fopAc_ac_c* p_actor, f32 minX, f32 minY, f32 minZ, f32 radius);
|
||||
void fopAcM_setCullSizeSphere(fopAc_ac_c* i_actor, f32 minX, f32 minY, f32 minZ, f32 radius);
|
||||
|
||||
void fopAcM_setCullSizeBox2(fopAc_ac_c* p_actor, J3DModelData* p_modelData);
|
||||
void fopAcM_setCullSizeBox2(fopAc_ac_c* i_actor, J3DModelData* i_modelData);
|
||||
|
||||
bool fopAcM_addAngleY(fopAc_ac_c* p_actor, s16 target, s16 step);
|
||||
bool fopAcM_addAngleY(fopAc_ac_c* i_actor, s16 i_target, s16 i_step);
|
||||
|
||||
void fopAcM_calcSpeed(fopAc_ac_c* p_actor);
|
||||
void fopAcM_calcSpeed(fopAc_ac_c* i_actor);
|
||||
|
||||
void fopAcM_posMove(fopAc_ac_c* p_actor, const cXyz* p_movePos);
|
||||
void fopAcM_posMove(fopAc_ac_c* i_actor, const cXyz* i_movePos);
|
||||
|
||||
void fopAcM_posMoveF(fopAc_ac_c* p_actor, const cXyz* p_movePos);
|
||||
void fopAcM_posMoveF(fopAc_ac_c* i_actor, const cXyz* i_movePos);
|
||||
|
||||
s16 fopAcM_searchActorAngleY(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB);
|
||||
s16 fopAcM_searchActorAngleY(const fopAc_ac_c* i_actorA, const fopAc_ac_c* i_actorB);
|
||||
|
||||
s16 fopAcM_searchActorAngleX(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB);
|
||||
s16 fopAcM_searchActorAngleX(const fopAc_ac_c* i_actorA, const fopAc_ac_c* i_actorB);
|
||||
|
||||
s32 fopAcM_seenActorAngleY(const fopAc_ac_c*, const fopAc_ac_c*);
|
||||
s32 fopAcM_seenActorAngleY(const fopAc_ac_c* i_actorA, const fopAc_ac_c* i_actorB);
|
||||
|
||||
f32 fopAcM_searchActorDistance(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB);
|
||||
f32 fopAcM_searchActorDistance(const fopAc_ac_c* i_actorA, const fopAc_ac_c* i_actorB);
|
||||
|
||||
f32 fopAcM_searchActorDistance2(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB);
|
||||
f32 fopAcM_searchActorDistance2(const fopAc_ac_c* i_actorA, const fopAc_ac_c* i_actorB);
|
||||
|
||||
f32 fopAcM_searchActorDistanceXZ(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB);
|
||||
f32 fopAcM_searchActorDistanceXZ(const fopAc_ac_c* i_actorA, const fopAc_ac_c* i_actorB);
|
||||
|
||||
f32 fopAcM_searchActorDistanceXZ2(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB);
|
||||
f32 fopAcM_searchActorDistanceXZ2(const fopAc_ac_c* i_actorA, const fopAc_ac_c* i_actorB);
|
||||
|
||||
s32 fopAcM_rollPlayerCrash(const fopAc_ac_c*, f32, u32, f32, f32, int, f32);
|
||||
BOOL fopAcM_rollPlayerCrash(fopAc_ac_c const* i_crashActor, f32 i_range, u32 i_flag, f32 i_max_y,
|
||||
f32 i_min_y, BOOL param_5, f32 param_6);
|
||||
s32 fopAcM_checkCullingBox(f32[3][4], f32, f32, f32, f32, f32, f32);
|
||||
s32 fopAcM_cullingCheck(const fopAc_ac_c*);
|
||||
void* event_second_actor(u16);
|
||||
s32 fopAcM_orderTalkEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16);
|
||||
s32 fopAcM_orderTalkItemBtnEvent(u16, fopAc_ac_c*, fopAc_ac_c*, u16, u16);
|
||||
s32 fopAcM_cullingCheck(const fopAc_ac_c* i_actor);
|
||||
s32 fopAcM_orderTalkEvent(fopAc_ac_c* i_actorA, fopAc_ac_c* i_actorB, u16 i_priority, u16 i_flag);
|
||||
s32 fopAcM_orderTalkItemBtnEvent(u16 i_eventType, fopAc_ac_c* i_actorA, fopAc_ac_c* i_actorB,
|
||||
u16 i_priority, u16 i_flag);
|
||||
s32 fopAcM_orderSpeakEvent(fopAc_ac_c* i_actor, u16 i_priority, u16 i_flag);
|
||||
s32 fopAcM_orderDoorEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16);
|
||||
s32 fopAcM_orderCatchEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16);
|
||||
s32 fopAcM_orderOtherEvent(fopAc_ac_c*, const char*, u16, u16, u16);
|
||||
s32 fopAcM_orderOtherEvent(fopAc_ac_c*, fopAc_ac_c*, const char*, u16, u16, u16);
|
||||
s32 fopAcM_orderChangeEventId(fopAc_ac_c*, s16, u16, u16);
|
||||
s32 fopAcM_orderOtherEventId(fopAc_ac_c* actor, s16 eventID, u8 mapToolID, u16 param_3,
|
||||
u16 priority, u16 flag);
|
||||
s32 fopAcM_orderMapToolEvent(fopAc_ac_c*, u8, s16, u16, u16, u16);
|
||||
s32 fopAcM_orderMapToolAutoNextEvent(fopAc_ac_c*, u8, s16, u16, u16, u16);
|
||||
s32 fopAcM_orderPotentialEvent(fopAc_ac_c*, u16, u16, u16);
|
||||
s32 fopAcM_orderItemEvent(fopAc_ac_c*, u16, u16);
|
||||
s32 fopAcM_orderTreasureEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16);
|
||||
s32 fopAcM_orderDoorEvent(fopAc_ac_c* i_actorA, fopAc_ac_c* i_actorB, u16 i_priority, u16 i_flag);
|
||||
s32 fopAcM_orderCatchEvent(fopAc_ac_c* i_actorA, fopAc_ac_c* i_actorB, u16 i_priority, u16 i_flag);
|
||||
s32 fopAcM_orderOtherEvent(fopAc_ac_c* i_actor, char const* i_eventName, u16 param_2, u16 i_flag,
|
||||
u16 i_priority);
|
||||
s32 fopAcM_orderOtherEvent(fopAc_ac_c* i_actorA, fopAc_ac_c* i_actorB, char const* i_eventName,
|
||||
u16 param_3, u16 i_flag, u16 i_priority);
|
||||
s32 fopAcM_orderChangeEventId(fopAc_ac_c* i_actor, s16 i_eventID, u16 i_flag, u16 param_3);
|
||||
s32 fopAcM_orderOtherEventId(fopAc_ac_c* i_actor, s16 i_eventID, u8 i_mapToolID, u16 param_3,
|
||||
u16 i_priority, u16 i_flag);
|
||||
s32 fopAcM_orderMapToolEvent(fopAc_ac_c* i_actor, u8 param_1, s16 i_eventID, u16 param_3,
|
||||
u16 i_flag, u16 param_5);
|
||||
s32 fopAcM_orderMapToolAutoNextEvent(fopAc_ac_c* i_actor, u8 param_1, s16 i_eventID, u16 param_3,
|
||||
u16 i_flag, u16 param_5);
|
||||
s32 fopAcM_orderPotentialEvent(fopAc_ac_c* i_actor, u16 i_flag, u16 param_2, u16 i_priority);
|
||||
s32 fopAcM_orderItemEvent(fopAc_ac_c* i_actor, u16 i_priority, u16 i_flag);
|
||||
s32 fopAcM_orderTreasureEvent(fopAc_ac_c* i_actorA, fopAc_ac_c* i_actorB, u16 i_priority,
|
||||
u16 i_flag);
|
||||
fopAc_ac_c* fopAcM_getTalkEventPartner(const fopAc_ac_c*);
|
||||
fopAc_ac_c* fopAcM_getItemEventPartner(const fopAc_ac_c*);
|
||||
fopAc_ac_c* fopAcM_getEventPartner(const fopAc_ac_c*);
|
||||
|
||||
s32 fopAcM_createItemForPresentDemo(cXyz const* p_pos, int i_itemNo, u8 param_2, int i_itemBitNo,
|
||||
int i_roomNo, csXyz const* p_angle, cXyz const* p_scale);
|
||||
fpc_ProcID fopAcM_createItemForPresentDemo(cXyz const* i_pos, int i_itemNo, u8 param_2,
|
||||
int i_itemBitNo, int i_roomNo, csXyz const* i_angle,
|
||||
cXyz const* i_scale);
|
||||
|
||||
s32 fopAcM_createItemForTrBoxDemo(cXyz const* p_pos, int i_itemNo, int i_itemBitNo, int i_roomNo,
|
||||
csXyz const* p_angle, cXyz const* p_scale);
|
||||
fpc_ProcID fopAcM_createItemForTrBoxDemo(cXyz const* i_pos, int i_itemNo, int i_itemBitNo,
|
||||
int i_roomNo, csXyz const* i_angle, cXyz const* i_scale);
|
||||
|
||||
u8 fopAcM_getItemNoFromTableNo(u8 i_tableNo);
|
||||
|
||||
s32 fopAcM_createItemFromEnemyID(u8 i_enemyID, cXyz const* p_pos, int i_itemBitNo, int i_roomNo,
|
||||
csXyz const* p_angle, cXyz const* p_scale, f32* speedF,
|
||||
f32* speedY);
|
||||
fpc_ProcID fopAcM_createItemFromEnemyID(u8 i_enemyID, cXyz const* i_pos, int i_itemBitNo,
|
||||
int i_roomNo, csXyz const* i_angle, cXyz const* i_scale,
|
||||
f32* i_speedF, f32* i_speedY);
|
||||
|
||||
s32 fopAcM_createItemFromTable(cXyz const* p_pos, int i_tableNo, int i_itemBitNo, int i_roomNo,
|
||||
csXyz const* p_angle, int param_5, cXyz const* p_scale, f32* speedF,
|
||||
f32* speedY, bool createDirect);
|
||||
fpc_ProcID fopAcM_createItemFromTable(cXyz const* i_pos, int i_tableNo, int i_itemBitNo,
|
||||
int i_roomNo, csXyz const* i_angle, int param_5,
|
||||
cXyz const* i_scale, f32* i_speedF, f32* i_speedY,
|
||||
bool i_createDirect);
|
||||
|
||||
s32 fopAcM_createDemoItem(const cXyz* p_pos, int itemNo, int itemBitNo, const csXyz* p_angle,
|
||||
int roomNo, const cXyz* scale, u8 param_7);
|
||||
fpc_ProcID fopAcM_createDemoItem(const cXyz* i_pos, int i_itemNo, int i_itemBitNo,
|
||||
const csXyz* i_angle, int i_roomNo, const cXyz* scale,
|
||||
u8 param_7);
|
||||
|
||||
s32 fopAcM_createItemForBoss(const cXyz* p_pos, int i_itemNo, int roomNo, const csXyz* p_angle,
|
||||
const cXyz* p_scale, f32 speedF, f32 speedY, int param_8);
|
||||
fpc_ProcID fopAcM_createItemForBoss(const cXyz* i_pos, int i_itemNo, int i_roomNo,
|
||||
const csXyz* i_angle, const cXyz* i_scale, f32 i_speedF,
|
||||
f32 i_speedY, int param_8);
|
||||
|
||||
s32 fopAcM_createItemForMidBoss(const cXyz* p_pos, int i_itemNo, int i_roomNo, const csXyz* p_angle,
|
||||
const cXyz* p_scale, int param_6, int param_7);
|
||||
fpc_ProcID fopAcM_createItemForMidBoss(const cXyz* i_pos, int i_itemNo, int i_roomNo,
|
||||
const csXyz* i_angle, const cXyz* i_scale, int param_6,
|
||||
int param_7);
|
||||
|
||||
void* fopAcM_createItemForDirectGet(const cXyz* p_pos, int i_itemNo, int i_roomNo,
|
||||
const csXyz* p_angle, const cXyz* p_scale, f32 speedF,
|
||||
f32 speedY);
|
||||
fopAc_ac_c* fopAcM_createItemForDirectGet(const cXyz* i_pos, int i_itemNo, int i_roomNo,
|
||||
const csXyz* i_angle, const cXyz* i_scale, f32 i_speedF,
|
||||
f32 i_speedY);
|
||||
|
||||
void* fopAcM_createItemForSimpleDemo(const cXyz* p_pos, int i_itemNo, int i_roomNo,
|
||||
const csXyz* p_angle, const cXyz* p_scale, f32 speedF,
|
||||
f32 speedY);
|
||||
fopAc_ac_c* fopAcM_createItemForSimpleDemo(const cXyz* i_pos, int i_itemNo, int i_roomNo,
|
||||
const csXyz* i_angle, const cXyz* i_scale, f32 i_speedF,
|
||||
f32 i_speedY);
|
||||
|
||||
s32 fopAcM_createItem(const cXyz* p_pos, int itemNo, int param_3, int roomNo, const csXyz* p_angle,
|
||||
const cXyz* p_scale, int param_7);
|
||||
fpc_ProcID fopAcM_createItem(const cXyz* i_pos, int i_itemNo, int i_itemBitNo, int i_roomNo,
|
||||
const csXyz* i_angle, const cXyz* i_scale, int param_7);
|
||||
|
||||
void* fopAcM_fastCreateItem2(const cXyz* p_pos, int itemNo, int param_3, int roomNo, int param_5,
|
||||
const csXyz* p_angle, const cXyz* p_scale);
|
||||
fopAc_ac_c* fopAcM_fastCreateItem2(const cXyz* i_pos, int i_itemNo, int i_itemBitNo, int i_roomNo,
|
||||
int param_5, const csXyz* i_angle, const cXyz* i_scale);
|
||||
|
||||
void* fopAcM_fastCreateItem(const cXyz* p_pos, int i_itemNo, int i_roomNo, const csXyz* p_angle,
|
||||
const cXyz* p_scale, f32* p_speedF, f32* p_speedY, int param_8,
|
||||
int param_9, createFunc p_createFunc);
|
||||
fopAc_ac_c* fopAcM_fastCreateItem(const cXyz* i_pos, int i_itemNo, int i_roomNo,
|
||||
const csXyz* i_angle, const cXyz* i_scale, f32* i_speedF,
|
||||
f32* i_speedY, int i_itemBitNo, int param_9,
|
||||
createFunc i_createFunc);
|
||||
|
||||
s32 fopAcM_createBokkuri(u16, const cXyz*, int, int, int, const cXyz*, int, int);
|
||||
s32 fopAcM_createWarpHole(const cXyz*, const csXyz*, int, u8, u8, u8);
|
||||
fpc_ProcID fopAcM_createBokkuri(u16 i_setId, const cXyz* i_pos, int param_3, int param_4,
|
||||
int i_roomNo, const cXyz* param_6, int param_7, int param_8);
|
||||
fpc_ProcID fopAcM_createWarpHole(const cXyz* i_pos, const csXyz* i_angle, int i_roomNo, u8 param_4,
|
||||
u8 param_5, u8 param_6);
|
||||
|
||||
fopAc_ac_c* fopAcM_myRoomSearchEnemy(s8 roomNo);
|
||||
|
||||
s32 fopAcM_createDisappear(const fopAc_ac_c* i_actor, const cXyz* i_pos, u8 i_size, u8 i_type, u8 i_enemyID);
|
||||
void fopAcM_setCarryNow(fopAc_ac_c*, int);
|
||||
void fopAcM_cancelCarryNow(fopAc_ac_c*);
|
||||
s32 fopAcM_otoCheck(const fopAc_ac_c*, f32);
|
||||
s32 fopAcM_otherBgCheck(const fopAc_ac_c*, const fopAc_ac_c*);
|
||||
s32 fopAcM_wayBgCheck(const fopAc_ac_c*, f32, f32);
|
||||
s32 fopAcM_plAngleCheck(const fopAc_ac_c*, s16);
|
||||
fpc_ProcID fopAcM_createDisappear(const fopAc_ac_c* i_actor, const cXyz* i_pos, u8 i_size,
|
||||
u8 i_type, u8 i_enemyID);
|
||||
void fopAcM_setCarryNow(fopAc_ac_c* i_actor, int);
|
||||
void fopAcM_cancelCarryNow(fopAc_ac_c* i_actor);
|
||||
BOOL fopAcM_otoCheck(const fopAc_ac_c* i_actor, f32);
|
||||
BOOL fopAcM_otherBgCheck(const fopAc_ac_c*, const fopAc_ac_c*);
|
||||
BOOL fopAcM_wayBgCheck(const fopAc_ac_c*, f32, f32);
|
||||
BOOL fopAcM_plAngleCheck(const fopAc_ac_c* i_actor, s16 i_angle);
|
||||
void fopAcM_effSmokeSet1(u32*, u32*, const cXyz*, const csXyz*, f32, const dKy_tevstr_c*, int);
|
||||
void fopAcM_effHamonSet(u32*, const cXyz*, f32, f32);
|
||||
s32 fopAcM_riverStream(cXyz*, s16*, f32*, f32);
|
||||
s32 fopAcM_carryOffRevise(fopAc_ac_c*);
|
||||
// void vectle_calc(const DOUBLE_POS*, cXyz*);
|
||||
// void get_vectle_calc(const cXyz*, const cXyz*, cXyz*);
|
||||
void fopAcM_setEffectMtx(const fopAc_ac_c*, const J3DModelData*);
|
||||
|
||||
static const char* fopAcM_getProcNameString(const fopAc_ac_c* p_actor);
|
||||
static const char* fopAcM_getProcNameString(const fopAc_ac_c* i_actor);
|
||||
|
||||
static const fopAc_ac_c* fopAcM_findObjectCB(fopAc_ac_c const* p_actor, void* p_data);
|
||||
static const fopAc_ac_c* fopAcM_findObjectCB(fopAc_ac_c const* i_actor, void* i_data);
|
||||
|
||||
fopAc_ac_c* fopAcM_searchFromName(char const* name, u32 param0, u32 param1);
|
||||
|
||||
fopAc_ac_c* fopAcM_findObject4EventCB(fopAc_ac_c* p_actor, void* p_data);
|
||||
fopAc_ac_c* fopAcM_findObject4EventCB(fopAc_ac_c* i_actor, void* i_data);
|
||||
|
||||
fopAc_ac_c* fopAcM_searchFromName4Event(char const* name, s16 eventID);
|
||||
fopAc_ac_c* fopAcM_searchFromName4Event(char const* i_name, s16 i_eventID);
|
||||
|
||||
s32 fopAcM_getWaterY(const cXyz*, f32*);
|
||||
void fpoAcM_relativePos(fopAc_ac_c const* actor, cXyz const* p_inPos, cXyz* p_outPos);
|
||||
s32 fopAcM_getWaterY(const cXyz*, f32* o_waterY);
|
||||
void fpoAcM_relativePos(fopAc_ac_c const* i_actor, cXyz const* i_pos, cXyz* o_pos);
|
||||
s32 fopAcM_getWaterStream(const cXyz*, const cBgS_PolyInfo&, cXyz*, int*, int);
|
||||
s16 fopAcM_getPolygonAngle(const cBgS_PolyInfo&, s16);
|
||||
s16 fopAcM_getPolygonAngle(cM3dGPla const* param_0, s16 param_1);
|
||||
|
||||
inline void make_prm_warp_hole(u32* actorParams, u8 p1, u8 p2, u8 p3) {
|
||||
u32 pp1 = (p3 << 0x8);
|
||||
u32 pp2 = (p2 << 0x10);
|
||||
u32 pp3 = (p1 << 0x1B) | 0x170000FF;
|
||||
*actorParams = pp2 | pp3 | pp1;
|
||||
inline void make_prm_warp_hole(u32* o_params, u8 prm1, u8 prm2, u8 prm3) {
|
||||
u32 pprm1 = (prm3 << 0x8);
|
||||
u32 pprm2 = (prm2 << 0x10);
|
||||
u32 pprm3 = (prm1 << 0x1B) | 0x170000FF;
|
||||
*o_params = pprm2 | pprm3 | pprm1;
|
||||
}
|
||||
|
||||
inline void make_prm_bokkuri(u32* pActorParams, csXyz* p_angle, u8 param_2, u8 param_3, u8 param_4,
|
||||
inline void make_prm_bokkuri(u32* i_params, csXyz* i_angle, u8 param_2, u8 param_3, u8 param_4,
|
||||
u8 param_5, u8 param_6) {
|
||||
p_angle->x = (param_4 << 0x8) | (param_3 & 0xFF);
|
||||
p_angle->z = (param_6 << 0xD) | (param_2 << 0x1) | param_5;
|
||||
i_angle->x = (param_4 << 0x8) | (param_3 & 0xFF);
|
||||
i_angle->z = (param_6 << 0xD) | (param_2 << 0x1) | param_5;
|
||||
}
|
||||
|
||||
inline fopAc_ac_c* dComIfGp_getPlayer(int);
|
||||
@@ -706,7 +720,8 @@ inline s32 fopAcM_seenPlayerAngleY(const fopAc_ac_c* i_actor) {
|
||||
s8 dComIfGp_getReverb(int roomNo);
|
||||
|
||||
inline void fopAcM_seStartCurrent(const fopAc_ac_c* actor, u32 sfxID, u32 param_2) {
|
||||
mDoAud_seStart(sfxID, &actor->current.pos, param_2, dComIfGp_getReverb(fopAcM_GetRoomNo(actor)));
|
||||
mDoAud_seStart(sfxID, &actor->current.pos, param_2,
|
||||
dComIfGp_getReverb(fopAcM_GetRoomNo(actor)));
|
||||
}
|
||||
|
||||
inline void fopAcM_seStart(const fopAc_ac_c* actor, u32 sfxID, u32 param_2) {
|
||||
@@ -714,19 +729,21 @@ inline void fopAcM_seStart(const fopAc_ac_c* actor, u32 sfxID, u32 param_2) {
|
||||
}
|
||||
|
||||
inline void fopAcM_seStartLevel(const fopAc_ac_c* actor, u32 sfxID, u32 param_2) {
|
||||
mDoAud_seStartLevel(sfxID, &actor->eyePos, param_2, dComIfGp_getReverb(fopAcM_GetRoomNo(actor)));
|
||||
mDoAud_seStartLevel(sfxID, &actor->eyePos, param_2,
|
||||
dComIfGp_getReverb(fopAcM_GetRoomNo(actor)));
|
||||
}
|
||||
|
||||
inline void fopAcM_seStartCurrentLevel(const fopAc_ac_c* actor, u32 sfxID, u32 param_2) {
|
||||
mDoAud_seStartLevel(sfxID, &actor->current.pos, param_2, dComIfGp_getReverb(fopAcM_GetRoomNo(actor)));
|
||||
mDoAud_seStartLevel(sfxID, &actor->current.pos, param_2,
|
||||
dComIfGp_getReverb(fopAcM_GetRoomNo(actor)));
|
||||
}
|
||||
|
||||
inline void fopAcM_offActor(fopAc_ac_c* pActor, u32 flag) {
|
||||
dComIfGs_offActor(flag,fopAcM_GetHomeRoomNo(pActor));
|
||||
inline void fopAcM_offActor(fopAc_ac_c* i_actor, u32 flag) {
|
||||
dComIfGs_offActor(flag, fopAcM_GetHomeRoomNo(i_actor));
|
||||
}
|
||||
|
||||
inline void fopAcM_OnCarryType(fopAc_ac_c* pActor, fopAcM_CARRY param_2) {
|
||||
pActor->carryType |= param_2;
|
||||
inline void fopAcM_OnCarryType(fopAc_ac_c* i_actor, fopAcM_CARRY param_2) {
|
||||
i_actor->carryType |= param_2;
|
||||
}
|
||||
|
||||
enum fopAcM_FOOD {
|
||||
@@ -746,8 +763,8 @@ inline bool fopAcM_CheckFoodStatus(const fopAc_ac_c* actor, fopAcM_FOOD status)
|
||||
return actor->field_0x567 == status;
|
||||
}
|
||||
|
||||
inline void fopAcM_effSmokeSet2(u32* param_0, u32* param_1, cXyz const* param_2, csXyz const* param_3,
|
||||
f32 param_4, dKy_tevstr_c const* param_5) {
|
||||
inline void fopAcM_effSmokeSet2(u32* param_0, u32* param_1, cXyz const* param_2,
|
||||
csXyz const* param_3, f32 param_4, dKy_tevstr_c const* param_5) {
|
||||
fopAcM_effSmokeSet1(param_0, param_1, param_2, param_3, param_4, param_5, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,11 +3,10 @@
|
||||
|
||||
#include "SSystem/SComponent/c_tag.h"
|
||||
|
||||
u32 fopAcTg_ActorQTo(create_tag_class* pTag);
|
||||
u32 fopAcTg_Init(create_tag_class* pTag, void* data);
|
||||
u32 fopAcTg_ToActorQ(create_tag_class* c);
|
||||
int fopAcTg_ActorQTo(create_tag_class* i_createTag);
|
||||
int fopAcTg_Init(create_tag_class* i_createTag, void* i_data);
|
||||
int fopAcTg_ToActorQ(create_tag_class* i_createTag);
|
||||
|
||||
// f_op_actor_tag::g_fopAcTg_Queue
|
||||
extern node_list_class g_fopAcTg_Queue;
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
class camera_class;
|
||||
|
||||
struct camera_process_profile_definition {
|
||||
/* 0x00 */ view_process_profile_definition mBase;
|
||||
/* 0x00 */ view_process_profile_definition base;
|
||||
/* 0x3C */ leafdraw_method_class* sub_method; // Subclass methods
|
||||
};
|
||||
|
||||
static s32 fopCam_Draw(camera_class* param_1);
|
||||
static int fopCam_Execute(camera_class* pCamera);
|
||||
int fopCam_IsDelete(camera_class* pCamera);
|
||||
static s32 fopCam_Draw(camera_class* i_this);
|
||||
static int fopCam_Execute(camera_class* i_this);
|
||||
int fopCam_IsDelete(camera_class* i_this);
|
||||
|
||||
extern leafdraw_method_class g_fopCam_Method;
|
||||
|
||||
|
||||
@@ -9,91 +9,91 @@ typedef struct leafdraw_method_class leafdraw_method_class;
|
||||
|
||||
class camera_process_class : public view_class {
|
||||
public:
|
||||
/* 0x210 */ create_tag_class mCreateTag;
|
||||
/* 0x224 */ leafdraw_method_class* mpMtd;
|
||||
/* 0x210 */ create_tag_class create_tag;
|
||||
/* 0x224 */ leafdraw_method_class* submethod;
|
||||
/* 0x228 */ u8 field_0x228[4];
|
||||
/* 0x22C */ s8 mPrm1;
|
||||
/* 0x22D */ s8 mPrm2;
|
||||
/* 0x22E */ s8 mPrm3;
|
||||
/* 0x22C */ s8 prm1;
|
||||
/* 0x22D */ s8 prm2;
|
||||
/* 0x22E */ s8 prm3;
|
||||
/* 0x22F */ s8 field_0x22f;
|
||||
/* 0x230 */ csXyz mAngle;
|
||||
/* 0x230 */ csXyz angle;
|
||||
/* 0x238 */ int field_0x238;
|
||||
};
|
||||
|
||||
class camera_class : public camera_process_class {
|
||||
public:
|
||||
/* 0x23C */ int field_0x23c;
|
||||
/* 0x240 */ request_of_phase_process_class mPhaseReq;
|
||||
/* 0x240 */ request_of_phase_process_class phase_request;
|
||||
/* 0x248 */ dCamera_c mCamera;
|
||||
};
|
||||
|
||||
inline void fopCamM_SetNear(camera_class* i_this, f32 near) {
|
||||
i_this->mNear = near;
|
||||
i_this->near = near;
|
||||
}
|
||||
|
||||
inline void fopCamM_SetFar(camera_class* i_this, f32 far) {
|
||||
i_this->mFar = far;
|
||||
i_this->far = far;
|
||||
}
|
||||
|
||||
inline void fopCamM_SetFovy(camera_class* i_this, f32 fovy) {
|
||||
i_this->mFovy = fovy;
|
||||
i_this->fovy = fovy;
|
||||
}
|
||||
|
||||
inline void fopCamM_SetAspect(camera_class* i_this, f32 aspect) {
|
||||
i_this->mAspect = aspect;
|
||||
i_this->aspect = aspect;
|
||||
}
|
||||
|
||||
inline void fopCamM_SetEye(camera_class* i_this, f32 x, f32 y, f32 z) {
|
||||
i_this->mLookat.mEye.set(x, y, z);
|
||||
i_this->lookat.eye.set(x, y, z);
|
||||
}
|
||||
|
||||
inline void fopCamM_SetCenter(camera_class* i_this, f32 x, f32 y, f32 z) {
|
||||
i_this->mLookat.mCenter.set(x, y, z);
|
||||
i_this->lookat.center.set(x, y, z);
|
||||
}
|
||||
|
||||
inline void fopCamM_SetBank(camera_class* i_this, s16 bank) {
|
||||
i_this->mBank = bank;
|
||||
i_this->bank = bank;
|
||||
}
|
||||
|
||||
inline void fopCamM_SetPrm1(camera_class* i_this, int prm1) {
|
||||
i_this->mPrm1 = prm1;
|
||||
i_this->prm1 = prm1;
|
||||
}
|
||||
|
||||
inline void fopCamM_SetPrm2(camera_class* i_this, int prm2) {
|
||||
i_this->mPrm2 = prm2;
|
||||
i_this->prm2 = prm2;
|
||||
}
|
||||
|
||||
inline void fopCamM_SetPrm3(camera_class* i_this, int prm3) {
|
||||
i_this->mPrm3 = prm3;
|
||||
i_this->prm3 = prm3;
|
||||
}
|
||||
|
||||
inline s16 fopCamM_GetAngleX(camera_class* i_camera) {
|
||||
return i_camera->mAngle.x;
|
||||
return i_camera->angle.x;
|
||||
}
|
||||
|
||||
inline s16 fopCamM_GetAngleY(camera_class* i_camera) {
|
||||
return i_camera->mAngle.y;
|
||||
return i_camera->angle.y;
|
||||
}
|
||||
|
||||
inline s16 fopCamM_GetAngleZ(camera_class* i_camera) {
|
||||
return i_camera->mAngle.z;
|
||||
return i_camera->angle.z;
|
||||
}
|
||||
|
||||
inline f32 fopCamM_GetFovy(camera_class* i_camera) {
|
||||
return i_camera->mFovy;
|
||||
return i_camera->fovy;
|
||||
}
|
||||
|
||||
inline cXyz* fopCamM_GetEye_p(camera_class* i_camera) {
|
||||
return &i_camera->mLookat.mEye;
|
||||
return &i_camera->lookat.eye;
|
||||
}
|
||||
|
||||
inline cXyz* fopCamM_GetCenter_p(camera_class* i_camera) {
|
||||
return &i_camera->mLookat.mCenter;
|
||||
return &i_camera->lookat.center;
|
||||
}
|
||||
|
||||
u32 fopCamM_Create(int i_cameraIdx, s16 pProcName, void* param_3);
|
||||
void fopCamM_Management(void);
|
||||
u32 fopCamM_GetParam(camera_class* pCamera);
|
||||
void fopCamM_Init(void);
|
||||
fpc_ProcID fopCamM_Create(int i_cameraIdx, s16 i_procName, void* i_append);
|
||||
void fopCamM_Management();
|
||||
u32 fopCamM_GetParam(camera_class* i_this);
|
||||
void fopCamM_Init();
|
||||
|
||||
#endif
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
typedef struct create_tag_class create_tag_class;
|
||||
|
||||
static create_tag_class* fopDwIt_GetTag(void);
|
||||
create_tag_class* fopDwIt_Begin(void);
|
||||
create_tag_class* fopDwIt_Next(create_tag_class* pCreateTag);
|
||||
create_tag_class* fopDwIt_GetTag();
|
||||
create_tag_class* fopDwIt_Begin();
|
||||
create_tag_class* fopDwIt_Next(create_tag_class* i_createTag);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -7,9 +7,9 @@ typedef struct create_tag_class create_tag_class;
|
||||
|
||||
extern node_lists_tree_class g_fopDwTg_Queue;
|
||||
|
||||
void fopDwTg_DrawQTo(create_tag_class* pTag);
|
||||
void fopDwTg_DrawQTo(create_tag_class* i_createTag);
|
||||
void fopDwTg_CreateQueue();
|
||||
bool fopDwTg_Init(create_tag_class* pCreateTagClass, void* pActor);
|
||||
void fopDwTg_ToDrawQ(create_tag_class* pCreateTagClass, int priority);
|
||||
bool fopDwTg_Init(create_tag_class* i_createTag, void* i_process);
|
||||
void fopDwTg_ToDrawQ(create_tag_class* i_createTag, int priority);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
|
||||
class kankyo_class : public leafdraw_class {
|
||||
public:
|
||||
/* 0xC0 */ int mBsType;
|
||||
/* 0xC0 */ int type;
|
||||
/* 0xC4 */ create_tag_class draw_tag;
|
||||
/* 0xD8 */ leafdraw_method_class* sub_method;
|
||||
/* 0xDC */ cXyz mPos;
|
||||
/* 0xE8 */ cXyz mScale;
|
||||
/* 0xF4 */ u32 mParam;
|
||||
/* 0xDC */ cXyz pos;
|
||||
/* 0xE8 */ cXyz scale;
|
||||
/* 0xF4 */ u32 parameters;
|
||||
};
|
||||
|
||||
struct kankyo_process_profile_definition {
|
||||
|
||||
@@ -5,25 +5,24 @@
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
|
||||
struct fopKyM_prm_class {
|
||||
/* 0x00 */ cXyz mPos;
|
||||
/* 0x0C */ cXyz mScale;
|
||||
/* 0x18 */ int mParam;
|
||||
/* 0x00 */ cXyz pos;
|
||||
/* 0x0C */ cXyz scale;
|
||||
/* 0x18 */ int parameters;
|
||||
}; // Size: 0x1C
|
||||
|
||||
typedef int (*fopKyM_CreateFunc)(void*);
|
||||
|
||||
static fopKyM_prm_class* fopKyM_CreateAppend(void);
|
||||
static fopKyM_prm_class* createAppend(int param_1, cXyz* param_2, cXyz* param_3);
|
||||
void fopKyM_Delete(void* param_1);
|
||||
int fopKyM_create(s16 i_procName, int i_param, cXyz* i_pos, cXyz* i_scale,
|
||||
fopKyM_CreateFunc i_createFunc);
|
||||
static int fopKyM_Create(s16 param_1, fopKyM_CreateFunc param_2, void* param_3);
|
||||
base_process_class* fopKyM_fastCreate(s16 param_0, int param_1, cXyz* param_2, cXyz* param_3,
|
||||
fopKyM_CreateFunc);
|
||||
int fopKyM_createWpillar(cXyz const* i_pos, f32 scale, int i_param);
|
||||
fopKyM_prm_class* fopKyM_CreateAppend();
|
||||
void fopKyM_Delete(void* i_process);
|
||||
fpc_ProcID fopKyM_create(s16 i_procName, int i_param, cXyz* i_pos, cXyz* i_scale,
|
||||
fopKyM_CreateFunc i_createFunc);
|
||||
fpc_ProcID fopKyM_Create(s16 i_procName, fopKyM_CreateFunc i_createFunc, void* i_append);
|
||||
base_process_class* fopKyM_fastCreate(s16 i_procName, int i_param, cXyz* i_pos, cXyz* i_scale,
|
||||
fopKyM_CreateFunc i_createFunc);
|
||||
fpc_ProcID fopKyM_createWpillar(cXyz const* i_pos, f32 scale, int i_param);
|
||||
|
||||
inline void* fopKyM_GetAppend(void* param_0) {
|
||||
return fpcM_GetAppend(param_0);
|
||||
inline fopKyM_prm_class* fopKyM_GetAppend(void* i_process) {
|
||||
return (fopKyM_prm_class*)fpcM_GetAppend(i_process);
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -8,16 +8,16 @@ class fopAc_ac_c;
|
||||
|
||||
class msg_class : public leafdraw_class {
|
||||
public:
|
||||
/* 0xC0 */ int mMsgType;
|
||||
/* 0xC0 */ int type;
|
||||
/* 0xC4 */ create_tag_class draw_tag;
|
||||
/* 0xD8 */ leafdraw_method_class* sub_method;
|
||||
/* 0xDC */ fopAc_ac_c* mpActor;
|
||||
/* 0xE0 */ cXyz mPos;
|
||||
/* 0xEC */ u32 mMsgID;
|
||||
/* 0xDC */ fopAc_ac_c* talk_actor;
|
||||
/* 0xE0 */ cXyz pos;
|
||||
/* 0xEC */ u32 msg_idx;
|
||||
/* 0xF0 */ u32 field_0xf0;
|
||||
/* 0xF4 */ u32 field_0xf4;
|
||||
/* 0xF8 */ u16 mMode;
|
||||
/* 0xFA */ u8 mSelectedChoiceIdx;
|
||||
/* 0xF8 */ u16 mode;
|
||||
/* 0xFA */ u8 select_idx;
|
||||
}; // Size: 0xFC
|
||||
|
||||
extern leafdraw_method_class g_fopMsg_Method;
|
||||
|
||||
+27
-26
@@ -2,8 +2,8 @@
|
||||
#define F_F_OP_MSG_MNG_H_
|
||||
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "f_pc/f_pc_leaf.h"
|
||||
#include "f_op/f_op_msg.h"
|
||||
#include "f_pc/f_pc_leaf.h"
|
||||
|
||||
class JKRExpHeap;
|
||||
class JKRHeap;
|
||||
@@ -11,16 +11,16 @@ class fopAc_ac_c;
|
||||
class msg_class;
|
||||
|
||||
struct msg_process_profile_definition {
|
||||
/* 0x00 */ leaf_process_profile_definition mBase;
|
||||
/* 0x00 */ leaf_process_profile_definition base;
|
||||
/* 0x24 */ leafdraw_method_class* sub_method; // Subclass methods
|
||||
};
|
||||
|
||||
struct fopMsg_prm_class {
|
||||
/* 0x00 */ fopAc_ac_c* mpActor;
|
||||
/* 0x04 */ cXyz mPos;
|
||||
/* 0x10 */ u32 mMsgID;
|
||||
/* 0x00 */ fopAc_ac_c* talk_actor;
|
||||
/* 0x04 */ cXyz pos;
|
||||
/* 0x10 */ u32 msg_idx;
|
||||
/* 0x14 */ u32 field_0x14;
|
||||
/* 0x18 */ int field_0x18;
|
||||
/* 0x18 */ fpc_ProcID field_0x18;
|
||||
}; // Size: 0x1C
|
||||
|
||||
struct fopMsg_prm_timer : public fopMsg_prm_class {
|
||||
@@ -36,27 +36,28 @@ struct fopMsg_prm_timer : public fopMsg_prm_class {
|
||||
|
||||
typedef int (*fopMsgCreateFunc)(void*);
|
||||
|
||||
JKRExpHeap* fopMsgM_createExpHeap(u32, JKRHeap*);
|
||||
u32 fopMsgM_Create(s16, fopMsgCreateFunc, void*);
|
||||
s32 fopMsgM_create(s16 param_0, fopAc_ac_c* param_1, cXyz* param_2, u32* param_3, u32* param_4,
|
||||
fopMsgCreateFunc createFunc);
|
||||
void fopMsgM_Delete(void* process);
|
||||
fopMsg_prm_class* fopMsgM_GetAppend(void* msg);
|
||||
void fopMsgM_setMessageID(fpc_ProcID);
|
||||
void fopMsgM_destroyExpHeap(JKRExpHeap*);
|
||||
f32 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2);
|
||||
s32 fopMsgM_setStageLayer(void*);
|
||||
int fopMsgM_messageSet(u32 i_msgIdx, fopAc_ac_c* i_actorP, u32 param_2);
|
||||
int fopMsgM_messageSet(u32 param_0, u32 param_1);
|
||||
int fopMsgM_messageSetDemo(u32 param_0);
|
||||
msg_class* fopMsgM_SearchByID(fpc_ProcID param_0);
|
||||
char* fopMsgM_messageGet(char* msg, u32 string_id);
|
||||
s32 fop_Timer_create(s16 param_0, u8 param_1, u32 param_2, u8 param_3, u8 param_4, f32 param_5,
|
||||
f32 param_6, f32 param_7, f32 param_8, fopMsgCreateFunc createFunc);
|
||||
JKRExpHeap* fopMsgM_createExpHeap(u32 i_heapSize, JKRHeap* i_heap);
|
||||
fpc_ProcID fopMsgM_Create(s16 i_procName, fopMsgCreateFunc i_createFunc, void* i_append);
|
||||
fpc_ProcID fopMsgM_create(s16 i_procName, fopAc_ac_c* i_talkActor, cXyz* i_pos, u32* i_msgIdx,
|
||||
u32* param_4, fopMsgCreateFunc createFunc);
|
||||
void fopMsgM_Delete(void* i_this);
|
||||
fopMsg_prm_class* fopMsgM_GetAppend(void* i_msg);
|
||||
void fopMsgM_setMessageID(fpc_ProcID msg_id);
|
||||
void fopMsgM_destroyExpHeap(JKRExpHeap* i_heap);
|
||||
f32 fopMsgM_valueIncrease(int param_0, int param_1, u8 i_type);
|
||||
s32 fopMsgM_setStageLayer(void* i_process);
|
||||
fpc_ProcID fopMsgM_messageSet(u32 i_msgIdx, fopAc_ac_c* i_talkActor, u32 param_2);
|
||||
fpc_ProcID fopMsgM_messageSet(u32 i_msgIdx, u32 param_1);
|
||||
fpc_ProcID fopMsgM_messageSetDemo(u32 i_msgidx);
|
||||
msg_class* fopMsgM_SearchByID(fpc_ProcID i_id);
|
||||
char* fopMsgM_messageGet(char* i_stringBuf, u32 i_msgId);
|
||||
fpc_ProcID fop_Timer_create(s16 i_procName, u8 i_mode, u32 i_limitMs, u8 i_type, u8 param_4,
|
||||
f32 param_5, f32 param_6, f32 param_7, f32 param_8,
|
||||
fopMsgCreateFunc i_createFunc);
|
||||
|
||||
inline s32 fopMsgM_Timer_create(s16 i_procName, u8 i_mode, u32 i_limitMs, u8 i_type, u8 param_4,
|
||||
f32 param_5, f32 param_6, f32 param_7, f32 param_8,
|
||||
fopMsgCreateFunc i_createFunc) {
|
||||
inline fpc_ProcID fopMsgM_Timer_create(s16 i_procName, u8 i_mode, u32 i_limitMs, u8 i_type,
|
||||
u8 param_4, f32 param_5, f32 param_6, f32 param_7,
|
||||
f32 param_8, fopMsgCreateFunc i_createFunc) {
|
||||
return fop_Timer_create(i_procName, i_mode, i_limitMs, i_type, param_4, param_5, param_6,
|
||||
param_7, param_8, i_createFunc);
|
||||
}
|
||||
|
||||
@@ -2,12 +2,13 @@
|
||||
#define F_F_OP_OVERLAP_H_
|
||||
|
||||
#include "f_pc/f_pc_leaf.h"
|
||||
#include "SSystem/SComponent/c_request.h"
|
||||
|
||||
class overlap_task_class : public leafdraw_class {
|
||||
public:
|
||||
/* 0xC0 */ leafdraw_method_class* field_0xc0;
|
||||
/* 0xC4 */ u8 field_0xc4; // used as both u8 and request_base_class* ??
|
||||
/* 0xC8 */ int field_0xc8;
|
||||
/* 0xC0 */ leafdraw_method_class* submethod;
|
||||
/* 0xC4 */ request_base_class request;
|
||||
/* 0xC8 */ fpc_ProcID scene_id;
|
||||
}; // Size: 0xCC
|
||||
|
||||
struct overlap_process_profile_definition {
|
||||
@@ -19,4 +20,4 @@ static s32 fopOvlp_Draw(void* param_1);
|
||||
|
||||
extern leafdraw_method_class g_fopOvlp_Method;
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -2,20 +2,21 @@
|
||||
#define F_F_OP_OVERLAP_MNG_H_
|
||||
|
||||
#include "f_op/f_op_overlap.h"
|
||||
#include "f_op/f_op_overlap_req.h"
|
||||
|
||||
struct request_base_class;
|
||||
|
||||
int fopOvlpM_SceneIsStop();
|
||||
int fopOvlpM_SceneIsStart();
|
||||
void fopOvlpM_Management();
|
||||
int fopOvlpM_IsOutReq(overlap_task_class* i_this);
|
||||
void fopOvlpM_Done(overlap_task_class* i_this);
|
||||
void fopOvlpM_ToldAboutID(fpc_ProcID param_1);
|
||||
int fopOvlpM_IsOutReq(overlap_task_class* i_overlap_task);
|
||||
void fopOvlpM_Done(overlap_task_class* i_overlap_task);
|
||||
void fopOvlpM_ToldAboutID(fpc_ProcID i_sceneId);
|
||||
int fopOvlpM_IsPeek();
|
||||
int fopOvlpM_IsDone();
|
||||
int fopOvlpM_IsDoingReq();
|
||||
int fopOvlpM_ClearOfReq();
|
||||
request_base_class* fopOvlpM_Request(s16 param_1, u16 param_2);
|
||||
overlap_request_class* fopOvlpM_Request(s16 i_procname, u16 i_peektime);
|
||||
int fopOvlpM_Cancel();
|
||||
void fopOvlpM_Init();
|
||||
|
||||
|
||||
@@ -2,32 +2,36 @@
|
||||
#define F_F_OP_OVERLAP_REQ_H_
|
||||
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
#include "f_op/f_op_overlap.h"
|
||||
#include "SSystem/SComponent/c_request.h"
|
||||
|
||||
typedef struct layer_class layer_class;
|
||||
struct request_base_class;
|
||||
|
||||
class overlap_request_class {
|
||||
public:
|
||||
s8 field_0x0;
|
||||
u8 field_0x1;
|
||||
s16 field_0x2;
|
||||
u16 field_0x4;
|
||||
u16 mPeektime;
|
||||
u32 field_0x8;
|
||||
u32 field_0xc;
|
||||
s16 field_0x10;
|
||||
u8 field_0x12;
|
||||
u8 field_0x13;
|
||||
int field_0x14;
|
||||
request_of_phase_process_class field_0x18;
|
||||
u8* field_0x20;
|
||||
layer_class* pCurrentLayer;
|
||||
/* 0x00 */ request_base_class base;
|
||||
/* 0x01 */ u8 field_0x1;
|
||||
/* 0x02 */ s16 field_0x2;
|
||||
/* 0x04 */ u16 field_0x4;
|
||||
/* 0x06 */ u16 peektime;
|
||||
/* 0x08 */ u32 field_0x8;
|
||||
/* 0x0C */ u32 field_0xc;
|
||||
/* 0x10 */ s16 procname;
|
||||
/* 0x12 */ u8 field_0x12;
|
||||
/* 0x13 */ u8 field_0x13;
|
||||
/* 0x14 */ fpc_ProcID request_id;
|
||||
/* 0x18 */ request_of_phase_process_class phase_req;
|
||||
/* 0x20 */ overlap_task_class* overlap_task;
|
||||
/* 0x24 */ layer_class* layer;
|
||||
};
|
||||
int fopOvlpReq_OverlapClr(overlap_request_class* param_1);
|
||||
request_base_class* fopOvlpReq_Request(overlap_request_class*, s16, u16);
|
||||
int fopOvlpReq_Handler(overlap_request_class*);
|
||||
int fopOvlpReq_Cancel(overlap_request_class*);
|
||||
static int fopOvlpReq_phase_Done(overlap_request_class* param_1);
|
||||
int fopOvlpReq_Is_PeektimeLimit(overlap_request_class*);
|
||||
|
||||
#endif
|
||||
int fopOvlpReq_OverlapClr(overlap_request_class* i_overlapReq);
|
||||
overlap_request_class* fopOvlpReq_Request(overlap_request_class* i_overlapReq, s16 i_procname, u16 i_peektime);
|
||||
int fopOvlpReq_Handler(overlap_request_class* i_overlapReq);
|
||||
int fopOvlpReq_Cancel(overlap_request_class* i_overlapReq);
|
||||
static int fopOvlpReq_phase_Done(overlap_request_class* i_overlapReq);
|
||||
int fopOvlpReq_Is_PeektimeLimit(overlap_request_class* i_overlapReq);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -7,16 +7,16 @@ struct request_of_phase_process_class;
|
||||
class mDoDvdThd_command_c;
|
||||
|
||||
typedef struct scene_process_profile_definition {
|
||||
/* 0x00 */ node_process_profile_definition mBase;
|
||||
/* 0x20 */ process_method_class* mpMtd; // Subclass methods
|
||||
/* 0x24 */ u32 field_0x24; // padding?
|
||||
/* 0x00 */ node_process_profile_definition nase;
|
||||
/* 0x20 */ process_method_class* submethod; // Subclass methods
|
||||
/* 0x24 */ u32 unk_0x24; // padding?
|
||||
} scene_process_profile_definition;
|
||||
|
||||
class scene_class {
|
||||
public:
|
||||
/* 0x000 */ process_node_class mBase;
|
||||
/* 0x1AC */ process_method_class * mpMtd;
|
||||
/* 0x1B0 */ scene_tag_class mScnTg;
|
||||
/* 0x000 */ process_node_class base;
|
||||
/* 0x1AC */ process_method_class* submethod;
|
||||
/* 0x1B0 */ scene_tag_class scene_tag;
|
||||
};
|
||||
|
||||
extern leafdraw_method_class g_fopScn_Method;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef F_F_OP_SCENE_ITER_H_
|
||||
#define F_F_OP_SCENE_ITER_H_
|
||||
|
||||
typedef void* (*fop_ScnItFunc)(void* pProc, void* pUserData);
|
||||
void* fopScnIt_Judge(fop_ScnItFunc pFunc1, void* pUserData);
|
||||
typedef void* (*fop_ScnItFunc)(void* i_scene, void* i_data);
|
||||
void* fopScnIt_Judge(fop_ScnItFunc i_judgeFunc, void* i_data);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -7,29 +7,29 @@
|
||||
typedef struct base_process_class base_process_class;
|
||||
|
||||
scene_class* fopScnM_SearchByID(fpc_ProcID id);
|
||||
int fopScnM_ChangeReq(scene_class*, s16, s16, u16);
|
||||
fpc_ProcID fopScnM_DeleteReq(scene_class*);
|
||||
int fopScnM_CreateReq(s16, s16, u16, u32);
|
||||
u32 fopScnM_ReRequest(s16, u32);
|
||||
void fopScnM_Management(void);
|
||||
void fopScnM_Init(void);
|
||||
int fopScnM_ChangeReq(scene_class* i_scene, s16 i_procName, s16 param_3, u16 param_4);
|
||||
fpc_ProcID fopScnM_DeleteReq(scene_class* i_scene);
|
||||
int fopScnM_CreateReq(s16 i_procName, s16 param_2, u16 param_3, u32 i_data);
|
||||
u32 fopScnM_ReRequest(s16 i_procName, u32 i_data);
|
||||
void fopScnM_Management();
|
||||
void fopScnM_Init();
|
||||
|
||||
inline u32 fpcM_LayerID(const void* pProc) {
|
||||
return fpcBs_Is_JustOfType(g_fpcNd_type, ((base_process_class*)pProc)->mSubType) != FALSE ?
|
||||
((scene_class*)pProc)->mBase.mLayer.mLayerID :
|
||||
0xFFFFFFFF;
|
||||
inline fpc_ProcID fpcM_LayerID(const void* i_process) {
|
||||
return fpcBs_Is_JustOfType(g_fpcNd_type, ((base_process_class*)i_process)->subtype) != FALSE ?
|
||||
((scene_class*)i_process)->base.layer.layer_id :
|
||||
fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
|
||||
inline u32 fopScnM_GetID(void* proc) {
|
||||
return fpcM_GetID(proc);
|
||||
inline fpc_ProcID fopScnM_GetID(void* i_scene) {
|
||||
return fpcM_GetID(i_scene);
|
||||
}
|
||||
|
||||
inline int fopScnM_LayerID(void* proc) {
|
||||
return fpcM_LayerID(proc);
|
||||
inline fpc_ProcID fopScnM_LayerID(void* i_scene) {
|
||||
return fpcM_LayerID(i_scene);
|
||||
}
|
||||
|
||||
inline u32 fopScnM_GetParam(void* proc) {
|
||||
return fpcM_GetParam(proc);
|
||||
inline u32 fopScnM_GetParam(void* i_scene) {
|
||||
return fpcM_GetParam(i_scene);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
class scene_class;
|
||||
|
||||
int fopScnPause_Enable(scene_class* pScene);
|
||||
int fopScnPause_Disable(scene_class* pScene);
|
||||
int fopScnPause_Enable(scene_class* i_scene);
|
||||
int fopScnPause_Disable(scene_class* i_scene);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -4,23 +4,17 @@
|
||||
#include "f_pc/f_pc_node_req.h"
|
||||
|
||||
class scene_class;
|
||||
|
||||
extern "C" {
|
||||
void fopScnRq_Handler__Fv(void);
|
||||
void fopScnRq_ReRequest(void);
|
||||
}
|
||||
|
||||
class scene_request_class {
|
||||
public:
|
||||
node_create_request mCrtReq;
|
||||
u32 mFadeRequest; // TODO: type is wrong
|
||||
request_of_phase_process_class mReqPhsProcCls;
|
||||
u8 field_0x70[4];
|
||||
/* 0x00 */ node_create_request create_request;
|
||||
/* 0x64 */ scene_request_class* fade_request;
|
||||
/* 0x68 */ request_of_phase_process_class phase_request;
|
||||
/* 0x00 */ u8 field_0x70[4];
|
||||
};
|
||||
|
||||
// cPhs__Step fopScnRq_phase_ClearOverlap(scene_request_class* param_1);
|
||||
s32 fopScnRq_Request(int, scene_class*, s16, void*, s16, u16);
|
||||
s32 fopScnRq_ReRequest(fpc_ProcID, s16, void*);
|
||||
void fopScnRq_Handler(void);
|
||||
fpc_ProcID fopScnRq_Request(int i_reqType, scene_class* i_scene, s16 i_procName, void* i_data, s16 param_5,
|
||||
u16 param_6);
|
||||
s32 fopScnRq_ReRequest(fpc_ProcID i_requestId, s16 i_procName, void* i_data);
|
||||
void fopScnRq_Handler();
|
||||
|
||||
#endif
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
|
||||
class scene_tag_class {
|
||||
public:
|
||||
u8 field_0x00[0x14];
|
||||
create_tag_class base;
|
||||
};
|
||||
|
||||
void fopScnTg_QueueTo(scene_tag_class* pSceneTag);
|
||||
void fopScnTg_ToQueue(scene_tag_class* pSceneTag);
|
||||
void fopScnTg_Init(scene_tag_class* pSceneTag, void* pData);
|
||||
void fopScnTg_QueueTo(scene_tag_class* i_sceneTag);
|
||||
void fopScnTg_ToQueue(scene_tag_class* i_sceneTag);
|
||||
void fopScnTg_Init(scene_tag_class* i_sceneTag, void* i_data);
|
||||
|
||||
extern node_list_class g_fopScnTg_SceneList;
|
||||
|
||||
|
||||
+31
-32
@@ -6,54 +6,53 @@
|
||||
#include "f_pc/f_pc_leaf.h"
|
||||
|
||||
struct view_process_profile_definition {
|
||||
/* 0x00 */ leaf_process_profile_definition mBase;
|
||||
/* 0x00 */ leaf_process_profile_definition base;
|
||||
/* 0x24 */ leafdraw_method_class* sub_method; // Subclass methods
|
||||
/* 0x28 */ u8 unk28;
|
||||
/* 0x29 */ u8 unk29[3]; // pad
|
||||
/* 0x2C */ u32 unk2C;
|
||||
/* 0x30 */ u32 unk30;
|
||||
/* 0x34 */ u32 unk34;
|
||||
/* 0x38 */ u32 unk38;
|
||||
/* 0x28 */ u8 unk_0x28;
|
||||
/* 0x2C */ u32 unk_0x2C;
|
||||
/* 0x30 */ u32 unk_0x30;
|
||||
/* 0x34 */ u32 unk_0x34;
|
||||
/* 0x38 */ u32 unk_0x38;
|
||||
};
|
||||
|
||||
class lookat_class {
|
||||
public:
|
||||
/* 0x00 */ cXyz mEye;
|
||||
/* 0x0C */ cXyz mCenter;
|
||||
/* 0x18 */ cXyz mUp;
|
||||
/* 0x00 */ cXyz eye;
|
||||
/* 0x0C */ cXyz center;
|
||||
/* 0x18 */ cXyz up;
|
||||
};
|
||||
|
||||
struct scissor_class {
|
||||
/* 0x0 */ f32 mXOrig;
|
||||
/* 0x4 */ f32 mYOrig;
|
||||
/* 0x8 */ f32 mWidth;
|
||||
/* 0xC */ f32 mHeight;
|
||||
/* 0x0 */ f32 x_orig;
|
||||
/* 0x4 */ f32 y_orig;
|
||||
/* 0x8 */ f32 width;
|
||||
/* 0xC */ f32 height;
|
||||
};
|
||||
|
||||
struct view_port_class {
|
||||
/* 0x00 */ f32 mXOrig;
|
||||
/* 0x04 */ f32 mYOrig;
|
||||
/* 0x08 */ f32 mWidth;
|
||||
/* 0x0C */ f32 mHeight;
|
||||
/* 0x10 */ f32 mNearZ;
|
||||
/* 0x14 */ f32 mFarZ;
|
||||
/* 0x18 */ scissor_class mScissor;
|
||||
/* 0x00 */ f32 x_orig;
|
||||
/* 0x04 */ f32 y_orig;
|
||||
/* 0x08 */ f32 width;
|
||||
/* 0x0C */ f32 height;
|
||||
/* 0x10 */ f32 near_z;
|
||||
/* 0x14 */ f32 far_z;
|
||||
/* 0x18 */ scissor_class scissor;
|
||||
};
|
||||
|
||||
struct view_class : public leafdraw_class {
|
||||
/* 0x0C0 */ leafdraw_method_class* sub_method;
|
||||
/* 0x0C4 */ u8 field_0xc4;
|
||||
/* 0x0C8 */ f32 mNear;
|
||||
/* 0x0CC */ f32 mFar;
|
||||
/* 0x0D0 */ f32 mFovy;
|
||||
/* 0x0D4 */ f32 mAspect;
|
||||
/* 0x0D8 */ lookat_class mLookat;
|
||||
/* 0x0FC */ s16 mBank;
|
||||
/* 0x100 */ Mtx44 mProjMtx;
|
||||
/* 0x140 */ Mtx mViewMtx;
|
||||
/* 0x170 */ Mtx mInvViewMtx;
|
||||
/* 0x1A0 */ Mtx44 mProjViewMtx;
|
||||
/* 0x1E0 */ Mtx mViewMtxNoTrans;
|
||||
/* 0x0C8 */ f32 near;
|
||||
/* 0x0CC */ f32 far;
|
||||
/* 0x0D0 */ f32 fovy;
|
||||
/* 0x0D4 */ f32 aspect;
|
||||
/* 0x0D8 */ lookat_class lookat;
|
||||
/* 0x0FC */ s16 bank;
|
||||
/* 0x100 */ Mtx44 projMtx;
|
||||
/* 0x140 */ Mtx viewMtx;
|
||||
/* 0x170 */ Mtx invViewMtx;
|
||||
/* 0x1A0 */ Mtx44 projViewMtx;
|
||||
/* 0x1E0 */ Mtx viewMtxNoTrans;
|
||||
};
|
||||
|
||||
extern leafdraw_method_class g_fopVw_Method;
|
||||
|
||||
+27
-27
@@ -15,34 +15,34 @@ typedef struct process_profile_definition process_profile_definition;
|
||||
typedef struct profile_method_class profile_method_class;
|
||||
|
||||
typedef struct base_process_class {
|
||||
/* 0x00 */ u32 mBsType;
|
||||
/* 0x04 */ fpc_ProcID mBsPcId;
|
||||
/* 0x08 */ s16 mProcName;
|
||||
/* 0x0A */ s8 mUnk0;
|
||||
/* 0x0B */ u8 mPauseFlag;
|
||||
/* 0x0C */ s8 mInitState;
|
||||
/* 0x0D */ u8 mUnk2;
|
||||
/* 0x0E */ s16 mBsTypeId;
|
||||
/* 0x10 */ process_profile_definition* mpProf;
|
||||
/* 0x14 */ struct create_request* mpCtRq;
|
||||
/* 0x18 */ layer_management_tag_class mLyTg;
|
||||
/* 0x34 */ line_tag mLnTg;
|
||||
/* 0x4C */ delete_tag_class mDtTg;
|
||||
/* 0x68 */ process_priority_class mPi;
|
||||
/* 0xA8 */ process_method_class* mpPcMtd;
|
||||
/* 0xAC */ void* mpUserData;
|
||||
/* 0xB0 */ u32 mParameters;
|
||||
/* 0xB4 */ u32 mSubType;
|
||||
/* 0x00 */ int type;
|
||||
/* 0x04 */ fpc_ProcID id;
|
||||
/* 0x08 */ s16 name;
|
||||
/* 0x0A */ s8 unk_0xA;
|
||||
/* 0x0B */ u8 pause_flag;
|
||||
/* 0x0C */ s8 init_state; // maybe inaccurate name
|
||||
/* 0x0D */ u8 create_phase;
|
||||
/* 0x0E */ s16 profname;
|
||||
/* 0x10 */ process_profile_definition* profile;
|
||||
/* 0x14 */ struct create_request* create_req;
|
||||
/* 0x18 */ layer_management_tag_class layer_tag;
|
||||
/* 0x34 */ line_tag line_tag_;
|
||||
/* 0x4C */ delete_tag_class delete_tag;
|
||||
/* 0x68 */ process_priority_class priority;
|
||||
/* 0xA8 */ process_method_class* methods;
|
||||
/* 0xAC */ void* append;
|
||||
/* 0xB0 */ u32 parameters;
|
||||
/* 0xB4 */ int subtype;
|
||||
} base_process_class; // Size: 0xB8
|
||||
|
||||
s32 fpcBs_Is_JustOfType(int pType1, int pType2);
|
||||
s32 fpcBs_MakeOfType(int* pType);
|
||||
s32 fpcBs_MakeOfId(void);
|
||||
s32 fpcBs_Execute(base_process_class* pProc);
|
||||
void fpcBs_DeleteAppend(base_process_class* pProc);
|
||||
s32 fpcBs_IsDelete(base_process_class* pProc);
|
||||
s32 fpcBs_Delete(base_process_class* pProc);
|
||||
base_process_class* fpcBs_Create(s16 pProcTypeID, fpc_ProcID pProcID, void* pData);
|
||||
s32 fpcBs_SubCreate(base_process_class* pProc);
|
||||
BOOL fpcBs_Is_JustOfType(int i_typeA, int i_typeB);
|
||||
int fpcBs_MakeOfType(int* i_type);
|
||||
int fpcBs_MakeOfId();
|
||||
int fpcBs_Execute(base_process_class* i_proc);
|
||||
void fpcBs_DeleteAppend(base_process_class* i_proc);
|
||||
int fpcBs_IsDelete(base_process_class* i_proc);
|
||||
int fpcBs_Delete(base_process_class* i_proc);
|
||||
base_process_class* fpcBs_Create(s16 i_profname, fpc_ProcID i_procID, void* i_append);
|
||||
int fpcBs_SubCreate(base_process_class* i_proc);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -10,24 +10,24 @@ typedef int (*fpcCtIt_MethodFunc)(void*, void*);
|
||||
typedef void* (*fpcCtIt_JudgeFunc)(void*, void*);
|
||||
|
||||
typedef struct node_method_data {
|
||||
fpcCtIt_MethodFunc mFunc;
|
||||
void* mpUserData;
|
||||
/* 0x0 */ fpcCtIt_MethodFunc method;
|
||||
/* 0x4 */ void* data;
|
||||
} node_method_data;
|
||||
|
||||
typedef struct node_judge_data {
|
||||
fpcCtIt_JudgeFunc mFunc;
|
||||
void* mpUserData;
|
||||
/* 0x0 */ fpcCtIt_JudgeFunc method;
|
||||
/* 0x4 */ void* data;
|
||||
} node_judge_data;
|
||||
|
||||
typedef struct fpcCtIt_jilprm_c {
|
||||
u32 mLayerID;
|
||||
fpcCtIt_JudgeFunc mFunc;
|
||||
void* mpUserData;
|
||||
/* 0x0 */ unsigned int layer_id;
|
||||
/* 0x4 */ fpcCtIt_JudgeFunc method;
|
||||
/* 0x8 */ void* data;
|
||||
} fpcCtIt_jilprm_c;
|
||||
|
||||
s32 fpcCtIt_Method(fpcCtIt_MethodFunc pJudge, void* pUserData);
|
||||
void* fpcCtIt_Judge(fpcCtIt_JudgeFunc pJudge, void* pUserData);
|
||||
void* fpcCtIt_filter_JudgeInLayer(create_tag*, fpcCtIt_jilprm_c*);
|
||||
void* fpcCtIt_JudgeInLayer(unsigned int pUnk0, fpcCtIt_JudgeFunc pFunc, void* pUserData);
|
||||
int fpcCtIt_Method(fpcCtIt_MethodFunc i_method, void* i_data);
|
||||
void* fpcCtIt_Judge(fpcCtIt_JudgeFunc i_judge, void* i_data);
|
||||
void* fpcCtIt_filter_JudgeInLayer(create_tag* i_createTag, fpcCtIt_jilprm_c* i_iterData);
|
||||
void* fpcCtIt_JudgeInLayer(unsigned int i_layerID, fpcCtIt_JudgeFunc i_method, void* i_data);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -12,32 +12,32 @@ typedef struct base_process_class base_process_class;
|
||||
typedef struct layer_class layer_class;
|
||||
|
||||
typedef struct create_request_method_class {
|
||||
cPhs__Handler mpHandler;
|
||||
process_method_func mpCancel;
|
||||
process_method_func mpDelete;
|
||||
/* 0x0 */ cPhs__Handler phase_handler;
|
||||
/* 0x4 */ process_method_func cancel_method;
|
||||
/* 0x8 */ process_method_func delete_method;
|
||||
} create_request_method_class;
|
||||
|
||||
typedef struct create_request {
|
||||
create_tag mBase;
|
||||
s8 mbIsCreating;
|
||||
s8 mbIsCancelling;
|
||||
process_method_tag_class mMtdTg;
|
||||
create_request_method_class* mpCtRqMtd;
|
||||
void* mpUnk1;
|
||||
s32 mBsPcId;
|
||||
struct base_process_class* mpRes;
|
||||
layer_class* mpLayer;
|
||||
/* 0x00 */ create_tag base;
|
||||
/* 0x14 */ s8 is_doing;
|
||||
/* 0x15 */ s8 is_cancel;
|
||||
/* 0x18 */ process_method_tag_class method_tag;
|
||||
/* 0x34 */ create_request_method_class* methods;
|
||||
/* 0x38 */ void* unk_0x38;
|
||||
/* 0x3C */ fpc_ProcID id;
|
||||
/* 0x40 */ struct base_process_class* process;
|
||||
/* 0x44 */ layer_class* layer;
|
||||
} create_request; // Size: 0x48
|
||||
|
||||
bool fpcCtRq_isCreatingByID(create_tag* pTag, fpc_ProcID* pId);
|
||||
BOOL fpcCtRq_IsCreatingByID(fpc_ProcID id);
|
||||
void fpcCtRq_CreateQTo(create_request* pReq);
|
||||
void fpcCtRq_ToCreateQ(create_request* pReq);
|
||||
BOOL fpcCtRq_Delete(create_request* pReq);
|
||||
BOOL fpcCtRq_Cancel(create_request* pReq);
|
||||
s32 fpcCtRq_IsDoing(create_request* pReq);
|
||||
void fpcCtRq_Handler(void);
|
||||
create_request* fpcCtRq_Create(layer_class* pLayer, u32 size,
|
||||
create_request_method_class* pCtRqMtd);
|
||||
bool fpcCtRq_isCreatingByID(create_tag* i_createTag, fpc_ProcID* i_id);
|
||||
BOOL fpcCtRq_IsCreatingByID(fpc_ProcID i_id);
|
||||
void fpcCtRq_CreateQTo(create_request* i_request);
|
||||
void fpcCtRq_ToCreateQ(create_request* i_request);
|
||||
BOOL fpcCtRq_Delete(create_request* i_request);
|
||||
BOOL fpcCtRq_Cancel(create_request* i_request);
|
||||
BOOL fpcCtRq_IsDoing(create_request* i_request);
|
||||
void fpcCtRq_Handler();
|
||||
create_request* fpcCtRq_Create(layer_class* i_layer, u32 i_size,
|
||||
create_request_method_class* i_methods);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
#include "SSystem/SComponent/c_tag.h"
|
||||
|
||||
typedef struct create_tag {
|
||||
create_tag_class mBase;
|
||||
create_tag_class base;
|
||||
} create_tag;
|
||||
|
||||
void fpcCtTg_ToCreateQ(create_tag* pTag);
|
||||
void fpcCtTg_CreateQTo(create_tag* pTag);
|
||||
s32 fpcCtTg_Init(create_tag* pTag, void* pUserData);
|
||||
void fpcCtTg_ToCreateQ(create_tag* i_createTag);
|
||||
void fpcCtTg_CreateQTo(create_tag* i_createTag);
|
||||
s32 fpcCtTg_Init(create_tag* i_createTag, void* i_data);
|
||||
|
||||
extern node_list_class g_fpcCtTg_Queue;
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
typedef struct base_process_class base_process_class;
|
||||
|
||||
BOOL fpcCt_IsCreatingByID(fpc_ProcID id);
|
||||
s32 fpcCt_IsDoing(base_process_class* pProc);
|
||||
BOOL fpcCt_IsDoing(base_process_class* pProc);
|
||||
BOOL fpcCt_Abort(base_process_class* pProc);
|
||||
void fpcCt_Handler(void);
|
||||
void fpcCt_Handler();
|
||||
|
||||
#endif
|
||||
|
||||
@@ -9,16 +9,16 @@ typedef struct layer_class layer_class;
|
||||
typedef int (*delete_tag_func)(void*);
|
||||
|
||||
typedef struct delete_tag_class {
|
||||
create_tag_class mBase;
|
||||
layer_class* mpLayer;
|
||||
s16 mTimer;
|
||||
/* 0x00 */ create_tag_class base;
|
||||
/* 0x14 */ layer_class* layer;
|
||||
/* 0x18 */ s16 timer;
|
||||
} delete_tag_class;
|
||||
|
||||
BOOL fpcDtTg_IsEmpty(void);
|
||||
void fpcDtTg_ToDeleteQ(delete_tag_class* pTag);
|
||||
void fpcDtTg_DeleteQTo(delete_tag_class* pTag);
|
||||
s32 fpcDtTg_Do(delete_tag_class* pTag, delete_tag_func pFunc);
|
||||
s32 fpcDtTg_Init(delete_tag_class* pTag, void* pUserData);
|
||||
BOOL fpcDtTg_IsEmpty();
|
||||
void fpcDtTg_ToDeleteQ(delete_tag_class* i_deleteTag);
|
||||
void fpcDtTg_DeleteQTo(delete_tag_class* i_deleteTag);
|
||||
s32 fpcDtTg_Do(delete_tag_class* i_deleteTag, delete_tag_func i_func);
|
||||
s32 fpcDtTg_Init(delete_tag_class* i_deleteTag, void* i_data);
|
||||
|
||||
extern node_list_class g_fpcDtTg_Queue;
|
||||
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
|
||||
typedef struct base_process_class base_process_class;
|
||||
|
||||
BOOL fpcDt_IsComplete(void);
|
||||
s32 fpcDt_ToDeleteQ(base_process_class* pProc);
|
||||
s32 fpcDt_ToQueue(base_process_class* pProc);
|
||||
void fpcDt_Handler(void);
|
||||
s32 fpcDt_Delete(void* pProc);
|
||||
BOOL fpcDt_IsComplete();
|
||||
s32 fpcDt_ToDeleteQ(base_process_class* i_proc);
|
||||
s32 fpcDt_ToQueue(base_process_class* i_proc);
|
||||
void fpcDt_Handler();
|
||||
s32 fpcDt_Delete(void* i_proc);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -8,7 +8,7 @@ typedef struct base_process_class base_process_class;
|
||||
typedef int (*fpcDw_HandlerFunc)(void*, void*);
|
||||
typedef int (*fpcDw_HandlerFuncFunc)(fpcDw_HandlerFunc);
|
||||
|
||||
s32 fpcDw_Execute(base_process_class* pProc);
|
||||
s32 fpcDw_Handler(fpcDw_HandlerFuncFunc param_1, fpcDw_HandlerFunc param_2);
|
||||
s32 fpcDw_Execute(base_process_class* i_proc);
|
||||
s32 fpcDw_Handler(fpcDw_HandlerFuncFunc i_iterHandler, fpcDw_HandlerFunc i_func);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
#include "dolphin/types.h"
|
||||
|
||||
typedef struct draw_priority_class {
|
||||
s16 mPriority;
|
||||
s16 priority;
|
||||
} draw_priority_class;
|
||||
|
||||
s16 fpcDwPi_Get(const draw_priority_class* pDwPi);
|
||||
void fpcDwPi_Set(draw_priority_class* pDwPi, s16 p);
|
||||
void fpcDwPi_Init(draw_priority_class* pDwPi, s16 p);
|
||||
s16 fpcDwPi_Get(const draw_priority_class* i_drawpriority);
|
||||
void fpcDwPi_Set(draw_priority_class* i_drawpriority, s16 i_priority);
|
||||
void fpcDwPi_Init(draw_priority_class* i_drawpriority, s16 i_priority);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
typedef struct base_process_class base_process_class;
|
||||
|
||||
base_process_class* fpcEx_Search(fpcLyIt_JudgeFunc pFunc, void* pUserData);
|
||||
base_process_class* fpcEx_SearchByID(fpc_ProcID id);
|
||||
BOOL fpcEx_IsExist(fpc_ProcID id);
|
||||
s32 fpcEx_ToLineQ(base_process_class* pProc);
|
||||
s32 fpcEx_ExecuteQTo(base_process_class* pProc);
|
||||
s32 fpcEx_Execute(base_process_class* pProc);
|
||||
s32 fpcEx_ToExecuteQ(base_process_class* pProc);
|
||||
void fpcEx_Handler(fpcLnIt_QueueFunc pFunc);
|
||||
base_process_class* fpcEx_Search(fpcLyIt_JudgeFunc i_judgeFunc, void* i_data);
|
||||
base_process_class* fpcEx_SearchByID(fpc_ProcID i_id);
|
||||
BOOL fpcEx_IsExist(fpc_ProcID i_id);
|
||||
s32 fpcEx_ToLineQ(base_process_class* i_proc);
|
||||
s32 fpcEx_ExecuteQTo(base_process_class* i_proc);
|
||||
s32 fpcEx_Execute(base_process_class* i_proc);
|
||||
s32 fpcEx_ToExecuteQ(base_process_class* i_proc);
|
||||
void fpcEx_Handler(fpcLnIt_QueueFunc i_queueFunc);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -9,15 +9,14 @@ typedef struct layer_class layer_class;
|
||||
typedef int (*fstCreateFunc)(void*, void*);
|
||||
|
||||
typedef struct fast_create_request {
|
||||
/* 0x00 */ create_request mBase;
|
||||
/* 0x48 */ fstCreateFunc mpFastCreateFunc;
|
||||
/* 0x4C */ void* mpFastCreateData;
|
||||
/* 0x00 */ create_request base;
|
||||
/* 0x48 */ fstCreateFunc create_func;
|
||||
/* 0x4C */ void* data;
|
||||
} fast_create_request; // Size: 0x50
|
||||
|
||||
s32 fpcFCtRq_Do(fast_create_request* pFstCreateReq);
|
||||
s32 fpcFCtRq_Delete(fast_create_request*);
|
||||
base_process_class* fpcFCtRq_Request(layer_class* pLayer, s16 pProcTypeID,
|
||||
fstCreateFunc pFastCreateFunc, void* pFastCreateData,
|
||||
void* pData);
|
||||
s32 fpcFCtRq_Do(fast_create_request* i_createReq);
|
||||
s32 fpcFCtRq_Delete(fast_create_request* i_createReq);
|
||||
base_process_class* fpcFCtRq_Request(layer_class* i_layer, s16 i_procname,
|
||||
fstCreateFunc i_createFunc, void* i_createData, void* i_append);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+28
-28
@@ -12,43 +12,43 @@ typedef struct process_method_tag_class process_method_tag_class;
|
||||
typedef struct process_node_class process_node_class;
|
||||
|
||||
typedef struct layer_class {
|
||||
/* 0x00 */ node_class mNode;
|
||||
/* 0x0C */ u32 mLayerID;
|
||||
/* 0x10 */ node_lists_tree_class mNodeListTree;
|
||||
/* 0x18 */ process_node_class* mpPcNode;
|
||||
/* 0x1C */ node_list_class mCancelList;
|
||||
/* 0x00 */ node_class node;
|
||||
/* 0x0C */ fpc_ProcID layer_id;
|
||||
/* 0x10 */ node_lists_tree_class node_tree;
|
||||
/* 0x18 */ process_node_class* process_node;
|
||||
/* 0x1C */ node_list_class cancel_list;
|
||||
struct {
|
||||
/* 0x28 */ s16 mCreatingCount;
|
||||
/* 0x2A */ s16 mDeletingCount;
|
||||
/* 0x28 */ s16 create_count;
|
||||
/* 0x2A */ s16 delete_count;
|
||||
} counts;
|
||||
} layer_class;
|
||||
|
||||
void fpcLy_SetCurrentLayer(layer_class* pLayer);
|
||||
layer_class* fpcLy_CurrentLayer(void);
|
||||
layer_class* fpcLy_RootLayer(void);
|
||||
layer_class* fpcLy_Layer(fpc_ProcID id);
|
||||
layer_class* fpcLy_Search(fpc_ProcID id);
|
||||
void fpcLy_Regist(layer_class* pLayer);
|
||||
void fpcLy_SetCurrentLayer(layer_class* i_layer);
|
||||
layer_class* fpcLy_CurrentLayer();
|
||||
layer_class* fpcLy_RootLayer();
|
||||
layer_class* fpcLy_Layer(fpc_ProcID i_id);
|
||||
layer_class* fpcLy_Search(fpc_ProcID i_id);
|
||||
void fpcLy_Regist(layer_class* i_layer);
|
||||
|
||||
void fpcLy_CreatedMesg(layer_class* pLayer);
|
||||
void fpcLy_CreatingMesg(layer_class* pLayer);
|
||||
void fpcLy_DeletedMesg(layer_class* pLayer);
|
||||
void fpcLy_DeletingMesg(layer_class* pLayer);
|
||||
BOOL fpcLy_IsCreatingMesg(layer_class* pLayer);
|
||||
BOOL fpcLy_IsDeletingMesg(layer_class* pLayer);
|
||||
void fpcLy_CreatedMesg(layer_class* i_layer);
|
||||
void fpcLy_CreatingMesg(layer_class* i_layer);
|
||||
void fpcLy_DeletedMesg(layer_class* i_layer);
|
||||
void fpcLy_DeletingMesg(layer_class* i_layer);
|
||||
BOOL fpcLy_IsCreatingMesg(layer_class* i_layer);
|
||||
BOOL fpcLy_IsDeletingMesg(layer_class* i_layer);
|
||||
|
||||
s32 fpcLy_IntoQueue(layer_class* pLayer, int treeListIdx, create_tag_class* pTag, int idx);
|
||||
s32 fpcLy_ToQueue(layer_class* pLayer, int treeListIdx, create_tag_class* pTag);
|
||||
s32 fpcLy_QueueTo(layer_class* pLayer, create_tag_class* pTag);
|
||||
s32 fpcLy_IntoQueue(layer_class* i_layer, int i_treeListNo, create_tag_class* i_createTag, int i_no);
|
||||
s32 fpcLy_ToQueue(layer_class* i_layer, int treeListIdx, create_tag_class* i_createTag);
|
||||
s32 fpcLy_QueueTo(layer_class* i_layer, create_tag_class* i_createTag);
|
||||
|
||||
void fpcLy_Cancel(layer_class* pLayer);
|
||||
bool fpcLy_CancelMethod(process_method_tag_class* pLayer);
|
||||
int fpcLy_Cancel(layer_class* i_layer);
|
||||
bool fpcLy_CancelMethod(process_method_tag_class* i_layer);
|
||||
|
||||
void fpcLy_CancelQTo(process_method_tag_class* pMthd);
|
||||
s32 fpcLy_ToCancelQ(layer_class* pLayer, process_method_tag_class* pMthd);
|
||||
void fpcLy_CancelQTo(process_method_tag_class* i_methods);
|
||||
s32 fpcLy_ToCancelQ(layer_class* i_layer, process_method_tag_class* i_methods);
|
||||
|
||||
void fpcLy_Create(layer_class* pLayer, void* pPcNode, node_list_class* pLists, int listNum);
|
||||
void fpcLy_Create(layer_class* i_layer, void* i_node, node_list_class* i_nodeList, int i_numLists);
|
||||
|
||||
s32 fpcLy_Delete(layer_class* pLayer);
|
||||
s32 fpcLy_Delete(layer_class* i_layer);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
typedef struct layer_class layer_class;
|
||||
|
||||
typedef struct layer_iter {
|
||||
void* mpFunc;
|
||||
void* mpUserData;
|
||||
/* 0x0 */ void* func;
|
||||
/* 0x4 */ void* data;
|
||||
} layer_iter;
|
||||
|
||||
typedef int (*fpcLyIt_OnlyHereFunc)(void*, void*);
|
||||
typedef void* (*fpcLyIt_JudgeFunc)(void*, void*);
|
||||
|
||||
s32 fpcLyIt_OnlyHere(layer_class* pLayer, fpcLyIt_OnlyHereFunc pFunc, void* pUserData);
|
||||
s32 fpcLyIt_OnlyHereLY(layer_class* pLayer, fpcLyIt_OnlyHereFunc pFunc, void* pUserData);
|
||||
void* fpcLyIt_Judge(layer_class* pLayer, fpcLyIt_JudgeFunc pFunc, void* pUserData);
|
||||
void* fpcLyIt_AllJudge(fpcLyIt_JudgeFunc pFunc, void* pUserData);
|
||||
s32 fpcLyIt_OnlyHere(layer_class* i_layer, fpcLyIt_OnlyHereFunc i_func, void* i_data);
|
||||
s32 fpcLyIt_OnlyHereLY(layer_class* i_layer, fpcLyIt_OnlyHereFunc i_func, void* i_data);
|
||||
void* fpcLyIt_Judge(layer_class* i_layer, fpcLyIt_JudgeFunc i_func, void* i_data);
|
||||
void* fpcLyIt_AllJudge(fpcLyIt_JudgeFunc i_func, void* i_data);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -15,16 +15,17 @@ typedef struct layer_class layer_class;
|
||||
|
||||
|
||||
typedef struct layer_management_tag_class {
|
||||
create_tag_class mCreateTag;
|
||||
layer_class* mpLayer;
|
||||
u16 mNodeListID;
|
||||
u16 mNodeListIdx;
|
||||
/* 0x00 */ create_tag_class create_tag;
|
||||
/* 0x14 */ layer_class* layer;
|
||||
/* 0x18 */ u16 node_list_id;
|
||||
/* 0x1A */ u16 node_list_priority;
|
||||
} layer_management_tag_class;
|
||||
|
||||
s32 fpcLyTg_QueueTo(layer_management_tag_class* pTag);
|
||||
s32 fpcLyTg_ToQueue(layer_management_tag_class* pTag, unsigned int layerID, u16 listID,
|
||||
u16 listPrio);
|
||||
s32 fpcLyTg_Move(layer_management_tag_class*, unsigned int, u16, u16);
|
||||
s32 fpcLyTg_Init(layer_management_tag_class*, unsigned int, void*);
|
||||
s32 fpcLyTg_QueueTo(layer_management_tag_class* i_layer_tag);
|
||||
s32 fpcLyTg_ToQueue(layer_management_tag_class* i_layer_tag, unsigned int i_layerID, u16 i_listID,
|
||||
u16 i_listPriority);
|
||||
s32 fpcLyTg_Move(layer_management_tag_class* i_layer_tag, unsigned int i_layerID, u16 i_listID,
|
||||
u16 i_listPriority);
|
||||
s32 fpcLyTg_Init(layer_management_tag_class* i_layer_tag, unsigned int i_id, void* i_data);
|
||||
|
||||
#endif
|
||||
|
||||
+16
-16
@@ -9,31 +9,31 @@
|
||||
#include "d/d_procname.h"
|
||||
|
||||
typedef struct leafdraw_method_class {
|
||||
/* 0x00 */ process_method_class mBase;
|
||||
/* 0x10 */ process_method_func mpDrawFunc;
|
||||
/* 0x00 */ process_method_class base;
|
||||
/* 0x10 */ process_method_func draw_method;
|
||||
} leafdraw_method_class;
|
||||
|
||||
typedef struct leafdraw_class {
|
||||
/* 0x00 */ base_process_class mBase;
|
||||
/* 0xB8 */ leafdraw_method_class* mpDrawMtd;
|
||||
/* 0xBC */ s8 mbUnk0;
|
||||
/* 0xBD */ u8 mbUnk1;
|
||||
/* 0xBE */ draw_priority_class mDwPi;
|
||||
/* 0x00 */ base_process_class base;
|
||||
/* 0xB8 */ leafdraw_method_class* leaf_methods;
|
||||
/* 0xBC */ s8 unk_0xBC;
|
||||
/* 0xBD */ u8 unk_0xBD;
|
||||
/* 0xBE */ draw_priority_class draw_priority;
|
||||
} leafdraw_class;
|
||||
|
||||
typedef struct leaf_process_profile_definition {
|
||||
/* 0x00 */ process_profile_definition mBase;
|
||||
/* 0x00 */ process_profile_definition base;
|
||||
/* 0x1C */ leafdraw_method_class* sub_method; // Subclass methods
|
||||
/* 0x20 */ s16 mPriority; // mDrawPriority
|
||||
/* 0x20 */ s16 priority; // mDrawPriority
|
||||
} leaf_process_profile_definition;
|
||||
|
||||
s16 fpcLf_GetPriority(const leafdraw_class* pLeaf);
|
||||
s32 fpcLf_DrawMethod(leafdraw_method_class* pMthd, void* pUserData);
|
||||
s32 fpcLf_Draw(leafdraw_class* pMthd);
|
||||
s32 fpcLf_Execute(leafdraw_class* pLeaf);
|
||||
s32 fpcLf_IsDelete(leafdraw_class* pLeaf);
|
||||
s32 fpcLf_Delete(leafdraw_class* pLeaf);
|
||||
s32 fpcLf_Create(leafdraw_class* pLeaf);
|
||||
s16 fpcLf_GetPriority(const leafdraw_class* i_leaf);
|
||||
s32 fpcLf_DrawMethod(leafdraw_method_class* i_method, void* i_process);
|
||||
s32 fpcLf_Draw(leafdraw_class* i_method);
|
||||
s32 fpcLf_Execute(leafdraw_class* i_leaf);
|
||||
s32 fpcLf_IsDelete(leafdraw_class* i_leaf);
|
||||
s32 fpcLf_Delete(leafdraw_class* i_leaf);
|
||||
s32 fpcLf_Create(leafdraw_class* i_leaf);
|
||||
|
||||
extern int g_fpcLf_type;
|
||||
extern leafdraw_method_class g_fpcLf_Method;
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
#include "SSystem/SComponent/c_tree.h"
|
||||
|
||||
void fpcLn_Create(void);
|
||||
void fpcLn_Create();
|
||||
|
||||
extern node_lists_tree_class g_fpcLn_Queue;
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
#include "SSystem/SComponent/c_tag.h"
|
||||
|
||||
typedef struct line_tag {
|
||||
create_tag_class mBase;
|
||||
s32 mLineListID;
|
||||
/* 0x00 */ create_tag_class base;
|
||||
/* 0x14 */ int list_id;
|
||||
} line_tag;
|
||||
|
||||
s32 fpcLnTg_Move(line_tag* pLineTag, int newLineListID);
|
||||
void fpcLnTg_QueueTo(line_tag* pLineTag);
|
||||
s32 fpcLnTg_ToQueue(line_tag* pLineTag, int lineListID);
|
||||
void fpcLnTg_Init(line_tag* pLineTag, void* pData);
|
||||
s32 fpcLnTg_Move(line_tag* i_lineTag, int i_newListID);
|
||||
void fpcLnTg_QueueTo(line_tag* i_lineTag);
|
||||
s32 fpcLnTg_ToQueue(line_tag* i_lineTag, int lineListID);
|
||||
void fpcLnTg_Init(line_tag* i_lineTag, void* i_data);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
BOOL fpcLd_Use(s16 procName);
|
||||
s32 fpcLd_IsLoaded(s16 procName);
|
||||
void fpcLd_Free(s16 procName);
|
||||
s32 fpcLd_Load(s16 procName);
|
||||
BOOL fpcLd_Use(s16 i_procName);
|
||||
BOOL fpcLd_IsLoaded(s16 i_procName);
|
||||
void fpcLd_Free(s16 i_procName);
|
||||
s32 fpcLd_Load(s16 i_procName);
|
||||
|
||||
#endif
|
||||
|
||||
+48
-42
@@ -16,51 +16,53 @@ typedef int (*FastCreateReqFunc)(void*);
|
||||
typedef void (*fpcM_ManagementFunc)(void);
|
||||
typedef int (*fpcM_DrawIteraterFunc)(void*, void*);
|
||||
|
||||
inline fpc_ProcID fpcM_GetID(const void* pProc) {
|
||||
return pProc != NULL ? ((base_process_class*)pProc)->mBsPcId : fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
inline s16 fpcM_GetName(const void* pActor) {
|
||||
return ((base_process_class*)pActor)->mProcName;
|
||||
}
|
||||
inline u32 fpcM_GetParam(const void* pActor) {
|
||||
return ((base_process_class*)pActor)->mParameters;
|
||||
inline fpc_ProcID fpcM_GetID(const void* i_process) {
|
||||
return i_process != NULL ? ((base_process_class*)i_process)->id : fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
|
||||
inline void fpcM_SetParam(void* p_actor, u32 param) {
|
||||
((base_process_class*)p_actor)->mParameters = param;
|
||||
inline s16 fpcM_GetName(const void* i_process) {
|
||||
return ((base_process_class*)i_process)->name;
|
||||
}
|
||||
|
||||
inline s16 fpcM_GetProfName(const void* pActor) {
|
||||
return ((base_process_class*)pActor)->mBsTypeId;
|
||||
inline u32 fpcM_GetParam(const void* i_process) {
|
||||
return ((base_process_class*)i_process)->parameters;
|
||||
}
|
||||
|
||||
inline int fpcM_Create(s16 procName, FastCreateReqFunc createFunc, void* process) {
|
||||
return fpcSCtRq_Request(fpcLy_CurrentLayer(), procName, (stdCreateFunc)createFunc, NULL,
|
||||
process);
|
||||
inline void fpcM_SetParam(void* i_process, u32 param) {
|
||||
((base_process_class*)i_process)->parameters = param;
|
||||
}
|
||||
|
||||
inline s16 fpcM_DrawPriority(const void* param_0) {
|
||||
return (s16)fpcLf_GetPriority((const leafdraw_class*)param_0);
|
||||
inline s16 fpcM_GetProfName(const void* i_process) {
|
||||
return ((base_process_class*)i_process)->profname;
|
||||
}
|
||||
|
||||
inline s32 fpcM_ChangeLayerID(void* proc, int layerID) {
|
||||
return fpcPi_Change(&((base_process_class*)proc)->mPi, layerID, 0xFFFD, 0xFFFD);
|
||||
inline fpc_ProcID fpcM_Create(s16 i_procName, FastCreateReqFunc i_createFunc, void* i_append) {
|
||||
return fpcSCtRq_Request(fpcLy_CurrentLayer(), i_procName, (stdCreateFunc)i_createFunc, NULL,
|
||||
i_append);
|
||||
}
|
||||
|
||||
inline s32 fpcM_IsJustType(int type1, int type2) {
|
||||
return fpcBs_Is_JustOfType(type1, type2);
|
||||
inline s16 fpcM_DrawPriority(const void* i_process) {
|
||||
return (s16)fpcLf_GetPriority((const leafdraw_class*)i_process);
|
||||
}
|
||||
|
||||
inline bool fpcM_IsFirstCreating(void* proc) {
|
||||
return ((base_process_class*)proc)->mInitState == 0;
|
||||
inline s32 fpcM_ChangeLayerID(void* i_process, int i_layerID) {
|
||||
return fpcPi_Change(&((base_process_class*)i_process)->priority, i_layerID, 0xFFFD, 0xFFFD);
|
||||
}
|
||||
|
||||
inline process_profile_definition* fpcM_GetProfile(void* proc) {
|
||||
return (process_profile_definition*)((base_process_class*)proc)->mpProf;
|
||||
inline BOOL fpcM_IsJustType(int i_typeA, int i_typeB) {
|
||||
return fpcBs_Is_JustOfType(i_typeA, i_typeB);
|
||||
}
|
||||
|
||||
inline void* fpcM_GetAppend(const void* proc) {
|
||||
return ((base_process_class*)proc)->mpUserData;
|
||||
inline bool fpcM_IsFirstCreating(void* i_process) {
|
||||
return ((base_process_class*)i_process)->init_state == 0;
|
||||
}
|
||||
|
||||
inline process_profile_definition* fpcM_GetProfile(void* i_process) {
|
||||
return ((base_process_class*)i_process)->profile;
|
||||
}
|
||||
|
||||
inline void* fpcM_GetAppend(const void* i_process) {
|
||||
return ((base_process_class*)i_process)->append;
|
||||
}
|
||||
|
||||
inline BOOL fpcM_IsExecuting(fpc_ProcID id) {
|
||||
@@ -68,29 +70,33 @@ inline BOOL fpcM_IsExecuting(fpc_ProcID id) {
|
||||
}
|
||||
|
||||
inline void* fpcM_LyJudge(process_node_class* i_node, fpcLyIt_JudgeFunc i_func, void* i_data) {
|
||||
return fpcLyIt_Judge(&i_node->mLayer, i_func, i_data);
|
||||
return fpcLyIt_Judge(&i_node->layer, i_func, i_data);
|
||||
}
|
||||
|
||||
inline base_process_class* fpcM_Search(fpcLyIt_JudgeFunc pFunc, void* pUserData) {
|
||||
return fpcEx_Search(pFunc, pUserData);
|
||||
inline base_process_class* fpcM_Search(fpcLyIt_JudgeFunc i_func, void* i_data) {
|
||||
return fpcEx_Search(i_func, i_data);
|
||||
}
|
||||
|
||||
inline base_process_class* fpcM_SearchByName(s16 name) {
|
||||
return (base_process_class*)fpcLyIt_AllJudge(fpcSch_JudgeForPName, &name);
|
||||
}
|
||||
|
||||
void fpcM_Draw(void* pProc);
|
||||
s32 fpcM_DrawIterater(fpcM_DrawIteraterFunc pFunc);
|
||||
s32 fpcM_Execute(void* pProc);
|
||||
s32 fpcM_Delete(void* pProc);
|
||||
BOOL fpcM_IsCreating(fpc_ProcID pID);
|
||||
void fpcM_Management(fpcM_ManagementFunc pFunc1, fpcM_ManagementFunc pFunc2);
|
||||
inline base_process_class* fpcM_SearchByID(fpc_ProcID i_id) {
|
||||
return fpcEx_SearchByID(i_id);
|
||||
}
|
||||
|
||||
void fpcM_Draw(void* i_process);
|
||||
s32 fpcM_DrawIterater(fpcM_DrawIteraterFunc i_drawIterFunc);
|
||||
s32 fpcM_Execute(void* i_process);
|
||||
s32 fpcM_Delete(void* i_process);
|
||||
BOOL fpcM_IsCreating(fpc_ProcID i_id);
|
||||
void fpcM_Management(fpcM_ManagementFunc i_preExecuteFn, fpcM_ManagementFunc i_postExecuteFn);
|
||||
void fpcM_Init();
|
||||
base_process_class* fpcM_FastCreate(s16 pProcTypeID, FastCreateReqFunc param_2, void* param_3,
|
||||
void* pData);
|
||||
s32 fpcM_IsPause(void* pProc, u8 param_2);
|
||||
void fpcM_PauseEnable(void* pProc, u8 param_2);
|
||||
void fpcM_PauseDisable(void* pProc, u8 param_2);
|
||||
void* fpcM_JudgeInLayer(fpc_ProcID pLayerID, fpcCtIt_JudgeFunc pFunc, void* pUserData);
|
||||
base_process_class* fpcM_FastCreate(s16 i_procname, FastCreateReqFunc i_createReqFunc,
|
||||
void* i_createData, void* i_append);
|
||||
s32 fpcM_IsPause(void* i_process, u8 i_flag);
|
||||
void fpcM_PauseEnable(void* i_process, u8 i_flag);
|
||||
void fpcM_PauseDisable(void* i_process, u8 i_flag);
|
||||
void* fpcM_JudgeInLayer(fpc_ProcID i_layerID, fpcCtIt_JudgeFunc i_judgeFunc, void* i_data);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -7,21 +7,16 @@
|
||||
typedef int (*process_method_func)(void*);
|
||||
|
||||
typedef struct process_method_class {
|
||||
process_method_func mpCreateFunc;
|
||||
process_method_func mpDeleteFunc;
|
||||
process_method_func mpExecuteFunc;
|
||||
process_method_func mpIsDeleteFunc;
|
||||
/* 0x0 */ process_method_func create_method;
|
||||
/* 0x4 */ process_method_func delete_method;
|
||||
/* 0x8 */ process_method_func execute_method;
|
||||
/* 0xC */ process_method_func is_delete_method;
|
||||
} process_method_class;
|
||||
|
||||
s32 fpcMtd_Method(process_method_func pFunc, void* pUserData);
|
||||
s32 fpcMtd_Execute(process_method_class* pMthd, void* pUserData);
|
||||
s32 fpcMtd_IsDelete(process_method_class* pMthd, void* pUserData);
|
||||
s32 fpcMtd_Delete(process_method_class* pMthd, void* pUserData);
|
||||
s32 fpcMtd_Create(process_method_class* pMthd, void* pUserData);
|
||||
|
||||
extern "C" {
|
||||
void fpcMtd_Execute__FP20process_method_classPv(void);
|
||||
void fpcMtd_Create__FP20process_method_classPv(void);
|
||||
}
|
||||
s32 fpcMtd_Method(process_method_func i_method, void* i_process);
|
||||
s32 fpcMtd_Execute(process_method_class* i_methods, void* i_process);
|
||||
s32 fpcMtd_IsDelete(process_method_class* i_methods, void* i_process);
|
||||
s32 fpcMtd_Delete(process_method_class* i_methods, void* i_process);
|
||||
s32 fpcMtd_Create(process_method_class* i_methods, void* i_process);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -8,6 +8,6 @@ typedef struct node_list_class node_list_class;
|
||||
|
||||
typedef int (*fpcMtdIt_MethodFunc)(void*);
|
||||
|
||||
void fpcMtdIt_Method(node_list_class* pList, fpcMtdIt_MethodFunc pMethod);
|
||||
int fpcMtdIt_Method(node_list_class* pList, fpcMtdIt_MethodFunc pMethod);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
typedef int (*process_method_tag_func)(void*);
|
||||
|
||||
typedef struct process_method_tag_class {
|
||||
create_tag_class mCreateTag;
|
||||
process_method_tag_func mpFunc;
|
||||
void* mpMthdData;
|
||||
/* 0x00 */ create_tag_class create_tag;
|
||||
/* 0x14 */ process_method_tag_func method;
|
||||
/* 0x18 */ void* data;
|
||||
} process_method_tag_class;
|
||||
|
||||
s32 fpcMtdTg_Do(process_method_tag_class* pMthd);
|
||||
s32 fpcMtdTg_ToMethodQ(node_list_class* pList, process_method_tag_class* pMthd);
|
||||
void fpcMtdTg_MethodQTo(process_method_tag_class* pMthd);
|
||||
s32 fpcMtdTg_Init(process_method_tag_class* pMthd, process_method_tag_func pFunc, void* pMthdData);
|
||||
s32 fpcMtdTg_Do(process_method_tag_class* i_methodTag);
|
||||
s32 fpcMtdTg_ToMethodQ(node_list_class* i_nodelist, process_method_tag_class* i_methodTag);
|
||||
void fpcMtdTg_MethodQTo(process_method_tag_class* i_methodTag);
|
||||
s32 fpcMtdTg_Init(process_method_tag_class* i_methodTag, process_method_tag_func i_method, void* i_data);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -8,21 +8,21 @@
|
||||
#include "f_pc/f_pc_profile.h"
|
||||
|
||||
typedef struct nodedraw_method_class {
|
||||
process_method_class mBase;
|
||||
process_method_func mpDrawFunc;
|
||||
/* 0x00 */ process_method_class base;
|
||||
/* 0x10 */ process_method_func draw_method;
|
||||
} nodedraw_method_class;
|
||||
|
||||
typedef struct process_node_class {
|
||||
/* 0x00 */ base_process_class mBase;
|
||||
/* 0xB8 */ nodedraw_method_class* mpNodeMtd;
|
||||
/* 0xBC */ layer_class mLayer;
|
||||
/* 0xE8 */ node_list_class mLayerNodeLists[16];
|
||||
/* 0x1A8 */ s8 mUnk0;
|
||||
/* 0x000 */ base_process_class base;
|
||||
/* 0x0B8 */ nodedraw_method_class* nodedraw_method;
|
||||
/* 0x0BC */ layer_class layer;
|
||||
/* 0x0E8 */ node_list_class layer_nodelist[16];
|
||||
/* 0x1A8 */ s8 unk_0x1A8;
|
||||
} process_node_class;
|
||||
|
||||
typedef struct node_process_profile_definition {
|
||||
/* 0x00 */ process_profile_definition mBase;
|
||||
/* 0x1C */ process_method_class* sub_method; // Subclass methods
|
||||
/* 0x00 */ process_profile_definition base;
|
||||
/* 0x1C */ process_method_class* sub_methods;
|
||||
} node_process_profile_definition;
|
||||
|
||||
s32 fpcNd_DrawMethod(nodedraw_method_class* pNodeMethod, void* pData);
|
||||
|
||||
@@ -10,62 +10,63 @@ typedef struct layer_class layer_class;
|
||||
typedef struct process_node_class process_node_class;
|
||||
|
||||
typedef struct node_create_request_method_class {
|
||||
process_method_func mpExecuteFunc;
|
||||
process_method_func mpCancelFunc;
|
||||
process_method_func mpUnkFunc;
|
||||
process_method_func mpPostMethodFunc;
|
||||
/* 0x0 */ process_method_func execute_method;
|
||||
/* 0x4 */ process_method_func cancel_method;
|
||||
/* 0x8 */ process_method_func delete_method;
|
||||
/* 0xC */ process_method_func post_method;
|
||||
} node_create_request_method_class;
|
||||
|
||||
// needed to match struct copy
|
||||
typedef struct unk_process_node_class {
|
||||
process_node_class* mpNodeProc;
|
||||
u32 mProcId;
|
||||
/* 0x0 */ process_node_class* node;
|
||||
/* 0x4 */ fpc_ProcID id;
|
||||
} unk_process_node_class;
|
||||
|
||||
typedef struct node_create_request {
|
||||
create_tag_class mCreateTag;
|
||||
process_method_tag_class mProcMthCls;
|
||||
request_of_phase_process_class mReqPhsProc;
|
||||
cPhs__Handler* mpPhsHandler;
|
||||
node_create_request_method_class* mpNodeCrReqMthCls;
|
||||
s32 mParameter;
|
||||
s32 mRequestId;
|
||||
unk_process_node_class mNodeProc;
|
||||
layer_class* mpLayerClass;
|
||||
u32 mCreatingID;
|
||||
s16 mProcName;
|
||||
void* mpUserData;
|
||||
s16 unk_0x60;
|
||||
|
||||
/* 0x00 */ create_tag_class create_tag;
|
||||
/* 0x14 */ process_method_tag_class method_tag;
|
||||
/* 0x30 */ request_of_phase_process_class phase_request;
|
||||
/* 0x38 */ cPhs__Handler* phase_handler;
|
||||
/* 0x3C */ node_create_request_method_class* create_req_methods;
|
||||
/* 0x40 */ s32 parameters;
|
||||
/* 0x44 */ fpc_ProcID request_id;
|
||||
/* 0x48 */ unk_process_node_class node_proc;
|
||||
/* 0x50 */ layer_class* layer;
|
||||
/* 0x54 */ fpc_ProcID creating_id;
|
||||
/* 0x58 */ s16 name;
|
||||
/* 0x5C */ void* data;
|
||||
/* 0x60 */ s16 unk_0x60;
|
||||
} node_create_request; // Size: 0x64
|
||||
|
||||
typedef struct request_node_class {
|
||||
node_class mBase;
|
||||
node_create_request* mNodeCrReq;
|
||||
/* 0x0 */ node_class node;
|
||||
/* 0x4 */ node_create_request* node_create_req;
|
||||
} request_node_class;
|
||||
|
||||
void fpcNdRq_RequestQTo(node_create_request* pNodeCreateReq);
|
||||
void fpcNdRq_ToRequestQ(node_create_request* pNodeCreateReq);
|
||||
s32 fpcNdRq_phase_IsCreated(node_create_request* pNodeCreateReq);
|
||||
s32 fpcNdRq_phase_Create(node_create_request* pNodeCreateReq);
|
||||
s32 fpcNdRq_phase_IsDeleteTiming(node_create_request* pNodeCreateReq);
|
||||
s32 fpcNdRq_phase_IsDeleted(node_create_request* pNodeCreateReq);
|
||||
s32 fpcNdRq_phase_Delete(node_create_request* pNodeCreateReq);
|
||||
s32 fpcNdRq_DoPhase(node_create_request* pNodeCreateReq);
|
||||
s32 fpcNdRq_Execute(node_create_request* pNodeCreateReq);
|
||||
s32 fpcNdRq_Delete(node_create_request* pNodeCreateReq);
|
||||
s32 fpcNdRq_Cancel(node_create_request* pNodeCreateReq);
|
||||
s32 fpcNdRq_Handler(void);
|
||||
s32 fpcNdRq_IsPossibleTarget(process_node_class* pProcNode);
|
||||
s32 fpcNdRq_IsIng(process_node_class* pProcNode);
|
||||
node_create_request* fpcNdRq_Create(u32 pRequestSize);
|
||||
node_create_request* fpcNdRq_ChangeNode(u32 pRequestSize, process_node_class* pProcNode,
|
||||
s16 param_3, void* param_4);
|
||||
node_create_request* fpcNdRq_DeleteNode(u32 pRequestSize, process_node_class* pProcNode);
|
||||
node_create_request* fpcNdRq_CreateNode(u32 pRequestSize, s16 param_2, void* param_3);
|
||||
void fpcNdRq_RequestQTo(node_create_request* i_request);
|
||||
void fpcNdRq_ToRequestQ(node_create_request* i_request);
|
||||
s32 fpcNdRq_phase_IsCreated(node_create_request* i_request);
|
||||
s32 fpcNdRq_phase_Create(node_create_request* i_request);
|
||||
s32 fpcNdRq_phase_IsDeleteTiming(node_create_request* i_request);
|
||||
s32 fpcNdRq_phase_IsDeleted(node_create_request* i_request);
|
||||
s32 fpcNdRq_phase_Delete(node_create_request* i_request);
|
||||
s32 fpcNdRq_DoPhase(node_create_request* i_request);
|
||||
s32 fpcNdRq_Execute(node_create_request* i_request);
|
||||
s32 fpcNdRq_Delete(node_create_request* i_request);
|
||||
s32 fpcNdRq_Cancel(node_create_request* i_request);
|
||||
s32 fpcNdRq_Handler();
|
||||
s32 fpcNdRq_IsPossibleTarget(process_node_class* i_procNode);
|
||||
s32 fpcNdRq_IsIng(process_node_class* i_procNode);
|
||||
node_create_request* fpcNdRq_Create(u32 i_requestSize);
|
||||
node_create_request* fpcNdRq_ChangeNode(u32 i_requestSize, process_node_class* i_procNode,
|
||||
s16 i_procName, void* i_data);
|
||||
node_create_request* fpcNdRq_DeleteNode(u32 i_requestSize, process_node_class* i_procNode);
|
||||
node_create_request* fpcNdRq_CreateNode(u32 i_requestSize, s16 i_procName, void* i_data);
|
||||
node_create_request*
|
||||
fpcNdRq_Request(u32 param_1, int param_2, process_node_class* param_3, s16 param_4,
|
||||
void* param_5, node_create_request_method_class* pNodeCreateRequestMethodClass);
|
||||
s32 fpcNdRq_ReChangeNode(fpc_ProcID pRequestId, s16 param_2, void* param_3);
|
||||
s32 fpcNdRq_ReRequest(fpc_ProcID pRequestId, s16 param_2, void* param_3);
|
||||
fpcNdRq_Request(u32 i_requestSize, int i_reqType,
|
||||
process_node_class* i_procNode, s16 i_procName, void* i_data,
|
||||
node_create_request_method_class* i_create_req_methods);
|
||||
s32 fpcNdRq_ReChangeNode(fpc_ProcID i_requestID, s16 i_procName, void* i_data);
|
||||
s32 fpcNdRq_ReRequest(fpc_ProcID i_requestID, s16 i_procName, void* i_data);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -7,19 +7,20 @@
|
||||
enum {
|
||||
fpcPi_CURRENT_e = 0xFFFD,
|
||||
fpcPi_SPECIAL_e = 0xFFFE,
|
||||
fpcPi_NONE_e = 0xFFFF,
|
||||
};
|
||||
|
||||
typedef struct process_priority_queue_info {
|
||||
u32 mLayer;
|
||||
u16 mListID;
|
||||
u16 mListPrio;
|
||||
/* 0x0 */ unsigned int layer_id;
|
||||
/* 0x4 */ u16 list_id;
|
||||
/* 0x6 */ u16 list_priority;
|
||||
} process_priority_queue_info;
|
||||
|
||||
typedef struct process_priority_class {
|
||||
/* 0x00 */ create_tag_class mBase;
|
||||
/* 0x14 */ process_method_tag_class mMtdTag;
|
||||
/* 0x30 */ process_priority_queue_info mInfoQ;
|
||||
/* 0x38 */ process_priority_queue_info mInfoCurr;
|
||||
/* 0x00 */ create_tag_class base;
|
||||
/* 0x14 */ process_method_tag_class method_tag;
|
||||
/* 0x30 */ process_priority_queue_info queue_info;
|
||||
/* 0x38 */ process_priority_queue_info current_info;
|
||||
} process_priority_class;
|
||||
|
||||
s32 fpcPi_IsInQueue(process_priority_class* pPi);
|
||||
|
||||
@@ -9,20 +9,20 @@ typedef struct leafdraw_method_class leafdraw_method_class;
|
||||
typedef struct process_method_class process_method_class;
|
||||
|
||||
typedef struct process_profile_definition {
|
||||
/* 0x00 */ s32 mLayerID;
|
||||
/* 0x04 */ u16 mListID;
|
||||
/* 0x06 */ u16 mListPrio;
|
||||
/* 0x08 */ s16 mProcName;
|
||||
/* 0x0C */ process_method_class* sub_method; // Subclass methods
|
||||
/* 0x10 */ s32 mSize;
|
||||
/* 0x14 */ s32 mSizeOther;
|
||||
/* 0x18 */ s32 mParameters;
|
||||
/* 0x00 */ unsigned int layer_id;
|
||||
/* 0x04 */ u16 list_id;
|
||||
/* 0x06 */ u16 list_priority;
|
||||
/* 0x08 */ s16 name;
|
||||
/* 0x0C */ process_method_class* methods;
|
||||
/* 0x10 */ u32 process_size;
|
||||
/* 0x14 */ u32 unk_size;
|
||||
/* 0x18 */ u32 parameters;
|
||||
} process_profile_definition;
|
||||
|
||||
#define LAYER_DEFAULT (-2)
|
||||
|
||||
struct leaf_process_profile_definition;
|
||||
process_profile_definition* fpcPf_Get(s16 profileID);
|
||||
process_profile_definition* fpcPf_Get(s16 i_profname);
|
||||
extern process_profile_definition** g_fpcPf_ProfileList_p;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,801 @@
|
||||
#ifndef F_PC_PROFILE_LST_H_
|
||||
#define F_PC_PROFILE_LST_H_
|
||||
|
||||
#include "f_pc/f_pc_profile.h"
|
||||
|
||||
extern process_profile_definition g_profile_ALINK;
|
||||
extern process_profile_definition g_profile_NO_CHG_ROOM;
|
||||
extern process_profile_definition g_profile_ITEM;
|
||||
extern process_profile_definition g_profile_CAMERA;
|
||||
extern process_profile_definition g_profile_CAMERA2;
|
||||
extern process_profile_definition g_profile_ENVSE;
|
||||
extern process_profile_definition g_profile_GAMEOVER;
|
||||
extern process_profile_definition g_profile_KANKYO;
|
||||
extern process_profile_definition g_profile_KYEFF;
|
||||
extern process_profile_definition g_profile_KYEFF2;
|
||||
extern process_profile_definition g_profile_KY_THUNDER;
|
||||
extern process_profile_definition g_profile_MENUWINDOW;
|
||||
extern process_profile_definition g_profile_METER2;
|
||||
extern process_profile_definition g_profile_MSG_OBJECT;
|
||||
extern process_profile_definition g_profile_OVERLAP0;
|
||||
extern process_profile_definition g_profile_OVERLAP1;
|
||||
extern process_profile_definition g_profile_OVERLAP6;
|
||||
extern process_profile_definition g_profile_OVERLAP7;
|
||||
extern process_profile_definition g_profile_OVERLAP8;
|
||||
extern process_profile_definition g_profile_OVERLAP9;
|
||||
extern process_profile_definition g_profile_OVERLAP10;
|
||||
extern process_profile_definition g_profile_OVERLAP11;
|
||||
extern process_profile_definition g_profile_OVERLAP2;
|
||||
extern process_profile_definition g_profile_OVERLAP3;
|
||||
extern process_profile_definition g_profile_LOGO_SCENE;
|
||||
extern process_profile_definition g_profile_MENU_SCENE;
|
||||
extern process_profile_definition g_profile_NAME_SCENE;
|
||||
extern process_profile_definition g_profile_NAMEEX_SCENE;
|
||||
extern process_profile_definition g_profile_PLAY_SCENE;
|
||||
extern process_profile_definition g_profile_OPENING_SCENE;
|
||||
extern process_profile_definition g_profile_ROOM_SCENE;
|
||||
extern process_profile_definition g_profile_WARNING_SCENE;
|
||||
extern process_profile_definition g_profile_WARNING2_SCENE;
|
||||
extern process_profile_definition g_profile_TIMER;
|
||||
extern process_profile_definition g_profile_WMARK;
|
||||
extern process_profile_definition g_profile_WPILLAR;
|
||||
extern process_profile_definition g_profile_ANDSW;
|
||||
extern process_profile_definition g_profile_BG;
|
||||
extern process_profile_definition g_profile_BG_OBJ;
|
||||
extern process_profile_definition g_profile_DMIDNA;
|
||||
extern process_profile_definition g_profile_DBDOOR;
|
||||
extern process_profile_definition g_profile_KNOB20;
|
||||
extern process_profile_definition g_profile_DOOR20;
|
||||
extern process_profile_definition g_profile_SPIRAL_DOOR;
|
||||
extern process_profile_definition g_profile_DSHUTTER;
|
||||
extern process_profile_definition g_profile_EP;
|
||||
extern process_profile_definition g_profile_HITOBJ;
|
||||
extern process_profile_definition g_profile_KYTAG00;
|
||||
extern process_profile_definition g_profile_KYTAG04;
|
||||
extern process_profile_definition g_profile_KYTAG17;
|
||||
extern process_profile_definition g_profile_OBJ_BEF;
|
||||
extern process_profile_definition g_profile_Obj_BurnBox;
|
||||
extern process_profile_definition g_profile_Obj_Carry;
|
||||
extern process_profile_definition g_profile_OBJ_ITO;
|
||||
extern process_profile_definition g_profile_Obj_Movebox;
|
||||
extern process_profile_definition g_profile_Obj_Swpush;
|
||||
extern process_profile_definition g_profile_Obj_Timer;
|
||||
extern process_profile_definition g_profile_PATH_LINE;
|
||||
extern process_profile_definition g_profile_SCENE_EXIT;
|
||||
extern process_profile_definition g_profile_SET_BG_OBJ;
|
||||
extern process_profile_definition g_profile_SWHIT0;
|
||||
extern process_profile_definition g_profile_TAG_ALLMATO;
|
||||
extern process_profile_definition g_profile_TAG_CAMERA;
|
||||
extern process_profile_definition g_profile_TAG_CHKPOINT;
|
||||
extern process_profile_definition g_profile_TAG_EVENT;
|
||||
extern process_profile_definition g_profile_TAG_EVT;
|
||||
extern process_profile_definition g_profile_TAG_EVTAREA;
|
||||
extern process_profile_definition g_profile_TAG_EVTMSG;
|
||||
extern process_profile_definition g_profile_TAG_HOWL;
|
||||
extern process_profile_definition g_profile_TAG_KMSG;
|
||||
extern process_profile_definition g_profile_TAG_LANTERN;
|
||||
extern process_profile_definition g_profile_Tag_Mist;
|
||||
extern process_profile_definition g_profile_TAG_MSG;
|
||||
extern process_profile_definition g_profile_TAG_PUSH;
|
||||
extern process_profile_definition g_profile_TAG_TELOP;
|
||||
extern process_profile_definition g_profile_TBOX;
|
||||
extern process_profile_definition g_profile_TBOX2;
|
||||
extern process_profile_definition g_profile_VRBOX;
|
||||
extern process_profile_definition g_profile_VRBOX2;
|
||||
extern process_profile_definition g_profile_ARROW;
|
||||
extern process_profile_definition g_profile_BOOMERANG;
|
||||
extern process_profile_definition g_profile_CROD;
|
||||
extern process_profile_definition g_profile_DEMO00;
|
||||
extern process_profile_definition g_profile_DISAPPEAR;
|
||||
extern process_profile_definition g_profile_MG_ROD;
|
||||
extern process_profile_definition g_profile_MIDNA;
|
||||
extern process_profile_definition g_profile_NBOMB;
|
||||
extern process_profile_definition g_profile_Obj_LifeContainer;
|
||||
extern process_profile_definition g_profile_Obj_Yousei;
|
||||
extern process_profile_definition g_profile_SPINNER;
|
||||
extern process_profile_definition g_profile_SUSPEND;
|
||||
extern process_profile_definition g_profile_Tag_Attp;
|
||||
extern process_profile_definition g_profile_ALLDIE;
|
||||
extern process_profile_definition g_profile_ANDSW2;
|
||||
extern process_profile_definition g_profile_BD;
|
||||
extern process_profile_definition g_profile_CANOE;
|
||||
extern process_profile_definition g_profile_CSTAF;
|
||||
extern process_profile_definition g_profile_Demo_Item;
|
||||
extern process_profile_definition g_profile_L1BOSS_DOOR;
|
||||
extern process_profile_definition g_profile_E_DN;
|
||||
extern process_profile_definition g_profile_E_FM;
|
||||
extern process_profile_definition g_profile_E_GA;
|
||||
extern process_profile_definition g_profile_E_HB;
|
||||
extern process_profile_definition g_profile_E_NEST;
|
||||
extern process_profile_definition g_profile_E_RD;
|
||||
extern process_profile_definition g_profile_ECONT;
|
||||
extern process_profile_definition g_profile_FR;
|
||||
extern process_profile_definition g_profile_GRASS;
|
||||
extern process_profile_definition g_profile_KYTAG05;
|
||||
extern process_profile_definition g_profile_KYTAG10;
|
||||
extern process_profile_definition g_profile_KYTAG11;
|
||||
extern process_profile_definition g_profile_KYTAG14;
|
||||
extern process_profile_definition g_profile_MG_FISH;
|
||||
extern process_profile_definition g_profile_NPC_BESU;
|
||||
extern process_profile_definition g_profile_NPC_FAIRY_SEIREI;
|
||||
extern process_profile_definition g_profile_NPC_FISH;
|
||||
extern process_profile_definition g_profile_NPC_HENNA;
|
||||
extern process_profile_definition g_profile_NPC_KAKASHI;
|
||||
extern process_profile_definition g_profile_NPC_KKRI;
|
||||
extern process_profile_definition g_profile_NPC_KOLIN;
|
||||
extern process_profile_definition g_profile_NPC_MARO;
|
||||
extern process_profile_definition g_profile_NPC_TARO;
|
||||
extern process_profile_definition g_profile_NPC_TKJ;
|
||||
extern process_profile_definition g_profile_Obj_BHASHI;
|
||||
extern process_profile_definition g_profile_Obj_BkDoor;
|
||||
extern process_profile_definition g_profile_Obj_BossWarp;
|
||||
extern process_profile_definition g_profile_Obj_Cboard;
|
||||
extern process_profile_definition g_profile_Obj_Digpl;
|
||||
extern process_profile_definition g_profile_Obj_Eff;
|
||||
extern process_profile_definition g_profile_OBJ_FMOBJ;
|
||||
extern process_profile_definition g_profile_Obj_GpTaru;
|
||||
extern process_profile_definition g_profile_Obj_HHASHI;
|
||||
extern process_profile_definition g_profile_OBJ_KANBAN2;
|
||||
extern process_profile_definition g_profile_OBJ_KBACKET;
|
||||
extern process_profile_definition g_profile_Obj_KkrGate;
|
||||
extern process_profile_definition g_profile_Obj_KLift00;
|
||||
extern process_profile_definition g_profile_Tag_KtOnFire;
|
||||
extern process_profile_definition g_profile_Obj_Ladder;
|
||||
extern process_profile_definition g_profile_Obj_Lv2Candle;
|
||||
extern process_profile_definition g_profile_Obj_MagneArm;
|
||||
extern process_profile_definition g_profile_Obj_MetalBox;
|
||||
extern process_profile_definition g_profile_Obj_MGate;
|
||||
extern process_profile_definition g_profile_Obj_NamePlate;
|
||||
extern process_profile_definition g_profile_Obj_OnCloth;
|
||||
extern process_profile_definition g_profile_Obj_RopeBridge;
|
||||
extern process_profile_definition g_profile_Obj_SwallShutter;
|
||||
extern process_profile_definition g_profile_OBJ_STICK;
|
||||
extern process_profile_definition g_profile_Obj_StoneMark;
|
||||
extern process_profile_definition g_profile_Obj_Swpropeller;
|
||||
extern process_profile_definition g_profile_Obj_Swpush5;
|
||||
extern process_profile_definition g_profile_Obj_Yobikusa;
|
||||
extern process_profile_definition g_profile_SCENE_EXIT2;
|
||||
extern process_profile_definition g_profile_ShopItem;
|
||||
extern process_profile_definition g_profile_SQ;
|
||||
extern process_profile_definition g_profile_SWC00;
|
||||
extern process_profile_definition g_profile_Tag_CstaSw;
|
||||
extern process_profile_definition g_profile_Tag_AJnot;
|
||||
extern process_profile_definition g_profile_Tag_AttackItem;
|
||||
extern process_profile_definition g_profile_Tag_Gstart;
|
||||
extern process_profile_definition g_profile_Tag_Hinit;
|
||||
extern process_profile_definition g_profile_Tag_Hjump;
|
||||
extern process_profile_definition g_profile_Tag_Hstop;
|
||||
extern process_profile_definition g_profile_Tag_Lv2PrChk;
|
||||
extern process_profile_definition g_profile_Tag_Magne;
|
||||
extern process_profile_definition g_profile_Tag_Mhint;
|
||||
extern process_profile_definition g_profile_Tag_Mstop;
|
||||
extern process_profile_definition g_profile_Tag_Spring;
|
||||
extern process_profile_definition g_profile_Tag_Statue;
|
||||
extern process_profile_definition g_profile_Ykgr;
|
||||
extern process_profile_definition g_profile_DR;
|
||||
extern process_profile_definition g_profile_L7lowDr;
|
||||
extern process_profile_definition g_profile_L7ODR;
|
||||
extern process_profile_definition g_profile_B_BH;
|
||||
extern process_profile_definition g_profile_B_BQ;
|
||||
extern process_profile_definition g_profile_B_DR;
|
||||
extern process_profile_definition g_profile_B_DRE;
|
||||
extern process_profile_definition g_profile_B_DS;
|
||||
extern process_profile_definition g_profile_B_GG;
|
||||
extern process_profile_definition g_profile_B_GM;
|
||||
extern process_profile_definition g_profile_B_GND;
|
||||
extern process_profile_definition g_profile_B_GO;
|
||||
extern process_profile_definition g_profile_B_GOS;
|
||||
extern process_profile_definition g_profile_B_MGN;
|
||||
extern process_profile_definition g_profile_B_OB;
|
||||
extern process_profile_definition g_profile_B_OH;
|
||||
extern process_profile_definition g_profile_B_OH2;
|
||||
extern process_profile_definition g_profile_B_TN;
|
||||
extern process_profile_definition g_profile_B_YO;
|
||||
extern process_profile_definition g_profile_B_YOI;
|
||||
extern process_profile_definition g_profile_B_ZANT;
|
||||
extern process_profile_definition g_profile_B_ZANTM;
|
||||
extern process_profile_definition g_profile_B_ZANTZ;
|
||||
extern process_profile_definition g_profile_B_ZANTS;
|
||||
extern process_profile_definition g_profile_BALLOON2D;
|
||||
extern process_profile_definition g_profile_BULLET;
|
||||
extern process_profile_definition g_profile_COACH2D;
|
||||
extern process_profile_definition g_profile_COACH_FIRE;
|
||||
extern process_profile_definition g_profile_COW;
|
||||
extern process_profile_definition g_profile_CSTATUE;
|
||||
extern process_profile_definition g_profile_DO;
|
||||
extern process_profile_definition g_profile_BOSS_DOOR;
|
||||
extern process_profile_definition g_profile_L5BOSS_DOOR;
|
||||
extern process_profile_definition g_profile_L1MBOSS_DOOR;
|
||||
extern process_profile_definition g_profile_PushDoor;
|
||||
extern process_profile_definition g_profile_E_AI;
|
||||
extern process_profile_definition g_profile_E_ARROW;
|
||||
extern process_profile_definition g_profile_E_BA;
|
||||
extern process_profile_definition g_profile_E_BEE;
|
||||
extern process_profile_definition g_profile_E_BG;
|
||||
extern process_profile_definition g_profile_E_BI;
|
||||
extern process_profile_definition g_profile_E_BI_LEAF;
|
||||
extern process_profile_definition g_profile_E_BS;
|
||||
extern process_profile_definition g_profile_E_BU;
|
||||
extern process_profile_definition g_profile_E_BUG;
|
||||
extern process_profile_definition g_profile_E_CR;
|
||||
extern process_profile_definition g_profile_E_CR_EGG;
|
||||
extern process_profile_definition g_profile_E_DB;
|
||||
extern process_profile_definition g_profile_E_DB_LEAF;
|
||||
extern process_profile_definition g_profile_E_DD;
|
||||
extern process_profile_definition g_profile_E_DF;
|
||||
extern process_profile_definition g_profile_E_DK;
|
||||
extern process_profile_definition g_profile_E_DT;
|
||||
extern process_profile_definition g_profile_E_FB;
|
||||
extern process_profile_definition g_profile_E_FK;
|
||||
extern process_profile_definition g_profile_E_FS;
|
||||
extern process_profile_definition g_profile_E_FZ;
|
||||
extern process_profile_definition g_profile_E_GB;
|
||||
extern process_profile_definition g_profile_E_GE;
|
||||
extern process_profile_definition g_profile_E_GI;
|
||||
extern process_profile_definition g_profile_E_GM;
|
||||
extern process_profile_definition g_profile_E_GOB;
|
||||
extern process_profile_definition g_profile_E_GS;
|
||||
extern process_profile_definition g_profile_E_HB_LEAF;
|
||||
extern process_profile_definition g_profile_E_HM;
|
||||
extern process_profile_definition g_profile_E_HP;
|
||||
extern process_profile_definition g_profile_E_HZ;
|
||||
extern process_profile_definition g_profile_E_HZELDA;
|
||||
extern process_profile_definition g_profile_E_IS;
|
||||
extern process_profile_definition g_profile_E_KG;
|
||||
extern process_profile_definition g_profile_E_KK;
|
||||
extern process_profile_definition g_profile_E_KR;
|
||||
extern process_profile_definition g_profile_E_MB;
|
||||
extern process_profile_definition g_profile_E_MD;
|
||||
extern process_profile_definition g_profile_E_MF;
|
||||
extern process_profile_definition g_profile_E_MK;
|
||||
extern process_profile_definition g_profile_E_MK_BO;
|
||||
extern process_profile_definition g_profile_E_MM;
|
||||
extern process_profile_definition g_profile_E_MM_MT;
|
||||
extern process_profile_definition g_profile_E_MS;
|
||||
extern process_profile_definition g_profile_E_NZ;
|
||||
extern process_profile_definition g_profile_E_OC;
|
||||
extern process_profile_definition g_profile_E_OctBg;
|
||||
extern process_profile_definition g_profile_E_OT;
|
||||
extern process_profile_definition g_profile_E_PH;
|
||||
extern process_profile_definition g_profile_E_PM;
|
||||
extern process_profile_definition g_profile_E_PO;
|
||||
extern process_profile_definition g_profile_E_PZ;
|
||||
extern process_profile_definition g_profile_E_RB;
|
||||
extern process_profile_definition g_profile_E_RDB;
|
||||
extern process_profile_definition g_profile_E_RDY;
|
||||
extern process_profile_definition g_profile_E_S1;
|
||||
extern process_profile_definition g_profile_E_SB;
|
||||
extern process_profile_definition g_profile_E_SF;
|
||||
extern process_profile_definition g_profile_E_SG;
|
||||
extern process_profile_definition g_profile_E_SH;
|
||||
extern process_profile_definition g_profile_E_SM;
|
||||
extern process_profile_definition g_profile_E_SM2;
|
||||
extern process_profile_definition g_profile_E_ST;
|
||||
extern process_profile_definition g_profile_E_ST_LINE;
|
||||
extern process_profile_definition g_profile_E_SW;
|
||||
extern process_profile_definition g_profile_E_TH;
|
||||
extern process_profile_definition g_profile_E_TH_BALL;
|
||||
extern process_profile_definition g_profile_E_TK;
|
||||
extern process_profile_definition g_profile_E_TK2;
|
||||
extern process_profile_definition g_profile_E_TK_BALL;
|
||||
extern process_profile_definition g_profile_E_TT;
|
||||
extern process_profile_definition g_profile_E_VT;
|
||||
extern process_profile_definition g_profile_E_WAP;
|
||||
extern process_profile_definition g_profile_E_WB;
|
||||
extern process_profile_definition g_profile_E_WS;
|
||||
extern process_profile_definition g_profile_E_WW;
|
||||
extern process_profile_definition g_profile_E_YC;
|
||||
extern process_profile_definition g_profile_E_YD;
|
||||
extern process_profile_definition g_profile_E_YD_LEAF;
|
||||
extern process_profile_definition g_profile_E_YG;
|
||||
extern process_profile_definition g_profile_E_YH;
|
||||
extern process_profile_definition g_profile_E_YK;
|
||||
extern process_profile_definition g_profile_E_YM;
|
||||
extern process_profile_definition g_profile_E_YM_TAG;
|
||||
extern process_profile_definition g_profile_E_YMB;
|
||||
extern process_profile_definition g_profile_E_YR;
|
||||
extern process_profile_definition g_profile_E_ZH;
|
||||
extern process_profile_definition g_profile_E_ZM;
|
||||
extern process_profile_definition g_profile_E_ZS;
|
||||
extern process_profile_definition g_profile_FORMATION_MNG;
|
||||
extern process_profile_definition g_profile_GUARD_MNG;
|
||||
extern process_profile_definition g_profile_HORSE;
|
||||
extern process_profile_definition g_profile_HOZELDA;
|
||||
extern process_profile_definition g_profile_Izumi_Gate;
|
||||
extern process_profile_definition g_profile_KAGO;
|
||||
extern process_profile_definition g_profile_KYTAG01;
|
||||
extern process_profile_definition g_profile_KYTAG02;
|
||||
extern process_profile_definition g_profile_KYTAG03;
|
||||
extern process_profile_definition g_profile_KYTAG06;
|
||||
extern process_profile_definition g_profile_KYTAG07;
|
||||
extern process_profile_definition g_profile_KYTAG08;
|
||||
extern process_profile_definition g_profile_KYTAG09;
|
||||
extern process_profile_definition g_profile_KYTAG12;
|
||||
extern process_profile_definition g_profile_KYTAG13;
|
||||
extern process_profile_definition g_profile_KYTAG15;
|
||||
extern process_profile_definition g_profile_KYTAG16;
|
||||
extern process_profile_definition g_profile_MANT;
|
||||
extern process_profile_definition g_profile_FSHOP;
|
||||
extern process_profile_definition g_profile_MIRROR;
|
||||
extern process_profile_definition g_profile_MOVIE_PLAYER;
|
||||
extern process_profile_definition g_profile_MYNA;
|
||||
extern process_profile_definition g_profile_NI;
|
||||
extern process_profile_definition g_profile_NPC_ARU;
|
||||
extern process_profile_definition g_profile_NPC_ASH;
|
||||
extern process_profile_definition g_profile_NPC_ASHB;
|
||||
extern process_profile_definition g_profile_NPC_BANS;
|
||||
extern process_profile_definition g_profile_NPC_BLUENS;
|
||||
extern process_profile_definition g_profile_NPC_BOU;
|
||||
extern process_profile_definition g_profile_NPC_BOU_S;
|
||||
extern process_profile_definition g_profile_NPC_CD3;
|
||||
extern process_profile_definition g_profile_NPC_CHAT;
|
||||
extern process_profile_definition g_profile_NPC_CHIN;
|
||||
extern process_profile_definition g_profile_NPC_CLERKA;
|
||||
extern process_profile_definition g_profile_NPC_CLERKB;
|
||||
extern process_profile_definition g_profile_NPC_CLERKT;
|
||||
extern process_profile_definition g_profile_NPC_COACH;
|
||||
extern process_profile_definition g_profile_NPC_DF;
|
||||
extern process_profile_definition g_profile_NPC_DOC;
|
||||
extern process_profile_definition g_profile_NPC_DOORBOY;
|
||||
extern process_profile_definition g_profile_NPC_DRSOL;
|
||||
extern process_profile_definition g_profile_NPC_DU;
|
||||
extern process_profile_definition g_profile_NPC_FAIRY;
|
||||
extern process_profile_definition g_profile_NPC_FGUARD;
|
||||
extern process_profile_definition g_profile_NPC_GND;
|
||||
extern process_profile_definition g_profile_NPC_GRA;
|
||||
extern process_profile_definition g_profile_NPC_GRC;
|
||||
extern process_profile_definition g_profile_NPC_GRD;
|
||||
extern process_profile_definition g_profile_NPC_GRM;
|
||||
extern process_profile_definition g_profile_NPC_GRMC;
|
||||
extern process_profile_definition g_profile_NPC_GRO;
|
||||
extern process_profile_definition g_profile_NPC_GRR;
|
||||
extern process_profile_definition g_profile_NPC_GRS;
|
||||
extern process_profile_definition g_profile_NPC_GRZ;
|
||||
extern process_profile_definition g_profile_NPC_GUARD;
|
||||
extern process_profile_definition g_profile_NPC_GWOLF;
|
||||
extern process_profile_definition g_profile_NPC_HANJO;
|
||||
extern process_profile_definition g_profile_NPC_HENNA0;
|
||||
extern process_profile_definition g_profile_NPC_HOZ;
|
||||
extern process_profile_definition g_profile_NPC_IMPAL;
|
||||
extern process_profile_definition g_profile_NPC_INKO;
|
||||
extern process_profile_definition g_profile_NPC_INS;
|
||||
extern process_profile_definition g_profile_NPC_JAGAR;
|
||||
extern process_profile_definition g_profile_NPC_KASIHANA;
|
||||
extern process_profile_definition g_profile_NPC_KASIKYU;
|
||||
extern process_profile_definition g_profile_NPC_KASIMICH;
|
||||
extern process_profile_definition g_profile_NPC_KDK;
|
||||
extern process_profile_definition g_profile_NPC_KN;
|
||||
extern process_profile_definition g_profile_NPC_KNJ;
|
||||
extern process_profile_definition g_profile_NPC_KOLINB;
|
||||
extern process_profile_definition g_profile_NPC_KS;
|
||||
extern process_profile_definition g_profile_NPC_KYURY;
|
||||
extern process_profile_definition g_profile_NPC_LEN;
|
||||
extern process_profile_definition g_profile_NPC_LF;
|
||||
extern process_profile_definition g_profile_NPC_LUD;
|
||||
extern process_profile_definition g_profile_NPC_MIDP;
|
||||
extern process_profile_definition g_profile_NPC_MK;
|
||||
extern process_profile_definition g_profile_NPC_MOI;
|
||||
extern process_profile_definition g_profile_NPC_MOIR;
|
||||
extern process_profile_definition g_profile_MYNA2;
|
||||
extern process_profile_definition g_profile_NPC_NE;
|
||||
extern process_profile_definition g_profile_NPC_P2;
|
||||
extern process_profile_definition g_profile_NPC_PACHI_BESU;
|
||||
extern process_profile_definition g_profile_NPC_PACHI_MARO;
|
||||
extern process_profile_definition g_profile_NPC_PACHI_TARO;
|
||||
extern process_profile_definition g_profile_NPC_PASSER;
|
||||
extern process_profile_definition g_profile_NPC_PASSER2;
|
||||
extern process_profile_definition g_profile_NPC_POST;
|
||||
extern process_profile_definition g_profile_NPC_POUYA;
|
||||
extern process_profile_definition g_profile_NPC_PRAYER;
|
||||
extern process_profile_definition g_profile_NPC_RACA;
|
||||
extern process_profile_definition g_profile_NPC_RAFREL;
|
||||
extern process_profile_definition g_profile_NPC_SARU;
|
||||
extern process_profile_definition g_profile_NPC_SEIB;
|
||||
extern process_profile_definition g_profile_NPC_SEIC;
|
||||
extern process_profile_definition g_profile_NPC_SEID;
|
||||
extern process_profile_definition g_profile_NPC_SEIRA;
|
||||
extern process_profile_definition g_profile_NPC_SERA2;
|
||||
extern process_profile_definition g_profile_NPC_SEIREI;
|
||||
extern process_profile_definition g_profile_NPC_SHAD;
|
||||
extern process_profile_definition g_profile_NPC_SHAMAN;
|
||||
extern process_profile_definition g_profile_NPC_SHOE;
|
||||
extern process_profile_definition g_profile_NPC_SHOP0;
|
||||
extern process_profile_definition g_profile_NPC_SMARO;
|
||||
extern process_profile_definition g_profile_NPC_SOLA;
|
||||
extern process_profile_definition g_profile_NPC_SOLDIERa;
|
||||
extern process_profile_definition g_profile_NPC_SOLDIERb;
|
||||
extern process_profile_definition g_profile_NPC_SQ;
|
||||
extern process_profile_definition g_profile_NPC_THE;
|
||||
extern process_profile_definition g_profile_NPC_THEB;
|
||||
extern process_profile_definition g_profile_NPC_TK;
|
||||
extern process_profile_definition g_profile_NPC_TKC;
|
||||
extern process_profile_definition g_profile_NPC_TKJ2;
|
||||
extern process_profile_definition g_profile_NPC_TKS;
|
||||
extern process_profile_definition g_profile_NPC_TOBY;
|
||||
extern process_profile_definition g_profile_NPC_TR;
|
||||
extern process_profile_definition g_profile_NPC_URI;
|
||||
extern process_profile_definition g_profile_NPC_WORM;
|
||||
extern process_profile_definition g_profile_NPC_WRESTLER;
|
||||
extern process_profile_definition g_profile_NPC_YAMID;
|
||||
extern process_profile_definition g_profile_NPC_YAMIS;
|
||||
extern process_profile_definition g_profile_NPC_YAMIT;
|
||||
extern process_profile_definition g_profile_NPC_YELIA;
|
||||
extern process_profile_definition g_profile_NPC_YKM;
|
||||
extern process_profile_definition g_profile_NPC_YKW;
|
||||
extern process_profile_definition g_profile_NPC_ZANB;
|
||||
extern process_profile_definition g_profile_NPC_ZANT;
|
||||
extern process_profile_definition g_profile_NPC_ZELR;
|
||||
extern process_profile_definition g_profile_NPC_ZELRO;
|
||||
extern process_profile_definition g_profile_NPC_ZELDA;
|
||||
extern process_profile_definition g_profile_NPC_ZRA;
|
||||
extern process_profile_definition g_profile_NPC_ZRC;
|
||||
extern process_profile_definition g_profile_NPC_ZRZ;
|
||||
extern process_profile_definition g_profile_Obj_Lv5Key;
|
||||
extern process_profile_definition g_profile_Obj_Turara;
|
||||
extern process_profile_definition g_profile_Obj_TvCdlst;
|
||||
extern process_profile_definition g_profile_Obj_Ytaihou;
|
||||
extern process_profile_definition g_profile_Obj_AmiShutter;
|
||||
extern process_profile_definition g_profile_Obj_Ari;
|
||||
extern process_profile_definition g_profile_OBJ_AUTOMATA;
|
||||
extern process_profile_definition g_profile_Obj_Avalanche;
|
||||
extern process_profile_definition g_profile_OBJ_BALLOON;
|
||||
extern process_profile_definition g_profile_Obj_BarDesk;
|
||||
extern process_profile_definition g_profile_Obj_Batta;
|
||||
extern process_profile_definition g_profile_Obj_BBox;
|
||||
extern process_profile_definition g_profile_OBJ_BED;
|
||||
extern process_profile_definition g_profile_Obj_Bemos;
|
||||
extern process_profile_definition g_profile_Obj_Bhbridge;
|
||||
extern process_profile_definition g_profile_Obj_BkLeaf;
|
||||
extern process_profile_definition g_profile_BkyRock;
|
||||
extern process_profile_definition g_profile_Obj_BmWindow;
|
||||
extern process_profile_definition g_profile_Obj_BoomShutter;
|
||||
extern process_profile_definition g_profile_Obj_Bombf;
|
||||
extern process_profile_definition g_profile_OBJ_BOUMATO;
|
||||
extern process_profile_definition g_profile_OBJ_BRG;
|
||||
extern process_profile_definition g_profile_Obj_BsGate;
|
||||
extern process_profile_definition g_profile_Obj_awaPlar;
|
||||
extern process_profile_definition g_profile_Obj_CatDoor;
|
||||
extern process_profile_definition g_profile_OBJ_CB;
|
||||
extern process_profile_definition g_profile_Obj_ChainBlock;
|
||||
extern process_profile_definition g_profile_Obj_Cdoor;
|
||||
extern process_profile_definition g_profile_Obj_Chandelier;
|
||||
extern process_profile_definition g_profile_Obj_Chest;
|
||||
extern process_profile_definition g_profile_Obj_Cho;
|
||||
extern process_profile_definition g_profile_Obj_Cowdoor;
|
||||
extern process_profile_definition g_profile_Obj_Crope;
|
||||
extern process_profile_definition g_profile_Obj_CRVFENCE;
|
||||
extern process_profile_definition g_profile_Obj_CRVGATE;
|
||||
extern process_profile_definition g_profile_Obj_CRVHAHEN;
|
||||
extern process_profile_definition g_profile_Obj_CRVLH_DW;
|
||||
extern process_profile_definition g_profile_Obj_CRVLH_UP;
|
||||
extern process_profile_definition g_profile_Obj_CRVSTEEL;
|
||||
extern process_profile_definition g_profile_Obj_Crystal;
|
||||
extern process_profile_definition g_profile_Obj_ChainWall;
|
||||
extern process_profile_definition g_profile_Obj_DamCps;
|
||||
extern process_profile_definition g_profile_Obj_Dan;
|
||||
extern process_profile_definition g_profile_Obj_Digholl;
|
||||
extern process_profile_definition g_profile_Obj_DigSnow;
|
||||
extern process_profile_definition g_profile_Obj_Elevator;
|
||||
extern process_profile_definition g_profile_Obj_Drop;
|
||||
extern process_profile_definition g_profile_Obj_DUST;
|
||||
extern process_profile_definition g_profile_Obj_E_CREATE;
|
||||
extern process_profile_definition g_profile_Obj_FallObj;
|
||||
extern process_profile_definition g_profile_Obj_Fan;
|
||||
extern process_profile_definition g_profile_Obj_Fchain;
|
||||
extern process_profile_definition g_profile_Obj_FireWood;
|
||||
extern process_profile_definition g_profile_Obj_FireWood2;
|
||||
extern process_profile_definition g_profile_Obj_FirePillar;
|
||||
extern process_profile_definition g_profile_Obj_FirePillar2;
|
||||
extern process_profile_definition g_profile_Obj_Flag;
|
||||
extern process_profile_definition g_profile_Obj_Flag2;
|
||||
extern process_profile_definition g_profile_Obj_Flag3;
|
||||
extern process_profile_definition g_profile_OBJ_FOOD;
|
||||
extern process_profile_definition g_profile_OBJ_FW;
|
||||
extern process_profile_definition g_profile_OBJ_GADGET;
|
||||
extern process_profile_definition g_profile_Obj_GanonWall;
|
||||
extern process_profile_definition g_profile_Obj_GanonWall2;
|
||||
extern process_profile_definition g_profile_OBJ_GB;
|
||||
extern process_profile_definition g_profile_Obj_Geyser;
|
||||
extern process_profile_definition g_profile_Obj_glowSphere;
|
||||
extern process_profile_definition g_profile_OBJ_GM;
|
||||
extern process_profile_definition g_profile_Obj_GoGate;
|
||||
extern process_profile_definition g_profile_Obj_GOMIKABE;
|
||||
extern process_profile_definition g_profile_OBJ_GRA;
|
||||
extern process_profile_definition g_profile_GRA_WALL;
|
||||
extern process_profile_definition g_profile_Obj_GraRock;
|
||||
extern process_profile_definition g_profile_Obj_GraveStone;
|
||||
extern process_profile_definition g_profile_GRDWATER;
|
||||
extern process_profile_definition g_profile_Obj_GrzRock;
|
||||
extern process_profile_definition g_profile_Obj_H_Saku;
|
||||
extern process_profile_definition g_profile_Obj_HBarrel;
|
||||
extern process_profile_definition g_profile_Obj_HFtr;
|
||||
extern process_profile_definition g_profile_Obj_MHasu;
|
||||
extern process_profile_definition g_profile_Obj_Hata;
|
||||
extern process_profile_definition g_profile_OBJ_HB;
|
||||
extern process_profile_definition g_profile_Obj_HBombkoya;
|
||||
extern process_profile_definition g_profile_Obj_HeavySw;
|
||||
extern process_profile_definition g_profile_Obj_Hfuta;
|
||||
extern process_profile_definition g_profile_Obj_HsTarget;
|
||||
extern process_profile_definition g_profile_Obj_Ice_l;
|
||||
extern process_profile_definition g_profile_Obj_Ice_s;
|
||||
extern process_profile_definition g_profile_Obj_IceBlock;
|
||||
extern process_profile_definition g_profile_Obj_IceLeaf;
|
||||
extern process_profile_definition g_profile_OBJ_IHASI;
|
||||
extern process_profile_definition g_profile_Obj_Ikada;
|
||||
extern process_profile_definition g_profile_Obj_InoBone;
|
||||
extern process_profile_definition g_profile_Obj_ITA;
|
||||
extern process_profile_definition g_profile_OBJ_ITAMATO;
|
||||
extern process_profile_definition g_profile_Obj_Kabuto;
|
||||
extern process_profile_definition g_profile_Obj_Kag;
|
||||
extern process_profile_definition g_profile_OBJ_KAGE;
|
||||
extern process_profile_definition g_profile_OBJ_KAGO;
|
||||
extern process_profile_definition g_profile_Obj_Kaisou;
|
||||
extern process_profile_definition g_profile_Obj_Kam;
|
||||
extern process_profile_definition g_profile_Obj_Kantera;
|
||||
extern process_profile_definition g_profile_Obj_Kat;
|
||||
extern process_profile_definition g_profile_Obj_KazeNeko;
|
||||
extern process_profile_definition g_profile_OBJ_KBOX;
|
||||
extern process_profile_definition g_profile_OBJ_KEY;
|
||||
extern process_profile_definition g_profile_OBJ_KEYHOLE;
|
||||
extern process_profile_definition g_profile_OBJ_KI;
|
||||
extern process_profile_definition g_profile_Obj_KiPot;
|
||||
extern process_profile_definition g_profile_OBJ_KITA;
|
||||
extern process_profile_definition g_profile_Obj_KJgjs;
|
||||
extern process_profile_definition g_profile_Obj_KKanban;
|
||||
extern process_profile_definition g_profile_KN_BULLET;
|
||||
extern process_profile_definition g_profile_Obj_Kshutter;
|
||||
extern process_profile_definition g_profile_Obj_Kuw;
|
||||
extern process_profile_definition g_profile_Obj_KWheel00;
|
||||
extern process_profile_definition g_profile_Obj_KWheel01;
|
||||
extern process_profile_definition g_profile_Obj_KznkArm;
|
||||
extern process_profile_definition g_profile_Obj_Laundry;
|
||||
extern process_profile_definition g_profile_Obj_LndRope;
|
||||
extern process_profile_definition g_profile_OBJ_LBOX;
|
||||
extern process_profile_definition g_profile_OBJ_LP;
|
||||
extern process_profile_definition g_profile_Obj_Lv1Cdl00;
|
||||
extern process_profile_definition g_profile_Obj_Lv1Cdl01;
|
||||
extern process_profile_definition g_profile_Obj_Lv3Candle;
|
||||
extern process_profile_definition g_profile_Obj_Lv3Water;
|
||||
extern process_profile_definition g_profile_Obj_Lv3Water2;
|
||||
extern process_profile_definition g_profile_OBJ_LV3WATERB;
|
||||
extern process_profile_definition g_profile_Obj_Lv3R10Saka;
|
||||
extern process_profile_definition g_profile_Obj_WaterEff;
|
||||
extern process_profile_definition g_profile_Tag_Lv4CandleDm;
|
||||
extern process_profile_definition g_profile_Tag_Lv4Candle;
|
||||
extern process_profile_definition g_profile_Obj_Lv4EdShutter;
|
||||
extern process_profile_definition g_profile_Obj_Lv4Gate;
|
||||
extern process_profile_definition g_profile_Obj_Lv4HsTarget;
|
||||
extern process_profile_definition g_profile_Obj_Lv4PoGate;
|
||||
extern process_profile_definition g_profile_Obj_Lv4RailWall;
|
||||
extern process_profile_definition g_profile_Obj_Lv4SlideWall;
|
||||
extern process_profile_definition g_profile_Obj_Lv4Bridge;
|
||||
extern process_profile_definition g_profile_Obj_Lv4Chan;
|
||||
extern process_profile_definition g_profile_Obj_Lv4DigSand;
|
||||
extern process_profile_definition g_profile_Obj_Lv4Floor;
|
||||
extern process_profile_definition g_profile_Obj_Lv4Gear;
|
||||
extern process_profile_definition g_profile_Obj_PRElvtr;
|
||||
extern process_profile_definition g_profile_Obj_Lv4PRwall;
|
||||
extern process_profile_definition g_profile_Obj_Lv4Sand;
|
||||
extern process_profile_definition g_profile_Obj_Lv5FBoard;
|
||||
extern process_profile_definition g_profile_Obj_IceWall;
|
||||
extern process_profile_definition g_profile_Obj_Lv5SwIce;
|
||||
extern process_profile_definition g_profile_Obj_Ychndlr;
|
||||
extern process_profile_definition g_profile_Obj_YIblltray;
|
||||
extern process_profile_definition g_profile_Obj_Lv6ChgGate;
|
||||
extern process_profile_definition g_profile_Obj_Lv6FuriTrap;
|
||||
extern process_profile_definition g_profile_Obj_Lv6Lblock;
|
||||
extern process_profile_definition g_profile_Obj_Lv6SwGate;
|
||||
extern process_profile_definition g_profile_Obj_Lv6SzGate;
|
||||
extern process_profile_definition g_profile_Obj_Lv6Tenbin;
|
||||
extern process_profile_definition g_profile_Obj_Lv6TogeRoll;
|
||||
extern process_profile_definition g_profile_Obj_Lv6TogeTrap;
|
||||
extern process_profile_definition g_profile_Obj_Lv6bemos;
|
||||
extern process_profile_definition g_profile_Obj_Lv6bemos2;
|
||||
extern process_profile_definition g_profile_Obj_Lv6EGate;
|
||||
extern process_profile_definition g_profile_Obj_Lv6ElevtA;
|
||||
extern process_profile_definition g_profile_Obj_Lv6SwTurn;
|
||||
extern process_profile_definition g_profile_Obj_Lv7BsGate;
|
||||
extern process_profile_definition g_profile_Obj_Lv7PropY;
|
||||
extern process_profile_definition g_profile_Obj_Lv7Bridge;
|
||||
extern process_profile_definition g_profile_Obj_Lv8KekkaiTrap;
|
||||
extern process_profile_definition g_profile_Obj_Lv8Lift;
|
||||
extern process_profile_definition g_profile_Obj_Lv8OptiLift;
|
||||
extern process_profile_definition g_profile_Obj_Lv8UdFloor;
|
||||
extern process_profile_definition g_profile_Obj_Lv9SwShutter;
|
||||
extern process_profile_definition g_profile_Obj_MagLift;
|
||||
extern process_profile_definition g_profile_Obj_MagLiftRot;
|
||||
extern process_profile_definition g_profile_OBJ_MAKI;
|
||||
extern process_profile_definition g_profile_Obj_MasterSword;
|
||||
extern process_profile_definition g_profile_Obj_Mato;
|
||||
extern process_profile_definition g_profile_Obj_MHole;
|
||||
extern process_profile_definition g_profile_OBJ_MIE;
|
||||
extern process_profile_definition g_profile_Obj_Mirror6Pole;
|
||||
extern process_profile_definition g_profile_Obj_MirrorChain;
|
||||
extern process_profile_definition g_profile_Obj_MirrorSand;
|
||||
extern process_profile_definition g_profile_Obj_MirrorScrew;
|
||||
extern process_profile_definition g_profile_Obj_MirrorTable;
|
||||
extern process_profile_definition g_profile_OBJ_MSIMA;
|
||||
extern process_profile_definition g_profile_Obj_MvStair;
|
||||
extern process_profile_definition g_profile_OBJ_MYOGAN;
|
||||
extern process_profile_definition g_profile_Obj_Nagaisu;
|
||||
extern process_profile_definition g_profile_Obj_Nan;
|
||||
extern process_profile_definition g_profile_OBJ_NDOOR;
|
||||
extern process_profile_definition g_profile_OBJ_NOUGU;
|
||||
extern process_profile_definition g_profile_OCTHASHI;
|
||||
extern process_profile_definition g_profile_OBJ_OILTUBO;
|
||||
extern process_profile_definition g_profile_Obj_Onsen;
|
||||
extern process_profile_definition g_profile_OBJ_ONSEN_FIRE;
|
||||
extern process_profile_definition g_profile_Obj_OnsenTaru;
|
||||
extern process_profile_definition g_profile_Obj_PushDoor;
|
||||
extern process_profile_definition g_profile_Obj_PDtile;
|
||||
extern process_profile_definition g_profile_Obj_PDwall;
|
||||
extern process_profile_definition g_profile_Obj_Picture;
|
||||
extern process_profile_definition g_profile_Obj_Pillar;
|
||||
extern process_profile_definition g_profile_OBJ_PLEAF;
|
||||
extern process_profile_definition g_profile_Obj_poCandle;
|
||||
extern process_profile_definition g_profile_Obj_poFire;
|
||||
extern process_profile_definition g_profile_Obj_poTbox;
|
||||
extern process_profile_definition g_profile_Obj_Prop;
|
||||
extern process_profile_definition g_profile_OBJ_PUMPKIN;
|
||||
extern process_profile_definition g_profile_Obj_RCircle;
|
||||
extern process_profile_definition g_profile_Obj_RfHole;
|
||||
extern process_profile_definition g_profile_Obj_RiderGate;
|
||||
extern process_profile_definition g_profile_Obj_RIVERROCK;
|
||||
extern process_profile_definition g_profile_OBJ_ROCK;
|
||||
extern process_profile_definition g_profile_Obj_RotBridge;
|
||||
extern process_profile_definition g_profile_Obj_RotTrap;
|
||||
extern process_profile_definition g_profile_OBJ_ROTEN;
|
||||
extern process_profile_definition g_profile_Obj_RotStair;
|
||||
extern process_profile_definition g_profile_OBJ_RW;
|
||||
extern process_profile_definition g_profile_Obj_Saidan;
|
||||
extern process_profile_definition g_profile_Obj_Sakuita;
|
||||
extern process_profile_definition g_profile_Obj_ItaRope;
|
||||
extern process_profile_definition g_profile_Obj_SCannon;
|
||||
extern process_profile_definition g_profile_Obj_SCannonCrs;
|
||||
extern process_profile_definition g_profile_Obj_SCannonTen;
|
||||
extern process_profile_definition g_profile_OBJ_SEKIDOOR;
|
||||
extern process_profile_definition g_profile_OBJ_SEKIZO;
|
||||
extern process_profile_definition g_profile_OBJ_SEKIZOA;
|
||||
extern process_profile_definition g_profile_Obj_Shield;
|
||||
extern process_profile_definition g_profile_Obj_SM_DOOR;
|
||||
extern process_profile_definition g_profile_Obj_SmallKey;
|
||||
extern process_profile_definition g_profile_Obj_SmgDoor;
|
||||
extern process_profile_definition g_profile_Obj_Smoke;
|
||||
extern process_profile_definition g_profile_OBJ_SMTILE;
|
||||
extern process_profile_definition g_profile_Obj_SmWStone;
|
||||
extern process_profile_definition g_profile_Tag_SnowEff;
|
||||
extern process_profile_definition g_profile_Obj_SnowSoup;
|
||||
extern process_profile_definition g_profile_OBJ_SO;
|
||||
extern process_profile_definition g_profile_Obj_SpinLift;
|
||||
extern process_profile_definition g_profile_OBJ_SSDRINK;
|
||||
extern process_profile_definition g_profile_OBJ_SSITEM;
|
||||
extern process_profile_definition g_profile_Obj_StairBlock;
|
||||
extern process_profile_definition g_profile_Obj_Stone;
|
||||
extern process_profile_definition g_profile_Obj_Stopper;
|
||||
extern process_profile_definition g_profile_Obj_Stopper2;
|
||||
extern process_profile_definition g_profile_OBJ_SUISYA;
|
||||
extern process_profile_definition g_profile_OBJ_SW;
|
||||
extern process_profile_definition g_profile_Obj_SwBallA;
|
||||
extern process_profile_definition g_profile_Obj_SwBallB;
|
||||
extern process_profile_definition g_profile_Obj_SwBallC;
|
||||
extern process_profile_definition g_profile_Obj_SwLight;
|
||||
extern process_profile_definition g_profile_Obj_SwChain;
|
||||
extern process_profile_definition g_profile_Obj_SwHang;
|
||||
extern process_profile_definition g_profile_Obj_Sword;
|
||||
extern process_profile_definition g_profile_Obj_Swpush2;
|
||||
extern process_profile_definition g_profile_Obj_SwSpinner;
|
||||
extern process_profile_definition g_profile_Obj_SwTurn;
|
||||
extern process_profile_definition g_profile_Obj_SyRock;
|
||||
extern process_profile_definition g_profile_Obj_SZbridge;
|
||||
extern process_profile_definition g_profile_Obj_TaFence;
|
||||
extern process_profile_definition g_profile_Obj_Table;
|
||||
extern process_profile_definition g_profile_Obj_TakaraDai;
|
||||
extern process_profile_definition g_profile_OBJ_TATIGI;
|
||||
extern process_profile_definition g_profile_Obj_Ten;
|
||||
extern process_profile_definition g_profile_Obj_TestCube;
|
||||
extern process_profile_definition g_profile_Obj_Gake;
|
||||
extern process_profile_definition g_profile_Obj_THASHI;
|
||||
extern process_profile_definition g_profile_Obj_TDoor;
|
||||
extern process_profile_definition g_profile_Obj_TimeFire;
|
||||
extern process_profile_definition g_profile_OBJ_TKS;
|
||||
extern process_profile_definition g_profile_Obj_TMoon;
|
||||
extern process_profile_definition g_profile_Obj_ToaruMaki;
|
||||
extern process_profile_definition g_profile_OBJ_TOBY;
|
||||
extern process_profile_definition g_profile_Obj_TobyHouse;
|
||||
extern process_profile_definition g_profile_Obj_TogeTrap;
|
||||
extern process_profile_definition g_profile_Obj_Tombo;
|
||||
extern process_profile_definition g_profile_Obj_Tornado;
|
||||
extern process_profile_definition g_profile_Obj_Tornado2;
|
||||
extern process_profile_definition g_profile_OBJ_TP;
|
||||
extern process_profile_definition g_profile_TREESH;
|
||||
extern process_profile_definition g_profile_Obj_TwGate;
|
||||
extern process_profile_definition g_profile_OBJ_UDOOR;
|
||||
extern process_profile_definition g_profile_OBJ_USAKU;
|
||||
extern process_profile_definition g_profile_Obj_VolcGnd;
|
||||
extern process_profile_definition g_profile_Obj_VolcanicBall;
|
||||
extern process_profile_definition g_profile_Obj_VolcanicBomb;
|
||||
extern process_profile_definition g_profile_Obj_KakarikoBrg;
|
||||
extern process_profile_definition g_profile_Obj_OrdinBrg;
|
||||
extern process_profile_definition g_profile_Obj_WtGate;
|
||||
extern process_profile_definition g_profile_Obj_WaterPillar;
|
||||
extern process_profile_definition g_profile_Obj_WaterFall;
|
||||
extern process_profile_definition g_profile_Obj_Wchain;
|
||||
extern process_profile_definition g_profile_Obj_WdStick;
|
||||
extern process_profile_definition g_profile_OBJ_WEB0;
|
||||
extern process_profile_definition g_profile_OBJ_WEB1;
|
||||
extern process_profile_definition g_profile_Obj_WellCover;
|
||||
extern process_profile_definition g_profile_OBJ_WFLAG;
|
||||
extern process_profile_definition g_profile_Obj_WindStone;
|
||||
extern process_profile_definition g_profile_Obj_Window;
|
||||
extern process_profile_definition g_profile_Obj_WoodPendulum;
|
||||
extern process_profile_definition g_profile_Obj_WoodStatue;
|
||||
extern process_profile_definition g_profile_Obj_WoodenSword;
|
||||
extern process_profile_definition g_profile_OBJ_YBAG;
|
||||
extern process_profile_definition g_profile_OBJ_YSTONE;
|
||||
extern process_profile_definition g_profile_Obj_ZoraCloth;
|
||||
extern process_profile_definition g_profile_Obj_ZDoor;
|
||||
extern process_profile_definition g_profile_Obj_zrTurara;
|
||||
extern process_profile_definition g_profile_Obj_zrTuraraRc;
|
||||
extern process_profile_definition g_profile_ZRA_MARK;
|
||||
extern process_profile_definition g_profile_OBJ_ZRAFREEZE;
|
||||
extern process_profile_definition g_profile_Obj_ZraRock;
|
||||
extern process_profile_definition g_profile_PASSER_MNG;
|
||||
extern process_profile_definition g_profile_PERU;
|
||||
extern process_profile_definition g_profile_PPolamp;
|
||||
extern process_profile_definition g_profile_SKIP2D;
|
||||
extern process_profile_definition g_profile_START_AND_GOAL;
|
||||
extern process_profile_definition g_profile_SwBall;
|
||||
extern process_profile_definition g_profile_SwLBall;
|
||||
extern process_profile_definition g_profile_SwTime;
|
||||
extern process_profile_definition g_profile_Tag_Lv6Gate;
|
||||
extern process_profile_definition g_profile_Tag_Lv7Gate;
|
||||
extern process_profile_definition g_profile_Tag_Lv8Gate;
|
||||
extern process_profile_definition g_profile_Tag_TWGate;
|
||||
extern process_profile_definition g_profile_Tag_Arena;
|
||||
extern process_profile_definition g_profile_Tag_Assist;
|
||||
extern process_profile_definition g_profile_TAG_BTLITM;
|
||||
extern process_profile_definition g_profile_Tag_ChgRestart;
|
||||
extern process_profile_definition g_profile_TAG_CSW;
|
||||
extern process_profile_definition g_profile_Tag_Escape;
|
||||
extern process_profile_definition g_profile_Tag_FWall;
|
||||
extern process_profile_definition g_profile_TAG_GRA;
|
||||
extern process_profile_definition g_profile_TAG_GUARD;
|
||||
extern process_profile_definition g_profile_Tag_Instruction;
|
||||
extern process_profile_definition g_profile_Tag_KagoFall;
|
||||
extern process_profile_definition g_profile_Tag_LightBall;
|
||||
extern process_profile_definition g_profile_TAG_LV5SOUP;
|
||||
extern process_profile_definition g_profile_Tag_Lv6CstaSw;
|
||||
extern process_profile_definition g_profile_Tag_Mmsg;
|
||||
extern process_profile_definition g_profile_Tag_Mwait;
|
||||
extern process_profile_definition g_profile_TAG_MYNA2;
|
||||
extern process_profile_definition g_profile_TAG_MNLIGHT;
|
||||
extern process_profile_definition g_profile_TAG_PATI;
|
||||
extern process_profile_definition g_profile_Tag_poFire;
|
||||
extern process_profile_definition g_profile_TAG_QS;
|
||||
extern process_profile_definition g_profile_Tag_RetRoom;
|
||||
extern process_profile_definition g_profile_Tag_RiverBack;
|
||||
extern process_profile_definition g_profile_Tag_RmbitSw;
|
||||
extern process_profile_definition g_profile_Tag_Schedule;
|
||||
extern process_profile_definition g_profile_Tag_SetBall;
|
||||
extern process_profile_definition g_profile_Tag_Restart;
|
||||
extern process_profile_definition g_profile_TAG_SHOPCAM;
|
||||
extern process_profile_definition g_profile_TAG_SHOPITM;
|
||||
extern process_profile_definition g_profile_Tag_SmkEmt;
|
||||
extern process_profile_definition g_profile_Tag_Spinner;
|
||||
extern process_profile_definition g_profile_Tag_Sppath;
|
||||
extern process_profile_definition g_profile_TAG_SSDRINK;
|
||||
extern process_profile_definition g_profile_Tag_Stream;
|
||||
extern process_profile_definition g_profile_Tag_TheBHint;
|
||||
extern process_profile_definition g_profile_Tag_WaraHowl;
|
||||
extern process_profile_definition g_profile_Tag_WatchGe;
|
||||
extern process_profile_definition g_profile_Tag_WaterFall;
|
||||
extern process_profile_definition g_profile_Tag_Wljump;
|
||||
extern process_profile_definition g_profile_TAG_YAMI;
|
||||
extern process_profile_definition g_profile_TALK;
|
||||
extern process_profile_definition g_profile_TBOX_SW;
|
||||
extern process_profile_definition g_profile_TITLE;
|
||||
extern process_profile_definition g_profile_WarpBug;
|
||||
|
||||
extern process_profile_definition* g_fpcPfLst_ProfileList[];
|
||||
|
||||
#endif /* F_PC_PROFILE_LST_H_ */
|
||||
@@ -8,23 +8,23 @@ typedef struct layer_class layer_class;
|
||||
typedef int (*stdCreateFunc)(void*, void*);
|
||||
|
||||
typedef struct standard_create_request_class {
|
||||
/* 0x00 */ create_request mBase;
|
||||
/* 0x48 */ request_of_phase_process_class unk_0x48;
|
||||
/* 0x50 */ s16 mLoadID;
|
||||
/* 0x54 */ void* unk_0x54;
|
||||
/* 0x58 */ stdCreateFunc unk_0x58;
|
||||
/* 0x00 */ create_request base;
|
||||
/* 0x48 */ request_of_phase_process_class phase_request;
|
||||
/* 0x50 */ s16 process_name;
|
||||
/* 0x54 */ void* process_append;
|
||||
/* 0x58 */ stdCreateFunc create_post_method;
|
||||
/* 0x5C */ void* unk_0x5C;
|
||||
} standard_create_request_class;
|
||||
|
||||
s32 fpcSCtRq_phase_CreateProcess(standard_create_request_class* pStdCreateReq);
|
||||
s32 fpcSCtRq_phase_SubCreateProcess(standard_create_request_class* pStdCreateReq);
|
||||
s32 fpcSCtRq_phase_IsComplete(standard_create_request_class* pStdCreateReq);
|
||||
s32 fpcSCtRq_phase_PostMethod(standard_create_request_class* pStdCreateReq);
|
||||
s32 fpcSCtRq_phase_Done(standard_create_request_class*);
|
||||
s32 fpcSCtRq_Handler(standard_create_request_class* pStdCreateReq);
|
||||
s32 fpcSCtRq_Delete(standard_create_request_class*);
|
||||
s32 fpcSCtRq_Cancel(standard_create_request_class*);
|
||||
s32 fpcSCtRq_Request(layer_class* param_1, s16 param_2, stdCreateFunc param_3, void* param_4,
|
||||
void* param_5);
|
||||
s32 fpcSCtRq_phase_CreateProcess(standard_create_request_class* i_request);
|
||||
s32 fpcSCtRq_phase_SubCreateProcess(standard_create_request_class* i_request);
|
||||
s32 fpcSCtRq_phase_IsComplete(standard_create_request_class* i_request);
|
||||
s32 fpcSCtRq_phase_PostMethod(standard_create_request_class* i_request);
|
||||
s32 fpcSCtRq_phase_Done(standard_create_request_class* i_request);
|
||||
s32 fpcSCtRq_Handler(standard_create_request_class* i_request);
|
||||
s32 fpcSCtRq_Delete(standard_create_request_class* i_request);
|
||||
s32 fpcSCtRq_Cancel(standard_create_request_class* i_request);
|
||||
fpc_ProcID fpcSCtRq_Request(layer_class* i_layer, s16 i_procName, stdCreateFunc i_createFunc,
|
||||
void* param_4, void* i_append);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -25,40 +25,48 @@ void J3DGQRSetup7(u32 r0, u32 r1, u32 r2, u32 r3) {
|
||||
|
||||
/* 80311670-80311760 30BFB0 00F0+00 0/0 2/2 0/0 .text J3DCalcBBoardMtx__FPA4_f */
|
||||
// this uses a non-standard sqrtf, not sure why or how its supposed to be setup
|
||||
static inline f32 sqrtf2(f32 x) {
|
||||
if (x > 0.0f) {
|
||||
f32 guess = (f32)__frsqrte(x);
|
||||
return (f32)(x * guess);
|
||||
}
|
||||
return x;
|
||||
inline f32 J3D_sqrtf(register f32 x) {
|
||||
register f32 recip;
|
||||
|
||||
if (x > 0.0f) {
|
||||
#ifdef __MWERKS__ // clang-format off
|
||||
asm { frsqrte recip, x }
|
||||
#endif // clang-format on
|
||||
return recip * x;
|
||||
}
|
||||
return x;
|
||||
}
|
||||
|
||||
void J3DCalcBBoardMtx(Mtx mtx) {
|
||||
void J3DCalcBBoardMtx(register Mtx mtx) {
|
||||
f32 x = (mtx[0][0] * mtx[0][0]) + (mtx[1][0] * mtx[1][0]) + (mtx[2][0] * mtx[2][0]);
|
||||
f32 y = (mtx[0][1] * mtx[0][1]) + (mtx[1][1] * mtx[1][1]) + (mtx[2][1] * mtx[2][1]);
|
||||
f32 z = (mtx[0][2] * mtx[0][2]) + (mtx[1][2] * mtx[1][2]) + (mtx[2][2] * mtx[2][2]);
|
||||
|
||||
if (x > 0.0f) {
|
||||
x *= sqrtf2(x);
|
||||
x = J3D_sqrtf(x);
|
||||
}
|
||||
if (y > 0.0f) {
|
||||
y *= sqrtf2(y);
|
||||
y = J3D_sqrtf(y);
|
||||
}
|
||||
if (z > 0.0f) {
|
||||
z *= sqrtf2(z);
|
||||
z = J3D_sqrtf(z);
|
||||
}
|
||||
|
||||
register f32 zero = 0.0f;
|
||||
// zero out gaps of zeroes
|
||||
#ifdef __MWERKS__ // clang-format off
|
||||
asm {
|
||||
psq_st zero, 0x04(mtx), 0, 0
|
||||
|
||||
psq_st zero, 0x20(mtx), 0, 0
|
||||
}
|
||||
#endif // clang-format on
|
||||
|
||||
mtx[0][0] = x;
|
||||
mtx[0][1] = 0.0f;
|
||||
mtx[0][2] = 0.0f;
|
||||
|
||||
mtx[1][0] = 0.0f;
|
||||
mtx[1][1] = y;
|
||||
mtx[1][2] = 0.0f;
|
||||
|
||||
mtx[2][0] = 0.0f;
|
||||
mtx[2][1] = 0.0f;
|
||||
mtx[2][2] = z;
|
||||
mtx[1][0] = zero;
|
||||
mtx[1][1] = y;
|
||||
mtx[1][2] = zero;
|
||||
mtx[2][2] = z;
|
||||
}
|
||||
|
||||
/* 803A1E30-803A1E50 02E490 0020+00 0/0 1/1 0/0 .rodata j3dDefaultTransformInfo */
|
||||
@@ -73,13 +81,85 @@ extern Mtx const j3dDefaultMtx = {
|
||||
{1.0f, 0.0f, 0.0f, 0.0f}, {0.0f, 1.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 1.0f, 0.0f}};
|
||||
|
||||
/* 80311760-8031189C 30C0A0 013C+00 0/0 2/2 0/0 .text J3DCalcYBBoardMtx__FPA4_f */
|
||||
void J3DCalcYBBoardMtx(f32 (*param_0)[4]) {
|
||||
// NONMATCHING
|
||||
void J3DCalcYBBoardMtx(Mtx mtx) {
|
||||
f32 x = (mtx[0][0] * mtx[0][0]) + (mtx[1][0] * mtx[1][0]) + (mtx[2][0] * mtx[2][0]);
|
||||
f32 z = (mtx[0][2] * mtx[0][2]) + (mtx[1][2] * mtx[1][2]) + (mtx[2][2] * mtx[2][2]);
|
||||
|
||||
if (x > 0.0f) {
|
||||
x = J3D_sqrtf(x);
|
||||
}
|
||||
if (z > 0.0f) {
|
||||
z = J3D_sqrtf(z);
|
||||
}
|
||||
|
||||
Vec vec = { 0.0f, -mtx[2][1], mtx[1][1] };
|
||||
VECNormalize(&vec, &vec);
|
||||
|
||||
mtx[0][0] = x;
|
||||
mtx[0][2] = 0.0f;
|
||||
mtx[1][0] = 0.0f;
|
||||
|
||||
mtx[1][2] = vec.y * z;
|
||||
mtx[2][0] = 0.0f;
|
||||
mtx[2][2] = vec.z * z;
|
||||
}
|
||||
|
||||
/* 8031189C-80311964 30C1DC 00C8+00 0/0 6/6 0/0 .text J3DPSCalcInverseTranspose__FPA4_fPA3_f */
|
||||
void J3DPSCalcInverseTranspose(f32 (*param_0)[4], f32 (*param_1)[3]) {
|
||||
// NONMATCHING
|
||||
asm void J3DPSCalcInverseTranspose(register Mtx src, register Mtx33 dst) {
|
||||
#ifdef __MWERKS__ // clang-format off
|
||||
psq_l f0, 0(src), 1, 0
|
||||
psq_l f1, 4(src), 0, 0
|
||||
psq_l f2, 16(src), 1, 0
|
||||
ps_merge10 f6, f1, f0
|
||||
psq_l f3, 20(src), 0, 0
|
||||
psq_l f4, 32(src), 1, 0
|
||||
ps_merge10 f7, f3, f2
|
||||
psq_l f5, 36(src), 0, 0
|
||||
ps_mul f11, f3, f6
|
||||
ps_merge10 f8, f5, f4
|
||||
ps_mul f13, f5, f7
|
||||
ps_msub f11, f1, f7, f11
|
||||
ps_mul f12, f1, f8
|
||||
ps_msub f13, f3, f8, f13
|
||||
ps_msub f12, f5, f6, f12
|
||||
ps_mul f10, f3, f4
|
||||
ps_mul f9, f0, f5
|
||||
ps_mul f8, f1, f2
|
||||
ps_msub f10, f2, f5, f10
|
||||
ps_msub f9, f1, f4, f9
|
||||
ps_msub f8, f0, f3, f8
|
||||
ps_mul f7, f0, f13
|
||||
ps_sub f1, f1, f1
|
||||
ps_madd f7, f2, f12, f7
|
||||
ps_madd f7, f4, f11, f7
|
||||
ps_cmpo0 cr0, f7, f1
|
||||
bne lbl_8005F118
|
||||
li r3, 0
|
||||
blr
|
||||
|
||||
lbl_8005F118:
|
||||
fres f0, f7
|
||||
ps_add f6, f0, f0
|
||||
ps_mul f5, f0, f0
|
||||
ps_nmsub f0, f7, f5, f6
|
||||
ps_add f6, f0, f0
|
||||
ps_mul f5, f0, f0
|
||||
ps_nmsub f0, f7, f5, f6
|
||||
ps_muls0 f13, f13, f0
|
||||
ps_muls0 f12, f12, f0
|
||||
psq_st f13, 0(dst), 0, 0
|
||||
ps_muls0 f11, f11, f0
|
||||
psq_st f12, 12(dst), 0, 0
|
||||
ps_muls0 f10, f10, f0
|
||||
psq_st f11, 24(dst), 0, 0
|
||||
ps_muls0 f9, f9, f0
|
||||
psq_st f10, 8(dst), 1, 0
|
||||
ps_muls0 f8, f8, f0
|
||||
psq_st f9, 20(r4), 1, 0
|
||||
li r3, 1
|
||||
psq_st f8, 32(r4), 1, 0
|
||||
blr
|
||||
#endif // clang-format on
|
||||
}
|
||||
|
||||
/* 80311964-80311A24 30C2A4 00C0+00 0/0 2/2 2/2 .text
|
||||
@@ -239,73 +319,264 @@ void J3DGetTextureMtxMayaOld(const J3DTextureSRTInfo& srt, Mtx dst) {
|
||||
|
||||
|
||||
/* 80311D94-80311DF8 30C6D4 0064+00 0/0 2/2 0/0 .text J3DScaleNrmMtx__FPA4_fRC3Vec */
|
||||
#ifdef NONMATCHING
|
||||
void J3DScaleNrmMtx(register Mtx mtx, const register Vec& scl) {
|
||||
register f32 mtx_xy, mtx_z_, scl_xy, scl_z_;
|
||||
asm void J3DScaleNrmMtx(register Mtx mtx, const register Vec& scl) {
|
||||
#ifdef __MWERKS__ // clang-format off
|
||||
nofralloc;
|
||||
|
||||
asm {
|
||||
/* Row 0 */
|
||||
psq_l scl_xy, 0(scl), 0, 0
|
||||
psq_l mtx_xy, 0(mtx), 0, 0
|
||||
lfs scl_z_, 8(scl)
|
||||
lfs mtx_z_, 8(mtx)
|
||||
ps_mul f4, mtx_xy, scl_xy
|
||||
psq_st f4, 0(mtx), 0, 0
|
||||
fmuls f4, mtx_z_, scl_z_
|
||||
stfs f4, 8(mtx)
|
||||
psq_l fp2, 0(scl), 0, 0
|
||||
psq_l fp0, 0(mtx), 0, 0
|
||||
lfs fp3, 8(scl)
|
||||
lfs fp1, 8(mtx)
|
||||
ps_mul f4, fp0, fp2
|
||||
psq_st f4, 0(mtx), 0, 0
|
||||
fmuls f4, fp1, fp3
|
||||
stfs f4, 8(mtx)
|
||||
|
||||
/* Row 1 */
|
||||
psq_l scl_xy, 0(scl), 0, 0
|
||||
psq_l mtx_xy, 16(mtx), 0, 0
|
||||
lfs scl_z_, 8(scl)
|
||||
lfs mtx_z_, 24(mtx)
|
||||
ps_mul f4, mtx_xy, scl_xy
|
||||
psq_st f4, 16(mtx), 0, 0
|
||||
fmuls f4, mtx_z_, scl_z_
|
||||
stfs f4, 24(mtx)
|
||||
/* Row 1 */
|
||||
psq_l fp2, 0(scl), 0, 0
|
||||
psq_l fp0, 16(mtx), 0, 0
|
||||
lfs fp3, 8(scl)
|
||||
lfs fp1, 24(mtx)
|
||||
ps_mul f4, fp0, fp2
|
||||
psq_st f4, 16(mtx), 0, 0
|
||||
fmuls f4, fp1, fp3
|
||||
stfs f4, 24(mtx)
|
||||
|
||||
/* Row 2 */
|
||||
psq_l scl_xy, 0(scl), 0, 0
|
||||
psq_l mtx_xy, 32(mtx), 0, 0
|
||||
lfs scl_z_, 8(scl)
|
||||
lfs mtx_z_, 40(mtx)
|
||||
ps_mul f4, mtx_xy, scl_xy
|
||||
psq_st f4, 32(mtx), 0, 0
|
||||
fmuls f4, mtx_z_, scl_z_
|
||||
stfs f4, 40(mtx)
|
||||
}
|
||||
/* Row 2 */
|
||||
psq_l fp2, 0(scl), 0, 0
|
||||
psq_l fp0, 32(mtx), 0, 0
|
||||
lfs fp3, 8(scl)
|
||||
lfs fp1, 40(mtx)
|
||||
ps_mul f4, fp0, fp2
|
||||
psq_st f4, 32(mtx), 0, 0
|
||||
fmuls f4, fp1, fp3
|
||||
stfs f4, 40(mtx)
|
||||
blr
|
||||
#endif // clang-format on
|
||||
}
|
||||
#else
|
||||
void J3DScaleNrmMtx(f32 (*param_0)[4], Vec const& param_1) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80311DF8-80311E4C 30C738 0054+00 0/0 5/5 0/0 .text J3DScaleNrmMtx33__FPA3_fRC3Vec */
|
||||
void J3DScaleNrmMtx33(f32 (*param_0)[3], Vec const& param_1) {
|
||||
// NONMATCHING
|
||||
asm void J3DScaleNrmMtx33(register Mtx33 mtx, const register Vec& scale) {
|
||||
#ifdef __MWERKS__ // clang-format off
|
||||
psq_l f0, 0(mtx), 0, 0
|
||||
psq_l f6, 0(scale), 0, 0
|
||||
lfs f1, 8(mtx)
|
||||
lfs f7, 8(scale)
|
||||
ps_mul f0, f0, f6
|
||||
psq_l f2, 12(mtx), 0, 0
|
||||
fmuls f1, f1, f7
|
||||
lfs f3, 0x14(mtx)
|
||||
ps_mul f2, f2, f6
|
||||
psq_l f4, 24(mtx), 0, 0
|
||||
fmuls f3, f3, f7
|
||||
lfs f5, 0x20(mtx)
|
||||
ps_mul f4, f4, f6
|
||||
psq_st f0, 0(mtx), 0, 0
|
||||
fmuls f5, f5, f7
|
||||
stfs f1, 8(mtx)
|
||||
psq_st f2, 12(mtx), 0, 0
|
||||
stfs f3, 0x14(mtx)
|
||||
psq_st f4, 24(mtx), 0, 0
|
||||
stfs f5, 0x20(mtx)
|
||||
blr
|
||||
#endif // clang-format on
|
||||
}
|
||||
|
||||
/* 80311E4C-80311F70 30C78C 0124+00 0/0 3/3 0/0 .text J3DMtxProjConcat__FPA4_fPA4_fPA4_f
|
||||
*/
|
||||
void J3DMtxProjConcat(f32 (*param_0)[4], f32 (*param_1)[4], f32 (*param_2)[4]) {
|
||||
// NONMATCHING
|
||||
asm void J3DMtxProjConcat(register Mtx mtx1, register Mtx mtx2, register Mtx dst) {
|
||||
#ifdef __MWERKS__ // clang-format off
|
||||
psq_l f2, 0(mtx1), 0, 0
|
||||
psq_l f3, 8(mtx1), 0, 0
|
||||
ps_merge00 f6, f2, f2
|
||||
ps_merge11 f7, f2, f2
|
||||
ps_merge00 f8, f3, f3
|
||||
ps_merge11 f9, f3, f3
|
||||
psq_l f10, 0(mtx2), 0, 0
|
||||
psq_l f11, 16(mtx2), 0, 0
|
||||
psq_l f12, 32(mtx2), 0, 0
|
||||
psq_l f13, 48(mtx2), 0, 0
|
||||
ps_mul f0, f6, f10
|
||||
ps_madd f0, f7, f11, f0
|
||||
ps_madd f0, f8, f12, f0
|
||||
ps_madd f0, f9, f13, f0
|
||||
psq_st f0, 0(dst), 0, 0
|
||||
psq_l f10, 8(mtx2), 0, 0
|
||||
psq_l f11, 24(mtx2), 0, 0
|
||||
psq_l f12, 40(mtx2), 0, 0
|
||||
psq_l f13, 56(mtx2), 0, 0
|
||||
ps_mul f0, f6, f10
|
||||
ps_madd f0, f7, f11, f0
|
||||
ps_madd f0, f8, f12, f0
|
||||
ps_madd f0, f9, f13, f0
|
||||
psq_st f0, 8(dst), 0, 0
|
||||
psq_l f2, 16(mtx1), 0, 0
|
||||
psq_l f3, 24(mtx1), 0, 0
|
||||
ps_merge00 f6, f2, f2
|
||||
ps_merge11 f7, f2, f2
|
||||
ps_merge00 f8, f3, f3
|
||||
ps_merge11 f9, f3, f3
|
||||
psq_l f10, 0(mtx2), 0, 0
|
||||
psq_l f11, 16(mtx2), 0, 0
|
||||
psq_l f12, 32(mtx2), 0, 0
|
||||
psq_l f13, 48(mtx2), 0, 0
|
||||
ps_mul f0, f6, f10
|
||||
ps_madd f0, f7, f11, f0
|
||||
ps_madd f0, f8, f12, f0
|
||||
ps_madd f0, f9, f13, f0
|
||||
psq_st f0, 16(dst), 0, 0
|
||||
psq_l f10, 8(mtx2), 0, 0
|
||||
psq_l f11, 24(mtx2), 0, 0
|
||||
psq_l f12, 40(mtx2), 0, 0
|
||||
psq_l f13, 56(mtx2), 0, 0
|
||||
ps_mul f0, f6, f10
|
||||
ps_madd f0, f7, f11, f0
|
||||
ps_madd f0, f8, f12, f0
|
||||
ps_madd f0, f9, f13, f0
|
||||
psq_st f0, 24(dst), 0, 0
|
||||
psq_l f2, 32(mtx1), 0, 0
|
||||
psq_l f3, 40(mtx1), 0, 0
|
||||
ps_merge00 f6, f2, f2
|
||||
ps_merge11 f7, f2, f2
|
||||
ps_merge00 f8, f3, f3
|
||||
ps_merge11 f9, f3, f3
|
||||
psq_l f10, 0(mtx2), 0, 0
|
||||
psq_l f11, 16(mtx2), 0, 0
|
||||
psq_l f12, 32(mtx2), 0, 0
|
||||
psq_l f13, 48(mtx2), 0, 0
|
||||
ps_mul f0, f6, f10
|
||||
ps_madd f0, f7, f11, f0
|
||||
ps_madd f0, f8, f12, f0
|
||||
ps_madd f0, f9, f13, f0
|
||||
psq_st f0, 32(dst), 0, 0
|
||||
psq_l f10, 8(mtx2), 0, 0
|
||||
psq_l f11, 24(mtx2), 0, 0
|
||||
psq_l f12, 40(mtx2), 0, 0
|
||||
psq_l f13, 56(mtx2), 0, 0
|
||||
ps_mul f0, f6, f10
|
||||
ps_madd f0, f7, f11, f0
|
||||
ps_madd f0, f8, f12, f0
|
||||
ps_madd f0, f9, f13, f0
|
||||
psq_st f0, 40(dst), 0, 0
|
||||
blr
|
||||
#endif // clang-format on
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450958-80450960 0003D8 0008+00 1/1 0/0 0/0 .sdata Unit01 */
|
||||
static f32 Unit01[2] = {
|
||||
0.0f, 1.0f
|
||||
};
|
||||
|
||||
/* 80311F70-8031204C 30C8B0 00DC+00 0/0 1/1 0/0 .text J3DPSMtxArrayConcat__FPA4_fPA4_fPA4_fUl */
|
||||
void J3DPSMtxArrayConcat(f32 (*param_0)[4], f32 (*param_1)[4], f32 (*param_2)[4], u32 param_3) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#ifdef __MWERKS__ // clang-format off
|
||||
asm void J3DPSMtxArrayConcat(register Mtx mA, register Mtx mB, register Mtx mAB, register u32 count) {
|
||||
#define FP0 fp0
|
||||
#define FP1 fp1
|
||||
#define FP2 fp2
|
||||
#define FP3 fp3
|
||||
#define FP4 fp4
|
||||
#define FP5 fp5
|
||||
#define FP6 fp6
|
||||
#define FP7 fp7
|
||||
#define FP8 fp8
|
||||
#define FP9 fp9
|
||||
#define FP10 fp10
|
||||
#define FP11 fp11
|
||||
#define FP12 fp12
|
||||
#define FP13 fp13
|
||||
#define FP14 fp14
|
||||
#define FP15 fp15
|
||||
#define FP31 fp31
|
||||
#define UNIT_R r7
|
||||
|
||||
// this is just PSMtxConcat???
|
||||
nofralloc
|
||||
|
||||
stwu sp, -0x40(sp)
|
||||
stfd FP14, 0x08(sp)
|
||||
addis UNIT_R, 0, Unit01@ha
|
||||
stfd FP15, 0x10(sp)
|
||||
addi UNIT_R, UNIT_R, Unit01@l
|
||||
stfd FP31, 0x28(sp)
|
||||
subi mB, mB, 0x08
|
||||
subi mAB, mAB, 0x08
|
||||
mtctr count
|
||||
loop:
|
||||
psq_l FP0, 0x00(mA), 0, 0
|
||||
psq_l FP6, 0x08(mB), 0, 0
|
||||
psq_l FP7, 0x10(mB), 0, 0
|
||||
psq_l FP8, 0x18(mB), 0, 0
|
||||
ps_muls0 FP12, FP6, FP0
|
||||
psq_l FP2, 0x10(mA), 0, 0
|
||||
ps_muls0 FP13, FP7, FP0
|
||||
psq_l FP31, 0x00(UNIT_R), 0, 0
|
||||
ps_muls0 FP14, FP6, FP2
|
||||
psq_l FP9, 0x20(mB), 0, 0
|
||||
ps_muls0 FP15, FP7, FP2
|
||||
psq_l FP1, 0x08(mA), 0, 0
|
||||
ps_madds1 FP12, FP8, FP0, FP12
|
||||
psq_l FP3, 0x18(mA), 0, 0
|
||||
ps_madds1 FP14, FP8, FP2, FP14
|
||||
psq_l FP10, 0x28(mB), 0, 0
|
||||
ps_madds1 FP13, FP9, FP0, FP13
|
||||
psq_lu FP11, 0x30(mB), 0, 0
|
||||
ps_madds1 FP15, FP9, FP2, FP15
|
||||
psq_l FP4, 0x20(mA), 0, 0
|
||||
psq_l FP5, 0x28(mA), 0, 0
|
||||
ps_madds0 FP12, FP10, FP1, FP12
|
||||
ps_madds0 FP13, FP11, FP1, FP13
|
||||
ps_madds0 FP14, FP10, FP3, FP14
|
||||
ps_madds0 FP15, FP11, FP3, FP15
|
||||
psq_st FP12, 0x08(mAB), 0, 0
|
||||
|
||||
ps_muls0 FP2, FP6, FP4
|
||||
ps_madds1 FP13, FP31, FP1, FP13
|
||||
ps_muls0 FP0, FP7, FP4
|
||||
psq_st FP14, 0x18(mAB), 0, 0
|
||||
ps_madds1 FP15, FP31, FP3, FP15
|
||||
|
||||
psq_st FP13, 0x10(mAB), 0, 0
|
||||
|
||||
ps_madds1 FP2, FP8, FP4, FP2
|
||||
ps_madds1 FP0, FP9, FP4, FP0
|
||||
ps_madds0 FP2, FP10, FP5, FP2
|
||||
psq_st FP15, 0x20(mAB), 0, 0
|
||||
ps_madds0 FP0, FP11, FP5, FP0
|
||||
psq_st FP2, 0x28(mAB), 0, 0
|
||||
ps_madds1 FP0, FP31, FP5, FP0
|
||||
psq_stu FP0, 0x30(mAB), 0, 0
|
||||
|
||||
bdnz loop
|
||||
|
||||
lfd FP14, 0x08(sp)
|
||||
lfd FP15, 0x10(sp)
|
||||
lfd FP31, 0x28(sp)
|
||||
addi sp, sp, 0x40
|
||||
blr
|
||||
|
||||
#undef FP0
|
||||
#undef FP1
|
||||
#undef FP2
|
||||
#undef FP3
|
||||
#undef FP4
|
||||
#undef FP5
|
||||
#undef FP6
|
||||
#undef FP7
|
||||
#undef FP8
|
||||
#undef FP9
|
||||
#undef FP10
|
||||
#undef FP11
|
||||
#undef FP12
|
||||
#undef FP13
|
||||
#undef FP14
|
||||
#undef FP15
|
||||
#undef FP31
|
||||
#undef UNIT_R
|
||||
}
|
||||
#endif // clang-format on
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803CD8F8-803CD900 02AA18 0008+00 0/0 2/2 0/0 .data PSMulUnit01 */
|
||||
extern f32 PSMulUnit01[2] = {
|
||||
extern f32 PSMulUnit01[] = {
|
||||
0.0f,
|
||||
-1.0f,
|
||||
};
|
||||
|
||||
@@ -4,222 +4,6 @@
|
||||
//
|
||||
|
||||
#include "JSystem/JGadget/std-vector.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "algorithm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
namespace JGadget {
|
||||
struct vector {
|
||||
/* 802DCCC8 */ static u32 extend_default(u32, u32, u32);
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
struct TAllocator {
|
||||
void destroy(T* item) {}
|
||||
void deallocate(T* mem, u32 size) {
|
||||
DeallocateRaw(mem);
|
||||
}
|
||||
void DeallocateRaw(T* mem) {
|
||||
delete mem;
|
||||
}
|
||||
T* allocate(u32 count, void *param_2) {
|
||||
return AllocateRaw(count * sizeof(T));
|
||||
}
|
||||
T* AllocateRaw(u32 size) {
|
||||
return (T*)new char[size];
|
||||
}
|
||||
|
||||
u8 field_0x0;
|
||||
};
|
||||
/* TAllocator<void*> */
|
||||
struct TAllocator__template0 {};
|
||||
|
||||
typedef u32 (*extendFunc)(u32, u32, u32);
|
||||
|
||||
template <typename T, typename Allocator = JGadget::TAllocator<T> >
|
||||
struct TVector {
|
||||
struct TDestructed_deallocate_ {
|
||||
TDestructed_deallocate_(Allocator* allocator, T* addr) {
|
||||
mAllocator = allocator;
|
||||
mAddr = addr;
|
||||
}
|
||||
void set(T* addr) {
|
||||
mAddr = addr;
|
||||
}
|
||||
inline ~TDestructed_deallocate_() {
|
||||
mAllocator->deallocate(mAddr, 0);
|
||||
}
|
||||
Allocator* mAllocator;
|
||||
T* mAddr;
|
||||
};
|
||||
|
||||
TVector(Allocator const& param_0) {
|
||||
field_0x0 = param_0;
|
||||
pBegin_ = NULL;
|
||||
pEnd_ = pBegin_;
|
||||
mCapacity = 0;
|
||||
pfnExtend_ = JGadget::vector::extend_default;
|
||||
}
|
||||
|
||||
~TVector() {
|
||||
clear();
|
||||
field_0x0.deallocate(pBegin_, 0);
|
||||
}
|
||||
|
||||
T* insert(T* pos, const T& val) {
|
||||
u32 diff = (u32)pos - (u32)begin();
|
||||
insert(pos, 1, val);
|
||||
return pBegin_ + diff;
|
||||
}
|
||||
|
||||
void insert(T* pos, u32 count, const T& val) {
|
||||
if (count != 0) {
|
||||
T* this_00 = Insert_raw(pos, count);
|
||||
if (this_00 != end()) {
|
||||
std::uninitialized_fill_n(this_00, count, val);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
T* Insert_raw(T* pos, u32 count) {
|
||||
if (count == 0) {
|
||||
return pos;
|
||||
}
|
||||
if (mCapacity < count + size()) {
|
||||
u32 uVar4 = GetSize_extend_(count);
|
||||
T* ppvVar5 = field_0x0.allocate(uVar4, NULL);
|
||||
if (ppvVar5 == NULL) {
|
||||
pos = end();
|
||||
} else {
|
||||
TDestructed_deallocate_ aTStack_30(&field_0x0, ppvVar5);
|
||||
T* ppvVar6 = std::uninitialized_copy(pBegin_, pos, ppvVar5);
|
||||
std::uninitialized_copy(pos, pEnd_, ppvVar6 + count);
|
||||
DestroyElement_all_();
|
||||
aTStack_30.set(pBegin_);
|
||||
u32 uVar2 = (u32)pEnd_ - (u32)pBegin_;
|
||||
pEnd_ = ppvVar5 + count + (uVar2 / 4);
|
||||
pBegin_ = ppvVar5;
|
||||
mCapacity = uVar4;
|
||||
pos = ppvVar6;
|
||||
}
|
||||
} else {
|
||||
T* ppvVar5 = pos + count;
|
||||
if (ppvVar5 < pEnd_) {
|
||||
T* ppvVar6 = pEnd_ - count;
|
||||
std::uninitialized_copy(ppvVar6, pEnd_, pEnd_);
|
||||
std::copy_backward(pos, ppvVar6, pEnd_);
|
||||
DestroyElement_(pos, ppvVar5);
|
||||
pEnd_ += count;
|
||||
} else {
|
||||
std::uninitialized_copy(pos, pEnd_, ppvVar5);
|
||||
DestroyElement_(pos, pEnd_);
|
||||
pEnd_ += count;
|
||||
}
|
||||
}
|
||||
return pos;
|
||||
}
|
||||
|
||||
T* begin() {
|
||||
return pBegin_;
|
||||
}
|
||||
|
||||
T* end() {
|
||||
return pEnd_;
|
||||
}
|
||||
|
||||
u32 size() {
|
||||
if (pBegin_ == 0) {
|
||||
return 0;
|
||||
}
|
||||
return ((u32)pEnd_ - (u32)pBegin_) / 4;
|
||||
}
|
||||
|
||||
u32 capacity() { return mCapacity; }
|
||||
|
||||
u32 GetSize_extend_(u32 count) {
|
||||
u32 iVar2 = size();
|
||||
u32 uVar3 = capacity();
|
||||
u32 uVar4 = pfnExtend_(uVar3, iVar2, count);
|
||||
if (uVar4 < iVar2 + count) {
|
||||
uVar4 = iVar2 + count;
|
||||
}
|
||||
return uVar4;
|
||||
}
|
||||
|
||||
void DestroyElement_(T* start, T* end) {
|
||||
for (; start != end; start++) {
|
||||
field_0x0.destroy(start);
|
||||
}
|
||||
}
|
||||
|
||||
void DestroyElement_all_() {
|
||||
DestroyElement_(pBegin_, pEnd_);
|
||||
}
|
||||
|
||||
T* erase(T* start, T* end) {
|
||||
T* vectorEnd = pEnd_;
|
||||
T* ppvVar3 = std::copy(end, vectorEnd, start);
|
||||
DestroyElement_(ppvVar3, pEnd_);
|
||||
pEnd_ = ppvVar3;
|
||||
return start;
|
||||
}
|
||||
|
||||
void clear() {
|
||||
erase(begin(), end());
|
||||
}
|
||||
|
||||
Allocator field_0x0;
|
||||
T* pBegin_;
|
||||
T* pEnd_;
|
||||
u32 mCapacity;
|
||||
extendFunc pfnExtend_;
|
||||
};
|
||||
/* TVector<void*, JGadget::TAllocator<void*>> */
|
||||
struct TVector__template0 {
|
||||
/* 802DD130 */ void func_802DD130(void* _this, void**, void* const&);
|
||||
/* 802DCE1C */ void func_802DCE1C(void* _this, void**, u32, void* const&);
|
||||
/* 802DCE8C */ void func_802DCE8C(void* _this, void**, u32);
|
||||
};
|
||||
|
||||
struct TVector_pointer_void : public TVector<void*> {
|
||||
/* 802DCCD0 */ TVector_pointer_void(JGadget::TAllocator<void*> const&);
|
||||
/* 802DCCFC */ ~TVector_pointer_void();
|
||||
/* 802DCDA4 */ void insert(void**, void* const&);
|
||||
/* 802DCDC4 */ void** erase(void**, void**);
|
||||
};
|
||||
|
||||
}; // namespace JGadget
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void extend_default__Q27JGadget6vectorFUlUlUl();
|
||||
extern "C" void func_802DCCD0();
|
||||
extern "C" void __dt__Q27JGadget20TVector_pointer_voidFv();
|
||||
extern "C" void insert__Q27JGadget20TVector_pointer_voidFPPvRCPv();
|
||||
extern "C" void erase__Q27JGadget20TVector_pointer_voidFPPvPPv();
|
||||
extern "C" void func_802DCE1C(void* _this, void**, u32, void* const&);
|
||||
extern "C" void func_802DCE8C(void* _this, void**, u32);
|
||||
extern "C" void func_802DD130(void* _this, void**, void* const&);
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_29();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 802DCCC8-802DCCD0 2D7608 0008+00 1/1 0/0 0/0 .text extend_default__Q27JGadget6vectorFUlUlUl */
|
||||
u32 JGadget::vector::extend_default(u32 param_0, u32 param_1, u32 param_2) {
|
||||
@@ -237,37 +21,12 @@ JGadget::TVector_pointer_void::~TVector_pointer_void() {
|
||||
|
||||
/* 802DCDA4-802DCDC4 2D76E4 0020+00 0/0 1/1 0/0 .text
|
||||
* insert__Q27JGadget20TVector_pointer_voidFPPvRCPv */
|
||||
// the entire function chain needs work
|
||||
#ifdef NONMATCHING
|
||||
void JGadget::TVector_pointer_void::insert(void** param_0, void* const& param_1) {
|
||||
TVector<void*>::insert(param_0, param_1);
|
||||
}
|
||||
#else
|
||||
void JGadget::TVector_pointer_void::insert(void** param_0, void* const& param_1) {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 802DCDC4-802DCE1C 2D7704 0058+00 0/0 1/1 0/0 .text
|
||||
* erase__Q27JGadget20TVector_pointer_voidFPPvPPv */
|
||||
void** JGadget::TVector_pointer_void::erase(void** param_0, void** param_1) {
|
||||
return TVector<void*>::erase(param_0, param_1);
|
||||
}
|
||||
|
||||
/* 802DCE1C-802DCE8C 2D775C 0070+00 1/1 0/0 0/0 .text
|
||||
* insert__Q27JGadget38TVector<Pv,Q27JGadget14TAllocator<Pv>>FPPvUlRCPv */
|
||||
extern "C" void func_802DCE1C(void* _this, void** param_0, u32 param_1, void* const& param_2) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 802DCE8C-802DD130 2D77CC 02A4+00 1/1 0/0 0/0 .text
|
||||
* Insert_raw__Q27JGadget38TVector<Pv,Q27JGadget14TAllocator<Pv>>FPPvUl */
|
||||
extern "C" void func_802DCE8C(void* _this, void** param_0, u32 param_1) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 802DD130-802DD188 2D7A70 0058+00 1/1 0/0 0/0 .text
|
||||
* insert__Q27JGadget38TVector<Pv,Q27JGadget14TAllocator<Pv>>FPPvRCPv */
|
||||
extern "C" void func_802DD130(void* _this, void** param_0, void* const& param_1) {
|
||||
// NONMATCHING
|
||||
}
|
||||
@@ -4,8 +4,9 @@
|
||||
//
|
||||
|
||||
#include "JSystem/JMessage/resource.h"
|
||||
#include "string.h"
|
||||
#include <algorithm.h>
|
||||
#include "dol2asm.h"
|
||||
#include "string.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
@@ -64,12 +65,81 @@ extern "C" f32 ga4cSignature__Q28JMessage4data[1 + 1 /* padding */];
|
||||
|
||||
/* 802A8CDC-802A8EC0 2A361C 01E4+00 0/0 1/1 0/0 .text
|
||||
* toMessageIndex_messageID__Q28JMessage9TResourceCFUlUlPb */
|
||||
u16 JMessage::TResource::toMessageIndex_messageID(u32 param_0, u32 param_1,
|
||||
bool* param_2) const {
|
||||
// NONMATCHING
|
||||
// NONMATCHING - instruction order
|
||||
u16 JMessage::TResource::toMessageIndex_messageID(u32 lowerHalf, u32 upperHalf,
|
||||
bool* isMsgValid) const {
|
||||
if (!mMessageID.get()) {
|
||||
return 0xFFFF;
|
||||
}
|
||||
|
||||
u32 val = -1;
|
||||
bool check = true;
|
||||
|
||||
switch (mMessageID.get_formSupplement()) {
|
||||
case 0:
|
||||
if (upperHalf) {
|
||||
check = false;
|
||||
}
|
||||
val = lowerHalf;
|
||||
break;
|
||||
case 1:
|
||||
if (lowerHalf > 0xFFFFFF || upperHalf > 0xFF) {
|
||||
check = false;
|
||||
}
|
||||
val = ((lowerHalf << 8) & 0xFFFFFF00) | (upperHalf & 0xFF);
|
||||
break;
|
||||
case 2:
|
||||
if (lowerHalf > 0xFFFF || upperHalf > 0xFFFF) {
|
||||
check = false;
|
||||
}
|
||||
val = ((lowerHalf << 16) & 0xFFFF0000) | (upperHalf & 0xFFFF);
|
||||
break;
|
||||
case 3:
|
||||
if (lowerHalf > 0xFF || upperHalf > 0xFFFFFF) {
|
||||
check = false;
|
||||
}
|
||||
val = ((lowerHalf << 24) & 0xFF000000) | (upperHalf & 0x00FFFFFF);
|
||||
break;
|
||||
case 4:
|
||||
if (lowerHalf) {
|
||||
check = false;
|
||||
}
|
||||
val = upperHalf;
|
||||
break;
|
||||
default:
|
||||
return 0xFFFF;
|
||||
}
|
||||
|
||||
if (isMsgValid) {
|
||||
*isMsgValid = check;
|
||||
}
|
||||
|
||||
if (val == 0xFFFFFFFF) {
|
||||
return 0xFFFF;
|
||||
}
|
||||
|
||||
const u32* first = (u32*)mMessageID.getContent();
|
||||
const u32* last = (u32*)(first + mMessageID.get_number());
|
||||
|
||||
const u32* lower;
|
||||
if (mMessageID.get_isOrdered()) {
|
||||
lower = std::lower_bound<const u32*, u32>(first, last, val);
|
||||
|
||||
if (lower == last || *lower != val) {
|
||||
return 0xFFFF;
|
||||
}
|
||||
} else {
|
||||
lower = first;
|
||||
while (lower != last && *lower != val) {
|
||||
lower++;
|
||||
}
|
||||
if (lower == last) {
|
||||
return 0xFFFF;
|
||||
}
|
||||
}
|
||||
return (lower - first);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803C9C80-803C9C94 -00001 0014+00 1/1 0/0 0/0 .data
|
||||
* sapfnParseCharacter___Q28JMessage18TResourceContainer */
|
||||
JMessage::locale::parseCharacter_function JMessage::TResourceContainer::sapfnParseCharacter_[5] = {
|
||||
@@ -115,15 +185,19 @@ JMessage::TResourceContainer::TCResource::TCResource() {
|
||||
/* 802A8EF8-802A8F6C 2A3838 0074+00 1/0 2/2 0/0 .text
|
||||
* __dt__Q38JMessage18TResourceContainer10TCResourceFv */
|
||||
// need to fix TLinkList_factory vtable stuff
|
||||
// JMessage::TResourceContainer::TCResource::~TCResource() {
|
||||
extern "C" void __dt__Q38JMessage18TResourceContainer10TCResourceFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
JMessage::TResourceContainer::TCResource::~TCResource() {}
|
||||
|
||||
/* 802A8F6C-802A8FFC 2A38AC 0090+00 0/0 1/1 0/0 .text
|
||||
* Get_groupID__Q38JMessage18TResourceContainer10TCResourceFUs */
|
||||
JMessage::TResource* JMessage::TResourceContainer::TCResource::Get_groupID(u16 param_0) {
|
||||
// NONMATCHING
|
||||
// NONMATCHING
|
||||
JMessage::TResource* JMessage::TResourceContainer::TCResource::Get_groupID(u16 groupID) {
|
||||
JGadget::TContainerEnumerator<TResource, 0> enumerator(this);
|
||||
while (enumerator) {
|
||||
const TResource* res = &(*enumerator);
|
||||
if (res->field_0xc.get_groupID() == groupID)
|
||||
return (TResource*)res;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* 802A8FFC-802A9048 2A393C 004C+00 1/0 0/0 0/0 .text
|
||||
@@ -169,10 +243,7 @@ JMessage::TParse::TParse(JMessage::TResourceContainer* pContainer) {
|
||||
}
|
||||
|
||||
/* 802A9158-802A91B8 2A3A98 0060+00 1/0 0/0 0/0 .text __dt__Q28JMessage6TParseFv */
|
||||
// JMessage::TParse::~TParse() {
|
||||
extern "C" void __dt__Q28JMessage6TParseFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
JMessage::TParse::~TParse() {}
|
||||
|
||||
/* 802A91B8-802A92F4 2A3AF8 013C+00 1/0 0/0 0/0 .text
|
||||
* parseHeader_next__Q28JMessage6TParseFPPCvPUlUl */
|
||||
@@ -253,7 +324,7 @@ int JMessage::locale::parseCharacter_2Byte(char const** string) {
|
||||
}
|
||||
|
||||
/* 802A94D4-802A9528 2A3E14 0054+00 1/1 0/0 0/0 .text lower_bound<PCUl,Ul>__3stdFPCUlPCUlRCUl */
|
||||
extern "C" void func_802A94D4(void* _this, u32 const* param_0, u32 const* param_1,
|
||||
/* extern "C" void func_802A94D4(void* _this, u32 const* param_0, u32 const* param_1,
|
||||
u32 const& param_2) {
|
||||
// NONMATCHING
|
||||
}
|
||||
} */
|
||||
|
||||
@@ -190,7 +190,7 @@ JStudio::ctb::TObject* JStudio::ctb::TControl::getObject_index(u32 param_0) {
|
||||
return 0;
|
||||
}
|
||||
JGadget::TLinkList<TObject, -12>::iterator aiStack_14 = mList.begin();
|
||||
std::advance(aiStack_14, param_0);
|
||||
std::advance_fake(aiStack_14, param_0);
|
||||
return &*aiStack_14;
|
||||
}
|
||||
|
||||
@@ -302,4 +302,4 @@ extern "C" void func_802815B4(void* _this, JGadget::TLinkList<JStudio::ctb::TObj
|
||||
JGadget::TLinkList<JStudio::ctb::TObject, 12>::iterator param_1,
|
||||
JStudio::object::TPRObject_ID_equal param_2) {
|
||||
// NONMATCHING
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,30 @@
|
||||
#ifndef MSL_ALGORITHM_H_
|
||||
#define MSL_ALGORITHM_H_
|
||||
|
||||
#include <string.h>
|
||||
#include <iterator.h>
|
||||
|
||||
namespace std {
|
||||
template <class ForwardIterator, class T>
|
||||
ForwardIterator lower_bound(ForwardIterator first, ForwardIterator last, const T& val);
|
||||
ForwardIterator lower_bound(ForwardIterator first, ForwardIterator last, const T& val) {
|
||||
typedef typename iterator_traits<ForwardIterator>::difference_type difference_type;
|
||||
difference_type len = std::distance(first, last);
|
||||
|
||||
while (len > 0) {
|
||||
ForwardIterator i = first;
|
||||
difference_type step = len / 2;
|
||||
std::advance(i, step);
|
||||
|
||||
if (*i < val) {
|
||||
first = ++i;
|
||||
len -= step + 1;
|
||||
} else {
|
||||
len = step;
|
||||
}
|
||||
}
|
||||
|
||||
return first;
|
||||
}
|
||||
|
||||
template <class ForwardIterator, class T>
|
||||
ForwardIterator upper_bound(ForwardIterator first, ForwardIterator last, const T& val);
|
||||
@@ -53,12 +74,45 @@ inline OutputIt copy(InputIt first, InputIt last,
|
||||
return d_first;
|
||||
}
|
||||
|
||||
template<class BidirIt1, class BidirIt2>
|
||||
inline BidirIt2 copy_backward(BidirIt1 first, BidirIt1 last, BidirIt2 d_last) {
|
||||
while (first != last) {
|
||||
*(--d_last) = *(--last);
|
||||
}
|
||||
return d_last;
|
||||
template <class BidirectionalIterator1, class BidirectionalIterator2>
|
||||
inline BidirectionalIterator2 copy_backward(BidirectionalIterator1 first, BidirectionalIterator1 last, BidirectionalIterator2 result) {
|
||||
while (last != first)
|
||||
*--result = *--last;
|
||||
return result;
|
||||
}
|
||||
|
||||
template <class T, bool A>
|
||||
struct __copy_backward
|
||||
{
|
||||
static T* copy_backward(T* first, T* last, T* result)
|
||||
{
|
||||
while (last > first)
|
||||
*--result = *--last;
|
||||
return result;
|
||||
}
|
||||
};
|
||||
|
||||
template <class T>
|
||||
struct __copy_backward<T, true>
|
||||
{
|
||||
static T* copy_backward(T* first, T* last, T* result)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
size_t n = static_cast<size_t>(last - first);
|
||||
result -= n;
|
||||
memmove(result, first, n*sizeof(T));
|
||||
return result;
|
||||
#else
|
||||
while (last > first)
|
||||
*--result = *--last;
|
||||
return result;
|
||||
#endif
|
||||
}
|
||||
};
|
||||
|
||||
template <class T>
|
||||
inline T* copy_backward(T* first, T* last, T* result) {
|
||||
return __copy_backward<T, true>::copy_backward(first, last, result);
|
||||
}
|
||||
|
||||
} // namespace std
|
||||
|
||||
@@ -2,20 +2,92 @@
|
||||
#define MSL_ITERATOR_H_
|
||||
|
||||
namespace std {
|
||||
template< class InputIt, class Distance >
|
||||
inline void advance( InputIt& it, Distance n) {
|
||||
struct input_iterator_tag {};
|
||||
struct output_iterator_tag {};
|
||||
struct forward_iterator_tag : public input_iterator_tag {};
|
||||
struct bidirectional_iterator_tag : public forward_iterator_tag {};
|
||||
struct random_access_iterator_tag : public bidirectional_iterator_tag {};
|
||||
|
||||
template <class Iterator>
|
||||
struct iterator_traits {
|
||||
typedef typename Iterator::difference_type difference_type;
|
||||
typedef typename Iterator::value_type value_type;
|
||||
typedef typename Iterator::pointer pointer;
|
||||
typedef typename Iterator::reference reference;
|
||||
typedef typename Iterator::iterator_category iterator_category;
|
||||
};
|
||||
|
||||
template <class T>
|
||||
struct iterator_traits<T*> {
|
||||
typedef ptrdiff_t difference_type;
|
||||
typedef T value_type;
|
||||
typedef T* pointer;
|
||||
typedef T& reference;
|
||||
typedef random_access_iterator_tag iterator_category;
|
||||
};
|
||||
|
||||
template <class InputIterator, class Distance>
|
||||
inline void __advance(InputIterator& i, Distance n, input_iterator_tag) {
|
||||
for (; n > 0; --n)
|
||||
++i;
|
||||
}
|
||||
|
||||
template <class BidirectionalIterator, class Distance>
|
||||
inline void __advance(BidirectionalIterator& i, Distance n, bidirectional_iterator_tag) {
|
||||
if (n >= 0)
|
||||
for (; n > 0; --n)
|
||||
++i;
|
||||
else
|
||||
for (; n < 0; ++n)
|
||||
--i;
|
||||
}
|
||||
|
||||
template <class RandomAccessIterator, class Distance>
|
||||
inline void __advance(RandomAccessIterator& i, Distance n, random_access_iterator_tag) {
|
||||
i += n;
|
||||
}
|
||||
|
||||
template <class InputIterator, class Distance>
|
||||
inline void advance(InputIterator& i, Distance n) {
|
||||
__advance(i, n, typename iterator_traits<InputIterator>::iterator_category());
|
||||
}
|
||||
|
||||
// TODO: combine this with above later
|
||||
template <class InputIt, class Distance>
|
||||
inline void advance_fake(InputIt& it, Distance n) {
|
||||
while (n > 0) {
|
||||
--n;
|
||||
++it;
|
||||
}
|
||||
}
|
||||
|
||||
template <class InputIterator>
|
||||
inline typename iterator_traits<InputIterator>::difference_type
|
||||
__distance(InputIterator first, InputIterator last, input_iterator_tag) {
|
||||
typename iterator_traits<InputIterator>::difference_type result = 0;
|
||||
for (; first != last; ++first)
|
||||
++result;
|
||||
return result;
|
||||
}
|
||||
|
||||
template <class RandomAccessIterator>
|
||||
inline typename iterator_traits<RandomAccessIterator>::difference_type
|
||||
__distance(RandomAccessIterator first, RandomAccessIterator last, random_access_iterator_tag) {
|
||||
return last - first;
|
||||
}
|
||||
|
||||
template <class InputIterator>
|
||||
inline typename iterator_traits<InputIterator>::difference_type distance(InputIterator first,
|
||||
InputIterator last) {
|
||||
return __distance(first, last, typename iterator_traits<InputIterator>::iterator_category());
|
||||
}
|
||||
|
||||
// This needs to be defined with gcc concepts or something similar. Workaround.
|
||||
template< class InputIt, class Distance >
|
||||
inline void advance_pointer( InputIt& it, Distance n) {
|
||||
template <class InputIt, class Distance>
|
||||
inline void advance_pointer(InputIt& it, Distance n) {
|
||||
it += n;
|
||||
}
|
||||
|
||||
}
|
||||
} // namespace std
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -5,20 +5,47 @@ namespace std {
|
||||
|
||||
template<class ForwardIt, class Size, class T>
|
||||
inline ForwardIt uninitialized_fill_n(ForwardIt first, Size count, const T& value) {
|
||||
for (; count > 0; ++first, (void) --count) {
|
||||
*first = value;
|
||||
for (; count--; ++first) {
|
||||
if (first != NULL) {
|
||||
*first = value;
|
||||
}
|
||||
}
|
||||
return first;
|
||||
}
|
||||
|
||||
template<class InputIt, class NoThrowForwardIt>
|
||||
inline NoThrowForwardIt uninitialized_copy(InputIt first, InputIt last, NoThrowForwardIt d_first) {
|
||||
for (; first != last; ++first, ++d_first) {
|
||||
*d_first = *first;
|
||||
template<class InputIterator, class ForwardIterator>
|
||||
inline ForwardIterator __uninitialized_copy(InputIterator first, InputIterator last, ForwardIterator result) {
|
||||
ForwardIterator __save = result;
|
||||
|
||||
for (; first != last; ++first, ++result) {
|
||||
*result = *first;
|
||||
}
|
||||
return d_first;
|
||||
return result;
|
||||
}
|
||||
|
||||
template <class T, bool A, bool B>
|
||||
struct __uninitialized_copy_helper {
|
||||
static T* uninitialized_copy(T* first, T* last, T* result) {
|
||||
return __uninitialized_copy(first, last, result);
|
||||
}
|
||||
};
|
||||
|
||||
template <class T>
|
||||
struct __uninitialized_copy_helper<T, true, false>
|
||||
{
|
||||
static T* uninitialized_copy(T* first, T* last, T* result)
|
||||
{
|
||||
for (; first < last; ++result, ++first)
|
||||
*result = *first;
|
||||
return result;
|
||||
}
|
||||
};
|
||||
|
||||
template <class T>
|
||||
inline T* uninitialized_copy(T* first, T* last, T* result) {
|
||||
return __uninitialized_copy_helper<T, true, false>::uninitialized_copy(first, last, result);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
|
||||
/* 802667D4-80266800 261114 002C+00 0/0 3/3 0/0 .text cReq_Is_Done__FP18request_base_class */
|
||||
int cReq_Is_Done(request_base_class* i_this) {
|
||||
if (i_this->field_0x0.flag1 == 1) {
|
||||
i_this->field_0x0.flag1 = 0;
|
||||
if (i_this->flag1 == 1) {
|
||||
i_this->flag1 = 0;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
@@ -17,9 +17,9 @@ int cReq_Is_Done(request_base_class* i_this) {
|
||||
/* 80266800-80266830 261140 0030+00 0/0 3/3 0/0 .text cReq_Done__FP18request_base_class
|
||||
*/
|
||||
void cReq_Done(request_base_class* i_this) {
|
||||
i_this->field_0x0.flag0 = 0;
|
||||
i_this->field_0x0.flag1 = 1;
|
||||
i_this->field_0x0.flag2 = 0;
|
||||
i_this->flag0 = 0;
|
||||
i_this->flag1 = 1;
|
||||
i_this->flag2 = 0;
|
||||
}
|
||||
|
||||
/* 80266830-80266850 261170 0020+00 0/0 2/2 0/0 .text cReq_Command__FP18request_base_classUc */
|
||||
@@ -29,7 +29,7 @@ void cReq_Command(request_base_class* i_this, u8 param_1) {
|
||||
|
||||
/* 80266850-80266880 261190 0030+00 1/1 2/2 0/0 .text cReq_Create__FP18request_base_classUc */
|
||||
void cReq_Create(request_base_class* i_this, u8 param_1) {
|
||||
i_this->field_0x0.flag0 = 1;
|
||||
i_this->field_0x0.flag1 = 0;
|
||||
i_this->field_0x0.flag2 = param_1;
|
||||
}
|
||||
i_this->flag0 = 1;
|
||||
i_this->flag1 = 0;
|
||||
i_this->flag2 = param_1;
|
||||
}
|
||||
|
||||
@@ -462,7 +462,7 @@ extern actor_process_profile_definition g_profile_DR = {
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_DR, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daDr_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
@@ -474,4 +474,4 @@ extern actor_process_profile_definition g_profile_DR = {
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 805AA4C8-805AA4C8 000074 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 805AA4C8-805AA4C8 000074 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -288,7 +288,7 @@ extern actor_process_profile_definition g_profile_L7lowDr = {
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_L7lowDr, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daL7lowDr_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
@@ -300,4 +300,4 @@ extern actor_process_profile_definition g_profile_L7lowDr = {
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 805AAFB0-805AAFB0 00003C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 805AAFB0-805AAFB0 00003C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -887,7 +887,7 @@ extern actor_process_profile_definition g_profile_L7ODR = {
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_L7ODR, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daL7ODR_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
@@ -982,4 +982,4 @@ extern "C" void __as__4cXyzFRC4cXyz() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 805AE0AC-805AE0AC 00015C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 805AE0AC-805AE0AC 00015C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -5339,7 +5339,7 @@ extern actor_process_profile_definition g_profile_ALINK = {
|
||||
5,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_ALINK,
|
||||
&g_fpcLf_Method.mBase,
|
||||
&g_fpcLf_Method.base,
|
||||
sizeof(daAlink_c),
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -1129,10 +1129,10 @@ BOOL daAlink_c::checkEndMessage(u32 param_0) {
|
||||
msg_class* msg = fopMsgM_SearchByID(mMsgClassID);
|
||||
|
||||
if (msg != NULL) {
|
||||
if (msg->mMode == 14) {
|
||||
msg->mMode = 16;
|
||||
} else if (msg->mMode == 0x12) {
|
||||
msg->mMode = 0x13;
|
||||
if (msg->mode == 14) {
|
||||
msg->mode = 16;
|
||||
} else if (msg->mode == 0x12) {
|
||||
msg->mode = 0x13;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -212,8 +212,8 @@ void daAlink_c::preKandelaarDraw() {
|
||||
field_0x32c8 = 0;
|
||||
}
|
||||
|
||||
f32 near = dComIfGd_getView()->mNear;
|
||||
f32 far = dComIfGd_getView()->mFar;
|
||||
f32 near = dComIfGd_getView()->near;
|
||||
f32 far = dComIfGd_getView()->far;
|
||||
|
||||
mDoLib_pos2camera(&mKandelaarFlamePos, &proj);
|
||||
proj.z += 30.0f;
|
||||
|
||||
@@ -208,7 +208,7 @@ extern actor_process_profile_definition g_profile_ALLDIE = {
|
||||
2,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_ALLDIE,
|
||||
&g_fpcLf_Method.mBase,
|
||||
&g_fpcLf_Method.base,
|
||||
sizeof(daAlldie_c),
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -79,7 +79,7 @@ extern actor_process_profile_definition g_profile_ANDSW = {
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_ANDSW, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daAndsw_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
@@ -89,4 +89,4 @@ extern actor_process_profile_definition g_profile_ANDSW = {
|
||||
0x40000, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
};
|
||||
|
||||
@@ -368,7 +368,7 @@ extern actor_process_profile_definition g_profile_ANDSW2 = {
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_ANDSW2, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daAndsw2_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
@@ -378,4 +378,4 @@ extern actor_process_profile_definition g_profile_ANDSW2 = {
|
||||
0x44000, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_6_e, // cullType
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1292,7 +1292,7 @@ extern actor_process_profile_definition g_profile_ARROW = {
|
||||
9, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_ARROW, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daArrow_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
|
||||
@@ -294,7 +294,7 @@ extern actor_process_profile_definition g_profile_B_BH = {
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_B_BH, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(b_bh_class), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
@@ -1202,4 +1202,4 @@ static u8 data_805B3478[4];
|
||||
static u8 data_805B347C[4];
|
||||
#pragma pop
|
||||
|
||||
/* 805B322C-805B322C 0000EC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 805B322C-805B322C 0000EC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -1434,8 +1434,8 @@ static void demo_camera(b_bq_class* i_this) {
|
||||
|
||||
daPy_getPlayerActorClass()->changeOriginalDemo();
|
||||
|
||||
i_this->mDemoCamEye = camera0->mLookat.mEye;
|
||||
i_this->mDemoCamCenter = camera0->mLookat.mCenter;
|
||||
i_this->mDemoCamEye = camera0->lookat.eye;
|
||||
i_this->mDemoCamCenter = camera0->lookat.center;
|
||||
|
||||
dComIfGp_getEvent().startCheckSkipEdge(i_this);
|
||||
// fallthrough
|
||||
@@ -2693,7 +2693,7 @@ extern actor_process_profile_definition g_profile_B_BQ = {
|
||||
7,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_B_BQ,
|
||||
&g_fpcLf_Method.mBase,
|
||||
&g_fpcLf_Method.base,
|
||||
sizeof(b_bq_class),
|
||||
0,
|
||||
0,
|
||||
@@ -2703,4 +2703,4 @@ extern actor_process_profile_definition g_profile_B_BQ = {
|
||||
0x44000,
|
||||
fopAc_ENEMY_e,
|
||||
fopAc_CULLBOX_CUSTOM_e,
|
||||
};
|
||||
};
|
||||
|
||||
@@ -724,7 +724,7 @@ extern actor_process_profile_definition g_profile_B_DR = {
|
||||
4, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_B_DR, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daB_DR_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
@@ -3088,4 +3088,4 @@ static u8 data_805C7A38[4];
|
||||
static u8 data_805C7A3C[4];
|
||||
#pragma pop
|
||||
|
||||
/* 805C7240-805C7240 0005CC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 805C7240-805C7240 0005CC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -245,7 +245,7 @@ extern actor_process_profile_definition g_profile_B_DRE = {
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_B_DRE, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daB_DRE_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
@@ -1397,4 +1397,4 @@ static u8 data_805CB134[4];
|
||||
static u8 data_805CB138[4];
|
||||
#pragma pop
|
||||
|
||||
/* 805CAECC-805CAECC 000170 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 805CAECC-805CAECC 000170 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -1345,10 +1345,10 @@ void daB_DS_c::setYoMessage(int i_msgIdx) {
|
||||
/* 805CDA44-805CDAC0 002904 007C+00 1/1 0/0 0/0 .text doYoMessage__8daB_DS_cFv */
|
||||
bool daB_DS_c::doYoMessage() {
|
||||
if (mpMsg != NULL) {
|
||||
if (mpMsg->mMode == 0xE) {
|
||||
mpMsg->mMode = 0x10;
|
||||
} else if (mpMsg->mMode == 0x12) {
|
||||
mpMsg->mMode = 0x13;
|
||||
if (mpMsg->mode == 0xE) {
|
||||
mpMsg->mode = 0x10;
|
||||
} else if (mpMsg->mode == 0x12) {
|
||||
mpMsg->mode = 0x13;
|
||||
mMsgPcID = 0xFFFFFFFF;
|
||||
return true;
|
||||
}
|
||||
@@ -3182,8 +3182,8 @@ bool daB_DS_c::mChkScreenIn() {
|
||||
camera_class* camera = dComIfGp_getCamera(0);
|
||||
cXyz vec1, vec2;
|
||||
|
||||
vec2 = camera->mLookat.mEye - camera->mLookat.mCenter;
|
||||
vec1 = camera->mLookat.mEye - current.pos;
|
||||
vec2 = camera->lookat.eye - camera->lookat.center;
|
||||
vec1 = camera->lookat.eye - current.pos;
|
||||
return abs((s16)(vec1.atan2sX_Z() - vec2.atan2sX_Z())) < 0x3000;
|
||||
}
|
||||
|
||||
@@ -6119,7 +6119,7 @@ extern actor_process_profile_definition g_profile_B_DS = {
|
||||
4,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_B_DS,
|
||||
&g_fpcLf_Method.mBase,
|
||||
&g_fpcLf_Method.base,
|
||||
sizeof(daB_DS_c),
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -557,7 +557,7 @@ extern actor_process_profile_definition g_profile_B_GG = {
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_B_GG, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daB_GG_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
@@ -2571,4 +2571,4 @@ static u8 data_805ED83C[4];
|
||||
static u8 data_805ED840[4];
|
||||
#pragma pop
|
||||
|
||||
/* 805ED3D4-805ED3D4 000374 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 805ED3D4-805ED3D4 000374 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -522,7 +522,7 @@ extern actor_process_profile_definition g_profile_B_GM = {
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_B_GM, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(b_gm_class), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
@@ -2047,4 +2047,4 @@ static u8 data_805F4948[4];
|
||||
static u8 data_805F494C[4];
|
||||
#pragma pop
|
||||
|
||||
/* 805F4388-805F4388 000200 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 805F4388-805F4388 000200 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -772,7 +772,7 @@ extern actor_process_profile_definition g_profile_B_GND = {
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_B_GND, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(b_gnd_class), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
@@ -3101,4 +3101,4 @@ static u8 data_806030B8[4];
|
||||
static u8 data_806030BC[4];
|
||||
#pragma pop
|
||||
|
||||
/* 806029AC-806029AC 000348 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 806029AC-806029AC 000348 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -312,7 +312,7 @@ extern actor_process_profile_definition g_profile_B_GO = {
|
||||
7,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_B_GO,
|
||||
&g_fpcLf_Method.mBase,
|
||||
&g_fpcLf_Method.base,
|
||||
sizeof(b_go_class),
|
||||
0,
|
||||
0,
|
||||
@@ -322,4 +322,4 @@ extern actor_process_profile_definition g_profile_B_GO = {
|
||||
0x40100,
|
||||
fopAc_ENEMY_e,
|
||||
fopAc_CULLBOX_CUSTOM_e,
|
||||
};
|
||||
};
|
||||
|
||||
@@ -425,7 +425,7 @@ extern actor_process_profile_definition g_profile_B_GOS = {
|
||||
8,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_B_GOS,
|
||||
&g_fpcLf_Method.mBase,
|
||||
&g_fpcLf_Method.base,
|
||||
sizeof(b_gos_class),
|
||||
0,
|
||||
0,
|
||||
@@ -435,4 +435,4 @@ extern actor_process_profile_definition g_profile_B_GOS = {
|
||||
0x40100,
|
||||
fopAc_ENEMY_e,
|
||||
fopAc_CULLBOX_CUSTOM_e,
|
||||
};
|
||||
};
|
||||
|
||||
@@ -619,7 +619,7 @@ extern actor_process_profile_definition g_profile_B_MGN = {
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_B_MGN, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daB_MGN_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
@@ -2024,4 +2024,4 @@ extern "C" void checkNowWolf__9daPy_py_cFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80610084-80610084 0002A4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 80610084-80610084 0002A4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -635,7 +635,7 @@ static int daB_OB_Draw(b_ob_class* i_this) {
|
||||
|
||||
for (int i = 0; i < 19; i++) {
|
||||
if (!i_this->mBodyParts[i].mHide) {
|
||||
if ((i_this->mBodyParts[i].mPos - camera->mLookat.mEye).abs() >
|
||||
if ((i_this->mBodyParts[i].mPos - camera->lookat.eye).abs() >
|
||||
i_this->mBodyParts[i].mSize * (JREG_F(17) + 500.0f))
|
||||
{
|
||||
g_env_light.setLightTevColorType_MAJI(i_this->mBodyParts[i].mpMorf->getModel(),
|
||||
@@ -2315,7 +2315,7 @@ static void fish_move(b_ob_class* i_this) {
|
||||
a_this->attention_info.position.y += 50.0f;
|
||||
|
||||
if (i_this->mDemoAction == 21 || i_this->mDemoAction == 22) {
|
||||
sp84 = dComIfGp_getCamera(0)->mLookat.mEye - sp90;
|
||||
sp84 = dComIfGp_getCamera(0)->lookat.eye - sp90;
|
||||
} else {
|
||||
sp84 = player->eyePos - sp90;
|
||||
}
|
||||
@@ -2399,8 +2399,8 @@ static void demo_camera(b_ob_class* i_this) {
|
||||
daPy_getPlayerActorClass()->changeOriginalDemo();
|
||||
daPy_getPlayerActorClass()->changeDemoMode(46, 0, 0, 0);
|
||||
|
||||
i_this->mDemoCamEye = camera0->mLookat.mEye;
|
||||
i_this->mDemoCamCenter = camera0->mLookat.mCenter;
|
||||
i_this->mDemoCamEye = camera0->lookat.eye;
|
||||
i_this->mDemoCamCenter = camera0->lookat.center;
|
||||
sp58 = i_this->mDemoCamEye - tentacle->current.pos;
|
||||
|
||||
i_this->field_0x5ce0 = cM_atan2s(sp58.x, sp58.z);
|
||||
@@ -4201,7 +4201,7 @@ extern actor_process_profile_definition g_profile_B_OB = {
|
||||
4,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_B_OB,
|
||||
&g_fpcLf_Method.mBase,
|
||||
&g_fpcLf_Method.base,
|
||||
sizeof(b_ob_class),
|
||||
0,
|
||||
0,
|
||||
@@ -4211,4 +4211,4 @@ extern actor_process_profile_definition g_profile_B_OB = {
|
||||
0xC4000,
|
||||
fopAc_ENEMY_e,
|
||||
fopAc_CULLBOX_CUSTOM_e,
|
||||
};
|
||||
};
|
||||
|
||||
@@ -315,7 +315,7 @@ extern actor_process_profile_definition g_profile_B_OH2 = {
|
||||
7,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_B_OH2,
|
||||
&g_fpcLf_Method.mBase,
|
||||
&g_fpcLf_Method.base,
|
||||
sizeof(b_oh2_class),
|
||||
0,
|
||||
0,
|
||||
|
||||
@@ -805,7 +805,7 @@ extern actor_process_profile_definition g_profile_B_TN = {
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_B_TN, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daB_TN_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
@@ -2934,4 +2934,4 @@ static u8 data_8062F360[4];
|
||||
static u8 data_8062F364[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8062E8E8-8062E8E8 0002B4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 8062E8E8-8062E8E8 0002B4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -776,10 +776,10 @@ void daB_YO_c::setYoMessage(int i_msgIdx) {
|
||||
/* 80630EAC-80630F28 001B2C 007C+00 1/1 0/0 0/0 .text doYoMessage__8daB_YO_cFv */
|
||||
int daB_YO_c::doYoMessage() {
|
||||
if (mpMsg != NULL) {
|
||||
if (mpMsg->mMode == 0xE) {
|
||||
mpMsg->mMode = 0x10;
|
||||
} else if (mpMsg->mMode == 0x12) {
|
||||
mpMsg->mMode = 0x13;
|
||||
if (mpMsg->mode == 0xE) {
|
||||
mpMsg->mode = 0x10;
|
||||
} else if (mpMsg->mode == 0x12) {
|
||||
mpMsg->mode = 0x13;
|
||||
mMsgPcID = 0xFFFFFFFF;
|
||||
return 1;
|
||||
}
|
||||
@@ -3686,7 +3686,7 @@ extern actor_process_profile_definition g_profile_B_YO = {
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_B_YO, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daB_YO_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
|
||||
@@ -1145,7 +1145,7 @@ extern actor_process_profile_definition g_profile_B_YOI = {
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_B_YOI, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daB_YOI_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
|
||||
@@ -993,10 +993,10 @@ void daB_ZANT_c::setZantMessage(int i_msgNo) {
|
||||
/* 80640104-80640180 0020E4 007C+00 1/1 0/0 0/0 .text doZantMessage__10daB_ZANT_cFv */
|
||||
int daB_ZANT_c::doZantMessage() {
|
||||
if (mpMsg != NULL) {
|
||||
if (mpMsg->mMode == 14) {
|
||||
mpMsg->mMode = 16;
|
||||
} else if (mpMsg->mMode == 18) {
|
||||
mpMsg->mMode = 19;
|
||||
if (mpMsg->mode == 14) {
|
||||
mpMsg->mode = 16;
|
||||
} else if (mpMsg->mode == 18) {
|
||||
mpMsg->mode = 19;
|
||||
mMsgID = fpcM_ERROR_PROCESS_ID_e;
|
||||
return 1;
|
||||
}
|
||||
@@ -5798,7 +5798,7 @@ extern actor_process_profile_definition g_profile_B_ZANT = {
|
||||
4, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_B_ZANT, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daB_ZANT_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
|
||||
@@ -305,7 +305,7 @@ extern actor_process_profile_definition g_profile_B_ZANTM = {
|
||||
4, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_B_ZANTM, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daB_ZANTM_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
|
||||
@@ -539,7 +539,7 @@ extern actor_process_profile_definition g_profile_B_ZANTZ = {
|
||||
4, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_B_ZANTZ, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daB_ZANTZ_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
|
||||
@@ -245,7 +245,7 @@ extern actor_process_profile_definition g_profile_B_ZANTS = {
|
||||
3,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_B_ZANTS,
|
||||
&g_fpcLf_Method.mBase,
|
||||
&g_fpcLf_Method.base,
|
||||
sizeof(daB_ZANTS_c),
|
||||
0,
|
||||
0,
|
||||
@@ -255,4 +255,4 @@ extern actor_process_profile_definition g_profile_B_ZANTS = {
|
||||
0x40000,
|
||||
fopAc_ACTOR_e,
|
||||
fopAc_CULLBOX_CUSTOM_e,
|
||||
};
|
||||
};
|
||||
|
||||
@@ -689,7 +689,7 @@ extern actor_process_profile_definition g_profile_BALLOON2D = {
|
||||
3, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_BALLOON2D, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(JMSMesgEntry_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
@@ -810,4 +810,4 @@ void __sinit_d_a_balloon_2D_cpp() {
|
||||
REGISTER_CTORS(0x80655524, __sinit_d_a_balloon_2D_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 806555EC-806555EC 000040 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 806555EC-806555EC 000040 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -252,7 +252,7 @@ extern actor_process_profile_definition g_profile_BD = {
|
||||
8, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_BD, // mProcName
|
||||
&g_fpcLf_Method.mBase, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(bd_class), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
@@ -1222,4 +1222,4 @@ static u8 data_804DA44C[4];
|
||||
static u8 data_804DA450[4];
|
||||
#pragma pop
|
||||
|
||||
/* 804D9F6C-804D9F6C 000108 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 804D9F6C-804D9F6C 000108 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user