mirror of
https://github.com/projectPiki/pikmin2.git
synced 2025-02-26 08:40:02 +00:00
pikiMgr closer
This commit is contained in:
parent
7767bd2917
commit
6236bb6154
@ -33,11 +33,11 @@
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASDSPChannel.cpp">JAudio//JAS/JASDSPChannel.cpp</a> | 11462 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASTaskThread.cpp">JAudio//JAS/JASTaskThread.cpp</a> | 12200 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASWSParser.cpp">JAudio//JAS/JASWSParser.cpp</a> | 12435 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DJoint.cpp">J3D/J3DJoint.cpp</a> | 13780 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JParticle/JPADynamicsBlock.cpp">JParticle/JPADynamicsBlock.cpp</a> | 13887 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASAiCtrl.cpp">JAudio//JAS/JASAiCtrl.cpp</a> | 14267 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JGadget/std-vector.cpp">JGadget/std-vector.cpp</a> | 16058 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio_JParticle/object-particle.cpp">JStudio_JParticle/object-particle.cpp</a> | 16762 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio/stb.cpp">JStudio/stb.cpp</a> | 16978 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio_JStage/object-camera.cpp">JStudio_JStage/object-camera.cpp</a> | 17767 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DCluster.cpp">J3D/J3DCluster.cpp</a> | 18124 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DTextBoxEx.cpp">J2D/J2DTextBoxEx.cpp</a> | 18983 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAISystemInterface.cpp">JAudio//JAI/JAISystemInterface.cpp</a> | 19058 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASChannel.cpp">JAudio//JAS/JASChannel.cpp</a> | 19166 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JMessage/resource.cpp">JMessage/resource.cpp</a> | 19364 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DShape.cpp">J3D/J3DShape.cpp</a> | 19482 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DShape.cpp">J3D/J3DShape.cpp</a> | 14992 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JGadget/std-vector.cpp">JGadget/std-vector.cpp</a> | 16058 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio_JParticle/object-particle.cpp">JStudio_JParticle/object-particle.cpp</a> | 16762 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio/stb.cpp">JStudio/stb.cpp</a> | 16978 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio_JStage/object-camera.cpp">JStudio_JStage/object-camera.cpp</a> | 17767 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DCluster.cpp">J3D/J3DCluster.cpp</a> | 18124 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J2D/J2DTextBoxEx.cpp">J2D/J2DTextBoxEx.cpp</a> | 18983 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAISystemInterface.cpp">JAudio//JAI/JAISystemInterface.cpp</a> | 19058 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASChannel.cpp">JAudio//JAS/JASChannel.cpp</a> | 19166 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JMessage/resource.cpp">JMessage/resource.cpp</a> | 19364 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAS/JASBNKParser.cpp">JAudio//JAS/JASBNKParser.cpp</a> | 19529 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DTevs.cpp">J3D/J3DTevs.cpp</a> | 20295 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/JStudio/fvb.cpp">JStudio/fvb.cpp</a> | 20306 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DModelLoaderCalcSize.cpp">J3D/J3DModelLoaderCalcSize.cpp</a> | 21199 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JSystem/J3D/J3DMaterial.cpp">J3D/J3DMaterial.cpp</a> | 21468 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/JAudio/JSystem/JAI/JAIAnimation.cpp">JAudio//JAI/JAIAnimation.cpp</a> | 21643 |
|
||||
@ -73,7 +73,7 @@
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectHikinoU/PSBnkMgr.cpp">PSBnkMgr.cpp</a> | 10222 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectHikinoU/PSSe.cpp">PSSe.cpp</a> | 22622 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectHikinoU/PSSeq.cpp">PSSeq.cpp</a> | 27120 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectHikinoU/PSAutoBgm.cpp">PSAutoBgm.cpp</a> | 53589 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectHikinoU/PSGame.cpp">PSGame.cpp</a> | 75602 | | |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectHikinoU/PSGame.cpp">PSGame.cpp</a> | 75560 | | |
|
||||
|
||||
### <section id="plugProjectKandoU">plugProjectKandoU</section>
|
||||
| File | Size (bytes) | File | Size (bytes) |
|
||||
@ -91,8 +91,8 @@
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/itemGate.cpp">itemGate.cpp</a> | 32798 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/gamePlayDataMemCard.cpp">gamePlayDataMemCard.cpp</a> | 36029 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/piki.cpp">piki.cpp</a> | 36278 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/gamePlayData.cpp">gamePlayData.cpp</a> | 36923 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/routeMgr.cpp">routeMgr.cpp</a> | 39120 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/gameGeneratorCache.cpp">gameGeneratorCache.cpp</a> | 40204 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/mapMgr.cpp">mapMgr.cpp</a> | 41795 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/collinfo.cpp">collinfo.cpp</a> | 43421 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/pikiMgr.cpp">pikiMgr.cpp</a> | 47897 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/singleGS_CaveGame.cpp">singleGS_CaveGame.cpp</a> | 52772 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/pikiMgr.cpp">pikiMgr.cpp</a> | 41251 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/mapMgr.cpp">mapMgr.cpp</a> | 41795 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/collinfo.cpp">collinfo.cpp</a> | 43421 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/singleGS_CaveGame.cpp">singleGS_CaveGame.cpp</a> | 52772 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/cellPyramid.cpp">cellPyramid.cpp</a> | 52800 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/aiFormation.cpp">aiFormation.cpp</a> | 53092 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/navi_demoCheck.cpp">navi_demoCheck.cpp</a> | 57727 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/itemWeed.cpp">itemWeed.cpp</a> | 62058 |
|
||||
| <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/pelletState.cpp">pelletState.cpp</a> | 63200 | <a href="https://github.com/projectPiki/pikmin2/tree/main/src/plugProjectKandoU/itemUjamushi.cpp">itemUjamushi.cpp</a> | 63548 |
|
||||
|
@ -67,7 +67,7 @@ struct SeqTrackRoot : public SeqTrackBase {
|
||||
f32 mSwingMagnitude; // _34, how significant the swing is (?)
|
||||
int mSwingState; // _38, 0 = olimar, 1 = louie
|
||||
BeatMgr mBeatMgr; // _3C
|
||||
u16 mBeatInterval; // _3E
|
||||
u16 mBeatInterval; // _3E, used to determine swing movement rate, usually 60
|
||||
TaskEntry_Tempo mTempoTask; // _40, for low health
|
||||
TaskEntry_OuterParam _100; // _100
|
||||
TaskEntry_PitMod mPitchModTask; // _16C, for taking damage
|
||||
|
@ -8,12 +8,13 @@
|
||||
#include "efx/Toe.h"
|
||||
#include "BitFlag.h"
|
||||
|
||||
#define PKEFF_Light (0x1)
|
||||
#define PKEFF_Doped (0x2)
|
||||
#define PKEFF_Fire (0x4)
|
||||
#define PKEFF_Gas (0x8)
|
||||
#define PKEFF_Water (0x10)
|
||||
#define PKEFF_Drown (0x20)
|
||||
#define PKEFF_Light (0x1)
|
||||
#define PKEFF_Doped (0x2)
|
||||
#define PKEFF_Fire (0x4)
|
||||
#define PKEFF_Gas (0x8)
|
||||
#define PKEFF_Water (0x10)
|
||||
#define PKEFF_Drown (0x20)
|
||||
#define PKEFF_InMovieDraw (0x80000000)
|
||||
|
||||
namespace efx {
|
||||
void createSimplePkAp(Vector3f&);
|
||||
@ -272,10 +273,18 @@ struct TPkEffect {
|
||||
|
||||
inline bool isFlag(int flagID) { return mFlags.typeView & flagID; }
|
||||
|
||||
inline void clear()
|
||||
// for start of cutscene, disable all effects
|
||||
inline void killAllEffects()
|
||||
{
|
||||
mFlags.clear();
|
||||
mBackupFlags.clear();
|
||||
if (!isFlag(PKEFF_InMovieDraw)) {
|
||||
mBackupFlags.typeView = mFlags.typeView;
|
||||
mFlags.clear();
|
||||
setFlag(PKEFF_InMovieDraw);
|
||||
}
|
||||
|
||||
mNageBlur.forceKill();
|
||||
mMoeA.forceKill();
|
||||
mBlackDown.forceKill();
|
||||
killKourin_();
|
||||
killDoping_();
|
||||
killNage_();
|
||||
@ -290,13 +299,12 @@ struct TPkEffect {
|
||||
|
||||
inline void doDead()
|
||||
{
|
||||
clear();
|
||||
killAllEffects();
|
||||
createSimpleDead(*mHamonPosPtr, mPikiColor);
|
||||
}
|
||||
|
||||
inline void doWaterEntry()
|
||||
inline void doWaterEntry(bool flag)
|
||||
{
|
||||
bool flag = isFlag(PKEFF_Drown);
|
||||
setFlag(PKEFF_Drown);
|
||||
updateHamon_();
|
||||
if (!flag) {
|
||||
@ -304,6 +312,24 @@ struct TPkEffect {
|
||||
}
|
||||
}
|
||||
|
||||
inline void doCreateWater()
|
||||
{
|
||||
setFlag(PKEFF_Water);
|
||||
createWater_(mAltStemPosition);
|
||||
}
|
||||
|
||||
inline void doCreateChudoku()
|
||||
{
|
||||
setFlag(PKEFF_Gas);
|
||||
createChudoku_(mStemPosition);
|
||||
}
|
||||
|
||||
inline void doCreateMoe()
|
||||
{
|
||||
setFlag(PKEFF_Fire);
|
||||
createMoe_(mStemPosition);
|
||||
}
|
||||
|
||||
inline void doWaterExit()
|
||||
{
|
||||
resetFlag(PKEFF_Drown);
|
||||
@ -341,11 +367,26 @@ struct TPkEffect {
|
||||
killKourin_();
|
||||
}
|
||||
|
||||
inline void setMovieDraw()
|
||||
// for following movie draw, recreate all active effects
|
||||
inline void createAllEffects()
|
||||
{
|
||||
doKillDoping();
|
||||
doDoping();
|
||||
// needs a lot more
|
||||
if (isFlag(PKEFF_InMovieDraw)) {
|
||||
mFlags.typeView = mBackupFlags.typeView;
|
||||
resetFlag(PKEFF_InMovieDraw);
|
||||
}
|
||||
|
||||
if (isFlag(PKEFF_Light))
|
||||
doLightEffect();
|
||||
if (isFlag(PKEFF_Doped))
|
||||
doDoping();
|
||||
if (isFlag(PKEFF_Fire))
|
||||
doCreateMoe();
|
||||
if (isFlag(PKEFF_Gas))
|
||||
doCreateChudoku();
|
||||
if (isFlag(PKEFF_Water))
|
||||
doCreateWater();
|
||||
if (isFlag(PKEFF_Drown))
|
||||
doWaterEntry(isFlag(PKEFF_Drown));
|
||||
}
|
||||
|
||||
BitFlag<u32> mFlags; // _00
|
||||
@ -363,15 +404,14 @@ struct TPkEffect {
|
||||
TPkMoeA mMoeA; // _48
|
||||
TPkBlackDown mBlackDown; // _5C
|
||||
ToeKourin mOeKourin; // _70
|
||||
// u8 _8C[4]; // _8C, unknown
|
||||
ToeDoping mOeDoping; // _90
|
||||
ToeNagekira mOeNagekira; // _AC
|
||||
ToeMoeBC mOeMoeBC; // _C8
|
||||
ToeChudoku mOeChudoku; // _100
|
||||
ToeWater mOeWater; // _11C
|
||||
ToeHamonA mOeHamonA; // _154
|
||||
ToeHamonB mOeHamonB; // _170
|
||||
ToeMoeSmoke mOeMoeSmoke; // _18C
|
||||
ToeDoping mOeDoping; // _90
|
||||
ToeNagekira mOeNagekira; // _AC
|
||||
ToeMoeBC mOeMoeBC; // _C8
|
||||
ToeChudoku mOeChudoku; // _100
|
||||
ToeWater mOeWater; // _11C
|
||||
ToeHamonA mOeHamonA; // _154
|
||||
ToeHamonB mOeHamonB; // _170
|
||||
ToeMoeSmoke mOeMoeSmoke; // _18C
|
||||
};
|
||||
|
||||
struct TPkEffectMgr : public JKRDisposer {
|
||||
|
@ -2204,9 +2204,9 @@ u16 seqCpuSync(JASTrack* track, u16 command)
|
||||
case 0x600:
|
||||
case 0x300:
|
||||
case 0x800:
|
||||
JADUtility::PrmSetRc<PSAutoBgm::Track>* prm = static_cast<PSAutoBgm::AutoBgm*>(seq)->mConductorMgr.mPrmSetRc;
|
||||
PSAutoBgm::Conductor* prm = static_cast<PSAutoBgm::AutoBgm*>(seq)->mConductorMgr.mPrmSetRc;
|
||||
P2ASSERTLINE(2128, prm);
|
||||
return ((PSAutoBgm::Conductor*)prm)->seqCpuSync_AutoBgm(track, command, testID, root);
|
||||
return prm->seqCpuSync_AutoBgm(track, command, testID, root);
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
@ -257,201 +257,13 @@ void PikiMgr::setMovieDraw(bool drawOn)
|
||||
if (!mOpenIds[i]) {
|
||||
if (!mArray[i].isMovieActor()) {
|
||||
if (drawOn) {
|
||||
mArray[i].mEffectsObj->setMovieDraw();
|
||||
mArray[i].mEffectsObj->createAllEffects();
|
||||
} else {
|
||||
mArray[i].mEffectsObj->clear();
|
||||
mArray[i].mEffectsObj->killAllEffects();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
stwu r1, -0x20(r1)
|
||||
mflr r0
|
||||
stw r0, 0x24(r1)
|
||||
clrlwi. r0, r4, 0x18
|
||||
stmw r26, 8(r1)
|
||||
mr r28, r4
|
||||
mr r27, r3
|
||||
bne lbl_8015EFB0
|
||||
lbz r0, 0x39(r27)
|
||||
ori r0, r0, 1
|
||||
stb r0, 0x39(r27)
|
||||
b lbl_8015EFBC
|
||||
|
||||
lbl_8015EFB0:
|
||||
lbz r0, 0x39(r27)
|
||||
rlwinm r0, r0, 0, 0x18, 0x1e
|
||||
stb r0, 0x39(r27)
|
||||
|
||||
lbl_8015EFBC:
|
||||
li r29, 0
|
||||
li r30, 0
|
||||
b lbl_8015F1E0
|
||||
|
||||
lbl_8015EFC8:
|
||||
lwz r3, 0x2c(r27)
|
||||
lbzx r0, r3, r29
|
||||
cmplwi r0, 0
|
||||
bne lbl_8015F1D8
|
||||
lwz r0, 0x28(r27)
|
||||
add r3, r0, r30
|
||||
lwz r12, 0(r3)
|
||||
lwz r12, 0xb8(r12)
|
||||
mtctr r12
|
||||
bctrl
|
||||
clrlwi. r0, r3, 0x18
|
||||
bne lbl_8015F1D8
|
||||
clrlwi. r0, r28, 0x18
|
||||
beq lbl_8015F110
|
||||
lwz r3, 0x28(r27)
|
||||
addi r0, r30, 0x258
|
||||
lwzx r31, r3, r0
|
||||
lwz r0, 0(r31)
|
||||
rlwinm. r0, r0, 0, 0, 0
|
||||
beq lbl_8015F02C
|
||||
lwz r0, 4(r31)
|
||||
stw r0, 0(r31)
|
||||
lwz r0, 0(r31)
|
||||
clrlwi r0, r0, 1
|
||||
stw r0, 0(r31)
|
||||
|
||||
lbl_8015F02C:
|
||||
lwz r3, 0(r31)
|
||||
clrlwi. r0, r3, 0x1f
|
||||
beq lbl_8015F058
|
||||
ori r0, r3, 1
|
||||
stw r0, 0(r31)
|
||||
lwz r0, 0(r31)
|
||||
rlwinm. r0, r0, 0, 0x1e, 0x1e
|
||||
bne lbl_8015F058
|
||||
lwz r4, 0xc(r31)
|
||||
mr r3, r31
|
||||
bl "createKourin___Q23efx9TPkEffectFP10Vector3<f>"
|
||||
|
||||
lbl_8015F058:
|
||||
lwz r3, 0(r31)
|
||||
rlwinm. r0, r3, 0, 0x1e, 0x1e
|
||||
beq lbl_8015F080
|
||||
ori r0, r3, 2
|
||||
mr r3, r31
|
||||
stw r0, 0(r31)
|
||||
lwz r4, 0xc(r31)
|
||||
bl "createDoping___Q23efx9TPkEffectFP10Vector3<f>"
|
||||
mr r3, r31
|
||||
bl killKourin___Q23efx9TPkEffectFv
|
||||
|
||||
lbl_8015F080:
|
||||
lwz r3, 0(r31)
|
||||
rlwinm. r0, r3, 0, 0x1d, 0x1d
|
||||
beq lbl_8015F0A0
|
||||
ori r0, r3, 4
|
||||
mr r3, r31
|
||||
stw r0, 0(r31)
|
||||
lwz r4, 0xc(r31)
|
||||
bl "createMoe___Q23efx9TPkEffectFP10Vector3<f>"
|
||||
|
||||
lbl_8015F0A0:
|
||||
lwz r3, 0(r31)
|
||||
rlwinm. r0, r3, 0, 0x1c, 0x1c
|
||||
beq lbl_8015F0C0
|
||||
ori r0, r3, 8
|
||||
mr r3, r31
|
||||
stw r0, 0(r31)
|
||||
lwz r4, 0xc(r31)
|
||||
bl "createChudoku___Q23efx9TPkEffectFP10Vector3<f>"
|
||||
|
||||
lbl_8015F0C0:
|
||||
lwz r3, 0(r31)
|
||||
rlwinm. r0, r3, 0, 0x1b, 0x1b
|
||||
beq lbl_8015F0E0
|
||||
ori r0, r3, 0x10
|
||||
mr r3, r31
|
||||
stw r0, 0(r31)
|
||||
lwz r4, 0x14(r31)
|
||||
bl "createWater___Q23efx9TPkEffectFP10Vector3<f>"
|
||||
|
||||
lbl_8015F0E0:
|
||||
lwz r0, 0(r31)
|
||||
rlwinm. r26, r0, 0, 0x1a, 0x1a
|
||||
beq lbl_8015F1D8
|
||||
ori r0, r0, 0x20
|
||||
mr r3, r31
|
||||
stw r0, 0(r31)
|
||||
bl updateHamon___Q23efx9TPkEffectFv
|
||||
cmplwi r26, 0
|
||||
bne lbl_8015F1D8
|
||||
addi r3, r31, 0x28
|
||||
bl "createSimpleDive__3efxFR10Vector3<f>"
|
||||
b lbl_8015F1D8
|
||||
|
||||
lbl_8015F110:
|
||||
lwz r3, 0x28(r27)
|
||||
addi r0, r30, 0x258
|
||||
lwzx r31, r3, r0
|
||||
lwz r3, 0(r31)
|
||||
rlwinm. r0, r3, 0, 0, 0
|
||||
bne lbl_8015F14C
|
||||
stw r3, 4(r31)
|
||||
li r0, 0
|
||||
stb r0, 0(r31)
|
||||
stb r0, 1(r31)
|
||||
stb r0, 2(r31)
|
||||
stb r0, 3(r31)
|
||||
lwz r0, 0(r31)
|
||||
oris r0, r0, 0x8000
|
||||
stw r0, 0(r31)
|
||||
|
||||
lbl_8015F14C:
|
||||
addi r3, r31, 0x34
|
||||
lwz r12, 0x34(r31)
|
||||
lwz r12, 0xc(r12)
|
||||
mtctr r12
|
||||
bctrl
|
||||
addi r3, r31, 0x48
|
||||
lwz r12, 0x48(r31)
|
||||
lwz r12, 0xc(r12)
|
||||
mtctr r12
|
||||
bctrl
|
||||
addi r3, r31, 0x5c
|
||||
lwz r12, 0x5c(r31)
|
||||
lwz r12, 0xc(r12)
|
||||
mtctr r12
|
||||
bctrl
|
||||
mr r3, r31
|
||||
bl killKourin___Q23efx9TPkEffectFv
|
||||
mr r3, r31
|
||||
bl killDoping___Q23efx9TPkEffectFv
|
||||
mr r3, r31
|
||||
bl killNage___Q23efx9TPkEffectFv
|
||||
mr r3, r31
|
||||
bl killMoe___Q23efx9TPkEffectFv
|
||||
mr r3, r31
|
||||
bl killChudoku___Q23efx9TPkEffectFv
|
||||
mr r3, r31
|
||||
bl killMoeSmoke___Q23efx9TPkEffectFv
|
||||
mr r3, r31
|
||||
bl killBlackDown___Q23efx9TPkEffectFv
|
||||
mr r3, r31
|
||||
bl killWater___Q23efx9TPkEffectFv
|
||||
mr r3, r31
|
||||
bl killHamonA___Q23efx9TPkEffectFv
|
||||
mr r3, r31
|
||||
bl killHamonB___Q23efx9TPkEffectFv
|
||||
|
||||
lbl_8015F1D8:
|
||||
addi r30, r30, 0x2c8
|
||||
addi r29, r29, 1
|
||||
|
||||
lbl_8015F1E0:
|
||||
lwz r0, 0x24(r27)
|
||||
cmpw r29, r0
|
||||
blt lbl_8015EFC8
|
||||
lmw r26, 8(r1)
|
||||
lwz r0, 0x24(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x20
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
@ -473,9 +285,10 @@ void PikiMgr::debugShapeDL(char* text)
|
||||
*/
|
||||
void PikiMgr::doSimpleDraw(Viewport* vp)
|
||||
{
|
||||
int vpid = vp->mVpId;
|
||||
for (int i = 0; i < 5; i++) {
|
||||
J3DModelData& modelData = *mHappaModel[i];
|
||||
J3DMaterial* mat = modelData.mJointTree.mRootNode->mMaterial;
|
||||
J3DMaterial* mat = (*modelData.mJointTree.mJoints)->mMaterial;
|
||||
j3dSys.mVtxPos = modelData.getVertexData()->getVtxPosArray();
|
||||
j3dSys.mVtxNorm = modelData.getVertexData()->getVtxNrmArray();
|
||||
j3dSys.mVtxColor = modelData.getVertexData()->getVtxColorArray(0);
|
||||
@ -487,19 +300,18 @@ void PikiMgr::doSimpleDraw(Viewport* vp)
|
||||
if (!mOpenIds[j]) {
|
||||
Piki* piki = &mArray[j];
|
||||
if (piki->mLod.mFlags & 4) {
|
||||
if (!piki->doped() && piki->mLod.mFlags & 0x10) {
|
||||
if (!piki->doped() && piki->mLod.mFlags & 0x10 << vpid) {
|
||||
int id = piki->getHappa();
|
||||
// make purple and white pikmin use the red flower/bud
|
||||
if ((piki->getKind() == Purple || piki->getKind() == White) && id != 0) {
|
||||
if ((piki->getKind() == White || piki->getKind() == Purple) && id >= 1) {
|
||||
id += 2;
|
||||
}
|
||||
if (i == id) {
|
||||
Matrixf* mtx = piki->mLeafStemJoint->getWorldMatrix();
|
||||
Matrixf* mtx2 = vp->getMatrix(1);
|
||||
if (id == i) {
|
||||
Mtx test;
|
||||
PSMTXConcat(mtx->mMatrix.mtxView, mtx2->mMatrix.mtxView, test);
|
||||
GXLoadPosMtxImm(test, 0);
|
||||
Matrixf* mtx = piki->mLeafStemJoint->getWorldMatrix();
|
||||
PSMTXConcat(vp->getMatrix(1)->mMatrix.mtxView, mtx->mMatrix.mtxView, test);
|
||||
GXLoadPosMtxImm(test, 0);
|
||||
GXLoadNrmMtxImm(test, 0);
|
||||
mat->mShape->simpleDrawCache();
|
||||
}
|
||||
}
|
||||
@ -508,126 +320,6 @@ void PikiMgr::doSimpleDraw(Viewport* vp)
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
stwu r1, -0x60(r1)
|
||||
mflr r0
|
||||
stw r0, 0x64(r1)
|
||||
stmw r22, 0x38(r1)
|
||||
mr r23, r3
|
||||
mr r24, r4
|
||||
li r3, 0x10
|
||||
mr r29, r23
|
||||
li r27, 0
|
||||
lhz r0, 0x18(r4)
|
||||
lis r4, j3dSys@ha
|
||||
addi r31, r4, j3dSys@l
|
||||
slw r28, r3, r0
|
||||
|
||||
lbl_8015F2B8:
|
||||
lwz r5, 0x58(r29)
|
||||
li r0, 0
|
||||
lwz r4, 0x28(r5)
|
||||
lwz r3, 0xa0(r5)
|
||||
lwz r4, 0(r4)
|
||||
lwz r26, 0x58(r4)
|
||||
stw r3, 0x10c(r31)
|
||||
lwz r3, 0xa4(r5)
|
||||
stw r3, 0x110(r31)
|
||||
lwz r3, 0xac(r5)
|
||||
stw r3, 0x114(r31)
|
||||
stw r0, sOldVcdVatCmd__8J3DShape@sda21(r13)
|
||||
b lbl_8015F3F0
|
||||
|
||||
lbl_8015F2EC:
|
||||
mr r3, r26
|
||||
lwz r12, 0(r26)
|
||||
lwz r12, 0x1c(r12)
|
||||
mtctr r12
|
||||
bctrl
|
||||
lwz r3, 8(r26)
|
||||
bl loadPreDrawSetting__8J3DShapeCFv
|
||||
li r25, 0
|
||||
li r30, 0
|
||||
b lbl_8015F3E0
|
||||
|
||||
lbl_8015F314:
|
||||
lwz r3, 0x2c(r23)
|
||||
lbzx r0, r3, r25
|
||||
cmplwi r0, 0
|
||||
bne lbl_8015F3D8
|
||||
lwz r0, 0x28(r23)
|
||||
add r22, r0, r30
|
||||
lbz r0, 0xd8(r22)
|
||||
rlwinm. r0, r0, 0, 0x1d, 0x1d
|
||||
beq lbl_8015F3D8
|
||||
mr r3, r22
|
||||
bl doped__Q24Game4PikiFv
|
||||
clrlwi. r0, r3, 0x18
|
||||
bne lbl_8015F3D8
|
||||
lbz r0, 0xd8(r22)
|
||||
and. r0, r0, r28
|
||||
beq lbl_8015F3D8
|
||||
lbz r3, 0x2b8(r22)
|
||||
lbz r0, 0x2b9(r22)
|
||||
cmpwi r3, 4
|
||||
mr r4, r0
|
||||
beq lbl_8015F370
|
||||
cmpwi r3, 3
|
||||
bne lbl_8015F37C
|
||||
|
||||
lbl_8015F370:
|
||||
cmpwi r0, 1
|
||||
blt lbl_8015F37C
|
||||
addi r4, r4, 2
|
||||
|
||||
lbl_8015F37C:
|
||||
cmpw r4, r27
|
||||
bne lbl_8015F3D8
|
||||
lwz r3, 0x268(r22)
|
||||
bl getWorldMatrix__Q28SysShape5JointFv
|
||||
mr r0, r3
|
||||
mr r3, r24
|
||||
mr r22, r0
|
||||
li r4, 1
|
||||
bl getMatrix__8ViewportFb
|
||||
mr r4, r22
|
||||
addi r5, r1, 8
|
||||
bl PSMTXConcat
|
||||
addi r3, r1, 8
|
||||
li r4, 0
|
||||
bl GXLoadPosMtxImm
|
||||
addi r3, r1, 8
|
||||
li r4, 0
|
||||
bl GXLoadNrmMtxImm
|
||||
lwz r3, 8(r26)
|
||||
lwz r12, 0(r3)
|
||||
lwz r12, 0x14(r12)
|
||||
mtctr r12
|
||||
bctrl
|
||||
|
||||
lbl_8015F3D8:
|
||||
addi r30, r30, 0x2c8
|
||||
addi r25, r25, 1
|
||||
|
||||
lbl_8015F3E0:
|
||||
lwz r0, 0x24(r23)
|
||||
cmpw r25, r0
|
||||
blt lbl_8015F314
|
||||
lwz r26, 4(r26)
|
||||
|
||||
lbl_8015F3F0:
|
||||
cmplwi r26, 0
|
||||
bne lbl_8015F2EC
|
||||
addi r27, r27, 1
|
||||
addi r29, r29, 4
|
||||
cmpwi r27, 5
|
||||
blt lbl_8015F2B8
|
||||
lmw r22, 0x38(r1)
|
||||
lwz r0, 0x64(r1)
|
||||
mtlr r0
|
||||
addi r1, r1, 0x60
|
||||
blr
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1939,13 +1631,16 @@ void PikiMgr::caveSaveFormationPikmins(bool doKill)
|
||||
Piki* list[100];
|
||||
CI_LOOP(iterator)
|
||||
{
|
||||
|
||||
Piki* piki = *iterator;
|
||||
if (piki->isAlive() && (piki->getCurrActionID() != 0 || (piki->mFakePikiFlags.typeView & 0x40))) {
|
||||
list[i++] = piki;
|
||||
}
|
||||
}
|
||||
|
||||
if (i == 0) {
|
||||
for (int j = 125; j > 0; j--) { }
|
||||
}
|
||||
|
||||
for (int j = 0; j < i; j++) {
|
||||
playData->mCaveSaveData.mCavePikis(list[j])++;
|
||||
if (doKill) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user