Match some data (#745)

* J3DTransform Data

* d_map Data

* jstudio-object Data

* JASBankMgr Data

* JASTrack Data

* d_particle Data

* d_camera Data
This commit is contained in:
Jcw87
2025-05-02 22:18:21 -07:00
committed by GitHub
parent 0237004eb3
commit c033afc1f0
15 changed files with 521 additions and 43 deletions
+1 -1
View File
@@ -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"),
+1
View File
@@ -25,6 +25,7 @@ namespace JASystem {
extern TBank** sBankArray;
extern u16* sVir2PhyTable;
extern s16 OSC_RELEASE_TABLE[6];
extern TOscillator::Osc_ OSC_ENV;
}
}
@@ -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 {
+1 -1
View File
@@ -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);
+2 -2
View File
@@ -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);
+56 -8
View File
@@ -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) {
+16
View File
@@ -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__
+3
View File
@@ -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;
+1
View File
@@ -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() {
@@ -6,6 +6,38 @@
#include "JSystem/JStudio/JStudio/jstudio-object.h"
#include "dolphin/types.h"
namespace JStudio {
namespace {
template<typename T>
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_<TAdaptor_actor> soovv_actor_PARENT_ENABLE_(&TAdaptor_actor::adaptor_do_PARENT_ENABLE);
TOutputVariableValue_BOOL_<TAdaptor_actor> soovv_actor_RELATION_ENABLE_(&TAdaptor_actor::adaptor_do_RELATION_ENABLE);
TOutputVariableValue_BOOL_<TAdaptor_camera> soovv_camera_PARENT_ENABLE_(&TAdaptor_camera::adaptor_do_PARENT_ENABLE);
TOutputVariableValue_BOOL_<TAdaptor_light> soovv_light_ENABLE_(&TAdaptor_light::adaptor_do_ENABLE);
TOutputVariableValue_BOOL_<TAdaptor_particle> soovv_particle_PARENT_ENABLE_(&TAdaptor_particle::adaptor_do_PARENT_ENABLE);
TOutputVariableValue_BOOL_<TAdaptor_sound> 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() {}
+7
View File
@@ -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);
+257
View File
@@ -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);
+39
View File
@@ -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);
+60
View File
@@ -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;
+1
View File
@@ -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 */