One unattempted function remains

This commit is contained in:
robojumper
2026-01-02 01:55:47 +01:00
parent 0927e0ba4a
commit 5f8b0b881e
12 changed files with 1073 additions and 212 deletions
+62 -15
View File
@@ -84,14 +84,14 @@ draw__14dAcBlastboss_cFv = .text:0x000073C0; // type:function size:0x60
checkForCloseRangeAttack__14dAcBlastboss_cFv = .text:0x00007420; // type:function size:0x17C
checkForRangeAttack__14dAcBlastboss_cFv = .text:0x000075A0; // type:function size:0x218
checkForCounter__14dAcBlastboss_cFv = .text:0x000077C0; // type:function size:0x338
fn_143_7B00__14dAcBlastboss_cFv = .text:0x00007B00; // type:function size:0x478
fn_143_7F80__14dAcBlastboss_cFv = .text:0x00007F80; // type:function size:0x674
fn_143_8600 = .text:0x00008600; // type:function size:0x860
fn_143_8E60 = .text:0x00008E60; // type:function size:0x5B4
fn_143_9420__14dAcBlastboss_cFv = .text:0x00009420; // type:function size:0x148
fn_143_9570__14dAcBlastboss_cFl = .text:0x00009570; // type:function size:0x9C
fn_143_9610__14dAcBlastboss_cFv = .text:0x00009610; // type:function size:0xAF4
fn_143_A110__14dAcBlastboss_cFl = .text:0x0000A110; // type:function size:0xBC
updateMainNodeTransforms__14dAcBlastboss_cFv = .text:0x00007B00; // type:function size:0x478
updateSkirtHairTransforms__14dAcBlastboss_cFv = .text:0x00007F80; // type:function size:0x674
updateSkirtTransform__14dAcBlastboss_cFl = .text:0x00008600; // type:function size:0x860
updateHairTransform__14dAcBlastboss_cFl = .text:0x00008E60; // type:function size:0x5B4
checkForLinkSwordBySwordHit__14dAcBlastboss_cFv = .text:0x00009420; // type:function size:0x148
classifyAttackDirection__14dAcBlastboss_cFl = .text:0x00009570; // type:function size:0x9C
executeDemo__14dAcBlastboss_cFv = .text:0x00009610; // type:function size:0xAF4
setLightningTimerMaybe__14dAcBlastboss_cFl = .text:0x0000A110; // type:function size:0xBC
vt_0x88__11dAcEnBase_cFi = .text:0x0000A1D0; // type:function size:0x8
vt_0x84__11dAcEnBase_cFv = .text:0x0000A1E0; // type:function size:0x4
vt_0x80__11dAcEnBase_cFv = .text:0x0000A1F0; // type:function size:0x4
@@ -225,8 +225,42 @@ lbl_143_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 align:4 data:fl
lbl_143_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x4 align:4 data:float
lbl_143_rodata_1CC = .rodata:0x000001CC; // type:object size:0x4 align:4 data:float
lbl_143_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 align:4 data:float
lbl_143_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x3C align:4 data:float
lbl_143_rodata_210 = .rodata:0x00000210; // type:object size:0x90 align:4 data:float
lbl_143_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 align:4 data:float
lbl_143_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 align:4 data:float
lbl_143_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x10
lbl_143_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x10
lbl_143_rodata_200 = .rodata:0x00000200; // type:object size:0x4 align:4 data:float
lbl_143_rodata_204 = .rodata:0x00000204; // type:object size:0x4 align:4 data:float
lbl_143_rodata_208 = .rodata:0x00000208; // type:object size:0x4 align:4 data:float
lbl_143_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 align:4 data:float
lbl_143_rodata_210 = .rodata:0x00000210; // type:object size:0x4 align:4 data:float
lbl_143_rodata_214 = .rodata:0x00000214; // type:object size:0x24 align:4 data:float
lbl_143_rodata_238 = .rodata:0x00000238; // type:object size:0x4 align:4 data:float
lbl_143_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 align:4 data:float
lbl_143_rodata_240 = .rodata:0x00000240; // type:object size:0x4 align:4 data:float
lbl_143_rodata_244 = .rodata:0x00000244; // type:object size:0x4 align:4 data:float
lbl_143_rodata_248 = .rodata:0x00000248; // type:object size:0x4 align:4 data:float
lbl_143_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 align:4 data:float
lbl_143_rodata_250 = .rodata:0x00000250; // type:object size:0x4 align:4 data:float
lbl_143_rodata_254 = .rodata:0x00000254; // type:object size:0x4 align:4 data:float
lbl_143_rodata_258 = .rodata:0x00000258; // type:object size:0x4 align:4 data:float
lbl_143_rodata_25C = .rodata:0x0000025C; // type:object size:0x4
lbl_143_rodata_260 = .rodata:0x00000260; // type:object size:0x4
lbl_143_rodata_264 = .rodata:0x00000264; // type:object size:0x4
lbl_143_rodata_268 = .rodata:0x00000268; // type:object size:0x4
lbl_143_rodata_26C = .rodata:0x0000026C; // type:object size:0x4
lbl_143_rodata_270 = .rodata:0x00000270; // type:object size:0x4
lbl_143_rodata_274 = .rodata:0x00000274; // type:object size:0x4
lbl_143_rodata_278 = .rodata:0x00000278; // type:object size:0x4 align:4 data:float
lbl_143_rodata_27C = .rodata:0x0000027C; // type:object size:0x4
lbl_143_rodata_280 = .rodata:0x00000280; // type:object size:0x4
lbl_143_rodata_284 = .rodata:0x00000284; // type:object size:0x4
lbl_143_rodata_288 = .rodata:0x00000288; // type:object size:0x4
lbl_143_rodata_28C = .rodata:0x0000028C; // type:object size:0x4
lbl_143_rodata_290 = .rodata:0x00000290; // type:object size:0x4
lbl_143_rodata_294 = .rodata:0x00000294; // type:object size:0x4
lbl_143_rodata_298 = .rodata:0x00000298; // type:object size:0x4
lbl_143_rodata_29C = .rodata:0x0000029C; // type:object size:0x4
g_profile_B_LASTBOSS = .data:0x00000000; // type:object size:0x10 data:4byte
sSrcCyl1 = .data:0x00000010; // type:object size:0x30
sSrcCyl2 = .data:0x00000040; // type:object size:0x30
@@ -308,17 +342,30 @@ lbl_143_data_4A4 = .data:0x000004A4; // type:object size:0x4
lbl_143_data_4A8 = .data:0x000004A8; // type:object size:0xC
lbl_143_data_4B4 = .data:0x000004B4; // type:object size:0xC
lbl_143_data_4C0 = .data:0x000004C0; // type:object size:0x4 data:4byte
lbl_143_data_4C4 = .data:0x000004C4; // type:object size:0x5C data:4byte
__vt__14dAcBlastboss_c = .data:0x00000520; // type:object size:0x90
lbl_143_data_4C4 = .data:0x000004C4; // type:object size:0x4 data:4byte
lbl_143_data_4C8 = .data:0x000004C8; // type:object size:0x4 data:4byte
lbl_143_data_4CC = .data:0x000004CC; // type:object size:0x4 data:4byte
lbl_143_data_4D0 = .data:0x000004D0; // type:object size:0x4
lbl_143_data_4D4 = .data:0x000004D4; // type:object size:0x4
lbl_143_data_4D8 = .data:0x000004D8; // type:object size:0x4
lbl_143_data_4DC = .data:0x000004DC; // type:object size:0x4
lbl_143_data_4E0 = .data:0x000004E0; // type:object size:0x4
lbl_143_data_4E4 = .data:0x000004E4; // type:object size:0x4
lbl_143_data_4E8 = .data:0x000004E8; // type:object size:0x4
lbl_143_data_4EC = .data:0x000004EC; // type:object size:0xA data:string
lbl_143_data_4F8 = .data:0x000004F8; // type:object size:0x8 data:string
lbl_143_data_500 = .data:0x00000500; // type:object size:0xA data:string
lbl_143_data_510 = .data:0x00000510; // type:object size:0x10 data:string
__vt__14dAcBlastboss_c = .data:0x00000520; // type:object size:0x8C
__vt__53sFStateMgr_c<14dAcBlastboss_c,20sStateMethodUsr_FI_c> = .data:0x000005B0; // type:object size:0x30
__vt__83sStateMgr_c<14dAcBlastboss_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x000005E0; // type:object size:0x30
__vt__30sFStateFct_c<14dAcBlastboss_c> = .data:0x00000610; // type:object size:0x18
__vt__30sFStateFct_c<14dAcBlastboss_c> = .data:0x00000610; // type:object size:0x14
__vt__27sFState_c<14dAcBlastboss_c> = .data:0x00000628; // type:object size:0x18
__vt__15dCcD_Linked_Cyl = .data:0x00000640; // type:object size:0x70
__vt__Q214dAcBlastboss_c10callback_c = .data:0x000006B0; // type:object size:0x18
__vt__15dCcD_Linked_Sph = .data:0x000006C8; // type:object size:0x70
__vt__16dEnemySwordMdl_c = .data:0x00000738; // type:object size:0x10
lbl_143_data_748 = .data:0x00000748; // type:object size:0x70
__vt__16dEnemySwordMdl_c = .data:0x00000738; // type:object size:0xC
__vt__15dCcD_Linked_Cps = .data:0x00000748; // type:object size:0x70
__vt__26dSwordSwingEffectProcMgr_c = .data:0x000007B8; // type:object size:0xC
__vt__Q34nw4r3g3d15IScnObjCallback = .data:0x000007C8; // type:object size:0x20
lbl_143_data_7E8 = .data:0x000007E8; // type:object size:0x3E0
+10 -10
View File
@@ -600,7 +600,7 @@ remove__Q23d3d12UnkWithWaterFv = .text:0x800190B0; // type:function size:0xB8
apply__Q23d3d16UnkWithWaterNodeFPC9_GXTexObj = .text:0x80019170; // type:function size:0x74
entry__Q23d3d14EggTextureProcFv = .text:0x800191F0; // type:function size:0x9C
fn_80019290 = .text:0x80019290; // type:function size:0x5C
fn_800192F0 = .text:0x800192F0; // type:function size:0x6C
fn_800192F0__Q23d3d14EggTextureProcFUcRC6mMtx_cUc = .text:0x800192F0; // type:function size:0x6C
doDraw__Q23d3d14EggTextureProcFv = .text:0x80019360; // type:function size:0x204
doRemove__Q23d3d14EggTextureProcFv = .text:0x80019570; // type:function size:0x44
create__Q23d3d7UnkProcFiiP12mAllocator_c = .text:0x800195C0; // type:function size:0xAC
@@ -1147,9 +1147,9 @@ createActorUnkGroup3__12dAcObjBase_cFQ28fProfile14PROFILE_NAME_eUlUlP7mVec3_cP7m
createActorUnkGroup3__12dAcObjBase_cFPCcUlUlPC7mVec3_cPC7mAng3_cPC7mVec3_cUlUsSc = .text:0x8002F260; // type:function size:0xA0
__ct__11dAcEnBase_cFv = .text:0x8002F300; // type:function size:0x74
__dt__11dAcEnBase_cFv = .text:0x8002F380; // type:function size:0x74
ActorEnemyBase__shouldUpdateMaybe = .text:0x8002F400; // type:function size:0xB4
ActorEnemyBase__postUpdate = .text:0x8002F4C0; // type:function size:0x7C
ActorEnemyBase__preDraw = .text:0x8002F540; // type:function size:0x74
preExecute__11dAcEnBase_cFv = .text:0x8002F400; // type:function size:0xB4
postExecute__11dAcEnBase_cFQ27fBase_c12MAIN_STATE_e = .text:0x8002F4C0; // type:function size:0x7C
preDraw__11dAcEnBase_cFv = .text:0x8002F540; // type:function size:0x74
fn_8002F5C0 = .text:0x8002F5C0; // type:function size:0x110
checkBeetleActorReferences__17daPlayerActBase_cFl = .text:0x8002F6D0; // type:function size:0x8
getBeetleActorReferencesSize__17daPlayerActBase_cFv = .text:0x8002F6E0; // type:function size:0x8
@@ -1290,7 +1290,7 @@ ActorLink__setObjActorFlags0x200 = .text:0x800346B0; // type:function size:0x14
ActorLink__unsetObjActorFlags0x200 = .text:0x800346D0; // type:function size:0x14
fn_800346F0 = .text:0x800346F0; // type:function size:0xDC
vt_0x2AC__17daPlayerActBase_cFv = .text:0x800347D0; // type:function size:0x4
triggerMoveEventMaybe__17daPlayerActBase_cFUlUlUlR7mVec3_cRC4mAngUlUl = .text:0x800347E0; // type:function size:0x4
triggerMoveEventMaybe__17daPlayerActBase_cFUlUlUlPC7mVec3_cRC4mAngUlUl = .text:0x800347E0; // type:function size:0x4
vt_0x2C4__17daPlayerActBase_cFv = .text:0x800347F0; // type:function size:0x8
fn_80034800 = .text:0x80034800; // type:function size:0x170
fn_80034970 = .text:0x80034970; // type:function size:0xFC
@@ -10737,8 +10737,8 @@ fn_8019E890 = .text:0x8019E890; // type:function size:0x40
fn_8019E8D0 = .text:0x8019E8D0; // type:function size:0x54
fn_8019E930 = .text:0x8019E930; // type:function size:0xC
fn_8019E940 = .text:0x8019E940; // type:function size:0xC0
fn_8019EA00 = .text:0x8019EA00; // type:function size:0x70
fn_8019EA70 = .text:0x8019EA70; // type:function size:0x11C
fn_8019EA00__9dCamera_cFRC7mVec3_cRC7mVec3_cff = .text:0x8019EA00; // type:function size:0x70
fn_8019EA70__9dCamera_cFb = .text:0x8019EA70; // type:function size:0x11C
fn_8019EB90 = .text:0x8019EB90; // type:function size:0xC
fn_8019EBA0 = .text:0x8019EBA0; // type:function size:0x160
fn_8019ED00 = .text:0x8019ED00; // type:function size:0xC
@@ -15768,7 +15768,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
showBossCaption = .text:0x802A0110; // type:function size:0x158
show__17dLytBossCaption_cFPCci = .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
@@ -17264,7 +17264,7 @@ ModuleDestructorsX = .text:0x802DFD30; // type:function size:0x44
cLib__memSet = .text:0x802DFD80; // type:function size:0x4
addCalcPos__4cLibFP7mVec3_cRC7mVec3_cfff = .text:0x802DFD90; // type:function size:0x234
addCalcPosXZ__4cLibFP7mVec3_cRC7mVec3_cfff = .text:0x802DFFD0; // type:function size:0x1B8
cLib__addCalcPos2 = .text:0x802E0190; // type:function size:0x13C
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
chasePosXZ__4cLibFR7mVec3_cR7mVec3_cf = .text:0x802E0550; // type:function size:0x124
@@ -42586,7 +42586,7 @@ sInstance__21dLytMiniGameScoreSd_c = .sbss:0x80575984; // type:object size:0x4 d
sInstance__14dLytMiniGame_c = .sbss:0x80575988; // type:object size:0x8 data:4byte
lbl_80575990 = .sbss:0x80575990; // type:object size:0x8 data:4byte
lbl_80575998 = .sbss:0x80575998; // type:object size:0x8 data:4byte
BOSS_CAPTION_PTR = .sbss:0x805759A0; // type:object size:0x8 data:4byte
sInstance__17dLytBossCaption_c = .sbss:0x805759A0; // type:object size:0x8 data:4byte
sInstance__17dLytDemoDowsing_c = .sbss:0x805759A8; // type:object size:0x8 data:4byte
lbl_805759B0 = .sbss:0x805759B0; // type:object size:0x2 data:2byte
sInstance__10dLytShop_c = .sbss:0x805759B4; // type:object size:0x4 data:4byte
+77 -40
View File
@@ -19,7 +19,10 @@ class dTgSwordBattleGame_c;
// TODO this might be a template but what about the offset?
struct UnkLastBossCcSph1 {
/* 0x000 */ u8 _0x000[0x008 - 0x000];
/* 0x000 */ u8 _0x000[0x002 - 0x000];
/* 0x002 */ s16 field_0x002;
/* 0x004 */ s16 field_0x004;
/* 0x006 */ s16 field_0x006;
/* 0x008 */ mVec3_c field_0x008[5];
/* 0x044 */ mVec3_c field_0x044[5];
/* 0x080 */ mVec3_c field_0x080[5];
@@ -29,9 +32,12 @@ struct UnkLastBossCcSph1 {
struct UnkLastBossCcSph2 {
/* 0x000 */ s16 field_0x000;
/* 0x002 */ s16 field_0x002;
/* 0x004 */ u8 _0x004[0x008 - 0x004];
/* 0x004 */ s16 field_0x004;
/* 0x006 */ s16 field_0x006;
/* 0x008 */ s16 field_0x008;
/* 0x00A */ u8 _0x00A[0x014 - 0x00A];
/* 0x00A */ s16 field_0x00A;
/* 0x00C */ f32 field_0x00C;
/* 0x010 */ f32 field_0x010;
/* 0x014 */ mVec3_c field_0x014[10];
/* 0x08C */ mVec3_c field_0x08C[10];
/* 0x104 */ mVec3_c field_0x104[10];
@@ -219,6 +225,8 @@ class dAcBlastboss_c : public dAcEnBase_c {
SUB_STATE_20 = 20,
SUB_STATE_21,
SUB_STATE_50 = 50,
};
enum Timer_e {
@@ -232,6 +240,38 @@ class dAcBlastboss_c : public dAcEnBase_c {
TIMER_MAX,
};
// TODO: Maybe reused in other sword fight bosses?
// Names taken from the string array
enum GuardDirection_e {
GUARD_RIGHT,
GUARD_UPRIGHT,
GUARD_DOWNRIGHT,
GUARD_LEFT,
GUARD_UPLEFT,
GUARD_DOWNLEFT,
GUARD_UP,
GUARD_DOWN,
GUARD_CENTER,
GUARD_BT, // not sure
};
enum DemoState_e {
DEMO_STATE_NONE = 0,
DEMO_STATE_1 = 1,
DEMO_STATE_2,
DEMO_STATE_3,
DEMO_STATE_100 = 100,
DEMO_STATE_101,
DEMO_STATE_200 = 200,
DEMO_STATE_201,
DEMO_STATE_2XX_LAST = 299,
DEMO_STATE_1000 = 1000,
};
public:
dAcBlastboss_c() : mStateMgr(*this, sStateID::null), mScnCallback(this) {}
virtual ~dAcBlastboss_c() {}
@@ -266,12 +306,14 @@ private:
bool checkForCloseRangeAttack();
bool checkForRangeAttack();
bool checkForCounter();
void fn_143_7B00();
void fn_143_7F80();
bool fn_143_9420();
u8 fn_143_9570(s32 dir);
void fn_143_9610();
void fn_143_A110(s32);
void updateMainNodeTransforms();
void updateSkirtHairTransforms();
void updateSkirtTransform(s32 level);
void updateHairTransform(s32 level);
bool checkForLinkSwordBySwordHit();
u8 classifyAttackDirection(s32 attackDir);
void executeDemo();
void setLightningTimerMaybe(s32);
/* 0x0378 */ d3d::AnmMdlWrapper mMdl;
/* 0x03E8 */ m3d::anmTexSrt_c mAnmTexSrt;
@@ -293,8 +335,8 @@ private:
/* 0x1132 */ u8 field_0x1132;
/* 0x1133 */ u8 field_0x1133;
/* 0x1134 */ u8 field_0x1134;
/* 0x1135 */ s8 field_0x1135;
/* 0x1136 */ s8 field_0x1136;
/* 0x1135 */ s8 mNumConsecutiveOppositeDirectionAttacks;
/* 0x1136 */ s8 mNumConsecutiveSameDirectionAttacks;
/* 0x1137 */ u8 field_0x1137;
/* 0x1138 */ u8 field_0x1138;
/* 0x1139 */ u8 field_0x1139;
@@ -307,8 +349,8 @@ private:
/* 0x1140 */ u8 field_0x1140;
/* 0x1141 */ u8 field_0x1141;
/* 0x1142 */ u8 field_0x1142;
/* 0x1143 */ u8 field_0x1143;
/* 0x1144 */ s8 field_0x1144;
/* 0x1143 */ u8 mInvulnerabilityTimerMaybe;
/* 0x1144 */ s8 mGuardDirection;
/* 0x1145 */ s8 mLinkCloseRangeShieldTime;
/* 0x1146 */ bool mIsSwordEmpowered;
/* 0x1147 */ u8 field_0x1147;
@@ -322,21 +364,23 @@ private:
/* 0x114F */ u8 field_0x114F;
/* 0x1150 */ u8 field_0x1150;
/* 0x1152 */ u16 field_0x1152;
/* 0x1154 */ u16 field_0x1154;
/* 0x1154 */ u16 mStunCounter;
/* 0x1156 */ u16 mTimers[TIMER_MAX];
/* 0x1162 */ u16 field_0x1162;
/* 0x1164 */ s16 field_0x1164;
/* 0x1164 */ s16 mCounter;
/* 0x1166 */ s16 mSubState;
/* 0x1168 */ u8 _0x1168[0x116A - 0x1168];
/* 0x116A */ s16 mYAngleToLink;
/* 0x116C */ u8 _0x116C[0x1172 - 0x116C];
/* 0x116C */ u8 _0x116C[0x1170 - 0x116C];
/* 0x1170 */ s16 field_0x1170;
/* 0x1172 */ s16 field_0x1172;
/* 0x1174 */ s16 field_0x1174;
/* 0x1174 */ u8 _0x1174[0x1178 - 0x1174];
/* 0x1176 */ u8 _0x1176[0x1178 - 0x1176];
/* 0x1178 */ s16 field_0x1178;
/* 0x117A */ s16 field_0x117A;
@@ -344,7 +388,7 @@ private:
/* 0x117E */ s16 field_0x117E;
/* 0x1180 */ s16 field_0x1180;
/* 0x1182 */ s16 field_0x1182;
/* 0x1184 */ s16 field_0x1184;
/* 0x1184 */ s16 mLightningTimerMaybe;
/* 0x1186 */ s16 mYRotationRelativeToLink;
/* 0x1188 */ s16 field_0x1188;
/* 0x118A */ mAng field_0x118A;
@@ -360,36 +404,24 @@ private:
/* 0x11A0 */ f32 field_0x11A0;
/* 0x11A4 */ f32 field_0x11A4;
/* 0x11A8 */ f32 mAnmRate;
/* 0x11AC */ u8 _0x11AC[0x11B0 - 0x11AC];
/* 0x11AC */ f32 field_0x11AC;
/* 0x11B0 */ f32 field_0x11B0;
/* 0x11B4 */ u8 _0x11B4[0x11B8 - 0x11B4];
/* 0x11B0 */ f32 field_0x11B4;
/* 0x11B8 */ f32 field_0x11B8;
/* 0x11BC */ f32 field_0x11BC;
/* 0x11C0 */ f32 field_0x11C0;
/* 0x11C4 */ u8 _0x11C4[0x11C8 - 0x11C4];
/* 0x11CC */ f32 field_0x11C8;
/* 0x11C4 */ f32 field_0x11C4;
/* 0x11C8 */ f32 field_0x11C8;
/* 0x11CC */ f32 field_0x11CC;
/* 0x11D0 */ u8 _0x11D0[0x11D4 - 0x11D0];
/* 0x11D0 */ f32 field_0x11D0;
/* 0x11D4 */ s32 mLastAttackDir;
/* 0x11D8 */ s32 field_0x11D8;
/* 0x11D8 */ s32 mSecondLastAttackDirection;
/* 0x11DC */ mAng3_c field_0x11DC;
/* 0x11E4 */ mVec3_c mThumbL2Translation;
/* 0x11F0 */ mVec3_c mBackbone1Translation;
/* 0x11FC */ mVec3_c mChestTranslation;
/* 0x1208 */ mVec3_c field_0x1208;
/* 0x1214 */ u8 _0x1214[0x1220 - 0x1214];
/* 0x1214 */ mVec3_c mBugNetPos;
/* 0x1220 */ mVec3_c field_0x1220;
/* 0x122C */ mVec3_c field_0x122C;
/* 0x1238 */ mVec3_c mToeTranslation[2];
@@ -406,10 +438,15 @@ private:
/* 0x2C68 */ dEmitter_c mEmitter6;
/* 0x2C9C */ dEmitter_c mEmitter7;
/* 0x2CD0 */ LIGHT_INFLUENCE mLightInfo;
/* 0x2CEC */ s16 field_0x2CEC;
/* 0x2CEE */ u8 _0x2CEE[0x2D00 - 0x2CEE];
/* 0x2CEC */ s16 mDemoState;
/* 0x2CEE */ s16 field_0x2CEE;
/* 0x2CF0 */ s16 field_0x2CF0;
/* 0x2CF4 */ f32 field_0x2CF4;
/* 0x2CF8 */ u8 _0x2CF8[0x2CFC - 0x2CF8];
/* 0x2CFC */ f32 field_0x2CFC;
/* 0x2D00 */ f32 field_0x2D00;
/* 0x2D04 */ u8 _0x2D04[0x2D1C - 0x2D04];
/* 0x2D04 */ mVec3_c field_0x2D04;
/* 0x2D10 */ mVec3_c field_0x2D10;
/* 0x2D1C */ const char *mpCurrentAnm;
/* 0x2D20 */ dTgSwordBattleGame_c *mpSwordBattleGame;
};
+4
View File
@@ -28,6 +28,10 @@ public:
dAcEnBase_c();
virtual ~dAcEnBase_c();
virtual int preExecute() override;
virtual void postExecute(MAIN_STATE_e state) override;
virtual int preDraw() override;
virtual void *getObjectListEntry() override {
return &mEnemyLink;
}
+2
View File
@@ -61,9 +61,11 @@ public:
bool isUnderwater() const;
f32 getUnderwaterDepth() const;
void fn_8019EA00(const mVec3_c&, const mVec3_c&, f32, f32);
void fn_8019E430();
void fn_8019E410();
mAng fn_8019E3B0() const;
void fn_8019EA70(bool);
private:
/* 0x068 */ u8 _0x068[0x6C - 0x068];
+7 -1
View File
@@ -442,6 +442,10 @@ public:
field_0x38DC = v;
}
void setField_0x5D48(f32 val) {
field_0x5D48 = val;
}
private:
/* 0x0004 */ Spf currentSpf;
/* 0x020C */ Spf spfs[20];
@@ -499,7 +503,9 @@ private:
/* 0x48E4 */ Bpm4 field_0x48E4;
/* 0x5CE4 */ PaletteDefaultMCF field_0x5CE4;
/* 0x5D04 */ TwoPaletteDefaultMCF field_0x5D04;
/* 0x5D44 */ u8 field_0x5D44[0x5D59 - 0x5D44];
/* 0x5D44 */ u8 field_0x5D44[0x5D48 - 0x5D44];
/* 0x5D48 */ f32 field_0x5D48;
/* 0x5D4C */ u8 field_0x5D4C[0x5D59 - 0x5D4C];
/* 0x5D59 */ struct { // Anonymous until more is known
bool mEnabled;
u8 mValue;
+1 -1
View File
@@ -413,7 +413,7 @@ public:
/* vt 0x2A8 */ virtual void lookTowardItem() {}
/* vt 0x2AC */ virtual void vt_0x2AC() {}
/* vt 0x2B0 */ virtual void vt_0x2B0() {}
/* vt 0x2B4 */ virtual void triggerMoveEventMaybe(u32, u32, u32, mVec3_c &, const mAng &, u32, u32) {}
/* vt 0x2B4 */ virtual void triggerMoveEventMaybe(u32, u32, u32, const mVec3_c *, const mAng&, u32, u32) {}
/* vt 0x2B8 */ virtual void setActorRef9() {}
/* vt 0x2BC */ virtual void unlinkActorRef9() {}
/* vt 0x2C0 */ virtual bool vt_0x2C0() {
+18 -3
View File
@@ -5,6 +5,7 @@
#include "d/col/cc/d_cc_s.h"
#include "d/d_base.h"
#include "d/d_bzs_types.h"
#include "d/d_cursor_hit_check.h"
#include "d/d_dylink.h"
#include "d/d_fader.h"
#include "egg/gfx/eggCpuTexture.h"
@@ -12,6 +13,7 @@
#include "m/m_allocator.h"
#include "m/m_dvd.h"
#include "m/m_fader_base.h"
#include "m/m_mtx.h"
#include "nw4r/g3d/g3d_camera.h"
#include "s/s_FPhase.h"
#include "s/s_State.hpp"
@@ -103,6 +105,9 @@ public:
s32 getMapNameId() const;
bool fn_80199250();
void procfn_800192F0(u8 a1, const mMtx_c &mtx, u8 a2) {
mProc1.fn_800192F0(a1, mtx, a2);
}
static dStageMgr_c *GetInstance() {
return sInstance;
@@ -204,11 +209,19 @@ private:
/* 0x0580 */ LayoutArcControl mLayoutArcCtrl2;
/* 0x058C */ dBgS mBg;
// ...
u8 _0x00001[0x778];
u8 _0x00001[0x6C8];
/* 0x3E38 */ // ...
/* 0x3E40 */ dCcS mCc;
/* 0x75D8 */ dCursorHitCheckCC_c mCsHitCheck;
// ...
/* 0x7814 */ dParticle::tex_c mParticleTex[2];
// ...
/* 0x7898 */ d3d::EggTextureProc mProc1;
/* 0x78EC */ d3d::XluProc mProc2;
u8 _0x00002[0x28];
/* 0x790C */ // ...
/* 0x7930 */ dFader_c mFader;
/* 0x7954 */ u16 mPcamCount;
@@ -220,6 +233,8 @@ private:
/* 0x7964 */ const STIF *mpStif;
/* 0x7968 */ const RMPL *mpRmpl;
u8 _0x00003[0x30];
/* 0x799C */ mDvd_callback_c *mpDvdCallback;
/* 0x79A0 */ mDvd_callback_c *mpDvdCallback2;
@@ -229,7 +244,7 @@ private:
/* 0x8694 */ dTimeAreaMgr_c mTimeAreaMgr;
// ...
u8 ___[438];
u8 ___[390];
/* 0x8898 */ EGG::CpuTexture *field_0x8898;
u8 _0x889C[4];
+28
View File
@@ -0,0 +1,28 @@
#ifndef D_LYT_BOSS_CAPTION_H
#define D_LYT_BOSS_CAPTION_H
#include "common.h"
class dLytBossCaption_c {
public:
static dLytBossCaption_c *GetInstance() {
return sInstance;
}
void show(const char *label, UNKWORD);
// I believe this is the inline that causes all the Rev0 -> Rev1 pain in RELs...
void unk_inline() {
field_0x645 = 0;
field_0x646 = 0;
}
private:
static dLytBossCaption_c *sInstance;
u8 _0x00[0x645 - 0x00];
u8 field_0x645;
u8 field_0x646;
};
#endif
+2
View File
@@ -203,6 +203,8 @@ public:
doDraw();
}
void fn_800192F0(u8, const mMtx_c&, u8);
private:
void doRemove();
void doDraw();
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -86,7 +86,7 @@ int dAcOwarpHole_c::actorExecuteInEvent() {
if (EventManager::isCurrentEvent("BeforeLastBossBattleChicken")) {
dAcPy_c* player = dAcPy_c::GetLinkM();
player->vt_0x2AC();
player->triggerMoveEventMaybe(2, 0, 0, mLinkPos, 0, 0, 0);
player->triggerMoveEventMaybe(2, 0, 0, &mLinkPos, 0, 0, 0);
}
}
if (dAcPy_c::GetLinkM()->mPosition.absXZTo(mLinkPos) < 10.0f) {