Jeck - SimplePad now uses ReadButton, rather than GetButtonClick.

I'll upload the changes for the OptionItem code in a bit-- I'm a little concerned with that side of things, as I think I recall the reason for using GetButtonClick had something to do with what point in the process the game "eats" the button press... OptionItem stuff relies a lot on button presses falling through to other UI items.
This commit is contained in:
wagic.jeck
2010-01-30 17:11:37 +00:00
parent 1747f3af16
commit 5e477f89fb

View File

@@ -197,62 +197,63 @@ void SimplePad::MoveSelection(unsigned char moveto)
void SimplePad::Update(float dt){ void SimplePad::Update(float dt){
JGE * mEngine = JGE::GetInstance(); JGE * mEngine = JGE::GetInstance();
u32 key = mEngine->ReadButton();
//Start button changes capslock setting. //Start button changes capslock setting.
if(mEngine->GetButtonClick(PSP_CTRL_START)) if(key & PSP_CTRL_START)
{ {
if(selected != KPD_OK) if(selected != KPD_OK)
selected = KPD_OK; selected = KPD_OK;
else else
Finish(); Finish();
} }
else if(mEngine->GetButtonClick(PSP_CTRL_SELECT)){ else if(key & PSP_CTRL_SELECT){
bCapslock = !bCapslock; bCapslock = !bCapslock;
} }
if(selected == KPD_SPACE){ if(selected == KPD_SPACE){
if(bShowCancel && mEngine->GetButtonClick(PSP_CTRL_RIGHT)) if(bShowCancel && mEngine->GetButtonClick(PSP_CTRL_RIGHT))
selected = KPD_CANCEL; selected = KPD_CANCEL;
else if (mEngine->GetButtonClick(PSP_CTRL_LEFT)||mEngine->GetButtonClick(PSP_CTRL_RIGHT) else if (key & PSP_CTRL_LEFT || key & PSP_CTRL_RIGHT
||mEngine->GetButtonClick(PSP_CTRL_UP)||mEngine->GetButtonClick(PSP_CTRL_DOWN)) || key & PSP_CTRL_UP || key & PSP_CTRL_DOWN)
selected = priorKey; selected = priorKey;
} //Moving within/from the text field. } //Moving within/from the text field.
else if(selected == KPD_INPUT){ else if(selected == KPD_INPUT){
if (mEngine->GetButtonClick(PSP_CTRL_DOWN) ) if (key & PSP_CTRL_DOWN )
selected = priorKey; selected = priorKey;
if (mEngine->GetButtonClick(PSP_CTRL_LEFT)){ if (key & PSP_CTRL_LEFT){
if(cursor > 0) if(cursor > 0)
cursor--; cursor--;
} }
else if (mEngine->GetButtonClick(PSP_CTRL_RIGHT)){ else if (key & PSP_CTRL_RIGHT){
if(cursor < buffer.size()) if(cursor < buffer.size())
cursor++; cursor++;
} }
} }
else if(selected >= 0 && keys[selected]){ else if(selected >= 0 && keys[selected]){
if (mEngine->GetButtonClick(PSP_CTRL_LEFT)) if (key & PSP_CTRL_LEFT)
MoveSelection(keys[selected]->adjacency[KPD_LEFT]); MoveSelection(keys[selected]->adjacency[KPD_LEFT]);
else if (mEngine->GetButtonClick(PSP_CTRL_RIGHT)) else if (key & PSP_CTRL_RIGHT)
MoveSelection(keys[selected]->adjacency[KPD_RIGHT]); MoveSelection(keys[selected]->adjacency[KPD_RIGHT]);
if (mEngine->GetButtonClick(PSP_CTRL_DOWN)) if (key & PSP_CTRL_DOWN)
MoveSelection(keys[selected]->adjacency[KPD_DOWN]); MoveSelection(keys[selected]->adjacency[KPD_DOWN]);
else if (mEngine->GetButtonClick(PSP_CTRL_UP)) else if (key & PSP_CTRL_UP)
MoveSelection(keys[selected]->adjacency[KPD_UP]); MoveSelection(keys[selected]->adjacency[KPD_UP]);
} }
//These bits require a valid key... //These bits require a valid key...
if(selected >= 0 && selected < nbitems && keys[selected]){ if(selected >= 0 && selected < nbitems && keys[selected]){
if (mEngine->GetButtonClick(PSP_CTRL_CIRCLE)) if (key & PSP_CTRL_CIRCLE)
pressKey(keys[selected]->id); pressKey(keys[selected]->id);
} }
if (buffer.size() > 0 && mEngine->GetButtonClick(PSP_CTRL_CROSS)) if (buffer.size() > 0 && key & PSP_CTRL_CROSS)
buffer = buffer.substr(0,buffer.size() - 1); buffer = buffer.substr(0,buffer.size() - 1);
if (buffer.size() && mEngine->GetButtonClick(PSP_CTRL_LTRIGGER)){ if (buffer.size() && key & PSP_CTRL_LTRIGGER){
if(cursor > 0) if(cursor > 0)
cursor--; cursor--;
} }
else if (mEngine->GetButtonClick(PSP_CTRL_RTRIGGER)){ else if (key & PSP_CTRL_RTRIGGER){
if(cursor < buffer.size()) if(cursor < buffer.size())
cursor++; cursor++;
else{ else{