d_a_npc_worm matching (#2365)

* d_a_npc_worm matching

* Rename a_this
This commit is contained in:
hatal175
2025-03-31 18:30:42 -07:00
committed by GitHub
parent d7a8fb9d83
commit 98f755e98a
11 changed files with 412 additions and 432 deletions
+8 -8
View File
@@ -1,18 +1,18 @@
_prolog = .text:0x00000000; // type:function size:0x2C scope:global
_epilog = .text:0x0000002C; // type:function size:0x2C scope:global
_unresolved = .text:0x00000058; // type:function size:0x20 scope:global
nodeCallBack__FP8J3DJointi = .text:0x00000078; // type:function size:0xD4 scope:global
daNPC_WORM_Draw__FP14npc_worm_class = .text:0x0000014C; // type:function size:0xF8 scope:global
nodeCallBack__FP8J3DJointi = .text:0x00000078; // type:function size:0xD4 scope:local
daNPC_WORM_Draw__FP14npc_worm_class = .text:0x0000014C; // type:function size:0xF8 scope:local
npc_worm_ground__FP14npc_worm_class = .text:0x00000244; // type:function size:0x280 scope:global
npc_worm_normal__FP14npc_worm_class = .text:0x000004C4; // type:function size:0x280 scope:global
npc_worm_dive__FP14npc_worm_class = .text:0x00000744; // type:function size:0x134 scope:global
npc_worm_binwait__FP14npc_worm_class = .text:0x00000878; // type:function size:0x4C scope:global
action__FP14npc_worm_class = .text:0x000008C4; // type:function size:0x530 scope:global
daNPC_WORM_Execute__FP14npc_worm_class = .text:0x00000DF4; // type:function size:0x1DC scope:global
daNPC_WORM_IsDelete__FP14npc_worm_class = .text:0x00000FD0; // type:function size:0x8 scope:global
daNPC_WORM_Delete__FP14npc_worm_class = .text:0x00000FD8; // type:function size:0x30 scope:global
useHeapInit__FP10fopAc_ac_c = .text:0x00001008; // type:function size:0xB8 scope:global
daNPC_WORM_Create__FP10fopAc_ac_c = .text:0x000010C0; // type:function size:0x190 scope:global
daNPC_WORM_Execute__FP14npc_worm_class = .text:0x00000DF4; // type:function size:0x1DC scope:local
daNPC_WORM_IsDelete__FP14npc_worm_class = .text:0x00000FD0; // type:function size:0x8 scope:local
daNPC_WORM_Delete__FP14npc_worm_class = .text:0x00000FD8; // type:function size:0x30 scope:local
useHeapInit__FP10fopAc_ac_c = .text:0x00001008; // type:function size:0xB8 scope:local
daNPC_WORM_Create__FP10fopAc_ac_c = .text:0x000010C0; // type:function size:0x190 scope:local
getLeftHandPos__9daPy_py_cCFv = .text:0x00001250; // type:function size:0x1C scope:global
Insect_Release__9dInsect_cFv = .text:0x0000126C; // type:function size:0xC scope:global
_ctors = .ctors:0x00000000; // type:label scope:global
@@ -57,6 +57,6 @@ _dtors = .dtors:0x00000000; // type:label scope:global
@4056 = .rodata:0x0000009C; // type:object size:0x4 scope:local
@4126 = .rodata:0x000000A0; // type:object size:0x4 scope:local
@stringBase0 = .rodata:0x000000A4; // type:object size:0x6 scope:local data:string_table
l_daNPC_WORM_Method = .data:0x00000000; // type:object size:0x20 scope:global
l_daNPC_WORM_Method = .data:0x00000000; // type:object size:0x20 scope:local
g_profile_NPC_WORM = .data:0x00000020; // type:object size:0x30 scope:global
__vt__14npc_worm_class = .data:0x00000050; // type:object size:0xC scope:global
+1 -1
View File
@@ -1815,7 +1815,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_npc_toby"),
ActorRel(MatchingFor("GZ2E01"), "d_a_npc_tr"),
ActorRel(NonMatching, "d_a_npc_uri"),
ActorRel(NonMatching, "d_a_npc_worm"),
ActorRel(MatchingFor("GZ2E01"), "d_a_npc_worm", extra_cflags=['-pragma "nosyminline off"']),
ActorRel(NonMatching, "d_a_npc_wrestler"),
ActorRel(NonMatching, "d_a_npc_yamid"),
ActorRel(NonMatching, "d_a_npc_yamis"),
+27 -3
View File
@@ -2,6 +2,7 @@
#define D_A_NPC_WORM_H
#include "d/actor/d_a_npc.h"
#include "d/d_insect.h"
/**
* @ingroup actors-npcs
@@ -11,9 +12,32 @@
* @details
*
*/
class npc_worm_class : public fopAc_ac_c {
private:
/* 0x568 */ u8 field_0x568[0x5ec - 0x568];
class npc_worm_class : public dInsect_c {
public:
bool check_release() { return field_0x56C == 1; }
/* 0x590 */ request_of_phase_process_class mPhase;
/* 0x598 */ u8 field_0x598;
/* 0x59C */ J3DModel* mModel1;
/* 0x5A0 */ J3DModel* mModel2;
/* 0x5A4 */ s16 field_0x5a4;
/* 0x5A6 */ s16 field_0x5a6;
/* 0x5A8 */ s16 field_0x5a8;
/* 0x5AA */ s16 field_0x5aa;
/* 0x5AC */ s16 field_0x5ac;
/* 0x5AE */ s16 field_0x5ae;
/* 0x5B0 */ f32 field_0x5b0;
/* 0x5B2 */ s16 field_0x5b4[9];
/* 0x5C6 */ s16 field_0x5c6;
/* 0x5C8 */ s16 field_0x5c8;
/* 0x5CA */ s16 field_0x5ca;
/* 0x5CC */ f32 field_0x5cc;
/* 0x5D0 */ f32 field_0x5d0;
/* 0x5D4 */ f32 field_0x5d4;
/* 0x5D8 */ cXyz field_0x5d8;
/* 0x5E4 */ s16 field_0x5e4;
/* 0x5E6 */ u8 field_0x5e6;
/* 0x5E8 */ s16 field_0x5e8[2];
};
STATIC_ASSERT(sizeof(npc_worm_class) == 0x5ec);
+1
View File
@@ -119,6 +119,7 @@ enum dEvt_Condition_e {
dEvtCnd_CANDOOR_e = 0x0004,
dEvtCnd_CANGETITEM_e = 0x0008,
dEvtCnd_CANTALKITEM_e = 0x0020,
dEvtCnd_40_e = 0x0040,
dEvtCnd_DUMMY = 0x8000,
};
+1 -1
View File
@@ -610,7 +610,7 @@ static void e_nest_hahen(e_nest_class* i_this) {
i_this->mTimers[0] = 60;
} else {
dComIfGp_att_CatchRequest(a_this, 0x76, 100.0f, 50.0f, -150.0f, 0x5000, 1);
a_this->eventInfo.onCondition(0x40);
a_this->eventInfo.onCondition(dEvtCnd_40_e);
}
break;
}
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -73,7 +73,7 @@ void daKiPot_c::init_modeWait() {
void daKiPot_c::modeWait() {
if (chkEvent() && eventInfo.checkCommandCatch() == 0) {
dComIfGp_att_CatchRequest(this, fpcNm_ITEM_UGLY_SOUP, 100.0f, 50.0f, -50.0f, 0x2000, 1);
eventInfo.onCondition(0x40);
eventInfo.onCondition(dEvtCnd_40_e);
}
}
+1 -1
View File
@@ -290,7 +290,7 @@ int daObj_Oiltubo_c::wait(void* unused) {
case 1:
if (!eventInfo.checkCommandCatch()) {
dComIfGp_att_CatchRequest(this, fpcNm_ITEM_OIL_BOTTLE_2, 100.0f, 50.0f, -50.0f, 0x2000, 1);
eventInfo.onCondition(0x40);
eventInfo.onCondition(dEvtCnd_40_e);
}
break;
case 2:
+1 -1
View File
@@ -165,7 +165,7 @@ int daTag_BottleItem_c::wait(void* param_0) {
cXyz pos = attention_info.position - player->attention_info.position;
dComIfGp_att_CatchRequest(this,mBottleItemType,140.0f,pos.y+100.0f,pos.y-100.0f,0x2000,1);
eventInfo.onCondition(0x40);
eventInfo.onCondition(dEvtCnd_40_e);
}
case 2:
case 0:
+1 -1
View File
@@ -215,7 +215,7 @@ int daTag_SSDrink_c::wait(void* param_0) {
cXyz local_28 = attention_info.position - player->attention_info.position;
dComIfGp_att_CatchRequest(this, field_0x5D3, 200.0f, local_28.y + 100.0f,
local_28.y - 100.0f, 0x4000, 1);
eventInfo.onCondition(0x40);
eventInfo.onCondition(dEvtCnd_40_e);
}
if (field_0x5D4 != 0) {
field_0x5D4 = 0;
+1 -1
View File
@@ -274,7 +274,7 @@ int dEvt_control_c::catchCheck(dEvt_order_c* p_order) {
fopAc_ac_c* actor2 = p_order->mActor2;
fopAc_ac_c* actor1 = p_order->mActor1;
if (actor1 == NULL || (actor2 != NULL && !actor2->eventInfo.chkCondition(0x40))) {
if (actor1 == NULL || (actor2 != NULL && !actor2->eventInfo.chkCondition(dEvtCnd_40_e))) {
return 0;
}