d_a_b_girahimu_base early Progress

This commit is contained in:
elijah-thomas774
2026-10-02 20:36:02 -04:00
parent e5d6f2046c
commit 107af1e4f2
6 changed files with 2382 additions and 201 deletions
@@ -3,162 +3,162 @@ _epilog = .text:0x00000030; // type:function size:0x2C scope:global
_unresolved = .text:0x00000060; // type:function size:0x4 scope:global
__register_global_object = .text:0x00000070; // type:function size:0x1C scope:global
__destroy_global_chain = .text:0x00000090; // type:function size:0x54 scope:global
fn_226_F0 = .text:0x000000F0; // type:function size:0xC
fn_226_100 = .text:0x00000100; // type:function size:0xC
fn_226_110 = .text:0x00000110; // type:function size:0xC
fn_226_120 = .text:0x00000120; // type:function size:0xC
fn_226_130 = .text:0x00000130; // type:function size:0xC
fn_226_140 = .text:0x00000140; // type:function size:0xC
fn_226_150 = .text:0x00000150; // type:function size:0xC
fn_226_160 = .text:0x00000160; // type:function size:0xC
fn_226_170 = .text:0x00000170; // type:function size:0xC
fn_226_180 = .text:0x00000180; // type:function size:0xC
fn_226_190 = .text:0x00000190; // type:function size:0xC
fn_226_1A0 = .text:0x000001A0; // type:function size:0xC
fn_226_1B0 = .text:0x000001B0; // type:function size:0xC
fn_226_1C0 = .text:0x000001C0; // type:function size:0xC
fn_226_1D0 = .text:0x000001D0; // type:function size:0xC
fn_226_1E0 = .text:0x000001E0; // type:function size:0xC
fn_226_1F0 = .text:0x000001F0; // type:function size:0xC
fn_226_200 = .text:0x00000200; // type:function size:0xC
fn_226_210 = .text:0x00000210; // type:function size:0xC
fn_226_220 = .text:0x00000220; // type:function size:0xC
fn_226_230 = .text:0x00000230; // type:function size:0xC
fn_226_240 = .text:0x00000240; // type:function size:0xC
fn_226_250 = .text:0x00000250; // type:function size:0xC
fn_226_260 = .text:0x00000260; // type:function size:0xC
fn_226_270 = .text:0x00000270; // type:function size:0xC
fn_226_280 = .text:0x00000280; // type:function size:0xC
fn_226_290 = .text:0x00000290; // type:function size:0xC
fn_226_2A0 = .text:0x000002A0; // type:function size:0xC
baseID_Wait<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x000000F0; // type:function size:0xC
baseID_Walk<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000100; // type:function size:0xC
baseID_Panch<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000110; // type:function size:0xC
baseID_Catch<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000120; // type:function size:0xC
baseID_CatchDamage<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000130; // type:function size:0xC
baseID_GetSword<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000140; // type:function size:0xC
baseID_Link_SwordWait<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000150; // type:function size:0xC
baseID_Link_SwordWalk<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000160; // type:function size:0xC
baseID_Link_SwordAttack<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000170; // type:function size:0xC
baseID_ReturnSword<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000180; // type:function size:0xC
baseID_LinkSwordGuardJust<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000190; // type:function size:0xC
baseID_SearchSword<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x000001A0; // type:function size:0xC
baseID_HomeWarp<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x000001B0; // type:function size:0xC
baseID_PickUpSword<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x000001C0; // type:function size:0xC
baseID_ReleaseSword<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x000001D0; // type:function size:0xC
baseID_BackStep<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x000001E0; // type:function size:0xC
baseID_Escape<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x000001F0; // type:function size:0xC
baseID_EscapeBack<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000200; // type:function size:0xC
baseID_FrontWarp<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000210; // type:function size:0xC
baseID_FrontAttack<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000220; // type:function size:0xC
baseID_BackWarp<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000230; // type:function size:0xC
baseID_BackAttack<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000240; // type:function size:0xC
baseID_Counter<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000250; // type:function size:0xC
baseID_Run<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000260; // type:function size:0xC
baseID_RunAttack<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000270; // type:function size:0xC
baseID_BackWalk<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000280; // type:function size:0xC
baseID_G_SwordDamage<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x00000290; // type:function size:0xC
baseID_KnifeDamage<10sStateID_c>__Fv_RC12sStateIDIf_c = .text:0x000002A0; // type:function size:0xC
dAcGirahimuBase_c_classInit__Fv = .text:0x000002B0; // type:function size:0x3E4
__dt__30sFState_c<17dAcGirahimuBase_c>Fv = .text:0x000006A0; // type:function size:0x58
__dt__33sFStateFct_c<17dAcGirahimuBase_c>Fv = .text:0x00000700; // type:function size:0x6C
__dt__86sStateMgr_c<17dAcGirahimuBase_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x00000770; // type:function size:0xA0
__dt__56sFStateMgr_c<17dAcGirahimuBase_c,20sStateMethodUsr_FI_c>Fv = .text:0x00000810; // type:function size:0xA4
fn_226_8C0 = .text:0x000008C0; // type:function size:0x3C
fn_226_900 = .text:0x00000900; // type:function size:0x40
fn_226_940 = .text:0x00000940; // type:function size:0x4
fn_226_950 = .text:0x00000950; // type:function size:0x40
fn_226_990 = .text:0x00000990; // type:function size:0x58
fn_226_9F0 = .text:0x000009F0; // type:function size:0x58
fn_226_A50 = .text:0x00000A50; // type:function size:0x84
fn_226_AE0 = .text:0x00000AE0; // type:function size:0x58
fn_226_B40 = .text:0x00000B40; // type:function size:0x90
fn_226_BD0 = .text:0x00000BD0; // type:function size:0xCC
fn_226_CA0 = .text:0x00000CA0; // type:function size:0x90
fn_226_D30 = .text:0x00000D30; // type:function size:0x90
fn_226_DC0 = .text:0x00000DC0; // type:function size:0xBC
fn_226_E80 = .text:0x00000E80; // type:function size:0x2E0
fn_226_1160 = .text:0x00001160; // type:function size:0x360
fn_226_14C0 = .text:0x000014C0; // type:function size:0xB8
fn_226_1580 = .text:0x00001580; // type:function size:0x5D4
fn_226_1B60 = .text:0x00001B60; // type:function size:0x270
fn_226_1DD0 = .text:0x00001DD0; // type:function size:0x710
fn_226_24E0 = .text:0x000024E0; // type:function size:0x4
fn_226_24F0 = .text:0x000024F0; // type:function size:0x48C
fn_226_2980 = .text:0x00002980; // type:function size:0x648
fn_226_2FD0 = .text:0x00002FD0; // type:function size:0xA4
fn_226_3080 = .text:0x00003080; // type:function size:0xA4
fn_226_3130 = .text:0x00003130; // type:function size:0x14
fn_226_3150 = .text:0x00003150; // type:function size:0x1C0
AcGirahimuBase__wait = .text:0x00003310; // type:function size:0xD4
AcGirahimuBase__swordRelatedUpdateStuffMaybe = .text:0x000033F0; // type:function size:0x3F0
__ct__Q23m3d8anmChr_cFv = .text:0x000008C0; // type:function size:0x3C
__dt__Q34nw4r3g3d15IScnObjCallbackFv = .text:0x00000900; // type:function size:0x40
__ct__7mVec2_cFv = .text:0x00000940; // type:function size:0x4
__dt__7mVec2_cFv = .text:0x00000950; // type:function size:0x40
__dt__Q217dAcGirahimuBase_c10callback_cFv = .text:0x00000990; // type:function size:0x58
__dt__15dShadowCircle_cFv = .text:0x000009F0; // type:function size:0x58
__dt__26dSwordSwingEffectProcMgr_cFv = .text:0x00000A50; // type:function size:0x84
__ct__22dCcD_Linked<8dCcD_Cps>Fv = .text:0x00000AE0; // type:function size:0x58
__dt__22dCcD_Linked<8dCcD_Cps>Fv = .text:0x00000B40; // type:function size:0x90
__dt__16dEnemySwordMdl_cFv = .text:0x00000BD0; // type:function size:0xCC
__dt__22dCcD_Linked<8dCcD_Cyl>Fv = .text:0x00000CA0; // type:function size:0x90
__dt__22dCcD_Linked<8dCcD_Sph>Fv = .text:0x00000D30; // type:function size:0x90
fn_226_DC0__Q217dAcGirahimuBase_c10callback_cFR6mMtx_cRC7mAng3_c4mAng = .text:0x00000DC0; // type:function size:0xBC
fn_226_E80__Q217dAcGirahimuBase_c10callback_cFv = .text:0x00000E80; // type:function size:0x2E0
fn_226_1160__Q217dAcGirahimuBase_c10callback_cFv = .text:0x00001160; // type:function size:0x360
init__Q217dAcGirahimuBase_c10callback_cFP17dAcGirahimuBase_c = .text:0x000014C0; // type:function size:0xB8
fn_226_1580__Q217dAcGirahimuBase_c10callback_cFUlPQ34nw4r3g3d13WorldMtxManipQ34nw4r3g3d6ResMdl = .text:0x00001580; // type:function size:0x5D4
fn_226_1B60__Q217dAcGirahimuBase_c10callback_cFR7mVec3_c = .text:0x00001B60; // type:function size:0x270
fn_226_1DD0__Q217dAcGirahimuBase_c10callback_cFv = .text:0x00001DD0; // type:function size:0x710
fn_226_24E0__Q217dAcGirahimuBase_c10callback_cFv = .text:0x000024E0; // type:function size:0x4
fn_226_24F0__Q217dAcGirahimuBase_c10callback_cFv = .text:0x000024F0; // type:function size:0x48C
timingB__Q217dAcGirahimuBase_c10callback_cFUlPQ34nw4r3g3d13WorldMtxManipQ34nw4r3g3d6ResMdl = .text:0x00002980; // type:function size:0x648
fn_226_2FD0__Q217dAcGirahimuBase_c10callback_cFv = .text:0x00002FD0; // type:function size:0xA4
fn_226_3080__Q217dAcGirahimuBase_c10callback_cFv = .text:0x00003080; // type:function size:0xA4
fn_226_3130__Q217dAcGirahimuBase_c10callback_cFv = .text:0x00003130; // type:function size:0x14
fn_226_3150__Q217dAcGirahimuBase_c10callback_cFR6mMtx_c = .text:0x00003150; // type:function size:0x1C0
initializeState_Wait__17dAcGirahimuBase_cFv = .text:0x00003310; // type:function size:0xD4
executeState_Wait__17dAcGirahimuBase_cFv = .text:0x000033F0; // type:function size:0x3F0
changeState__86sStateMgr_c<17dAcGirahimuBase_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x000037E0; // type:function size:0x10
fn_226_37F0 = .text:0x000037F0; // type:function size:0x8
fn_226_3800 = .text:0x00003800; // type:function size:0x1C
AcGirahimuBase__walk = .text:0x00003820; // type:function size:0x100
AcGirahimuBase__handleSomeSwordStuff = .text:0x00003920; // type:function size:0x164
fn_226_3A90 = .text:0x00003A90; // type:function size:0x4
AcGirahimuBase__slapPlayer = .text:0x00003AA0; // type:function size:0x6C
AcGirahimuBase__someAtCollisionFlags = .text:0x00003B10; // type:function size:0x100
AcGirahimuBase__resetSomeAtColliderFlagsMaybe = .text:0x00003C10; // type:function size:0x6C
AcGirahimuBase__failToTakePlayerSwordMaybe = .text:0x00003C80; // type:function size:0x180
fn_226_3E00 = .text:0x00003E00; // type:function size:0x4
AcGirahimuBase__handleStruggleOverPlayerSword = .text:0x00003E10; // type:function size:0x1F0
fn_226_4000 = .text:0x00004000; // type:function size:0x70
AcGirahimuBase__somethingDefenderColliderTgFlagsMaybe = .text:0x00004070; // type:function size:0x44
AcGirahimuBase__moreDefenderColliderStuff = .text:0x000040C0; // type:function size:0xA0
AcGirahimuBase__evenMoreDefenderColliderTgStuff = .text:0x00004160; // type:function size:0x18
fn_226_4180 = .text:0x00004180; // type:function size:0x4
fn_226_4190 = .text:0x00004190; // type:function size:0x4
fn_226_41A0 = .text:0x000041A0; // type:function size:0x4
AcGirahimuBase__hurtFromDarts = .text:0x000041B0; // type:function size:0xC8
AcGirahimuBase__backflipIfTooCloseMaybe = .text:0x00004280; // type:function size:0x90
fn_226_4310 = .text:0x00004310; // type:function size:0xC
fn_226_4320 = .text:0x00004320; // type:function size:0x4
fn_226_4330 = .text:0x00004330; // type:function size:0x4
fn_226_4340 = .text:0x00004340; // type:function size:0x4
AcGirahimuBase__guardWithSword = .text:0x00004350; // type:function size:0x114
AcGirahimuBase__trySetStateSearchSword = .text:0x00004470; // type:function size:0x54
fn_226_44D0 = .text:0x000044D0; // type:function size:0x4
AcGirahimuBase__takeSwordFromPlayer = .text:0x000044E0; // type:function size:0xBC
fn_226_45A0 = .text:0x000045A0; // type:function size:0x294
fn_226_4840 = .text:0x00004840; // type:function size:0x10
AcGirahimuBase__walkAndUpdateColliderMaybe = .text:0x00004850; // type:function size:0x64
AcGirahimuBase__somePlayerSwordStuff = .text:0x000048C0; // type:function size:0x288
AcGirahimuBase__setDefenderColliderFlagsMaybe = .text:0x00004B50; // type:function size:0x28
AcGirahimuBase__hairFlickPose = .text:0x00004B80; // type:function size:0x70
fn_226_4BF0 = .text:0x00004BF0; // type:function size:0x28C
fn_226_4E80 = .text:0x00004E80; // type:function size:0x10
AcGirahimuBase__pickUpPlayerSwordMaybe = .text:0x00004E90; // type:function size:0x74
fn_226_4F10 = .text:0x00004F10; // type:function size:0xC0
fn_226_4FD0 = .text:0x00004FD0; // type:function size:0x4
AcGirahimuBase__admireLinkSwordEventMaybe = .text:0x00004FE0; // type:function size:0xEC
AcGirahimuBase__swordStateChangesMaybe = .text:0x000050D0; // type:function size:0x120
fn_226_51F0 = .text:0x000051F0; // type:function size:0xC
AcGirahimuBase__walkAtPlayerWithSword = .text:0x00005200; // type:function size:0x6C
fn_226_5270 = .text:0x00005270; // type:function size:0x190
AcGirahimuBase__setSpeedToZero = .text:0x00005400; // type:function size:0x14
AcGirahimuBase__attackPlayerWithSword = .text:0x00005420; // type:function size:0xC0
fn_226_54E0 = .text:0x000054E0; // type:function size:0x100
fn_226_55E0 = .text:0x000055E0; // type:function size:0x18
AcGirahimuBase__throwPlayerSwordBack = .text:0x00005600; // type:function size:0x84
AcGirahimuBase__afterThrowPlayerSwordBackMaybe = .text:0x00005690; // type:function size:0x174
fn_226_5810 = .text:0x00005810; // type:function size:0x4
AcGirahimuBase__startJumpBack = .text:0x00005820; // type:function size:0xE4
AcGirahimuBase__updateJumpBack = .text:0x00005910; // type:function size:0x288
fn_226_5BA0 = .text:0x00005BA0; // type:function size:0x30
AcGirahimuBase__endJumpBack = .text:0x00005BD0; // type:function size:0xB4
fn_226_5C90 = .text:0x00005C90; // type:function size:0x104
fn_226_5DA0 = .text:0x00005DA0; // type:function size:0x38
AcGirahimuBase__someWaitMaybe = .text:0x00005DE0; // type:function size:0xDC
fn_226_5EC0 = .text:0x00005EC0; // type:function size:0x6C
fn_226_5F30 = .text:0x00005F30; // type:function size:0x28
AcGirahimuBase__hairFlickMaybe = .text:0x00005F60; // type:function size:0x78
fn_226_5FE0 = .text:0x00005FE0; // type:function size:0x2C8
fn_226_62B0 = .text:0x000062B0; // type:function size:0x44
fn_226_6300 = .text:0x00006300; // type:function size:0x74
fn_226_6380 = .text:0x00006380; // type:function size:0x8
AcGirahimuBase__closeToPlayerWithSwordMaybe = .text:0x00006390; // type:function size:0x164
fn_226_6500 = .text:0x00006500; // type:function size:0x4
AcGirahimuBase__moreHairFlickMaybe = .text:0x00006510; // type:function size:0x84
fn_226_65A0 = .text:0x000065A0; // type:function size:0x2D8
fn_226_6880 = .text:0x00006880; // type:function size:0x44
fn_226_68D0 = .text:0x000068D0; // type:function size:0x60
AcGirahimuBase__poseWithSwordUpHigh = .text:0x00006930; // type:function size:0x28
fn_226_6960 = .text:0x00006960; // type:function size:0x11C
fn_226_6A80 = .text:0x00006A80; // type:function size:0x4
AcGirahimuBase__attackFromPose = .text:0x00006A90; // type:function size:0x198
fn_226_6C30 = .text:0x00006C30; // type:function size:0xE4
fn_226_6D20 = .text:0x00006D20; // type:function size:0x20
AcGirahimuBase__poseBeforeRunAttack = .text:0x00006D40; // type:function size:0xB4
AcGirahimuBase__runAtPlayerForAttack = .text:0x00006E00; // type:function size:0x658
fn_226_7460 = .text:0x00007460; // type:function size:0x18
AcGirahimuBase__attackAfterRun = .text:0x00007480; // type:function size:0xB0
fn_226_7530 = .text:0x00007530; // type:function size:0xE0
fn_226_7610 = .text:0x00007610; // type:function size:0x1C
fn_226_7630 = .text:0x00007630; // type:function size:0x8C
AcGirahimuBase__trySetStateWait = .text:0x000076C0; // type:function size:0x28
fn_226_76F0 = .text:0x000076F0; // type:function size:0x4
vt_0x210__17dAcGirahimuBase_cFv = .text:0x000037F0; // type:function size:0x8
finalizeState_Wait__17dAcGirahimuBase_cFv = .text:0x00003800; // type:function size:0x1C
initializeState_Walk__17dAcGirahimuBase_cFv = .text:0x00003820; // type:function size:0x100
executeState_Walk__17dAcGirahimuBase_cFv = .text:0x00003920; // type:function size:0x164
finalizeState_Walk__17dAcGirahimuBase_cFv = .text:0x00003A90; // type:function size:0x4
initializeState_Panch__17dAcGirahimuBase_cFv = .text:0x00003AA0; // type:function size:0x6C
executeState_Panch__17dAcGirahimuBase_cFv = .text:0x00003B10; // type:function size:0x100
finalizeState_Panch__17dAcGirahimuBase_cFv = .text:0x00003C10; // type:function size:0x6C
initializeState_Catch__17dAcGirahimuBase_cFv = .text:0x00003C80; // type:function size:0x180
vt_0x1FC__17dAcGirahimuBase_cFv = .text:0x00003E00; // type:function size:0x4
executeState_Catch__17dAcGirahimuBase_cFv = .text:0x00003E10; // type:function size:0x1F0
finalizeState_Catch__17dAcGirahimuBase_cFv = .text:0x00004000; // type:function size:0x70
initializeState_ReleaseSword__17dAcGirahimuBase_cFv = .text:0x00004070; // type:function size:0x44
executeState_ReleaseSword__17dAcGirahimuBase_cFv = .text:0x000040C0; // type:function size:0xA0
finalizeState_ReleaseSword__17dAcGirahimuBase_cFv = .text:0x00004160; // type:function size:0x18
initializeState_G_SwordDamage__17dAcGirahimuBase_cFv = .text:0x00004180; // type:function size:0x4
executeState_G_SwordDamage__17dAcGirahimuBase_cFv = .text:0x00004190; // type:function size:0x4
finalizeState_G_SwordDamage__17dAcGirahimuBase_cFv = .text:0x000041A0; // type:function size:0x4
initializeState_KnifeDamage__17dAcGirahimuBase_cFv = .text:0x000041B0; // type:function size:0xC8
executeState_KnifeDamage__17dAcGirahimuBase_cFv = .text:0x00004280; // type:function size:0x90
finalizeState_KnifeDamage__17dAcGirahimuBase_cFv = .text:0x00004310; // type:function size:0xC
initializeState_CatchDamage__17dAcGirahimuBase_cFv = .text:0x00004320; // type:function size:0x4
executeState_CatchDamage__17dAcGirahimuBase_cFv = .text:0x00004330; // type:function size:0x4
finalizeState_CatchDamage__17dAcGirahimuBase_cFv = .text:0x00004340; // type:function size:0x4
initializeState_LinkSwordGuardJust__17dAcGirahimuBase_cFv = .text:0x00004350; // type:function size:0x114
executeState_LinkSwordGuardJust__17dAcGirahimuBase_cFv = .text:0x00004470; // type:function size:0x54
finalizeState_LinkSwordGuardJust__17dAcGirahimuBase_cFv = .text:0x000044D0; // type:function size:0x4
initializeState_GetSword__17dAcGirahimuBase_cFv = .text:0x000044E0; // type:function size:0xBC
executeState_GetSword__17dAcGirahimuBase_cFv = .text:0x000045A0; // type:function size:0x294
finalizeState_GetSword__17dAcGirahimuBase_cFv = .text:0x00004840; // type:function size:0x10
initializeState_SearchSword__17dAcGirahimuBase_cFv = .text:0x00004850; // type:function size:0x64
executeState_SearchSword__17dAcGirahimuBase_cFv = .text:0x000048C0; // type:function size:0x288
finalizeState_SearchSword__17dAcGirahimuBase_cFv = .text:0x00004B50; // type:function size:0x28
initializeState_HomeWarp__17dAcGirahimuBase_cFv = .text:0x00004B80; // type:function size:0x70
executeState_HomeWarp__17dAcGirahimuBase_cFv = .text:0x00004BF0; // type:function size:0x28C
finalizeState_HomeWarp__17dAcGirahimuBase_cFv = .text:0x00004E80; // type:function size:0x10
initializeState_PickUpSword__17dAcGirahimuBase_cFv = .text:0x00004E90; // type:function size:0x74
executeState_PickUpSword__17dAcGirahimuBase_cFv = .text:0x00004F10; // type:function size:0xC0
finalizeState_PickUpSword__17dAcGirahimuBase_cFv = .text:0x00004FD0; // type:function size:0x4
initializeState_Link_SwordWait__17dAcGirahimuBase_cFv = .text:0x00004FE0; // type:function size:0xEC
executeState_Link_SwordWait__17dAcGirahimuBase_cFv = .text:0x000050D0; // type:function size:0x120
finalizeState_Link_SwordWait__17dAcGirahimuBase_cFv = .text:0x000051F0; // type:function size:0xC
initializeState_Link_SwordWalk__17dAcGirahimuBase_cFv = .text:0x00005200; // type:function size:0x6C
executeState_Link_SwordWalk__17dAcGirahimuBase_cFv = .text:0x00005270; // type:function size:0x190
finalizeState_Link_SwordWalk__17dAcGirahimuBase_cFv = .text:0x00005400; // type:function size:0x14
initializeState_Link_SwordAttack__17dAcGirahimuBase_cFv = .text:0x00005420; // type:function size:0xC0
executeState_Link_SwordAttack__17dAcGirahimuBase_cFv = .text:0x000054E0; // type:function size:0x100
finalizeState_Link_SwordAttack__17dAcGirahimuBase_cFv = .text:0x000055E0; // type:function size:0x18
initializeState_ReturnSword__17dAcGirahimuBase_cFv = .text:0x00005600; // type:function size:0x84
executeState_ReturnSword__17dAcGirahimuBase_cFv = .text:0x00005690; // type:function size:0x174
finalizeState_ReturnSword__17dAcGirahimuBase_cFv = .text:0x00005810; // type:function size:0x4
initializeState_BackStep__17dAcGirahimuBase_cFv = .text:0x00005820; // type:function size:0xE4
executeState_BackStep__17dAcGirahimuBase_cFv = .text:0x00005910; // type:function size:0x288
finalizeState_BackStep__17dAcGirahimuBase_cFv = .text:0x00005BA0; // type:function size:0x30
initializeState_Escape__17dAcGirahimuBase_cFv = .text:0x00005BD0; // type:function size:0xB4
executeState_Escape__17dAcGirahimuBase_cFv = .text:0x00005C90; // type:function size:0x104
finalizeState_Escape__17dAcGirahimuBase_cFv = .text:0x00005DA0; // type:function size:0x38
initializeState_EscapeBack__17dAcGirahimuBase_cFv = .text:0x00005DE0; // type:function size:0xDC
executeState_EscapeBack__17dAcGirahimuBase_cFv = .text:0x00005EC0; // type:function size:0x6C
finalizeState_EscapeBack__17dAcGirahimuBase_cFv = .text:0x00005F30; // type:function size:0x28
initializeState_FrontWarp__17dAcGirahimuBase_cFv = .text:0x00005F60; // type:function size:0x78
executeState_FrontWarp__17dAcGirahimuBase_cFv = .text:0x00005FE0; // type:function size:0x2C8
finalizeState_FrontWarp__17dAcGirahimuBase_cFv = .text:0x000062B0; // type:function size:0x44
initializeState_FrontAttack__17dAcGirahimuBase_cFv = .text:0x00006300; // type:function size:0x74
vt_0x218__17dAcGirahimuBase_cFv = .text:0x00006380; // type:function size:0x8
executeState_FrontAttack__17dAcGirahimuBase_cFv = .text:0x00006390; // type:function size:0x164
finalizeState_FrontAttack__17dAcGirahimuBase_cFv = .text:0x00006500; // type:function size:0x4
initializeState_BackWarp__17dAcGirahimuBase_cFv = .text:0x00006510; // type:function size:0x84
executeState_BackWarp__17dAcGirahimuBase_cFv = .text:0x000065A0; // type:function size:0x2D8
finalizeState_BackWarp__17dAcGirahimuBase_cFv = .text:0x00006880; // type:function size:0x44
initializeState_BackAttack__17dAcGirahimuBase_cFv = .text:0x000068D0; // type:function size:0x60
vt_0x224__17dAcGirahimuBase_cFv = .text:0x00006930; // type:function size:0x28
executeState_BackAttack__17dAcGirahimuBase_cFv = .text:0x00006960; // type:function size:0x11C
finalizeState_BackAttack__17dAcGirahimuBase_cFv = .text:0x00006A80; // type:function size:0x4
initializeState_Counter__17dAcGirahimuBase_cFv = .text:0x00006A90; // type:function size:0x198
executeState_Counter__17dAcGirahimuBase_cFv = .text:0x00006C30; // type:function size:0xE4
finalizeState_Counter__17dAcGirahimuBase_cFv = .text:0x00006D20; // type:function size:0x20
initializeState_Run__17dAcGirahimuBase_cFv = .text:0x00006D40; // type:function size:0xB4
executeState_Run__17dAcGirahimuBase_cFv = .text:0x00006E00; // type:function size:0x658
finalizeState_Run__17dAcGirahimuBase_cFv = .text:0x00007460; // type:function size:0x18
initializeState_RunAttack__17dAcGirahimuBase_cFv = .text:0x00007480; // type:function size:0xB0
executeState_RunAttack__17dAcGirahimuBase_cFv = .text:0x00007530; // type:function size:0xE0
finalizeState_RunAttack__17dAcGirahimuBase_cFv = .text:0x00007610; // type:function size:0x1C
initializeState_BackWalk__17dAcGirahimuBase_cFv = .text:0x00007630; // type:function size:0x8C
executeState_BackWalk__17dAcGirahimuBase_cFv = .text:0x000076C0; // type:function size:0x28
finalizeState_BackWalk__17dAcGirahimuBase_cFv = .text:0x000076F0; // type:function size:0x4
__dt__17dAcGirahimuBase_cFv = .text:0x00007700; // type:function size:0x42C
AcGirahimuBase__initResNodes = .text:0x00007B30; // type:function size:0x4D4
AcGirahimuBase__initModels2 = .text:0x00008010; // type:function size:0x328
initNodeData__17dAcGirahimuBase_cFv = .text:0x00007B30; // type:function size:0x4D4
createHeap__17dAcGirahimuBase_cFv = .text:0x00008010; // type:function size:0x328
AcGirahimu__initCollisionStuff = .text:0x00008340; // type:function size:0x22C
AcGirahimuBase__init = .text:0x00008570; // type:function size:0xB0
fn_226_8620 = .text:0x00008620; // type:function size:0x8
AcGirahimuBase__preUpdate = .text:0x00008630; // type:function size:0x80
AcGirahimuBase__somePosRelativeToPlayerStuff = .text:0x000086B0; // type:function size:0x4B0
actorPostCreate__17dAcGirahimuBase_cFv = .text:0x00008570; // type:function size:0xB0
doDelete__17dAcGirahimuBase_cFv = .text:0x00008620; // type:function size:0x8
preExecute__17dAcGirahimuBase_cFv = .text:0x00008630; // type:function size:0x80
vt_0x1DC__17dAcGirahimuBase_cFv = .text:0x000086B0; // type:function size:0x4B0
getLinksEquippedSword = .text:0x00008B60; // type:function size:0xC
fn_226_8B70 = .text:0x00008B70; // type:function size:0x118
fn_226_8C90 = .text:0x00008C90; // type:function size:0x124
@@ -186,7 +186,7 @@ fn_226_A570 = .text:0x0000A570; // type:function size:0x34C
fn_226_A8C0 = .text:0x0000A8C0; // type:function size:0x64
AcGirahimuBase__somethingResNodeEarring = .text:0x0000A930; // type:function size:0x198
fn_226_AAD0 = .text:0x0000AAD0; // type:function size:0x144
AcGirahimuBase__draw = .text:0x0000AC20; // type:function size:0x198
draw__17dAcGirahimuBase_cFv = .text:0x0000AC20; // type:function size:0x198
fn_226_ADC0 = .text:0x0000ADC0; // type:function size:0x100
fn_226_AEC0 = .text:0x0000AEC0; // type:function size:0xEC
fn_226_AFB0 = .text:0x0000AFB0; // type:function size:0xC4
@@ -212,7 +212,7 @@ fn_226_C6A0 = .text:0x0000C6A0; // type:function size:0xEC
fn_226_C790 = .text:0x0000C790; // type:function size:0x1F4
fn_226_C990 = .text:0x0000C990; // type:function size:0x7C
AcGirahimuBase__poseWithSwordRelativeToPlayerMaybe = .text:0x0000CA10; // type:function size:0x224
fn_226_CC40 = .text:0x0000CC40; // type:function size:0x10
fn_226_CC40__17dAcGirahimuBase_cFv = .text:0x0000CC40; // type:function size:0x10
fn_226_CC50 = .text:0x0000CC50; // type:function size:0x10
AcGirahimuBase__setStateWait = .text:0x0000CC60; // type:function size:0x18
fn_226_CC80 = .text:0x0000CC80; // type:function size:0x28
@@ -230,11 +230,11 @@ AcGirahimuBase__setStateEscape = .text:0x0000D2A0; // type:function size:0x18
fn_226_D2C0 = .text:0x0000D2C0; // type:function size:0x4
AcGirahimuBase__somethingResNodeHead = .text:0x0000D2D0; // type:function size:0x2C8
AcGirahimuBase__resetConsecutiveDeathConuterMaybe = .text:0x0000D5A0; // type:function size:0x58
fn_226_D600 = .text:0x0000D600; // type:function size:0x8
fn_226_D610 = .text:0x0000D610; // type:function size:0x4
fn_226_D620 = .text:0x0000D620; // type:function size:0x4
AcGirahimuBase__getActorList = .text:0x0000D630; // type:function size:0x8
AcGirahimuBase__walkWithSword = .text:0x0000D640; // type:function size:0x24
vt_0x88__11dAcEnBase_cFi = .text:0x0000D600; // type:function size:0x8
vt_0x84__11dAcEnBase_cFv = .text:0x0000D610; // type:function size:0x4
vt_0x80__11dAcEnBase_cFv = .text:0x0000D620; // type:function size:0x4
getObjectListEntry__11dAcEnBase_cFv = .text:0x0000D630; // type:function size:0x8
vt_0x230__17dAcGirahimuBase_cFv = .text:0x0000D640; // type:function size:0x24
executeState__86sStateMgr_c<17dAcGirahimuBase_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x0000D670; // type:function size:0x10
fn_226_D680 = .text:0x0000D680; // type:function size:0x4
fn_226_D690 = .text:0x0000D690; // type:function size:0x4
@@ -257,13 +257,13 @@ executeState__32sFStateID_c<17dAcGirahimuBase_c>CFR17dAcGirahimuBase_c = .text:0
initializeState__32sFStateID_c<17dAcGirahimuBase_c>CFR17dAcGirahimuBase_c = .text:0x0000D860; // type:function size:0x30
__sinit_\d_a_b_girahimu_base_cpp = .text:0x0000D890; // type:function size:0x1698 scope:local
__dt__32sFStateID_c<17dAcGirahimuBase_c>Fv = .text:0x0000EF30; // type:function size:0x58
fn_226_EF90 = .text:0x0000EF90; // type:function size:0x5C
fn_226_EFF0 = .text:0x0000EFF0; // type:function size:0xDC
fn_226_F0D0 = .text:0x0000F0D0; // type:function size:0xE0
__dt__39sFStateVirtualID_c<17dAcGirahimuBase_c>Fv = .text:0x0000EF90; // type:function size:0x5C
number__39sFStateVirtualID_c<17dAcGirahimuBase_c>CFv = .text:0x0000EFF0; // type:function size:0xDC
superID__39sFStateVirtualID_c<17dAcGirahimuBase_c>CFv = .text:0x0000F0D0; // type:function size:0xE0
isSameName__32sFStateID_c<17dAcGirahimuBase_c>CFPCc = .text:0x0000F1B0; // type:function size:0x88
fn_226_F240 = .text:0x0000F240; // type:function size:0x8
fn_226_F250 = .text:0x0000F250; // type:function size:0x8
fn_226_F260 = .text:0x0000F260; // type:function size:0x8
@272@__dt__22dCcD_Linked<8dCcD_Cps>Fv = .text:0x0000F240; // type:function size:0x8
@272@__dt__22dCcD_Linked<8dCcD_Sph>Fv = .text:0x0000F250; // type:function size:0x8
@272@__dt__22dCcD_Linked<8dCcD_Cyl>Fv = .text:0x0000F260; // type:function size:0x8
_ctors = .ctors:0x00000000; // type:label scope:global
_dtors = .dtors:0x00000000; // type:label scope:global
__destroy_global_chain_reference = .dtors:0x00000000; // type:object size:0x4 scope:global
@@ -343,45 +343,48 @@ lbl_226_data_41C = .data:0x0000041C; // type:object size:0x9 data:string
lbl_226_data_428 = .data:0x00000428; // type:object size:0x3C data:4byte
jumptable_226_data_464 = .data:0x00000464; // type:object size:0x40 scope:local
lbl_226_data_4A4 = .data:0x000004A4; // type:object size:0x38
AcGirahimuBase__vtable = .data:0x000004DC; // type:object size:0x234
lbl_226_data_710 = .data:0x00000710; // type:object size:0x70
lbl_226_data_780 = .data:0x00000780; // type:object size:0x30
lbl_226_data_7B0 = .data:0x000007B0; // type:object size:0x30
lbl_226_data_7E0 = .data:0x000007E0; // type:object size:0x18
lbl_226_data_7F8 = .data:0x000007F8; // type:object size:0x18
lbl_226_data_810 = .data:0x00000810; // type:object size:0x18
lbl_226_data_828 = .data:0x00000828; // type:object size:0x70
lbl_226_data_898 = .data:0x00000898; // type:object size:0x10
lbl_226_data_8A8 = .data:0x000008A8; // type:object size:0x70
lbl_226_data_918 = .data:0x00000918; // type:object size:0xC
lbl_226_data_924 = .data:0x00000924; // type:object size:0x85C
__vt__17dAcGirahimuBase_c = .data:0x000004DC; // type:object size:0x234
__vt__22dCcD_Linked<8dCcD_Cyl> = .data:0x00000710; // type:object size:0x70
__vt__56sFStateMgr_c<17dAcGirahimuBase_c,20sStateMethodUsr_FI_c> = .data:0x00000780; // type:object size:0x30
__vt__86sStateMgr_c<17dAcGirahimuBase_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x000007B0; // type:object size:0x30
__vt__33sFStateFct_c<17dAcGirahimuBase_c> = .data:0x000007E0; // type:object size:0x18
__vt__30sFState_c<17dAcGirahimuBase_c> = .data:0x000007F8; // type:object size:0x18
__vt__Q217dAcGirahimuBase_c10callback_c = .data:0x00000810; // type:object size:0x18
__vt__22dCcD_Linked<8dCcD_Sph> = .data:0x00000828; // type:object size:0x70
__vt__16dEnemySwordMdl_c = .data:0x00000898; // type:object size:0x10
__vt__22dCcD_Linked<8dCcD_Cps> = .data:0x000008A8; // type:object size:0x70
__vt__26dSwordSwingEffectProcMgr_c = .data:0x00000918; // type:object size:0xC
__vt__15dShadowCircle_c = .data:0x00000924; // type:object size:0x85C
lbl_226_data_1180 = .data:0x00001180; // type:object size:0x68
lbl_226_data_11E8 = .data:0x000011E8; // type:object size:0x6 data:string
lbl_226_data_11F0 = .data:0x000011F0; // type:object size:0x7 data:string
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
lbl_226_bss_8 = .bss:0x00000008; // type:object size:0xC data:4byte
AcGirahimuBase__STATE_WAIT = .bss:0x00000014; // type:object size:0x40 data:4byte
AcGirahimuBase__STATE_WALK = .bss:0x00000054; // type:object size:0x40
AcGirahimuBase__STATE_PANCH = .bss:0x00000094; // type:object size:0x40 data:4byte
AcGirahimuBase__STATE_CATCH = .bss:0x000000D4; // type:object size:0x40
AcGirahimuBase__STATE_CATCH_DAMAGE = .bss:0x00000114; // type:object size:0x40
AcGirahimuBase__STATE_GET_SWORD = .bss:0x00000154; // type:object size:0x40 data:4byte
AcGirahimuBase__STATE_LINK_SWORD_WAIT = .bss:0x00000194; // type:object size:0x80 data:4byte
AcGirahimuBase__STATE_LINK_SWORD_ATTACK = .bss:0x00000214; // type:object size:0x40 data:4byte
AcGirahimuBase__STATE_RETURN_SWORD = .bss:0x00000254; // type:object size:0x40 data:4byte
AcGirahimuBase__STATE_LINK_SWORD_GUARD_JUST = .bss:0x00000294; // type:object size:0x40 data:4byte
AcGirahimuBase__STATE_SEARCH_SWORD = .bss:0x000002D4; // type:object size:0x40 data:4byte
AcGirahimuBase__STATE_HOME_WARP = .bss:0x00000314; // type:object size:0x80
AcGirahimuBase__STATE_RELEASE_SWORD = .bss:0x00000394; // type:object size:0x40 data:4byte
AcGirahimuBase__STATE_BACK_STEP = .bss:0x000003D4; // type:object size:0x40 data:4byte
AcGirahimuBase__STATE_ESCAPE = .bss:0x00000414; // type:object size:0x80 data:4byte
AcGirahimuBase__STATE_FRONT_WARP = .bss:0x00000494; // type:object size:0x40
AcGirahimuBase__STATE_FRONT_ATTACK = .bss:0x000004D4; // type:object size:0x40 data:4byte
AcGirahimuBase__STATE_BACK_WARP = .bss:0x00000514; // type:object size:0x40
AcGirahimuBase__STATE_BACK_ATTACK = .bss:0x00000554; // type:object size:0x40 data:4byte
AcGirahimuBase__STATE_COUNTER = .bss:0x00000594; // type:object size:0x40 data:4byte
AcGirahimuBase__STATE_RUN = .bss:0x000005D4; // type:object size:0x40
AcGirahimuBase__STATE_RUN_ATTACK = .bss:0x00000614; // type:object size:0x40 data:4byte
AcGirahimuBase__STATE_BACK_WALK = .bss:0x00000654; // type:object size:0x40
AcGirahimuBase__STATE_SWORD_DAMAGE = .bss:0x00000694; // type:object size:0x40 data:4byte
AcGirahimuBase__STATE_KNIFE_DAMAGE = .bss:0x000006D4; // type:object size:0x64
StateID_Wait__17dAcGirahimuBase_c = .bss:0x00000014; // type:object size:0x40 data:4byte
StateID_Walk__17dAcGirahimuBase_c = .bss:0x00000054; // type:object size:0x40
StateID_Panch__17dAcGirahimuBase_c = .bss:0x00000094; // type:object size:0x40 data:4byte
StateID_Catch__17dAcGirahimuBase_c = .bss:0x000000D4; // type:object size:0x40
StateID_CatchDamage__17dAcGirahimuBase_c = .bss:0x00000114; // type:object size:0x40
StateID_GetSword__17dAcGirahimuBase_c = .bss:0x00000154; // type:object size:0x40 data:4byte
StateID_Link_SwordWait__17dAcGirahimuBase_c = .bss:0x00000194; // type:object size:0x40 data:4byte
StateID_Link_SwordWalk__17dAcGirahimuBase_c = .bss:0x000001D4; // type:object size:0x40 data:4byte
StateID_Link_SwordAttack__17dAcGirahimuBase_c = .bss:0x00000214; // type:object size:0x40 data:4byte
StateID_ReturnSword__17dAcGirahimuBase_c = .bss:0x00000254; // type:object size:0x40 data:4byte
StateID_LinkSwordGuardJust__17dAcGirahimuBase_c = .bss:0x00000294; // type:object size:0x40 data:4byte
StateID_SearchSword__17dAcGirahimuBase_c = .bss:0x000002D4; // type:object size:0x40 data:4byte
StateID_HomeWarp__17dAcGirahimuBase_c = .bss:0x00000314; // type:object size:0x40
StateID_PickUpSword__17dAcGirahimuBase_c = .bss:0x00000354; // type:object size:0x40
StateID_ReleaseSword__17dAcGirahimuBase_c = .bss:0x00000394; // type:object size:0x40 data:4byte
StateID_BackStep__17dAcGirahimuBase_c = .bss:0x000003D4; // type:object size:0x40 data:4byte
StateID_Escape__17dAcGirahimuBase_c = .bss:0x00000414; // type:object size:0x40 data:4byte
StateID_EscapeBack__17dAcGirahimuBase_c = .bss:0x00000454; // type:object size:0x40 data:4byte
StateID_FrontWarp__17dAcGirahimuBase_c = .bss:0x00000494; // type:object size:0x40
StateID_FrontAttack__17dAcGirahimuBase_c = .bss:0x000004D4; // type:object size:0x40 data:4byte
StateID_BackWarp__17dAcGirahimuBase_c = .bss:0x00000514; // type:object size:0x40
StateID_BackAttack__17dAcGirahimuBase_c = .bss:0x00000554; // type:object size:0x40 data:4byte
StateID_Counter__17dAcGirahimuBase_c = .bss:0x00000594; // type:object size:0x40 data:4byte
StateID_Run__17dAcGirahimuBase_c = .bss:0x000005D4; // type:object size:0x40
StateID_RunAttack__17dAcGirahimuBase_c = .bss:0x00000614; // type:object size:0x40 data:4byte
StateID_BackWalk__17dAcGirahimuBase_c = .bss:0x00000654; // type:object size:0x40
StateID_G_SwordDamage__17dAcGirahimuBase_c = .bss:0x00000694; // type:object size:0x40 data:4byte
StateID_KnifeDamage__17dAcGirahimuBase_c = .bss:0x000006D4; // type:object size:0x64
+446 -3
View File
@@ -1,16 +1,459 @@
#ifndef D_A_B_GIRAHIMU_BASE_H
#define D_A_B_GIRAHIMU_BASE_H
#include "common.h"
#include "d/a/d_a_base.h"
#include "d/a/e/d_a_en_base.h"
#include "d/a/obj/d_a_obj_base.h"
#include "d/col/bg/d_bg_s_acch.h"
#include "d/col/cc/d_cc_d.h"
#include "d/d_cc.h"
#include "d/d_message.h"
#include "d/d_shadow.h"
#include "d/snd/d_snd_source_if.h"
#include "m/m3d/m_anmchr.h"
#include "m/m3d/m_anmchrblend.h"
#include "m/m3d/m_anmtexpat.h"
#include "m/m3d/m_fanm.h"
#include "m/m3d/m_mdl.h"
#include "m/m3d/m_smdl.h"
#include "m/m_angle.h"
#include "m/m_mtx.h"
#include "m/m_quat.h"
#include "m/m_vec.h"
#include "nw4r/g3d/g3d_calcworld.h"
#include "nw4r/g3d/g3d_scnobj.h"
#include "nw4r/g3d/res/g3d_resanmchr.h"
#include "nw4r/g3d/res/g3d_resmdl.h"
#include "s/s_State.hpp"
#include "toBeSorted/d_emitter.h"
#include "toBeSorted/d_enemy_sword_mdl.h"
#include "toBeSorted/d_flow_mgr.h"
class dAcObjGirahimuSwordLink_c;
// Needed for ordering
struct LinkSph {
dCcD_Linked<dCcD_Sph> mSph;
};
class dNpcEyeMdlCallback_c : public nw4r::g3d::IScnObjCallback {
public:
dNpcEyeMdlCallback_c() {}
virtual ~dNpcEyeMdlCallback_c() {}
/* 0x04 */ u8 mBlendWeight;
/* 0x05 */ u8 mInterpTimer;
/* 0x06 */ u8 nTexCoordMask[2];
/* 0x08 */ u16 mEyeballMatID[2];
/* 0x0C */ mVec2_c mTargetOffset[2];
/* 0x1C */ mVec2_c mCurrentOffset[2];
/* 0x2C */ dAcObjBase_c *mpOwner;
};
class dAcGirahimuBase_c : public dAcEnBase_c {
public:
dAcGirahimuBase_c() : mStateMgr(*this) {}
virtual ~dAcGirahimuBase_c() {}
dAcGirahimuBase_c() : mStateMgr(*this), mFlowMgr(&mFlow) {}
virtual ~dAcGirahimuBase_c();
class callback_c : public m3d::callback_c {
public:
friend class dAcGirahimuBase_c;
callback_c() {}
virtual ~callback_c() {}
virtual void timingB(u32, nw4r::g3d::WorldMtxManip *, nw4r::g3d::ResMdl) override;
void fn_226_DC0(mMtx_c &, const mAng3_c &, const mAng);
void fn_226_E80();
void fn_226_1160();
void init(dAcGirahimuBase_c *pGhirahim);
void fn_226_1580(u32, nw4r::g3d::WorldMtxManip *, nw4r::g3d::ResMdl);
void fn_226_1B60(mVec3_c &);
void fn_226_1DD0();
void fn_226_24E0();
void fn_226_24F0();
void fn_226_2FD0();
void fn_226_3080();
void fn_226_3130();
void fn_226_3150(mMtx_c &);
/* 0x004 */ mQuat_c field_0x004;
/* 0x014 */ f32 field_0x014;
/* 0x018 */ u16 mNodeID_ShoulderR;
/* 0x01A */ u16 mNodeID_ShoulderL;
/* 0x01C */ u16 mNodeID_Hip;
/* 0x01E */ u16 mNodeID_ArmR;
/* 0x020 */ u16 mNodeID_ArmL;
/* 0x022 */ u16 mNodeID_ElbowR;
/* 0x024 */ u16 mNodeID_ElbowL;
/* 0x026 */ u16 mNodeID_HandR;
/* 0x028 */ u16 mNodeID_Head;
/* 0x02A */ u16 mNodeID_Neck;
/* 0x02C */ u16 mNodeID_Hair1;
/* 0x02E */ u16 mNodeID_Hair2;
/* 0x030 */ u16 mNodeID_Hair3;
/* 0x032 */ u16 mNodeID_Hair4;
/* 0x034 */ u16 mNodeID_Spine1;
/* 0x036 */ u16 mNodeID_Spine2;
/* 0x038 */ u16 mNodeID_BrowL;
/* 0x03A */ u16 mNodeID_BrowR;
/* 0x03C */ u16 mNodeID_Chin;
/* 0x03E */ u16 mNodeID_MouthL;
/* 0x040 */ u16 mNodeID_MouthR;
/* 0x042 */ u16 mNodeID_Upperjaw;
/* 0x044 */ u16 mNodeID_SklRoot;
/* 0x046 */ u16 mNodeID_LegR;
/* 0x048 */ u16 mNodeID_LegL;
/* 0x04A */ u16 mNodeID_KneeR;
/* 0x04C */ u16 mNodeID_KneeL;
/* 0x04E */ bool field_0x04E;
/* 0x04F */ bool field_0x04F;
/* 0x050 */ bool field_0x050;
/* 0x052 */ mAng3_c field_0x052;
/* 0x058 */ mAng3_c field_0x058;
/* 0x05E */ mAng field_0x05E;
/* 0x060 */ mAng field_0x060;
/* 0x062 */ mAng3_c field_0x062;
/* 0x068*/ u8 _0x068[0x07C - 0x068];
/* 0x07C */ mAng field_0x07C;
/* 0x07E */ mAng field_0x07E;
/* 0x080 */ mAng field_0x080;
/* 0x082 */ mAng field_0x082;
/* 0x084 */ mAng field_0x084;
/* 0x086*/ u8 _0x086[0x088 - 0x086];
/* 0x088 */ bool field_0x088;
/* 0x08C */ mVec3_c field_0x08C;
/* 0x098 */ f32 field_0x098;
/* 0x09C*/ u8 _0x09C[0x0B4 - 0x09C];
/* 0x0B4 */ mAng field_0x0B4;
/* 0x0B6*/ u8 _0x0B6[0x0E8 - 0x0B6];
/* 0x0E8 */ mMtx_c field_0x0E8; // ElbowR Transform
/* 0x118 */ mQuat_c field_0x118; // EbowR Rotation
/* 0x128 */ mVec3_c field_0x128;
/* 0x134*/ u8 _0x134[0x164 - 0x134];
/* 0x164 */ mVec3_c field_0x164; // ElbowR Translation
/* 0x170*/ u8 _0x170[0x17C - 0x170];
/* 0x17C */ mVec3_c field_0x17C; // ElbowR Scale
/* 0x188*/ u8 _0x188[0x18C - 0x188];
/* 0x18C */ f32 field_0x188; // ElbowR distance to HandR?
/* 0x18C */ mVec3_c field_0x18C; // ElbowR Translation from ArmR?
/* 0x198 */ bool field_0x198; // ElbowR first Retrieve
/* 0x19C */ mMtx_c field_0x19C; // ArmR Transform
/* 0x1CC */ mQuat_c field_0x1CC; // ArmR Rotation
/* 0x1DC*/ u8 _0x1DC[0x1E8 - 0x1DC];
/* 0x1E8 */ bool field_0x1E8; // ArmR first Retrieve
/* 0x1E9*/ u8 _0x1E9[0x21C - 0x1E9];
/* 0x21C */ mVec3_c field_0x21C; // ArmR Translation
/* 0x228*/ mVec3_c field_0x228; // ArmR Scale
/* 0x234 */ f32 field_0x234; // ArmR Distance to Elbow?
/* 0x238 */ mAng field_0x238;
/* 0x23A */ mAng field_0x23A;
/* 0x23C */ mAng field_0x23C;
/* 0x23E */ mAng field_0x23E;
/* 0x240 */ mAng field_0x240;
/* 0x242 */ mAng field_0x242;
/* 0x244*/ u8 _0x244[0x254 - 0x244];
/* 0x254 */ mVec3_c field_0x254;
/* 0x260 */ mVec3_c field_0x260; // HandR Translation
/* 0x26C */ mVec3_c field_0x26C;
/* 0x278 */ mMtx_c field_0x278; // HandR Transform
/* 0x2A8 */ mQuat_c field_0x2A8; // HandR Rotation
/* 0x2B8 */ bool field_0x2B8; // HandR First Retrieve
/* 0x2BA */ mAng field_0x2BA; // HandR Pitch
/* 0x2BC */ s16 field_0x2BC;
/* 0x2C0 */ nw4r::g3d::WorldMtxManip *field_0x2C0;
/* 0x2C4 */ nw4r::g3d::WorldMtxManip *field_0x2C4;
/* 0x2C8 */ dAcGirahimuBase_c *mpGhirahim;
/* 0x2CC */ f32 field_0x2CC;
/* 0x2D0 */ f32 field_0x2D0; // slerp interpolation
/* 0x2D4 */ f32 field_0x2D4;
/* 0x2D8 */ f32 field_0x2D8;
/* 0x2DC */ f32 field_0x2DC;
/* 0x2E0 */ mVec3_c field_0x2E0;
/* 0x2EC */ mVec3_c field_0x2EC;
};
enum AnmID_e {
ANM_WaitA = 0x00,
ANM_Walk = 0x01,
ANM_Catch = 0x02,
ANM_CatchLoop = 0x03,
ANM_Damage = 0x04,
ANM_GetSword = 0x05,
ANM_WaitBtB = 0x06,
ANM_AttackLSwordA = 0x07,
ANM_AttackLSwordB = 0x08,
ANM_GuardLSwordA = 0x09,
ANM_GuardLSwordB = 0x0A,
ANM_MovePose = 0x0B,
ANM_PickUp02 = 0x0D,
ANM_PullCenter = 0x0E,
ANM_PullUp = 0x0F,
ANM_FreeCenter = 0x10,
ANM_FreeUp = 0x11,
ANM_LookSword = 0x12,
ANM_SwordAppear = 0x13,
ANM_WaitBtC = 0x14,
ANM_AttackPoseL = 0x15,
ANM_AttackLRun = 0x16,
ANM_AttackSwordL = 0x17,
ANM_AttackPoseR = 0x18,
ANM_AttackRRun = 0x19,
ANM_AttackSwordR = 0x1A,
ANM_PoseR = 0x1B,
ANM_PoseL = 0x1C,
ANM_PoseC = 0x1D,
ANM_PoseC2 = 0x1E,
ANM_PoseLR = 0x1F,
ANM_PoseLU = 0x20,
AMM_PoseRU = 0x21,
ANM_PoseUD = 0x22,
ANM_PoseLAttack = 0x23,
ANM_PoseRAttack = 0x24,
ANM_PoseCAttack = 0x25,
ANM_PoseCAttack2 = 0x26,
ANM_PoseLRAttack = 0x27,
ANM_PoseUDAttack = 0x28,
ANM_PoseLUAttack = 0x29,
ANM_PoseRUAttack = 0x2A,
ANM_DamageHit = 0x2C,
ANM_DamageWait = 0x2D,
ANM_Call = 0x30,
ANM_AttackKnife = 0x32,
ANM_FaceTonuge = 0x33,
ANM_FaceSmaile = 0x34,
ANM_LSwordReturn = 0x35,
ANM_TurnL = 0x36,
ANM_TurnR = 0x37,
ANM_AttackBinta = 0x38,
ANM_StepStart = 0x39,
ANM_StepLoop = 0x3A,
ANM_StepEnd = 0x3B,
ANM_PoseUpper = 0x3C,
ANM_PoseFree = 0x3D,
ANM_GuardTwoSword = 0x3F,
ANM_EndA = 0x40,
ANM_EndBLoop = 0x41,
ANM_EndC = 0x42,
ANM_EndDLoop = 0x43,
ANM_EndE = 0x44,
ANM_KnifeDamage = 0x45,
};
virtual int doDelete() override;
virtual int preExecute() override;
virtual int draw() override;
virtual bool createHeap() override;
virtual int actorPostCreate() override;
/* vt 0x08C-0x094 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, Wait);
/* vt 0x098-0x0A0 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, Walk);
/* vt 0x0A4-0x0AC */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, Panch);
/* vt 0x0B0-0x0B8 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, Catch);
/* vt 0x0BC-0x0C4 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, CatchDamage);
/* vt 0x0C8-0x0D0 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, GetSword);
/* vt 0x0D4-0x0DC */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, Link_SwordWait);
/* vt 0x0E0-0x0E8 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, Link_SwordWalk);
/* vt 0x0EC-0x0F4 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, Link_SwordAttack);
/* vt 0x0F8-0x100 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, ReturnSword);
/* vt 0x104-0x10C */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, LinkSwordGuardJust);
/* vt 0x110-0x118 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, SearchSword);
/* vt 0x11C-0x124 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, HomeWarp);
/* vt 0x128-0x130 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, PickUpSword);
/* vt 0x134-0x13C */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, ReleaseSword);
/* vt 0x140-0x148 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, BackStep);
/* vt 0x14C-0x154 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, Escape);
/* vt 0x158-0x160 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, EscapeBack);
/* vt 0x164-0x16C */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, FrontWarp);
/* vt 0x170-0x178 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, FrontAttack);
/* vt 0x17C-0x184 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, BackWarp);
/* vt 0x188-0x190 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, BackAttack);
/* vt 0x194-0x19C */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, Counter);
/* vt 0x1A0-0x1A8 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, Run);
/* vt 0x1AC-0x1B4 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, RunAttack);
/* vt 0x1B8-0x1C0 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, BackWalk);
/* vt 0x1C4-0x1CC */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, G_SwordDamage);
/* vt 0x1D0-0x1D8 */ STATE_VIRTUAL_FUNC_DECLARE(dAcGirahimuBase_c, KnifeDamage);
STATE_MGR_DEFINE_UTIL_CHANGESTATE(dAcGirahimuBase_c);
STATE_MGR_DEFINE_UTIL_ISSTATE(dAcGirahimuBase_c);
STATE_MGR_DEFINE_UTIL_EXECUTESTATE(dAcGirahimuBase_c);
STATE_MGR_DEFINE_UTIL_GETSTATEID(dAcGirahimuBase_c);
/* vt 0x1DC */ virtual void vt_0x1DC();
/* vt 0x1E0 */ virtual void vt_0x1E0();
/* vt 0x1E4 */ virtual void vt_0x1E4();
/* vt 0x1E8 */ virtual void vt_0x1E8();
/* vt 0x1EC */ virtual void vt_0x1EC();
/* vt 0x1F0 */ virtual void vt_0x1F0();
/* vt 0x1F4 */ virtual void vt_0x1F4();
/* vt 0x1F8 */ virtual void vt_0x1F8();
/* vt 0x1FC */ virtual void vt_0x1FC() {}
/* vt 0x200 */ virtual void vt_0x200();
/* vt 0x204 */ virtual void vt_0x204();
/* vt 0x208 */ virtual bool vt_0x208();
/* vt 0x20C */ virtual void vt_0x20C();
/* vt 0x210 */ virtual bool vt_0x210() {
return 0;
}
/* vt 0x214 */ virtual void vt_0x214();
/* vt 0x218 */ virtual bool vt_0x218() {
return false;
}
/* vt 0x21C */ virtual void vt_0x21C();
/* vt 0x220 */ virtual void vt_0x220();
/* vt 0x224 */ virtual void vt_0x224() {
fn_226_8B70("PoseC", ANM_PoseC2, false, m3d::PLAY_MODE_4, 5.0f, 1.0f);
}
/* vt 0x228 */ virtual void vt_0x228();
/* vt 0x22C */ virtual void vt_0x22C();
/* vt 0x230 */ virtual void vt_0x230() {
5.0f;
1.0f;
"WalkBt";
}
void initNodeData();
void fn_226_8B70(const char *, s32 anmId, bool, m3d::playMode_e, f32, f32);
void fn_226_8C90(
const char *, s32 anmId0, const char *, s32 anmId1, const char *, s32 anmId2, m3d::playMode_e, f32, f32
);
void fn_226_8FF0(const char *, s32 anmId, m3d::playMode_e, f32, f32);
void fn_226_90C0(const char *, s32 anmId, m3d::playMode_e, f32, f32);
void fn_226_9190(const char *, s32 anmId, m3d::playMode_e, f32, f32);
void fn_226_9260(const char *, s32 anmId, m3d::playMode_e, f32, f32);
void fn_226_A070(mAng);
void fn_226_AAD0(f32, f32);
void fn_226_AFB0();
void fn_226_B960(f32);
void fn_226_BC00();
void fn_226_CC40();
bool fn_226_CC80();
void fn_226_D070();
bool turn(mAng);
private:
/* 0x??? */ STATE_MGR_DECLARE(dAcGirahimuBase_c);
/* 0x0378 */ STATE_MGR_DECLARE(dAcGirahimuBase_c);
/* 0x03B4 */ m3d::mdl_c mMdlBody;
/* 0x03D8 */ m3d::anmChrBlend_c mAnmChrBlend;
/* 0x0400 */ nw4r::g3d::ResAnmChr mResAnmChr0;
/* 0x0404 */ nw4r::g3d::ResAnmChr mResAnmChr1;
/* 0x0408 */ m3d::anmChr_c mAnmChrs[5];
/* 0x0520 */ dSoundSourceIf_c *pSoundIface;
/* 0x0524 */ UNKWORD field_0x534;
/* 0x0528 */ m3d::anmTexPat_c mAnmTexPatWink;
/* 0x0554 */ dNpcEyeMdlCallback_c mEyeMdlCallback;
/* 0x0584 */
/* 0x0594 */ callback_c mCallback;
/* 0x088C */ mVec3_c field_0x88C;
/* 0x08B0*/ mVec3_c field_0x8B0;
/* 0x08BC */ mVec3_c field_0x8BC;
/* 0x08C8 */ s16 field_0x8C8;
/* 0x08CE */ s16 field_0x8CE;
/* 0x08D4 */ dShadowCircle_c mShadow;
/* 0x08DC */ s32 field_0x8DC;
/* 0x08E0 */ m3d::smdl_c mMdlPias; // Earring
/* 0x0938 */ dBgS_AcchCir mAcchCir;
/* 0x0994 */ dBgS_ObjAcch mAcch;
/* 0x0D44 */ s16 field_0xD44;
/* 0x0D46 */ s16 field_0xD46;
/* 0x0D48 */ s16 field_0xD48;
/* 0x0D4A */ s16 field_0xD4A;
/* 0x0D4C */ s16 field_0xD4C;
/* 0x0D4E */ s16 field_0xD4E;
/* 0x0D50 */ s16 field_0xD50;
/* 0x0D52 */ s16 field_0xD52;
/* 0x0D54 */ s16 field_0xD54;
/* 0x0D56 */ s16 field_0xD56;
/* 0x0D58 */ s16 field_0xD58;
/* 0x0D5A */ s16 field_0xD5A;
/* 0x0D5C */ s16 field_0xD5C;
/* 0x0D5E */ s16 field_0xD5E;
/* 0x0D60 */ s16 field_0xD60;
/* 0x0D62 */ s16 field_0xD62;
/* 0x0D64 */ s16 field_0xD64;
/* 0x0D66 */ s16 field_0xD66;
/* 0x0D68 */ s16 field_0xD68;
/* 0x0D6A */ s16 field_0xD6A;
/* 0x0D6C */ s32 field_0xD6C;
/* 0xD71 */ bool field_0xD71;
/* 0xD72 */ bool field_0xD72;
/* 0xD79 */ bool mbLinkSwordWaitFirstComplete;
/* 0xD7B */ bool field_0xD7B;
/* 0xD7C */ bool field_0xD7C;
/* 0xD7D */ bool field_0xD7D;
/* 0xD7E */ bool field_0xD7E;
/* 0xD80 */ bool field_0xD80;
/* 0xD81 */ bool field_0xD81;
/* 0xD82 */ bool field_0xD82;
/* 0xD8D */ bool field_0xD8D;
/* 0xD8E */ s16 field_0xD8E;
/* 0x0D94 */ dEnemySwordMdl_c mMdlSwordA;
/* 0x12E4 */ dEnemySwordMdl_c mMdlSwordB;
/* 0x1834 */ f32 field_0x1834;
/* 0x1838 */ f32 field_0x1838;
/* 0x183A */ mAng field_0x183A;
/* 0x183E */ mAng field_0x183E;
/* 0x1858 */ f32 field_0x1858;
/* 0x1868 */ f32 field_0x1868;
/* 0x1871 */ bool field_0x1871;
/* 0x1872 */ bool field_0x1872;
/* 0x1878 */ dCcD_Cyl mCyl0;
/* 0x19C8 */ dCcD_Cyl mCyl1;
/* 0x1B18 */ dCcD_Linked<dCcD_Cyl> mCyl2;
/* 0x1C78 */ dCcD_Linked<dCcD_Sph> mSph0;
/* 0x1DD8 */ dCcD_Linked<dCcD_Cps> mCps0;
/* 0x1F58 */ dCcD_Linked<dCcD_Cps> mCps1;
/* 0x20D8 */ dColliderLinkedList mCollider;
/* 0x2104 */ dAcObjRef_c mRef0;
/* 0x2110 */ dAcRef_c<dAcObjGirahimuSwordLink_c> mSwordLink;
/* 0x211C */ dFlow_c mFlow;
/* 0x2180 */ dFlowMgrBase_c mFlowMgr;
/* 0x21D8 */ dEmitter_c mEmitter;
};
#endif
@@ -37,6 +37,10 @@ public:
void reflect(const mVec3_c &rot, f32 gravity, f32, f32 force);
bool lineCheck();
dEnemySwordMdl_c &getMdl() {
return mMdl;
}
STATE_FUNC_DECLARE(dAcObjGirahimuSwordLink_c, Hide);
STATE_FUNC_DECLARE(dAcObjGirahimuSwordLink_c, Equip);
STATE_FUNC_DECLARE(dAcObjGirahimuSwordLink_c, GetSword);
+3
View File
@@ -143,6 +143,9 @@ public:
const math::VEC3 &GetTranslate() const {
return *(const math::VEC3 *)&ref().translate;
}
const math::VEC3 &GetScale() const {
return *(const math::VEC3 *)&ref().scale;
}
// not in the dwarf
const math::VEC3 &GetBoundsMin() const {
+3
View File
@@ -70,6 +70,9 @@ public:
void setInactive() {
mIsActive = false;
}
void setProcActive(bool b) {
mProc.setActive(b);
}
void disable() {
setInactive();
mProc.setActive(false);
File diff suppressed because it is too large Load Diff