mirror of
https://github.com/zeldaret/tp
synced 2026-05-22 22:44:28 -04:00
d_com_static debug (#3082)
This commit is contained in:
@@ -28203,9 +28203,9 @@ g_dComIfAc_gameInfo = .sbss:0x8053A9C8; // type:object size:0x8 scope:global ali
|
||||
g_dComIfGoat_gameInfo = .sbss:0x8053A9D0; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
m_count__9daArrow_c = .sbss:0x8053A9D8; // type:object size:0x2 scope:global align:2
|
||||
mSetTop__7daSus_c = .sbss:0x8053A9DA; // type:object size:0x2 scope:global align:2 data:2byte
|
||||
lbl_8053A9DC = .sbss:0x8053A9DC; // type:object size:0x1 data:byte
|
||||
lbl_8053A9DD = .sbss:0x8053A9DD; // type:object size:0x1 data:byte
|
||||
lbl_8053A9DE = .sbss:0x8053A9DE; // type:object size:0x1 data:byte
|
||||
m_flag__8daYkgr_c = .sbss:0x8053A9DC; // type:object size:0x1 data:byte
|
||||
m_alpha_flag__8daYkgr_c = .sbss:0x8053A9DD; // type:object size:0x1 data:byte
|
||||
m_alpha__8daYkgr_c = .sbss:0x8053A9DE; // type:object size:0x1 data:byte
|
||||
m_aim_rate__8daYkgr_c = .sbss:0x8053A9E0; // type:object size:0x4 scope:global align:4
|
||||
m_path__8daYkgr_c = .sbss:0x8053A9E4; // type:object size:0x4 scope:global align:4
|
||||
m_emitter__8daYkgr_c = .sbss:0x8053A9E8; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
@@ -28217,10 +28217,10 @@ m_grass__9daGrass_c = .sbss:0x8053AA00; // type:object size:0x4 scope:global ali
|
||||
m_flower__9daGrass_c = .sbss:0x8053AA04; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
m_myObj__6daMP_c = .sbss:0x8053AA08; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
mTagMagne__12daTagMagne_c = .sbss:0x8053AA0C; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
lbl_8053AA10 = .sbss:0x8053AA10; // type:object size:0x1 data:byte
|
||||
lbl_8053AA11 = .sbss:0x8053AA11; // type:object size:0x1 data:byte
|
||||
lbl_8053AA12 = .sbss:0x8053AA12; // type:object size:0x5
|
||||
lbl_8053AA17 = .sbss:0x8053AA17; // type:object size:0x9
|
||||
mPlayerNo__11daTagMist_c = .sbss:0x8053AA10; // type:object size:0x1 data:byte
|
||||
mSaveFlag__12daObjCarry_c = .sbss:0x8053AA11; // type:object size:0x1 data:byte
|
||||
mSttsFlag__12daObjCarry_c = .sbss:0x8053AA12; // type:object size:0x5
|
||||
mRoomNo__12daObjCarry_c = .sbss:0x8053AA17; // type:object size:0x5
|
||||
m_diffTime__11dLib_time_c = .sbss:0x8053AA20; // type:object size:0x8 scope:global align:4 data:4byte
|
||||
m_stopTime__11dLib_time_c = .sbss:0x8053AA28; // type:object size:0x8 scope:global align:4 data:4byte
|
||||
lbl_8053AA30 = .sbss:0x8053AA30; // type:object size:0x8 data:byte
|
||||
|
||||
@@ -27728,9 +27728,9 @@ g_dComIfAc_gameInfo = .sbss:0x805209D0; // type:object size:0x8 scope:global ali
|
||||
g_dComIfGoat_gameInfo = .sbss:0x805209D8; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
m_count__9daArrow_c = .sbss:0x805209E0; // type:object size:0x2 scope:global align:4
|
||||
mSetTop__7daSus_c = .sbss:0x805209E2; // type:object size:0x2 scope:global align:2 data:2byte
|
||||
lbl_805209E4 = .sbss:0x805209E4; // type:object size:0x1 data:byte
|
||||
lbl_805209E5 = .sbss:0x805209E5; // type:object size:0x1 data:byte
|
||||
lbl_805209E6 = .sbss:0x805209E6; // type:object size:0x1 data:byte
|
||||
m_flag__8daYkgr_c = .sbss:0x805209E4; // type:object size:0x1 data:byte
|
||||
m_alpha_flag__8daYkgr_c = .sbss:0x805209E5; // type:object size:0x1 data:byte
|
||||
m_alpha__8daYkgr_c = .sbss:0x805209E6; // type:object size:0x1 data:byte
|
||||
m_aim_rate__8daYkgr_c = .sbss:0x805209E8; // type:object size:0x4 scope:global align:4
|
||||
m_path__8daYkgr_c = .sbss:0x805209EC; // type:object size:0x4 scope:global align:4
|
||||
m_emitter__8daYkgr_c = .sbss:0x805209F0; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
@@ -27742,10 +27742,10 @@ m_grass__9daGrass_c = .sbss:0x80520A08; // type:object size:0x4 scope:global ali
|
||||
m_flower__9daGrass_c = .sbss:0x80520A0C; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
m_myObj__6daMP_c = .sbss:0x80520A10; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
mTagMagne__12daTagMagne_c = .sbss:0x80520A14; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
lbl_80520A18 = .sbss:0x80520A18; // type:object size:0x1 data:byte
|
||||
lbl_80520A19 = .sbss:0x80520A19; // type:object size:0x1 data:byte
|
||||
lbl_80520A1A = .sbss:0x80520A1A; // type:object size:0x5
|
||||
lbl_80520A1F = .sbss:0x80520A1F; // type:object size:0x9
|
||||
mPlayerNo__11daTagMist_c = .sbss:0x80520A18; // type:object size:0x1 data:byte
|
||||
mSaveFlag__12daObjCarry_c = .sbss:0x80520A19; // type:object size:0x1 data:byte
|
||||
mSttsFlag__12daObjCarry_c = .sbss:0x80520A1A; // type:object size:0x5
|
||||
mRoomNo__12daObjCarry_c = .sbss:0x80520A1F; // type:object size:0x5
|
||||
m_diffTime__11dLib_time_c = .sbss:0x80520A28; // type:object size:0x8 scope:global align:4 data:4byte
|
||||
m_stopTime__11dLib_time_c = .sbss:0x80520A30; // type:object size:0x8 scope:global align:4 data:4byte
|
||||
lbl_80520A38 = .sbss:0x80520A38; // type:object size:0x8 data:byte
|
||||
|
||||
@@ -27734,9 +27734,9 @@ g_dComIfAc_gameInfo = .sbss:0x8051E850; // type:object size:0x8 scope:global ali
|
||||
g_dComIfGoat_gameInfo = .sbss:0x8051E858; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
m_count__9daArrow_c = .sbss:0x8051E860; // type:object size:0x2 scope:global align:4
|
||||
mSetTop__7daSus_c = .sbss:0x8051E862; // type:object size:0x2 scope:global align:2 data:2byte
|
||||
lbl_8051E864 = .sbss:0x8051E864; // type:object size:0x1 data:byte
|
||||
lbl_8051E865 = .sbss:0x8051E865; // type:object size:0x1 data:byte
|
||||
lbl_8051E866 = .sbss:0x8051E866; // type:object size:0x1 data:byte
|
||||
m_flag__8daYkgr_c = .sbss:0x8051E864; // type:object size:0x1 data:byte
|
||||
m_alpha_flag__8daYkgr_c = .sbss:0x8051E865; // type:object size:0x1 data:byte
|
||||
m_alpha__8daYkgr_c = .sbss:0x8051E866; // type:object size:0x1 data:byte
|
||||
m_aim_rate__8daYkgr_c = .sbss:0x8051E868; // type:object size:0x4 scope:global align:4
|
||||
m_path__8daYkgr_c = .sbss:0x8051E86C; // type:object size:0x4 scope:global align:4
|
||||
m_emitter__8daYkgr_c = .sbss:0x8051E870; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
@@ -27748,10 +27748,10 @@ m_grass__9daGrass_c = .sbss:0x8051E888; // type:object size:0x4 scope:global ali
|
||||
m_flower__9daGrass_c = .sbss:0x8051E88C; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
m_myObj__6daMP_c = .sbss:0x8051E890; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
mTagMagne__12daTagMagne_c = .sbss:0x8051E894; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
lbl_8051E898 = .sbss:0x8051E898; // type:object size:0x1 data:byte
|
||||
lbl_8051E899 = .sbss:0x8051E899; // type:object size:0x1 data:byte
|
||||
lbl_8051E89A = .sbss:0x8051E89A; // type:object size:0x5
|
||||
lbl_8051E89F = .sbss:0x8051E89F; // type:object size:0x9
|
||||
mPlayerNo__11daTagMist_c = .sbss:0x8051E898; // type:object size:0x1 data:byte
|
||||
mSaveFlag__12daObjCarry_c = .sbss:0x8051E899; // type:object size:0x1 data:byte
|
||||
mSttsFlag__12daObjCarry_c = .sbss:0x8051E89A; // type:object size:0x5
|
||||
mRoomNo__12daObjCarry_c = .sbss:0x8051E89F; // type:object size:0x5
|
||||
m_diffTime__11dLib_time_c = .sbss:0x8051E8A8; // type:object size:0x8 scope:global align:4 data:4byte
|
||||
m_stopTime__11dLib_time_c = .sbss:0x8051E8B0; // type:object size:0x8 scope:global align:4 data:4byte
|
||||
lbl_8051E8B8 = .sbss:0x8051E8B8; // type:object size:0x8 data:byte
|
||||
|
||||
@@ -27619,9 +27619,9 @@ g_dComIfAc_gameInfo = .sbss:0x80521190; // type:object size:0x8 scope:global ali
|
||||
g_dComIfGoat_gameInfo = .sbss:0x80521198; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
m_count__9daArrow_c = .sbss:0x805211A0; // type:object size:0x2 scope:global align:4
|
||||
mSetTop__7daSus_c = .sbss:0x805211A2; // type:object size:0x2 scope:global align:2 data:2byte
|
||||
lbl_805211A4 = .sbss:0x805211A4; // type:object size:0x1 data:byte
|
||||
lbl_805211A5 = .sbss:0x805211A5; // type:object size:0x1 data:byte
|
||||
lbl_805211A6 = .sbss:0x805211A6; // type:object size:0x1 data:byte
|
||||
m_flag__8daYkgr_c = .sbss:0x805211A4; // type:object size:0x1 data:byte
|
||||
m_alpha_flag__8daYkgr_c = .sbss:0x805211A5; // type:object size:0x1 data:byte
|
||||
m_alpha__8daYkgr_c = .sbss:0x805211A6; // type:object size:0x1 data:byte
|
||||
m_aim_rate__8daYkgr_c = .sbss:0x805211A8; // type:object size:0x4 scope:global align:4
|
||||
m_path__8daYkgr_c = .sbss:0x805211AC; // type:object size:0x4 scope:global align:4
|
||||
m_emitter__8daYkgr_c = .sbss:0x805211B0; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
@@ -27633,10 +27633,10 @@ m_grass__9daGrass_c = .sbss:0x805211C8; // type:object size:0x4 scope:global ali
|
||||
m_flower__9daGrass_c = .sbss:0x805211CC; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
m_myObj__6daMP_c = .sbss:0x805211D0; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
mTagMagne__12daTagMagne_c = .sbss:0x805211D4; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
lbl_805211D8 = .sbss:0x805211D8; // type:object size:0x1 data:byte
|
||||
lbl_805211D9 = .sbss:0x805211D9; // type:object size:0x1 data:byte
|
||||
lbl_805211DA = .sbss:0x805211DA; // type:object size:0x5
|
||||
lbl_805211DF = .sbss:0x805211DF; // type:object size:0x9
|
||||
mPlayerNo__11daTagMist_c = .sbss:0x805211D8; // type:object size:0x1 data:byte
|
||||
mSaveFlag__12daObjCarry_c = .sbss:0x805211D9; // type:object size:0x1 data:byte
|
||||
mSttsFlag__12daObjCarry_c = .sbss:0x805211DA; // type:object size:0x5
|
||||
mRoomNo__12daObjCarry_c = .sbss:0x805211DF; // type:object size:0x5
|
||||
m_diffTime__11dLib_time_c = .sbss:0x805211E8; // type:object size:0x8 scope:global align:4 data:4byte
|
||||
m_stopTime__11dLib_time_c = .sbss:0x805211F0; // type:object size:0x8 scope:global align:4 data:4byte
|
||||
lbl_805211F8 = .sbss:0x805211F8; // type:object size:0x8 data:byte
|
||||
|
||||
@@ -25291,9 +25291,9 @@ g_dComIfAc_gameInfo = .sbss:0x80508BA0; // type:object size:0x8 scope:global has
|
||||
g_dComIfGoat_gameInfo = .sbss:0x80508BA8; // type:object size:0x4 scope:global data:4byte hash:0xB039AA75
|
||||
m_count__9daArrow_c = .sbss:0x80508BB0; // type:object size:0x2 scope:global hash:0xAFED360D dhash:0x0191FF94
|
||||
mSetTop__7daSus_c = .sbss:0x80508BB2; // type:object size:0x2 scope:global data:2byte hash:0x3886CAFA dhash:0xADB8E62D
|
||||
lbl_80508BB4 = .sbss:0x80508BB4; // type:object size:0x1 data:byte hash:0x89C78ABD dhash:0x1116DE05
|
||||
lbl_80508BB5 = .sbss:0x80508BB5; // type:object size:0x1 data:byte hash:0x5FA2AFF6 dhash:0x5338112E
|
||||
lbl_80508BB6 = .sbss:0x80508BB6; // type:object size:0x1 data:byte hash:0xB5EF2685 dhash:0x3355973D
|
||||
m_flag__8daYkgr_c = .sbss:0x80508BB4; // type:object size:0x1 data:byte hash:0x89C78ABD dhash:0x1116DE05
|
||||
m_alpha_flag__8daYkgr_c = .sbss:0x80508BB5; // type:object size:0x1 data:byte hash:0x5FA2AFF6 dhash:0x5338112E
|
||||
m_alpha__8daYkgr_c = .sbss:0x80508BB6; // type:object size:0x1 data:byte hash:0xB5EF2685 dhash:0x3355973D
|
||||
m_aim_rate__8daYkgr_c = .sbss:0x80508BB8; // type:object size:0x4 scope:global hash:0xF2CCF169 dhash:0xBC891711
|
||||
m_path__8daYkgr_c = .sbss:0x80508BBC; // type:object size:0x4 scope:global hash:0x10A168FC dhash:0x111A6F24
|
||||
m_emitter__8daYkgr_c = .sbss:0x80508BC0; // type:object size:0x4 scope:global data:4byte hash:0x078BB187 dhash:0x7DAC84FF
|
||||
@@ -25305,8 +25305,8 @@ m_grass__9daGrass_c = .sbss:0x80508BDC; // type:object size:0x4 scope:global dat
|
||||
m_flower__9daGrass_c = .sbss:0x80508BE0; // type:object size:0x4 scope:global data:4byte hash:0x24D76026 dhash:0x251474BF
|
||||
m_myObj__6daMP_c = .sbss:0x80508BE4; // type:object size:0x4 scope:global data:4byte hash:0x2BC7D0F6 dhash:0x6336B9A0
|
||||
mTagMagne__12daTagMagne_c = .sbss:0x80508BE8; // type:object size:0x4 scope:global data:4byte hash:0x413B5D52 dhash:0x0B5ED571
|
||||
lbl_80508BEC = .sbss:0x80508BEC; // type:object size:0x1 data:byte hash:0x3A84AB81 dhash:0x97EA4041
|
||||
lbl_80508BED = .sbss:0x80508BED; // type:object size:0x1 data:byte hash:0xA085CB0F dhash:0x5B969AEC
|
||||
mPlayerNo__11daTagMist_c = .sbss:0x80508BEC; // type:object size:0x1 data:byte hash:0x3A84AB81 dhash:0x97EA4041
|
||||
mSaveFlag__12daObjCarry_c = .sbss:0x80508BED; // type:object size:0x1 data:byte hash:0xA085CB0F dhash:0x5B969AEC
|
||||
mSttsFlag__12daObjCarry_c = .sbss:0x80508BF0; // type:object size:0x5 scope:global hash:0x2C3B0182 dhash:0x70F95521
|
||||
mRoomNo__12daObjCarry_c = .sbss:0x80508BF8; // type:object size:0x5 scope:global hash:0x7A66BF30 dhash:0x986864D3
|
||||
m_diffTime__11dLib_time_c = .sbss:0x80508C00; // type:object size:0x8 scope:global data:4byte hash:0xFC753EFA dhash:0x51401BBA
|
||||
|
||||
+3
-187
@@ -3,194 +3,10 @@
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
class dCcMassS_HitInf;
|
||||
class cCcD_Obj;
|
||||
|
||||
class dGrass_data_c {
|
||||
public:
|
||||
void WorkCo(fopAc_ac_c*, u32, int);
|
||||
void WorkAt_NoCutAnim(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*);
|
||||
void Direction_Set(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*, csXyz*);
|
||||
void WorkAt(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, u16);
|
||||
void hitCheck(int, u16);
|
||||
~dGrass_data_c() {}
|
||||
dGrass_data_c() {
|
||||
m_state = 0;
|
||||
}
|
||||
|
||||
/* 0x00 */ u8 m_state;
|
||||
/* 0x01 */ u8 field_0x01;
|
||||
/* 0x02 */ s8 field_0x02;
|
||||
/* 0x03 */ u8 m_tableNo;
|
||||
/* 0x04 */ u8 m_itemBitNo;
|
||||
/* 0x05 */ u8 field_0x05;
|
||||
/* 0x06 */ u8 field_0x06[0x08 - 0x06];
|
||||
/* 0x08 */ s16 m_addCol;
|
||||
/* 0x0C */ cXyz m_pos;
|
||||
/* 0x18 */ Mtx m_modelMtx;
|
||||
/* 0x48 */ dGrass_data_c* mp_next;
|
||||
};
|
||||
|
||||
class dGrass_room_c {
|
||||
public:
|
||||
void newData(dGrass_data_c*);
|
||||
void deleteData();
|
||||
dGrass_room_c() {
|
||||
mp_data = NULL;
|
||||
}
|
||||
|
||||
dGrass_data_c* getData() { return mp_data; }
|
||||
|
||||
/* 0x0 */ dGrass_data_c* mp_data;
|
||||
};
|
||||
|
||||
class dGrass_anm_c {
|
||||
public:
|
||||
dGrass_anm_c() {
|
||||
m_state = 0;
|
||||
}
|
||||
|
||||
/* 0x00 */ u8 m_state;
|
||||
/* 0x02 */ s16 m_angY;
|
||||
/* 0x04 */ s16 m_angX;
|
||||
/* 0x08 */ Mtx m_animMtx;
|
||||
};
|
||||
|
||||
class dGrass_packet_c : public J3DPacket {
|
||||
public:
|
||||
dGrass_packet_c();
|
||||
void calc();
|
||||
void update();
|
||||
void setData(dGrass_data_c*, int, cXyz&, int, u8, u8, s16, u8);
|
||||
dGrass_data_c* newData(cXyz&, int, u8, u8, s16, u8);
|
||||
void deleteRoom(int);
|
||||
int newAnm();
|
||||
void setAnm(int, s16);
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dGrass_packet_c();
|
||||
|
||||
typedef void (dGrass_packet_c::*deleteFunc)(int);
|
||||
static deleteFunc m_deleteRoom;
|
||||
|
||||
dGrass_anm_c* getAnm() { return m_anm; }
|
||||
dGrass_anm_c* getAnm(int i_no) { return &m_anm[i_no]; }
|
||||
|
||||
dGrass_data_c* getData() { return m_data; }
|
||||
|
||||
void deleteAnm(int i_idx) { m_anm[i_idx].m_state = 0; }
|
||||
|
||||
/* 0x00010 */ u16 m_dataNum;
|
||||
/* 0x00014 */ dGrass_data_c m_data[1500];
|
||||
/* 0x1BD64 */ dGrass_anm_c m_anm[112];
|
||||
/* 0x1D5E4 */ dGrass_room_c m_room[64];
|
||||
/* 0x1D6E4 */ Vec* mp_pos;
|
||||
/* 0x1D6E8 */ Vec* mp_normal;
|
||||
/* 0x1D6EC */ GXColor* mp_colors;
|
||||
/* 0x1D6F0 */ Vec* mp_texCoords;
|
||||
/* 0x1D6F4 */ u8* mp_kusa9q_DL;
|
||||
/* 0x1D6F8 */ u32 m_kusa9q_DL_size;
|
||||
/* 0x1D6FC */ u8* mp_kusa9q_14_DL;
|
||||
/* 0x1D700 */ u32 m_kusa9q_DL_14_size;
|
||||
/* 0x1D704 */ u8* mp_Mkusa_9q_DL;
|
||||
/* 0x1D708 */ u32 m_Mkusa_9q_DL_size;
|
||||
/* 0x1D70C */ u8* mp_Mkusa_9q_cDL;
|
||||
/* 0x1D710 */ u32 m_Mkusa_9q_cDL_size;
|
||||
/* 0x1D714 */ s16 field_0x1d714;
|
||||
}; // Size: 0x1D718
|
||||
|
||||
STATIC_ASSERT(sizeof(dGrass_packet_c) == 0x1D718);
|
||||
|
||||
class dFlower_data_c {
|
||||
public:
|
||||
void WorkCo(fopAc_ac_c*, u32, int);
|
||||
void deleteAnm();
|
||||
void WorkAt_NoCutAnim(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*);
|
||||
void WorkAt(fopAc_ac_c*, u32, int, dCcMassS_HitInf*);
|
||||
void hitCheck(fopAc_ac_c*, int);
|
||||
~dFlower_data_c();
|
||||
dFlower_data_c();
|
||||
|
||||
/* 0x00 */ u8 m_state;
|
||||
/* 0x01 */ s8 field_0x01;
|
||||
/* 0x02 */ s8 m_tableNo;
|
||||
/* 0x03 */ u8 field_0x03;
|
||||
/* 0x04 */ s16 field_0x04;
|
||||
/* 0x08 */ cXyz m_pos;
|
||||
/* 0x14 */ Mtx m_modelMtx;
|
||||
/* 0x44 */ dFlower_data_c* mp_next;
|
||||
};
|
||||
|
||||
class dFlower_room_c {
|
||||
public:
|
||||
void newData(dFlower_data_c*);
|
||||
void deleteData();
|
||||
dFlower_room_c();
|
||||
|
||||
dFlower_data_c* getData() { return mp_data; }
|
||||
|
||||
/* 0x0 */ dFlower_data_c* mp_data;
|
||||
};
|
||||
|
||||
class dFlower_anm_c {
|
||||
public:
|
||||
dFlower_anm_c();
|
||||
|
||||
/* 0x00 */ u8 m_state;
|
||||
/* 0x02 */ s16 m_angY;
|
||||
/* 0x04 */ s16 m_angX;
|
||||
/* 0x08 */ Mtx m_animMtx;
|
||||
};
|
||||
|
||||
class dFlower_packet_c : public J3DPacket {
|
||||
public:
|
||||
dFlower_packet_c();
|
||||
void calc();
|
||||
void update();
|
||||
void setData(dFlower_data_c*, int, s8, cXyz&, int, s8, s16);
|
||||
dFlower_data_c* newData(s8, cXyz&, int, s8, s16);
|
||||
void deleteRoom(int);
|
||||
int newAnm();
|
||||
void setAnm(int, s16);
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dFlower_packet_c();
|
||||
|
||||
typedef void (dFlower_packet_c::*deleteFunc)(int);
|
||||
static deleteFunc m_deleteRoom;
|
||||
|
||||
dFlower_anm_c* getAnm(int i_idx) { return &m_anm[i_idx]; }
|
||||
dFlower_anm_c* getAnm() { return &m_anm[0]; }
|
||||
dFlower_data_c* getData() { return m_data; }
|
||||
|
||||
void deleteAnm(int i_idx) { m_anm[i_idx].m_state = 0; }
|
||||
|
||||
void setPlayerCutFlg(int i_flag) { m_playerCutFlg = i_flag != 0; }
|
||||
void setPlayerSwordAngY(s16 i_angY) { m_playerSwordAngY = i_angY; }
|
||||
void setPlayerSwordMoveAngY(s16 i_angY) { m_playerSwordMoveAngY = i_angY; }
|
||||
void setPlayerSwordTop(cXyz& i_pos) { m_playerSwordTop = i_pos; }
|
||||
cXyz& getPlayerSwordTop() { return m_playerSwordTop; }
|
||||
|
||||
/* 0x00010 */ u16 m_dataNum;
|
||||
/* 0x00014 */ dFlower_data_c m_data[1000];
|
||||
/* 0x11954 */ dFlower_anm_c m_anm[72];
|
||||
/* 0x12914 */ dFlower_room_c m_room[64];
|
||||
/* 0x12A14 */ u8 m_playerCutFlg;
|
||||
/* 0x12A16 */ s16 m_playerSwordAngY;
|
||||
/* 0x12A18 */ s16 m_playerSwordMoveAngY;
|
||||
/* 0x12A1C */ cXyz m_playerSwordTop;
|
||||
/* 0x12A28 */ Vec* mp_pos;
|
||||
/* 0x12A2C */ GXColor* mp_colors;
|
||||
/* 0x12A30 */ Vec* mp_texCoords;
|
||||
/* 0x12A34 */ u8* mp_mat2DL;
|
||||
/* 0x12A38 */ u32 m_mat2DL_size;
|
||||
/* 0x12A3C */ u8* mp_mat2Light4DL;
|
||||
/* 0x12A40 */ u32 m_mat2Light4DL_size;
|
||||
/* 0x12A44 */ u8* mp_Jhana01DL;
|
||||
/* 0x12A48 */ u32 m_Jhana01DL_size;
|
||||
/* 0x12A4C */ u8* mp_Jhana01_cDL;
|
||||
/* 0x12A50 */ u32 m_Jhana01_cDL_size;
|
||||
}; // Size: 0x12A54
|
||||
class dCcMassS_HitInf;
|
||||
class dFlower_packet_c;
|
||||
class dGrass_packet_c;
|
||||
|
||||
/**
|
||||
* @ingroup actors-unsorted
|
||||
|
||||
@@ -21,17 +21,18 @@ public:
|
||||
u8 check(fopAc_ac_c*);
|
||||
bool check(cXyz const&);
|
||||
void execute();
|
||||
void draw();
|
||||
~data_c() {}
|
||||
data_c() { reset(); }
|
||||
|
||||
void setNext(data_c* i_next) { mpNext = i_next; }
|
||||
data_c* getNext() { return mpNext; }
|
||||
u8 getType() { return mType; }
|
||||
bool isUsed() { return mRoomNo < 0; }
|
||||
bool isUsed() { return mRoomNo >= 0; }
|
||||
s8 getRoomNo() { return mRoomNo; }
|
||||
|
||||
/* 0x00 */ s8 mRoomNo;
|
||||
/* 0x01 */ bool field_0x1;
|
||||
/* 0x01 */ u8 field_0x1;
|
||||
/* 0x02 */ u8 field_0x2;
|
||||
/* 0x03 */ u8 field_0x3;
|
||||
/* 0x04 */ u8 mType;
|
||||
@@ -44,7 +45,7 @@ public:
|
||||
public:
|
||||
void add(daSus_c::data_c*);
|
||||
void reset();
|
||||
room_c() { init(); }
|
||||
room_c() { mpData = NULL; }
|
||||
void init() { mpData = NULL; }
|
||||
|
||||
/* 0x0 */ data_c* mpData;
|
||||
@@ -55,6 +56,7 @@ public:
|
||||
static void check(fopAc_ac_c*);
|
||||
static bool check(s8 i_roomNo, cXyz const& i_pos);
|
||||
static void execute();
|
||||
static void draw();
|
||||
int create();
|
||||
|
||||
static void reset(int roomNo) {
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
#ifndef D_FLOWER_H
|
||||
#define D_FLOWER_H
|
||||
|
||||
#include "JSystem/J3DGraphBase/J3DPacket.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
|
||||
class cCcD_Obj;
|
||||
class dCcMassS_HitInf;
|
||||
class fopAc_ac_c;
|
||||
|
||||
class dFlower_data_c {
|
||||
public:
|
||||
void WorkCo(fopAc_ac_c*, u32, int);
|
||||
void deleteAnm();
|
||||
void WorkAt_NoCutAnim(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*);
|
||||
void WorkAt(fopAc_ac_c*, u32, int, dCcMassS_HitInf*);
|
||||
void hitCheck(fopAc_ac_c*, int);
|
||||
~dFlower_data_c();
|
||||
dFlower_data_c();
|
||||
|
||||
/* 0x00 */ u8 m_state;
|
||||
/* 0x01 */ s8 field_0x01;
|
||||
/* 0x02 */ s8 m_tableNo;
|
||||
/* 0x03 */ u8 field_0x03;
|
||||
/* 0x04 */ s16 field_0x04;
|
||||
/* 0x08 */ cXyz m_pos;
|
||||
/* 0x14 */ Mtx m_modelMtx;
|
||||
/* 0x44 */ dFlower_data_c* mp_next;
|
||||
};
|
||||
|
||||
class dFlower_room_c {
|
||||
public:
|
||||
void newData(dFlower_data_c*);
|
||||
void deleteData();
|
||||
dFlower_room_c();
|
||||
|
||||
dFlower_data_c* getData() { return mp_data; }
|
||||
|
||||
/* 0x0 */ dFlower_data_c* mp_data;
|
||||
};
|
||||
|
||||
class dFlower_anm_c {
|
||||
public:
|
||||
dFlower_anm_c();
|
||||
|
||||
/* 0x00 */ u8 m_state;
|
||||
/* 0x02 */ s16 m_angY;
|
||||
/* 0x04 */ s16 m_angX;
|
||||
/* 0x08 */ Mtx m_animMtx;
|
||||
};
|
||||
|
||||
class dFlower_packet_c : public J3DPacket {
|
||||
public:
|
||||
dFlower_packet_c();
|
||||
void calc();
|
||||
void update();
|
||||
void setData(dFlower_data_c*, int, s8, cXyz&, int, s8, s16);
|
||||
dFlower_data_c* newData(s8, cXyz&, int, s8, s16);
|
||||
void deleteRoom(int);
|
||||
int newAnm();
|
||||
void setAnm(int, s16);
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dFlower_packet_c();
|
||||
|
||||
typedef void (dFlower_packet_c::*deleteFunc)(int);
|
||||
|
||||
static deleteFunc getDeleteRoom() {
|
||||
JUT_ASSERT(174, m_deleteRoom != NULL);
|
||||
return m_deleteRoom;
|
||||
}
|
||||
|
||||
static deleteFunc m_deleteRoom;
|
||||
|
||||
dFlower_anm_c* getAnm(int i_idx) { return &m_anm[i_idx]; }
|
||||
dFlower_anm_c* getAnm() { return &m_anm[0]; }
|
||||
dFlower_data_c* getData() { return m_data; }
|
||||
|
||||
void deleteAnm(int i_idx) { m_anm[i_idx].m_state = 0; }
|
||||
|
||||
void setPlayerCutFlg(int i_flag) { m_playerCutFlg = i_flag != 0; }
|
||||
void setPlayerSwordAngY(s16 i_angY) { m_playerSwordAngY = i_angY; }
|
||||
void setPlayerSwordMoveAngY(s16 i_angY) { m_playerSwordMoveAngY = i_angY; }
|
||||
void setPlayerSwordTop(cXyz& i_pos) { m_playerSwordTop = i_pos; }
|
||||
cXyz& getPlayerSwordTop() { return m_playerSwordTop; }
|
||||
|
||||
/* 0x00010 */ u16 m_dataNum;
|
||||
/* 0x00014 */ dFlower_data_c m_data[1000];
|
||||
/* 0x11954 */ dFlower_anm_c m_anm[72];
|
||||
/* 0x12914 */ dFlower_room_c m_room[64];
|
||||
/* 0x12A14 */ u8 m_playerCutFlg;
|
||||
/* 0x12A16 */ s16 m_playerSwordAngY;
|
||||
/* 0x12A18 */ s16 m_playerSwordMoveAngY;
|
||||
/* 0x12A1C */ cXyz m_playerSwordTop;
|
||||
/* 0x12A28 */ Vec* mp_pos;
|
||||
/* 0x12A2C */ GXColor* mp_colors;
|
||||
/* 0x12A30 */ Vec* mp_texCoords;
|
||||
/* 0x12A34 */ u8* mp_mat2DL;
|
||||
/* 0x12A38 */ u32 m_mat2DL_size;
|
||||
/* 0x12A3C */ u8* mp_mat2Light4DL;
|
||||
/* 0x12A40 */ u32 m_mat2Light4DL_size;
|
||||
/* 0x12A44 */ u8* mp_Jhana01DL;
|
||||
/* 0x12A48 */ u32 m_Jhana01DL_size;
|
||||
/* 0x12A4C */ u8* mp_Jhana01_cDL;
|
||||
/* 0x12A50 */ u32 m_Jhana01_cDL_size;
|
||||
}; // Size: 0x12A54
|
||||
|
||||
#endif /* D_FLOWER_H */
|
||||
@@ -0,0 +1,113 @@
|
||||
#ifndef D_GRASS_H
|
||||
#define D_GRASS_H
|
||||
|
||||
#include "JSystem/J3DGraphBase/J3DPacket.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
|
||||
class cCcD_Obj;
|
||||
class csXyz;
|
||||
class dCcMassS_HitInf;
|
||||
class fopAc_ac_c;
|
||||
|
||||
class dGrass_data_c {
|
||||
public:
|
||||
void WorkCo(fopAc_ac_c*, u32, int);
|
||||
void WorkAt_NoCutAnim(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*);
|
||||
void Direction_Set(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*, csXyz*);
|
||||
void WorkAt(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, u16);
|
||||
void hitCheck(int, u16);
|
||||
~dGrass_data_c() {}
|
||||
dGrass_data_c() {
|
||||
m_state = 0;
|
||||
}
|
||||
|
||||
/* 0x00 */ u8 m_state;
|
||||
/* 0x01 */ u8 field_0x01;
|
||||
/* 0x02 */ s8 field_0x02;
|
||||
/* 0x03 */ u8 m_tableNo;
|
||||
/* 0x04 */ u8 m_itemBitNo;
|
||||
/* 0x05 */ u8 field_0x05;
|
||||
/* 0x06 */ u8 field_0x06[0x08 - 0x06];
|
||||
/* 0x08 */ s16 m_addCol;
|
||||
/* 0x0C */ cXyz m_pos;
|
||||
/* 0x18 */ Mtx m_modelMtx;
|
||||
/* 0x48 */ dGrass_data_c* mp_next;
|
||||
};
|
||||
|
||||
class dGrass_room_c {
|
||||
public:
|
||||
void newData(dGrass_data_c*);
|
||||
void deleteData();
|
||||
dGrass_room_c() {
|
||||
mp_data = NULL;
|
||||
}
|
||||
|
||||
dGrass_data_c* getData() { return mp_data; }
|
||||
|
||||
/* 0x0 */ dGrass_data_c* mp_data;
|
||||
};
|
||||
|
||||
class dGrass_anm_c {
|
||||
public:
|
||||
dGrass_anm_c() {
|
||||
m_state = 0;
|
||||
}
|
||||
|
||||
/* 0x00 */ u8 m_state;
|
||||
/* 0x02 */ s16 m_angY;
|
||||
/* 0x04 */ s16 m_angX;
|
||||
/* 0x08 */ Mtx m_animMtx;
|
||||
};
|
||||
|
||||
class dGrass_packet_c : public J3DPacket {
|
||||
public:
|
||||
dGrass_packet_c();
|
||||
void calc();
|
||||
void update();
|
||||
void setData(dGrass_data_c*, int, cXyz&, int, u8, u8, s16, u8);
|
||||
dGrass_data_c* newData(cXyz&, int, u8, u8, s16, u8);
|
||||
void deleteRoom(int);
|
||||
int newAnm();
|
||||
void setAnm(int, s16);
|
||||
|
||||
virtual void draw();
|
||||
virtual ~dGrass_packet_c();
|
||||
|
||||
typedef void (dGrass_packet_c::*deleteFunc)(int);
|
||||
|
||||
static deleteFunc getDeleteRoom() {
|
||||
JUT_ASSERT(181, m_deleteRoom != NULL);
|
||||
return m_deleteRoom;
|
||||
}
|
||||
|
||||
static deleteFunc m_deleteRoom;
|
||||
|
||||
dGrass_anm_c* getAnm() { return m_anm; }
|
||||
dGrass_anm_c* getAnm(int i_no) { return &m_anm[i_no]; }
|
||||
|
||||
dGrass_data_c* getData() { return m_data; }
|
||||
|
||||
void deleteAnm(int i_idx) { m_anm[i_idx].m_state = 0; }
|
||||
|
||||
/* 0x00010 */ u16 m_dataNum;
|
||||
/* 0x00014 */ dGrass_data_c m_data[1500];
|
||||
/* 0x1BD64 */ dGrass_anm_c m_anm[112];
|
||||
/* 0x1D5E4 */ dGrass_room_c m_room[64];
|
||||
/* 0x1D6E4 */ Vec* mp_pos;
|
||||
/* 0x1D6E8 */ Vec* mp_normal;
|
||||
/* 0x1D6EC */ GXColor* mp_colors;
|
||||
/* 0x1D6F0 */ Vec* mp_texCoords;
|
||||
/* 0x1D6F4 */ u8* mp_kusa9q_DL;
|
||||
/* 0x1D6F8 */ u32 m_kusa9q_DL_size;
|
||||
/* 0x1D6FC */ u8* mp_kusa9q_14_DL;
|
||||
/* 0x1D700 */ u32 m_kusa9q_DL_14_size;
|
||||
/* 0x1D704 */ u8* mp_Mkusa_9q_DL;
|
||||
/* 0x1D708 */ u32 m_Mkusa_9q_DL_size;
|
||||
/* 0x1D70C */ u8* mp_Mkusa_9q_cDL;
|
||||
/* 0x1D710 */ u32 m_Mkusa_9q_cDL_size;
|
||||
/* 0x1D714 */ s16 field_0x1d714;
|
||||
}; // Size: 0x1D718
|
||||
|
||||
STATIC_ASSERT(sizeof(dGrass_packet_c) == 0x1D718);
|
||||
|
||||
#endif /* D_GRASS_H */
|
||||
@@ -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();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "d/actor/d_a_grass.h"
|
||||
#include "d/actor/d_flower.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/d_s_play.h"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "d/actor/d_a_grass.h"
|
||||
#include "d/actor/d_grass.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/d_s_play.h"
|
||||
|
||||
+177
-48
@@ -1,5 +1,7 @@
|
||||
#include "d/d_com_static.h"
|
||||
#include "d/d_debug_viewer.h"
|
||||
#include "d/d_demo.h"
|
||||
#include "d/d_s_play.h"
|
||||
#include "d/actor/d_a_arrow.h"
|
||||
#include "d/actor/d_a_dshutter.h"
|
||||
#include "d/actor/d_a_grass.h"
|
||||
@@ -12,15 +14,24 @@
|
||||
#include "d/actor/d_a_tag_magne.h"
|
||||
#include "d/actor/d_a_tag_mist.h"
|
||||
#include "d/actor/d_a_tag_stream.h"
|
||||
#include "d/actor/d_grass.h"
|
||||
#include "d/actor/d_flower.h"
|
||||
#include <cstdio>
|
||||
|
||||
s16 const daObjMovebox::Act_c::M_dir_base[4] = {
|
||||
0x0000,
|
||||
0x4000,
|
||||
-0x8000,
|
||||
-0x4000,
|
||||
};
|
||||
|
||||
void daSus_c::data_c::set(s8 i_roomNo, cXyz const& param_1, cXyz const& param_2, u8 param_3,
|
||||
u8 param_4, u8 i_type) {
|
||||
mRoomNo = i_roomNo;
|
||||
field_0x8.set(param_1.x - param_2.x, param_1.y, param_1.z - param_2.z);
|
||||
field_0x14.set(param_1.x + param_2.x, param_1.y + param_2.y, param_1.z + param_2.z);
|
||||
field_0x2 = param_3;
|
||||
field_0x1 = param_4 != 0;
|
||||
field_0x1 = param_4 != 0 ? true : false;
|
||||
field_0x3 = isSwitch() == false;
|
||||
mType = i_type;
|
||||
}
|
||||
@@ -65,8 +76,7 @@ u8 daSus_c::data_c::check(fopAc_ac_c* i_actor) {
|
||||
}
|
||||
|
||||
if (check(i_actor->current.pos)) {
|
||||
tmp |= 2;
|
||||
return tmp;
|
||||
return tmp | 2;
|
||||
}
|
||||
|
||||
return tmp;
|
||||
@@ -79,6 +89,18 @@ void daSus_c::data_c::execute() {
|
||||
}
|
||||
}
|
||||
|
||||
void daSus_c::data_c::draw() {
|
||||
if (!isSwitch()) {
|
||||
cXyz local_20 = field_0x14 - field_0x8;
|
||||
local_20 *= 0.5f;
|
||||
cXyz local_2c = field_0x8 + local_20;
|
||||
csXyz local_34(0, 0, 0);
|
||||
GXColor local_38 = {0, 0, 255, 160};
|
||||
GXColor* r29 = &local_38;
|
||||
dDbVw_drawCubeXlu(local_2c, local_20, local_34, *r29);
|
||||
}
|
||||
}
|
||||
|
||||
void daSus_c::room_c::add(daSus_c::data_c* i_data) {
|
||||
if (mpData == NULL) {
|
||||
mpData = i_data;
|
||||
@@ -93,12 +115,10 @@ void daSus_c::room_c::add(daSus_c::data_c* i_data) {
|
||||
}
|
||||
|
||||
daSus_c::data_c* data1 = mpData;
|
||||
daSus_c::data_c* data2 = data1->getNext();
|
||||
while (data2 != NULL) {
|
||||
for (daSus_c::data_c* data2 = data1->getNext(); data2 != NULL; data2 = data1->getNext()) {
|
||||
if (data1->getType() != 0)
|
||||
break;
|
||||
data1 = data2;
|
||||
data2 = data2->getNext();
|
||||
}
|
||||
|
||||
i_data->setNext(data1->getNext());
|
||||
@@ -115,69 +135,77 @@ daSus_c::data_c daSus_c::mData[0x20];
|
||||
|
||||
daSus_c::room_c daSus_c::mRoom[0x40];
|
||||
|
||||
#if DEBUG
|
||||
daCanBall_c::Hio_c daCanBall_c::mHIO;
|
||||
#endif
|
||||
|
||||
s16 daArrow_c::m_count;
|
||||
|
||||
s16 daSus_c::mSetTop;
|
||||
|
||||
int daSus_c::newData(s8 i_roomNo, cXyz const& param_1, cXyz const& param_2, u8 param_3, u8 param_4,
|
||||
u8 i_type) {
|
||||
s16 setTop = mSetTop;
|
||||
daSus_c::data_c* pData = ((daSus_c::data_c*)mData) + setTop;
|
||||
for (s16 i = setTop; i < 32; pData++, i++) {
|
||||
if (pData->isUsed()) {
|
||||
daSus_c::data_c* pData = mData + mSetTop;
|
||||
for (s16 i = mSetTop; i < 32; i++) {
|
||||
if (!pData->isUsed()) {
|
||||
pData->set(i_roomNo, param_1, param_2, param_3, param_4, i_type);
|
||||
daSus_c::room_c* pRoom = ((daSus_c::room_c*)mRoom) + i_roomNo;
|
||||
pRoom->add(pData);
|
||||
mRoom[i_roomNo].add(pData);
|
||||
mSetTop = (i + 1) % 32;
|
||||
return 1;
|
||||
}
|
||||
pData++;
|
||||
}
|
||||
|
||||
pData = ((daSus_c::data_c*)mData);
|
||||
for (s16 i = 0; i < setTop; pData++, i++) {
|
||||
if (pData->isUsed()) {
|
||||
pData = mData;
|
||||
for (s16 i = 0; i < mSetTop; i++) {
|
||||
if (!pData->isUsed()) {
|
||||
pData->set(i_roomNo, param_1, param_2, param_3, param_4, i_type);
|
||||
((daSus_c::room_c*)mRoom)[i_roomNo].add(pData);
|
||||
mRoom[i_roomNo].add(pData);
|
||||
mSetTop = (i + 1) % 32;
|
||||
return 1;
|
||||
}
|
||||
pData++;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void daSus_c::reset() {
|
||||
daSus_c::data_c* pData = (daSus_c::data_c*)mData;
|
||||
for (int i = 0; i < 0x20; i++, pData++) {
|
||||
daSus_c::data_c* pData = mData;
|
||||
for (int i = 0; i < 0x20; i++) {
|
||||
pData->reset();
|
||||
pData++;
|
||||
}
|
||||
|
||||
daSus_c::room_c* pRoom = (daSus_c::room_c*)mRoom;
|
||||
for (int i = 0; i < 0x40; i++, pRoom++) {
|
||||
daSus_c::room_c* pRoom = mRoom;
|
||||
for (int i = 0; i < 0x40; i++) {
|
||||
pRoom->init();
|
||||
pRoom++;
|
||||
}
|
||||
}
|
||||
|
||||
bool daSus_c::check(s8 i_roomNo, cXyz const& i_pos) {
|
||||
daSus_c::data_c* pData = (daSus_c::data_c*)mData;
|
||||
for (s16 i = 0; i < 0x20; pData++, i++) {
|
||||
if (!pData->isUsed() && i_roomNo == pData->getRoomNo() && pData->getType()) {
|
||||
daSus_c::data_c* pData = mData;
|
||||
for (s16 i = 0; i < 0x20; i++) {
|
||||
if (pData->isUsed() && i_roomNo == pData->getRoomNo() && pData->getType()) {
|
||||
if (pData->check(i_pos)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
pData++;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void daSus_c::check(fopAc_ac_c* i_actor) {
|
||||
if (fopAcM_GetGroup(i_actor) != 1 && fopAcM_GetGroup(i_actor) != 5) {
|
||||
daSus_c::data_c* pData = (daSus_c::data_c*)mData;
|
||||
daSus_c::data_c* pData = mData;
|
||||
u8 res = 0;
|
||||
for (s16 i = 0; i < 0x20; pData++, i++) {
|
||||
if (!pData->isUsed() && pData->getType() == 0) {
|
||||
for (s16 i = 0; i < 0x20; i++) {
|
||||
if (pData->isUsed() && pData->getType() == 0) {
|
||||
res |= pData->check(i_actor);
|
||||
}
|
||||
pData++;
|
||||
}
|
||||
|
||||
if ((res & 0x80) != 0) {
|
||||
@@ -191,15 +219,75 @@ void daSus_c::check(fopAc_ac_c* i_actor) {
|
||||
}
|
||||
|
||||
void daSus_c::execute() {
|
||||
daSus_c::data_c* pData = (daSus_c::data_c*)mData;
|
||||
for (s16 i = 0; i < 0x20; pData++, i++) {
|
||||
if (!pData->isUsed()) {
|
||||
daSus_c::data_c* pData = mData;
|
||||
for (s16 i = 0; i < 0x20; i++) {
|
||||
if (pData->isUsed()) {
|
||||
pData->execute();
|
||||
}
|
||||
pData++;
|
||||
}
|
||||
}
|
||||
|
||||
void daSus_c::draw() {
|
||||
if (!g_envHIO.mOther.mDisplayTransparentCyl) {
|
||||
return;
|
||||
}
|
||||
daSus_c::data_c* pData = mData;
|
||||
for (s16 i = 0; i < 0x20; i++) {
|
||||
if (pData->isUsed()) {
|
||||
pData->draw();
|
||||
}
|
||||
pData++;
|
||||
}
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
daCanBall_c::Hio_c::Hio_c() {
|
||||
field_0x8 = -2.0f;
|
||||
field_0xc = -20.0f;
|
||||
field_0x10 = 0.5f;
|
||||
field_0x14 = 0.3f;
|
||||
field_0x18 = 0.2f;
|
||||
field_0x1c = 0.3f;
|
||||
field_0x20 = 3.0f;
|
||||
field_0x24 = 0.0f;
|
||||
field_0x28 = 0.1f;
|
||||
field_0x2c = 30.0f;
|
||||
field_0x30 = 1.8f;
|
||||
field_0x38 = 250;
|
||||
field_0x34 = 200.0f;
|
||||
field_0x3c = 1.0f;
|
||||
}
|
||||
|
||||
void daCanBall_c::Hio_c::genMessage(JORMContext* mctx) {
|
||||
mctx->genLabel("§ 鉄球のパラメータ設定 §\n", 0x80000001);
|
||||
mctx->genSlider("鉄球の寿命", &field_0x38, 0, 500);
|
||||
mctx->genSlider("重力加速度", &field_0x8, -20.0, 0.0);
|
||||
mctx->genSlider("落下最高速度", &field_0xc, -50.0, 0.0);
|
||||
mctx->genSlider("床の跳ね返り係数", &field_0x10, 0.0, 1.0);
|
||||
mctx->genSlider("床の跳ね返り最小値", &field_0x14, 0.0, 10.0);
|
||||
mctx->genSlider("壁の跳ね返り係数", &field_0x18, 0.0, 1.0);
|
||||
mctx->genSlider("壁の跳ね返り最小値", &field_0x1c, 0.0, 10.0);
|
||||
mctx->genSlider("画面を揺らす最小値", &field_0x20, 0.0, 10.0);
|
||||
mctx->genSlider("初速度", &field_0x24, 0.0, 200.0);
|
||||
mctx->genSlider("加速度", &field_0x28, 0.0, 200.0);
|
||||
mctx->genSlider("最高速度", &field_0x2c, 0.0, 200.0);
|
||||
mctx->genSlider("着地煙のサイズ", &field_0x30, 0.0, 20.0);
|
||||
mctx->genSlider("バレルの長さ", &field_0x34, 200.0, 400.0);
|
||||
mctx->genSlider("消滅する時の時間", &field_0x3c, -100.0, 100.0);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void dummy(int aLayerNum) {
|
||||
JUT_ASSERT(0, 0 <= aLayerNum && aLayerNum < 256);
|
||||
}
|
||||
|
||||
namespace daNpc_Msg_c {
|
||||
const int EVTEND_e = 43;
|
||||
}
|
||||
|
||||
int daNpcMsg_setEvtNum(u8 iEvtNum) {
|
||||
JUT_ASSERT(437, 0 <= iEvtNum && iEvtNum <= daNpc_Msg_c::EVTEND_e);
|
||||
dComIfGs_setTmpReg(0xFDFF, iEvtNum);
|
||||
return 1;
|
||||
}
|
||||
@@ -260,17 +348,19 @@ JPABaseEmitter* daYkgr_c::m_emitter;
|
||||
const char* daSetBgObj_c::getArcName(fopAc_ac_c* i_this) {
|
||||
static char arcName[8];
|
||||
|
||||
sprintf(arcName, "@bg%04x", (u16)fopAcM_GetParam(i_this));
|
||||
u32 r30 = fopAcM_GetParam(i_this);
|
||||
u16 r29 = fopAcM_GetParam(i_this);
|
||||
sprintf(arcName, "@bg%04x", r29);
|
||||
|
||||
if (DEBUG && r30 & 0x80000000) {
|
||||
OS_REPORT("\e[43;30m旧仕様の地形ユニットMoveBGが残っています!!!\n\e[m");
|
||||
u16 r28 = r30 >> 12 & 0x1FF;
|
||||
u16 r27 = r30 & 0xFFF;
|
||||
sprintf(arcName, "@%03x%03x", r28, (u16)r27);
|
||||
}
|
||||
return arcName;
|
||||
}
|
||||
|
||||
s16 const daObjMovebox::Act_c::M_dir_base[4] = {
|
||||
0x0000,
|
||||
0x4000,
|
||||
-0x8000,
|
||||
-0x4000,
|
||||
};
|
||||
|
||||
f32 const daDsh_c::OPEN_SIZE = 270.1f;
|
||||
|
||||
f32 const daDsh_c::OPEN_ACCEL = 10.0f;
|
||||
@@ -329,9 +419,8 @@ daGrass_c* daGrass_c::m_myObj;
|
||||
dGrass_packet_c* daGrass_c::m_grass;
|
||||
|
||||
void daGrass_c::deleteRoomGrass(int param_0) {
|
||||
if (m_grass != NULL) {
|
||||
dGrass_packet_c::deleteFunc delete_func = dGrass_packet_c::m_deleteRoom;
|
||||
(m_grass->*(delete_func))(param_0);
|
||||
if (m_grass) {
|
||||
(m_grass->*dGrass_packet_c::getDeleteRoom())(param_0);;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -341,18 +430,19 @@ dFlower_packet_c* daGrass_c::m_flower;
|
||||
|
||||
void daGrass_c::deleteRoomFlower(int param_0) {
|
||||
if (m_flower != NULL) {
|
||||
dFlower_packet_c::deleteFunc delete_func = dFlower_packet_c::m_deleteRoom;
|
||||
(m_flower->*(delete_func))(param_0);
|
||||
(m_flower->*dFlower_packet_c::getDeleteRoom())(param_0);
|
||||
}
|
||||
}
|
||||
|
||||
daMP_c* daMP_c::m_myObj;
|
||||
|
||||
u32 daMP_c::daMP_c_Get_MovieRestFrame() {
|
||||
JUT_ASSERT(668, m_myObj != NULL);
|
||||
return m_myObj->mpGetMovieRestFrame();
|
||||
}
|
||||
|
||||
void daMP_c::daMP_c_Set_PercentMovieVolume(f32 i_volume) {
|
||||
JUT_ASSERT(673, m_myObj != NULL);
|
||||
m_myObj->mpSetPercentMovieVol(i_volume);
|
||||
}
|
||||
|
||||
@@ -367,12 +457,18 @@ int daMP_c::daMP_c_THPPlayerPlay() {
|
||||
}
|
||||
|
||||
void daMP_c::daMP_c_THPPlayerPause() {
|
||||
JUT_ASSERT(697, m_myObj != NULL);
|
||||
m_myObj->mpTHPPause();
|
||||
}
|
||||
|
||||
daTagMagne_c* daTagMagne_c::mTagMagne;
|
||||
|
||||
int daTagMagne_c::checkMagnetCode(cBgS_PolyInfo& poly) {
|
||||
#if DEBUG
|
||||
if (g_regHIO.mChildReg[4].mShortReg[6]) {
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
if (mTagMagne == NULL) {
|
||||
return 0;
|
||||
}
|
||||
@@ -434,35 +530,68 @@ bool daObjCarry_c::chkSaveFlag() {
|
||||
cXyz daObjCarry_c::mPos[5];
|
||||
|
||||
const cXyz& daObjCarry_c::getPos(int param_0) {
|
||||
#if DEBUG
|
||||
if (param_0 < 0 || param_0 > 4) {
|
||||
param_0 = 0;
|
||||
}
|
||||
#endif
|
||||
return mPos[param_0];
|
||||
}
|
||||
|
||||
void daObjCarry_c::savePos(int param_0, cXyz param_1) {
|
||||
mPos[param_0].x = param_1.x;
|
||||
mPos[param_0].y = param_1.y;
|
||||
mPos[param_0].z = param_1.z;
|
||||
#if DEBUG
|
||||
if (param_0 < 0 || param_0 > 4) {
|
||||
param_0 = 0;
|
||||
}
|
||||
#endif
|
||||
mPos[param_0] = param_1;
|
||||
}
|
||||
|
||||
u8 daObjCarry_c::mSttsFlag[5];
|
||||
|
||||
void daObjCarry_c::onSttsFlag(int idx, u8 flag) {
|
||||
mSttsFlag[idx] |= flag;
|
||||
#if DEBUG
|
||||
if (idx < 0 || idx > 4) {
|
||||
idx = 0;
|
||||
}
|
||||
#endif
|
||||
cLib_onBit(mSttsFlag[idx], flag);
|
||||
}
|
||||
|
||||
void daObjCarry_c::offSttsFlag(int idx, u8 flag) {
|
||||
mSttsFlag[idx] &= ~flag;
|
||||
#if DEBUG
|
||||
if (idx < 0 || idx > 4) {
|
||||
idx = 0;
|
||||
}
|
||||
#endif
|
||||
cLib_offBit(mSttsFlag[idx], flag);
|
||||
}
|
||||
|
||||
u8 daObjCarry_c::chkSttsFlag(int idx, u8 flag) {
|
||||
return (u8)(mSttsFlag[idx] & flag) ? 1 : 0;
|
||||
#if DEBUG
|
||||
if (idx < 0 || idx > 4) {
|
||||
idx = 0;
|
||||
}
|
||||
#endif
|
||||
return cLib_checkBit(mSttsFlag[idx], flag) > 0;
|
||||
}
|
||||
|
||||
s8 daObjCarry_c::mRoomNo[5];
|
||||
|
||||
void daObjCarry_c::setRoomNo(int idx, s8 roomNo) {
|
||||
#if DEBUG
|
||||
if (idx < 0 || idx > 4) {
|
||||
idx = 0;
|
||||
}
|
||||
#endif
|
||||
mRoomNo[idx] = roomNo;
|
||||
}
|
||||
|
||||
s8 daObjCarry_c::getRoomNo(int idx) {
|
||||
#if DEBUG
|
||||
if (idx < 0 || idx > 4) {
|
||||
idx = 0;
|
||||
}
|
||||
#endif
|
||||
return mRoomNo[idx];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user