From c033afc1f06569638db6a3defd0ca8849f1d50f7 Mon Sep 17 00:00:00 2001 From: Jcw87 Date: Fri, 2 May 2025 22:18:21 -0700 Subject: [PATCH] Match some data (#745) * J3DTransform Data * d_map Data * jstudio-object Data * JASBankMgr Data * JASTrack Data * d_particle Data * d_camera Data --- configure.py | 2 +- include/JSystem/JAudio/JASBankMgr.h | 1 + .../JSystem/JStudio/JStudio/jstudio-object.h | 44 +-- include/d/d_cam_param.h | 2 +- include/d/d_camera.h | 4 +- include/d/d_map.h | 64 ++++- src/JSystem/J3DGraphBase/J3DTransform.cpp | 16 ++ src/JSystem/JAudio/JASBankMgr.cpp | 3 + src/JSystem/JAudio/JASTrack.cpp | 1 + .../JStudio/JStudio/jstudio-object.cpp | 63 +++++ src/d/d_cam_style.cpp | 7 + src/d/d_cam_type.cpp | 257 ++++++++++++++++++ src/d/d_cam_type2.cpp | 39 +++ src/d/d_map.cpp | 60 ++++ src/d/d_particle.cpp | 1 + 15 files changed, 521 insertions(+), 43 deletions(-) diff --git a/configure.py b/configure.py index 2bb86d3d1..c8d2550ca 100755 --- a/configure.py +++ b/configure.py @@ -504,7 +504,7 @@ config.libs = [ Object(NonMatching, "d/d_cam_param.cpp"), Object(NonMatching, "d/d_cam_type.cpp"), Object(NonMatching, "d/d_cam_style.cpp"), - Object(NonMatching, "d/d_cam_type2.cpp"), + Object(Matching, "d/d_cam_type2.cpp"), Object(NonMatching, "d/d_ev_camera.cpp"), Object(Matching, "d/d_wood.cpp", extra_cflags=["-sym off"]), Object(NonMatching, "d/d_flower.cpp"), diff --git a/include/JSystem/JAudio/JASBankMgr.h b/include/JSystem/JAudio/JASBankMgr.h index 7e797e8a7..e9bd2ab03 100644 --- a/include/JSystem/JAudio/JASBankMgr.h +++ b/include/JSystem/JAudio/JASBankMgr.h @@ -25,6 +25,7 @@ namespace JASystem { extern TBank** sBankArray; extern u16* sVir2PhyTable; + extern s16 OSC_RELEASE_TABLE[6]; extern TOscillator::Osc_ OSC_ENV; } } diff --git a/include/JSystem/JStudio/JStudio/jstudio-object.h b/include/JSystem/JStudio/JStudio/jstudio-object.h index 5deeb4faf..d55f605e7 100644 --- a/include/JSystem/JStudio/JStudio/jstudio-object.h +++ b/include/JSystem/JStudio/JStudio/jstudio-object.h @@ -235,11 +235,6 @@ struct TAdaptor_actor : public TAdaptor { { } virtual ~TAdaptor_actor() = 0; - virtual void adaptor_do_prepare(const JStudio::TObject*) = 0; - virtual void adaptor_do_begin(const JStudio::TObject*) = 0; - virtual void adaptor_do_end(const JStudio::TObject*) = 0; - virtual void adaptor_do_update(const JStudio::TObject*, u32) = 0; - virtual void adaptor_do_data(const JStudio::TObject*, void const*, u32, void const*, u32) = 0; virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32) = 0; virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*, u32) = 0; virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*, u32) = 0; @@ -304,11 +299,6 @@ struct TAdaptor_camera : public TAdaptor { { } virtual ~TAdaptor_camera() = 0; - virtual void adaptor_do_prepare(const JStudio::TObject*) = 0; - virtual void adaptor_do_begin(const JStudio::TObject*) = 0; - virtual void adaptor_do_end(const JStudio::TObject*) = 0; - virtual void adaptor_do_update(const JStudio::TObject*, u32) = 0; - virtual void adaptor_do_data(const JStudio::TObject*, void const*, u32, void const*, u32) = 0; virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32) = 0; virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*, u32) = 0; virtual void adaptor_do_PARENT_ENABLE(JStudio::data::TEOperationData, void const*, u32) = 0; @@ -317,7 +307,7 @@ struct TAdaptor_camera : public TAdaptor { static u32 const sauVariableValue_3_POSITION_XYZ[3]; static u32 const sauVariableValue_3_TARGET_POSITION_XYZ[3]; - static u8 sauVariableValue_2_DISTANCE_NEAR_FAR[8]; + static u32 const sauVariableValue_2_DISTANCE_NEAR_FAR[2]; }; struct TObject_camera : public TObject { @@ -343,9 +333,9 @@ struct TAdaptor_fog : public TAdaptor { /* 0x10 */ TVariableValue mValue[6]; - static const u32 sauVariableValue_3_COLOR_RGB[12]; - static const u32 sauVariableValue_4_COLOR_RGBA[16]; - static u8 sauVariableValue_2_RANGE_BEGIN_END[8]; + static const u32 sauVariableValue_3_COLOR_RGB[3]; + static const u32 sauVariableValue_4_COLOR_RGBA[4]; + static const u32 sauVariableValue_2_RANGE_BEGIN_END[2]; }; struct TObject_fog : public TObject { @@ -377,21 +367,16 @@ struct TAdaptor_light : public TAdaptor { { } virtual ~TAdaptor_light() = 0; - virtual void adaptor_do_prepare(const JStudio::TObject*) = 0; - virtual void adaptor_do_begin(const JStudio::TObject*) = 0; - virtual void adaptor_do_end(const JStudio::TObject*) = 0; - virtual void adaptor_do_update(const JStudio::TObject*, u32) = 0; - virtual void adaptor_do_data(const JStudio::TObject*, void const*, u32, void const*, u32) = 0; virtual void adaptor_do_ENABLE(JStudio::data::TEOperationData, void const*, u32) = 0; virtual void adaptor_do_FACULTY(JStudio::data::TEOperationData, void const*, u32) = 0; /* 0x10 */ TVariableValue mValue[13]; - static u8 const sauVariableValue_3_COLOR_RGB[12]; + static u32 const sauVariableValue_3_COLOR_RGB[3]; static u32 const sauVariableValue_4_COLOR_RGBA[4]; static u32 const sauVariableValue_3_POSITION_XYZ[3]; static u32 const sauVariableValue_3_TARGET_POSITION_XYZ[3]; - static u8 sauVariableValue_2_DIRECTION_THETA_PHI[8]; + static u32 const sauVariableValue_2_DIRECTION_THETA_PHI[2]; }; struct TObject_light : public TObject { @@ -427,9 +412,6 @@ struct TAdaptor_particle : public TAdaptor { { } virtual ~TAdaptor_particle() = 0; - virtual void adaptor_do_prepare(const JStudio::TObject*) = 0; - virtual void adaptor_do_end(const JStudio::TObject*) = 0; - virtual void adaptor_do_update(const JStudio::TObject*, u32) = 0; virtual void adaptor_do_PARTICLE(JStudio::data::TEOperationData, void const*, u32) = 0; virtual void adaptor_do_PARENT(JStudio::data::TEOperationData, void const*, u32) = 0; virtual void adaptor_do_PARENT_NODE(JStudio::data::TEOperationData, void const*, u32) = 0; @@ -437,13 +419,13 @@ struct TAdaptor_particle : public TAdaptor { /* 0x10 */ TVariableValue mValue[20]; - static u32 const sauVariableValue_3_TRANSLATION_XYZ[12]; - static u32 const sauVariableValue_3_ROTATION_XYZ[12]; - static u32 const sauVariableValue_3_SCALING_XYZ[12]; - static u32 const sauVariableValue_3_COLOR_RGB[12]; - static u32 const sauVariableValue_4_COLOR_RGBA[16]; - static u32 const sauVariableValue_3_COLOR1_RGB[12]; - static u32 const sauVariableValue_4_COLOR1_RGBA[16]; + static u32 const sauVariableValue_3_TRANSLATION_XYZ[3]; + static u32 const sauVariableValue_3_ROTATION_XYZ[3]; + static u32 const sauVariableValue_3_SCALING_XYZ[3]; + static u32 const sauVariableValue_3_COLOR_RGB[3]; + static u32 const sauVariableValue_4_COLOR_RGBA[4]; + static u32 const sauVariableValue_3_COLOR1_RGB[3]; + static u32 const sauVariableValue_4_COLOR1_RGBA[4]; }; struct TObject_particle : public TObject { diff --git a/include/d/d_cam_param.h b/include/d/d_cam_param.h index 1d7e59597..502f5e8ed 100644 --- a/include/d/d_cam_param.h +++ b/include/d/d_cam_param.h @@ -194,7 +194,7 @@ public: /* 0x4 */ s32 mStyleIdx; static dCamera__Style styles[]; - static s32 style_num; + static const s32 style_num; public: dCamParam_c(s32); diff --git a/include/d/d_camera.h b/include/d/d_camera.h index 0f3713205..9fe0b4214 100644 --- a/include/d/d_camera.h +++ b/include/d/d_camera.h @@ -514,9 +514,9 @@ public: static engine_fn engine_tbl[]; static const int type_num; - static dCamera__Type types[63]; + static dCamera__Type types[]; static const int mvBGType_num; - static char* mvBGTypes[34]; + static const char* mvBGTypes[]; }; STATIC_ASSERT(sizeof(dCamera_c) == 0x800); diff --git a/include/d/d_map.h b/include/d/d_map.h index 6ee765ad2..d2de52f0e 100644 --- a/include/d/d_map.h +++ b/include/d/d_map.h @@ -285,18 +285,66 @@ public: static void mapSetPointAll(); static void mapBufferSendAGB(int); + static u8 mCompAlpha; static u8 mAlpha; - static u8 mIconFreeAlpha; + static u8 mDrawPointCntPlayer; + static u8 mDrawPointCntEnemy; + static u8 mDrawPointCntAgbCursor; + static u8 mTboxNum; + static u8 mDoorNum; + static u8 mPointFriendNum; + static u8 mDrawPointCntShip; + static u8 mDrawPointRestartCnt; + static u8 mCollectPointDataCnt; + static u8 mAGBMapSendStatus; + static u8 mSetCursorFlg; static u8 mMapDispMode; - static u16 mDispPosLeftUpX; - static u16 mDispPosLeftUpY; - static u16 mIconFreePosX; - static u16 mIconFreePosY; - static f32 mIconFreeScale; + static u8 mIconFreeAlpha; static u8 mIconSelfAlpha; - static f32 mIconSelfScale; - static u8 mIconDispMode; static bool mAGBMapSendStopFlg; + static u8 mMapAGBCursorFlashFrmCnt; + static u8 mPlayerStayAgbMapTypeNow; + static u8 mPlayerStayAgbMapTypeOld; + static u8 mPlGridX; + static u8 mPlGridY; + static u8 mPlGridX_Old; + static u8 mPlGridY_Old; + static u8 mNowFloorNo; + static s16 mIconFreePosX; + static s16 mIconFreePosY; + static u16 mAGBPointValueC; + static u16 mAGBPointValueE; + static u16 mAGBPointValueAll; + static u16 mAGBPointValueRoomAll; + static char mAgbSendNowStageName[8]; + static int mAgbSendNowRoomNo; + static u16 mAgbSendNowDspFloorNo; + static u8 mAgbSendNowAgbMapType; + static f32 mEnlargementSizeCenterX; + static f32 mEnlargementSizeCenterZ; + static f32 mEnlargementSizeScaleX; + static f32 mEnlargementSizeScaleZ; + static u8 mFmapChkPntValue; + static int mFmapChkPntData_p; + static s16 mDispPosLeftUpX; + static s16 mDispPosLeftUpY; + static s16 mDispSizeX; + static s16 mDispSizeY; + static int mScissorOrigY; + static int mScissorOrigX; + static int mScissorWidth; + static int mScissorHeight; + static f32 mIconFreeScale; + static f32 mIconSelfScale; + static f32 mNowCenterX; + static f32 mNowCenterZ; + static f32 mNowScaleX; + static f32 mNowScaleZ; + // static ? mGbaSendMapOceanDt; + static dMap_RoomInfoCtrl_c mRoomInfoCtrl; + static void* mNowRoomInfoP; + + static u8 mIconDispMode; }; inline void dMap_drawPoint(u8 param_1, f32 param_2, f32 param_3, f32 param_4, s8 param_5, s16 param_6, u8 param_7, u8 param_8, u8 param_9) { diff --git a/src/JSystem/J3DGraphBase/J3DTransform.cpp b/src/JSystem/J3DGraphBase/J3DTransform.cpp index 390c80116..cf17534b2 100644 --- a/src/JSystem/J3DGraphBase/J3DTransform.cpp +++ b/src/JSystem/J3DGraphBase/J3DTransform.cpp @@ -12,6 +12,22 @@ // that forces it into .data instead because the size is unknown when it's used. Even const is ignored. f32 PSMulUnit01[2] = { 0.0f, -1.0f }; +const J3DTransformInfo j3dDefaultTransformInfo = { + { 1.0f, 1.0f, 1.0f }, + { 0, 0, 0 }, + { 0.0f, 0.0f, 0.0f }, +}; + +const Vec j3dDefaultScale = { 1.0f, 1.0f, 1.0f }; + +const Mtx j3dDefaultMtx = { + { 1.0f, 0.0f, 0.0f, 0.0f }, + { 0.0f, 1.0f, 0.0f, 0.0f }, + { 0.0f, 0.0f, 1.0f, 0.0f }, +}; + +f32 Unit01[2] = { 0.0f, 1.0f }; + /* 802DA0A8-802DA0B0 .text __MTGQR7__FUl */ void __MTGQR7(register u32 v) { #ifdef __MWERKS__ diff --git a/src/JSystem/JAudio/JASBankMgr.cpp b/src/JSystem/JAudio/JASBankMgr.cpp index f5d12016d..30a84df95 100644 --- a/src/JSystem/JAudio/JASBankMgr.cpp +++ b/src/JSystem/JAudio/JASBankMgr.cpp @@ -16,6 +16,9 @@ #include "JSystem/JKernel/JKRSolidHeap.h" #include "JSystem/JUtility/JUTAssert.h" +s16 JASystem::BankMgr::OSC_RELEASE_TABLE[6] = { 1, 10, 0, 15, 0, 0}; +JASystem::TOscillator::Osc_ JASystem::BankMgr::OSC_ENV = { 0, 1.0f, NULL, BankMgr::OSC_RELEASE_TABLE, 1.0f, 0.0f }; + s32 JASystem::BankMgr::sTableSize; JASystem::TBank** JASystem::BankMgr::sBankArray; u16* JASystem::BankMgr::sVir2PhyTable; diff --git a/src/JSystem/JAudio/JASTrack.cpp b/src/JSystem/JAudio/JASTrack.cpp index 680d2eba6..2c6b11bbb 100644 --- a/src/JSystem/JAudio/JASTrack.cpp +++ b/src/JSystem/JAudio/JASTrack.cpp @@ -116,6 +116,7 @@ void JASystem::TTrack::inherit() { u16 (*JASystem::TTrack::sCallBackFunc)(JASystem::TTrack*, u16); JASystem::TSeqParser JASystem::TTrack::sParser; +JASystem::TTrack* JASystem::TTrack::sFreeList; /* 80280D0C-80280F80 .text mainProc__Q28JASystem6TTrackFv */ s8 JASystem::TTrack::mainProc() { diff --git a/src/JSystem/JStudio/JStudio/jstudio-object.cpp b/src/JSystem/JStudio/JStudio/jstudio-object.cpp index 2343e9041..ea26347d8 100644 --- a/src/JSystem/JStudio/JStudio/jstudio-object.cpp +++ b/src/JSystem/JStudio/JStudio/jstudio-object.cpp @@ -6,6 +6,38 @@ #include "JSystem/JStudio/JStudio/jstudio-object.h" #include "dolphin/types.h" +namespace JStudio { + namespace { + template + struct TOutputVariableValue_BOOL_ : public TVariableValue::TOutput { + typedef void (T::*func_type)(data::TEOperationData, void const*, u32); + + TOutputVariableValue_BOOL_(func_type func) { + mFunc = func; + } + virtual void operator()(f32 param_1, TAdaptor* adaptor) const { + u32 local_8 = 0; + if (param_1 >= 0.5f) { + local_8 = 1; + } + (((T*)adaptor)->*mFunc)(data::TEOD_Unknown_02, &local_8, 4); + } + virtual ~TOutputVariableValue_BOOL_() {} + + /* 0x04 */ func_type mFunc; + }; + + TOutputVariableValue_BOOL_ soovv_actor_PARENT_ENABLE_(&TAdaptor_actor::adaptor_do_PARENT_ENABLE); + TOutputVariableValue_BOOL_ soovv_actor_RELATION_ENABLE_(&TAdaptor_actor::adaptor_do_RELATION_ENABLE); + TOutputVariableValue_BOOL_ soovv_camera_PARENT_ENABLE_(&TAdaptor_camera::adaptor_do_PARENT_ENABLE); + TOutputVariableValue_BOOL_ soovv_light_ENABLE_(&TAdaptor_light::adaptor_do_ENABLE); + TOutputVariableValue_BOOL_ soovv_particle_PARENT_ENABLE_(&TAdaptor_particle::adaptor_do_PARENT_ENABLE); + TOutputVariableValue_BOOL_ soovv_sound_LOCATED_(&TAdaptor_sound::adaptor_do_LOCATED); + } +} + +JStudio::TVariableValue::TOutput_none_ JStudio::TVariableValue::soOutput_none_; + /* 8026E8F8-8026E940 .text __dt__Q37JStudio14TVariableValue7TOutputFv */ JStudio::TVariableValue::TOutput::~TOutput() {} @@ -244,6 +276,10 @@ void JStudio::TObject::do_data(const void* param_0, u32 param_1, const void* par /* 8026F394-8026F3E0 .text __ct__Q27JStudio7TObjectFRCQ47JStudio3stb4data20TParse_TBlock_objectPQ27JStudio8TAdaptor */ JStudio::TObject::TObject(const JStudio::stb::data::TParse_TBlock_object& param_0, JStudio::TAdaptor* param_1) : stb::TObject(param_0), mpAdaptor(param_1) {} +const u32 JStudio::TAdaptor_actor::sauVariableValue_3_TRANSLATION_XYZ[3] = {3, 4, 5}; +const u32 JStudio::TAdaptor_actor::sauVariableValue_3_ROTATION_XYZ[3] = {6, 7, 8}; +const u32 JStudio::TAdaptor_actor::sauVariableValue_3_SCALING_XYZ[3] = {9, 10, 11}; + /* 8026F3E0-8026F440 .text __dt__Q27JStudio14TAdaptor_actorFv */ JStudio::TAdaptor_actor::~TAdaptor_actor() {} @@ -255,6 +291,9 @@ void JStudio::TObject_actor::do_paragraph(u32, const void*, u32) { /* Nonmatching */ } +const u32 JStudio::TAdaptor_ambientLight::sauVariableValue_3_COLOR_RGB[3] = {0, 1, 2}; +const u32 JStudio::TAdaptor_ambientLight::sauVariableValue_4_COLOR_RGBA[4] = {0, 1, 2, 3}; + /* 8026F7B0-8026F810 .text __dt__Q27JStudio21TAdaptor_ambientLightFv */ JStudio::TAdaptor_ambientLight::~TAdaptor_ambientLight() {} @@ -266,6 +305,10 @@ void JStudio::TObject_ambientLight::do_paragraph(u32, const void*, u32) { /* Nonmatching */ } +const u32 JStudio::TAdaptor_camera::sauVariableValue_3_POSITION_XYZ[3] = {0, 1, 2}; +const u32 JStudio::TAdaptor_camera::sauVariableValue_3_TARGET_POSITION_XYZ[3] = {3, 4, 5}; +const u32 JStudio::TAdaptor_camera::sauVariableValue_2_DISTANCE_NEAR_FAR[2] = {8, 9}; + /* 8026F928-8026F988 .text __dt__Q27JStudio15TAdaptor_cameraFv */ JStudio::TAdaptor_camera::~TAdaptor_camera() {} @@ -277,6 +320,10 @@ void JStudio::TObject_camera::do_paragraph(u32, const void*, u32) { /* Nonmatching */ } +const u32 JStudio::TAdaptor_fog::sauVariableValue_3_COLOR_RGB[3] = {0, 1, 2}; +const u32 JStudio::TAdaptor_fog::sauVariableValue_4_COLOR_RGBA[4] = {0, 1, 2, 3}; +const u32 JStudio::TAdaptor_fog::sauVariableValue_2_RANGE_BEGIN_END[2] = {4, 5}; + /* 8026FBFC-8026FC5C .text __dt__Q27JStudio12TAdaptor_fogFv */ JStudio::TAdaptor_fog::~TAdaptor_fog() {} @@ -288,6 +335,12 @@ void JStudio::TObject_fog::do_paragraph(u32, const void*, u32) { /* Nonmatching */ } +const u32 JStudio::TAdaptor_light::sauVariableValue_3_COLOR_RGB[3] = {0, 1, 2}; +const u32 JStudio::TAdaptor_light::sauVariableValue_4_COLOR_RGBA[4] = {0, 1, 2, 3}; +const u32 JStudio::TAdaptor_light::sauVariableValue_3_POSITION_XYZ[3] = {4, 5, 6}; +const u32 JStudio::TAdaptor_light::sauVariableValue_3_TARGET_POSITION_XYZ[3] = {7, 8, 9}; +const u32 JStudio::TAdaptor_light::sauVariableValue_2_DIRECTION_THETA_PHI[2] = {10, 11}; + /* 8026FD80-8026FDE0 .text __dt__Q27JStudio14TAdaptor_lightFv */ JStudio::TAdaptor_light::~TAdaptor_light() {} @@ -324,6 +377,14 @@ void JStudio::TObject_message::do_paragraph(u32 param_1, const void* param_2, u3 } } +const u32 JStudio::TAdaptor_particle::sauVariableValue_3_TRANSLATION_XYZ[3] = {0, 1, 2}; +const u32 JStudio::TAdaptor_particle::sauVariableValue_3_ROTATION_XYZ[3] = {3, 4, 5}; +const u32 JStudio::TAdaptor_particle::sauVariableValue_3_SCALING_XYZ[3] = {6, 7, 8}; +const u32 JStudio::TAdaptor_particle::sauVariableValue_3_COLOR_RGB[3] = {9, 10, 11}; +const u32 JStudio::TAdaptor_particle::sauVariableValue_4_COLOR_RGBA[4] = {9, 10, 11, 12}; +const u32 JStudio::TAdaptor_particle::sauVariableValue_3_COLOR1_RGB[3] = {9, 10, 11}; +const u32 JStudio::TAdaptor_particle::sauVariableValue_4_COLOR1_RGBA[4] = {9, 10, 11, 12}; + /* 80270184-802701E4 .text __dt__Q27JStudio17TAdaptor_particleFv */ JStudio::TAdaptor_particle::~TAdaptor_particle() {} @@ -335,6 +396,8 @@ void JStudio::TObject_particle::do_paragraph(u32, const void*, u32) { /* Nonmatching */ } +const u32 JStudio::TAdaptor_sound::sauVariableValue_3_POSITION_XYZ[3] = {0, 1, 2}; + /* 802704E4-80270544 .text __dt__Q27JStudio14TAdaptor_soundFv */ JStudio::TAdaptor_sound::~TAdaptor_sound() {} diff --git a/src/d/d_cam_style.cpp b/src/d/d_cam_style.cpp index 7fdca529d..d6af9a5c2 100644 --- a/src/d/d_cam_style.cpp +++ b/src/d/d_cam_style.cpp @@ -5,3 +5,10 @@ #include "d/d_cam_param.h" +#include "global.h" + +dCamera__Style dCamParam_c::styles[145] = { + // TODO +}; + +const s32 dCamParam_c::style_num = ARRAY_SIZE(styles); diff --git a/src/d/d_cam_type.cpp b/src/d/d_cam_type.cpp index 9e34af1c6..c07ae2784 100644 --- a/src/d/d_cam_type.cpp +++ b/src/d/d_cam_type.cpp @@ -5,3 +5,260 @@ #include "d/d_camera.h" +dCamera__Type dCamera_c::types[63] = { + { "Empty", { + { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + }}, + { "Plain", { + { 0x55, 0x55, 0x48, 0x08, 0x88, 0x37, 0x35, 0x0D, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "Keep", { + { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0004, 0xFFFF, 0xFFFF, 0xFFFF }, + }}, + { "Event", { + { 0x0004, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0004, 0xFFFF, 0xFFFF, 0xFFFF }, + }}, + { "Boss01", { + { 0x5C, 0x5C, 0x4A, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x1F, 0x1E }, + { 0x2E, 0x2D, 0x30, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "Cliff", { + { 0x7A, 0x7A, 0x15, 0x07, 0x88, 0x21, 0x35, 0x0E, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x32, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "PlaySlide", { + { 0x5E, 0x5E, 0x46, 0x06, 0x88, 0x37, 0x35, 0x0D, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "Field", { + { 0x53, 0x53, 0x46, 0x06, 0x88, 0x37, 0x35, 0x0D, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "ThrowUp", { + { 0x5F, 0x5F, 0x46, 0x06, 0x88, 0x37, 0x35, 0x0D, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x31, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "Gamoss", { + { 0x61, 0x61, 0x4C, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x8E, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "MiniIsland", { + { 0x62, 0x62, 0x46, 0x06, 0x88, 0x37, 0x35, 0x0D, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x3B, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "Cliff2", { + { 0x63, 0x59, 0x17, 0x07, 0x88, 0x37, 0x35, 0x0D, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x3C, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "FieldCushion", { + { 0x5A, 0x5A, 0x46, 0x06, 0x88, 0x37, 0x35, 0x0D, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "FixdPos", { + { 0x02, 0x54, 0x47, 0x07, 0x88, 0xFFFF, 0xFFFF, 0x0E, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "SmoothFixdPos", { + { 0x03, 0x54, 0x47, 0x07, 0x88, 0xFFFF, 0xFFFF, 0x0E, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "WaterBattle", { + { 0x28, 0x28, 0x45, 0x07, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0xFFFF, 0xFFFF, 0x75, 0xFFFF, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "SmoothFixdPosC", { + { 0x40, 0x54, 0x47, 0x07, 0x88, 0xFFFF, 0xFFFF, 0x0E, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "ThrowInto", { + { 0x2B, 0x2B, 0x46, 0x06, 0x88, 0x37, 0x35, 0x0D, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x31, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "Boss03", { + { 0x66, 0x66, 0x4D, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x1F, 0x1E }, + { 0x2E, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "P_Ganon1", { + { 0x67, 0x67, 0x4E, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x1F, 0x1E }, + { 0x2E, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "P_Ganon2", { + { 0x68, 0x68, 0x4F, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x1F, 0x1E }, + { 0x2E, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "WindBoss", { + { 0x69, 0x69, 0x50, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x8E, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "P_Ganon3", { + { 0x6A, 0x6A, 0x4F, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x1F, 0x1E }, + { 0x2E, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "Test01", { + { 0x64, 0x64, 0x4B, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x1F, 0x1E }, + { 0x2E, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "Amoss", { + { 0x6B, 0x6B, 0x51, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x1F, 0x1E }, + { 0x2E, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "Dungeon", { + { 0x54, 0x54, 0x47, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x8E, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7E }, + }}, + { "Jump", { + { 0x01, 0x01, 0x47, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x8E, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7E }, + }}, + { "DungeonCorner", { + { 0x57, 0x57, 0x16, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x8E, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7E }, + }}, + { "DungeonWide", { + { 0x59, 0x59, 0x17, 0x07, 0x88, 0x37, 0x35, 0x0D, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x3C, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7E }, + }}, + { "CannonGame", { + { 0x3F, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x04, 0xFFFF, 0xFFFF, 0xFFFF }, + }}, + { "FieldFOX", { + { 0x38, 0x38, 0x46, 0x06, 0x88, 0x37, 0x35, 0x0D, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "G_Roof", { + { 0x41, 0x41, 0x52, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x1F, 0x1E }, + { 0x2E, 0x2D, 0x44, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "G_BedRoom", { + { 0x77, 0x77, 0x7B, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x1F, 0x1E }, + { 0x2E, 0x2D, 0x87, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "G_BedRoom2", { + { 0x77, 0x77, 0x7B, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x1F, 0x1E }, + { 0x2E, 0x2D, 0x3D, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "TowerUp", { + { 0x43, 0x62, 0x46, 0x06, 0x88, 0x37, 0x35, 0x0D, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "MajTower", { + { 0x80, 0x54, 0x80, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x8E, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "Tower", { + { 0x42, 0x62, 0x43, 0x06, 0x88, 0x37, 0x35, 0x0D, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "Boat", { + { 0x24, 0x20, 0x45, 0x06, 0x88, 0x1A, 0x6F, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0x2C, 0x2D, 0x76, 0xFFFF, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "BoatBattle", { + { 0x2A, 0x29, 0x6C, 0x06, 0x88, 0x1A, 0x6F, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0x2C, 0x2D, 0x76, 0xFFFF, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "WindHall", { + { 0x90, 0x71, 0x17, 0x07, 0x88, 0x37, 0x35, 0x0D, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x3C, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7E }, + }}, + { "Tornado", { + { 0x34, 0x20, 0x45, 0x06, 0x88, 0x1A, 0x6E, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0x2C, 0x2D, 0xFFFF, 0xFFFF, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "OverLook", { + { 0x82, 0x82, 0x46, 0x70, 0x88, 0x21, 0x35, 0x0D, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x3A, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7E }, + }}, + { "Dome", { + { 0x72, 0x85, 0x47, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x3A, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7E }, + }}, + { "ForceFixdPos", { + { 0x02, 0xFFFF, 0xFFFF, 0xFFFF, 0x88, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0x2C, 0x2D, 0xFFFF, 0x13, 0x19, 0xFFFF, 0x04, 0xFFFF, 0xFFFF, 0xFFFF }, + }}, + { "FixdFrm", { + { 0x1D, 0xFFFF, 0xFFFF, 0xFFFF, 0x88, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0x2C, 0x2D, 0xFFFF, 0x13, 0x19, 0xFFFF, 0x04, 0xFFFF, 0xFFFF, 0xFFFF }, + }}, + { "DStairs", { + { 0x54, 0x54, 0x47, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x73, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7E }, + }}, + { "Boss02", { + { 0x78, 0x78, 0x4A, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x1F, 0x1E }, + { 0x2E, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "Seagal", { + { 0x86, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0xFFFF, 0xFFFF, 0x39, 0xFFFF, 0xFFFF, 0xFFFF, 0x04, 0xFFFF, 0xFFFF, 0xFFFF }, + }}, + { "SmallRoom", { + { 0x79, 0x79, 0x49, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x8D, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "DanMae", { + { 0x7F, 0x7F, 0x47, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x7D, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7E }, + }}, + { "Cafe", { + { 0x65, 0x65, 0x49, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x84, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "DungeonPassage", { + { 0x5D, 0x5D, 0x16, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x84, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7E }, + }}, + { "Corridor", { + { 0x05, 0x05, 0x17, 0x07, 0x88, 0x37, 0x35, 0x0D, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x84, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7E }, + }}, + { "Subject", { + { 0x33, 0xFFFF, 0xFFFF, 0xFFFF, 0x88, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0x2C, 0x2D, 0xFFFF, 0x14, 0x19, 0xFFFF, 0x04, 0xFFFF, 0xFFFF, 0xFFFF }, + }}, + { "BigBird", { + { 0x81, 0x81, 0x89, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x1F, 0x1E }, + { 0x2E, 0x2D, 0x39, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "Room", { + { 0x58, 0x58, 0x49, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x8C, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "DungeonDown", { + { 0x85, 0x85, 0x47, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x83, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7E }, + }}, + { "Boss04", { + { 0x6D, 0x85, 0x47, 0x07, 0x88, 0x37, 0x35, 0x0E, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x3A, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x8A }, + }}, + { "UnderTheEaves", { + { 0x53, 0x53, 0x46, 0x06, 0x88, 0x37, 0x35, 0x0D, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x8B, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "Restrict", { + { 0x36, 0xFFFF, 0xFFFF, 0xFFFF, 0x88, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0x2C, 0x2D, 0xFFFF, 0x13, 0x19, 0xFFFF, 0x04, 0xFFFF, 0xFFFF, 0xFFFF }, + }}, + { "DungeonUp", { + { 0x56, 0x56, 0x15, 0x07, 0x88, 0x21, 0x35, 0x0E, 0x0B, 0x0F }, + { 0x2C, 0x2D, 0x3C, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7E }, + }}, + { "Block", { + { 0x53, 0x53, 0x46, 0x06, 0x88, 0x37, 0x35, 0x0D, 0x1F, 0x1E }, + { 0x2C, 0x2D, 0x8F, 0x13, 0x19, 0x1C, 0x04, 0x27, 0x23, 0x7C }, + }}, + { "Water", { + { 0x5B, 0x5B, 0x47, 0x07, 0x88, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, + { 0x2C, 0x2D, 0x74, 0x13, 0x19, 0x1C, 0x04, 0xFFFF, 0xFFFF, 0xFFFF }, + }}, + +}; + +const int dCamera_c::type_num = ARRAY_SIZE(types); diff --git a/src/d/d_cam_type2.cpp b/src/d/d_cam_type2.cpp index 1bf325975..104f863c3 100644 --- a/src/d/d_cam_type2.cpp +++ b/src/d/d_cam_type2.cpp @@ -5,3 +5,42 @@ #include "d/d_camera.h" +const char* dCamera_c::mvBGTypes[35] = { + "????", + "Field", + "Dungeon", + "Plain", + "DungeonDown", + "DungeonUp", + "DungeonCorner", + "Jump", + "DungeonWide", + "Room", + "FieldCushion", + "OverLook", + "Corridor", + "Subject", + "DungeonPassage", + "Cliff", + "Cliff2", + "MajTower", + "Boss01", + "Boss02", + "Gamoss", + "MiniIsland", + "Amoss", + "Cafe", + "P_Ganon1", + "P_Ganon2", + "WindBoss", + "P_Ganon3", + "G_BedRoom", + "G_Roof", + "G_BedRoom2", + "Boss04", + "WindHall", + "BigBird", + "DStairs", +}; + +const int dCamera_c::mvBGType_num = ARRAY_SIZE(mvBGTypes); diff --git a/src/d/d_map.cpp b/src/d/d_map.cpp index 245810014..092b59be9 100644 --- a/src/d/d_map.cpp +++ b/src/d/d_map.cpp @@ -26,6 +26,66 @@ enum { #define Floor_Num (Floor_5F - Floor_B5F + 1) #define Floor_Valid(no) (no >= 0) && (no < Floor_Num) +u8 dMap_c::mCompAlpha; +u8 dMap_c::mAlpha; +u8 dMap_c::mDrawPointCntPlayer; +u8 dMap_c::mDrawPointCntEnemy; +u8 dMap_c::mDrawPointCntAgbCursor; +u8 dMap_c::mTboxNum; +u8 dMap_c::mDoorNum; +u8 dMap_c::mPointFriendNum; +u8 dMap_c::mDrawPointCntShip; +u8 dMap_c::mDrawPointRestartCnt; +u8 dMap_c::mCollectPointDataCnt; +u8 dMap_c::mAGBMapSendStatus; +u8 dMap_c::mSetCursorFlg; +u8 dMap_c::mMapDispMode; +u8 dMap_c::mIconDispMode; +u8 dMap_c::mIconFreeAlpha; +u8 dMap_c::mIconSelfAlpha; +bool dMap_c::mAGBMapSendStopFlg; +u8 dMap_c::mMapAGBCursorFlashFrmCnt; +u8 dMap_c::mPlayerStayAgbMapTypeNow; +u8 dMap_c::mPlayerStayAgbMapTypeOld; +u8 dMap_c::mPlGridX; +u8 dMap_c::mPlGridY; +u8 dMap_c::mPlGridX_Old; +u8 dMap_c::mPlGridY_Old; +u8 dMap_c::mNowFloorNo; +s16 dMap_c::mIconFreePosX; +s16 dMap_c::mIconFreePosY; +u16 dMap_c::mAGBPointValueC; +u16 dMap_c::mAGBPointValueE; +u16 dMap_c::mAGBPointValueAll; +u16 dMap_c::mAGBPointValueRoomAll; +char dMap_c::mAgbSendNowStageName[8]; +int dMap_c::mAgbSendNowRoomNo; +u16 dMap_c::mAgbSendNowDspFloorNo; +u8 dMap_c::mAgbSendNowAgbMapType; +f32 dMap_c::mEnlargementSizeCenterX; +f32 dMap_c::mEnlargementSizeCenterZ; +f32 dMap_c::mEnlargementSizeScaleX; +f32 dMap_c::mEnlargementSizeScaleZ; +u8 dMap_c::mFmapChkPntValue; +int dMap_c::mFmapChkPntData_p; +s16 dMap_c::mDispPosLeftUpX; +s16 dMap_c::mDispPosLeftUpY; +s16 dMap_c::mDispSizeX; +s16 dMap_c::mDispSizeY; +int dMap_c::mScissorOrigY; +int dMap_c::mScissorOrigX; +int dMap_c::mScissorWidth; +int dMap_c::mScissorHeight; +f32 dMap_c::mIconFreeScale; +f32 dMap_c::mIconSelfScale; +f32 dMap_c::mNowCenterX; +f32 dMap_c::mNowCenterZ; +f32 dMap_c::mNowScaleX; +f32 dMap_c::mNowScaleZ; +// ? dMap_c::mGbaSendMapOceanDt; +dMap_RoomInfoCtrl_c dMap_c::mRoomInfoCtrl; +void* dMap_c::mNowRoomInfoP; + static inline int gridPos2GridNo(int i_gridX, int i_gridY) { JUT_ASSERT(0x4a4, (i_gridX >= -3) && (i_gridX <= 3) && (i_gridY >= -3) && (i_gridY <= 3)); return i_gridX + 3 + (i_gridY + 3) * 7; diff --git a/src/d/d_particle.cpp b/src/d/d_particle.cpp index 346abdfcf..36bc99cf3 100644 --- a/src/d/d_particle.cpp +++ b/src/d/d_particle.cpp @@ -562,6 +562,7 @@ dPa_smokePcallBack dPa_control_c::mSmokePcallback; dPa_singleRippleEcallBack dPa_control_c::mSingleRippleEcallBack; dPa_ripplePcallBack dPa_control_c::mRipplePcallBack; dPa_bombSmokeEcallBack dPa_control_c::mBombSmokeEcallBack; +Mtx dPa_control_c::mWindViewMatrix; u8 dPa_control_c::mStatus; /* 8007C8E8-8007C9A4 .text __ct__13dPa_control_cFv */