Merge branch 'main' into 26-02-27-allocator-isolation

This commit is contained in:
PJB3005
2026-03-05 00:15:09 +01:00
5530 changed files with 252979 additions and 26830 deletions
+4465 -4463
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_A_BALLOON_2D_H
#define D_A_BALLOON_2D_H
#include <dolphin/types.h>
#include <types.h>
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
#include "d/d_drawlist.h"
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_A_DOOR_BOSSL1_H
#define D_A_DOOR_BOSSL1_H
#include <dolphin/types.h>
#include <types.h>
#include "f_op/f_op_actor.h"
#include "d/d_bg_w.h"
#include "d/d_bg_s_acch.h"
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_A_DOOR_BOSSL5_H
#define D_A_DOOR_BOSSL5_H
#include <dolphin/types.h>
#include <types.h>
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
#include "d/d_bg_w.h"
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_A_DOOR_MBOSSL1_H
#define D_A_DOOR_MBOSSL1_H
#include <dolphin/types.h>
#include <types.h>
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
#include "d/d_bg_w.h"
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_A_DOOR_SHUTTER_H
#define D_A_DOOR_SHUTTER_H
#include <dolphin/types.h>
#include <types.h>
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
#include "d/d_bg_w.h"
+1 -1
View File
@@ -2,7 +2,7 @@
#define D_A_E_DB_LEAF_H
#include "d/d_com_inf_game.h"
#include <dolphin/types.h>
#include <types.h>
/**
* @ingroup actors-enemies
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -23,7 +23,7 @@ public:
void CheckHit();
void WaitAction();
void HalfBreakAction();
bool VibAction();
u8 VibAction();
void DummyAction();
void RealAction();
void Action();
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_A_E_OCT_BG_H
#define D_A_E_OCT_BG_H
#include <dolphin/types.h>
#include <types.h>
#include "f_op/f_op_actor.h"
#include "d/d_bg_s_acch.h"
#include "Z2AudioLib/Z2Creature.h"
+1 -1
View File
@@ -9,7 +9,7 @@
#include "d/d_cc_uty.h"
#include "d/d_msg_flow.h"
class dPath;
struct dPath;
/**
* @ingroup actors-enemies
+60 -60
View File
@@ -21,75 +21,75 @@ class e_rd_class {
public:
e_rd_class();
/* 0x0000 */ fopEn_enemy_c actor;
/* 0x05AC */ request_of_phase_process_class mPhase;
/* 0x05B4 */ s16 mMode;
/* 0x05B6 */ u8 field_0x5b6;
/* 0x05B7 */ u8 field_0x5b7;
/* 0x05B8 */ u8 field_0x5b8;
/* 0x0000 */ fopEn_enemy_c enemy;
/* 0x05AC */ request_of_phase_process_class phase;
/* 0x05B4 */ s16 mode;
/* 0x05B6 */ u8 arg0;
/* 0x05B7 */ u8 arg1;
/* 0x05B8 */ u8 arg2;
/* 0x05B9 */ u8 field_0x5b9;
/* 0x05BA */ u8 field_0x5ba;
/* 0x05BB */ u8 field_0x5bb;
/* 0x05BC */ u8 field_0x5bc;
/* 0x05BC */ u8 weapon_type;
/* 0x05BD */ s8 field_0x5bd;
/* 0x05C0 */ cXyz field_0x5c0;
/* 0x05CC */ s16 field_0x5cc;
/* 0x05D0 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x05D4 */ Z2CreatureEnemy mSound;
/* 0x0678 */ char* mResName;
/* 0x067C */ int mAnmID;
/* 0x05CC */ s16 target_ya;
/* 0x05D0 */ mDoExt_McaMorfSO* anm_p;
/* 0x05D4 */ Z2CreatureEnemy sound;
/* 0x0678 */ char* resName;
/* 0x067C */ int anm;
/* 0x0680 */ int field_0x680;
/* 0x0684 */ dJntCol_c mJntCol;
/* 0x0694 */ J3DModel* field_0x694;
/* 0x0698 */ mDoExt_McaMorfSO* mpMorfBowAnm;
/* 0x0694 */ J3DModel* arrow;
/* 0x0698 */ mDoExt_McaMorfSO* bow_anm;
/* 0x069C */ mDoExt_McaMorf* mpMorfHornAnm;
/* 0x06A0 */ s8 field_0x6a0;
/* 0x06A4 */ cXyz field_0x6a4;
/* 0x06B0 */ cXyz field_0x6b0;
/* 0x06BC */ csXyz field_0x6bc;
/* 0x06C2 */ s8 field_0x6c2;
/* 0x06C2 */ s8 run_flag;
/* 0x06C3 */ u8 field_0x6c3;
/* 0x06C4 */ J3DModel* mpEyeModels[2];
/* 0x06C4 */ J3DModel* eye_model[2];
/* 0x06CC */ f32 field_0x6cc;
/* 0x06D0 */ f32 field_0x6d0;
/* 0x06D4 */ J3DModel* mpBossArmorParts[14];
/* 0x06D4 */ J3DModel* armor_boss_part[14];
/* 0x070C */ s8 field_0x70c[14];
/* 0x071C */ cXyz field_0x71c[14];
/* 0x07C4 */ cXyz field_0x7c4[14];
/* 0x086C */ csXyz field_0x86c[14];
/* 0x08C0 */ u32 field_0x8c0[14][3];
/* 0x08C0 */ u32 armor_break_eff[14][3];
/* 0x0968 */ s8 field_0x968;
/* 0x096C */ f32 field_0x96c;
/* 0x0970 */ s16 field_0x970;
/* 0x0972 */ s16 mAction;
/* 0x0974 */ s16 field_0x974;
/* 0x0978 */ f32 mPlayerDistance;
/* 0x097C */ s16 mPlayerAngleY;
/* 0x0980 */ f32 field_0x980;
/* 0x0984 */ f32 field_0x984;
/* 0x0988 */ u32 mShadowKey;
/* 0x098C */ fpc_ProcID mWbActorID;
/* 0x0990 */ s16 field_0x990[4];
/* 0x0998 */ s16 field_0x998;
/* 0x0970 */ s16 counter;
/* 0x0972 */ s16 action;
/* 0x0974 */ s16 prev_action;
/* 0x0978 */ f32 dis;
/* 0x097C */ s16 angleY;
/* 0x0980 */ f32 attack_range;
/* 0x0984 */ f32 waterY;
/* 0x0988 */ u32 shadow_key;
/* 0x098C */ fpc_ProcID boar_id;
/* 0x0990 */ s16 timer[4];
/* 0x0998 */ s16 damage_timer;
/* 0x099A */ s16 field_0x99a;
/* 0x099C */ s16 field_0x99c;
/* 0x099E */ s16 field_0x99e;
/* 0x099C */ s16 yagura_timer;
/* 0x099E */ s16 attack_timer;
/* 0x09A0 */ s8 field_0x9a0;
/* 0x09A1 */ s8 field_0x9a1;
/* 0x09A1 */ s8 look_timer;
/* 0x09A2 */ s8 field_0x9a2;
/* 0x09A3 */ s8 field_0x9a3;
/* 0x09A3 */ s8 arrow_flag;
/* 0x09A4 */ s8 field_0x9a4;
/* 0x09A5 */ u8 field_0x9a5;
/* 0x09A6 */ s16 field_0x9a6;
/* 0x09A6 */ s16 bow_shake_timer;
/* 0x09A8 */ s16 field_0x9a8;
/* 0x09AA */ u8 field_0x9aa;
/* 0x09AB */ s8 field_0x9ab;
/* 0x09AC */ s8 field_0x9ac;
/* 0x09AD */ s8 field_0x9ad;
/* 0x09B0 */ cXyz field_0x9b0;
/* 0x09BC */ s8 field_0x9bc;
/* 0x09BC */ s8 ride_mode;
/* 0x09BD */ s8 field_0x9bd;
/* 0x09BE */ s8 field_0x9be;
/* 0x09BE */ s8 boar_stand;
/* 0x09BF */ u8 field_0x9bf;
/* 0x09C0 */ f32 field_0x9c0;
/* 0x09C4 */ f32 field_0x9c4;
@@ -99,16 +99,16 @@ public:
/* 0x09CC */ s16 field_0x9cc;
/* 0x09CE */ s16 field_0x9ce;
/* 0x09D0 */ s16 field_0x9d0;
/* 0x09D4 */ cXyz field_0x9d4;
/* 0x09D4 */ cXyz eye;
/* 0x09E0 */ cXyz field_0x9e0; // unused, dbg offset 0xa18
/* 0x09EC */ f32 field_0x9ec;
/* 0x09EC */ f32 jump_z;
/* 0x09F0 */ f32 field_0x9f0;
/* 0x09F4 */ s16 field_0x9f4;
/* 0x09F6 */ s16 field_0x9f6;
/* 0x09F8 */ s8 field_0x9f8;
/* 0x09F8 */ s8 damage_flag;
/* 0x09FC */ cXyz field_0x9fc; // unused, dbg offset 0xa34
/* 0x0A08 */ u8 field_0xa08[0x0A0C - 0x0A08];
/* 0x0A0C */ csXyz field_0xa0c;
/* 0x0A0C */ csXyz jump_angle;
/* 0x0A12 */ csXyz field_0xa12;
/* 0x0A18 */ csXyz field_0xa18;
/* 0x0A1E */ s8 field_0xa1e;
@@ -139,37 +139,37 @@ public:
/* 0x0AF8 */ s16 field_0xaf8;
/* 0x0AFA */ s8 field_0xafa;
/* 0x0AFB */ s8 field_0xafb;
/* 0x0AFC */ dPath* mPath;
/* 0x0AFC */ dPath* path;
/* 0x0B00 */ s8 field_0xb00;
/* 0x0B01 */ s8 field_0xb01;
/* 0x0B04 */ dBgS_AcchCir mAcchCir;
/* 0x0B44 */ dBgS_ObjAcch mObjAcch;
/* 0x0B01 */ s8 path_dir;
/* 0x0B04 */ dBgS_AcchCir AcchCir;
/* 0x0B44 */ dBgS_ObjAcch ObjAcch;
/* 0x0D1C */ dCcD_Stts mStts;
/* 0x0D58 */ dCcD_Sph field_0xd58[3];
/* 0x1100 */ dCcD_Sph field_0x1100;
/* 0x1238 */ dCcU_AtInfo mAtInfo;
/* 0x125C */ u8 field_0x125c;
/* 0x0D58 */ dCcD_Sph cc_sph[3];
/* 0x1100 */ dCcD_Sph at_sph;
/* 0x1238 */ dCcU_AtInfo AtInfo;
/* 0x125C */ u8 hio_set;
/* 0x125D */ s8 field_0x125d;
/* 0x1260 */ u32 field_0x1260;
/* 0x1264 */ u32 field_0x1264;
/* 0x1268 */ u32 field_0x1268[3];
/* 0x1274 */ u32 field_0x1274[2];
/* 0x1268 */ u32 enemy_downWtrA[3];
/* 0x1274 */ u32 fire_eff[2];
/* 0x127C */ cXyz field_0x127c;
/* 0x1288 */ cXyz field_0x1288;
/* 0x1294 */ s8 field_0x1294;
/* 0x1295 */ s8 field_0x1295;
/* 0x1295 */ s8 one_hit_kill;
/* 0x1296 */ s8 field_0x1296;
/* 0x1297 */ s8 field_0x1297;
/* 0x1298 */ s8 field_0x1298;
/* 0x1299 */ u8 field_0x1299;
/* 0x129A */ s8 mBossMode; // 1: Eldin Field, 2 Eldin Bridge, 3 Lake Hylia Bridge, 4 ???
/* 0x129A */ s8 actor_set; // 1: Eldin Field, 2 Eldin Bridge, 3 Lake Hylia Bridge, 4 ???
/* 0x129B */ u8 field_0x129b;
/* 0x129C */ s8 field_0x129c;
/* 0x12A0 */ int field_0x12a0;
/* 0x12A4 */ s16 mDemoMode;
/* 0x12A6 */ s16 field_0x12a6;
/* 0x12A8 */ cXyz mDemoCamEye;
/* 0x12B4 */ cXyz mDemoCamCenter;
/* 0x12A0 */ int sw;
/* 0x12A4 */ s16 demo_mode;
/* 0x12A6 */ s16 demo_timer;
/* 0x12A8 */ cXyz demo_cam_eye;
/* 0x12B4 */ cXyz demo_cam_center;
/* 0x12C0 */ cXyz field_0x12c0;
/* 0x12CC */ cXyz field_0x12cc;
/* 0x12D8 */ cXyz field_0x12d8;
@@ -177,11 +177,11 @@ public:
/* 0x12F0 */ cXyz field_0x12f0;
/* 0x12FC */ u8 field_0x12fc[0x1300 - 0x12fc];
/* 0x1300 */ f32 field_0x1300;
/* 0x1304 */ u8 mBlureRate;
/* 0x1308 */ f32 mDemoCamFovy;
/* 0x1304 */ u8 blurRate;
/* 0x1308 */ f32 demo_cam_zoom;
/* 0x130C */ f32 field_0x130c;
/* 0x1310 */ u8 field_0x1310[0x131c - 0x1310];
/* 0x131C */ dMsgFlow_c mMsgFlow;
/* 0x131C */ dMsgFlow_c MsgFlow;
};
STATIC_ASSERT(sizeof(e_rd_class) == 0x1368);
+14 -14
View File
@@ -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);
+1 -1
View File
@@ -4,7 +4,7 @@
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "d/d_msg_flow.h"
#include <dolphin/types.h>
#include <types.h>
#include "SSystem/SComponent/c_phase.h"
#include "f_op/f_op_actor_mng.h"
+5 -187
View File
@@ -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
@@ -228,6 +44,8 @@ public:
static daGrass_c* m_myObj;
static dGrass_packet_c* m_grass;
static dFlower_packet_c* m_flower;
/* 0x568 */ u8 unk_0x568[0x570 - 0x568];
};
namespace daGrass_prm {
+1
View File
@@ -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;
+62 -48
View File
@@ -18,6 +18,20 @@
*/
class daKago_c : public fopAc_ac_c {
public:
enum daKago_Action_e {
ACTION_FLY_e,
ACTION_STAGGER_e,
ACTION_EVENT_e,
ACTION_PERCH_e,
ACTION_WAIT_e,
ACTION_ATTACK_e,
ACTION_EVENT2_e,
ACTION_PERCH2_e,
ACTION_LANDING_e,
ACTION_DEMO_FLY_e,
ACTION_DEMO_FLY2_e,
};
int getBckName(int);
void setBck(int, u8, f32, f32);
bool checkBck(int);
@@ -93,14 +107,14 @@ public:
void setEvent() {
mIsFlying = false;
mCurrentAction = 2;
field_0x744 = 0;
mAction = ACTION_EVENT_e;
mMode = 0;
}
void setEvent2() {
mIsFlying = false;
mCurrentAction = 6;
field_0x744 = 0;
mAction = ACTION_EVENT2_e;
mMode = 0;
}
void setKagoPath(u8 i_pathNo) {
@@ -110,36 +124,36 @@ public:
}
void onWaterFall() {
field_0x6ea = 1;
mIsWaterfall = TRUE;
}
bool isAttack() {
return field_0x6dd != 0;
return mIsAttack != 0;
}
MtxP getLegR3Mtx() { return mLegR3Mtx; }
MtxP getMidnaLocaterMtx() { return mpMorf->getModel()->getAnmMtx(4); }
MtxP getMidnaLocaterMtx() { return mAnm_p->getModel()->getAnmMtx(4); }
s8 getPathDir() { return mPathDir; }
u8 isFlying() { return mIsFlying; }
fopAc_ac_c* getLockActor() { return mpLockActor; }
void setLockActor(fopAc_ac_c* actor) { mpLockActor = actor; }
void setEatYm() { field_0x6d8 |= (u8) 4; }
MtxP getMouthMtx() { return mpMorf->getModel()->getAnmMtx(7); }
MtxP getMouthMtx() { return mAnm_p->getModel()->getAnmMtx(7); }
private:
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ mDoExt_McaMorfSO* mpMorf;
/* 0x570 */ mDoExt_McaMorfSO* mAnm_p;
/* 0x574 */ Z2CreatureEnemy mSound;
/* 0x618 */ fopAc_ac_c* mpLockActor;
/* 0x61C */ fpc_ProcID mBalloon2DId;
/* 0x620 */ Mtx mLegR3Mtx;
/* 0x650 */ cXyz field_0x650[3];
/* 0x650 */ cXyz mWallHitEffPos[3];
/* 0x674 */ cXyz field_0x674;
/* 0x680 */ cXyz field_0x680;
/* 0x68C */ cXyz field_0x68c;
/* 0x698 */ cXyz field_0x698;
/* 0x68C */ cXyz mDemoCamCenter;
/* 0x698 */ cXyz mDemoCamEye;
/* 0x6A4 */ cXyz field_0x6a4;
/* 0x6B0 */ cXyz field_0x6b0;
/* 0x6B0 */ cXyz mPrevCamEye;
/* 0x6BC */ s16 field_0x6bc;
/* 0x6BE */ csXyz field_0x6be;
/* 0x6C4 */ f32 field_0x6c4;
@@ -147,12 +161,12 @@ private:
/* 0x6CA */ s16 field_0x6ca;
/* 0x6CC */ f32 field_0x6cc;
/* 0x6D0 */ f32 field_0x6d0;
/* 0x6D4 */ f32 field_0x6d4;
/* 0x6D4 */ f32 mDemoCamFovy;
/* 0x6D8 */ u8 field_0x6d8;
/* 0x6D9 */ u8 field_0x6d9;
/* 0x6DA */ s16 field_0x6da;
/* 0x6DC */ u8 field_0x6dc;
/* 0x6DD */ u8 field_0x6dd;
/* 0x6DD */ u8 mIsAttack;
/* 0x6DE */ u8 field_0x6de;
/* 0x6DF */ u8 field_0x6df;
/* 0x6E0 */ u8 field_0x6e0;
@@ -162,18 +176,18 @@ private:
/* 0x6E4 */ u8 field_0x6e4;
/* 0x6E5 */ u8 field_0x6e5;
/* 0x6E6 */ u8 field_0x6e6;
/* 0x6E7 */ u8 field_0x6e7;
/* 0x6E7 */ u8 mType;
/* 0x6E8 */ u8 field_0x6e8;
/* 0x6E8 */ u8 field_0x6e9;
/* 0x6EA */ u8 field_0x6ea;
/* 0x6EB */ u8 field_0x6eb;
/* 0x6EA */ u8 mIsWaterfall;
/* 0x6EB */ u8 mBalloonMenuMode;
/* 0x6EC */ u8 field_0x6ec[0x6ed - 0x6ec];
/* 0x6ED */ u8 field_0x6ed;
/* 0x6F0 */ f32 field_0x6f0;
/* 0x6F4 */ f32 field_0x6f4;
/* 0x6F8 */ f32 field_0x6f8;
/* 0x6ED */ u8 unk_0x6ed;
/* 0x6F0 */ f32 mStickX;
/* 0x6F4 */ f32 mStickY;
/* 0x6F8 */ f32 mFlySpeed;
/* 0x6FC */ f32 field_0x6fc;
/* 0x700 */ f32 field_0x700;
/* 0x700 */ f32 mGroundFlyHeight;
/* 0x704 */ f32 mGroundHeight;
/* 0x708 */ f32 mRoofHeight;
/* 0x70C */ f32 field_0x70c;
@@ -181,32 +195,32 @@ private:
/* 0x712 */ s16 field_0x712;
/* 0x714 */ s16 field_0x714;
/* 0x716 */ s16 field_0x716;
/* 0x718 */ s16 field_0x718;
/* 0x71A */ s16 field_0x71a;
/* 0x71C */ s32 field_0x71c;
/* 0x720 */ s32 field_0x720;
/* 0x718 */ s16 mHeadRotZ;
/* 0x71A */ s16 mHeadRotY;
/* 0x71C */ int mWaterSplashTimer;
/* 0x720 */ int mWallHitInvulnTimer;
/* 0x724 */ u8 field_0x724[0x728 - 0x724];
/* 0x728 */ s32 field_0x728;
/* 0x72C */ s32 field_0x72c;
/* 0x730 */ s32 mDashCooldownTime;
/* 0x734 */ s32 mDashTime;
/* 0x738 */ s32 field_0x738;
/* 0x73C */ s32 field_0x73c;
/* 0x740 */ s32 mCurrentAction;
/* 0x744 */ s32 field_0x744;
/* 0x748 */ s32 field_0x748;
/* 0x74C */ s32 field_0x74c;
/* 0x750 */ s32 field_0x750;
/* 0x754 */ s32 field_0x754;
/* 0x758 */ s32 field_0x758;
/* 0x75C */ char* field_0x75c;
/* 0x760 */ char* field_0x760;
/* 0x764 */ s32 field_0x764;
/* 0x728 */ int field_0x728;
/* 0x72C */ int field_0x72c;
/* 0x730 */ int mDashCooldownTime;
/* 0x734 */ int mDashTime;
/* 0x738 */ int mGndSpecialCode;
/* 0x73C */ int mSceneType;
/* 0x740 */ int mAction;
/* 0x744 */ int mMode;
/* 0x748 */ int mDemoMode;
/* 0x74C */ int field_0x74c;
/* 0x750 */ int field_0x750;
/* 0x754 */ int field_0x754;
/* 0x758 */ int field_0x758;
/* 0x75C */ char* mArcName;
/* 0x760 */ char* mDemoName;
/* 0x764 */ u32 mShadowId;
/* 0x768 */ dPath* mpPath1;
/* 0x76C */ dPath* mpPath2;
/* 0x770 */ s8 mPathIdx;
/* 0x770 */ s8 mPathCurrentPointNo;
/* 0x771 */ s8 field_0x771;
/* 0x772 */ s8 mPathIdxOffset;
/* 0x772 */ s8 mPathStep;
/* 0x773 */ s8 mPathDir;
/* 0x774 */ u8 field_0x774[0x778 - 0x774];
/* 0x778 */ dBgS_AcchCir mAcchCir;
@@ -220,9 +234,9 @@ private:
/* 0xB38 */ u32 field_0xb38;
/* 0xB3C */ u32 field_0xb3c;
/* 0xB40 */ u32 field_0xb40;
/* 0xB44 */ u32 field_0xb44[3];
/* 0xB50 */ u32 field_0xb50;
/* 0xB54 */ u8 field_0xb54;
/* 0xB44 */ u32 mSibukiEmitterIDs[3];
/* 0xB50 */ u32 mDashSibukiEmitterID;
/* 0xB54 */ u8 mIsHioSet;
/* 0xB58 */ dMsgFlow_c mMsgFlow;
};
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_A_KYTAG12_H
#define D_A_KYTAG12_H
#include <dolphin/types.h>
#include <types.h>
#include "f_op/f_op_actor_mng.h"
/**
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_A_KYTAG13_H
#define D_A_KYTAG13_H
#include <dolphin/types.h>
#include <types.h>
#include "f_op/f_op_actor_mng.h"
/**
+7 -5
View File
@@ -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;
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_A_MOVIE_PLAYER_H
#define D_A_MOVIE_PLAYER_H
#include <dolphin/thp.h>
#include <thp.h>
#include "f_op/f_op_actor.h"
#include "d/d_drawlist.h"
+4 -3
View File
@@ -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) {
@@ -656,7 +657,7 @@ public:
int loadRes(s8 const*, char const**);
void deleteRes(s8 const*, char const**);
int execute();
int draw(BOOL, BOOL, f32, _GXColorS10*, f32, BOOL, BOOL, BOOL);
int draw(BOOL, BOOL, f32, GXColorS10*, f32, BOOL, BOOL, BOOL);
void setEnvTevColor();
void setRoomNo();
int checkEndAnm(f32);
+1 -1
View File
@@ -304,7 +304,7 @@ public:
initialize();
}
BOOL execute();
int draw(BOOL, BOOL, f32, _GXColorS10*, BOOL);
int draw(BOOL, BOOL, f32, GXColorS10*, BOOL);
static void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*,
dCcD_GObjInf*);
static void* srchAttnActor1(void*, void*);
+1
View File
@@ -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;
+1 -1
View File
@@ -5,7 +5,7 @@
#include "d/actor/d_a_tag_escape.h"
#include "d/d_npc_lib.h"
#include "d/d_path.h"
#include <dolphin/types.h>
#include <types.h>
enum {
MdlMANa_e = 0,
+1
View File
@@ -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
+1 -1
View File
@@ -60,7 +60,7 @@ public:
int Delete();
int Execute();
int Draw();
int draw(int, int, f32, _GXColorS10*, int);
int draw(int, int, f32, GXColorS10*, int);
int ctrlJoint(J3DJoint*, J3DModel*);
static int createHeapCallBack(fopAc_ac_c*);
static int ctrlJointCallBack(J3DJoint*, int);
+1 -1
View File
@@ -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;
+1
View File
@@ -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;
+1
View File
@@ -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;
+1
View File
@@ -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;
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_A_NPC_TOBY_H
#define D_A_NPC_TOBY_H
#include <dolphin/types.h>
#include <types.h>
#include "d/actor/d_a_npc.h"
struct daNpc_Toby_HIOParam {
+1 -1
View File
@@ -62,7 +62,7 @@ public:
int Delete();
int Execute();
int Draw();
int draw(BOOL, BOOL, f32, _GXColorS10*, BOOL);
int draw(BOOL, BOOL, f32, GXColorS10*, BOOL);
int ctrlJoint(J3DJoint*, J3DModel*);
static int createHeapCallBack(fopAc_ac_c*);
static int ctrlJointCallBack(J3DJoint*, int);
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_A_OBJ_AVALANCHE_H
#define D_A_OBJ_AVALANCHE_H
#include <dolphin/types.h>
#include <types.h>
#include "d/d_bg_s_movebg_actor.h"
#include "f_op/f_op_actor_mng.h"
+1 -1
View File
@@ -4,7 +4,7 @@
#include "SSystem/SComponent/c_phase.h"
#include "d/d_bg_s_acch.h"
#include "f_op/f_op_actor.h"
#include <dolphin/types.h>
#include <types.h>
class dBgW;
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_A_OBJ_BMWINDOW_H
#define D_A_OBJ_BMWINDOW_H
#include <dolphin/types.h>
#include <types.h>
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
-14
View File
@@ -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 */
+1 -1
View File
@@ -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
+1 -1
View File
@@ -2,7 +2,7 @@
#define D_A_OBJ_HATA_H
#include "SSystem/SComponent/c_phase.h"
#include <dolphin/types.h>
#include <types.h>
#include "f_op/f_op_actor.h"
/**
+30 -2
View File
@@ -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;
+1 -1
View File
@@ -47,7 +47,7 @@ public:
mpBrkAnm->entry(model->getModelData());
mpMorfSO->entryDL();
if (field_0x9c0 == 0) {
_GXTexObj* texObj = dDlst_shadowControl_c::getSimpleTex();
GXTexObj* texObj = dDlst_shadowControl_c::getSimpleTex();
dComIfGd_setSimpleShadow(&current.pos, mObjAcch.GetGroundH(), 15.0f, mObjAcch.m_gnd, 0, -0.6f, texObj);
}
}
-19
View File
@@ -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 -14
View File
@@ -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 */
+9 -10
View File
@@ -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];
};
+13 -13
View File
@@ -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
+5 -5
View File
@@ -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);
+4 -2
View File
@@ -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 -1
View File
@@ -5,7 +5,7 @@
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_cc_d.h"
#include "d/d_particle.h"
#include <dolphin/types.h>
#include <types.h>
#include "f_op/f_op_actor_mng.h"
/**
+17 -18
View File
@@ -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 */
-10
View File
@@ -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 */
+33 -31
View File
@@ -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
};
+9 -9
View File
@@ -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);
}
};
+1 -1
View File
@@ -5,7 +5,7 @@
#include "d/d_kankyo.h"
#include "f_op/f_op_actor_mng.h"
class dPath;
struct dPath;
/**
* @ingroup actors-unsorted
+1 -1
View File
@@ -1,6 +1,6 @@
#ifndef D_A_PATH_LINE_H
#define D_A_PATH_LINE_H
#include <dolphin/types.h>
#include <types.h>
#endif /* D_A_PATH_LINE_H */
+1 -1
View File
@@ -2,7 +2,7 @@
#define D_A_PERU_H
#include "d/actor/d_a_tag_evtarea.h"
#include <dolphin/types.h>
#include <types.h>
#include "d/actor/d_a_npc.h"
#include "SSystem/SComponent/c_counter.h"
+23 -23
View File
@@ -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;
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_A_PPOLAMP_H
#define D_A_PPOLAMP_H
#include <dolphin/types.h>
#include <types.h>
#include "f_op/f_op_actor_mng.h"
/**
+1 -1
View File
@@ -35,7 +35,7 @@ public:
void setWallHit(s16, u32);
void setAnm();
int setNextPathNum();
Vec* getPathNextPos();
BE(Vec)* getPathNextPos();
int checkLineWallHit(cXyz*, cXyz*);
int checkPathMove();
void setSpreadEffect();
+5 -3
View File
@@ -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) {
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_A_TAG_KMSG_H
#define D_A_TAG_KMSG_H
#include <dolphin/types.h>
#include <types.h>
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_msg_flow.h"
+108
View File
@@ -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 */
+113
View File
@@ -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
View File
@@ -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
+7 -7
View File
@@ -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
View File
@@ -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];
+6 -6
View File
@@ -1,14 +1,14 @@
#ifndef D_BG_D_BG_PC_H
#define D_BG_D_BG_PC_H
#include <dolphin/types.h>
#include <types.h>
struct sBgPc {
/* 0x00 */ u32 code0;
/* 0x04 */ u32 code1;
/* 0x08 */ u32 code2;
/* 0x0C */ u32 code3;
/* 0x10 */ u32 code4;
/* 0x00 */ BE(u32) code0;
/* 0x04 */ BE(u32) code1;
/* 0x08 */ BE(u32) code2;
/* 0x0C */ BE(u32) code3;
/* 0x10 */ BE(u32) code4;
}; // Size: 0x14
#define BGPC_GET_BITS(code, shift, bits) \
+3 -3
View File
@@ -4,9 +4,9 @@
#include "d/d_bg_pc.h"
struct sBgPlc {
/* 0x0 */ u32 magic; // "SPLC"
/* 0x4 */ u16 m_code_size; // Should normally always be 0x14
/* 0x6 */ u16 m_num; // Number of sBgPc entries to follow
/* 0x0 */ BE(u32) magic; // "SPLC"
/* 0x4 */ BE(u16) m_code_size; // Should normally always be 0x14
/* 0x6 */ BE(u16) m_num; // Number of sBgPc entries to follow
/* 0x8 */ sBgPc m_code[0]; // m_num size array
};
+3 -1
View File
@@ -3,7 +3,7 @@
#include "d/d_bg_w_base.h"
#include "JSystem/JHostIO/JORReflexible.h"
#include <dolphin/os.h>
#include <os.h>
#include "global.h"
class dBgW;
@@ -195,6 +195,8 @@ public:
void ChkDeleteActorRegist(fopAc_ac_c*);
void Draw();
#if DEBUG
/* 0x1404 */ u8 field_0x1404[0x1408 - 0x1404];
/* 0x1408 */ dBgS_HIO m_hio;
+7 -7
View File
@@ -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 {
+43 -40
View File
@@ -4,8 +4,11 @@
#include "SSystem/SComponent/c_m3d_g_aab.h"
#include "SSystem/SComponent/c_sxyz.h"
#include "d/d_bg_w_base.h"
#include <dolphin/mtx.h>
#include <dolphin/types.h>
#include <mtx.h>
#include <types.h>
#include "dusk/offset_ptr.h"
#include "dusk/endian.h"
#include "dusk/endian_ssystem.h"
class cBgS_GrpPassChk;
class cBgS_PolyPassChk;
@@ -54,58 +57,58 @@ struct cBgW_BlkElm {
}; // Size: 0x6
struct cBgD_Tri_t {
/* 0x0 */ u16 m_vtx_idx0;
/* 0x2 */ u16 m_vtx_idx1;
/* 0x4 */ u16 m_vtx_idx2;
/* 0x6 */ u16 m_id;
/* 0x8 */ u16 m_grp;
/* 0x0 */ BE(u16) m_vtx_idx0;
/* 0x2 */ BE(u16) m_vtx_idx1;
/* 0x4 */ BE(u16) m_vtx_idx2;
/* 0x6 */ BE(u16) m_id;
/* 0x8 */ BE(u16) m_grp;
}; // Size: 0xA
struct cBgD_Ti_t {
/* 0x0 */ u32 m_info0;
/* 0x4 */ u32 m_info1;
/* 0x8 */ u32 m_info2;
/* 0xC */ u32 m_passFlag;
/* 0x0 */ BE(u32) m_info0;
/* 0x4 */ BE(u32) m_info1;
/* 0x8 */ BE(u32) m_info2;
/* 0xC */ BE(u32) m_passFlag;
};
struct cBgD_Blk_t {
/* 0x0 */ u16 field_0x0;
/* 0x0 */ BE(u16) field_0x0;
};
struct cBgD_Tree_t {
/* 0x0 */ u16 m_flag;
/* 0x2 */ u16 m_parent_id;
/* 0x4 */ u16 m_id[8];
/* 0x0 */ BE(u16) m_flag;
/* 0x2 */ BE(u16) m_parent_id;
/* 0x4 */ BE(u16) m_id[8];
}; // Size: 0x14
struct cBgD_Grp_t {
/* 0x00 */ char* m_name;
/* 0x04 */ cXyz m_scale;
/* 0x10 */ csXyz m_rotation;
/* 0x18 */ cXyz m_translation;
/* 0x24 */ u16 m_parent;
/* 0x26 */ u16 m_next_sibling;
/* 0x28 */ u16 m_first_child;
/* 0x2A */ u16 m_room_id;
/* 0x2C */ u16 m_first_vtx_idx;
/* 0x2E */ u16 m_tree_idx;
/* 0x30 */ u32 m_info;
/* 0x00 */ OFFSET_PTR(char) m_name;
/* 0x04 */ BE(cXyz) m_scale;
/* 0x10 */ BE(csXyz) m_rotation;
/* 0x18 */ BE(cXyz) m_translation;
/* 0x24 */ BE(u16) m_parent;
/* 0x26 */ BE(u16) m_next_sibling;
/* 0x28 */ BE(u16) m_first_child;
/* 0x2A */ BE(u16) m_room_id;
/* 0x2C */ BE(u16) m_first_vtx_idx;
/* 0x2E */ BE(u16) m_tree_idx;
/* 0x30 */ BE(u32) m_info;
}; // Size: 0x34
struct cBgD_t {
/* 0x00 */ int m_v_num; // vertex num
/* 0x04 */ cBgD_Vtx_t* m_v_tbl; // vertex table
/* 0x08 */ int m_t_num; // triangle num
/* 0x0C */ cBgD_Tri_t* m_t_tbl; // triangle table
/* 0x10 */ int m_b_num;
/* 0x14 */ cBgD_Blk_t* m_b_tbl;
/* 0x18 */ int m_tree_num;
/* 0x1C */ cBgD_Tree_t* m_tree_tbl;
/* 0x20 */ int m_g_num;
/* 0x24 */ cBgD_Grp_t* m_g_tbl;
/* 0x28 */ int m_ti_num;
/* 0x2C */ cBgD_Ti_t* m_ti_tbl;
/* 0x30 */ int mFlags;
/* 0x00 */ BE(int) m_v_num; // vertex num
/* 0x04 */ OFFSET_PTR(cBgD_Vtx_t) m_v_tbl; // vertex table
/* 0x08 */ BE(int) m_t_num; // triangle num
/* 0x0C */ OFFSET_PTR(cBgD_Tri_t) m_t_tbl; // triangle table
/* 0x10 */ BE(int) m_b_num;
/* 0x14 */ OFFSET_PTR(cBgD_Blk_t) m_b_tbl;
/* 0x18 */ BE(int) m_tree_num;
/* 0x1C */ OFFSET_PTR(cBgD_Tree_t) m_tree_tbl;
/* 0x20 */ BE(int) m_g_num;
/* 0x24 */ OFFSET_PTR(cBgD_Grp_t) m_g_tbl;
/* 0x28 */ BE(int) m_ti_num;
/* 0x2C */ OFFSET_PTR(cBgD_Ti_t) m_ti_tbl;
/* 0x30 */ BE(int) mFlags;
};
class cBgW : public dBgW_Base {
@@ -220,7 +223,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; }
+1 -1
View File
@@ -4,7 +4,7 @@
#include "SSystem/SComponent/c_bg_s_poly_info.h"
#include "SSystem/SComponent/c_bg_w.h"
#include "SSystem/SComponent/c_m3d_g_pla.h"
#include <dolphin/gx.h>
#include <gx.h>
#include "f_pc/f_pc_base.h"
class cBgS_GndChk;
+13 -12
View File
@@ -6,27 +6,28 @@
#include "d/d_bg_plc.h"
#include "d/d_bg_s_sph_chk.h"
#include "d/d_bg_w_base.h"
#include "dusk/offset_ptr.h"
class cBgS_GrpPassChk;
class cBgS_PolyPassChk;
struct dBgPc;
class dBgPc;
struct dBgS_CaptPoly;
struct KC_PrismData {
/* 0x0 */ f32 height;
/* 0x4 */ u16 pos_i;
/* 0x6 */ u16 fnrm_i;
/* 0x8 */ u16 enrm1_i;
/* 0xA */ u16 enrm2_i;
/* 0xC */ u16 enrm3_i;
/* 0xE */ u16 attribute;
/* 0x0 */ BE(f32) height;
/* 0x4 */ BE(u16) pos_i;
/* 0x6 */ BE(u16) fnrm_i;
/* 0x8 */ BE(u16) enrm1_i;
/* 0xA */ BE(u16) enrm2_i;
/* 0xC */ BE(u16) enrm3_i;
/* 0xE */ BE(u16) attribute;
}; // Size: 0x10
struct KC_Header {
/* 0x00 */ Vec* m_pos_data;
/* 0x04 */ Vec* m_nrm_data;
/* 0x08 */ KC_PrismData* m_prism_data;
/* 0x0C */ KC_PrismData* m_block_data;
/* 0x00 */ OFFSET_PTR(Vec) m_pos_data;
/* 0x04 */ OFFSET_PTR(Vec) m_nrm_data;
/* 0x08 */ OFFSET_PTR(KC_PrismData) m_prism_data;
/* 0x0C */ OFFSET_PTR(BE(u32)) m_block_data;
/* 0x10 */ f32 m_prism_thickness;
/* 0x14 */ Vec m_area_min_pos;
/* 0x20 */ u32 m_area_x_width_mask;
+1 -2
View File
@@ -1367,8 +1367,7 @@ public:
/* 0x970 */ dCamSetup_c mCamSetup;
/* 0xAEC */ dCamParam_c mCamParam;
/* 0xB0C */ u8 field_0xb0c;
/* 0xB0D */ u8 field_0xb0d[0xd58 - 0xb0d];
}; // Size: 0xD58
}; // Size: 0xB10
dCamera_c* dCam_getBody();
camera_class* dCam_getCamera();
+4
View File
@@ -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;
+1 -1
View File
@@ -2,7 +2,7 @@
#define D_CC_D_CC_UTY_H
#include "SSystem/SComponent/c_sxyz.h"
#include <dolphin/types.h>
#include <types.h>
class cCcD_Obj;
class fopAc_ac_c;
+3117 -2988
View File
File diff suppressed because it is too large Load Diff
+26
View File
@@ -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
View File
@@ -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 = JKR_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 */
+1
View File
@@ -3,6 +3,7 @@
#include "d/d_camera.h"
#include "JSystem/JHostIO/JORFile.h"
#include <cstring>
enum dDbgCam_KeyAction {
/* | */ dDbgCam_KeyAction_FIXEDFRM,
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_DEBUG_VIEWER_H
#define D_DEBUG_VIEWER_H
#include <dolphin/gx.h>
#include <gx.h>
#include "SSystem/SComponent/c_xyz.h"
#include "SSystem/SComponent/c_sxyz.h"
+119 -107
View File
@@ -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,20 @@ public:
~dDemo_object_c();
JStage::TObject* appendActor(fopAc_ac_c*);
dDemo_actor_c* getActor(u8);
JStage::TObject* createCamera();
dDemo_camera_c* createCamera();
#if DEBUG
dDemo_camera_c* createEditorCamera();
#endif
dDemo_camera_c* getActiveCamera();
JStage::TObject* createAmbient();
JStage::TObject* appendLight();
JStage::TObject* createFog();
void remove();
#if DEBUG
void removeEditorCamera();
#endif
dDemo_camera_c* getCamera() { return mpCamera; }
/* 0x00 */ u8 mActorNum;
/* 0x01 */ u8 mLightNum;
@@ -41,6 +49,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 +96,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 +124,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 +178,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 +191,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 +252,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 +351,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,13 +384,14 @@ 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 dDemo_system_c* getSystem() { return m_system; }
static void setBranchNum(u16 num) {
m_branchNum = num;
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_D_DOOR_PARAM2_H
#define D_D_DOOR_PARAM2_H
#include <dolphin/types.h>
#include <types.h>
class fopAc_ac_c;
+16 -17
View File
@@ -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 {
@@ -96,7 +95,7 @@ public:
class dDlst_effectLine_c : public dDlst_base_c {
public:
virtual void draw();
void update(cXyz&, _GXColor&, u16, u16, u16, u16, f32, f32, f32, f32);
void update(cXyz&, GXColor&, u16, u16, u16, u16, f32, f32, f32, f32);
f32 getRndValue(f32 param_0, f32 param_1) { return mRnd.getValue(param_0, param_1); }
f32 getRndFX(f32 param_0) { return mRnd.getFX(param_0); }
@@ -200,11 +199,11 @@ public:
class dDlst_shadowSimple_c {
public:
void draw();
void set(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*);
void set(cXyz*, f32, f32, cXyz*, s16, f32, GXTexObj*);
dDlst_shadowSimple_c();
/* 0x00 */ u8 mAlpha;
/* 0x04 */ _GXTexObj* mpTexObj;
/* 0x04 */ GXTexObj* mpTexObj;
/* 0x08 */ Mtx mVolumeMtx;
/* 0x38 */ Mtx mMtx;
}; // Size: 0x68
@@ -290,7 +289,7 @@ public:
void draw(f32 (*)[4]);
int setReal(u32, s8, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*);
bool addReal(u32, J3DModel*);
int setSimple(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*);
int setSimple(cXyz*, f32, f32, cXyz*, s16, f32, GXTexObj*);
static void setSimpleTex(ResTIMG const*);
static GXTexObj* getSimpleTex() { return &mSimpleTexObj; }
@@ -306,7 +305,7 @@ private:
/* 0x0000C */ dDlst_shadowSimple_c mSimple[128];
/* 0x0340C */ int mNextID;
/* 0x03410 */ dDlst_shadowReal_c mReal[8];
/* 0x15EB0 */ _GXTexObj field_0x15eb0[2];
/* 0x15EB0 */ GXTexObj field_0x15eb0[2];
/* 0x15EF0 */ void* field_0x15ef0[2];
};
@@ -443,7 +442,7 @@ public:
}
int setSimpleShadow(cXyz* param_0, f32 param_1, f32 param_2, cXyz* param_3, s16 param_4,
f32 param_5, _GXTexObj* param_6) {
f32 param_5, GXTexObj* param_6) {
return mShadowControl.setSimple(param_0, param_1, param_2, param_3, param_4, param_5,
param_6);
}
+33 -44
View File
@@ -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];
+57 -56
View File
@@ -3,24 +3,25 @@
#include "global.h"
#include "f_pc/f_pc_base.h"
#include "dusk/endian.h"
struct msg_class;
struct event_binary_data_header {
/* 0x00 */ u32 eventTop; // offset to Event chunk
/* 0x04 */ s32 eventNum;
/* 0x08 */ u32 staffTop; // offset to Staff chunk
/* 0x0C */ s32 staffNum;
/* 0x10 */ u32 cutTop; // offset to Cut chunk
/* 0x14 */ s32 cutNum;
/* 0x18 */ u32 dataTop; // offset to Data chunk
/* 0x1C */ s32 dataNum;
/* 0x20 */ u32 fDataTop; // offset to FData chunk
/* 0x24 */ s32 fDataNum;
/* 0x28 */ u32 iDataTop; // offset to IData chunk
/* 0x2C */ s32 iDataNum;
/* 0x30 */ u32 sDataTop; // offset to SData chunk
/* 0x34 */ s32 sDataNum;
/* 0x00 */ BE(u32) eventTop; // offset to Event chunk
/* 0x04 */ BE(s32) eventNum;
/* 0x08 */ BE(u32) staffTop; // offset to Staff chunk
/* 0x0C */ BE(s32) staffNum;
/* 0x10 */ BE(u32) cutTop; // offset to Cut chunk
/* 0x14 */ BE(s32) cutNum;
/* 0x18 */ BE(u32) dataTop; // offset to Data chunk
/* 0x1C */ BE(s32) dataNum;
/* 0x20 */ BE(u32) fDataTop; // offset to FData chunk
/* 0x24 */ BE(s32) fDataNum;
/* 0x28 */ BE(u32) iDataTop; // offset to IData chunk
/* 0x2C */ BE(s32) iDataNum;
/* 0x30 */ BE(u32) sDataTop; // offset to SData chunk
/* 0x34 */ BE(s32) sDataNum;
/* 0x38 */ u8 unk[8];
}; // Size: 0x40
@@ -45,11 +46,11 @@ public:
char* getName() { return mName; }
/* 0x00 */ char mName[32];
/* 0x20 */ u32 mIndex;
/* 0x24 */ int mType;
/* 0x28 */ int mDataIndex;
/* 0x2C */ int mNumber;
/* 0x30 */ int mNext;
/* 0x20 */ BE(u32) mIndex;
/* 0x24 */ BE(int) mType;
/* 0x28 */ BE(int) mDataIndex;
/* 0x2C */ BE(int) mNumber;
/* 0x30 */ BE(int) mNext;
/* 0x34 */ u8 field_0x34[12];
}; // Size: 0x40
@@ -79,12 +80,12 @@ public:
u32 getTagId() { return mTagID; }
/* 0x00 */ char mName[32];
/* 0x20 */ u32 mTagID;
/* 0x24 */ u32 mIndex;
/* 0x28 */ int mFlags[3];
/* 0x34 */ u32 mFlagId;
/* 0x38 */ int mDataTop;
/* 0x3C */ int mNext;
/* 0x20 */ BE(u32) mTagID;
/* 0x24 */ BE(u32) mIndex;
/* 0x28 */ BE(int) mFlags[3];
/* 0x34 */ BE(u32) mFlagId;
/* 0x38 */ BE(int) mDataTop;
/* 0x3C */ BE(int) mNext;
/* 0x40 */ u8 field_0x40[0x10];
}; // Size: 0x50
@@ -136,26 +137,26 @@ public:
};
struct MessageData {
s16 unk;
BE(s16) unk;
};
struct SoundData {
s16 unk;
s16 timer;
BE(s16) unk;
BE(s16) timer;
};
struct TimerKeeperData {
s32 timer;
BE(s32) timer;
};
struct DirectorData {
s16 unk;
s16 unk2;
BE(s16) unk;
BE(s16) unk2;
};
struct EffectData {
u8 pad[8];
s32 unk;
BE(s32) unk;
};
void specialProc_WaitStart(int index);
@@ -180,16 +181,16 @@ public:
// private:
/* 0x00 */ char mName[8];
/* 0x08 */ u8 mWork[0x18];
/* 0x20 */ s32 mTagID;
/* 0x24 */ u32 mIndex;
/* 0x28 */ u32 mFlagID;
/* 0x2C */ int mType;
/* 0x30 */ int mStartCut;
/* 0x34 */ s16 field_0x34;
/* 0x36 */ s16 mWaitTimer;
/* 0x38 */ int mCurrentCut;
/* 0x3C */ s32 field_0x3c;
/* 0x08 */ u8 mWork[0x18]; // PROBLEM: this buffer is now too small for StaffWork to fit in
/* 0x20 */ BE(s32) mTagID;
/* 0x24 */ BE(u32) mIndex;
/* 0x28 */ BE(u32) mFlagID;
/* 0x2C */ BE(int) mType;
/* 0x30 */ BE(int) mStartCut;
/* 0x34 */ BE(s16) field_0x34;
/* 0x36 */ BE(s16) mWaitTimer;
/* 0x38 */ BE(int) mCurrentCut;
/* 0x3C */ BE(s32) field_0x3c;
/* 0x40 */ bool field_0x40;
/* 0x41 */ bool field_0x41;
/* 0x42 */ u8 mData[0x50 - 0x42];
@@ -223,21 +224,21 @@ public:
int getPriority() { return mPriority; }
/* 0x00 */ char mName[32];
/* 0x20 */ u32 mIndex;
/* 0x24 */ int field_0x24;
/* 0x28 */ int mPriority;
/* 0x2C */ int mStaff[20];
/* 0x7C */ int mNStaff;
/* 0x80 */ int field_0x80;
/* 0x84 */ int field_0x84;
/* 0x88 */ int mFlags[3];
/* 0x20 */ BE(u32) mIndex;
/* 0x24 */ BE(int) field_0x24;
/* 0x28 */ BE(int) mPriority;
/* 0x2C */ BE(int) mStaff[20];
/* 0x7C */ BE(int) mNStaff;
/* 0x80 */ BE(int) field_0x80;
/* 0x84 */ BE(int) field_0x84;
/* 0x88 */ BE(int) mFlags[3];
/* 0x94 */ bool mPlaySound;
/* 0x96 */ s16 field_0x96;
/* 0x98 */ f32 field_0x98;
/* 0x9C */ f32 field_0x9c;
/* 0xA0 */ f32 field_0xa0;
/* 0xA4 */ int mEventState;
/* 0xA8 */ int field_0xa8;
/* 0x96 */ BE(s16) field_0x96;
/* 0x98 */ BE(f32) field_0x98;
/* 0x9C */ BE(f32) field_0x9c;
/* 0xA0 */ BE(f32) field_0xa0;
/* 0xA4 */ BE(int) mEventState;
/* 0xA8 */ BE(int) field_0xa8;
/* 0xAC */ u8 field_0xac[4];
}; // Size: 0xB0
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_EVENT_D_EVENT_LIB_H
#define D_EVENT_D_EVENT_LIB_H
#include <dolphin/types.h>
#include <types.h>
class fopAc_ac_c;
+6 -8
View File
@@ -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();
+5 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_D_EYE_HL_H
#define D_D_EYE_HL_H
#include <dolphin/types.h>
#include <types.h>
class J3DModelData;
struct ResTIMG;
@@ -13,6 +13,10 @@ public:
static void entry(dEyeHL_c*);
static void remove(dEyeHL_c*);
static void create() {
JUT_ASSERT(51, m_obj == NULL);
}
static dEyeHL_c* m_obj;
};
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_D_ITEM_H
#define D_D_ITEM_H
#include <dolphin/types.h>
#include <types.h>
class dEnemyItem_c {
public:
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_D_ITEM_DATA_H
#define D_D_ITEM_DATA_H
#include <dolphin/types.h>
#include <types.h>
struct dItem_itemInfo {
/* 0x0 */ u8 mShadowSize;
+25 -1
View File
@@ -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 -3
View File
@@ -1,7 +1,7 @@
#ifndef D_JPREVIEWER_H
#define D_JPREVIEWER_H
#include <dolphin/mtx.h>
#include <mtx.h>
#include "JSystem/JStudio/JStudio_JPreviewer/control.h"
namespace JStudio {
@@ -26,8 +26,8 @@ public:
void show3D(Mtx);
void show2D();
void create(JStudio::TControl* pControl, const JUTGamePad& pad);
void remove();
static void create(JStudio::TControl* pControl, const JUTGamePad& pad);
static void remove();
void update();
static dJprev_c* get() { return m_myObj; }
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef D_KANKYO_D_KANKYO_DATA_H
#define D_KANKYO_D_KANKYO_DATA_H
#include <dolphin/types.h>
#include <types.h>
struct color_RGB_class {
/* 0x0 */ u8 r;
+4 -5
View File
@@ -1,20 +1,19 @@
#ifndef D_KANKYO_D_KANKYO_RAIN_H
#define D_KANKYO_D_KANKYO_RAIN_H
#include <dolphin/mtx.h>
#include <mtx.h>
struct cXyz;
struct _GXColor;
void dKyr_drawSun(Mtx param_0, cXyz* param_1, _GXColor& param_2, u8** param_3);
void dKyr_drawLenzflare(Mtx param_0, cXyz* param_1, _GXColor& param_2, u8** param_3);
void dKyr_drawSun(Mtx param_0, cXyz* param_1, GXColor& param_2, u8** param_3);
void dKyr_drawLenzflare(Mtx param_0, cXyz* param_1, GXColor& param_2, u8** param_3);
void dKyr_drawSibuki(Mtx param_0, u8** param_1);
void dKyr_drawRain(Mtx param_0, u8** param_1);
void dKyr_drawSnow(Mtx param_0, u8** param_1);
void dKyr_drawStar(Mtx param_0, u8** param_1);
void drawCloudShadow(Mtx param_0, u8** param_1);
void dKyr_drawHousi(Mtx param_0, u8** param_1);
void drawVrkumo(Mtx param_0, _GXColor& param_1, u8** param_2);
void drawVrkumo(Mtx param_0, GXColor& param_1, u8** param_2);
void dKyr_odour_draw(Mtx param_0, u8** param_1);
void dKyr_mud_draw(Mtx param_0, u8** param_1);
void dKyr_evil_draw(Mtx param_0, u8** param_1);
+1 -1
View File
@@ -3,7 +3,7 @@
#include "JSystem/J3DGraphBase/J3DTevs.h"
#include "SSystem/SComponent/c_xyz.h"
#include <dolphin/types.h>
#include <types.h>
class dKy_tevstr_c {
public:
+2 -2
View File
@@ -2,8 +2,8 @@
#define D_D_LIB_H
#include "SSystem/SComponent/c_xyz.h"
#include <dolphin/mtx.h>
#include <dolphin/os.h>
#include <mtx.h>
#include <os.h>
class fopAc_ac_c;
+2 -1
View File
@@ -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;
@@ -169,7 +170,7 @@ public:
virtual int getRoomNoSingle();
virtual bool isDrawRoom(int, int) const;
virtual bool isDrawRoomIcon(int, int) const;
virtual const Vec* getIconPosition(dTres_c::typeGroupData_c*) const;
virtual const BE(Vec)* getIconPosition(dTres_c::typeGroupData_c*) const;
virtual dTres_c::typeGroupData_c* getFirstData(u8);
virtual dTres_c::typeGroupData_c* getNextData(dTres_c::typeGroupData_c*);
virtual void setAmapPaletteColor(int, u8, u8, u8, u8);
+8 -8
View File
@@ -9,7 +9,7 @@ struct dMpath_RGB5A3_s {
};
namespace dMpath_ColorCnv_n {
void convertRGB5A3_To_GXColor(_GXColor&, const dMpath_RGB5A3_s&);
void convertRGB5A3_To_GXColor(GXColor&, const dMpath_RGB5A3_s&);
}
struct dMpath_RGB5A3_palDt_s {
@@ -115,13 +115,13 @@ public:
/* 0x01 */ u8 field_0x1;
/* 0x02 */ u8 mDataNum;
/* 0x03 */ u8 field_0x3;
/* 0x04 */ u16* mpData;
/* 0x04 */ OFFSET_PTR(BE(u16)) mpData;
}; // Size: 0x8
struct poly_class {
/* 0x00 */ u8 field_0x0;
/* 0x01 */ u8 mDataNum;
/* 0x04 */ u16* mpData;
/* 0x04 */ OFFSET_PTR(BE(u16)) mpData;
}; // Size: 0x8
struct group_class {
@@ -130,21 +130,21 @@ public:
/* 0x02 */ u8 mLineNum;
/* 0x03 */ u8 field_0x3;
/* 0x04 */ u8 mPolyNum;
/* 0x08 */ dDrawPath_c::line_class* mpLine;
/* 0x08 */ OFFSET_PTR(dDrawPath_c::line_class) mpLine;
/* 0x0C */ u8 field_0xc[4];
/* 0x10 */ dDrawPath_c::poly_class* mpPoly;
/* 0x10 */ OFFSET_PTR(dDrawPath_c::poly_class) mpPoly;
}; // Size: 0x14
struct floor_class {
/* 0x0 */ s8 mFloorNo;
/* 0x1 */ u8 mGroupNum;
/* 0x4 */ dDrawPath_c::group_class* mpGroup;
/* 0x4 */ OFFSET_PTR(dDrawPath_c::group_class) mpGroup;
}; // Size: 0x8
struct room_class {
/* 0x0 */ u8 mFloorNum;
/* 0x4 */ dDrawPath_c::floor_class* mpFloor;
/* 0x8 */ f32* mpFloatData; // might be Vec or cXyz instead
/* 0x4 */ OFFSET_PTR(dDrawPath_c::floor_class) mpFloor;
/* 0x8 */ OFFSET_PTR(BE(f32)) mpFloatData; // might be Vec or cXyz instead
};
struct layer_data {
+5 -5
View File
@@ -50,9 +50,9 @@ struct dMapInfo_n {
static bool chkGetCompass();
static bool chkGetMap();
static bool isVisitedRoom(int);
static void correctionOriginPos(s8, Vec*);
static void offsetPlus(dStage_FileList2_dt_c const*, Vec*);
static void rotAngle(dStage_FileList2_dt_c const*, Vec*);
static void correctionOriginPos(s8, BE(Vec)*);
static void offsetPlus(dStage_FileList2_dt_c const*, BE(Vec)*);
static void rotAngle(dStage_FileList2_dt_c const*, BE(Vec)*);
static Vec getMapPlayerPos();
static s16 getMapPlayerAngleY();
static const dTres_c::typeGroupData_c* getConstRestartIconPointer();
@@ -127,7 +127,7 @@ public:
virtual int getNextDrawLayerNo(int);
virtual bool isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool,
Vec const*) const;
BE(Vec) const*) const;
virtual int getIconGroupNumber(u8) const;
virtual bool hasMap() const = 0;
virtual bool isRendAllRoom() const = 0;
@@ -177,7 +177,7 @@ public:
virtual ~renderingPlusDoorAndCursor_c() {}
virtual void afterDrawPath();
virtual f32 getIconSize(u8) const = 0;
virtual const Vec* getIconPosition(dTres_c::typeGroupData_c*) const;
virtual const BE(Vec)* getIconPosition(dTres_c::typeGroupData_c*) const;
virtual dTres_c::typeGroupData_c* getFirstData(u8);
virtual dTres_c::typeGroupData_c* getNextData(dTres_c::typeGroupData_c*);
virtual f32 getPlayerCursorSize() = 0;
+1 -1
View File
@@ -5,7 +5,7 @@
#include "d/d_msg_flow.h"
#include "d/d_menu_map_common.h"
#include "d/d_map_path_dmap.h"
#include <dolphin/types.h>
#include <types.h>
class CPaneMgr;
struct CSTControl;

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