Connect on-screen controls to an IBAction method
This commit is contained in:
parent
c073e5632f
commit
2e41057e7f
|
@ -10,17 +10,6 @@
|
|||
|
||||
#include "types.h"
|
||||
|
||||
extern u16 kcode[4];
|
||||
extern u32 vks[4];
|
||||
extern s8 joyx[4],joyy[4];
|
||||
extern u8 rt[4],lt[4];
|
||||
|
||||
#define key_CONT_A (1 << 2)
|
||||
#define key_CONT_START (1 << 3)
|
||||
#define key_CONT_DPAD_LEFT (1 << 6)
|
||||
|
||||
int dpad_or_btn = 0;
|
||||
|
||||
@implementation EmulatorView
|
||||
|
||||
/*
|
||||
|
@ -31,23 +20,4 @@ int dpad_or_btn = 0;
|
|||
}
|
||||
*/
|
||||
|
||||
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
|
||||
|
||||
if (dpad_or_btn &1)
|
||||
kcode[0] &= ~(key_CONT_START|key_CONT_A);
|
||||
else
|
||||
kcode[0] &= ~(key_CONT_DPAD_LEFT);
|
||||
}
|
||||
|
||||
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
|
||||
|
||||
// [event allTouches];
|
||||
|
||||
if (dpad_or_btn &1)
|
||||
kcode[0] |= (key_CONT_START|key_CONT_A);
|
||||
else
|
||||
kcode[0] |= (key_CONT_DPAD_LEFT);
|
||||
|
||||
dpad_or_btn++;
|
||||
}
|
||||
@end
|
||||
|
|
|
@ -178,6 +178,66 @@ extern "C" int reicast_main(int argc, char* argv[]);
|
|||
|
||||
}
|
||||
|
||||
- (IBAction)keycode:(id)sender
|
||||
{
|
||||
UIButton *instance = (UIButton*)sender;
|
||||
if (instance == self.img_dpad_l) {
|
||||
kcode[0] &= ~(DC_DPAD_LEFT);
|
||||
} else {
|
||||
kcode[0] |= ~(DC_DPAD_LEFT);
|
||||
}
|
||||
if (instance == self.img_dpad_r) {
|
||||
kcode[0] &= ~(DC_DPAD_RIGHT);
|
||||
} else {
|
||||
kcode[0] |= ~(DC_DPAD_RIGHT);
|
||||
}
|
||||
if (instance == self.img_dpad_u) {
|
||||
kcode[0] &= ~(DC_DPAD_UP);
|
||||
} else {
|
||||
kcode[0] |= ~(DC_DPAD_UP);
|
||||
}
|
||||
if (instance == self.img_dpad_d) {
|
||||
kcode[0] &= ~(DC_DPAD_DOWN);
|
||||
} else {
|
||||
kcode[0] |= ~(DC_DPAD_DOWN);
|
||||
}
|
||||
if (instance == self.img_abxy_a) {
|
||||
kcode[0] &= ~(DC_BTN_A);
|
||||
} else {
|
||||
kcode[0] |= (DC_BTN_A);
|
||||
}
|
||||
if (instance == self.img_abxy_b) {
|
||||
kcode[0] &= ~(DC_BTN_B);
|
||||
} else {
|
||||
kcode[0] |= (DC_BTN_B);
|
||||
}
|
||||
if (instance == self.img_abxy_x) {
|
||||
kcode[0] &= ~(DC_BTN_X);
|
||||
} else {
|
||||
kcode[0] |= (DC_BTN_X);
|
||||
}
|
||||
if (instance == self.img_abxy_y) {
|
||||
kcode[0] &= ~(DC_BTN_Y);
|
||||
} else {
|
||||
kcode[0] |= (DC_BTN_Y);
|
||||
}
|
||||
if (instance == self.img_lt) {
|
||||
kcode[0] &= ~(DC_AXIS_LT);
|
||||
} else {
|
||||
kcode[0] |= (DC_AXIS_LT);
|
||||
}
|
||||
if (instance == self.img_rt) {
|
||||
kcode[0] &= ~(DC_AXIS_RT);
|
||||
} else {
|
||||
kcode[0] |= (DC_AXIS_RT);
|
||||
}
|
||||
if (instance == self.img_start) {
|
||||
kcode[0] &= ~(DC_BTN_START);
|
||||
} else {
|
||||
kcode[0] |= (DC_BTN_START);
|
||||
}
|
||||
}
|
||||
|
||||
- (void)toggleHardwareController:(BOOL)useHardware {
|
||||
[self.controllerView setHidden:useHardware];
|
||||
if (useHardware) {
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue