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){
JGE * mEngine = JGE::GetInstance();
u32 key = mEngine->ReadButton();
//Start button changes capslock setting.
if(mEngine->GetButtonClick(PSP_CTRL_START))
if(key & PSP_CTRL_START)
{
if(selected != KPD_OK)
selected = KPD_OK;
else
Finish();
}
else if(mEngine->GetButtonClick(PSP_CTRL_SELECT)){
else if(key & PSP_CTRL_SELECT){
bCapslock = !bCapslock;
}
if(selected == KPD_SPACE){
if(bShowCancel && mEngine->GetButtonClick(PSP_CTRL_RIGHT))
selected = KPD_CANCEL;
else if (mEngine->GetButtonClick(PSP_CTRL_LEFT)||mEngine->GetButtonClick(PSP_CTRL_RIGHT)
||mEngine->GetButtonClick(PSP_CTRL_UP)||mEngine->GetButtonClick(PSP_CTRL_DOWN))
else if (key & PSP_CTRL_LEFT || key & PSP_CTRL_RIGHT
|| key & PSP_CTRL_UP || key & PSP_CTRL_DOWN)
selected = priorKey;
} //Moving within/from the text field.
else if(selected == KPD_INPUT){
if (mEngine->GetButtonClick(PSP_CTRL_DOWN) )
if (key & PSP_CTRL_DOWN )
selected = priorKey;
if (mEngine->GetButtonClick(PSP_CTRL_LEFT)){
if (key & PSP_CTRL_LEFT){
if(cursor > 0)
cursor--;
}
else if (mEngine->GetButtonClick(PSP_CTRL_RIGHT)){
else if (key & PSP_CTRL_RIGHT){
if(cursor < buffer.size())
cursor++;
}
}
else if(selected >= 0 && keys[selected]){
if (mEngine->GetButtonClick(PSP_CTRL_LEFT))
if (key & PSP_CTRL_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]);
if (mEngine->GetButtonClick(PSP_CTRL_DOWN))
if (key & PSP_CTRL_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]);
}
//These bits require a valid key...
if(selected >= 0 && selected < nbitems && keys[selected]){
if (mEngine->GetButtonClick(PSP_CTRL_CIRCLE))
if (key & PSP_CTRL_CIRCLE)
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);
if (buffer.size() && mEngine->GetButtonClick(PSP_CTRL_LTRIGGER)){
if (buffer.size() && key & PSP_CTRL_LTRIGGER){
if(cursor > 0)
cursor--;
}
else if (mEngine->GetButtonClick(PSP_CTRL_RTRIGGER)){
else if (key & PSP_CTRL_RTRIGGER){
if(cursor < buffer.size())
cursor++;
else{