mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
+137
-24
@@ -1,33 +1,146 @@
|
||||
#ifndef D_A_BTD_H
|
||||
#define D_A_BTD_H
|
||||
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_magma.h"
|
||||
#include "d/d_particle.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
struct btd_hahen_s {
|
||||
/* 0x00 */ J3DModel* model;
|
||||
/* 0x04 */ u8 m04;
|
||||
/* 0x05 */ u8 m05[0x08 - 0x05];
|
||||
/* 0x08 */ cXyz m08;
|
||||
/* 0x14 */ cXyz m14;
|
||||
/* 0x20 */ s16 m20;
|
||||
/* 0x22 */ s16 m22;
|
||||
/* 0x24 */ u8 m24[0x28 - 0x24];
|
||||
}; // Size: 0x28
|
||||
|
||||
struct btd_sibuki_s {
|
||||
/* 0x00 */ s8 m00;
|
||||
/* 0x01 */ u8 m01[0x04 - 0x01];
|
||||
/* 0x04 */ cXyz m04;
|
||||
/* 0x10 */ cXyz m10;
|
||||
/* 0x20 */ u8 m1C[0x24 - 0x1C];
|
||||
}; // Size: 0x24
|
||||
|
||||
class btd_class : public fopAc_ac_c {
|
||||
public:
|
||||
/* Place member variables here */
|
||||
/* 0x0290 */ u8 field_0x0290[0x2e4 - 0x290];
|
||||
/* 0x02E4 */ s16 field_0x2e4;
|
||||
/* 0x02E6 */ u8 field_0x02E6[0x02F6 - 0x2e6];
|
||||
/* 0x02F6 */ bool field_0x2F6;
|
||||
/* 0x02F7 */ u8 field_0x02F7[0x0320 - 0x02F7];
|
||||
/* 0x0320 */ cXyz field_0x320;
|
||||
/* 0x032C */ cXyz field_0x32C;
|
||||
/* 0x0338 */ u8 field_0x0338[0x0360 - 0x0338];
|
||||
/* 0x0360 */ f32 field_0x360;
|
||||
/* 0x0364 */ u8 field_0x0364[0x6190 - 0x0364];
|
||||
/* 0x6190 */ u8 field_0x6190;
|
||||
/* 0x6191 */ u8 field_0x6191[0x6E15 - 0x6191];
|
||||
/* 0x6E15 */ u8 field_0x6e15;
|
||||
/* 0x6E16 */ s16 field_0x6e16;
|
||||
};
|
||||
|
||||
class daBtd_HIO_c {
|
||||
public:
|
||||
daBtd_HIO_c();
|
||||
|
||||
public:
|
||||
/* Place member variables here */
|
||||
};
|
||||
/* 0x0290 */ u8 m0290[0x02AC - 0x0290];
|
||||
/* 0x02AC */ request_of_phase_process_class m02AC;
|
||||
/* 0x02B4 */ request_of_phase_process_class m02B4;
|
||||
/* 0x02BC */ mDoExt_McaMorf* m02BC;
|
||||
/* 0x02C0 */ mDoExt_btkAnm* btk;
|
||||
/* 0x02C4 */ mDoExt_brkAnm* brk;
|
||||
/* 0x02C8 */ mDoExt_McaMorf* m02C8;
|
||||
/* 0x02CC */ mDoExt_btkAnm* btkS;
|
||||
/* 0x02D0 */ mDoExt_brkAnm* brkS;
|
||||
/* 0x02D4 */ mDoExt_McaMorf* m02D4;
|
||||
/* 0x02D8 */ mDoExt_btkAnm* m02D8;
|
||||
/* 0x02DC */ mDoExt_brkAnm* m02DC;
|
||||
/* 0x02E0 */ u8 m02E0;
|
||||
/* 0x02E1 */ s8 m02E1;
|
||||
/* 0x02E2 */ s16 m02E2;
|
||||
/* 0x02E4 */ s16 m02E4;
|
||||
/* 0x02E6 */ s16 mGohmaState;
|
||||
/* 0x02E8 */ s8 mAttackType;
|
||||
/* 0x02E9 */ s8 m02E9;
|
||||
/* 0x02EA */ s8 m02EA;
|
||||
/* 0x02EB */ u8 m02EB[0x02EC - 0x02EB];
|
||||
/* 0x02EC */ s16 m02EC[2]; // m02EC[0] = mAttackTimer?
|
||||
/* 0x02F0 */ s16 m02F0;
|
||||
/* 0x02F2 */ s16 mStunTimer;
|
||||
/* 0x02F4 */ s16 mActionState;
|
||||
/* 0x02F6 */ u8 m02F6;
|
||||
/* 0x02F7 */ u8 m02F7[0x02F8 - 0x02F7];
|
||||
/* 0x02F8 */ s16 m02F8;
|
||||
/* 0x02FA */ s16 m02FA;
|
||||
/* 0x02FC */ cXyz m02FC[19];
|
||||
/* 0x03E0 */ cXyz m03E0;
|
||||
/* 0x03EC */ dCcD_Stts m03EC;
|
||||
/* 0x0428 */ dCcD_Sph m0428[19];
|
||||
/* 0x1A6C */ dCcD_Sph m1A6C;
|
||||
/* 0x1B98 */ dCcD_Sph m1B98;
|
||||
/* 0x1CC4 */ dCcD_Sph m1CC4[50];
|
||||
/* 0x575C */ dCcD_Cyl m575C[6];
|
||||
/* 0x5E7C */ u8 m5E7C;
|
||||
/* 0x5E7D */ u8 m5E7D[0x5E80 - 0x5E7D];
|
||||
/* 0x5E80 */ f32 m5E80;
|
||||
/* 0x5E84 */ u8 m5E84;
|
||||
/* 0x5E85 */ s8 mTotalDamage;
|
||||
/* 0x5E86 */ u8 m5E86;
|
||||
/* 0x5E87 */ u8 m5E87[0x5E88 - 0x5E87];
|
||||
/* 0x5E88 */ s16 m5E88;
|
||||
/* 0x5E8A */ s16 m5E8A;
|
||||
/* 0x5E8C */ s16 m5E8C;
|
||||
/* 0x5E8E */ s16 m5E8E;
|
||||
/* 0x5E90 */ s16 m5E90;
|
||||
/* 0x5E92 */ s16 m5E92;
|
||||
/* 0x5E94 */ s16 m5E94;
|
||||
/* 0x5E96 */ s16 m5E96;
|
||||
/* 0x5E98 */ cXyz m5E98[25];
|
||||
/* 0x5FC4 */ s16 m5FC4[2];
|
||||
/* 0x5FC8 */ u8 m5FC8[0x5FEA - 0x5FC8];
|
||||
/* 0x5FEA */ s16 m5FEA[2];
|
||||
/* 0x5FEE */ u8 m5FEE[0x5FF8 - 0x5FEE];
|
||||
/* 0x5FF8 */ JPABaseEmitter* m5FF8[5];
|
||||
/* 0x600C */ JPABaseEmitter* m600C[7];
|
||||
/* 0x6028 */ s16 m6028[2];
|
||||
/* 0x602C */ s16 m602C;
|
||||
/* 0x602E */ s16 m602E;
|
||||
/* 0x6030 */ s16 m6030;
|
||||
/* 0x6032 */ s16 m6032;
|
||||
/* 0x6034 */ s16 m6034;
|
||||
/* 0x6036 */ u8 m6036[0x6038 - 0x6036];
|
||||
/* 0x6038 */ JPABaseEmitter* m6038;
|
||||
/* 0x603C */ cXyz m603C;
|
||||
/* 0x6048 */ csXyz m6048;
|
||||
/* 0x604E */ u8 m604E[0x6050 - 0x604E];
|
||||
/* 0x6050 */ dPa_smokeEcallBack mPa_SmokeEcallBack[3];
|
||||
/* 0x60B0 */ LIGHT_INFLUENCE m60B0;
|
||||
/* 0x60D0 */ f32 m60D0;
|
||||
/* 0x60D4 */ f32 m60D4;
|
||||
/* 0x60D8 */ u8 m60D8;
|
||||
/* 0x60D9 */ u8 m60D9;
|
||||
/* 0x60DA */ u8 m60DA;
|
||||
/* 0x60DB */ u8 mKankyoState;
|
||||
/* 0x60DC */ s16 mKankyoTimer;
|
||||
/* 0x60DE */ u8 m60DE[0x60E0 - 0x60DE];
|
||||
/* 0x60E0 */ dKy_tevstr_c m60E0;
|
||||
/* 0x6190 */ u8 m6190;
|
||||
/* 0x6191 */ u8 m6191[0x6194 - 0x6191];
|
||||
/* 0x6194 */ btd_hahen_s hahen[35];
|
||||
/* 0x670C */ btd_sibuki_s mBtdSibukiS[50];
|
||||
/* 0x6E14 */ s8 m6E14;
|
||||
/* 0x6E15 */ u8 m6E15;
|
||||
/* 0x6E16 */ s16 m6E16;
|
||||
/* 0x6E18 */ s16 m6E18;
|
||||
/* 0x6E1A */ s16 m6E1A;
|
||||
/* 0x6E1C */ cXyz m6E1C;
|
||||
/* 0x6E28 */ cXyz m6E28;
|
||||
/* 0x6E34 */ s16 m6E34;
|
||||
/* 0x6E36 */ s16 m6E36;
|
||||
/* 0x6E38 */ u8 m6E38[0x6E3C - 0x6E38];
|
||||
/* 0x6E3C */ f32 m6E3C;
|
||||
/* 0x6E40 */ f32 m6E40;
|
||||
/* 0x6E44 */ f32 m6E44;
|
||||
/* 0x6E48 */ f32 m6E48;
|
||||
/* 0x6E4C */ u8 m6E4C;
|
||||
/* 0x6E4D */ u8 m6E4D[0x6E50 - 0x6E4D];
|
||||
/* 0x6E50 */ cXyz m6E50;
|
||||
/* 0x6E5C */ cXyz m6E5C;
|
||||
/* 0x6E68 */ cXyz m6E68;
|
||||
/* 0x6E74 */ csXyz m6E74;
|
||||
/* 0x6E7A */ u8 m6E7A[0x6E7C - 0x6E7A];
|
||||
/* 0x6E7C */ f32 m6E7C;
|
||||
/* 0x6E80 */ f32 m6E80;
|
||||
/* 0x6E84 */ f32 m6E84;
|
||||
/* 0x6E88 */ u8 m6E88;
|
||||
/* 0x6E89 */ u8 m6E89[0x6E8C - 0x6E89];
|
||||
/* 0x6E8C */ dMagma_floor_c* floor;
|
||||
/* 0x6E90 */ s8 m6E90;
|
||||
/* 0x6E91 */ u8 m6E91[0x6E94 - 0x6E91];
|
||||
}; // Size: 0x6E94
|
||||
|
||||
#endif /* D_A_BTD_H */
|
||||
|
||||
@@ -14,7 +14,7 @@ struct himo2_s {
|
||||
/* 0x1C */ s16 m1C;
|
||||
/* 0x1E */ s16 m1E;
|
||||
/* 0x20 */ u8 m20[0x24 - 0x20];
|
||||
}; // Size: 0x24
|
||||
}; // Size: 0x24
|
||||
|
||||
class himo2_class : public fopAc_ac_c {
|
||||
public:
|
||||
@@ -96,6 +96,6 @@ public:
|
||||
/* 0x2530 */ f32 m2530;
|
||||
/* 0x2534 */ dBgS_AcchCir m2534;
|
||||
/* 0x2574 */ dBgS_ObjAcch m2574;
|
||||
};
|
||||
}; // Size: 0x2738
|
||||
|
||||
#endif /* D_A_HIMO2_H */
|
||||
|
||||
@@ -426,6 +426,7 @@ void dKy_Sound_init();
|
||||
void dKy_change_colset(u8 param_0, u8 param_1, f32 param_2);
|
||||
void dKy_change_colpat(u8 param_0);
|
||||
void dKy_custom_colset(u8 param_0, u8 param_1, f32 i_blend);
|
||||
void dKy_custom_timeset(f32 i_speed);
|
||||
void dKy_pship_existense_set();
|
||||
void dKy_pship_existense_cut();
|
||||
u8 dKy_pship_existense_chk();
|
||||
|
||||
+1
-1
@@ -204,7 +204,7 @@ enum {
|
||||
/* 0xC4 */ DSNAP_TYPE_UNKC4,
|
||||
/* 0xC5 */ DSNAP_TYPE_UNKC5,
|
||||
/* 0xC6 */ DSNAP_TYPE_UNKC6,
|
||||
/* 0xC7 */ DSNAP_TYPE_UNKC7,
|
||||
/* 0xC7 */ DSNAP_TYPE_BTD,
|
||||
/* 0xC8 */ DSNAP_TYPE_UNKC8,
|
||||
/* 0xC9 */ DSNAP_TYPE_BST,
|
||||
/* 0xCA */ DSNAP_TYPE_UNKCA,
|
||||
|
||||
@@ -590,6 +590,8 @@ fpc_ProcID fopAcM_createRaceItem(cXyz* p_pos, int i_itemNo, int i_itemBitNo, csX
|
||||
|
||||
fpc_ProcID fopAcM_createIball(cXyz* p_pos, int itemTableIdx, int roomNo, csXyz* p_angle, int itemStealNum);
|
||||
|
||||
void fopAcM_createWarpFlower(cXyz* p_pos, csXyz* p_angle, int i_roomNo, u8 param_4);
|
||||
|
||||
fpc_ProcID fopAcM_createDemoItem(cXyz* p_pos, int itemNo, int itemBitNo, csXyz* p_angle,
|
||||
int roomNo, cXyz* scale, u8 argFlag);
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ static BOOL daBita_Draw(bita_class* i_this) {
|
||||
/* 0000018C-000002D0 .text mode_normal__FP10bita_class */
|
||||
static void mode_normal(bita_class* i_this) {
|
||||
if (btd != NULL) {
|
||||
if (btd->field_0x6e16 >= 100) {
|
||||
if (btd->m6E16 >= 100) {
|
||||
cXyz delta = dComIfGp_getCamera(0)->mLookat.mEye - i_this->current.pos;
|
||||
if (delta.abs() < 1500.0f) {
|
||||
fopAcM_delete(i_this);
|
||||
|
||||
+2649
-84
File diff suppressed because it is too large
Load Diff
@@ -293,12 +293,12 @@ void iwa_move(dr2_class* i_this) {
|
||||
i_this->unk_4A8.y += a_this->speed.y;
|
||||
a_this->speed.y -= REG0_F(2) + 10.0f;
|
||||
|
||||
f32 fVar11 = btd->field_0x320.y + REG0_F(3);
|
||||
f32 fVar11 = btd->m02FC[3].y + REG0_F(3);
|
||||
if (i_this->unk_4A8.y < fVar11) {
|
||||
i_this->unk_4A8.y = fVar11;
|
||||
i_this->unk_4BA = 2;
|
||||
i_this->unk_400[0] = 0x32;
|
||||
btd->field_0x2F6 = true;
|
||||
btd->m02F6 = true;
|
||||
fopAcM_seStartCurrent(a_this, JA_SE_CM_BTD_ROCK_HIT, 0);
|
||||
dComIfGp_getVibration().StartShock(REG0_S(2) + 5, -0x21, cXyz(0.0f, 1.0f, 0.0f));
|
||||
}
|
||||
@@ -308,19 +308,19 @@ void iwa_move(dr2_class* i_this) {
|
||||
i_this->unk_40A = 3;
|
||||
cLib_addCalc2(&i_this->unk_414, 2000.0f, 0.5f, 100.0f);
|
||||
|
||||
i_this->unk_4A8.y = btd->field_0x320.y + REG0_F(3);
|
||||
i_this->unk_4A8.y = btd->m02FC[3].y + REG0_F(3);
|
||||
i_this->unk_4B4.y = i_this->unk_514->current.angle.y;
|
||||
|
||||
if (btd->field_0x320.y < REG0_F(6) + 100.0f) {
|
||||
i_this->unk_4C0 = (REG0_F(6) + 100.0f) - btd->field_0x320.y;
|
||||
if (btd->m02FC[3].y < REG0_F(6) + 100.0f) {
|
||||
i_this->unk_4C0 = (REG0_F(6) + 100.0f) - btd->m02FC[3].y;
|
||||
i_this->unk_4C0 *= REG0_F(7) + 0.3f;
|
||||
}
|
||||
|
||||
sp4C = btd->field_0x320 - btd->field_0x32C;
|
||||
sp4C = btd->m02FC[3] - btd->m02FC[4];
|
||||
sp4C.y += REG0_F(5) + -330.0f + i_this->unk_4C0;
|
||||
cLib_addCalcAngleS2(&i_this->unk_4B4.x, -cM_atan2s(sp4C.y, std::sqrtf(sp4C.x * sp4C.x + sp4C.z * sp4C.z)), 1, 0x200);
|
||||
|
||||
if (!btd->field_0x2F6) {
|
||||
if (!btd->m02F6) {
|
||||
i_this->unk_4BA = 3;
|
||||
#if VERSION == VERSION_DEMO
|
||||
i_this->unk_4D4_demo =
|
||||
@@ -331,7 +331,7 @@ void iwa_move(dr2_class* i_this) {
|
||||
break;
|
||||
|
||||
case 3:
|
||||
i_this->unk_4A8.y = btd->field_0x360 + 100.0f + REG0_F(9);
|
||||
i_this->unk_4A8.y = btd->m02FC[8].y + 100.0f + REG0_F(9);
|
||||
cLib_addCalcAngleS2(&i_this->unk_4B4.x, 0, 1, 0x100);
|
||||
cLib_addCalcAngleS2(&i_this->unk_4B4.y, 0, 1, 0x100);
|
||||
|
||||
|
||||
+10
-10
@@ -994,7 +994,7 @@ void new_himo2_move(himo2_class* param_1) {
|
||||
param_1->m24D9 = 0xFF;
|
||||
param_1->m24D8 = 1;
|
||||
if (btd != 0) {
|
||||
fopAcM_OffStatus(btd, 0x4000);
|
||||
fopAcM_OffStatus(btd, fopAcStts_UNK4000_e);
|
||||
}
|
||||
} else if ((param_1->m02A2 == 0) && param_1->m2050.ChkAtHit()) {
|
||||
param_1->m02DC = 9;
|
||||
@@ -1314,7 +1314,7 @@ void new_himo2_move(himo2_class* param_1) {
|
||||
cLib_addCalc2(¶m_1->m24E8.y, param_1->m217C->home.pos.y + 2500.0f + REG0_F(14), 0.3f, 100.0f);
|
||||
cLib_addCalc2(¶m_1->m24F4, REG0_F(13) + 80.0f, 1.0f, 2.0f);
|
||||
if (param_1->m029C < 30) {
|
||||
btd->field_0x6e15 = 0xB4;
|
||||
btd->m6E15 = 0xB4;
|
||||
}
|
||||
if (param_1->m029C == 30) {
|
||||
fopAcM_seStartCurrent((fopAc_ac_c*)dr, JA_SE_CM_BTD_ROPE_SET, 0);
|
||||
@@ -1325,7 +1325,7 @@ void new_himo2_move(himo2_class* param_1) {
|
||||
if ((param_1->m029C != 0) || (REG0_S(8) != 0)) {
|
||||
break;
|
||||
}
|
||||
btd->field_0x6e15 = 1;
|
||||
btd->m6E15 = 1;
|
||||
param_1->m24D9 = 4;
|
||||
if ((dComIfGp_getStartStageName()[0] == 'X') || (dComIfGs_isEventBit(0x420))) {
|
||||
param_1->m029C = 0;
|
||||
@@ -1494,17 +1494,17 @@ void new_himo2_move(himo2_class* param_1) {
|
||||
cLib_addCalc2(¶m_1->m24DC.y, 0.0f, 0.5f, 100.0f);
|
||||
if (param_1->m029C == (s16)(REG0_S(4) + 0x6E)) {
|
||||
param_1->m2520 = REG0_F(11) + 50.0f;
|
||||
btd->field_0x6e15 = 0xB4;
|
||||
btd->m6E15 = 0xB4;
|
||||
}
|
||||
if (param_1->m029C < 81) {
|
||||
cLib_addCalc2(¶m_1->m24F4, REG0_F(14) + 40.0f, 0.5f, 2.0f);
|
||||
}
|
||||
}
|
||||
if (param_1->m029C == 2) {
|
||||
btd->field_0x6e15 = 1;
|
||||
btd->m6E15 = 1;
|
||||
}
|
||||
if (param_1->m029C == 0) {
|
||||
if (btd->field_0x6190 >= 3) {
|
||||
if (btd->m6190 >= 3) {
|
||||
param_1->m24D9 = 9;
|
||||
param_1->m029C = 220;
|
||||
} else {
|
||||
@@ -1515,7 +1515,7 @@ void new_himo2_move(himo2_class* param_1) {
|
||||
camera->mCamera.Reset(param_1->eyePos, local_164);
|
||||
camera->mCamera.Start();
|
||||
camera->mCamera.SetTrimSize(0);
|
||||
fopAcM_OffStatus(btd, 0x4000);
|
||||
fopAcM_OffStatus(btd, fopAcStts_UNK4000_e);
|
||||
dComIfGp_event_reset();
|
||||
}
|
||||
dr->unk_40A = 0;
|
||||
@@ -1534,10 +1534,10 @@ void new_himo2_move(himo2_class* param_1) {
|
||||
cLib_addCalc2(¶m_1->m24DC.y, local_11c.y, 0.1f, 50.0f);
|
||||
cLib_addCalc2(¶m_1->m24DC.z, local_11c.z, 0.1f, 50.0f);
|
||||
if (param_1->m029C == 99) {
|
||||
btd->field_0x6e15 = 0xB4;
|
||||
btd->m6E15 = 0xB4;
|
||||
}
|
||||
if (param_1->m029C == 40) {
|
||||
btd->field_0x6e15 = 1;
|
||||
btd->m6E15 = 1;
|
||||
}
|
||||
if (param_1->m029C == 0) {
|
||||
param_1->m24D9 = 0;
|
||||
@@ -1547,7 +1547,7 @@ void new_himo2_move(himo2_class* param_1) {
|
||||
camera->mCamera.Reset(param_1->eyePos, local_170);
|
||||
camera->mCamera.Start();
|
||||
camera->mCamera.SetTrimSize(0);
|
||||
fopAcM_OffStatus(btd, 0x4000);
|
||||
fopAcM_OffStatus(btd, fopAcStts_UNK4000_e);
|
||||
dComIfGp_event_reset();
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -219,7 +219,7 @@ static BOOL daKui_Execute(kui_class* i_this) {
|
||||
btd_class* btd = search_btd(i_this);
|
||||
|
||||
if (dragon_tail != NULL && btd != NULL) {
|
||||
if ((dragon_tail->unk_4BA == 0 || dragon_tail->unk_4BA >= 10) && btd->field_0x2e4 < 10) {
|
||||
if ((dragon_tail->unk_4BA == 0 || dragon_tail->unk_4BA >= 10) && btd->m02E4 < 10) {
|
||||
actor->current.pos = dragon_tail->unk_3B0;
|
||||
actor->current.angle = dragon_tail->actor.current.angle;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user