Merge pull request #9 from TakaRikka/msvc-linkfix-dev

Merged wip/linkfix branches and show first logos on MSVC
This commit is contained in:
TakaRikka
2026-02-24 14:01:27 -08:00
committed by GitHub
308 changed files with 9854 additions and 5727 deletions
+18 -1324
View File
File diff suppressed because it is too large Load Diff
+1 -1
+1330
View File
File diff suppressed because it is too large Load Diff
+26
View File
@@ -526,6 +526,32 @@ inline f32 J2DHermiteInterpolation(__REGISTER f32 pp1, __REGISTER s16* pp2, __RE
fsubs fout, fout, ff0
}
// clang-format on
return fout;
#else
f32 time1 = (f32)*pp2;
f32 value1 = (f32)*pp3;
f32 tangent1 = (f32)*pp4;
f32 time2 = (f32)*pp5;
f32 value2 = (f32)*pp6;
f32 tangent2 = (f32)*pp7;
f32 duration = time2 - time1;
f32 t = (pp1 - time1) / duration;
f32 t2 = t * t;
f32 dv = value2 - value1;
f32 ff4 = dv - duration * tangent1;
f32 ff0 = tangent2 * duration + value1;
ff0 = ff0 - value2;
ff0 = ff0 - ff4;
ff0 = t2 * ff0;
f32 fout = duration * tangent1 + ff0;
fout = fout * t + value1;
fout = ff4 * t2 + fout;
fout = fout - ff0;
return fout;
#endif
}
@@ -1,7 +1,7 @@
#ifndef J3DSHAPETABLE_H
#define J3DSHAPETABLE_H
#include "JSystem/JUtility/JUTAssert.h"
#include "JSystem/J3DAssert.h"
class J3DVertexData;
struct J3DDrawMtxData;
@@ -26,6 +26,8 @@ inline f32 J3DCalcZValue(__REGISTER MtxP m, __REGISTER Vec v) {
// clang-format on
return out;
#else
return m[2][0] * v.x + m[2][1] * v.y + m[2][2] * v.z + m[2][3];
#endif
}
+18
View File
@@ -16,15 +16,27 @@ inline void J3DFifoWriteXFCmdHdr(u16 addr, u8 len) {
}
inline void J3DFifoLoadIndx(u8 cmd, u16 indx, u16 addr) {
#ifdef TARGET_PC
GXCmd1u8(cmd);
GXCmd1u16(indx);
GXCmd1u16(addr);
#else
GXWGFifo.u8 = cmd;
GXWGFifo.u16 = indx;
GXWGFifo.u16 = addr;
#endif
}
inline void J3DFifoWriteCPCmd(u8 cmd, u32 param) {
#ifdef TARGET_PC
GXCmd1u8(GX_LOAD_CP_REG);
GXCmd1u8(cmd);
GXCmd1u32(param);
#else
GXWGFifo.u8 = GX_LOAD_CP_REG;
GXWGFifo.u8 = cmd;
GXWGFifo.u32 = param;
#endif
}
inline void J3DFifoLoadCPCmd(u8 reg, u32 value) {
@@ -34,9 +46,15 @@ inline void J3DFifoLoadCPCmd(u8 reg, u32 value) {
}
inline void J3DFifoWriteXFCmd(u16 cmd, u16 len) {
#ifdef TARGET_PC
GXCmd1u8(GX_LOAD_XF_REG);
GXCmd1u16(len - 1);
GXCmd1u16(cmd);
#else
GXWGFifo.u8 = GX_LOAD_XF_REG;
GXWGFifo.u16 = (len - 1);
GXWGFifo.u16 = cmd;
#endif
}
inline void J3DFifoLoadXFCmdHdr(u16 addr, u8 len) {
+1 -1
View File
@@ -100,7 +100,7 @@ protected:
class J3DMaterial;
class J3DVertexData;
class J3DDrawMtxData;
struct J3DDrawMtxData;
enum J3DShpFlag {
J3DShpFlag_Visible = 0x0001,
+1
View File
@@ -5,6 +5,7 @@
#include <dolphin/mtx.h>
#include <dolphin/mtx.h>
#include "global.h"
#include "JSystem/JMath/JMath.h"
/**
* @ingroup jsystem-j3d
+1
View File
@@ -4,6 +4,7 @@
#include <dolphin/gx.h>
#include <dolphin/mtx.h>
#include "JSystem/J3DAssert.h"
#include "JSystem/JMath/JMath.h"
enum J3DSysDrawBuf {
/* 0x0 */ J3DSysDrawBuf_Opa,
@@ -2,6 +2,7 @@
#define J3DTRANSFORM_H
#include <dolphin/mtx.h>
#include "JSystem/JMath/JMath.h"
struct J3DTextureSRTInfo;
+2 -2
View File
@@ -18,8 +18,8 @@ public:
void setFovy(f32 fovy) { mFovY = fovy; }
void setAspect(f32 aspect) { mAspect = aspect; }
void setNear(f32 near) { mNear = near; }
void setFar(f32 far) { mFar = far; }
void setNear(f32 near_) { mNear = near_; }
void setFar(f32 far_) { mFar = far_; }
f32 getFar() { return mFar; }
+11 -6
View File
@@ -1,14 +1,19 @@
#ifndef J3DUD_H
#define J3DUD_H
#include <dolphin/types.h>
#include "dolphin/types.h"
#ifndef __MWERKS__
#include <math.h>
#endif
namespace J3DUD {
inline f32 JMAAbs(f32 x) {
#ifdef __MWERKS__
return __fabsf(x);
#endif
}
inline f32 JMAAbs(f32 x) {
#ifdef __MWERKS__
return __fabsf(x);
#else
return fabsf(x);
#endif
}
} // namespace J3DUD
#endif /* J3DUD_H */
+1 -1
View File
@@ -5,7 +5,7 @@
#include "JSystem/JGadget/std-list.h"
class JAWWindow;
class JUTGamePad;
struct JUTGamePad;
namespace JAWExtSystem {
BOOL registWindow(u32, JAWWindow*, int, int);
+1 -1
View File
@@ -7,7 +7,7 @@
#include "JSystem/JGeometry.h"
class JAWGraphContext;
class JUTGamePad;
struct JUTGamePad;
class JUTPoint {
public:
+1 -1
View File
@@ -6,7 +6,7 @@
#include "JSystem/JHostIO/JHICommonMem.h"
#include "JSystem/JAudio2/JAISound.h"
class JAISeqData;
struct JAISeqData;
class JADHioReceiver : JHITag<JHICmnMem> {
public:
+2 -2
View File
@@ -68,7 +68,7 @@ public:
} id_;
};
class JASTrack;
struct JASTrack;
/**
* @ingroup jsystem-jaudio
@@ -250,7 +250,7 @@ public:
class JAISoundHandle;
class JAIAudible;
class JAIAudience;
struct JAIAudience;
class JAISe;
class JAISeq;
class JAISoundChild;
+1 -1
View File
@@ -6,7 +6,7 @@
#include "JSystem/JUtility/JUTAssert.h"
class JAIStreamAramMgr;
class JAIStreamDataMgr;
struct JAIStreamDataMgr;
/**
* @ingroup jsystem-jaudio
+1 -1
View File
@@ -8,7 +8,7 @@
class JASChannel;
namespace JASDsp {
class TChannel;
struct TChannel;
}
/**
+1 -1
View File
@@ -8,7 +8,7 @@ class JASInstParam;
class JASWaveBank;
namespace JASDsp {
class TChannel;
struct TChannel;
}
/**
+1 -1
View File
@@ -3,7 +3,7 @@
#include "JSystem/JSupport/JSUList.h"
class JASTrack;
struct JASTrack;
/**
* @ingroup jsystem-jaudio
+5
View File
@@ -33,6 +33,11 @@ public:
static T* sInstance;
};
#ifndef __MWERKS__
template<class T>
T* JASGlobalInstance<T>::sInstance;
#endif
/**
* @ingroup jsystem-jaudio
*
+1 -1
View File
@@ -147,7 +147,7 @@ namespace JASKernel { JKRHeap* getSystemHeap(); };
*
*/
template<u32 ChunkSize, template<typename> class T>
class JASMemChunkPool : public T<JASMemChunkPool<ChunkSize, T> >::ObjectLevelLockable {
class JASMemChunkPool : public T<JASMemChunkPool<ChunkSize, T> > {
struct MemoryChunk {
MemoryChunk(MemoryChunk* nextChunk) {
mNextChunk = nextChunk;
+1 -1
View File
@@ -3,7 +3,7 @@
#include "JSystem/JAudio2/JASSeqReader.h"
class JASTrack;
struct JASTrack;
class JASSeqParser;
/**
+1 -1
View File
@@ -3,7 +3,7 @@
#include <dolphin/types.h>
class JASTrack;
struct JASTrack;
/**
* @ingroup jsystem-jaudio
+1 -1
View File
@@ -12,7 +12,7 @@
struct JASSoundParams;
namespace JASDsp {
class TChannel;
struct TChannel;
extern const u32 FILTER_MODE_IIR;
};
+4 -4
View File
@@ -6,10 +6,10 @@
#include "JSystem/JKernel/JKRDisposer.h"
#include <bitset>
class JAISeqData;
class JAISeqDataMgr;
class JAISeqDataUser;
class JAIStreamDataMgr;
struct JAISeqData;
struct JAISeqDataMgr;
struct JAISeqDataUser;
struct JAIStreamDataMgr;
class JASVoiceBank;
class JAUBankTableLink;
class JAUDisposer_;
+2 -2
View File
@@ -3,8 +3,8 @@
#include "JSystem/JAudio2/JAISeqDataMgr.h"
class JAISeqData;
class JAISeqDataRegion;
struct JAISeqData;
struct JAISeqDataRegion;
/**
* @ingroup jsystem-jaudio
+2 -2
View File
@@ -4,8 +4,8 @@
#include "JSystem/JAudio2/JAISeqDataMgr.h"
#include "JSystem/JSupport/JSUList.h"
class JAISeqData;
class JAISeqDataUser;
struct JAISeqData;
struct JAISeqDataUser;
class JKRArchive;
/**
+3 -1
View File
@@ -15,9 +15,11 @@ public:
JGadget_outMessage(MessageFunc fn, const char* file, int line);
~JGadget_outMessage();
#if !TARGET_PC
JGadget_outMessage& operator<<(int param_1) { return *this << (s32)param_1; }
JGadget_outMessage& operator<<(u16);
JGadget_outMessage& operator<<(uint);
#endif
JGadget_outMessage& operator<<(u16);
JGadget_outMessage& operator<<(u8 param_1) { return *this << (char)param_1; }
JGadget_outMessage& operator<<(const char* str);
JGadget_outMessage& operator<<(char);
+5 -1
View File
@@ -9,7 +9,11 @@
namespace JGadget {
namespace search {
template <typename T>
struct TExpandStride_ {};
struct TExpandStride_ {
#ifdef _MSC_VER
static T get(T n) { return n << 3; }
#endif
};
template <>
struct TExpandStride_<s32> {
+8
View File
@@ -46,6 +46,10 @@ struct TUtil<f32> {
f32 root = __frsqrte(x);
root = 0.5f * root * (3.0f - x * (root * root));
return root;
#else
if (x <= 0.0f)
return x;
return 1.0f / std::sqrt(x);
#endif
}
@@ -58,6 +62,10 @@ struct TUtil<f32> {
f32 root = __frsqrte(x);
root = 0.5f * root * (3.0f - x * (root * root));
return x * root;
#else
if (x <= 0.0f)
return x;
return std::sqrt(x);
#endif
}
};
+7
View File
@@ -2,7 +2,14 @@
#define JORMCONTEXT_H
#include <dolphin/dolphin.h>
#ifdef _MSVC_LANG
#include <stdint.h>
#else
#include <stdint>
#endif
#include <global.h>
#include "JSystem/JHostIO/JORReflexible.h"
#include "JSystem/JSupport/JSUMemoryStream.h"
+2 -2
View File
@@ -33,8 +33,8 @@ struct JORNodeEvent : JOREvent {
/* 0x00 */ u32 field_0x0;
};
struct JORMContext;
struct JORServer;
class JORMContext;
class JORServer;
class JOREventListener {
public:
+7 -7
View File
@@ -27,8 +27,8 @@ public:
/* 0x40 */ s32 mTransferDirection;
/* 0x44 */ u32 mDataLength;
/* 0x48 */ u32 mSrc;
/* 0x4C */ u32 mDst;
/* 0x48 */ uintptr_t mSrc;
/* 0x4C */ uintptr_t mDst;
/* 0x50 */ JKRAramBlock* mAramBlock;
/* 0x54 */ u32 field_0x54;
/* 0x58 */ AsyncCallback mCallback;
@@ -63,15 +63,15 @@ public:
static JSUList<JKRAMCommand> sAramPieceCommandList;
public:
static JKRAMCommand* prepareCommand(int, u32, u32, u32, JKRAramBlock*,
static JKRAMCommand* prepareCommand(int, uintptr_t, uintptr_t, u32, JKRAramBlock*,
JKRAMCommand::AsyncCallback);
static void sendCommand(JKRAMCommand*);
static JKRAMCommand* orderAsync(int, u32, u32, u32, JKRAramBlock*, JKRAMCommand::AsyncCallback);
static JKRAMCommand* orderAsync(int, uintptr_t, uintptr_t, u32, JKRAramBlock*, JKRAMCommand::AsyncCallback);
static BOOL sync(JKRAMCommand*, int);
static BOOL orderSync(int, u32, u32, u32, JKRAramBlock*);
static BOOL orderSync(int, uintptr_t, uintptr_t, u32, JKRAramBlock*);
static void startDMA(JKRAMCommand*);
static void doneDMA(u32);
static void doneDMA(uintptr_t);
private:
static void lock() { OSLockMutex(&mMutex); }
@@ -82,7 +82,7 @@ inline void JKRAramPcs_SendCommand(JKRAMCommand* command) {
JKRAramPiece::sendCommand(command);
}
inline BOOL JKRAramPcs(int direction, u32 source, u32 destination, u32 length,
inline BOOL JKRAramPcs(int direction, uintptr_t source, uintptr_t destination, u32 length,
JKRAramBlock* block) {
return JKRAramPiece::orderSync(direction, source, destination, length, block);
}
+50 -25
View File
@@ -4,6 +4,7 @@
#include "JSystem/JKernel/JKRCompression.h"
#include "JSystem/JKernel/JKRFileLoader.h"
#include "global.h"
#include "dusk/endian.h"
class JKRHeap;
@@ -12,14 +13,14 @@ class JKRHeap;
*
*/
struct SArcHeader {
/* 0x00 */ u32 signature;
/* 0x04 */ u32 file_length;
/* 0x08 */ u32 header_length;
/* 0x0C */ u32 file_data_offset;
/* 0x10 */ u32 file_data_length;
/* 0x14 */ u32 field_0x14;
/* 0x18 */ u32 field_0x18;
/* 0x1C */ u32 field_0x1c;
/* 0x00 */ BE(u32) signature;
/* 0x04 */ BE(u32) file_length;
/* 0x08 */ BE(u32) header_length;
/* 0x0C */ BE(u32) file_data_offset;
/* 0x10 */ BE(u32) file_data_length;
/* 0x14 */ BE(u32) field_0x14;
/* 0x18 */ BE(u32) field_0x18;
/* 0x1C */ BE(u32) field_0x1c;
};
/**
@@ -27,13 +28,13 @@ struct SArcHeader {
*
*/
struct SArcDataInfo {
/* 0x00 */ u32 num_nodes;
/* 0x04 */ u32 node_offset;
/* 0x08 */ u32 num_file_entries;
/* 0x0C */ u32 file_entry_offset;
/* 0x10 */ u32 string_table_length;
/* 0x14 */ u32 string_table_offset;
/* 0x18 */ u16 next_free_file_id;
/* 0x00 */ BE(u32) num_nodes;
/* 0x04 */ BE(u32) node_offset;
/* 0x08 */ BE(u32) num_file_entries;
/* 0x0C */ BE(u32) file_entry_offset;
/* 0x10 */ BE(u32) string_table_length;
/* 0x14 */ BE(u32) string_table_offset;
/* 0x18 */ BE(u16) next_free_file_id;
/* 0x1A */ bool sync_file_ids_and_indices;
/* 0x1B */ u8 field_1b[5];
};
@@ -50,6 +51,12 @@ inline u16 read_big_endian_u16(void* ptr) {
extern u32 sCurrentDirID__10JKRArchive; // JKRArchive::sCurrentDirID
#if TARGET_PC
#define JKAR_DATA(entry) getFileDataPointer(entry->index)
#else
#define JKAR_DATA(entry) entry->data
#endif
/**
* @ingroup jsystem-jkernel
*
@@ -64,20 +71,29 @@ public:
};
struct SDIDirEntry {
u32 type;
u32 name_offset;
u16 field_0x8;
u16 num_entries;
u32 first_file_index;
BE(u32) type;
BE(u32) name_offset;
BE(u16) field_0x8;
BE(u16) num_entries;
BE(u32) first_file_index;
};
struct SDIFileEntry {
u16 file_id;
u16 name_hash;
u32 type_flags_and_name_offset;
u32 data_offset;
u32 data_size;
BE(u16) file_id;
BE(u16) name_hash;
BE(u32) type_flags_and_name_offset;
BE(u32) data_offset;
BE(u32) data_size;
#if TARGET_PC
// Yes, they store the data pointer in the datastructure that's directly loaded from
// archive files.
// We can't expand this struct to fit a 64-bit pointer, so instead
// we'll need to store this data in a separate array.
// Store the *index* of this entry (!= file_id), so we can look up the real pointer easily.
u32 index;
#else
void* data;
#endif
u32 getNameOffset() const { return type_flags_and_name_offset & 0xFFFFFF; }
u16 getNameHash() const { return name_hash; }
@@ -130,6 +146,11 @@ protected:
JKRArchive();
JKRArchive(s32, EMountMode);
#if TARGET_PC
void*& getFileDataPointer(int idx) const;
void initFileDataPointers();
#endif
public:
bool getDirEntry(SDirEntry*, u32) const;
void* getIdxResource(u32);
@@ -188,6 +209,10 @@ public:
/* 0x50 */ s32* mExpandedSize;
/* 0x54 */ const char* mStringTable;
#if TARGET_PC
void** mFileData;
#endif
protected:
/* 0x58 */ u32 field_0x58;
/* 0x5C */ JKRCompression mCompression;
+1 -1
View File
@@ -28,7 +28,7 @@ public:
private:
/* 0x00 */ // vtable
/* 0x04 */ // JKRArchive
/* 0x64 */ int field_0x64;
/* 0x64 */ intptr_t field_0x64;
/* 0x68 */ JKRAramBlock* mAramPart;
/* 0x6C */ int field_0x6c;
/* 0x70 */ JKRDvdFile* mDvdFile;
+9 -1
View File
@@ -35,7 +35,7 @@ public:
CMemBlock* getNextBlock() const { return mNext; }
u32 getSize() const { return size; }
u8 getGroupId() const { return mGroupId; }
static CMemBlock* getBlock(void* data) { return (CMemBlock*)((uintptr_t)data + -0x10); }
static CMemBlock* getBlock(void* data) { return (CMemBlock*)((uintptr_t)data + -sizeof(CMemBlock)); }
private:
/* 0x0 */ u16 mMagic;
@@ -44,9 +44,17 @@ public:
/* 0x4 */ u32 size;
/* 0x8 */ CMemBlock* mPrev;
/* 0xC */ CMemBlock* mNext;
#if BIT_64
// Ensure padded to 0x20 bytes on 64-bit
void* _pad;
#endif
}; // Size: 0x10
friend class CMemBlock;
#if TARGET_PC
static_assert(sizeof(CMemBlock) == MEM_BLOCK_SIZE);
#endif
protected:
JKRExpHeap(void* data, u32 size, JKRHeap* parent, bool errorFlag);
virtual ~JKRExpHeap();
+6
View File
@@ -16,6 +16,12 @@ extern u8 JKRValue_DEBUGFILL_DELETE;
extern s32 fillcheck_dispcount;
extern bool data_8074A8D0_debug;
#if BIT_64
#define MEM_BLOCK_SIZE 0x20
#else
#define MEM_BLOCK_SIZE 0x10
#endif
/**
* @ingroup jsystem-jkernel
*
+102 -37
View File
@@ -1,9 +1,16 @@
#ifndef JMATH_H
#define JMATH_H
#include <dolphin/mtx.h>
#include "dolphin/mtx.h"
#include <cmath>
typedef f32 Mtx33[3][3];
typedef f32 Mtx23[2][3];
typedef f32 (*Mtx3P)[3];
typedef f32 (*MtxP)[4];
typedef const f32 (*CMtxP)[4];
typedef f32 QuaternionP[4];
void JMAMTXApplyScale(const Mtx, Mtx, f32, f32, f32);
void JMAEulerToQuat(s16 param_0, s16 param_1, s16 param_2, Quaternion* param_3);
void JMAQuatLerp(const Quaternion*, const Quaternion*, f32, Quaternion*);
@@ -14,18 +21,24 @@ void JMAVECScaleAdd(__REGISTER const Vec* vec1, __REGISTER const Vec* vec2, __RE
inline int JMAAbs(int value) {
#ifdef __MWERKS__
return __abs(value);
#else
return abs(value);
#endif
}
inline f32 JMAAbs(f32 x) {
#ifdef __MWERKS__
return __fabsf(x);
#else
return fabsf(x);
#endif
}
inline f32 JMAFastReciprocal(f32 value) {
#ifdef __MWERKS__
return __fres(value);
#else
return 1.0f / value;
#endif
}
@@ -40,6 +53,8 @@ inline float __frsqrtes(__REGISTER double f) {
// clang-format on
return out;
#else
return 1.0f / sqrtf(f);
#endif
}
@@ -54,6 +69,8 @@ inline f32 JMAFastSqrt(__REGISTER const f32 input) {
} else {
return input;
}
#else
return sqrt(input);
#endif
}
@@ -87,6 +104,15 @@ inline f32 JMAHermiteInterpolation(__REGISTER f32 p1, __REGISTER f32 p2, __REGIS
}
// clang-format on
return ff25;
#else
f32 t = (p1 - p2) / (p5 - p2);
f32 t2 = t * t;
f32 t3 = t2 * t;
f32 h1 = 2.0f * t3 - 3.0f * t2 + 1.0f;
f32 h2 = -2.0f * t3 + 3.0f * t2;
f32 h3 = t3 - 2.0f * t2 + t;
f32 h4 = t3 - t2;
return h1 * p4 + h2 * p7 + h3 * (p3 - p4) + h4 * (p6 - p3);
#endif
}
@@ -115,6 +141,12 @@ inline void gekko_ps_copy3(__REGISTER void* dst, __REGISTER const void* src) {
psq_st src0, 0(dst), 0, 0
stfs src1, 8(dst)
};
#else
f32* fsrc = (f32*)src;
f32* fdst = (f32*)dst;
fdst[0] = fsrc[0];
fdst[1] = fsrc[1];
fdst[2] = fsrc[2];
#endif
}
@@ -131,6 +163,15 @@ inline void gekko_ps_copy6(__REGISTER void* dst, __REGISTER const void* src) {
psq_st src1, 8(dst), 0, 0
psq_st src2, 16(dst), 0, 0
};
#else
f32* fsrc = (f32*)src;
f32* fdst = (f32*)dst;
fdst[0] = fsrc[0];
fdst[1] = fsrc[1];
fdst[2] = fsrc[2];
fdst[3] = fsrc[3];
fdst[4] = fsrc[4];
fdst[5] = fsrc[5];
#endif
}
@@ -156,6 +197,12 @@ inline void gekko_ps_copy12(__REGISTER void* dst, __REGISTER const void* src) {
psq_st src4, 32(dst), 0, 0
psq_st src5, 40(dst), 0, 0
};
#else
f32* fsrc = (f32*)src;
f32* fdst = (f32*)dst;
for (int i = 0; i < 12; i++) {
fdst[i] = fsrc[i];
}
#endif
}
@@ -187,13 +234,19 @@ inline void gekko_ps_copy16(__REGISTER void* dst, __REGISTER const void* src) {
psq_st src6, 48(dst), 0, 0
psq_st src7, 56(dst), 0, 0
};
#else
f32* fsrc = (f32*)src;
f32* fdst = (f32*)dst;
for (int i = 0; i < 16; i++) {
fdst[i] = fsrc[i];
}
#endif
}
}; // namespace JMath
namespace JMathInlineVEC {
inline void C_VECAdd(__REGISTER const Vec* a, __REGISTER const Vec* b, __REGISTER Vec* ab) {
inline void C_VECAdd(__REGISTER const Vec* a, __REGISTER const Vec* b, __REGISTER Vec* ab) {
#ifdef __MWERKS__
__REGISTER f32 axy;
__REGISTER f32 bxy;
@@ -211,17 +264,21 @@ namespace JMathInlineVEC {
ps_add sumz, az, bz
psq_st sumz, 8(ab), 1, 0
}
#else
ab->x = a->x + b->x;
ab->y = a->y + b->y;
ab->z = a->z + b->z;
#endif
}
}
inline void C_VECSubtract(__REGISTER const Vec* a, __REGISTER const Vec* b, __REGISTER Vec* ab) {
#ifdef __MWERKS__
__REGISTER f32 axy;
__REGISTER f32 bxy;
__REGISTER f32 az;
__REGISTER f32 subz;
__REGISTER f32 bz;
asm {
inline void C_VECSubtract(__REGISTER const Vec* a, __REGISTER const Vec* b, __REGISTER Vec* ab) {
#ifdef __MWERKS__
__REGISTER f32 axy;
__REGISTER f32 bxy;
__REGISTER f32 az;
__REGISTER f32 subz;
__REGISTER f32 bz;
asm {
psq_l axy, 0(a), 0, 0
psq_l bxy, 0(b), 0, 0
ps_sub bxy, axy, bxy
@@ -230,35 +287,41 @@ namespace JMathInlineVEC {
psq_l bz, 8(b), 1, 0
ps_sub subz, az, bz
psq_st subz, 8(ab), 1, 0
}
#endif
}
#else
ab->x = a->x - b->x;
ab->y = a->y - b->y;
ab->z = a->z - b->z;
#endif
}
inline f32 C_VECSquareMag(__REGISTER const Vec* v) {
#ifdef __MWERKS__
__REGISTER f32 x_y;
__REGISTER f32 z;
__REGISTER f32 res;
asm {
inline f32 C_VECSquareMag(__REGISTER const Vec* v) {
#ifdef __MWERKS__
__REGISTER f32 x_y;
__REGISTER f32 z;
__REGISTER f32 res;
asm {
psq_l x_y, 0(v), 0, 0
ps_mul x_y, x_y, x_y
lfs z, 8(v)
ps_madd res, z, z, x_y
ps_sum0 res, res, x_y, x_y
}
return res;
#endif
}
return res;
#else
return (v->x * v->x) + (v->y * v->y) + (v->z * v->z);
#endif
}
inline f32 C_VECDotProduct(__REGISTER const Vec *a, __REGISTER const Vec *b) {
#ifdef __MWERKS__
__REGISTER f32 res;
__REGISTER f32 thisyz;
__REGISTER f32 otheryz;
__REGISTER f32 otherxy;
__REGISTER f32 thisxy;
asm {
inline f32 C_VECDotProduct(__REGISTER const Vec* a, __REGISTER const Vec* b) {
#ifdef __MWERKS__
__REGISTER f32 res;
__REGISTER f32 thisyz;
__REGISTER f32 otheryz;
__REGISTER f32 otherxy;
__REGISTER f32 thisxy;
asm {
psq_l thisyz, 4(a), 0, 0
psq_l otheryz, 4(b), 0, 0
ps_mul thisyz, thisyz, otheryz
@@ -266,13 +329,15 @@ namespace JMathInlineVEC {
psq_l otherxy, 0(b), 0, 0
ps_madd otheryz, thisxy, otherxy, thisyz
ps_sum0 res, otheryz, thisyz, thisyz
};
return res;
#endif
}
};
};
return res;
#else
return (a->x * b->x) + (a->y * b->y) + (a->z * b->z);
#endif
}
}; // namespace JMathInlineVEC
template<typename T>
template <typename T>
inline T JMAMax(T param_0, T param_1) {
T ret;
if (param_0 > param_1) {
+5
View File
@@ -35,7 +35,12 @@ typedef struct str1_entry_t {
typedef struct str1_section_t {
/* 0x00 */ bmg_section_t header; // section header
#ifdef _MSVC_LANG
str1_entry_t* __get_entries() const { return (str1_entry_t*)(this + 1); }
__declspec(property(get = __get_entries)) str1_entry_t* entries;
#else
/* 0x08 */ str1_entry_t entries[0];
#endif
} str1_section_t;
#endif /* JMESSAGE_H */
+1 -1
View File
@@ -3,7 +3,7 @@
#include <dolphin/gx.h>
class JPAEmitterWorkData;
struct JPAEmitterWorkData;
class JPABaseParticle;
class JKRHeap;
+1 -1
View File
@@ -3,7 +3,7 @@
#include <dolphin/gx.h>
class JPAEmitterWorkData;
struct JPAEmitterWorkData;
class JPABaseParticle;
/**
+1 -1
View File
@@ -5,7 +5,7 @@
#include <dolphin/types.h>
class JPAEmitterWorkData;
struct JPAEmitterWorkData;
/**
* @ingroup jsystem-jparticle
+1 -1
View File
@@ -3,7 +3,7 @@
#include <dolphin/types.h>
class JPAEmitterWorkData;
struct JPAEmitterWorkData;
/**
* @ingroup jsystem-jparticle
+1 -1
View File
@@ -3,7 +3,7 @@
#include <dolphin/types.h>
class JPAEmitterWorkData;
struct JPAEmitterWorkData;
class JPABaseParticle;
/**
+1 -1
View File
@@ -5,7 +5,7 @@
#include <dolphin/types.h>
class JKRHeap;
class JPAEmitterWorkData;
struct JPAEmitterWorkData;
class JPABaseParticle;
class JPAFieldBlock;
+1 -1
View File
@@ -4,7 +4,7 @@
#include <dolphin/types.h>
class JKRHeap;
class JPAEmitterWorkData;
struct JPAEmitterWorkData;
class JPABaseEmitter;
class JPABaseParticle;
@@ -333,7 +333,11 @@ public:
return r1.pf_ == r2.pf_;
}
#ifdef __MWERKS__
f32 operator*() {
#else
f32 operator*() const {
#endif
// this guard is required - removing it breaks float regalloc in std::upper_bound
#if DEBUG
JUT_ASSERT(947, pf_!=NULL);
@@ -444,7 +448,11 @@ public:
return r1.pf_ == r2.pf_;
}
#ifdef __MWERKS__
f32 operator*() {
#else
f32 operator*() const {
#endif
#if DEBUG
JUT_ASSERT(1098, pf_!=NULL);
#endif
@@ -8,7 +8,7 @@
class J2DOrthoGraph;
class JUTFont;
class JUTGamePad;
struct JUTGamePad;
namespace JStudio {
class TControl;
@@ -18,6 +18,13 @@ public:
s32 write(const void*, s32);
void write(const char*);
#if defined(_MSVC_LANG) && defined(_WIN64)
JSUOutputStream& operator<<(uintptr_t param_0) {
write(&param_0, sizeof(uintptr_t));
return *this;
}
#endif
JSUOutputStream& operator<<(u32 param_0) {
write(&param_0, sizeof(u32));
return *this;
+41 -35
View File
@@ -3,6 +3,7 @@
#include "JSystem/JUtility/TColor.h"
#include <string>
#include "dusk/endian.h"
/**
* @ingroup jsystem-jutility
@@ -10,54 +11,59 @@
*/
struct ResFONT {
struct INF1 {
/* 0x00 */ u32 magic;
/* 0x04 */ u32 size;
/* 0x08 */ u16 fontType;
/* 0x0A */ u16 ascent;
/* 0x0C */ u16 descent;
/* 0x0E */ u16 width;
/* 0x10 */ u16 leading;
/* 0x12 */ u16 defaultCode;
/* 0x00 */ BE(u32) magic;
/* 0x04 */ BE(u32) size;
/* 0x08 */ BE(u16) fontType;
/* 0x0A */ BE(u16) ascent;
/* 0x0C */ BE(u16) descent;
/* 0x0E */ BE(u16) width;
/* 0x10 */ BE(u16) leading;
/* 0x12 */ BE(u16) defaultCode;
};
struct WID1 {
/* 0x00 */ u32 magic;
/* 0x04 */ u32 size;
/* 0x08 */ u16 startCode;
/* 0x0A */ u16 endCode;
/* 0x00 */ BE(u32) magic;
/* 0x04 */ BE(u32) size;
/* 0x08 */ BE(u16) startCode;
/* 0x0A */ BE(u16) endCode;
/* 0x0C */ u8 mChunkNum[4];
};
struct MAP1 {
/* 0x00 */ u32 magic;
/* 0x04 */ u32 size;
/* 0x08 */ u16 mappingMethod;
/* 0x0A */ u16 startCode;
/* 0x0C */ u16 endCode;
/* 0x0E */ u16 numEntries;
/* 0x10 */ u16 mLeading;
/* 0x00 */ BE(u32) magic;
/* 0x04 */ BE(u32) size;
/* 0x08 */ BE(u16) mappingMethod;
/* 0x0A */ BE(u16) startCode;
/* 0x0C */ BE(u16) endCode;
/* 0x0E */ BE(u16) numEntries;
/* 0x10 */ BE(u16) mLeading;
};
struct GLY1 {
/* 0x00 */ u32 magic;
/* 0x04 */ u32 size;
/* 0x08 */ u16 startCode;
/* 0x0A */ u16 endCode;
/* 0x0C */ u16 cellWidth;
/* 0x0E */ u16 cellHeight;
/* 0x10 */ u32 textureSize;
/* 0x14 */ u16 textureFormat;
/* 0x16 */ u16 numRows;
/* 0x18 */ u16 numColumns;
/* 0x1A */ u16 textureWidth;
/* 0x1C */ u16 textureHeight;
/* 0x1E */ u16 padding;
/* 0x00 */ u32 magic; // Don't mark BE (seemingly only written by code)
/* 0x04 */ BE(u32) size;
/* 0x08 */ BE(u16) startCode;
/* 0x0A */ BE(u16) endCode;
/* 0x0C */ BE(u16) cellWidth;
/* 0x0E */ BE(u16) cellHeight;
/* 0x10 */ BE(u32) textureSize;
/* 0x14 */ BE(u16) textureFormat;
/* 0x16 */ BE(u16) numRows;
/* 0x18 */ BE(u16) numColumns;
/* 0x1A */ BE(u16) textureWidth;
/* 0x1C */ BE(u16) textureHeight;
/* 0x1E */ BE(u16) padding;
#ifdef _MSVC_LANG
u8* __get_data() const { return (u8*)(this + 1); }
__declspec(property(get = __get_data)) u8* data;
#else
/* 0x20 */ u8 data[];
#endif
};
/* 0x00 */ u64 magic;
/* 0x08 */ u32 filesize;
/* 0x0C */ u32 numBlocks;
/* 0x00 */ BE(u64) magic;
/* 0x08 */ BE(u32) filesize;
/* 0x0C */ BE(u32) numBlocks;
/* 0x10 */ u8 padding[0x10];
/* 0x20 */ u8 data[];
};
+3 -1
View File
@@ -3,6 +3,8 @@
#include <dolphin/gx.h>
#include "dusk/endian.h"
enum JUTTransparency { UNK0, UNK1 };
/**
@@ -12,7 +14,7 @@ enum JUTTransparency { UNK0, UNK1 };
struct ResTLUT {
u8 format;
u8 transparency;
u16 numColors;
BE(u16) numColors;
};
/**
+3 -3
View File
@@ -13,8 +13,8 @@ typedef bool (*IsLeadByte_func)(int);
*/
struct BlockHeader {
const BlockHeader* getNext() const { return reinterpret_cast<const BlockHeader*>(reinterpret_cast<const u8*>(this) + size); }
u32 magic;
u32 size;
BE(u32) magic;
BE(u32) size;
};
/**
@@ -50,7 +50,7 @@ public:
void countBlock();
void loadFont(int, _GXTexMapID, JUTFont::TWidth*);
int getFontCode(int) const;
int convertSjis(int, u16*) const;
int convertSjis(int, BE(u16)*) const;
inline void delete_and_initialize() {
deleteMemBlocks_ResFont();
+5 -4
View File
@@ -3,6 +3,7 @@
#include <dolphin/gx.h>
#include <stdint.h>
#include "dusk/endian.h"
class JUTPalette;
@@ -25,7 +26,7 @@ struct ResTIMG {
/* 0x08 */ u8 indexTexture;
/* 0x09 */ u8 colorFormat;
/* 0x0A */ u16 numColors;
/* 0x0C */ uintptr_t paletteOffset;
/* 0x0C */ u32 paletteOffset;
/* 0x10 */ u8 mipmapEnabled;
/* 0x11 */ u8 doEdgeLOD;
/* 0x12 */ u8 biasClamp;
@@ -37,7 +38,7 @@ struct ResTIMG {
/* 0x18 */ u8 mipmapCount;
/* 0x19 */ u8 unknown;
/* 0x1A */ s16 LODBias;
/* 0x1C */ uintptr_t imageOffset;
/* 0x1C */ u32 imageOffset;
}; // Size: 0x20
/**
@@ -71,8 +72,8 @@ public:
const ResTIMG* getTexInfo() const { return mTexInfo; }
s32 getFormat() const { return mTexInfo->format; }
s32 getTransparency() const { return mTexInfo->alphaEnabled; }
s32 getWidth() const { return mTexInfo->width; }
s32 getHeight() const { return mTexInfo->height; }
s32 getWidth() const { return RES_U16(mTexInfo->width); }
s32 getHeight() const { return RES_U16(mTexInfo->height); }
void setCaptureFlag(bool flag) { mFlags &= 2 | flag; }
bool getCaptureFlag() const { return mFlags & 1; }
bool getEmbPaletteDelFlag() const { return mFlags & 2; }
+1 -1
View File
@@ -12,7 +12,7 @@ class cM3dGPla;
class cM3dGSph;
class cM3dGTri;
class csXyz;
class cXyz;
struct cXyz;
struct cM3d_Range {
/* 0x0 */ f32 mMin;
+4
View File
@@ -4,6 +4,10 @@
#include <dolphin/mtx.h>
#include <cmath>
#ifdef _MSVC_LANG
#define M_PI 3.14159265358979323846f
#endif
struct cXyz : Vec {
static const cXyz Zero;
static const cXyz BaseX;
+1 -1
View File
@@ -61,7 +61,7 @@ public:
static Z2CreatureLink* getLink() { return mLinkPtr; }
friend class Z2LinkSoundStarter;
friend class Z2RideSoundStarter;
friend struct Z2RideSoundStarter;
private:
/* 0x90 Z2LinkSoundStarter */
+1 -1
View File
@@ -4,7 +4,7 @@
#include "Z2AudioLib/Z2SoundHandles.h"
#include "JSystem/JAudio2/JAUSoundAnimator.h"
class Z2SoundStarter;
struct Z2SoundStarter;
class Z2SoundObjBase : public Z2SoundHandles
#if DEBUG
+1
View File
@@ -1,6 +1,7 @@
#ifndef Z2STATUSMGR_H
#define Z2STATUSMGR_H
#include <global.h>
#include "JSystem/JAudio2/JASGadget.h"
#include <dolphin/mtx.h>
+2
View File
@@ -332,8 +332,10 @@ private:
/* 0x2EDC */ dMsgFlow_c mMsgFlow;
};
#ifdef __MWERKS__
cXyz daB_DS_c::getHandPosR() { return mHandPos[1]; }
cXyz daB_DS_c::getHandPosL() { return mHandPos[0]; }
#endif
STATIC_ASSERT(sizeof(daB_DS_c) == 0x2F28);
+1 -1
View File
@@ -8,7 +8,7 @@
#include "d/d_bg_s_acch.h"
class dBgW;
class msg_class;
struct msg_class;
/**
* @ingroup actors-enemies
+2 -1
View File
@@ -626,7 +626,8 @@ public:
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum, daNpcT_evtData_c const* i_evtData, char** i_arcNames) :
int i_motionStepNum, daNpcT_evtData_c const* i_evtData, char** i_arcNames)
:
mpFaceMotionAnmData(i_faceMotionAnmData),
mpMotionAnmData(i_motionAnmData),
mpEvtData(i_evtData),
+1 -2
View File
@@ -149,8 +149,7 @@ public:
int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum,
daNpcT_evtData_c const* i_evtData,
char** i_arcNames)
daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {
+1 -2
View File
@@ -112,8 +112,7 @@ public:
int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum,
daNpcT_evtData_c const* i_evtData,
char** i_arcNames)
daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {
+4 -3
View File
@@ -86,9 +86,10 @@ public:
int talkwithJagar(void*);
int talk(void*);
daNpc_Bou_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6,
daNpcT_evtData_c const* param_7, char** param_8) :
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6,
daNpcT_evtData_c const* param_7, char** param_8)
:
daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8)
{}
+6 -7
View File
@@ -95,13 +95,12 @@ public:
int tend(void*);
int talk(void*);
int shop(void*);
daNpc_clerkA_c(
daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
daNpcT_motionAnmData_c const* i_motionAnmData,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char** i_arcNames)
daNpc_clerkA_c(daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
daNpcT_motionAnmData_c const* i_motionAnmData,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum, daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {}
+6 -7
View File
@@ -108,13 +108,12 @@ public:
int tend(void*);
int talk(void*);
int shop(void*);
daNpc_clerkB_c(
daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
daNpcT_motionAnmData_c const* i_motionAnmData,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char** i_arcNames)
daNpc_clerkB_c(daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
daNpcT_motionAnmData_c const* i_motionAnmData,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum, daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: dShopSystem_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {}
+6 -7
View File
@@ -121,13 +121,12 @@ public:
int practice(void*);
int nurse(void*);
int talk(void*);
daNpc_Taro_c(
daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
daNpcT_motionAnmData_c const* i_motionAnmData,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
daNpcT_evtData_c const* i_evtData, char** i_arcNames)
daNpc_Taro_c(daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
daNpcT_motionAnmData_c const* i_motionAnmData,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
int i_faceMotionStepNum,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
int i_motionStepNum, daNpcT_evtData_c const* i_evtData, char** i_arcNames)
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
i_arcNames) {
+4 -2
View File
@@ -1087,7 +1087,8 @@ inline void dComIfG_ct() {
g_dComIfG_gameInfo.ct();
}
int dComLbG_PhaseHandler(request_of_phase_process_class*, request_of_phase_process_fn*, void*);
int dComLbG_PhaseHandler(request_of_phase_process_class*, request_of_phase_process_fn*,
void*);
BOOL dComIfG_resetToOpening(scene_class* scene);
char* dComIfG_getRoomArcName(int roomNo);
void* dComIfG_getStageRes(char const* i_resName);
@@ -3920,7 +3921,8 @@ inline int dComIfGp_evmng_getMyStaffId(const char* i_staffname, fopAc_ac_c* i_ac
return dComIfGp_getPEvtManager()->getMyStaffId(i_staffname, i_actor, i_tagId);
}
inline int dComIfGp_evmng_getMyActIdx(int i_staffId, char** i_actions, int i_actionNum, BOOL param_3, BOOL param_4) {
inline int dComIfGp_evmng_getMyActIdx(int i_staffId, char** i_actions, int i_actionNum,
BOOL param_3, BOOL param_4) {
return dComIfGp_getPEvtManager()->getMyActIdx(i_staffId, i_actions, i_actionNum, param_3, param_4);
}
+1 -1
View File
@@ -4,7 +4,7 @@
#include "global.h"
#include "f_pc/f_pc_base.h"
class msg_class;
struct msg_class;
struct event_binary_data_header {
/* 0x00 */ u32 eventTop; // offset to Event chunk
+1 -1
View File
@@ -6,7 +6,7 @@
#include "JSystem/JUtility/JUTResFont.h"
#include "JSystem/JKernel/JKRExpHeap.h"
class JUTGamePad;
struct JUTGamePad;
class dJcame_c {
public:
+1 -1
View File
@@ -10,7 +10,7 @@ namespace JStudio {
class J2DOrthoGraph;
class JKRExpHeap;
class JUTGamePad;
struct JUTGamePad;
class JUTResFont;
class tParse_;
+7 -7
View File
@@ -12,7 +12,7 @@
class JPABaseEmitter;
class cBgS_PolyInfo;
class color_RGB_class;
struct color_RGB_class;
struct LIGHT_INFLUENCE {
/* 0x00 */ cXyz mPosition;
@@ -148,12 +148,12 @@ struct LightStatus {
}; // Size: 0xE8
class fopAc_ac_c;
class dKyd_lightSchejule;
class stage_palette_info_class;
class stage_pselect_info_class;
class stage_envr_info_class;
class stage_vrboxcol_info_class;
class stage_plight_info_class;
struct dKyd_lightSchejule;
struct stage_palette_info_class;
struct stage_pselect_info_class;
struct stage_envr_info_class;
struct stage_vrboxcol_info_class;
struct stage_plight_info_class;
class kytag08_class;
struct dKy_pol_arg_struct {
+1 -1
View File
@@ -5,7 +5,7 @@
#include "SSystem/SComponent/c_sxyz.h"
#include "SSystem/SComponent/c_xyz.h"
class WIND_INFLUENCE;
struct WIND_INFLUENCE;
void dKyw_wether_draw();
void dKyw_wether_delete();
+5
View File
@@ -74,7 +74,12 @@ public:
/* 0x0 */ char mStageName[8];
/* 0x8 */ u16 mAreaName;
/* 0xA */ u8 mCount;
#ifdef _MSVC_LANG
u8* __get_mRoomNos() const { return (u8*)(this + 1); }
__declspec(property(get = __get_mRoomNos)) u8* mRoomNos;
#else
/* 0xB */ u8 mRoomNos[0];
#endif
};
/* 0x0 */ u8 mCount;
+1 -1
View File
@@ -16,7 +16,7 @@ enum {
};
class fopAc_ac_c;
class msg_class;
struct msg_class;
// all mesg_flow_node structs members might be wrong
struct mesg_flow_node {
+2 -1
View File
@@ -1,7 +1,8 @@
#ifndef D_PARTICLE_D_PARTICLE_NAME_H
#define D_PARTICLE_D_PARTICLE_NAME_H
#include <dolphin/types.h>
#include "dolphin/types.h"
#include <global.h>
// Room scenes use a bit to specify an ID is from a room particle pack, not the common particle pack
#define dPa_RM(id) (0x8000 | (id))
+5 -4
View File
@@ -29,10 +29,11 @@ public:
};
dShopSystem_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6, daNpcT_evtData_c const* param_7,
char** param_8) : daNpcT_c(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8) {
OS_REPORT("|%06d:%x|dShopSystem_c -> コンストラクト\n", g_Counter.mCounter0, this);
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4,
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6,
daNpcT_evtData_c const* param_7, char** param_8)
: daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8) {
OS_REPORT("|%06d:%x|dShopSystem_c -> コンストラクト\n", g_Counter.mCounter0, this);
initShopSystem();
}
@@ -31,14 +31,6 @@ typedef f32 (*Mtx44Ptr)[4];
typedef f32 ROMtx[4][3];
typedef f32 (*ROMtxPtr)[4];
// do these belong in the sdk?
typedef f32 Mtx33[3][3];
typedef f32 Mtx23[2][3];
typedef f32 (*Mtx3P)[3];
typedef f32 (*MtxP)[4];
typedef const f32 (*CMtxP)[4];
typedef f32 QuaternionP[4];
typedef struct {
u32 numMtx;
MtxPtr stackBase;
+2 -2
View File
@@ -10,7 +10,7 @@
extern "C" {
#endif
typedef void (*ARQCallback)(u32 pointerToARQRequest);
typedef void (*ARQCallback)(uintptr_t pointerToARQRequest);
struct ARQRequest {
/* 0x00 */ struct ARQRequest *next;
@@ -59,7 +59,7 @@ void ARClear(u32 flag);
// ARQ
void ARQInit(void);
void ARQReset(void);
void ARQPostRequest(ARQRequest* request, u32 owner, u32 type, u32 priority, u32 source, u32 dest, u32 length, ARQCallback callback);
void ARQPostRequest(ARQRequest* request, u32 owner, u32 type, u32 priority, uintptr_t source, uintptr_t dest, u32 length, ARQCallback callback);
void ARQRemoveRequest(ARQRequest* request);
void ARQRemoveOwnerRequest(u32 owner);
void ARQFlushQueue(void);
+5
View File
@@ -28,6 +28,10 @@ static inline void GXSetTexCoordGen(GXTexCoordID dst_coord, GXTexGenType func, G
void GXBegin(GXPrimitive type, GXVtxFmt vtxfmt, u16 nverts);
#ifndef TARGET_PC
// On GameCube, GXEnd is a no-op (hardware reads FIFO directly).
// On PC, Aurora provides an extern GXEnd() that drains the software FIFO
// (declared in extern/aurora/include/dolphin/gx/GXVert.h).
static inline void GXEnd(void) {
#if DEBUG
extern GXBool __GXinBegin;
@@ -38,6 +42,7 @@ static inline void GXEnd(void) {
__GXinBegin = GX_FALSE;
#endif
}
#endif
void GXSetLineWidth(u8 width, GXTexOffset texOffsets);
void GXSetPointSize(u8 pointSize, GXTexOffset texOffsets);
+8
View File
@@ -36,7 +36,11 @@ typedef struct _GXColorS10 {
} GXColorS10;
typedef struct _GXTexObj {
#ifdef TARGET_PC
u32 dummy[22]; // Aurora's GXTexObj_ contains std::shared_ptr + many fields (~80 bytes)
#else
u32 dummy[8];
#endif
} GXTexObj;
typedef struct _GXLightObj {
@@ -48,7 +52,11 @@ typedef struct _GXTexRegion {
} GXTexRegion;
typedef struct _GXTlutObj {
#ifdef TARGET_PC
u32 dummy[4]; // Aurora's GXTlutObj_ contains std::shared_ptr (8+ bytes)
#else
u32 dummy[3];
#endif
} GXTlutObj;
typedef struct _GXTlutRegion {
+40
View File
@@ -3,6 +3,46 @@
#ifdef __REVOLUTION_SDK__
#include <revolution/gx/GXVert.h>
#elif defined(TARGET_PC)
// On PC, include Aurora's GXVert for GXPosition/GXNormal/GXColor/GXTexCoord/GXEnd
// (extern functions implemented in Aurora's GXVert.cpp, stream-based vertex buffers)
#include "../../../extern/aurora/include/dolphin/gx/GXVert.h"
// Aurora's GXVert.h does not provide GXCmd, GXParam, GXMatrixIndex, or a valid
// GXWGFifo target. J3D code uses these for low-level display list writes.
// We declare them as extern (implemented in stubs.cpp) and provide a dummy
// GXWGFifo that writes into a throw-away buffer so direct FIFO writes don't crash.
// Replace Aurora's GXWGFifo macro (pointing to 0xCC008000) with an extern variable
#undef GXWGFifo
#ifdef __cplusplus
extern "C" {
#endif
// PPCWGPipe is already typedef'd by Aurora's GXVert.h above.
// Dummy FIFO sink: direct GXWGFifo writes in J3DFifo.h land here harmlessly.
extern volatile PPCWGPipe GXWGFifo;
void GXCmd1u8(const u8 x);
void GXCmd1u16(const u16 x);
void GXCmd1u32(const u32 x);
void GXParam1u8(const u8 x);
void GXParam1u16(const u16 x);
void GXParam1u32(const u32 x);
void GXParam1s8(const s8 x);
void GXParam1s16(const s16 x);
void GXParam1s32(const s32 x);
void GXParam1f32(const f32 x);
void GXParam3f32(const f32 x, const f32 y, const f32 z);
void GXParam4f32(const f32 x, const f32 y, const f32 z, const f32 w);
void GXMatrixIndex1u8(const u8 x);
#ifdef __cplusplus
}
#endif
#else
#include <dolphin/types.h>
#include <dolphin/os.h>
+51 -13
View File
@@ -1,17 +1,15 @@
#ifndef _DOLPHIN_OS_H_
#define _DOLPHIN_OS_H_
#ifdef __MWERKS__
#include <cstdio>
#else
#include <stdio.h>
#endif
#ifdef __REVOLUTION_SDK__
#include <revolution/os.h>
#else
#include <dolphin/types.h>
#include <dolphin/gx/GXStruct.h>
void OSReportInit(void);
void OSSwitchFiberEx(u32, u32, u32, u32, u32, u32);
void OSVAttention(const char* fmt, va_list args);
@@ -45,7 +43,9 @@ typedef u32 OSTick;
#include <dolphin/os/OSLC.h>
#include <dolphin/os/OSL2.h>
#include <dolphin/os/OSReboot.h>
#ifdef __MWERKS__
#include <dolphin/os/OSExec.h>
#endif
#include <dolphin/os/OSMemory.h>
#include <dolphin/os/OSSemaphore.h>
#include <dolphin/os/OSUtf.h>
@@ -54,6 +54,18 @@ typedef u32 OSTick;
// private macro, maybe shouldn't be defined here?
#define OFFSET(addr, align) (((u32)(addr) & ((align)-1)))
#ifndef __MWERKS__
typedef struct {
BOOL valid;
u32 restartCode;
u32 bootDol;
void* regionStart;
void* regionEnd;
int argsUseDefault;
void* argsAddr;
} OSExecParams;
#endif
#define DOLPHIN_ALIGNMENT 32
// Upper words of the masks, since UIMM is only 16 bits
@@ -80,9 +92,9 @@ OSThread* __gUnkThread1 AT_ADDRESS(OS_BASE_CACHED | 0x00D8);
int __gUnknown800030C0[2] AT_ADDRESS(OS_BASE_CACHED | 0x30C0);
u8 __gUnknown800030E3 AT_ADDRESS(OS_BASE_CACHED | 0x30E3);
#else
#define __OSBusClock (*(u32 *)(OS_BASE_CACHED | 0x00F8))
#define __OSCoreClock (*(u32 *)(OS_BASE_CACHED | 0x00FC))
#endif
#define __OSBusClock 486000000
#define __OSCoreClock (486000000 / 4)
#endif // __MWERKS__
#define OS_BUS_CLOCK __OSBusClock
#define OS_CORE_CLOCK __OSCoreClock
@@ -210,7 +222,6 @@ DECL_WEAK void OSReportDisable(void);
DECL_WEAK void OSReportEnable(void);
DECL_WEAK void OSReportForceEnableOff(void);
DECL_WEAK void OSReportForceEnableOn(void);
DECL_WEAK void OSVReport(const char* format, va_list list);
#if DEBUG
#define OS_REPORT(...) OSReport(__VA_ARGS__)
@@ -233,6 +244,29 @@ extern u8 __OSReport_enable;
#define OSRoundUp32B(x) (((u32)(x) + 32 - 1) & ~(32 - 1))
#define OSRoundDown32B(x) (((u32)(x)) & ~(32 - 1))
#ifdef TARGET_PC
static inline void* OSPhysicalToCached(u32 paddr) {
return reinterpret_cast<void*>(static_cast<uintptr_t>(paddr));
}
static inline void* OSPhysicalToUncached(u32 paddr) {
return reinterpret_cast<void*>(static_cast<uintptr_t>(paddr));
}
static inline u32 OSCachedToPhysical(void* caddr) {
return static_cast<u32>(reinterpret_cast<uintptr_t>(caddr));
}
static inline u32 OSUncachedToPhysical(void* ucaddr) {
return static_cast<u32>(reinterpret_cast<uintptr_t>(ucaddr));
}
static inline void* OSCachedToUncached(void* caddr) {
return caddr;
}
static inline void* OSUncachedToCached(void* ucaddr) {
return ucaddr;
}
#else // non-TARGET_PC
void* OSPhysicalToCached(u32 paddr);
void* OSPhysicalToUncached(u32 paddr);
u32 OSCachedToPhysical(void* caddr);
@@ -240,7 +274,9 @@ u32 OSUncachedToPhysical(void* ucaddr);
void* OSCachedToUncached(void* caddr);
void* OSUncachedToCached(void* ucaddr);
#if !DEBUG
#endif // TARGET_PC
#if !DEBUG && !defined(TARGET_PC)
#define OSPhysicalToCached(paddr) ((void*) ((u32)(OS_BASE_CACHED + (u32)(paddr))))
#define OSPhysicalToUncached(paddr) ((void*) ((u32)(OS_BASE_UNCACHED + (u32)(paddr))))
#define OSCachedToPhysical(caddr) ((u32) ((u32)(caddr) - OS_BASE_CACHED))
@@ -257,6 +293,10 @@ extern OSTime __OSStartTime;
extern int __OSInIPL;
// helper for assert line numbers in different revisions
#ifndef SDK_REVISION
#define SDK_REVISION 0
#endif
#if SDK_REVISION < 1
#define LINE(l0, l1, l2) (l0)
#elif SDK_REVISION < 2
@@ -275,7 +315,6 @@ extern int __OSInIPL;
// This is dumb but we dont have a Metrowerks way to do variadic macros in the macro to make this done in a not scrubby way.
#define ASSERTMSG1LINE(line, cond, msg, arg1) \
((cond) || (OSPanic(__FILE__, line, msg, arg1), 0))
#define ASSERTMSG2LINE(line, cond, msg, arg1, arg2) \
((cond) || (OSPanic(__FILE__, line, msg, arg1, arg2), 0))
@@ -289,7 +328,6 @@ extern int __OSInIPL;
#define ASSERTMSG2LINE(line, cond, msg, arg1, arg2) (void)0
#define ASSERTMSGLINEV(line, cond, ...) (void)0
#endif
#define ASSERT(cond) ASSERTLINE(__LINE__, cond)
inline s16 __OSf32tos16(__REGISTER f32 inF) {
@@ -357,5 +395,5 @@ static inline void OSInitFastCast(void) {
}
#endif
#endif
#endif
#endif // __REVOLUTION_SDK__
#endif // _DOLPHIN_OS_H_
+12
View File
@@ -4,12 +4,24 @@
#ifdef __REVOLUTION_SDK__
#include <revolution/types.h>
#else
#if _WIN64 || __LP64__
#define BIT_64 1
#else
#define BIT_64 0
#endif
typedef signed char s8;
typedef unsigned char u8;
typedef signed short int s16;
typedef unsigned short int u16;
#if TARGET_PC
typedef signed int s32;
typedef unsigned int u32;
#else
typedef signed long s32;
typedef unsigned long u32;
#endif
typedef signed long long int s64;
typedef unsigned long long int u64;
+45
View File
@@ -0,0 +1,45 @@
#ifndef DOLPHIN_DVD_EMU_H
#define DOLPHIN_DVD_EMU_H
#include "dolphin/types.h"
#include <string>
// PC-Emulation der DVD-Funktionen
namespace DvdEmu {
// Basis-Pfad zum Datenordner (relativ zur .exe)
void setBasePath(const char* path);
const char* getBasePath();
// Konvertiert GameCube-Pfad zu PC-Pfad
// z.B. "/res/Object/LogoUs.arc" -> "C:/Games/Dusk/data/res/Object/LogoUs.arc"
std::string convertPath(const char* gcPath);
// Prüft ob Datei existiert
bool fileExists(const char* gcPath);
// Lädt Datei komplett in Speicher
// Gibt Pointer zurück, Größe wird in outSize geschrieben
// Caller muss Speicher mit free() freigeben
void* loadFile(const char* gcPath, u32* outSize, void* heap = nullptr);
// Lädt Datei in vorhandenen Buffer
// Gibt gelesene Bytes zurück
u32 loadFileToBuffer(const char* gcPath, void* buffer, u32 bufferSize, u32 offset = 0);
// Datei-Größe abfragen
u32 getFileSize(const char* gcPath);
} // namespace DvdEmu
// Ersatz für DVDConvertPathToEntrynum
// Gibt einen "Fake" Entry-Number zurück (Hash des Pfads) oder -1 wenn nicht gefunden
s32 DVDConvertPathToEntrynum_Emu(const char* path);
// Speichert Pfad für Entry-Number (für späteres Laden)
void DVDRegisterPath(s32 entryNum, const char* path);
// Holt Pfad für Entry-Number
const char* DVDGetPathForEntry(s32 entryNum);
#endif // DOLPHIN_DVD_EMU_H
+94
View File
@@ -0,0 +1,94 @@
#ifndef DOLPHIN_ENDIAN_H
#define DOLPHIN_ENDIAN_H
#include "dolphin/types.h"
// Platform detection - Little Endian targets
#if defined(_WIN32) || defined(__x86_64__) || defined(__i386__) || defined(__aarch64__) || defined(_M_X64) || defined(_M_IX86)
#define TARGET_LITTLE_ENDIAN 1
#else
#define TARGET_LITTLE_ENDIAN 0
#endif
#if TARGET_LITTLE_ENDIAN
#ifdef _MSC_VER
#include <stdlib.h>
#define BSWAP16(x) _byteswap_ushort(x)
#define BSWAP32(x) _byteswap_ulong(x)
#else
#define BSWAP16(x) __builtin_bswap16(x)
#define BSWAP32(x) __builtin_bswap32(x)
#endif
#else
#define BSWAP16(x) (x)
#define BSWAP32(x) (x)
#endif
// Big-Endian to Host conversion
inline u16 be16(u16 val) { return BSWAP16(val); }
inline s16 be16s(s16 val) { return (s16)BSWAP16((u16)val); }
inline u32 be32(u32 val) { return BSWAP32(val); }
inline s32 be32s(s32 val) { return (s32)BSWAP32((u32)val); }
#ifdef TARGET_PC
// Helper wrappers so code below reads nicely:
static inline u16 RES_U16(u16 v) {
return be16(v);
}
static inline s16 RES_S16(s16 v) {
return be16s(v);
}
static inline u32 RES_U32(u32 v) {
return be32(v);
}
static inline s32 RES_S32(s32 v) {
return be32s(v);
}
#else
// On GameCube host-endian == file-endian, these are no-ops (keep as macros to allow compile in
// original code paths)
#define RES_U16(x) (x)
#define RES_S16(x) (x)
#define RES_U32(x) (x)
#define RES_S32(x) (x)
#endif
#ifdef TARGET_PC
/*
* Declares a big-endian integer type.
*/
template<class T>
struct BE {
T inner;
operator T() const;
};
template<>
inline BE<u16>::operator u16() const {
return RES_U16(inner);
}
template<>
inline BE<s16>::operator s16() const {
return RES_S16(inner);
}
template<>
inline BE<u32>::operator u32() const {
return RES_U32(inner);
}
template<>
inline BE<s32>::operator s32() const {
return RES_S32(inner);
}
#define BE(T) BE<T>
#else
#define BE(T) T
#endif
#endif // DOLPHIN_ENDIAN_H
+2
View File
@@ -5,8 +5,10 @@
extern "C" {
#endif
#ifndef _MSC_VER
int strnicmp(const char* str1, const char* str2, int n);
int stricmp(const char* str1, const char* str2);
#endif
#ifdef __cplusplus
}
+4 -4
View File
@@ -38,12 +38,12 @@ inline void fopCamM_SetAngleY(camera_class* i_camera, s16 angle) {
i_camera->angle.y = angle;
}
inline void fopCamM_SetNear(camera_class* i_this, f32 near) {
i_this->near = near;
inline void fopCamM_SetNear(camera_class* i_this, f32 near_) {
i_this->near_ = near_;
}
inline void fopCamM_SetFar(camera_class* i_this, f32 far) {
i_this->far = far;
inline void fopCamM_SetFar(camera_class* i_this, f32 far_) {
i_this->far_ = far_;
}
inline void fopCamM_SetFovy(camera_class* i_this, f32 fovy) {
+1 -1
View File
@@ -8,7 +8,7 @@
class JKRExpHeap;
class JKRHeap;
class fopAc_ac_c;
class msg_class;
struct msg_class;
struct msg_process_profile_definition {
/* 0x00 */ leaf_process_profile_definition base;
+1 -1
View File
@@ -12,7 +12,7 @@ struct scene_method_class {
};
typedef struct scene_process_profile_definition {
/* 0x00 */ node_process_profile_definition nase;
/* 0x00 */ node_process_profile_definition base;
/* 0x20 */ scene_method_class* submethod; // Subclass methods
/* 0x24 */ u32 unk_0x24; // padding?
} scene_process_profile_definition;
+2 -2
View File
@@ -43,8 +43,8 @@ struct view_class {
/* 0x000 */ leafdraw_class base;
/* 0x0C0 */ leafdraw_method_class* sub_method;
/* 0x0C4 */ u8 field_0xc4;
/* 0x0C8 */ f32 near;
/* 0x0CC */ f32 far;
/* 0x0C8 */ f32 near_;
/* 0x0CC */ f32 far_;
/* 0x0D0 */ f32 fovy;
/* 0x0D4 */ f32 aspect;
/* 0x0D8 */ lookat_class lookat;
+805
View File
@@ -3,6 +3,16 @@
#include "f_pc/f_pc_profile.h"
#ifndef __MWERKS__
#include "f_op/f_op_actor.h"
#include "f_op/f_op_camera.h"
#include "f_op/f_op_kankyo.h"
#include "f_op/f_op_msg_mng.h"
#include "f_op/f_op_overlap.h"
#include "f_op/f_op_scene.h"
#endif
#ifdef __MWERKS__
extern process_profile_definition g_profile_ALINK;
extern process_profile_definition g_profile_NO_CHG_ROOM;
extern process_profile_definition g_profile_ITEM;
@@ -795,6 +805,801 @@ 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;
#else
extern actor_process_profile_definition g_profile_ALINK;
extern actor_process_profile_definition g_profile_NO_CHG_ROOM;
extern actor_process_profile_definition g_profile_ITEM;
extern camera_process_profile_definition g_profile_CAMERA;
extern camera_process_profile_definition g_profile_CAMERA2;
extern kankyo_process_profile_definition g_profile_ENVSE;
extern msg_process_profile_definition g_profile_GAMEOVER;
extern kankyo_process_profile_definition g_profile_KANKYO;
extern kankyo_process_profile_definition g_profile_KYEFF;
extern kankyo_process_profile_definition g_profile_KYEFF2;
extern kankyo_process_profile_definition g_profile_KY_THUNDER;
extern msg_process_profile_definition g_profile_MENUWINDOW;
extern msg_process_profile_definition g_profile_METER2;
extern msg_process_profile_definition g_profile_MSG_OBJECT;
extern overlap_process_profile_definition g_profile_OVERLAP0;
extern overlap_process_profile_definition g_profile_OVERLAP1;
extern overlap_process_profile_definition g_profile_OVERLAP6;
extern overlap_process_profile_definition g_profile_OVERLAP7;
extern overlap_process_profile_definition g_profile_OVERLAP8;
extern overlap_process_profile_definition g_profile_OVERLAP9;
extern overlap_process_profile_definition g_profile_OVERLAP10;
extern overlap_process_profile_definition g_profile_OVERLAP11;
extern overlap_process_profile_definition g_profile_OVERLAP2;
extern overlap_process_profile_definition g_profile_OVERLAP3;
extern scene_process_profile_definition g_profile_LOGO_SCENE;
extern scene_process_profile_definition g_profile_MENU_SCENE;
extern scene_process_profile_definition g_profile_NAME_SCENE;
extern scene_process_profile_definition g_profile_NAMEEX_SCENE;
extern scene_process_profile_definition g_profile_PLAY_SCENE;
extern scene_process_profile_definition g_profile_OPENING_SCENE;
extern scene_process_profile_definition g_profile_ROOM_SCENE;
extern scene_process_profile_definition g_profile_WARNING_SCENE;
extern scene_process_profile_definition g_profile_WARNING2_SCENE;
extern msg_process_profile_definition g_profile_TIMER;
extern kankyo_process_profile_definition g_profile_WMARK;
extern kankyo_process_profile_definition g_profile_WPILLAR;
extern actor_process_profile_definition g_profile_ANDSW;
extern actor_process_profile_definition2 g_profile_BG;
extern actor_process_profile_definition g_profile_BG_OBJ;
extern actor_process_profile_definition g_profile_DMIDNA;
extern actor_process_profile_definition g_profile_DBDOOR;
extern actor_process_profile_definition g_profile_KNOB20;
extern actor_process_profile_definition g_profile_DOOR20;
extern actor_process_profile_definition g_profile_SPIRAL_DOOR;
extern actor_process_profile_definition2 g_profile_DSHUTTER;
extern actor_process_profile_definition g_profile_EP;
extern actor_process_profile_definition g_profile_HITOBJ;
extern actor_process_profile_definition g_profile_KYTAG00;
extern actor_process_profile_definition g_profile_KYTAG04;
extern actor_process_profile_definition g_profile_KYTAG17;
extern actor_process_profile_definition g_profile_OBJ_BEF;
extern actor_process_profile_definition g_profile_Obj_BurnBox;
extern actor_process_profile_definition g_profile_Obj_Carry;
extern actor_process_profile_definition g_profile_OBJ_ITO;
extern actor_process_profile_definition g_profile_Obj_Movebox;
extern actor_process_profile_definition g_profile_Obj_Swpush;
extern actor_process_profile_definition g_profile_Obj_Timer;
extern actor_process_profile_definition2 g_profile_PATH_LINE;
extern actor_process_profile_definition2 g_profile_SCENE_EXIT;
extern actor_process_profile_definition g_profile_SET_BG_OBJ;
extern actor_process_profile_definition g_profile_SWHIT0;
extern actor_process_profile_definition g_profile_TAG_ALLMATO;
extern actor_process_profile_definition g_profile_TAG_CAMERA;
extern actor_process_profile_definition g_profile_TAG_CHKPOINT;
extern actor_process_profile_definition g_profile_TAG_EVENT;
extern actor_process_profile_definition g_profile_TAG_EVT;
extern actor_process_profile_definition g_profile_TAG_EVTAREA;
extern actor_process_profile_definition g_profile_TAG_EVTMSG;
extern actor_process_profile_definition g_profile_TAG_HOWL;
extern actor_process_profile_definition g_profile_TAG_KMSG;
extern actor_process_profile_definition g_profile_TAG_LANTERN;
extern actor_process_profile_definition g_profile_Tag_Mist;
extern actor_process_profile_definition g_profile_TAG_MSG;
extern actor_process_profile_definition g_profile_TAG_PUSH;
extern actor_process_profile_definition g_profile_TAG_TELOP;
extern actor_process_profile_definition g_profile_TBOX;
extern actor_process_profile_definition g_profile_TBOX2;
extern actor_process_profile_definition g_profile_VRBOX;
extern actor_process_profile_definition g_profile_VRBOX2;
extern actor_process_profile_definition g_profile_ARROW;
extern actor_process_profile_definition g_profile_BOOMERANG;
extern actor_process_profile_definition g_profile_CROD;
extern actor_process_profile_definition g_profile_DEMO00;
extern actor_process_profile_definition g_profile_DISAPPEAR;
extern actor_process_profile_definition g_profile_MG_ROD;
extern actor_process_profile_definition g_profile_MIDNA;
extern actor_process_profile_definition g_profile_NBOMB;
extern actor_process_profile_definition g_profile_Obj_LifeContainer;
extern actor_process_profile_definition g_profile_Obj_Yousei;
extern actor_process_profile_definition g_profile_SPINNER;
extern actor_process_profile_definition g_profile_SUSPEND;
extern actor_process_profile_definition g_profile_Tag_Attp;
extern actor_process_profile_definition g_profile_ALLDIE;
extern actor_process_profile_definition g_profile_ANDSW2;
extern actor_process_profile_definition g_profile_BD;
extern actor_process_profile_definition g_profile_CANOE;
extern actor_process_profile_definition g_profile_CSTAF;
extern actor_process_profile_definition g_profile_Demo_Item;
extern actor_process_profile_definition g_profile_L1BOSS_DOOR;
extern actor_process_profile_definition g_profile_E_DN;
extern actor_process_profile_definition g_profile_E_FM;
extern actor_process_profile_definition g_profile_E_GA;
extern actor_process_profile_definition g_profile_E_HB;
extern actor_process_profile_definition g_profile_E_NEST;
extern actor_process_profile_definition g_profile_E_RD;
extern actor_process_profile_definition g_profile_ECONT;
extern actor_process_profile_definition g_profile_FR;
extern actor_process_profile_definition g_profile_GRASS;
extern actor_process_profile_definition g_profile_KYTAG05;
extern actor_process_profile_definition g_profile_KYTAG10;
extern actor_process_profile_definition g_profile_KYTAG11;
extern actor_process_profile_definition g_profile_KYTAG14;
extern actor_process_profile_definition g_profile_MG_FISH;
extern actor_process_profile_definition g_profile_NPC_BESU;
extern actor_process_profile_definition g_profile_NPC_FAIRY_SEIREI;
extern actor_process_profile_definition g_profile_NPC_FISH;
extern actor_process_profile_definition g_profile_NPC_HENNA;
extern actor_process_profile_definition g_profile_NPC_KAKASHI;
extern actor_process_profile_definition g_profile_NPC_KKRI;
extern actor_process_profile_definition g_profile_NPC_KOLIN;
extern actor_process_profile_definition g_profile_NPC_MARO;
extern actor_process_profile_definition g_profile_NPC_TARO;
extern actor_process_profile_definition g_profile_NPC_TKJ;
extern actor_process_profile_definition g_profile_Obj_BHASHI;
extern actor_process_profile_definition g_profile_Obj_BkDoor;
extern actor_process_profile_definition g_profile_Obj_BossWarp;
extern actor_process_profile_definition g_profile_Obj_Cboard;
extern actor_process_profile_definition g_profile_Obj_Digpl;
extern actor_process_profile_definition g_profile_Obj_Eff;
extern actor_process_profile_definition g_profile_OBJ_FMOBJ;
extern actor_process_profile_definition g_profile_Obj_GpTaru;
extern actor_process_profile_definition g_profile_Obj_HHASHI;
extern actor_process_profile_definition g_profile_OBJ_KANBAN2;
extern actor_process_profile_definition g_profile_OBJ_KBACKET;
extern actor_process_profile_definition g_profile_Obj_KkrGate;
extern actor_process_profile_definition g_profile_Obj_KLift00;
extern actor_process_profile_definition g_profile_Tag_KtOnFire;
extern actor_process_profile_definition g_profile_Obj_Ladder;
extern actor_process_profile_definition g_profile_Obj_Lv2Candle;
extern actor_process_profile_definition g_profile_Obj_MagneArm;
extern actor_process_profile_definition g_profile_Obj_MetalBox;
extern actor_process_profile_definition g_profile_Obj_MGate;
extern actor_process_profile_definition g_profile_Obj_NamePlate;
extern actor_process_profile_definition g_profile_Obj_OnCloth;
extern actor_process_profile_definition g_profile_Obj_RopeBridge;
extern actor_process_profile_definition g_profile_Obj_SwallShutter;
extern actor_process_profile_definition g_profile_OBJ_STICK;
extern actor_process_profile_definition g_profile_Obj_StoneMark;
extern actor_process_profile_definition g_profile_Obj_Swpropeller;
extern actor_process_profile_definition g_profile_Obj_Swpush5;
extern actor_process_profile_definition g_profile_Obj_Yobikusa;
extern actor_process_profile_definition g_profile_SCENE_EXIT2;
extern actor_process_profile_definition g_profile_ShopItem;
extern actor_process_profile_definition g_profile_SQ;
extern actor_process_profile_definition g_profile_SWC00;
extern actor_process_profile_definition g_profile_Tag_CstaSw;
extern actor_process_profile_definition g_profile_Tag_AJnot;
extern actor_process_profile_definition g_profile_Tag_AttackItem;
extern actor_process_profile_definition g_profile_Tag_Gstart;
extern actor_process_profile_definition g_profile_Tag_Hinit;
extern actor_process_profile_definition g_profile_Tag_Hjump;
extern actor_process_profile_definition g_profile_Tag_Hstop;
extern actor_process_profile_definition g_profile_Tag_Lv2PrChk;
extern actor_process_profile_definition g_profile_Tag_Magne;
extern actor_process_profile_definition g_profile_Tag_Mhint;
extern actor_process_profile_definition g_profile_Tag_Mstop;
extern actor_process_profile_definition g_profile_Tag_Spring;
extern actor_process_profile_definition g_profile_Tag_Statue;
extern actor_process_profile_definition g_profile_Ykgr;
extern actor_process_profile_definition g_profile_DR;
extern actor_process_profile_definition g_profile_L7lowDr;
extern actor_process_profile_definition g_profile_L7ODR;
extern actor_process_profile_definition g_profile_B_BH;
extern actor_process_profile_definition g_profile_B_BQ;
extern actor_process_profile_definition g_profile_B_DR;
extern actor_process_profile_definition g_profile_B_DRE;
extern actor_process_profile_definition g_profile_B_DS;
extern actor_process_profile_definition g_profile_B_GG;
extern actor_process_profile_definition g_profile_B_GM;
extern actor_process_profile_definition g_profile_B_GND;
extern actor_process_profile_definition g_profile_B_GO;
extern actor_process_profile_definition g_profile_B_GOS;
extern actor_process_profile_definition g_profile_B_MGN;
extern actor_process_profile_definition g_profile_B_OB;
extern actor_process_profile_definition g_profile_B_OH;
extern actor_process_profile_definition g_profile_B_OH2;
extern actor_process_profile_definition g_profile_B_TN;
extern actor_process_profile_definition g_profile_B_YO;
extern actor_process_profile_definition g_profile_B_YOI;
extern actor_process_profile_definition g_profile_B_ZANT;
extern actor_process_profile_definition g_profile_B_ZANTM;
extern actor_process_profile_definition g_profile_B_ZANTZ;
extern actor_process_profile_definition g_profile_B_ZANTS;
extern actor_process_profile_definition g_profile_BALLOON2D;
extern actor_process_profile_definition g_profile_BULLET;
extern actor_process_profile_definition g_profile_COACH2D;
extern actor_process_profile_definition g_profile_COACH_FIRE;
extern actor_process_profile_definition g_profile_COW;
extern actor_process_profile_definition g_profile_CSTATUE;
extern actor_process_profile_definition g_profile_DO;
extern actor_process_profile_definition g_profile_BOSS_DOOR;
extern actor_process_profile_definition g_profile_L5BOSS_DOOR;
extern actor_process_profile_definition g_profile_L1MBOSS_DOOR;
extern actor_process_profile_definition g_profile_PushDoor;
extern actor_process_profile_definition g_profile_E_AI;
extern actor_process_profile_definition g_profile_E_ARROW;
extern actor_process_profile_definition g_profile_E_BA;
extern actor_process_profile_definition g_profile_E_BEE;
extern actor_process_profile_definition g_profile_E_BG;
extern actor_process_profile_definition g_profile_E_BI;
extern actor_process_profile_definition g_profile_E_BI_LEAF;
extern actor_process_profile_definition g_profile_E_BS;
extern actor_process_profile_definition g_profile_E_BU;
extern actor_process_profile_definition g_profile_E_BUG;
extern actor_process_profile_definition g_profile_E_CR;
extern actor_process_profile_definition g_profile_E_CR_EGG;
extern actor_process_profile_definition g_profile_E_DB;
extern actor_process_profile_definition g_profile_E_DB_LEAF;
extern actor_process_profile_definition g_profile_E_DD;
extern actor_process_profile_definition g_profile_E_DF;
extern actor_process_profile_definition g_profile_E_DK;
extern actor_process_profile_definition g_profile_E_DT;
extern actor_process_profile_definition g_profile_E_FB;
extern actor_process_profile_definition g_profile_E_FK;
extern actor_process_profile_definition g_profile_E_FS;
extern actor_process_profile_definition g_profile_E_FZ;
extern actor_process_profile_definition g_profile_E_GB;
extern actor_process_profile_definition g_profile_E_GE;
extern actor_process_profile_definition g_profile_E_GI;
extern actor_process_profile_definition g_profile_E_GM;
extern actor_process_profile_definition g_profile_E_GOB;
extern actor_process_profile_definition g_profile_E_GS;
extern actor_process_profile_definition g_profile_E_HB_LEAF;
extern actor_process_profile_definition g_profile_E_HM;
extern actor_process_profile_definition g_profile_E_HP;
extern actor_process_profile_definition g_profile_E_HZ;
extern actor_process_profile_definition g_profile_E_HZELDA;
extern actor_process_profile_definition g_profile_E_IS;
extern actor_process_profile_definition g_profile_E_KG;
extern actor_process_profile_definition g_profile_E_KK;
extern actor_process_profile_definition g_profile_E_KR;
extern actor_process_profile_definition g_profile_E_MB;
extern actor_process_profile_definition g_profile_E_MD;
extern actor_process_profile_definition g_profile_E_MF;
extern actor_process_profile_definition g_profile_E_MK;
extern actor_process_profile_definition g_profile_E_MK_BO;
extern actor_process_profile_definition g_profile_E_MM;
extern actor_process_profile_definition g_profile_E_MM_MT;
extern actor_process_profile_definition g_profile_E_MS;
extern actor_process_profile_definition g_profile_E_NZ;
extern actor_process_profile_definition g_profile_E_OC;
extern actor_process_profile_definition g_profile_E_OctBg;
extern actor_process_profile_definition g_profile_E_OT;
extern actor_process_profile_definition g_profile_E_PH;
extern actor_process_profile_definition g_profile_E_PM;
extern actor_process_profile_definition g_profile_E_PO;
extern actor_process_profile_definition g_profile_E_PZ;
extern actor_process_profile_definition g_profile_E_RB;
extern actor_process_profile_definition g_profile_E_RDB;
extern actor_process_profile_definition g_profile_E_RDY;
extern actor_process_profile_definition g_profile_E_S1;
extern actor_process_profile_definition g_profile_E_SB;
extern actor_process_profile_definition g_profile_E_SF;
extern actor_process_profile_definition g_profile_E_SG;
extern actor_process_profile_definition g_profile_E_SH;
extern actor_process_profile_definition g_profile_E_SM;
extern actor_process_profile_definition g_profile_E_SM2;
extern actor_process_profile_definition g_profile_E_ST;
extern actor_process_profile_definition g_profile_E_ST_LINE;
extern actor_process_profile_definition g_profile_E_SW;
extern actor_process_profile_definition g_profile_E_TH;
extern actor_process_profile_definition g_profile_E_TH_BALL;
extern actor_process_profile_definition g_profile_E_TK;
extern actor_process_profile_definition g_profile_E_TK2;
extern actor_process_profile_definition g_profile_E_TK_BALL;
extern actor_process_profile_definition g_profile_E_TT;
extern actor_process_profile_definition g_profile_E_VT;
extern actor_process_profile_definition g_profile_E_WAP;
extern actor_process_profile_definition g_profile_E_WB;
extern actor_process_profile_definition g_profile_E_WS;
extern actor_process_profile_definition g_profile_E_WW;
extern actor_process_profile_definition g_profile_E_YC;
extern actor_process_profile_definition g_profile_E_YD;
extern actor_process_profile_definition g_profile_E_YD_LEAF;
extern actor_process_profile_definition g_profile_E_YG;
extern actor_process_profile_definition g_profile_E_YH;
extern actor_process_profile_definition g_profile_E_YK;
extern actor_process_profile_definition g_profile_E_YM;
extern actor_process_profile_definition g_profile_E_YM_TAG;
extern actor_process_profile_definition g_profile_E_YMB;
extern actor_process_profile_definition g_profile_E_YR;
extern actor_process_profile_definition g_profile_E_ZH;
extern actor_process_profile_definition g_profile_E_ZM;
extern actor_process_profile_definition g_profile_E_ZS;
extern actor_process_profile_definition g_profile_FORMATION_MNG;
extern actor_process_profile_definition g_profile_GUARD_MNG;
extern actor_process_profile_definition g_profile_HORSE;
extern actor_process_profile_definition g_profile_HOZELDA;
extern actor_process_profile_definition g_profile_Izumi_Gate;
extern actor_process_profile_definition g_profile_KAGO;
extern actor_process_profile_definition g_profile_KYTAG01;
extern actor_process_profile_definition g_profile_KYTAG02;
extern actor_process_profile_definition g_profile_KYTAG03;
extern actor_process_profile_definition g_profile_KYTAG06;
extern actor_process_profile_definition g_profile_KYTAG07;
extern actor_process_profile_definition g_profile_KYTAG08;
extern actor_process_profile_definition g_profile_KYTAG09;
extern actor_process_profile_definition g_profile_KYTAG12;
extern actor_process_profile_definition g_profile_KYTAG13;
extern actor_process_profile_definition g_profile_KYTAG15;
extern actor_process_profile_definition g_profile_KYTAG16;
extern actor_process_profile_definition g_profile_MANT;
extern actor_process_profile_definition g_profile_FSHOP;
extern actor_process_profile_definition g_profile_MIRROR;
extern actor_process_profile_definition g_profile_MOVIE_PLAYER;
extern actor_process_profile_definition g_profile_MYNA;
extern actor_process_profile_definition g_profile_NI;
extern actor_process_profile_definition g_profile_NPC_ARU;
extern actor_process_profile_definition g_profile_NPC_ASH;
extern actor_process_profile_definition g_profile_NPC_ASHB;
extern actor_process_profile_definition g_profile_NPC_BANS;
extern actor_process_profile_definition g_profile_NPC_BLUENS;
extern actor_process_profile_definition g_profile_NPC_BOU;
extern actor_process_profile_definition g_profile_NPC_BOU_S;
extern actor_process_profile_definition g_profile_NPC_CD3;
extern actor_process_profile_definition g_profile_NPC_CHAT;
extern actor_process_profile_definition g_profile_NPC_CHIN;
extern actor_process_profile_definition g_profile_NPC_CLERKA;
extern actor_process_profile_definition g_profile_NPC_CLERKB;
extern actor_process_profile_definition g_profile_NPC_CLERKT;
extern actor_process_profile_definition g_profile_NPC_COACH;
extern actor_process_profile_definition g_profile_NPC_DF;
extern actor_process_profile_definition g_profile_NPC_DOC;
extern actor_process_profile_definition g_profile_NPC_DOORBOY;
extern actor_process_profile_definition g_profile_NPC_DRSOL;
extern actor_process_profile_definition g_profile_NPC_DU;
extern actor_process_profile_definition g_profile_NPC_FAIRY;
extern actor_process_profile_definition g_profile_NPC_FGUARD;
extern actor_process_profile_definition g_profile_NPC_GND;
extern actor_process_profile_definition g_profile_NPC_GRA;
extern actor_process_profile_definition g_profile_NPC_GRC;
extern actor_process_profile_definition g_profile_NPC_GRD;
extern actor_process_profile_definition g_profile_NPC_GRM;
extern actor_process_profile_definition g_profile_NPC_GRMC;
extern actor_process_profile_definition g_profile_NPC_GRO;
extern actor_process_profile_definition g_profile_NPC_GRR;
extern actor_process_profile_definition g_profile_NPC_GRS;
extern actor_process_profile_definition g_profile_NPC_GRZ;
extern actor_process_profile_definition g_profile_NPC_GUARD;
extern actor_process_profile_definition g_profile_NPC_GWOLF;
extern actor_process_profile_definition g_profile_NPC_HANJO;
extern actor_process_profile_definition g_profile_NPC_HENNA0;
extern actor_process_profile_definition g_profile_NPC_HOZ;
extern actor_process_profile_definition g_profile_NPC_IMPAL;
extern actor_process_profile_definition g_profile_NPC_INKO;
extern actor_process_profile_definition g_profile_NPC_INS;
extern actor_process_profile_definition g_profile_NPC_JAGAR;
extern actor_process_profile_definition g_profile_NPC_KASIHANA;
extern actor_process_profile_definition g_profile_NPC_KASIKYU;
extern actor_process_profile_definition g_profile_NPC_KASIMICH;
extern actor_process_profile_definition g_profile_NPC_KDK;
extern actor_process_profile_definition g_profile_NPC_KN;
extern actor_process_profile_definition g_profile_NPC_KNJ;
extern actor_process_profile_definition g_profile_NPC_KOLINB;
extern actor_process_profile_definition g_profile_NPC_KS;
extern actor_process_profile_definition g_profile_NPC_KYURY;
extern actor_process_profile_definition g_profile_NPC_LEN;
extern actor_process_profile_definition g_profile_NPC_LF;
extern actor_process_profile_definition g_profile_NPC_LUD;
extern actor_process_profile_definition g_profile_NPC_MIDP;
extern actor_process_profile_definition g_profile_NPC_MK;
extern actor_process_profile_definition g_profile_NPC_MOI;
extern actor_process_profile_definition g_profile_NPC_MOIR;
extern actor_process_profile_definition g_profile_MYNA2;
extern actor_process_profile_definition g_profile_NPC_NE;
extern actor_process_profile_definition g_profile_NPC_P2;
extern actor_process_profile_definition g_profile_NPC_PACHI_BESU;
extern actor_process_profile_definition g_profile_NPC_PACHI_MARO;
extern actor_process_profile_definition g_profile_NPC_PACHI_TARO;
extern actor_process_profile_definition g_profile_NPC_PASSER;
extern actor_process_profile_definition g_profile_NPC_PASSER2;
extern actor_process_profile_definition g_profile_NPC_POST;
extern actor_process_profile_definition g_profile_NPC_POUYA;
extern actor_process_profile_definition g_profile_NPC_PRAYER;
extern actor_process_profile_definition g_profile_NPC_RACA;
extern actor_process_profile_definition g_profile_NPC_RAFREL;
extern actor_process_profile_definition g_profile_NPC_SARU;
extern actor_process_profile_definition g_profile_NPC_SEIB;
extern actor_process_profile_definition g_profile_NPC_SEIC;
extern actor_process_profile_definition g_profile_NPC_SEID;
extern actor_process_profile_definition g_profile_NPC_SEIRA;
extern actor_process_profile_definition g_profile_NPC_SERA2;
extern actor_process_profile_definition g_profile_NPC_SEIREI;
extern actor_process_profile_definition g_profile_NPC_SHAD;
extern actor_process_profile_definition g_profile_NPC_SHAMAN;
extern actor_process_profile_definition g_profile_NPC_SHOE;
extern actor_process_profile_definition g_profile_NPC_SHOP0;
extern actor_process_profile_definition g_profile_NPC_SMARO;
extern actor_process_profile_definition g_profile_NPC_SOLA;
extern actor_process_profile_definition g_profile_NPC_SOLDIERa;
extern actor_process_profile_definition g_profile_NPC_SOLDIERb;
extern actor_process_profile_definition g_profile_NPC_SQ;
extern actor_process_profile_definition g_profile_NPC_THE;
extern actor_process_profile_definition g_profile_NPC_THEB;
extern actor_process_profile_definition g_profile_NPC_TK;
extern actor_process_profile_definition g_profile_NPC_TKC;
extern actor_process_profile_definition g_profile_NPC_TKJ2;
extern actor_process_profile_definition g_profile_NPC_TKS;
extern actor_process_profile_definition g_profile_NPC_TOBY;
extern actor_process_profile_definition g_profile_NPC_TR;
extern actor_process_profile_definition g_profile_NPC_URI;
extern actor_process_profile_definition g_profile_NPC_WORM;
extern actor_process_profile_definition g_profile_NPC_WRESTLER;
extern actor_process_profile_definition g_profile_NPC_YAMID;
extern actor_process_profile_definition g_profile_NPC_YAMIS;
extern actor_process_profile_definition g_profile_NPC_YAMIT;
extern actor_process_profile_definition g_profile_NPC_YELIA;
extern actor_process_profile_definition g_profile_NPC_YKM;
extern actor_process_profile_definition g_profile_NPC_YKW;
extern actor_process_profile_definition g_profile_NPC_ZANB;
extern actor_process_profile_definition g_profile_NPC_ZANT;
extern actor_process_profile_definition g_profile_NPC_ZELR;
extern actor_process_profile_definition g_profile_NPC_ZELRO;
extern actor_process_profile_definition g_profile_NPC_ZELDA;
extern actor_process_profile_definition g_profile_NPC_ZRA;
extern actor_process_profile_definition g_profile_NPC_ZRC;
extern actor_process_profile_definition g_profile_NPC_ZRZ;
extern actor_process_profile_definition g_profile_Obj_Lv5Key;
extern actor_process_profile_definition g_profile_Obj_Turara;
extern actor_process_profile_definition g_profile_Obj_TvCdlst;
extern actor_process_profile_definition g_profile_Obj_Ytaihou;
extern actor_process_profile_definition g_profile_Obj_AmiShutter;
extern actor_process_profile_definition g_profile_Obj_Ari;
extern actor_process_profile_definition g_profile_OBJ_AUTOMATA;
extern actor_process_profile_definition g_profile_Obj_Avalanche;
extern actor_process_profile_definition g_profile_OBJ_BALLOON;
extern actor_process_profile_definition g_profile_Obj_BarDesk;
extern actor_process_profile_definition g_profile_Obj_Batta;
extern actor_process_profile_definition g_profile_Obj_BBox;
extern actor_process_profile_definition g_profile_OBJ_BED;
extern actor_process_profile_definition g_profile_Obj_Bemos;
extern actor_process_profile_definition g_profile_Obj_Bhbridge;
extern actor_process_profile_definition g_profile_Obj_BkLeaf;
extern actor_process_profile_definition g_profile_BkyRock;
extern actor_process_profile_definition g_profile_Obj_BmWindow;
extern actor_process_profile_definition g_profile_Obj_BoomShutter;
extern actor_process_profile_definition g_profile_Obj_Bombf;
extern actor_process_profile_definition g_profile_OBJ_BOUMATO;
extern actor_process_profile_definition g_profile_OBJ_BRG;
extern actor_process_profile_definition g_profile_Obj_BsGate;
extern actor_process_profile_definition g_profile_Obj_awaPlar;
extern actor_process_profile_definition g_profile_Obj_CatDoor;
extern actor_process_profile_definition g_profile_OBJ_CB;
extern actor_process_profile_definition g_profile_Obj_ChainBlock;
extern actor_process_profile_definition g_profile_Obj_Cdoor;
extern actor_process_profile_definition g_profile_Obj_Chandelier;
extern actor_process_profile_definition g_profile_Obj_Chest;
extern actor_process_profile_definition g_profile_Obj_Cho;
extern actor_process_profile_definition g_profile_Obj_Cowdoor;
extern actor_process_profile_definition g_profile_Obj_Crope;
extern actor_process_profile_definition g_profile_Obj_CRVFENCE;
extern actor_process_profile_definition g_profile_Obj_CRVGATE;
extern actor_process_profile_definition g_profile_Obj_CRVHAHEN;
extern actor_process_profile_definition g_profile_Obj_CRVLH_DW;
extern actor_process_profile_definition g_profile_Obj_CRVLH_UP;
extern actor_process_profile_definition g_profile_Obj_CRVSTEEL;
extern actor_process_profile_definition g_profile_Obj_Crystal;
extern actor_process_profile_definition g_profile_Obj_ChainWall;
extern actor_process_profile_definition g_profile_Obj_DamCps;
extern actor_process_profile_definition g_profile_Obj_Dan;
extern actor_process_profile_definition g_profile_Obj_Digholl;
extern actor_process_profile_definition g_profile_Obj_DigSnow;
extern actor_process_profile_definition g_profile_Obj_Elevator;
extern actor_process_profile_definition g_profile_Obj_Drop;
extern actor_process_profile_definition g_profile_Obj_DUST;
extern actor_process_profile_definition g_profile_Obj_E_CREATE;
extern actor_process_profile_definition g_profile_Obj_FallObj;
extern actor_process_profile_definition g_profile_Obj_Fan;
extern actor_process_profile_definition g_profile_Obj_Fchain;
extern actor_process_profile_definition g_profile_Obj_FireWood;
extern actor_process_profile_definition g_profile_Obj_FireWood2;
extern actor_process_profile_definition g_profile_Obj_FirePillar;
extern actor_process_profile_definition g_profile_Obj_FirePillar2;
extern actor_process_profile_definition g_profile_Obj_Flag;
extern actor_process_profile_definition g_profile_Obj_Flag2;
extern actor_process_profile_definition g_profile_Obj_Flag3;
extern actor_process_profile_definition g_profile_OBJ_FOOD;
extern actor_process_profile_definition g_profile_OBJ_FW;
extern actor_process_profile_definition g_profile_OBJ_GADGET;
extern actor_process_profile_definition g_profile_Obj_GanonWall;
extern actor_process_profile_definition g_profile_Obj_GanonWall2;
extern actor_process_profile_definition g_profile_OBJ_GB;
extern actor_process_profile_definition g_profile_Obj_Geyser;
extern actor_process_profile_definition g_profile_Obj_glowSphere;
extern actor_process_profile_definition g_profile_OBJ_GM;
extern actor_process_profile_definition g_profile_Obj_GoGate;
extern actor_process_profile_definition g_profile_Obj_GOMIKABE;
extern actor_process_profile_definition g_profile_OBJ_GRA;
extern actor_process_profile_definition g_profile_GRA_WALL;
extern actor_process_profile_definition g_profile_Obj_GraRock;
extern actor_process_profile_definition g_profile_Obj_GraveStone;
extern actor_process_profile_definition g_profile_GRDWATER;
extern actor_process_profile_definition g_profile_Obj_GrzRock;
extern actor_process_profile_definition g_profile_Obj_H_Saku;
extern actor_process_profile_definition g_profile_Obj_HBarrel;
extern actor_process_profile_definition g_profile_Obj_HFtr;
extern actor_process_profile_definition g_profile_Obj_MHasu;
extern actor_process_profile_definition g_profile_Obj_Hata;
extern actor_process_profile_definition g_profile_OBJ_HB;
extern actor_process_profile_definition g_profile_Obj_HBombkoya;
extern actor_process_profile_definition g_profile_Obj_HeavySw;
extern actor_process_profile_definition g_profile_Obj_Hfuta;
extern actor_process_profile_definition g_profile_Obj_HsTarget;
extern actor_process_profile_definition g_profile_Obj_Ice_l;
extern actor_process_profile_definition g_profile_Obj_Ice_s;
extern actor_process_profile_definition g_profile_Obj_IceBlock;
extern actor_process_profile_definition g_profile_Obj_IceLeaf;
extern actor_process_profile_definition g_profile_OBJ_IHASI;
extern actor_process_profile_definition g_profile_Obj_Ikada;
extern actor_process_profile_definition g_profile_Obj_InoBone;
extern actor_process_profile_definition g_profile_Obj_ITA;
extern actor_process_profile_definition g_profile_OBJ_ITAMATO;
extern actor_process_profile_definition g_profile_Obj_Kabuto;
extern actor_process_profile_definition g_profile_Obj_Kag;
extern actor_process_profile_definition g_profile_OBJ_KAGE;
extern actor_process_profile_definition g_profile_OBJ_KAGO;
extern actor_process_profile_definition g_profile_Obj_Kaisou;
extern actor_process_profile_definition g_profile_Obj_Kam;
extern actor_process_profile_definition g_profile_Obj_Kantera;
extern actor_process_profile_definition g_profile_Obj_Kat;
extern actor_process_profile_definition g_profile_Obj_KazeNeko;
extern actor_process_profile_definition g_profile_OBJ_KBOX;
extern actor_process_profile_definition g_profile_OBJ_KEY;
extern actor_process_profile_definition g_profile_OBJ_KEYHOLE;
extern actor_process_profile_definition g_profile_OBJ_KI;
extern actor_process_profile_definition g_profile_Obj_KiPot;
extern actor_process_profile_definition g_profile_OBJ_KITA;
extern actor_process_profile_definition g_profile_Obj_KJgjs;
extern actor_process_profile_definition g_profile_Obj_KKanban;
extern actor_process_profile_definition g_profile_KN_BULLET;
extern actor_process_profile_definition g_profile_Obj_Kshutter;
extern actor_process_profile_definition g_profile_Obj_Kuw;
extern actor_process_profile_definition g_profile_Obj_KWheel00;
extern actor_process_profile_definition g_profile_Obj_KWheel01;
extern actor_process_profile_definition g_profile_Obj_KznkArm;
extern actor_process_profile_definition g_profile_Obj_Laundry;
extern actor_process_profile_definition g_profile_Obj_LndRope;
extern actor_process_profile_definition g_profile_OBJ_LBOX;
extern actor_process_profile_definition g_profile_OBJ_LP;
extern actor_process_profile_definition g_profile_Obj_Lv1Cdl00;
extern actor_process_profile_definition g_profile_Obj_Lv1Cdl01;
extern actor_process_profile_definition g_profile_Obj_Lv3Candle;
extern actor_process_profile_definition g_profile_Obj_Lv3Water;
extern actor_process_profile_definition g_profile_Obj_Lv3Water2;
extern actor_process_profile_definition g_profile_OBJ_LV3WATERB;
extern actor_process_profile_definition g_profile_Obj_Lv3R10Saka;
extern actor_process_profile_definition g_profile_Obj_WaterEff;
extern actor_process_profile_definition g_profile_Tag_Lv4CandleDm;
extern actor_process_profile_definition g_profile_Tag_Lv4Candle;
extern actor_process_profile_definition g_profile_Obj_Lv4EdShutter;
extern actor_process_profile_definition g_profile_Obj_Lv4Gate;
extern actor_process_profile_definition g_profile_Obj_Lv4HsTarget;
extern actor_process_profile_definition g_profile_Obj_Lv4PoGate;
extern actor_process_profile_definition g_profile_Obj_Lv4RailWall;
extern actor_process_profile_definition g_profile_Obj_Lv4SlideWall;
extern actor_process_profile_definition g_profile_Obj_Lv4Bridge;
extern actor_process_profile_definition g_profile_Obj_Lv4Chan;
extern actor_process_profile_definition g_profile_Obj_Lv4DigSand;
extern actor_process_profile_definition g_profile_Obj_Lv4Floor;
extern actor_process_profile_definition g_profile_Obj_Lv4Gear;
extern actor_process_profile_definition g_profile_Obj_PRElvtr;
extern actor_process_profile_definition g_profile_Obj_Lv4PRwall;
extern actor_process_profile_definition g_profile_Obj_Lv4Sand;
extern actor_process_profile_definition g_profile_Obj_Lv5FBoard;
extern actor_process_profile_definition g_profile_Obj_IceWall;
extern actor_process_profile_definition g_profile_Obj_Lv5SwIce;
extern actor_process_profile_definition g_profile_Obj_Ychndlr;
extern actor_process_profile_definition g_profile_Obj_YIblltray;
extern actor_process_profile_definition g_profile_Obj_Lv6ChgGate;
extern actor_process_profile_definition g_profile_Obj_Lv6FuriTrap;
extern actor_process_profile_definition g_profile_Obj_Lv6Lblock;
extern actor_process_profile_definition g_profile_Obj_Lv6SwGate;
extern actor_process_profile_definition g_profile_Obj_Lv6SzGate;
extern actor_process_profile_definition g_profile_Obj_Lv6Tenbin;
extern actor_process_profile_definition g_profile_Obj_Lv6TogeRoll;
extern actor_process_profile_definition g_profile_Obj_Lv6TogeTrap;
extern actor_process_profile_definition g_profile_Obj_Lv6bemos;
extern actor_process_profile_definition g_profile_Obj_Lv6bemos2;
extern actor_process_profile_definition g_profile_Obj_Lv6EGate;
extern actor_process_profile_definition g_profile_Obj_Lv6ElevtA;
extern actor_process_profile_definition g_profile_Obj_Lv6SwTurn;
extern actor_process_profile_definition g_profile_Obj_Lv7BsGate;
extern actor_process_profile_definition g_profile_Obj_Lv7PropY;
extern actor_process_profile_definition g_profile_Obj_Lv7Bridge;
extern actor_process_profile_definition g_profile_Obj_Lv8KekkaiTrap;
extern actor_process_profile_definition g_profile_Obj_Lv8Lift;
extern actor_process_profile_definition g_profile_Obj_Lv8OptiLift;
extern actor_process_profile_definition g_profile_Obj_Lv8UdFloor;
extern actor_process_profile_definition g_profile_Obj_Lv9SwShutter;
extern actor_process_profile_definition g_profile_Obj_MagLift;
extern actor_process_profile_definition g_profile_Obj_MagLiftRot;
extern actor_process_profile_definition g_profile_OBJ_MAKI;
extern actor_process_profile_definition g_profile_Obj_MasterSword;
extern actor_process_profile_definition g_profile_Obj_Mato;
extern actor_process_profile_definition g_profile_Obj_MHole;
extern actor_process_profile_definition g_profile_OBJ_MIE;
extern actor_process_profile_definition g_profile_Obj_Mirror6Pole;
extern actor_process_profile_definition g_profile_Obj_MirrorChain;
extern actor_process_profile_definition g_profile_Obj_MirrorSand;
extern actor_process_profile_definition g_profile_Obj_MirrorScrew;
extern actor_process_profile_definition g_profile_Obj_MirrorTable;
extern actor_process_profile_definition g_profile_OBJ_MSIMA;
extern actor_process_profile_definition g_profile_Obj_MvStair;
extern actor_process_profile_definition g_profile_OBJ_MYOGAN;
extern actor_process_profile_definition g_profile_Obj_Nagaisu;
extern actor_process_profile_definition g_profile_Obj_Nan;
extern actor_process_profile_definition g_profile_OBJ_NDOOR;
extern actor_process_profile_definition g_profile_OBJ_NOUGU;
extern actor_process_profile_definition g_profile_OCTHASHI;
extern actor_process_profile_definition g_profile_OBJ_OILTUBO;
extern actor_process_profile_definition g_profile_Obj_Onsen;
extern actor_process_profile_definition g_profile_OBJ_ONSEN_FIRE;
extern actor_process_profile_definition g_profile_Obj_OnsenTaru;
extern actor_process_profile_definition g_profile_Obj_PushDoor;
extern actor_process_profile_definition g_profile_Obj_PDtile;
extern actor_process_profile_definition g_profile_Obj_PDwall;
extern actor_process_profile_definition g_profile_Obj_Picture;
extern actor_process_profile_definition g_profile_Obj_Pillar;
extern actor_process_profile_definition g_profile_OBJ_PLEAF;
extern actor_process_profile_definition g_profile_Obj_poCandle;
extern actor_process_profile_definition g_profile_Obj_poFire;
extern actor_process_profile_definition g_profile_Obj_poTbox;
extern actor_process_profile_definition g_profile_Obj_Prop;
extern actor_process_profile_definition g_profile_OBJ_PUMPKIN;
extern actor_process_profile_definition g_profile_Obj_RCircle;
extern actor_process_profile_definition g_profile_Obj_RfHole;
extern actor_process_profile_definition g_profile_Obj_RiderGate;
extern actor_process_profile_definition g_profile_Obj_RIVERROCK;
extern actor_process_profile_definition g_profile_OBJ_ROCK;
extern actor_process_profile_definition g_profile_Obj_RotBridge;
extern actor_process_profile_definition g_profile_Obj_RotTrap;
extern actor_process_profile_definition g_profile_OBJ_ROTEN;
extern actor_process_profile_definition g_profile_Obj_RotStair;
extern actor_process_profile_definition g_profile_OBJ_RW;
extern actor_process_profile_definition g_profile_Obj_Saidan;
extern actor_process_profile_definition g_profile_Obj_Sakuita;
extern actor_process_profile_definition g_profile_Obj_ItaRope;
extern actor_process_profile_definition g_profile_Obj_SCannon;
extern actor_process_profile_definition g_profile_Obj_SCannonCrs;
extern actor_process_profile_definition g_profile_Obj_SCannonTen;
extern actor_process_profile_definition g_profile_OBJ_SEKIDOOR;
extern actor_process_profile_definition g_profile_OBJ_SEKIZO;
extern actor_process_profile_definition g_profile_OBJ_SEKIZOA;
extern actor_process_profile_definition g_profile_Obj_Shield;
extern actor_process_profile_definition g_profile_Obj_SM_DOOR;
extern actor_process_profile_definition g_profile_Obj_SmallKey;
extern actor_process_profile_definition g_profile_Obj_SmgDoor;
extern actor_process_profile_definition g_profile_Obj_Smoke;
extern actor_process_profile_definition g_profile_OBJ_SMTILE;
extern actor_process_profile_definition g_profile_Obj_SmWStone;
extern actor_process_profile_definition g_profile_Tag_SnowEff;
extern actor_process_profile_definition g_profile_Obj_SnowSoup;
extern actor_process_profile_definition g_profile_OBJ_SO;
extern actor_process_profile_definition g_profile_Obj_SpinLift;
extern actor_process_profile_definition g_profile_OBJ_SSDRINK;
extern actor_process_profile_definition g_profile_OBJ_SSITEM;
extern actor_process_profile_definition g_profile_Obj_StairBlock;
extern actor_process_profile_definition g_profile_Obj_Stone;
extern actor_process_profile_definition g_profile_Obj_Stopper;
extern actor_process_profile_definition g_profile_Obj_Stopper2;
extern actor_process_profile_definition g_profile_OBJ_SUISYA;
extern actor_process_profile_definition g_profile_OBJ_SW;
extern actor_process_profile_definition g_profile_Obj_SwBallA;
extern actor_process_profile_definition g_profile_Obj_SwBallB;
extern actor_process_profile_definition g_profile_Obj_SwBallC;
extern actor_process_profile_definition g_profile_Obj_SwLight;
extern actor_process_profile_definition g_profile_Obj_SwChain;
extern actor_process_profile_definition g_profile_Obj_SwHang;
extern actor_process_profile_definition g_profile_Obj_Sword;
extern actor_process_profile_definition g_profile_Obj_Swpush2;
extern actor_process_profile_definition g_profile_Obj_SwSpinner;
extern actor_process_profile_definition g_profile_Obj_SwTurn;
extern actor_process_profile_definition g_profile_Obj_SyRock;
extern actor_process_profile_definition g_profile_Obj_SZbridge;
extern actor_process_profile_definition g_profile_Obj_TaFence;
extern actor_process_profile_definition g_profile_Obj_Table;
extern actor_process_profile_definition g_profile_Obj_TakaraDai;
extern actor_process_profile_definition g_profile_OBJ_TATIGI;
extern actor_process_profile_definition g_profile_Obj_Ten;
extern actor_process_profile_definition g_profile_Obj_TestCube;
extern actor_process_profile_definition g_profile_Obj_Gake;
extern actor_process_profile_definition g_profile_Obj_THASHI;
extern actor_process_profile_definition g_profile_Obj_TDoor;
extern actor_process_profile_definition g_profile_Obj_TimeFire;
extern actor_process_profile_definition g_profile_OBJ_TKS;
extern actor_process_profile_definition g_profile_Obj_TMoon;
extern actor_process_profile_definition g_profile_Obj_ToaruMaki;
extern actor_process_profile_definition g_profile_OBJ_TOBY;
extern actor_process_profile_definition g_profile_Obj_TobyHouse;
extern actor_process_profile_definition g_profile_Obj_TogeTrap;
extern actor_process_profile_definition g_profile_Obj_Tombo;
extern actor_process_profile_definition g_profile_Obj_Tornado;
extern actor_process_profile_definition g_profile_Obj_Tornado2;
extern actor_process_profile_definition g_profile_OBJ_TP;
extern actor_process_profile_definition g_profile_TREESH;
extern actor_process_profile_definition g_profile_Obj_TwGate;
extern actor_process_profile_definition g_profile_OBJ_UDOOR;
extern actor_process_profile_definition g_profile_OBJ_USAKU;
extern actor_process_profile_definition g_profile_Obj_VolcGnd;
extern actor_process_profile_definition g_profile_Obj_VolcanicBall;
extern actor_process_profile_definition g_profile_Obj_VolcanicBomb;
extern actor_process_profile_definition g_profile_Obj_KakarikoBrg;
extern actor_process_profile_definition g_profile_Obj_OrdinBrg;
extern actor_process_profile_definition g_profile_Obj_WtGate;
extern actor_process_profile_definition g_profile_Obj_WaterPillar;
extern actor_process_profile_definition g_profile_Obj_WaterFall;
extern actor_process_profile_definition g_profile_Obj_Wchain;
extern actor_process_profile_definition g_profile_Obj_WdStick;
extern actor_process_profile_definition g_profile_OBJ_WEB0;
extern actor_process_profile_definition g_profile_OBJ_WEB1;
extern actor_process_profile_definition g_profile_Obj_WellCover;
extern actor_process_profile_definition g_profile_OBJ_WFLAG;
extern actor_process_profile_definition g_profile_Obj_WindStone;
extern actor_process_profile_definition g_profile_Obj_Window;
extern actor_process_profile_definition g_profile_Obj_WoodPendulum;
extern actor_process_profile_definition g_profile_Obj_WoodStatue;
extern actor_process_profile_definition g_profile_Obj_WoodenSword;
extern actor_process_profile_definition g_profile_OBJ_YBAG;
extern actor_process_profile_definition g_profile_OBJ_YSTONE;
extern actor_process_profile_definition g_profile_Obj_ZoraCloth;
extern actor_process_profile_definition g_profile_Obj_ZDoor;
extern actor_process_profile_definition g_profile_Obj_zrTurara;
extern actor_process_profile_definition g_profile_Obj_zrTuraraRc;
extern actor_process_profile_definition g_profile_ZRA_MARK;
extern actor_process_profile_definition g_profile_OBJ_ZRAFREEZE;
extern actor_process_profile_definition g_profile_Obj_ZraRock;
extern actor_process_profile_definition g_profile_PASSER_MNG;
extern actor_process_profile_definition g_profile_PERU;
extern actor_process_profile_definition g_profile_PPolamp;
extern actor_process_profile_definition g_profile_SKIP2D;
extern actor_process_profile_definition g_profile_START_AND_GOAL;
extern actor_process_profile_definition g_profile_SwBall;
extern actor_process_profile_definition g_profile_SwLBall;
extern actor_process_profile_definition g_profile_SwTime;
extern actor_process_profile_definition g_profile_Tag_Lv6Gate;
extern actor_process_profile_definition g_profile_Tag_Lv7Gate;
extern actor_process_profile_definition g_profile_Tag_Lv8Gate;
extern actor_process_profile_definition g_profile_Tag_TWGate;
extern actor_process_profile_definition g_profile_Tag_Arena;
extern actor_process_profile_definition g_profile_Tag_Assist;
extern actor_process_profile_definition g_profile_TAG_BTLITM;
extern actor_process_profile_definition g_profile_Tag_ChgRestart;
extern actor_process_profile_definition g_profile_TAG_CSW;
extern actor_process_profile_definition g_profile_Tag_Escape;
extern actor_process_profile_definition g_profile_Tag_FWall;
extern actor_process_profile_definition g_profile_TAG_GRA;
extern actor_process_profile_definition g_profile_TAG_GUARD;
extern actor_process_profile_definition g_profile_Tag_Instruction;
extern actor_process_profile_definition g_profile_Tag_KagoFall;
extern actor_process_profile_definition g_profile_Tag_LightBall;
extern actor_process_profile_definition g_profile_TAG_LV5SOUP;
extern actor_process_profile_definition g_profile_Tag_Lv6CstaSw;
extern actor_process_profile_definition g_profile_Tag_Mmsg;
extern actor_process_profile_definition g_profile_Tag_Mwait;
extern actor_process_profile_definition g_profile_TAG_MYNA2;
extern actor_process_profile_definition g_profile_TAG_MNLIGHT;
extern actor_process_profile_definition g_profile_TAG_PATI;
extern actor_process_profile_definition g_profile_Tag_poFire;
extern actor_process_profile_definition g_profile_TAG_QS;
extern actor_process_profile_definition g_profile_Tag_RetRoom;
extern actor_process_profile_definition g_profile_Tag_RiverBack;
extern actor_process_profile_definition g_profile_Tag_RmbitSw;
extern actor_process_profile_definition g_profile_Tag_Schedule;
extern actor_process_profile_definition g_profile_Tag_SetBall;
extern actor_process_profile_definition g_profile_Tag_Restart;
extern actor_process_profile_definition g_profile_TAG_SHOPCAM;
extern actor_process_profile_definition g_profile_TAG_SHOPITM;
extern actor_process_profile_definition g_profile_Tag_SmkEmt;
extern actor_process_profile_definition g_profile_Tag_Spinner;
extern actor_process_profile_definition g_profile_Tag_Sppath;
extern actor_process_profile_definition g_profile_TAG_SSDRINK;
extern actor_process_profile_definition g_profile_Tag_Stream;
extern actor_process_profile_definition g_profile_Tag_TheBHint;
extern actor_process_profile_definition g_profile_Tag_WaraHowl;
extern actor_process_profile_definition g_profile_Tag_WatchGe;
extern actor_process_profile_definition g_profile_Tag_WaterFall;
extern actor_process_profile_definition g_profile_Tag_Wljump;
extern actor_process_profile_definition g_profile_TAG_YAMI;
extern actor_process_profile_definition g_profile_TALK;
extern actor_process_profile_definition g_profile_TBOX_SW;
extern actor_process_profile_definition g_profile_TITLE;
extern actor_process_profile_definition g_profile_WarpBug;
#endif
extern process_profile_definition* g_fpcPfLst_ProfileList[];
+37
View File
@@ -83,6 +83,24 @@ extern int __abs(int);
void* __memcpy(void*, const void*, int);
#endif
#ifdef _MSVC_LANG
inline int __builtin_clz(unsigned int v) {
int count = 32;
while (v != 0) {
count--;
v >>= 1;
}
return count;
}
#define COMPOUND_LITERAL(x)
#define M_PI 3.14159265358979323846f
#else
#define COMPOUND_LITERAL(x) (x)
#endif
#define FAST_DIV(x, n) (x >> (n / 2))
#define SQUARE(x) ((x) * (x))
@@ -145,4 +163,23 @@ static const float INF = 2000000000.0f;
#define UNSET_FLAG(var, flag, type) (var) &= ~(flag)
#endif
#ifdef _MSVC_LANG
template <int N>
inline constexpr auto MultiCharLiteral(const char (&buf)[N]) {
// static_assert(buf[0] == '\'' && buf[N - 2] == '\''); // can't constexpr strings, just pray
constexpr int len = N - 1;
static_assert(len >= 2 && len <= 10);
unsigned long long out = 0;
for (int i = 1; i < len - 1; i++) {
out = (out << 8) | ((unsigned long long)buf[i]);
}
return out;
}
#define MULTI_CHAR(x) MultiCharLiteral(#x)
#else
#define MULTI_CHAR(x) MultiCharLiteral(#x)
#endif
#endif
+2 -2
View File
@@ -221,7 +221,7 @@ private:
/* 0x14 */ J3DAnmCluster* mpAnm;
};
class J3DTransformInfo;
struct J3DTransformInfo;
class mDoExt_AnmRatioPack {
public:
@@ -832,7 +832,7 @@ intptr_t mDoExt_getSafeZeldaHeapSize();
JKRHeap* mDoExt_createHostIOHeap(u32, JKRHeap*);
#endif
struct JUTFont;
class JUTFont;
JUTFont* mDoExt_getMesgFont();
JUTFont* mDoExt_getSubFont();
JUTFont* mDoExt_getRubyFont();
+4 -1
View File
@@ -93,7 +93,10 @@ public:
}
static int startFadeOut(int param_0) { return JFWDisplay::getManager()->startFadeOut(param_0); }
static int startFadeIn(int param_0) { return JFWDisplay::getManager()->startFadeIn(param_0); }
static int startFadeIn(int param_0) {
printf("[DIAG] mDoGph_gInf_c::startFadeIn START\n");
fflush(stdout);
return JFWDisplay::getManager()->startFadeIn(param_0); }
static void setFadeColor(JUtility::TColor& color) { mFader->setColor(color); }
static void setClearColor(JUtility::TColor color) { JFWDisplay::getManager()->setClearColor(color); }
static void setBackColor(GXColor& color) { mBackColor = color; }
+2 -2
View File
@@ -11,8 +11,8 @@ struct ResTIMG;
struct mDoLib_clipper {
static void setup(f32, f32, f32, f32);
static void changeFar(f32 far) {
mClipper.setFar(far);
static void changeFar(f32 far_) {
mClipper.setFar(far_);
mClipper.calcViewFrustum();
}
+1
View File
@@ -4,6 +4,7 @@
#include "SSystem/SComponent/c_sxyz.h"
#include "SSystem/SComponent/c_xyz.h"
#include <dolphin/mtx.h>
#include "JSystem/JMath/JMath.h"
extern u8 g_printCurrentHeapDebug;
extern u8 g_printOtherHeapDebug;
+5
View File
@@ -5,8 +5,13 @@ typedef signed char s8;
typedef unsigned char u8;
typedef signed short int s16;
typedef unsigned short int u16;
#if TARGET_PC
typedef signed int s32;
typedef unsigned int u32;
#else
typedef signed long s32;
typedef unsigned long u32;
#endif
typedef signed long long int s64;
typedef unsigned long long int u64;

Some files were not shown because too many files have changed in this diff Show More