Fix bReleased boolean flags so they only trigger on actual release..

master
sigonasr2 1 week ago
parent 04636be072
commit 68d8bf82fa
  1. 16
      sample/PGEX_SMX.h

@ -53,50 +53,50 @@ private:
if(state&0x2&&!internal_panelState[UP-UP][0].bPressed){
internal_panelState[UP-UP][0]={true,false,true};
}else
if(!(state&0x2)&&!internal_panelState[UP-UP][0].bReleased){
if(!(state&0x2)&&internal_panelState[UP-UP][0].bHeld){
internal_panelState[UP-UP][0]={false,true,false};
}
if(state&0x20&&!internal_panelState[RIGHT-UP][0].bPressed){
internal_panelState[RIGHT-UP][0]={true,false,true};
}else
if(!(state&0x20)&&!internal_panelState[RIGHT-UP][0].bReleased){
if(!(state&0x20)&&internal_panelState[RIGHT-UP][0].bHeld){
internal_panelState[RIGHT-UP][0]={false,true,false};
}
if(state&0x80&&!internal_panelState[DOWN-UP][0].bPressed){
internal_panelState[DOWN-UP][0]={true,false,true};
}else
if(!(state&0x80)&&!internal_panelState[DOWN-UP][0].bReleased){
if(!(state&0x80)&&internal_panelState[DOWN-UP][0].bHeld){
internal_panelState[DOWN-UP][0]={false,true,false};
}
if(state&0x8&&!internal_panelState[LEFT-UP][0].bPressed){
internal_panelState[LEFT-UP][0]={true,false,true};
}else
if(!(state&0x8)&&!internal_panelState[LEFT-UP][0].bReleased){
if(!(state&0x8)&&internal_panelState[LEFT-UP][0].bHeld){
internal_panelState[LEFT-UP][0]={false,true,false};
}
state=SMX_GetInputState(1);
if(state&0x2&&!internal_panelState[UP-UP][1].bPressed){
internal_panelState[UP-UP][1]={true,false,true};
}else
if(!(state&0x2)&&!internal_panelState[UP-UP][1].bReleased){
if(!(state&0x2)&&internal_panelState[UP-UP][1].bHeld){
internal_panelState[UP-UP][1]={false,true,false};
}
if(state&0x20&&!internal_panelState[RIGHT-UP][1].bPressed){
internal_panelState[RIGHT-UP][1]={true,false,true};
}else
if(!(state&0x20)&&!internal_panelState[RIGHT-UP][1].bReleased){
if(!(state&0x20)&&internal_panelState[RIGHT-UP][1].bHeld){
internal_panelState[RIGHT-UP][1]={false,true,false};
}
if(state&0x80&&!internal_panelState[DOWN-UP][1].bPressed){
internal_panelState[DOWN-UP][1]={true,false,true};
}else
if(!(state&0x80)&&!internal_panelState[DOWN-UP][1].bReleased){
if(!(state&0x80)&&internal_panelState[DOWN-UP][1].bHeld){
internal_panelState[DOWN-UP][1]={false,true,false};
}
if(state&0x8&&!internal_panelState[LEFT-UP][1].bPressed){
internal_panelState[LEFT-UP][1]={true,false,true};
}else
if(!(state&0x8)&&!internal_panelState[LEFT-UP][1].bReleased){
if(!(state&0x8)&&internal_panelState[LEFT-UP][1].bHeld){
internal_panelState[LEFT-UP][1]={false,true,false};
}
}

Loading…
Cancel
Save