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){ if(state&0x2&&!internal_panelState[UP-UP][0].bPressed){
internal_panelState[UP-UP][0]={true,false,true}; internal_panelState[UP-UP][0]={true,false,true};
}else }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}; internal_panelState[UP-UP][0]={false,true,false};
} }
if(state&0x20&&!internal_panelState[RIGHT-UP][0].bPressed){ if(state&0x20&&!internal_panelState[RIGHT-UP][0].bPressed){
internal_panelState[RIGHT-UP][0]={true,false,true}; internal_panelState[RIGHT-UP][0]={true,false,true};
}else }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}; internal_panelState[RIGHT-UP][0]={false,true,false};
} }
if(state&0x80&&!internal_panelState[DOWN-UP][0].bPressed){ if(state&0x80&&!internal_panelState[DOWN-UP][0].bPressed){
internal_panelState[DOWN-UP][0]={true,false,true}; internal_panelState[DOWN-UP][0]={true,false,true};
}else }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}; internal_panelState[DOWN-UP][0]={false,true,false};
} }
if(state&0x8&&!internal_panelState[LEFT-UP][0].bPressed){ if(state&0x8&&!internal_panelState[LEFT-UP][0].bPressed){
internal_panelState[LEFT-UP][0]={true,false,true}; internal_panelState[LEFT-UP][0]={true,false,true};
}else }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}; internal_panelState[LEFT-UP][0]={false,true,false};
} }
state=SMX_GetInputState(1); state=SMX_GetInputState(1);
if(state&0x2&&!internal_panelState[UP-UP][1].bPressed){ if(state&0x2&&!internal_panelState[UP-UP][1].bPressed){
internal_panelState[UP-UP][1]={true,false,true}; internal_panelState[UP-UP][1]={true,false,true};
}else }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}; internal_panelState[UP-UP][1]={false,true,false};
} }
if(state&0x20&&!internal_panelState[RIGHT-UP][1].bPressed){ if(state&0x20&&!internal_panelState[RIGHT-UP][1].bPressed){
internal_panelState[RIGHT-UP][1]={true,false,true}; internal_panelState[RIGHT-UP][1]={true,false,true};
}else }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}; internal_panelState[RIGHT-UP][1]={false,true,false};
} }
if(state&0x80&&!internal_panelState[DOWN-UP][1].bPressed){ if(state&0x80&&!internal_panelState[DOWN-UP][1].bPressed){
internal_panelState[DOWN-UP][1]={true,false,true}; internal_panelState[DOWN-UP][1]={true,false,true};
}else }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}; internal_panelState[DOWN-UP][1]={false,true,false};
} }
if(state&0x8&&!internal_panelState[LEFT-UP][1].bPressed){ if(state&0x8&&!internal_panelState[LEFT-UP][1].bPressed){
internal_panelState[LEFT-UP][1]={true,false,true}; internal_panelState[LEFT-UP][1]={true,false,true};
}else }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}; internal_panelState[LEFT-UP][1]={false,true,false};
} }
} }

Loading…
Cancel
Save