Skip to content
Draft
210 changes: 105 additions & 105 deletions config/SOUE01/rels/d_a_b_girahimuNP/symbols.txt

Large diffs are not rendered by default.

547 changes: 275 additions & 272 deletions config/SOUE01/rels/d_a_b_girahimu_baseNP/symbols.txt

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions config/SOUE01/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4282,7 +4282,7 @@ fn_800C3E90 = .text:0x800C3E90; // type:function size:0x24
checkFinished__14dFlowMgrBase_cFv = .text:0x800C3EC0; // type:function size:0x20C
vt_0x34__11dFlowBase_cFv = .text:0x800C40D0; // type:function size:0x4
fn_800C40E0 = .text:0x800C40E0; // type:function size:0xC
fn_800C40F0 = .text:0x800C40F0; // type:function size:0xB4
fn_800C40F0__14dFlowMgrBase_cFv = .text:0x800C40F0; // type:function size:0xB4
fn_800C41B0 = .text:0x800C41B0; // type:function size:0xBC
fn_800C4270 = .text:0x800C4270; // type:function size:0x54
fn_800C42D0 = .text:0x800C42D0; // type:function size:0xF8
Expand Down Expand Up @@ -15770,7 +15770,7 @@ fn_8029FE90 = .text:0x8029FE90; // type:function size:0x21C
fn_802A00B0 = .text:0x802A00B0; // type:function size:0x10
fn_802A00C0 = .text:0x802A00C0; // type:function size:0x10
fn_802A00D0 = .text:0x802A00D0; // type:function size:0x40
show__17dLytBossCaption_cFPCci = .text:0x802A0110; // type:function size:0x158
show__17dLytBossCaption_cFPCcPCc = .text:0x802A0110; // type:function size:0x158
fn_802A0270 = .text:0x802A0270; // type:function size:0x9C
fn_802A0310 = .text:0x802A0310; // type:function size:0x9C
fn_802A03B0 = .text:0x802A03B0; // type:function size:0x4C
Expand Down Expand Up @@ -18763,13 +18763,13 @@ ClrTgHit__8cCcD_ObjFv = .text:0x80328C00; // type:function size:0x4C
ClrCoHit__8cCcD_ObjFv = .text:0x80328C50; // type:function size:0x4C
GetAtHitPos__8cCcD_ObjFv = .text:0x80328CA0; // type:function size:0x8
GetAtHitPos__8cCcD_ObjCFv = .text:0x80328CB0; // type:function size:0x8
GetAtFlag0x2__8cCcD_ObjCFv = .text:0x80328CC0; // type:function size:0xC
GetAtFlag0x4__8cCcD_ObjCFv = .text:0x80328CD0; // type:function size:0xC
GetAtFlag0x8__8cCcD_ObjCFv = .text:0x80328CE0; // type:function size:0xC
ChkAtShieldHit__8cCcD_ObjCFv = .text:0x80328CC0; // type:function size:0xC
ChkAtCutHit__8cCcD_ObjCFv = .text:0x80328CD0; // type:function size:0xC
ChkAtShieldReflect__8cCcD_ObjCFv = .text:0x80328CE0; // type:function size:0xC
GetTgHitPos__8cCcD_ObjFv = .text:0x80328CF0; // type:function size:0x8
GetTgHitPos__8cCcD_ObjCFv = .text:0x80328D00; // type:function size:0x8
GetTgFlag0x4__8cCcD_ObjCFv = .text:0x80328D10; // type:function size:0xC
GetTgFlag0x8__8cCcD_ObjCFv = .text:0x80328D20; // type:function size:0xC
ChkTgCutHit__8cCcD_ObjCFv = .text:0x80328D10; // type:function size:0xC
ChkTgShieldReflect__8cCcD_ObjCFv = .text:0x80328D20; // type:function size:0xC
GetGObjInfo__8cCcD_ObjFv = .text:0x80328D30; // type:function size:0x4
ChkAtClawshot__8cCcD_ObjCFv = .text:0x80328D40; // type:function size:0xC
ChkAtClawshotDebug__8cCcD_ObjCFv = .text:0x80328D50; // type:function size:0x8
Expand Down Expand Up @@ -30049,7 +30049,7 @@ __vt__25dNpcMdlCallbackYXZFixed_c = .data:0x80501EC8; // type:object size:0x24
__vt__20dNpcMdlCallbackYXZ_c = .data:0x80501EEC; // type:object size:0x24
__vt__20dNpcMdlCallbackAng_c = .data:0x80501F10; // type:object size:0x24
__vt__21dNpcMdlCallbackBase_c = .data:0x80501F34; // type:object size:0x1C
lbl_80501F50 = .data:0x80501F50; // type:object size:0x20
__vt__20dNpcMdlCallbackEye_c = .data:0x80501F50; // type:object size:0x20
lbl_80501F70 = .data:0x80501F70; // type:object size:0x78
__vt__29sFStateVirtualID_c<8dAcNpc_c> = .data:0x80501FE8; // type:object size:0x34
__vt__22sFStateID_c<8dAcNpc_c> = .data:0x8050201C; // type:object size:0x34
Expand Down
36 changes: 32 additions & 4 deletions include/d/a/b/d_a_b_girahimu.h
Original file line number Diff line number Diff line change
@@ -1,16 +1,44 @@
#ifndef D_A_B_GIRAHIMU_H
#define D_A_B_GIRAHIMU_H

#include "d/a/e/d_a_en_base.h"
#include "d/a/b/d_a_b_girahimu_base.h"
#include "d/a/d_a_base.h"
#include "s/s_State.hpp"

class dAcGirahimu_c : public dAcEnBase_c {
class dAcObjGirahimuKnife_c;

class dAcGirahimu_c : public dAcGirahimuBase_c {
public:
dAcGirahimu_c() : mStateMgr(*this) {}
dAcGirahimu_c() : field_0x220C(false) {}
virtual ~dAcGirahimu_c() {}

virtual int doDelete() override;
virtual bool createHeap() override;
virtual int actorCreate() override;
virtual int actorExecute() override;

STATE_VIRTUAL_OVERRIDE_FUNC_DECLARE(dAcGirahimu_c, dAcGirahimuBase_c, CatchDamage);
STATE_VIRTUAL_OVERRIDE_FUNC_DECLARE(dAcGirahimu_c, dAcGirahimuBase_c, G_SwordDamage);
STATE_FUNC_DECLARE(dAcGirahimu_c, G_SwordDemo);
STATE_FUNC_DECLARE(dAcGirahimu_c, G_SwordWait);
STATE_FUNC_DECLARE(dAcGirahimu_c, G_SwordPiyori);
STATE_FUNC_DECLARE(dAcGirahimu_c, Knife);
STATE_FUNC_DECLARE(dAcGirahimu_c, KnifeAttack);
STATE_FUNC_DECLARE(dAcGirahimu_c, Death);
STATE_FUNC_DECLARE(dAcGirahimu_c, DeathMiniGame);

virtual void vt_0x1DC() override;
virtual bool vt_0x218() override;
virtual void vt_0x220() override;

void determineNextMove();
void fn_227_1EA0();
void fn_227_3DB0();
void fn_227_3DF0();

private:
/* 0x??? */ STATE_MGR_DECLARE(dAcGirahimu_c);
/* 0x220C */ bool field_0x220C;
/* 0x2210 */ dAcRef_c<dAcObjGirahimuKnife_c> mKnives[5];
};

#endif
Loading
Loading