Fix overlay by restoring independent xib view
This resolves an issue with the GLKView stealing z-order with every frame and allows disabling the view, not just hiding it.
This commit is contained in:
parent
2e41057e7f
commit
e6fe7df468
|
@ -10,6 +10,7 @@
|
|||
#import <GLKit/GLKit.h>
|
||||
#import <GameController/GameController.h>
|
||||
#import "iCadeReaderView.h"
|
||||
#import "PadViewController.h"
|
||||
|
||||
@interface ViewController : GLKViewController <iCadeEventDelegate>
|
||||
|
||||
|
@ -19,19 +20,8 @@
|
|||
@property (nonatomic, strong) id connectObserver;
|
||||
@property (nonatomic, strong) id disconnectObserver;
|
||||
|
||||
@property (nonatomic, strong) IBOutlet UIView *controllerView;
|
||||
@property (nonatomic, strong) PadViewController *controllerView;
|
||||
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_dpad_l;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_dpad_r;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_dpad_u;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_dpad_d;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_abxy_a;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_abxy_b;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_abxy_x;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_abxy_y;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_vjoy;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_lt;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_rt;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_start;
|
||||
- (void)handleKeycode:(UIButton*)button;
|
||||
|
||||
@end
|
||||
|
|
|
@ -88,6 +88,8 @@ extern "C" int reicast_main(int argc, char* argv[]);
|
|||
- (void)viewDidLoad
|
||||
{
|
||||
[super viewDidLoad];
|
||||
|
||||
self.controllerView = [[PadViewController alloc] initWithNibName:@"PadViewController" bundle:nil];
|
||||
|
||||
self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
|
||||
|
||||
|
@ -112,9 +114,8 @@ extern "C" int reicast_main(int argc, char* argv[]);
|
|||
|
||||
if ([[GCController controllers] count]) {
|
||||
[self toggleHardwareController:YES];
|
||||
} else {
|
||||
[self toggleHardwareController:NO];
|
||||
}
|
||||
[self.controllerView showController:self.view];
|
||||
|
||||
self.iCadeReader = [[iCadeReaderView alloc] init];
|
||||
[self.view addSubview:self.iCadeReader];
|
||||
|
@ -178,60 +179,59 @@ extern "C" int reicast_main(int argc, char* argv[]);
|
|||
|
||||
}
|
||||
|
||||
- (IBAction)keycode:(id)sender
|
||||
- (void)handleKeycode:(UIButton*)button
|
||||
{
|
||||
UIButton *instance = (UIButton*)sender;
|
||||
if (instance == self.img_dpad_l) {
|
||||
if (button == self.controllerView.img_dpad_l) {
|
||||
kcode[0] &= ~(DC_DPAD_LEFT);
|
||||
} else {
|
||||
kcode[0] |= ~(DC_DPAD_LEFT);
|
||||
}
|
||||
if (instance == self.img_dpad_r) {
|
||||
if (button == self.controllerView.img_dpad_r) {
|
||||
kcode[0] &= ~(DC_DPAD_RIGHT);
|
||||
} else {
|
||||
kcode[0] |= ~(DC_DPAD_RIGHT);
|
||||
}
|
||||
if (instance == self.img_dpad_u) {
|
||||
if (button == self.controllerView.img_dpad_u) {
|
||||
kcode[0] &= ~(DC_DPAD_UP);
|
||||
} else {
|
||||
kcode[0] |= ~(DC_DPAD_UP);
|
||||
}
|
||||
if (instance == self.img_dpad_d) {
|
||||
if (button == self.controllerView.img_dpad_d) {
|
||||
kcode[0] &= ~(DC_DPAD_DOWN);
|
||||
} else {
|
||||
kcode[0] |= ~(DC_DPAD_DOWN);
|
||||
}
|
||||
if (instance == self.img_abxy_a) {
|
||||
if (button == self.controllerView.img_abxy_a) {
|
||||
kcode[0] &= ~(DC_BTN_A);
|
||||
} else {
|
||||
kcode[0] |= (DC_BTN_A);
|
||||
}
|
||||
if (instance == self.img_abxy_b) {
|
||||
if (button == self.controllerView.img_abxy_b) {
|
||||
kcode[0] &= ~(DC_BTN_B);
|
||||
} else {
|
||||
kcode[0] |= (DC_BTN_B);
|
||||
}
|
||||
if (instance == self.img_abxy_x) {
|
||||
if (button == self.controllerView.img_abxy_x) {
|
||||
kcode[0] &= ~(DC_BTN_X);
|
||||
} else {
|
||||
kcode[0] |= (DC_BTN_X);
|
||||
}
|
||||
if (instance == self.img_abxy_y) {
|
||||
if (button == self.controllerView.img_abxy_y) {
|
||||
kcode[0] &= ~(DC_BTN_Y);
|
||||
} else {
|
||||
kcode[0] |= (DC_BTN_Y);
|
||||
}
|
||||
if (instance == self.img_lt) {
|
||||
if (button == self.controllerView.img_lt) {
|
||||
kcode[0] &= ~(DC_AXIS_LT);
|
||||
} else {
|
||||
kcode[0] |= (DC_AXIS_LT);
|
||||
}
|
||||
if (instance == self.img_rt) {
|
||||
if (button == self.controllerView.img_rt) {
|
||||
kcode[0] &= ~(DC_AXIS_RT);
|
||||
} else {
|
||||
kcode[0] |= (DC_AXIS_RT);
|
||||
}
|
||||
if (instance == self.img_start) {
|
||||
if (button == self.controllerView.img_start) {
|
||||
kcode[0] &= ~(DC_BTN_START);
|
||||
} else {
|
||||
kcode[0] |= (DC_BTN_START);
|
||||
|
@ -239,8 +239,8 @@ extern "C" int reicast_main(int argc, char* argv[]);
|
|||
}
|
||||
|
||||
- (void)toggleHardwareController:(BOOL)useHardware {
|
||||
[self.controllerView setHidden:useHardware];
|
||||
if (useHardware) {
|
||||
// [self.controllerView hideController];
|
||||
self.gController = [GCController controllers][0];
|
||||
if (self.gController.gamepad) {
|
||||
[self.gController.gamepad.buttonA setValueChangedHandler:^(GCControllerButtonInput *button, float value, BOOL pressed) {
|
||||
|
@ -355,6 +355,7 @@ extern "C" int reicast_main(int argc, char* argv[]);
|
|||
}
|
||||
} else {
|
||||
self.gController = nil;
|
||||
// [self.controllerView showController:self.view];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,31 @@
|
|||
//
|
||||
// PadViewController.h
|
||||
// reicast-ios
|
||||
//
|
||||
// Created by Lounge Katt on 8/25/15.
|
||||
// Copyright (c) 2015 reicast. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "EmulatorView.h"
|
||||
|
||||
@interface PadViewController : UIViewController
|
||||
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_dpad_l;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_dpad_r;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_dpad_u;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_dpad_d;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_abxy_a;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_abxy_b;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_abxy_x;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_abxy_y;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_vjoy;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_lt;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_rt;
|
||||
@property (nonatomic, strong) IBOutlet UIButton* img_start;
|
||||
|
||||
- (void) showController:(UIView *)parentView;
|
||||
- (void) hideController;
|
||||
- (BOOL) isControllerVisible;
|
||||
|
||||
@end
|
|
@ -0,0 +1,69 @@
|
|||
//
|
||||
// PadViewController.m
|
||||
// reicast-ios
|
||||
//
|
||||
// Created by Lounge Katt on 8/25/15.
|
||||
// Copyright (c) 2015 reicast. All rights reserved.
|
||||
//
|
||||
|
||||
#import "PadViewController.h"
|
||||
#import "EmulatorViewController.h"
|
||||
|
||||
@interface PadViewController ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation PadViewController
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
// Do any additional setup after loading the view from its nib.
|
||||
}
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
[super didReceiveMemoryWarning];
|
||||
// Dispose of any resources that can be recreated.
|
||||
}
|
||||
|
||||
- (void)showController:(UIView *)parentView
|
||||
{
|
||||
[parentView addSubview:self.view];
|
||||
}
|
||||
|
||||
- (void)hideController {
|
||||
[self.view removeFromSuperview];
|
||||
}
|
||||
|
||||
- (BOOL)isControllerVisible {
|
||||
if (self.view.window != nil) {
|
||||
return YES;
|
||||
}
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (IBAction)keycode:(id)sender
|
||||
{
|
||||
ViewController *emulatorView = [[ViewController alloc] init];
|
||||
[emulatorView handleKeycode:(UIButton*)sender];
|
||||
}
|
||||
|
||||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
|
||||
{
|
||||
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
||||
if (self) {
|
||||
// Custom initialization
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
/*
|
||||
#pragma mark - Navigation
|
||||
|
||||
// In a storyboard-based application, you will often want to do a little preparation before navigation
|
||||
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
|
||||
// Get the new view controller using [segue destinationViewController].
|
||||
// Pass the selected object to the new view controller.
|
||||
}
|
||||
*/
|
||||
|
||||
@end
|
|
@ -0,0 +1,186 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14E46" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="PadViewController">
|
||||
<connections>
|
||||
<outlet property="img_abxy_a" destination="iKO-3z-Ias" id="ENi-No-2tP"/>
|
||||
<outlet property="img_abxy_b" destination="7LB-OY-vh3" id="pGH-6d-IgP"/>
|
||||
<outlet property="img_abxy_x" destination="iwO-7q-c8H" id="ZhP-Zp-Qnj"/>
|
||||
<outlet property="img_abxy_y" destination="hGZ-v7-VA5" id="5qv-nJ-V1w"/>
|
||||
<outlet property="img_dpad_d" destination="s7g-nq-lRU" id="9MP-1k-eUW"/>
|
||||
<outlet property="img_dpad_l" destination="rp6-Nd-1qa" id="LNo-9e-3og"/>
|
||||
<outlet property="img_dpad_r" destination="CVH-hw-R8F" id="vbf-4S-SBb"/>
|
||||
<outlet property="img_dpad_u" destination="WMD-Fv-ibu" id="1kE-zb-8gR"/>
|
||||
<outlet property="img_lt" destination="8Gl-Iv-u8L" id="4R8-pf-PYz"/>
|
||||
<outlet property="img_rt" destination="V8J-vG-dlF" id="Bn6-Zm-Ojo"/>
|
||||
<outlet property="img_start" destination="VtI-tC-PSX" id="o3u-Cb-G2g"/>
|
||||
<outlet property="view" destination="3M7-1s-N5r" id="Tac-YU-UYE"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view contentMode="scaleToFill" id="3M7-1s-N5r">
|
||||
<rect key="frame" x="0.0" y="0.0" width="568" height="320"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="LTrigger.png" id="H57-MD-elm">
|
||||
<rect key="frame" x="0.0" y="0.0" width="80" height="40"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="8Gl-Iv-u8L" userLabel="LT-Button">
|
||||
<rect key="frame" x="0.0" y="0.0" width="80" height="40"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="keycode:" destination="-2" eventType="touchUpInside" id="a2O-ps-Xkb"/>
|
||||
</connections>
|
||||
</button>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="RTrigger.png" id="Cjn-zx-eSs">
|
||||
<rect key="frame" x="488" y="0.0" width="80" height="40"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="V8J-vG-dlF" userLabel="RT-Button">
|
||||
<rect key="frame" x="488" y="0.0" width="80" height="40"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="keycode:" destination="-2" eventType="touchUpInside" id="mjN-y6-pnM"/>
|
||||
</connections>
|
||||
</button>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="JoystickButton.png" id="ivh-8r-bw3" userLabel="JoystickThumbpad.png">
|
||||
<rect key="frame" x="20" y="206" width="100" height="100"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="JoystickBackground.png" id="OMP-L6-n0A">
|
||||
<rect key="frame" x="6" y="192" width="128" height="128"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="DPad.png" id="FLe-Gr-hny">
|
||||
<rect key="frame" x="0.0" y="44" width="140" height="140"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="rp6-Nd-1qa" userLabel="L-Button">
|
||||
<rect key="frame" x="0.0" y="94" width="46" height="40"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="keycode:" destination="-2" eventType="touchUpInside" id="rxe-GW-d3m"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="CVH-hw-R8F" userLabel="R-Button">
|
||||
<rect key="frame" x="94" y="94" width="46" height="40"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="keycode:" destination="-2" eventType="touchUpInside" id="qEi-9T-5Iv"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="WMD-Fv-ibu" userLabel="U-Button">
|
||||
<rect key="frame" x="50" y="44" width="40" height="40"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="keycode:" destination="-2" eventType="touchUpInside" id="ui8-hf-7zE"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="s7g-nq-lRU" userLabel="D-Button">
|
||||
<rect key="frame" x="50" y="144" width="40" height="40"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="keycode:" destination="-2" eventType="touchUpInside" id="5o3-Va-rA2"/>
|
||||
</connections>
|
||||
</button>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ABXYPad.png" id="xbP-E4-fCE">
|
||||
<rect key="frame" x="408" y="159" width="160" height="161"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="iwO-7q-c8H" userLabel="X-Button">
|
||||
<rect key="frame" x="408" y="210" width="60" height="60"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="keycode:" destination="-2" eventType="touchUpInside" id="oaf-qS-PRe"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="7LB-OY-vh3" userLabel="B-Button">
|
||||
<rect key="frame" x="508" y="210" width="60" height="60"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="keycode:" destination="-2" eventType="touchUpInside" id="NSp-5e-auj"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="hGZ-v7-VA5" userLabel="Y-Button">
|
||||
<rect key="frame" x="458" y="159" width="60" height="60"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="keycode:" destination="-2" eventType="touchUpInside" id="NOd-Vt-P6x"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="iKO-3z-Ias" userLabel="A-Button">
|
||||
<rect key="frame" x="458" y="260" width="60" height="60"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="keycode:" destination="-2" eventType="touchUpInside" id="SIh-0L-Dn0"/>
|
||||
</connections>
|
||||
</button>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Start.png" id="9K0-cV-7zu">
|
||||
<rect key="frame" x="244" y="272" width="80" height="40"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="VtI-tC-PSX" userLabel="S-Button">
|
||||
<rect key="frame" x="257" y="272" width="54" height="40"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="keycode:" destination="-2" eventType="touchUpInside" id="H7E-wo-Hc9"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<simulatedOrientationMetrics key="simulatedOrientationMetrics" orientation="landscapeRight"/>
|
||||
<point key="canvasLocation" x="325" y="329"/>
|
||||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="ABXYPad.png" width="120" height="120"/>
|
||||
<image name="DPad.png" width="120" height="120"/>
|
||||
<image name="JoystickBackground.png" width="120" height="120"/>
|
||||
<image name="JoystickButton.png" width="56" height="56"/>
|
||||
<image name="LTrigger.png" width="67" height="44"/>
|
||||
<image name="RTrigger.png" width="67" height="44"/>
|
||||
<image name="Start.png" width="48" height="26"/>
|
||||
</resources>
|
||||
<simulatedMetricsContainer key="defaultSimulatedMetrics">
|
||||
<simulatedStatusBarMetrics key="statusBar"/>
|
||||
<simulatedOrientationMetrics key="orientation"/>
|
||||
<simulatedScreenMetrics key="destination" type="retina4"/>
|
||||
</simulatedMetricsContainer>
|
||||
</document>
|
|
@ -89,7 +89,7 @@
|
|||
DiskViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
|
||||
NSString* imagePath = [self.diskImages objectAtIndex: indexPath.row];
|
||||
|
||||
cell.nameLabel.text = [imagePath lastPathComponent];
|
||||
cell.nameLabel.text = [[imagePath lastPathComponent] stringByDeletingPathExtension];
|
||||
|
||||
return cell;
|
||||
}
|
||||
|
|
|
@ -90,6 +90,8 @@
|
|||
87D92F4E1B7A1B5700D8FD9E /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87D92F4D1B7A1B5700D8FD9E /* GameController.framework */; };
|
||||
87D92F541B7A1BB100D8FD9E /* iCadeReaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 87D92F511B7A1BB100D8FD9E /* iCadeReaderView.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
|
||||
87D92F551B7A1BB100D8FD9E /* LICENSE in Resources */ = {isa = PBXBuildFile; fileRef = 87D92F531B7A1BB100D8FD9E /* LICENSE */; };
|
||||
87FA52E91B8CE18600CEFC32 /* PadViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 87FA52E71B8CE18600CEFC32 /* PadViewController.m */; };
|
||||
87FA52EA1B8CE18600CEFC32 /* PadViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 87FA52E81B8CE18600CEFC32 /* PadViewController.xib */; };
|
||||
9C7A393318C804A80070BB5F /* reicast.entitlements in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A393218C804A80070BB5F /* reicast.entitlements */; };
|
||||
9C7A3AA218C806E00070BB5F /* cfg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A395118C806DE0070BB5F /* cfg.cpp */; };
|
||||
9C7A3AA318C806E00070BB5F /* cl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A395318C806DE0070BB5F /* cl.cpp */; };
|
||||
|
@ -366,6 +368,9 @@
|
|||
87D92F511B7A1BB100D8FD9E /* iCadeReaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = iCadeReaderView.m; sourceTree = "<group>"; };
|
||||
87D92F521B7A1BB100D8FD9E /* iCadeState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iCadeState.h; sourceTree = "<group>"; };
|
||||
87D92F531B7A1BB100D8FD9E /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
|
||||
87FA52E61B8CE18600CEFC32 /* PadViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PadViewController.h; path = emulator/PadViewController.h; sourceTree = "<group>"; };
|
||||
87FA52E71B8CE18600CEFC32 /* PadViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PadViewController.m; path = emulator/PadViewController.m; sourceTree = "<group>"; };
|
||||
87FA52E81B8CE18600CEFC32 /* PadViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PadViewController.xib; path = emulator/PadViewController.xib; sourceTree = "<group>"; };
|
||||
9C7A393218C804A80070BB5F /* reicast.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = reicast.entitlements; sourceTree = "<group>"; };
|
||||
9C7A393A18C806DE0070BB5F /* arm_coding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arm_coding.h; sourceTree = "<group>"; };
|
||||
9C7A393B18C806DE0070BB5F /* arm_disasm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arm_disasm.h; sourceTree = "<group>"; };
|
||||
|
@ -823,6 +828,9 @@
|
|||
9C7A393618C805F70070BB5F /* View Controller Subclasses */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
87FA52E61B8CE18600CEFC32 /* PadViewController.h */,
|
||||
87FA52E71B8CE18600CEFC32 /* PadViewController.m */,
|
||||
87FA52E81B8CE18600CEFC32 /* PadViewController.xib */,
|
||||
8794D9C11B88F3D600B1B3A3 /* DiskViewCell.h */,
|
||||
8794D9C21B88F3D600B1B3A3 /* DiskViewCell.m */,
|
||||
87C208C51B7A4BFA00638BDD /* AboutViewController.h */,
|
||||
|
@ -1535,6 +1543,7 @@
|
|||
87D92F441B7A1B4800D8FD9E /* LTrigger@2x.png in Resources */,
|
||||
87D92F551B7A1BB100D8FD9E /* LICENSE in Resources */,
|
||||
87D92F451B7A1B4800D8FD9E /* menuback.png in Resources */,
|
||||
87FA52EA1B8CE18600CEFC32 /* PadViewController.xib in Resources */,
|
||||
87078AA518A47FE90034C7A0 /* Shader.vsh in Resources */,
|
||||
878B0D001B8BFE6200A8D1C5 /* disk_unknown.png in Resources */,
|
||||
87D92F3B1B7A1B4800D8FD9E /* ABXYPad.png in Resources */,
|
||||
|
@ -1637,6 +1646,7 @@
|
|||
9C7A3B5918C81A4F0070BB5F /* SWRevealViewController.m in Sources */,
|
||||
9C7A3B0F18C806E00070BB5F /* maple_cfg.cpp in Sources */,
|
||||
9C7A3AF318C806E00070BB5F /* crc32.c in Sources */,
|
||||
87FA52E91B8CE18600CEFC32 /* PadViewController.m in Sources */,
|
||||
8497BCC01A41A0E900EFB9ED /* nixprof.cpp in Sources */,
|
||||
9C7A3AE118C806E00070BB5F /* zip_set_file_comment.c in Sources */,
|
||||
84967C9A1B8F492C005F1140 /* pngrutil.c in Sources */,
|
||||
|
|
Loading…
Reference in New Issue