mirror of https://github.com/zeldaret/tp.git
d_a_obj_pumpkin OK (#2715)
* Initial obj_pumpkin work * pumpkin execute done * d_a_obj_pumpkin OK * Remove NONMATCHING in obj_pumpkin * obj_pumpkin PR comments
This commit is contained in:
parent
0520ce1757
commit
c7703d1069
|
|
@ -54,11 +54,11 @@ cutMeetingAgain__11daNpc_Bou_cFi = .text:0x000033D8; // type:function size:0x774
|
|||
wait__11daNpc_Bou_cFPv = .text:0x00003B4C; // type:function size:0x410 scope:global
|
||||
talkwithJagar__11daNpc_Bou_cFPv = .text:0x00003F5C; // type:function size:0x1A0 scope:global
|
||||
talk__11daNpc_Bou_cFPv = .text:0x000040FC; // type:function size:0x4D0 scope:global
|
||||
daNpc_Bou_Create__FPv = .text:0x000045CC; // type:function size:0x20 scope:global
|
||||
daNpc_Bou_Delete__FPv = .text:0x000045EC; // type:function size:0x20 scope:global
|
||||
daNpc_Bou_Execute__FPv = .text:0x0000460C; // type:function size:0x20 scope:global
|
||||
daNpc_Bou_Draw__FPv = .text:0x0000462C; // type:function size:0x20 scope:global
|
||||
daNpc_Bou_IsDelete__FPv = .text:0x0000464C; // type:function size:0x8 scope:global
|
||||
daNpc_Bou_Create__FPv = .text:0x000045CC; // type:function size:0x20 scope:local
|
||||
daNpc_Bou_Delete__FPv = .text:0x000045EC; // type:function size:0x20 scope:local
|
||||
daNpc_Bou_Execute__FPv = .text:0x0000460C; // type:function size:0x20 scope:local
|
||||
daNpc_Bou_Draw__FPv = .text:0x0000462C; // type:function size:0x20 scope:local
|
||||
daNpc_Bou_IsDelete__FPv = .text:0x0000464C; // type:function size:0x8 scope:local
|
||||
calc__11J3DTexNoAnmCFPUs = .text:0x00004654; // type:function size:0x30 scope:global
|
||||
__dt__10cCcD_GSttsFv = .text:0x00004684; // type:function size:0x48 scope:global
|
||||
__dt__8daNpcT_cFv = .text:0x000046CC; // type:function size:0x388 scope:global
|
||||
|
|
@ -143,18 +143,18 @@ heapSize$4096 = .rodata:0x0000009C; // type:object size:0x18 scope:local
|
|||
@6218 = .rodata:0x00000138; // type:object size:0x4 scope:local
|
||||
@stringBase0 = .rodata:0x0000013C; // type:object size:0xF1 scope:local data:string_table
|
||||
...data.0 = .data:0x00000000; // type:label scope:local
|
||||
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
|
||||
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local
|
||||
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
|
||||
lbl_288_data_10 = .data:0x00000010; // type:object size:0x10
|
||||
l_bmdData = .data:0x00000020; // type:object size:0x8 scope:global data:4byte
|
||||
l_bmdData = .data:0x00000020; // type:object size:0x8 scope:local data:4byte
|
||||
l_evtList = .data:0x00000028; // type:object size:0x58 scope:global
|
||||
l_resNameList = .data:0x00000080; // type:object size:0x1C scope:global
|
||||
l_loadResPtrn0 = .data:0x0000009C; // type:object size:0x4 scope:global
|
||||
l_loadResPtrn1 = .data:0x000000A0; // type:object size:0x3 scope:global
|
||||
l_loadResPtrn2 = .data:0x000000A4; // type:object size:0x3 scope:global
|
||||
l_loadResPtrn3 = .data:0x000000A8; // type:object size:0x3 scope:global
|
||||
l_loadResPtrn9 = .data:0x000000AC; // type:object size:0x5 scope:global
|
||||
l_loadResPtrnList = .data:0x000000B4; // type:object size:0x18 scope:global
|
||||
l_resNameList = .data:0x00000080; // type:object size:0x1C scope:local
|
||||
l_loadResPtrn0 = .data:0x0000009C; // type:object size:0x4 scope:local
|
||||
l_loadResPtrn1 = .data:0x000000A0; // type:object size:0x3 scope:local
|
||||
l_loadResPtrn2 = .data:0x000000A4; // type:object size:0x3 scope:local
|
||||
l_loadResPtrn3 = .data:0x000000A8; // type:object size:0x3 scope:local
|
||||
l_loadResPtrn9 = .data:0x000000AC; // type:object size:0x5 scope:local
|
||||
l_loadResPtrnList = .data:0x000000B4; // type:object size:0x18 scope:local
|
||||
l_faceMotionAnmData = .data:0x000000CC; // type:object size:0x134 scope:global
|
||||
l_motionAnmData = .data:0x00000200; // type:object size:0x284 scope:global
|
||||
l_faceMotionSequenceData = .data:0x00000484; // type:object size:0xB0 scope:global
|
||||
|
|
@ -175,7 +175,7 @@ mCutList__11daNpc_Bou_c = .data:0x00000718; // type:object size:0x6C scope:globa
|
|||
@5136 = .data:0x000007A8; // type:object size:0xC scope:local data:4byte
|
||||
@5138 = .data:0x000007B4; // type:object size:0xC scope:local data:4byte
|
||||
@5286 = .data:0x000007C0; // type:object size:0x24 scope:local
|
||||
daNpc_Bou_MethodTable = .data:0x000007E4; // type:object size:0x20 scope:global
|
||||
daNpc_Bou_MethodTable = .data:0x000007E4; // type:object size:0x20 scope:local
|
||||
g_profile_NPC_BOU = .data:0x00000804; // type:object size:0x30 scope:global
|
||||
__vt__11J3DTexNoAnm = .data:0x00000834; // type:object size:0xC scope:global
|
||||
__vt__12J3DFrameCtrl = .data:0x00000840; // type:object size:0xC scope:global
|
||||
|
|
@ -193,4 +193,4 @@ __vt__11daNpc_Bou_c = .data:0x000008DC; // type:object size:0xC4 scope:global
|
|||
__vt__17daNpc_Bou_Param_c = .data:0x000009A0; // type:object size:0xC scope:global
|
||||
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
|
||||
@3942 = .bss:0x00000008; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000014; // type:object size:0x4 scope:global data:4byte
|
||||
l_HIO = .bss:0x00000014; // type:object size:0x4 scope:local data:4byte
|
||||
|
|
|
|||
|
|
@ -28,11 +28,11 @@ setSmokePrtcl__15daObj_Pumpkin_cFv = .text:0x00002674; // type:function size:0x8
|
|||
setWaterPrtcl__15daObj_Pumpkin_cFv = .text:0x000026F8; // type:function size:0x100 scope:global
|
||||
setHamonPrtcl__15daObj_Pumpkin_cFv = .text:0x000027F8; // type:function size:0x5C scope:global
|
||||
crash__15daObj_Pumpkin_cFv = .text:0x00002854; // type:function size:0x2B0 scope:global
|
||||
daObj_Pumpkin_Create__FPv = .text:0x00002B04; // type:function size:0x20 scope:global
|
||||
daObj_Pumpkin_Delete__FPv = .text:0x00002B24; // type:function size:0x20 scope:global
|
||||
daObj_Pumpkin_Execute__FPv = .text:0x00002B44; // type:function size:0x20 scope:global
|
||||
daObj_Pumpkin_Draw__FPv = .text:0x00002B64; // type:function size:0x20 scope:global
|
||||
daObj_Pumpkin_IsDelete__FPv = .text:0x00002B84; // type:function size:0x8 scope:global
|
||||
daObj_Pumpkin_Create__FPv = .text:0x00002B04; // type:function size:0x20 scope:local
|
||||
daObj_Pumpkin_Delete__FPv = .text:0x00002B24; // type:function size:0x20 scope:local
|
||||
daObj_Pumpkin_Execute__FPv = .text:0x00002B44; // type:function size:0x20 scope:local
|
||||
daObj_Pumpkin_Draw__FPv = .text:0x00002B64; // type:function size:0x20 scope:local
|
||||
daObj_Pumpkin_IsDelete__FPv = .text:0x00002B84; // type:function size:0x8 scope:local
|
||||
__dt__10cCcD_GSttsFv = .text:0x00002B8C; // type:function size:0x48 scope:global
|
||||
cLib_calcTimer<i>__FPi = .text:0x00002BD4; // type:function size:0x1C scope:global
|
||||
__sinit_d_a_obj_pumpkin_cpp = .text:0x00002BF0; // type:function size:0x74 scope:local
|
||||
|
|
@ -44,7 +44,7 @@ __destroy_global_chain_reference = .dtors:0x00000000; // type:object size:0x4 sc
|
|||
_dtors = .dtors:0x00000000; // type:label scope:global
|
||||
...rodata.0 = .rodata:0x00000000; // type:label scope:local
|
||||
m__21daObj_Pumpkin_Param_c = .rodata:0x00000000; // type:object size:0x34 scope:global
|
||||
l_ccDObjData = .rodata:0x00000034; // type:object size:0x30 scope:global
|
||||
l_ccDObjData = .rodata:0x00000034; // type:object size:0x30 scope:local
|
||||
@4022 = .rodata:0x00000064; // type:object size:0x4 scope:local
|
||||
@4023 = .rodata:0x00000068; // type:object size:0x4 scope:local
|
||||
@4860 = .rodata:0x0000006C; // type:object size:0x4 scope:local align:4 data:float
|
||||
|
|
@ -81,14 +81,14 @@ l_ccDObjData = .rodata:0x00000034; // type:object size:0x30 scope:global
|
|||
@5155 = .rodata:0x000000EC; // type:object size:0x4 scope:local align:4 data:float
|
||||
@stringBase0 = .rodata:0x000000F0; // type:object size:0x9 scope:local data:string_table
|
||||
...data.0 = .data:0x00000000; // type:label scope:local
|
||||
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
|
||||
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local
|
||||
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
|
||||
lbl_599_data_10 = .data:0x00000010; // type:object size:0x10
|
||||
l_bmdData = .data:0x00000020; // type:object size:0x8 scope:global data:4byte
|
||||
l_resNameList = .data:0x00000028; // type:object size:0x8 scope:global
|
||||
l_ccDCyl = .data:0x00000030; // type:object size:0x44 scope:global
|
||||
l_bmdData = .data:0x00000020; // type:object size:0x8 scope:local data:4byte
|
||||
l_resNameList = .data:0x00000028; // type:object size:0x8 scope:local
|
||||
l_ccDCyl = .data:0x00000030; // type:object size:0x44 scope:local
|
||||
emttrId$5110 = .data:0x00000074; // type:object size:0x8 scope:local
|
||||
daObj_Pumpkin_MethodTable = .data:0x0000007C; // type:object size:0x20 scope:global
|
||||
daObj_Pumpkin_MethodTable = .data:0x0000007C; // type:object size:0x20 scope:local
|
||||
g_profile_OBJ_PUMPKIN = .data:0x0000009C; // type:object size:0x30 scope:global
|
||||
__vt__8cM3dGPla = .data:0x000000CC; // type:object size:0xC scope:global
|
||||
__vt__12dBgS_ObjAcch = .data:0x000000D8; // type:object size:0x24 scope:global
|
||||
|
|
@ -102,4 +102,4 @@ __vt__15daObj_Pumpkin_c = .data:0x00000144; // type:object size:0xC scope:global
|
|||
__vt__21daObj_Pumpkin_Param_c = .data:0x00000150; // type:object size:0xC scope:global
|
||||
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
|
||||
@3860 = .bss:0x00000008; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000014; // type:object size:0x4 scope:global data:4byte
|
||||
l_HIO = .bss:0x00000014; // type:object size:0x4 scope:local data:4byte
|
||||
|
|
|
|||
|
|
@ -2126,7 +2126,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_poFire"),
|
||||
ActorRel(NonMatching, "d_a_obj_poTbox"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_prop"),
|
||||
ActorRel(NonMatching, "d_a_obj_pumpkin"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_pumpkin"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_rcircle"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_rfHole"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_rgate"),
|
||||
|
|
|
|||
|
|
@ -12,58 +12,37 @@
|
|||
*
|
||||
*/
|
||||
|
||||
struct daNpc_Jagar_HIOParam {
|
||||
/* 0x00 */ daNpcT_HIOParam common;
|
||||
/* 0x8C */ f32 pumpkin_watch_range;
|
||||
/* 0x90 */ f32 pumpkin_watch_Ymax;
|
||||
/* 0x94 */ f32 pumpkin_watch_Ymin;
|
||||
/* 0x98 */ f32 running_speed;
|
||||
/* 0x9C */ f32 hidden_state_release_dist;
|
||||
};
|
||||
|
||||
class daNpc_Jagar_Param_c {
|
||||
public:
|
||||
/* 80A1A2C4 */ virtual ~daNpc_Jagar_Param_c() {}
|
||||
|
||||
struct Data {
|
||||
/* 0x00 */ f32 field_0x00; // 170.0f
|
||||
/* 0x04 */ f32 field_0x04; // -3.0f
|
||||
/* 0x08 */ f32 field_0x08; // 1.0f
|
||||
/* 0x0C */ f32 field_0x0c; // 400.0f
|
||||
/* 0x10 */ f32 field_0x10; // 255.0f
|
||||
/* 0x14 */ f32 field_0x14; // 160.0f
|
||||
/* 0x18 */ f32 field_0x18; // 35.0f
|
||||
/* 0x1C */ f32 field_0x1c; // 30.0f
|
||||
/* 0x20 */ f32 field_0x20; // 0.0f
|
||||
/* 0x24 */ f32 field_0x24; // 0.0f
|
||||
/* 0x28 */ f32 field_0x28; // 10.0f
|
||||
/* 0x2C */ f32 field_0x2c; // -10.0f
|
||||
/* 0x30 */ f32 field_0x30; // 30.0f
|
||||
/* 0x34 */ f32 field_0x34; // -10.0f
|
||||
/* 0x38 */ f32 field_0x38; // 45.0f
|
||||
/* 0x3C */ f32 field_0x3c; // -45.0f
|
||||
/* 0x40 */ f32 field_0x40; // 0.6f
|
||||
/* 0x44 */ f32 field_0x44; // 12.0f
|
||||
/* 0x48 */ s16 field_0x48;
|
||||
/* 0x4A */ s16 field_0x4a;
|
||||
/* 0x4C */ s16 field_0x4c;
|
||||
/* 0x4E */ s16 field_0x4e;
|
||||
/* 0x50 */ f32 field_0x50; // 110.0f
|
||||
/* 0x54 */ f32 field_0x54; // 500.0f
|
||||
/* 0x58 */ f32 field_0x58; // 300.0f
|
||||
/* 0x5C */ f32 field_0x5c; // -300.0f
|
||||
/* 0x60 */ s16 field_0x60; // 60
|
||||
/* 0x62 */ s16 field_0x62; // 8
|
||||
/* 0x64 */ f32 field_0x64; // 0.0f
|
||||
/* 0x68 */ f32 field_0x68; // 0.0f
|
||||
/* 0x6C */ f32 field_0x6c; // 4.0f
|
||||
/* 0x70 */ f32 field_0x70; // 0.0f
|
||||
/* 0x74 */ f32 field_0x74; // 0.0f
|
||||
/* 0x78 */ f32 field_0x78; // 0.0f
|
||||
/* 0x7C */ f32 field_0x7c; // 0.0f
|
||||
/* 0x80 */ f32 field_0x80; // 0.0f
|
||||
/* 0x84 */ f32 field_0x84; // 0.0f
|
||||
/* 0x88 */ f32 field_0x88; // 0.0f
|
||||
/* 0x8C */ f32 field_0x8c; // 1400.0f
|
||||
/* 0x90 */ f32 field_0x90; // 200.0f
|
||||
/* 0x94 */ f32 field_0x94; // -800.0f
|
||||
/* 0x98 */ f32 field_0x98; // 16.0f
|
||||
/* 0x9C */ f32 field_0x9c; // 1800.0f
|
||||
};
|
||||
|
||||
static const Data m;
|
||||
};
|
||||
public:
|
||||
/* 80A1A2C4 */ virtual ~daNpc_Jagar_Param_c() {}
|
||||
|
||||
static const daNpc_Jagar_HIOParam m;
|
||||
};
|
||||
|
||||
#if DEBUG
|
||||
class daNpc_Jagar_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
daNpc_Jagar_HIO_c();
|
||||
|
||||
void listenPropertyEvent(const JORPropertyEvent*);
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
daNpc_Jagar_HIOParam m;
|
||||
};
|
||||
|
||||
#define NPC_JAGAR_HIO_CLASS daNpc_Jagar_HIO_c
|
||||
#else
|
||||
#define NPC_JAGAR_HIO_CLASS daNpc_Jagar_Param_c
|
||||
#endif
|
||||
|
||||
class daNpc_Jagar_c : public daNpcT_c {
|
||||
public:
|
||||
|
|
@ -181,9 +160,9 @@ public:
|
|||
|
||||
BOOL chkFindWolf() {
|
||||
int uVar3 = (int)daNpcT_getDistTableIdx(field_0xff0, field_0xff4);
|
||||
return daNpcT_c::chkFindWolf(mCurAngle.y, uVar3, field_0xfec, daNpc_Jagar_Param_c::m.field_0x54,
|
||||
daNpc_Jagar_Param_c::m.field_0x50, daNpc_Jagar_Param_c::m.field_0x58,
|
||||
daNpc_Jagar_Param_c::m.field_0x5c, 1);
|
||||
return daNpcT_c::chkFindWolf(mCurAngle.y, uVar3, field_0xfec, mpHIO->m.common.search_distance,
|
||||
mpHIO->m.common.fov, mpHIO->m.common.search_height,
|
||||
mpHIO->m.common.search_depth, 1);
|
||||
}
|
||||
|
||||
int chkCondition(int i_val) {
|
||||
|
|
@ -225,10 +204,29 @@ public:
|
|||
|
||||
u8 getPathID() { return (fopAcM_GetParam(this) & 0xff00) >> 8; }
|
||||
|
||||
int crashPumpkin(fopAc_ac_c* pumpkin_p) {
|
||||
int reg_r30;
|
||||
if (mType == 0 && fopAcM_GetName(pumpkin_p) == PROC_OBJ_PUMPKIN && !daNpcT_chkEvtBit(0xAE)
|
||||
&& daNpcT_chkEvtBit(0x25B) && !daNpcT_chkEvtBit(0x235)) {
|
||||
++field_0xffc;
|
||||
reg_r30 = chkPointInArea(pumpkin_p->current.pos, current.pos, mpHIO->m.pumpkin_watch_range,
|
||||
mpHIO->m.pumpkin_watch_Ymax, mpHIO->m.pumpkin_watch_Ymin, 0);
|
||||
if (reg_r30) {
|
||||
if (field_0xffc >= 4) {
|
||||
daNpcT_onTmpBit(0x1B);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static char* mCutNameList[7];
|
||||
static cutFunc mCutList[7];
|
||||
private:
|
||||
/* 0x0E40 */ int field_0xe40;
|
||||
/* 0x0E40 */ NPC_JAGAR_HIO_CLASS* mpHIO;
|
||||
/* 0x0E44 */ dCcD_Cyl mCyl1;
|
||||
/* 0x0F80 */ u8 mType;
|
||||
/* 0x0F84 */ daNpcT_ActorMngr_c mActorMngr[5];
|
||||
|
|
@ -239,7 +237,7 @@ private:
|
|||
/* 0x0FF0 */ int field_0xff0;
|
||||
/* 0x0FF4 */ int field_0xff4;
|
||||
/* 0x0FF8 */ int field_0xff8;
|
||||
/* 0x0FFC */ u8 field_0xffc[0x1000 - 0xffc];
|
||||
/* 0x0FFC */ int field_0xffc;
|
||||
/* 0x1000 */ u8 field_0x1000;
|
||||
/* 0x1001 */ u8 field_0x1001;
|
||||
/* 0x1002 */ u8 field_0x1002;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,50 @@
|
|||
#define D_A_OBJ_PUMPKIN_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
|
||||
struct daObj_Pumpkin_HIOParam {
|
||||
/* 0x00 */ f32 featured_offset;
|
||||
/* 0x04 */ f32 gravity;
|
||||
/* 0x08 */ f32 scale;
|
||||
/* 0x0C */ f32 real_shadow_size;
|
||||
/* 0x10 */ f32 weight;
|
||||
/* 0x14 */ f32 height;
|
||||
/* 0x18 */ f32 knee_length;
|
||||
/* 0x1C */ f32 width;
|
||||
/* 0x20 */ f32 fire_rate;
|
||||
/* 0x24 */ f32 launch_angle;
|
||||
/* 0x28 */ f32 floating_offset;
|
||||
/* 0x2C */ s16 hold_on;
|
||||
/* 0x2E */ s16 pull_sound_delay;
|
||||
/* 0x30 */ s16 growth_time_1;
|
||||
/* 0x32 */ s16 growth_time_2;
|
||||
};
|
||||
|
||||
class daObj_Pumpkin_Param_c {
|
||||
public:
|
||||
/* 80CB8304 */ virtual ~daObj_Pumpkin_Param_c() {}
|
||||
|
||||
static const daObj_Pumpkin_HIOParam m;
|
||||
};
|
||||
|
||||
#if DEBUG
|
||||
class daObj_Pumpkin_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
daObj_Pumpkin_HIO_c();
|
||||
|
||||
void listenPropertyEvent(const JORPropertyEvent*);
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
daObj_Pumpkin_HIOParam m;
|
||||
};
|
||||
|
||||
#define OBJ_PUMPKIN_HIO_CLASS daObj_Pumpkin_HIO_c
|
||||
#else
|
||||
#define OBJ_PUMPKIN_HIO_CLASS daObj_Pumpkin_Param_c
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
|
|
@ -12,21 +56,78 @@
|
|||
*
|
||||
*/
|
||||
class daObj_Pumpkin_c : public fopAc_ac_c {
|
||||
private:
|
||||
/* 0x568 */ OBJ_PUMPKIN_HIO_CLASS* mpHIO;
|
||||
/* 0x56C */ request_of_phase_process_class mPhaseReq;
|
||||
/* 0x574 */ J3DModel* mpModel;
|
||||
/* 0x578 */ dBgS_ObjAcch mObjAcch;
|
||||
/* 0x750 */ dCcD_Stts mStts;
|
||||
/* 0x78C */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x7CC */ cBgS_GndChk mGndChk;
|
||||
/* 0x808 */ dCcD_Cyl mCyl0;
|
||||
/* 0x944 */ dCcD_Cyl mCyl1;
|
||||
/* 0xA80 */ daPy_boomerangMove_c mBoomerangMove;
|
||||
/* 0xA8C */ cM3dGLin mLin;
|
||||
/* 0xAA8 */ dBgS_LinChk mLinChk;
|
||||
/* 0xB18 */ f32 mPumpkinScale;
|
||||
/* 0xB1C */ u8 mType;
|
||||
/* 0xB20 */ cXyz field_0xB20;
|
||||
/* 0xB2C */ cXyz field_0xB2C;
|
||||
/* 0xB38 */ csXyz field_0xB38;
|
||||
/* 0xB40 */ fpc_ProcID mItemProcId;
|
||||
/* 0xB44 */ int field_0xB44;
|
||||
/* 0xB48 */ int field_0xB48;
|
||||
/* 0xB4C */ int field_0xB4C;
|
||||
/* 0xB50 */ int field_0xB50;
|
||||
/* 0xB54 */ int field_0xB54;
|
||||
/* 0xB58 */ int field_0xB58;
|
||||
/* 0xB5C */ f32 field_0xB5C;
|
||||
/* 0xB60 */ f32 field_0xB60;
|
||||
/* 0xB64 */ f32 mWaterY;
|
||||
/* 0xB68 */ f32 field_0xB68;
|
||||
/* 0xB6C */ u8 field_0xB6C[0xB70 - 0xB6C];
|
||||
/* 0xB70 */ f32 field_0xB70;
|
||||
/* 0xB74 */ f32 field_0xB74;
|
||||
/* 0xB78 */ s16 field_0xB78;
|
||||
/* 0xB7A */ s16 field_0xB7A;
|
||||
/* 0xB7C */ s16 field_0xB7C;
|
||||
/* 0xB7E */ s16 field_0xB7E;
|
||||
/* 0xB80 */ s16 field_0xB80;
|
||||
/* 0xB82 */ u8 field_0xB82[0xB88 - 0xB82];
|
||||
/* 0xB88 */ u32 mWaterPrtcls[4];
|
||||
/* 0xB98 */ u32 mHamonPrtcl;
|
||||
/* 0xB9C */ u8 field_0xB9C[0xBA0 - 0xB9C];
|
||||
/* 0xBA0 */ u32 mSmokePrtcl1;
|
||||
/* 0xBA4 */ u32 mSmokePrtcl2;
|
||||
/* 0xBA8 */ u8 field_0xBA8;
|
||||
/* 0xBA9 */ u8 field_0xBA9;
|
||||
/* 0xBAA */ u8 field_0xBAA;
|
||||
/* 0xBAB */ u8 field_0xBAB;
|
||||
/* 0xBAC */ u8 field_0xBAC;
|
||||
/* 0xBAD */ u8 field_0xBAD;
|
||||
/* 0xBAE */ u8 field_0xBAE;
|
||||
/* 0xBAF */ u8 field_0xBAF;
|
||||
/* 0xBB0 */ u8 field_0xBB0;
|
||||
/* 0xBB1 */ u8 field_0xBB1;
|
||||
/* 0xBB2 */ u8 field_0xBB2;
|
||||
/* 0xBB3 */ u8 field_0xbb3;
|
||||
/* 0xBB4 */ u8 field_0xbb4;
|
||||
|
||||
public:
|
||||
/* 80CB578C */ ~daObj_Pumpkin_c();
|
||||
/* 80CB5A04 */ void create();
|
||||
/* 80CB5F88 */ void CreateHeap();
|
||||
/* 80CB6018 */ void Delete();
|
||||
/* 80CB604C */ void Execute();
|
||||
/* 80CB7638 */ void Draw();
|
||||
/* 80CB7824 */ void createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80CB7844 */ void isDelete();
|
||||
/* 80CB578C */ virtual ~daObj_Pumpkin_c();
|
||||
/* 80CB5A04 */ int create();
|
||||
/* 80CB5F88 */ int CreateHeap();
|
||||
/* 80CB6018 */ int Delete();
|
||||
/* 80CB604C */ int Execute();
|
||||
/* 80CB7638 */ int Draw();
|
||||
/* 80CB7824 */ static int createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80CB7844 */ int isDelete();
|
||||
/* 80CB78C8 */ void setEnvTevColor();
|
||||
/* 80CB7924 */ void setRoomNo();
|
||||
/* 80CB7968 */ void reset();
|
||||
/* 80CB79DC */ void setMtx();
|
||||
/* 80CB7AE4 */ void calcRollAngle(s16, int);
|
||||
/* 80CB7B84 */ void getWallAngle(s16, s16*);
|
||||
/* 80CB7AE4 */ s16 calcRollAngle(s16, int);
|
||||
/* 80CB7B84 */ int getWallAngle(s16, s16*);
|
||||
/* 80CB7D14 */ void setSmokePrtcl();
|
||||
/* 80CB7D98 */ void setWaterPrtcl();
|
||||
/* 80CB7E98 */ void setHamonPrtcl();
|
||||
|
|
@ -42,22 +143,58 @@ public:
|
|||
mpModel->setBaseTRMtx(mtx);
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x574 - 0x568];
|
||||
/* 0x574 */ J3DModel* mpModel;
|
||||
/* 0x578 */ u8 field_0x578[0xbb3 - 0x578];
|
||||
/* 0xB7C */ u8 field_0xbb3;
|
||||
/* 0xB7E */ u8 field_0xbb4[0xbbc - 0xbb4];
|
||||
int getItemTableNo() {
|
||||
u8 prm = fopAcM_GetParam(this) & 0xFF;
|
||||
if (prm == 0xFF) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return prm;
|
||||
}
|
||||
|
||||
u8 getType() {
|
||||
u8 prm = (fopAcM_GetParam(this) & 0xFF00) >> 8;
|
||||
switch (prm) {
|
||||
case 0:
|
||||
return 0;
|
||||
case 1:
|
||||
return 1;
|
||||
case 2:
|
||||
return 2;
|
||||
case 3:
|
||||
return 3;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
u8 getProcType() {
|
||||
u8 prm = (fopAcM_GetParam(this) & 0xF0000000) >> 0x1C;
|
||||
if (prm == 0xF) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return prm;
|
||||
}
|
||||
|
||||
void popup(f32 i_f0, f32 i_deg, cXyz* ip_vec) {
|
||||
if (ip_vec != NULL) {
|
||||
current.pos = *ip_vec;
|
||||
old.pos = current.pos;
|
||||
}
|
||||
|
||||
s16 temp_r30 = cM_deg2s(i_deg);
|
||||
speed.setall(0.0f);
|
||||
speed.y = i_f0 * cM_ssin(temp_r30);
|
||||
speedF = i_f0 * cM_scos(temp_r30);
|
||||
field_0xB50 = 6;
|
||||
field_0xB7C = 0x4000;
|
||||
field_0xBAD = 1;
|
||||
field_0xB74 = 0.0f;
|
||||
}
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObj_Pumpkin_c) == 0xbbc);
|
||||
|
||||
class daObj_Pumpkin_Param_c {
|
||||
public:
|
||||
/* 80CB8304 */ ~daObj_Pumpkin_Param_c();
|
||||
|
||||
static u8 const m[52];
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_PUMPKIN_H */
|
||||
|
|
|
|||
|
|
@ -138,6 +138,45 @@ enum Event {
|
|||
/* 0x8 */ EVENT_FIND_WOLF_VER2,
|
||||
};
|
||||
|
||||
/* 80A1A330-80A1A3D0 000000 00A0+00 13/13 0/0 1/1 .rodata m__19daNpc_Jagar_Param_c */
|
||||
daNpc_Jagar_HIOParam const daNpc_Jagar_Param_c::m = {
|
||||
170.0f, -3.0f, 1.0f, 400.0f, 255.0f, 160.0f,
|
||||
35.0f, 30.0f, 0.0f, 0.0f, 10.0f, -10.0f,
|
||||
30.0f, -10.0f, 45.0f, -45.0f, 0.6f, 12.0f,
|
||||
3, 6, 5, 6, 110.0f, 500.0f, 300.0f, -300.0f,
|
||||
60, 8, 0, 0, 0, 0.0f, 0.0f, 4.0f, 0.0f, 0.0f,
|
||||
0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
|
||||
// Jagar-specific:
|
||||
1400.0f, 200.0f, -800.0f, 16.0f, 1800.0f,
|
||||
};
|
||||
|
||||
#if DEBUG
|
||||
daNpc_Jagar_HIO_c::daNpc_Jagar_HIO_c() {
|
||||
m = daNpc_Jagar_Param_c::m;
|
||||
}
|
||||
|
||||
void daNpc_Jagar_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) {
|
||||
// TODO.
|
||||
}
|
||||
|
||||
void daNpc_Jagar_HIO_c::genMessage(JORMContext* ctext) {
|
||||
// TODO.
|
||||
daNpcT_cmnGenMessage(ctext, &m.common);
|
||||
// pumpkin monitoring distance
|
||||
ctext->genSlider("かぼちゃ監視距離", &m.pumpkin_watch_range, 0.0f, 1000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24);
|
||||
// pumpkin watch height
|
||||
ctext->genSlider("かぼちゃ監視高さ", &m.pumpkin_watch_Ymax, -10000.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24);
|
||||
// "Pumpkin monitoring is low"?
|
||||
ctext->genSlider("かぼちゃ監視低さ", &m.pumpkin_watch_Ymin, -10000.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24);
|
||||
// running speed
|
||||
ctext->genSlider("走る速度 ", &m.running_speed, 0.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24);
|
||||
// hidden state release dist
|
||||
ctext->genSlider("隠れ状態解除距離", &m.hidden_state_release_dist, 0.0f, 10000.0f, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 24);
|
||||
// export file:
|
||||
ctext->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xFFFF, 0xFFFF, 0x200, 0x18);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80A1A568-80A1A570 000020 0008+00 1/1 0/0 0/0 .data l_bmdData */
|
||||
static int l_bmdData[1][2] = {
|
||||
{BMDR_JAGAR, 1},
|
||||
|
|
@ -310,6 +349,13 @@ daNpc_Jagar_c::cutFunc daNpc_Jagar_c::mCutList[7] = {
|
|||
&daNpc_Jagar_c::cutFindWolf,
|
||||
};
|
||||
|
||||
#if DEBUG
|
||||
static daNpc_Jagar_HIO_c l_HIO;
|
||||
#else
|
||||
/* 80A1AE2C-80A1AE30 000054 0004+00 1/1 0/0 0/0 .bss l_HIO */
|
||||
static daNpc_Jagar_Param_c l_HIO;
|
||||
#endif
|
||||
|
||||
/* 80A1470C-80A14858 0000EC 014C+00 1/0 0/0 0/0 .text __dt__13daNpc_Jagar_cFv */
|
||||
daNpc_Jagar_c::~daNpc_Jagar_c() {
|
||||
if (mpMorf[0] != 0) {
|
||||
|
|
@ -318,17 +364,6 @@ daNpc_Jagar_c::~daNpc_Jagar_c() {
|
|||
deleteRes(l_loadResPtrnList[mType], (char const**)l_resNameList);
|
||||
}
|
||||
|
||||
/* 80A1A330-80A1A3D0 000000 00A0+00 13/13 0/0 1/1 .rodata m__19daNpc_Jagar_Param_c */
|
||||
daNpc_Jagar_Param_c::Data const daNpc_Jagar_Param_c::m = {
|
||||
170.0f, -3.0f, 1.0f, 400.0f, 255.0f, 160.0f,
|
||||
35.0f, 30.0f, 0.0f, 0.0f, 10.0f, -10.0f,
|
||||
30.0f, -10.0f, 45.0f, -45.0f, 0.6f, 12.0f,
|
||||
3, 6, 5, 6, 110.0f, 500.0f, 300.0f, -300.0f,
|
||||
60, 8, 0.0f, 0.0f, 4.0f, 0.0f, 0.0f,
|
||||
0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1400.0f,
|
||||
200.0f, -800.0f, 16.0f, 1800.0f,
|
||||
};
|
||||
|
||||
/* 80A14858-80A14B20 000238 02C8+00 1/1 0/0 0/0 .text create__13daNpc_Jagar_cFv */
|
||||
int daNpc_Jagar_c::create() {
|
||||
static int const heapSize[4] = {14416, 14448, 14448, 0};
|
||||
|
|
@ -359,7 +394,7 @@ int daNpc_Jagar_c::create() {
|
|||
mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1,
|
||||
&mAcchCir, fopAcM_GetSpeed_p(this), fopAcM_GetAngle_p(this),
|
||||
fopAcM_GetShapeAngle_p(this));
|
||||
mCcStts.Init(daNpc_Jagar_Param_c::m.field_0x10, 0, this);
|
||||
mCcStts.Init(mpHIO->m.common.weight, 0, this);
|
||||
mCyl1.Set(mCcDCyl);
|
||||
mCyl1.SetStts(&mCcStts);
|
||||
mCyl1.SetTgHitCallback(tgHitCallBack);
|
||||
|
|
@ -536,39 +571,39 @@ void daNpc_Jagar_c::setParam() {
|
|||
selectAction();
|
||||
srchActors();
|
||||
u32 uVar7 = (fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e);
|
||||
s16 sVar10 = daNpc_Jagar_Param_c::m.field_0x48;
|
||||
s16 sVar9 = daNpc_Jagar_Param_c::m.field_0x4a;
|
||||
s16 sVar8 = daNpc_Jagar_Param_c::m.field_0x4c;
|
||||
s16 sVar7 = daNpc_Jagar_Param_c::m.field_0x4e;
|
||||
s16 talk_dist = mpHIO->m.common.talk_distance;
|
||||
s16 talk_ang = mpHIO->m.common.talk_angle;
|
||||
s16 att_dist = mpHIO->m.common.attention_distance;
|
||||
s16 att_ang = mpHIO->m.common.attention_angle;
|
||||
|
||||
switch (mType) {
|
||||
case TYPE_0:
|
||||
sVar10 = 4;
|
||||
sVar9 = 6;
|
||||
sVar8 = 5;
|
||||
sVar7 = 6;
|
||||
talk_dist = 4;
|
||||
talk_ang = 6;
|
||||
att_dist = 5;
|
||||
att_ang = 6;
|
||||
break;
|
||||
|
||||
case TYPE_1:
|
||||
field_0xff0 = 3;
|
||||
field_0xff4 = 6;
|
||||
sVar10 = 19;
|
||||
sVar9 = 6;
|
||||
sVar8 = 19;
|
||||
sVar7 = 6;
|
||||
talk_dist = 19;
|
||||
talk_ang = 6;
|
||||
att_dist = 19;
|
||||
att_ang = 6;
|
||||
break;
|
||||
|
||||
case TYPE_2:
|
||||
sVar10 = 3;
|
||||
sVar9 = 6;
|
||||
sVar8 = 5;
|
||||
sVar7 = 6;
|
||||
talk_dist = 3;
|
||||
talk_ang = 6;
|
||||
att_dist = 5;
|
||||
att_ang = 6;
|
||||
break;
|
||||
}
|
||||
|
||||
attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(sVar8, sVar7);
|
||||
attention_info.distances[fopAc_attn_LOCK_e] = daNpcT_getDistTableIdx(att_dist, att_ang);
|
||||
attention_info.distances[fopAc_attn_TALK_e] = attention_info.distances[fopAc_attn_LOCK_e];
|
||||
attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(sVar10, sVar9);
|
||||
attention_info.distances[fopAc_attn_SPEAK_e] = daNpcT_getDistTableIdx(talk_dist, talk_ang);
|
||||
|
||||
if (mType == TYPE_1) {
|
||||
uVar7 |= fopAc_AttnFlag_UNK_0x800000;
|
||||
|
|
@ -586,18 +621,18 @@ void daNpc_Jagar_c::setParam() {
|
|||
}
|
||||
|
||||
attention_info.flags = uVar7;
|
||||
scale.set(daNpc_Jagar_Param_c::m.field_0x08, daNpc_Jagar_Param_c::m.field_0x08,
|
||||
daNpc_Jagar_Param_c::m.field_0x08);
|
||||
mCcStts.SetWeight(daNpc_Jagar_Param_c::m.field_0x10);
|
||||
mCylH = daNpc_Jagar_Param_c::m.field_0x14;
|
||||
mWallR = daNpc_Jagar_Param_c::m.field_0x1c;
|
||||
mAttnFovY = daNpc_Jagar_Param_c::m.field_0x50;
|
||||
scale.set(mpHIO->m.common.scale, mpHIO->m.common.scale,
|
||||
mpHIO->m.common.scale);
|
||||
mCcStts.SetWeight(mpHIO->m.common.weight);
|
||||
mCylH = mpHIO->m.common.height;
|
||||
mWallR = mpHIO->m.common.width;
|
||||
mAttnFovY = mpHIO->m.common.fov;
|
||||
mAcchCir.SetWallR(mWallR);
|
||||
mAcchCir.SetWallH(daNpc_Jagar_Param_c::m.field_0x18);
|
||||
mRealShadowSize = daNpc_Jagar_Param_c::m.field_0x0c;
|
||||
mExpressionMorfFrame = daNpc_Jagar_Param_c::m.field_0x6c;
|
||||
mMorfFrames = daNpc_Jagar_Param_c::m.field_0x44;
|
||||
gravity = daNpc_Jagar_Param_c::m.field_0x04;
|
||||
mAcchCir.SetWallH(mpHIO->m.common.knee_length);
|
||||
mRealShadowSize = mpHIO->m.common.real_shadow_size;
|
||||
mExpressionMorfFrame = mpHIO->m.common.expression_morf_frame;
|
||||
mMorfFrames = mpHIO->m.common.morf_frame;
|
||||
gravity = mpHIO->m.common.gravity;
|
||||
}
|
||||
|
||||
/* 80A155E4-80A15714 000FC4 0130+00 1/0 0/0 0/0 .text checkChangeEvt__13daNpc_Jagar_cFv */
|
||||
|
|
@ -775,9 +810,6 @@ void daNpc_Jagar_c::beforeMove() {
|
|||
}
|
||||
}
|
||||
|
||||
/* 80A1AE2C-80A1AE30 000054 0004+00 1/1 0/0 0/0 .bss l_HIO */
|
||||
static daNpc_Jagar_Param_c l_HIO;
|
||||
|
||||
/* 80A15D68-80A1607C 001748 0314+00 1/0 0/0 0/0 .text setAttnPos__13daNpc_Jagar_cFv */
|
||||
void daNpc_Jagar_c::setAttnPos() {
|
||||
cXyz cStack_3c(-10.0f, 10.0f, 0.0f);
|
||||
|
|
@ -785,11 +817,11 @@ void daNpc_Jagar_c::setAttnPos() {
|
|||
f32 dVar8 = cM_s2rad(mCurAngle.y - field_0xd7e.y);
|
||||
J3DModel* model = mpMorf[0]->getModel();
|
||||
mJntAnm.setParam(this, model, &cStack_3c, getBackboneJointNo(), getNeckJointNo(),
|
||||
getHeadJointNo(), daNpc_Jagar_Param_c::m.field_0x24, daNpc_Jagar_Param_c::m.field_0x20,
|
||||
daNpc_Jagar_Param_c::m.field_0x2c, daNpc_Jagar_Param_c::m.field_0x28,
|
||||
daNpc_Jagar_Param_c::m.field_0x34, daNpc_Jagar_Param_c::m.field_0x30,
|
||||
daNpc_Jagar_Param_c::m.field_0x3c, daNpc_Jagar_Param_c::m.field_0x38,
|
||||
daNpc_Jagar_Param_c::m.field_0x40, dVar8, NULL);
|
||||
getHeadJointNo(), mpHIO->m.common.body_angleX_min, mpHIO->m.common.body_angleX_max,
|
||||
mpHIO->m.common.body_angleY_min, mpHIO->m.common.body_angleY_max,
|
||||
mpHIO->m.common.head_angleX_min, mpHIO->m.common.head_angleX_max,
|
||||
mpHIO->m.common.head_angleY_min, mpHIO->m.common.head_angleY_max,
|
||||
mpHIO->m.common.neck_rotation_ratio, dVar8, NULL);
|
||||
mJntAnm.calcJntRad(0.2f, 1.0f, dVar8);
|
||||
setMtx();
|
||||
mDoMtx_stack_c::copy(mpMorf[0]->getModel()->getAnmMtx(getHeadJointNo()));
|
||||
|
|
@ -797,7 +829,7 @@ void daNpc_Jagar_c::setAttnPos() {
|
|||
mJntAnm.setEyeAngleX(eyePos, 1.0f, -0x2800);
|
||||
mJntAnm.setEyeAngleY(eyePos, mCurAngle.y, 1, 1.0f, 0);
|
||||
cStack_3c.set(0.0f, 0.0f, 10.0f);
|
||||
cStack_3c.y = daNpc_Jagar_Param_c::m.field_0x00;
|
||||
cStack_3c.y = mpHIO->m.common.attention_offset;
|
||||
if (field_0x1004 == 2) {
|
||||
cStack_3c.set(0.0f, 100.0f, -60.0f);
|
||||
}
|
||||
|
|
@ -1323,7 +1355,7 @@ int daNpc_Jagar_c::cutFindWolf(int i_cutIndex) {
|
|||
cLib_chaseS(&shape_angle.y, current.angle.y, 0x800);
|
||||
mCurAngle.y = shape_angle.y;
|
||||
field_0xd7e.y = mCurAngle.y;
|
||||
cLib_chaseF(&speedF, daNpc_Jagar_Param_c::m.field_0x98, 0.5f);
|
||||
cLib_chaseF(&speedF, mpHIO->m.running_speed, 0.5f);
|
||||
mAcch.SetWallNone();
|
||||
if (cLib_calcTimer(&mEventTimer) == 0) {
|
||||
rv = 1;
|
||||
|
|
@ -1514,7 +1546,7 @@ int daNpc_Jagar_c::wait(void* param_1) {
|
|||
switch (mType) {
|
||||
case TYPE_0:
|
||||
daNpcT_offTmpBit(0x10); // dSv_event_tmp_flag_c::T_0015 - Ordon Village - Link came up the hill afte being called by Jaggle
|
||||
cStack_24.set(daNpc_Jagar_Param_c::m.field_0x54, 10.0f, daNpc_Jagar_Param_c::m.field_0x54);
|
||||
cStack_24.set(mpHIO->m.common.search_distance, 10.0f, mpHIO->m.common.search_distance);
|
||||
if (chkPointInArea(daPy_getPlayerActorClass()->current.pos, current.pos,
|
||||
cStack_24, 0)) {
|
||||
if (daPy_getPlayerActorClass()->checkPlayerFly()) {
|
||||
|
|
@ -1545,9 +1577,9 @@ int daNpc_Jagar_c::wait(void* param_1) {
|
|||
case TYPE_2:
|
||||
if (!mHide) {
|
||||
if (daNpcT_c::chkFindWolf(mCurAngle.y, daNpcT_getDistTableIdx(field_0xff0, field_0xff4),
|
||||
field_0xfec, daNpc_Jagar_Param_c::m.field_0x54, 180.0f,
|
||||
daNpc_Jagar_Param_c::m.field_0x58,
|
||||
daNpc_Jagar_Param_c::m.field_0x5c, 1)) {
|
||||
field_0xfec, mpHIO->m.common.search_distance, 180.0f,
|
||||
mpHIO->m.common.search_height,
|
||||
mpHIO->m.common.search_depth, 1)) {
|
||||
mEvtNo = EVENT_FIND_WOLF_VER2;
|
||||
}
|
||||
}
|
||||
|
|
@ -1649,13 +1681,14 @@ int daNpc_Jagar_c::talkwithBou(void* param_0) {
|
|||
}
|
||||
// fallthrough
|
||||
case 2:
|
||||
if (mHide != 0 && !daNpcT_chkEvtBit(0xD3) /* dSv_event_flag_c::F_0211 - Ordon Village - Successfully eavesdrop on Bo and Jaggle */) {
|
||||
if (mHide != 0 && !daNpcT_chkEvtBit(0xD3)) {
|
||||
/* dSv_event_flag_c::F_0211 - Ordon Village - Successfully eavesdrop on Bo and Jaggle */
|
||||
f32 actor_dist = fopAcM_searchActorDistanceXZ(this, daPy_getPlayerActorClass());
|
||||
if (daNpc_Jagar_Param_c::m.field_0x9c < actor_dist && field_0xe34 == 0) {
|
||||
if (mpHIO->m.hidden_state_release_dist < actor_dist && field_0xe34 == 0) {
|
||||
if (bo) {
|
||||
bo->mHide = 0;
|
||||
}
|
||||
|
||||
|
||||
mHide = 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue