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:
@@ -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{
|
||||||
|
|||||||
Reference in New Issue
Block a user