mirror of
https://github.com/projectPiki/pikmin2.git
synced 2025-02-15 11:28:00 +00:00
Further general enemy mgr progress
This commit is contained in:
parent
347df299f3
commit
c91ce7991b
@ -163,12 +163,15 @@ int getEnemyID(char* name, int flags);
|
||||
inline int getEnemyMgrID(int enemyID)
|
||||
{
|
||||
int idx = -1;
|
||||
|
||||
for (int i = 0; i < gEnemyInfoNum; i++) {
|
||||
char id = gEnemyInfo[i].mId;
|
||||
|
||||
if (id == enemyID) {
|
||||
idx = (gEnemyInfo[i].mFlags & 1) ? enemyID : gEnemyInfo[i].mParentID;
|
||||
}
|
||||
}
|
||||
|
||||
return idx;
|
||||
}
|
||||
|
||||
|
@ -74,6 +74,7 @@ struct EnemyNumInfo {
|
||||
}
|
||||
inline u8 getEnemyNumData(int enemyID)
|
||||
{
|
||||
// mr vs li issue here
|
||||
for (int i = 0; i < gEnemyInfoNum; i++) {
|
||||
if (mEnemyNumList[i].mEnemyID == enemyID) {
|
||||
return mEnemyNumList[i].mCount;
|
||||
@ -208,16 +209,17 @@ struct GeneralEnemyMgr : public GenericObjectMgr, public CNode {
|
||||
inline char getEnemyMember(int id, int flags) { return EnemyInfoFunc::getEnemyMember(id, flags); }
|
||||
inline u8 getEnemyCount(int enemyID, int mgrID)
|
||||
{
|
||||
u8 num = 0;
|
||||
// clrlwi issue here
|
||||
u8 num = enemyID;
|
||||
|
||||
for (int i = 0; i < gEnemyInfoNum; i++) {
|
||||
EnemyTypeID* typeID = &mEnemyNumInfo.mEnemyNumList[i];
|
||||
EnemyTypeID& typeID = mEnemyNumInfo.mEnemyNumList[i];
|
||||
|
||||
bool eq = (u8)(enemyID == mgrID);
|
||||
int id = eq ? getEnemyMgrID(typeID->mEnemyID) : typeID->mEnemyID;
|
||||
int id = eq ? getEnemyMgrID(typeID.mEnemyID) : typeID.mEnemyID;
|
||||
|
||||
if (id == enemyID) {
|
||||
num += typeID->mCount;
|
||||
num += typeID.mCount;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -717,16 +717,19 @@ void GeneralEnemyMgr::addEnemyNum(int enemyID, u8 max, GenObjectEnemy* genObj)
|
||||
*/
|
||||
u8 GeneralEnemyMgr::getEnemyNum(int enemyID, bool doFullCount)
|
||||
{
|
||||
u8 count = 0;
|
||||
|
||||
if (doFullCount) {
|
||||
if (mEnemyNumInfo.mEnemyNumList) {
|
||||
return (u8)getEnemyCount(enemyID, getEnemyMgrID(enemyID));
|
||||
// ISSUE IN HERE
|
||||
count = getEnemyCount(enemyID, getEnemyMgrID(enemyID));
|
||||
}
|
||||
|
||||
return 0;
|
||||
} else {
|
||||
// ISSUE IN HERE
|
||||
count = mEnemyNumInfo.getEnemyNumData(enemyID);
|
||||
}
|
||||
|
||||
return mEnemyNumInfo.getEnemyNumData(enemyID);
|
||||
return count;
|
||||
|
||||
/*
|
||||
stwu r1, -0x10(r1)
|
||||
|
Loading…
x
Reference in New Issue
Block a user