mirror of https://github.com/zeldaret/tp.git
parent
aec2c0987d
commit
0a8679f92e
|
|
@ -3564,6 +3564,36 @@ public:
|
|||
return var_r4;
|
||||
}
|
||||
|
||||
BOOL setCanoeCast() {
|
||||
if (mProcVar2.field_0x300c == 0 && checkCanoeFishingWaitAnime()) {
|
||||
mProcVar2.field_0x300c = 1;
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
bool checkFishingRodGrabLeft() const { return mItemVar0.field_0x3018 == 0; }
|
||||
|
||||
void setCanoeFishingWaitAngle(s16 i_angle) { field_0x311a = i_angle; }
|
||||
|
||||
void setFishingArnmAngle(s16 i_angle) { field_0x3160.set(0, 0, i_angle); }
|
||||
void setFishingArm1Angle(const csXyz& i_angle) { mFishingArm1Angle = i_angle; }
|
||||
void setFishingArm2Angle(const csXyz& i_angle) { field_0x3160 = i_angle; }
|
||||
|
||||
void onFishingRodCastingEnd() { onNoResetFlg1(FLG1_UNK_8000); }
|
||||
void endFishingCastWait() { offNoResetFlg2(FLG2_UNK_20000000); }
|
||||
|
||||
void startFishingCastWait() {
|
||||
if (checkFishingRodItem(mEquipItem)) {
|
||||
onNoResetFlg2(FLG2_UNK_20000000);
|
||||
}
|
||||
}
|
||||
|
||||
f32 getFishingReelFrame() const { return mUpperFrameCtrl[2].getFrame(); }
|
||||
|
||||
void changeFishGetFace(u8 param_0) { field_0x2fc8 = param_0; }
|
||||
|
||||
BOOL checkSlideMode() {
|
||||
return mProcID == PROC_SLIDE || mProcID == PROC_SLIDE_LAND ||
|
||||
mProcID == PROC_WOLF_SLIDE_READY || mProcID == PROC_WOLF_SLIDE_LAND ||
|
||||
|
|
@ -3578,6 +3608,22 @@ public:
|
|||
return (mEquipItem == 0x5C || mEquipItem == 0x5F) || mEquipItem == 0x5E;
|
||||
}
|
||||
|
||||
bool checkFisingRodWorm() const { return mItemMode == 0x74; }
|
||||
|
||||
bool checkFisingRodBee() const { return mItemMode == 0x76; }
|
||||
|
||||
void fishingCastWaitAnimeStart() {
|
||||
if (mProcID == PROC_FISHING_CAST) {
|
||||
mProcVar3.field_0x300e = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void fishingCastWaitAnimeStop() {
|
||||
if (mProcID == PROC_FISHING_CAST) {
|
||||
mProcVar3.field_0x300e = 1;
|
||||
}
|
||||
}
|
||||
|
||||
MtxP getCopyRodMtx() {
|
||||
if (mHeldItemModel != NULL) {
|
||||
return mHeldItemModel->getAnmMtx(0);
|
||||
|
|
|
|||
|
|
@ -8,27 +8,66 @@
|
|||
#include "d/d_msg_flow.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
#define MG_ROD_LURE_LINE_LEN 106
|
||||
#define MG_ROD_UKI_LINE_LEN 100
|
||||
|
||||
enum mg_catch_type {
|
||||
MG_CATCH_FISH,
|
||||
MG_CATCH_BT, // Boot
|
||||
MG_CATCH_SP, // Spoon
|
||||
MG_CATCH_LH, // Rupee Bag
|
||||
MG_CATCH_SG, // Skullfish
|
||||
MG_CATCH_BB, // Bombfish
|
||||
MG_CATCH_BIN, // Empty Bottle
|
||||
MG_CATCH_KN, // Can
|
||||
MG_CATCH_ED, // Branch
|
||||
MG_CATCH_SY, // Wheel
|
||||
};
|
||||
|
||||
enum mg_lure_type {
|
||||
MG_LURE_FR, // Frog
|
||||
MG_LURE_PE, // Swimmer
|
||||
MG_LURE_PO, // Popper
|
||||
MG_LURE_WS, // Spinner
|
||||
MG_LURE_SP, // Spoon (Sinking)
|
||||
};
|
||||
|
||||
enum mg_rod_kind {
|
||||
MG_ROD_KIND_LURE, // Henna Fishing Rod
|
||||
MG_ROD_KIND_UKI, // Player Fishing Rod
|
||||
};
|
||||
|
||||
enum mg_rod_uki_action {
|
||||
ACTION_UKI_READY,
|
||||
ACTION_UKI_STANDBY,
|
||||
|
||||
ACTION_UKI_HIT = 5,
|
||||
ACTION_UKI_CATCH,
|
||||
};
|
||||
|
||||
enum mg_rod_lure_action {
|
||||
ACTION_LURE_ONBOAT,
|
||||
ACTION_LURE_STANDBY,
|
||||
|
||||
ACTION_LURE_CAST = 3,
|
||||
ACTION_LURE_ACTION,
|
||||
ACTION_LURE_HIT,
|
||||
ACTION_LURE_CATCH,
|
||||
ACTION_LURE_BARE,
|
||||
ACTION_LURE_HEART,
|
||||
};
|
||||
|
||||
struct mg_rod_s {
|
||||
/* 0x0 */ u8 field_0x0[0x14 - 0x0];
|
||||
/* 0x14 */ void* field_0x14;
|
||||
/* 0x18 */ u8 field_0x18[0x2E - 0x18];
|
||||
/* 0x2E */ s16 field_0x2e;
|
||||
/* 0x30 */ s16 field_0x30;
|
||||
/* 0x32 */ u8 field_0x32[0x54 - 0x32];
|
||||
/* 0x54 */ u32 field_0x54;
|
||||
/* 0x58 */ u8 field_0x58[0xC0 - 0x58];
|
||||
/* 0x0 */ cXyz field_0x0[16];
|
||||
};
|
||||
|
||||
struct mg_line_s {
|
||||
/* 0x0 */ cXyz field_0x0[100];
|
||||
/* 0x0 */ cXyz pos[100];
|
||||
};
|
||||
|
||||
struct mg_hook_s {
|
||||
/* 804BAF78 */ ~mg_hook_s();
|
||||
/* 804BAFD8 */ mg_hook_s();
|
||||
|
||||
/* 0x00 */ cXyz field_0x0[2];
|
||||
/* 0x18 */ u8 field_0x18[0x20 - 0x18];
|
||||
/* 0x18 */ csXyz field_0x18;
|
||||
};
|
||||
|
||||
struct wd_ss;
|
||||
|
|
@ -41,132 +80,224 @@ struct wd_ss;
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class dmg_rod_class : public fopAc_ac_c {
|
||||
class dmg_rod_class {
|
||||
public:
|
||||
/* 804BAC0C */ dmg_rod_class();
|
||||
|
||||
f32 getRodStickX() { return mRodStickX; }
|
||||
f32 getRodStickY() { return mRodStickY; }
|
||||
f32 getRodStickX() { return rod_stick_x; }
|
||||
f32 getRodStickY() { return rod_stick_y; }
|
||||
bool checkRodEquipPermission() { return field_0x1514 == 0; }
|
||||
bool checkReelSpin() { return field_0x14f0 != 0; }
|
||||
bool checkReelSpin() { return reel_btn_flags != 0; }
|
||||
|
||||
/* 0x0568 */ u8 field_0x568[0x57A - 0x568];
|
||||
/* 0x057A */ s16 field_0x57a;
|
||||
/* 0x057C */ u8 field_0x57c[0x57E - 0x57C];
|
||||
/* 0x057E */ s16 field_0x57e;
|
||||
/* 0x0580 */ s16 field_0x580;
|
||||
/* 0x0582 */ u8 field_0x582[0x584 - 0x582];
|
||||
/* 0x0584 */ s16 field_0x584;
|
||||
/* 0x0586 */ u8 field_0x586[0x590 - 0x586];
|
||||
/* 0x0000 */ fopAc_ac_c actor;
|
||||
/* 0x0568 */ request_of_phase_process_class phase;
|
||||
/* 0x0570 */ char* arcname;
|
||||
/* 0x0574 */ u8 arg0;
|
||||
/* 0x0575 */ u8 arg1;
|
||||
/* 0x0576 */ u8 arg2;
|
||||
/* 0x0578 */ s16 field_0x578;
|
||||
/* 0x057A */ s16 timers[10];
|
||||
/* 0x0590 */ f32 field_0x590;
|
||||
/* 0x0594 */ u8 field_0x594[0x5A4 - 0x594];
|
||||
/* 0x05A4 */ mg_rod_s field_0x5a4;
|
||||
/* 0x0664 */ u8 field_0x664[0x6AC - 0x664];
|
||||
/* 0x0594 */ f32 field_0x594;
|
||||
/* 0x0598 */ f32 field_0x598;
|
||||
/* 0x059C */ f32 field_0x59c;
|
||||
/* 0x05A0 */ u8 field_0x5A0[0x05A4 - 0x05A0];
|
||||
/* 0x05A4 */ mg_rod_s mg_rod; // below to mg_line_s part of mg_rod_s?
|
||||
/* 0x0664 */ J3DModel* rod_uki_model[15];
|
||||
/* 0x06A0 */ f32 field_0x6a0;
|
||||
/* 0x06A4 */ f32 field_0x6a4;
|
||||
/* 0x06A8 */ u8 field_0x6a8;
|
||||
/* 0x06AC */ cXyz field_0x6ac;
|
||||
/* 0x06B8 */ cXyz field_0x6b8;
|
||||
/* 0x06C4 */ u8 field_0x6c4[0x6C8 - 0x6C4];
|
||||
/* 0x06C4 */ s16 field_0x6c4;
|
||||
/* 0x06C8 */ cXyz field_0x6c8;
|
||||
/* 0x06D4 */ cXyz field_0x6d4;
|
||||
/* 0x06E0 */ s16 field_0x6e0;
|
||||
/* 0x06E2 */ u8 field_0x6e2[0x6EC - 0x6E2];
|
||||
/* 0x06E0 */ f32 field_0x6e0;
|
||||
/* 0x06E4 */ f32 field_0x6e4;
|
||||
/* 0x06E8 */ s8 field_0x6e8;
|
||||
/* 0x06EC */ cXyz field_0x6ec;
|
||||
/* 0x06F8 */ f32 field_0x6f8;
|
||||
/* 0x06FC */ u8 field_0x6fc[0x71C - 0x6FC];
|
||||
/* 0x06FC */ f32 cast_power;
|
||||
/* 0x0700 */ mDoExt_McaMorf* rod_modelMorf;
|
||||
/* 0x0704 */ J3DModel* unk_ring_model[6];
|
||||
/* 0x071C */ csXyz field_0x71c[6];
|
||||
/* 0x0740 */ u8 field_0x740[0x744 - 0x740];
|
||||
/* 0x0740 */ u8 field_0x740[0x0744 - 0x0740];
|
||||
/* 0x0744 */ cXyz field_0x744;
|
||||
/* 0x0750 */ cXyz field_0x750;
|
||||
/* 0x075C */ u8 field_0x75c[0x764 - 0x75C];
|
||||
/* 0x075C */ s16 field_0x75c;
|
||||
/* 0x075E */ s16 field_0x75e;
|
||||
/* 0x0760 */ f32 field_0x760;
|
||||
/* 0x0764 */ cXyz field_0x764;
|
||||
/* 0x0770 */ mg_line_s field_0x770;
|
||||
/* 0x0C20 */ u8 field_0xc20[0xF5C - 0xC20];
|
||||
/* 0x0770 */ mg_line_s mg_line; // below to mg_hook_s part of mg_line_s?
|
||||
/* 0x0C20 */ f32 field_0xc20[98];
|
||||
/* 0x0DA8 */ u8 field_0xDA8[0x0DB0 - 0x0DA8];
|
||||
/* 0x0DB0 */ f32 field_0xdb0[98];
|
||||
/* 0x0F38 */ u8 field_0xF38[0x0F40 - 0x0F38];
|
||||
/* 0x0F40 */ mDoExt_3DlineMat0_c linemat;
|
||||
/* 0x0F5C */ f32 field_0xf5c;
|
||||
/* 0x0F60 */ f32 field_0xf60;
|
||||
/* 0x0F64 */ f32 field_0xf64;
|
||||
/* 0x0F68 */ u8 field_0xf68[0xF7C - 0xF68];
|
||||
/* 0x0F7C */ s16 field_0xf7c;
|
||||
/* 0x0F7E */ s16 field_0xf7e;
|
||||
/* 0x0F80 */ s8 field_0xf80;
|
||||
/* 0x0F81 */ u8 field_0xf81[0xFAC - 0xF81];
|
||||
/* 0x0FAC */ mg_hook_s field_0xfac[2];
|
||||
/* 0x0FEC */ u8 field_0xfec[0xFFC - 0xFEC];
|
||||
/* 0x0F68 */ f32 field_0xf68;
|
||||
/* 0x0F6C */ u8 field_0xF6C[0x0F6E - 0x0F6C];
|
||||
/* 0x0F6E */ s8 field_0xf6e;
|
||||
/* 0x0F6F */ u8 field_0xF6F[0x0F74 - 0x0F6F];
|
||||
/* 0x0F74 */ f32 field_0xf74;
|
||||
/* 0x0F78 */ f32 field_0xf78;
|
||||
/* 0x0F7C */ s16 kind;
|
||||
/* 0x0F7E */ s16 action;
|
||||
/* 0x0F80 */ s8 lure_type;
|
||||
/* 0x0F81 */ s8 field_0xf81;
|
||||
/* 0x0F84 */ J3DModel* lure_model[5];
|
||||
/* 0x0F98 */ J3DModel* hook_model[2];
|
||||
/* 0x0FA0 */ J3DModel* ring_model;
|
||||
/* 0x0FA4 */ u8 field_0xFA4[0x0FAC - 0x0FA4];
|
||||
/* 0x0FAC */ mg_hook_s mg_hook[2];
|
||||
/* 0x0FEC */ f32 field_0xfec;
|
||||
/* 0x0FF0 */ s16 field_0xff0;
|
||||
/* 0x0FF2 */ s16 field_0xff2;
|
||||
/* 0x0FF4 */ s16 field_0xff4;
|
||||
/* 0x0FF8 */ f32 field_0xff8;
|
||||
/* 0x0FFC */ s16 field_0xffc;
|
||||
/* 0x0FFE */ u8 field_0xffe[2];
|
||||
/* 0x0FFE */ s16 field_0xffe;
|
||||
/* 0x1000 */ s16 field_0x1000;
|
||||
/* 0x1002 */ u8 field_0x1002[2];
|
||||
/* 0x1002 */ s16 field_0x1002;
|
||||
/* 0x1004 */ s16 field_0x1004;
|
||||
/* 0x1006 */ s16 field_0x1006;
|
||||
/* 0x1008 */ s8 field_0x1008;
|
||||
/* 0x1009 */ s8 field_0x1009;
|
||||
/* 0x100A */ s8 field_0x100a;
|
||||
/* 0x100B */ u8 field_0x100b[1];
|
||||
/* 0x100B */ u8 field_0x100b;
|
||||
/* 0x100C */ u8 field_0x100c;
|
||||
/* 0x100D */ s8 field_0x100d;
|
||||
/* 0x100E */ u8 field_0x100e[1];
|
||||
/* 0x100E */ s8 field_0x100e;
|
||||
/* 0x100F */ s8 field_0x100f;
|
||||
/* 0x1010 */ u8 field_0x1010[0x102C - 0x1010];
|
||||
/* 0x102C */ s8 field_0x102c;
|
||||
/* 0x102D */ s8 field_0x102d;
|
||||
/* 0x102E */ u8 field_0x102e[0x1060 - 0x102E];
|
||||
/* 0x1060 */ cXyz mHookPosition;
|
||||
/* 0x1010 */ cXyz field_0x1010;
|
||||
/* 0x101C */ s16 field_0x101c[1];
|
||||
/* 0x101E */ s16 field_0x101e;
|
||||
/* 0x1020 */ s16 field_0x1020;
|
||||
/* 0x1022 */ s16 field_0x1022;
|
||||
/* 0x1024 */ J3DModel* uki_model;
|
||||
/* 0x1028 */ J3DModel* uki_saki_model;
|
||||
/* 0x102C */ s8 esa_kind;
|
||||
/* 0x102D */ s8 hook_kind;
|
||||
/* 0x102E */ s8 field_0x102e;
|
||||
/* 0x102F */ u8 field_0x102f;
|
||||
/* 0x1030 */ J3DModel* esa_model[2];
|
||||
/* 0x1038 */ u8 field_0x1038[0x103C - 0x1038];
|
||||
/* 0x103C */ s16 field_0x103c[8];
|
||||
/* 0x104C */ u8 field_0x104C[0x104E - 0x104C];
|
||||
/* 0x104E */ s16 field_0x104e[8];
|
||||
/* 0x1060 */ cXyz hook_pos;
|
||||
/* 0x106C */ cXyz field_0x106c;
|
||||
/* 0x1078 */ cXyz field_0x1078;
|
||||
/* 0x1084 */ csXyz field_0x1084;
|
||||
/* 0x108A */ u8 field_0x108a[0x1090 - 0x108A];
|
||||
/* 0x108A */ s16 field_0x108a;
|
||||
/* 0x108C */ s16 field_0x108c;
|
||||
/* 0x108E */ s16 field_0x108e;
|
||||
/* 0x1090 */ f32 field_0x1090;
|
||||
/* 0x1094 */ u8 field_0x1094[0x10A4 - 0x1094];
|
||||
/* 0x1094 */ f32 field_0x1094;
|
||||
/* 0x1098 */ u8 field_0x1098[0x109C - 0x1098];
|
||||
/* 0x109C */ s16 field_0x109c;
|
||||
/* 0x109E */ s16 field_0x109e;
|
||||
/* 0x10A0 */ s16 field_0x10a0;
|
||||
/* 0x10A2 */ s16 field_0x10a2;
|
||||
/* 0x10A4 */ s8 field_0x10a4;
|
||||
/* 0x10A5 */ s8 field_0x10a5;
|
||||
/* 0x10A6 */ s8 field_0x10a6;
|
||||
/* 0x10A7 */ s8 field_0x10a7;
|
||||
/* 0x10A8 */ s8 field_0x10a8;
|
||||
/* 0x10A9 */ s8 field_0x10a9;
|
||||
/* 0x10AA */ s8 field_0x10aa;
|
||||
/* 0x10AA */ u8 field_0x10aa;
|
||||
/* 0x10AB */ u8 field_0x10ab;
|
||||
/* 0x10AC */ s32 mFishId;
|
||||
/* 0x10AC */ fpc_ProcID mg_fish_id;
|
||||
/* 0x10B0 */ s16 field_0x10b0;
|
||||
/* 0x10B2 */ u8 field_0x10b2[2];
|
||||
/* 0x10B4 */ Z2Creature field_0x10b4;
|
||||
/* 0x1144 */ u8 field_0x1144[0x114A - 0x1144];
|
||||
/* 0x10B4 */ Z2Creature sound;
|
||||
/* 0x1144 */ fpc_ProcID boat_actor_id;
|
||||
/* 0x1148 */ s8 field_0x1148;
|
||||
/* 0x114A */ s16 field_0x114a;
|
||||
/* 0x114C */ s16 field_0x114c;
|
||||
/* 0x114E */ u8 field_0x114e[0x1178 - 0x114E];
|
||||
/* 0x114E */ s16 field_0x114e;
|
||||
/* 0x1150 */ s16 field_0x1150;
|
||||
/* 0x1154 */ f32 field_0x1154;
|
||||
/* 0x1158 */ u8 field_0x1158[0x1165 - 0x1158];
|
||||
/* 0x1165 */ s8 field_0x1165;
|
||||
/* 0x1168 */ u32 sibuki_eff[4];
|
||||
/* 0x1178 */ u32 field_0x1178;
|
||||
/* 0x117C */ u8 field_0x117c[0x1190 - 0x117C];
|
||||
/* 0x1190 */ dBgS_AcchCir field_0x1190;
|
||||
/* 0x11D0 */ dBgS_ObjAcch field_0x11d0;
|
||||
/* 0x13A8 */ u8 field_0x13a8[0x13B4 - 0x13A8];
|
||||
/* 0x13B4 */ s16 field_0x13b4;
|
||||
/* 0x13B6 */ s16 field_0x13b6;
|
||||
/* 0x13B8 */ u8 field_0x13b8[0x1408 - 0x13B8];
|
||||
/* 0x1408 */ f32 field_0x1408;
|
||||
/* 0x140C */ u8 field_0x140c[0x1410 - 0x140C];
|
||||
/* 0x117C */ u32 field_0x117c;
|
||||
/* 0x1180 */ u32 field_0x1180[2];
|
||||
/* 0x1188 */ f32 field_0x1188;
|
||||
/* 0x118C */ f32 field_0x118c;
|
||||
/* 0x1190 */ dBgS_AcchCir acchcir;
|
||||
/* 0x11D0 */ dBgS_ObjAcch acch;
|
||||
/* 0x13A8 */ u8 field_0x13a8;
|
||||
/* 0x13AC */ f32 field_0x13ac;
|
||||
/* 0x13B0 */ f32 field_0x13b0;
|
||||
/* 0x13B4 */ s16 play_cam_mode;
|
||||
/* 0x13B6 */ s16 play_cam_timer;
|
||||
/* 0x13B8 */ cXyz play_cam_eye;
|
||||
/* 0x13C4 */ cXyz play_cam_center;
|
||||
/* 0x13D0 */ cXyz play_cam_eye_target;
|
||||
/* 0x13DC */ cXyz play_cam_center_target;
|
||||
/* 0x13E8 */ cXyz play_cam_eye_speed;
|
||||
/* 0x13F4 */ cXyz play_cam_center_speed;
|
||||
/* 0x1400 */ s16 field_0x1400;
|
||||
/* 0x1402 */ s16 field_0x1402;
|
||||
/* 0x1404 */ s16 field_0x1404;
|
||||
/* 0x1406 */ u8 field_0x1406;
|
||||
/* 0x1407 */ u8 field_0x1407;
|
||||
/* 0x1408 */ f32 play_cam_fovy;
|
||||
/* 0x140C */ f32 field_0x140c;
|
||||
/* 0x1410 */ f32 field_0x1410;
|
||||
/* 0x1414 */ u8 field_0x1414[0x146D - 0x1414];
|
||||
/* 0x1414 */ f32 field_0x1414;
|
||||
/* 0x1418 */ s16 field_0x1418;
|
||||
/* 0x141A */ s16 field_0x141a;
|
||||
/* 0x141C */ f32 field_0x141c;
|
||||
/* 0x1420 */ f32 field_0x1420;
|
||||
/* 0x1424 */ f32 field_0x1424;
|
||||
/* 0x1428 */ f32 field_0x1428;
|
||||
/* 0x142C */ f32 field_0x142c;
|
||||
/* 0x1430 */ u8 field_0x1430[0x1434 - 0x1430];
|
||||
/* 0x1434 */ cXyz field_0x1434;
|
||||
/* 0x1440 */ cXyz field_0x1440;
|
||||
/* 0x144C */ cXyz field_0x144c;
|
||||
/* 0x1458 */ cXyz field_0x1458;
|
||||
/* 0x1464 */ f32 field_0x1464;
|
||||
/* 0x1468 */ u8 field_0x1468[0x146C - 0x1468];
|
||||
/* 0x146C */ u8 field_0x146c;
|
||||
/* 0x146D */ s8 field_0x146d;
|
||||
/* 0x146E */ u8 field_0x146e[0x1474 - 0x146E];
|
||||
/* 0x1474 */ dMsgFlow_c mMsgFlow;
|
||||
/* 0x14C0 */ u8 field_0x14c0[0x14C2 - 0x14C0];
|
||||
/* 0x14C2 */ s16 field_0x14c2;
|
||||
/* 0x14C4 */ u8 field_0x14c4[0x14C8 - 0x14C4];
|
||||
/* 0x14C8 */ f32 mRodStickX;
|
||||
/* 0x14CC */ f32 mRodStickY;
|
||||
/* 0x14D0 */ u8 field_0x14d0[0x14D8 - 0x14D0];
|
||||
/* 0x14D8 */ f32 field_0x14d8;
|
||||
/* 0x14DC */ f32 field_0x14dc;
|
||||
/* 0x14E0 */ u8 field_0x14e0[0x14F0 - 0x14E0];
|
||||
/* 0x14F0 */ s32 field_0x14f0;
|
||||
/* 0x14F4 */ u8 field_0x14f4[0x14FC - 0x14F4];
|
||||
/* 0x14F4 */ s16 field_0x14fc;
|
||||
/* 0x14F4 */ u8 field_0x14fe[0x1508 - 0x14FE];
|
||||
/* 0x146E */ u8 field_0x146E[0x1470 - 0x146E];
|
||||
/* 0x1470 */ u8 field_0x1470;
|
||||
/* 0x1472 */ s16 field_0x1472;
|
||||
/* 0x1474 */ dMsgFlow_c msgflow;
|
||||
/* 0x14C0 */ u8 field_0x14c0;
|
||||
/* 0x14C2 */ u16 field_0x14c2;
|
||||
/* 0x14C4 */ u16 catch_flow_id;
|
||||
/* 0x14C6 */ u8 field_0x14C6[0x14C8 - 0x14C6];
|
||||
/* 0x14C8 */ f32 rod_stick_x;
|
||||
/* 0x14CC */ f32 rod_stick_y;
|
||||
/* 0x14D0 */ f32 field_0x14d0;
|
||||
/* 0x14D4 */ f32 field_0x14d4;
|
||||
/* 0x14D8 */ f32 rod_substick_x;
|
||||
/* 0x14DC */ f32 rod_substick_y;
|
||||
/* 0x14E0 */ f32 prev_rod_substick_y;
|
||||
/* 0x14E4 */ u8 field_0x14e4;
|
||||
/* 0x14E5 */ u8 field_0x14E5[0x14EC - 0x14E5];
|
||||
/* 0x14EC */ f32 field_0x14ec;
|
||||
/* 0x14F0 */ int reel_btn_flags;
|
||||
/* 0x14F4 */ f32 reel_speed;
|
||||
/* 0x14F8 */ s16 field_0x14f8;
|
||||
/* 0x14FA */ s16 field_0x14fa;
|
||||
/* 0x14FC */ s16 field_0x14fc;
|
||||
/* 0x14FE */ u8 field_0x14FE[0x1504 - 0x14FE];
|
||||
/* 0x1504 */ f32 field_0x1504;
|
||||
/* 0x1508 */ f32 field_0x1508;
|
||||
/* 0x150C */ u8 field_0x150c[0x1514 - 0x150C];
|
||||
/* 0x150C */ f32 field_0x150c;
|
||||
/* 0x1510 */ u8 field_0x1510[0x1514 - 0x1510];
|
||||
/* 0x1514 */ u8 field_0x1514;
|
||||
/* 0x1515 */ u8 field_0x1515;
|
||||
/* 0x1516 */ u8 field_0x1516[0x1518 - 0x1516];
|
||||
/* 0x1518 */ dCcD_Stts field_0x1518;
|
||||
/* 0x1554 */ dCcD_Sph field_0x1554;
|
||||
/* 0x1518 */ dCcD_Stts ccStts;
|
||||
/* 0x1554 */ dCcD_Sph ccSph;
|
||||
/* 0x168C */ u8 field_0x168c;
|
||||
/* 0x168D */ u8 field_0x168d;
|
||||
/* 0x168E */ u8 HIOInit;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dmg_rod_class) == 0x1690);
|
||||
|
|
@ -174,7 +305,17 @@ STATIC_ASSERT(sizeof(dmg_rod_class) == 0x1690);
|
|||
class dmg_rod_HIO_c {
|
||||
public:
|
||||
/* 804A95EC */ dmg_rod_HIO_c();
|
||||
/* 804BB070 */ ~dmg_rod_HIO_c();
|
||||
/* 804BB070 */ virtual ~dmg_rod_HIO_c() {}
|
||||
|
||||
/* 0x04 */ s8 id;
|
||||
/* 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 */ u8 force_fish_msg_output;
|
||||
};
|
||||
|
||||
#endif /* D_A_MG_ROD_H */
|
||||
|
|
|
|||
|
|
@ -56,6 +56,10 @@ public:
|
|||
u8 getItemNo() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
int getSwNo() { return 0xFF; }
|
||||
|
||||
void startCtrl() {
|
||||
actionInitWait2();
|
||||
}
|
||||
|
||||
void setPos(cXyz);
|
||||
|
||||
private:
|
||||
|
|
|
|||
|
|
@ -930,6 +930,8 @@ public:
|
|||
bool checkMidnaAtnPos() const { return checkNoResetFlg1(FLG1_MIDNA_ATN_POS); }
|
||||
bool checkMidnaHairAtnPos() const { return checkNoResetFlg1(FLG1_MIDNA_HAIR_ATN_POS); }
|
||||
bool checkAttentionLock() const { return checkResetFlg0(RFLG0_UNK_10000); }
|
||||
BOOL checkFishingRodUseStart() const { return checkResetFlg1(RFLG1_UNK_80); }
|
||||
BOOL checkFishingRodUseAccept() const { return checkResetFlg1(RFLG1_UNK_200); }
|
||||
|
||||
void onBossRoomWait() { onEndResetFlg0(ERFLG0_BOSS_ROOM_WAIT); }
|
||||
void onBeeFollow() { onEndResetFlg0(ERFLG0_BEE_FOLLOW); }
|
||||
|
|
@ -944,6 +946,9 @@ public:
|
|||
void onPortalWarpMidnaAtnKeep() { onEndResetFlg2(ERFLG2_PORTAL_WARP_MIDNA_ATN_KEEP); }
|
||||
void onFogFade() { onNoResetFlg2(FLG2_UNK_4000); }
|
||||
void onDkCaught2() { onNoResetFlg0(FLG0_DK_CAUGHT); }
|
||||
void onFishingRodReelEnd() { onEndResetFlg0(ERFLG0_UNK_20000); }
|
||||
void onFishingHit() { onEndResetFlg0(ERFLG0_UNK_10000); }
|
||||
void onFishingKeep() { onEndResetFlg2(ERFLG2_UNK_1); }
|
||||
|
||||
BOOL checkStickArrowReset() const { return checkResetFlg0(RFLG0_UNK_1); }
|
||||
u32 getCutAtFlg() const { return checkNoResetFlg0(FLG0_UNK_40); }
|
||||
|
|
|
|||
|
|
@ -2009,6 +2009,14 @@ inline u8 dComIfGs_getFishSize(u8 param_0) {
|
|||
return g_dComIfG_gameInfo.info.getPlayer().getFishingInfo().getMaxSize(param_0);
|
||||
}
|
||||
|
||||
inline void dComIfGs_addFishNum(u8 param_0) {
|
||||
g_dComIfG_gameInfo.info.getPlayer().getFishingInfo().addFishCount(param_0);
|
||||
}
|
||||
|
||||
inline void dComIfGs_setFishSize(u8 param_0, u8 param_1) {
|
||||
g_dComIfG_gameInfo.info.getPlayer().getFishingInfo().setMaxSize(param_0, param_1);
|
||||
}
|
||||
|
||||
inline u8 dComIfGs_getGetNumber(int i_no) {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getLetterInfo().getGetNumber(i_no);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,6 +32,8 @@ BOOL dMw_LEFT_TRIGGER();
|
|||
BOOL dMw_RIGHT_TRIGGER();
|
||||
void dMw_onPauseWindow();
|
||||
void dMw_offPauseWindow();
|
||||
void dMw_onMenuRing();
|
||||
void dMw_offMenuRing();
|
||||
|
||||
class dDlst_MENU_CAPTURE_c;
|
||||
|
||||
|
|
|
|||
|
|
@ -204,6 +204,8 @@ public:
|
|||
void setHorseLifeCount(s16 i_count) { mHorseLifeCount = i_count; }
|
||||
void resetTouchKeyCheck() { mTouchKeyCheck = 0; }
|
||||
void resetWindowAccept() { mWindowAccept = 0xFFFF; }
|
||||
void onWindowAccept(int param_0) { mWindowAccept |= (u16)(1 << param_0); }
|
||||
void offWindowAccept(int param_0) { mWindowAccept &= ~(u16)(1 << param_0); }
|
||||
|
||||
public:
|
||||
/* 0x04 */ u8 unk_0x4[4];
|
||||
|
|
@ -842,4 +844,12 @@ inline void dMeter2Info_setMiniGameCount(s8 i_count) {
|
|||
g_meter2_info.setMiniGameCount(i_count);
|
||||
}
|
||||
|
||||
inline void dMeter2Info_onWindowAccept(int param_0) {
|
||||
g_meter2_info.onWindowAccept(param_0);
|
||||
}
|
||||
|
||||
inline void dMeter2Info_offWindowAccept(int param_0) {
|
||||
g_meter2_info.offWindowAccept(param_0);
|
||||
}
|
||||
|
||||
#endif /* D_METER_D_METER2_INFO_H */
|
||||
|
|
|
|||
|
|
@ -35,6 +35,10 @@ inline float ceil(float num) {
|
|||
inline float floor(float num) {
|
||||
return ::floorf(num);
|
||||
}
|
||||
|
||||
inline float tan(float num) {
|
||||
return ::i_tanf(num);
|
||||
}
|
||||
} // namespace std
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -340,7 +340,7 @@ int daAlink_c::canoeCommon() {
|
|||
/* 800F4924-800F4A50 0EF264 012C+00 10/10 0/0 0/0 .text checkNextActionCanoe__9daAlink_cFv */
|
||||
int daAlink_c::checkNextActionCanoe() {
|
||||
if ((!checkFishingRodAndLureItem() || mItemAcKeep.getActor() == NULL ||
|
||||
static_cast<dmg_rod_class*>(mItemAcKeep.getActor())->checkRodEquipPermission()) &&
|
||||
((dmg_rod_class*)mItemAcKeep.getActor())->checkRodEquipPermission()) &&
|
||||
checkNextActionFromButton()) {
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1246,7 +1246,7 @@ static void b_gnd_g_wait(b_gnd_class* i_this) {
|
|||
mant_class* mant_p = (mant_class*)fopAcM_SearchByID(i_this->mMantChildID);
|
||||
dmg_rod_class* mgrod_p = (dmg_rod_class*)fopAcM_SearchByName(PROC_MG_ROD);
|
||||
|
||||
if (mgrod_p != NULL && mgrod_p->field_0xf7e != 0) {
|
||||
if (mgrod_p != NULL && mgrod_p->action != 0) {
|
||||
if (i_this->mMoveMode < 5 && i_this->mPlayerDistXZ < 600.0f) {
|
||||
i_this->mMoveMode = 5;
|
||||
i_this->field_0xc44[0] = 10;
|
||||
|
|
@ -1332,7 +1332,7 @@ static void b_gnd_g_wait(b_gnd_class* i_this) {
|
|||
}
|
||||
|
||||
i_this->field_0xc7d = 2;
|
||||
i_this->field_0xc80 = mgrod_p->mHookPosition;
|
||||
i_this->field_0xc80 = mgrod_p->hook_pos;
|
||||
break;
|
||||
case 6:
|
||||
angle_step = 0;
|
||||
|
|
|
|||
|
|
@ -241,9 +241,9 @@ void daE_BG_c::setSparkEffect() {
|
|||
/* 80685F04-80685F88 0007E4 0084+00 2/2 0/0 0/0 .text search_esa__8daE_BG_cFv */
|
||||
fopAc_ac_c* daE_BG_c::search_esa() {
|
||||
dmg_rod_class* rod = (dmg_rod_class*)fopAcM_SearchByName(PROC_MG_ROD);
|
||||
if (rod != NULL && rod->field_0xf7c == 1 && rod->field_0xf7e != 5 && rod->field_0x100d != 0 &&
|
||||
rod->current.pos.y < rod->field_0x590 - 20.0f) {
|
||||
return rod;
|
||||
if (rod != NULL && rod->kind == 1 && rod->action != 5 && rod->field_0x100d != 0 &&
|
||||
rod->actor.current.pos.y < rod->field_0x590 - 20.0f) {
|
||||
return &rod->actor;
|
||||
} else {
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -233,8 +233,8 @@ static obj_kbox_class* search_box(e_sg_class* i_this) {
|
|||
static dmg_rod_class* search_esa(e_sg_class* i_this) {
|
||||
dmg_rod_class* rod = (dmg_rod_class*)fopAcM_SearchByName(PROC_MG_ROD);
|
||||
|
||||
if (rod != NULL && rod->field_0xf7c == 1 && rod->field_0xf7e != 5 && rod->field_0x100d != 0 &&
|
||||
rod->current.pos.y < rod->field_0x590 - 20.0f)
|
||||
if (rod != NULL && rod->kind == 1 && rod->action != 5 && rod->field_0x100d != 0 &&
|
||||
rod->actor.current.pos.y < rod->field_0x590 - 20.0f)
|
||||
{
|
||||
return rod;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -184,8 +184,8 @@ static void* s_lure_sub(void* a, void* b) {
|
|||
if (fopAc_IsActor(a)) {
|
||||
if (fopAcM_GetName(a) == PROC_MG_ROD) {
|
||||
dmg_rod_class* rod = (dmg_rod_class*)a;
|
||||
if (rod->field_0xf7c == 0 &&
|
||||
rod->field_0xf7e == 4 &&
|
||||
if (rod->kind == 0 &&
|
||||
rod->action == 4 &&
|
||||
rod->field_0x10a9 == 0 &&
|
||||
rod->field_0x100d != 0) {
|
||||
return rod;
|
||||
|
|
@ -200,10 +200,10 @@ static void* s_esa_sub(void* a, void* b) {
|
|||
if (fopAc_IsActor(a)) {
|
||||
if (fopAcM_GetName(a) == PROC_MG_ROD) {
|
||||
dmg_rod_class* rod = (dmg_rod_class*)a;
|
||||
if (rod->field_0xf7c == 1 &&
|
||||
rod->field_0xf7e != 5 &&
|
||||
if (rod->kind == 1 &&
|
||||
rod->action != 5 &&
|
||||
rod->field_0x100d != 0 &&
|
||||
rod->current.pos.y < rod->field_0x590 - 20.0f) {
|
||||
rod->actor.current.pos.y < rod->field_0x590 - 20.0f) {
|
||||
return rod;
|
||||
}
|
||||
}
|
||||
|
|
@ -260,7 +260,7 @@ static s32 search_lure(mg_fish_class* i_this, int param_2) {
|
|||
fpcM_Search(s_other_search_sub, i_this);
|
||||
if (s_fish_ct <= 1) {
|
||||
f32 fVar1 = i_this->field_0x5ec;
|
||||
if (rod->field_0xf80 == 4) {
|
||||
if (rod->lure_type == MG_LURE_SP) {
|
||||
fVar1 = 1000.0f;
|
||||
} else {
|
||||
if (rod->field_0x1009 != 0) {
|
||||
|
|
@ -274,13 +274,13 @@ static s32 search_lure(mg_fish_class* i_this, int param_2) {
|
|||
fVar1 *= 0.5f;
|
||||
}
|
||||
if (i_this->mGedouKind != GEDOU_KIND_CF_1 &&
|
||||
rod->field_0xf80 != 4 &&
|
||||
(i_this->field_0x750 & learn_d[rod->field_0xf80]) != 0)
|
||||
rod->lure_type != MG_LURE_SP &&
|
||||
(i_this->field_0x750 & learn_d[rod->lure_type]) != 0)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
cXyz diff = rod->current.pos - i_this->actor.current.pos;
|
||||
if (rod->field_0xf80 == 2 && rod->field_0x100c >= 10) {
|
||||
cXyz diff = rod->actor.current.pos - i_this->actor.current.pos;
|
||||
if (rod->lure_type == MG_LURE_PO && rod->field_0x100c >= 10) {
|
||||
diff.y = -80.0f;
|
||||
}
|
||||
if (diff.abs() < fVar1) {
|
||||
|
|
@ -292,15 +292,15 @@ static s32 search_lure(mg_fish_class* i_this, int param_2) {
|
|||
fopAc_ac_c* rod_actor = (fopAc_ac_c*)fpcM_Search(s_esa_sub, i_this);
|
||||
if (rod_actor != NULL) {
|
||||
dmg_rod_class* rod = (dmg_rod_class*)rod_actor;
|
||||
if (i_this->mGedouKind == GEDOU_KIND_KS_2 && rod->field_0x102d != 1) {
|
||||
if (i_this->mGedouKind == GEDOU_KIND_KS_2 && rod->hook_kind != 1) {
|
||||
return -1;
|
||||
}
|
||||
if ((i_this->mGedouKind == GEDOU_KIND_BG || rod->field_0x102d == 1 || rod->field_0x102c != 0) &&
|
||||
rod->current.pos.y < i_this->mSurfaceY - 60.0f)
|
||||
if ((i_this->mGedouKind == GEDOU_KIND_BG || rod->hook_kind == 1 || rod->esa_kind != 0) &&
|
||||
rod->actor.current.pos.y < i_this->mSurfaceY - 60.0f)
|
||||
{
|
||||
f32 maxLatDist = i_this->field_0x5ec;
|
||||
f32 distX = rod->current.pos.x - i_this->actor.current.pos.x;
|
||||
f32 distZ = rod->current.pos.z - i_this->actor.current.pos.z;
|
||||
f32 distX = rod->actor.current.pos.x - i_this->actor.current.pos.x;
|
||||
f32 distZ = rod->actor.current.pos.z - i_this->actor.current.pos.z;
|
||||
f32 latDist = JMAFastSqrt(distX * distX + distZ * distZ);
|
||||
if (latDist < maxLatDist) {
|
||||
return fopAcM_GetID(rod);
|
||||
|
|
@ -1378,9 +1378,9 @@ static void mf_lure_search(mg_fish_class* i_this) {
|
|||
foundLure = true;
|
||||
} else if (rod->field_0x100a != 0 || rod->field_0x100d == 0) {
|
||||
foundLure = true;
|
||||
} else if (rod->field_0xf7e != 4) {
|
||||
if (rod->field_0xf7e >= 5 &&
|
||||
rod->mFishId == fopAcM_GetID(i_this)) {
|
||||
} else if (rod->action != 4) {
|
||||
if (rod->action >= 5 &&
|
||||
rod->mg_fish_id == fopAcM_GetID(i_this)) {
|
||||
foundLure = false;
|
||||
} else {
|
||||
foundLure = true;
|
||||
|
|
@ -1404,7 +1404,7 @@ static void mf_lure_search(mg_fish_class* i_this) {
|
|||
case 1:
|
||||
i_this->mActionPhase = 2;
|
||||
case 2: {
|
||||
rodSep = rod->current.pos - i_this->actor.current.pos;
|
||||
rodSep = rod->actor.current.pos - i_this->actor.current.pos;
|
||||
rodSep.y -= 10.0f;
|
||||
i_this->mMovementYaw = cM_atan2s(rodSep.x, rodSep.z);
|
||||
i_this->mMovementPitch = -cM_atan2s(rodSep.y, JMAFastSqrt(rodSep.x * rodSep.x + rodSep.z * rodSep.z));
|
||||
|
|
@ -1412,7 +1412,7 @@ static void mf_lure_search(mg_fish_class* i_this) {
|
|||
i_this->mMovementPitch = -0x2000;
|
||||
}
|
||||
f32 rodDist = sqrtf(VECSquareMag(&rodSep));
|
||||
if (rod->field_0xf80 != 4 && rod->field_0xf80 != 2 &&
|
||||
if (rod->lure_type != MG_LURE_SP && rod->lure_type != MG_LURE_PO &&
|
||||
rodDist > 2.0f * i_this->field_0x5ec) {
|
||||
foundLure = true;
|
||||
} else {
|
||||
|
|
@ -1421,7 +1421,7 @@ static void mf_lure_search(mg_fish_class* i_this) {
|
|||
i_this->field_0x624[0] = cM_rndF(100.0f);
|
||||
i_this->field_0x624[1] = cM_rndF(200.0f) + 100.0f;
|
||||
if (i_this->mGedouKind == GEDOU_KIND_NP_1 || i_this->mGedouKind == GEDOU_KIND_LM_1) {
|
||||
if (rod->field_0x14f0 != 0) {
|
||||
if (rod->reel_btn_flags != 0) {
|
||||
target = 2.0f;
|
||||
}
|
||||
f32 fVar11;
|
||||
|
|
@ -1431,8 +1431,8 @@ static void mf_lure_search(mg_fish_class* i_this) {
|
|||
fVar11 = 0.025f;
|
||||
}
|
||||
if (rodDist < 1.3f * i_this->field_0x5ec &&
|
||||
(rod->field_0xf80 == 4 || rod->field_0xf80 == 3) &&
|
||||
rod->field_0x14f0 != 0 &&
|
||||
(rod->lure_type == MG_LURE_SP || rod->lure_type == MG_LURE_WS) &&
|
||||
rod->reel_btn_flags != 0 &&
|
||||
(i_this->mBobTimer & 0x1f) == 0 &&
|
||||
cM_rndF(1.0f) < fVar11) {
|
||||
sVar10 = 0x5a;
|
||||
|
|
@ -1458,7 +1458,7 @@ static void mf_lure_search(mg_fish_class* i_this) {
|
|||
limit1 *= 2.0f;
|
||||
limit2 *= 2.0f;
|
||||
} else if (i_this->mGedouKind == GEDOU_KIND_RI_1 &&
|
||||
rod->field_0xf80 != 0 &&
|
||||
rod->lure_type != MG_LURE_FR &&
|
||||
i_this->field_0x5f8 < 10) {
|
||||
limit1 = limit2 = -1.0f;
|
||||
}
|
||||
|
|
@ -1493,7 +1493,7 @@ static void mf_lure_search(mg_fish_class* i_this) {
|
|||
i_this->field_0x624[2] = sVar10;
|
||||
}
|
||||
|
||||
cLib_addCalc2(&i_this->actor.current.pos.y, rod->current.pos.y - 20.0f,
|
||||
cLib_addCalc2(&i_this->actor.current.pos.y, rod->actor.current.pos.y - 20.0f,
|
||||
0.05f, 2.0f);
|
||||
|
||||
if (i_this->field_0x624[1] == 1) {
|
||||
|
|
@ -1511,12 +1511,12 @@ static void mf_lure_search(mg_fish_class* i_this) {
|
|||
break;
|
||||
}
|
||||
|
||||
rodSep = rod->current.pos - i_this->actor.current.pos;
|
||||
rodSep = rod->actor.current.pos - i_this->actor.current.pos;
|
||||
i_this->mMovementYaw = cM_atan2s(rodSep.x, rodSep.z);
|
||||
i_this->mMovementPitch = -cM_atan2s(rodSep.y, JMAFastSqrt(rodSep.x * rodSep.x + rodSep.z * rodSep.z));
|
||||
|
||||
target = 3.0f;
|
||||
if (rod->field_0x14f0 != 0) {
|
||||
if (rod->reel_btn_flags != 0) {
|
||||
target = 5.0f;
|
||||
}
|
||||
|
||||
|
|
@ -1529,12 +1529,12 @@ static void mf_lure_search(mg_fish_class* i_this) {
|
|||
|
||||
if (rodDist < i_this->mJointScale * 40.0f) {
|
||||
if (i_this->mGedouKind == GEDOU_KIND_CF_1) {
|
||||
if (rod->field_0xf80 == 4) {
|
||||
if (rod->lure_type == MG_LURE_SP) {
|
||||
i_this->mRemainingHookTime = cM_rndF(10.0f) + 20.0f;
|
||||
} else {
|
||||
i_this->mRemainingHookTime = cM_rndF(12.0f) + 30.0f;
|
||||
}
|
||||
} else if (rod->field_0xf80 == 4) {
|
||||
} else if (rod->lure_type == MG_LURE_SP) {
|
||||
if (i_this->mJointScale >= 0.6f) {
|
||||
if (sVar10 != 0) {
|
||||
i_this->mActionPhase = 3;
|
||||
|
|
@ -1555,13 +1555,13 @@ static void mf_lure_search(mg_fish_class* i_this) {
|
|||
break;
|
||||
}
|
||||
|
||||
if (rod->field_0xf80 == 0) {
|
||||
if (rod->lure_type == MG_LURE_FR) {
|
||||
i_this->mRemainingHookTime = cM_rndF(10.0f) + 40.0f;
|
||||
}
|
||||
|
||||
rod->field_0xf7e = 5;
|
||||
rod->action = 5;
|
||||
rod->field_0x10a5 = 2;
|
||||
rod->mFishId = fopAcM_GetID(i_this);
|
||||
rod->mg_fish_id = fopAcM_GetID(i_this);
|
||||
rod->field_0x1006 = cM_rndFX(7000.0f) + 1000.0f;
|
||||
i_this->mHookedState = 1;
|
||||
i_this->mMovementYaw = cM_rndFX(65536.0f);
|
||||
|
|
@ -1570,7 +1570,7 @@ static void mf_lure_search(mg_fish_class* i_this) {
|
|||
i_this->mActionPhase = 4;
|
||||
mouth_close(i_this);
|
||||
|
||||
if (rod->current.pos.y > i_this->mSurfaceY - 15.0f) {
|
||||
if (rod->actor.current.pos.y > i_this->mSurfaceY - 15.0f) {
|
||||
sibuki_set(i_this, 2.5f, i_this->field_0x638);
|
||||
if (i_this->mGedouKind == GEDOU_KIND_RI_1) {
|
||||
i_this->mSound.startCreatureSound(Z2SE_AL_DOJOU_EAT_IMPACT, 0, -1);
|
||||
|
|
@ -1593,7 +1593,7 @@ static void mf_lure_search(mg_fish_class* i_this) {
|
|||
maxStep = 0.5f;
|
||||
i_this->mHookedState = 2;
|
||||
if (i_this->mRemainingHookTime == 0) {
|
||||
if (rod->field_0xf80 != 4) {
|
||||
if (rod->lure_type != MG_LURE_SP) {
|
||||
rod->field_0x10a6 = 30;
|
||||
if (rod->field_0x10a7 != 4) {
|
||||
rod->field_0x10a7 = 1;
|
||||
|
|
@ -1635,7 +1635,7 @@ static void mf_lure_search(mg_fish_class* i_this) {
|
|||
*/
|
||||
static void mf_bait_search(mg_fish_class* i_this) {
|
||||
s32 foundBait = false;
|
||||
dmg_rod_class* rod = (dmg_rod_class*)fopAcM_SearchByID(i_this->mBaitId);
|
||||
fr_class* rod = (fr_class*)fopAcM_SearchByID(i_this->mBaitId);
|
||||
if (rod == NULL) {
|
||||
i_this->mActionPhase = 100;
|
||||
foundBait = true;
|
||||
|
|
@ -1695,9 +1695,9 @@ static void mf_bait_search(mg_fish_class* i_this) {
|
|||
speedMaxStep = 1.0f;
|
||||
f32 fVar10 = offsetToRod.abs();
|
||||
if (fVar10 < 40.0f * i_this->mJointScale) {
|
||||
rod->field_0x5a4.field_0x2e = 0x32;
|
||||
rod->field_0x5a4.field_0x30 = 0;
|
||||
rod->field_0x5a4.field_0x54 = fopAcM_GetID(i_this);
|
||||
rod->field_0x5d2 = 0x32;
|
||||
rod->field_0x5d4 = 0;
|
||||
rod->field_0x5f8 = fopAcM_GetID(i_this);
|
||||
fVar10 = cM_rndFX(65536.0f);
|
||||
i_this->mMovementYaw = fVar10;
|
||||
i_this->mMovementPitch = 0x2000;
|
||||
|
|
@ -1877,7 +1877,7 @@ static void mf_hit(mg_fish_class* i_this) {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
if (pvVar5->field_0x14f0 == 0 ||
|
||||
if (pvVar5->reel_btn_flags == 0 ||
|
||||
pvVar5->field_0x1515 == 0 ||
|
||||
pvVar5->field_0xf60 < 100.0f)
|
||||
{
|
||||
|
|
@ -1894,16 +1894,16 @@ static void mf_hit(mg_fish_class* i_this) {
|
|||
i_this->mActionPhase = 0;
|
||||
g_dComIfG_gameInfo.play.mVibration.StartShock(4, 1, cXyz(0.0f, 1.0f, 0.0f));
|
||||
Z2AudioMgr::getInterface()->changeBgmStatus(4);
|
||||
pvVar5->field_0xf7e = 6;
|
||||
pvVar5->field_0x13b4 = 10;
|
||||
pvVar5->field_0x13b6 = 0;
|
||||
pvVar5->action = 6;
|
||||
pvVar5->play_cam_mode = 10;
|
||||
pvVar5->play_cam_timer = 0;
|
||||
pvVar5->field_0x14c2 = 0;
|
||||
pvVar5->field_0x1408 = 90.0f;
|
||||
pvVar5->play_cam_fovy = 90.0f;
|
||||
pvVar5->field_0x146d = 0;
|
||||
pvVar5->field_0x10b0 = 0;
|
||||
daPy_py_c* player = daPy_getLinkPlayerActorClass();
|
||||
player->onFishingRodGetFish();
|
||||
if (pvVar5->field_0xf80 == 4) {
|
||||
if (pvVar5->lure_type == MG_LURE_SP) {
|
||||
u8 bVar7 = g_dComIfG_gameInfo.info.mSavedata.mEvent.getEventReg(0xf11f);
|
||||
if (bVar7 < 0x1f) {
|
||||
bVar7++;
|
||||
|
|
@ -1913,12 +1913,12 @@ static void mf_hit(mg_fish_class* i_this) {
|
|||
} else if (iVar1 != 0) {
|
||||
if (iVar1 == 2) {
|
||||
pvVar5->field_0x10a7 = 3;
|
||||
pvVar5->field_0x57e = cM_rndF(13.0f) + 30.0f;
|
||||
pvVar5->timers[2] = cM_rndF(13.0f) + 30.0f;
|
||||
pvVar5->field_0x10a6 = 1;
|
||||
} else {
|
||||
pvVar5->field_0x10a7 = 2;
|
||||
pvVar5->field_0x10a6 = 0x19;
|
||||
pvVar5->field_0x57e = 0;
|
||||
pvVar5->timers[2] = 0;
|
||||
}
|
||||
i_this->mCurAction = ACTION_MG_FISH_MF_AWAY;
|
||||
i_this->mActionPhase = -1;
|
||||
|
|
@ -1979,7 +1979,7 @@ static void mf_jump(mg_fish_class* i_this) {
|
|||
i_this->actor.current.angle.z = i_this->actor.current.angle.z + i_this->jointYaws2[2];
|
||||
i_this->actor.shape_angle.z = i_this->actor.current.angle.z;
|
||||
i_this->mMovementPitch = i_this->mMovementPitch + i_this->jointYaws2[3];
|
||||
if (i_this->field_0x624[0] == 1 && rod->mRodStickY <= -0.5f && cM_rndF(1.0f) < 0.35f) {
|
||||
if (i_this->field_0x624[0] == 1 && rod->rod_stick_y <= -0.5f && cM_rndF(1.0f) < 0.35f) {
|
||||
i_this->field_0x65a = 1;
|
||||
i_this->mHookedState = 0;
|
||||
}
|
||||
|
|
@ -2224,9 +2224,9 @@ static void mf_catch(mg_fish_class* i_this) {
|
|||
i_this->mActionPhase = 3;
|
||||
i_this->field_0x624[0] = 40;
|
||||
player->onFishingRelease();
|
||||
rod->health = 1;
|
||||
rod->field_0x13b4 = 11;
|
||||
rod->field_0x13b6 = 0;
|
||||
rod->actor.health = 1;
|
||||
rod->play_cam_mode = 11;
|
||||
rod->play_cam_timer = 0;
|
||||
rod->field_0x146d = 0;
|
||||
i_this->field_0x740 = cM_rndF(1000.0f) + 3000.0f;
|
||||
}
|
||||
|
|
@ -2291,7 +2291,7 @@ static void mf_esa_search(mg_fish_class* i_this) {
|
|||
flag1 = 1;
|
||||
} else if (rod->field_0x100d == 0) {
|
||||
flag1 = 1;
|
||||
} else if (rod->field_0xf7e == 5) {
|
||||
} else if (rod->action == 5) {
|
||||
flag1 = 1;
|
||||
}
|
||||
if (flag1) {
|
||||
|
|
@ -2313,7 +2313,7 @@ static void mf_esa_search(mg_fish_class* i_this) {
|
|||
i_this->mActionPhase = 2;
|
||||
}
|
||||
case 2: {
|
||||
cXyz xyz = rod->current.pos - i_this->actor.current.pos;
|
||||
cXyz xyz = rod->actor.current.pos - i_this->actor.current.pos;
|
||||
i_this->mMovementYaw = cM_atan2s(xyz.x, xyz.z);
|
||||
i_this->mMovementPitch = -cM_atan2s(xyz.y,
|
||||
JMAFastSqrt(xyz.x * xyz.x + xyz.z * xyz.z));
|
||||
|
|
@ -2337,23 +2337,23 @@ static void mf_esa_search(mg_fish_class* i_this) {
|
|||
}
|
||||
}
|
||||
|
||||
xyz = i_this->field_0x638 - rod->current.pos;
|
||||
xyz = i_this->field_0x638 - rod->actor.current.pos;
|
||||
if (sqrtf(VECSquareMag(&xyz)) < i_this->mJointScale * 14.0f) {
|
||||
fVar9 = i_this->field_0x654;
|
||||
i_this->mMaxStep = 0;
|
||||
if (i_this->field_0x624[0] == 0) {
|
||||
rod->mFishId = fopAcM_GetID(i_this);
|
||||
rod->mg_fish_id = fopAcM_GetID(i_this);
|
||||
f32 fVar10 = 0.5f;
|
||||
if (dComIfGs_getFishNum(5) <= 5) {
|
||||
fVar10 = 1.5f;
|
||||
}
|
||||
if (i_this->mGedouKind != GEDOU_KIND_BG) {
|
||||
if (rod->field_0x102d == 1) {
|
||||
if (rod->hook_kind == 1) {
|
||||
fVar10 = 1.0f;
|
||||
}
|
||||
if (rod->field_0x102c == 1) {
|
||||
if (rod->esa_kind == 1) {
|
||||
fVar10 *= 1.5f;
|
||||
} else if (rod->field_0x102c == 2) {
|
||||
} else if (rod->esa_kind == 2) {
|
||||
fVar10 *= 2.0f;
|
||||
}
|
||||
}
|
||||
|
|
@ -2371,7 +2371,7 @@ static void mf_esa_search(mg_fish_class* i_this) {
|
|||
rod->field_0x10a5 = fVar10 * (cM_rndF(15.0f) + 15.0f);
|
||||
i_this->field_0x659 = rod->field_0x10a5;
|
||||
i_this->field_0x650 = 0.0f;
|
||||
if (rod->field_0x102d == 0 && rod->field_0x102c == 0) {
|
||||
if (rod->hook_kind == 0 && rod->esa_kind == 0) {
|
||||
i_this->field_0x624[0] = cM_rndF(80.0f) + 50.0f;
|
||||
} else {
|
||||
i_this->field_0x624[0] = cM_rndF(20.0f) + 30.0f;
|
||||
|
|
@ -2380,9 +2380,9 @@ static void mf_esa_search(mg_fish_class* i_this) {
|
|||
}
|
||||
}
|
||||
if (i_this->field_0x659 == 0) {
|
||||
cLib_addCalc2(&i_this->actor.current.pos.y, rod->current.pos.y, 0.05f, 2.0f);
|
||||
cLib_addCalc2(&i_this->actor.current.pos.y, rod->actor.current.pos.y, 0.05f, 2.0f);
|
||||
} else {
|
||||
cLib_addCalc2(&i_this->actor.current.pos.y, rod->current.pos.y - 20.0f, 0.05f, 2.0f);
|
||||
cLib_addCalc2(&i_this->actor.current.pos.y, rod->actor.current.pos.y - 20.0f, 0.05f, 2.0f);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -2401,8 +2401,8 @@ static void mf_esa_search(mg_fish_class* i_this) {
|
|||
cLib_addCalcAngleS2(&i_this->actor.current.angle.y, i_this->mMovementYaw, 2, i_this->mMaxStep);
|
||||
cLib_addCalcAngleS2(&i_this->actor.current.angle.x, i_this->mMovementPitch, 2, i_this->mMaxStep);
|
||||
if (i_this->field_0x5ec > 10000.0f) {
|
||||
cLib_addCalc2(&i_this->actor.current.pos.x, rod->current.pos.x, 0.1f, 50.0f);
|
||||
cLib_addCalc2(&i_this->actor.current.pos.z, rod->current.pos.z, 0.1f, 50.0f);
|
||||
cLib_addCalc2(&i_this->actor.current.pos.x, rod->actor.current.pos.x, 0.1f, 50.0f);
|
||||
cLib_addCalc2(&i_this->actor.current.pos.z, rod->actor.current.pos.z, 0.1f, 50.0f);
|
||||
}
|
||||
if (flag2) {
|
||||
i_this->mCurAction = ACTION_MG_FISH_MF_SWIM_S;
|
||||
|
|
@ -2415,7 +2415,7 @@ static void mf_esa_search(mg_fish_class* i_this) {
|
|||
/* 8053109C-805313D8 00745C 033C+00 1/1 0/0 0/0 .text mf_esa_hit__FP13mg_fish_class */
|
||||
static void mf_esa_hit(mg_fish_class* i_this) {
|
||||
dmg_rod_class* rod = (dmg_rod_class*)fopAcM_SearchByID(i_this->mRodId);
|
||||
if (rod == NULL || (rod != NULL && rod->field_0xf7e != 5)) {
|
||||
if (rod == NULL || (rod != NULL && rod->action != 5)) {
|
||||
i_this->mCurAction = ACTION_MG_FISH_MF_SWIM_S;
|
||||
i_this->mActionPhase = 0;
|
||||
i_this->field_0x62e = cM_rndF(100.0f) + 100.0f;
|
||||
|
|
@ -3398,7 +3398,7 @@ static int daMg_Fish_Execute(mg_fish_class* i_this) {
|
|||
i_this->actor.current.pos.z);
|
||||
cMtx_YrotM(mDoMtx_stack_c::now, i_this->actor.shape_angle.y);
|
||||
cMtx_XrotM(mDoMtx_stack_c::now, 0x4000);
|
||||
if (rod->field_0x102d == 1) {
|
||||
if (rod->hook_kind == 1) {
|
||||
mDoMtx_stack_c::transM(0.0f, 0.0f, 35.0f);
|
||||
} else {
|
||||
mDoMtx_stack_c::transM(0.0f, 0.0f, 29.0f);
|
||||
|
|
@ -3516,7 +3516,7 @@ static int daMg_Fish_Execute(mg_fish_class* i_this) {
|
|||
i_this->actor.current.pos.z);
|
||||
cMtx_YrotM(mDoMtx_stack_c::now, i_this->actor.shape_angle.y);
|
||||
cMtx_XrotM(mDoMtx_stack_c::now, -0x4000);
|
||||
if (rod->field_0x102d == 1) {
|
||||
if (rod->hook_kind == 1) {
|
||||
mDoMtx_stack_c::transM(0.0f, 0.0f, -14.0f);
|
||||
} else {
|
||||
mDoMtx_stack_c::transM(0.0f, 0.0f, -8.0f);
|
||||
|
|
@ -3533,7 +3533,7 @@ static int daMg_Fish_Execute(mg_fish_class* i_this) {
|
|||
i_this->actor.current.pos.z);
|
||||
cMtx_YrotM(mDoMtx_stack_c::now, i_this->actor.shape_angle.y);
|
||||
cMtx_XrotM(mDoMtx_stack_c::now, -0x4000);
|
||||
if (rod->field_0x102d == 1) {
|
||||
if (rod->hook_kind == 1) {
|
||||
mDoMtx_stack_c::transM(0.0f, 0.0f, -25.0f);
|
||||
} else {
|
||||
mDoMtx_stack_c::transM(0.0f, 0.0f, -19.0f);
|
||||
|
|
@ -3586,7 +3586,7 @@ static int daMg_Fish_Execute(mg_fish_class* i_this) {
|
|||
MtxPosition(&commonXyz, &i_this->field_0x638);
|
||||
if (i_this->mHookedState != 0) {
|
||||
dmg_rod_class* rod = (dmg_rod_class*)fopAcM_SearchByID(i_this->mRodId);
|
||||
if (rod->field_0xf80 == 4 && i_this->mCurAction == ACTION_MG_FISH_MF_CATCH) {
|
||||
if (rod->lure_type == MG_LURE_SP && i_this->mCurAction == ACTION_MG_FISH_MF_CATCH) {
|
||||
if (i_this->mKind2 == 0) {
|
||||
f32 fVar3 = (i_this->mJointScale - 0.48f) * 100.0f;
|
||||
if (fVar3 < 0.0f) {
|
||||
|
|
@ -3606,29 +3606,29 @@ static int daMg_Fish_Execute(mg_fish_class* i_this) {
|
|||
commonXyz.z += 5.0f;
|
||||
}
|
||||
MtxPosition(&commonXyz, &i_this->field_0x638);
|
||||
rod->current.angle.y = 0;
|
||||
rod->current.angle.x = 0x4000;
|
||||
rod->current.angle.z = player->shape_angle.y + 8000;
|
||||
rod->shape_angle.x = rod->current.angle.x;
|
||||
rod->shape_angle.y = rod->current.angle.y;
|
||||
rod->shape_angle.z = rod->current.angle.z;
|
||||
rod->actor.current.angle.y = 0;
|
||||
rod->actor.current.angle.x = 0x4000;
|
||||
rod->actor.current.angle.z = player->shape_angle.y + 8000;
|
||||
rod->actor.shape_angle.x = rod->actor.current.angle.x;
|
||||
rod->actor.shape_angle.y = rod->actor.current.angle.y;
|
||||
rod->actor.shape_angle.z = rod->actor.current.angle.z;
|
||||
rod->field_0x114a = 0;
|
||||
rod->field_0x114c = 0;
|
||||
rod->field_0x1004 = 0;
|
||||
} else {
|
||||
if (rod->field_0xf80 == 0 && i_this->mGedouKind == GEDOU_KIND_RI_1) {
|
||||
if (rod->lure_type == MG_LURE_FR && i_this->mGedouKind == GEDOU_KIND_RI_1) {
|
||||
commonXyz.y += 8.0f;
|
||||
commonXyz.z += -3.0f;
|
||||
MtxPosition(&commonXyz, &i_this->field_0x638);
|
||||
}
|
||||
cLib_addCalcAngleS2(&rod->current.angle.y, i_this->actor.shape_angle.y - 0x1710, 2, 0x800);
|
||||
cLib_addCalcAngleS2(&rod->current.angle.x,
|
||||
cLib_addCalcAngleS2(&rod->actor.current.angle.y, i_this->actor.shape_angle.y - 0x1710, 2, 0x800);
|
||||
cLib_addCalcAngleS2(&rod->actor.current.angle.x,
|
||||
i_this->actor.shape_angle.x + - 0x310c + rod->field_0x1006, 2, 0x800);
|
||||
cLib_addCalcAngleS2(&rod->current.angle.z, 0x6328, 2, 0x800);
|
||||
cLib_addCalcAngleS2(&rod->actor.current.angle.z, 0x6328, 2, 0x800);
|
||||
}
|
||||
rod->current.pos.x = i_this->field_0x638.x;
|
||||
rod->current.pos.y = i_this->field_0x638.y;
|
||||
rod->current.pos.z = i_this->field_0x638.z;
|
||||
rod->actor.current.pos.x = i_this->field_0x638.x;
|
||||
rod->actor.current.pos.y = i_this->field_0x638.y;
|
||||
rod->actor.current.pos.z = i_this->field_0x638.z;
|
||||
rod->field_0x1000 = 0;
|
||||
rod->field_0xffc = 0;
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -501,7 +501,7 @@ static void henna_ride(npc_henna_class* i_this) {
|
|||
|
||||
if (lrl != NULL) {
|
||||
fopAc_ac_c* fish;
|
||||
if (lrl->field_0xf7e == 0) {
|
||||
if (lrl->action == 0) {
|
||||
if (i_this->field_0x710 == 0) {
|
||||
i_this->field_0x710 = cM_rndF(100.0f) + 90.0f;
|
||||
cMtx_YrotS(*calc_mtx, actor->shape_angle.y);
|
||||
|
|
@ -519,25 +519,25 @@ static void henna_ride(npc_henna_class* i_this) {
|
|||
i_this->field_0x720 = fish->current.pos;
|
||||
i_this->field_0x70e = 0x600;
|
||||
}
|
||||
} else if (lrl->field_0x13b4 == 10 || lrl->field_0x13b4 == 11) {
|
||||
fish = fopAcM_SearchByID(lrl->mFishId);
|
||||
} else if (lrl->play_cam_mode == 10 || lrl->play_cam_mode == 11) {
|
||||
fish = fopAcM_SearchByID(lrl->mg_fish_id);
|
||||
if (fish != NULL) {
|
||||
i_this->field_0x720 = fish->current.pos;
|
||||
i_this->field_0x70e = 1000;
|
||||
}
|
||||
} else if (lrl->field_0xf7e == 1) {
|
||||
} else if (lrl->action == 1) {
|
||||
cMtx_YrotS(*calc_mtx, player->getFishingRodAngleY());
|
||||
unkXyz_48.x = 0.0f;
|
||||
unkXyz_48.y = 0.0f;
|
||||
unkXyz_48.z = 2000.0f;
|
||||
MtxPosition(&unkXyz_48, &i_this->field_0x720);
|
||||
i_this->field_0x720 += player->eyePos;
|
||||
} else if (lrl->field_0xf7e == 3 || lrl->field_0xf7e == 4 || lrl->field_0xf7e == 5) {
|
||||
i_this->field_0x720 = lrl->current.pos;
|
||||
} else if (lrl->action == 3 || lrl->action == 4 || lrl->action == 5) {
|
||||
i_this->field_0x720 = lrl->actor.current.pos;
|
||||
i_this->field_0x70e = 0x600;
|
||||
}
|
||||
|
||||
if (player->checkCanoeRide() != 0 && (lrl->field_0x13b4 == 0 || lrl->field_0x13b4 >= 0x50))
|
||||
if (player->checkCanoeRide() != 0 && (lrl->play_cam_mode == 0 || lrl->play_cam_mode >= 0x50))
|
||||
{
|
||||
if (i_this->field_0x6a4 < 5) {
|
||||
i_this->field_0x6a4 = 5;
|
||||
|
|
@ -704,7 +704,7 @@ static void action(npc_henna_class* i_this) {
|
|||
|
||||
msg_class* msg = ((dMsgObject_c*)unkActor1)->getActor();
|
||||
if (msg != 0 && msg->mode == 6 && ((dMsgObject_c*)unkActor1)->isMouthCheck() != 0 &&
|
||||
(lrl == 0 || lrl->field_0x13b4 != 30))
|
||||
(lrl == 0 || lrl->play_cam_mode != 30))
|
||||
{
|
||||
i_this->field_0x6a6 = 15;
|
||||
}
|
||||
|
|
@ -2197,7 +2197,7 @@ static void message_guide(npc_henna_class* i_this) {
|
|||
|
||||
actor->eventInfo.onCondition(dEvtCnd_CANTALK_e);
|
||||
|
||||
if (lrl != NULL && lrl->field_0x13b4 != 0) {
|
||||
if (lrl != NULL && lrl->play_cam_mode != 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2472,9 +2472,9 @@ static void action(npc_ne_class* i_this) {
|
|||
cXyz vec1, vec2;
|
||||
if (i_this->mWantsFish && i_this->mAction != npc_ne_class::ACT_SANBASI
|
||||
&& player->current.pos.z > -2800.0f) {
|
||||
dmg_rod_class* rod = static_cast<dmg_rod_class*>(fopAcM_SearchByName(PROC_MG_ROD));
|
||||
if (rod != NULL && rod->field_0xf7c == 1 && rod->field_0xf7e != 5
|
||||
&& rod->field_0x13b4 != 0 && !i_this->mNoFollow) {
|
||||
dmg_rod_class* rod = ((dmg_rod_class*)fopAcM_SearchByName(PROC_MG_ROD));
|
||||
if (rod != NULL && rod->kind == 1 && rod->action != 5
|
||||
&& rod->play_cam_mode != 0 && !i_this->mNoFollow) {
|
||||
if (i_this->mDistToTarget > 500.0f) {
|
||||
_this->current.pos = ground_search(i_this);
|
||||
_this->old = _this->current;
|
||||
|
|
|
|||
|
|
@ -241,8 +241,8 @@ static int daObj_Lp_Execute(obj_lp_class* i_this) {
|
|||
if (mCanoe) {
|
||||
tandem = mCanoe->checkTandem();
|
||||
dmg_rod_class* mDmgRod = (dmg_rod_class*)fopAcM_SearchByName(0x2e4);
|
||||
if (((mDmgRod && mDmgRod->field_0x13b4 == 11) &&
|
||||
mDmgRod->field_0x13b6 > 20) && mDmgRod->field_0x13b6 < 0x3c) {
|
||||
if (((mDmgRod && mDmgRod->play_cam_mode == 11) &&
|
||||
mDmgRod->play_cam_timer > 20) && mDmgRod->play_cam_timer < 0x3c) {
|
||||
demo_f = 1;
|
||||
} else {
|
||||
demo_f = 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue