fix shift key, game save bug

This commit is contained in:
dborth 2009-07-16 17:47:47 +00:00
parent 75bc41f288
commit 150d9f82d2
5 changed files with 29 additions and 5 deletions

View File

@ -28,6 +28,12 @@ With it you can play GBA/Game Boy Color/Game Boy games on your Wii/GameCube.
|0O×øo· UPDATE HISTORY ·oø×O0|
`¨•¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨'
[2.0.6]
* Fixed "No game saves found." message when there are actually saves.
* Fixed shift key on keyboard
* Text scrolling works again
[2.0.5 - July 9, 2009]
* Faster SMB/USB browsing

View File

@ -410,7 +410,7 @@ bool ParseDirEntries()
* Browse subdirectories
**************************************************************************/
int
ParseDirectory(int method)
ParseDirectory(int method, bool waitParse)
{
char fulldir[MAXPATHLEN];
char msg[128];
@ -459,9 +459,19 @@ ParseDirectory(int method)
}
parseHalt = false;
ParseDirEntries(); // index first 50 entries
ParseDirEntries(); // index first 20 entries
LWP_ResumeThread(parsethread); // index remaining entries
if(waitParse) // wait for complete parsing
{
ShowAction("Loading...");
while(!LWP_ThreadIsSuspended(parsethread))
usleep(THREAD_SLEEP);
CancelAction();
}
return browser.numEntries;
}

View File

@ -26,7 +26,7 @@ void HaltDeviceThread();
void MountAllFAT();
void UnmountAllFAT();
bool ChangeInterface(int method, bool silent);
int ParseDirectory(int method);
int ParseDirectory(int method, bool waitParse = false);
void AllocSaveBuffer();
void FreeSaveBuffer();
u32 LoadFile(char * rbuffer, char *filepath, u32 length, int method, bool silent);

View File

@ -304,6 +304,8 @@ void GuiKeyboard::Update(GuiTrigger * t)
char txt[2] = { 0, 0 };
startloop:
for(int i=0; i<4; i++)
{
for(int j=0; j<11; j++)
@ -327,7 +329,6 @@ void GuiKeyboard::Update(GuiTrigger * t)
if(shift || caps)
{
kbtextstr[strlen(kbtextstr)] = keys[i][j].chShift;
if(shift) shift ^= 1;
}
else
{
@ -336,6 +337,13 @@ void GuiKeyboard::Update(GuiTrigger * t)
}
kbText->SetText(GetDisplayText(kbtextstr));
keyBtn[i][j]->SetState(STATE_SELECTED, t->chan);
if(shift)
{
shift ^= 1;
update = true;
goto startloop;
}
}
}
}

View File

@ -1568,7 +1568,7 @@ static int MenuGameSaves(int action)
else
{
strncpy(browser.dir, GCSettings.SaveFolder, 200);
ParseDirectory(GCSettings.SaveMethod);
ParseDirectory(GCSettings.SaveMethod, true);
}
len = strlen(ROMFilename);