mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-20 06:41:15 +00:00
re-enable LEGO1 impl
This commit is contained in:
parent
004a5fd78a
commit
6988f938c3
@ -168,13 +168,11 @@ class LegoGameState {
|
|||||||
ScoreItem* GetScore(MxS32 p_index) { return p_index >= m_count ? NULL : &m_scores[p_index]; }
|
ScoreItem* GetScore(MxS32 p_index) { return p_index >= m_count ? NULL : &m_scores[p_index]; }
|
||||||
|
|
||||||
MxS16 m_count; // 0x00
|
MxS16 m_count; // 0x00
|
||||||
// TODO: Enable ifdefs when done
|
#ifdef BETA10
|
||||||
// #ifdef BETA10
|
MxS16 m_indices[20]; // 0x02
|
||||||
MxS16 m_indices[20];
|
#endif
|
||||||
// #endif
|
ScoreItem m_scores[20]; // 0x02 (0x22 for BETA10)
|
||||||
|
MxS16 m_unk0x372; // 0x372 (0x392 for BETA10)
|
||||||
ScoreItem m_scores[20]; // 0x02
|
|
||||||
MxS16 m_unk0x372; // 0x372
|
|
||||||
};
|
};
|
||||||
|
|
||||||
LegoGameState();
|
LegoGameState();
|
||||||
|
|||||||
@ -1473,6 +1473,8 @@ void LegoGameState::History::WriteScoreHistory()
|
|||||||
MxS32 unk0x2c;
|
MxS32 unk0x2c;
|
||||||
ScoreItem* p_scorehist = FUN_1003cc90(&GameState()->m_players[0], GameState()->m_unk0x24, unk0x2c);
|
ScoreItem* p_scorehist = FUN_1003cc90(&GameState()->m_players[0], GameState()->m_unk0x24, unk0x2c);
|
||||||
|
|
||||||
|
#ifdef BETA10
|
||||||
|
|
||||||
if (!p_scorehist) {
|
if (!p_scorehist) {
|
||||||
MxS32 i;
|
MxS32 i;
|
||||||
// LINE: BETA10 0x100870ee
|
// LINE: BETA10 0x100870ee
|
||||||
@ -1520,51 +1522,54 @@ void LegoGameState::History::WriteScoreHistory()
|
|||||||
p_scorehist->m_unk0x2a = GameState()->m_unk0x24;
|
p_scorehist->m_unk0x2a = GameState()->m_unk0x24;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (p_scorehist != NULL) {
|
#else
|
||||||
// p_scorehist->m_totalScore = totalScore;
|
// TODO: Improve based on BETA10 if possible
|
||||||
// memcpy(p_scorehist->m_scores, scores, sizeof(p_scorehist->m_scores));
|
|
||||||
// }
|
|
||||||
// else {
|
|
||||||
// if (m_count < (MxS16) sizeOfArray(m_scores)) {
|
|
||||||
// assert(totalScore > p_scorehist->m_totalScore);
|
|
||||||
|
|
||||||
// m_scores[m_count].m_totalScore = totalScore;
|
if (p_scorehist != NULL) {
|
||||||
// memcpy(m_scores[m_count].m_scores, scores, sizeof(m_scores[m_count].m_scores));
|
p_scorehist->m_totalScore = totalScore;
|
||||||
// m_scores[m_count].m_name = GameState()->m_players[0];
|
memcpy(p_scorehist->m_scores, scores, sizeof(p_scorehist->m_scores));
|
||||||
// m_scores[m_count].m_unk0x2a = GameState()->m_unk0x24;
|
}
|
||||||
// m_count++;
|
else {
|
||||||
// }
|
if (m_count < (MxS16) sizeOfArray(m_scores)) {
|
||||||
// else if (m_scores[19].m_totalScore <= totalScore) {
|
assert(totalScore > p_scorehist->m_totalScore);
|
||||||
// m_scores[19].m_totalScore = totalScore;
|
|
||||||
// memcpy(m_scores[19].m_scores, scores, sizeof(m_scores[19].m_scores));
|
|
||||||
// m_scores[19].m_name = GameState()->m_players[0];
|
|
||||||
// m_scores[19].m_unk0x2a = GameState()->m_unk0x24;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// MxU8 tmpScores[5][5];
|
m_scores[m_count].m_totalScore = totalScore;
|
||||||
// Username tmpPlayer;
|
memcpy(m_scores[m_count].m_scores, scores, sizeof(m_scores[m_count].m_scores));
|
||||||
// MxS16 tmpUnk0x2a;
|
m_scores[m_count].m_name = GameState()->m_players[0];
|
||||||
|
m_scores[m_count].m_unk0x2a = GameState()->m_unk0x24;
|
||||||
|
m_count++;
|
||||||
|
}
|
||||||
|
else if (m_scores[19].m_totalScore <= totalScore) {
|
||||||
|
m_scores[19].m_totalScore = totalScore;
|
||||||
|
memcpy(m_scores[19].m_scores, scores, sizeof(m_scores[19].m_scores));
|
||||||
|
m_scores[19].m_name = GameState()->m_players[0];
|
||||||
|
m_scores[19].m_unk0x2a = GameState()->m_unk0x24;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// // TODO: Match bubble sort loops
|
MxU8 tmpScores[5][5];
|
||||||
// for (MxS32 i = m_count - 1; i > 0; i--) {
|
Username tmpPlayer;
|
||||||
// for (MxS32 j = 1; j <= i; j++) {
|
MxS16 tmpUnk0x2a;
|
||||||
// if (m_scores[j - 1].m_totalScore < m_scores[j].m_totalScore) {
|
|
||||||
// memcpy(tmpScores, m_scores[j - 1].m_scores, sizeof(tmpScores));
|
|
||||||
// tmpPlayer = m_scores[j - 1].m_name;
|
|
||||||
// tmpUnk0x2a = m_scores[j - 1].m_unk0x2a;
|
|
||||||
|
|
||||||
// memcpy(m_scores[j - 1].m_scores, m_scores[j].m_scores, sizeof(m_scores[j - 1].m_scores));
|
// TODO: Match bubble sort loops
|
||||||
// m_scores[j - 1].m_name = m_scores[j].m_name;
|
for (MxS32 i = m_count - 1; i > 0; i--) {
|
||||||
// m_scores[j - 1].m_unk0x2a = m_scores[j].m_unk0x2a;
|
for (MxS32 j = 1; j <= i; j++) {
|
||||||
|
if (m_scores[j - 1].m_totalScore < m_scores[j].m_totalScore) {
|
||||||
|
memcpy(tmpScores, m_scores[j - 1].m_scores, sizeof(tmpScores));
|
||||||
|
tmpPlayer = m_scores[j - 1].m_name;
|
||||||
|
tmpUnk0x2a = m_scores[j - 1].m_unk0x2a;
|
||||||
|
|
||||||
// memcpy(m_scores[j].m_scores, tmpScores, sizeof(m_scores[j].m_scores));
|
memcpy(m_scores[j - 1].m_scores, m_scores[j].m_scores, sizeof(m_scores[j - 1].m_scores));
|
||||||
// m_scores[j].m_name = tmpPlayer;
|
m_scores[j - 1].m_name = m_scores[j].m_name;
|
||||||
// m_scores[j].m_unk0x2a = tmpUnk0x2a;
|
m_scores[j - 1].m_unk0x2a = m_scores[j].m_unk0x2a;
|
||||||
// }
|
|
||||||
// }
|
memcpy(m_scores[j].m_scores, tmpScores, sizeof(m_scores[j].m_scores));
|
||||||
// }
|
m_scores[j].m_name = tmpPlayer;
|
||||||
// }
|
m_scores[j].m_unk0x2a = tmpUnk0x2a;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x1003cc90
|
// FUNCTION: LEGO1 0x1003cc90
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user