dAcEKs_c + vt_1C0 name for dAcPy_c

This commit is contained in:
elijah-thomas774
2026-05-07 10:02:46 -04:00
parent 7da9558daa
commit 5b6788804a
11 changed files with 72 additions and 25 deletions
+2 -2
View File
@@ -32,8 +32,8 @@ 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_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
+1 -1
View File
@@ -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
-4
View File
@@ -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;
}
+14 -4
View File
@@ -53,6 +53,9 @@ public:
/* 0 -> blink_1, 1 -> blink_2, 2 -> blink_3*/
void setBlink(u8 blink);
void setBlinkChecked(u8 blink);
bool fn_155_29D0(s32 p1);
bool fn_155_2D60(bool b, s32 p1);
bool fn_155_2EA0();
bool isOutsideRange();
bool isNotWaitingNorDamage();
bool isTargeted();
@@ -101,10 +104,17 @@ private:
/* 0xB8C */ u8 _0xB8C[0xBB0 - 0xB8C];
/* 0xBB0 */ mVec3_c field_0xBB0;
/* 0xBBC */ mVec3_c field_0xBBC;
/* 0xBC8 */ u8 _0xBC8[0xC34 - 0xBC8];
/* 0xD32 */ mAng mPitch_0xC34;
/* 0xD32 */ mAng mYaw_0xC36;
/* 0xC38 */ u8 _0xC38[0xD20 - 0xC38];
/* 0xBC8 */ u8 _0xBC8[0xBF8 - 0xBC8];
/* 0xBF8 */ mVec3_c field_0xBF8;
/* 0xC04 */ u8 _0xC04[0xC28 - 0xC04];
/* 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];
/* 0xD1C */ f32 field_0xD1C;
/* 0xD20 */ f32 field_0xD20;
/* 0xD24 */ u8 _0xD24[0xD32 - 0xD24];
/* 0xD32 */ s16 mTimer;
+5 -3
View File
@@ -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() {
+37
View File
@@ -146,6 +146,43 @@ f32 dAcEKs_c::getLineCrossYRange(const mVec3_c &pos, f32 range) {
// idk.
bool dAcEKs_c::fn_155_2D60(bool b, s32 p1) {
f32 f0 = field_0xC40 + 1500.f;
f32 f1 = field_0xC3C + 700.f;
dAcObjBase_c *pObj = attackPlayerOrScrapper(0.f);
field_0xBF8.set(pObj->mPosition);
if (field_0xBF8.squareDistanceToXZ(mPosition) < f1 * f1) {
f32 f2 = field_0xBF8.y - mPosition.y;
if (f2 <= 0.f && f2 > -f0) {
if (b) {
if (!fn_155_29D0(p1)) {
return true;
}
} else {
return true;
}
}
}
return false;
}
bool dAcEKs_c::fn_155_2EA0() {
f32 f0 = field_0xC40 + 1500.f;
f32 f1 = field_0xC3C + 700.f;
dAcObjBase_c *pObj = dAcPy_c::GetLink()->getBeetleInFlight();
if (pObj) {
field_0xC28.set(pObj->mPosition);
field_0xD1C = field_0xC28.squareDistanceToXZ(mPosition);
if (field_0xD1C < f1 * f1) {
f32 f2 = field_0xC28.y - mPosition.y;
if (f2 <= 0.f && f2 > -f0) {
return true;
}
}
}
return false;
}
bool dAcEKs_c::isOutsideRange() {
return attackPlayerOrScrapper(0.f)->mPosition.squareDistanceToXZ(mPosition) > 360000.f;
}
+1 -2
View File
@@ -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;
+1 -1
View File
@@ -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())) {
+8 -5
View File
@@ -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;
}