diff --git a/CMakeLists.txt b/CMakeLists.txt index e39e73f18a..23d663166a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,9 +25,10 @@ elseif (MSVC) add_compile_options(/bigobj) add_compile_options(/Zc:strictStrings-) endif () -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error -Wno-c++11-narrowing") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error -Wno-c++11-narrowing") - +if (NOT MSVC) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error -Wno-c++11-narrowing") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error -Wno-c++11-narrowing") +endif () add_subdirectory(extern/aurora EXCLUDE_FROM_ALL) set(DOLZEL_FILES @@ -1353,6 +1354,7 @@ set(DUSK_FILES src/dusk/mtx.cpp src/dusk/J3DTransforms_C.cpp src/dusk/m_Do_ext_dusk.cpp + src/dusk/jsystem_stubs.cpp ) source_group("dolzel" FILES ${DOLZEL_FILES} ${Z2AUDIOLIB_FILES} ${SSYSTEM_FILES} ${JSYSTEM_FILES} ${REL_FILES}) diff --git a/include/JSystem/J2DGraph/J2DAnimation.h b/include/JSystem/J2DGraph/J2DAnimation.h index 035be59253..c1408a898d 100644 --- a/include/JSystem/J2DGraph/J2DAnimation.h +++ b/include/JSystem/J2DGraph/J2DAnimation.h @@ -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 } diff --git a/include/JSystem/J3DGraphAnimator/J3DShapeTable.h b/include/JSystem/J3DGraphAnimator/J3DShapeTable.h index 9caba23ce9..54661058b4 100644 --- a/include/JSystem/J3DGraphAnimator/J3DShapeTable.h +++ b/include/JSystem/J3DGraphAnimator/J3DShapeTable.h @@ -1,7 +1,7 @@ #ifndef J3DSHAPETABLE_H #define J3DSHAPETABLE_H -#include "JSystem/JUtility/JUTAssert.h" +#include "JSystem/J3DAssert.h" class J3DVertexData; struct J3DDrawMtxData; diff --git a/include/JSystem/J3DGraphBase/J3DDrawBuffer.h b/include/JSystem/J3DGraphBase/J3DDrawBuffer.h index 4208d5d598..68be132081 100644 --- a/include/JSystem/J3DGraphBase/J3DDrawBuffer.h +++ b/include/JSystem/J3DGraphBase/J3DDrawBuffer.h @@ -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 } diff --git a/include/JSystem/J3DU/J3DUD.h b/include/JSystem/J3DU/J3DUD.h index ec9357c96b..1386f1c6c8 100644 --- a/include/JSystem/J3DU/J3DUD.h +++ b/include/JSystem/J3DU/J3DUD.h @@ -1,14 +1,19 @@ #ifndef J3DUD_H #define J3DUD_H -#include +#include "dolphin/types.h" +#ifndef __MWERKS__ +#include +#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 */ diff --git a/include/JSystem/JAudio2/JAISound.h b/include/JSystem/JAudio2/JAISound.h index 3e1e36b9ad..670b6604d1 100644 --- a/include/JSystem/JAudio2/JAISound.h +++ b/include/JSystem/JAudio2/JAISound.h @@ -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; diff --git a/include/JSystem/JAudio2/JASCmdStack.h b/include/JSystem/JAudio2/JASCmdStack.h index c35a1146cb..2ad327362b 100644 --- a/include/JSystem/JAudio2/JASCmdStack.h +++ b/include/JSystem/JAudio2/JASCmdStack.h @@ -3,7 +3,7 @@ #include "JSystem/JSupport/JSUList.h" -class JASTrack; +struct JASTrack; /** * @ingroup jsystem-jaudio diff --git a/include/JSystem/JAudio2/JASHeapCtrl.h b/include/JSystem/JAudio2/JASHeapCtrl.h index 6c219ac091..3cdd338538 100644 --- a/include/JSystem/JAudio2/JASHeapCtrl.h +++ b/include/JSystem/JAudio2/JASHeapCtrl.h @@ -147,7 +147,7 @@ namespace JASKernel { JKRHeap* getSystemHeap(); }; * */ template class T> -class JASMemChunkPool : public T >::ObjectLevelLockable { +class JASMemChunkPool : public T > { struct MemoryChunk { MemoryChunk(MemoryChunk* nextChunk) { mNextChunk = nextChunk; diff --git a/include/JSystem/JAudio2/JASSeqCtrl.h b/include/JSystem/JAudio2/JASSeqCtrl.h index 974f1c7065..d481192d6f 100644 --- a/include/JSystem/JAudio2/JASSeqCtrl.h +++ b/include/JSystem/JAudio2/JASSeqCtrl.h @@ -3,7 +3,7 @@ #include "JSystem/JAudio2/JASSeqReader.h" -class JASTrack; +struct JASTrack; class JASSeqParser; /** diff --git a/include/JSystem/JAudio2/JASSeqParser.h b/include/JSystem/JAudio2/JASSeqParser.h index b9368b28ed..e8f425de84 100644 --- a/include/JSystem/JAudio2/JASSeqParser.h +++ b/include/JSystem/JAudio2/JASSeqParser.h @@ -3,7 +3,7 @@ #include -class JASTrack; +struct JASTrack; /** * @ingroup jsystem-jaudio diff --git a/include/JSystem/JGadget/search.h b/include/JSystem/JGadget/search.h index bbc5c9ce6c..be20e40158 100644 --- a/include/JSystem/JGadget/search.h +++ b/include/JSystem/JGadget/search.h @@ -9,7 +9,11 @@ namespace JGadget { namespace search { template -struct TExpandStride_ {}; +struct TExpandStride_ { +#ifdef _MSC_VER + static T get(T n) { return n << 3; } +#endif +}; template <> struct TExpandStride_ { diff --git a/include/JSystem/JGeometry.h b/include/JSystem/JGeometry.h index ef8f69f3e1..773195392e 100644 --- a/include/JSystem/JGeometry.h +++ b/include/JSystem/JGeometry.h @@ -6,13 +6,9 @@ #include "JSystem/JMath/JMath.h" #ifndef __MWERKS__ -#ifdef _MSVC_LANG -#include -#else -#include +#include #define FLT_EPSILON std::numeric_limits::epsilon() #endif -#endif namespace JGeometry { @@ -50,6 +46,10 @@ struct TUtil { 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 } @@ -62,6 +62,10 @@ struct TUtil { 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 } }; diff --git a/include/JSystem/JMath/JMath.h b/include/JSystem/JMath/JMath.h index ab0faee049..e121253c65 100644 --- a/include/JSystem/JMath/JMath.h +++ b/include/JSystem/JMath/JMath.h @@ -1,7 +1,7 @@ #ifndef JMATH_H #define JMATH_H -#include +#include "dolphin/mtx.h" #include void JMAMTXApplyScale(const Mtx, Mtx, f32, f32, f32); @@ -14,18 +14,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 +46,8 @@ inline float __frsqrtes(__REGISTER double f) { // clang-format on return out; +#else + return 1.0f / sqrtf(f); #endif } @@ -54,6 +62,8 @@ inline f32 JMAFastSqrt(__REGISTER const f32 input) { } else { return input; } +#else + return sqrt(input); #endif } @@ -87,6 +97,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 +134,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 +156,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 +190,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 +227,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 +257,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 +280,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 +322,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 +template inline T JMAMax(T param_0, T param_1) { T ret; if (param_0 > param_1) { diff --git a/include/JSystem/JStudio/JStudio/functionvalue.h b/include/JSystem/JStudio/JStudio/functionvalue.h index 3684a66da2..e1d4cbcc1c 100644 --- a/include/JSystem/JStudio/JStudio/functionvalue.h +++ b/include/JSystem/JStudio/JStudio/functionvalue.h @@ -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 diff --git a/include/d/actor/d_a_b_ds.h b/include/d/actor/d_a_b_ds.h index d7dd03a90b..ee737a955a 100644 --- a/include/d/actor/d_a_b_ds.h +++ b/include/d/actor/d_a_b_ds.h @@ -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); diff --git a/include/dolphin/os.h b/include/dolphin/os.h index 07eb305adb..5377eac2ad 100644 --- a/include/dolphin/os.h +++ b/include/dolphin/os.h @@ -45,7 +45,9 @@ typedef u32 OSTick; #include #include #include +#ifdef __MWERKS__ #include +#endif #include #include #include @@ -54,6 +56,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 +94,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 +224,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 +246,29 @@ extern u8 __OSReport_enable; #define OSRoundUp32B(x) (((u32)(x) + 32 - 1) & ~(32 - 1)) #define OSRoundDown32B(x) (((u32)(x)) & ~(32 - 1)) +#ifndef __MWERKS__ + +static inline void* OSPhysicalToCached(u32 paddr) { + return reinterpret_cast(static_cast(paddr)); +} +static inline void* OSPhysicalToUncached(u32 paddr) { + return reinterpret_cast(static_cast(paddr)); +} +static inline u32 OSCachedToPhysical(void* caddr) { + return static_cast(reinterpret_cast(caddr)); +} +static inline u32 OSUncachedToPhysical(void* ucaddr) { + return static_cast(reinterpret_cast(ucaddr)); +} +static inline void* OSCachedToUncached(void* caddr) { + return caddr; +} +static inline void* OSUncachedToCached(void* ucaddr) { + return ucaddr; +} + +#else + void* OSPhysicalToCached(u32 paddr); void* OSPhysicalToUncached(u32 paddr); u32 OSCachedToPhysical(void* caddr); @@ -240,7 +276,9 @@ u32 OSUncachedToPhysical(void* ucaddr); void* OSCachedToUncached(void* caddr); void* OSUncachedToCached(void* ucaddr); -#if !DEBUG +#endif + +#if !DEBUG && defined(__MWERKS__) #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 +295,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 +317,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 +330,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 +397,5 @@ static inline void OSInitFastCast(void) { } #endif -#endif -#endif +#endif // __REVOLUTION_SDK__ +#endif // _DOLPHIN_OS_H_ diff --git a/include/dusk/extras.h b/include/dusk/extras.h index 242cd0478c..562ca051c1 100644 --- a/include/dusk/extras.h +++ b/include/dusk/extras.h @@ -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 } diff --git a/include/f_op/f_op_scene.h b/include/f_op/f_op_scene.h index a42eee7211..0e736093f1 100644 --- a/include/f_op/f_op_scene.h +++ b/include/f_op/f_op_scene.h @@ -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; diff --git a/include/f_pc/f_pc_profile_lst.h b/include/f_pc/f_pc_profile_lst.h index f768d3e118..a7f100b654 100644 --- a/include/f_pc/f_pc_profile_lst.h +++ b/include/f_pc/f_pc_profile_lst.h @@ -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[]; diff --git a/src/JSystem/J2DGraph/J2DMaterialFactory.cpp b/src/JSystem/J2DGraph/J2DMaterialFactory.cpp index 8cabf74f43..e7a3639844 100644 --- a/src/JSystem/J2DGraph/J2DMaterialFactory.cpp +++ b/src/JSystem/J2DGraph/J2DMaterialFactory.cpp @@ -178,7 +178,11 @@ J2DMaterial* J2DMaterialFactory::create(J2DMaterial* param_0, int index, u32 par } JUtility::TColor J2DMaterialFactory::newMatColor(int param_0, int param_1) const { +#ifdef __MWERKS__ JUtility::TColor local_20 = (GXColor){0xff,0xff,0xff,0xff}; +#else + JUtility::TColor local_20 = GXColor{0xff,0xff,0xff,0xff}; +#endif J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; if (iVar2->field_0x8[param_1] != 0xffff) { return field_0x10[iVar2->field_0x8[param_1]]; diff --git a/src/JSystem/J3DGraphAnimator/J3DAnimation.cpp b/src/JSystem/J3DGraphAnimator/J3DAnimation.cpp index 6b9a2d2250..94653f1bda 100644 --- a/src/JSystem/J3DGraphAnimator/J3DAnimation.cpp +++ b/src/JSystem/J3DGraphAnimator/J3DAnimation.cpp @@ -552,6 +552,32 @@ inline f32 J3DHermiteInterpolation(__REGISTER f32 pp1, __REGISTER s16 const* pp2 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 } diff --git a/src/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp b/src/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp index a1e9ba0243..8b881d27d0 100644 --- a/src/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp +++ b/src/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp @@ -15,11 +15,11 @@ Mtx* J3DMtxBuffer::sNoUseDrawMtxPtr = &J3DMtxBuffer::sNoUseDrawMtx; Mtx33* J3DMtxBuffer::sNoUseNrmMtxPtr = &J3DMtxBuffer::sNoUseNrmMtx; // force .sdata2 order -f32 dummy1() { +static f32 dummy1() { return 1.0f; } -f32 dummy0() { +static f32 dummy0() { return 0.0f; } diff --git a/src/JSystem/J3DGraphLoader/J3DMaterialFactory.cpp b/src/JSystem/J3DGraphLoader/J3DMaterialFactory.cpp index d9d098c66d..93970e3c4f 100644 --- a/src/JSystem/J3DGraphLoader/J3DMaterialFactory.cpp +++ b/src/JSystem/J3DGraphLoader/J3DMaterialFactory.cpp @@ -464,7 +464,11 @@ u32 J3DMaterialFactory::calcSizeLockedMaterial(J3DMaterial* i_material, int i_id } J3DGXColor J3DMaterialFactory::newMatColor(int i_idx, int i_no) const { + #ifdef __MWERKS__ J3DGXColor dflt = (GXColor){0xff, 0xff, 0xff, 0xff}; + #else + J3DGXColor dflt = GXColor{0xff, 0xff, 0xff, 0xff}; + #endif J3DMaterialInitData* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]]; if (mtl_init_data->mMatColorIdx[i_no] != 0xffff) { return mpMatColor[mtl_init_data->mMatColorIdx[i_no]]; @@ -493,7 +497,11 @@ J3DColorChan J3DMaterialFactory::newColorChan(int i_idx, int i_no) const { } J3DGXColor J3DMaterialFactory::newAmbColor(int i_idx, int i_no) const { + #ifdef __MWERKS__ J3DGXColor dflt = (GXColor){0x32, 0x32, 0x32, 0x32}; + #else + J3DGXColor dflt = GXColor{0x32, 0x32, 0x32, 0x32}; + #endif J3DMaterialInitData* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]]; if (mtl_init_data->mAmbColorIdx[i_no] != 0xffff) { return mpAmbColor[mtl_init_data->mAmbColorIdx[i_no]]; @@ -570,7 +578,11 @@ J3DGXColorS10 J3DMaterialFactory::newTevColor(int i_idx, int i_no) const { } J3DGXColor J3DMaterialFactory::newTevKColor(int i_idx, int i_no) const { + #ifdef __MWERKS__ J3DGXColor dflt = (GXColor){0xff, 0xff, 0xff, 0xff}; + #else + J3DGXColor dflt = GXColor{0xff, 0xff, 0xff, 0xff}; + #endif J3DMaterialInitData* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]]; if (mtl_init_data->mTevKColorIdx[i_no] != 0xffff) { return mpTevKColor[mtl_init_data->mTevKColorIdx[i_no]]; diff --git a/src/JSystem/J3DGraphLoader/J3DMaterialFactory_v21.cpp b/src/JSystem/J3DGraphLoader/J3DMaterialFactory_v21.cpp index 47815e881e..b00b08ff68 100644 --- a/src/JSystem/J3DGraphLoader/J3DMaterialFactory_v21.cpp +++ b/src/JSystem/J3DGraphLoader/J3DMaterialFactory_v21.cpp @@ -167,7 +167,11 @@ J3DMaterial* J3DMaterialFactory_v21::create(J3DMaterial* i_material, int i_idx, } J3DGXColor J3DMaterialFactory_v21::newMatColor(int i_idx, int i_no) const { + #ifdef __MWERKS__ J3DGXColor defaultColor = (GXColor){0xff, 0xff, 0xff, 0xff}; + #else + J3DGXColor defaultColor = GXColor{0xff, 0xff, 0xff, 0xff}; + #endif J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]]; if (mtl_init_data->mMatColorIdx[i_no] != 0xffff) { return J3DGXColor(mpMatColor[mtl_init_data->mMatColorIdx[i_no]]); @@ -262,7 +266,11 @@ J3DGXColorS10 J3DMaterialFactory_v21::newTevColor(int i_idx, int i_no) const { } J3DGXColor J3DMaterialFactory_v21::newTevKColor(int i_idx, int param_1) const { + #ifdef __MWERKS__ J3DGXColor defaultColor = (GXColor){0xff, 0xff, 0xff, 0xff}; + #else + J3DGXColor defaultColor = GXColor{0xff, 0xff, 0xff, 0xff}; + #endif J3DMaterialInitData_v21* mtl_init_data = &mpMaterialInitData[mpMaterialID[i_idx]]; if (mtl_init_data->mTevKColorIdx[param_1] != 0xffff) { return J3DGXColor(mpTevKColor[mtl_init_data->mTevKColorIdx[param_1]]); diff --git a/src/SSystem/SComponent/c_API.cpp b/src/SSystem/SComponent/c_API.cpp index 8e075e10ef..a6ecf42d75 100644 --- a/src/SSystem/SComponent/c_API.cpp +++ b/src/SSystem/SComponent/c_API.cpp @@ -7,12 +7,16 @@ extern void mDoGph_BlankingON(); extern void mDoGph_BlankingOFF(); -extern void mDoGph_BeforeOfDraw(); -extern void mDoGph_AfterOfDraw(); -extern void mDoGph_Painter(); -extern void mDoGph_Create(); +extern int mDoGph_BeforeOfDraw(); +extern int mDoGph_AfterOfDraw(); +extern int mDoGph_Painter(); +extern int mDoGph_Create(); cAPI_Interface g_cAPI_Interface = { - mDoGph_Create, mDoGph_BeforeOfDraw, mDoGph_AfterOfDraw, - mDoGph_Painter, mDoGph_BlankingON, mDoGph_BlankingOFF, + (cAPIGph_Mthd)mDoGph_Create, + (cAPIGph_Mthd)mDoGph_BeforeOfDraw, + (cAPIGph_Mthd)mDoGph_AfterOfDraw, + (cAPIGph_Mthd)mDoGph_Painter, + mDoGph_BlankingON, + mDoGph_BlankingOFF, }; diff --git a/src/d/actor/d_a_alink_effect.inc b/src/d/actor/d_a_alink_effect.inc index ef28323ac7..7af8e88645 100644 --- a/src/d/actor/d_a_alink_effect.inc +++ b/src/d/actor/d_a_alink_effect.inc @@ -1246,7 +1246,7 @@ void daAlink_c::setWolfDigEffect() { } else if (field_0x3198 == 7) { var_r29 = 0; var_r28 = ID_ZI_J_DASHWTRA_C; - setEmitterPolyColor(&field_0x32cc, ID_ZI_J_DASHWTRA_A, mPolyInfo2, &field_0x37d4, &sp18); + setEmitterPolyColor((u32*)&field_0x32cc, ID_ZI_J_DASHWTRA_A, mPolyInfo2, &field_0x37d4, &sp18); setEmitterPolyColor(&field_0x31bc, ID_ZI_J_DASHWTRA_B, mPolyInfo2, &field_0x37d4, &sp18); } else { var_r29 = 0; @@ -1281,7 +1281,7 @@ void daAlink_c::setWolfSwimEndEffect(JPABaseEmitter** param_0, JPABaseEmitter** var_r30 = 1; } - *param_0 = setEmitterColor(&field_0x32cc, name0[var_r30], &field_0x37c8, &shape_angle); + *param_0 = setEmitterColor((u32*)&field_0x32cc, name0[var_r30], &field_0x37c8, &shape_angle); if (var_r30 != 0) { *param_1 = setEmitterColor(&field_0x31bc, name1[var_r30], &field_0x37c8, &shape_angle); diff --git a/src/d/actor/d_a_b_ds.cpp b/src/d/actor/d_a_b_ds.cpp index 88b5c8042a..43f4af6cc3 100644 --- a/src/d/actor/d_a_b_ds.cpp +++ b/src/d/actor/d_a_b_ds.cpp @@ -5703,4 +5703,7 @@ actor_process_profile_definition g_profile_B_DS = { fopAc_CULLBOX_CUSTOM_e, }; +cXyz daB_DS_c::getHandPosR() { return mHandPos[1]; } +cXyz daB_DS_c::getHandPosL() { return mHandPos[0]; } + AUDIO_INSTANCES; diff --git a/src/d/actor/d_a_e_dd.cpp b/src/d/actor/d_a_e_dd.cpp index e0de6cb03f..1094366738 100644 --- a/src/d/actor/d_a_e_dd.cpp +++ b/src/d/actor/d_a_e_dd.cpp @@ -336,7 +336,7 @@ static BOOL way_bg_check(e_dd_class* i_this, f32 param_2) { return FALSE; } -u8 hio_set; +static u8 hio_set; static daE_DD_HIO_c l_HIO; diff --git a/src/d/actor/d_a_e_dn.cpp b/src/d/actor/d_a_e_dn.cpp index 794458bbe6..c68d2510bf 100644 --- a/src/d/actor/d_a_e_dn.cpp +++ b/src/d/actor/d_a_e_dn.cpp @@ -354,13 +354,13 @@ static BOOL other_bg_check2(e_dn_class* i_this, cXyz* i_pos) { return FALSE; } -u8 hio_set; +static u8 hio_set; -daE_DN_HIO_c l_HIO; +static daE_DN_HIO_c l_HIO; -fopAc_ac_c* target_info[10]; +static fopAc_ac_c* target_info[10]; -int target_info_count; +static int target_info_count; static void* s_b_sub(void* i_actor, void* i_data) { if (fopAcM_IsActor(i_actor) && dBomb_c::checkBombActor((fopAc_ac_c*)i_actor) && !((dBomb_c*)i_actor)->checkStateExplode() && target_info_count < 10) { @@ -2978,7 +2978,7 @@ static void anm_se_set(e_dn_class* i_this) { } } -int c_start; +static int c_start; static int daE_DN_Execute(e_dn_class* i_this) { if (i_this->status != 0) { @@ -3298,9 +3298,9 @@ static int daE_DN_Delete(e_dn_class* i_this) { return 1; } -Vec jv_offset = { 0.0f, 0.0f, 0.0f }; +static Vec jv_offset = { 0.0f, 0.0f, 0.0f }; -dJntColData_c jc_data[12] = { +static dJntColData_c jc_data[12] = { {0, 1, 2, 40.0f, &jv_offset}, {0, 1, 3, 30.0f, &jv_offset}, {0, 1, 22, 40.0f, &jv_offset}, {0, 1, 11, 15.0f, &jv_offset}, {0, 1, 12, 10.0f, &jv_offset}, {0, 1, 17, 15.0f, &jv_offset}, diff --git a/src/d/actor/d_a_e_fb.cpp b/src/d/actor/d_a_e_fb.cpp index 1fbbbc2410..877e43d537 100644 --- a/src/d/actor/d_a_e_fb.cpp +++ b/src/d/actor/d_a_e_fb.cpp @@ -127,7 +127,7 @@ static f32 dummy_117095() { } #endif -bool hio_set; +static bool hio_set; static daE_FB_HIO_c l_HIO; diff --git a/src/d/actor/d_a_e_mf.cpp b/src/d/actor/d_a_e_mf.cpp index 42ad76cfd7..0c3c101416 100644 --- a/src/d/actor/d_a_e_mf.cpp +++ b/src/d/actor/d_a_e_mf.cpp @@ -289,13 +289,13 @@ static BOOL other_bg_check2(e_mf_class* i_this, cXyz* param_2) { return FALSE; } -u8 hio_set; +static u8 hio_set; -daE_MF_HIO_c l_HIO; +static daE_MF_HIO_c l_HIO; -fopAc_ac_c* target_info[10]; +static fopAc_ac_c* target_info[10]; -int target_info_count; +static int target_info_count; static void* s_b_sub(void* i_actor, void* i_data) { if (fopAcM_IsActor(i_actor) && dBomb_c::checkBombActor((fopAc_ac_c*)i_actor) && !((dBomb_c*)i_actor)->checkStateExplode() && target_info_count < 10) { @@ -2773,7 +2773,7 @@ static void anm_se_set(e_mf_class* i_this) { } } -int c_start; +static int c_start; static int daE_MF_Execute(e_mf_class* i_this) { fopEn_enemy_c* a_this = (fopEn_enemy_c*)&i_this->actor; @@ -3085,9 +3085,9 @@ static int daE_MF_Delete(e_mf_class* i_this) { return 1; } -Vec jv_offset = { 0.0f, 0.0f, 0.0f }; +static Vec jv_offset = { 0.0f, 0.0f, 0.0f }; -dJntColData_c jc_data[12] = { +static dJntColData_c jc_data[12] = { {0, 1, 2, 40.0f, &jv_offset}, {0, 1, 3, 30.0f, &jv_offset}, {0, 1, 22, 40.0f, &jv_offset}, {0, 1, 11, 15.0f, &jv_offset}, {0, 1, 12, 10.0f, &jv_offset}, {0, 1, 17, 15.0f, &jv_offset}, diff --git a/src/d/actor/d_a_e_mk.cpp b/src/d/actor/d_a_e_mk.cpp index fef3a86675..c5b4b7a34c 100644 --- a/src/d/actor/d_a_e_mk.cpp +++ b/src/d/actor/d_a_e_mk.cpp @@ -137,7 +137,7 @@ static cXyz STAGE_CENTER_POS; static s16 STAGE_ANGLE_Y; -u8 hio_set; +static u8 hio_set; static daE_MK_HIO_c l_HIO; diff --git a/src/d/actor/d_a_e_nz.cpp b/src/d/actor/d_a_e_nz.cpp index 738d01b3bf..59f4258f7e 100644 --- a/src/d/actor/d_a_e_nz.cpp +++ b/src/d/actor/d_a_e_nz.cpp @@ -129,7 +129,7 @@ static int daE_NZ_Draw(e_nz_class* i_this) { return 1; } -bool hio_set; +static bool hio_set; static daE_NZ_HIO_c l_HIO; diff --git a/src/d/actor/d_a_e_vt.cpp b/src/d/actor/d_a_e_vt.cpp index a9d716acd0..a0fc8b926c 100644 --- a/src/d/actor/d_a_e_vt.cpp +++ b/src/d/actor/d_a_e_vt.cpp @@ -873,7 +873,7 @@ void daE_VA_c::setFireEffect(int param_0) { dComIfGp_particle_set(field_0x10f80[idx + 2], 0x3AE, &field_0x1140[param_0], NULL, &scale); } -f32 dummy() { +static f32 dummy() { return 3.2f; } diff --git a/src/d/actor/d_a_e_yr.cpp b/src/d/actor/d_a_e_yr.cpp index f329c48a9a..a5dfd55d9d 100644 --- a/src/d/actor/d_a_e_yr.cpp +++ b/src/d/actor/d_a_e_yr.cpp @@ -1716,7 +1716,7 @@ static void e_yr_su_wait_move(e_yr_class* i_this) { } } -f32 dummy() { +static f32 dummy() { return -50.0f; } diff --git a/src/d/actor/d_a_npc_bou.cpp b/src/d/actor/d_a_npc_bou.cpp index fe6f44846e..23640f7a09 100644 --- a/src/d/actor/d_a_npc_bou.cpp +++ b/src/d/actor/d_a_npc_bou.cpp @@ -16,7 +16,7 @@ static int l_bmdData[1][2] = { {11, 1}, }; -daNpcT_evtData_c l_evtList[11] = { +static daNpcT_evtData_c l_evtList[11] = { {"", 0}, {"NO_RESPONSE", 0}, {"WILDGOAT", 2}, diff --git a/src/d/actor/d_a_npc_gro.cpp b/src/d/actor/d_a_npc_gro.cpp index 564d0b1d8b..4c98adfe70 100644 --- a/src/d/actor/d_a_npc_gro.cpp +++ b/src/d/actor/d_a_npc_gro.cpp @@ -192,7 +192,7 @@ enum Mode { static NPC_GRO_HIO_CLASS l_HIO; -daNpc_Maro_c::actionFunc dummy_lit_3931() { +static daNpc_Maro_c::actionFunc dummy_lit_3931() { return &daNpc_Maro_c::choccai; } diff --git a/src/d/actor/d_a_npc_kasi_mich.cpp b/src/d/actor/d_a_npc_kasi_mich.cpp index e76b9b9823..4b3d7ca068 100644 --- a/src/d/actor/d_a_npc_kasi_mich.cpp +++ b/src/d/actor/d_a_npc_kasi_mich.cpp @@ -941,7 +941,7 @@ int daNpcKasiMich_c::getWolfPathNearIdx() { return rv; } -void dummy() { +static void dummy() { daNpcKasiMich_c::actionFunc temp; temp = &daNpcKasiMich_c::wait; temp = &daNpcKasiMich_c::wait; diff --git a/src/d/actor/d_a_npc_maro.cpp b/src/d/actor/d_a_npc_maro.cpp index 709e27cb5c..492d83527e 100644 --- a/src/d/actor/d_a_npc_maro.cpp +++ b/src/d/actor/d_a_npc_maro.cpp @@ -116,7 +116,7 @@ static int l_bmdData[2][2] = { {11, 1}, {5, 2}, }; -daNpcT_evtData_c l_evtList[15] = { +static daNpcT_evtData_c l_evtList[15] = { {"", 0}, {"DEFAULT_GETITEM", 0}, {"NO_RESPONSE", 0}, diff --git a/src/d/actor/d_a_npc_taro.cpp b/src/d/actor/d_a_npc_taro.cpp index 32956de232..4bcfb6a0d8 100644 --- a/src/d/actor/d_a_npc_taro.cpp +++ b/src/d/actor/d_a_npc_taro.cpp @@ -20,7 +20,7 @@ #include "f_op/f_op_camera_mng.h" #include -daNpc_Maro_c::actionFunc dummy_lit_3931() { +static daNpc_Maro_c::actionFunc dummy_lit_3931() { return &daNpc_Maro_c::choccai; } diff --git a/src/d/actor/d_a_obj_brakeeff.cpp b/src/d/actor/d_a_obj_brakeeff.cpp index d9299694f9..6a43938f72 100644 --- a/src/d/actor/d_a_obj_brakeeff.cpp +++ b/src/d/actor/d_a_obj_brakeeff.cpp @@ -141,7 +141,7 @@ u32 bef_brk[2] = { 10, }; -int useHeapInit(fopAc_ac_c* i_this) { +static int useHeapInit(fopAc_ac_c* i_this) { obj_brakeeff_class* a_this = static_cast(i_this); J3DModelData* modelData = diff --git a/src/d/actor/d_a_obj_ice_l.cpp b/src/d/actor/d_a_obj_ice_l.cpp index 34d489308c..7048eb3a18 100644 --- a/src/d/actor/d_a_obj_ice_l.cpp +++ b/src/d/actor/d_a_obj_ice_l.cpp @@ -14,7 +14,7 @@ #include "d/d_s_play.h" #include -f32 dummyLiteral() { +static f32 dummyLiteral() { return 0.0f; } diff --git a/src/d/actor/d_a_obj_katatsumuri.cpp b/src/d/actor/d_a_obj_katatsumuri.cpp index 115d0dfadd..8f0242dabe 100644 --- a/src/d/actor/d_a_obj_katatsumuri.cpp +++ b/src/d/actor/d_a_obj_katatsumuri.cpp @@ -149,11 +149,11 @@ static int daObjKAT_Delete(daObjKAT_c* i_this) { return 1; } -f32 dummy0() { +static f32 dummy0() { return 0.0f; } -f32 dummy1() { +static f32 dummy1() { return 0.4f; } diff --git a/src/d/actor/d_a_obj_klift00.cpp b/src/d/actor/d_a_obj_klift00.cpp index 739c7fe7f8..221e4f8812 100644 --- a/src/d/actor/d_a_obj_klift00.cpp +++ b/src/d/actor/d_a_obj_klift00.cpp @@ -109,7 +109,7 @@ static const int l_dzbidx[] = {9}; #endif // force dCcD_Sph::~dCcD_Sph to be emitted earlier than it otherwise would -void dummy() { +static void dummy() { delete (dCcD_Sph*)NULL; delete (dCcD_Cyl*)NULL; } diff --git a/src/d/actor/d_a_obj_maki.cpp b/src/d/actor/d_a_obj_maki.cpp index c555335745..8bb3578dd5 100644 --- a/src/d/actor/d_a_obj_maki.cpp +++ b/src/d/actor/d_a_obj_maki.cpp @@ -146,7 +146,7 @@ int daObj_Maki_Delete(obj_maki_class* i_this) { return 1; } -int useHeapInit(fopAc_ac_c* i_this) { +static int useHeapInit(fopAc_ac_c* i_this) { obj_maki_class* a_this = (obj_maki_class*)i_this; J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("Obj_maki", 4); diff --git a/src/d/actor/d_a_obj_sakuita.cpp b/src/d/actor/d_a_obj_sakuita.cpp index 0f828d4d73..87073326d1 100644 --- a/src/d/actor/d_a_obj_sakuita.cpp +++ b/src/d/actor/d_a_obj_sakuita.cpp @@ -89,7 +89,7 @@ void daObjSakuita_c::setBaseMtx() { cMtx_copy(mDoMtx_stack_c::get(), mMtx); } -f32 dummyLiteral() { return 0.5f; } +static f32 dummyLiteral() { return 0.5f; } void daObjSakuita_c::setPlatePos() { cXyz cStack_24; diff --git a/src/d/actor/d_a_obj_tornado.cpp b/src/d/actor/d_a_obj_tornado.cpp index 3b6c837f73..6761f0a329 100644 --- a/src/d/actor/d_a_obj_tornado.cpp +++ b/src/d/actor/d_a_obj_tornado.cpp @@ -216,7 +216,7 @@ static int daObjTrnd_Create(daObjTrnd_c* i_this) { return i_this->create(); } -void dummyString() { +static void dummyString() { DEAD_STRING(""); } diff --git a/src/d/actor/d_a_obj_wdStick.cpp b/src/d/actor/d_a_obj_wdStick.cpp index d7e5275460..be060df460 100644 --- a/src/d/actor/d_a_obj_wdStick.cpp +++ b/src/d/actor/d_a_obj_wdStick.cpp @@ -435,7 +435,7 @@ void daWdStick_c::mode_proc_roll() { bgCheck(); } -f32 dummyLiteral() { return 100.0f; } +static f32 dummyLiteral() { return 100.0f; } BOOL daWdStick_c::chkWaterLineIn() { return mAcch.m_wtr.GetHeight() > current.pos.y + 40.0f; diff --git a/src/d/actor/d_a_ppolamp.cpp b/src/d/actor/d_a_ppolamp.cpp index e760171d4e..ddac92eb84 100644 --- a/src/d/actor/d_a_ppolamp.cpp +++ b/src/d/actor/d_a_ppolamp.cpp @@ -58,8 +58,13 @@ int daPPolamp_c::draw() { g_env_light.setLightTevColorType_MAJI(mModel1, &tevStr); mDoExt_modelUpdateDL(mModel1); g_env_light.setLightTevColorType_MAJI(mModel2, &tevStr); + #ifdef __MWERKS__ static J3DGXColorS10 TEV_COLOR_1 = (GXColorS10){0x48, 0x85, 0xff, 0xff}; static J3DGXColorS10 TEV_COLOR_2 = (GXColorS10){0, 0, 0xff, 0xff}; + #else + static J3DGXColorS10 TEV_COLOR_1 = GXColorS10 {0x48, 0x85, 0xff, 0xff}; + static J3DGXColorS10 TEV_COLOR_2 = GXColorS10 {0, 0, 0xff, 0xff}; + #endif J3DModelData* modelData = mModel2->getModelData(); for (u16 i = 0; i < modelData->getMaterialNum(); i++) { diff --git a/src/d/actor/d_a_tag_msg.cpp b/src/d/actor/d_a_tag_msg.cpp index d9cbd2bf66..25cf35e224 100644 --- a/src/d/actor/d_a_tag_msg.cpp +++ b/src/d/actor/d_a_tag_msg.cpp @@ -264,7 +264,7 @@ void daTag_Msg_HIO_c::genMessage(JORMContext* ctx) { } #endif -void dummyString() { +static void dummyString() { DEAD_STRING("Timer"); } diff --git a/src/d/actor/d_a_tag_ss_drink.cpp b/src/d/actor/d_a_tag_ss_drink.cpp index bca1da5abc..86a25148bf 100644 --- a/src/d/actor/d_a_tag_ss_drink.cpp +++ b/src/d/actor/d_a_tag_ss_drink.cpp @@ -246,9 +246,11 @@ static int daTag_SSDrink_IsDelete(void* i_this) { daTag_SSDrink_c::~daTag_SSDrink_c() {} +#ifdef __MWERKS__ void daObj_SSBase_c::setSoldOut() { /* empty function */ } +#endif static actor_method_class daTag_SSDrink_MethodTable = { (process_method_func)daTag_SSDrink_Create, (process_method_func)daTag_SSDrink_Delete, diff --git a/src/d/d_map.cpp b/src/d/d_map.cpp index 6678e6d9af..1cc6a4dfb4 100644 --- a/src/d/d_map.cpp +++ b/src/d/d_map.cpp @@ -694,14 +694,16 @@ GXColor* renderingAmap_c::getLineColor(int param_0, int param_1) { if (param_1 == 4) { switch (field_0x3c) { - case 0: + case 0: { static const GXColor borderColor0 = {0xB4, 0x00, 0x00, 0x00}; *color = borderColor0; break; - case 1: + } + case 1: { static const GXColor borderColor1 = {0xB8, 0x00, 0x00, 0x00}; *color = borderColor1; break; + } default: JUT_ASSERT(1636, FALSE); break; diff --git a/src/dusk/extras.c b/src/dusk/extras.c index d4af760430..85a08394a6 100644 --- a/src/dusk/extras.c +++ b/src/dusk/extras.c @@ -1,9 +1,9 @@ #include "dusk/extras.h" #include #include -#include #include +#ifndef _MSC_VER int stricmp(const char* str1, const char* str2) { char a_var; char b_var; @@ -46,6 +46,7 @@ int strnicmp(const char* str1, const char* str2, int n) { return 0; } +#endif void *_memcpy(void* dest, void const* src, int n) { diff --git a/src/dusk/extras.cpp b/src/dusk/extras.cpp index f13d3e3440..de402f028b 100644 --- a/src/dusk/extras.cpp +++ b/src/dusk/extras.cpp @@ -1,6 +1,9 @@ // C++ Mangled version of extras.c #include #include +#ifdef _MSC_VER +#include +#endif void *__memcpy(void* dest, void const* src, int n) { return memcpy(dest, src, n); @@ -14,5 +17,11 @@ void __dcbz(void* addr, int offset) { int __cntlzw(unsigned int val) { if (val == 0) return 32; // PowerPC returns 32 if the input is 0 +#ifdef _MSC_VER + unsigned long idx; + _BitScanReverse(&idx, val); + return 31 - (int)idx; +#else return __builtin_clz(val); +#endif } diff --git a/src/dusk/globals.cpp b/src/dusk/globals.cpp index 34537c572c..d82a680fcc 100644 --- a/src/dusk/globals.cpp +++ b/src/dusk/globals.cpp @@ -12,5 +12,10 @@ u32 __OSFpscrEnableBits; GDLObj* __GDCurrentDL; // DSP +#include DSPTaskInfo* __DSP_first_task; DSPTaskInfo* __DSP_curr_task; + +// mDo_dvd +#include +u8 mDoDvdThd::DVDLogoMode; diff --git a/src/dusk/jsystem_stubs.cpp b/src/dusk/jsystem_stubs.cpp new file mode 100644 index 0000000000..2987e39df3 --- /dev/null +++ b/src/dusk/jsystem_stubs.cpp @@ -0,0 +1,144 @@ +#include +#include + +#pragma mark J3DShapeTable +#include "JSystem/J3DGraphAnimator/J3DShapeTable.h" + +void J3DShapeTable::initShapeNodes(J3DDrawMtxData* mtxData, J3DVertexData* vtxData) { + puts("J3DShapeTable::initShapeNodes is a stub"); +} + +// JAISe::JAISeMgr_startID_, JAISeq::JAISeqMgr_startID_, JAIStream::JAIStreamMgr_startID_ +// are compiled from their real source files (JAISe.obj, JAISeq.obj, JAIStream.obj) + +#pragma mark JAUSection +#include "JSystem/JAudio2/JAUSectionHeap.h" + +JAUSoundTable* JAUSection::newSoundTable(void const* data, u32 size, bool flag) { + puts("JAUSection::newSoundTable is a stub"); + return nullptr; +} + +JAUSoundNameTable* JAUSection::newSoundNameTable(void const* data, u32 size, bool flag) { + puts("JAUSection::newSoundNameTable is a stub"); + return nullptr; +} + +JAIStreamDataMgr* JAUSection::newStreamFileTable(void const* data, bool flag) { + puts("JAUSection::newStreamFileTable is a stub"); + return nullptr; +} + +#pragma mark JASHeap +#include "JSystem/JAudio2/JASHeapCtrl.h" + +JASHeap::JASHeap(JASDisposer* disposer) + : mTree(this), mDisposer(disposer), mBase(nullptr), mSize(0), field_0x40(nullptr) { + OSInitMutex(&mMutex); +} + +#pragma mark JASVoiceBank +#include "JSystem/JAudio2/JASVoiceBank.h" + +bool JASVoiceBank::getInstParam(int a, int b, int c, JASInstParam* param) const { + puts("JASVoiceBank::getInstParam is a stub"); + return false; +} + +// JASSeqParser::sCallBackFunc is compiled from JASSeqParser.obj + +#pragma mark JHICommBuf +#include "JSystem/JHostIO/JHIComm.h" + +void JHICommBufHeader::init() { + puts("JHICommBufHeader::init is a stub"); +} + +int JHICommBufHeader::load() { + puts("JHICommBufHeader::load is a stub"); + return -1; +} + +int JHICommBufReader::readBegin() { + puts("JHICommBufReader::readBegin is a stub"); + return -1; +} + +void JHICommBufReader::readEnd() { + puts("JHICommBufReader::readEnd is a stub"); +} + +int JHICommBufReader::read(void* buf, int size) { + puts("JHICommBufReader::read is a stub"); + return 0; +} + +u32 JHICommBufReader::Header::getReadableSize() const { + puts("JHICommBufReader::Header::getReadableSize is a stub"); + return 0; +} + +int JHICommBufWriter::writeBegin() { + puts("JHICommBufWriter::writeBegin is a stub"); + return -1; +} + +void JHICommBufWriter::writeEnd() { + puts("JHICommBufWriter::writeEnd is a stub"); +} + +int JHICommBufWriter::write(void* buf, int size) { + puts("JHICommBufWriter::write is a stub"); + return 0; +} + +#pragma mark HIO / HIO2 +#include +#include + +extern "C" { + +BOOL HIORead(u32 addr, void* buffer, s32 size) { + puts("HIORead is a stub"); + return FALSE; +} + +BOOL HIOWrite(u32 addr, void* buffer, s32 size) { + puts("HIOWrite is a stub"); + return FALSE; +} + +BOOL HIO2Init(void) { + puts("HIO2Init is a stub"); + return FALSE; +} + +BOOL HIO2EnumDevices(HIO2EnumCallback callback) { + puts("HIO2EnumDevices is a stub"); + return FALSE; +} + +s32 HIO2Open(HIO2DeviceType type, HIO2UnkCallback exiCb, HIO2DisconnectCallback disconnectCb) { + puts("HIO2Open is a stub"); + return -1; +} + +BOOL HIO2Close(s32 handle) { + puts("HIO2Close is a stub"); + return FALSE; +} + +} // extern "C" + +#pragma mark JOR +#include "JSystem/JHostIO/JORServer.h" + +int JOREventCallbackListNode::JORAct(u32 eventID, const char* eventName) { + puts("JOREventCallbackListNode::JORAct is a stub"); + return 0; +} + +#pragma mark J3DPSMtxArrayConcat +void J3DPSMtxArrayConcat(float (*a)[4], float (*b)[4], float (*out)[4], unsigned long count) { + puts("J3DPSMtxArrayConcat is a stub"); +} diff --git a/src/dusk/stubs.cpp b/src/dusk/stubs.cpp index 0148f701a9..b39aa3ddb6 100644 --- a/src/dusk/stubs.cpp +++ b/src/dusk/stubs.cpp @@ -5,754 +5,795 @@ // Credits: Super Monkey Ball -<<<<<<< HEAD -# pragma mark OS -======= ->>>>>>> wip/linkfix2 -void OSReport(const char *msg, ...) { - va_list args; - va_start(args, msg); - vprintf(msg, args); - va_end(args); +#pragma mark OS +/* +void OSReport(const char* msg, ...) { + va_list args; + va_start(args, msg); + vprintf(msg, args); + va_end(args); +}*/ + +u32 OSGetConsoleType() { + return OS_CONSOLE_RETAIL1; } -u32 OSGetConsoleType() { return OS_CONSOLE_RETAIL1; } - -u32 OSGetSoundMode() { return 2; } +u32 OSGetSoundMode() { + return 2; +} // Consolidated OS functions (moved from other sections) -void OSClearContext(OSContext *context) { puts("OSClearContext is a stub"); } - -void OSInit() { puts("OSInit is a stub"); } - -void OSInitMutex(OSMutex *mutex) { puts("OSInitMutex is a stub"); } - -void OSUnlockMutex(OSMutex *mutex) { puts("OSUnlockMutex is a stub"); } - -BOOL OSTryLockMutex(OSMutex *mutex) { - puts("OSTryLockMutex is a stub"); - return FALSE; +void OSClearContext(OSContext* context) { + puts("OSClearContext is a stub"); } -void *OSAllocFromArenaLo(u32 size, u32 align) { - puts("OSAllocFromArenaLo is a stub"); - return NULL; +void OSInit() { + puts("OSInit is a stub"); +} + +void OSInitMutex(OSMutex* mutex) { + puts("OSInitMutex is a stub"); +} + +void OSUnlockMutex(OSMutex* mutex) { + puts("OSUnlockMutex is a stub"); +} + +BOOL OSTryLockMutex(OSMutex* mutex) { + puts("OSTryLockMutex is a stub"); + return FALSE; +} + +void* OSAllocFromArenaLo(u32 size, u32 align) { + puts("OSAllocFromArenaLo is a stub"); + return NULL; } BOOL OSDisableInterrupts() { - puts("OSDisableInterrupts is a stub"); - return FALSE; + puts("OSDisableInterrupts is a stub"); + return FALSE; } -void OSSleepThread(OSThreadQueue *queue) { puts("OSSleepThread is a stub"); } +void OSSleepThread(OSThreadQueue* queue) { + puts("OSSleepThread is a stub"); +} -void OSDumpContext(OSContext *context) { puts("OSDumpContext is a stub"); } +void OSDumpContext(OSContext* context) { + puts("OSDumpContext is a stub"); +} -void OSSignalCond(OSCond *cond) { puts("OSSignalCond is a stub"); } +void OSSignalCond(OSCond* cond) { + puts("OSSignalCond is a stub"); +} -void OSCreateAlarm(OSAlarm *alarm) { puts("OSCreateAlarm is a stub"); } +void OSCreateAlarm(OSAlarm* alarm) { + puts("OSCreateAlarm is a stub"); +} -void OSCancelAlarm(OSAlarm *alarm) { puts("OSCancelAlarm is a stub"); } +void OSCancelAlarm(OSAlarm* alarm) { + puts("OSCancelAlarm is a stub"); +} -s32 OSCheckActiveThreads(void) { puts("OSCheckActiveThreads is a stub"); } +s32 OSCheckActiveThreads(void) { + puts("OSCheckActiveThreads is a stub"); + return 0; +} -int OSCreateThread(OSThread* thread, void* (*func)(void*), void* param, void* stack, u32 stackSize, OSPriority priority, u16 attr) { - puts("OSCreateThread is a stub"); - return 0; +int OSCreateThread(OSThread* thread, void* (*func)(void*), void* param, void* stack, u32 stackSize, + OSPriority priority, u16 attr) { + puts("OSCreateThread is a stub"); + return 0; } s32 OSDisableScheduler() { - puts("OSDisableScheduler is a stub"); - return 0; + puts("OSDisableScheduler is a stub"); + return 0; } void OSDetachThread(OSThread* thread) { - puts("OSDetachThread is a stub"); + puts("OSDetachThread is a stub"); } -OSThread *OSGetCurrentThread() { - puts("OSGetCurrentThread is a stub"); - return 0; +OSThread* OSGetCurrentThread() { + puts("OSGetCurrentThread is a stub"); + return 0; } u16 OSGetFontEncode() { - puts("OSGetFontEncode is a stub"); - return 0; + puts("OSGetFontEncode is a stub"); + return 0; } -char *OSGetFontTexture(char *string, void **image, s32 *x, s32 *y, s32 *width) { - puts("OSGetFontTexture is a stub"); - return 0; +char* OSGetFontTexture(char* string, void** image, s32* x, s32* y, s32* width) { + puts("OSGetFontTexture is a stub"); + return 0; } -char *OSGetFontWidth(char *string, s32 *width) { - puts("OSGetFontWidth is a stub"); - return 0; +char* OSGetFontWidth(char* string, s32* width) { + puts("OSGetFontWidth is a stub"); + return 0; } BOOL OSGetResetButtonState() { - puts("OSGetResetButtonState is a stub"); - return FALSE; + puts("OSGetResetButtonState is a stub"); + return FALSE; } u32 OSGetStackPointer() { - puts("OSGetStackPointer is a stub"); - return 0; + puts("OSGetStackPointer is a stub"); + return 0; } -BOOL OSInitFont(OSFontHeader *fontData) { - puts("OSInitFont is a stub"); - return FALSE; +BOOL OSInitFont(OSFontHeader* fontData) { + puts("OSInitFont is a stub"); + return FALSE; } -BOOL OSLink(OSModuleInfo *newModule, void *bss) { - puts("OSLink is a stub"); - return TRUE; +BOOL OSLink(OSModuleInfo* newModule, void* bss) { + puts("OSLink is a stub"); + return TRUE; } -void OSLoadContext(OSContext *context) { puts("OSLoadContext is a stub"); } +void OSLoadContext(OSContext* context) { + puts("OSLoadContext is a stub"); +} void OSResetSystem(int reset, u32 resetCode, BOOL forceMenu) { - puts("OSResetSystem is a stub"); + puts("OSResetSystem is a stub"); } BOOL OSRestoreInterrupts(BOOL level) { - puts("OSRestoreInterrupts is a stub"); - return FALSE; + puts("OSRestoreInterrupts is a stub"); + return FALSE; } -s32 OSResumeThread(OSThread *thread) { - puts("OSResumeThread is a stub"); - return 0; +s32 OSResumeThread(OSThread* thread) { + puts("OSResumeThread is a stub"); + return 0; } -void OSSetCurrentContext(OSContext *context) { - puts("OSSetCurrentContext is a stub"); +void OSSetCurrentContext(OSContext* context) { + puts("OSSetCurrentContext is a stub"); } void OSSetStringTable(void* stringTable) { - puts("OSSetStringTable is a stub"); + puts("OSSetStringTable is a stub"); } OSSwitchThreadCallback OSSetSwitchThreadCallback(OSSwitchThreadCallback callback) { - puts("OSSetSwitchThreadCallback is a stub"); - return NULL; + puts("OSSetSwitchThreadCallback is a stub"); + return NULL; } int OSSetThreadPriority(OSThread* thread, s32 priority) { - puts("OSSetThreadPriority is a stub"); - return 0; + puts("OSSetThreadPriority is a stub"); + return 0; } void OSWaitCond(OSCond* cond, OSMutex* mutex) { - puts("OSWaitCond is a stub"); + puts("OSWaitCond is a stub"); } void OSYieldThread(void) { - puts("OSYieldThread is a stub"); + puts("OSYieldThread is a stub"); } -s32 OSSuspendThread(OSThread *thread) { - puts("OSSuspendThread is a stub"); - return 0; +s32 OSSuspendThread(OSThread* thread) { + puts("OSSuspendThread is a stub"); + return 0; } -void OSCancelThread(OSThread *thread) { - puts("OSCancelThread is a stub"); +void OSCancelThread(OSThread* thread) { + puts("OSCancelThread is a stub"); } -void OSTicksToCalendarTime(OSTime ticks, OSCalendarTime *td) { - puts("OSTicksToCalendarTime is a stub"); +void OSTicksToCalendarTime(OSTime ticks, OSCalendarTime* td) { + puts("OSTicksToCalendarTime is a stub"); } -BOOL OSUnlink(OSModuleInfo *oldModule) { - puts("OSUnlink is a stub"); - return FALSE; +BOOL OSUnlink(OSModuleInfo* oldModule) { + puts("OSUnlink is a stub"); + return FALSE; } -void OSSwitchFiberEx(__REGISTER u32 param_0, __REGISTER u32 param_1, __REGISTER u32 param_2, __REGISTER u32 param_3, __REGISTER u32 code, __REGISTER u32 stack) { - puts("OSSwitchFiberEx is a stub"); +void OSSwitchFiberEx(__REGISTER u32 param_0, __REGISTER u32 param_1, __REGISTER u32 param_2, + __REGISTER u32 param_3, __REGISTER u32 code, __REGISTER u32 stack) { + puts("OSSwitchFiberEx is a stub"); } -void OSWakeupThread(OSThreadQueue *queue) { puts("OSWakeupThread is a stub"); } +void OSWakeupThread(OSThreadQueue* queue) { + puts("OSWakeupThread is a stub"); +} u32 __OSGetDIConfig() { - puts("__OSGetDIConfig is a stub"); - return 0; + puts("__OSGetDIConfig is a stub"); + return 0; } __OSInterruptHandler __OSSetInterruptHandler(__OSInterrupt interrupt, __OSInterruptHandler handler) { - puts("__OSSetInterruptHandler is a stub"); - return 0; + puts("__OSSetInterruptHandler is a stub"); + return 0; } OSInterruptMask __OSUnmaskInterrupts(OSInterruptMask mask) { - puts("__OSUnmaskInterrupts is a stub"); - return 0; + puts("__OSUnmaskInterrupts is a stub"); + return 0; } BOOL OSEnableInterrupts() { - puts("OSEnableInterrupts is a stub"); - return FALSE; + puts("OSEnableInterrupts is a stub"); + return FALSE; } s32 OSEnableScheduler() { - puts("OSEnableScheduler is a stub"); - return 0; + puts("OSEnableScheduler is a stub"); + return 0; } -void OSExitThread(void *val) { puts("OSExitThread is a stub"); } +void OSExitThread(void* val) { + puts("OSExitThread is a stub"); +} void* OSGetArenaHi(void) { - puts("OSGetArenaHi is a stub"); - return NULL; + puts("OSGetArenaHi is a stub"); + return NULL; } void* OSGetArenaLo(void) { - puts("OSGetArenaLo is a stub"); - return NULL; + puts("OSGetArenaLo is a stub"); + return NULL; } OSContext* OSGetCurrentContext(void) { - puts("OSGetCurrentContext is a stub"); - return NULL; + puts("OSGetCurrentContext is a stub"); + return NULL; } u32 OSGetProgressiveMode(void) { - puts("OSGetProgressiveMode is a stub"); - return 0; + puts("OSGetProgressiveMode is a stub"); + return 0; } u32 OSGetResetCode(void) { - puts("OSGetResetCode is a stub"); - return 0; + puts("OSGetResetCode is a stub"); + return 0; } BOOL OSGetResetSwitchState() { - puts("OSGetResetSwitchState is a stub"); - return FALSE; + puts("OSGetResetSwitchState is a stub"); + return FALSE; } s32 OSGetThreadPriority(OSThread* thread) { - puts("OSGetThreadPriority is a stub"); - return 0; + puts("OSGetThreadPriority is a stub"); + return 0; } OSTick OSGetTick(void) { - puts("OSGetTick is a stub"); - return 0; + puts("OSGetTick is a stub"); + return 0; } OSTime OSGetTime(void) { - puts("OSGetTime is a stub"); - return 0; + puts("OSGetTime is a stub"); + return 0; } void OSInitCond(OSCond* cond) { - puts("OSInitCond is a stub"); + puts("OSInitCond is a stub"); } void OSInitMessageQueue(OSMessageQueue* mq, void* msgArray, s32 msgCount) { - puts("OSInitMessageQueue is a stub"); + puts("OSInitMessageQueue is a stub"); } void OSInitThreadQueue(OSThreadQueue* queue) { - puts("OSInitThreadQueue is a stub"); + puts("OSInitThreadQueue is a stub"); } BOOL OSIsThreadTerminated(OSThread* thread) { - puts("OSIsThreadTerminated is a stub"); - return FALSE; + puts("OSIsThreadTerminated is a stub"); + return FALSE; } int OSJamMessage(OSMessageQueue* mq, void* msg, s32 flags) { - puts("OSJamMessage is a stub"); - return 0; + puts("OSJamMessage is a stub"); + return 0; } BOOL OSLinkFixed(OSModuleInfo* newModule, void* bss) { - puts("OSLinkFixed is a stub"); - return TRUE; + puts("OSLinkFixed is a stub"); + return TRUE; } void OSLockMutex(OSMutex* mutex) { - puts("OSLockMutex is a stub"); + puts("OSLockMutex is a stub"); } void OSProtectRange(u32 chan, void* addr, u32 nBytes, u32 control) { - puts("OSProtectRange is a stub"); + puts("OSProtectRange is a stub"); } int OSReceiveMessage(OSMessageQueue* mq, void* msg, s32 flags) { - puts("OSReceiveMessage is a stub"); - return 0; + puts("OSReceiveMessage is a stub"); + return 0; } int OSSendMessage(OSMessageQueue* mq, void* msg, s32 flags) { - puts("OSSendMessage is a stub"); - return 0; + puts("OSSendMessage is a stub"); + return 0; } void OSSetArenaHi(void* newHi) { - puts("OSSetArenaHi is a stub"); + puts("OSSetArenaHi is a stub"); } void OSSetArenaLo(void* newLo) { - puts("OSSetArenaLo is a stub"); + puts("OSSetArenaLo is a stub"); } void OSSetPeriodicAlarm(OSAlarm* alarm, OSTime start, OSTime period, OSAlarmHandler handler) { - puts("OSSetPeriodicAlarm is a stub"); + puts("OSSetPeriodicAlarm is a stub"); } void OSSetProgressiveMode(u32 on) { - puts("OSSetProgressiveMode is a stub"); + puts("OSSetProgressiveMode is a stub"); } void OSSetSaveRegion(void* start, void* end) { - puts("OSSetSaveRegion is a stub"); + puts("OSSetSaveRegion is a stub"); } OSErrorHandler OSSetErrorHandler(OSError error, OSErrorHandler handler) { - puts("OSSetErrorHandler is a stub"); - return NULL; + puts("OSSetErrorHandler is a stub"); + return NULL; } void OSSetAlarm(OSAlarm* alarm, OSTime tick, OSAlarmHandler handler) { - puts("OSSetAlarm is a stub"); + puts("OSSetAlarm is a stub"); } void* OSInitAlloc(void* arenaStart, void* arenaEnd, int maxHeaps) { - puts("OSInitAlloc is a stub"); - return NULL; + puts("OSInitAlloc is a stub"); + return NULL; } void OSFillFPUContext(__REGISTER OSContext* context) { - puts("OSFillFPUContext is a stub"); + puts("OSFillFPUContext is a stub"); } void OSSetSoundMode(u32 mode) {} -# pragma mark SOUND -void SoundChoID(int a, int b) { puts("SoundChoID is a stub"); } -void SoundPan(int a, int b, int c) { puts("SoundPan is a stub"); } -void SoundPitch(u16 a, int b) { puts("SoundPitch is a stub"); } -void SoundRevID(int a, int b) { puts("SoundRevID is a stub"); } +#pragma mark SOUND +void SoundChoID(int a, int b) { + puts("SoundChoID is a stub"); +} +void SoundPan(int a, int b, int c) { + puts("SoundPan is a stub"); +} +void SoundPitch(u16 a, int b) { + puts("SoundPitch is a stub"); +} +void SoundRevID(int a, int b) { + puts("SoundRevID is a stub"); +} -# pragma mark CARD +#pragma mark CARD #include extern "C" int CARDProbe(s32 chan) { - puts("CARDProbe is a stub"); - return 0; + puts("CARDProbe is a stub"); + return 0; } -s32 CARDCancel(CARDFileInfo *fileInfo) { - puts("CARDCancel is a stub"); - return 0; +s32 CARDCancel(CARDFileInfo* fileInfo) { + puts("CARDCancel is a stub"); + return 0; } s32 CARDCheck(s32 chan) { - puts("CARDCheck is a stub"); - return 0; + puts("CARDCheck is a stub"); + return 0; } s32 CARDCheckAsync(s32 chan, CARDCallback callback) { - puts("CARDCheckAsync is a stub"); - return 0; + puts("CARDCheckAsync is a stub"); + return 0; } -s32 CARDClose(CARDFileInfo *fileInfo) { - puts("CARDClose is a stub"); - return 0; +s32 CARDClose(CARDFileInfo* fileInfo) { + puts("CARDClose is a stub"); + return 0; } -s32 CARDCreate(s32 chan, const char *fileName, u32 size, - CARDFileInfo *fileInfo) { - puts("CARDCreate is a stub"); - return 0; +s32 CARDCreate(s32 chan, const char* fileName, u32 size, CARDFileInfo* fileInfo) { + puts("CARDCreate is a stub"); + return 0; } -s32 CARDCreateAsync(s32 chan, const char *fileName, u32 size, - CARDFileInfo *fileInfo, CARDCallback callback) { - puts("CARDCreateAsync is a stub"); - return 0; +s32 CARDCreateAsync(s32 chan, const char* fileName, u32 size, CARDFileInfo* fileInfo, + CARDCallback callback) { + puts("CARDCreateAsync is a stub"); + return 0; } -s32 CARDDelete(s32 chan, const char *fileName) { - puts("CARDDelete is a stub"); - return 0; +s32 CARDDelete(s32 chan, const char* fileName) { + puts("CARDDelete is a stub"); + return 0; } -s32 CARDDeleteAsync(s32 chan, const char *fileName, CARDCallback callback) { - puts("CARDDeleteAsync is a stub"); - return 0; +s32 CARDDeleteAsync(s32 chan, const char* fileName, CARDCallback callback) { + puts("CARDDeleteAsync is a stub"); + return 0; } s32 CARDFastDeleteAsync(s32 chan, s32 fileNo, CARDCallback callback) { - puts("CARDFastDeleteAsync is a stub"); - return 0; + puts("CARDFastDeleteAsync is a stub"); + return 0; } -s32 CARDFastOpen(s32 chan, s32 fileNo, CARDFileInfo *fileInfo) { - puts("CARDFastOpen is a stub"); - return 0; +s32 CARDFastOpen(s32 chan, s32 fileNo, CARDFileInfo* fileInfo) { + puts("CARDFastOpen is a stub"); + return 0; } s32 CARDFormat(s32 chan) { - puts("CARDFormat is a stub"); - return 0; + puts("CARDFormat is a stub"); + return 0; } -s32 CARDFreeBlocks(s32 chan, s32 *byteNotUsed, s32 *filesNotUsed) { - puts("CARDFreeBlocks is a stub"); - return 0; +s32 CARDFreeBlocks(s32 chan, s32* byteNotUsed, s32* filesNotUsed) { + puts("CARDFreeBlocks is a stub"); + return 0; } s32 CARDGetResultCode(s32 chan) { - puts("CARDGetResultCode is a stub"); - return 0; + puts("CARDGetResultCode is a stub"); + return 0; } -s32 CARDGetStatus(s32 chan, s32 fileNo, CARDStat *stat) { - puts("CARDGetStatus is a stub"); - return 0; +s32 CARDGetStatus(s32 chan, s32 fileNo, CARDStat* stat) { + puts("CARDGetStatus is a stub"); + return 0; } -s32 CARDGetSectorSize(s32 chan, u32 *size) { - puts("CARDGetSectorSize is a stub"); - return 0; +s32 CARDGetSectorSize(s32 chan, u32* size) { + puts("CARDGetSectorSize is a stub"); + return 0; } -void CARDInit() { puts("CARDInit is a stub"); } - -s32 CARDMount(s32 chan, void *workArea, CARDCallback detachCallback) { - puts("CARDMount is a stub"); - return 0; +void CARDInit() { + puts("CARDInit is a stub"); } -s32 CARDMountAsync(s32 chan, void *workArea, CARDCallback detachCallback, +s32 CARDMount(s32 chan, void* workArea, CARDCallback detachCallback) { + puts("CARDMount is a stub"); + return 0; +} + +s32 CARDMountAsync(s32 chan, void* workArea, CARDCallback detachCallback, CARDCallback attachCallback) { - puts("CARDMountAsync is a stub"); - return 0; + puts("CARDMountAsync is a stub"); + return 0; } -s32 CARDOpen(s32 chan, const char *fileName, CARDFileInfo *fileInfo) { - puts("CARDOpen is a stub"); - return 0; +s32 CARDOpen(s32 chan, const char* fileName, CARDFileInfo* fileInfo) { + puts("CARDOpen is a stub"); + return 0; } -s32 CARDProbeEx(s32 chan, s32 *memSize, s32 *sectorSize) { - puts("CARDProbeEx is a stub"); - return 0; +s32 CARDProbeEx(s32 chan, s32* memSize, s32* sectorSize) { + puts("CARDProbeEx is a stub"); + return 0; } -s32 CARDRead(CARDFileInfo *fileInfo, void *addr, s32 length, s32 offset) { - puts("CARDRead is a stub"); - return 0; +s32 CARDRead(CARDFileInfo* fileInfo, void* addr, s32 length, s32 offset) { + puts("CARDRead is a stub"); + return 0; } -s32 CARDReadAsync(CARDFileInfo *fileInfo, void *addr, s32 length, s32 offset, +s32 CARDReadAsync(CARDFileInfo* fileInfo, void* addr, s32 length, s32 offset, CARDCallback callback) { - puts("CARDReadAsync is a stub"); - return 0; + puts("CARDReadAsync is a stub"); + return 0; } -s32 CARDRename(s32 chan, const char *oldName, const char *newName) { - puts("CARDRename is a stub"); - return 0; +s32 CARDRename(s32 chan, const char* oldName, const char* newName) { + puts("CARDRename is a stub"); + return 0; } -s32 CARDRenameAsync(s32 chan, const char *oldName, const char *newName, - CARDCallback callback) { - puts("CARDRenameAsync is a stub"); - return 0; +s32 CARDRenameAsync(s32 chan, const char* oldName, const char* newName, CARDCallback callback) { + puts("CARDRenameAsync is a stub"); + return 0; } -s32 CARDSetStatusAsync(s32 chan, s32 fileNo, CARDStat *stat, - CARDCallback callback) { - puts("CARDSetStatusAsync is a stub"); - return 0; +s32 CARDSetStatusAsync(s32 chan, s32 fileNo, CARDStat* stat, CARDCallback callback) { + puts("CARDSetStatusAsync is a stub"); + return 0; } s32 CARDUnmount(s32 chan) { - puts("CARDUnmount is a stub"); - return 0; + puts("CARDUnmount is a stub"); + return 0; } -extern "C" s32 CARDWrite(CARDFileInfo *fileInfo, void *addr, s32 length, - s32 offset) { - puts("CARDWrite is a stub"); - return 0; +extern "C" s32 CARDWrite(CARDFileInfo* fileInfo, void* addr, s32 length, s32 offset) { + puts("CARDWrite is a stub"); + return 0; } -s32 CARDWriteAsync(CARDFileInfo *fileInfo, const void *addr, s32 length, - s32 offset, CARDCallback callback) { - puts("CARDWriteAsync is a stub"); - return 0; +s32 CARDWriteAsync(CARDFileInfo* fileInfo, const void* addr, s32 length, s32 offset, + CARDCallback callback) { + puts("CARDWriteAsync is a stub"); + return 0; } -s32 CARDGetSerialNo(s32 chan, u64 *serialNo) { return 0; } +s32 CARDGetSerialNo(s32 chan, u64* serialNo) { + return 0; +} -s32 CARDSetStatus(s32 chan, s32 fileNo, CARDStat *stat) { return 0; } +s32 CARDSetStatus(s32 chan, s32 fileNo, CARDStat* stat) { + return 0; +} s32 __CARDFormatRegionAsync(int a, int b) { - puts("__CARDFormatRegionAsync is a stub"); - return 0; + puts("__CARDFormatRegionAsync is a stub"); + return 0; } -# pragma mark DC +#pragma mark DC -void DCFlushRange(void *addr, u32 nBytes) { - // puts("DCFlushRange is a stub"); +void DCFlushRange(void* addr, u32 nBytes) { + // puts("DCFlushRange is a stub"); } -void DCFlushRangeNoSync(void *addr, u32 nBytes) { - // puts("DCFlushRangeNoSync is a stub"); +void DCFlushRangeNoSync(void* addr, u32 nBytes) { + // puts("DCFlushRangeNoSync is a stub"); } -void DCInvalidateRange(void *addr, u32 nBytes) { - // puts("DCInvalidateRange is a stub"); +void DCInvalidateRange(void* addr, u32 nBytes) { + // puts("DCInvalidateRange is a stub"); } -void DCStoreRange(void *addr, u32 nBytes) { - // puts("DCStoreRange is a stub"); +void DCStoreRange(void* addr, u32 nBytes) { + // puts("DCStoreRange is a stub"); } -void DCStoreRangeNoSync(void *addr, u32 nBytes) { - // puts("DCStoreRangeNoSync is a stub"); +void DCStoreRangeNoSync(void* addr, u32 nBytes) { + // puts("DCStoreRangeNoSync is a stub"); } -# pragma mark EXI +#pragma mark EXI BOOL EXIDeselect(int chan) { - puts("EXIDeselect is a stub"); - return FALSE; + puts("EXIDeselect is a stub"); + return FALSE; } -BOOL EXIDma(int chan, void *buffer, s32 size, int d, int e) { - puts("EXIDma is a stub"); - return FALSE; +BOOL EXIDma(int chan, void* buffer, s32 size, int d, int e) { + puts("EXIDma is a stub"); + return FALSE; } -BOOL EXIImm(int chan, u32 *b, int c, int d, int e) { - puts("EXIImm is a stub"); - return FALSE; +BOOL EXIImm(int chan, u32* b, int c, int d, int e) { + puts("EXIImm is a stub"); + return FALSE; } BOOL EXILock(int chan, int b, int c) { - puts("EXILock is a stub"); - return FALSE; + puts("EXILock is a stub"); + return FALSE; } BOOL EXISelect(int chan, int b, int c) { - puts("EXISelect is a stub"); - return FALSE; + puts("EXISelect is a stub"); + return FALSE; } BOOL EXISync(int chan) { - puts("EXISync is a stub"); - return FALSE; + puts("EXISync is a stub"); + return FALSE; } BOOL EXIUnlock(int chan) { - puts("EXIUnlock is a stub"); - return FALSE; + puts("EXIUnlock is a stub"); + return FALSE; } -# pragma mark LC +#pragma mark LC -void LCEnable() { puts("LCEnable is a stub"); } +void LCEnable() { + puts("LCEnable is a stub"); +} // OS-related functions consolidated under "# pragma mark OS" further up -# pragma mark VI +#pragma mark VI static VIRetraceCallback sVIRetraceCallback = NULL; extern "C" { -void VIConfigure(const GXRenderModeObj *rm) { puts("VIConfigure is a stub"); } +void VIConfigure(const GXRenderModeObj* rm) { + puts("VIConfigure is a stub"); +} void VIConfigurePan(u16 xOrg, u16 yOrg, u16 width, u16 height) { - puts("VIConfigurePan is a stub"); + puts("VIConfigurePan is a stub"); } u32 VIGetRetraceCount() { - // puts("VIGetRetraceCount is a stub"); - return 0; // TODO this might be important + // puts("VIGetRetraceCount is a stub"); + return 0; // TODO this might be important } u32 VIGetNextField() { - puts("VIGetNextField is a stub"); - return 0; -} - -void VISetBlack(BOOL black) { puts("VISetBlack is a stub"); } - -void VISetNextFrameBuffer(void *fb) { - // puts("VISetNextFrameBuffer is a stub"); -} - -void VIWaitForRetrace() { - if (sVIRetraceCallback) { - sVIRetraceCallback(0); - } -} - -void* VIGetCurrentFrameBuffer(void) { - puts("VIGetCurrentFrameBuffer is a stub"); - return NULL; -} - -u32 VIGetDTVStatus(void) { - puts("VIGetDTVStatus is a stub"); - return 0; -} - -void* VIGetNextFrameBuffer(void) { - puts("VIGetNextFrameBuffer is a stub"); - return NULL; -} - -VIRetraceCallback VISetPostRetraceCallback(VIRetraceCallback callback) { - sVIRetraceCallback = callback; - return callback; -} - -VIRetraceCallback VISetPreRetraceCallback(VIRetraceCallback cb) { - puts("VISetPreRetraceCallback is a stub"); - return cb; -} - -} // extern "C" - -# pragma mark DSP -#include -extern "C" void __DSP_insert_task(DSPTaskInfo* task) { - puts("__DSP_insert_task is a stub"); -} - -extern "C" void __DSP_boot_task(DSPTaskInfo*) { - puts("__DSP_boot_task is a stub"); -} - -extern "C" void __DSP_exec_task(DSPTaskInfo*, DSPTaskInfo*) { - puts("__DSP_exec_task is a stub"); -} - -extern "C" void __DSP_remove_task(DSPTaskInfo* task) { - puts("__DSP_remove_task is a stub"); -} - -void DSPAssertInt(void) { - puts("DSPAssertInt is a stub"); -} -u32 DSPCheckMailFromDSP(void) { - puts("DSPCheckMailFromDSP is a stub"); - return 0; -} -u32 DSPCheckMailToDSP(void) { - puts("DSPCheckMailToDSP is a stub"); - return 0; -} -void DSPInit(void) { - puts("DSPInit is a stub"); -} -u32 DSPReadMailFromDSP(void) { - puts("DSPReadMailFromDSP is a stub"); - return 0; -} -void DSPSendMailToDSP(u32 mail) { - puts("DSPSendMailToDSP is a stub"); -} - -# pragma mark Z2Audio -#include -void Z2AudioCS::extensionProcess(s32, s32) { - puts("Z2AudioMgr::play is a stub"); -} - -# pragma mark JORServer -#include -void JORServer::releaseMCTX(JORMContext*) { - puts("releaseMCTX is a stub"); -} - -JORMContext* JORServer::attachMCTX(u32) { - puts("attachMCTX is a stub"); - return NULL; -} - -JORServer* JORServer::instance; - -void JORMContext::genCheckBoxSub(u32 kind, const char* label, u32 id, u32 style, u16 initValue, u16 mask, - JOREventListener* pListener, u16 posX, u16 posY, u16 width, - u16 height) { - puts("JORServer::genCheckBoxSub is a stub"); -} -void JORMContext::updateCheckBoxSub(u32 mode, u32 id, u16 value, u16 mask, u32 param_4) { - puts("JORServer::updateCheckBoxSub is a stub"); -} - -<<<<<<< HEAD -======= -int JOREventCallbackListNode::JORAct(u32, const char*) { + puts("VIGetNextField is a stub"); return 0; } ->>>>>>> wip/linkfix2 -# pragma mark JSUMemoryOutputStream +void VISetBlack(BOOL black) { + puts("VISetBlack is a stub"); +} + +void VISetNextFrameBuffer(void* fb) { + // puts("VISetNextFrameBuffer is a stub"); +} + +void VIWaitForRetrace() { + if (sVIRetraceCallback) { + sVIRetraceCallback(0); + } +} + +void* VIGetCurrentFrameBuffer(void) { + puts("VIGetCurrentFrameBuffer is a stub"); + return NULL; +} + +u32 VIGetDTVStatus(void) { + puts("VIGetDTVStatus is a stub"); + return 0; +} + +void* VIGetNextFrameBuffer(void) { + puts("VIGetNextFrameBuffer is a stub"); + return NULL; +} + +VIRetraceCallback VISetPostRetraceCallback(VIRetraceCallback callback) { + sVIRetraceCallback = callback; + return callback; +} + +VIRetraceCallback VISetPreRetraceCallback(VIRetraceCallback cb) { + puts("VISetPreRetraceCallback is a stub"); + return cb; +} + +} // extern "C" + +#pragma mark DSP +#include +extern "C" void __DSP_insert_task(DSPTaskInfo* task) { + puts("__DSP_insert_task is a stub"); +} + +extern "C" void __DSP_boot_task(DSPTaskInfo*) { + puts("__DSP_boot_task is a stub"); +} + +extern "C" void __DSP_exec_task(DSPTaskInfo*, DSPTaskInfo*) { + puts("__DSP_exec_task is a stub"); +} + +extern "C" void __DSP_remove_task(DSPTaskInfo* task) { + puts("__DSP_remove_task is a stub"); +} + +void DSPAssertInt(void) { + puts("DSPAssertInt is a stub"); +} +u32 DSPCheckMailFromDSP(void) { + puts("DSPCheckMailFromDSP is a stub"); + return 0; +} +u32 DSPCheckMailToDSP(void) { + puts("DSPCheckMailToDSP is a stub"); + return 0; +} +void DSPInit(void) { + puts("DSPInit is a stub"); +} +u32 DSPReadMailFromDSP(void) { + puts("DSPReadMailFromDSP is a stub"); + return 0; +} +void DSPSendMailToDSP(u32 mail) { + puts("DSPSendMailToDSP is a stub"); +} + +#pragma mark Z2Audio +#include +void Z2AudioCS::extensionProcess(s32, s32) { + puts("Z2AudioMgr::play is a stub"); +} + +// #pragma mark JORServer +// #include +// void JORServer::releaseMCTX(JORMContext*) { +// puts("releaseMCTX is a stub"); +// } +// +// JORMContext* JORServer::attachMCTX(u32) { +// puts("attachMCTX is a stub"); +// return NULL; +// } +// +// JORServer* JORServer::instance; +// +// void JORMContext::genCheckBoxSub(u32 kind, const char* label, u32 id, u32 style, u16 initValue, +// u16 mask, JOREventListener* pListener, u16 posX, u16 posY, +// u16 width, u16 height) { +// puts("JORServer::genCheckBoxSub is a stub"); +// } +// void JORMContext::updateCheckBoxSub(u32 mode, u32 id, u16 value, u16 mask, u32 param_4) { +// puts("JORServer::updateCheckBoxSub is a stub"); +// } + +#pragma mark JSUMemoryOutputStream #include s32 JSUMemoryOutputStream::getAvailable() const { - return mLength - mPosition; + return mLength - mPosition; } s32 JSUMemoryOutputStream::getPosition() const { - return mPosition; + return mPosition; } -# pragma mark JSURandomOutputStream +#pragma mark JSURandomOutputStream #include s32 JSUMemoryOutputStream::seek(s32 offset, JSUStreamSeekFrom origin) { - // XXX I think this is correct? could be broken. - return this->seekPos(offset, origin); + // XXX I think this is correct? could be broken. + return this->seekPos(offset, origin); } -# pragma mark JKRHeap +#pragma mark JKRHeap #include -JKRHeap* JKRHeap::sRootHeap2; // XXX this is defined for WII/SHIELD, should we just define it for dusk builds? +JKRHeap* JKRHeap::sRootHeap2; // XXX this is defined for WII/SHIELD, should we just define it for + // dusk builds? -# pragma mark mDoExt_onCupOnAupPacket +#pragma mark mDoExt_onCupOnAupPacket #include mDoExt_offCupOnAupPacket::~mDoExt_offCupOnAupPacket() { - puts("mDoExt_onCupOffAupPacket_c destructor is a stub"); + puts("mDoExt_onCupOffAupPacket_c destructor is a stub"); } -# pragma mark mDoExt_onCupOffAupPacket +#pragma mark mDoExt_onCupOffAupPacket mDoExt_onCupOffAupPacket::~mDoExt_onCupOffAupPacket() { - puts("mDoExt_onCupOffAupPacket_c destructor is a stub"); + puts("mDoExt_onCupOffAupPacket_c destructor is a stub"); } -# pragma mark mDoExt -namespace mDoExt { - u8 CurrentHeapAdjustVerbose; - u8 HeapAdjustVerbose; - u8 HeapAdjustQuiet; -}; +// #pragma mark mDoExt +// namespace mDoExt { +// u8 CurrentHeapAdjustVerbose; +// u8 HeapAdjustVerbose; +// u8 HeapAdjustQuiet; +// }; // namespace mDoExt -# pragma mark dKankyo_vrboxHIO_c +#pragma mark dKankyo_vrboxHIO_c #include void dKankyo_vrboxHIO_c::dKankyo_vrboxHIOInfoUpDateF() { - puts("dKankyo_vrboxHIO_c::dKankyo_vrboxHIOInfoUpDateF is a stub"); + puts("dKankyo_vrboxHIO_c::dKankyo_vrboxHIOInfoUpDateF is a stub"); } void dKankyo_lightHIO_c::dKankyo_lightHIOInfoUpDateF() { - puts("dKankyo_lightHIO_c::dKankyo_lightHIOInfoUpDateF is a stub"); + puts("dKankyo_lightHIO_c::dKankyo_lightHIOInfoUpDateF is a stub"); } -# pragma mark dKankyo_HIO_c +#pragma mark dKankyo_HIO_c #include dKankyo_HIO_c::dKankyo_HIO_c() { light.m_displayTVColorSettings = FALSE; @@ -1216,533 +1257,466 @@ dKankyo_navyHIO_c::dKankyo_navyHIO_c() { water_in_light_col.b = 188; } -# pragma mark AI +#pragma mark AI #include u32 AIGetDSPSampleRate(void) { - puts("AIGetDSPSampleRate is a stub"); - return 48000; // Default sample rate? + puts("AIGetDSPSampleRate is a stub"); + return 48000; // Default sample rate? } void AIInit(u8* stack) { - puts("AIInit is a stub"); - // This function initializes the AI system, but we don't have any specific implementation here. - // In a real scenario, it would set up the audio interface and prepare it for use. + puts("AIInit is a stub"); + // This function initializes the AI system, but we don't have any specific implementation here. + // In a real scenario, it would set up the audio interface and prepare it for use. } void AIInitDMA(u32 start_addr, u32 length) { - puts("AIInitDMA is a stub"); + puts("AIInitDMA is a stub"); } AIDCallback AIRegisterDMACallback(AIDCallback callback) { - puts("AIRegisterDMACallback is a stub"); - return callback; + puts("AIRegisterDMACallback is a stub"); + return callback; } void AISetDSPSampleRate(u32 rate) { - // Should this link with the getsamplerate? this is very TODO - puts("AISetDSPSampleRate is a stub"); + // Should this link with the getsamplerate? this is very TODO + puts("AISetDSPSampleRate is a stub"); } void AIStartDMA(void) { - puts("AIStartDMA is a stub"); + puts("AIStartDMA is a stub"); } void AIStopDMA(void) { - puts("AIStopDMA is a stub"); + puts("AIStopDMA is a stub"); } -# pragma mark AR +#pragma mark AR #include // Auxilary RAM doesn't exist on PC platforms, do we need to call malloc/free for these instead? // For now, we will just stub these functions. u32 ARAlloc(u32 length) { - puts("ARAlloc is a stub"); - return 0; + puts("ARAlloc is a stub"); + return 0; } u32 ARGetSize(void) { - return 0x10000; // 64KB, this is the size of the AR memory region + return 0x10000; // 64KB, this is the size of the AR memory region } u32 ARInit(u32* stack_index_addr, u32 num_entries) { - puts("ARInit is a stub"); - return 0; + puts("ARInit is a stub"); + return 0; } -# pragma mark ARQ -void ARQPostRequest(ARQRequest* request, u32 owner, u32 type, u32 priority, u32 source, u32 dest, u32 length, ARQCallback callback) { - puts("ARQPostRequest is a stub"); +#pragma mark ARQ +void ARQPostRequest(ARQRequest* request, u32 owner, u32 type, u32 priority, u32 source, u32 dest, + u32 length, ARQCallback callback) { + puts("ARQPostRequest is a stub"); } void ARQInit() { - puts("ARQInit is a stub"); + puts("ARQInit is a stub"); } -# pragma mark DVD +#pragma mark DVD #include s32 DVDCancel(volatile DVDCommandBlock* block) { - puts("DVDCancel is a stub"); - return 0; + puts("DVDCancel is a stub"); + return 0; } s32 DVDCancel(DVDCommandBlock* block) { - puts("DVDCancel is a stub"); - return 0; + puts("DVDCancel is a stub"); + return 0; } BOOL DVDChangeDir(const char* dirName) { - puts("DVDChangeDir is a stub"); - return TRUE; + puts("DVDChangeDir is a stub"); + return TRUE; } BOOL DVDCheckDisk(void) { - puts("DVDCheckDisk is a stub"); - return TRUE; + puts("DVDCheckDisk is a stub"); + return TRUE; } BOOL DVDClose(DVDFileInfo* fileInfo) { - puts("DVDClose is a stub"); - return TRUE; + puts("DVDClose is a stub"); + return TRUE; } int DVDCloseDir(DVDDir* dir) { - puts("DVDCloseDir is a stub"); - return 0; + puts("DVDCloseDir is a stub"); + return 0; } s32 DVDConvertPathToEntrynum(const char* pathPtr) { - puts("DVDConvertPathToEntrynum is a stub"); - return 0; + puts("DVDConvertPathToEntrynum is a stub"); + return 0; } BOOL DVDFastOpen(s32 entrynum, DVDFileInfo* fileInfo) { - puts("DVDFastOpen is a stub"); - return TRUE; + puts("DVDFastOpen is a stub"); + return TRUE; } s32 DVDGetCommandBlockStatus(const DVDCommandBlock* block) { - puts("DVDGetCommandBlockStatus is a stub"); - return 0; + puts("DVDGetCommandBlockStatus is a stub"); + return 0; } DVDDiskID* DVDGetCurrentDiskID(void) { - puts("DVDGetCurrentDiskID is a stub"); - return NULL; + puts("DVDGetCurrentDiskID is a stub"); + return NULL; } s32 DVDGetDriveStatus(void) { - puts("DVDGetDriveStatus is a stub"); - return 0; + puts("DVDGetDriveStatus is a stub"); + return 0; } void DVDInit(void) { - puts("DVDInit is a stub"); + puts("DVDInit is a stub"); } BOOL DVDOpen(const char* fileName, DVDFileInfo* fileInfo) { - puts("DVDOpen is a stub"); - return TRUE; + puts("DVDOpen is a stub"); + return TRUE; } int DVDOpenDir(const char* dirName, DVDDir* dir) { - puts("DVDOpenDir is a stub"); - return 0; + puts("DVDOpenDir is a stub"); + return 0; } BOOL DVDReadAsyncPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, DVDCallback callback, s32 prio) { - puts("DVDReadAsyncPrio is a stub"); - return TRUE; + puts("DVDReadAsyncPrio is a stub"); + return TRUE; } int DVDReadDir(DVDDir* dir, DVDDirEntry* dirent) { - puts("DVDReadDir is a stub"); - return 0; + puts("DVDReadDir is a stub"); + return 0; } s32 DVDReadPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, s32 prio) { - puts("DVDReadPrio is a stub"); - return 0; + puts("DVDReadPrio is a stub"); + return 0; } -void DVDReadAbsAsyncForBS(void *a, struct bb2struct *b, int c, int d, - void (*e)()) { - puts("DVDReadAbsAsyncForBS is a stub"); +void DVDReadAbsAsyncForBS(void* a, struct bb2struct* b, int c, int d, void (*e)()) { + puts("DVDReadAbsAsyncForBS is a stub"); } -void DVDReadDiskID(void *a, DVDDiskID *b, void (*c)()) { - puts("DVDReadDiskID is a stub"); +void DVDReadDiskID(void* a, DVDDiskID* b, void (*c)()) { + puts("DVDReadDiskID is a stub"); } void DVDReset() { - puts("DVDReset is a stub"); + puts("DVDReset is a stub"); } -# pragma mark GD +#pragma mark GD #include #include void GDFlushCurrToMem(void) { - puts("GDFlushCurrToMem is a stub"); + puts("GDFlushCurrToMem is a stub"); } void GDInitGDLObj(GDLObj* dl, void* start, u32 length) { - puts("GDInitGDLObj is a stub"); + puts("GDInitGDLObj is a stub"); } void GDOverflowed(void) { - puts("GDOverflowed is a stub"); + puts("GDOverflowed is a stub"); } void GDPadCurr32(void) { - puts("GDPadCurr32 is a stub"); + puts("GDPadCurr32 is a stub"); } void GDSetArray(GXAttr attr, void* base_ptr, u8 stride) { - puts("GDSetArray is a stub"); + puts("GDSetArray is a stub"); } void GDSetArrayRaw(GXAttr attr, u32 base_ptr_raw, u8 stride) { - puts("GDSetArrayRaw is a stub"); + puts("GDSetArrayRaw is a stub"); } void GDSetVtxDescv(const GXVtxDescList* attrPtr) { - puts("GDSetVtxDescv is a stub"); + puts("GDSetVtxDescv is a stub"); } -# pragma mark GX +#pragma mark GX #include // Moved-in GX helpers and helpers for metrics/project -void __GXSetSUTexSize() { puts("__GXSetSUTexSize is a stub"); } -void __GXSetVAT() { puts("__GXSetVAT is a stub"); } -void __GXSetVCD() { puts("__GXSetVCD is a stub"); } -void __GXUpdateBPMask() { puts("__GXUpdateBPMask is a stub"); } +void __GXSetSUTexSize() { + puts("__GXSetSUTexSize is a stub"); +} +void __GXSetVAT() { + puts("__GXSetVAT is a stub"); +} +void __GXSetVCD() { + puts("__GXSetVCD is a stub"); +} +void __GXUpdateBPMask() { + puts("__GXUpdateBPMask is a stub"); +} void GXSetGPMetric(GXPerf0 perf0, GXPerf1 perf1) { - // puts("GXSetGPMetric is a stub"); + // puts("GXSetGPMetric is a stub"); } -void GXReadGPMetric(u32 *cnt0, u32 *cnt1) { - // puts("GXReadGPMetric is a stub"); +void GXReadGPMetric(u32* cnt0, u32* cnt1) { + // puts("GXReadGPMetric is a stub"); } void GXClearGPMetric(void) { - // puts("GXClearGPMetric is a stub"); + // puts("GXClearGPMetric is a stub"); } -void GXReadMemMetric(u32 *cp_req, u32 *tc_req, u32 *cpu_rd_req, u32 *cpu_wr_req, - u32 *dsp_req, u32 *io_req, u32 *vi_req, u32 *pe_req, - u32 *rf_req, u32 *fi_req) { - // puts("GXReadMemMetric is a stub"); +void GXReadMemMetric(u32* cp_req, u32* tc_req, u32* cpu_rd_req, u32* cpu_wr_req, u32* dsp_req, + u32* io_req, u32* vi_req, u32* pe_req, u32* rf_req, u32* fi_req) { + // puts("GXReadMemMetric is a stub"); } void GXClearMemMetric(void) { - // puts("GXClearMemMetric is a stub"); + // puts("GXClearMemMetric is a stub"); } void GXClearVCacheMetric(void) { - // puts("GXClearVCacheMetric is a stub"); + // puts("GXClearVCacheMetric is a stub"); } -void GXReadPixMetric(u32 *top_pixels_in, u32 *top_pixels_out, - u32 *bot_pixels_in, u32 *bot_pixels_out, - u32 *clr_pixels_in, u32 *copy_clks) { - // puts("GXReadPixMetric is a stub"); +void GXReadPixMetric(u32* top_pixels_in, u32* top_pixels_out, u32* bot_pixels_in, + u32* bot_pixels_out, u32* clr_pixels_in, u32* copy_clks) { + // puts("GXReadPixMetric is a stub"); } void GXClearPixMetric(void) { - // puts("GXClearPixMetric is a stub"); + // puts("GXClearPixMetric is a stub"); } void GXSetVCacheMetric(GXVCachePerf attr) { - // puts("GXSetVCacheMetric is a stub"); + // puts("GXSetVCacheMetric is a stub"); } -void GXReadVCacheMetric(u32 *check, u32 *miss, u32 *stall) { - // puts("GXReadVCacheMetric is a stub"); +void GXReadVCacheMetric(u32* check, u32* miss, u32* stall) { + // puts("GXReadVCacheMetric is a stub"); } void GXSetDrawSync(u16 token) { - // puts("GXSetDrawSync is a stub"); + // puts("GXSetDrawSync is a stub"); } GXDrawSyncCallback GXSetDrawSyncCallback(GXDrawSyncCallback cb) { - puts("GXSetDrawSyncCallback is a stub"); - return cb; + puts("GXSetDrawSyncCallback is a stub"); + return cb; } void GXDrawCylinder(u8 numEdges) { - puts("GXDrawCylinder is a stub"); + puts("GXDrawCylinder is a stub"); } void GXWaitDrawDone(void) { - // puts("GXWaitDrawDone is a stub"); + // puts("GXWaitDrawDone is a stub"); } -void GXSetTevIndTile(GXTevStageID tev_stage, GXIndTexStageID ind_stage, - u16 tilesize_s, u16 tilesize_t, u16 tilespacing_s, - u16 tilespacing_t, GXIndTexFormat format, +void GXSetTevIndTile(GXTevStageID tev_stage, GXIndTexStageID ind_stage, u16 tilesize_s, + u16 tilesize_t, u16 tilespacing_s, u16 tilespacing_t, GXIndTexFormat format, GXIndTexMtxID matrix_sel, GXIndTexBiasSel bias_sel, GXIndTexAlphaSel alpha_sel) { - // TODO + // TODO } void GXResetWriteGatherPipe(void) { - // puts("GXResetWriteGatherPipe is a stub"); + // puts("GXResetWriteGatherPipe is a stub"); } -void GXProject(f32 x, f32 y, f32 z, const f32 mtx[3][4], const f32 *pm, - const f32 *vp, f32 *sx, f32 *sy, f32 *sz) { - Vec peye; - f32 xc; - f32 yc; - f32 zc; - f32 wc; +void GXProject(f32 x, f32 y, f32 z, const f32 mtx[3][4], const f32* pm, const f32* vp, f32* sx, + f32* sy, f32* sz) { + Vec peye; + f32 xc; + f32 yc; + f32 zc; + f32 wc; - peye.x = mtx[0][3] + ((mtx[0][2] * z) + ((mtx[0][0] * x) + (mtx[0][1] * y))); - peye.y = mtx[1][3] + ((mtx[1][2] * z) + ((mtx[1][0] * x) + (mtx[1][1] * y))); - peye.z = mtx[2][3] + ((mtx[2][2] * z) + ((mtx[2][0] * x) + (mtx[2][1] * y))); - if (pm[0] == 0.0f) { - xc = (peye.x * pm[1]) + (peye.z * pm[2]); - yc = (peye.y * pm[3]) + (peye.z * pm[4]); - zc = pm[6] + (peye.z * pm[5]); - wc = 1.0f / -peye.z; - } else { - xc = pm[2] + (peye.x * pm[1]); - yc = pm[4] + (peye.y * pm[3]); - zc = pm[6] + (peye.z * pm[5]); - wc = 1.0f; - } - *sx = (vp[2] / 2.0f) + (vp[0] + (wc * (xc * vp[2] / 2.0f))); - *sy = (vp[3] / 2.0f) + (vp[1] + (wc * (-yc * vp[3] / 2.0f))); - *sz = vp[5] + (wc * (zc * (vp[5] - vp[4]))); + peye.x = mtx[0][3] + ((mtx[0][2] * z) + ((mtx[0][0] * x) + (mtx[0][1] * y))); + peye.y = mtx[1][3] + ((mtx[1][2] * z) + ((mtx[1][0] * x) + (mtx[1][1] * y))); + peye.z = mtx[2][3] + ((mtx[2][2] * z) + ((mtx[2][0] * x) + (mtx[2][1] * y))); + if (pm[0] == 0.0f) { + xc = (peye.x * pm[1]) + (peye.z * pm[2]); + yc = (peye.y * pm[3]) + (peye.z * pm[4]); + zc = pm[6] + (peye.z * pm[5]); + wc = 1.0f / -peye.z; + } else { + xc = pm[2] + (peye.x * pm[1]); + yc = pm[4] + (peye.y * pm[3]); + zc = pm[6] + (peye.z * pm[5]); + wc = 1.0f; + } + *sx = (vp[2] / 2.0f) + (vp[0] + (wc * (xc * vp[2] / 2.0f))); + *sy = (vp[3] / 2.0f) + (vp[1] + (wc * (-yc * vp[3] / 2.0f))); + *sz = vp[5] + (wc * (zc * (vp[5] - vp[4]))); } void GXAbortFrame(void) { - puts("GXAbortFrame is a stub"); + puts("GXAbortFrame is a stub"); } void GXEnableTexOffsets(GXTexCoordID coord, u8 line_enable, u8 point_enable) { - puts("GXEnableTexOffsets is a stub"); + puts("GXEnableTexOffsets is a stub"); } OSThread* GXGetCurrentGXThread(void) { - puts("GXGetCurrentGXThread is a stub"); - return NULL; + puts("GXGetCurrentGXThread is a stub"); + return NULL; } void* GXGetFifoBase(const GXFifoObj* fifo) { - puts("GXGetFifoBase is a stub"); - return NULL; + puts("GXGetFifoBase is a stub"); + return NULL; } u32 GXGetFifoSize(const GXFifoObj* fifo) { - puts("GXGetFifoSize is a stub"); - return 0; + puts("GXGetFifoSize is a stub"); + return 0; } u16 GXGetNumXfbLines(u16 efbHeight, f32 yScale) { - puts("GXGetNumXfbLines is a stub"); - return 0; + puts("GXGetNumXfbLines is a stub"); + return 0; } void GXGetViewportv(f32* vp) { - puts("GXGetViewportv is a stub"); + puts("GXGetViewportv is a stub"); } void GXGetScissor(u32* left, u32* top, u32* wd, u32* ht) { - puts("GXGetScissor is a stub"); + puts("GXGetScissor is a stub"); } u32 GXGetTexObjTlut(const GXTexObj* tex_obj) { - puts("GXGetTexObjTlut is a stub"); - return 0; + puts("GXGetTexObjTlut is a stub"); + return 0; } f32 GXGetYScaleFactor(u16 efbHeight, u16 xfbHeight) { - puts("GXGetYScaleFactor is a stub"); - return 0.0f; + puts("GXGetYScaleFactor is a stub"); + return 0.0f; } -void GXInitTexCacheRegion(GXTexRegion* region, u8 is_32b_mipmap, u32 tmem_even, GXTexCacheSize size_even, u32 tmem_odd, GXTexCacheSize size_odd) { - puts("GXInitTexCacheRegion is a stub"); +void GXInitTexCacheRegion(GXTexRegion* region, u8 is_32b_mipmap, u32 tmem_even, + GXTexCacheSize size_even, u32 tmem_odd, GXTexCacheSize size_odd) { + puts("GXInitTexCacheRegion is a stub"); } // XXX, this should be some struct? -GXRenderModeObj GXNtsc480IntDf; +//GXRenderModeObj GXNtsc480IntDf; GXRenderModeObj GXNtsc480Int; void GXPeekZ(u16 x, u16 y, u32* z) { - puts("GXPeekZ is a stub"); - *z = 0; + puts("GXPeekZ is a stub"); + *z = 0; } void GXReadXfRasMetric(u32* xf_wait_in, u32* xf_wait_out, u32* ras_busy, u32* clocks) { - puts("GXReadXfRasMetric is a stub"); - *xf_wait_in = 0; - *xf_wait_out = 0; - *ras_busy = 0; - *clocks = 0; + puts("GXReadXfRasMetric is a stub"); + *xf_wait_in = 0; + *xf_wait_out = 0; + *ras_busy = 0; + *clocks = 0; } void GXSetClipMode(GXClipMode mode) { - puts("GXSetClipMode is a stub"); + puts("GXSetClipMode is a stub"); } void GXSetCoPlanar(GXBool enable) { - puts("GXSetCoPlanar is a stub"); + puts("GXSetCoPlanar is a stub"); } void GXSetCopyClamp(GXFBClamp clamp) { - puts("GXSetCopyClamp is a stub"); + puts("GXSetCopyClamp is a stub"); } OSThread* GXSetCurrentGXThread(void) { - puts("GXSetCurrentGXThread is a stub"); - return NULL; + puts("GXSetCurrentGXThread is a stub"); + return NULL; } -void GXSetFogRangeAdj(GXBool enable, u16 center, const GXFogAdjTable *table) { - puts("GXSetFogRangeAdj is a stub"); +void GXSetFogRangeAdj(GXBool enable, u16 center, const GXFogAdjTable* table) { + puts("GXSetFogRangeAdj is a stub"); } void GXSetMisc(GXMiscToken token, u32 val) { - puts("GXSetMisc is a stub"); + puts("GXSetMisc is a stub"); } void GXSetPointSize(u8 pointSize, GXTexOffset texOffsets) { - puts("GXSetPointSize is a stub"); + puts("GXSetPointSize is a stub"); } void GXSetProjectionv(const f32* ptr) { - puts("GXSetProjectionv is a stub"); + puts("GXSetProjectionv is a stub"); } void GXSetVtxAttrFmtv(GXVtxFmt vtxfmt, const GXVtxAttrFmtList* list) { - puts("GXSetVtxAttrFmtv is a stub"); + puts("GXSetVtxAttrFmtv is a stub"); } -# pragma mark KPAD +#pragma mark KPAD // is this actually used? extern "C" void KPADDisableDPD(s32) { - puts("KPADDisableDPD is a stub"); - + puts("KPADDisableDPD is a stub"); } extern "C" void KPADEnableDPD(s32) { - puts("KPADEnableDPD is a stub"); + puts("KPADEnableDPD is a stub"); } // LC (consolidated above) void LCDisable(void) { - puts("LCDisable is a stub"); + puts("LCDisable is a stub"); } void LCQueueWait(__REGISTER u32 len) { - puts("LCQueueWait is a stub"); + puts("LCQueueWait is a stub"); } u32 LCStoreData(void* destAddr, void* srcAddr, u32 nBytes) { - puts("LCStoreData is a stub"); - return 0; + puts("LCStoreData is a stub"); + return 0; } -# pragma mark PPC Arch +#pragma mark PPC Arch // MSR stuff? -void PPCHalt() { puts("PPCHalt is a stub"); } +void PPCHalt() { + puts("PPCHalt is a stub"); +} extern "C" void PPCSync(void) { - // puts("PPCSync is a stub"); + // puts("PPCSync is a stub"); } u32 PPCMfhid2() { - puts("PPCMfhid2 is a stub"); - return 0; + puts("PPCMfhid2 is a stub"); + return 0; } u32 PPCMfmsr() { - puts("PPCMfmsr is a stub"); - return 0; + puts("PPCMfmsr is a stub"); + return 0; } void PPCMtmsr(u32 newMSR) { - puts("PPCMtmsr is a stub"); + puts("PPCMtmsr is a stub"); } -# pragma mark WPAD +#pragma mark WPAD // uh.. this is revolution include not dolphin? typedef void (*WPADExtensionCallback)(s32 chan, s32 devType); extern "C" WPADExtensionCallback WPADSetExtensionCallback(s32 chan, WPADExtensionCallback cb) { - puts("WPADSetExtensionCallback is a stub"); - return cb; + puts("WPADSetExtensionCallback is a stub"); + return cb; } -# pragma mark GF +#pragma mark GF #include void GFSetZMode(u8 compare_enable, GXCompare func, u8 update_enable) { - puts("GFSetZMode is a stub"); + puts("GFSetZMode is a stub"); } void GFSetGenMode2(u8 nTexGens, u8 nChans, u8 nTevs, u8 nInds, GXCullMode cm) { - puts("GFSetGenMode2 is a stub"); + puts("GFSetGenMode2 is a stub"); } void GFSetTevColorS10(GXTevRegID reg, GXColorS10 color) { - puts("GFSetTevColorS10 is a stub"); + puts("GFSetTevColorS10 is a stub"); } -void GFSetBlendModeEtc(GXBlendMode type, GXBlendFactor src_factor, - GXBlendFactor dst_factor, GXLogicOp logic_op, - u8 color_update_enable, u8 alpha_update_enable, +void GFSetBlendModeEtc(GXBlendMode type, GXBlendFactor src_factor, GXBlendFactor dst_factor, + GXLogicOp logic_op, u8 color_update_enable, u8 alpha_update_enable, u8 dither_enable) { - puts("GFSetBlendModeEtc is a stub"); + puts("GFSetBlendModeEtc is a stub"); } void GFSetChanAmbColor(GXChannelID chan, GXColor color) { - puts("GFSetChanAmbColor is a stub"); + puts("GFSetChanAmbColor is a stub"); } void GFSetFog(GXFogType type, f32 startz, f32 endz, f32 nearz, f32 farz, GXColor color) { - puts("GFSetFog is a stub"); + puts("GFSetFog is a stub"); } -# pragma mark DEBUGPAD +#pragma mark DEBUGPAD #include dDebugPad_c::dDebugPad_c() { - puts("constructing debug pad, stubbed?"); + puts("constructing debug pad, stubbed?"); } -# pragma mark f_ap +#pragma mark f_ap #include u8 fapGm_HIO_c::mCaptureScreenDivH = 1; -# pragma mark dMsgObject +#pragma mark dMsgObject #include -void dMsgObject_c::setSelectWordFlag(u8 flag) { - puts("dMsgObject_c::setSelectWordFlag is a stub"); -} +// void dMsgObject_c::setSelectWordFlag(u8 flag) { +// puts("dMsgObject_c::setSelectWordFlag is a stub"); +// } void dMsgObject_c::setWord(const char* i_word) { - puts("dMsgObject_c::setWord is a stub"); + puts("dMsgObject_c::setWord is a stub"); } void dMsgObject_c::setSelectWord(int i_no, const char* i_word) { - puts("dMsgObject_c::setSelectWord is a stub"); -} -<<<<<<< HEAD -======= - -#pragma mark HIO -#include -#include -BOOL HIO2Close(s32 handle) { - puts("HIO2Close is a stub"); - return FALSE; + puts("dMsgObject_c::setSelectWord is a stub"); } -BOOL HIO2EnumDevices(HIO2EnumCallback callback) { - puts("HIO2EnumDevices is a stub"); - return FALSE; +#pragma mark dMeter2Info +#include +void dMeter2Info_c::getString(u32 i_stringID, char* o_string, JMSMesgEntry_c* i_msgEntry) { + puts("dMeter2Info_c::getString is a stub"); +} +void dMeter2Info_c::getStringKanji(u32 i_stringID, char* o_string, JMSMesgEntry_c* i_msgEntry) { + puts("dMeter2Info_c::getStringKanji is a stub"); } -BOOL HIO2Init(void) { - puts("HIO2Init is a stub"); - return FALSE; -} +dPa_particleTracePcallBack_c JPTracePCB4; -s32 HIO2Open(HIO2DeviceType type, HIO2UnkCallback exiCb, HIO2DisconnectCallback disconnectCb) { - puts("HIO2Open is a stub"); - return 0; -} -BOOL HIO2Read(s32 handle, u32 addr, void* buffer, s32 size) { - puts("HIO2Read is a stub"); - return FALSE; -} -BOOL HIO2Write(s32 handle, u32 addr, void* buffer, s32 size) { - puts("HIO2Write is a stub"); - return FALSE; -} - -BOOL HIORead(u32 addr, void* buffer, s32 size) { - puts("HIORead is a stub"); - return FALSE; -} - -BOOL HIOWrite(u32 addr, void* buffer, s32 size) { - puts("HIOWrite is a stub"); - return FALSE; -} - -#pragma mark JHICommBuf -#include -void JHICommBufHeader::init() { - puts("JHICommBufHeader::init is a stub"); -} - -int JHICommBufHeader::load() { - puts("JHICommBufHeader::load is a stub"); -} - -int JHICommBufReader::read(void*, int) { - puts("JHICommBufReader::read is a stub"); - return 0; -} -void JHICommBufReader::readEnd() { - puts("JHICommBufReader::readEnd is a stub"); -} - -int JHICommBufReader::readBegin() { - puts("JHICommBufReader::readBegin is a stub"); -} - -int JHICommBufWriter::writeBegin() { - puts("JHICommBufWriter::writeBegin is a stub"); - return 0; -} - -int JHICommBufWriter::write(void*, int) { - puts("JHICommBufWriter::write is a stub"); - return 0; -} - -void JHICommBufWriter::writeEnd() { - puts("JHICommBufWriter::writeEnd is a stub"); -} - -u32 JHICommBufReader::Header::getReadableSize() const { - puts("JHICommBufReader::Header::getReadableSize is a stub"); - return 0; -} ->>>>>>> wip/linkfix2 diff --git a/src/f_op/f_op_msg_mng.cpp b/src/f_op/f_op_msg_mng.cpp index 9442a807a6..c0b6dd060a 100644 --- a/src/f_op/f_op_msg_mng.cpp +++ b/src/f_op/f_op_msg_mng.cpp @@ -248,7 +248,7 @@ u8 fopMsgM_itemNumIdx(u8 i_no) { return itemicon[i_no] & 0xFF; } -f32 dummy() { +static f32 dummy() { J2DPane* dummyPlane = NULL; dummyPlane->getAlpha(); dummyPlane->getHeight(); diff --git a/src/f_pc/f_pc_profile.cpp b/src/f_pc/f_pc_profile.cpp index 4a4f9a1d8b..e6d2933ada 100644 --- a/src/f_pc/f_pc_profile.cpp +++ b/src/f_pc/f_pc_profile.cpp @@ -5,7 +5,16 @@ #include "f_pc/f_pc_profile.h" + +#ifndef __MWERKS__ +// Forward declare the static list from f_pc_profile_lst.cpp +extern process_profile_definition* g_fpcPfLst_ProfileList[]; +// On PC: Direct pointer to static array +process_profile_definition** g_fpcPf_ProfileList_p = g_fpcPfLst_ProfileList; +#else +// On Console: Pointer initialized by REL module prolog process_profile_definition** g_fpcPf_ProfileList_p; +#endif process_profile_definition* fpcPf_Get(s16 i_profname) { int index = i_profname; diff --git a/src/f_pc/f_pc_profile_lst.cpp b/src/f_pc/f_pc_profile_lst.cpp index 2ccc40684d..b55847533c 100644 --- a/src/f_pc/f_pc_profile_lst.cpp +++ b/src/f_pc/f_pc_profile_lst.cpp @@ -5,6 +5,8 @@ #include "f_pc/f_pc_profile_lst.h" + +#ifdef __MWERKS__ process_profile_definition* g_fpcPfLst_ProfileList[] = { &g_profile_OVERLAP0, &g_profile_OVERLAP1, @@ -800,7 +802,6 @@ process_profile_definition* g_fpcPfLst_ProfileList[] = { &g_profile_GAMEOVER, NULL, }; - extern "C" void ModuleProlog() { g_fpcPf_ProfileList_p = g_fpcPfLst_ProfileList; } @@ -808,3 +809,801 @@ extern "C" void ModuleProlog() { extern "C" void ModuleEpilog() { g_fpcPf_ProfileList_p = NULL; } + +#else +process_profile_definition* g_fpcPfLst_ProfileList[] = { + &g_profile_OVERLAP0.base.base, + &g_profile_OVERLAP1.base.base, + &g_profile_OVERLAP3.base.base, + &g_profile_OVERLAP6.base.base, + &g_profile_OVERLAP7.base.base, + &g_profile_OVERLAP8.base.base, + &g_profile_OVERLAP9.base.base, + &g_profile_OVERLAP10.base.base, + &g_profile_OVERLAP11.base.base, + &g_profile_LOGO_SCENE.base.base, + &g_profile_MENU_SCENE.base.base, + &g_profile_PLAY_SCENE.base.base, + &g_profile_OPENING_SCENE.base.base, + &g_profile_NAME_SCENE.base.base, + &g_profile_NAMEEX_SCENE.base.base, + &g_profile_WARNING_SCENE.base.base, + &g_profile_WARNING2_SCENE.base.base, + &g_profile_OVERLAP2.base.base, + &g_profile_ROOM_SCENE.base.base, + &g_profile_KANKYO.base.base, + &g_profile_ALLDIE.base.base, + &g_profile_ENVSE.base.base, + &g_profile_Obj_Swpush.base.base, + &g_profile_Obj_Swpush2.base.base, + &g_profile_Obj_Swpush5.base.base, + &g_profile_Tag_Gstart.base.base, + &g_profile_NO_CHG_ROOM.base.base, + &g_profile_Obj_Lv6ElevtA.base.base, + &g_profile_OBJ_SO.base.base, + &g_profile_Obj_Movebox.base.base, + &g_profile_Obj_SwTurn.base.base, + &g_profile_Obj_Lv6SwTurn.base.base, + &g_profile_OBJ_SEKIZOA.base.base, + &g_profile_OBJ_GRA.base.base, + &g_profile_TAG_GRA.base.base, + &g_profile_TAG_YAMI.base.base, + &g_profile_Obj_Ladder.base.base, + &g_profile_OBJ_BEF.base.base, + &g_profile_OBJ_FMOBJ.base.base, + &g_profile_OBJ_LBOX.base.base, + &g_profile_OBJ_WEB0.base.base, + &g_profile_OBJ_WEB1.base.base, + &g_profile_OBJ_CB.base.base, + &g_profile_OBJ_MAKI.base.base, + &g_profile_OBJ_BRG.base.base, + &g_profile_OBJ_GB.base.base, + &g_profile_OBJ_GM.base.base, + &g_profile_OBJ_TOBY.base.base, + &g_profile_OBJ_TP.base.base, + &g_profile_TREESH.base.base, + &g_profile_Obj_ZDoor.base.base, + &g_profile_Obj_Pillar.base.base, + &g_profile_Obj_Cdoor.base.base, + &g_profile_GRDWATER.base.base, + &g_profile_Obj_RotBridge.base.base, + &g_profile_Obj_MagLift.base.base, + &g_profile_Obj_MagLiftRot.base.base, + &g_profile_Obj_Lv1Cdl00.base.base, + &g_profile_Obj_Lv1Cdl01.base.base, + &g_profile_Obj_TvCdlst.base.base, + &g_profile_Obj_HsTarget.base.base, + &g_profile_Obj_HeavySw.base.base, + &g_profile_Obj_GoGate.base.base, + &g_profile_Obj_TaFence.base.base, + &g_profile_Obj_Saidan.base.base, + &g_profile_Obj_SpinLift.base.base, + &g_profile_Obj_BmWindow.base.base, + &g_profile_Obj_RfHole.base.base, + &g_profile_Obj_WaterPillar.base.base, + &g_profile_Obj_SyRock.base.base, + &g_profile_Obj_BsGate.base.base, + &g_profile_Obj_AmiShutter.base.base, + &g_profile_Obj_WtGate.base.base, + &g_profile_Obj_Lv2Candle.base.base, + &g_profile_Obj_TogeTrap.base.base, + &g_profile_Obj_RotTrap.base.base, + &g_profile_Obj_SwallShutter.base.base, + &g_profile_Obj_IceWall.base.base, + &g_profile_Obj_Lv5SwIce.base.base, + &g_profile_Obj_Lv5FBoard.base.base, + &g_profile_Obj_Turara.base.base, + &g_profile_Obj_TwGate.base.base, + &g_profile_Obj_Digholl.base.base, + &g_profile_Obj_Digpl.base.base, + &g_profile_Obj_TestCube.base.base, + &g_profile_Obj_Kshutter.base.base, + &g_profile_NPC_COACH.base.base, + &g_profile_NPC_THEB.base.base, + &g_profile_COACH_FIRE.base.base, + &g_profile_COACH2D.base.base, + &g_profile_BALLOON2D.base.base, + &g_profile_SKIP2D.base.base, + &g_profile_Obj_MvStair.base.base, + &g_profile_Obj_Cowdoor.base.base, + &g_profile_Obj_Swpropeller.base.base, + &g_profile_Obj_BoomShutter.base.base, + &g_profile_NPC_KS.base.base, + &g_profile_Obj_Hfuta.base.base, + &g_profile_Obj_BkDoor.base.base, + &g_profile_Obj_Cboard.base.base, + &g_profile_Obj_MGate.base.base, + &g_profile_Obj_Ikada.base.base, + &g_profile_Obj_Ice_l.base.base, + &g_profile_Obj_Ice_s.base.base, + &g_profile_Obj_E_CREATE.base.base, + &g_profile_Obj_Bhbridge.base.base, + &g_profile_Obj_Kaisou.base.base, + &g_profile_Obj_HHASHI.base.base, + &g_profile_Obj_BHASHI.base.base, + &g_profile_OCTHASHI.base.base, + &g_profile_Obj_THASHI.base.base, + &g_profile_Obj_CRVGATE.base.base, + &g_profile_Obj_CRVFENCE.base.base, + &g_profile_Obj_CRVHAHEN.base.base, + &g_profile_Obj_CRVSTEEL.base.base, + &g_profile_Obj_CRVLH_UP.base.base, + &g_profile_Obj_CRVLH_DW.base.base, + &g_profile_Obj_RIVERROCK.base.base, + &g_profile_Obj_DUST.base.base, + &g_profile_Obj_ITA.base.base, + &g_profile_Obj_Window.base.base, + &g_profile_Obj_MetalBox.base.base, + &g_profile_Obj_BBox.base.base, + &g_profile_OBJ_MSIMA.base.base, + &g_profile_OBJ_MYOGAN.base.base, + &g_profile_B_ZANTS.base.base, + &g_profile_Obj_ChainBlock.base.base, + &g_profile_Obj_ChainWall.base.base, + &g_profile_Obj_KkrGate.base.base, + &g_profile_Obj_RiderGate.base.base, + &g_profile_Obj_Onsen.base.base, + &g_profile_Obj_Chest.base.base, + &g_profile_Obj_Bemos.base.base, + &g_profile_Obj_RopeBridge.base.base, + &g_profile_Obj_WellCover.base.base, + &g_profile_Obj_GraveStone.base.base, + &g_profile_Obj_ZraRock.base.base, + &g_profile_Obj_GraRock.base.base, + &g_profile_Obj_GrzRock.base.base, + &g_profile_GRA_WALL.base.base, + &g_profile_OBJ_ONSEN_FIRE.base.base, + &g_profile_Obj_Lv6bemos.base.base, + &g_profile_Obj_Lv6bemos2.base.base, + &g_profile_Obj_BarDesk.base.base, + &g_profile_Obj_DigSnow.base.base, + &g_profile_Obj_Ytaihou.base.base, + &g_profile_Obj_Elevator.base.base, + &g_profile_Obj_Lv6TogeRoll.base.base, + &g_profile_Obj_Lv6TogeTrap.base.base, + &g_profile_Obj_Lv6Tenbin.base.base, + &g_profile_Obj_Lv6SwGate.base.base, + &g_profile_Obj_Lv6Lblock.base.base, + &g_profile_Obj_Lv6ChgGate.base.base, + &g_profile_Obj_Lv6FuriTrap.base.base, + &g_profile_Obj_Lv6SzGate.base.base, + &g_profile_Obj_Lv4EdShutter.base.base, + &g_profile_Obj_Lv4Gate.base.base, + &g_profile_Obj_Lv4PoGate.base.base, + &g_profile_Obj_Lv4SlideWall.base.base, + &g_profile_Obj_Lv4HsTarget.base.base, + &g_profile_Obj_Lv7PropY.base.base, + &g_profile_Obj_Lv7BsGate.base.base, + &g_profile_Obj_Lv8OptiLift.base.base, + &g_profile_Obj_Lv8KekkaiTrap.base.base, + &g_profile_Obj_Lv8Lift.base.base, + &g_profile_Obj_Lv8UdFloor.base.base, + &g_profile_Obj_Lv9SwShutter.base.base, + &g_profile_Obj_TobyHouse.base.base, + &g_profile_Obj_poCandle.base.base, + &g_profile_Obj_Lv4DigSand.base.base, + &g_profile_Obj_FallObj.base.base, + &g_profile_Obj_SmgDoor.base.base, + &g_profile_Obj_SwLight.base.base, + &g_profile_Obj_Avalanche.base.base, + &g_profile_Obj_MirrorScrew.base.base, + &g_profile_Obj_MirrorSand.base.base, + &g_profile_Obj_MirrorTable.base.base, + &g_profile_Obj_MirrorChain.base.base, + &g_profile_Obj_Mirror6Pole.base.base, + &g_profile_Obj_SwSpinner.base.base, + &g_profile_Obj_TDoor.base.base, + &g_profile_Obj_Lv7Bridge.base.base, + &g_profile_Obj_zrTurara.base.base, + &g_profile_Obj_TakaraDai.base.base, + &g_profile_Obj_Table.base.base, + &g_profile_Obj_CatDoor.base.base, + &g_profile_Obj_Gake.base.base, + &g_profile_CSTAF.base.base, + &g_profile_Obj_Lv4RailWall.base.base, + &g_profile_Obj_Lv4Sand.base.base, + &g_profile_Obj_PushDoor.base.base, + &g_profile_PushDoor.base.base, + &g_profile_Obj_GanonWall2.base.base, + &g_profile_Obj_Lv4Bridge.base.base, + &g_profile_Obj_Lv4Floor.base.base, + &g_profile_Tag_Spinner.base.base, + &g_profile_Obj_SwHang.base.base, + &g_profile_Obj_RotStair.base.base, + &g_profile_Obj_MagneArm.base.base, + &g_profile_Obj_KWheel00.base.base, + &g_profile_Obj_KWheel01.base.base, + &g_profile_Obj_Ychndlr.base.base, + &g_profile_Obj_PRElvtr.base.base, + &g_profile_Obj_MHasu.base.base, + &g_profile_Obj_YIblltray.base.base, + &g_profile_Obj_Lv6EGate.base.base, + &g_profile_Obj_PDtile.base.base, + &g_profile_Obj_PDwall.base.base, + &g_profile_Obj_Lv4PRwall.base.base, + &g_profile_Obj_KLift00.base.base, + &g_profile_B_OH.base.base, + &g_profile_Obj_Lv4Chan.base.base, + &g_profile_Obj_Lv3R10Saka.base.base, + &g_profile_Obj_Lv3Water.base.base, + &g_profile_Obj_Lv3Water2.base.base, + &g_profile_OBJ_LV3WATERB.base.base, + &g_profile_Obj_HBombkoya.base.base, + &g_profile_Obj_SZbridge.base.base, + &g_profile_Obj_KakarikoBrg.base.base, + &g_profile_Obj_OrdinBrg.base.base, + &g_profile_Obj_BurnBox.base.base, + &g_profile_Obj_KJgjs.base.base, + &g_profile_OBJ_IHASI.base.base, + &g_profile_Obj_IceBlock.base.base, + &g_profile_Obj_VolcanicBall.base.base, + &g_profile_Obj_VolcanicBomb.base.base, + &g_profile_Obj_VolcGnd.base.base, + &g_profile_Obj_KKanban.base.base, + &g_profile_E_PH.base.base, + &g_profile_NPC_ZRA.base.base, + &g_profile_Obj_Chandelier.base.base, + &g_profile_Obj_Stopper2.base.base, + &g_profile_DOOR20.base.base, + &g_profile_Tag_Hinit.base.base, + &g_profile_Tag_Hjump.base.base, + &g_profile_Tag_AJnot.base.base, + &g_profile_Tag_Hstop.base.base, + &g_profile_CANOE.base.base, + &g_profile_HORSE.base.base, + &g_profile_E_WB.base.base, + &g_profile_OBJ_ITO.base.base, + &g_profile_OBJ_SW.base.base, + &g_profile_SPINNER.base.base, + &g_profile_B_OB.base.base, + &g_profile_KAGO.base.base, + &g_profile_E_YC.base.base, + &g_profile_B_DS.base.base, + &g_profile_B_DR.base.base, + &g_profile_B_ZANTZ.base.base, + &g_profile_B_ZANT.base.base, + &g_profile_B_ZANTM.base.base, + &g_profile_TBOX.base.base, + &g_profile_TBOX2.base.base, + &g_profile_ALINK.base.base, + &g_profile_BOOMERANG.base.base, + &g_profile_MIDNA.base.base, + &g_profile_NPC_TK.base.base, + &g_profile_NPC_WORM.base.base, + &g_profile_PPolamp.base.base, + &g_profile_BkyRock.base.base, + &g_profile_HITOBJ.base.base, + &g_profile_EP.base.base, + &g_profile_COW.base.base, + &g_profile_PERU.base.base, + &g_profile_NI.base.base, + &g_profile_NPC_TKJ2.base.base, + &g_profile_SQ.base.base, + &g_profile_NPC_SQ.base.base, + &g_profile_DO.base.base, + &g_profile_NPC_NE.base.base, + &g_profile_NPC_TR.base.base, + &g_profile_NPC_LF.base.base, + &g_profile_OBJ_FOOD.base.base, + &g_profile_OBJ_KI.base.base, + &g_profile_OBJ_KITA.base.base, + &g_profile_OBJ_KEY.base.base, + &g_profile_OBJ_KEYHOLE.base.base, + &g_profile_Obj_Lv5Key.base.base, + &g_profile_OBJ_LP.base.base, + &g_profile_OBJ_TATIGI.base.base, + &g_profile_OBJ_ROCK.base.base, + &g_profile_OBJ_WFLAG.base.base, + &g_profile_OBJ_KAGE.base.base, + &g_profile_OBJ_KANBAN2.base.base, + &g_profile_OBJ_BALLOON.base.base, + &g_profile_OBJ_SUISYA.base.base, + &g_profile_OBJ_OILTUBO.base.base, + &g_profile_OBJ_ROTEN.base.base, + &g_profile_OBJ_SSDRINK.base.base, + &g_profile_OBJ_SSITEM.base.base, + &g_profile_TAG_SSDRINK.base.base, + &g_profile_TAG_BTLITM.base.base, + &g_profile_TAG_LV5SOUP.base.base, + &g_profile_TAG_MNLIGHT.base.base, + &g_profile_TAG_SHOPCAM.base.base, + &g_profile_TAG_SHOPITM.base.base, + &g_profile_OBJ_NDOOR.base.base, + &g_profile_OBJ_UDOOR.base.base, + &g_profile_OBJ_USAKU.base.base, + &g_profile_Obj_SM_DOOR.base.base, + &g_profile_OBJ_BED.base.base, + &g_profile_OBJ_BOUMATO.base.base, + &g_profile_OBJ_ITAMATO.base.base, + &g_profile_OBJ_NOUGU.base.base, + &g_profile_OBJ_STICK.base.base, + &g_profile_OBJ_MIE.base.base, + &g_profile_OBJ_SEKIDOOR.base.base, + &g_profile_OBJ_SEKIZO.base.base, + &g_profile_OBJ_SMTILE.base.base, + &g_profile_NPC_FISH.base.base, + &g_profile_MG_FISH.base.base, + &g_profile_FSHOP.base.base, + &g_profile_NPC_DU.base.base, + &g_profile_DISAPPEAR.base.base, + &g_profile_Obj_Mato.base.base, + &g_profile_Obj_Flag.base.base, + &g_profile_Obj_Flag2.base.base, + &g_profile_Obj_Flag3.base.base, + &g_profile_Obj_GOMIKABE.base.base, + &g_profile_Obj_Yousei.base.base, + &g_profile_Obj_Kabuto.base.base, + &g_profile_Obj_Cho.base.base, + &g_profile_Obj_Kuw.base.base, + &g_profile_Obj_Nan.base.base, + &g_profile_Obj_Dan.base.base, + &g_profile_Obj_Kam.base.base, + &g_profile_Obj_Ten.base.base, + &g_profile_Obj_Ari.base.base, + &g_profile_Obj_Kag.base.base, + &g_profile_Obj_Batta.base.base, + &g_profile_Obj_Tombo.base.base, + &g_profile_Obj_Kat.base.base, + &g_profile_Obj_H_Saku.base.base, + &g_profile_Obj_Yobikusa.base.base, + &g_profile_Obj_KazeNeko.base.base, + &g_profile_Obj_KznkArm.base.base, + &g_profile_Obj_NamePlate.base.base, + &g_profile_Obj_OnCloth.base.base, + &g_profile_Obj_LndRope.base.base, + &g_profile_Obj_ItaRope.base.base, + &g_profile_Obj_Sakuita.base.base, + &g_profile_Obj_Laundry.base.base, + &g_profile_WarpBug.base.base, + &g_profile_Izumi_Gate.base.base, + &g_profile_Obj_Fchain.base.base, + &g_profile_Obj_Wchain.base.base, + &g_profile_Tag_Attp.base.base, + &g_profile_Obj_Tornado.base.base, + &g_profile_Obj_Tornado2.base.base, + &g_profile_Obj_FirePillar.base.base, + &g_profile_Obj_FirePillar2.base.base, + &g_profile_Obj_InoBone.base.base, + &g_profile_Obj_Stopper.base.base, + &g_profile_Obj_MHole.base.base, + &g_profile_Tag_Magne.base.base, + &g_profile_Obj_BossWarp.base.base, + &g_profile_Obj_WoodPendulum.base.base, + &g_profile_Obj_WdStick.base.base, + &g_profile_Obj_StairBlock.base.base, + &g_profile_Obj_Geyser.base.base, + &g_profile_Tag_KtOnFire.base.base, + &g_profile_Obj_FireWood.base.base, + &g_profile_Obj_FireWood2.base.base, + &g_profile_Obj_GpTaru.base.base, + &g_profile_Obj_OnsenTaru.base.base, + &g_profile_Obj_KiPot.base.base, + &g_profile_TBOX_SW.base.base, + &g_profile_Obj_SwChain.base.base, + &g_profile_Obj_WoodenSword.base.base, + &g_profile_Obj_StoneMark.base.base, + &g_profile_Obj_Lv3Candle.base.base, + &g_profile_Tag_Lv4Candle.base.base, + &g_profile_Tag_Lv4CandleDm.base.base, + &g_profile_Obj_DamCps.base.base, + &g_profile_Obj_Smoke.base.base, + &g_profile_Obj_WaterFall.base.base, + &g_profile_Obj_ZoraCloth.base.base, + &g_profile_Obj_poFire.base.base, + &g_profile_Tag_poFire.base.base, + &g_profile_Obj_glowSphere.base.base, + &g_profile_Tag_LightBall.base.base, + &g_profile_SwLBall.base.base, + &g_profile_SwBall.base.base, + &g_profile_Obj_WaterEff.base.base, + &g_profile_Tag_RiverBack.base.base, + &g_profile_Tag_KagoFall.base.base, + &g_profile_Tag_Lv2PrChk.base.base, + &g_profile_Obj_Lv4Gear.base.base, + &g_profile_Obj_MasterSword.base.base, + &g_profile_Obj_WoodStatue.base.base, + &g_profile_Obj_Fan.base.base, + &g_profile_Obj_IceLeaf.base.base, + &g_profile_Obj_zrTuraraRc.base.base, + &g_profile_Tag_RetRoom.base.base, + &g_profile_Obj_WindStone.base.base, + &g_profile_Tag_WaraHowl.base.base, + &g_profile_Obj_SCannon.base.base, + &g_profile_Obj_SmWStone.base.base, + &g_profile_Obj_SCannonCrs.base.base, + &g_profile_Tag_SnowEff.base.base, + &g_profile_Tag_CstaSw.base.base, + &g_profile_Tag_Lv6CstaSw.base.base, + &g_profile_Obj_awaPlar.base.base, + &g_profile_Obj_poTbox.base.base, + &g_profile_Obj_TimeFire.base.base, + &g_profile_Obj_TMoon.base.base, + &g_profile_Obj_GanonWall.base.base, + &g_profile_Obj_Prop.base.base, + &g_profile_CSTATUE.base.base, + &g_profile_Obj_SwBallA.base.base, + &g_profile_Obj_SwBallB.base.base, + &g_profile_Obj_SnowSoup.base.base, + &g_profile_Obj_Nagaisu.base.base, + &g_profile_Obj_RCircle.base.base, + &g_profile_Obj_Picture.base.base, + &g_profile_Tag_SetBall.base.base, + &g_profile_Tag_SmkEmt.base.base, + &g_profile_SwTime.base.base, + &g_profile_Obj_HFtr.base.base, + &g_profile_Obj_HBarrel.base.base, + &g_profile_Obj_Crystal.base.base, + &g_profile_Obj_SCannonTen.base.base, + &g_profile_Obj_SwBallC.base.base, + &g_profile_SCENE_EXIT2.base.base, + &g_profile_Obj_Hata.base.base, + &g_profile_Obj_ToaruMaki.base.base, + &g_profile_Tag_AttackItem.base.base, + &g_profile_Tag_RmbitSw.base.base, + &g_profile_Obj_Sword.base.base, + &g_profile_Tag_Spring.base.base, + &g_profile_Tag_Statue.base.base, + &g_profile_E_AI.base.base, + &g_profile_E_GS.base.base, + &g_profile_E_GOB.base.base, + &g_profile_E_DD.base.base, + &g_profile_E_DN.base.base, + &g_profile_E_S1.base.base, + &g_profile_E_MF.base.base, + &g_profile_E_SG.base.base, + &g_profile_E_BS.base.base, + &g_profile_E_SF.base.base, + &g_profile_E_SH.base.base, + &g_profile_E_DF.base.base, + &g_profile_E_GM.base.base, + &g_profile_E_MD.base.base, + &g_profile_E_SM.base.base, + &g_profile_E_SM2.base.base, + &g_profile_E_ST.base.base, + &g_profile_E_ST_LINE.base.base, + &g_profile_E_SB.base.base, + &g_profile_E_TH.base.base, + &g_profile_E_CR.base.base, + &g_profile_E_CR_EGG.base.base, + &g_profile_E_DB.base.base, + &g_profile_E_DB_LEAF.base.base, + &g_profile_E_GA.base.base, + &g_profile_E_GB.base.base, + &g_profile_E_HB.base.base, + &g_profile_E_HB_LEAF.base.base, + &g_profile_E_HZELDA.base.base, + &g_profile_E_YD.base.base, + &g_profile_E_YH.base.base, + &g_profile_E_YD_LEAF.base.base, + &g_profile_E_HM.base.base, + &g_profile_E_TK.base.base, + &g_profile_E_TK2.base.base, + &g_profile_E_TK_BALL.base.base, + &g_profile_E_RB.base.base, + &g_profile_E_RD.base.base, + &g_profile_E_RDB.base.base, + &g_profile_E_RDY.base.base, + &g_profile_E_FM.base.base, + &g_profile_E_FS.base.base, + &g_profile_E_PM.base.base, + &g_profile_E_PO.base.base, + &g_profile_E_MB.base.base, + &g_profile_E_MK.base.base, + &g_profile_E_MM.base.base, + &g_profile_E_FZ.base.base, + &g_profile_E_ZS.base.base, + &g_profile_E_KK.base.base, + &g_profile_E_HP.base.base, + &g_profile_E_ZH.base.base, + &g_profile_E_ZM.base.base, + &g_profile_E_PZ.base.base, + &g_profile_E_FB.base.base, + &g_profile_E_FK.base.base, + &g_profile_E_MS.base.base, + &g_profile_E_NEST.base.base, + &g_profile_E_NZ.base.base, + &g_profile_E_BA.base.base, + &g_profile_E_BU.base.base, + &g_profile_E_BUG.base.base, + &g_profile_E_BEE.base.base, + &g_profile_E_IS.base.base, + &g_profile_E_KG.base.base, + &g_profile_E_KR.base.base, + &g_profile_E_SW.base.base, + &g_profile_E_GE.base.base, + &g_profile_Tag_WatchGe.base.base, + &g_profile_E_YM.base.base, + &g_profile_E_YM_TAG.base.base, + &g_profile_E_YMB.base.base, + &g_profile_Tag_FWall.base.base, + &g_profile_Tag_WaterFall.base.base, + &g_profile_E_YK.base.base, + &g_profile_E_YR.base.base, + &g_profile_E_YG.base.base, + &g_profile_E_HZ.base.base, + &g_profile_E_WS.base.base, + &g_profile_E_OC.base.base, + &g_profile_E_OT.base.base, + &g_profile_E_DT.base.base, + &g_profile_E_BG.base.base, + &g_profile_E_OctBg.base.base, + &g_profile_DR.base.base, + &g_profile_L7lowDr.base.base, + &g_profile_L7ODR.base.base, + &g_profile_E_TT.base.base, + &g_profile_E_DK.base.base, + &g_profile_E_VT.base.base, + &g_profile_E_WW.base.base, + &g_profile_E_GI.base.base, + &g_profile_B_BH.base.base, + &g_profile_B_BQ.base.base, + &g_profile_B_GM.base.base, + &g_profile_B_GND.base.base, + &g_profile_B_GO.base.base, + &g_profile_B_OH2.base.base, + &g_profile_B_YO.base.base, + &g_profile_B_YOI.base.base, + &g_profile_B_TN.base.base, + &g_profile_B_GG.base.base, + &g_profile_B_DRE.base.base, + &g_profile_B_MGN.base.base, + &g_profile_E_WAP.base.base, + &g_profile_ITEM.base.base, + &g_profile_Obj_SmallKey.base.base, + &g_profile_Obj_Kantera.base.base, + &g_profile_Obj_LifeContainer.base.base, + &g_profile_Obj_Shield.base.base, + &g_profile_Demo_Item.base.base, + &g_profile_ShopItem.base.base, + &g_profile_Obj_Drop.base.base, + &g_profile_OBJ_RW.base.base, + &g_profile_NBOMB.base.base, + &g_profile_TAG_CSW.base.base, + &g_profile_TAG_QS.base.base, + &g_profile_HOZELDA.base.base, + &g_profile_SWC00.base.base, + &g_profile_KNOB20.base.base, + &g_profile_DBDOOR.base.base, + &g_profile_BOSS_DOOR.base.base, + &g_profile_L1BOSS_DOOR.base.base, + &g_profile_L1MBOSS_DOOR.base.base, + &g_profile_L5BOSS_DOOR.base.base, + &g_profile_DSHUTTER.base.base.base, + &g_profile_SPIRAL_DOOR.base.base, + &g_profile_Tag_ChgRestart.base.base, + &g_profile_Tag_Restart.base.base, + &g_profile_ANDSW.base.base, + &g_profile_ANDSW2.base.base, + &g_profile_MYNA.base.base, + &g_profile_NPC_GND.base.base, + &g_profile_NPC_GRA.base.base, + &g_profile_NPC_GRC.base.base, + &g_profile_NPC_GRD.base.base, + &g_profile_NPC_GRM.base.base, + &g_profile_NPC_GRMC.base.base, + &g_profile_NPC_GRO.base.base, + &g_profile_NPC_GRR.base.base, + &g_profile_NPC_GRS.base.base, + &g_profile_NPC_GRZ.base.base, + &g_profile_NPC_YAMID.base.base, + &g_profile_NPC_YAMIT.base.base, + &g_profile_NPC_YAMIS.base.base, + &g_profile_NPC_BLUENS.base.base, + &g_profile_NPC_KAKASHI.base.base, + &g_profile_NPC_KDK.base.base, + &g_profile_NPC_ARU.base.base, + &g_profile_NPC_BANS.base.base, + &g_profile_NPC_BESU.base.base, + &g_profile_NPC_BOU.base.base, + &g_profile_NPC_BOU_S.base.base, + &g_profile_NPC_CLERKA.base.base, + &g_profile_NPC_CLERKB.base.base, + &g_profile_NPC_CLERKT.base.base, + &g_profile_NPC_WRESTLER.base.base, + &g_profile_Tag_Arena.base.base, + &g_profile_Tag_Instruction.base.base, + &g_profile_NPC_DOC.base.base, + &g_profile_NPC_GWOLF.base.base, + &g_profile_NPC_LEN.base.base, + &g_profile_NPC_LUD.base.base, + &g_profile_NPC_FAIRY_SEIREI.base.base, + &g_profile_NPC_FAIRY.base.base, + &g_profile_NPC_HANJO.base.base, + &g_profile_NPC_HENNA.base.base, + &g_profile_NPC_HENNA0.base.base, + &g_profile_NPC_HOZ.base.base, + &g_profile_NPC_JAGAR.base.base, + &g_profile_NPC_KKRI.base.base, + &g_profile_NPC_KN.base.base, + &g_profile_KN_BULLET.base.base, + &g_profile_NPC_KNJ.base.base, + &g_profile_NPC_KOLIN.base.base, + &g_profile_NPC_KOLINB.base.base, + &g_profile_NPC_KYURY.base.base, + &g_profile_NPC_MARO.base.base, + &g_profile_NPC_MIDP.base.base, + &g_profile_NPC_MOI.base.base, + &g_profile_NPC_RACA.base.base, + &g_profile_NPC_SARU.base.base, + &g_profile_NPC_SEIB.base.base, + &g_profile_NPC_SEIC.base.base, + &g_profile_NPC_SEID.base.base, + &g_profile_NPC_SEIRA.base.base, + &g_profile_NPC_SERA2.base.base, + &g_profile_NPC_SEIREI.base.base, + &g_profile_NPC_SHAMAN.base.base, + &g_profile_NPC_SMARO.base.base, + &g_profile_NPC_SOLA.base.base, + &g_profile_NPC_TARO.base.base, + &g_profile_NPC_PACHI_BESU.base.base, + &g_profile_NPC_PACHI_TARO.base.base, + &g_profile_NPC_PACHI_MARO.base.base, + &g_profile_TAG_PATI.base.base, + &g_profile_NPC_THE.base.base, + &g_profile_NPC_TKJ.base.base, + &g_profile_NPC_TKS.base.base, + &g_profile_NPC_TKC.base.base, + &g_profile_OBJ_TKS.base.base, + &g_profile_NPC_TOBY.base.base, + &g_profile_NPC_URI.base.base, + &g_profile_NPC_YELIA.base.base, + &g_profile_NPC_YKM.base.base, + &g_profile_NPC_YKW.base.base, + &g_profile_NPC_ZANB.base.base, + &g_profile_NPC_ZANT.base.base, + &g_profile_NPC_ZELDA.base.base, + &g_profile_NPC_ZELR.base.base, + &g_profile_NPC_ZELRO.base.base, + &g_profile_OBJ_ZRAFREEZE.base.base, + &g_profile_NPC_ZRC.base.base, + &g_profile_NPC_ZRZ.base.base, + &g_profile_ZRA_MARK.base.base, + &g_profile_MYNA2.base.base, + &g_profile_TAG_MYNA2.base.base, + &g_profile_NPC_CD3.base.base, + &g_profile_Tag_Schedule.base.base, + &g_profile_Tag_Escape.base.base, + &g_profile_NPC_CHAT.base.base, + &g_profile_NPC_SOLDIERa.base.base, + &g_profile_NPC_SOLDIERb.base.base, + &g_profile_PASSER_MNG.base.base, + &g_profile_NPC_PASSER.base.base, + &g_profile_NPC_PASSER2.base.base, + &g_profile_NPC_POST.base.base, + &g_profile_NPC_POUYA.base.base, + &g_profile_FORMATION_MNG.base.base, + &g_profile_NPC_FGUARD.base.base, + &g_profile_GUARD_MNG.base.base, + &g_profile_TAG_GUARD.base.base, + &g_profile_NPC_GUARD.base.base, + &g_profile_NPC_ASH.base.base, + &g_profile_NPC_ASHB.base.base, + &g_profile_NPC_SHAD.base.base, + &g_profile_NPC_RAFREL.base.base, + &g_profile_NPC_MOIR.base.base, + &g_profile_NPC_IMPAL.base.base, + &g_profile_NPC_SHOE.base.base, + &g_profile_NPC_DOORBOY.base.base, + &g_profile_NPC_PRAYER.base.base, + &g_profile_NPC_KASIHANA.base.base, + &g_profile_NPC_KASIKYU.base.base, + &g_profile_NPC_KASIMICH.base.base, + &g_profile_NPC_DRSOL.base.base, + &g_profile_NPC_CHIN.base.base, + &g_profile_NPC_INS.base.base, + &g_profile_NPC_SHOP0.base.base, + &g_profile_NPC_MK.base.base, + &g_profile_NPC_P2.base.base, + &g_profile_KYTAG00.base.base, + &g_profile_KYTAG01.base.base, + &g_profile_KYTAG02.base.base, + &g_profile_KYTAG03.base.base, + &g_profile_KYTAG04.base.base, + &g_profile_KYTAG05.base.base, + &g_profile_KYTAG06.base.base, + &g_profile_KYTAG07.base.base, + &g_profile_KYTAG08.base.base, + &g_profile_KYTAG09.base.base, + &g_profile_KYTAG10.base.base, + &g_profile_KYTAG11.base.base, + &g_profile_KYTAG12.base.base, + &g_profile_KYTAG13.base.base, + &g_profile_KYTAG14.base.base, + &g_profile_KYTAG15.base.base, + &g_profile_KYTAG16.base.base, + &g_profile_KYTAG17.base.base, + &g_profile_Ykgr.base.base, + &g_profile_TALK.base.base, + &g_profile_Obj_Crope.base.base, + &g_profile_Obj_Bombf.base.base, + &g_profile_Obj_BkLeaf.base.base, + &g_profile_Tag_Mhint.base.base, + &g_profile_Tag_Mmsg.base.base, + &g_profile_Tag_Mwait.base.base, + &g_profile_Tag_Mstop.base.base, + &g_profile_Tag_Stream.base.base, + &g_profile_Tag_Sppath.base.base, + &g_profile_Tag_Wljump.base.base, + &g_profile_Tag_TWGate.base.base, + &g_profile_Tag_Lv6Gate.base.base, + &g_profile_Tag_Lv7Gate.base.base, + &g_profile_Tag_Lv8Gate.base.base, + &g_profile_Tag_TheBHint.base.base, + &g_profile_Tag_Assist.base.base, + &g_profile_DEMO00.base.base, + &g_profile_TAG_CAMERA.base.base, + &g_profile_TAG_CHKPOINT.base.base, + &g_profile_TAG_EVENT.base.base, + &g_profile_TAG_EVT.base.base, + &g_profile_TAG_TELOP.base.base, + &g_profile_TAG_HOWL.base.base, + &g_profile_TAG_MSG.base.base, + &g_profile_TAG_LANTERN.base.base, + &g_profile_Tag_Mist.base.base, + &g_profile_DMIDNA.base.base, + &g_profile_KY_THUNDER.base.base, + &g_profile_VRBOX.base.base, + &g_profile_VRBOX2.base.base, + &g_profile_BG.base.base.base, + &g_profile_SET_BG_OBJ.base.base, + &g_profile_BG_OBJ.base.base, + &g_profile_MIRROR.base.base, + &g_profile_MOVIE_PLAYER.base.base, + &g_profile_TITLE.base.base, + &g_profile_FR.base.base, + &g_profile_ECONT.base.base, + &g_profile_MG_ROD.base.base, + &g_profile_E_ARROW.base.base, + &g_profile_BULLET.base.base, + &g_profile_SWHIT0.base.base, + &g_profile_E_TH_BALL.base.base, + &g_profile_TAG_EVTAREA.base.base, + &g_profile_TAG_EVTMSG.base.base, + &g_profile_TAG_KMSG.base.base, + &g_profile_TAG_PUSH.base.base, + &g_profile_E_MK_BO.base.base, + &g_profile_E_MM_MT.base.base, + &g_profile_OBJ_KBOX.base.base, + &g_profile_OBJ_FW.base.base, + &g_profile_B_GOS.base.base, + &g_profile_OBJ_YSTONE.base.base, + &g_profile_MANT.base.base, + &g_profile_CROD.base.base, + &g_profile_OBJ_PLEAF.base.base, + &g_profile_OBJ_KBACKET.base.base, + &g_profile_OBJ_YBAG.base.base, + &g_profile_OBJ_PUMPKIN.base.base, + &g_profile_OBJ_AUTOMATA.base.base, + &g_profile_OBJ_GADGET.base.base, + &g_profile_OBJ_KAGO.base.base, + &g_profile_Obj_Carry.base.base, + &g_profile_Obj_Stone.base.base, + &g_profile_OBJ_HB.base.base, + &g_profile_NPC_INKO.base.base, + &g_profile_BD.base.base, + &g_profile_Obj_Eff.base.base, + &g_profile_WPILLAR.base.base, + &g_profile_WMARK.base.base, + &g_profile_E_BI.base.base, + &g_profile_E_BI_LEAF.base.base, + &g_profile_START_AND_GOAL.base.base, + &g_profile_NPC_DF.base.base, + &g_profile_ARROW.base.base, + &g_profile_PATH_LINE.base.base.base, + &g_profile_TAG_ALLMATO.base.base, + &g_profile_Obj_Timer.base.base, + &g_profile_SCENE_EXIT.base.base.base, + &g_profile_CAMERA.base.base.base, + &g_profile_CAMERA2.base.base.base, + &g_profile_SUSPEND.base.base, + &g_profile_GRASS.base.base, + &g_profile_KYEFF.base.base, + &g_profile_KYEFF2.base.base, + &g_profile_MSG_OBJECT.base.base, + &g_profile_MENUWINDOW.base.base, + &g_profile_TIMER.base.base, + &g_profile_METER2.base.base, + &g_profile_GAMEOVER.base.base, + NULL, +}; +#endif