mirror of
https://github.com/zeldaret/ss
synced 2026-06-01 09:47:32 -04:00
@@ -3,76 +3,75 @@ _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_155_F0 = .text:0x000000F0; // type:function size:0x40
|
||||
__dt__7mVec3_cFv = .text:0x000000F0; // type:function size:0x40
|
||||
dAcEKs_c_classInit__Fv = .text:0x00000130; // type:function size:0x190
|
||||
fn_155_2C0 = .text:0x000002C0; // type:function size:0x58
|
||||
__dt__15dShadowCircle_cFv = .text:0x000002C0; // type:function size:0x58
|
||||
__dt__20sFState_c<8dAcEKs_c>Fv = .text:0x00000320; // type:function size:0x58
|
||||
__dt__23sFStateFct_c<8dAcEKs_c>Fv = .text:0x00000380; // type:function size:0x6C
|
||||
__dt__76sStateMgr_c<8dAcEKs_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x000003F0; // type:function size:0xA0
|
||||
__dt__46sFStateMgr_c<8dAcEKs_c,20sStateMethodUsr_FI_c>Fv = .text:0x00000490; // type:function size:0xA4
|
||||
fn_155_540 = .text:0x00000540; // type:function size:0x5C
|
||||
fn_155_5A0 = .text:0x000005A0; // type:function size:0x4
|
||||
fn_155_5B0 = .text:0x000005B0; // type:function size:0x134
|
||||
fn_155_6F0 = .text:0x000006F0; // type:function size:0x8
|
||||
fn_155_700 = .text:0x00000700; // type:function size:0x1A8
|
||||
__dt__14dWaterEffect_cFv = .text:0x00000540; // type:function size:0x5C
|
||||
__ct__7mVec3_cFv = .text:0x000005A0; // type:function size:0x4
|
||||
restorePosRotFromCopy__8dAcEKs_cFv = .text:0x000005B0; // type:function size:0x134
|
||||
linkKiesuTag__8dAcEKs_cFP13dTgKiesuTag_c = .text:0x000006F0; // type:function size:0x8
|
||||
setStartingState__8dAcEKs_cFv = .text:0x00000700; // type:function size:0x1A8
|
||||
changeState__76sStateMgr_c<8dAcEKs_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x000008B0; // type:function size:0x10
|
||||
AcEKs__idleBasedOnSubtypeMaybe = .text:0x000008C0; // type:function size:0xCC
|
||||
fn_155_990 = .text:0x00000990; // type:function size:0xD0
|
||||
fn_155_A60 = .text:0x00000A60; // type:function size:0x6B0
|
||||
setIdleState__8dAcEKs_cFv = .text:0x000008C0; // type:function size:0xCC
|
||||
getLineCrossYRange__8dAcEKs_cFRC7mVec3_cf = .text:0x00000990; // type:function size:0xD0
|
||||
fn_155_A60__8dAcEKs_cFv = .text:0x00000A60; // type:function size:0x6B0
|
||||
getStateID__76sStateMgr_c<8dAcEKs_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x00001110; // type:function size:0x10
|
||||
fn_155_1120 = .text:0x00001120; // type:function size:0x1C
|
||||
fn_155_1140 = .text:0x00001140; // type:function size:0x12C
|
||||
fn_155_1270 = .text:0x00001270; // type:function size:0x54
|
||||
fn_155_12D0 = .text:0x000012D0; // type:function size:0xA0
|
||||
fn_155_1370 = .text:0x00001370; // type:function size:0x58
|
||||
fn_155_13D0 = .text:0x000013D0; // type:function size:0x58
|
||||
fn_155_1430 = .text:0x00001430; // type:function size:0x38
|
||||
fn_155_1470 = .text:0x00001470; // type:function size:0x80C
|
||||
fn_155_1C80 = .text:0x00001C80; // type:function size:0x5E4
|
||||
fn_155_2270 = .text:0x00002270; // type:function size:0x754
|
||||
fn_155_29D0 = .text:0x000029D0; // type:function size:0x1A8
|
||||
fn_155_2B80 = .text:0x00002B80; // type:function size:0x1E0
|
||||
fn_155_2D60 = .text:0x00002D60; // type:function size:0x138
|
||||
fn_155_2EA0 = .text:0x00002EA0; // type:function size:0x118
|
||||
fn_155_2FC0 = .text:0x00002FC0; // type:function size:0x84
|
||||
fn_155_3050 = .text:0x00003050; // type:function size:0xAC
|
||||
fn_155_3100 = .text:0x00003100; // type:function size:0xF4
|
||||
fn_155_3200 = .text:0x00003200; // type:function size:0xA4
|
||||
fn_155_32B0 = .text:0x000032B0; // type:function size:0x94
|
||||
fn_155_3350 = .text:0x00003350; // type:function size:0x94
|
||||
fn_155_33F0 = .text:0x000033F0; // type:function size:0x68
|
||||
fn_155_3460 = .text:0x00003460; // type:function size:0x14
|
||||
fn_155_3480 = .text:0x00003480; // type:function size:0x34
|
||||
fn_155_34C0 = .text:0x000034C0; // type:function size:0x1A8
|
||||
AcEKs__setAnim = .text:0x00003670; // type:function size:0xA8
|
||||
fn_155_3720 = .text:0x00003720; // type:function size:0x30
|
||||
fn_155_3750 = .text:0x00003750; // type:function size:0x44
|
||||
fn_155_37A0 = .text:0x000037A0; // type:function size:0x50
|
||||
fn_155_37F0 = .text:0x000037F0; // type:function size:0x44
|
||||
fn_155_3840 = .text:0x00003840; // type:function size:0x4C
|
||||
fn_155_3890 = .text:0x00003890; // type:function size:0x40
|
||||
fn_155_38D0 = .text:0x000038D0; // type:function size:0x10
|
||||
fn_155_38E0 = .text:0x000038E0; // type:function size:0x10
|
||||
fn_155_38F0 = .text:0x000038F0; // type:function size:0x4
|
||||
fn_155_3900 = .text:0x00003900; // type:function size:0x268
|
||||
AcEKs__setAnglesToPoints = .text:0x00003B70; // type:function size:0x58
|
||||
fn_155_3BD0 = .text:0x00003BD0; // type:function size:0x10
|
||||
fn_155_3BE0 = .text:0x00003BE0; // type:function size:0x178
|
||||
fn_155_3D60 = .text:0x00003D60; // type:function size:0xA8
|
||||
fn_155_3E10 = .text:0x00003E10; // type:function size:0x1C
|
||||
fn_155_3E30 = .text:0x00003E30; // type:function size:0x24
|
||||
fn_155_3E60 = .text:0x00003E60; // type:function size:0x2C
|
||||
fn_155_3E90 = .text:0x00003E90; // type:function size:0x24
|
||||
fn_155_3EC0 = .text:0x00003EC0; // type:function size:0x24
|
||||
fn_155_3EF0 = .text:0x00003EF0; // type:function size:0x5C
|
||||
fn_155_3F50 = .text:0x00003F50; // type:function size:0x10C
|
||||
AcEKs__initModels = .text:0x00004060; // type:function size:0x120
|
||||
AcEKs__init1 = .text:0x00004180; // type:function size:0x57C
|
||||
AcEKs__init2 = .text:0x00004700; // type:function size:0x178
|
||||
AcEKs__destroy = .text:0x00004880; // type:function size:0x44
|
||||
AcEKs__update = .text:0x000048D0; // type:function size:0xCEC
|
||||
calcTimer<Uc>__4sLibFPUc_Uc = .text:0x00001120; // type:function size:0x1C
|
||||
kill__8dAcEKs_cFb = .text:0x00001140; // type:function size:0x12C
|
||||
chaseTargetY__8dAcEKs_cFff = .text:0x00001270; // type:function size:0x54
|
||||
playBlinkAnm__8dAcEKs_cFv = .text:0x000012D0; // type:function size:0xA0
|
||||
soundSqueak__8dAcEKs_cFv = .text:0x00001370; // type:function size:0x58
|
||||
soundStun__8dAcEKs_cFv = .text:0x000013D0; // type:function size:0x58
|
||||
fn_155_1430__8dAcEKs_cFv = .text:0x00001430; // type:function size:0x38
|
||||
fn_155_1470__8dAcEKs_cFv = .text:0x00001470; // type:function size:0x80C
|
||||
fn_155_1C80__8dAcEKs_cFv = .text:0x00001C80; // type:function size:0x5E4
|
||||
fn_155_2270__8dAcEKs_cFv = .text:0x00002270; // type:function size:0x754
|
||||
fn_155_29D0__8dAcEKs_cFl = .text:0x000029D0; // type:function size:0x1A8
|
||||
fn_155_2B80__8dAcEKs_cFbl = .text:0x00002B80; // type:function size:0x1E0
|
||||
fn_155_2D60__8dAcEKs_cFbl = .text:0x00002D60; // type:function size:0x138
|
||||
fn_155_2EA0__8dAcEKs_cFv = .text:0x00002EA0; // type:function size:0x118
|
||||
isOutsideRange__8dAcEKs_cFv = .text:0x00002FC0; // type:function size:0x84
|
||||
isNotWaitingNorDamage__8dAcEKs_cFv = .text:0x00003050; // type:function size:0xAC
|
||||
isTargeted__8dAcEKs_cFv = .text:0x00003100; // type:function size:0xF4
|
||||
checkWallCross__8dAcEKs_cFv = .text:0x00003200; // type:function size:0xA4
|
||||
adjustTargetGnd__8dAcEKs_cFv = .text:0x000032B0; // type:function size:0x94
|
||||
adjustTargetRoof__8dAcEKs_cFv = .text:0x00003350; // type:function size:0x94
|
||||
ChkHit__8dAcEKs_cFv = .text:0x000033F0; // type:function size:0x68
|
||||
fn_155_3460__8dAcEKs_cFv = .text:0x00003460; // type:function size:0x14
|
||||
fn_155_3480__8dAcEKs_cFv = .text:0x00003480; // type:function size:0x34
|
||||
transitionToNextState__8dAcEKs_cFv = .text:0x000034C0; // type:function size:0x1A8
|
||||
setAnim__8dAcEKs_cFPcfff = .text:0x00003670; // type:function size:0xA8
|
||||
fn_155_3720__8dAcEKs_cFff = .text:0x00003720; // type:function size:0x30
|
||||
fn_155_3750__8dAcEKs_cFUc = .text:0x00003750; // type:function size:0x44
|
||||
fn_155_37A0__8dAcEKs_cFv = .text:0x000037A0; // type:function size:0x50
|
||||
fn_155_37F0__8dAcEKs_cFv = .text:0x000037F0; // type:function size:0x44
|
||||
fn_155_3840__8dAcEKs_cFv = .text:0x00003840; // type:function size:0x4C
|
||||
fn_155_3890__8dAcEKs_cFv = .text:0x00003890; // type:function size:0x40
|
||||
on_lbl_155_bss_389__8dAcEKs_cFv = .text:0x000038D0; // type:function size:0x10
|
||||
setBlinkChecked__8dAcEKs_cFUc = .text:0x000038E0; // type:function size:0x14
|
||||
fn_155_3900__8dAcEKs_cFl = .text:0x00003900; // type:function size:0x268
|
||||
setPitchYawToPoint__8dAcEKs_cFRC7mVec3_c = .text:0x00003B70; // type:function size:0x58
|
||||
fn_155_3BD0__8dAcEKs_cFRC7mVec3_c = .text:0x00003BD0; // type:function size:0x10
|
||||
fn_155_3BE0__8dAcEKs_cFRC7mVec3_c = .text:0x00003BE0; // type:function size:0x178
|
||||
setBlink__8dAcEKs_cFUc = .text:0x00003D60; // type:function size:0xA8
|
||||
checkPathPntParam__8dAcEKs_cFUl = .text:0x00003E10; // type:function size:0x1C
|
||||
fn_155_3E30__8dAcEKs_cFv = .text:0x00003E30; // type:function size:0x24
|
||||
clampRotationX__8dAcEKs_cFv = .text:0x00003E60; // type:function size:0x2C
|
||||
fn_155_3E90__8dAcEKs_cFv = .text:0x00003E90; // type:function size:0x24
|
||||
fn_155_3EC0__8dAcEKs_cFv = .text:0x00003EC0; // type:function size:0x24
|
||||
fn_155_3EF0__8dAcEKs_cFv = .text:0x00003EF0; // type:function size:0x5C
|
||||
fn_155_3F50__8dAcEKs_cFv = .text:0x00003F50; // type:function size:0x10C
|
||||
createHeap__8dAcEKs_cFv = .text:0x00004060; // type:function size:0x120
|
||||
actorCreate__8dAcEKs_cFv = .text:0x00004180; // type:function size:0x57C
|
||||
actorPostCreate__8dAcEKs_cFv = .text:0x00004700; // type:function size:0x178
|
||||
doDelete__8dAcEKs_cFv = .text:0x00004880; // type:function size:0x44
|
||||
actorExecute__8dAcEKs_cFv = .text:0x000048D0; // type:function size:0xCEC
|
||||
executeState__76sStateMgr_c<8dAcEKs_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x000055C0; // type:function size:0x10
|
||||
AcEKs__draw = .text:0x000055D0; // type:function size:0x1F4
|
||||
draw__8dAcEKs_cFv = .text:0x000055D0; // type:function size:0x1F4
|
||||
initializeState_Wait__8dAcEKs_cFv = .text:0x000057D0; // type:function size:0x1EC
|
||||
executeState_Wait__8dAcEKs_cFv = .text:0x000059C0; // type:function size:0x768
|
||||
finalizeState_Wait__8dAcEKs_cFv = .text:0x00006130; // type:function size:0xA4
|
||||
@@ -115,10 +114,10 @@ finalizeState_WindBlow__8dAcEKs_cFv = .text:0x000092E0; // type:function size:0x
|
||||
initializeState_PathMove__8dAcEKs_cFv = .text:0x00009380; // type:function size:0x184
|
||||
executeState_PathMove__8dAcEKs_cFv = .text:0x00009510; // type:function size:0x7A8
|
||||
finalizeState_PathMove__8dAcEKs_cFv = .text:0x00009CC0; // type:function size:0xC
|
||||
fn_155_9CD0 = .text:0x00009CD0; // type:function size:0x8
|
||||
fn_155_9CE0 = .text:0x00009CE0; // type:function size:0x4
|
||||
fn_155_9CF0 = .text:0x00009CF0; // type:function size:0x4
|
||||
fn_155_9D00 = .text:0x00009D00; // type:function size:0x8
|
||||
vt_0x88__11dAcEnBase_cFi = .text:0x00009CD0; // type:function size:0x8
|
||||
vt_0x84__11dAcEnBase_cFv = .text:0x00009CE0; // type:function size:0x4
|
||||
vt_0x80__11dAcEnBase_cFv = .text:0x00009CF0; // type:function size:0x4
|
||||
getObjectListEntry__11dAcEnBase_cFv = .text:0x00009D00; // type:function size:0x8
|
||||
__dt__8dAcEKs_cFv = .text:0x00009D10; // type:function size:0x16C
|
||||
build__23sFStateFct_c<8dAcEKs_c>FRC12sStateIDIf_c = .text:0x00009E80; // type:function size:0x60
|
||||
dispose__23sFStateFct_c<8dAcEKs_c>FRP10sStateIf_c = .text:0x00009EE0; // type:function size:0xC
|
||||
@@ -175,28 +174,31 @@ lbl_155_data_188 = .data:0x00000188; // type:object size:0x7 data:string
|
||||
lbl_155_data_190 = .data:0x00000190; // type:object size:0x8 data:string
|
||||
lbl_155_data_198 = .data:0x00000198; // type:object size:0x4 data:4byte
|
||||
lbl_155_data_19C = .data:0x0000019C; // type:object size:0x4 data:4byte
|
||||
AcEKs__vtable = .data:0x000001A0; // type:object size:0x90
|
||||
lbl_155_data_230 = .data:0x00000230; // type:object size:0x30
|
||||
lbl_155_data_260 = .data:0x00000260; // type:object size:0x30
|
||||
lbl_155_data_290 = .data:0x00000290; // type:object size:0x18
|
||||
lbl_155_data_2A8 = .data:0x000002A8; // type:object size:0x18
|
||||
lbl_155_data_2C0 = .data:0x000002C0; // type:object size:0xC
|
||||
lbl_155_data_2CC = .data:0x000002CC; // type:object size:0x388
|
||||
__vt__8dAcEKs_c = .data:0x000001A0; // type:object size:0x90
|
||||
__vt__46sFStateMgr_c<8dAcEKs_c,20sStateMethodUsr_FI_c> = .data:0x00000230; // type:object size:0x30
|
||||
__vt__76sStateMgr_c<8dAcEKs_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x00000260; // type:object size:0x30
|
||||
__vt__23sFStateFct_c<8dAcEKs_c> = .data:0x00000290; // type:object size:0x18
|
||||
__vt__20sFState_c<8dAcEKs_c> = .data:0x000002A8; // type:object size:0x18
|
||||
__vt__14dWaterEffect_c = .data:0x000002C0; // type:object size:0xC
|
||||
__vt__15dShadowCircle_c = .data:0x000002CC; // type:object size:0x388
|
||||
lbl_155_data_654 = .data:0x00000654; // type:object size:0x34
|
||||
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
|
||||
lbl_155_bss_8 = .bss:0x00000008; // type:object size:0x10 data:4byte
|
||||
AcEKs__StateID_Wait = .bss:0x00000018; // type:object size:0x40 data:4byte
|
||||
AcEKs__StateID_WakeUp = .bss:0x00000058; // type:object size:0x40 data:4byte
|
||||
AcEKs__StateID_ReturnToWait = .bss:0x00000098; // type:object size:0x40 data:4byte
|
||||
AcEKs__StateID_WaitReady = .bss:0x000000D8; // type:object size:0x80 data:4byte
|
||||
AcEKs__StateID_Chase = .bss:0x00000158; // type:object size:0x40 data:4byte
|
||||
AcEKs__StateID_ChaseAttack = .bss:0x00000198; // type:object size:0x40 data:4byte
|
||||
AcEKs__StateID_Fighting = .bss:0x000001D8; // type:object size:0x40 data:4byte
|
||||
AcEKs__StateID_AttackReady = .bss:0x00000218; // type:object size:0x40 data:4byte
|
||||
AcEKs__StateID_Attack = .bss:0x00000258; // type:object size:0x40 data:4byte
|
||||
AcEKs__StateID_Damage = .bss:0x00000298; // type:object size:0x40 data:4byte
|
||||
AcEKs__StateID_Stun = .bss:0x000002D8; // type:object size:0xB0 data:4byte
|
||||
lbl_155_bss_388 = .bss:0x00000388; // type:object size:0x1 data:byte
|
||||
lbl_155_bss_389 = .bss:0x00000389; // type:object size:0x1 data:byte
|
||||
StateID_Wait__8dAcEKs_c = .bss:0x00000018; // type:object size:0x30 data:4byte
|
||||
StateID_WakeUp__8dAcEKs_c = .bss:0x00000058; // type:object size:0x30 data:4byte
|
||||
StateID_ReturnToWait__8dAcEKs_c = .bss:0x00000098; // type:object size:0x30 data:4byte
|
||||
StateID_WaitReady__8dAcEKs_c = .bss:0x000000D8; // type:object size:0x30 data:4byte
|
||||
StateID_Move__8dAcEKs_c = .bss:0x00000118; // type:object size:0x30 data:4byte
|
||||
StateID_Chase__8dAcEKs_c = .bss:0x00000158; // type:object size:0x30 data:4byte
|
||||
StateID_ChaseAttack__8dAcEKs_c = .bss:0x00000198; // type:object size:0x30 data:4byte
|
||||
StateID_Fighting__8dAcEKs_c = .bss:0x000001D8; // type:object size:0x30 data:4byte
|
||||
StateID_AttackReady__8dAcEKs_c = .bss:0x00000218; // type:object size:0x30 data:4byte
|
||||
StateID_Attack__8dAcEKs_c = .bss:0x00000258; // type:object size:0x30 data:4byte
|
||||
StateID_Damage__8dAcEKs_c = .bss:0x00000298; // type:object size:0x30 data:4byte
|
||||
StateID_Stun__8dAcEKs_c = .bss:0x000002D8; // type:object size:0x30 data:4byte
|
||||
StateID_WindBlow__8dAcEKs_c = .bss:0x00000318; // type:object size:0x30 data:4byte
|
||||
StateID_PathMove__8dAcEKs_c = .bss:0x00000358; // type:object size:0x30 data:4byte
|
||||
lbl_155_bss_388__8dAcEKs_c = .bss:0x00000388; // type:object size:0x1 data:byte
|
||||
lbl_155_bss_389__8dAcEKs_c = .bss:0x00000389; // type:object size:0x1 data:byte
|
||||
lbl_155_bss_38A = .bss:0x0000038A; // type:object size:0x1 data:byte
|
||||
lbl_155_bss_38C = .bss:0x0000038C; // type:object size:0x1C align:4 data:float
|
||||
|
||||
+10
-10
@@ -978,7 +978,7 @@ polyAttrsToGroundEffectIdx__14dJEffManager_cFll = .text:0x8002A380; // type:func
|
||||
spawnGroundEffect__14dJEffManager_cFRC7mVec3_cUcUcRC7mVec3_clff = .text:0x8002A450; // type:function size:0x1C0
|
||||
spawnHitMarkEffect__14dJEffManager_cFiR8cCcD_ObjPC7mVec3_cb = .text:0x8002A610; // type:function size:0x678
|
||||
fn_8002AC90 = .text:0x8002AC90; // type:function size:0x460
|
||||
vt_0x1C0__17daPlayerActBase_cCFv = .text:0x8002B0F0; // type:function size:0x8
|
||||
getBeetleInFlight__17daPlayerActBase_cCFv = .text:0x8002B0F0; // type:function size:0x8
|
||||
init__14dWaterEffect_cFP12dAcObjBase_cfff = .text:0x8002B100; // type:function size:0x14
|
||||
execute__14dWaterEffect_cFff = .text:0x8002B120; // type:function size:0x1F4
|
||||
drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter = .text:0x8002B320; // type:function size:0x4
|
||||
@@ -1159,8 +1159,8 @@ fn_8002F710 = .text:0x8002F710; // type:function size:0x110
|
||||
checkRefArrayAtIndex__17daPlayerActBase_cFv = .text:0x8002F820; // type:function size:0x8
|
||||
sizeOfActorRefs_16__17daPlayerActBase_cFv = .text:0x8002F830; // type:function size:0x8
|
||||
fn_8002F840 = .text:0x8002F840; // type:function size:0x8
|
||||
fn_8002F850 = .text:0x8002F850; // type:function size:0x70
|
||||
fn_8002F8C0 = .text:0x8002F8C0; // type:function size:0x70
|
||||
playDeathEffect0__11dAcEnBase_cFRC7mVec3_cPC7mVec3_cb = .text:0x8002F850; // type:function size:0x70
|
||||
playDeathEffect1__11dAcEnBase_cFRC7mVec3_cPC7mVec3_cb = .text:0x8002F8C0; // type:function size:0x70
|
||||
fn_8002F930 = .text:0x8002F930; // type:function size:0xB4
|
||||
ActorEnemyBase__setEndat = .text:0x8002F9F0; // type:function size:0x88
|
||||
fn_8002FA80 = .text:0x8002FA80; // type:function size:0xB4
|
||||
@@ -1178,11 +1178,11 @@ checkSlope__11dAcEnBase_cFRC7mVec3_cRsRsf = .text:0x80030030; // type:function s
|
||||
fn_800301b0__11dAcEnBase_cFRC7mVec3_c4mAngbf = .text:0x800301B0; // type:function size:0x1D4
|
||||
fn_80030390 = .text:0x80030390; // type:function size:0x64
|
||||
fn_80030400__11dAcEnBase_cFRQ23m3d5mdl_cUcbUc = .text:0x80030400; // type:function size:0x168
|
||||
fn_80030570 = .text:0x80030570; // type:function size:0x144
|
||||
fn_80030570__11dAcEnBase_cFRQ23m3d5mdl_cUcf = .text:0x80030570; // type:function size:0x144
|
||||
fn_800306C0 = .text:0x800306C0; // type:function size:0x10
|
||||
fn_800306D0 = .text:0x800306D0; // type:function size:0x24
|
||||
fn_80030700 = .text:0x80030700; // type:function size:0x24
|
||||
fn_80030730 = .text:0x80030730; // type:function size:0xB0
|
||||
fn_800306D0__11dAcEnBase_cFv = .text:0x800306D0; // type:function size:0x24
|
||||
fn_80030700__11dAcEnBase_cFv = .text:0x80030700; // type:function size:0x24
|
||||
targetPlayerOrScrapper__11dAcEnBase_cFf = .text:0x80030730; // type:function size:0xB0
|
||||
fn_800307E0 = .text:0x800307E0; // type:function size:0x34
|
||||
fn_80030820 = .text:0x80030820; // type:function size:0x14
|
||||
fn_80030840 = .text:0x80030840; // type:function size:0x13C
|
||||
@@ -3718,7 +3718,7 @@ fn_800A9860 = .text:0x800A9860; // type:function size:0x50
|
||||
getRemainingDistanceOnSegment__15ActorOnRail_ExtCFv = .text:0x800A98B0; // type:function size:0x58
|
||||
getNextPointIndex__15ActorOnRail_ExtCFl = .text:0x800A9910; // type:function size:0x48
|
||||
getNextPointIndex__15ActorOnRail_ExtCFv = .text:0x800A9960; // type:function size:0x8
|
||||
fn_800A9970 = .text:0x800A9970; // type:function size:0x58
|
||||
getNextPointIndex2__15ActorOnRail_ExtCFv = .text:0x800A9970; // type:function size:0x58
|
||||
getClosestXZPoint__15ActorOnRail_ExtCFRC7mVec3_c = .text:0x800A99D0; // type:function size:0xE0
|
||||
setSegment__15ActorOnRail_ExtFlf = .text:0x800A9AB0; // type:function size:0x50
|
||||
checkPosInAREA = .text:0x800A9B00; // type:function size:0xC4
|
||||
@@ -10102,7 +10102,7 @@ fn_8018B1D0 = .text:0x8018B1D0; // type:function size:0x60
|
||||
fn_8018B230 = .text:0x8018B230; // type:function size:0x74
|
||||
ActorLink__handleHotPumpkinSoup = .text:0x8018B2B0; // type:function size:0xE4
|
||||
fn_8018B3A0 = .text:0x8018B3A0; // type:function size:0x80
|
||||
shouldDropItemForChance = .text:0x8018B420; // type:function size:0x84
|
||||
tryDropItem__Ff = .text:0x8018B420; // type:function size:0x84
|
||||
getMaxBeaconCount__Fv = .text:0x8018B4B0; // type:function size:0x44
|
||||
doesStageForbidBeaconPlacement__Fv = .text:0x8018B500; // type:function size:0x40
|
||||
getBeaconPosition__FUl = .text:0x8018B540; // type:function size:0x60
|
||||
@@ -17268,7 +17268,7 @@ addCalcPos__4cLibFP7mVec3_cRC7mVec3_cfff = .text:0x802DFD90; // type:function si
|
||||
addCalcPosXZ__4cLibFP7mVec3_cRC7mVec3_cfff = .text:0x802DFFD0; // type:function size:0x1B8
|
||||
addCalcPos2__4cLibFP7mVec3_cRC7mVec3_cff = .text:0x802E0190; // type:function size:0x13C
|
||||
cLib__addCalcPosXZ2 = .text:0x802E02D0; // type:function size:0xF8
|
||||
cLib__chasePos = .text:0x802E03D0; // type:function size:0x174
|
||||
chasePos__4cLibFR7mVec3_cR7mVec3_cf = .text:0x802E03D0; // type:function size:0x174
|
||||
chasePosXZ__4cLibFR7mVec3_cR7mVec3_cf = .text:0x802E0550; // type:function size:0x124
|
||||
targetAngleY__4cLibFRC7mVec3_cRC7mVec3_c = .text:0x802E0680; // type:function size:0x1C
|
||||
targetAngleX__4cLibFRC7mVec3_cRC7mVec3_c = .text:0x802E06A0; // type:function size:0x68
|
||||
|
||||
+1
-1
@@ -2118,7 +2118,7 @@ config.libs = [
|
||||
Rel(NonMatching, "d_a_e_hp", "REL/d/a/e/d_a_e_hp.cpp"),
|
||||
Rel(NonMatching, "d_a_e_hydra", "REL/d/a/e/d_a_e_hydra.cpp"),
|
||||
Rel(NonMatching, "d_a_e_kg", "REL/d/a/e/d_a_e_kg.cpp"),
|
||||
Rel(NonMatching, "d_a_e_ks", "REL/d/a/e/d_a_e_ks.cpp"),
|
||||
Rel(Matching, "d_a_e_ks", "REL/d/a/e/d_a_e_ks.cpp"),
|
||||
Rel(NonMatching, "d_a_e_kumite_gira", "REL/d/a/e/d_a_e_kumite_gira.cpp"),
|
||||
Rel(NonMatching, "d_a_e_lizarufos", "REL/d/a/e/d_a_e_lizarufos.cpp"),
|
||||
Rel(NonMatching, "d_a_e_liza_tail", "REL/d/a/e/d_a_e_liza_tail.cpp"),
|
||||
|
||||
@@ -12,6 +12,7 @@ s16 offsetPos(mVec3_c &target, const mVec3_c &v1, s16 angle, const mVec3_c &v2);
|
||||
void addCalcPos2(mVec3_c *src, const mVec3_c &target, f32 scale, f32 maxStep);
|
||||
f32 addCalcPosXZ(mVec3_c *src, const mVec3_c &target, f32 scale, f32 maxStep, f32 minStep);
|
||||
f32 addCalcPos(mVec3_c *src, const mVec3_c &target, f32 scale, f32 maxStep, f32 minStep);
|
||||
bool chasePos(mVec3_c &, mVec3_c &, f32);
|
||||
bool chasePosXZ(mVec3_c &, mVec3_c &, f32);
|
||||
|
||||
// made up name
|
||||
|
||||
@@ -91,10 +91,6 @@ public:
|
||||
return mHeldResFile;
|
||||
}
|
||||
|
||||
inline bool hasvt_0x1C0() const {
|
||||
return vt_0x1C0() != nullptr;
|
||||
}
|
||||
|
||||
inline bool isAffectedByStaminaPotion() const {
|
||||
return FileManager::GetInstance()->hasStaminaPotionNormal() && getRidingActorType() != RIDING_BOAT;
|
||||
}
|
||||
|
||||
+280
-1
@@ -1,14 +1,35 @@
|
||||
#ifndef D_A_E_KS_H
|
||||
#define D_A_E_KS_H
|
||||
|
||||
#include "common.h"
|
||||
#include "d/a/d_a_base.h"
|
||||
#include "d/a/e/d_a_en_base.h"
|
||||
#include "d/col/bg/d_bg_s_acch.h"
|
||||
#include "d/col/cc/d_cc_d.h"
|
||||
#include "d/d_light_env.h"
|
||||
#include "m/m3d/m_anmtexpat.h"
|
||||
#include "m/m_mtx.h"
|
||||
#include "m/m_vec.h"
|
||||
#include "nw4r/g3d/res/g3d_resfile.h"
|
||||
#include "s/s_State.hpp"
|
||||
#include "toBeSorted/d_emitter.h"
|
||||
#include "toBeSorted/d_path.h"
|
||||
#include "toBeSorted/time_area_mgr.h"
|
||||
|
||||
class dTgKiesuTag_c;
|
||||
class dAcEKs_c : public dAcEnBase_c {
|
||||
public:
|
||||
dAcEKs_c() : mStateMgr(*this) {}
|
||||
virtual ~dAcEKs_c() {}
|
||||
|
||||
virtual int doDelete() override;
|
||||
virtual int draw() override;
|
||||
virtual bool createHeap() override;
|
||||
virtual int actorCreate() override;
|
||||
virtual int actorPostCreate() override;
|
||||
virtual int actorExecute() override;
|
||||
virtual bool restorePosRotFromCopy() override;
|
||||
|
||||
STATE_FUNC_DECLARE(dAcEKs_c, Wait);
|
||||
STATE_FUNC_DECLARE(dAcEKs_c, WakeUp);
|
||||
STATE_FUNC_DECLARE(dAcEKs_c, ReturnToWait);
|
||||
@@ -24,8 +45,266 @@ public:
|
||||
STATE_FUNC_DECLARE(dAcEKs_c, WindBlow);
|
||||
STATE_FUNC_DECLARE(dAcEKs_c, PathMove);
|
||||
|
||||
STATE_MGR_DEFINE_UTIL_CHANGESTATE(dAcEKs_c);
|
||||
STATE_MGR_DEFINE_UTIL_ISSTATE(dAcEKs_c);
|
||||
|
||||
enum Type_e {
|
||||
EKS_NORMAL,
|
||||
EKS_FIRE,
|
||||
EKS_ELECTRIC,
|
||||
EKS_CURSED,
|
||||
};
|
||||
enum StartingStateParam_e {
|
||||
EKS_STARTSTATE_Move = 0,
|
||||
EKS_STARTSTATE_Wait = 1,
|
||||
EKS_STARTSTATE_PathMove = 2,
|
||||
};
|
||||
enum State_e {
|
||||
EKS_STATE_Move = 0,
|
||||
EKS_STATE_Wait = 1,
|
||||
EKS_STATE_PathMove = 2,
|
||||
EKS_STATE_WakeUp = 4,
|
||||
EKS_STATE_ReturnToWait = 5,
|
||||
EKS_STATE_Chase = 6,
|
||||
EKS_STATE_ChaseAttack = 7,
|
||||
EKS_STATE_Fighting = 8,
|
||||
EKS_STATE_AttackReady = 9,
|
||||
EKS_STATE_Attack = 10,
|
||||
EKS_STATE_Damage = 11,
|
||||
EKS_STATE_Stun = 12,
|
||||
EKS_STATE_WindBlow = 13,
|
||||
};
|
||||
enum AnmTexPat_e {
|
||||
EKS_TEXPAT_BLINK1,
|
||||
EKS_TEXPAT_BLINK2,
|
||||
EKS_TEXPAT_BLINK3,
|
||||
};
|
||||
|
||||
public:
|
||||
void linkKiesuTag(dTgKiesuTag_c *pTgKs);
|
||||
void setStartingState();
|
||||
void setIdleState();
|
||||
|
||||
void fn_155_A60();
|
||||
|
||||
f32 getLineCrossYRange(const mVec3_c &pos, f32 range);
|
||||
|
||||
void kill(bool dropItem);
|
||||
void chaseTargetY(f32, f32);
|
||||
void playBlinkAnm();
|
||||
void soundSqueak();
|
||||
void soundStun();
|
||||
void fn_155_1430();
|
||||
|
||||
void fn_155_1470();
|
||||
|
||||
// Move impl?
|
||||
void fn_155_1C80();
|
||||
|
||||
/* 0 -> blink_1, 1 -> blink_2, 2 -> blink_3*/
|
||||
void setBlink(u8 blink);
|
||||
void setBlinkChecked(u8 blink);
|
||||
|
||||
void fn_155_2270();
|
||||
/* p1 = 0 -> just LineCross return check, 1 -> increment field_0xDCB till 10 then return check*/
|
||||
bool fn_155_29D0(s32 p1);
|
||||
bool fn_155_2B80(bool b, s32 p1);
|
||||
bool fn_155_2D60(bool b, s32 p1);
|
||||
bool fn_155_2EA0();
|
||||
bool isOutsideRange();
|
||||
bool isNotWaitingNorDamage();
|
||||
bool isTargeted();
|
||||
bool checkWallCross();
|
||||
void adjustTargetGnd();
|
||||
void adjustTargetRoof();
|
||||
bool ChkHit();
|
||||
void fn_155_3460();
|
||||
void fn_155_3480();
|
||||
bool transitionToNextState();
|
||||
void setAnim(char *, f32, f32, f32);
|
||||
void fn_155_3720(f32, f32);
|
||||
void fn_155_3750(u8 state);
|
||||
void fn_155_37A0();
|
||||
void fn_155_37F0();
|
||||
void fn_155_3840();
|
||||
void fn_155_3890();
|
||||
void on_lbl_155_bss_389();
|
||||
/* 0: Checks states to set AC_PROP_0x1 - 1: Unset AC_PROP_0x1*/
|
||||
void fn_155_3900(s32 p0);
|
||||
void setPitchYawToPoint(const mVec3_c &pnt);
|
||||
void fn_155_3BD0(const mVec3_c &);
|
||||
void fn_155_3BE0(const mVec3_c &);
|
||||
void clampRotationX();
|
||||
bool checkPathPntParam(u32 param);
|
||||
void fn_155_3E30();
|
||||
void fn_155_3E90();
|
||||
void fn_155_3EC0();
|
||||
|
||||
/* Some Timestone Check */
|
||||
bool fn_155_3EF0();
|
||||
|
||||
void fn_155_3F50();
|
||||
|
||||
private:
|
||||
/* 0x??? */ STATE_MGR_DECLARE(dAcEKs_c);
|
||||
/* 0x378 */ dAcRef_c<dTgKiesuTag_c> mTgRef;
|
||||
/* 0x384 */ nw4r::g3d::ResFile mResFile;
|
||||
/* 0x388 */ d3d::AnmMdlWrapper mMdl;
|
||||
/* 0x3F8 */ m3d::anmTexPat_c mAnmTexPat;
|
||||
/* 0x324 */ dShadowCircle_c mShadow;
|
||||
/* 0x42C */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x488 */ dBgS_ObjAcch mAcch;
|
||||
/* 0x838 */ dCcD_Sph mSph;
|
||||
/* 0x988 */ STATE_MGR_DECLARE(dAcEKs_c);
|
||||
/* 0x9C4 */ dEmitter_c mEmitter1;
|
||||
/* 0x9F8 */ dEmitter_c mEmitter2;
|
||||
/* 0xA2C */ dWaterEffect_c mWaterEmitter;
|
||||
/* 0xA74 */ ActorOnRail_Ext mRail;
|
||||
/* 0xAA8 */ TimeAreaStruct mTimeArea;
|
||||
/* 0xAB4 */ mMtx_c mCenterWorldMtx;
|
||||
/* 0xAE4 */ mMtx_c field_0xAE4;
|
||||
/* 0xB14 */ mVec3_c mPnts[10];
|
||||
/* 0xB8C */ mVec3_c field_0xB8C;
|
||||
/* 0xB98 */ mVec3_c field_0xB98;
|
||||
/* 0xBA4 */ mVec3_c field_0xBA4;
|
||||
/* 0xBB0 */ mVec3_c mTargetPos;
|
||||
/* 0xBBC */ mVec3_c field_0xBBC;
|
||||
/* 0xBC8 */ mVec3_c field_0xBC8;
|
||||
/* 0xBD4 */ mVec3_c field_0xBD4;
|
||||
/* 0xBE0 */ mVec3_c field_0xBE0;
|
||||
/* 0xBEC */ mVec3_c field_0xBEC;
|
||||
/* 0xBF8 */ mVec3_c field_0xBF8;
|
||||
/* 0xC04 */ mVec3_c field_0xC04;
|
||||
/* 0xC10 */ mVec3_c field_0xC10;
|
||||
/* 0xC1C */ mVec3_c field_0xC1C;
|
||||
/* 0xC28 */ mVec3_c field_0xC28;
|
||||
/* 0xC34 */ mAng mPitch_0xC34;
|
||||
/* 0xC36 */ mAng mYaw_0xC36;
|
||||
/* 0xC38 */ u8 _0xC38[0xC3C - 0xC38];
|
||||
/* 0xC3C */ f32 field_0xC3C;
|
||||
/* 0xC40 */ f32 field_0xC40;
|
||||
/* 0xC44 */ f32 field_0xC44;
|
||||
/* 0xC48 */ f32 field_0xC48;
|
||||
/* 0xC4C */ u8 _0xC4C[0xC70 - 0xC4C];
|
||||
/* 0xC70 */ f32 field_0xC70;
|
||||
/* 0xC74 */ u8 _0xC74[0xC90 - 0xC74];
|
||||
/* 0xC90 */ f32 field_0xC90;
|
||||
/* 0xC94 */ u8 _0xC94[0xCE0 - 0xC94];
|
||||
/* 0xCE0 */ f32 field_0xCE0;
|
||||
/* 0xCE4 */ f32 field_0xCE4;
|
||||
/* 0xCE8 */ u8 _0xCE8[0xCF8 - 0xCE8];
|
||||
/* 0xCF8 */ f32 field_0xCF8;
|
||||
/* 0xCFC */ f32 field_0xCFC;
|
||||
/* 0xD00 */ f32 field_0xD00;
|
||||
/* 0xD04 */ f32 field_0xD04;
|
||||
/* 0xD08 */ f32 field_0xD08;
|
||||
/* 0xD0C */ f32 field_0xD0C;
|
||||
/* 0xD10 */ f32 field_0xD10;
|
||||
/* 0xD14 */ f32 field_0xD14;
|
||||
/* 0xD18 */ f32 field_0xD18;
|
||||
/* 0xD1C */ f32 field_0xD1C;
|
||||
/* 0xD20 */ f32 field_0xD20;
|
||||
/* 0xD24 */ f32 field_0xD24;
|
||||
/* 0xD28 */ f32 field_0xD28;
|
||||
/* 0xD2C */ u32 mCenterNode;
|
||||
/* 0xD30 */ u8 field_0xD30;
|
||||
/* 0xD31 */ u8 field_0xD31;
|
||||
/* 0xD32 */ u16 mTimer;
|
||||
/* 0xD34 */ u8 _0xD34[0xD4A - 0xD34];
|
||||
/* 0xD4A */ s16 field_0xD4A;
|
||||
/* 0xD4C */ s16 field_0xD4C;
|
||||
/* 0xD4E */ s16 field_0xD4E;
|
||||
/* 0xD50 */ s16 field_0xD50;
|
||||
/* 0xD52 */ s16 field_0xD52;
|
||||
/* 0xD54 */ s16 field_0xD54;
|
||||
/* 0xD56 */ s16 field_0xD56;
|
||||
/* 0xD58 */ s16 field_0xD58;
|
||||
/* 0xD5A */ s16 field_0xD5A;
|
||||
/* 0xD5C */ s16 field_0xD5C;
|
||||
/* 0xD5E */ s16 field_0xD5E;
|
||||
/* 0xD60 */ s16 field_0xD60;
|
||||
/* 0xD62 */ s16 field_0xD62;
|
||||
/* 0xD64 */ s16 field_0xD64;
|
||||
/* 0xD66 */ s16 field_0xD66;
|
||||
/* 0xD68 */ s16 field_0xD68;
|
||||
/* 0xD6A */ s16 field_0xD6A;
|
||||
/* 0xD6C */ s16 field_0xD6C;
|
||||
/* 0xD6E */ s16 field_0xD6E;
|
||||
/* 0xD70 */ s16 field_0xD70;
|
||||
/* 0xD72 */ s16 field_0xD72;
|
||||
/* 0xD74 */ s16 field_0xD74;
|
||||
/* 0xD76 */ s16 field_0xD76;
|
||||
/* 0xD78 */ s16 mBlinkTimer;
|
||||
/* 0xD7A */ u16 field_0xD7A;
|
||||
/* 0xD7C */ s16 field_0xD7C;
|
||||
/* 0xD7E */ s16 mSqueakSoundTimer;
|
||||
/* 0xD80 */ s16 mStunSoundTimer;
|
||||
/* 0xD82 */ s16 field_0xD82;
|
||||
/* 0xD84 */ s16 field_0xD84;
|
||||
/* 0xD86 */ s16 field_0xD86;
|
||||
/* 0xD88 */ s16 field_0xD88;
|
||||
/* 0xD8A */ s16 field_0xD8A;
|
||||
/* 0xD8C */ s16 field_0xD8C;
|
||||
/* 0xD8E */ u16 field_0xD8E;
|
||||
/* 0xD90 */ s16 field_0xD90;
|
||||
/* 0xD92 */ s16 field_0xD92;
|
||||
/* 0xD94 */ s16 field_0xD94;
|
||||
/* 0xD96 */ s16 field_0xD96;
|
||||
/* 0xD98 */ s16 field_0xD98;
|
||||
/* 0xD9A */ s16 field_0xD9A;
|
||||
/* 0xD9C */ s16 field_0xD9C;
|
||||
/* 0xD9E */ s16 field_0xD9E;
|
||||
/* 0xDA0 */ s16 field_0xDA0;
|
||||
/* 0xDA2 */ s16 field_0xDA2;
|
||||
/* 0xDA4 */ u8 field_0xDA4;
|
||||
/* 0xDA5 */ u8 field_0xDA5;
|
||||
/* 0xDA6 */ u8 field_0xDA6;
|
||||
/* 0xDA7 */ u8 field_0xDA7;
|
||||
/* 0xDA8 */ u8 field_0xDA8;
|
||||
/* 0xDA9 */ u8 field_0xDA9;
|
||||
/* 0xDAA */ u8 field_0xDAA;
|
||||
/* 0xDAB */ u8 field_0xDAB;
|
||||
/* 0xDAC */ u8 field_0xDAC;
|
||||
/* 0xDAD */ u8 field_0xDAD;
|
||||
/* 0xDAE */ u8 field_0xDAE;
|
||||
/* 0xDAF */ u8 field_0xDAF;
|
||||
/* 0xDB0 */ u8 field_0xDB0;
|
||||
/* 0xDB1 */ u8 field_0xDB1;
|
||||
/* 0xDB2 */ u8 field_0xDB2;
|
||||
/* 0xDB3 */ u8 field_0xDB3;
|
||||
/* 0xDB4 */ u8 field_0xDB4;
|
||||
/* 0xDB5 */ u8 field_0xDB5;
|
||||
/* 0xDB6 */ u8 field_0xDB6;
|
||||
/* 0xDB7 */ u8 field_0xDB7;
|
||||
/* 0xDB8 */ u8 field_0xDB8;
|
||||
/* 0xDB9 */ u8 field_0xDB9;
|
||||
/* 0xDBA */ u8 field_0xDBA;
|
||||
/* 0xDBB */ u8 field_0xDBB;
|
||||
/* 0xDBC */ u8 mType;
|
||||
/* 0xDBD */ u8 field_0xDBD;
|
||||
/* 0xDBE */ u8 field_0xDBE;
|
||||
/* 0xDBF */ u8 field_0xDBF;
|
||||
/* 0xDC0 */ u8 mCurrentAnmTexPat; // blink
|
||||
/* 0xDC1 */ u8 field_0xDC1;
|
||||
/* 0xDC2 */ u8 mCurrentState;
|
||||
/* 0xDC3 */ u8 mNextState;
|
||||
/* 0xDC4 */ u8 field_0xDC4;
|
||||
/* 0xDC5 */ u8 field_0xDC5;
|
||||
/* 0xDC6 */ u8 field_0xDC6;
|
||||
/* 0xDC7 */ u8 mStartingState;
|
||||
/* 0xDC8 */ u8 field_0xDC8;
|
||||
/* 0xDC9 */ u8 field_0xDC9;
|
||||
/* 0xDCA */ u8 field_0xDCA;
|
||||
/* 0xDCB */ u8 field_0xDCB;
|
||||
/* 0xDCC */ u8 field_0xDCC;
|
||||
/* 0xDCD */ u8 field_0xDCD;
|
||||
/* 0xDCE */ u8 field_0xDCE;
|
||||
/* 0xDCF */ u8 field_0xDCF;
|
||||
/* 0xDD0 */ u8 field_0xDD0;
|
||||
/* 0xDD4 */ LIGHT_INFLUENCE mLightInfluence;
|
||||
|
||||
// Controlled by dTgKiesuTag_c
|
||||
static bool lbl_155_bss_388;
|
||||
static bool lbl_155_bss_389;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -51,12 +51,14 @@ public:
|
||||
/* 0x33C */ u32 mInteractionFlags;
|
||||
/* 0x340 */ u16 field_0x338;
|
||||
/* 0x342 */ u16 mHealth;
|
||||
/* 0x344 */ u8 _344[0x358 - 0x344];
|
||||
/* 0x344 */ u8 _0x344[0x346 - 0x344];
|
||||
/* 0x346 */ u8 field_0x346;
|
||||
/* 0x347 */ u8 _0x347[0x358 - 0x347];
|
||||
/* 0x358 */ mVec3_c mFinalBlowPosition;
|
||||
/* 0x364 */ u8 _364[0x374 - 0x364];
|
||||
/* 0x364 */ u8 _0x364[0x374 - 0x364];
|
||||
/* 0x374 */ dAcEnData *mpEnemyData;
|
||||
|
||||
bool checkInteractionFlags(u32 mask) {
|
||||
bool checkInteractionFlags(u32 mask) const {
|
||||
return mInteractionFlags & mask;
|
||||
}
|
||||
void setInteractionFlags(u32 flag) {
|
||||
@@ -65,9 +67,15 @@ public:
|
||||
void resetInteractionFlags(u32 flag) {
|
||||
mInteractionFlags &= ~flag;
|
||||
}
|
||||
void setFinalBlowPosition(const mVec3_c &v) {
|
||||
mFinalBlowPosition = v;
|
||||
}
|
||||
|
||||
dAcBomb_c *getBombWithinRadius(f32 radius); // fn_8002f700
|
||||
|
||||
void playDeathEffect0(const mVec3_c &pos, const mVec3_c *pScale, bool skipKill);
|
||||
void playDeathEffect1(const mVec3_c &pos, const mVec3_c *pScale, bool skipKill);
|
||||
|
||||
// Deals with dealing damage to Enemy
|
||||
// Returns a value 0-13 (similar to mStts rank?)
|
||||
int fn_8002FDE0(cCcD_Obj &mCc, u16 *pTgOut);
|
||||
@@ -75,9 +83,10 @@ public:
|
||||
// Returns 0-3 based on collision
|
||||
int fn_800301b0(const mVec3_c &pos, mAng ang, bool, f32);
|
||||
void fn_80030400(m3d::mdl_c &, u8, bool, u8);
|
||||
void fn_800306d0();
|
||||
bool fn_80030570(m3d::mdl_c &, u8, f32); // lighting related
|
||||
void fn_800306D0();
|
||||
void fn_80030700();
|
||||
|
||||
dAcObjBase_c *targetPlayerOrScrapper(f32 biasToScrapper);
|
||||
static void fn_80030980(m3d::mdl_c &, s32, bool markDirty);
|
||||
|
||||
void fn_80030c20(u32 flags, f32, f32, f32, f32);
|
||||
|
||||
@@ -101,6 +101,9 @@ public:
|
||||
mVec3_c &getStartingPosition() {
|
||||
return mStartingPos;
|
||||
}
|
||||
const mVec3_c &getStartingPos() const {
|
||||
return mStartingPos;
|
||||
}
|
||||
void setStartingPosition(const mVec3_c &v) {
|
||||
mStartingPos = v;
|
||||
}
|
||||
|
||||
@@ -680,6 +680,10 @@ public:
|
||||
mSrc.mInfo.field_0x2 |= val;
|
||||
}
|
||||
|
||||
void Set_0x50(u32 val) {
|
||||
field_0x50 = val;
|
||||
}
|
||||
|
||||
public:
|
||||
/* 0x1C */ cCcD_SrcGObjTg mSrc;
|
||||
/* 0x2C */ mVec3_c mAtHitDir;
|
||||
@@ -809,7 +813,7 @@ public:
|
||||
bool ChkTgBit23() const;
|
||||
bool ChkTgBit24() const;
|
||||
bool ChkTgBit25() const;
|
||||
u16 GetTgSoundID() const;
|
||||
s32 GetTgSoundID() const;
|
||||
s16 GetTg_0x6A() const;
|
||||
bool ChkTgBit8() const;
|
||||
u8 GetTg_0x4A() const;
|
||||
@@ -1082,6 +1086,9 @@ public:
|
||||
void OnTgInfo_0x2(u16 val) {
|
||||
mTg.OnInfo_0x2(val);
|
||||
}
|
||||
void SetTg_0x50(u16 val) {
|
||||
mTg.Set_0x50(val);
|
||||
}
|
||||
void SetTg_0x40000000() {
|
||||
mTg.OnSPrm(0x40000000);
|
||||
}
|
||||
@@ -1108,9 +1115,18 @@ public:
|
||||
void ClrCo_0x400() {
|
||||
mCo.OffSPrm(0x400);
|
||||
}
|
||||
void OnCo_0x8000() {
|
||||
mCo.OnSPrm(0x8000);
|
||||
}
|
||||
void ClrCo_0x8000() {
|
||||
mCo.OffSPrm(0x8000);
|
||||
}
|
||||
void SetCo_0x400() {
|
||||
mCo.OnSPrm(0x400);
|
||||
}
|
||||
void SetCo_0x8000() {
|
||||
mCo.OnSPrm(0x8000);
|
||||
}
|
||||
void SetCo_0x40000000() {
|
||||
mCo.OnSPrm(0x40000000);
|
||||
}
|
||||
|
||||
@@ -250,7 +250,9 @@ public:
|
||||
/* vt 0x1BC */ virtual UNKWORD vt_0x1BC() {
|
||||
return 0;
|
||||
}
|
||||
/* vt 0x1C0 */ virtual void *vt_0x1C0() const {
|
||||
|
||||
// I believe this can only return the Beetle Actor in-flight (not on hand)
|
||||
/* vt 0x1C0 */ virtual dAcObjBase_c *getBeetleInFlight() const {
|
||||
return nullptr;
|
||||
}
|
||||
/* vt 0x1C4 */ virtual UNKWORD getActorInActorRef1() {
|
||||
@@ -648,8 +650,8 @@ public:
|
||||
return mSpecificAttackDirection;
|
||||
}
|
||||
|
||||
inline bool hasvt_0x1C0() const {
|
||||
return vt_0x1C0() != nullptr;
|
||||
inline bool isBeetleInFlight() const {
|
||||
return getBeetleInFlight() != nullptr;
|
||||
}
|
||||
|
||||
static s32 getCurrentSwordTypeInline() {
|
||||
|
||||
@@ -25,6 +25,8 @@ bool swapStockItems(s32 slot1, s32 slot2);
|
||||
|
||||
void sortStock();
|
||||
|
||||
bool tryDropItem(f32 chance);
|
||||
|
||||
#define ITEM_CHECK_SLOT_NONE 60
|
||||
|
||||
u16 itemCheckFindItemSlot(ITEM_ID item);
|
||||
|
||||
+102
-1
@@ -1,9 +1,16 @@
|
||||
#ifndef D_T_KS_H
|
||||
#define D_T_KS_H
|
||||
|
||||
#include "d/a/d_a_base.h"
|
||||
#include "d/t/d_tg.h"
|
||||
#include "m/m_angle.h"
|
||||
#include "m/m_mtx.h"
|
||||
#include "m/m_vec.h"
|
||||
#include "s/s_State.hpp"
|
||||
#include "toBeSorted/d_path.h"
|
||||
#include "toBeSorted/time_area_mgr.h"
|
||||
|
||||
class dAcEKs_c;
|
||||
class dTgKiesuTag_c : public dTg_c {
|
||||
public:
|
||||
dTgKiesuTag_c() : mStateMgr(*this) {}
|
||||
@@ -17,8 +24,102 @@ public:
|
||||
STATE_FUNC_DECLARE(dTgKiesuTag_c, ControlPathMove);
|
||||
STATE_FUNC_DECLARE(dTgKiesuTag_c, DoNothing);
|
||||
|
||||
/* fn_154_8B0 */
|
||||
mVec3_c &getSpawnKsPosition();
|
||||
|
||||
void incrementField_0x456() {
|
||||
field_0x456++;
|
||||
}
|
||||
|
||||
void setField_0x47A() {
|
||||
field_0x47A = true;
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x??? */ STATE_MGR_DECLARE(dTgKiesuTag_c);
|
||||
/* 0x0FC */ STATE_MGR_DECLARE(dTgKiesuTag_c);
|
||||
/* 0x138 */ dAcRef_c<dAcEKs_c> mKsRefs[16];
|
||||
/* 0x1F8 */ mMtx_c mAreaMtx;
|
||||
/* 0x228 */ ActorOnRail_Ext mRail;
|
||||
/* 0x25C */ TimeAreaStruct mTimeArea;
|
||||
/* 0x268 */ mMtx_c field_0x268;
|
||||
|
||||
/* 0x298 */ u8 _0x298[0x31C - 0x298];
|
||||
|
||||
/* 0x31C */ mVec3_c field_0x31C;
|
||||
/* 0x328 */ mVec3_c field_0x328;
|
||||
/* 0x334 */ mVec3_c field_0x334;
|
||||
/* 0x340 */ mVec3_c field_0x340;
|
||||
/* 0x34C */ mVec3_c field_0x34C;
|
||||
|
||||
/* 0x358 */ u8 _0x358[0x37C - 0x358];
|
||||
|
||||
/* 0x37C */ mVec3_c mTargetPosition;
|
||||
/* 0x388 */ mVec3_c mSpawnKsPosition;
|
||||
|
||||
/* 0x394 */ u8 _0x394[0x3A0 - 0x394];
|
||||
|
||||
/* 0x3A0 */ mAng3_c mSpawnKsAngle;
|
||||
/* 0x3A8 */ mAng3_c field_0x3A8;
|
||||
/* 0x3AC */ mAng field_0x3AC; // pitch
|
||||
/* 0x3AE */ mAng field_0x3AE; // yaw
|
||||
|
||||
/* 0x3B0 */ u8 _0x3B0[0x3B4 - 0x3B0];
|
||||
|
||||
/* 0x3B4 */ f32 field_0x3B4;
|
||||
/* 0x3B8 */ f32 field_0x3B8; // Y pos offset
|
||||
/* 0x3BC */ f32 field_0x3BC; // X/Z scale
|
||||
/* 0x3C0 */ f32 field_0x3C0; // Y scale
|
||||
|
||||
/* 0x3C4 */ u8 _0x3C4[0x3D8 - 0x3C4];
|
||||
|
||||
/* 0x3D8 */ f32 field_0x3D8; // Y scale
|
||||
/* 0x3DC */ f32 field_0x3DC; // X/Z scale
|
||||
|
||||
/* 0x3E0 */ u8 _0x3E0[0x3EC - 0x3E0];
|
||||
|
||||
/* 0x3EC */ mVec3_c field_0x3EC;
|
||||
|
||||
/* 0x3F8 */ u8 _0x3F8[0x448 - 0x3F8];
|
||||
|
||||
/* 0x448 */ s16 field_0x448;
|
||||
|
||||
// Related to Control?
|
||||
/* 0x44A */ s16 mNumKsControl;
|
||||
/* 0x44C */ s16 field_0x44C;
|
||||
/* 0x44E */ s16 field_0x44E;
|
||||
/* 0x450 */ s16 field_0x450;
|
||||
|
||||
// Related to ControlFighting?
|
||||
/* 0x452 */ s16 field_0x452;
|
||||
/* 0x454 */ s16 field_0x454;
|
||||
/* 0x456 */ s16 field_0x456;
|
||||
/* 0x458 */ s16 field_0x458;
|
||||
/* 0x45A */ s16 field_0x45A;
|
||||
/* 0x45C */ s16 field_0x45C;
|
||||
/* 0x45E */ s16 field_0x45E;
|
||||
|
||||
/* 0x460 */ s16 field_0x460;
|
||||
/* 0x462 */ s16 mMaxKsToLink;
|
||||
|
||||
/* 0x464 */ u8 _0x464[0x468 - 0x464];
|
||||
|
||||
/* 0x468 */ s16 field_0x468;
|
||||
/* 0x46A */ s16 field_0x46A;
|
||||
/* 0x46C */ s16 mNumKsAlive;
|
||||
/* 0x46E */ s16 field435_0x46e;
|
||||
|
||||
/* 0x470 */ u8 _0x470[0x474 - 0x470];
|
||||
|
||||
/* 0x474 */ bool field_0x474;
|
||||
|
||||
/* 0x475 */ u8 _0x475[0x47A - 0x475];
|
||||
|
||||
/* 0x47A */ bool field_0x47A;
|
||||
/* 0x47E */ bool mbAllKsActive;
|
||||
|
||||
/* 0x48A */ u8 field_0x48A; // Related to getting spawnPos/ Type?
|
||||
|
||||
/* 0x48E */ u8 mNumKsActive;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -92,6 +92,9 @@ public:
|
||||
u32 getFromParams(u8 shift, u32 mask) {
|
||||
return (mParams >> shift) & mask;
|
||||
}
|
||||
f32 getFromParams(u8 shift, u32 mask, f32 scale) {
|
||||
return ((mParams >> shift) & mask) * scale;
|
||||
}
|
||||
|
||||
public:
|
||||
fBase_c();
|
||||
|
||||
+20
-14
@@ -59,6 +59,11 @@ public:
|
||||
return mpPathPtr->pointCount;
|
||||
}
|
||||
|
||||
s32 getLastPointIdx() const {
|
||||
s32 pnt = getNumPoints() - 1;
|
||||
return pnt >= 0 ? pnt : 0;
|
||||
}
|
||||
|
||||
bool initWithPathId(s32 pathId, s32 roomId, bool pathSubtype);
|
||||
bool initWithPathIndex(s32 pathIndex, s32 roomId, bool pathSubtype);
|
||||
|
||||
@@ -118,18 +123,6 @@ public:
|
||||
return mSegmentTime;
|
||||
}
|
||||
|
||||
bool CheckFlag(u32 flag) const {
|
||||
return (mFlags & flag) != 0;
|
||||
}
|
||||
|
||||
void ClearFlag(u32 flag) {
|
||||
mFlags &= ~flag;
|
||||
}
|
||||
|
||||
void SetFlag(u32 flag) {
|
||||
mFlags |= flag;
|
||||
}
|
||||
|
||||
const mVec3_c &getPosition() const {
|
||||
return mPosition;
|
||||
}
|
||||
@@ -138,22 +131,35 @@ public:
|
||||
mSpeed = speed;
|
||||
}
|
||||
|
||||
f32 getSpeed() const {
|
||||
return mSpeed;
|
||||
}
|
||||
|
||||
void getDirection(mVec3_c &result) {
|
||||
mPath.getDirection(mSegmentIndex, mSegmentTime, result);
|
||||
}
|
||||
|
||||
const mVec3_c *getPoint(s32 idx) const {
|
||||
return reinterpret_cast<const mVec3_c *>(mPath.getPoint(idx));
|
||||
}
|
||||
|
||||
bool checkFlag(u32 flags) const {
|
||||
return (mFlags & flags) != 0;
|
||||
}
|
||||
|
||||
void offFlag(u32 flags) {
|
||||
void unsetFlag(u32 flags) {
|
||||
mFlags &= ~flags;
|
||||
}
|
||||
|
||||
void onFlag(u32 flags) {
|
||||
void setFlag(u32 flags) {
|
||||
mFlags |= flags;
|
||||
}
|
||||
|
||||
const dPath_c &getPath() const {
|
||||
return mPath;
|
||||
}
|
||||
s32 getNextPointIndex2() const;
|
||||
|
||||
private:
|
||||
s32 getNextPointIndex(s32 point) const;
|
||||
s32 getNextPointIndex() const;
|
||||
|
||||
+3123
-39
File diff suppressed because it is too large
Load Diff
@@ -1999,8 +1999,7 @@ bool dAcEremly_c::calcHeadRotation(bool lookAtTarget, const mAng &range) {
|
||||
|
||||
mVec3_c outpos;
|
||||
if (!dLightEnv_c::GetPInstance()->check_BPM8(&mPosition, &outpos)) {
|
||||
// TODO - Return type pPlayer->vt_0x1C0()
|
||||
dAcBase_c *pActor = static_cast<dAcBase_c *>(pPlayer->vt_0x1C0());
|
||||
dAcObjBase_c *pActor = pPlayer->getBeetleInFlight();
|
||||
if (pActor) {
|
||||
field_0xA50.set(pActor->mPosition);
|
||||
field_0xB56 = 30;
|
||||
|
||||
@@ -285,7 +285,7 @@ int dAcEsm_c::actorPostCreate() {
|
||||
} else {
|
||||
mTimeArea.setField0x00(0.f);
|
||||
field_0xB8C = 0.f;
|
||||
fn_800306d0();
|
||||
fn_800306D0();
|
||||
}
|
||||
} break;
|
||||
case 2: {
|
||||
@@ -293,7 +293,7 @@ int dAcEsm_c::actorPostCreate() {
|
||||
if (dTimeAreaMgr_c::GetInstance()->fn_800B9B60(getRoomId(), getPosition())) {
|
||||
field_0xB8C = 0.f;
|
||||
mTimeArea.setField0x00(0.f);
|
||||
fn_800306d0();
|
||||
fn_800306D0();
|
||||
} else {
|
||||
field_0xB8C = 1.f;
|
||||
mTimeArea.setField0x00(1.f);
|
||||
@@ -309,7 +309,7 @@ int dAcEsm_c::actorPostCreate() {
|
||||
|
||||
if (field_0xBBF == 1 || field_0xBBF == 3) {
|
||||
unsetActorProperty(AC_PROP_0x1);
|
||||
fn_800306d0();
|
||||
fn_800306D0();
|
||||
setBattleBgmRelated(0);
|
||||
}
|
||||
|
||||
@@ -370,7 +370,7 @@ int dAcEsm_c::actorExecute() {
|
||||
if (timeCheck != 0) {
|
||||
if (field_0xBBF == 3) {
|
||||
if (checkInteractionFlags(INTERACT_0x4)) {
|
||||
fn_800306d0();
|
||||
fn_800306D0();
|
||||
}
|
||||
return SUCCEEDED;
|
||||
}
|
||||
@@ -392,7 +392,7 @@ int dAcEsm_c::actorExecute() {
|
||||
|
||||
if (timeCheck > 0) {
|
||||
startSound(SE_TIMESLIP_TIMESLIP);
|
||||
fn_800306d0();
|
||||
fn_800306D0();
|
||||
} else {
|
||||
startSound(SE_TIMESLIP_TIMESLIP_REV);
|
||||
fn_80030700();
|
||||
@@ -401,7 +401,7 @@ int dAcEsm_c::actorExecute() {
|
||||
|
||||
if (field_0xBBF == 3 && mTimeArea.isNearZero()) {
|
||||
if (checkInteractionFlags(INTERACT_0x4)) {
|
||||
fn_800306d0();
|
||||
fn_800306D0();
|
||||
}
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
@@ -285,10 +285,10 @@ void dAcODungeonShip_c::executeState_Transparency() {
|
||||
if (isWithinDist1 && field_0x868 == 0 && field_0x862 == 0 && tmp2) {
|
||||
if (field_0x856 > 0) {
|
||||
field_0x856 = 0xFF;
|
||||
mPath.SetFlag(0x40000000);
|
||||
mPath.setFlag(0x40000000);
|
||||
} else {
|
||||
field_0x856 = 1;
|
||||
mPath.ClearFlag(0x40000000);
|
||||
mPath.unsetFlag(0x40000000);
|
||||
}
|
||||
|
||||
u16 idx = fn_485_1900();
|
||||
@@ -302,7 +302,7 @@ void dAcODungeonShip_c::executeState_Transparency() {
|
||||
field_0x858 = 50.0f;
|
||||
}
|
||||
|
||||
if (mPath.CheckFlag(0x40000000) && field_0x858 > 0.0f) {
|
||||
if (mPath.checkFlag(0x40000000) && field_0x858 > 0.0f) {
|
||||
field_0x858 *= -1;
|
||||
}
|
||||
}
|
||||
@@ -433,26 +433,22 @@ void dAcODungeonShip_c::fn_485_1660() {
|
||||
}
|
||||
}
|
||||
|
||||
static u32 rot_7fff = 0x7FFF;
|
||||
static u32 rot_4000 = 0x4000;
|
||||
|
||||
void dAcODungeonShip_c::fn_485_1720() {
|
||||
mPath.setSpeed(mSpeed);
|
||||
mPath.execute();
|
||||
// TODO
|
||||
mPosition = mPath.getPosition();
|
||||
|
||||
mVec3_c tmp;
|
||||
mPath.getDirection(tmp);
|
||||
mRotation.y = cM::atan2s(tmp.x, tmp.z);
|
||||
if (mPath.CheckFlag(0x40000000)) {
|
||||
mRotation.y += rot_7fff;
|
||||
if (mPath.checkFlag(0x40000000)) {
|
||||
mRotation.y += 0x7FFF;
|
||||
}
|
||||
mRotation.y += rot_4000;
|
||||
mRotation.y += 0x4000;
|
||||
mAngle.y = mRotation.y;
|
||||
|
||||
int factor = 0x12C;
|
||||
f32 tmp2 = nw4r::math::SinIdx((field_0x850 * 800));
|
||||
f32 tmp2 = nw4r::math::SinIdx(field_0x850 * 800);
|
||||
tmp2 *= factor;
|
||||
field_0x84C = tmp2;
|
||||
}
|
||||
@@ -460,7 +456,7 @@ void dAcODungeonShip_c::fn_485_1720() {
|
||||
bool dAcODungeonShip_c::fn_485_1830(s32 pathSegmentIndex, s32 direction, s32 *out) {}
|
||||
|
||||
u16 dAcODungeonShip_c::fn_485_1900() {
|
||||
s32 sign = mPath.CheckFlag(0x40000000) ? -1 : 1;
|
||||
s32 sign = mPath.checkFlag(0x40000000) ? -1 : 1;
|
||||
s32 result;
|
||||
if (fn_485_1830(mPath.getSegmentIndex(), sign, &result)) {
|
||||
return result;
|
||||
|
||||
@@ -56,7 +56,7 @@ int dTgBeetle_c::actorExecute() {
|
||||
if (!SceneflagManager::sInstance->checkBoolFlag(mRoomID, mBeetleFlag) || mActorSubtype) {
|
||||
dAcBoomerang_c *beetlePtr =
|
||||
(dAcBoomerang_c *)dAcPy_c::GetLink()
|
||||
->vt_0x1C0(); // boomerang pointer cast required because function currently returns void*
|
||||
->getBeetleInFlight(); // boomerang pointer cast required because function currently returns void*
|
||||
|
||||
if (mZoneShape == RectangularPrismShape) { // rectangular prism
|
||||
if (beetlePtr && checkAreaBox(mMatrix1, beetlePtr->mPosition)) {
|
||||
|
||||
@@ -445,15 +445,13 @@ extern const UnkFloat f2(1.0f);
|
||||
SPECIAL_ACTOR_PROFILE(ITEM, dAcItem_c, fProfile::ITEM, 0x2B, 0, 2);
|
||||
|
||||
const dAcItem_c::sStaticPtmf dAcItem_c::sStaticPtmfs1[] = {
|
||||
&dAcItem_c::fn_80248020, nullptr,
|
||||
&dAcItem_c::fn_80248010, nullptr,
|
||||
&dAcItem_c::fn_80255B30, &dAcItem_c::fn_80255BA0,
|
||||
&dAcItem_c::fn_80248020, nullptr, &dAcItem_c::fn_80248010, nullptr, &dAcItem_c::fn_80255B30,
|
||||
&dAcItem_c::fn_80255BA0,
|
||||
};
|
||||
|
||||
const dAcItem_c::sStaticPtmf dAcItem_c::sStaticPtmfs2[] = {
|
||||
&dAcItem_c::fn_80248040, nullptr,
|
||||
&dAcItem_c::fn_80248030, nullptr,
|
||||
&dAcItem_c::fn_80255BD0, &dAcItem_c::fn_80255C40,
|
||||
&dAcItem_c::fn_80248040, nullptr, &dAcItem_c::fn_80248030, nullptr, &dAcItem_c::fn_80255BD0,
|
||||
&dAcItem_c::fn_80255C40,
|
||||
};
|
||||
|
||||
fLiMgBa_c dAcItem_c::sItemList;
|
||||
@@ -1429,7 +1427,7 @@ void dAcItem_c::executeState_Wait() {
|
||||
if (fn_802574A0() && !tgBit1) {
|
||||
// TODO weird double load of link
|
||||
link = dAcPy_c::GetLinkM();
|
||||
if (!link->vt_0x1C0()) {
|
||||
if (!link->getBeetleInFlight()) {
|
||||
addToGetQueue();
|
||||
|
||||
if ((link->ifHasHealthAndSomethingElse() && this == sItemListHead.get() &&
|
||||
@@ -1752,7 +1750,7 @@ void dAcItem_c::executeState_Carry() {
|
||||
if (fn_802574A0()) {
|
||||
// TODO weird double load
|
||||
dAcPy_c *link = dAcPy_c::GetLinkM();
|
||||
if (!link->vt_0x1C0()) {
|
||||
if (!link->getBeetleInFlight()) {
|
||||
addToGetQueue();
|
||||
if (link->ifHasHealthAndSomethingElse() && this == sItemListHead.get() &&
|
||||
FileManager::sInstance->getCurrentHealth() != 0) {
|
||||
@@ -1816,7 +1814,7 @@ void dAcItem_c::executeState_GetBeetle() {
|
||||
if (link == nullptr) {
|
||||
return;
|
||||
}
|
||||
dAcBoomerang_c *beetlePtr = (dAcBoomerang_c *)link->vt_0x1C0();
|
||||
dAcBoomerang_c *beetlePtr = (dAcBoomerang_c *)link->getBeetleInFlight();
|
||||
if (beetlePtr == nullptr) {
|
||||
if (link->ifHasHealthAndSomethingElse() && this == sItemListHead.get() &&
|
||||
FileManager::sInstance->getCurrentHealth() != 0) {
|
||||
|
||||
@@ -486,7 +486,7 @@ bool cCcD_Obj::ChkTgBit25() const {
|
||||
return mTg.MskAtHitSPrm(0x2000000);
|
||||
}
|
||||
|
||||
u16 cCcD_Obj::GetTgSoundID() const {
|
||||
s32 cCcD_Obj::GetTgSoundID() const {
|
||||
return mTg.mAtHitSrc.field_0x10;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -225,7 +225,7 @@ void beginPad_BR() {
|
||||
if ((dCsGame_c::GetInstance() != nullptr && dCsGame_c::GetInstance()->shouldDraw() && !ex.field_0x22D0) ||
|
||||
(dAcPy_c::GetLink() != nullptr &&
|
||||
dAcPy_c::GetLink()->checkActionFlagsCont(0x400 | 0x100 | 0x80 | 0x40 | 0x10 | 0x4 | 0x2 | 0x1) &&
|
||||
!dAcPy_c::GetLink()->vt_0x1C0() && !dLytMeter_c::GetMain()->getField_0x1377F()) ||
|
||||
!dAcPy_c::GetLink()->getBeetleInFlight() && !dLytMeter_c::GetMain()->getField_0x1377F()) ||
|
||||
ex.field_0x22CF) {
|
||||
if (dLytControlGame_c::getInstance() && dLytControlGame_c::getInstance()->isStateNormal()) {
|
||||
if (!(dPadManager_c::GetInstance() && dPadManager_c::GetInstance()->getField_0x25())) {
|
||||
|
||||
@@ -1179,8 +1179,9 @@ void dLytMeterMain_c::checkPaneVisibility() {
|
||||
|
||||
|| (MinigameManager::isInMinigameState(MinigameManager::TRIAL_TIME_ATTACK) &&
|
||||
LytDoButtonRelated::get(LytDoButtonRelated::DO_BUTTON_B) == LytDoButtonRelated::ACT_IE_NONE) ||
|
||||
(dLytMeter_c::getField_0x13B66() || (shouldBeHiddenGeneral() && !mItemSelect.fn_800F02F0() && !isDoingSkyKeepPuzzle()) ||
|
||||
isInModeMap() || isInModePause())) {
|
||||
(dLytMeter_c::getField_0x13B66() ||
|
||||
(shouldBeHiddenGeneral() && !mItemSelect.fn_800F02F0() && !isDoingSkyKeepPuzzle()) || isInModeMap() ||
|
||||
isInModePause())) {
|
||||
mPanesVisible[METER_ANIM_ITEM_SELECT] = false;
|
||||
}
|
||||
|
||||
@@ -1278,7 +1279,8 @@ void dLytMeterMain_c::checkPaneVisibility() {
|
||||
MinigameManager::isInMinigameState(MinigameManager::TRIAL_TIME_ATTACK) ||
|
||||
MinigameManager::isInMinigameState(MinigameManager::PUMPKIN_ARCHERY) ||
|
||||
MinigameManager::isInMinigameState(MinigameManager::SPIRAL_CHARGE_TUTORIAL) ||
|
||||
MinigameManager::isInMinigameState(MinigameManager::ROLLERCOASTER) || shouldBeHiddenGeneral() || mIsInSwordDrawEvent)
|
||||
MinigameManager::isInMinigameState(MinigameManager::ROLLERCOASTER) || shouldBeHiddenGeneral() ||
|
||||
mIsInSwordDrawEvent)
|
||||
|
||||
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() ||
|
||||
(dLytSimpleWindow_c::getInstance() != nullptr && dLytSimpleWindow_c::getInstance()->isOutputText()) ||
|
||||
@@ -1352,7 +1354,7 @@ void dLytMeterMain_c::checkPaneVisibility() {
|
||||
}
|
||||
}
|
||||
|
||||
if ((dAcPy_c::GetLink()->hasvt_0x1C0() || dAcPy_c::GetLink()->checkActionFlagsCont(0x10) ||
|
||||
if ((dAcPy_c::GetLink()->isBeetleInFlight() || dAcPy_c::GetLink()->checkActionFlagsCont(0x10) ||
|
||||
(shouldBeHiddenGeneral() && !mHelpOpen) || mGanbariGauge.fn_80104760() ||
|
||||
|
||||
MinigameManager::isInMinigameState(MinigameManager::FUN_FUN_ISLAND) ||
|
||||
@@ -1490,7 +1492,8 @@ void dLytMeterMain_c::checkPaneVisibility() {
|
||||
if (!field_0x137B2 || dLytAreaCaption_c::getVisible() || fn_800D5380(false) ||
|
||||
MinigameManager::isInAnyMinigame() || mIsInSwordDrawEvent
|
||||
|
||||
|| shouldBeHiddenGeneral() || dLytMeter_c::getField_0x13B66() || fn_800D5420() || isInModeMap() || isInModePause()) {
|
||||
|| shouldBeHiddenGeneral() || dLytMeter_c::getField_0x13B66() || fn_800D5420() || isInModeMap() ||
|
||||
isInModePause()) {
|
||||
mDrinkVisible = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -600,7 +600,7 @@ bool dLytMeterGanbariGauge_c::execute() {
|
||||
mAnm[GANBARI_ANIM_DRINK].setFrame(drinkFrame);
|
||||
mAnm[GANBARI_ANIM_DRINK].setAnimEnable(true);
|
||||
|
||||
if (!EventManager::isInEvent() && !dAcPy_c::GetLink()->hasvt_0x1C0() &&
|
||||
if (!EventManager::isInEvent() && !dAcPy_c::GetLink()->isBeetleInFlight() &&
|
||||
!dAcPy_c::GetLink()->checkActionFlagsCont(0x10) &&
|
||||
(d3d::isOnScreen(dAcPy_c::GetLink()->mPositionCopy3) || fn_80104710(false) || isCrawling()) &&
|
||||
*mStateMgrWheel.getStateID() != StateID_Full && *mStateMgrMain.getStateID() == StateID_InvisibleWait &&
|
||||
@@ -609,7 +609,7 @@ bool dLytMeterGanbariGauge_c::execute() {
|
||||
} else if (!EventManager::isInEvent() && *mStateMgrWheel.getStateID() == StateID_Full &&
|
||||
*mStateMgrWheel.getOldStateID() != StateID_Full && *mStateMgrMain.getStateID() == StateID_Wait) {
|
||||
mStateMgrMain.changeState(StateID_OutWait);
|
||||
} else if ((EventManager::isInEvent() || dAcPy_c::GetLink()->hasvt_0x1C0() ||
|
||||
} else if ((EventManager::isInEvent() || dAcPy_c::GetLink()->isBeetleInFlight() ||
|
||||
dAcPy_c::GetLink()->checkActionFlagsCont(0x10) ||
|
||||
(!d3d::isOnScreen(dAcPy_c::GetLink()->mPositionCopy3) && !fn_80104710(false) && !isCrawling())) &&
|
||||
*mStateMgrMain.getStateID() == StateID_Wait) {
|
||||
|
||||
@@ -27,7 +27,7 @@ void dSndSourceEquipment_c::cbBeFlyLv(dSndSeSound_c *sound, dSoundSource_c *sour
|
||||
}
|
||||
|
||||
void dSndSourceEquipment_c::cbBeThrowRc(dSndSeSound_c *sound, dSoundSource_c *source, nw4r::snd::SoundHandle &handle) {
|
||||
if (dAcPy_c::GetLink() != nullptr && !dAcPy_c::GetLink()->hasvt_0x1C0()) {
|
||||
if (dAcPy_c::GetLink() != nullptr && !dAcPy_c::GetLink()->isBeetleInFlight()) {
|
||||
handle.Stop(10);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -517,7 +517,7 @@ s32 ActorOnRail_Ext::execute() {
|
||||
mSegmentDistance = 0.0f;
|
||||
if (checkFlag(0x1)) {
|
||||
ret = 3;
|
||||
offFlag(0x40000000);
|
||||
unsetFlag(0x40000000);
|
||||
mSpeed *= -1.0f;
|
||||
}
|
||||
break;
|
||||
@@ -545,7 +545,7 @@ s32 ActorOnRail_Ext::execute() {
|
||||
mSegmentDistance = segmentLength;
|
||||
if (checkFlag(0x1)) {
|
||||
ret = 3;
|
||||
onFlag(0x40000000);
|
||||
setFlag(0x40000000);
|
||||
mSpeed *= -1.0f;
|
||||
}
|
||||
break;
|
||||
@@ -589,13 +589,28 @@ s32 ActorOnRail_Ext::getNextPointIndex() const {
|
||||
return getNextPointIndex(mSegmentIndex);
|
||||
}
|
||||
|
||||
s32 ActorOnRail_Ext::getNextPointIndex2() const {
|
||||
if (mSpeed >= 0.0f) {
|
||||
return mSegmentIndex;
|
||||
}
|
||||
|
||||
if (mSegmentIndex + 1 < mPath.getNumPoints()) {
|
||||
return mSegmentIndex + 1;
|
||||
}
|
||||
|
||||
if (mPath.isWrapping()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return mPath.getLastPointIdx();
|
||||
}
|
||||
|
||||
s32 ActorOnRail_Ext::getClosestXZPoint(const mVec3_c &pos) const {
|
||||
f32 max = EGG::Math<f32>::maxNumber();
|
||||
s32 best = 0;
|
||||
mVec3_c c;
|
||||
for (s32 i = 0; i < mPath.getNumPoints(); i++) {
|
||||
const Vec *point = mPath.getPoint(i);
|
||||
c = *reinterpret_cast<const mVec3_c *>(point) - pos;
|
||||
c = *getPoint(i) - pos;
|
||||
f32 dist = c.squareMagXZ();
|
||||
if (max > dist) {
|
||||
best = i;
|
||||
|
||||
Reference in New Issue
Block a user