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:
TwistedUmbrella 2015-08-25 14:34:10 -04:00
parent 2e41057e7f
commit e6fe7df468
8 changed files with 320 additions and 4252 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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>

View File

@ -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;
}

View File

@ -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 */,