fix shift key, game save bug

This commit is contained in:
dborth 2009-07-16 17:47:24 +00:00
parent 3de479a102
commit fe266601bd
5 changed files with 29 additions and 5 deletions

View File

@ -32,6 +32,12 @@ Wii/GameCube.
|0O×øo· UPDATE HISTORY ·oø×O0| |0O×øo· UPDATE HISTORY ·oø×O0|
`¨•¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨' `¨•¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨'
[3.0.7]
* Fixed "No game saves found." message when there are actually saves.
* Fixed shift key on keyboard
* Text scrolling works again
[3.0.6 - July 9, 2009] [3.0.6 - July 9, 2009]
* Faster SMB/USB browsing * Faster SMB/USB browsing

View File

@ -408,7 +408,7 @@ bool ParseDirEntries()
* Browse subdirectories * Browse subdirectories
**************************************************************************/ **************************************************************************/
int int
ParseDirectory(int method) ParseDirectory(int method, bool waitParse)
{ {
char fulldir[MAXPATHLEN]; char fulldir[MAXPATHLEN];
char msg[128]; char msg[128];
@ -457,9 +457,19 @@ ParseDirectory(int method)
} }
parseHalt = false; parseHalt = false;
ParseDirEntries(); // index first 50 entries ParseDirEntries(); // index first 20 entries
LWP_ResumeThread(parsethread); // index remaining 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; return browser.numEntries;
} }

View File

@ -27,7 +27,7 @@ void HaltDeviceThread();
void MountAllFAT(); void MountAllFAT();
void UnmountAllFAT(); void UnmountAllFAT();
bool ChangeInterface(int method, bool silent); bool ChangeInterface(int method, bool silent);
int ParseDirectory(int method); int ParseDirectory(int method, bool waitParse = false);
void AllocSaveBuffer(); void AllocSaveBuffer();
void FreeSaveBuffer(); void FreeSaveBuffer();
u32 LoadFile(char * rbuffer, char *filepath, u32 length, int method, bool silent); 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 }; char txt[2] = { 0, 0 };
startloop:
for(int i=0; i<4; i++) for(int i=0; i<4; i++)
{ {
for(int j=0; j<11; j++) for(int j=0; j<11; j++)
@ -327,7 +329,6 @@ void GuiKeyboard::Update(GuiTrigger * t)
if(shift || caps) if(shift || caps)
{ {
kbtextstr[strlen(kbtextstr)] = keys[i][j].chShift; kbtextstr[strlen(kbtextstr)] = keys[i][j].chShift;
if(shift) shift ^= 1;
} }
else else
{ {
@ -336,6 +337,13 @@ void GuiKeyboard::Update(GuiTrigger * t)
} }
kbText->SetText(GetDisplayText(kbtextstr)); kbText->SetText(GetDisplayText(kbtextstr));
keyBtn[i][j]->SetState(STATE_SELECTED, t->chan); keyBtn[i][j]->SetState(STATE_SELECTED, t->chan);
if(shift)
{
shift ^= 1;
update = true;
goto startloop;
}
} }
} }
} }

View File

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