key combos for new input code

git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@690 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
notaz 2009-05-11 20:58:55 +00:00
parent f15ca4db35
commit 2c60056042
12 changed files with 128 additions and 136 deletions

View file

@ -575,38 +575,8 @@ static void updateKeys(void)
keys &= CONFIGURABLE_KEYS;
keys2 = keys;
#if 1
/* FIXME: combos, player2 */
/* FIXME: player2 */
allActions[0] = in_update();
#else
for (i = 0; i < 32; i++)
{
if (keys2 & (1 << i))
{
int pl, acts = currentConfig.KeyBinds[i];
if (!acts) continue;
pl = (acts >> 16) & 1;
if (kb_combo_keys & (1 << i))
{
int u = i+1, acts_c = acts & kb_combo_acts;
// let's try to find the other one
if (acts_c) {
for (; u < 32; u++)
if ( (keys2 & (1 << u)) && (currentConfig.KeyBinds[u] & acts_c) ) {
allActions[pl] |= acts_c & currentConfig.KeyBinds[u];
keys2 &= ~((1 << i) | (1 << u));
break;
}
}
// add non-combo actions if combo ones were not found
if (!acts_c || u == 32)
allActions[pl] |= acts & ~kb_combo_acts;
} else {
allActions[pl] |= acts;
}
}
}
#endif
PicoPad[0] = allActions[0] & 0xfff;
PicoPad[1] = allActions[1] & 0xfff;
@ -834,7 +804,6 @@ void emu_Loop(void)
scaling_update();
Pico.m.dirtyPal = 1;
oldmodes = ((Pico.video.reg[12]&1)<<2) ^ 0xc;
emu_findKeyBindCombos();
// pal/ntsc might have changed, reset related stuff
target_fps = Pico.m.pal ? 50 : 60;