d_a_obj_kanban2 & more OK (#2674)

* d_a_obj_kanban2 OK via gameInfo fakematch

Closes #1001

* Mark d_a_obj_kanban2 as matching for JP

* Mark npc_jagar as Matching

* d_a_tag_allmato OK via gameInfo fake match

* d_a_obj_wchain OK

* d_a_obj_so OK

---------

Co-authored-by: Max Roncace <me@caseif.net>
This commit is contained in:
YunataSavior 2025-09-20 12:09:06 -07:00 committed by GitHub
parent 72236276a6
commit affd5d7f95
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 131 additions and 101 deletions

View File

@ -53,11 +53,11 @@ chkToMotion__13daNpc_Jagar_cFv = .text:0x000033D8; // type:function size:0x34 sc
wait__13daNpc_Jagar_cFPv = .text:0x0000340C; // type:function size:0xB40 scope:global
talkwithBou__13daNpc_Jagar_cFPv = .text:0x00003F4C; // type:function size:0x608 scope:global
talk__13daNpc_Jagar_cFPv = .text:0x00004554; // type:function size:0x3B4 scope:global
daNpc_Jagar_Create__FPv = .text:0x00004908; // type:function size:0x20 scope:global
daNpc_Jagar_Delete__FPv = .text:0x00004928; // type:function size:0x20 scope:global
daNpc_Jagar_Execute__FPv = .text:0x00004948; // type:function size:0x20 scope:global
daNpc_Jagar_Draw__FPv = .text:0x00004968; // type:function size:0x20 scope:global
daNpc_Jagar_IsDelete__FPv = .text:0x00004988; // type:function size:0x8 scope:global
daNpc_Jagar_Create__FPv = .text:0x00004908; // type:function size:0x20 scope:local
daNpc_Jagar_Delete__FPv = .text:0x00004928; // type:function size:0x20 scope:local
daNpc_Jagar_Execute__FPv = .text:0x00004948; // type:function size:0x20 scope:local
daNpc_Jagar_Draw__FPv = .text:0x00004968; // type:function size:0x20 scope:local
daNpc_Jagar_IsDelete__FPv = .text:0x00004988; // type:function size:0x8 scope:local
calc__11J3DTexNoAnmCFPUs = .text:0x00004990; // type:function size:0x30 scope:global
__dt__10cCcD_GSttsFv = .text:0x000049C0; // type:function size:0x48 scope:global
__dt__8daNpcT_cFv = .text:0x00004A08; // type:function size:0x388 scope:global
@ -154,16 +154,16 @@ heapSize$4099 = .rodata:0x000000A0; // type:object size:0x10 scope:local
@6306 = .rodata:0x00000168; // type:object size:0x4 scope:local
@stringBase0 = .rodata:0x0000016C; // type:object size:0xAA 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_322_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:0x48 scope:global
l_resNameList = .data:0x00000070; // type:object size:0x14 scope:global
l_loadResPtrn0 = .data:0x00000084; // type:object size:0x4 scope:global
l_loadResPtrn1 = .data:0x00000088; // type:object size:0x3 scope:global
l_loadResPtrn9 = .data:0x0000008C; // type:object size:0x5 scope:global
l_loadResPtrnList = .data:0x00000094; // type:object size:0x10 scope:global
l_resNameList = .data:0x00000070; // type:object size:0x14 scope:local
l_loadResPtrn0 = .data:0x00000084; // type:object size:0x4 scope:local
l_loadResPtrn1 = .data:0x00000088; // type:object size:0x3 scope:local
l_loadResPtrn9 = .data:0x0000008C; // type:object size:0x5 scope:local
l_loadResPtrnList = .data:0x00000094; // type:object size:0x10 scope:local
l_faceMotionAnmData = .data:0x000000A4; // type:object size:0x118 scope:global
l_motionAnmData = .data:0x000001BC; // type:object size:0x1F8 scope:global
l_faceMotionSequenceData = .data:0x000003B4; // type:object size:0x90 scope:global
@ -183,7 +183,7 @@ mCutList__13daNpc_Jagar_c = .data:0x000005D8; // type:object size:0x54 scope:glo
@5063 = .data:0x0000065C; // type:object size:0xC scope:local data:4byte
@5661 = .data:0x00000668; // type:object size:0x30 scope:local
@5660 = .data:0x00000698; // type:object size:0x30 scope:local
daNpc_Jagar_MethodTable = .data:0x000006C8; // type:object size:0x20 scope:global
daNpc_Jagar_MethodTable = .data:0x000006C8; // type:object size:0x20 scope:local
g_profile_NPC_JAGAR = .data:0x000006E8; // type:object size:0x30 scope:global
__vt__11J3DTexNoAnm = .data:0x00000718; // type:object size:0xC scope:global
__vt__12J3DFrameCtrl = .data:0x00000724; // type:object size:0xC scope:global
@ -218,7 +218,7 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa
@1010 = .bss:0x00000040; // type:object size:0x1 scope:local
@1009 = .bss:0x00000044; // type:object size:0x1 scope:local
@3945 = .bss:0x00000048; // type:object size:0xC scope:local
l_HIO = .bss:0x00000054; // type:object size:0x4 scope:global data:4byte
l_HIO = .bss:0x00000054; // type:object size:0x4 scope:local data:4byte
@4873 = .bss:0x00000058; // type:object size:0xC scope:local
prtclScl$4872 = .bss:0x00000068; // type:object size:0xC scope:local
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x00000074; // type:object size:0x4 scope:global

View File

@ -6,7 +6,7 @@ __destroy_global_chain = .text:0x00000094; // type:function size:0x58 scope:glob
__ct__19daObj_Kanban2_HIO_cFv = .text:0x000000EC; // type:function size:0x24 scope:global
draw__15daObj_Kanban2_cFv = .text:0x00000110; // type:function size:0x14C scope:global
__dt__4cXyzFv = .text:0x0000025C; // type:function size:0x3C scope:global
daObj_Kanban2_Draw__FP15daObj_Kanban2_c = .text:0x00000298; // type:function size:0x20 scope:global
daObj_Kanban2_Draw__FP15daObj_Kanban2_c = .text:0x00000298; // type:function size:0x20 scope:local
setKanbanSE__15daObj_Kanban2_cFi = .text:0x000002B8; // type:function size:0x84 scope:global
createBreakParts__15daObj_Kanban2_cFUl5csXyz = .text:0x0000033C; // type:function size:0x40 scope:global
createWallHitBreak__15daObj_Kanban2_cFv = .text:0x0000037C; // type:function size:0x160 scope:global
@ -36,17 +36,17 @@ action__15daObj_Kanban2_cFv = .text:0x0000334C; // type:function size:0x10C scop
mtx_set__15daObj_Kanban2_cFv = .text:0x00003458; // type:function size:0x224 scope:global
cc_set__15daObj_Kanban2_cFv = .text:0x0000367C; // type:function size:0xF4 scope:global
execute__15daObj_Kanban2_cFv = .text:0x00003770; // type:function size:0xC0 scope:global
daObj_Kanban2_Execute__FP15daObj_Kanban2_c = .text:0x00003830; // type:function size:0x20 scope:global
daObj_Kanban2_IsDelete__FP15daObj_Kanban2_c = .text:0x00003850; // type:function size:0x8 scope:global
daObj_Kanban2_Execute__FP15daObj_Kanban2_c = .text:0x00003830; // type:function size:0x20 scope:local
daObj_Kanban2_IsDelete__FP15daObj_Kanban2_c = .text:0x00003850; // type:function size:0x8 scope:local
_delete__15daObj_Kanban2_cFv = .text:0x00003858; // type:function size:0x6C scope:global
daObj_Kanban2_Delete__FP15daObj_Kanban2_c = .text:0x000038C4; // type:function size:0x20 scope:global
daObj_Kanban2_Delete__FP15daObj_Kanban2_c = .text:0x000038C4; // type:function size:0x20 scope:local
CreateHeap__15daObj_Kanban2_cFv = .text:0x000038E4; // type:function size:0x164 scope:global
useHeapInit__FP10fopAc_ac_c = .text:0x00003A48; // type:function size:0x20 scope:global
useHeapInit__FP10fopAc_ac_c = .text:0x00003A48; // type:function size:0x20 scope:local
create__15daObj_Kanban2_cFv = .text:0x00003A68; // type:function size:0x370 scope:global
__dt__8cM3dGSphFv = .text:0x00003DD8; // type:function size:0x48 scope:global
__dt__8cM3dGAabFv = .text:0x00003E20; // type:function size:0x48 scope:global
__dt__12dBgS_ObjAcchFv = .text:0x00003E68; // type:function size:0x70 scope:global
daObj_Kanban2_Create__FP15daObj_Kanban2_c = .text:0x00003ED8; // type:function size:0x20 scope:global
daObj_Kanban2_Create__FP15daObj_Kanban2_c = .text:0x00003ED8; // type:function size:0x20 scope:local
__dt__19daObj_Kanban2_HIO_cFv = .text:0x00003EF8; // type:function size:0x48 scope:global
__sinit_d_a_obj_kanban2_cpp = .text:0x00003F40; // type:function size:0x3C scope:local
@36@__dt__12dBgS_ObjAcchFv = .text:0x00003F7C; // type:function size:0x8 scope:local
@ -109,20 +109,20 @@ _dtors = .dtors:0x00000000; // type:label scope:global
@5378 = .rodata:0x000000E8; // type:object size:0x4 scope:local
@5568 = .rodata:0x000000EC; // type:object size:0x4 scope:local
@stringBase0 = .rodata:0x000000F0; // type:object size:0x15B scope:local data:string_table
l_kn2_bmdidx__29@unnamed@d_a_obj_kanban2_cpp@ = .data:0x00000000; // type:object size:0x4C scope:global
dKn2_CarryOffset__29@unnamed@d_a_obj_kanban2_cpp@ = .data:0x0000004C; // type:object size:0x10 scope:global
dKb2_BAN_SPEED__29@unnamed@d_a_obj_kanban2_cpp@ = .data:0x0000005C; // type:object size:0x90 scope:global align:4 data:float
dKb2_BAN_ANGLE__29@unnamed@d_a_obj_kanban2_cpp@ = .data:0x000000EC; // type:object size:0x24 scope:global
dKb2_BAN_PARTS__29@unnamed@d_a_obj_kanban2_cpp@ = .data:0x00000110; // type:object size:0x48 scope:global
cc_kn2_src__29@unnamed@d_a_obj_kanban2_cpp@ = .data:0x00000158; // type:object size:0x40 scope:global
d_KANBAN_OFFSET__29@unnamed@d_a_obj_kanban2_cpp@ = .data:0x00000198; // type:object size:0x90 scope:global align:4 data:float
l_kn2_bmdidx__29@unnamed@d_a_obj_kanban2_cpp@ = .data:0x00000000; // type:object size:0x4C scope:local
dKn2_CarryOffset__29@unnamed@d_a_obj_kanban2_cpp@ = .data:0x0000004C; // type:object size:0x10 scope:local
dKb2_BAN_SPEED__29@unnamed@d_a_obj_kanban2_cpp@ = .data:0x0000005C; // type:object size:0x90 scope:local align:4 data:float
dKb2_BAN_ANGLE__29@unnamed@d_a_obj_kanban2_cpp@ = .data:0x000000EC; // type:object size:0x24 scope:local
dKb2_BAN_PARTS__29@unnamed@d_a_obj_kanban2_cpp@ = .data:0x00000110; // type:object size:0x48 scope:local
cc_kn2_src__29@unnamed@d_a_obj_kanban2_cpp@ = .data:0x00000158; // type:object size:0x40 scope:local
d_KANBAN_OFFSET__29@unnamed@d_a_obj_kanban2_cpp@ = .data:0x00000198; // type:object size:0x90 scope:local align:4 data:float
@4133 = .data:0x00000228; // type:object size:0x9C scope:local
@4286 = .data:0x000002C4; // type:object size:0x28 scope:local
w_eff_id$4564 = .data:0x000002EC; // type:object size:0x8 scope:local
@4933 = .data:0x000002F4; // type:object size:0x24 scope:local
@5150 = .data:0x00000318; // type:object size:0x3C scope:local
kn2_speed_rate$5184 = .data:0x00000354; // type:object size:0xC scope:local
l_daObj_Kanban2_Method = .data:0x00000360; // type:object size:0x20 scope:global
l_daObj_Kanban2_Method = .data:0x00000360; // type:object size:0x20 scope:local
g_profile_OBJ_KANBAN2 = .data:0x00000380; // type:object size:0x30 scope:global
__vt__8cM3dGSph = .data:0x000003B0; // type:object size:0xC scope:global
__vt__8cM3dGAab = .data:0x000003BC; // type:object size:0xC scope:global
@ -147,9 +147,9 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa
@1012 = .bss:0x0000003C; // type:object size:0x1 scope:local
@1010 = .bss:0x00000040; // type:object size:0x1 scope:local
@1009 = .bss:0x00000044; // type:object size:0x1 scope:local
lbl_98_bss_45 = .bss:0x00000045; // type:object size:0x1 data:byte
lbl_98_bss_45 = .bss:0x00000045; // type:object size:0x1 scope:local data:byte
@3965 = .bss:0x00000048; // type:object size:0xC scope:local
l_HIO = .bss:0x00000054; // type:object size:0xC scope:global data:byte
l_HIO = .bss:0x00000054; // type:object size:0xC scope:local data:byte
@4561 = .bss:0x00000060; // type:object size:0xC scope:local
sc$4560 = .bss:0x00000070; // type:object size:0xC scope:local
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x0000007C; // type:object size:0x4 scope:global

View File

@ -4,9 +4,9 @@ _unresolved = .text:0x00000058; // type:function size:0x20 scope:global
__register_global_object = .text:0x00000078; // type:function size:0x1C scope:global
__destroy_global_chain = .text:0x00000094; // type:function size:0x58 scope:global
__ct__14daObj_So_HIO_cFv = .text:0x000000EC; // type:function size:0x24 scope:global
daObj_So_Draw__FP12obj_so_class = .text:0x00000110; // type:function size:0x10C scope:global
ride_call_back_0__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c = .text:0x0000021C; // type:function size:0x14 scope:global
ride_call_back_1__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c = .text:0x00000230; // type:function size:0x14 scope:global
daObj_So_Draw__FP12obj_so_class = .text:0x00000110; // type:function size:0x10C scope:local
ride_call_back_0__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c = .text:0x0000021C; // type:function size:0x14 scope:local
ride_call_back_1__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c = .text:0x00000230; // type:function size:0x14 scope:local
so_hasira__FP12obj_so_class = .text:0x00000244; // type:function size:0x220 scope:global
part_set__FP12obj_so_classSc = .text:0x00000464; // type:function size:0x510 scope:global
__dt__4cXyzFv = .text:0x00000974; // type:function size:0x3C scope:global
@ -18,11 +18,11 @@ action__FP12obj_so_class = .text:0x00000FF8; // type:function size:0x204 scope:g
part_move__FP12obj_so_class = .text:0x000011FC; // type:function size:0x1588 scope:global
__dt__14dBgS_ObjGndChkFv = .text:0x00002784; // type:function size:0x78 scope:global
demo_camera__FP12obj_so_class = .text:0x000027FC; // type:function size:0x3D0 scope:global
daObj_So_Execute__FP12obj_so_class = .text:0x00002BCC; // type:function size:0xB4 scope:global
daObj_So_IsDelete__FP12obj_so_class = .text:0x00002C80; // type:function size:0x8 scope:global
daObj_So_Delete__FP12obj_so_class = .text:0x00002C88; // type:function size:0xB0 scope:global
useHeapInit__FP10fopAc_ac_c = .text:0x00002D38; // type:function size:0x264 scope:global
daObj_So_Create__FP10fopAc_ac_c = .text:0x00002F9C; // type:function size:0x454 scope:global
daObj_So_Execute__FP12obj_so_class = .text:0x00002BCC; // type:function size:0xB4 scope:local
daObj_So_IsDelete__FP12obj_so_class = .text:0x00002C80; // type:function size:0x8 scope:local
daObj_So_Delete__FP12obj_so_class = .text:0x00002C88; // type:function size:0xB0 scope:local
useHeapInit__FP10fopAc_ac_c = .text:0x00002D38; // type:function size:0x264 scope:local
daObj_So_Create__FP10fopAc_ac_c = .text:0x00002F9C; // type:function size:0x454 scope:local
__dt__8dCcD_CylFv = .text:0x000033F0; // type:function size:0xCC scope:global
__ct__8dCcD_CylFv = .text:0x000034BC; // type:function size:0x84 scope:global
__dt__8cM3dGCylFv = .text:0x00003540; // type:function size:0x48 scope:global
@ -133,7 +133,7 @@ _dtors = .dtors:0x00000000; // type:label scope:global
@stringBase0 = .rodata:0x00000178; // type:object size:0xF scope:local data:string_table
e_id$4326 = .data:0x00000000; // type:object size:0x6 scope:local
cc_cyl_src$5220 = .data:0x00000008; // type:object size:0x44 scope:local
l_daObj_So_Method = .data:0x0000004C; // type:object size:0x20 scope:global
l_daObj_So_Method = .data:0x0000004C; // type:object size:0x20 scope:local
g_profile_OBJ_SO = .data:0x0000006C; // type:object size:0x30 scope:global
__vt__8cM3dGAab = .data:0x0000009C; // type:object size:0xC scope:global
__vt__8cM3dGCyl = .data:0x000000A8; // type:object size:0xC scope:global
@ -141,6 +141,6 @@ __vt__12dBgS_ObjAcch = .data:0x000000B4; // type:object size:0x24 scope:global
__vt__14dBgS_ObjGndChk = .data:0x000000D8; // type:object size:0x30 scope:global
__vt__14daObj_So_HIO_c = .data:0x00000108; // type:object size:0xC scope:global
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
lbl_628_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
lbl_628_bss_8 = .bss:0x00000008; // type:object size:0x1 scope:local data:byte
@3774 = .bss:0x0000000C; // type:object size:0xC scope:local
l_HIO = .bss:0x00000018; // type:object size:0xC scope:global data:byte
l_HIO = .bss:0x00000018; // type:object size:0xC scope:local data:byte

View File

@ -2,28 +2,28 @@ _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
createHeap__13daObjWchain_cFv = .text:0x00000078; // type:function size:0xA4 scope:global
daObjWchain_createHeap__FP10fopAc_ac_c = .text:0x0000011C; // type:function size:0x20 scope:global
daObjWchain_createHeap__FP10fopAc_ac_c = .text:0x0000011C; // type:function size:0x20 scope:local
create__13daObjWchain_cFv = .text:0x0000013C; // type:function size:0x3D8 scope:global
__dt__5csXyzFv = .text:0x00000514; // type:function size:0x3C scope:global
__ct__5csXyzFv = .text:0x00000550; // type:function size:0x4 scope:global
__ct__4cXyzFv = .text:0x00000554; // type:function size:0x4 scope:global
__dt__4cXyzFv = .text:0x00000558; // type:function size:0x3C scope:global
daObjWchain_Create__FP10fopAc_ac_c = .text:0x00000594; // type:function size:0x20 scope:global
daObjWchain_Create__FP10fopAc_ac_c = .text:0x00000594; // type:function size:0x20 scope:local
__dt__13daObjWchain_cFv = .text:0x000005B4; // type:function size:0xD8 scope:global
daObjWchain_Delete__FP13daObjWchain_c = .text:0x0000068C; // type:function size:0x28 scope:global
daObjWchain_Delete__FP13daObjWchain_c = .text:0x0000068C; // type:function size:0x28 scope:local
setMatrix__13daObjWchain_cFv = .text:0x000006B4; // type:function size:0xB0 scope:global
getChainAngleZ__13daObjWchain_cFP4cXyzi = .text:0x00000764; // type:function size:0x228 scope:global
setChainPos__13daObjWchain_cFv = .text:0x0000098C; // type:function size:0x8A0 scope:global
execute__13daObjWchain_cFv = .text:0x0000122C; // type:function size:0x34C scope:global
daObjWchain_Execute__FP13daObjWchain_c = .text:0x00001578; // type:function size:0x20 scope:global
daObjWchain_Execute__FP13daObjWchain_c = .text:0x00001578; // type:function size:0x20 scope:local
draw__19daObjWchain_shape_cFv = .text:0x00001598; // type:function size:0x3F8 scope:global
draw__13daObjWchain_cFv = .text:0x00001990; // type:function size:0x90 scope:global
daObjWchain_Draw__FP13daObjWchain_c = .text:0x00001A20; // type:function size:0x20 scope:global
daObjWchain_Draw__FP13daObjWchain_c = .text:0x00001A20; // type:function size:0x20 scope:local
__dt__19daObjWchain_shape_cFv = .text:0x00001A40; // type:function size:0x5C scope:global
_ctors = .ctors:0x00000000; // type:label scope:global
_dtors = .dtors:0x00000000; // type:label scope:global
...rodata.0 = .rodata:0x00000000; // type:label scope:local
l_arcName = .rodata:0x00000000; // type:object size:0x7 scope:global data:string
l_arcName = .rodata:0x00000000; // type:object size:0x7 scope:local data:string
@3744 = .rodata:0x00000008; // type:object size:0x4 scope:local
@3745 = .rodata:0x0000000C; // type:object size:0x4 scope:local
@3746 = .rodata:0x00000010; // type:object size:0x4 scope:local
@ -60,6 +60,6 @@ chainOffset$3873 = .rodata:0x00000084; // type:object size:0xC scope:local
@4253 = .rodata:0x000000B4; // type:object size:0x4 scope:local
@4254 = .rodata:0x000000B8; // type:object size:0x4 scope:local
@4364 = .rodata:0x000000BC; // type:object size:0x4 scope:local
l_daObjWchain_Method = .data:0x00000000; // type:object size:0x20 scope:global
l_daObjWchain_Method = .data:0x00000000; // type:object size:0x20 scope:local
g_profile_Obj_Wchain = .data:0x00000020; // type:object size:0x30 scope:global
__vt__19daObjWchain_shape_c = .data:0x00000050; // type:object size:0x14 scope:global

View File

@ -20,11 +20,11 @@ checkCrsMato__15daTag_AllMato_cFv = .text:0x00000D78; // type:function size:0x75
checkCrsMato2__15daTag_AllMato_cFv = .text:0x000014D4; // type:function size:0x5AC scope:global
checkBrkMato__15daTag_AllMato_cFv = .text:0x00001A80; // type:function size:0x98 scope:global
evtChange__15daTag_AllMato_cFUs = .text:0x00001B18; // type:function size:0xD8 scope:global
daTag_AllMato_Create__FPv = .text:0x00001BF0; // type:function size:0x20 scope:global
daTag_AllMato_Delete__FPv = .text:0x00001C10; // type:function size:0x20 scope:global
daTag_AllMato_Execute__FPv = .text:0x00001C30; // type:function size:0x20 scope:global
daTag_AllMato_Draw__FPv = .text:0x00001C50; // type:function size:0x20 scope:global
daTag_AllMato_IsDelete__FPv = .text:0x00001C70; // type:function size:0x8 scope:global
daTag_AllMato_Create__FPv = .text:0x00001BF0; // type:function size:0x20 scope:local
daTag_AllMato_Delete__FPv = .text:0x00001C10; // type:function size:0x20 scope:local
daTag_AllMato_Execute__FPv = .text:0x00001C30; // type:function size:0x20 scope:local
daTag_AllMato_Draw__FPv = .text:0x00001C50; // type:function size:0x20 scope:local
daTag_AllMato_IsDelete__FPv = .text:0x00001C70; // type:function size:0x8 scope:local
__dt__18daNpcT_ActorMngr_cFv = .text:0x00001C78; // type:function size:0x48 scope:global
__ct__18daNpcT_ActorMngr_cFv = .text:0x00001CC0; // type:function size:0x3C scope:global
checkCrs__15daObj_ItaMato_cFP10fopAc_ac_c4cXyz4cXyzf = .text:0x00001CFC; // type:function size:0x208 scope:global
@ -48,12 +48,12 @@ _dtors = .dtors:0x00000000; // type:label scope:global
@4752 = .rodata:0x00000050; // type:object size:0x4 scope:local
@4753 = .rodata:0x00000054; // type:object size:0x4 scope:local
@stringBase0 = .rodata:0x00000058; // type:object size:0x7E scope:local data:string_table
l_evtList = .data:0x00000000; // type:object size:0x40 scope:global
l_resNameList = .data:0x00000040; // type:object size:0xC scope:global
daTag_AllMato_MethodTable = .data:0x0000004C; // type:object size:0x20 scope:global
l_evtList = .data:0x00000000; // type:object size:0x40 scope:local
l_resNameList = .data:0x00000040; // type:object size:0xC scope:local
daTag_AllMato_MethodTable = .data:0x0000004C; // type:object size:0x20 scope:local
g_profile_TAG_ALLMATO = .data:0x0000006C; // type:object size:0x30 scope:global
__vt__8cM3dGSph = .data:0x0000009C; // type:object size:0xC scope:global
__vt__18daNpcT_ActorMngr_c = .data:0x000000A8; // type:object size:0xC scope:global
__vt__15daTag_AllMato_c = .data:0x000000B4; // type:object size:0xC scope:global
l_findActorPtrs = .bss:0x00000000; // type:object size:0x190 scope:global
l_findCount = .bss:0x00000190; // type:object size:0x4 scope:global data:4byte
l_findActorPtrs = .bss:0x00000000; // type:object size:0x190 scope:local
l_findCount = .bss:0x00000190; // type:object size:0x4 scope:local data:4byte

View File

@ -1553,7 +1553,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_scene_exit"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_set_bgobj"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_swhit0"),
ActorRel(NonMatching, "d_a_tag_allmato"),
ActorRel(MatchingFor("GZ2E01"), "d_a_tag_allmato"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_tag_camera"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_tag_chkpoint"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_tag_event"),
@ -1624,7 +1624,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_fmobj"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_gpTaru"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_hhashi"),
ActorRel(NonMatching, "d_a_obj_kanban2"),
ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_kanban2"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_kbacket"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_kgate"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_klift00"),
@ -1848,7 +1848,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_npc_impal", extra_cflags=[DANPCF_C_HACK]),
ActorRel(NonMatching, "d_a_npc_inko"),
ActorRel(NonMatching, "d_a_npc_ins"),
ActorRel(NonMatching, "d_a_npc_jagar"),
ActorRel(MatchingFor("GZ2E01"), "d_a_npc_jagar"),
ActorRel(NonMatching, "d_a_npc_kasi_hana", extra_cflags=[DANPCF_C_HACK]),
ActorRel(NonMatching, "d_a_npc_kasi_kyu", extra_cflags=[DANPCF_C_HACK]),
ActorRel(NonMatching, "d_a_npc_kasi_mich", extra_cflags=[DANPCF_C_HACK]),
@ -2154,7 +2154,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_smw_stone"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_snowEffTag"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_snow_soup"),
ActorRel(NonMatching, "d_a_obj_so"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_so"),
ActorRel(NonMatching, "d_a_obj_spinLift"),
ActorRel(NonMatching, "d_a_obj_ss_drink"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_ss_item"),
@ -2164,8 +2164,8 @@ config.libs = [
ActorRel(NonMatching, "d_a_obj_stopper2"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_suisya"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_sw"),
ActorRel(NonMatching, "d_a_obj_swBallA"),
ActorRel(NonMatching, "d_a_obj_swBallB"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_swBallA"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_swBallB"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_swBallC"),
ActorRel(NonMatching, "d_a_obj_swLight"),
ActorRel(NonMatching, "d_a_obj_swchain"),
@ -2208,7 +2208,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_waterGate"),
ActorRel(Equivalent, "d_a_obj_waterPillar"), # weak func order
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_waterfall"),
ActorRel(NonMatching, "d_a_obj_wchain"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_wchain"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_wdStick"),
ActorRel(NonMatching, "d_a_obj_web0"),
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_web1"),

View File

@ -479,6 +479,7 @@ static void demo_camera(e_warpappear_class* i_this) {
i_this->field_0x5f8 = 0.0f;
}
// TODO: gameInfo fake match to force reuse of pointer
play = &g_dComIfG_gameInfo.play;
play->getEvent().onHindFlag(15);

View File

@ -2219,10 +2219,15 @@ static void message_guide(npc_henna_class* i_this) {
return;
}
// TODO: fake match to force reuse of pointer
#if VERSION != VERSION_SHIELD_DEBUG
// TODO: gameInfo fake match to force reuse of pointer
dComIfG_play_c* play = &g_dComIfG_gameInfo.play;
if (play->getEvent().runCheck()) {
if (actor->eventInfo.checkCommandTalk() == 0) {
if (play->getEvent().runCheck())
#else
if (dComIfGp_event_runCheck())
#endif
{
if (!actor->eventInfo.checkCommandTalk()) {
return;
}
@ -2251,7 +2256,11 @@ static void message_guide(npc_henna_class* i_this) {
}
if (i_this->mMsgFlow.doFlow(actor, NULL, 0) != 0) {
#if VERSION != VERSION_SHIELD_DEBUG
play->getEvent().reset();
#else
dComIfGp_event_reset();
#endif
i_this->mIsTalking = 0;
}
} else {

View File

@ -5965,7 +5965,7 @@ static int npc_ks_fsdemo(npc_ks_class* i_this) {
fopAcM_OnStatus(a_this, 0);
cLib_onBit<u32>(a_this->attention_info.flags, fopAc_AttnFlag_SPEAK_e | fopAc_AttnFlag_TALK_e);
a_this->eventInfo.onCondition(dEvtCnd_CANTALK_e);
// TODO: fake match to force reuse of pointer
// TODO: gameInfo fake match to force reuse of pointer
dComIfG_play_c* play = &g_dComIfG_gameInfo.play;
if (play->getEvent().runCheck()) {
if (a_this->eventInfo.checkCommandTalk()) {

View File

@ -1002,9 +1002,20 @@ void daObj_Kanban2_c::executeNormal() {
break;
case 1:
mInvulnerabilityTimer = 3;
if (dComIfGp_event_runCheck() && eventInfo.checkCommandTalk()) {
#if VERSION != VERSION_SHIELD_DEBUG
// TODO: gameInfo fake match to force reuse of pointer
dComIfG_play_c* play = &g_dComIfG_gameInfo.play;
if (play->getEvent().runCheck() && eventInfo.checkCommandTalk())
#else
if (dComIfGp_event_runCheck() && eventInfo.checkCommandTalk())
#endif
{
if (mMsgFlow.doFlow(this, NULL, 0)) {
#if VERSION != VERSION_SHIELD_DEBUG
play->getEvent().reset();
#else
dComIfGp_event_reset();
#endif
field_0x9fe = 0;
}
} else {

View File

@ -417,14 +417,13 @@ static void action(obj_so_class* i_this) {
/* 80CE14DC-80CE2A64 0011FC 1588+00 1/1 0/0 0/0 .text part_move__FP12obj_so_class */
static void part_move(obj_so_class* i_this) {
// NONMATCHING
static u16 e_id[3] = {
0x82AB,
0x82AC,
0x82AD,
};
fopAc_ac_c* player = dComIfGp_getPlayer(0);
fopAc_ac_c* player = (fopAc_ac_c*) dComIfGp_getPlayer(0);
fopAc_ac_c* a_this = (fopAc_ac_c*)&i_this->actor;
cXyz spec, spf8, sp104;
s16 tempCos;
@ -519,8 +518,7 @@ static void part_move(obj_so_class* i_this) {
}
} else {
i_this->field_0x8f0[i].y = -10.0f;
i_this->field_0x8f0[i].z = 0.0f;
i_this->field_0x8f0[i].x = 0.0f;
i_this->field_0x8f0[i].x = i_this->field_0x8f0[i].z = 0.0f;
if (daPy_getPlayerActorClass()->checkFrontRollCrash()) {
spec.x = player->current.pos.x - i_this->field_0x618[i].x;
spec.y = -(player->current.pos.y - i_this->field_0x618[i].y);
@ -715,8 +713,8 @@ static void part_move(obj_so_class* i_this) {
spec.y = 0.0f;
spec.z = (50.0f - var_f29) * (JREG_F(1) + 100.0f);
MtxPosition(&spec, &spf8);
cLib_addCalcAngleS2(&i_this->field_0x1b20[i], spec.z, 2, 0x400);
cLib_addCalcAngleS2(&i_this->field_0x1b30[i], -spec.x, 2, 0x400);
cLib_addCalcAngleS2(&i_this->field_0x1b20[i], spf8.z, 2, 0x400);
cLib_addCalcAngleS2(&i_this->field_0x1b30[i], -spf8.x, 2, 0x400);
}
}

View File

@ -130,10 +130,14 @@ s16 daObjWchain_c::getChainAngleZ(cXyz* param_0, int param_1) {
}
/* 80D3080C-80D310AC 00098C 08A0+00 1/1 0/0 0/0 .text setChainPos__13daObjWchain_cFv */
// NONMATCHING instruction ordering
void daObjWchain_c::setChainPos() {
cXyz prev_pos, vec1;
int i;
cXyz* chain_pos; // dbg r27
cXyz* chain_speed; // dbg sp_0x1C
csXyz* chain_angle; // dbg r28
s16* chain_rotation; // dbg r26
if (mRide) {
shape_angle.y = daPy_getLinkPlayerActorClass()->shape_angle.y;
shape_angle.z = 0;
@ -151,17 +155,12 @@ void daObjWchain_c::setChainPos() {
static Vec const currentOffset = {0.0f, 0.0f, -53.75f};
mDoMtx_stack_c::multVec(&currentOffset, &current.pos);
csXyz* chain_angle;
cXyz* chain_speed;
cXyz* chain_pos;
int i;
s16* chain_rotation;
chain_pos = &mChainPos[0xf];
chain_angle = &mChainAngle[0xf];
chain_speed = &mChainSpeed[0xf];
chain_rotation = &mChainRotation[0xf];
prev_pos = current.pos;
int svar7 = shape_angle.z;
s16 svar7 = shape_angle.z;
for (i = 0xf; i >= 0; i--, chain_pos--, chain_angle--, chain_speed--, chain_rotation--) {
chain_angle->z += getChainAngleZ(chain_speed, abs((s16)(chain_angle->z - svar7)));
*chain_speed = (prev_pos - *chain_pos) * 0.75;
@ -192,38 +191,40 @@ void daObjWchain_c::setChainPos() {
}
f32 fvar2 = mInitOutLength + mPullLength - 53.75f;
int local_68 = fvar2 * (1.0f / 17.5f);
int ivar5 = local_68 <= 0xf ? local_68 + 1 : 0x10;
int chain_no = 0x10 - ivar5;
if (local_68 > 0xF) {
local_68 = 0x10;
} else {
++local_68;
}
s16* chain_rotation;
cXyz* chain_speed;
cXyz* chain_pos;
csXyz* chain_angle;
f32 reg_f28 = (17.5f - (local_68 * 17.5f - fvar2));
int chain_no = 0x10 - local_68;
chain_pos = &mChainPos[chain_no];
chain_angle = &mChainAngle[chain_no];
chain_speed = &mChainSpeed[chain_no];
chain_rotation = &mChainRotation[chain_no];
chain_pos->set(
mRoofPos.x,
field_0x7a8 + (mRoofPos.y - (17.5f - (ivar5 * 17.5f - fvar2))),
field_0x7a8 + (mRoofPos.y - reg_f28),
mRoofPos.z
);
chain_angle->x = 0x4000;
*chain_rotation = 0;
chain_pos = mChainPos + 1 + chain_no;
chain_angle++;
chain_speed = mChainSpeed + 1 + chain_no;
chain_rotation++;
++chain_pos;
++chain_angle;
++chain_speed;
++chain_rotation;
mDoMtx_stack_c::YrotS(-shape_angle.y);
f32 prob = 0.2f;
cXyz local_90;
if (!mEnd && cM_rnd() < prob) {
f32 ang = cM_rnd() * 6.283185f;
f32 prob = 0.2f;
if (!mEnd && cM_rnd() < 0.2f) {
f32 ang = cM_rnd() * 6.2831855f;
local_90.set(cM_fsin(ang), 0.0f, cM_fcos(ang));
} else {
local_90 = cXyz::Zero;
}
for (int i = chain_no + 1; i < 0x10; i++, chain_pos++, chain_angle++, chain_speed++, chain_rotation++) {
for (i = chain_no + 1; i < 0x10; i++, chain_pos++, chain_angle++, chain_speed++, chain_rotation++) {
prev_pos = *chain_pos;
vec1 = *chain_pos - chain_pos[-1];
if (chain_speed->abs2XZ() < 0.04f && cM_rnd() < prob) {
@ -284,7 +285,7 @@ int daObjWchain_c::execute() {
attention_info.flags &= ~fopAc_AttnFlag_LOCK_e;
}
attention_info.position = current.pos;
attention_info.position.y += 150.0f;
attention_info.position.y += 15.0f;
setMatrix();

View File

@ -67,7 +67,6 @@ int daTag_AllMato_c::Delete() {
}
/* 804876B8-80487C5C 0001F8 05A4+00 1/1 0/0 0/0 .text Execute__15daTag_AllMato_cFv */
// NONMATCHING - issues with dComIfGp_getEventManager
int daTag_AllMato_c::Execute() {
camera_class* camera_p = NULL;
@ -79,7 +78,14 @@ int daTag_AllMato_c::Execute() {
return 1;
}
if (dComIfGp_event_runCheck()) {
#if VERSION != VERSION_SHIELD_DEBUG
// TODO: gameInfo fake match to force reuse of pointer
dComIfG_play_c* play = &g_dComIfG_gameInfo.play;
if (play->getEvent().runCheck())
#else
if (dComIfGp_event_runCheck())
#endif
{
if (!eventInfo.checkCommandTalk()) {
if (eventInfo.checkCommandDemoAccrpt() && dComIfGp_getEventManager().endCheck(mEventIdx)) {
u16 evt_action = EVT_NONE;
@ -119,7 +125,11 @@ int daTag_AllMato_c::Execute() {
}
dCam_getBody()->CorrectCenter();
#if VERSION != VERSION_SHIELD_DEBUG
play->getEvent().reset();
#else
dComIfGp_event_reset();
#endif
mEventIdx = -1;
}
} else {