mirror of
https://github.com/zeldaret/ss
synced 2026-06-17 07:07:39 -04:00
some more naming
This commit is contained in:
@@ -95,19 +95,19 @@ initializeState_BirthWait__11dAcEremly_cFv = .text:0x00006870; // type:function
|
||||
executeState_BirthWait__11dAcEremly_cFv = .text:0x000068F0; // type:function size:0x13C
|
||||
finalizeState_BirthWait__11dAcEremly_cFv = .text:0x00006A30; // type:function size:0x4
|
||||
playWink__11dAcEremly_cFv = .text:0x00006A40; // type:function size:0xCC
|
||||
fn_177_6B10__11dAcEremly_cFbRC4mAng = .text:0x00006B10; // type:function size:0x38C
|
||||
calcHeadRotation__11dAcEremly_cFb = .text:0x00006EA0; // type:function size:0x120
|
||||
calcHeadRotation__11dAcEremly_cFbRC4mAng = .text:0x00006B10; // type:function size:0x38C
|
||||
calcHeadPitch__11dAcEremly_cFb = .text:0x00006EA0; // type:function size:0x120
|
||||
resetHeadRotation__11dAcEremly_cFb = .text:0x00006FC0; // type:function size:0x78
|
||||
fn_177_7040__11dAcEremly_cFUlf = .text:0x00007040; // type:function size:0x2EC
|
||||
isScary__11dAcEremly_cFv = .text:0x00007330; // type:function size:0x90
|
||||
shouldBeScared__11dAcEremly_cFv = .text:0x000073C0; // type:function size:0x144
|
||||
fn_177_7510__11dAcEremly_cFf = .text:0x00007510; // type:function size:0xC8
|
||||
fn_177_75E0__11dAcEremly_cFv = .text:0x000075E0; // type:function size:0x6C
|
||||
isWithinTargetRadius__11dAcEremly_cFf = .text:0x00007510; // type:function size:0xC8
|
||||
isHorwellRemlitQuestComplete__11dAcEremly_cFv = .text:0x000075E0; // type:function size:0x6C
|
||||
fn_177_7650__11dAcEremly_cCFb = .text:0x00007650; // type:function size:0x164
|
||||
fn_177_77C0__11dAcEremly_cFv = .text:0x000077C0; // type:function size:0x108
|
||||
applyScaryMat__11dAcEremly_cFv = .text:0x000078D0; // type:function size:0xF4
|
||||
fn_177_79D0__11dAcEremly_cFb = .text:0x000079D0; // type:function size:0x134
|
||||
fn_177_7B10__11dAcEremly_cFv = .text:0x00007B10; // type:function size:0x1B4
|
||||
isUnderWater__11dAcEremly_cFv = .text:0x00007B10; // type:function size:0x1B4
|
||||
nightSleepDemoImpl__11dAcEremly_cFv = .text:0x00007CD0; // type:function size:0x844
|
||||
checkSlope__11dAcEremly_cFb = .text:0x00008520; // type:function size:0xD8
|
||||
spawnGroundEffect__11dAcEremly_cFv = .text:0x00008600; // type:function size:0xC0
|
||||
@@ -116,7 +116,7 @@ fn_177_8980__11dAcEremly_cFf = .text:0x00008980; // type:function size:0x13C
|
||||
fn_177_8AC0__11dAcEremly_cFv = .text:0x00008AC0; // type:function size:0x160
|
||||
fn_177_8C20__11dAcEremly_cF4mAng = .text:0x00008C20; // type:function size:0x36C
|
||||
fn_177_8F90__11dAcEremly_cFv = .text:0x00008F90; // type:function size:0x3E0
|
||||
fn_177_9370__11dAcEremly_cFf = .text:0x00009370; // type:function size:0xE8
|
||||
isPlayerInNightRange__11dAcEremly_cFf = .text:0x00009370; // type:function size:0xE8
|
||||
vt_0x88__11dAcEnBase_cFi = .text:0x00009460; // type:function size:0x8
|
||||
vt_0x84__11dAcEnBase_cFv = .text:0x00009470; // type:function size:0x4
|
||||
vt_0x80__11dAcEnBase_cFv = .text:0x00009480; // type:function size:0x4
|
||||
|
||||
@@ -2103,7 +2103,7 @@ tryAttach__10dLinkage_cFP12dAcObjBase_cP12dAcObjBase_cP12dAcRefBase_cQ210dLinkag
|
||||
fn_80050DC0__10dLinkage_cFP12dAcObjBase_cff4mAng = .text:0x80050DC0; // type:function size:0x34
|
||||
fn_80050E00__10dLinkage_cFP12dAcObjBase_cff4mAng = .text:0x80050E00; // type:function size:0x34
|
||||
fn_80050E40__10dLinkage_cFP12dAcObjBase_cff4mAng = .text:0x80050E40; // type:function size:0x60
|
||||
fn_80050EA0__10dLinkage_cFP12dAcObjBase_c = .text:0x80050EA0; // type:function size:0xC
|
||||
forceRemove__10dLinkage_cFP12dAcObjBase_c = .text:0x80050EA0; // type:function size:0xC
|
||||
fn_80050EB0__10dLinkage_cFP12dAcObjBase_c = .text:0x80050EB0; // type:function size:0x140
|
||||
bushTpFunc__10dLinkage_cFR9dBgS_Acch = .text:0x80050FF0; // type:function size:0x19C
|
||||
fn_80051190__10dLinkage_cFP12dAcObjBase_c = .text:0x80051190; // type:function size:0x4C
|
||||
|
||||
+10
-11
@@ -110,19 +110,18 @@ public:
|
||||
|
||||
private:
|
||||
void playWink();
|
||||
bool fn_177_6B10(bool lookAtTarget, const mAng &);
|
||||
void calcHeadRotation(bool);
|
||||
|
||||
bool calcHeadRotation(bool lookAtTarget, const mAng &); // the Side-to-side angle
|
||||
void calcHeadPitch(bool); // The up-down angle
|
||||
void resetHeadRotation(bool);
|
||||
|
||||
bool fn_177_7040(u32, f32);
|
||||
|
||||
bool isScary();
|
||||
|
||||
bool shouldBeScared();
|
||||
|
||||
bool fn_177_7510(f32);
|
||||
|
||||
bool fn_177_75E0();
|
||||
bool isWithinTargetRadius(f32 radius);
|
||||
bool isHorwellRemlitQuestComplete();
|
||||
|
||||
/** false -> compares to camera
|
||||
* true -> compares to player */
|
||||
@@ -135,7 +134,7 @@ private:
|
||||
|
||||
void fn_177_79D0(bool);
|
||||
|
||||
bool fn_177_7B10();
|
||||
bool isUnderWater();
|
||||
void nightSleepDemoImpl();
|
||||
|
||||
void checkSlope(bool);
|
||||
@@ -145,7 +144,7 @@ private:
|
||||
bool fn_177_8AC0();
|
||||
bool fn_177_8C20(mAng);
|
||||
bool fn_177_8F90();
|
||||
bool fn_177_9370(f32);
|
||||
bool isPlayerInNightRange(f32 range);
|
||||
|
||||
private:
|
||||
/* 0x378 */ STATE_MGR_DECLARE(dAcEremly_c);
|
||||
@@ -162,7 +161,7 @@ private:
|
||||
|
||||
/* 0x9C4 */ dEmitter_c mEmitters[2];
|
||||
|
||||
/* 0xA2C */ dAcRef_c<dAcNpcSkn2_c> mRef1; // Temporary until type known
|
||||
/* 0xA2C */ dAcRef_c<dAcNpcSkn2_c> mHorwellRef;
|
||||
/* 0xA38 */ dAcRef_c<dAcBomb_c> mNearbyBombRef;
|
||||
|
||||
/* 0xA44 */ mVec3_c mTargetPosition;
|
||||
@@ -212,8 +211,8 @@ private:
|
||||
/* 0xB5C */ u16 mFlySpeedCounter;
|
||||
/* 0xB5E */ u16 mFlyAngleCounter;
|
||||
/* 0xB60 */ u8 mAnimation;
|
||||
/* 0xB61 */ u8 field_0xB61;
|
||||
/* 0xB62 */ u8 mSleepDemoPlayedSceneflag;
|
||||
/* 0xB61 */ u8 mIsHorwellsPet;
|
||||
/* 0xB62 */ u8 mSceneflag;
|
||||
/* 0xB63 */ u8 mNightSleepDemoStep;
|
||||
/* 0xB64 */ u8 field_0xB64;
|
||||
/* 0xB65 */ u8 mAnmStep;
|
||||
|
||||
@@ -74,7 +74,7 @@ public:
|
||||
void fn_80050DC0(dAcObjBase_c *, f32, f32, mAng);
|
||||
void fn_80050E00(dAcObjBase_c *, f32, f32, mAng);
|
||||
void fn_80050E40(dAcObjBase_c *, f32, f32, mAng);
|
||||
void fn_80050EA0(dAcObjBase_c *);
|
||||
void forceRemove(dAcObjBase_c *);
|
||||
void fn_800511E0(dAcObjBase_c *);
|
||||
void bushTpFunc(dBgS_Acch &);
|
||||
void fn_80051190(dAcObjBase_c *);
|
||||
|
||||
@@ -51,26 +51,10 @@
|
||||
SPECIAL_ACTOR_PROFILE(E_REMLY, dAcEremly_c, fProfile::E_REMLY, 0xE1, 0, 3);
|
||||
|
||||
static dCcD_SrcSph sSphSrc = {
|
||||
{{
|
||||
AT_TYPE_DAMAGE,
|
||||
0xD,
|
||||
{0, 0, 0},
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
}, {
|
||||
~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_0x8000 | AT_TYPE_WIND),
|
||||
0x303,
|
||||
{0, 0, 0x40F},
|
||||
8,
|
||||
0,
|
||||
}, {
|
||||
0xE5,
|
||||
}},
|
||||
{
|
||||
50.f, },
|
||||
{{AT_TYPE_DAMAGE, 0xD, {0, 0, 0}, 2, 0, 0, 0, 0},
|
||||
{~(AT_TYPE_BUGNET | AT_TYPE_BEETLE | AT_TYPE_0x8000 | AT_TYPE_WIND), 0x303, {0, 0, 0x40F}, 8, 0},
|
||||
{0xE5}},
|
||||
{50.f},
|
||||
};
|
||||
|
||||
struct dAcEremly_HIO_c {
|
||||
@@ -170,8 +154,8 @@ int dAcEremly_c::actorCreate() {
|
||||
CREATE_ALLOCATOR(dAcEremly_c);
|
||||
|
||||
u8 p = getFromParams(0, 0xF);
|
||||
field_0xB61 = p != 15 ? p : 0;
|
||||
mSleepDemoPlayedSceneflag = getFromParams(4, 0xFF);
|
||||
mIsHorwellsPet = p != 15 ? p : 0;
|
||||
mSceneflag = getFromParams(4, 0xFF);
|
||||
|
||||
s32 f = getFromParams(12, 0xFF);
|
||||
mPatrolAreaSize = f != 0xFF ? f * 100.f : 1000.f;
|
||||
@@ -207,7 +191,7 @@ int dAcEremly_c::actorCreate() {
|
||||
mYPosition = mPosition.y;
|
||||
mStartingRot = mRotation;
|
||||
|
||||
mRef1.unlink();
|
||||
mHorwellRef.unlink();
|
||||
mNearbyBombRef.unlink();
|
||||
|
||||
field_0xB64 = 1;
|
||||
@@ -227,7 +211,7 @@ int dAcEremly_c::actorCreate() {
|
||||
mAcch.SetField_0xD4(100.f + _weird_zero);
|
||||
field_0xB04 = 60.f;
|
||||
|
||||
if (field_0xB61 == 0) {
|
||||
if (mIsHorwellsPet == 0) {
|
||||
mAcch.SetGndThinCellingOff();
|
||||
if (dScGame_c::currentSpawnInfo.isNight()) {
|
||||
mTargetFiTextID = 1;
|
||||
@@ -254,13 +238,12 @@ int dAcEremly_c::actorCreate() {
|
||||
applyScaryMat();
|
||||
|
||||
mAnimTimer = 24.f + cM::rndF(24.f);
|
||||
if (mSleepDemoPlayedSceneflag == 0xFF ||
|
||||
SceneflagManager::sInstance->checkBoolFlag(mRoomID, mSleepDemoPlayedSceneflag)) {
|
||||
if (mSceneflag == 0xFF || SceneflagManager::sInstance->checkBoolFlag(mRoomID, mSceneflag)) {
|
||||
changeState(StateID_NightWait);
|
||||
} else {
|
||||
changeState(StateID_NightSleepDemo);
|
||||
}
|
||||
} else if (field_0xB61 == 1) {
|
||||
} else if (mIsHorwellsPet == 1) {
|
||||
setBattleBgmRelated(0);
|
||||
changeState(StateID_Sleep);
|
||||
} else {
|
||||
@@ -270,14 +253,14 @@ int dAcEremly_c::actorCreate() {
|
||||
}
|
||||
|
||||
int dAcEremly_c::actorPostCreate() {
|
||||
if (field_0xB61 == 1) {
|
||||
if (mIsHorwellsPet == 1) {
|
||||
fBase_c *pActor = fManager_c::searchBaseByProfName(fProfile::NPC_SKN2);
|
||||
if (pActor != nullptr) {
|
||||
dAcNpcSkn2_c *pSkn2 = static_cast<dAcNpcSkn2_c *>(pActor);
|
||||
mRef1.link(pSkn2);
|
||||
mHorwellRef.link(pSkn2);
|
||||
|
||||
mAcch.ClrRoofNone();
|
||||
if (fn_177_75E0()) {
|
||||
if (isHorwellRemlitQuestComplete()) {
|
||||
fn_177_79D0(false);
|
||||
|
||||
mRotation.y = mAngle.y = cLib::targetAngleY(mPosition, mStartingPos);
|
||||
@@ -293,8 +276,8 @@ int dAcEremly_c::actorPostCreate() {
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
mRef1.unlink();
|
||||
field_0xB61 = 0;
|
||||
mHorwellRef.unlink();
|
||||
mIsHorwellsPet = 0;
|
||||
}
|
||||
return SUCCEEDED;
|
||||
}
|
||||
@@ -470,7 +453,7 @@ int dAcEremly_c::actorExecute() {
|
||||
mNoGroundCounter = 1;
|
||||
}
|
||||
if (mNoGroundCounter != 0) {
|
||||
if (field_0xB61 == 1 && !fn_177_75E0() && EventManager::isInEvent()) {
|
||||
if (mIsHorwellsPet == 1 && !isHorwellRemlitQuestComplete() && EventManager::isInEvent()) {
|
||||
setActorProperty(AC_PROP_0x1);
|
||||
mPosition.set(mStartingPos.x, mStartingPos.y, mStartingPos.z);
|
||||
mRotation.y = mStartingRot.y;
|
||||
@@ -497,7 +480,7 @@ int dAcEremly_c::actorExecute() {
|
||||
mYPosition = mPosition.y + mYOffset;
|
||||
}
|
||||
|
||||
if (!fn_177_7B10() && isState(StateID_Water)) {
|
||||
if (!isUnderWater() && isState(StateID_Water)) {
|
||||
field_0xB6B = true;
|
||||
}
|
||||
|
||||
@@ -534,9 +517,8 @@ int dAcEremly_c::actorExecute() {
|
||||
|
||||
dCcS::GetInstance()->Set(&mSph);
|
||||
|
||||
if (!(isScary() && field_0xB64 != 0) // Check Batreaux Human
|
||||
&& !(isState(StateID_Hold) || mAnimation == ANM_Swim) // Hold
|
||||
&& !isState(StateID_Stun) && !isState(StateID_Jump)) {
|
||||
if (!(isScary() && field_0xB64 != 0) && !(isState(StateID_Hold) || mAnimation == ANM_Swim) &&
|
||||
!isState(StateID_Stun) && !isState(StateID_Jump)) {
|
||||
AttentionManager::GetInstance()->addPickUpTarget(*this, 3.f * radius * mScaleF);
|
||||
if (mLinkage.checkConnection(dLinkage_c::CONNECTION_1)) {
|
||||
changeState(StateID_Hold);
|
||||
@@ -623,7 +605,7 @@ void dAcEremly_c::initializeState_Wait() {
|
||||
void dAcEremly_c::executeState_Wait() {
|
||||
const dAcPy_c *pPlayer = dAcPy_c::GetLink();
|
||||
if (field_0xB6A == 0) {
|
||||
calcHeadRotation(false);
|
||||
calcHeadPitch(false);
|
||||
}
|
||||
sLib::addCalcScaled(&mSpeed, 0.7f, 5.f);
|
||||
|
||||
@@ -652,14 +634,14 @@ void dAcEremly_c::executeState_Wait() {
|
||||
changeState(StateID_Escape);
|
||||
field_0xB6A = 1;
|
||||
} else {
|
||||
fn_177_6B10(false, 0);
|
||||
calcHeadRotation(false, 0);
|
||||
mAnimTimer = 48.f + cM::rndF(48.f);
|
||||
field_0xB44 = 128;
|
||||
if (isWithinPlayerRadius(250.f)) {
|
||||
changeState(StateID_Scared);
|
||||
}
|
||||
}
|
||||
} else if (fn_177_6B10(false, 0)) {
|
||||
} else if (calcHeadRotation(false, 0)) {
|
||||
changeState(StateID_Escape);
|
||||
field_0xB6A = 1;
|
||||
mAnimTimer = 20;
|
||||
@@ -671,7 +653,7 @@ void dAcEremly_c::executeState_Wait() {
|
||||
}
|
||||
|
||||
field_0xB6E = 0;
|
||||
fn_177_6B10(false, 0);
|
||||
calcHeadRotation(false, 0);
|
||||
if (field_0xB56 != 0 || fn_177_8F90()) {
|
||||
return;
|
||||
}
|
||||
@@ -686,7 +668,7 @@ void dAcEremly_c::executeState_Wait() {
|
||||
return;
|
||||
}
|
||||
|
||||
if (field_0xB61 == 1) {
|
||||
if (mIsHorwellsPet == 1) {
|
||||
return;
|
||||
}
|
||||
if (sLib::calcTimer(&field_0xB44)) {
|
||||
@@ -786,10 +768,10 @@ void dAcEremly_c::executeState_Walk() {
|
||||
return;
|
||||
}
|
||||
} else if (field_0xB6A == 0 && !fn_177_8C20(mRotation.y)) {
|
||||
fn_177_6B10(false, 0);
|
||||
calcHeadRotation(false, 0);
|
||||
|
||||
if (fn_177_75E0()) {
|
||||
mTargetPosition.set(mRef1.get()->mPosition);
|
||||
if (isHorwellRemlitQuestComplete()) {
|
||||
mTargetPosition.set(mHorwellRef.get()->mPosition);
|
||||
fn_177_7040(2, 0.8f);
|
||||
} else {
|
||||
fn_177_7040(0, 0.8f);
|
||||
@@ -797,7 +779,7 @@ void dAcEremly_c::executeState_Walk() {
|
||||
} else {
|
||||
sLib::addCalcScaled(&mSpeed, 0.7f, 3.f + _weird_zero);
|
||||
fn_177_7040(0, 0.f);
|
||||
if (mAng::absDiff2<mAng>(getXZAngleToPlayer(), mRotation.y) < 0x400 && !fn_177_6B10(false, -1000)) {
|
||||
if (mAng::absDiff2<mAng>(getXZAngleToPlayer(), mRotation.y) < 0x400 && !calcHeadRotation(false, -1000)) {
|
||||
changeState(StateID_Wait);
|
||||
mMdl.setAnm("RemlyWaitSitCry", m3d::PLAY_MODE_4, 4.f);
|
||||
mAnimation = ANM_WaitSitCry;
|
||||
@@ -825,7 +807,7 @@ void dAcEremly_c::initializeState_Run() {
|
||||
}
|
||||
void dAcEremly_c::executeState_Run() {
|
||||
resetHeadRotation(true);
|
||||
fn_177_6B10(false, 0);
|
||||
calcHeadRotation(false, 0);
|
||||
if (fn_177_86C0()) {
|
||||
return;
|
||||
}
|
||||
@@ -838,8 +820,8 @@ void dAcEremly_c::executeState_Run() {
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (fn_177_75E0()) {
|
||||
mTargetPosition.set(mRef1.get()->mPosition);
|
||||
if (isHorwellRemlitQuestComplete()) {
|
||||
mTargetPosition.set(mHorwellRef.get()->mPosition);
|
||||
fn_177_7040(2, 5.f);
|
||||
} else {
|
||||
fn_177_7040(0, 5.f);
|
||||
@@ -886,7 +868,7 @@ void dAcEremly_c::executeState_Escape() {
|
||||
if (field_0xB6A != 0) {
|
||||
f32 f = (_weird_zero + 400.f);
|
||||
field_0xB6C = 1;
|
||||
if (!fn_177_7510(600.f + f) && !mNearbyBombRef.isLinked()) {
|
||||
if (!isWithinTargetRadius(600.f + f) && !mNearbyBombRef.isLinked()) {
|
||||
field_0xB69 = 0;
|
||||
changeState(StateID_Walk);
|
||||
}
|
||||
@@ -969,7 +951,7 @@ void dAcEremly_c::executeState_Wind() {
|
||||
return;
|
||||
}
|
||||
|
||||
if (fn_177_9370(100.f)) {
|
||||
if (isPlayerInNightRange(100.f)) {
|
||||
changeState(StateID_NightRun);
|
||||
} else {
|
||||
changeState(StateID_NightRet);
|
||||
@@ -1007,7 +989,7 @@ void dAcEremly_c::initializeState_Hold() {
|
||||
|
||||
mLinkage.field_0x90 = 13.f + _weird_zero;
|
||||
mLinkage.field_0x8C = 13.f + _weird_zero;
|
||||
if (field_0xB61 == 1) {
|
||||
if (mIsHorwellsPet == 1) {
|
||||
mLinkage.field_0x90 = 26.f + _weird_zero;
|
||||
mLinkage.field_0x8C = 13.f + _weird_zero;
|
||||
}
|
||||
@@ -1139,7 +1121,7 @@ void dAcEremly_c::initializeState_Fly() {
|
||||
void dAcEremly_c::executeState_Fly() {
|
||||
s32 _weird_zero = 0;
|
||||
|
||||
if (field_0xB61 == 1 && !fn_177_75E0() && EventManager::isInEvent()) {
|
||||
if (mIsHorwellsPet == 1 && !isHorwellRemlitQuestComplete() && EventManager::isInEvent()) {
|
||||
setActorProperty(AC_PROP_0x1);
|
||||
mPosition.set(mStartingPos.x, mStartingPos.y, mStartingPos.z);
|
||||
mAngle.y = mRotation.y = mStartingRot.y;
|
||||
@@ -1320,7 +1302,7 @@ void dAcEremly_c::executeState_Damage() {
|
||||
} else {
|
||||
mAngle.y = mRotation.y;
|
||||
if (isScary() && field_0xB64 != 0) {
|
||||
if (fn_177_9370(100.f)) {
|
||||
if (isPlayerInNightRange(100.f)) {
|
||||
changeState(StateID_NightRun);
|
||||
} else {
|
||||
changeState(StateID_NightRet);
|
||||
@@ -1369,7 +1351,7 @@ void dAcEremly_c::executeState_Scared() {
|
||||
fn_177_86C0();
|
||||
if (mMdl.getAnm().getRate()) {
|
||||
resetHeadRotation(false);
|
||||
} else if (field_0xB64) {
|
||||
} else if (field_0xB64 != 0) {
|
||||
sLib::addCalcAngle(mMdlCallback.mHeadRotation.z.ref(), 8000, 20, 0x100);
|
||||
if (mSomeCounter > 80 && !shouldBeScared()) {
|
||||
field_0xB68 = 0;
|
||||
@@ -1380,7 +1362,7 @@ void dAcEremly_c::executeState_Scared() {
|
||||
|
||||
sLib::addCalcScaled(&mSpeed, 0.7f, 3.f);
|
||||
|
||||
if (!field_0xB64) {
|
||||
if (field_0xB64 == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1443,7 +1425,7 @@ void dAcEremly_c::executeState_Stun() {
|
||||
if (mMdl.getAnm().isStop()) {
|
||||
mStts.SetRank(5);
|
||||
if (isScary()) {
|
||||
if (fn_177_9370(100.f)) {
|
||||
if (isPlayerInNightRange(100.f)) {
|
||||
changeState(StateID_NightRun);
|
||||
} else {
|
||||
changeState(StateID_NightRet);
|
||||
@@ -1542,7 +1524,7 @@ void dAcEremly_c::executeState_Water() {
|
||||
}
|
||||
fn_177_7040(0, 0.8f);
|
||||
(void)dAcPy_c::GetLink()->mPosition.absXZTo(mPosition);
|
||||
if (fn_177_7510(220.f)) {
|
||||
if (isWithinTargetRadius(220.f)) {
|
||||
mSpeed = 0.f;
|
||||
}
|
||||
f32 yTarget = mWaterHeight + yOffset + mAng(mSwimPosYCounter * 2000).sin() * 3.f;
|
||||
@@ -1566,7 +1548,7 @@ void dAcEremly_c::initializeState_Hear() {
|
||||
} break;
|
||||
case ANM_CryWalk:
|
||||
case ANM_RemlyWalk:
|
||||
case ANM_Run: {
|
||||
case ANM_Run: {
|
||||
mMdl.setAnm("RemlyWaitStand", m3d::PLAY_MODE_4, 4.f);
|
||||
mAnimation = ANM_WaitStand;
|
||||
field_0xB66 = true;
|
||||
@@ -1586,7 +1568,7 @@ void dAcEremly_c::executeState_Hear() {
|
||||
}
|
||||
} break;
|
||||
case 1: {
|
||||
if (!fn_177_6B10(false, 0) && fn_177_86C0()) {
|
||||
if (!calcHeadRotation(false, 0) && fn_177_86C0()) {
|
||||
if (mAnimation == ANM_WaitSitCry && mMdl.getAnm().isStop()) {
|
||||
mMdl.setAnm("RemlyWaitSit", m3d::PLAY_MODE_4, 20.f);
|
||||
mAnimation = ANM_WaitSit;
|
||||
@@ -1598,7 +1580,7 @@ void dAcEremly_c::executeState_Hear() {
|
||||
mAnimation = ANM_WaitSitCry;
|
||||
}
|
||||
}
|
||||
calcHeadRotation(false);
|
||||
calcHeadPitch(false);
|
||||
}
|
||||
} else if (shouldBeScared()) {
|
||||
changeState(StateID_Escape);
|
||||
@@ -1717,7 +1699,7 @@ void dAcEremly_c::executeState_NightReflectionFoo() {
|
||||
return;
|
||||
}
|
||||
|
||||
if (pPlayer->mPosition.absXZTo(mStartingPos) > mPatrolAreaSize + 500.f || !fn_177_9370(100.f)) {
|
||||
if (pPlayer->mPosition.absXZTo(mStartingPos) > mPatrolAreaSize + 500.f || !isPlayerInNightRange(100.f)) {
|
||||
changeState(StateID_NightRet);
|
||||
} else {
|
||||
changeState(StateID_NightRun);
|
||||
@@ -1738,7 +1720,7 @@ void dAcEremly_c::executeState_NightWait() {
|
||||
return;
|
||||
}
|
||||
|
||||
if (fn_177_9370(0.f)) {
|
||||
if (isPlayerInNightRange(0.f)) {
|
||||
changeState(StateID_NightRun);
|
||||
return;
|
||||
}
|
||||
@@ -1775,7 +1757,7 @@ void dAcEremly_c::initializeState_NightWalk() {
|
||||
}
|
||||
}
|
||||
void dAcEremly_c::executeState_NightWalk() {
|
||||
fn_177_6B10(true, 0);
|
||||
calcHeadRotation(true, 0);
|
||||
if (mNearbyBombRef.isLinked()) {
|
||||
changeState(StateID_NightRet);
|
||||
return;
|
||||
@@ -1802,7 +1784,7 @@ void dAcEremly_c::executeState_NightWalk() {
|
||||
}
|
||||
}
|
||||
|
||||
if (fn_177_9370(0.f)) {
|
||||
if (isPlayerInNightRange(0.f)) {
|
||||
changeState(StateID_NightRun);
|
||||
} else if (fn_177_86C0()) {
|
||||
changeState(StateID_NightFoo);
|
||||
@@ -1824,7 +1806,7 @@ void dAcEremly_c::initializeState_NightRun() {
|
||||
}
|
||||
void dAcEremly_c::executeState_NightRun() {
|
||||
const dAcPy_c *pPlayer = dAcPy_c::GetLink();
|
||||
fn_177_6B10(false, 0);
|
||||
calcHeadRotation(false, 0);
|
||||
|
||||
mMtx_c m;
|
||||
mVec3_c in, out;
|
||||
@@ -1861,7 +1843,7 @@ void dAcEremly_c::executeState_NightRun() {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!fn_177_9370(100.f)) {
|
||||
if (!isPlayerInNightRange(100.f)) {
|
||||
changeState(StateID_NightFoo);
|
||||
field_0xB6B = true;
|
||||
return;
|
||||
@@ -1976,7 +1958,7 @@ void dAcEremly_c::executeState_BirthWait() {
|
||||
|
||||
if (isScary()) {
|
||||
changeState(StateID_NightWait);
|
||||
} else if (field_0xB61 == 1 && fn_177_75E0()) {
|
||||
} else if (mIsHorwellsPet == 1 && isHorwellRemlitQuestComplete()) {
|
||||
changeState(StateID_Wait);
|
||||
} else {
|
||||
changeState(StateID_Sleep);
|
||||
@@ -1999,7 +1981,7 @@ void dAcEremly_c::playWink() {
|
||||
}
|
||||
|
||||
// NONMATCHING
|
||||
bool dAcEremly_c::fn_177_6B10(bool lookAtTarget, const mAng &range) {
|
||||
bool dAcEremly_c::calcHeadRotation(bool lookAtTarget, const mAng &range) {
|
||||
const dAcPy_c *pPlayer = dAcPy_c::GetLink();
|
||||
|
||||
mAng angleTargetX, angleTargetY;
|
||||
@@ -2031,8 +2013,8 @@ bool dAcEremly_c::fn_177_6B10(bool lookAtTarget, const mAng &range) {
|
||||
angleTargetY -= mRotation.y;
|
||||
}
|
||||
|
||||
if (fn_177_75E0()) {
|
||||
outpos.set(mRef1.get()->mPosition);
|
||||
if (isHorwellRemlitQuestComplete()) {
|
||||
outpos.set(mHorwellRef.get()->mPosition);
|
||||
outpos.y += 100.f;
|
||||
|
||||
angleTargetX = cLib::targetAngleX(mPosition, outpos) * 0.7f;
|
||||
@@ -2069,7 +2051,7 @@ bool dAcEremly_c::fn_177_6B10(bool lookAtTarget, const mAng &range) {
|
||||
return b;
|
||||
}
|
||||
|
||||
void dAcEremly_c::calcHeadRotation(bool b) {
|
||||
void dAcEremly_c::calcHeadPitch(bool b) {
|
||||
if (!b && shouldBeScared()) {
|
||||
return;
|
||||
}
|
||||
@@ -2189,9 +2171,9 @@ bool dAcEremly_c::shouldBeScared() {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool dAcEremly_c::fn_177_7510(f32 radius) {
|
||||
if (fn_177_75E0()) {
|
||||
mTargetPosition.set(mRef1.get()->getPosition());
|
||||
bool dAcEremly_c::isWithinTargetRadius(f32 radius) {
|
||||
if (isHorwellRemlitQuestComplete()) {
|
||||
mTargetPosition.set(mHorwellRef.get()->getPosition());
|
||||
if (mTargetPosition.squareDistanceToXZ(mPosition) < radius * radius) {
|
||||
return true;
|
||||
}
|
||||
@@ -2204,9 +2186,9 @@ bool dAcEremly_c::fn_177_7510(f32 radius) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool dAcEremly_c::fn_177_75E0() {
|
||||
if (mRef1.isLinked() && mSleepDemoPlayedSceneflag != 0xFF) {
|
||||
if (SceneflagManager::sInstance->checkBoolFlag(mRoomID, mSleepDemoPlayedSceneflag)) {
|
||||
bool dAcEremly_c::isHorwellRemlitQuestComplete() {
|
||||
if (mHorwellRef.isLinked() && mSceneflag != 0xFF) {
|
||||
if (SceneflagManager::sInstance->checkBoolFlag(mRoomID, mSceneflag)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -2269,11 +2251,11 @@ void dAcEremly_c::applyScaryMat() {
|
||||
void dAcEremly_c::fn_177_79D0(bool b) {
|
||||
mMtx_c m;
|
||||
mVec3_c in, out;
|
||||
if (mRef1.isLinked()) {
|
||||
m.YrotS(mRef1.get()->mRotationCopy.y + 0x5000);
|
||||
if (mHorwellRef.isLinked()) {
|
||||
m.YrotS(mHorwellRef.get()->mRotationCopy.y + 0x5000);
|
||||
in.set(0.f, 0.f, 120.f);
|
||||
m.multVec(in, out);
|
||||
out += mRef1.get()->getPosition();
|
||||
out += mHorwellRef.get()->getPosition();
|
||||
|
||||
if (!b) {
|
||||
setPosition(out);
|
||||
@@ -2286,7 +2268,7 @@ void dAcEremly_c::fn_177_79D0(bool b) {
|
||||
}
|
||||
}
|
||||
|
||||
bool dAcEremly_c::fn_177_7B10() {
|
||||
bool dAcEremly_c::isUnderWater() {
|
||||
s32 _weird_zero = 0;
|
||||
|
||||
if (dBgS_WtrChk::CheckPos(&mPosition, true, 600.f + _weird_zero, -100.f + _weird_zero)) {
|
||||
@@ -2295,7 +2277,7 @@ bool dAcEremly_c::fn_177_7B10() {
|
||||
if (mPosition.y < dBgS_WtrChk::GetWaterHeight() && mAcch.GetGroundH() < dBgS_WtrChk::GetWaterHeight()) {
|
||||
if (mAcch.GetGroundH() < -8.f + mWaterHeight) {
|
||||
if (isState(StateID_Hold)) {
|
||||
mLinkage.fn_80050EA0(this);
|
||||
mLinkage.forceRemove(this);
|
||||
}
|
||||
if (isState(StateID_Jump)) {
|
||||
mAngle.y = mRotation.y;
|
||||
@@ -2313,8 +2295,7 @@ bool dAcEremly_c::fn_177_7B10() {
|
||||
void dAcEremly_c::nightSleepDemoImpl() {
|
||||
s32 _weird_zero = 0;
|
||||
|
||||
if (mSleepDemoPlayedSceneflag == 0xFF ||
|
||||
SceneflagManager::sInstance->checkBoolFlag(mRoomID, mSleepDemoPlayedSceneflag)) {
|
||||
if (mSceneflag == 0xFF || SceneflagManager::sInstance->checkBoolFlag(mRoomID, mSceneflag)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2459,8 +2440,8 @@ void dAcEremly_c::nightSleepDemoImpl() {
|
||||
mMdl.setAnm("RemlyWaitStandNight", m3d::PLAY_MODE_4, 0.f);
|
||||
mAngle.y = mStartingRot.y + -30000;
|
||||
mRotation.y = mAngle.y;
|
||||
if (mSleepDemoPlayedSceneflag != 0xFF) {
|
||||
SceneflagManager::sInstance->setFlag(mRoomID, mSleepDemoPlayedSceneflag);
|
||||
if (mSceneflag != 0xFF) {
|
||||
SceneflagManager::sInstance->setFlag(mRoomID, mSceneflag);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2469,8 +2450,8 @@ void dAcEremly_c::nightSleepDemoImpl() {
|
||||
if (mNightSleepDemoStep == 5) {
|
||||
cLib::addCalcPos2(&field_0xAB0, field_0xAE0, 0.3f, 10.f);
|
||||
}
|
||||
if (mNightSleepDemoStep == 2 || mNightSleepDemoStep == 3 || mNightSleepDemoStep == 4 || mNightSleepDemoStep == 5 || mNightSleepDemoStep == 6 ||
|
||||
mNightSleepDemoStep == 7 || mNightSleepDemoStep == 8 || mNightSleepDemoStep == 9) {
|
||||
if (mNightSleepDemoStep == 2 || mNightSleepDemoStep == 3 || mNightSleepDemoStep == 4 || mNightSleepDemoStep == 5 ||
|
||||
mNightSleepDemoStep == 6 || mNightSleepDemoStep == 7 || mNightSleepDemoStep == 8 || mNightSleepDemoStep == 9) {
|
||||
pCamera->setEventCamView(field_0xABC, field_0xAB0, 50.f, 0.f);
|
||||
if (EventManager::fn_800A0B80()) {
|
||||
mMdl.setRate(0.f);
|
||||
@@ -2562,9 +2543,10 @@ bool dAcEremly_c::fn_177_8980(f32 f) {
|
||||
}
|
||||
|
||||
bool dAcEremly_c::fn_177_8AC0() {
|
||||
bool b = (isAnimation(ANM_Fly)) || (isAnimation(ANM_FlyDamage)) || (isAnimation(ANM_HoldBata)) || (isAnimation(ANM_HoldJumpStart)) ||
|
||||
(isAnimation(ANM_HoldJumpEnd)) || (isAnimation(ANM_Run)) || (isAnimation(ANM_Scared)) || (isAnimation(ANM_Swim)) ||
|
||||
(isAnimation(ANM_SwimDamage)) || (isAnimation(ANM_Water)) || (isAnimation(ANM_WindBack)) || (isAnimation(ANM_Piyo1)) ||
|
||||
bool b = (isAnimation(ANM_Fly)) || (isAnimation(ANM_FlyDamage)) || (isAnimation(ANM_HoldBata)) ||
|
||||
(isAnimation(ANM_HoldJumpStart)) || (isAnimation(ANM_HoldJumpEnd)) || (isAnimation(ANM_Run)) ||
|
||||
(isAnimation(ANM_Scared)) || (isAnimation(ANM_Swim)) || (isAnimation(ANM_SwimDamage)) ||
|
||||
(isAnimation(ANM_Water)) || (isAnimation(ANM_WindBack)) || (isAnimation(ANM_Piyo1)) ||
|
||||
(isAnimation(ANM_Piyo2)) || (isAnimation(ANM_Piyo3));
|
||||
if (b) {
|
||||
return true;
|
||||
@@ -2619,16 +2601,16 @@ bool dAcEremly_c::fn_177_8F90() {
|
||||
const dAcPy_c *pPlayer = dAcPy_c::GetLink();
|
||||
|
||||
if (isState(StateID_Sleep)) {
|
||||
if (fn_177_7510(400.f) && std::abs(mPosition.y - pPlayer->mPosition.y) < 100.f) {
|
||||
if (isWithinTargetRadius(400.f) && std::abs(mPosition.y - pPlayer->mPosition.y) < 100.f) {
|
||||
return true;
|
||||
}
|
||||
} else if (isState(StateID_Walk)) {
|
||||
if (!fn_177_7510(300.f)) {
|
||||
if (!isWithinTargetRadius(300.f)) {
|
||||
changeState(StateID_Run);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!fn_177_6B10(false, -1000) && field_0xB69 == 0 && fn_177_7510(120.f)) {
|
||||
if (!calcHeadRotation(false, -1000) && field_0xB69 == 0 && isWithinTargetRadius(120.f)) {
|
||||
sLib::addCalcScaled(&mSpeed, 0.7f, 5.f);
|
||||
if (++mSomeCounter < 20) {
|
||||
return false;
|
||||
@@ -2637,7 +2619,7 @@ bool dAcEremly_c::fn_177_8F90() {
|
||||
return true;
|
||||
}
|
||||
} else if (isState(StateID_Run)) {
|
||||
if (fn_177_7510(200.f)) {
|
||||
if (isWithinTargetRadius(200.f)) {
|
||||
field_0xB67 = 1;
|
||||
changeState(StateID_Walk);
|
||||
return true;
|
||||
@@ -2656,14 +2638,14 @@ bool dAcEremly_c::fn_177_8F90() {
|
||||
|
||||
if (mSomeCounter2 == 0) {
|
||||
(void)pPlayer->mPosition.absXZTo(mPosition);
|
||||
if (!fn_177_7510(220.f)) {
|
||||
if (!isWithinTargetRadius(220.f)) {
|
||||
field_0xB67 = 1;
|
||||
changeState(StateID_Walk);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (fn_177_6B10(false, 0)) {
|
||||
if (calcHeadRotation(false, 0)) {
|
||||
field_0xB67 = 1;
|
||||
changeState(StateID_Walk);
|
||||
return true;
|
||||
@@ -2672,7 +2654,7 @@ bool dAcEremly_c::fn_177_8F90() {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool dAcEremly_c::fn_177_9370(f32 f) {
|
||||
bool dAcEremly_c::isPlayerInNightRange(f32 f) {
|
||||
const dAcPy_c *pPlayer = dAcPy_c::GetLink();
|
||||
|
||||
if (!pPlayer->isRecovering() && pPlayer->mPosition.absXZTo(mStartingPos) < mPatrolAreaSize &&
|
||||
|
||||
@@ -537,7 +537,7 @@ void dAcOBarrel_c::executeState_GrabUp() {
|
||||
dAcNpcCeFriend_c *pCeFriend = mCeFriend.get();
|
||||
if (0 == sLib::calcTimer(&field_0xE15)) {
|
||||
if ((pCeLady && pCeLady->fn_12_1C20(this)) || (pCeFriend && pCeFriend->fn_11_17C0(this))) {
|
||||
getLinkage().fn_80050EA0(this);
|
||||
getLinkage().forceRemove(this);
|
||||
quat_0xD80 = quat_0xD60;
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
return;
|
||||
@@ -827,7 +827,7 @@ void dAcOBarrel_c::initializeState_Rebirth() {
|
||||
|
||||
mCyl.ClrCoSet();
|
||||
mCyl.ClrTgSet();
|
||||
getLinkage().fn_80050EA0(this);
|
||||
getLinkage().forceRemove(this);
|
||||
|
||||
mStts.SetRank(0);
|
||||
setObjectProperty(OBJ_PROP_0x200);
|
||||
@@ -1070,7 +1070,7 @@ void dAcOBarrel_c::fn_293_3DB0() {
|
||||
|
||||
extern "C" void fn_800307E0(const mVec3_c &, s32);
|
||||
void dAcOBarrel_c::fn_293_4200() {
|
||||
getLinkage().fn_80050EA0(this);
|
||||
getLinkage().forceRemove(this);
|
||||
|
||||
if (field_0xE04 || field_0xE05) {
|
||||
dAcNpcCeLady_c *pCeLady = mCeLady.get();
|
||||
|
||||
@@ -284,9 +284,9 @@ void dAcOtubo_c::executeState_Grab() {
|
||||
dAcNpcCeLady_c *lady = mCeLady.get();
|
||||
dAcNpcCeFriend_c *ceFriend = mCeFriend.get();
|
||||
if (ceFriend && ceFriend->fn_11_17C0(this)) {
|
||||
getLinkage().fn_80050EA0(this);
|
||||
getLinkage().forceRemove(this);
|
||||
} else if (lady && lady->fn_12_1C20(this)) {
|
||||
getLinkage().fn_80050EA0(this);
|
||||
getLinkage().forceRemove(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -403,7 +403,7 @@ void dAcOtubo_c::initializeState_Rebirth() {
|
||||
mSph.ClrCoSet();
|
||||
mSph.ClrTgSet();
|
||||
setObjectProperty(OBJ_PROP_0x200);
|
||||
getLinkage().fn_80050EA0(this);
|
||||
getLinkage().forceRemove(this);
|
||||
|
||||
int item_drop_table = getParams2UpperByte();
|
||||
switch (item_drop_table) {
|
||||
@@ -452,7 +452,7 @@ void dAcOtubo_c::destroy() {
|
||||
return;
|
||||
}
|
||||
fn_80022BE0(dLightEnv_c::GetPInstance(), mPosition);
|
||||
getLinkage().fn_80050EA0(this);
|
||||
getLinkage().forceRemove(this);
|
||||
|
||||
dEmitterBase_c *fx_thing = dJEffManager_c::spawnEffect(
|
||||
PARTICLE_RESOURCE_ID_MAPPING_211_, mPositionCopy2, nullptr, nullptr, nullptr, nullptr, 0, 0
|
||||
|
||||
+3
-3
@@ -115,7 +115,7 @@ void dLinkage_c::fn_80050E40(dAcObjBase_c *pActor, const f32 speed, const f32 ve
|
||||
pActor->mAngle.y = rot;
|
||||
}
|
||||
|
||||
void dLinkage_c::fn_80050EA0(dAcObjBase_c *pActor) {
|
||||
void dLinkage_c::forceRemove(dAcObjBase_c *pActor) {
|
||||
mState = STATE_DELETE;
|
||||
fn_80050EB0(pActor);
|
||||
}
|
||||
@@ -178,7 +178,7 @@ void dLinkage_c::bushTpFunc(dBgS_Acch &acch) {
|
||||
if (mType == CONNECTION_7 && mControllingActor.p_owner == player) {
|
||||
if (!checkFlag(0x10000)) {
|
||||
if (acch.ChkWallHit(nullptr)) {
|
||||
fn_80050EA0(player->getWhippedItem());
|
||||
forceRemove(player->getWhippedItem());
|
||||
return;
|
||||
}
|
||||
field_0x1A = 3;
|
||||
@@ -210,7 +210,7 @@ void dLinkage_c::fn_80051190(dAcObjBase_c *pActor) {
|
||||
}
|
||||
pLinkedActor = nullptr;
|
||||
|
||||
fn_80050EA0(pActor);
|
||||
forceRemove(pActor);
|
||||
}
|
||||
|
||||
void dLinkage_c::fn_800511E0(dAcObjBase_c *pActor) {
|
||||
|
||||
Reference in New Issue
Block a user