dAcEKs_c + dTgKiesuTag_c progress

This commit is contained in:
elijah-thomas774
2026-05-14 17:50:49 -04:00
parent 5b6788804a
commit d2d52cc88c
11 changed files with 1156 additions and 126 deletions
+46 -43
View File
@@ -3,43 +3,43 @@ _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
__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
setIdleState__8dAcEKs_cFv = .text:0x000008C0; // type:function size:0xCC
getLineCrossYRange__8dAcEKs_cFRC7mVec3_cf = .text:0x00000990; // type:function size:0xD0
fn_155_A60 = .text:0x00000A60; // type:function size:0x6B0
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
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_cFv = .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
ChkWall__8dAcEKs_cFv = .text:0x00003200; // type:function size:0xA4
ChkGnd__8dAcEKs_cFv = .text:0x000032B0; // type:function size:0x94
ChkRoof__8dAcEKs_cFv = .text:0x00003350; // type:function size:0x94
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
@@ -58,13 +58,13 @@ setPitchYawToPoint__8dAcEKs_cFRC7mVec3_c = .text:0x00003B70; // type:function si
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
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
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 = .text:0x00003EF0; // type:function size:0x5C
fn_155_3F50 = .text:0x00003F50; // type:function size:0x10C
fn_155_3EF0__8dAcEKs_cFv = .text:0x00003EF0; // type:function size:0x5C
fn_155_3F50__8dAcEKs_cFv = .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
@@ -174,27 +174,30 @@ 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
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 = .bss:0x00000388; // type:object size:0x1 data:byte
lbl_155_bss_389 = .bss:0x00000389; // type:object size:0x1 data:byte
lbl_155_bss_38A = .bss:0x0000038A; // type:object size:0x1 data:byte
+6 -6
View File
@@ -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
@@ -1180,9 +1180,9 @@ 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_800306C0 = .text:0x800306C0; // type:function size:0x10
fn_800306D0 = .text:0x800306D0; // type:function size:0x24
fn_80030700 = .text:0x80030700; // type:function size:0x24
attackPlayerOrScrapper__11dAcEnBase_cFf = .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
@@ -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
+113 -16
View File
@@ -43,25 +43,46 @@ 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);
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 ChkWall();
void ChkGnd();
void ChkRoof();
bool checkWallCross();
void adjustTargetGnd();
void adjustTargetRoof();
bool ChkHit();
void fn_155_3460();
void fn_155_3480();
@@ -79,9 +100,17 @@ public:
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:
/* 0x378 */ dAcRef_c<dTgKiesuTag_c> mTgRef;
/* 0x384 */ nw4r::g3d::ResFile mResFile;
@@ -101,44 +130,112 @@ private:
/* 0xAA8 */ u8 field_0xAB0;
/* 0xAB1 */ u8 _0xAB1[0xB14 - 0xAB1];
/* 0xB14 */ mVec3_c mPnts[10];
/* 0xB8C */ u8 _0xB8C[0xBB0 - 0xB8C];
/* 0xBB0 */ mVec3_c field_0xBB0;
/* 0xB8C */ mVec3_c field_0xB8C;
/* 0xB98 */ u8 _0xB98[0xBB0 - 0xB98];
/* 0xBB0 */ mVec3_c mTargetPos;
/* 0xBBC */ mVec3_c field_0xBBC;
/* 0xBC8 */ u8 _0xBC8[0xBF8 - 0xBC8];
/* 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 */ u8 _0xC04[0xC28 - 0xC04];
/* 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 */ u8 _0xC44[0xD1C - 0xC44];
/* 0xC44 */ f32 field_0xC44;
/* 0xC48 */ f32 field_0xC48;
/* 0xC4C */ u8 _0xC4C[0xC70 - 0xC4C];
/* 0xC70 */ f32 field_0xC70;
/* 0xC74 */ u8 _0xC74[0xD00 - 0xC74];
/* 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 */ u8 _0xD24[0xD32 - 0xD24];
/* 0xD32 */ s16 mTimer;
/* 0xD34 */ u8 _0xD34[0xD60 - 0xD34];
/* 0xD34 */ u8 _0xD34[0xD52 - 0xD34];
/* 0xD52 */ s16 field_0xD52;
/* 0xD54 */ s16 field_0xD54;
/* 0xD56 */ u8 _0xD56[0xD5E - 0xD56];
/* 0xD5E */ s16 field_0xD5E;
/* 0xD60 */ s16 field_0xD60;
/* 0xD62 */ u8 _0xD62[0xDA6 - 0xD62];
/* 0xD62 */ u8 _0xD62[0xD6A - 0xD62];
/* 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 */ s16 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 */ s16 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 */ u8 _0xDA2[0xDA5 - 0xDA2];
/* 0xDA5 */ u8 field_0xDA5;
/* 0xDA6 */ u8 field_0xDA6;
/* 0xDA7 */ u8 field_0xDA7;
/* 0xDA8 */ u8 field_0xDA8;
/* 0xDA9 */ u8 field_0xDA9;
/* 0xDAA */ u8 _0xDAA[0xDB1 - 0xDAA];
/* 0xDAA */ u8 _0xDAA[0xDAF - 0xDAA];
/* 0xDAF */ u8 field_0xDAF;
/* 0xDB0 */ u8 field_0xDB0;
/* 0xDB1 */ u8 field_0xDB1;
/* 0xDB2 */ u8 field_0xDB2;
/* 0xDB3 */ u8 _0xDB3[0xDBB - 0xDB3];
/* 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 _0xDBD[0xDC0 - 0xDBD];
/* 0xDC2 */ u8 mCurrentAnmTexPat; // blink
/* 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 _0xDC4[0xDC7 - 0xDC4];
/* 0xDC4 */ u8 field_0xDC4;
/* 0xDC5 */ u8 field_0xDC5;
/* 0xDC6 */ u8 field_0xDC6;
/* 0xDC7 */ u8 mStartingState;
/* 0xDC8 */ u8 _0xDC8[0xDCF - 0xDB8];
/* 0xDC8 */ u8 field_0xDC8;
/* 0xDC9 */ u8 field_0xDC9;
/* 0xDCA */ u8 field_0xDCA;
/* 0xDCB */ u8 field_0xDCB;
/* 0xDCC */ u8 _0xDCC[0xDCF - 0xDCC];
/* 0xDCF */ u8 field_0xDCF;
/* 0xDD0 */ u8 _0xDD0[0xDD4 - 0xDD0];
/* 0xDD4 */ mVec3_c mHomePos;
+5 -2
View File
@@ -68,6 +68,9 @@ public:
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 +78,9 @@ 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();
void fn_800306D0();
void fn_80030700();
dAcObjBase_c *attackPlayerOrScrapper(f32 biasToScrapper);
dAcObjBase_c *targetPlayerOrScrapper(f32 biasToScrapper);
static void fn_80030980(m3d::mdl_c &, s32, bool markDirty);
void fn_80030c20(u32 flags, f32, f32, f32, f32);
+3
View File
@@ -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;
}
+1 -1
View File
@@ -813,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;
+2
View File
@@ -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);
+77 -1
View File
@@ -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,77 @@ public:
STATE_FUNC_DECLARE(dTgKiesuTag_c, ControlPathMove);
STATE_FUNC_DECLARE(dTgKiesuTag_c, DoNothing);
/* fn_154_8B0 */
mVec3_c &getSpawnKsPosition();
void incrementField_0x456() {
field_0x456++;
}
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;
/* 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;
/* 0x37C */ mVec3_c mTargetPosition;
/* 0x388 */ mVec3_c mSpawnKsPosition;
/* 0x3A0 */ mAng3_c mSpawnKsAngle;
/* 0x3A8 */ mAng3_c field_0x3A8;
/* 0x3AC */ mAng field_0x3AC; // pitch
/* 0x3AE */ mAng field_0x3AE; // yaw
/* 0x3B4 */ f32 field_0x3B4;
/* 0x3B8 */ f32 field_0x3B8; // Y pos offset
/* 0x3BC */ f32 field_0x3BC; // X/Z scale
/* 0x3C0 */ f32 field_0x3C0; // Y scale
/* 0x3D8 */ f32 field_0x3D8; // Y scale
/* 0x3DC */ f32 field_0x3DC; // X/Z scale
/* 0x3EC */ mVec3_c field_0x3EC;
/* 0x44C */ s16 field_0x448;
// Related to Control?
/* 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;
/* 0x468 */ s16 field_0x468;
/* 0x46C */ s16 mNumKsAlive;
/* 0x46E */ s16 field435_0x46e;
/* 0x44A */ s16 mNumKsControl;
/* 0x474 */ bool field_0x474;
/* 0x47E */ bool mbAllKsActive;
/* 0x48A */ u8 field_0x48A; // Related to getting spawnPos/ Type?
/* 0x48E */ u8 mNumKsActive;
};
#endif
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -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;
}
+1 -1
View File
@@ -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;
}