mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-08 10:03:06 -04:00
Merge decomp/main into dusk
Merges 44 upstream commits from zeldaret/tp decomp/main. Conflict resolutions: - .github/workflows/build.yml: keep deleted (not needed for PC port) - README.md: keep PC port README - J3DAnimation.h: keep OFFSET_PTR macro + add upstream forward decl - J3DModelLoader.h: keep BE(u32) mBlockNum + add field_0x1c - d_com_inf_game.h: keep PC port inlines + add upstream declarations - global.h: keep MULTI_CHAR macro + add FABSF macro - JUTConsole.cpp: keep uintptr_t cast for 64-bit - JUTDbPrint.cpp: keep PC enter_() helper + add cstring include - JUTResFont.cpp: take upstream loop/struct improvements with BE types - JUTCacheFont.cpp: take upstream decomp fix - float.h: use upstream !PLATFORM_GCN guard - d_a_npc_bouS/theB.cpp: keep MULTI_CHAR() for PC portability - d_a_npc_henna.cpp: keep uintptr_t + use upstream var name - d_demo.cpp: keep near_/far_ field renames for PC - d_resorce.cpp: keep uintptr_t + fix var name to res - d_s_room.cpp, m_Do_graphic.cpp: keep dusk includes + add cstring - m_Do_main.cpp: keep JHIComPortManager + use JAS_GLOBAL_INSTANCE_INIT - angle_utils.h: remove redundant types.h include
This commit is contained in:
+4465
-4463
File diff suppressed because it is too large
Load Diff
@@ -34,7 +34,7 @@ public:
|
||||
/* 0x0570 */ u8 prm0;
|
||||
/* 0x0571 */ u8 prm1;
|
||||
/* 0x0572 */ u8 prm2;
|
||||
/* 0x0574 */ ga_s ga_s[256];
|
||||
/* 0x0574 */ struct ga_s ga_s[256];
|
||||
/* 0x4D74 */ int ga_num;
|
||||
/* 0x4D78 */ u8 HIOInit;
|
||||
/* 0x4D79 */ u8 initialized;
|
||||
|
||||
@@ -23,7 +23,7 @@ public:
|
||||
void CheckHit();
|
||||
void WaitAction();
|
||||
void HalfBreakAction();
|
||||
bool VibAction();
|
||||
u8 VibAction();
|
||||
void DummyAction();
|
||||
void RealAction();
|
||||
void Action();
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "d/d_cc_uty.h"
|
||||
#include "d/d_msg_flow.h"
|
||||
|
||||
class dPath;
|
||||
struct dPath;
|
||||
|
||||
/**
|
||||
* @ingroup actors-enemies
|
||||
|
||||
@@ -15,21 +15,21 @@
|
||||
*/
|
||||
class e_warpappear_class : public fopAc_ac_c {
|
||||
public:
|
||||
/* 0x568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x570 */ u8 field_0x570;
|
||||
/* 0x574 */ J3DModel* mpModel;
|
||||
/* 0x578 */ mDoExt_btkAnm* mpBtk;
|
||||
/* 0x57c */ mDoExt_brkAnm* mpBrks[2];
|
||||
/* 0x568 */ request_of_phase_process_class phase;
|
||||
/* 0x570 */ u8 arg0;
|
||||
/* 0x574 */ J3DModel* model;
|
||||
/* 0x578 */ mDoExt_btkAnm* btk;
|
||||
/* 0x57c */ mDoExt_brkAnm* anm_p[2];
|
||||
/* 0x584 */ int field_0x584;
|
||||
/* 0x588 */ u8 field_0x588[0x58c - 0x588];
|
||||
/* 0x58C */ u32 mParticle1;
|
||||
/* 0x590 */ u32 mParticle2;
|
||||
/* 0x594 */ s16 field_0x594;
|
||||
/* 0x596 */ s16 field_0x596;
|
||||
/* 0x58C */ u32 portal_app_b;
|
||||
/* 0x590 */ u32 portal_app_c;
|
||||
/* 0x594 */ s16 counter;
|
||||
/* 0x596 */ s16 action;
|
||||
/* 0x598 */ s16 field_0x598;
|
||||
/* 0x59A */ s16 field_0x59a[2];
|
||||
/* 0x59E */ s16 field_0x59e;
|
||||
/* 0x5A0 */ s16 field_0x5a0;
|
||||
/* 0x59A */ s16 timer[2];
|
||||
/* 0x59E */ s16 demo_mode;
|
||||
/* 0x5A0 */ s16 demo_timer;
|
||||
/* 0x5A4 */ cXyz field_0x5a4;
|
||||
/* 0x5B0 */ cXyz field_0x5b0;
|
||||
/* 0x5BC */ cXyz field_0x5bc;
|
||||
@@ -45,8 +45,8 @@ public:
|
||||
/* 0x5F4 */ f32 field_0x5f4;
|
||||
/* 0x5F8 */ f32 field_0x5f8;
|
||||
/* 0x5FC */ f32 field_0x5fc;
|
||||
/* 0x600 */ dMsgFlow_c mMsgFlow;
|
||||
/* 0x64C */ int field_0x64c;
|
||||
/* 0x600 */ dMsgFlow_c MsgFlow;
|
||||
/* 0x64C */ int target_info_count;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(e_warpappear_class) == 0x650);
|
||||
|
||||
+3
-187
@@ -3,194 +3,10 @@
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
class dCcMassS_HitInf;
|
||||
class cCcD_Obj;
|
||||
|
||||
class dGrass_data_c {
|
||||
public:
|
||||
void WorkCo(fopAc_ac_c*, u32, int);
|
||||
void WorkAt_NoCutAnim(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*);
|
||||
void Direction_Set(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*, csXyz*);
|
||||
void WorkAt(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, u16);
|
||||
void hitCheck(int, u16);
|
||||
~dGrass_data_c() {}
|
||||
dGrass_data_c() {
|
||||
m_state = 0;
|
||||
}
|
||||
|
||||
/* 0x00 */ u8 m_state;
|
||||
/* 0x01 */ u8 field_0x01;
|
||||
/* 0x02 */ s8 field_0x02;
|
||||
/* 0x03 */ u8 m_tableNo;
|
||||
/* 0x04 */ u8 m_itemBitNo;
|
||||
/* 0x05 */ u8 field_0x05;
|
||||
/* 0x06 */ u8 field_0x06[0x08 - 0x06];
|
||||
/* 0x08 */ s16 m_addCol;
|
||||
/* 0x0C */ cXyz m_pos;
|
||||
/* 0x18 */ Mtx m_modelMtx;
|
||||
/* 0x48 */ dGrass_data_c* mp_next;
|
||||
};
|
||||
|
||||
class dGrass_room_c {
|
||||
public:
|
||||
void newData(dGrass_data_c*);
|
||||
void deleteData();
|
||||
dGrass_room_c() {
|
||||
mp_data = NULL;
|
||||
}
|
||||
|
||||
dGrass_data_c* getData() { return mp_data; }
|
||||
|
||||
/* 0x0 */ dGrass_data_c* mp_data;
|
||||
};
|
||||
|
||||
class dGrass_anm_c {
|
||||
public:
|
||||
dGrass_anm_c() {
|
||||
m_state = 0;
|
||||
}
|
||||
|
||||
/* 0x00 */ u8 m_state;
|
||||
/* 0x02 */ s16 m_angY;
|
||||
/* 0x04 */ s16 m_angX;
|
||||
/* 0x08 */ Mtx m_animMtx;
|
||||
};
|
||||
|
||||
class dGrass_packet_c : public J3DPacket {
|
||||
public:
|
||||
dGrass_packet_c();
|
||||
void calc();
|
||||
void update();
|
||||
void setData(dGrass_data_c*, int, cXyz&, int, u8, u8, s16, u8);
|
||||
dGrass_data_c* newData(cXyz&, int, u8, u8, s16, u8);
|
||||
void deleteRoom(int);
|
||||
int newAnm();
|
||||
void setAnm(int, s16);
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dGrass_packet_c();
|
||||
|
||||
typedef void (dGrass_packet_c::*deleteFunc)(int);
|
||||
static deleteFunc m_deleteRoom;
|
||||
|
||||
dGrass_anm_c* getAnm() { return m_anm; }
|
||||
dGrass_anm_c* getAnm(int i_no) { return &m_anm[i_no]; }
|
||||
|
||||
dGrass_data_c* getData() { return m_data; }
|
||||
|
||||
void deleteAnm(int i_idx) { m_anm[i_idx].m_state = 0; }
|
||||
|
||||
/* 0x00010 */ u16 m_dataNum;
|
||||
/* 0x00014 */ dGrass_data_c m_data[1500];
|
||||
/* 0x1BD64 */ dGrass_anm_c m_anm[112];
|
||||
/* 0x1D5E4 */ dGrass_room_c m_room[64];
|
||||
/* 0x1D6E4 */ Vec* mp_pos;
|
||||
/* 0x1D6E8 */ Vec* mp_normal;
|
||||
/* 0x1D6EC */ GXColor* mp_colors;
|
||||
/* 0x1D6F0 */ Vec* mp_texCoords;
|
||||
/* 0x1D6F4 */ u8* mp_kusa9q_DL;
|
||||
/* 0x1D6F8 */ u32 m_kusa9q_DL_size;
|
||||
/* 0x1D6FC */ u8* mp_kusa9q_14_DL;
|
||||
/* 0x1D700 */ u32 m_kusa9q_DL_14_size;
|
||||
/* 0x1D704 */ u8* mp_Mkusa_9q_DL;
|
||||
/* 0x1D708 */ u32 m_Mkusa_9q_DL_size;
|
||||
/* 0x1D70C */ u8* mp_Mkusa_9q_cDL;
|
||||
/* 0x1D710 */ u32 m_Mkusa_9q_cDL_size;
|
||||
/* 0x1D714 */ s16 field_0x1d714;
|
||||
}; // Size: 0x1D718
|
||||
|
||||
STATIC_ASSERT(sizeof(dGrass_packet_c) == 0x1D718);
|
||||
|
||||
class dFlower_data_c {
|
||||
public:
|
||||
void WorkCo(fopAc_ac_c*, u32, int);
|
||||
void deleteAnm();
|
||||
void WorkAt_NoCutAnim(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*);
|
||||
void WorkAt(fopAc_ac_c*, u32, int, dCcMassS_HitInf*);
|
||||
void hitCheck(fopAc_ac_c*, int);
|
||||
~dFlower_data_c();
|
||||
dFlower_data_c();
|
||||
|
||||
/* 0x00 */ u8 m_state;
|
||||
/* 0x01 */ s8 field_0x01;
|
||||
/* 0x02 */ s8 m_tableNo;
|
||||
/* 0x03 */ u8 field_0x03;
|
||||
/* 0x04 */ s16 field_0x04;
|
||||
/* 0x08 */ cXyz m_pos;
|
||||
/* 0x14 */ Mtx m_modelMtx;
|
||||
/* 0x44 */ dFlower_data_c* mp_next;
|
||||
};
|
||||
|
||||
class dFlower_room_c {
|
||||
public:
|
||||
void newData(dFlower_data_c*);
|
||||
void deleteData();
|
||||
dFlower_room_c();
|
||||
|
||||
dFlower_data_c* getData() { return mp_data; }
|
||||
|
||||
/* 0x0 */ dFlower_data_c* mp_data;
|
||||
};
|
||||
|
||||
class dFlower_anm_c {
|
||||
public:
|
||||
dFlower_anm_c();
|
||||
|
||||
/* 0x00 */ u8 m_state;
|
||||
/* 0x02 */ s16 m_angY;
|
||||
/* 0x04 */ s16 m_angX;
|
||||
/* 0x08 */ Mtx m_animMtx;
|
||||
};
|
||||
|
||||
class dFlower_packet_c : public J3DPacket {
|
||||
public:
|
||||
dFlower_packet_c();
|
||||
void calc();
|
||||
void update();
|
||||
void setData(dFlower_data_c*, int, s8, cXyz&, int, s8, s16);
|
||||
dFlower_data_c* newData(s8, cXyz&, int, s8, s16);
|
||||
void deleteRoom(int);
|
||||
int newAnm();
|
||||
void setAnm(int, s16);
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dFlower_packet_c();
|
||||
|
||||
typedef void (dFlower_packet_c::*deleteFunc)(int);
|
||||
static deleteFunc m_deleteRoom;
|
||||
|
||||
dFlower_anm_c* getAnm(int i_idx) { return &m_anm[i_idx]; }
|
||||
dFlower_anm_c* getAnm() { return &m_anm[0]; }
|
||||
dFlower_data_c* getData() { return m_data; }
|
||||
|
||||
void deleteAnm(int i_idx) { m_anm[i_idx].m_state = 0; }
|
||||
|
||||
void setPlayerCutFlg(int i_flag) { m_playerCutFlg = i_flag != 0; }
|
||||
void setPlayerSwordAngY(s16 i_angY) { m_playerSwordAngY = i_angY; }
|
||||
void setPlayerSwordMoveAngY(s16 i_angY) { m_playerSwordMoveAngY = i_angY; }
|
||||
void setPlayerSwordTop(cXyz& i_pos) { m_playerSwordTop = i_pos; }
|
||||
cXyz& getPlayerSwordTop() { return m_playerSwordTop; }
|
||||
|
||||
/* 0x00010 */ u16 m_dataNum;
|
||||
/* 0x00014 */ dFlower_data_c m_data[1000];
|
||||
/* 0x11954 */ dFlower_anm_c m_anm[72];
|
||||
/* 0x12914 */ dFlower_room_c m_room[64];
|
||||
/* 0x12A14 */ u8 m_playerCutFlg;
|
||||
/* 0x12A16 */ s16 m_playerSwordAngY;
|
||||
/* 0x12A18 */ s16 m_playerSwordMoveAngY;
|
||||
/* 0x12A1C */ cXyz m_playerSwordTop;
|
||||
/* 0x12A28 */ Vec* mp_pos;
|
||||
/* 0x12A2C */ GXColor* mp_colors;
|
||||
/* 0x12A30 */ Vec* mp_texCoords;
|
||||
/* 0x12A34 */ u8* mp_mat2DL;
|
||||
/* 0x12A38 */ u32 m_mat2DL_size;
|
||||
/* 0x12A3C */ u8* mp_mat2Light4DL;
|
||||
/* 0x12A40 */ u32 m_mat2Light4DL_size;
|
||||
/* 0x12A44 */ u8* mp_Jhana01DL;
|
||||
/* 0x12A48 */ u32 m_Jhana01DL_size;
|
||||
/* 0x12A4C */ u8* mp_Jhana01_cDL;
|
||||
/* 0x12A50 */ u32 m_Jhana01_cDL_size;
|
||||
}; // Size: 0x12A54
|
||||
class dCcMassS_HitInf;
|
||||
class dFlower_packet_c;
|
||||
class dGrass_packet_c;
|
||||
|
||||
/**
|
||||
* @ingroup actors-unsorted
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "d/d_a_itembase_static.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
|
||||
struct daItemBase_data {
|
||||
/* 0x00 */ f32 mGravity;
|
||||
|
||||
@@ -18,7 +18,7 @@ struct fs_weed_s {
|
||||
|
||||
struct fs_tsubo_s {
|
||||
/* 0x00 */ cXyz field_0x00;
|
||||
/* 0x0C */ u8 field_0x0c[0x14 - 0x0c];
|
||||
/* 0x0C */ csXyz field_0x0c; // unused
|
||||
/* 0x14 */ J3DModel* model;
|
||||
/* 0x18 */ u8 field_0x18[0x1C - 0x18];
|
||||
/* 0x1C */ f32 field_0x1c;
|
||||
@@ -29,7 +29,7 @@ struct fs_tsubo_s {
|
||||
|
||||
struct fs_rod_s {
|
||||
/* 0x00 */ cXyz field_0x00;
|
||||
/* 0x0C */ u8 field_0x0C[0x14 - 0x0C];
|
||||
/* 0x0C */ csXyz field_0x0C; // unused
|
||||
/* 0x14 */ J3DModel* model;
|
||||
/* 0x18 */ J3DModel* ringModel[6];
|
||||
/* 0x30 */ mDoExt_3DlineMat0_c line_mat;
|
||||
@@ -41,9 +41,7 @@ struct fs_rod_s {
|
||||
|
||||
struct fs_lure_s {
|
||||
/* 0x00 */ cXyz field_0x00;
|
||||
/* 0x0C */ s16 field_0x0c;
|
||||
/* 0x0E */ s16 field_0x0e;
|
||||
/* 0x10 */ s16 field_0x10;
|
||||
/* 0x0C */ csXyz field_0x0c;
|
||||
/* 0x14 */ J3DModel* model;
|
||||
/* 0x18 */ J3DModel* hookModel[2];
|
||||
/* 0x20 */ u8 field_0x20[0x24 - 0x20];
|
||||
@@ -113,6 +111,10 @@ public:
|
||||
/* 0x40B4 */ dBgS_ObjAcch ballAcch;
|
||||
/* 0x428C */ u8 field_0x428c;
|
||||
/* 0x428D */ u8 field_0x428d;
|
||||
#if PLATFORM_SHIELD
|
||||
u8 unk_dbg_padding[0x6];
|
||||
J3DModel* dbg_models[2];
|
||||
#endif
|
||||
/* 0x4290 */ fs_koro2_s mKoro2[100];
|
||||
/* 0x6B30 */ J3DModel* canoeModel;
|
||||
/* 0x6B34 */ s16 field_0x6b34;
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "d/d_msg_flow.h"
|
||||
#include "d/d_particle_copoly.h"
|
||||
#include "global.h"
|
||||
#include <cstring>
|
||||
|
||||
struct daNpc_GetParam1 { // name unknown
|
||||
/* 0x0 */ int fileIdx;
|
||||
@@ -169,7 +170,7 @@ public:
|
||||
int chkPassed1(cXyz, int);
|
||||
int chkPassed2(cXyz, cXyz*, int, int);
|
||||
#if DEBUG
|
||||
int drawDbgInfo(f32, int);
|
||||
void drawDbgInfo(f32, int);
|
||||
#endif
|
||||
|
||||
daNpcT_Path_c() {
|
||||
@@ -276,7 +277,7 @@ public:
|
||||
cXyz cStack_50 = *mAttnPosP - param_1;
|
||||
sVar3 += cM_atan2s(cStack_50.x, cStack_50.z);
|
||||
sVar3 -= param_2;
|
||||
sVar3 -= (s16)(field_0x150.y - param_2);
|
||||
ANGLE_SUB(sVar3, field_0x150.y - param_2);
|
||||
sVar3 += param_5;
|
||||
}
|
||||
if (param_3) {
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_A_NPC_BOU_H
|
||||
|
||||
#include "d/actor/d_a_npc.h"
|
||||
#include <cstring>
|
||||
|
||||
struct daNpc_Bou_HIOParam {
|
||||
/* 0x00 */ daNpcT_HIOParam common;
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "d/actor/d_a_npc.h"
|
||||
#include "d/actor/d_a_npc_cd2.h"
|
||||
#include "d/actor/d_a_tag_schedule.h"
|
||||
#include <cstring>
|
||||
|
||||
/**
|
||||
* @ingroup actors-npcs
|
||||
|
||||
@@ -26,7 +26,7 @@ public:
|
||||
/* 0x5BC */ s16 field_0x5bc;
|
||||
/* 0x5BE */ s16 field_0x5be;
|
||||
/* 0x5C0 */ dMsgFlow_c mMsgFlow;
|
||||
/* 0x60C */ u8 field_0x60c[0x618 - 0x60c];
|
||||
/* 0x60C */ cXyz field_0x60c; // unused
|
||||
/* 0x618 */ s16 field_0x618;
|
||||
/* 0x61C */ f32 field_0x61c;
|
||||
/* 0x620 */ s16 field_0x620;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_A_NPC_KN_H
|
||||
|
||||
#include "d/actor/d_a_npc.h"
|
||||
#include <cstring>
|
||||
|
||||
struct daNpc_Kn_HIOParam {
|
||||
/* 0x00 */ daNpcT_HIOParam common;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_A_NPC_KOLIN_H
|
||||
|
||||
#include "d/actor/d_a_npc.h"
|
||||
#include <cstring>
|
||||
|
||||
struct daNpc_Kolin_HIOParam {
|
||||
/* 0x00 */ daNpcT_HIOParam common;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_A_NPC_THE_H
|
||||
|
||||
#include "d/actor/d_a_npc4.h"
|
||||
#include <cstring>
|
||||
|
||||
struct daNpcThe_HIOParam {
|
||||
/* 0x00 */ daNpcF_HIOParam common;
|
||||
|
||||
@@ -48,18 +48,4 @@ private:
|
||||
|
||||
STATIC_ASSERT(sizeof(daBsGate_c) == 0x5B8);
|
||||
|
||||
class daBsGate_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
daBsGate_HIO_c();
|
||||
~daBsGate_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x4 */ f32 mOpenSpeed;
|
||||
/* 0x8 */ f32 mCloseSpeed;
|
||||
/* 0xC */ u8 mShockStrength;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daBsGate_HIO_c) == 0x10);
|
||||
|
||||
#endif /* D_A_OBJ_BSGATE_H */
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "d/d_cc_d.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
class dPath;
|
||||
struct dPath;
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
|
||||
@@ -15,11 +15,39 @@
|
||||
*
|
||||
*/
|
||||
|
||||
class daObj_ItaMato_HIO_c;
|
||||
struct daObj_ItaMato_HIOParam {
|
||||
/* 0x00 */ f32 attn_offset;
|
||||
/* 0x04 */ f32 gravity;
|
||||
/* 0x08 */ f32 scale;
|
||||
/* 0x0C */ f32 real_shadow_size;
|
||||
/* 0x10 */ f32 shake_pow;
|
||||
};
|
||||
|
||||
class daObj_ItaMato_Param_c {
|
||||
public:
|
||||
virtual ~daObj_ItaMato_Param_c() {}
|
||||
|
||||
static daObj_ItaMato_HIOParam const m;
|
||||
};
|
||||
|
||||
#if DEBUG
|
||||
#define OBJ_ITAMATO_HIO_CLASS daObj_ItaMato_HIO_c
|
||||
|
||||
class daObj_ItaMato_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
daObj_ItaMato_HIO_c();
|
||||
void genMessage(JORMContext* ctx);
|
||||
void listenPropertyEvent(const JORPropertyEvent*);
|
||||
|
||||
/* 0x8 */ daObj_ItaMato_HIOParam m;
|
||||
};
|
||||
#else
|
||||
#define OBJ_ITAMATO_HIO_CLASS daObj_ItaMato_Param_c
|
||||
#endif
|
||||
|
||||
class daObj_ItaMato_c : public fopAc_ac_c {
|
||||
private:
|
||||
/* 0x568 */ daObj_ItaMato_HIO_c* mHIO;
|
||||
/* 0x568 */ OBJ_ITAMATO_HIO_CLASS* mHIO;
|
||||
/* 0x56C */ request_of_phase_process_class mPhase;
|
||||
/* 0x574 */ J3DModel* mpModels[2];
|
||||
/* 0x57C */ dBgS_ObjAcch mBgc;
|
||||
|
||||
@@ -93,23 +93,4 @@ private:
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjKAT_c) == 0xa74);
|
||||
|
||||
class daObj_KatHIO_c : public JORReflexible {
|
||||
public:
|
||||
daObj_KatHIO_c();
|
||||
virtual ~daObj_KatHIO_c() {}
|
||||
|
||||
void genMessage(JORMContext* ctx) {
|
||||
// Golden Snail
|
||||
ctx->genLabel("黄金蟲(カタツムリ)", 0x80000001);
|
||||
// Model scale (male)
|
||||
ctx->genSlider("モデルスケール(オス)", &this->mScaleMale, 0.1f, 4.0f);
|
||||
// Model scale (female)
|
||||
ctx->genSlider("モデルスケール(メス)", &this->mScaleFemale, 0.1f, 4.0f);
|
||||
}
|
||||
|
||||
s8 field_0x4;
|
||||
f32 mScaleFemale;
|
||||
f32 mScaleMale;
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_KATATSUMURI_H */
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "d/d_cc_d.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_hostIO.h"
|
||||
#include "d/d_kankyo.h"
|
||||
|
||||
|
||||
/**
|
||||
@@ -26,8 +26,8 @@ public:
|
||||
int Draw();
|
||||
int Delete();
|
||||
|
||||
u8 getSwBit() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
u8 getType() { return fopAcM_GetParamBit(this, 8, 8); }
|
||||
int getSwBit() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
int getType() { return fopAcM_GetParamBit(this, 8, 8); }
|
||||
|
||||
private:
|
||||
/* 0x568 */ request_of_phase_process_class mPhaseReq;
|
||||
@@ -51,15 +51,4 @@ private:
|
||||
|
||||
STATIC_ASSERT(sizeof(daLv3Candle_c) == 0x754);
|
||||
|
||||
class daLv3Candle_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
daLv3Candle_HIO_c();
|
||||
virtual ~daLv3Candle_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x00 vtable */
|
||||
/* 0x04 */ u8 field_0x04;
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_LV3CANDLE_H */
|
||||
|
||||
@@ -40,10 +40,9 @@ public:
|
||||
virtual ~daLv3Water_c() {}
|
||||
virtual bool eventStart();
|
||||
|
||||
int getParam() { return fpcM_GetParam(this) >> 0xC & 0x0FFF; }
|
||||
int getParamSw() { return fpcM_GetParam(this) & 0xFF; }
|
||||
int getParam(int shift, int bit) { return fopAcM_GetParamBit(this, shift, bit); }
|
||||
int getParamEvent() { return shape_angle.x & 0xFF; }
|
||||
u8 getParamType() { return (shape_angle.x >> 8) & 0xFF; }
|
||||
int getParamType() { return (shape_angle.x & 0xFF00) >> 8; }
|
||||
u8 getType() { return mType; }
|
||||
|
||||
private:
|
||||
@@ -54,13 +53,13 @@ private:
|
||||
/* 0x5E0 */ mDoExt_btkAnm mBtk2;
|
||||
/* 0x5F8 */ u8 mMode;
|
||||
/* 0x5F9 */ u8 mType;
|
||||
/* 0x5FC */ f32 field_0x5fc;
|
||||
/* 0x600 */ u8 field_0x600;
|
||||
/* 0x601 */ u8 field_0x601;
|
||||
/* 0x602 */ u8 mSwitch1;
|
||||
/* 0x603 */ u8 mSwitch2;
|
||||
/* 0x604 */ u8 field_0x604;
|
||||
/* 0x605 */ u8 field_0x605;
|
||||
/* 0x5FC */ f32 mWaterLv; // Amount that the water's y coodinate should increase
|
||||
/* 0x600 */ u8 mCurrentWaterLvFrame; // Number of frames that the water level has been changing
|
||||
/* 0x601 */ u8 mWaterLvFrame; // Number of frames that should be taken for the water level to change
|
||||
/* 0x602 */ u8 mSwInitialState;
|
||||
/* 0x603 */ u8 mSwCurrentState;
|
||||
/* 0x604 */ u8 mLvControlWaitFrames;
|
||||
/* 0x605 */ u8 mSwStatePostEvent; // Only when true (i.e event initiated water raising instead of lowering) should anything be drawn
|
||||
/* 0x608 */ u32 mEmitterIDs[8];
|
||||
};
|
||||
|
||||
|
||||
@@ -32,21 +32,21 @@ public:
|
||||
private:
|
||||
/* 0x5B8 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5C0 */ J3DModel* mpModel;
|
||||
/* 0x5C4 */ mDoExt_btkAnm mWaterSurfaceRefractionAnm;
|
||||
/* 0x5C4 */ mDoExt_btkAnm mRefractionAnm; // Applied to water surface
|
||||
/* 0x5DC */ u8 mMode;
|
||||
/* 0x5DD */ u8 mResourceIndex;
|
||||
/* 0x5E0 */ f32 mWaterLv;
|
||||
/* 0x5E4 */ u8 mCurrentWaterLvFrame;
|
||||
/* 0x5E5 */ u8 mWaterLvFrame;
|
||||
/* 0x5E6 */ u8 mFullRatio;
|
||||
/* 0x5E7 */ u8 mEastSwInitialStatus; // East SW is the lever in the east-most room on 2F, which can only be pulled after raising the water level in that room by pulling the lever in 4F
|
||||
/* 0x5E8 */ u8 mWestSwInitialStatus; // West SW is the lever in the west-most room on 2F, which can only be pulled after raising the water level in that room by pulling the lever in 4F
|
||||
/* 0x5E9 */ u8 mEastSwCurrentStatus;
|
||||
/* 0x5EA */ u8 mWestSwCurrentStatus;
|
||||
/* 0x5EB */ u8 mLevelControlWaitFrames;
|
||||
/* 0x5DD */ u8 mResIdx;
|
||||
/* 0x5E0 */ f32 mWaterLv; // Amount that the water's y coodinate should increase
|
||||
/* 0x5E4 */ u8 mCurrentWaterLvFrame; // Number of frames that the water level has been changing
|
||||
/* 0x5E5 */ u8 mWaterLvFrame; // Number of frames that should be taken for the water level to change
|
||||
/* 0x5E6 */ u8 mEvActivatorSwState;
|
||||
/* 0x5E7 */ u8 mEastSwInitialState; // East SW is the lever in the east-most room on 2F, which can only be pulled after raising the water level in that room by pulling the lever in 4F
|
||||
/* 0x5E8 */ u8 mWestSwInitialState; // West SW is the lever in the west-most room on 2F, which can only be pulled after raising the water level in that room by pulling the lever in 4F
|
||||
/* 0x5E9 */ u8 mEastSwCurrentState;
|
||||
/* 0x5EA */ u8 mWestSwCurrentState;
|
||||
/* 0x5EB */ u8 mLvControlWaitFrames;
|
||||
/* 0x5EC */ f32 mBaseYPos;
|
||||
/* 0x5F0 */ u32 mEastWaterParticles[4]; // If the central staircase isn't rotated to allow water from the east to flow down it, the water falls into the basin; these are the splash particles where the basin water and falling water meet
|
||||
/* 0x600 */ u32 mWestWaterParticles[4]; // If the central staircase isn't rotated to allow water from the west to flow down it, the water falls into the basin; these are the splash particles where the basin water and falling water meet
|
||||
/* 0x5F0 */ u32 mEastParticles[4]; // If the central staircase isn't rotated to allow water from the east to flow down it, the water falls into the basin; these are the splash particles where the basin water and falling water meet
|
||||
/* 0x600 */ u32 mWestParticles[4]; // If the central staircase isn't rotated to allow water from the west to flow down it, the water falls into the basin; these are the splash particles where the basin water and falling water meet
|
||||
|
||||
enum Mode_e {
|
||||
WAIT, LEVEL_CTRL
|
||||
|
||||
@@ -43,11 +43,11 @@ public:
|
||||
void setAnmSpeed(f32 speed) { mpBck->setPlaySpeed(speed); }
|
||||
|
||||
bool isSwitch() {
|
||||
return fopAcM_isSwitch(this, getSwitchNo()) ||
|
||||
/* dSv_event_flag_c::F_0361 - Arbiter's Grounds - Spun the spinning pillars */
|
||||
dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]) ||
|
||||
/* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */
|
||||
dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]);
|
||||
return (fopAcM_isSwitch(this, getSwitchNo()) ||
|
||||
/* dSv_event_flag_c::F_0361 - Arbiter's Grounds - Spun the spinning pillars */
|
||||
dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]) ||
|
||||
/* dSv_event_flag_c::F_0354 - Cutscene - [cutscene] Mirror complete */
|
||||
dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) != false;
|
||||
}
|
||||
|
||||
inline void setAction(Mode_e i_action);
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
*/
|
||||
class daObjSCannonTen_c : public fopAc_ac_c, public request_of_phase_process_class {
|
||||
public:
|
||||
typedef void (daObjSCannonTen_c::*ExeProc)(void);
|
||||
|
||||
enum daSCannonTen_exeMode {
|
||||
MODE_WAIT,
|
||||
MODE_ORDER_EVT,
|
||||
@@ -55,8 +57,8 @@ public:
|
||||
void exeEmtLine();
|
||||
void delEmtAll();
|
||||
|
||||
static void (daObjSCannonTen_c::*s_exeProc[])();
|
||||
static void (daObjSCannonTen_c::*s_demoExeProc[][2])();
|
||||
static const ExeProc s_exeProc[];
|
||||
static const ExeProc s_demoExeProc[][2];
|
||||
|
||||
private:
|
||||
/* 0x574 */ J3DModel* mpModel;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#ifndef D_A_OBJ_SYROCK_H
|
||||
#define D_A_OBJ_SYROCK_H
|
||||
|
||||
#include "d/actor/d_a_obj_waterPillar.h"
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
#include "d/actor/d_a_obj_waterPillar.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
@@ -50,20 +50,20 @@ private:
|
||||
/* 0x5B8 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5C0 */ J3DModel* mpModels[2];
|
||||
/* 0x5C8 */ u8 mMode;
|
||||
/* 0x5C9 */ u8 mDropAutomaticallySwitchNo;
|
||||
/* 0x5C9 */ u8 mAutoDropSwNo;
|
||||
/* 0x5CC */ dCcD_Stts mStts;
|
||||
/* 0x608 */ dCcD_Cyl mUnbrokenCylinderCollider; // Collider used to check for bomb/bomb arrow for breaking stalactite
|
||||
/* 0x608 */ dCcD_Cyl mUnbrokenCollider; // Collider used to check for bomb/bomb arrow for breaking stalactite
|
||||
/* 0x744 */ u8 mWaitFrames;
|
||||
/* 0x748 */ u32 mShakeOscillationAngleStep;
|
||||
/* 0x74C */ csXyz mShakeXZAngleOffset;
|
||||
/* 0x748 */ u32 mShakeOscAngStep;
|
||||
/* 0x74C */ csXyz mShakeAngOffset; // Y component is always 0
|
||||
/* 0x754 */ f32 mShakeAmplitude;
|
||||
/* 0x758 */ f32 mShakeXOscillationAngle;
|
||||
/* 0x75C */ f32 mShakeZOscillationAngle;
|
||||
/* 0x760 */ f32 mShakeDamping;
|
||||
/* 0x758 */ f32 mShakeXOscAngQuantum;
|
||||
/* 0x75C */ f32 mShakeZOscAngQuantum;
|
||||
/* 0x760 */ f32 mShakeDampingScale;
|
||||
/* 0x764 */ f32 mShakeMaxDecay;
|
||||
/* 0x768 */ f32 mShakeMinDecay;
|
||||
/* 0x76C */ cXyz mUnderwaterRotatedStalactiteOffset;
|
||||
/* 0x778 */ bool mInWaterPreviousFrame;
|
||||
/* 0x76C */ cXyz mUnderwaterOffset;
|
||||
/* 0x778 */ u8 mInWaterPrevFrame;
|
||||
/* 0x779 */ u8 field_0x779; // Redundant variable, thus left unnamed
|
||||
/* 0x77C */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x7BC */ dBgS_ObjAcch mAcch;
|
||||
@@ -77,31 +77,30 @@ private:
|
||||
}
|
||||
|
||||
// Switch to determine whether or not the stalactite has been broken
|
||||
u32 getSwBit1() {
|
||||
int getSwBit1() {
|
||||
return fopAcM_GetParamBit(this, 0, 8);
|
||||
}
|
||||
|
||||
// Switch to determine whether or not the stalactite should be broken automatically when player is in range
|
||||
u32 getSwBit2() {
|
||||
int getSwBit2() {
|
||||
return fopAcM_GetParamBit(this, 8, 8);
|
||||
}
|
||||
|
||||
// Event ID for Midna to stop and note the stalactite that fell by itself
|
||||
s32 getEvetID() {
|
||||
int getEvetID() {
|
||||
return fopAcM_GetParamBit(this, 16, 8);
|
||||
}
|
||||
|
||||
enum Mode_e {
|
||||
MODE_WAIT,
|
||||
MODE_DROP_INIT,
|
||||
MODE_WAIT,
|
||||
MODE_DROP_INIT,
|
||||
MODE_DROP,
|
||||
MODE_SINK,
|
||||
MODE_MOVE,
|
||||
MODE_SINK,
|
||||
MODE_MOVE,
|
||||
MODE_DROP_END
|
||||
};
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daSyRock_c) == 0x9a0);
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_SYROCK_H */
|
||||
|
||||
@@ -34,14 +34,4 @@ private:
|
||||
|
||||
STATIC_ASSERT(sizeof(daTwGate_c) == 0x5fc);
|
||||
|
||||
class daTwGate_HIO_c : public fOpAcm_HIO_entry_c {
|
||||
public:
|
||||
daTwGate_HIO_c();
|
||||
~daTwGate_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext* ctx);
|
||||
|
||||
/* 0x4 */ f32 mRange;
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_TWGATE_H */
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
#ifndef D_A_OBJ_WATERPILLAR_H
|
||||
#define D_A_OBJ_WATERPILLAR_H
|
||||
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_event_lib.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
* @class daWtPillar_c
|
||||
@@ -15,6 +10,13 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_event_lib.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
class daWtPillar_c : public fopAc_ac_c, public request_of_phase_process_class, public dEvLib_callback_c {
|
||||
public:
|
||||
daWtPillar_c() : dEvLib_callback_c(this) {}
|
||||
@@ -59,7 +61,7 @@ public:
|
||||
static dCcD_SrcCyl mCcDCyl;
|
||||
|
||||
void onRockFlag() {
|
||||
mIsCarryingStalactite = true;
|
||||
mCarryingStalactite = true;
|
||||
}
|
||||
|
||||
cXyz getPos() {
|
||||
@@ -67,18 +69,18 @@ public:
|
||||
}
|
||||
|
||||
u8 isRockYure() {
|
||||
return mStalactiteShouldStartShaking;
|
||||
return mStartStalactiteShake;
|
||||
}
|
||||
|
||||
void clearRockYure() {
|
||||
mStalactiteShouldStartShaking = false;
|
||||
mStartStalactiteShake = false;
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x584 */ request_of_phase_process_class mPhase;
|
||||
/* 0x58C */ J3DModel* mpModel;
|
||||
/* 0x590 */ mDoExt_btkAnm mVerticalTextureScrollAnimation;
|
||||
/* 0x5A8 */ mDoExt_bckAnm mModelRotationAnimation;
|
||||
/* 0x590 */ mDoExt_btkAnm mVTexScrollAnm;
|
||||
/* 0x5A8 */ mDoExt_bckAnm mModelRotAnm;
|
||||
/* 0x5C4 */ dBgS_ObjAcch mAcch;
|
||||
/* 0x79C */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x7DC */ dCcD_Stts mStts;
|
||||
@@ -86,34 +88,34 @@ private:
|
||||
/* 0x95C */ dCcD_Cyl mCylinderCollider;
|
||||
/* 0xA98 */ u8 pad0[0x30];
|
||||
/* 0xAC8 */ cXyz field_0xAC8; // unused.
|
||||
/* 0xAD4 */ cXyz mScale; // Modified but never read; unused?
|
||||
/* 0xAD4 */ cXyz mDbgDrawScale;
|
||||
/* 0xAE0 */ f32 mCurrentHeight;
|
||||
/* 0xAE4 */ cM3dGCpsS mCapsuleSource;
|
||||
/* 0xB00 */ u8 mAction;
|
||||
/* 0xB02 */ u16 mWaitFrameDelay;
|
||||
/* 0xB04 */ f32 mTargetMaxSpeed;
|
||||
/* 0xB02 */ u16 mWaitFrames;
|
||||
/* 0xB04 */ f32 mTargetSpeed;
|
||||
/* 0xB08 */ u8 mSwitchNo;
|
||||
/* 0xB09 */ u8 mType;
|
||||
/* 0xB0A */ u8 pad2[0x6];
|
||||
/* 0xB10 */ f32 mFirstTargetHeight;
|
||||
/* 0xB10 */ f32 mUpFirstTargetHeight;
|
||||
/* 0xB14 */ f32 mMaxHeight;
|
||||
/* 0xB18 */ f32 mTargetHeightStalactiteOffset;
|
||||
/* 0xB1C */ f32 mRelativeWaterHeight;
|
||||
/* 0xB20 */ u32 mEffectOscillationAngleStep;
|
||||
/* 0xB24 */ cXyz mEffectOscillationVerticalOffset;
|
||||
/* 0xB30 */ f32 mEffectOscillationAngle;
|
||||
/* 0xB34 */ f32 mEffectOscillationAmplitude;
|
||||
/* 0xB38 */ f32 mEffectOscillationDampingScale;
|
||||
/* 0xB3C */ f32 mEffectOscillationMaxDecay;
|
||||
/* 0xB40 */ f32 mEffectOscillationMinDecay;
|
||||
/* 0xB20 */ u32 mVOscAngleStep;
|
||||
/* 0xB24 */ cXyz mVOscVOffset;
|
||||
/* 0xB30 */ f32 mVOscAngleQuantum;
|
||||
/* 0xB34 */ f32 mVOscAmplitude;
|
||||
/* 0xB38 */ f32 mVOscDampingScale;
|
||||
/* 0xB3C */ f32 mVOscMaxDecay;
|
||||
/* 0xB40 */ f32 mVOscMinDecay;
|
||||
/* 0xB44 */ u8 field_0xB44; // Modified, but never read; unused?
|
||||
/* 0xB45 */ u8 mStartedRisingOrDoesNotRiseAndFall;
|
||||
/* 0xB46 */ u8 mPillarIsPreparingToRise;
|
||||
/* 0xB48 */ u32 mBottomAndTopParticleEmmitters[7];
|
||||
/* 0xB64 */ u32 mWaterSurfaceParticleEmitters[2];
|
||||
/* 0xB45 */ u8 mIsUpOrStatic;
|
||||
/* 0xB46 */ u8 mIsUpFirst;
|
||||
/* 0xB48 */ u32 mBotAndTopEmmitters[7];
|
||||
/* 0xB64 */ u32 mWaterSurfaceEmitters[2];
|
||||
/* 0xB6C */ cXyz mTopPos;
|
||||
/* 0xB78 */ s8 mStalactiteShouldStartShaking; // Modified by d_a_obj_syRock
|
||||
/* 0xB79 */ u8 mIsCarryingStalactite; // Modified by d_a_obj_syRock
|
||||
/* 0xB78 */ u8 mStartStalactiteShake; // Modified by d_a_obj_syRock
|
||||
/* 0xB79 */ u8 mCarryingStalactite; // Modified by d_a_obj_syRock
|
||||
|
||||
s32 getEventID() {
|
||||
return shape_angle.x & 0xFF;
|
||||
@@ -124,11 +126,11 @@ private:
|
||||
}
|
||||
|
||||
enum Action_e {
|
||||
ACTION_SW_WAIT,
|
||||
ACTION_WAIT,
|
||||
ACTION_SW_WAIT,
|
||||
ACTION_WAIT,
|
||||
ACTION_UP_FIRST, ACTION_UP_FIRST_WAIT,
|
||||
ACTION_UP, ACTION_UP_WAIT,
|
||||
ACTION_DOWN,
|
||||
ACTION_UP, ACTION_UP_WAIT,
|
||||
ACTION_DOWN,
|
||||
ACTION_ROCK_WAIT, ACTION_ROCK_ON,
|
||||
ACTION_END
|
||||
};
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
* @class daObjWaterFall_c
|
||||
* @brief Waterfall With Collision Object
|
||||
* @brief Waterfall Collision
|
||||
*
|
||||
* @details Waterfalls that player cannot move through (e.g. those in Zora's Domain)
|
||||
* @details Collision added to waterfalls that player shouldn't move through (e.g. those in Zora's Domain). Doesn't actually draw the waterfall.
|
||||
*/
|
||||
class daObjWaterFall_c : public fopAc_ac_c {
|
||||
public:
|
||||
@@ -30,23 +30,23 @@ private:
|
||||
/* 0x574 */ dCcD_Stts mCylColliderStts;
|
||||
/* 0x5B0 */ dCcD_Tri mUnusedTriCollider[2];
|
||||
/* 0x868 */ dCcD_Cyl mCylCollider;
|
||||
/* 0x9A4 */ cXyz mCylColliderCenterOscillationTargets[2];
|
||||
/* 0x9BC */ cXyz mCylColliderCenter;
|
||||
/* 0x9C8 */ s8 mCylColliderCenterQuantizedOscillation;
|
||||
/* 0x9A4 */ cXyz mColOscPosTargets[2];
|
||||
/* 0x9BC */ cXyz mColCenter;
|
||||
/* 0x9C8 */ s8 mColOscDir;
|
||||
|
||||
enum Type_e {
|
||||
ALLOW_ARROWS_e
|
||||
};
|
||||
|
||||
BOOL checkFallOut() {
|
||||
return fopAcM_GetParamBit(this, 10, 4);
|
||||
return (BOOL) fopAcM_GetParamBit(this, 10, 4) == TRUE;
|
||||
}
|
||||
|
||||
Type_e getType() {
|
||||
return static_cast<Type_e>(fopAcM_GetParamBit(this, 8, 2));
|
||||
u8 getType() {
|
||||
return fopAcM_GetParamBit(this, 8, 2);
|
||||
}
|
||||
|
||||
u32 getSwbit() {
|
||||
u8 getSwbit() {
|
||||
return fopAcM_GetParamBit(this, 0, 8);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "d/d_kankyo.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
class dPath;
|
||||
struct dPath;
|
||||
|
||||
/**
|
||||
* @ingroup actors-unsorted
|
||||
|
||||
@@ -7,6 +7,29 @@
|
||||
|
||||
struct ResTIMG;
|
||||
|
||||
class daPy_frameCtrl_c : public J3DFrameCtrl {
|
||||
public:
|
||||
virtual ~daPy_frameCtrl_c() {}
|
||||
daPy_frameCtrl_c() {}
|
||||
bool checkAnmEnd();
|
||||
void updateFrame();
|
||||
void setFrameCtrl(u8 i_attribute, s16 i_start, s16 i_end, f32 i_rate, f32 i_frame);
|
||||
|
||||
u16 getEndFlg() const { return mEndFlg; }
|
||||
u16 getNowSetFlg() const { return mNowSetFlg; }
|
||||
void onEndFlg() { mEndFlg = 1; }
|
||||
void onNowSetFlg() { mNowSetFlg = 1; }
|
||||
void offNowSetFlg() { mNowSetFlg = 0; }
|
||||
void offEndFlg() {
|
||||
mEndFlg = 0;
|
||||
mNowSetFlg = 0;
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x14 */ u16 mEndFlg;
|
||||
/* 0x16 */ u16 mNowSetFlg;
|
||||
};
|
||||
|
||||
class daPy_sightPacket_c : public dDlst_base_c {
|
||||
public:
|
||||
daPy_sightPacket_c() {}
|
||||
@@ -111,29 +134,6 @@ private:
|
||||
/* 0x4 */ fopAc_ac_c* mActor;
|
||||
}; // Size: 0x8
|
||||
|
||||
class daPy_frameCtrl_c : public J3DFrameCtrl {
|
||||
public:
|
||||
virtual ~daPy_frameCtrl_c() {}
|
||||
daPy_frameCtrl_c() {}
|
||||
bool checkAnmEnd();
|
||||
void updateFrame();
|
||||
void setFrameCtrl(u8 i_attribute, s16 i_start, s16 i_end, f32 i_rate, f32 i_frame);
|
||||
|
||||
u16 getEndFlg() const { return mEndFlg; }
|
||||
u16 getNowSetFlg() const { return mNowSetFlg; }
|
||||
void onEndFlg() { mEndFlg = 1; }
|
||||
void onNowSetFlg() { mNowSetFlg = 1; }
|
||||
void offNowSetFlg() { mNowSetFlg = 0; }
|
||||
void offEndFlg() {
|
||||
mEndFlg = 0;
|
||||
mNowSetFlg = 0;
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x14 */ u16 mEndFlg;
|
||||
/* 0x16 */ u16 mNowSetFlg;
|
||||
};
|
||||
|
||||
class Z2WolfHowlMgr;
|
||||
class daBoomerang_c;
|
||||
|
||||
|
||||
@@ -21,17 +21,18 @@ public:
|
||||
u8 check(fopAc_ac_c*);
|
||||
bool check(cXyz const&);
|
||||
void execute();
|
||||
void draw();
|
||||
~data_c() {}
|
||||
data_c() { reset(); }
|
||||
|
||||
void setNext(data_c* i_next) { mpNext = i_next; }
|
||||
data_c* getNext() { return mpNext; }
|
||||
u8 getType() { return mType; }
|
||||
bool isUsed() { return mRoomNo < 0; }
|
||||
bool isUsed() { return mRoomNo >= 0; }
|
||||
s8 getRoomNo() { return mRoomNo; }
|
||||
|
||||
/* 0x00 */ s8 mRoomNo;
|
||||
/* 0x01 */ bool field_0x1;
|
||||
/* 0x01 */ u8 field_0x1;
|
||||
/* 0x02 */ u8 field_0x2;
|
||||
/* 0x03 */ u8 field_0x3;
|
||||
/* 0x04 */ u8 mType;
|
||||
@@ -44,7 +45,7 @@ public:
|
||||
public:
|
||||
void add(daSus_c::data_c*);
|
||||
void reset();
|
||||
room_c() { init(); }
|
||||
room_c() { mpData = NULL; }
|
||||
void init() { mpData = NULL; }
|
||||
|
||||
/* 0x0 */ data_c* mpData;
|
||||
@@ -55,6 +56,7 @@ public:
|
||||
static void check(fopAc_ac_c*);
|
||||
static bool check(s8 i_roomNo, cXyz const& i_pos);
|
||||
static void execute();
|
||||
static void draw();
|
||||
int create();
|
||||
|
||||
static void reset(int roomNo) {
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
#ifndef D_FLOWER_H
|
||||
#define D_FLOWER_H
|
||||
|
||||
#include "JSystem/J3DGraphBase/J3DPacket.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
|
||||
class cCcD_Obj;
|
||||
class dCcMassS_HitInf;
|
||||
class fopAc_ac_c;
|
||||
|
||||
class dFlower_data_c {
|
||||
public:
|
||||
void WorkCo(fopAc_ac_c*, u32, int);
|
||||
void deleteAnm();
|
||||
void WorkAt_NoCutAnim(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*);
|
||||
void WorkAt(fopAc_ac_c*, u32, int, dCcMassS_HitInf*);
|
||||
void hitCheck(fopAc_ac_c*, int);
|
||||
~dFlower_data_c();
|
||||
dFlower_data_c();
|
||||
|
||||
/* 0x00 */ u8 m_state;
|
||||
/* 0x01 */ s8 field_0x01;
|
||||
/* 0x02 */ s8 m_tableNo;
|
||||
/* 0x03 */ u8 field_0x03;
|
||||
/* 0x04 */ s16 field_0x04;
|
||||
/* 0x08 */ cXyz m_pos;
|
||||
/* 0x14 */ Mtx m_modelMtx;
|
||||
/* 0x44 */ dFlower_data_c* mp_next;
|
||||
};
|
||||
|
||||
class dFlower_room_c {
|
||||
public:
|
||||
void newData(dFlower_data_c*);
|
||||
void deleteData();
|
||||
dFlower_room_c();
|
||||
|
||||
dFlower_data_c* getData() { return mp_data; }
|
||||
|
||||
/* 0x0 */ dFlower_data_c* mp_data;
|
||||
};
|
||||
|
||||
class dFlower_anm_c {
|
||||
public:
|
||||
dFlower_anm_c();
|
||||
|
||||
/* 0x00 */ u8 m_state;
|
||||
/* 0x02 */ s16 m_angY;
|
||||
/* 0x04 */ s16 m_angX;
|
||||
/* 0x08 */ Mtx m_animMtx;
|
||||
};
|
||||
|
||||
class dFlower_packet_c : public J3DPacket {
|
||||
public:
|
||||
dFlower_packet_c();
|
||||
void calc();
|
||||
void update();
|
||||
void setData(dFlower_data_c*, int, s8, cXyz&, int, s8, s16);
|
||||
dFlower_data_c* newData(s8, cXyz&, int, s8, s16);
|
||||
void deleteRoom(int);
|
||||
int newAnm();
|
||||
void setAnm(int, s16);
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dFlower_packet_c();
|
||||
|
||||
typedef void (dFlower_packet_c::*deleteFunc)(int);
|
||||
|
||||
static deleteFunc getDeleteRoom() {
|
||||
JUT_ASSERT(174, m_deleteRoom != NULL);
|
||||
return m_deleteRoom;
|
||||
}
|
||||
|
||||
static deleteFunc m_deleteRoom;
|
||||
|
||||
dFlower_anm_c* getAnm(int i_idx) { return &m_anm[i_idx]; }
|
||||
dFlower_anm_c* getAnm() { return &m_anm[0]; }
|
||||
dFlower_data_c* getData() { return m_data; }
|
||||
|
||||
void deleteAnm(int i_idx) { m_anm[i_idx].m_state = 0; }
|
||||
|
||||
void setPlayerCutFlg(int i_flag) { m_playerCutFlg = i_flag != 0; }
|
||||
void setPlayerSwordAngY(s16 i_angY) { m_playerSwordAngY = i_angY; }
|
||||
void setPlayerSwordMoveAngY(s16 i_angY) { m_playerSwordMoveAngY = i_angY; }
|
||||
void setPlayerSwordTop(cXyz& i_pos) { m_playerSwordTop = i_pos; }
|
||||
cXyz& getPlayerSwordTop() { return m_playerSwordTop; }
|
||||
|
||||
/* 0x00010 */ u16 m_dataNum;
|
||||
/* 0x00014 */ dFlower_data_c m_data[1000];
|
||||
/* 0x11954 */ dFlower_anm_c m_anm[72];
|
||||
/* 0x12914 */ dFlower_room_c m_room[64];
|
||||
/* 0x12A14 */ u8 m_playerCutFlg;
|
||||
/* 0x12A16 */ s16 m_playerSwordAngY;
|
||||
/* 0x12A18 */ s16 m_playerSwordMoveAngY;
|
||||
/* 0x12A1C */ cXyz m_playerSwordTop;
|
||||
/* 0x12A28 */ Vec* mp_pos;
|
||||
/* 0x12A2C */ GXColor* mp_colors;
|
||||
/* 0x12A30 */ Vec* mp_texCoords;
|
||||
/* 0x12A34 */ u8* mp_mat2DL;
|
||||
/* 0x12A38 */ u32 m_mat2DL_size;
|
||||
/* 0x12A3C */ u8* mp_mat2Light4DL;
|
||||
/* 0x12A40 */ u32 m_mat2Light4DL_size;
|
||||
/* 0x12A44 */ u8* mp_Jhana01DL;
|
||||
/* 0x12A48 */ u32 m_Jhana01DL_size;
|
||||
/* 0x12A4C */ u8* mp_Jhana01_cDL;
|
||||
/* 0x12A50 */ u32 m_Jhana01_cDL_size;
|
||||
}; // Size: 0x12A54
|
||||
|
||||
#endif /* D_FLOWER_H */
|
||||
@@ -0,0 +1,113 @@
|
||||
#ifndef D_GRASS_H
|
||||
#define D_GRASS_H
|
||||
|
||||
#include "JSystem/J3DGraphBase/J3DPacket.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
|
||||
class cCcD_Obj;
|
||||
class csXyz;
|
||||
class dCcMassS_HitInf;
|
||||
class fopAc_ac_c;
|
||||
|
||||
class dGrass_data_c {
|
||||
public:
|
||||
void WorkCo(fopAc_ac_c*, u32, int);
|
||||
void WorkAt_NoCutAnim(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*);
|
||||
void Direction_Set(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*, csXyz*);
|
||||
void WorkAt(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, u16);
|
||||
void hitCheck(int, u16);
|
||||
~dGrass_data_c() {}
|
||||
dGrass_data_c() {
|
||||
m_state = 0;
|
||||
}
|
||||
|
||||
/* 0x00 */ u8 m_state;
|
||||
/* 0x01 */ u8 field_0x01;
|
||||
/* 0x02 */ s8 field_0x02;
|
||||
/* 0x03 */ u8 m_tableNo;
|
||||
/* 0x04 */ u8 m_itemBitNo;
|
||||
/* 0x05 */ u8 field_0x05;
|
||||
/* 0x06 */ u8 field_0x06[0x08 - 0x06];
|
||||
/* 0x08 */ s16 m_addCol;
|
||||
/* 0x0C */ cXyz m_pos;
|
||||
/* 0x18 */ Mtx m_modelMtx;
|
||||
/* 0x48 */ dGrass_data_c* mp_next;
|
||||
};
|
||||
|
||||
class dGrass_room_c {
|
||||
public:
|
||||
void newData(dGrass_data_c*);
|
||||
void deleteData();
|
||||
dGrass_room_c() {
|
||||
mp_data = NULL;
|
||||
}
|
||||
|
||||
dGrass_data_c* getData() { return mp_data; }
|
||||
|
||||
/* 0x0 */ dGrass_data_c* mp_data;
|
||||
};
|
||||
|
||||
class dGrass_anm_c {
|
||||
public:
|
||||
dGrass_anm_c() {
|
||||
m_state = 0;
|
||||
}
|
||||
|
||||
/* 0x00 */ u8 m_state;
|
||||
/* 0x02 */ s16 m_angY;
|
||||
/* 0x04 */ s16 m_angX;
|
||||
/* 0x08 */ Mtx m_animMtx;
|
||||
};
|
||||
|
||||
class dGrass_packet_c : public J3DPacket {
|
||||
public:
|
||||
dGrass_packet_c();
|
||||
void calc();
|
||||
void update();
|
||||
void setData(dGrass_data_c*, int, cXyz&, int, u8, u8, s16, u8);
|
||||
dGrass_data_c* newData(cXyz&, int, u8, u8, s16, u8);
|
||||
void deleteRoom(int);
|
||||
int newAnm();
|
||||
void setAnm(int, s16);
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dGrass_packet_c();
|
||||
|
||||
typedef void (dGrass_packet_c::*deleteFunc)(int);
|
||||
|
||||
static deleteFunc getDeleteRoom() {
|
||||
JUT_ASSERT(181, m_deleteRoom != NULL);
|
||||
return m_deleteRoom;
|
||||
}
|
||||
|
||||
static deleteFunc m_deleteRoom;
|
||||
|
||||
dGrass_anm_c* getAnm() { return m_anm; }
|
||||
dGrass_anm_c* getAnm(int i_no) { return &m_anm[i_no]; }
|
||||
|
||||
dGrass_data_c* getData() { return m_data; }
|
||||
|
||||
void deleteAnm(int i_idx) { m_anm[i_idx].m_state = 0; }
|
||||
|
||||
/* 0x00010 */ u16 m_dataNum;
|
||||
/* 0x00014 */ dGrass_data_c m_data[1500];
|
||||
/* 0x1BD64 */ dGrass_anm_c m_anm[112];
|
||||
/* 0x1D5E4 */ dGrass_room_c m_room[64];
|
||||
/* 0x1D6E4 */ Vec* mp_pos;
|
||||
/* 0x1D6E8 */ Vec* mp_normal;
|
||||
/* 0x1D6EC */ GXColor* mp_colors;
|
||||
/* 0x1D6F0 */ Vec* mp_texCoords;
|
||||
/* 0x1D6F4 */ u8* mp_kusa9q_DL;
|
||||
/* 0x1D6F8 */ u32 m_kusa9q_DL_size;
|
||||
/* 0x1D6FC */ u8* mp_kusa9q_14_DL;
|
||||
/* 0x1D700 */ u32 m_kusa9q_DL_14_size;
|
||||
/* 0x1D704 */ u8* mp_Mkusa_9q_DL;
|
||||
/* 0x1D708 */ u32 m_Mkusa_9q_DL_size;
|
||||
/* 0x1D70C */ u8* mp_Mkusa_9q_cDL;
|
||||
/* 0x1D710 */ u32 m_Mkusa_9q_cDL_size;
|
||||
/* 0x1D714 */ s16 field_0x1d714;
|
||||
}; // Size: 0x1D718
|
||||
|
||||
STATIC_ASSERT(sizeof(dGrass_packet_c) == 0x1D718);
|
||||
|
||||
#endif /* D_GRASS_H */
|
||||
+67
-2
@@ -24,14 +24,79 @@ T PrmAbstract(const fopAc_ac_c* i_actor, T i_nbits, T i_shift) {
|
||||
|
||||
class HioVarious_c : public JORReflexible {
|
||||
public:
|
||||
HioVarious_c();
|
||||
virtual void genMessage(JORMContext*);
|
||||
|
||||
static void init(JORReflexible* node_ptr, const char* node_name);
|
||||
static void clean(JORReflexible* node_ptr);
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
static HioVarious_c M_hio;
|
||||
|
||||
/* 0x04 */ JORReflexible* node_ptrs[16];
|
||||
/* 0x44 */ const char* node_names[16];
|
||||
/* 0x84 */ u8 field_0x84;
|
||||
/* 0x84 */ s8 field_0x84;
|
||||
};
|
||||
|
||||
class HioThrow_c : public JORReflexible {
|
||||
public:
|
||||
HioThrow_c();
|
||||
#if DEBUG
|
||||
virtual void listen(u32 command, const JOREvent* event) { JORReflexible::listen(command, event); }
|
||||
virtual void genObjectInfo(const JORGenEvent* event) { JORReflexible::genObjectInfo(event); }
|
||||
virtual void listenNodeEvent(const JORNodeEvent* event) { JORReflexible::listenNodeEvent(event); }
|
||||
virtual void listenPropertyEvent(const JORPropertyEvent* event) { JORReflexible::listenPropertyEvent(event); }
|
||||
#endif
|
||||
virtual void genMessage(JORMContext*);
|
||||
|
||||
static void init(JORReflexible* node_ptr, const char* node_name);
|
||||
static void clean(JORReflexible* node_ptr);
|
||||
|
||||
static HioThrow_c M_hio;
|
||||
static cXyz M_throw_pos_st;
|
||||
static cXyz M_throw_pos_now;
|
||||
|
||||
/* 0x04 */ JORReflexible* node_ptrs[20];
|
||||
/* 0x54 */ const char* node_names[20];
|
||||
/* 0xA4 */ s8 field_0xa4;
|
||||
};
|
||||
|
||||
class HioField_c : public JORReflexible {
|
||||
public:
|
||||
HioField_c();
|
||||
virtual void genMessage(JORMContext*);
|
||||
|
||||
static HioField_c M_hio;
|
||||
|
||||
/* 0x04 */ JORReflexible* node_ptrs[16];
|
||||
/* 0x44 */ const char* node_names[16];
|
||||
/* 0x84 */ s8 field_0x84;
|
||||
};
|
||||
|
||||
class HioSpot_c : public JORReflexible {
|
||||
public:
|
||||
HioSpot_c();
|
||||
virtual void genMessage(JORMContext*);
|
||||
|
||||
static HioSpot_c M_hio;
|
||||
|
||||
/* 0x04 */ JORReflexible* node_ptrs[16];
|
||||
/* 0x44 */ const char* node_names[16];
|
||||
/* 0x84 */ s8 field_0x84;
|
||||
};
|
||||
|
||||
class HioObj_c : public JORReflexible {
|
||||
public:
|
||||
HioObj_c();
|
||||
virtual void genMessage(JORMContext*);
|
||||
|
||||
static void init();
|
||||
static void clean();
|
||||
|
||||
static HioObj_c M_hio;
|
||||
static const char* const M_node_name[];
|
||||
static JORReflexible* const M_node_ptr[];
|
||||
|
||||
/* 0x04 */ s8 M_no;
|
||||
};
|
||||
|
||||
}; // namespace daObj
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
|
||||
struct ResourceData {
|
||||
const char* get_arcName() const { return mArcName; }
|
||||
s16 get_bmdName() const { return mBmdName; }
|
||||
s16 get_btk1Name() const { return mBtkName; }
|
||||
s16 get_bpk1Name() const { return mBpkName; }
|
||||
s16 get_bck1Name() const { return mBckName; }
|
||||
s16 get_bxa1Name() const { return mBxaName; }
|
||||
s16 get_brk1Name() const { return mBrkName; }
|
||||
s16 get_btp1Name() const { return mBtpName; }
|
||||
const s16 get_bmdName() const { return mBmdName; }
|
||||
const s16 get_btk1Name() const { return mBtkName; }
|
||||
const s16 get_bpk1Name() const { return mBpkName; }
|
||||
const s16 get_bck1Name() const { return mBckName; }
|
||||
const s16 get_bxa1Name() const { return mBxaName; }
|
||||
const s16 get_brk1Name() const { return mBrkName; }
|
||||
const s16 get_btp1Name() const { return mBtpName; }
|
||||
f32 get_scale() const { return mScale; }
|
||||
f32 get_offsetY() const { return mOffsetY; }
|
||||
s16 get_angleX() const { return mAngle.x; }
|
||||
|
||||
+31
-35
@@ -240,55 +240,51 @@ public:
|
||||
fopAc_ac_c* CheckObjectTarget(s32);
|
||||
bool LockonTruth();
|
||||
int checkDistance(cXyz*, s16, cXyz*, f32, f32, f32, f32);
|
||||
bool LockEdge() { return chkFlag(8) || chkFlag(0x20); }
|
||||
int GetCheckObjectCount() { return mCheckObjectCount; }
|
||||
void keepLock(int timer) { mAttnBlockTimer = timer; }
|
||||
|
||||
static dist_entry& getDistTable(int i_no) { return dist_table[i_no]; }
|
||||
|
||||
#if DEBUG
|
||||
void runDebugDisp0();
|
||||
#endif
|
||||
|
||||
JKRSolidHeap* getHeap() { return heap; }
|
||||
fopAc_ac_c* getCatghTarget() { return mCatghTarget.getCatghTarget(); }
|
||||
fopAc_ac_c* getZHintTarget() { return mZHintTarget.getZHintTarget(); }
|
||||
u8 getCatchChgItem() { return mCatghTarget.getChangeItem(); }
|
||||
BOOL chkFlag(u32 flag) { return (mFlags & flag) ? TRUE : FALSE; }
|
||||
void setFlag(u32 flag) { mFlags |= flag; }
|
||||
void clrFlag(u32 flag) { mFlags &= ~flag; }
|
||||
int GetActionCount() { return mActionCount; }
|
||||
int GetLockonCount() { return mLockonCount; }
|
||||
void LockSoundOn() { clrFlag(0x400000); }
|
||||
void LockSoundOff() { setFlag(0x400000); }
|
||||
bool Lockon() { return LockonTruth() || chkFlag(0x20000000); } // only matches with -O2?
|
||||
int ZHintRequest(fopAc_ac_c* param_1, int param_2) {
|
||||
return mZHintTarget.request(param_1, param_2);
|
||||
}
|
||||
|
||||
void LookRequest(fopAc_ac_c* param_0, f32 i_horizontalDist, f32 i_upDist, f32 i_downDist,
|
||||
s16 i_angle, int param_5) {
|
||||
mLookTarget.request(param_0, i_horizontalDist, i_upDist, i_downDist, i_angle, param_5);
|
||||
}
|
||||
|
||||
void CatchRequest(fopAc_ac_c* param_0, u8 param_1, f32 i_horizontalDist, f32 i_upDist,
|
||||
f32 i_downDist, s16 i_angle, int param_5) {
|
||||
mCatghTarget.request(param_0, param_1, i_horizontalDist, i_upDist, i_downDist, i_angle,
|
||||
param_5);
|
||||
}
|
||||
|
||||
fopAc_ac_c* getLookTarget() {
|
||||
return mLookTarget.getLookTarget();
|
||||
}
|
||||
|
||||
void Init(fopAc_ac_c* param_0, u32 i_padNo) {
|
||||
mpPlayer = param_0;
|
||||
mPadNo = i_padNo;
|
||||
}
|
||||
|
||||
JKRSolidHeap* getHeap() { return heap; }
|
||||
void offAttnDraw() {
|
||||
draw[0].field_0x173 = 3;
|
||||
draw[1].field_0x173 = 3;
|
||||
}
|
||||
BOOL chkFlag(u32 flag) { return (mFlags & flag) ? TRUE : FALSE; }
|
||||
void setFlag(u32 flag) { mFlags |= flag; }
|
||||
void clrFlag(u32 flag) { mFlags &= ~flag; }
|
||||
bool LockEdge() { return chkFlag(8) || chkFlag(0x20); }
|
||||
void LockSoundOn() { clrFlag(0x400000); }
|
||||
void LockSoundOff() { setFlag(0x400000); }
|
||||
int GetLockonCount() { return mLockonCount; }
|
||||
int GetActionCount() { return mActionCount; }
|
||||
int GetCheckObjectCount() { return mCheckObjectCount; }
|
||||
fopAc_ac_c* getZHintTarget() { return mZHintTarget.getZHintTarget(); }
|
||||
int ZHintRequest(fopAc_ac_c* param_1, int param_2) {
|
||||
return mZHintTarget.request(param_1, param_2);
|
||||
}
|
||||
fopAc_ac_c* getCatghTarget() { return mCatghTarget.getCatghTarget(); }
|
||||
u8 getCatchChgItem() { return mCatghTarget.getChangeItem(); }
|
||||
int CatchRequest(fopAc_ac_c* param_0, u8 param_1, f32 i_horizontalDist, f32 i_upDist,
|
||||
f32 i_downDist, s16 i_angle, int param_5) {
|
||||
return mCatghTarget.request(param_0, param_1, i_horizontalDist, i_upDist, i_downDist,
|
||||
i_angle, param_5);
|
||||
}
|
||||
fopAc_ac_c* getLookTarget() {
|
||||
return mLookTarget.getLookTarget();
|
||||
}
|
||||
void LookRequest(fopAc_ac_c* param_0, f32 i_horizontalDist, f32 i_upDist, f32 i_downDist,
|
||||
s16 i_angle, int param_5) {
|
||||
mLookTarget.request(param_0, i_horizontalDist, i_upDist, i_downDist, i_angle, param_5);
|
||||
}
|
||||
void keepLock(int timer) { mAttnBlockTimer = timer; }
|
||||
bool Lockon() { return LockonTruth() || chkFlag(0x20000000); } // only matches with -O2?
|
||||
|
||||
static type_tbl_entry loc_type_tbl[3];
|
||||
static type_tbl_entry act_type_tbl[5];
|
||||
|
||||
@@ -239,13 +239,6 @@ private:
|
||||
/* 0x1D4 */ u8 m_wtr_mode;
|
||||
}; // Size: 0x1D8
|
||||
|
||||
class dBgS_LinkAcch : public dBgS_Acch {
|
||||
public:
|
||||
dBgS_LinkAcch() { SetLink(); }
|
||||
|
||||
virtual ~dBgS_LinkAcch() {}
|
||||
};
|
||||
|
||||
class dBgS_ObjAcch : public dBgS_Acch {
|
||||
public:
|
||||
dBgS_ObjAcch() {
|
||||
@@ -255,6 +248,13 @@ public:
|
||||
virtual ~dBgS_ObjAcch() {}
|
||||
}; // Size: 0x1D8
|
||||
|
||||
class dBgS_LinkAcch : public dBgS_Acch {
|
||||
public:
|
||||
dBgS_LinkAcch() { SetLink(); }
|
||||
|
||||
virtual ~dBgS_LinkAcch() {}
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dBgS_ObjAcch) == 0x1D8);
|
||||
|
||||
class dBgS_StatueAcch : public dBgS_Acch {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "d/d_bg_s_chk.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_aab.h"
|
||||
|
||||
struct dBgS_CaptPoly;
|
||||
class dBgS_CaptPoly;
|
||||
|
||||
typedef void (*CaptPolyCallback)(dBgS_CaptPoly&, cBgD_Vtx_t*, u16, u16, u16, cM3dGPla*);
|
||||
|
||||
|
||||
+2
-2
@@ -11,7 +11,7 @@ class cBgS_GrpPassChk;
|
||||
class cBgS_PolyPassChk;
|
||||
class fopAc_ac_c;
|
||||
struct cBgD_Vtx_t;
|
||||
struct dBgS_CaptPoly;
|
||||
class dBgS_CaptPoly;
|
||||
|
||||
class cBgW_TriElm {
|
||||
public:
|
||||
@@ -220,7 +220,7 @@ public:
|
||||
bool ChkNoCalcVtx() { return mFlags & NO_CALC_VTX_e; }
|
||||
bool ChkFlush() { return field_0x91 & 8; }
|
||||
void SetLock() { mFlags |= (u8)LOCK_e; }
|
||||
void OffRoofRegist() { field_0x91 |= 0x4; }
|
||||
void OffRoofRegist() { field_0x91 |= (u8)0x4; }
|
||||
void OnRoofRegist() { field_0x91 &= ~0x04; }
|
||||
bool ChkRoofRegist() { return field_0x91 & 4;}
|
||||
cBgD_Vtx_t* GetVtxTbl() const { return pm_vtx_tbl; }
|
||||
|
||||
@@ -11,7 +11,7 @@ class cBgS_GndChk;
|
||||
class cBgS_LinChk;
|
||||
class cBgS_ShdwDraw;
|
||||
class dBgS_Acch;
|
||||
struct dBgS_CaptPoly;
|
||||
class dBgS_CaptPoly;
|
||||
class dBgS_RoofChk;
|
||||
class dBgS_SphChk;
|
||||
class dBgS_SplGrpChk;
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
|
||||
class cBgS_GrpPassChk;
|
||||
class cBgS_PolyPassChk;
|
||||
struct dBgPc;
|
||||
struct dBgS_CaptPoly;
|
||||
class dBgPc;
|
||||
class dBgS_CaptPoly;
|
||||
|
||||
struct KC_PrismData {
|
||||
/* 0x0 */ f32 height;
|
||||
|
||||
@@ -61,6 +61,10 @@ public:
|
||||
|
||||
void ChkActor(fopAc_ac_c*);
|
||||
|
||||
#if PLATFORM_WII
|
||||
BOOL ChkLine(cXyz&, cXyz&, f32, fopAc_ac_c**);
|
||||
#endif
|
||||
|
||||
static bool m_mtrl_hit_tbl[64];
|
||||
|
||||
// /* 0x0000 */ cCcS mCCcS;
|
||||
|
||||
+3074
-2839
File diff suppressed because it is too large
Load Diff
@@ -3,6 +3,32 @@
|
||||
|
||||
#include "d/actor/d_a_suspend.h"
|
||||
|
||||
namespace daCanBall_c {
|
||||
class Hio_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
Hio_c();
|
||||
virtual void genMessage(JORMContext*);
|
||||
virtual ~Hio_c() {}
|
||||
|
||||
/* 0x08 */ f32 field_0x8;
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x1C */ f32 field_0x1c;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ f32 field_0x34;
|
||||
/* 0x38 */ s16 field_0x38;
|
||||
/* 0x3C */ f32 field_0x3c;
|
||||
};
|
||||
|
||||
extern Hio_c mHIO;
|
||||
}
|
||||
|
||||
u8 daNpcKakashi_getSwdTutorialStep();
|
||||
void daNpcKakashi_setSwdTutorialStep(u8 iEvtNum);
|
||||
bool daNpcKakashi_getSwdTutorialResult();
|
||||
|
||||
+117
-1
@@ -1,9 +1,125 @@
|
||||
#ifndef D_CURSOR_MNG_H
|
||||
#define D_CURSOR_MNG_H
|
||||
|
||||
#include "m_Do/m_Re_controller_pad.h"
|
||||
#include "JSystem/J2DGraph/J2DScreen.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "m_Re/m_Re_controller_pad.h"
|
||||
|
||||
// TODO: putting this here until a more appropriate place is found
|
||||
extern u8 data_8053a730;
|
||||
|
||||
class dCsr_mng_c {
|
||||
struct csr_c;
|
||||
|
||||
struct node_c : mDoGph_gInf_c::csr_c {
|
||||
BOOL set(u8 i_priority, u8, u16 i_mask);
|
||||
|
||||
/* 0x04 */ u8 m_priority;
|
||||
/* 0x05 */ u8 field_0x05;
|
||||
/* 0x06 */ u16 m_mask;
|
||||
/* 0x08 */ node_c* m_prev;
|
||||
/* 0x0C */ node_c* m_next;
|
||||
/* 0x10 */ int m_actor_id;
|
||||
/* 0x14 */ csr_c* m_csr;
|
||||
/* 0x18 */ node_c* m_pointed_obj;
|
||||
};
|
||||
|
||||
struct obj_c : node_c {
|
||||
};
|
||||
|
||||
struct list_c {
|
||||
list_c() : m_root(NULL) {
|
||||
}
|
||||
|
||||
virtual ~list_c(void) {}
|
||||
void entry(node_c* i_node);
|
||||
node_c* release(node_c* i_node);
|
||||
node_c* release(u16 i_mask);
|
||||
BOOL isEntry(const node_c* i_node) const;
|
||||
|
||||
/* 0x04 */ node_c* m_root;
|
||||
};
|
||||
|
||||
struct bloObj_c {
|
||||
struct paneObj_c {
|
||||
paneObj_c(void) {
|
||||
m_handle = NULL;
|
||||
m_min_x = 0;
|
||||
m_min_y = 0;
|
||||
m_max_x = 0;
|
||||
m_max_y = 0;
|
||||
}
|
||||
virtual ~paneObj_c(void) {}
|
||||
|
||||
/* 0x04 */ J2DPane* m_handle;
|
||||
/* 0x08 */ s16 m_min_x;
|
||||
/* 0x0A */ s16 m_min_y;
|
||||
/* 0x0C */ s16 m_max_x;
|
||||
/* 0x0E */ s16 m_max_y;
|
||||
};
|
||||
|
||||
bloObj_c() {
|
||||
m_panes = new paneObj_c[1];
|
||||
m_screen = 0;
|
||||
}
|
||||
|
||||
virtual ~bloObj_c(void);
|
||||
virtual u32 signature(void) const {
|
||||
return 0x626c6f20;
|
||||
}
|
||||
virtual BOOL isInside(s16 i_x, s16 i_y);
|
||||
BOOL create(J2DScreen* i_screen, u16 i_mask, u8 i_priority, u8);
|
||||
void calc(void);
|
||||
void calcPaneObjNum(J2DPane* i_pane);
|
||||
void createPaneObj(paneObj_c** i_panes, J2DPane* i_pane);
|
||||
|
||||
/* 0x04 */ u8 field_0x04[0x10 - 0x4];
|
||||
/* 0x10 */ J2DScreen* m_screen;
|
||||
/* 0x14 */ paneObj_c* m_panes;
|
||||
/* 0x18 */ u16 m_pane_num;
|
||||
/* 0x1A */ u8 m_is_calc;
|
||||
/* 0x1C */ J2DPane* m_pane_handle;
|
||||
};
|
||||
|
||||
struct ccObj_c : node_c {
|
||||
virtual ~ccObj_c(void);
|
||||
virtual int signature(void) const {
|
||||
return 'cc ';
|
||||
}
|
||||
virtual BOOL isInside(s16, s16);
|
||||
void set(u16, u8, u8);
|
||||
};
|
||||
|
||||
struct csr_c : node_c {
|
||||
virtual ~csr_c(void);
|
||||
BOOL set(mDoGph_gInf_c::csr_c* i_csr, u16, u8, u8);
|
||||
};
|
||||
|
||||
private:
|
||||
dCsr_mng_c() : is_csr_on(true) {
|
||||
}
|
||||
|
||||
void update_(void);
|
||||
void releaseCsr_(csr_c* i_csr);
|
||||
void insideObjReleaseCheck_(void);
|
||||
|
||||
public:
|
||||
static void create(void);
|
||||
static void update(void);
|
||||
static void entryCsr(csr_c* i_csr);
|
||||
static void releaseCsr(csr_c* i_csr);
|
||||
static void entryObj(obj_c* i_obj);
|
||||
static void releaseObj(obj_c* i_obj);
|
||||
static void releaseObj(u16 i_mask);
|
||||
static void onCsr(void);
|
||||
static void offCsr(void);
|
||||
|
||||
static dCsr_mng_c* m_myObj;
|
||||
|
||||
private:
|
||||
/* 0x00 */ list_c m_csr_list;
|
||||
/* 0x08 */ list_c m_obj_list;
|
||||
/* 0x10 */ bool is_csr_on;
|
||||
};
|
||||
|
||||
#endif /* D_CURSOR_MNG_H */
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "d/d_camera.h"
|
||||
#include "JSystem/JHostIO/JORFile.h"
|
||||
#include <cstring>
|
||||
|
||||
enum dDbgCam_KeyAction {
|
||||
/* | */ dDbgCam_KeyAction_FIXEDFRM,
|
||||
|
||||
+114
-107
@@ -3,9 +3,9 @@
|
||||
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "m_Do/m_Do_mtx.h"
|
||||
#include "JSystem/JStudio/JStudio_JStage/object.h"
|
||||
#include "JSystem/JStudio/JStudio_JAudio2/control.h"
|
||||
#include "JSystem/JStudio/JStudio_JParticle/object-particle.h"
|
||||
#include "JSystem/JStudio/JStudio_JStage/object.h"
|
||||
#include "SSystem/SComponent/c_sxyz.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "Z2AudioLib/Z2SoundStarter.h"
|
||||
@@ -27,12 +27,16 @@ public:
|
||||
~dDemo_object_c();
|
||||
JStage::TObject* appendActor(fopAc_ac_c*);
|
||||
dDemo_actor_c* getActor(u8);
|
||||
JStage::TObject* createCamera();
|
||||
dDemo_camera_c* createCamera();
|
||||
dDemo_camera_c* createEditorCamera();
|
||||
dDemo_camera_c* getActiveCamera();
|
||||
JStage::TObject* createAmbient();
|
||||
JStage::TObject* appendLight();
|
||||
JStage::TObject* createFog();
|
||||
void remove();
|
||||
void removeEditorCamera();
|
||||
|
||||
dDemo_camera_c* getCamera() { return mpCamera; }
|
||||
|
||||
/* 0x00 */ u8 mActorNum;
|
||||
/* 0x01 */ u8 mLightNum;
|
||||
@@ -41,6 +45,9 @@ public:
|
||||
/* 0x88 */ dDemo_ambient_c* mpAmbient;
|
||||
/* 0x8C */ dDemo_light_c* mpLights[8];
|
||||
/* 0xAC */ dDemo_fog_c* mpFog;
|
||||
#if DEBUG
|
||||
/* 0xB0 */ dDemo_camera_c* mpEditorCamera;
|
||||
#endif
|
||||
};
|
||||
|
||||
// TODO: made up, figure out what this is
|
||||
@@ -85,15 +92,15 @@ public:
|
||||
void setActor(fopAc_ac_c*);
|
||||
f32 getPrm_Morf();
|
||||
int getDemoIDData(int* o_arg0, int* o_arg1, int* o_arg2, u16* o_resID, u8*);
|
||||
|
||||
|
||||
virtual ~dDemo_actor_c();
|
||||
virtual void JSGSetData(u32, void const*, u32);
|
||||
virtual s32 JSGFindNodeID(char const* param_0) const {
|
||||
JUT_ASSERT(0, mModel != NULL);
|
||||
JUT_ASSERT(115, mModel != NULL);
|
||||
return mModel->getModelData()->getJointName()->getIndex(param_0);
|
||||
}
|
||||
virtual bool JSGGetNodeTransformation(u32 param_0, Mtx param_1) const {
|
||||
JUT_ASSERT(0, mModel != NULL);
|
||||
JUT_ASSERT(120, mModel != NULL);
|
||||
cMtx_copy(mModel->getAnmMtx((u16)param_0), param_1);
|
||||
return true;
|
||||
}
|
||||
@@ -113,10 +120,14 @@ public:
|
||||
return mTexAnmFrameMax;
|
||||
}
|
||||
virtual void JSGGetTranslation(Vec* o_trans) const {
|
||||
*o_trans = mTrans;
|
||||
o_trans->x = mTrans.x;
|
||||
o_trans->y = mTrans.y;
|
||||
o_trans->z = mTrans.z;
|
||||
}
|
||||
virtual void JSGGetScaling(Vec* o_scale) const {
|
||||
*o_scale = mScale;
|
||||
o_scale->x = mScale.x;
|
||||
o_scale->y = mScale.y;
|
||||
o_scale->z = mScale.z;
|
||||
}
|
||||
virtual void JSGGetRotation(Vec* param_0) const {
|
||||
param_0->x = S2DEG(mRotate.x);
|
||||
@@ -163,96 +174,6 @@ private:
|
||||
/* 0x68 */ u32 mBrkId;
|
||||
};
|
||||
|
||||
class dDemo_system_c : public JStage::TSystem {
|
||||
public:
|
||||
dDemo_system_c() { mpObject = NULL; }
|
||||
|
||||
virtual int JSGFindObject(JStage::TObject**, char const*,
|
||||
JStage::TEObject) const;
|
||||
virtual ~dDemo_system_c();
|
||||
|
||||
void setObject(dDemo_object_c* i_object) { mpObject = i_object; }
|
||||
|
||||
private:
|
||||
/* 0x4 */ dDemo_object_c* mpObject;
|
||||
};
|
||||
|
||||
class dDemo_particle_c : public JStudio_JParticle::TCreateObject {
|
||||
public:
|
||||
dDemo_particle_c(JPAEmitterManager* p_emitMgr, const JStage::TSystem* p_system)
|
||||
: JStudio_JParticle::TCreateObject(p_emitMgr, p_system) {}
|
||||
|
||||
virtual ~dDemo_particle_c();
|
||||
virtual JPABaseEmitter* emitter_create(u32);
|
||||
};
|
||||
|
||||
class dDemo_light_c : public JStage::TLight {
|
||||
public:
|
||||
enum Enable_e {
|
||||
ENABLE_LIGHT_TYPE_e = (1 << 0),
|
||||
ENABLE_POSITION_e = (1 << 1),
|
||||
ENABLE_COLOR_e = (1 << 2),
|
||||
ENABLE_DIST_ATTEN_e = (1 << 3),
|
||||
ENABLE_ANGLE_ATTEN_e = (1 << 4),
|
||||
ENABLE_DIRECTION_e = (1 << 5),
|
||||
};
|
||||
|
||||
dDemo_light_c() {
|
||||
mFlags = 0;
|
||||
}
|
||||
|
||||
virtual void JSGSetLightType(JStage::TELight);
|
||||
virtual void JSGSetPosition(Vec const&);
|
||||
virtual void JSGSetColor(GXColor);
|
||||
virtual void JSGSetDistanceAttenuation(f32, f32, GXDistAttnFn);
|
||||
virtual void JSGSetAngleAttenuation(f32, GXSpotFn);
|
||||
virtual void JSGSetDirection(Vec const&);
|
||||
virtual ~dDemo_light_c();
|
||||
|
||||
void onEnable(u8 flag) { mFlags |= flag; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 mFlags;
|
||||
/* 0x08 */ JStage::TELight mLightType;
|
||||
/* 0x0C */ GXDistAttnFn mDistAttenFn;
|
||||
/* 0x10 */ GXSpotFn mSpotFn;
|
||||
/* 0x14 */ cXyz mPosition;
|
||||
/* 0x20 */ GXColor mColor;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ cXyz mDirection;
|
||||
};
|
||||
|
||||
class dDemo_fog_c : public JStage::TFog {
|
||||
public:
|
||||
enum Enable_e {
|
||||
ENABLE_FOG_FN_e = (1 << 0),
|
||||
ENABLE_START_Z_e = (1 << 1),
|
||||
ENABLE_END_Z_e = (1 << 2),
|
||||
ENABLE_COLOR_e = (1 << 3),
|
||||
};
|
||||
|
||||
dDemo_fog_c() {
|
||||
mFlags = 0;
|
||||
}
|
||||
|
||||
virtual void JSGSetFogFunction(GXFogType);
|
||||
virtual void JSGSetStartZ(f32);
|
||||
virtual void JSGSetEndZ(f32);
|
||||
virtual void JSGSetColor(GXColor);
|
||||
virtual ~dDemo_fog_c();
|
||||
|
||||
void onEnable(u8 flag) { mFlags |= flag; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 mFlags;
|
||||
/* 0x05 */ u8 mFogType;
|
||||
/* 0x08 */ f32 mStartZ;
|
||||
/* 0x0C */ f32 mEndZ;
|
||||
/* 0x10 */ GXColor mColor;
|
||||
};
|
||||
|
||||
class dDemo_camera_c : public JStage::TCamera {
|
||||
public:
|
||||
enum Enable_e {
|
||||
@@ -266,9 +187,7 @@ public:
|
||||
ENABLE_VIEW_ROLL_e = (1 << 7),
|
||||
};
|
||||
|
||||
dDemo_camera_c() {
|
||||
mFlags = 0;
|
||||
}
|
||||
dDemo_camera_c() : mFlags(0) {}
|
||||
|
||||
virtual f32 JSGGetProjectionNear() const;
|
||||
virtual void JSGSetProjectionNear(f32);
|
||||
@@ -329,15 +248,95 @@ private:
|
||||
/* 0x05 */ GXColor mColor;
|
||||
};
|
||||
|
||||
namespace {
|
||||
class jstudio_tCreateObject_message : public JStudio::TCreateObject {
|
||||
class dDemo_light_c : public JStage::TLight {
|
||||
public:
|
||||
jstudio_tCreateObject_message() {}
|
||||
enum Enable_e {
|
||||
ENABLE_LIGHT_TYPE_e = (1 << 0),
|
||||
ENABLE_POSITION_e = (1 << 1),
|
||||
ENABLE_COLOR_e = (1 << 2),
|
||||
ENABLE_DIST_ATTEN_e = (1 << 3),
|
||||
ENABLE_ANGLE_ATTEN_e = (1 << 4),
|
||||
ENABLE_DIRECTION_e = (1 << 5),
|
||||
};
|
||||
|
||||
virtual ~jstudio_tCreateObject_message();
|
||||
virtual bool create(JStudio::TObject**, const JStudio::stb::data::TParse_TBlock_object&);
|
||||
dDemo_light_c() : mFlags(0) {}
|
||||
|
||||
virtual void JSGSetLightType(JStage::TELight);
|
||||
virtual void JSGSetPosition(Vec const&);
|
||||
virtual void JSGSetColor(GXColor);
|
||||
virtual void JSGSetDistanceAttenuation(f32, f32, GXDistAttnFn);
|
||||
virtual void JSGSetAngleAttenuation(f32, GXSpotFn);
|
||||
virtual void JSGSetDirection(Vec const&);
|
||||
virtual ~dDemo_light_c();
|
||||
|
||||
void onEnable(u8 flag) { mFlags |= flag; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 mFlags;
|
||||
/* 0x08 */ JStage::TELight mLightType;
|
||||
/* 0x0C */ GXDistAttnFn mDistAttenFn;
|
||||
/* 0x10 */ GXSpotFn mSpotFn;
|
||||
/* 0x14 */ cXyz mPosition;
|
||||
/* 0x20 */ GXColor mColor;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ cXyz mDirection;
|
||||
};
|
||||
|
||||
class dDemo_fog_c : public JStage::TFog {
|
||||
public:
|
||||
enum Enable_e {
|
||||
ENABLE_FOG_FN_e = (1 << 0),
|
||||
ENABLE_START_Z_e = (1 << 1),
|
||||
ENABLE_END_Z_e = (1 << 2),
|
||||
ENABLE_COLOR_e = (1 << 3),
|
||||
};
|
||||
|
||||
dDemo_fog_c() {
|
||||
mFlags = 0;
|
||||
}
|
||||
|
||||
virtual void JSGSetFogFunction(GXFogType);
|
||||
virtual void JSGSetStartZ(f32);
|
||||
virtual void JSGSetEndZ(f32);
|
||||
virtual void JSGSetColor(GXColor);
|
||||
virtual ~dDemo_fog_c();
|
||||
|
||||
void onEnable(u8 flag) { mFlags |= flag; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 mFlags;
|
||||
/* 0x05 */ s8 mFogType;
|
||||
/* 0x08 */ f32 mStartZ;
|
||||
/* 0x0C */ f32 mEndZ;
|
||||
/* 0x10 */ GXColor mColor;
|
||||
};
|
||||
|
||||
class dDemo_system_c : public JStage::TSystem {
|
||||
public:
|
||||
dDemo_system_c() { mpObject = NULL; }
|
||||
|
||||
virtual int JSGFindObject(JStage::TObject**, char const*,
|
||||
JStage::TEObject) const;
|
||||
virtual ~dDemo_system_c();
|
||||
|
||||
void setObject(dDemo_object_c* i_object) { mpObject = i_object; }
|
||||
|
||||
private:
|
||||
/* 0x4 */ dDemo_object_c* mpObject;
|
||||
};
|
||||
|
||||
class dDemo_particle_c : public JStudio_JParticle::TCreateObject {
|
||||
public:
|
||||
dDemo_particle_c(JPAEmitterManager* p_emitMgr, const JStage::TSystem* p_system)
|
||||
: JStudio_JParticle::TCreateObject(p_emitMgr, p_system) {}
|
||||
|
||||
virtual ~dDemo_particle_c();
|
||||
virtual JPABaseEmitter* emitter_create(u32);
|
||||
};
|
||||
|
||||
namespace {
|
||||
class jstudio_tAdaptor_message : public JStudio::TAdaptor_message {
|
||||
public:
|
||||
typedef JStudio::TObject_message ObjectType;
|
||||
@@ -348,6 +347,14 @@ public:
|
||||
virtual void adaptor_do_MESSAGE(JStudio::data::TEOperationData, const void*, u32);
|
||||
};
|
||||
|
||||
class jstudio_tCreateObject_message : public JStudio::TCreateObject {
|
||||
public:
|
||||
jstudio_tCreateObject_message() {}
|
||||
|
||||
virtual ~jstudio_tCreateObject_message();
|
||||
virtual bool create(JStudio::TObject**, const JStudio::stb::data::TParse_TBlock_object&);
|
||||
};
|
||||
|
||||
}; // namespace
|
||||
|
||||
int dDemo_setDemoData(fopAc_ac_c*, u8, mDoExt_McaMorf*, char const*, int, u16*, u32, s8);
|
||||
@@ -373,12 +380,12 @@ public:
|
||||
static s32 getMode() { return m_mode; }
|
||||
static u32 getFrame() { return m_frame; }
|
||||
static JStudio::stb::TControl* getControl() { return m_control; }
|
||||
static bool isStatus(u32 status) { return m_status & status; }
|
||||
static u32 isStatus(u32 status) { return m_status & status; }
|
||||
static void onStatus(u32 status) { m_status |= status; }
|
||||
static void offStatus(u32 status) { m_status &= ~status; }
|
||||
static void setBranchData(const u8* p_data) { m_branchData = p_data; }
|
||||
static s16 getBranchId() { return m_branchId; }
|
||||
static s16 getBranchNum() { return m_branchNum; }
|
||||
static u16 getBranchNum() { return m_branchNum; }
|
||||
static jmessage_tControl* getMesgControl() { return m_mesgControl; }
|
||||
|
||||
static void setBranchNum(u16 num) {
|
||||
|
||||
+10
-11
@@ -39,6 +39,10 @@ public:
|
||||
|
||||
class dDlst_blo_c : public dDlst_base_c {
|
||||
public:
|
||||
dDlst_blo_c() {
|
||||
field_0x120 = 0.0f;
|
||||
field_0x124 = 0.0f;
|
||||
}
|
||||
virtual void draw();
|
||||
bool create(JKRArchive* param_1, const char* param_2) {
|
||||
return mScreen.setPriority(param_2, 0x20000, param_1) != 0;
|
||||
@@ -66,26 +70,21 @@ public:
|
||||
class anm_c {
|
||||
public:
|
||||
inline anm_c() {
|
||||
field_0x4 = 0;
|
||||
field_0x4 = NULL;
|
||||
field_0x8 = 1.0f;
|
||||
}
|
||||
~anm_c() { remove(); }
|
||||
virtual ~anm_c() { remove(); }
|
||||
|
||||
void remove() {
|
||||
if (field_0x4 != 0.0f) {
|
||||
void remove();
|
||||
|
||||
}
|
||||
|
||||
field_0x4 = 0.0f;
|
||||
}
|
||||
|
||||
f32 field_0x4;
|
||||
void* field_0x4;
|
||||
f32 field_0x8;
|
||||
};
|
||||
|
||||
/* 0x004 */ int field_0x4;
|
||||
/* 0x008 */ J2DScreen mScreen;
|
||||
/* 0x120 */ anm_c anm;
|
||||
/* 0x120 */ f32 field_0x120;
|
||||
/* 0x124 */ f32 field_0x124;
|
||||
};
|
||||
|
||||
class dDlst_snapShot_c : public dDlst_base_c {
|
||||
|
||||
+33
-44
@@ -108,8 +108,26 @@ public:
|
||||
void setPtD(void* actor);
|
||||
void setGtItm(u8 itemNo);
|
||||
|
||||
fopAc_ac_c* getPt1() { return convPId(mPt1); }
|
||||
fopAc_ac_c* getPt2() { return convPId(mPt2); }
|
||||
fopAc_ac_c* getPtT() { return convPId(mPtT); }
|
||||
fopAc_ac_c* getPtI() { return convPId(mPtI); }
|
||||
fopAc_ac_c* getPtD() { return convPId(mPtd); }
|
||||
u16 chkEventFlag(u16 flag) { return flag & mEventFlag; }
|
||||
void onEventFlag(u16 flag) { mEventFlag |= flag; }
|
||||
void offEventFlag(u16 flag) { mEventFlag &= ~flag; }
|
||||
u16 chkFlag2(u16 flag) { return flag & mFlag2; }
|
||||
|
||||
void onFlag2(u16 flag) { mFlag2 |= flag; }
|
||||
void offFlag2(u16 flag) { mFlag2 &= ~flag; }
|
||||
bool checkSkipEdge() { return chkFlag2(8) != false; }
|
||||
u16 checkHind(u16 flag) { return flag & mHindFlag; }
|
||||
void onHindFlag(u16 flag) { mHindFlag |= flag; }
|
||||
#if DEBUG
|
||||
void offHindFlag(u16 flag) { mHindFlag &= (u16)~flag; }
|
||||
#else
|
||||
void offHindFlag(u16 flag) { mHindFlag &= ~flag; }
|
||||
#endif
|
||||
u8 getMode() const { return mMode; }
|
||||
BOOL runCheck() {
|
||||
#if DEBUG
|
||||
return mEventStatus != 0 || mDebugStb != 0;
|
||||
@@ -117,39 +135,6 @@ public:
|
||||
return mEventStatus != 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
f32 getCullRate() { return mCullRate; }
|
||||
void setCullRate(f32 rate) { mCullRate = rate; }
|
||||
|
||||
u16 chkEventFlag(u16 flag) { return flag & mEventFlag; }
|
||||
void onEventFlag(u16 flag) { mEventFlag |= flag; }
|
||||
void offEventFlag(u16 flag) { mEventFlag &= ~flag; }
|
||||
|
||||
u8 getMode() const { return mMode; }
|
||||
|
||||
void onHindFlag(u16 flag) { mHindFlag |= flag; }
|
||||
#if DEBUG
|
||||
void offHindFlag(u16 flag) { mHindFlag &= (u16)~flag; }
|
||||
#else
|
||||
void offHindFlag(u16 flag) { mHindFlag &= ~flag; }
|
||||
#endif
|
||||
|
||||
u16 checkHind(u16 flag) { return flag & mHindFlag; }
|
||||
u8 checkCompulsory() { return mCompulsory; }
|
||||
u8 getMapToolId() { return mMapToolId; }
|
||||
|
||||
void onFlag2(u16 flag) { mFlag2 |= flag; }
|
||||
void offFlag2(u16 flag) { mFlag2 &= ~flag; }
|
||||
|
||||
BOOL chkTalkXY()
|
||||
{
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
return mTalkXyType == 1 || mTalkXyType == 2 || mTalkXyType == 3 || mTalkXyType == 4;
|
||||
#else
|
||||
return mTalkXyType == 1 || mTalkXyType == 2;
|
||||
#endif
|
||||
}
|
||||
|
||||
BOOL isOrderOK() {
|
||||
#if DEBUG
|
||||
return (mEventStatus == 0 || mEventStatus == 2) && !mDebugStb;
|
||||
@@ -157,19 +142,23 @@ public:
|
||||
return mEventStatus == 0 || mEventStatus == 2;
|
||||
#endif
|
||||
}
|
||||
|
||||
fopAc_ac_c* getPt1() { return convPId(mPt1); }
|
||||
fopAc_ac_c* getPt2() { return convPId(mPt2); }
|
||||
fopAc_ac_c* getPtT() { return convPId(mPtT); }
|
||||
fopAc_ac_c* getPtI() { return convPId(mPtI); }
|
||||
fopAc_ac_c* getPtD() { return convPId(mPtd); }
|
||||
|
||||
bool isChangeOK(void* actor) { return mChangeActor == actor; }
|
||||
void setDebugStb(u8 stb) { mDebugStb = stb; }
|
||||
u8 getMapToolId() { return mMapToolId; }
|
||||
BOOL chkTalkXY() {
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
return mTalkXyType == 1 || mTalkXyType == 2 || mTalkXyType == 3 || mTalkXyType == 4;
|
||||
#else
|
||||
return mTalkXyType == 1 || mTalkXyType == 2;
|
||||
#endif
|
||||
}
|
||||
u8 getPreItemNo() { return mPreItemNo; }
|
||||
u8 getGtItm() { return mGtItm; }
|
||||
f32 getCullRate() { return mCullRate; }
|
||||
void setCullRate(f32 rate) { mCullRate = rate; }
|
||||
bool isChangeOK(void* actor) { return mChangeActor == actor; }
|
||||
u8 checkCompulsory() { return mCompulsory; }
|
||||
|
||||
void startCheckSkipEdge(void* actor) { setSkipProc(actor, dEv_noFinishSkipProc, 0); }
|
||||
bool checkSkipEdge() { return chkFlag2(8) != false; }
|
||||
void setDebugStb(u8 stb) { mDebugStb = stb; }
|
||||
|
||||
public:
|
||||
/* 0x000 */ u8 unk_0x0[4];
|
||||
|
||||
@@ -96,18 +96,16 @@ public:
|
||||
|
||||
void debugBfProc();
|
||||
|
||||
int setStartDemo(int mapToolId) { return mException.setStartDemo(mapToolId); }
|
||||
void setCameraPlay(int status) { mCameraPlay = status; }
|
||||
dEvDtBase_c& getBase() { return mEventList[mCurrentEvType]; }
|
||||
void setFlag(int flag) { mFlags.flagSet(flag); }
|
||||
bool dataLoaded() { return mDataLoaded; }
|
||||
int flagCheck(int flag) { return mFlags.flagCheck(flag); }
|
||||
int cameraPlay() { return mCameraPlay; }
|
||||
|
||||
event_binary_data_header* getHeader(u8 type) {return mEventList[type].getHeaderP(); }
|
||||
dEvDtEvent_c* getEventList(u8 type) { return mEventList[type].getEventP(); }
|
||||
|
||||
int cameraPlay() { return mCameraPlay; }
|
||||
void setCameraPlay(int status) { mCameraPlay = status; }
|
||||
int setStartDemo(int mapToolId) { return mException.setStartDemo(mapToolId); }
|
||||
dEvDtFlag_c& getFlags() { return mFlags; }
|
||||
int flagCheck(int flag) { return mFlags.flagCheck(flag); }
|
||||
void setFlag(int flag) { mFlags.flagSet(flag); }
|
||||
bool dataLoaded() { return mDataLoaded; }
|
||||
|
||||
#if DEBUG
|
||||
dEvM_HIO_c& getEventHIO();
|
||||
|
||||
+25
-1
@@ -2,6 +2,7 @@
|
||||
#define D_D_JNT_COL_H
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DModel.h"
|
||||
#include "JSystem/JHostIO/JORReflexible.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_lin.h"
|
||||
#include "SSystem/SComponent/c_sxyz.h"
|
||||
|
||||
@@ -25,6 +26,7 @@ public:
|
||||
int getArrowOffsetPosAndAngle(cXyz const*, csXyz const*, cXyz*, cXyz*) const;
|
||||
int getHitmarkPosAndAngle(cXyz const*, csXyz const*, cXyz*, csXyz*, int) const;
|
||||
void setArrowPosAndAngle(cXyz const*, cXyz const*, int, cXyz*, csXyz*);
|
||||
void debugDraw();
|
||||
|
||||
BOOL checkPassNum(int bit) { return field_0xc & (1 << bit); }
|
||||
void onPassNum(int num) { field_0xc |= (1 << num); }
|
||||
@@ -32,7 +34,7 @@ public:
|
||||
bool checkShieldType(int i) { return getType(i) == 3; }
|
||||
|
||||
s8 getType(int i) { return mData[i].mType; }
|
||||
int getJntNum(int i) { return mData[i].mJntNum; }
|
||||
int getJntNum(int i) { return (s16)mData[i].mJntNum; }
|
||||
|
||||
/* 0x00 */ const dJntColData_c* mData;
|
||||
/* 0x04 */ J3DModel* mModel;
|
||||
@@ -40,4 +42,26 @@ public:
|
||||
/* 0x0C */ int field_0xc;
|
||||
};
|
||||
|
||||
extern dJntColData_c l_debugColData[];
|
||||
|
||||
class dJntCol_HIO_c : public JORReflexible {
|
||||
public:
|
||||
dJntCol_HIO_c() {
|
||||
field_0x5 = 0;
|
||||
field_0xc = l_debugColData;
|
||||
}
|
||||
virtual ~dJntCol_HIO_c() {}
|
||||
virtual void listenPropertyEvent(const JORPropertyEvent*);
|
||||
virtual void genMessage(JORMContext*);
|
||||
|
||||
void update();
|
||||
void fileOut();
|
||||
|
||||
/* 0x04 */ s8 field_0x4;
|
||||
/* 0x05 */ u8 field_0x5;
|
||||
/* 0x06 */ u8 field_0x6[0xC - 0x6];
|
||||
/* 0x0C */ dJntColData_c* field_0xc;
|
||||
|
||||
};
|
||||
|
||||
#endif /* D_D_JNT_COL_H */
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "d/d_map_path_dmap.h"
|
||||
#include "JSystem/JHostIO/JORReflexible.h"
|
||||
#include <cstring>
|
||||
|
||||
struct dMap_HIO_prm_other_s {
|
||||
/* 0x00 */ u8 field_0x0;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "SSystem/SComponent/c_counter.h"
|
||||
#include <dolphin/types.h>
|
||||
#include <cstring>
|
||||
#include "d/d_menu_fmap.h"
|
||||
#include "d/d_map.h"
|
||||
#include "d/d_map_path.h"
|
||||
|
||||
@@ -38,7 +38,7 @@ public:
|
||||
u8 openExplainTx(u32, u32);
|
||||
f32 getAlphaRatio();
|
||||
void setNumber();
|
||||
bool getWarpMarkFlag();
|
||||
u8 getWarpMarkFlag();
|
||||
void setScale();
|
||||
|
||||
u8 getStatus() { return mStatus; }
|
||||
|
||||
@@ -188,7 +188,7 @@ public:
|
||||
u16 getFloatingMessageID() { return mFloatingMessageID; }
|
||||
s16 getHorseLifeCount() { return mHorseLifeCount; }
|
||||
void setMeterItemPanePtr(int i_no, CPaneMgr* i_pane) { mMeterItemPanePtr[i_no] = i_pane; }
|
||||
bool isShopTalkFlag() { return mShopTalkFlag != false; }
|
||||
bool isShopTalkFlag() { return mShopTalkFlag ? true : false; }
|
||||
u8 getCollectCursorPosX() { return mCollectCursorPosX; }
|
||||
u8 getCollectCursorPosY() { return mCollectCursorPosY; }
|
||||
void setCollectCursorPosXY(u8 x, u8 y) {
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "JSystem/JMessage/control.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "f_op/f_op_msg.h"
|
||||
#include <cstring>
|
||||
|
||||
class COutFont_c;
|
||||
class J2DTextBox;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_D_NAME_H
|
||||
|
||||
#include "d/d_select_cursor.h"
|
||||
#include <cstring>
|
||||
|
||||
class CPaneMgr;
|
||||
class CPaneMgrAlpha;
|
||||
|
||||
+10
-9
@@ -6,7 +6,7 @@
|
||||
#include "JSystem/JParticle/JPAEmitter.h"
|
||||
#include "JSystem/JParticle/JPAParticle.h"
|
||||
#include "d/d_particle_name.h"
|
||||
#include "d/d_kankyo.h"
|
||||
#include "d/d_kankyo_tev_str.h"
|
||||
|
||||
void dPa_cleanupGX();
|
||||
|
||||
@@ -402,18 +402,18 @@ public:
|
||||
param_9, param_10, param_11, param_12);
|
||||
}
|
||||
|
||||
void drawFogPri0_B(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 7); }
|
||||
void drawNormal(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 0); }
|
||||
void drawNormalFog(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 1); }
|
||||
void drawNormalP1(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 2); }
|
||||
void drawProjection(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 3); }
|
||||
void drawNormalPri0_A(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 4); }
|
||||
void drawNormalPri0_B(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 5); }
|
||||
void drawFogPri0_A(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 6); }
|
||||
void drawNormalPri0_A(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 4); }
|
||||
void drawFogPri4(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 11); }
|
||||
void drawProjection(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 3); }
|
||||
void drawFogPri0_B(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 7); }
|
||||
void drawFogPri1(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 8); }
|
||||
void drawNormal(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 0); }
|
||||
void drawFogPri2(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 9); }
|
||||
void drawNormalFog(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 1); }
|
||||
void drawFogPri3(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 10); }
|
||||
void drawNormalP1(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 2); }
|
||||
void drawFogPri4(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 11); }
|
||||
void drawDarkworld(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 12); }
|
||||
void drawFogScreen(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 13); }
|
||||
void draw2Dgame(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 14); }
|
||||
@@ -423,8 +423,9 @@ public:
|
||||
void draw2DmenuBack(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 18); }
|
||||
|
||||
JKRSolidHeap* getHeap() { return mHeap; }
|
||||
JKRSolidHeap* getSceneHeap() { return mSceneHeap; }
|
||||
JKRExpHeap* getResHeap() { return m_resHeap; }
|
||||
JKRSolidHeap* getSceneHeap() { return mSceneHeap; }
|
||||
void* getSceneRes() { return m_sceneRes; }
|
||||
|
||||
void levelAllForceOnEventMove() { field_0x210.allForceOnEventMove(); }
|
||||
|
||||
|
||||
+13
-9
@@ -25,6 +25,8 @@ public:
|
||||
static J3DModelData* loaderBasicBmd(u32 i_tag, void* i_data);
|
||||
static void dump_long(dRes_info_c* i_resInfo, int i_infoNum);
|
||||
static void dump(dRes_info_c* i_resInfo, int i_infoNum);
|
||||
static void dumpTag(dRes_info_c*, int, int, int);
|
||||
static void dump(char*, dRes_info_c*, int);
|
||||
|
||||
void* getRes(s32 i_index) {
|
||||
JUT_ASSERT(25, i_index >= 0 && i_index < getResNum());
|
||||
@@ -37,10 +39,12 @@ public:
|
||||
char* getArchiveName() { return mArchiveName; }
|
||||
mDoDvdThd_mountArchive_c* getDMCommand() { return mDMCommand; }
|
||||
JKRArchive* getArchive() { return mArchive; }
|
||||
void incCount() { mCount++; }
|
||||
u16 decCount() {
|
||||
return --mCount;
|
||||
}
|
||||
u32 incCount() { return ++mCount; }
|
||||
u32 decCount() { return --mCount; }
|
||||
|
||||
#if DEBUG
|
||||
int getSize() { return mSize; }
|
||||
#endif
|
||||
|
||||
#ifdef __MWERKS__
|
||||
static const int NAME_MAX = 9;
|
||||
@@ -55,7 +59,7 @@ private:
|
||||
/* 0x1C */ JKRSolidHeap* mDataHeap;
|
||||
/* 0x20 */ void** mRes;
|
||||
#if DEBUG
|
||||
/* 0x24 */ void* unk_0x24;
|
||||
/* 0x24 */ int mSize;
|
||||
#endif
|
||||
}; // Size: 0x24
|
||||
|
||||
@@ -66,9 +70,13 @@ public:
|
||||
dRes_control_c() {}
|
||||
~dRes_control_c();
|
||||
|
||||
int getSize(const char*, dRes_info_c*, int);
|
||||
int getStageAllSize();
|
||||
int getObjectAllSize();
|
||||
int setObjectRes(char const* i_arcName, void* i_archiveRes, u32 i_bufferSize, JKRHeap* i_heap);
|
||||
int setStageRes(char const* i_arcName, JKRHeap* i_heap);
|
||||
void dump();
|
||||
void dumpTag();
|
||||
void dump(char*);
|
||||
int getObjectResName2Index(char const* i_arcName, char const* i_resName);
|
||||
|
||||
@@ -129,10 +137,6 @@ public:
|
||||
dRes_info_c* getStageResInfo(const char* i_arcName) {
|
||||
return getResInfo(i_arcName, mStageInfo, ARRAY_SIZEU(mStageInfo));
|
||||
}
|
||||
|
||||
void dumpTag() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
/* 0x0000 */ dRes_info_c mObjectInfo[128];
|
||||
/* 0x1200 */ dRes_info_c mStageInfo[64];
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "d/d_s_play_env.h"
|
||||
#include "f_op/f_op_scene.h"
|
||||
#include "m_Do/m_Do_hostIO.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
|
||||
class mDoDvdThd_mountXArchive_c;
|
||||
class mDoDvdThd_toMainRam_c;
|
||||
|
||||
+114
-115
@@ -143,24 +143,24 @@ public:
|
||||
int isMagicFlag(u8 i_magic) const;
|
||||
|
||||
u16 getMaxLife() const { return mMaxLife; }
|
||||
void setMaxLife(u16 i_maxLife) { mMaxLife = i_maxLife; }
|
||||
u16 getLife() const { return mLife; }
|
||||
u16 getRupee() const { return mRupee; }
|
||||
u16 getOil() const { return mOil; }
|
||||
u16 getMaxOil() const { return mMaxOil; }
|
||||
u8 getMagic() const { return mMagic; }
|
||||
u8 getMaxMagic() const { return mMaxMagic; }
|
||||
u8 getSelectEquip(int item) const { return mSelectEquip[item]; }
|
||||
u8 getTransformStatus() const { return mTransformStatus; }
|
||||
u8 getWalletSize() const { return mWalletSize; }
|
||||
void setOil(u16 i_oil) { mOil = i_oil; }
|
||||
void setMaxOil(u16 i_maxOil) { mMaxOil = i_maxOil; }
|
||||
void setWalletSize(u8 i_size) { mWalletSize = i_size; }
|
||||
void setMagic(u8 i_magic) { mMagic = i_magic; }
|
||||
void setMaxMagic(u8 i_maxMagic) { mMaxMagic = i_maxMagic; }
|
||||
void setRupee(u16 i_rupees) { mRupee = i_rupees; }
|
||||
void setLife(u16 i_life) { mLife = i_life; }
|
||||
void setMaxLife(u8 i_maxLife) { mMaxLife = i_maxLife; }
|
||||
u16 getRupee() const { return mRupee; }
|
||||
void setRupee(u16 i_rupees) { mRupee = i_rupees; }
|
||||
u16 getMaxOil() const { return mMaxOil; }
|
||||
void setMaxOil(u16 i_maxOil) { mMaxOil = i_maxOil; }
|
||||
u16 getOil() const { return mOil; }
|
||||
void setOil(u16 i_oil) { mOil = i_oil; }
|
||||
u8 getSelectEquip(int item) const { return mSelectEquip[item]; }
|
||||
void setSelectEquip(int i_equipId, u8 i_itemNo) { mSelectEquip[i_equipId] = i_itemNo; }
|
||||
u8 getWalletSize() const { return mWalletSize; }
|
||||
void setWalletSize(u8 i_size) { mWalletSize = i_size; }
|
||||
u8 getMaxMagic() const { return mMaxMagic; }
|
||||
void setMaxMagic(u8 i_maxMagic) { mMaxMagic = i_maxMagic; }
|
||||
u8 getMagic() const { return mMagic; }
|
||||
void setMagic(u8 i_magic) { mMagic = i_magic; }
|
||||
u8 getTransformStatus() const { return mTransformStatus; }
|
||||
void setTransformStatus(u8 i_status) { mTransformStatus = i_status; }
|
||||
|
||||
private:
|
||||
@@ -194,12 +194,12 @@ public:
|
||||
void offTransformLV(int i_no);
|
||||
BOOL isTransformLV(int i_no) const;
|
||||
|
||||
void setDateIpl(s64 i_time) { mDateIpl = i_time; }
|
||||
u16 getDate() const { return mDate; }
|
||||
f32 getTime() const { return mTime; }
|
||||
void setDate(u16 i_date) { mDate = i_date; }
|
||||
void setTime(f32 i_time) { mTime = i_time; }
|
||||
OSTime getDateIpl() const { return mDateIpl; }
|
||||
void setDateIpl(OSTime i_time) { mDateIpl = i_time; }
|
||||
f32 getTime() const { return mTime; }
|
||||
void setTime(f32 i_time) { mTime = i_time; }
|
||||
u16 getDate() const { return mDate; }
|
||||
void setDate(u16 i_date) { mDate = i_date; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ OSTime mDateIpl;
|
||||
@@ -236,9 +236,9 @@ class dSv_player_return_place_c {
|
||||
public:
|
||||
void init();
|
||||
void set(const char* i_name, s8 i_roomNo, u8 i_status);
|
||||
s8 getRoomNo() const { return mRoomNo; }
|
||||
u8 getPlayerStatus() const { return mPlayerStatus; }
|
||||
char* getName() { return mName; }
|
||||
u8 getPlayerStatus() const { return mPlayerStatus; }
|
||||
s8 getRoomNo() const { return mRoomNo; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ char mName[8];
|
||||
@@ -257,13 +257,14 @@ public:
|
||||
void onRegionBit(int i_region);
|
||||
void set(const char* i_name, const cXyz& i_pos, s16 i_angle, s8 i_spawn, u8 i_regionNo);
|
||||
|
||||
bool isFieldDataExistFlag() const { return mFieldDataExistFlag; }
|
||||
cXyz& getPos() { return mPos; }
|
||||
s16 getAngleY() { return mAngleY; }
|
||||
char* getName() { return mName; }
|
||||
u8 getRegionNo() const { return mRegionNo; }
|
||||
bool isFieldDataExistFlag() const { return mFieldDataExistFlag ? true : false; }
|
||||
void offFieldDataExistFlag() { mFieldDataExistFlag = false; }
|
||||
void onFieldDataExistFlag() { mFieldDataExistFlag = true; }
|
||||
cXyz& getPos() { return mPos; }
|
||||
u8 getRegionNo() const { return mRegionNo; }
|
||||
char* getName() { return mName; }
|
||||
s16 getAngleY() { return mAngleY; }
|
||||
|
||||
|
||||
private:
|
||||
/* 0x00 */ cXyz mPos;
|
||||
@@ -283,13 +284,13 @@ public:
|
||||
void init();
|
||||
void setWarpItemData(const char* i_name, const cXyz& i_pos, s16 i_angle, s8 i_roomNo, u8, u8);
|
||||
|
||||
const char* getName() { return mName; }
|
||||
cXyz& getPos() { return mPos; }
|
||||
s16 getAngleY() { return mAngleY; }
|
||||
s8 getRoomNo() { return mRoomNo; }
|
||||
s8 getWarpAcceptStage() { return mWarpAcceptStage; }
|
||||
void resetWarpAcceptStage() { mWarpAcceptStage = -1; }
|
||||
s16 getAngleY() const { return mAngleY; }
|
||||
const char* getName() { return mName; }
|
||||
s8 getRoomNo() const { return mRoomNo; }
|
||||
s8 getWarpAcceptStage() const { return mWarpAcceptStage; }
|
||||
void setWarpAcceptStage(s8 accept) { mWarpAcceptStage = accept; }
|
||||
void resetWarpAcceptStage() { mWarpAcceptStage = -1; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ cXyz mPos;
|
||||
@@ -375,8 +376,8 @@ public:
|
||||
void setBombNum(u8 i_bombType, u8 i_maxNum);
|
||||
u8 getBombNum(u8 i_bombType) const;
|
||||
|
||||
void setArrowNum(u8 i_maxNum) { mItemMax[ARROW_MAX] = i_maxNum; }
|
||||
u8 getArrowNum() const { return mItemMax[ARROW_MAX]; }
|
||||
void setArrowNum(u8 i_maxNum) { mItemMax[ARROW_MAX] = i_maxNum; }
|
||||
|
||||
private:
|
||||
/* 0x0 */ u8 mItemMax[8];
|
||||
@@ -468,20 +469,18 @@ private:
|
||||
class dSv_player_info_c {
|
||||
public:
|
||||
void init();
|
||||
char* getLinkName() { return mPlayerName; }
|
||||
const char* getPlayerName() const { return mPlayerName; }
|
||||
char* getHorseName() { return mHorseName; }
|
||||
void setPlayerName(const char* i_name) { strcpy((char*)mPlayerName, i_name); }
|
||||
void setHorseName(const char* i_name) { strcpy((char*)mHorseName, i_name); }
|
||||
void setTotalTime(s64 i_time) { mTotalTime = i_time; }
|
||||
s64 getTotalTime() const { return mTotalTime; }
|
||||
u8 getClearCount() const { return mClearCount; }
|
||||
|
||||
OSTime getTotalTime() const { return mTotalTime; }
|
||||
void setTotalTime(OSTime i_time) { mTotalTime = i_time; }
|
||||
void addDeathCount() {
|
||||
if (mDeathCount < 0xFFFF) {
|
||||
mDeathCount++;
|
||||
}
|
||||
}
|
||||
char* getPlayerName() const { return const_cast<char*>(mPlayerName); }
|
||||
void setPlayerName(const char* i_name) { strcpy(mPlayerName, i_name); }
|
||||
char* getHorseName() const { return const_cast<char*>(mHorseName); }
|
||||
void setHorseName(const char* i_name) { strcpy(mHorseName, i_name); }
|
||||
u8 getClearCount() const { return mClearCount; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ u64 unk0;
|
||||
@@ -509,7 +508,7 @@ public:
|
||||
// Ruby inline names are from TWW debug.
|
||||
u8 getRuby() { return mRuby; }
|
||||
void setRuby(u8 i_ruby) { mRuby = i_ruby; }
|
||||
u8 getAttentionType() { return mAttentionType; }
|
||||
u8 getAttentionType() const { return mAttentionType; }
|
||||
void setAttentionType(u8 i_mAttentionType) { mAttentionType = i_mAttentionType; }
|
||||
u16 getCalibrateDist() { return mCalibrateDist; }
|
||||
void setCalibrateDist(u16 i_mCalibrateDist) { mCalibrateDist = i_mCalibrateDist; }
|
||||
@@ -549,24 +548,24 @@ public:
|
||||
dSv_player_c() {}
|
||||
void init();
|
||||
|
||||
dSv_player_info_c& getPlayerInfo() { return mPlayerInfo; }
|
||||
dSv_player_status_a_c& getPlayerStatusA() { return mPlayerStatusA; }
|
||||
dSv_player_status_b_c& getPlayerStatusB() { return mPlayerStatusB; }
|
||||
dSv_horse_place_c& getHorsePlace() { return mHorsePlace; }
|
||||
dSv_player_item_c& getItem() { return mItem; }
|
||||
dSv_player_collect_c& getCollect() { return mCollect; }
|
||||
dSv_player_item_record_c& getItemRecord() { return mItemRecord; }
|
||||
dSv_player_item_max_c& getItemMax() { return mItemMax; }
|
||||
dSv_player_last_mark_info_c& getPlayerLastMarkInfo() { return mPlayerLastMarkInfo; }
|
||||
dSv_player_return_place_c& getPlayerReturnPlace() { return mPlayerReturnPlace; }
|
||||
dSv_light_drop_c& getLightDrop() { return mLightDrop; }
|
||||
dSv_player_get_item_c& getGetItem() { return mGetItem; }
|
||||
dSv_player_config_c& getConfig() { return mConfig; }
|
||||
dSv_letter_info_c& getLetterInfo() { return mLetterInfo; }
|
||||
dSv_fishing_info_c& getFishingInfo() { return mFishingInfo; }
|
||||
dSv_player_field_last_stay_info_c& getPlayerFieldLastStayInfo() {
|
||||
return mPlayerFieldLastStayInfo;
|
||||
}
|
||||
dSv_player_last_mark_info_c& getPlayerLastMarkInfo() { return mPlayerLastMarkInfo; }
|
||||
dSv_player_item_c& getItem() { return mItem; }
|
||||
dSv_player_get_item_c& getGetItem() { return mGetItem; }
|
||||
dSv_player_item_record_c& getItemRecord() { return mItemRecord; }
|
||||
dSv_player_item_max_c& getItemMax() { return mItemMax; }
|
||||
dSv_player_collect_c& getCollect() { return mCollect; }
|
||||
dSv_light_drop_c& getLightDrop() { return mLightDrop; }
|
||||
dSv_letter_info_c& getLetterInfo() { return mLetterInfo; }
|
||||
dSv_fishing_info_c& getFishingInfo() { return mFishingInfo; }
|
||||
dSv_player_info_c& getPlayerInfo() { return mPlayerInfo; }
|
||||
dSv_player_config_c& getConfig() { return mConfig; }
|
||||
|
||||
private:
|
||||
/* 0x000 */ dSv_player_status_a_c mPlayerStatusA;
|
||||
@@ -630,22 +629,32 @@ public:
|
||||
u8 getKeyNum() { return mKeyNum; }
|
||||
void setKeyNum(u8 i_keyNum) { mKeyNum = i_keyNum; }
|
||||
void onDungeonItemMap() { onDungeonItem(MAP); }
|
||||
void offDungeonItemMap() { offDungeonItem(MAP); }
|
||||
s32 isDungeonItemMap() const { return isDungeonItem(MAP); }
|
||||
void onDungeonItemCompass() { onDungeonItem(COMPASS); }
|
||||
void offDungeonItemCompass() { offDungeonItem(COMPASS); }
|
||||
s32 isDungeonItemCompass() const { return isDungeonItem(COMPASS); }
|
||||
void onDungeonItemWarp() { onDungeonItem(OOCCOO_NOTE); }
|
||||
void onDungeonItemBossKey() { onDungeonItem(BOSS_KEY); }
|
||||
void offDungeonItemBossKey() { offDungeonItem(BOSS_KEY); }
|
||||
s32 isDungeonItemBossKey() const { return isDungeonItem(BOSS_KEY); }
|
||||
void onStageBossEnemy() {
|
||||
void onStageBossEnemy() {
|
||||
onDungeonItem(STAGE_BOSS_ENEMY);
|
||||
onDungeonItem(OOCCOO_NOTE);
|
||||
}
|
||||
void onStageBossEnemy2() { onDungeonItem(STAGE_BOSS_ENEMY_2); }
|
||||
void offStageBossEnemy() { offDungeonItem(STAGE_BOSS_ENEMY); }
|
||||
s32 isStageBossEnemy() const { return isDungeonItem(STAGE_BOSS_ENEMY); }
|
||||
s32 isStageBossEnemy2() const { return isDungeonItem(STAGE_BOSS_ENEMY_2); }
|
||||
s32 isStageLife() const { return isDungeonItem(STAGE_LIFE); }
|
||||
s32 isDungeonItemWarp() const { return isDungeonItem(OOCCOO_NOTE); }
|
||||
void onStageLife() { onDungeonItem(STAGE_LIFE); }
|
||||
void offStageLife() { offDungeonItem(STAGE_LIFE); }
|
||||
s32 isStageLife() const { return isDungeonItem(STAGE_LIFE); }
|
||||
void onStageBossDemo() { onDungeonItem(STAGE_BOSS_DEMO); }
|
||||
void offStageBossDemo() { offDungeonItem(STAGE_BOSS_DEMO); }
|
||||
s32 isStageBossDemo() const { return isDungeonItem(STAGE_BOSS_DEMO); }
|
||||
void onDungeonItemWarp() { onDungeonItem(OOCCOO_NOTE); }
|
||||
void offDungeonItemWarp() { offDungeonItem(OOCCOO_NOTE); }
|
||||
s32 isDungeonItemWarp() const { return isDungeonItem(OOCCOO_NOTE); }
|
||||
void onStageBossEnemy2() { onDungeonItem(STAGE_BOSS_ENEMY_2); }
|
||||
void offStageBossEnemy2() { offDungeonItem(STAGE_BOSS_ENEMY_2); }
|
||||
s32 isStageBossEnemy2() const { return isDungeonItem(STAGE_BOSS_ENEMY_2); }
|
||||
|
||||
private:
|
||||
/* 0x00 */ u32 mTbox[2];
|
||||
@@ -674,13 +683,12 @@ class dSv_MiniGame_c {
|
||||
public:
|
||||
void init();
|
||||
|
||||
void setBalloonScore(u32 i_score) { mBalloonScore = i_score; }
|
||||
void setRaceGameTime(u32 i_time) { mRaceGameTime = i_time; }
|
||||
void setHookGameTime(u32 i_time) { mHookGameTime = i_time; }
|
||||
|
||||
u32 getRaceGameTime() const { return mRaceGameTime; }
|
||||
u32 getBalloonScore() const { return mBalloonScore; }
|
||||
u32 getHookGameTime() const { return mHookGameTime; }
|
||||
void setHookGameTime(u32 i_time) { mHookGameTime = i_time; }
|
||||
u32 getBalloonScore() const { return mBalloonScore; }
|
||||
void setBalloonScore(u32 i_score) { mBalloonScore = i_score; }
|
||||
u32 getRaceGameTime() const { return mRaceGameTime; }
|
||||
void setRaceGameTime(u32 i_time) { mRaceGameTime = i_time; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ u8 unk0[1][4];
|
||||
@@ -734,7 +742,6 @@ public:
|
||||
private:
|
||||
/* 0x00 */ s8 mStageNo;
|
||||
/* 0x01 */ u8 unk1;
|
||||
/* 0x02 */ u8 unk2[2];
|
||||
/* 0x04 */ u32 mSwitch[2];
|
||||
/* 0x0C */ u32 mItem[4];
|
||||
/* 0x1C */ s16 unk28[16];
|
||||
@@ -783,17 +790,16 @@ private:
|
||||
|
||||
class dSv_zone_c {
|
||||
public:
|
||||
dSv_zone_c() { mRoomNo = -1; }
|
||||
dSv_zone_c() { reset(); }
|
||||
void init(int i_roomNo);
|
||||
|
||||
int getRoomNo() const { return mRoomNo; }
|
||||
void reset() { mRoomNo = -1; }
|
||||
dSv_zoneBit_c& getBit() { return mBit; }
|
||||
const dSv_zoneBit_c& getBit() const { return mBit; }
|
||||
dSv_zoneActor_c& getActor() { return mActor; }
|
||||
const dSv_zoneActor_c& getActor() const { return mActor; }
|
||||
|
||||
int getRoomNo() const { return mRoomNo; }
|
||||
void reset() { mRoomNo = -1; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ s8 mRoomNo;
|
||||
/* 0x01 */ u8 unk1;
|
||||
@@ -807,23 +813,22 @@ class dSv_restart_c {
|
||||
public:
|
||||
void setRoom(const cXyz& i_position, s16 i_angleY, s8 i_roomNo);
|
||||
|
||||
void setRoomParam(u32 param) { mRoomParam = param; }
|
||||
s8 getRoomNo() const { return mRoomNo; }
|
||||
s16 getStartPoint() const { return mStartPoint; }
|
||||
void setStartPoint(s16 point) { mStartPoint = point; }
|
||||
s16 getRoomAngleY() const { return mRoomAngleY; }
|
||||
const cXyz& getRoomPos() const { return mRoomPos; }
|
||||
u32 getRoomParam() const { return mRoomParam; }
|
||||
void setRoomParam(u32 param) { mRoomParam = param; }
|
||||
f32 getLastSpeedF() const { return mLastSpeedF; }
|
||||
u32 getLastMode() const { return mLastMode; }
|
||||
s16 getLastAngleY() const { return mLastAngleY; }
|
||||
void setLastSceneInfo(f32 speed, u32 mode, s16 angle) {
|
||||
mLastSpeedF = speed;
|
||||
mLastMode = mode;
|
||||
mLastAngleY = angle;
|
||||
}
|
||||
|
||||
s16 getStartPoint() const { return mStartPoint; }
|
||||
u32 getLastMode() const { return mLastMode; }
|
||||
s8 getRoomNo() const { return mRoomNo; }
|
||||
u32 getRoomParam() const { return mRoomParam; }
|
||||
const cXyz& getRoomPos() const { return mRoomPos; }
|
||||
s16 getRoomAngleY() const { return mRoomAngleY; }
|
||||
s16 getLastAngleY() const { return mLastAngleY; }
|
||||
f32 getLastSpeedF() const { return mLastSpeedF; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ s8 mRoomNo;
|
||||
/* 0x01 */ u8 field_0x01[3];
|
||||
@@ -847,22 +852,19 @@ public:
|
||||
|
||||
void set(const cXyz& i_position, s16 i_angleY, s8, u32 i_param);
|
||||
|
||||
u32 getParam() const { return mParam; }
|
||||
const cXyz& getPos() const { return mPosition; }
|
||||
u32 getParam() const { return mParam; }
|
||||
s16 getAngleY() const { return mAngleY; }
|
||||
s8 getRoomNo() const { return unk18; }
|
||||
|
||||
const cXyz& getCameraCtr() const { return mCamera.mCameraCtr; }
|
||||
void setCameraCtr(const cXyz& i_ctr) { mCamera.mCameraCtr = i_ctr; }
|
||||
const cXyz& getCameraEye() const { return mCamera.mCameraEye; }
|
||||
void setCameraEye(const cXyz& i_eye) { mCamera.mCameraEye = i_eye; }
|
||||
const cXyz& getCameraUp() const { return mCamera.mCameraUp; }
|
||||
void setCameraUp(const cXyz& i_up) { mCamera.mCameraUp = i_up; }
|
||||
f32 getCameraFvy() const { return mCameraFvy; }
|
||||
void setCameraFvy(f32 i_fvy) { mCameraFvy = i_fvy; }
|
||||
|
||||
const cXyz& getCameraUp() const { return mCamera.mCameraUp; }
|
||||
const cXyz& getCameraEye() const { return mCamera.mCameraEye; }
|
||||
const cXyz& getCameraCtr() const { return mCamera.mCameraCtr; }
|
||||
|
||||
void setCameraUp(const cXyz& i_up) { mCamera.mCameraUp = i_up; }
|
||||
void setCameraEye(const cXyz& i_eye) { mCamera.mCameraEye = i_eye; }
|
||||
void setCameraCtr(const cXyz& i_ctr) { mCamera.mCameraCtr = i_ctr; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ cXyz mPosition;
|
||||
/* 0x0C */ u32 mParam;
|
||||
@@ -886,18 +888,16 @@ public:
|
||||
dSv_memory2_c* getSave2(int i_stage2No);
|
||||
|
||||
dSv_player_c& getPlayer() { return mPlayer; }
|
||||
dSv_event_c& getEvent() { return mEvent; }
|
||||
dSv_MiniGame_c& getMiniGame() { return mMiniGame; }
|
||||
|
||||
dSv_memory_c& getSave(int i_stageNo) {
|
||||
JUT_ASSERT(1412, 0 <= i_stageNo && i_stageNo < STAGE_MAX);
|
||||
return mSave[i_stageNo];
|
||||
}
|
||||
|
||||
void putSave(int i_stageNo, dSv_memory_c mem) {
|
||||
JUT_ASSERT(1417, 0 <= i_stageNo && i_stageNo < dSv_save_c::STAGE_MAX);
|
||||
JUT_ASSERT(1417, 0 <= i_stageNo && i_stageNo < STAGE_MAX);
|
||||
mSave[i_stageNo] = mem;
|
||||
}
|
||||
dSv_event_c& getEvent() { return mEvent; }
|
||||
dSv_MiniGame_c& getMiniGame() { return mMiniGame; }
|
||||
|
||||
static const int STAGE_MAX = 32;
|
||||
static const int STAGE2_MAX = 64;
|
||||
@@ -923,7 +923,7 @@ public:
|
||||
|
||||
flagFile_c();
|
||||
~flagFile_c();
|
||||
BOOL check_flag(u16);
|
||||
BOOL check_flag(u16 i_flag) { return (m_flags & i_flag) != 0; }
|
||||
|
||||
virtual void listenPropertyEvent(const JORPropertyEvent*);
|
||||
virtual void genMessage(JORMContext*);
|
||||
@@ -954,33 +954,32 @@ public:
|
||||
int initdata_to_card(char* card_ptr, int dataNum);
|
||||
|
||||
dSv_save_c& getSavedata() { return mSavedata; }
|
||||
void setSavedata(dSv_save_c& i_save) { mSavedata = i_save; }
|
||||
dSv_player_c& getPlayer() { return mSavedata.getPlayer(); }
|
||||
dSv_event_c& getEvent() { return mSavedata.getEvent(); }
|
||||
dSv_MiniGame_c& getMiniGame() { return mSavedata.getMiniGame(); }
|
||||
dSv_memory_c& getMemory() { return mMemory; }
|
||||
void setMemory(dSv_memory_c& i_memory) { mMemory = i_memory; }
|
||||
dSv_danBit_c& getDan() { return mDan; }
|
||||
void setDan(dSv_danBit_c& i_dan) { mDan = i_dan; }
|
||||
void resetDan() { mDan.reset(); }
|
||||
void initDan(s8 i_stage) { mDan.init(i_stage); }
|
||||
dSv_zone_c* getZones() { return mZone; }
|
||||
dSv_zone_c& getZone(int id) { return mZone[id]; }
|
||||
dSv_player_c& getPlayer() { return mSavedata.getPlayer(); }
|
||||
dSv_event_c& getTmp() { return mTmp; }
|
||||
void removeZone(int zoneNo) { mZone[zoneNo].reset(); }
|
||||
dSv_restart_c& getRestart() { return mRestart; }
|
||||
dSv_event_c& getTmp() { return mTmp; }
|
||||
dSv_turnRestart_c& getTurnRestart() { return mTurnRestart; }
|
||||
dSv_event_c& getEvent() { return mSavedata.getEvent(); }
|
||||
dSv_danBit_c& getDan() { return mDan; }
|
||||
dSv_MiniGame_c& getMiniGame() { return mSavedata.getMiniGame(); }
|
||||
s64 getStartTime() const { return mStartTime; }
|
||||
s64 getSaveTotalTime() const { return mSaveTotalTime; }
|
||||
void setStartTime(s64 time) { mStartTime = time; }
|
||||
void setSaveTotalTime(s64 time) { mSaveTotalTime = time; }
|
||||
void initDan(s8 i_stage) { mDan.init(i_stage); }
|
||||
void resetDan() { mDan.reset(); }
|
||||
u8 getDataNum() const { return mDataNum; }
|
||||
void setDataNum(u8 num) { mDataNum = num; }
|
||||
void removeZone(int zoneNo) { mZone[zoneNo].reset(); }
|
||||
u8 getNoFile() const { return mNoFile; }
|
||||
void setNoFile(u8 file) { mNoFile = file; }
|
||||
u8 getNewFile() const { return mNewFile; }
|
||||
void setNewFile(u8 file) { mNewFile = file; }
|
||||
|
||||
void setSavedata(dSv_save_c& i_save) { mSavedata = i_save; }
|
||||
void setMemory(dSv_memory_c& i_memory) { mMemory = i_memory; }
|
||||
void setDan(dSv_danBit_c& i_dan) { mDan = i_dan; }
|
||||
u8 getNoFile() const { return mNoFile; }
|
||||
void setNoFile(u8 file) { mNoFile = file; }
|
||||
s64 getStartTime() const { return mStartTime; }
|
||||
void setStartTime(s64 time) { mStartTime = time; }
|
||||
s64 getSaveTotalTime() const { return mSaveTotalTime; }
|
||||
void setSaveTotalTime(s64 time) { mSaveTotalTime = time; }
|
||||
|
||||
static const int MEMORY_SWITCH = 0x80;
|
||||
static const int DAN_SWITCH = 0x40;
|
||||
|
||||
+69
-62
@@ -1100,13 +1100,8 @@ public:
|
||||
/* 0x1 */ bankDataEntry m_entries[32]; // ?
|
||||
};
|
||||
|
||||
static void createRoomDzs(u8 i_num) { m_roomDzs.create(i_num); }
|
||||
static void* addRoomDzs(u8 i_num, u8 roomNo) { return m_roomDzs.add(i_num, roomNo); }
|
||||
static void removeRoomDzs() { m_roomDzs.remove(); }
|
||||
|
||||
dStage_roomControl_c() {}
|
||||
void init(void);
|
||||
static int getZoneNo(int i_roomNo) { return mStatus[i_roomNo].getZoneNo(); }
|
||||
void initZone();
|
||||
dStage_roomDt_c* getStatusRoomDt(int);
|
||||
static JKRExpHeap* getMemoryBlock(int);
|
||||
@@ -1120,23 +1115,20 @@ public:
|
||||
static void setArcBank(int, char const*);
|
||||
static char* getArcBank(int);
|
||||
static bool resetArchiveBank(int);
|
||||
static void SetTimePass(int i_TimePass) { m_time_pass = i_TimePass; }
|
||||
static void setZoneNo(int, int);
|
||||
static dBgp_c* getBgp(int i_roomNo) {
|
||||
#if DEBUG
|
||||
// DEBUG NONMATCHING
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
static BOOL GetTimePass() { return m_time_pass; }
|
||||
|
||||
static s8 getRoomReadId() { return mRoomReadId; }
|
||||
static void setRoomReadId(s8 id) { mRoomReadId = id; }
|
||||
static u32 getProcID() { return mProcID; }
|
||||
static void setProcID(u32 id) { mProcID = id; }
|
||||
static int getStayNo() { return mStayNo; }
|
||||
static u8 getRegionNo(int i_roomNo) { return mStatus[i_roomNo].mRegionNo; }
|
||||
static int getMemoryBlockID(int i_roomNo) {
|
||||
JUT_ASSERT(2757, 0 <= i_roomNo && i_roomNo < 64);
|
||||
return mStatus[i_roomNo].mMemBlockID;
|
||||
}
|
||||
static int getNextStayNo() { return mNextStayNo; }
|
||||
static BOOL GetTimePass() { return m_time_pass; }
|
||||
static void SetTimePass(int i_TimePass) { m_time_pass = i_TimePass; }
|
||||
static nameData* getArcBankName() { return mArcBankName; }
|
||||
static bankData* getArcBankData() { return mArcBankData; }
|
||||
static void createRoomDzs(u8 i_num) { m_roomDzs.create(i_num); }
|
||||
static void removeRoomDzs() { m_roomDzs.remove(); }
|
||||
static void* addRoomDzs(u8 i_num, u8 roomNo) { return m_roomDzs.add(i_num, roomNo); }
|
||||
dKy_tevstr_c* getTevStr(int i_roomNo) {
|
||||
JUT_ASSERT(2675, 0 <= i_roomNo && i_roomNo < 64);
|
||||
return &mStatus[i_roomNo].mKyTevStr;
|
||||
@@ -1145,67 +1137,81 @@ public:
|
||||
JUT_ASSERT(2679, 0 <= i_roomNo && i_roomNo < 64);
|
||||
mStatus[i_roomNo].mFlag = flag;
|
||||
}
|
||||
static void onStatusDraw(int i_roomNo) {
|
||||
JUT_ASSERT(2725, 0 <= i_roomNo && i_roomNo < 64);
|
||||
mStatus[i_roomNo].mDraw = true;
|
||||
void onStatusFlag(int i_roomNo, u8 flag) {
|
||||
JUT_ASSERT(2691, 0 <= i_roomNo && i_roomNo < 64);
|
||||
return cLib_onBit(mStatus[i_roomNo].mFlag, flag);
|
||||
}
|
||||
void offStatusFlag(int i_roomNo, u8 flag) {
|
||||
JUT_ASSERT(2695, 0 <= i_roomNo && i_roomNo < 64);
|
||||
return cLib_offBit(mStatus[i_roomNo].mFlag, flag);
|
||||
}
|
||||
u8 checkStatusFlag(int i_roomNo, u8 flag) const {
|
||||
JUT_ASSERT(2699, 0 <= i_roomNo && i_roomNo < 64);
|
||||
return cLib_checkBit((u8) mStatus[i_roomNo].mFlag, flag);
|
||||
}
|
||||
static void setFileList2(int i_roomNo, dStage_FileList2_dt_c* list) {
|
||||
JUT_ASSERT(2711, 0 <= i_roomNo && i_roomNo < 64);
|
||||
mStatus[i_roomNo].mRoomDt.setFileList2Info(list);
|
||||
}
|
||||
static dStage_FileList2_dt_c* getFileList2(int i_roomNo) {
|
||||
JUT_ASSERT(2715, 0 <= i_roomNo && i_roomNo < 64);
|
||||
return mStatus[i_roomNo].mRoomDt.getFileList2Info();
|
||||
}
|
||||
static char* getDemoArcName() { return mDemoArcName; }
|
||||
static nameData* getArcBankName() { return mArcBankName; }
|
||||
static bankData* getArcBankData() { return mArcBankData; }
|
||||
static void setRoomReadId(s8 id) { mRoomReadId = id; }
|
||||
static s8 getRoomReadId() { return mRoomReadId; }
|
||||
static void offNoChangeRoom() { mNoChangeRoom = false; }
|
||||
static void onNoChangeRoom() { mNoChangeRoom = true; }
|
||||
static int getNextStayNo() { return mNextStayNo; }
|
||||
static void setProcID(u32 id) { mProcID = id; }
|
||||
static u32 getProcID() { return mProcID; }
|
||||
static void setStatusProcID(int i_roomNo, fpc_ProcID i_id) { mStatus[i_roomNo].mProcID = i_id; }
|
||||
static int getStatusProcID(int i_roomNo) {
|
||||
JUT_ASSERT(2774, 0 <= i_roomNo && i_roomNo < 64);
|
||||
return mStatus[i_roomNo].mProcID;
|
||||
static void onStatusDraw(int i_roomNo) {
|
||||
JUT_ASSERT(2725, 0 <= i_roomNo && i_roomNo < 64);
|
||||
mStatus[i_roomNo].mDraw = true;
|
||||
}
|
||||
static void setRegionNo(int i_roomNo, u8 i_regionNo) { mStatus[i_roomNo].mRegionNo = i_regionNo; }
|
||||
|
||||
u8 checkStatusFlag(int i_roomNo, u8 flag) const {
|
||||
JUT_ASSERT(2699, 0 <= i_roomNo && i_roomNo < 64);
|
||||
return cLib_checkBit((u8) mStatus[i_roomNo].mFlag, flag);
|
||||
}
|
||||
|
||||
void onStatusFlag(int i_roomNo, u8 flag) {
|
||||
JUT_ASSERT(2691, 0 <= i_roomNo && i_roomNo < 64);
|
||||
return cLib_onBit(mStatus[i_roomNo].mFlag, flag);
|
||||
}
|
||||
|
||||
void offStatusFlag(int i_roomNo, u8 flag) {
|
||||
JUT_ASSERT(2695, 0 <= i_roomNo && i_roomNo < 64);
|
||||
return cLib_offBit(mStatus[i_roomNo].mFlag, flag);
|
||||
}
|
||||
|
||||
static void setFileList2(int i_roomNo, dStage_FileList2_dt_c* list) {
|
||||
JUT_ASSERT(2711, 0 <= i_roomNo && i_roomNo < 64);
|
||||
mStatus[i_roomNo].mRoomDt.setFileList2Info(list);
|
||||
}
|
||||
|
||||
static void setZoneCount(int i_roomNo, int count) {
|
||||
JUT_ASSERT(2737, 0 <= i_roomNo && i_roomNo < 64);
|
||||
mStatus[i_roomNo].mZoneCount = count;
|
||||
}
|
||||
|
||||
static void setZoneNo(int i_roomNo, int i_zoneNo) {
|
||||
JUT_ASSERT(2745, 0 <= i_roomNo && i_roomNo < 64);
|
||||
mStatus[i_roomNo].mZoneNo = i_zoneNo;
|
||||
}
|
||||
static int getZoneNo(int i_roomNo) {
|
||||
JUT_ASSERT(2749, 0 <= i_roomNo && i_roomNo < 64);
|
||||
return mStatus[i_roomNo].mZoneNo;
|
||||
}
|
||||
static void setMemoryBlockID(int i_roomNo, int i_blockID) {
|
||||
JUT_ASSERT(2753, 0 <= i_roomNo && i_roomNo < 64);
|
||||
mStatus[i_roomNo].mMemBlockID = i_blockID;
|
||||
}
|
||||
|
||||
static int getMemoryBlockID(int i_roomNo) {
|
||||
JUT_ASSERT(2757, 0 <= i_roomNo && i_roomNo < 64);
|
||||
return mStatus[i_roomNo].mMemBlockID;
|
||||
}
|
||||
static void setRegionNo(int i_roomNo, u8 i_regionNo) {
|
||||
JUT_ASSERT(2762, 0 <= i_roomNo && i_roomNo < 64);
|
||||
mStatus[i_roomNo].mRegionNo = i_regionNo;
|
||||
}
|
||||
static u8 getRegionNo(int i_roomNo) {
|
||||
JUT_ASSERT(2766, 0 <= i_roomNo && i_roomNo < 64);
|
||||
return mStatus[i_roomNo].mRegionNo;
|
||||
}
|
||||
static void setStatusProcID(int i_roomNo, fpc_ProcID i_id) {
|
||||
JUT_ASSERT(2770, 0 <= i_roomNo && i_roomNo < 64);
|
||||
mStatus[i_roomNo].mProcID = i_id;
|
||||
}
|
||||
static int getStatusProcID(int i_roomNo) {
|
||||
JUT_ASSERT(2774, 0 <= i_roomNo && i_roomNo < 64);
|
||||
return mStatus[i_roomNo].mProcID;
|
||||
}
|
||||
static void setBgW(int i_roomNo, dBgW_Base* i_bgw) {
|
||||
JUT_ASSERT(2778, 0 <= i_roomNo && i_roomNo < 64);
|
||||
mStatus[i_roomNo].mpBgW = i_bgw;
|
||||
}
|
||||
|
||||
static dBgp_c* getBgp(int i_roomNo) {
|
||||
#if DEBUG
|
||||
return (dBgp_c*)mBgp[i_roomNo];
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
static JKRExpHeap* getMemoryBlockHeap(int i_no) { return mMemoryBlock[i_no]; }
|
||||
static char* getDemoArcName() { return mDemoArcName; }
|
||||
static void offNoChangeRoom() { mNoChangeRoom = false; }
|
||||
static void onNoChangeRoom() { mNoChangeRoom = true; }
|
||||
|
||||
#if DEBUG
|
||||
static void setBgp(int, void*);
|
||||
@@ -1233,6 +1239,7 @@ public:
|
||||
mNoArcBank = true;
|
||||
}
|
||||
|
||||
static void* mBgp[];
|
||||
static u8 mNoArcBank;
|
||||
#endif
|
||||
|
||||
|
||||
+19
-15
@@ -4,29 +4,29 @@
|
||||
// Fixes weak .bss
|
||||
#include "weak_bss_1109_to_1009.h" // IWYU pragma: export
|
||||
|
||||
// Fixes weak .data
|
||||
#include <cmath> // IWYU pragma: export
|
||||
#include <limits> // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphBase/J3DMatBlock.h" // IWYU pragma: export
|
||||
#include "Z2AudioLib/Z2Calc.h" // IWYU pragma: export
|
||||
|
||||
// Fixes weak function/RTTI ordering
|
||||
#include <cmath> // IWYU pragma: export
|
||||
#include <cstring> // IWYU pragma: export
|
||||
// Provides float constants from sqrt implementation
|
||||
#include <cmath> // IWYU pragma: export
|
||||
// Provides signaling NaN constants
|
||||
#include <limits> // IWYU pragma: export
|
||||
#include "Z2AudioLib/Z2AudioArcLoader.h" // IWYU pragma: export
|
||||
#include "JSystem/JAudio2/JAUStreamAramMgr.h" // IWYU pragma: export
|
||||
#include "JSystem/JKernel/JKRDisposer.h" // IWYU pragma: export
|
||||
#include "JSystem/JGadget/linklist.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphBase/J3DPacket.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DShapeTable.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DAnimation.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DJoint.h" // IWYU pragma: export
|
||||
#include "JSystem/JUtility/JUTGamePad.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphBase/J3DSys.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h" // IWYU pragma: export
|
||||
// Provides AttnArr (u8 array)
|
||||
#include "JSystem/J3DGraphBase/J3DMatBlock.h" // IWYU pragma: export
|
||||
// Provides Z2Calc::cNullVec
|
||||
#include "Z2AudioLib/Z2Calc.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphBase/J3DTexture.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphBase/J3DPacket.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DAnimation.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DShapeTable.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DJoint.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAttach.h" // IWYU pragma: export
|
||||
#include "JSystem/J3DGraphBase/J3DSys.h" // IWYU pragma: export
|
||||
#include "JSystem/JHostIO/JHICommonMem.h" // IWYU pragma: export
|
||||
#include "JSystem/JHostIO/JORReflexible.h" // IWYU pragma: export
|
||||
#include "SSystem/SComponent/c_m3d_g_sph.h" // IWYU pragma: export
|
||||
@@ -36,9 +36,13 @@
|
||||
#include "SSystem/SComponent/c_bg_s_poly_info.h" // IWYU pragma: export
|
||||
#include "SSystem/SComponent/c_bg_s_gnd_chk.h" // IWYU pragma: export
|
||||
#include "SSystem/SComponent/c_m3d_g_cyl.h" // IWYU pragma: export
|
||||
#include "SSystem/SComponent/c_phase.h" // IWYU pragma: export
|
||||
#include "m_Do/m_Do_hostIO.h" // IWYU pragma: export
|
||||
#include "f_op/f_op_actor.h" // IWYU pragma: export
|
||||
#include "JSystem/JParticle/JPAEmitter.h" // IWYU pragma: export
|
||||
#include "JSystem/JParticle/JPAParticle.h" // IWYU pragma: export
|
||||
#include "d/d_bg_s_gnd_chk.h" // IWYU pragma: export
|
||||
#include "d/d_particle.h" // IWYU pragma: export
|
||||
#include "d/d_bg_s_chk.h" // IWYU pragma: export
|
||||
#include "d/d_bg_w.h" // IWYU pragma: export
|
||||
#include "d/d_drawlist.h" // IWYU pragma: export
|
||||
|
||||
Reference in New Issue
Block a user