- fix compilation issue on psp
- attempt at reducing loading times on the PSP: I merged a few graphics files together, removed some unused calls from the initialization functions, and moved some other ones to have a more lazy approach. The PSP version remains fairly slow in some parts (especially loading, but also entering the shop, or starting a new game), so I will try to reduce file access as much as possible in the days to come. Not a release blocker IMO though, but I4d sure love if it were faster. - uppercased "Track1.mp3" to be in line with the actual filename. Most likely this had been broken forever on case-sensitive OSes - I removed costly calls from the textscroller. I believe it wasn't very useful in its previous state. Now it's only "advertising" for unlockable stuff, which I think is ok (and allows to refresh it every time the menu is loaded) - As a counterpart, added a "% complete" progress bar in the menu, something I wanted to add a while ago.
This commit is contained in:
@@ -336,26 +336,34 @@ AIPlayer * AIPlayerFactory::createAIPlayerTest(GameObserver *observer, MTGAllCar
|
||||
|
||||
int AIPlayer::getTotalAIDecks()
|
||||
{
|
||||
if (totalAIDecks != -1)
|
||||
return totalAIDecks;
|
||||
|
||||
totalAIDecks = 0;
|
||||
bool found = true;
|
||||
while (found)
|
||||
{
|
||||
found = false;
|
||||
char buffer[512];
|
||||
sprintf(buffer, "ai/baka/deck%i.txt", totalAIDecks + 1);
|
||||
if (JFileSystem::GetInstance()->FileExists(buffer))
|
||||
{
|
||||
found = true;
|
||||
totalAIDecks++;
|
||||
}
|
||||
}
|
||||
|
||||
if (totalAIDecks == -1)
|
||||
totalAIDecks = countTotalDecks(0,0,1);
|
||||
return totalAIDecks;
|
||||
}
|
||||
|
||||
int AIPlayer::countTotalDecks(int lower, int higher, int current) {
|
||||
|
||||
char buffer[512];
|
||||
sprintf(buffer, "ai/baka/deck%i.txt", current);
|
||||
if (JFileSystem::GetInstance()->FileExists(buffer))
|
||||
{
|
||||
if (higher == current + 1)
|
||||
return current;
|
||||
int newlower = current;
|
||||
int newcurrent = higher ? (higher + newlower)/2 : current * 2;
|
||||
return countTotalDecks(newlower, higher, newcurrent);
|
||||
} else {
|
||||
if (!lower)
|
||||
return 0;
|
||||
if (lower == current - 1)
|
||||
return lower;
|
||||
|
||||
int newhigher = current;
|
||||
int newcurrent = (lower + newhigher) / 2;
|
||||
return countTotalDecks(lower, newhigher, newcurrent);
|
||||
}
|
||||
}
|
||||
|
||||
void AIPlayer::invalidateTotalAIDecks()
|
||||
{
|
||||
totalAIDecks = -1;
|
||||
|
||||
Reference in New Issue
Block a user