Link tyre.cpp

This commit is contained in:
HeartPiece 2024-05-08 18:43:11 +10:00
parent 5805593997
commit 2ce7e4b71f
10 changed files with 96 additions and 3659 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1443,7 +1443,7 @@ LIBS = [
["plugProjectMorimuraU/tyreState", True],
["plugProjectMorimuraU/tyreAnimator", True],
["plugProjectMorimuraU/tyreMgr", True],
["plugProjectMorimuraU/tyre", False],
["plugProjectMorimuraU/tyre", True],
],
},
{

View File

@ -108,14 +108,13 @@
| File | Size (bytes) | File | Size (bytes) |
| ---- | ---- | ---- | ---- |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/scrollList.cpp">scrollList.cpp</a> | 25920 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/dayEndCount.cpp">dayEndCount.cpp</a> | 26683 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/tyre.cpp">tyre.cpp</a> | 26831 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/hurryUp2D.cpp">hurryUp2D.cpp</a> | 27140 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/miulin.cpp">miulin.cpp</a> | 27520 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/jigumo.cpp">jigumo.cpp</a> | 42363 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/shijimiChou.cpp">shijimiChou.cpp</a> | 43362 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/panModoki.cpp">panModoki.cpp</a> | 49403 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/kingChappyState.cpp">kingChappyState.cpp</a> | 50795 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/umiMushi.cpp">umiMushi.cpp</a> | 60169 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/kingChappy.cpp">kingChappy.cpp</a> | 64703 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/hiScore2D.cpp">hiScore2D.cpp</a> | 103246 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/blackMan.cpp">blackMan.cpp</a> | 121665 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/zukan2D.cpp">zukan2D.cpp</a> | 133604 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/challengeResult2D.cpp">challengeResult2D.cpp</a> | 143586 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/challengeSelect2D.cpp">challengeSelect2D.cpp</a> | 185600 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/vsSelect2D.cpp">vsSelect2D.cpp</a> | 195832 | | |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/hurryUp2D.cpp">hurryUp2D.cpp</a> | 27140 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/miulin.cpp">miulin.cpp</a> | 27520 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/jigumo.cpp">jigumo.cpp</a> | 42363 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/shijimiChou.cpp">shijimiChou.cpp</a> | 43362 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/panModoki.cpp">panModoki.cpp</a> | 44941 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/kingChappyState.cpp">kingChappyState.cpp</a> | 50795 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/umiMushi.cpp">umiMushi.cpp</a> | 60169 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/kingChappy.cpp">kingChappy.cpp</a> | 64703 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/hiScore2D.cpp">hiScore2D.cpp</a> | 103246 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/blackMan.cpp">blackMan.cpp</a> | 121665 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/zukan2D.cpp">zukan2D.cpp</a> | 133604 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/challengeResult2D.cpp">challengeResult2D.cpp</a> | 143586 |
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/challengeSelect2D.cpp">challengeSelect2D.cpp</a> | 185600 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectMorimuraU/vsSelect2D.cpp">vsSelect2D.cpp</a> | 195832 |
### <section id="plugProjectNishimuraU">plugProjectNishimuraU</section>
| File | Size (bytes) | File | Size (bytes) |

View File

@ -410,6 +410,31 @@ struct Creature : public CellObject {
return Vector3f(x, y, z);
}
inline f32 getSquarePositionTo(Vector3f& pos)
{
f32 z = getPosition().z;
f32 x = getPosition().x;
f32 targetZ = pos.z;
f32 targetX = pos.x;
f32 diffZ = targetZ - z;
f32 diffX = targetX - x;
return SQUARE(diffX) + SQUARE(diffZ);
}
inline f32 getPositionTo(Vector3f& pos)
{
Vector3f sep = pos - Vector3f(getPosition().x, 0.0f, getPosition().z);
// f32 z = getPosition().z;
// f32 x = getPosition().x;
// f32 targetZ = pos.z;
// f32 targetX = pos.x;
// f32 diffZ = targetZ - z;
// f32 diffX = targetX - x;
f32 sqrDist = SQUARE(sep.x) + SQUARE(sep.z);
return sqrtf(sqrDist);
// return sqrDist;
}
void applyAirDrag(f32 drag, f32 horizontalDrag, f32 verticalDrag);
f32 calcSphereDistance(Creature* other);
int checkHell(Creature::CheckHellArg& hellArg);

View File

@ -674,6 +674,8 @@ struct EnemyBase : public Creature, public SysShape::MotionListener, virtual pub
inline void getPosition2D(Vector3f& pos) { pos = Vector3f(mPosition.x, 0.0f, mPosition.z); }
inline Vector3f getEBPosition2D() { return Vector3f(mPosition.x, 0.0f, mPosition.z); }
inline void forceMovePosition(Vector3f offset) { mPosition += offset; }
inline f32 getDamageAnimFrac(f32 scale) { return (mDamageAnimTimer / scale); }
@ -721,6 +723,17 @@ struct EnemyBase : public Creature, public SysShape::MotionListener, virtual pub
mTargetVelocity = Vector3f(speed * x, y, speed * z);
}
inline f32 getSquareDistanceTo2D(Creature* target, Vector3f& position)
{
f32 z = position.z;
f32 x = position.x;
f32 targetZ = target->getPosition().z;
f32 targetX = target->getPosition().x;
f32 diffZ = targetZ - z;
f32 diffX = targetX - x;
return SQUARE(diffX) + SQUARE(diffZ);
}
inline bool isAlertLife() { return bool(mHealth < static_cast<EnemyParmsBase*>(mParms)->mGeneral.mLifeBeforeAlert); }
inline bool isLongLegs()

View File

@ -323,6 +323,7 @@ struct Vector3 {
f32 distance(Vector3&);
f32 distance2D(Vector3&);
f32 sqrDistance(Vector3&);
f32 sqrDistance2D(Vector3&);
f32 distance(JGeometry::TVec3f&);
f32 normalise();
f32 length2D() const;
@ -607,6 +608,15 @@ inline f32 Vector3f::sqrDistance(Vector3f& them)
return diffX * diffX + diffY * diffY + diffZ * diffZ;
}
template <>
inline f32 Vector3f::sqrDistance2D(Vector3f& them)
{
f32 diffX = this->x - them.x;
f32 diffZ = this->z - them.z;
return diffX * diffX + diffZ * diffZ;
}
// this is wacky and shows up in efxEnemy.cpp
template <>
inline f32 Vector3f::distance(JGeometry::TVec3f& them)

View File

@ -58,7 +58,7 @@ MORIMURA_FILES:=\
$(BUILD_DIR)/src/plugProjectMorimuraU/tyreState.o\
$(BUILD_DIR)/src/plugProjectMorimuraU/tyreAnimator.o\
$(BUILD_DIR)/src/plugProjectMorimuraU/tyreMgr.o\
$(BUILD_DIR)/asm/plugProjectMorimuraU/tyre.o\
$(BUILD_DIR)/src/plugProjectMorimuraU/tyre.o\
DEPENDS += $(MORIMURA_FILES:.o=.d)

View File

@ -235,16 +235,25 @@ void Obj::updateCaptureMatrix()
Vector3f slotPos;
calcSlotGlobalPos(slotPos);
Vector3f pelletPos1(pellet->getPosition().x, 0.0f, pellet->getPosition().z);
Vector3f diff = slotPos - pelletPos1;
diff.y = 0.0f;
f32 dist2D = 0.0f;
if (diff.sqrMagnitude2D() > 0.0f) {
f32 dist = pellet->getSquarePositionTo(slotPos);
// Vector3f pelletPos1(pellet->getPosition().x, 0.0f, pellet->getPosition().z);
// Vector3f diff = slotPos - pelletPos1;
// diff.y = 0.0f;
f32 dist2D = 0.0f;
if (dist > dist2D) {
dist2D = getPositionTo(slotPos);
// f32 z = pellet->getPosition().z;
// f32 x = pellet->getPosition().x;
// f32 slotX = slotPos.x;
// f32 slotZ = slotPos.z;
// f32 diffX = slotX - x;
// f32 diffZ = slotZ - z;
// dist2D = diffX * diffX + diffZ * diffZ;
// sqrtf(dist2D);
// dist2D =
// THIS has to be an inline
Vector3f pelletPos2(pellet->getPosition().x, 0.0f, pellet->getPosition().z);
Vector3f diff2D = slotPos - pelletPos2;
diff2D.y = 0.0f;
dist2D = diff2D.length2D();
// diff2D.y = 0.0f;
// dist2D = diff2D.length2D();
}
f32 pelletZ = mCarrySizeDiff * 0.2f + dist2D;
@ -848,7 +857,7 @@ bool Obj::isCarryToGoal()
homeRadius = 60.0f;
}
homeRadius *= homeRadius;
// Vector3f diff = mPosition - mHomePosition;
Vector3f pos = mPosition;
if (sqrDistanceXZ(pos, mHomePosition) < homeRadius) {
releasePathFinder();
@ -863,23 +872,13 @@ bool Obj::isCarryToGoal()
rad2 *= rad2;
rad3 *= rad3;
// Vector3f nextWPPos = mNextWayPointPosition;
// nextWPPos = pos - nextWPPos;
// f32 posZ = mNextWayPointPosition.z;
// f32 posX = mNextWayPointPosition.x;
f32 sqrDist = sqrDistanceXZ(pos, mNextWayPointPosition);
// f32 cross = (posX * posX + posZ * posZ);
Creature* creature = getCarryTarget();
f32 something = -1.0f;
f32 sqrDist = pos.sqrDistance2D(mNextWayPointPosition);
Creature* pellet = getCarryTarget();
f32 something = -1.0f;
// this is so a pellet inline.
if (creature) {
something = mNextWayPointPosition.z;
f32 waypointX = mNextWayPointPosition.x;
Vector3f creaturePos = creature->getPosition();
f32 creaturePosZ = creaturePos.z;
Vector3f creaturePos2 = creature->getPosition();
something = (creaturePos2.x - waypointX) * (creaturePos2.x - waypointX) + (creaturePosZ - something) * (creaturePosZ - something);
if (pellet) {
something = getSquareDistanceTo2D(pellet, mNextWayPointPosition);
}
if ((sqrDist < rad2) || (something > 0.0f && (something < rad3))) {
mMoveSpeedTimer = 0;
@ -906,193 +905,6 @@ bool Obj::isCarryToGoal()
}
}
return false;
/*
stwu r1, -0x90(r1)
mflr r0
stw r0, 0x94(r1)
stfd f31, 0x80(r1)
psq_st f31, 136(r1), 0, qr0
stfd f30, 0x70(r1)
psq_st f30, 120(r1), 0, qr0
stfd f29, 0x60(r1)
psq_st f29, 104(r1), 0, qr0
stfd f28, 0x50(r1)
psq_st f28, 88(r1), 0, qr0
stfd f27, 0x40(r1)
psq_st f27, 72(r1), 0, qr0
stfd f26, 0x30(r1)
psq_st f26, 56(r1), 0, qr0
stw r31, 0x2c(r1)
stw r30, 0x28(r1)
mr r30, r3
lbz r0, 0x2f0(r3)
cmplwi r0, 0
bne lbl_803511E4
li r3, 0
b lbl_803513B4
lbl_803511E4:
lwz r0, 0x318(r30)
lwz r3, 0xc0(r30)
cmpwi r0, 0x64
lfs f5, 0x384(r3)
ble lbl_803511FC
lfs f5, lbl_8051E508@sda21(r2)
lbl_803511FC:
lfs f4, 0x194(r30)
fmuls f5, f5, f5
lfs f0, 0x1a0(r30)
lfs f3, 0x18c(r30)
fsubs f1, f4, f0
lfs f0, 0x198(r30)
fsubs f2, f3, f0
fmuls f0, f1, f1
fmadds f0, f2, f2, f0
fcmpo cr0, f0, f5
bge lbl_80351238
mr r3, r30
bl releasePathFinder__Q34Game13PanModokiBase3ObjFv
li r3, 1
b lbl_803513B4
lbl_80351238:
cmpwi r0, 0x64
lfs f26, lbl_8051E4DC@sda21(r2)
lfs f31, lbl_8051E4D8@sda21(r2)
ble lbl_80351250
lfs f26, lbl_8051E508@sda21(r2)
lfs f31, lbl_8051E50C@sda21(r2)
lbl_80351250:
lfs f0, 0x2c4(r30)
fmuls f26, f26, f26
lfs f1, 0x2bc(r30)
fmuls f31, f31, f31
fsubs f0, f4, f0
mr r3, r30
fsubs f1, f3, f1
fmuls f0, f0, f0
fmadds f27, f1, f1, f0
bl getCarryTarget__Q34Game13PanModokiBase3ObjFv
or. r31, r3, r3
lfs f1, lbl_8051E510@sda21(r2)
beq lbl_803512D4
mr r4, r31
addi r3, r1, 8
lwz r12, 0(r31)
lfs f28, 0x2c4(r30)
lwz r12, 8(r12)
lfs f29, 0x2bc(r30)
mtctr r12
bctrl
mr r4, r31
addi r3, r1, 0x14
lwz r12, 0(r31)
lfs f30, 0x10(r1)
lwz r12, 8(r12)
mtctr r12
bctrl
fsubs f0, f30, f28
lfs f1, 0x14(r1)
fsubs f1, f1, f29
fmuls f0, f0, f0
fmadds f1, f1, f1, f0
lbl_803512D4:
fcmpo cr0, f27, f26
blt lbl_803512F0
lfs f0, lbl_8051E490@sda21(r2)
fcmpo cr0, f1, f0
ble lbl_803513B0
fcmpo cr0, f1, f31
bge lbl_803513B0
lbl_803512F0:
li r0, 0
stw r0, 0x318(r30)
lha r3, 0x2e8(r30)
lha r0, 0x2e6(r30)
cmpw r3, r0
bne lbl_80351330
lfs f0, 0x198(r30)
fcmpo cr0, f1, f31
stfs f0, 0x2bc(r30)
lfs f0, 0x19c(r30)
stfs f0, 0x2c0(r30)
lfs f0, 0x1a0(r30)
stfs f0, 0x2c4(r30)
bge lbl_803513B0
li r3, 1
b lbl_803513B4
lbl_80351330:
lwz r4, 0x384(r30)
b lbl_803513A8
lbl_80351338:
lha r0, 0x20(r4)
cmpw r0, r3
bne lbl_803513A4
sth r3, 0x2ea(r30)
lwz r3, 0xc(r4)
cmplwi r3, 0
beq lbl_80351360
lha r0, 0x20(r3)
sth r0, 0x2e8(r30)
b lbl_80351368
lbl_80351360:
lha r0, 0x2e6(r30)
sth r0, 0x2e8(r30)
lbl_80351368:
lwz r3, mapMgr__4Game@sda21(r13)
lha r4, 0x2e8(r30)
lwz r3, 8(r3)
lwz r12, 0(r3)
lwz r12, 0x2c(r12)
mtctr r12
bctrl
lfs f1, 0x50(r3)
lfs f2, 0x54(r3)
lfs f0, 0x4c(r3)
li r3, 0
stfs f0, 0x2bc(r30)
stfs f1, 0x2c0(r30)
stfs f2, 0x2c4(r30)
b lbl_803513B4
lbl_803513A4:
lwz r4, 0xc(r4)
lbl_803513A8:
cmplwi r4, 0
bne lbl_80351338
lbl_803513B0:
li r3, 0
lbl_803513B4:
psq_l f31, 136(r1), 0, qr0
lfd f31, 0x80(r1)
psq_l f30, 120(r1), 0, qr0
lfd f30, 0x70(r1)
psq_l f29, 104(r1), 0, qr0
lfd f29, 0x60(r1)
psq_l f28, 88(r1), 0, qr0
lfd f28, 0x50(r1)
psq_l f27, 72(r1), 0, qr0
lfd f27, 0x40(r1)
psq_l f26, 56(r1), 0, qr0
lfd f26, 0x30(r1)
lwz r31, 0x2c(r1)
lwz r0, 0x94(r1)
lwz r30, 0x28(r1)
mtlr r0
addi r1, r1, 0x90
blr
*/
}
/**

View File

@ -448,8 +448,9 @@ void Obj::frontRollMtxCalc()
mat.makeTR(translation, rotation);
}
// WHY are these capitalised differently is2g
mTyrePositions[0] = mModel->getJoint("tyreFL")->getWorldMatrix()->getColumn(3);
mTyrePositions[1] = mModel->getJoint("tyreFR")->getWorldMatrix()->getColumn(3);
mTyrePositions[1] = mModel->getJoint("TyreFR")->getWorldMatrix()->getColumn(3);
PSMTXConcat(worldMat->mMatrix.mtxView, mat.mMatrix.mtxView, worldMat->mMatrix.mtxView);
PSMTXConcat(J3DSys::mCurrentMtx, mat.mMatrix.mtxView, J3DSys::mCurrentMtx);
@ -599,10 +600,9 @@ void Obj::flick()
{
Piki* obj = *iterPiki;
if (obj->isAlive() && obj->mFloorTriangle) {
Vector3f pos = Vector3f(mPosition.x, mPosition.y, mPosition.z);
Vector3f objPos = Vector3f(obj->getPosition().x, 0.0f, obj->getPosition().z);
if (sqrDistanceXZ(objPos, pos) < 900.0f) {
InteractPress act(this, C_GENERALPARMS.mAttackDamage, nullptr);
f32 dist = getSquareDistanceTo2D(obj, mPosition);
if (dist < 900.0f) {
InteractPress act(this, C_GENERALPARMS.mAttackDamage(), nullptr);
obj->stimulate(act);
}
}
@ -611,434 +611,20 @@ void Obj::flick()
Iterator<Navi> iterNavi(naviMgr);
CI_LOOP(iterNavi)
{
Navi* obj = *iterNavi;
Vector3f pos = Vector3f(mPosition.x, 0.0f, mPosition.z);
Vector3f objPos = Vector3f(obj->getPosition().x, 0.0f, obj->getPosition().z);
if (sqrDistanceXZ(objPos, pos) < 900.0f) {
InteractPress act(this, C_GENERALPARMS.mAttackDamage, nullptr);
Navi* obj = *iterNavi;
f32 dist = getSquareDistanceTo2D(obj, mPosition);
if (dist < 900.0f) {
InteractPress act(this, C_GENERALPARMS.mAttackDamage(), nullptr);
obj->stimulate(act);
}
}
f32 range = C_GENERALPARMS.mShakeChance.mValue;
f32 knockback = C_GENERALPARMS.mShakeKnockback.mValue;
f32 damage = C_GENERALPARMS.mShakeDamage.mValue;
f32 range = C_GENERALPARMS.mShakeChance();
f32 knockback = C_GENERALPARMS.mShakeKnockback();
f32 damage = C_GENERALPARMS.mShakeDamage();
EnemyFunc::flickNearbyPikmin(this, C_GENERALPARMS.mShakeRange.mValue, knockback, damage, FLICK_BACKWARD_ANGLE, nullptr);
EnemyFunc::flickNearbyPikmin(this, C_GENERALPARMS.mShakeRange(), knockback, damage, FLICK_BACKWARD_ANGLE, nullptr);
EnemyFunc::flickStickPikmin(this, range, knockback, damage, FLICK_BACKWARD_ANGLE, nullptr);
/*
stwu r1, -0xc0(r1)
mflr r0
stw r0, 0xc4(r1)
stfd f31, 0xb0(r1)
psq_st f31, 184(r1), 0, qr0
stfd f30, 0xa0(r1)
psq_st f30, 168(r1), 0, qr0
stfd f29, 0x90(r1)
psq_st f29, 152(r1), 0, qr0
stfd f28, 0x80(r1)
psq_st f28, 136(r1), 0, qr0
stw r31, 0x7c(r1)
stw r30, 0x78(r1)
mr r31, r3
lwz r3, cameraMgr__4Game@sda21(r13)
addi r5, r31, 0x18c
li r4, 0xf
li r6, 2
bl "startVibration__Q24Game9CameraMgrFiR10Vector3<f>i"
lwz r3, rumbleMgr__4Game@sda21(r13)
addi r5, r31, 0x18c
li r4, 0xd
li r6, 2
bl "startRumble__Q24Game9RumbleMgrFiR10Vector3<f>i"
li r0, 0
lwz r3, pikiMgr__4Game@sda21(r13)
lis r4, "__vt__22Iterator<Q24Game4Piki>"@ha
stw r0, 0x74(r1)
addi r4, r4, "__vt__22Iterator<Q24Game4Piki>"@l
cmplwi r0, 0
stw r4, 0x68(r1)
stw r0, 0x6c(r1)
stw r3, 0x70(r1)
bne lbl_803ADE64
lwz r12, 0(r3)
lwz r12, 0x18(r12)
mtctr r12
bctrl
stw r3, 0x6c(r1)
b lbl_803AE08C
lbl_803ADE64:
lwz r12, 0(r3)
lwz r12, 0x18(r12)
mtctr r12
bctrl
stw r3, 0x6c(r1)
b lbl_803ADED0
lbl_803ADE7C:
lwz r3, 0x70(r1)
lwz r4, 0x6c(r1)
lwz r12, 0(r3)
lwz r12, 0x20(r12)
mtctr r12
bctrl
mr r4, r3
lwz r3, 0x74(r1)
lwz r12, 0(r3)
lwz r12, 8(r12)
mtctr r12
bctrl
clrlwi. r0, r3, 0x18
bne lbl_803AE08C
lwz r3, 0x70(r1)
lwz r4, 0x6c(r1)
lwz r12, 0(r3)
lwz r12, 0x14(r12)
mtctr r12
bctrl
stw r3, 0x6c(r1)
lbl_803ADED0:
lwz r12, 0x68(r1)
addi r3, r1, 0x68
lwz r12, 0x10(r12)
mtctr r12
bctrl
clrlwi. r0, r3, 0x18
beq lbl_803ADE7C
b lbl_803AE08C
lbl_803ADEF0:
lwz r3, 0x70(r1)
lwz r12, 0(r3)
lwz r12, 0x20(r12)
mtctr r12
bctrl
lwz r12, 0(r3)
mr r30, r3
lwz r12, 0xa8(r12)
mtctr r12
bctrl
clrlwi. r0, r3, 0x18
beq lbl_803ADFD0
lwz r0, 0xc8(r30)
cmplwi r0, 0
beq lbl_803ADFD0
mr r4, r30
addi r3, r1, 0x20
lwz r12, 0(r30)
lfs f29, 0x194(r31)
lwz r12, 8(r12)
lfs f30, 0x18c(r31)
mtctr r12
bctrl
mr r4, r30
addi r3, r1, 0x2c
lwz r12, 0(r30)
lfs f31, 0x28(r1)
lwz r12, 8(r12)
mtctr r12
bctrl
fsubs f1, f31, f29
lfs f2, 0x2c(r1)
lfs f0, lbl_8051F5D0@sda21(r2)
fsubs f2, f2, f30
fmuls f1, f1, f1
fmadds f1, f2, f2, f1
fcmpo cr0, f1, f0
bge lbl_803ADFD0
lwz r5, 0xc0(r31)
lis r4, __vt__Q24Game11Interaction@ha
lis r3, __vt__Q24Game13InteractPress@ha
li r0, 0
lfs f0, 0x604(r5)
addi r4, r4, __vt__Q24Game11Interaction@l
addi r5, r3, __vt__Q24Game13InteractPress@l
mr r3, r30
stw r4, 0x58(r1)
addi r4, r1, 0x58
stw r31, 0x5c(r1)
stw r5, 0x58(r1)
stfs f0, 0x60(r1)
stw r0, 0x64(r1)
lwz r12, 0(r30)
lwz r12, 0x1a4(r12)
mtctr r12
bctrl
lbl_803ADFD0:
lwz r0, 0x74(r1)
cmplwi r0, 0
bne lbl_803ADFFC
lwz r3, 0x70(r1)
lwz r4, 0x6c(r1)
lwz r12, 0(r3)
lwz r12, 0x14(r12)
mtctr r12
bctrl
stw r3, 0x6c(r1)
b lbl_803AE08C
lbl_803ADFFC:
lwz r3, 0x70(r1)
lwz r4, 0x6c(r1)
lwz r12, 0(r3)
lwz r12, 0x14(r12)
mtctr r12
bctrl
stw r3, 0x6c(r1)
b lbl_803AE070
lbl_803AE01C:
lwz r3, 0x70(r1)
lwz r4, 0x6c(r1)
lwz r12, 0(r3)
lwz r12, 0x20(r12)
mtctr r12
bctrl
mr r4, r3
lwz r3, 0x74(r1)
lwz r12, 0(r3)
lwz r12, 8(r12)
mtctr r12
bctrl
clrlwi. r0, r3, 0x18
bne lbl_803AE08C
lwz r3, 0x70(r1)
lwz r4, 0x6c(r1)
lwz r12, 0(r3)
lwz r12, 0x14(r12)
mtctr r12
bctrl
stw r3, 0x6c(r1)
lbl_803AE070:
lwz r12, 0x68(r1)
addi r3, r1, 0x68
lwz r12, 0x10(r12)
mtctr r12
bctrl
clrlwi. r0, r3, 0x18
beq lbl_803AE01C
lbl_803AE08C:
lwz r3, 0x70(r1)
lwz r12, 0(r3)
lwz r12, 0x1c(r12)
mtctr r12
bctrl
lwz r4, 0x6c(r1)
cmplw r4, r3
bne lbl_803ADEF0
li r0, 0
lwz r3, naviMgr__4Game@sda21(r13)
lis r4, "__vt__22Iterator<Q24Game4Navi>"@ha
stw r0, 0x54(r1)
addi r4, r4, "__vt__22Iterator<Q24Game4Navi>"@l
cmplwi r0, 0
stw r4, 0x48(r1)
stw r0, 0x4c(r1)
stw r3, 0x50(r1)
bne lbl_803AE0EC
lwz r12, 0(r3)
lwz r12, 0x18(r12)
mtctr r12
bctrl
stw r3, 0x4c(r1)
b lbl_803AE174
lbl_803AE0EC:
lwz r12, 0(r3)
lwz r12, 0x18(r12)
mtctr r12
bctrl
stw r3, 0x4c(r1)
b lbl_803AE158
lbl_803AE104:
lwz r3, 0x50(r1)
lwz r4, 0x4c(r1)
lwz r12, 0(r3)
lwz r12, 0x20(r12)
mtctr r12
bctrl
mr r4, r3
lwz r3, 0x54(r1)
lwz r12, 0(r3)
lwz r12, 8(r12)
mtctr r12
bctrl
clrlwi. r0, r3, 0x18
bne lbl_803AE174
lwz r3, 0x50(r1)
lwz r4, 0x4c(r1)
lwz r12, 0(r3)
lwz r12, 0x14(r12)
mtctr r12
bctrl
stw r3, 0x4c(r1)
lbl_803AE158:
lwz r12, 0x48(r1)
addi r3, r1, 0x48
lwz r12, 0x10(r12)
mtctr r12
bctrl
clrlwi. r0, r3, 0x18
beq lbl_803AE104
lbl_803AE174:
lfs f31, lbl_8051F5D0@sda21(r2)
b lbl_803AE2F0
lbl_803AE17C:
lwz r3, 0x50(r1)
lwz r12, 0(r3)
lwz r12, 0x20(r12)
mtctr r12
bctrl
mr r30, r3
addi r3, r1, 8
lwz r12, 0(r30)
mr r4, r30
lfs f28, 0x194(r31)
lwz r12, 8(r12)
lfs f30, 0x18c(r31)
mtctr r12
bctrl
mr r4, r30
addi r3, r1, 0x14
lwz r12, 0(r30)
lfs f29, 0x10(r1)
lwz r12, 8(r12)
mtctr r12
bctrl
fsubs f0, f29, f28
lfs f1, 0x14(r1)
fsubs f1, f1, f30
fmuls f0, f0, f0
fmadds f0, f1, f1, f0
fcmpo cr0, f0, f31
bge lbl_803AE234
lwz r5, 0xc0(r31)
lis r4, __vt__Q24Game11Interaction@ha
lis r3, __vt__Q24Game13InteractPress@ha
li r0, 0
lfs f0, 0x604(r5)
addi r4, r4, __vt__Q24Game11Interaction@l
addi r5, r3, __vt__Q24Game13InteractPress@l
mr r3, r30
stw r4, 0x38(r1)
addi r4, r1, 0x38
stw r31, 0x3c(r1)
stw r5, 0x38(r1)
stfs f0, 0x40(r1)
stw r0, 0x44(r1)
lwz r12, 0(r30)
lwz r12, 0x1a4(r12)
mtctr r12
bctrl
lbl_803AE234:
lwz r0, 0x54(r1)
cmplwi r0, 0
bne lbl_803AE260
lwz r3, 0x50(r1)
lwz r4, 0x4c(r1)
lwz r12, 0(r3)
lwz r12, 0x14(r12)
mtctr r12
bctrl
stw r3, 0x4c(r1)
b lbl_803AE2F0
lbl_803AE260:
lwz r3, 0x50(r1)
lwz r4, 0x4c(r1)
lwz r12, 0(r3)
lwz r12, 0x14(r12)
mtctr r12
bctrl
stw r3, 0x4c(r1)
b lbl_803AE2D4
lbl_803AE280:
lwz r3, 0x50(r1)
lwz r4, 0x4c(r1)
lwz r12, 0(r3)
lwz r12, 0x20(r12)
mtctr r12
bctrl
mr r4, r3
lwz r3, 0x54(r1)
lwz r12, 0(r3)
lwz r12, 8(r12)
mtctr r12
bctrl
clrlwi. r0, r3, 0x18
bne lbl_803AE2F0
lwz r3, 0x50(r1)
lwz r4, 0x4c(r1)
lwz r12, 0(r3)
lwz r12, 0x14(r12)
mtctr r12
bctrl
stw r3, 0x4c(r1)
lbl_803AE2D4:
lwz r12, 0x48(r1)
addi r3, r1, 0x48
lwz r12, 0x10(r12)
mtctr r12
bctrl
clrlwi. r0, r3, 0x18
beq lbl_803AE280
lbl_803AE2F0:
lwz r3, 0x50(r1)
lwz r12, 0(r3)
lwz r12, 0x1c(r12)
mtctr r12
bctrl
lwz r4, 0x4c(r1)
cmplw r4, r3
bne lbl_803AE17C
lwz r5, 0xc0(r31)
mr r3, r31
lfs f4, lbl_8051F5C8@sda21(r2)
li r4, 0
lfs f29, 0x4c4(r5)
lfs f30, 0x4ec(r5)
fmr f2, f29
lfs f28, 0x53c(r5)
fmr f3, f30
lfs f1, 0x514(r5)
bl
"flickNearbyPikmin__Q24Game9EnemyFuncFPQ24Game8CreatureffffP23Condition<Q24Game4Piki>"
fmr f1, f28
lfs f4, lbl_8051F5C8@sda21(r2)
fmr f2, f29
mr r3, r31
fmr f3, f30
li r4, 0
bl
"flickStickPikmin__Q24Game9EnemyFuncFPQ24Game8CreatureffffP23Condition<Q24Game4Piki>"
psq_l f31, 184(r1), 0, qr0
lfd f31, 0xb0(r1)
psq_l f30, 168(r1), 0, qr0
lfd f30, 0xa0(r1)
psq_l f29, 152(r1), 0, qr0
lfd f29, 0x90(r1)
psq_l f28, 136(r1), 0, qr0
lfd f28, 0x80(r1)
lwz r31, 0x7c(r1)
lwz r0, 0xc4(r1)
lwz r30, 0x78(r1)
mtlr r0
addi r1, r1, 0xc0
blr
*/
}
/**

View File

@ -979,3 +979,5 @@ You have 4472 out of 10000 Pokos and 112 out of 201 treasures.",2024-05-07 18:35
You have 4490 out of 10000 Pokos and 112 out of 201 treasures.",2024-05-08 16:06:37.848797
4507,2097208,0.4507844634283906,112,399139,0.5599153265175575,"
You have 4507 out of 10000 Pokos and 112 out of 201 treasures.",2024-05-08 16:32:30.591874
4528,2106872,0.452861692322507,112,400248,0.5614710404345338,"
You have 4528 out of 10000 Pokos and 112 out of 201 treasures.",2024-05-08 18:40:42.806286

1 code_count_in_pokos code_completion_in_bytes code_completion_in_percentage data_count_in_treasures data_completion_in_bytes data_completion_in_percentage sentence created_at
979
980
981
982
983