mirror of
https://github.com/zeldaret/ss
synced 2026-05-31 17:32:02 -04:00
dAcEKs_c + vt_1C0 name for dAcPy_c
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user