Merge pull request #808 from reicast/loungekatt

iOS rebuild to support file list and controllers
This commit is contained in:
TwistedUmbrella 2017-06-17 13:07:42 -04:00 committed by GitHub
commit 8a680202a4
28 changed files with 1124 additions and 269 deletions

1
.gitignore vendored
View File

@ -10,7 +10,6 @@ newdc/android/libnewdc/bin/libnewdc.jar
newdc/android/libnewdc/bin/classes/com/example/newdc/JNIdc.class
shell/android/assets/build
shell/android/tools
# iOS/Xcode general stuff
.DS_Store

View File

@ -1,62 +0,0 @@
/*
* Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* The contents of this file constitute Original Code as defined in and
* are subject to the Apple Public Source License Version 1.1 (the
* "License"). You may not use this file except in compliance with the
* License. Please obtain a copy of the License at
* http://www.apple.com/publicsource and read it before using this file.
*
* This Original Code and all software distributed under the License are
* distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
* License for the specific language governing rights and limitations
* under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/* Copyright (c) 1992, NeXT Computer, Inc. All rights reserved.
*
* File: libc/m98k/gen/fp.h
* Author: Derek B Clegg, NeXT Computer, Inc.
*
* HISTORY
* 11-Nov-92 Derek B Clegg (dclegg@next.com)
* Created.
*
* Common definitions for floating-point numbers.
*/
/* The following definitions for for double precision IEEE format numbers. */
#define EXPONENT_BIAS 1023
#define SIGN_BITS 1
#define EXPONENT_BITS 11
#define FRACTION_BITS 52
#define HI_FRACTION_BITS 20
#define LO_FRACTION_BITS 32
struct double_format {
unsigned sign: SIGN_BITS;
unsigned exponent: EXPONENT_BITS;
unsigned hi_fraction: HI_FRACTION_BITS;
unsigned lo_fraction: LO_FRACTION_BITS;
};
union dbl {
struct double_format s;
unsigned int u[2];
double value;
};
#define PlusInfinity (1.0/0.0)
#define MinusInfinity (-1.0/0.0)
#define not_a_number(x) ((x) != (x))
#define positive_infinity(x) ((x) == PlusInfinity)
#define negative_infinity(x) ((x) == MinusInfinity)

View File

@ -0,0 +1,188 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXFileReference section */
87D776C61EF5623200E08B55 /* adler32.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = adler32.c; sourceTree = "<group>"; };
87D776C71EF5623200E08B55 /* compress.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = compress.c; sourceTree = "<group>"; };
87D776C81EF5623200E08B55 /* crc32.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = crc32.c; sourceTree = "<group>"; };
87D776C91EF5623200E08B55 /* crc32.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = crc32.h; sourceTree = "<group>"; };
87D776CA1EF5623200E08B55 /* deflate.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = deflate.c; sourceTree = "<group>"; };
87D776CB1EF5623200E08B55 /* deflate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = deflate.h; sourceTree = "<group>"; };
87D776CC1EF5623200E08B55 /* gzclose.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = gzclose.c; sourceTree = "<group>"; };
87D776CD1EF5623200E08B55 /* gzguts.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = gzguts.h; sourceTree = "<group>"; };
87D776CE1EF5623200E08B55 /* gzlib.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = gzlib.c; sourceTree = "<group>"; };
87D776CF1EF5623200E08B55 /* gzread.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = gzread.c; sourceTree = "<group>"; };
87D776D01EF5623200E08B55 /* gzwrite.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = gzwrite.c; sourceTree = "<group>"; };
87D776D11EF5623200E08B55 /* infback.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = infback.c; sourceTree = "<group>"; };
87D776D21EF5623200E08B55 /* inffast.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = inffast.c; sourceTree = "<group>"; };
87D776D31EF5623200E08B55 /* inffast.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = inffast.h; sourceTree = "<group>"; };
87D776D41EF5623200E08B55 /* inffixed.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = inffixed.h; sourceTree = "<group>"; };
87D776D51EF5623200E08B55 /* inflate.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = inflate.c; sourceTree = "<group>"; };
87D776D61EF5623200E08B55 /* inflate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = inflate.h; sourceTree = "<group>"; };
87D776D71EF5623200E08B55 /* inftrees.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = inftrees.c; sourceTree = "<group>"; };
87D776D81EF5623200E08B55 /* inftrees.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = inftrees.h; sourceTree = "<group>"; };
87D776D91EF5623200E08B55 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
87D776DA1EF5623200E08B55 /* trees.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = trees.c; sourceTree = "<group>"; };
87D776DB1EF5623200E08B55 /* trees.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = trees.h; sourceTree = "<group>"; };
87D776DC1EF5623200E08B55 /* uncompr.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = uncompr.c; sourceTree = "<group>"; };
87D776DD1EF5623200E08B55 /* zconf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = zconf.h; sourceTree = "<group>"; };
87D776DE1EF5623200E08B55 /* zlib.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = zlib.h; sourceTree = "<group>"; };
87D776DF1EF5623200E08B55 /* zutil.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = zutil.c; sourceTree = "<group>"; };
87D776E01EF5623200E08B55 /* zutil.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = zutil.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXGroup section */
87D776C01EF5623200E08B55 = {
isa = PBXGroup;
children = (
87D776C61EF5623200E08B55 /* adler32.c */,
87D776C71EF5623200E08B55 /* compress.c */,
87D776C81EF5623200E08B55 /* crc32.c */,
87D776C91EF5623200E08B55 /* crc32.h */,
87D776CA1EF5623200E08B55 /* deflate.c */,
87D776CB1EF5623200E08B55 /* deflate.h */,
87D776CC1EF5623200E08B55 /* gzclose.c */,
87D776CD1EF5623200E08B55 /* gzguts.h */,
87D776CE1EF5623200E08B55 /* gzlib.c */,
87D776CF1EF5623200E08B55 /* gzread.c */,
87D776D01EF5623200E08B55 /* gzwrite.c */,
87D776D11EF5623200E08B55 /* infback.c */,
87D776D21EF5623200E08B55 /* inffast.c */,
87D776D31EF5623200E08B55 /* inffast.h */,
87D776D41EF5623200E08B55 /* inffixed.h */,
87D776D51EF5623200E08B55 /* inflate.c */,
87D776D61EF5623200E08B55 /* inflate.h */,
87D776D71EF5623200E08B55 /* inftrees.c */,
87D776D81EF5623200E08B55 /* inftrees.h */,
87D776D91EF5623200E08B55 /* Makefile */,
87D776DA1EF5623200E08B55 /* trees.c */,
87D776DB1EF5623200E08B55 /* trees.h */,
87D776DC1EF5623200E08B55 /* uncompr.c */,
87D776DD1EF5623200E08B55 /* zconf.h */,
87D776DE1EF5623200E08B55 /* zlib.h */,
87D776DF1EF5623200E08B55 /* zutil.c */,
87D776E01EF5623200E08B55 /* zutil.h */,
);
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXLegacyTarget section */
87D776C51EF5623200E08B55 /* zlib */ = {
isa = PBXLegacyTarget;
buildArgumentsString = "$(ACTION)";
buildConfigurationList = 87D776E11EF5623200E08B55 /* Build configuration list for PBXLegacyTarget "zlib" */;
buildPhases = (
);
buildToolPath = /usr/bin/make;
buildWorkingDirectory = core/deps/zlib;
dependencies = (
);
name = zlib;
passBuildSettingsInEnvironment = 1;
productName = zlib;
};
/* End PBXLegacyTarget section */
/* Begin PBXProject section */
87D776C11EF5623200E08B55 /* Project object */ = {
isa = PBXProject;
attributes = {
};
buildConfigurationList = 87D776C41EF5623200E08B55 /* Build configuration list for PBXProject "zlib" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 87D776C01EF5623200E08B55;
projectDirPath = "";
projectRoot = "";
targets = (
87D776C51EF5623200E08B55 /* zlib */,
);
};
/* End PBXProject section */
/* Begin XCBuildConfiguration section */
87D776C21EF5623200E08B55 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
COPY_PHASE_STRIP = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx10.6;
};
name = Debug;
};
87D776C31EF5623200E08B55 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
COPY_PHASE_STRIP = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
SDKROOT = macosx10.6;
};
name = Release;
};
87D776E21EF5623200E08B55 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = NO;
DEBUGGING_SYMBOLS = YES;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = "";
PRODUCT_NAME = zlib;
};
name = Debug;
};
87D776E31EF5623200E08B55 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = "";
PRODUCT_NAME = zlib;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
87D776C41EF5623200E08B55 /* Build configuration list for PBXProject "zlib" */ = {
isa = XCConfigurationList;
buildConfigurations = (
87D776C21EF5623200E08B55 /* Debug */,
87D776C31EF5623200E08B55 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
87D776E11EF5623200E08B55 /* Build configuration list for PBXLegacyTarget "zlib" */ = {
isa = XCConfigurationList;
buildConfigurations = (
87D776E21EF5623200E08B55 /* Debug */,
87D776E31EF5623200E08B55 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 87D776C11EF5623200E08B55 /* Project object */;
}

View File

@ -0,0 +1,8 @@
#import <UIKit/UIKit.h>
@interface DiskViewCell : UITableViewCell
@property (nonatomic, retain) IBOutlet UIImageView *diskImage;
@property (nonatomic, retain) IBOutlet UILabel *nameLabel;
@end

View File

@ -0,0 +1,26 @@
#import "DiskViewCell.h"
@implementation DiskViewCell
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
}
return self;
}
- (void)awakeFromNib
{
// Initialization code
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end

View File

@ -10,4 +10,9 @@
@interface EmulatorView : GLKView
- (void)handleKeyDown:(UIButton*)button;
- (void)handleKeyUp:(UIButton*)button;
@property (nonatomic, strong) UIViewController *controllerView;
@end

View File

@ -7,6 +7,7 @@
//
#import "EmulatorView.h"
#import "PadViewController.h"
#include "types.h"
@ -15,11 +16,27 @@ 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)
#define DC_BTN_C (1)
#define DC_BTN_B (1<<1)
#define DC_BTN_A (1<<2)
#define DC_BTN_START (1<<3)
#define DC_DPAD_UP (1<<4)
#define DC_DPAD_DOWN (1<<5)
#define DC_DPAD_LEFT (1<<6)
#define DC_DPAD_RIGHT (1<<7)
#define DC_BTN_Z (1<<8)
#define DC_BTN_Y (1<<9)
#define DC_BTN_X (1<<10)
#define DC_BTN_D (1<<11)
#define DC_DPAD2_UP (1<<12)
#define DC_DPAD2_DOWN (1<<13)
#define DC_DPAD2_LEFT (1<<14)
#define DC_DPAD2_RIGHT (1<<15)
int dpad_or_btn = 0;
#define DC_AXIS_LT (0X10000)
#define DC_AXIS_RT (0X10001)
#define DC_AXIS_X (0X20000)
#define DC_AXIS_Y (0X20001)
@implementation EmulatorView
@ -31,23 +48,97 @@ 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);
NSInteger a_button = 1;
NSInteger b_button = 2;
NSInteger x_button = 3;
NSInteger y_button = 4;
NSInteger up_pad = 5;
NSInteger down_pad = 6;
NSInteger left_pad = 7;
NSInteger right_pad = 8;
NSInteger left_trigger = 9;
NSInteger right_trigger = 10;
NSInteger start_button = 11;
- (void)setControlInput:(PadViewController *)input
{
self.controllerView = input;
}
-(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++;
- (void)handleKeyDown:(UIButton*)button
{
PadViewController * controller = (PadViewController *)self.controllerView;
if (button == controller.img_dpad_l || button.tag == left_pad) {
kcode[0] &= ~(DC_DPAD_LEFT);
}
if (button == controller.img_dpad_r || button.tag == right_pad) {
kcode[0] &= ~(DC_DPAD_RIGHT);
}
if (button == controller.img_dpad_u || button.tag == up_pad) {
kcode[0] &= ~(DC_DPAD_UP);
}
if (button == controller.img_dpad_d || button.tag == down_pad) {
kcode[0] &= ~(DC_DPAD_DOWN);
}
if (button == controller.img_abxy_a || button.tag == a_button) {
kcode[0] &= ~(DC_BTN_A);
}
if (button == controller.img_abxy_b || button.tag == b_button) {
kcode[0] &= ~(DC_BTN_B);
}
if (button == controller.img_abxy_x || button.tag == x_button) {
kcode[0] &= ~(DC_BTN_X);
}
if (button == controller.img_abxy_y || button.tag == y_button) {
kcode[0] &= ~(DC_BTN_Y);
}
if (button == controller.img_lt || button.tag == left_trigger) {
kcode[0] &= ~(DC_AXIS_LT);
}
if (button == controller.img_rt || button.tag == right_trigger) {
kcode[0] &= ~(DC_AXIS_RT);
}
if (button == controller.img_start || button.tag == start_button) {
kcode[0] &= ~(DC_BTN_START);
}
}
- (void)handleKeyUp:(UIButton*)button
{
PadViewController * controller = (PadViewController *)self.controllerView;
if (button == controller.img_dpad_l || button.tag == left_pad) {
kcode[0] |= ~(DC_DPAD_LEFT);
}
if (button == controller.img_dpad_r || button.tag == right_pad) {
kcode[0] |= ~(DC_DPAD_RIGHT);
}
if (button == controller.img_dpad_u || button.tag == up_pad) {
kcode[0] |= ~(DC_DPAD_UP);
}
if (button == controller.img_dpad_d || button.tag == down_pad) {
kcode[0] |= ~(DC_DPAD_DOWN);
}
if (button == controller.img_abxy_a || button.tag == a_button) {
kcode[0] |= (DC_BTN_A);
}
if (button == controller.img_abxy_b || button.tag == b_button) {
kcode[0] |= (DC_BTN_B);
}
if (button == controller.img_abxy_x || button.tag == x_button) {
kcode[0] |= (DC_BTN_X);
}
if (button == controller.img_abxy_y || button.tag == y_button) {
kcode[0] |= (DC_BTN_Y);
}
if (button == controller.img_lt || button.tag == left_trigger) {
kcode[0] |= (DC_AXIS_LT);
}
if (button == controller.img_rt || button.tag == right_trigger) {
kcode[0] |= (DC_AXIS_RT);
}
if (button == controller.img_start || button.tag == start_button) {
kcode[0] |= (DC_BTN_START);
}
}
@end

View File

@ -10,10 +10,18 @@
#import <GLKit/GLKit.h>
#import <GameController/GameController.h>
#import "iCadeReaderView.h"
#import "PadViewController.h"
#import "EmulatorView.h"
@interface ViewController : GLKViewController <iCadeEventDelegate>
@interface EmulatorViewController : GLKViewController <iCadeEventDelegate>
@property NSString* diskImage;
@property (nonatomic) iCadeReaderView* iCadeReader;
@property (nonatomic) GCController *gController __attribute__((weak_import));
@property (nonatomic, strong) id connectObserver;
@property (nonatomic, strong) id disconnectObserver;
@property (nonatomic, strong) EmulatorView *emuView;
@property (nonatomic, strong) PadViewController *controllerView;
@end

View File

@ -16,7 +16,7 @@
#include "hw/maple/maple_devs.h"
#include "hw/maple/maple_if.h"
@interface ViewController () {
@interface EmulatorViewController () {
}
@property (strong, nonatomic) EAGLContext *context;
@ -35,25 +35,34 @@ bool gles_init();
extern "C" int reicast_main(int argc, char* argv[]);
@implementation ViewController
@implementation EmulatorViewController
-(void)emuThread
{
install_prof_handler(1);
//This looks like the right place, rite?
char text[2]="";
char* prms[2];
prms[0]=text;
reicast_main(1, prms);
char *Args[3];
const char *P;
P = (const char *)[self.diskImage UTF8String];
Args[0] = "dc";
Args[1] = "-config";
Args[2] = P&&P[0]? (char *)malloc(strlen(P)+32):0;
if(Args[2])
{
strcpy(Args[2],"config:image=");
strcat(Args[2],P);
}
reicast_main(Args[2]? 3:1,Args);
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.controllerView = [[PadViewController alloc] initWithNibName:@"PadViewController" bundle:nil];
self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
@ -61,15 +70,33 @@ extern "C" int reicast_main(int argc, char* argv[]);
NSLog(@"Failed to create ES context");
}
GLKView *view = (GLKView *)self.view;
view.context = self.context;
view.drawableDepthFormat = GLKViewDrawableDepthFormat24;
self.emuView = (EmulatorView *)self.view;
self.emuView.context = self.context;
self.emuView.drawableDepthFormat = GLKViewDrawableDepthFormat24;
self.iCadeReader = [[iCadeReaderView alloc] init];
[self.view addSubview:self.iCadeReader];
self.iCadeReader.delegate = self;
self.iCadeReader.active = YES;
[self.controllerView setControlOutput:self.emuView];
self.connectObserver = [[NSNotificationCenter defaultCenter] addObserverForName:GCControllerDidConnectNotification object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
if ([[GCController controllers] count] == 1) {
[self toggleHardwareController:YES];
}
}];
self.disconnectObserver = [[NSNotificationCenter defaultCenter] addObserverForName:GCControllerDidDisconnectNotification object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
if (![[GCController controllers] count]) {
[self toggleHardwareController:NO];
}
}];
if ([[GCController controllers] count]) {
[self toggleHardwareController:YES];
}
[self.controllerView showController:self.view];
self.iCadeReader = [[iCadeReaderView alloc] init];
[self.view addSubview:self.iCadeReader];
self.iCadeReader.delegate = self;
self.iCadeReader.active = YES;
[self setupGL];
if (!gles_init())
@ -82,7 +109,7 @@ extern "C" int reicast_main(int argc, char* argv[]);
}
- (void)dealloc
{
{
[self tearDownGL];
if ([EAGLContext currentContext] == self.context) {
@ -127,6 +154,126 @@ extern "C" int reicast_main(int argc, char* argv[]);
}
- (void)toggleHardwareController:(BOOL)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) {
if (pressed && value >= 0.1) {
[self.emuView handleKeyDown:self.controllerView.img_abxy_a];
} else {
[self.emuView handleKeyUp:self.controllerView.img_abxy_a];
}
}];
[self.gController.gamepad.buttonB setValueChangedHandler:^(GCControllerButtonInput *button, float value, BOOL pressed) {
if (pressed && value >= 0.1) {
[self.emuView handleKeyDown:self.controllerView.img_abxy_b];
} else {
[self.emuView handleKeyUp:self.controllerView.img_abxy_b];
}
}];
[self.gController.gamepad.buttonX setValueChangedHandler:^(GCControllerButtonInput *button, float value, BOOL pressed) {
if (pressed && value >= 0.1) {
[self.emuView handleKeyDown:self.controllerView.img_abxy_x];
} else {
[self.emuView handleKeyUp:self.controllerView.img_abxy_x];
}
}];
[self.gController.gamepad.buttonY setValueChangedHandler:^(GCControllerButtonInput *button, float value, BOOL pressed) {
if (pressed && value >= 0.1) {
[self.emuView handleKeyDown:self.controllerView.img_abxy_y];
} else {
[self.emuView handleKeyUp:self.controllerView.img_abxy_y];
}
}];
[self.gController.gamepad.dpad setValueChangedHandler:^(GCControllerDirectionPad *dpad, float xValue, float yValue){
if (xValue >= 0.1) {
[self.emuView handleKeyDown:self.controllerView.img_dpad_r];
} else {
[self.emuView handleKeyUp:self.controllerView.img_dpad_r];
}
if (xValue <= -0.1) {
[self.emuView handleKeyDown:self.controllerView.img_dpad_l];
} else {
[self.emuView handleKeyUp:self.controllerView.img_dpad_l];
}
if (yValue >= 0.1) {
[self.emuView handleKeyDown:self.controllerView.img_dpad_u];
} else {
[self.emuView handleKeyUp:self.controllerView.img_dpad_u];
}
if (yValue <= -0.1) {
[self.emuView handleKeyDown:self.controllerView.img_dpad_d];
} else {
[self.emuView handleKeyUp:self.controllerView.img_dpad_d];
}
}];
//Add controller pause handler here
}
if (self.gController.extendedGamepad) {
[self.gController.extendedGamepad.buttonA setValueChangedHandler:^(GCControllerButtonInput *button, float value, BOOL pressed) {
if (pressed && value >= 0.1) {
[self.emuView handleKeyDown:self.controllerView.img_abxy_a];
} else {
[self.emuView handleKeyUp:self.controllerView.img_abxy_a];
}
}];
[self.gController.extendedGamepad.buttonB setValueChangedHandler:^(GCControllerButtonInput *button, float value, BOOL pressed) {
if (pressed && value >= 0.1) {
[self.emuView handleKeyDown:self.controllerView.img_abxy_b];
} else {
[self.emuView handleKeyUp:self.controllerView.img_abxy_b];
}
}];
[self.gController.extendedGamepad.buttonX setValueChangedHandler:^(GCControllerButtonInput *button, float value, BOOL pressed) {
if (pressed && value >= 0.1) {
[self.emuView handleKeyDown:self.controllerView.img_abxy_x];
} else {
[self.emuView handleKeyUp:self.controllerView.img_abxy_x];
}
}];
[self.gController.extendedGamepad.buttonY setValueChangedHandler:^(GCControllerButtonInput *button, float value, BOOL pressed) {
if (pressed && value >= 0.1) {
[self.emuView handleKeyDown:self.controllerView.img_abxy_y];
} else {
[self.emuView handleKeyUp:self.controllerView.img_abxy_y];
}
}];
[self.gController.extendedGamepad.dpad setValueChangedHandler:^(GCControllerDirectionPad *dpad, float xValue, float yValue){
if (xValue >= 0.1) {
[self.emuView handleKeyDown:self.controllerView.img_dpad_r];
} else {
[self.emuView handleKeyUp:self.controllerView.img_dpad_r];
}
if (xValue <= -0.1) {
[self.emuView handleKeyDown:self.controllerView.img_dpad_l];
} else {
[self.emuView handleKeyUp:self.controllerView.img_dpad_l];
}
if (yValue >= 0.1) {
[self.emuView handleKeyDown:self.controllerView.img_dpad_u];
} else {
[self.emuView handleKeyUp:self.controllerView.img_dpad_u];
}
if (yValue <= -0.1) {
[self.emuView handleKeyDown:self.controllerView.img_dpad_d];
} else {
[self.emuView handleKeyUp:self.controllerView.img_dpad_d];
}
}];
[self.gController.extendedGamepad.leftThumbstick.xAxis setValueChangedHandler:^(GCControllerAxisInput *axis, float value){
}];
[self.gController.extendedGamepad.leftThumbstick.yAxis setValueChangedHandler:^(GCControllerAxisInput *axis, float value){
}];
}
} else {
self.gController = nil;
// [self.controllerView showController:self.view];
}
}
- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect
{

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -1,32 +1,100 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="6250" systemVersion="13F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="WRM-pR-XCP">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7706" systemVersion="14E46" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" initialViewController="mSg-lr-0DL">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6244"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
</dependencies>
<scenes>
<!--View Controller-->
<!--Root View Controller-->
<scene sceneID="q8K-fk-uPf">
<objects>
<tableViewController id="ZcT-ex-GUK" customClass="PathsViewController" sceneMemberID="viewController">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="LNG-KY-d6N">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<prototypes>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" reuseIdentifier="Cell" rowHeight="80" id="mMa-C3-VYu" customClass="DiskViewCell">
<rect key="frame" x="0.0" y="22" width="320" height="80"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="mMa-C3-VYu" id="snt-ku-Aaq">
<rect key="frame" x="0.0" y="0.0" width="287" height="79.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="disk_unknown.png" id="6Qh-mW-Z9j">
<rect key="frame" x="8" y="4" width="72" height="72"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Epl-iu-f5s">
<rect key="frame" x="88" y="24" width="199" height="32"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</tableViewCellContentView>
<connections>
<outlet property="diskImage" destination="6Qh-mW-Z9j" id="b3r-L8-LS3"/>
<outlet property="nameLabel" destination="Epl-iu-f5s" id="i0S-JF-deT"/>
</connections>
</tableViewCell>
</prototypes>
<connections>
<outlet property="dataSource" destination="ZcT-ex-GUK" id="TGz-Qe-tBz"/>
<outlet property="delegate" destination="ZcT-ex-GUK" id="LAp-Yu-Mwb"/>
</connections>
</tableView>
<navigationItem key="navigationItem" title="Root View Controller" id="5jN-Uj-bBb"/>
<simulatedOrientationMetrics key="simulatedOrientationMetrics"/>
<connections>
<segue destination="WRM-pR-XCP" kind="modal" identifier="emulatorView" id="b10-sb-xpr"/>
</connections>
</tableViewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="mdD-bX-Gqc" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-88" y="-692"/>
</scene>
<!--Navigation Controller-->
<scene sceneID="VLz-J1-2XD">
<objects>
<navigationController navigationBarHidden="YES" id="mSg-lr-0DL" sceneMemberID="viewController">
<navigationBar key="navigationBar" contentMode="scaleToFill" id="vT9-en-Ct5">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<connections>
<segue destination="ZcT-ex-GUK" kind="relationship" relationship="rootViewController" id="fhp-zt-Xhh"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="i7I-Ys-F6b" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-692" y="-692"/>
</scene>
<!--Emulator View Controller-->
<scene sceneID="h6I-2s-MCy">
<objects>
<viewController storyboardIdentifier="emulatorView" wantsFullScreenLayout="YES" id="WRM-pR-XCP" customClass="ViewController" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="JQE-db-ZiC" customClass="EmulatorView">
<viewController storyboardIdentifier="emulatorView" wantsFullScreenLayout="YES" id="WRM-pR-XCP" customClass="EmulatorViewController" sceneMemberID="viewController">
<view key="view" multipleTouchEnabled="YES" contentMode="scaleToFill" id="JQE-db-ZiC" customClass="EmulatorView">
<rect key="frame" x="0.0" y="0.0" width="568" height="320"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" cocoaTouchSystemColor="darkTextColor"/>
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<accessibility key="accessibilityConfiguration">
<accessibilityTraits key="traits" none="YES" notEnabled="YES"/>
</accessibility>
<gestureRecognizers/>
</view>
<navigationItem key="navigationItem" id="FmO-Yo-nVN"/>
<nil key="simulatedStatusBarMetrics"/>
<simulatedOrientationMetrics key="simulatedOrientationMetrics" orientation="landscapeRight"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="ioY-OH-Jev" userLabel="First Responder" sceneMemberID="firstResponder"/>
<pongPressGestureRecognizer delaysTouchesEnded="NO" allowableMovement="10" minimumPressDuration="0.5" id="J8w-PT-eHl">
<connections>
<action selector="doSaveState:" destination="WRM-pR-XCP" id="6ND-tU-CZE"/>
</connections>
</pongPressGestureRecognizer>
</objects>
<point key="canvasLocation" x="486" y="-692"/>
</scene>
</scenes>
<resources>
<image name="disk_unknown.png" width="95" height="95"/>
</resources>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
<simulatedStatusBarMetrics key="statusBar"/>
<simulatedOrientationMetrics key="orientation"/>

View File

@ -0,0 +1,34 @@
//
// 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;
@property (nonatomic, strong) EmulatorView *handler;
- (void) showController:(UIView *)parentView;
- (void) hideController;
- (BOOL) isControllerVisible;
- (void) setControlOutput:(EmulatorView *)output;
@end

View File

@ -0,0 +1,78 @@
//
// PadViewController.m
// reicast-ios
//
// Created by Lounge Katt on 8/25/15.
// Copyright (c) 2015 reicast. All rights reserved.
//
#import "PadViewController.h"
#import "EmulatorView.h"
@interface PadViewController ()
@end
@implementation PadViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (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;
}
- (void)setControlOutput:(EmulatorView *)output
{
self.handler = output;
}
- (IBAction)keycodeDown:(id)sender
{
[self.handler handleKeyDown:(UIButton*)sender];
}
- (IBAction)keycodeUp:(id)sender
{
[self.handler handleKeyUp:(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,197 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14F2109" 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 multipleTouchEnabled="YES" 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" multipleTouchEnabled="YES" tag="9" 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="keycodeDown:" destination="-1" eventType="touchDown" id="34L-sO-g81"/>
<action selector="keycodeUp:" destination="-1" eventType="touchUpInside" id="iDv-U3-6OX"/>
</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" multipleTouchEnabled="YES" tag="10" 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="keycodeDown:" destination="-1" eventType="touchDown" id="vPf-qF-m13"/>
<action selector="keycodeUp:" destination="-1" eventType="touchUpInside" id="hQh-8f-5jG"/>
</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" multipleTouchEnabled="YES" tag="7" 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="keycodeDown:" destination="-1" eventType="touchDown" id="3Yw-AP-xVf"/>
<action selector="keycodeUp:" destination="-1" eventType="touchUpInside" id="5gI-j0-ANf"/>
</connections>
</button>
<button opaque="NO" multipleTouchEnabled="YES" tag="8" 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="keycodeDown:" destination="-1" eventType="touchDown" id="2Dv-zb-f8V"/>
<action selector="keycodeUp:" destination="-1" eventType="touchUpInside" id="woi-3Y-IfD"/>
</connections>
</button>
<button opaque="NO" multipleTouchEnabled="YES" tag="5" 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="keycodeDown:" destination="-1" eventType="touchDown" id="kT6-yy-ZtY"/>
<action selector="keycodeUp:" destination="-1" eventType="touchUpInside" id="R0R-dl-GAG"/>
</connections>
</button>
<button opaque="NO" multipleTouchEnabled="YES" tag="6" 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="keycodeDown:" destination="-1" eventType="touchDown" id="Wck-mk-4Py"/>
<action selector="keycodeUp:" destination="-1" eventType="touchUpInside" id="Qox-hz-p3A"/>
</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" multipleTouchEnabled="YES" tag="3" 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="keycodeDown:" destination="-1" eventType="touchDown" id="IBH-TK-vfV"/>
<action selector="keycodeUp:" destination="-1" eventType="touchUpInside" id="dhr-NT-lcF"/>
</connections>
</button>
<button opaque="NO" multipleTouchEnabled="YES" tag="2" 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="keycodeDown:" destination="-1" eventType="touchDown" id="dhg-58-L8C"/>
<action selector="keycodeUp:" destination="-1" eventType="touchUpInside" id="zqg-KK-Wxb"/>
</connections>
</button>
<button opaque="NO" multipleTouchEnabled="YES" tag="4" 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="keycodeDown:" destination="-1" eventType="touchDown" id="tyb-H4-TqJ"/>
<action selector="keycodeUp:" destination="-1" eventType="touchUpInside" id="oai-Xb-scl"/>
</connections>
</button>
<button opaque="NO" multipleTouchEnabled="YES" tag="1" 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="keycodeDown:" destination="-1" eventType="touchDown" id="Ysa-m4-KnN"/>
<action selector="keycodeUp:" destination="-1" eventType="touchUpInside" id="MTf-ND-WNy"/>
</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" multipleTouchEnabled="YES" tag="11" 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="keycodeDown:" destination="-1" eventType="touchDown" id="kwd-jB-5Wn"/>
<action selector="keycodeUp:" destination="-1" eventType="touchUpInside" id="gHx-tA-QlF"/>
</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

@ -8,7 +8,9 @@
#import <UIKit/UIKit.h>
@interface PathsViewController : UITableViewController
@interface PathsViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource>
@property (weak, nonatomic) IBOutlet UIBarButtonItem *sidebarButton;
@property (nonatomic, strong) NSMutableArray* diskImages;
@end

View File

@ -7,7 +7,9 @@
//
#import "PathsViewController.h"
#import "SWRevealViewController.h"
//#import "SWRevealViewController.h"
#import "EmulatorViewController.h"
#import "DiskViewCell.h"
@interface PathsViewController ()
@ -24,22 +26,32 @@
return self;
}
- (NSURL *)documents
{
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = @"Paths";
// Set the side bar button action. When it's tapped, it'll show up the sidebar.
_sidebarButton.target = self.revealViewController;
_sidebarButton.action = @selector(revealToggle:);
// _sidebarButton.target = self.revealViewController;
// _sidebarButton.action = @selector(revealToggle:);
// Set the gesture
[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
// [self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
// Uncomment the following line to preserve selection between presentations.
// self.clearsSelectionOnViewWillAppear = NO;
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
self.diskImages = [[NSMutableArray alloc] init];
NSArray *files = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:[self documents].path error:NULL];
NSPredicate *diskPredicate = [NSPredicate predicateWithFormat:@"self ENDSWITH '.chd' || self ENDSWITH '.gdi' || self ENDSWITH '.cdi' || self ENDSWITH '.CHD' || self ENDSWITH '.GDI' || self ENDSWITH '.CDI'"];
self.diskImages = [NSMutableArray arrayWithArray:[files filteredArrayUsingPredicate:diskPredicate]];
}
- (void)didReceiveMemoryWarning
@ -50,6 +62,52 @@
#pragma mark - Table view data source
// TODO: paths view controller logic
-(NSInteger)numberOfSectionsInTableView: (UITableView*)tableView
{
return 1;
}
-(NSInteger)tableView: (UITableView *)tableView numberOfRowsInSection: (NSInteger)section
{
return [self.diskImages count];
}
-(NSString*)tableView: (UITableView*)tableView titleForHeaderInSection: (NSInteger)section
{
return @"";
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 80;
// Assign the specific cell height to prevent issues with custom size
}
-(UITableViewCell*)tableView: (UITableView*)tableView cellForRowAtIndexPath: (NSIndexPath*)indexPath
{
static NSString *CellIdentifier = @"Cell";
DiskViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
NSString* imagePath = [self.diskImages objectAtIndex: indexPath.row];
cell.nameLabel.text = [[imagePath lastPathComponent] stringByDeletingPathExtension];
return cell;
}
-(void)prepareForSegue: (UIStoryboardSegue*)segue sender: (id)sender
{
if ([segue.identifier isEqualToString:@"emulatorView"]) {
NSIndexPath* indexPath = self.tableView.indexPathForSelectedRow;
NSString* filePath = [self.diskImages objectAtIndex: indexPath.row];
NSString* diskPath = [[self documents].path stringByAppendingPathComponent: filePath];
EmulatorViewController* emulatorView = segue.destinationViewController;
emulatorView.diskImage = diskPath;
}
}
-(void)tableView: (UITableView*)tableView didSelectRowAtIndexPath: (NSIndexPath*)indexPath
{
[self performSegueWithIdentifier: @"emulatorView" sender: self];
}
@end

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@ -8,13 +8,6 @@
<string>Reicast</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFiles</key>
<array>
<string>emulator/assets/Icon-72.png</string>
<string>emulator/assets/Icon-72@2x.png</string>
<string>emulator/assets/Icon.png</string>
<string>emulator/assets/Icon@2x.png</string>
</array>
<key>CFBundleIdentifier</key>
<string>com.reicast.$(PRODUCT_NAME:rfc1034identifier)</string>
<key>CFBundleInfoDictionaryVersion</key>

View File

@ -50,6 +50,9 @@
877652C61B6157BD00437F10 /* audiostream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 877652BF1B6157BD00437F10 /* audiostream.cpp */; };
877652C91B6157FC00437F10 /* ngen_arm.S in Sources */ = {isa = PBXBuildFile; fileRef = 877652C71B6157FC00437F10 /* ngen_arm.S */; };
877652CA1B6157FC00437F10 /* rec_arm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 877652C81B6157FC00437F10 /* rec_arm.cpp */; };
878B0CFC1B8BB5B400A8D1C5 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 878B0CFB1B8BB5B400A8D1C5 /* Images.xcassets */; };
878B0D001B8BFE6200A8D1C5 /* disk_unknown.png in Resources */ = {isa = PBXBuildFile; fileRef = 878B0CFF1B8BFE6200A8D1C5 /* disk_unknown.png */; };
8794D9C31B88F3D600B1B3A3 /* DiskViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8794D9C21B88F3D600B1B3A3 /* DiskViewCell.m */; };
87C208D71B7A4BFA00638BDD /* AboutViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 87C208C61B7A4BFA00638BDD /* AboutViewController.m */; };
87C208D81B7A4BFA00638BDD /* BrowserTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 87C208C81B7A4BFA00638BDD /* BrowserTableViewController.m */; };
87C208D91B7A4BFA00638BDD /* CloudVMUViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 87C208CA1B7A4BFA00638BDD /* CloudVMUViewController.m */; };
@ -87,10 +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 */; };
87DCDB251B7EE57D0054D67C /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 8703BC371A44B8DA00E7E939 /* Icon-72.png */; };
87DCDB261B7EE5850054D67C /* Icon-72@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8703BC381A44B8DA00E7E939 /* Icon-72@2x.png */; };
87DCDB271B7EE5850054D67C /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 8703BC391A44B8DA00E7E939 /* Icon.png */; };
87DCDB281B7EE5850054D67C /* Icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8703BC3A1A44B8DA00E7E939 /* Icon@2x.png */; };
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 */; };
@ -156,18 +157,6 @@
9C7A3AEE18C806E00070BB5F /* zip_unchange_all.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39B418C806DF0070BB5F /* zip_unchange_all.c */; };
9C7A3AEF18C806E00070BB5F /* zip_unchange_archive.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39B518C806DF0070BB5F /* zip_unchange_archive.c */; };
9C7A3AF018C806E00070BB5F /* zip_unchange_data.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39B618C806DF0070BB5F /* zip_unchange_data.c */; };
9C7A3AF118C806E00070BB5F /* adler32.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39B918C806DF0070BB5F /* adler32.c */; };
9C7A3AF218C806E00070BB5F /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39BA18C806DF0070BB5F /* compress.c */; };
9C7A3AF318C806E00070BB5F /* crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39BB18C806DF0070BB5F /* crc32.c */; };
9C7A3AF418C806E00070BB5F /* deflate.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39BD18C806DF0070BB5F /* deflate.c */; };
9C7A3AF518C806E00070BB5F /* infback.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39BF18C806DF0070BB5F /* infback.c */; };
9C7A3AF618C806E00070BB5F /* inffast.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39C018C806DF0070BB5F /* inffast.c */; };
9C7A3AF718C806E00070BB5F /* inflate.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39C318C806DF0070BB5F /* inflate.c */; };
9C7A3AF818C806E00070BB5F /* inftrees.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39C518C806DF0070BB5F /* inftrees.c */; };
9C7A3AF918C806E00070BB5F /* Makefile in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39C718C806DF0070BB5F /* Makefile */; };
9C7A3AFA18C806E00070BB5F /* trees.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39C818C806DF0070BB5F /* trees.c */; };
9C7A3AFB18C806E00070BB5F /* uncompr.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39CA18C806DF0070BB5F /* uncompr.c */; };
9C7A3AFC18C806E00070BB5F /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39CE18C806DF0070BB5F /* zutil.c */; };
9C7A3B0018C806E00070BB5F /* aica.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39E018C806DF0070BB5F /* aica.cpp */; };
9C7A3B0118C806E00070BB5F /* aica_if.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39E218C806DF0070BB5F /* aica_if.cpp */; };
9C7A3B0218C806E00070BB5F /* aica_mem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A39E418C806DF0070BB5F /* aica_mem.cpp */; };
@ -237,7 +226,7 @@
9C7A3B4E18C806E00070BB5F /* stdclass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A3A9918C806E00070BB5F /* stdclass.cpp */; };
9C7A3B5918C81A4F0070BB5F /* SWRevealViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C7A3B5818C81A4F0070BB5F /* SWRevealViewController.m */; };
9C7A3BC418C84EA10070BB5F /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9C7A3BC318C84EA10070BB5F /* MainStoryboard.storyboard */; };
EBDF37561BB96E1B001191B5 /* audiobackend_coreaudio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EBDF37541BB96E1B001191B5 /* audiobackend_coreaudio.cpp */; settings = {ASSET_TAGS = (); }; };
EBDF37561BB96E1B001191B5 /* audiobackend_coreaudio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EBDF37541BB96E1B001191B5 /* audiobackend_coreaudio.cpp */; };
EBDF375A1BB96ECD001191B5 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EBDF37591BB96ECD001191B5 /* AudioToolbox.framework */; };
/* End PBXBuildFile section */
@ -246,7 +235,6 @@
84967C751B8F492C005F1140 /* filter_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = filter_neon.S; sourceTree = "<group>"; };
84967C761B8F492C005F1140 /* filter_neon_intrinsics.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filter_neon_intrinsics.c; sourceTree = "<group>"; };
84967C771B8F492C005F1140 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
84967C781B8F492C005F1140 /* fp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fp.h; sourceTree = "<group>"; };
84967C791B8F492C005F1140 /* png.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = png.c; sourceTree = "<group>"; };
84967C7A1B8F492C005F1140 /* png.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = png.h; sourceTree = "<group>"; };
84967C7B1B8F492C005F1140 /* pngconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pngconf.h; sourceTree = "<group>"; };
@ -284,10 +272,6 @@
849C0D6A1B072D14008BAAA4 /* gdrom_hle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gdrom_hle.h; path = reios/gdrom_hle.h; sourceTree = "<group>"; };
849C0D6B1B072D14008BAAA4 /* reios_elf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = reios_elf.cpp; path = reios/reios_elf.cpp; sourceTree = "<group>"; };
849C0D6C1B072D14008BAAA4 /* reios_elf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = reios_elf.h; path = reios/reios_elf.h; sourceTree = "<group>"; };
8703BC371A44B8DA00E7E939 /* Icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-72.png"; path = "emulator/assets/Icon-72.png"; sourceTree = "<group>"; };
8703BC381A44B8DA00E7E939 /* Icon-72@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-72@2x.png"; path = "emulator/assets/Icon-72@2x.png"; sourceTree = "<group>"; };
8703BC391A44B8DA00E7E939 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon.png; path = emulator/assets/Icon.png; sourceTree = "<group>"; };
8703BC3A1A44B8DA00E7E939 /* Icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon@2x.png"; path = "emulator/assets/Icon@2x.png"; sourceTree = "<group>"; };
87078A8318A47FE90034C7A0 /* reicast-ios.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "reicast-ios.app"; sourceTree = BUILT_PRODUCTS_DIR; };
87078A8618A47FE90034C7A0 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
87078A8818A47FE90034C7A0 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
@ -318,6 +302,10 @@
877652C11B6157BD00437F10 /* oslib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oslib.h; sourceTree = "<group>"; };
877652C71B6157FC00437F10 /* ngen_arm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = ngen_arm.S; sourceTree = "<group>"; };
877652C81B6157FC00437F10 /* rec_arm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rec_arm.cpp; sourceTree = "<group>"; };
878B0CFB1B8BB5B400A8D1C5 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = "../reicast-ios/Images.xcassets"; sourceTree = "<group>"; };
878B0CFF1B8BFE6200A8D1C5 /* disk_unknown.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = disk_unknown.png; path = emulator/Images/disk_unknown.png; sourceTree = "<group>"; };
8794D9C11B88F3D600B1B3A3 /* DiskViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DiskViewCell.h; path = emulator/DiskViewCell.h; sourceTree = "<group>"; };
8794D9C21B88F3D600B1B3A3 /* DiskViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DiskViewCell.m; path = emulator/DiskViewCell.m; sourceTree = "<group>"; };
87C208C51B7A4BFA00638BDD /* AboutViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AboutViewController.h; path = emulator/AboutViewController.h; sourceTree = "<group>"; };
87C208C61B7A4BFA00638BDD /* AboutViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AboutViewController.m; path = emulator/AboutViewController.m; sourceTree = "<group>"; };
87C208C71B7A4BFA00638BDD /* BrowserTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BrowserTableViewController.h; path = emulator/BrowserTableViewController.h; sourceTree = "<group>"; };
@ -338,6 +326,7 @@
87C208D61B7A4BFA00638BDD /* SideDrawerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SideDrawerViewController.m; path = emulator/SideDrawerViewController.m; sourceTree = "<group>"; };
87C4AA531A440BEB0048DBF4 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
87C4AA551A4414070048DBF4 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; };
87D776E41EF5623300E08B55 /* zlib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = zlib.xcodeproj; path = deps/zlib/zlib.xcodeproj; sourceTree = "<group>"; };
87D92EA71B7839E600D8FD9E /* ios_main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ios_main.mm; path = emulator/ios_main.mm; sourceTree = SOURCE_ROOT; };
87D92F211B7A1B4800D8FD9E /* 210-octocat.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "210-octocat.png"; path = "emulator/Images/210-octocat.png"; sourceTree = "<group>"; };
87D92F221B7A1B4800D8FD9E /* 210-octocat@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "210-octocat@2x.png"; path = "emulator/Images//210-octocat@2x.png"; sourceTree = "<group>"; };
@ -366,6 +355,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>"; };
@ -384,7 +376,6 @@
9C7A394818C806DE0070BB5F /* E_VLoadStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = E_VLoadStore.h; sourceTree = "<group>"; };
9C7A394918C806DE0070BB5F /* E_VRegXfer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = E_VRegXfer.h; sourceTree = "<group>"; };
9C7A394A18C806DE0070BB5F /* H_Branches.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = H_Branches.h; sourceTree = "<group>"; };
9C7A394B18C806DE0070BB5F /* H_fp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = H_fp.h; sourceTree = "<group>"; };
9C7A394C18C806DE0070BB5F /* H_LoadStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = H_LoadStore.h; sourceTree = "<group>"; };
9C7A394D18C806DE0070BB5F /* H_psuedo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = H_psuedo.h; sourceTree = "<group>"; };
9C7A394E18C806DE0070BB5F /* H_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = H_state.h; sourceTree = "<group>"; };
@ -466,29 +457,6 @@
9C7A39B518C806DF0070BB5F /* zip_unchange_archive.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zip_unchange_archive.c; sourceTree = "<group>"; };
9C7A39B618C806DF0070BB5F /* zip_unchange_data.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zip_unchange_data.c; sourceTree = "<group>"; };
9C7A39B718C806DF0070BB5F /* zipint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zipint.h; sourceTree = "<group>"; };
9C7A39B918C806DF0070BB5F /* adler32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = adler32.c; sourceTree = "<group>"; };
9C7A39BA18C806DF0070BB5F /* compress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = compress.c; sourceTree = "<group>"; };
9C7A39BB18C806DF0070BB5F /* crc32.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crc32.c; sourceTree = "<group>"; };
9C7A39BC18C806DF0070BB5F /* crc32.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crc32.h; sourceTree = "<group>"; };
9C7A39BD18C806DF0070BB5F /* deflate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = deflate.c; sourceTree = "<group>"; };
9C7A39BE18C806DF0070BB5F /* deflate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = deflate.h; sourceTree = "<group>"; };
9C7A39BF18C806DF0070BB5F /* infback.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = infback.c; sourceTree = "<group>"; };
9C7A39C018C806DF0070BB5F /* inffast.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inffast.c; sourceTree = "<group>"; };
9C7A39C118C806DF0070BB5F /* inffast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inffast.h; sourceTree = "<group>"; };
9C7A39C218C806DF0070BB5F /* inffixed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inffixed.h; sourceTree = "<group>"; };
9C7A39C318C806DF0070BB5F /* inflate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inflate.c; sourceTree = "<group>"; };
9C7A39C418C806DF0070BB5F /* inflate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inflate.h; sourceTree = "<group>"; };
9C7A39C518C806DF0070BB5F /* inftrees.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inftrees.c; sourceTree = "<group>"; };
9C7A39C618C806DF0070BB5F /* inftrees.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inftrees.h; sourceTree = "<group>"; };
9C7A39C718C806DF0070BB5F /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
9C7A39C818C806DF0070BB5F /* trees.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = trees.c; sourceTree = "<group>"; };
9C7A39C918C806DF0070BB5F /* trees.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = trees.h; sourceTree = "<group>"; };
9C7A39CA18C806DF0070BB5F /* uncompr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uncompr.c; sourceTree = "<group>"; };
9C7A39CB18C806DF0070BB5F /* zconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zconf.h; sourceTree = "<group>"; };
9C7A39CC18C806DF0070BB5F /* zconf.in.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zconf.in.h; sourceTree = "<group>"; };
9C7A39CD18C806DF0070BB5F /* zlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zlib.h; sourceTree = "<group>"; };
9C7A39CE18C806DF0070BB5F /* zutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zutil.c; sourceTree = "<group>"; };
9C7A39CF18C806DF0070BB5F /* zutil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zutil.h; sourceTree = "<group>"; };
9C7A39E018C806DF0070BB5F /* aica.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aica.cpp; sourceTree = "<group>"; };
9C7A39E118C806DF0070BB5F /* aica.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aica.h; sourceTree = "<group>"; };
9C7A39E218C806DF0070BB5F /* aica_if.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aica_if.cpp; sourceTree = "<group>"; };
@ -731,17 +699,6 @@
name = reios;
sourceTree = "<group>";
};
8703BC361A44B8DA00E7E939 /* assets */ = {
isa = PBXGroup;
children = (
8703BC371A44B8DA00E7E939 /* Icon-72.png */,
8703BC381A44B8DA00E7E939 /* Icon-72@2x.png */,
8703BC391A44B8DA00E7E939 /* Icon.png */,
8703BC3A1A44B8DA00E7E939 /* Icon@2x.png */,
);
name = assets;
sourceTree = "<group>";
};
87078A7A18A47FE90034C7A0 = {
isa = PBXGroup;
children = (
@ -780,6 +737,7 @@
87078A9018A47FE90034C7A0 /* reicast */ = {
isa = PBXGroup;
children = (
878B0CFB1B8BB5B400A8D1C5 /* Images.xcassets */,
9C7A3BC318C84EA10070BB5F /* MainStoryboard.storyboard */,
87078A9918A47FE90034C7A0 /* AppDelegate.h */,
87078A9A18A47FE90034C7A0 /* AppDelegate.m */,
@ -801,7 +759,6 @@
87078A9118A47FE90034C7A0 /* Supporting Files */ = {
isa = PBXGroup;
children = (
8703BC361A44B8DA00E7E939 /* assets */,
87078A9218A47FE90034C7A0 /* reicast-ios-Info.plist */,
87078A9618A47FE90034C7A0 /* main.m */,
87078A9818A47FE90034C7A0 /* reicast-ios-Prefix.pch */,
@ -810,6 +767,13 @@
path = ..;
sourceTree = "<group>";
};
87D776E51EF5623300E08B55 /* Products */ = {
isa = PBXGroup;
children = (
);
name = Products;
sourceTree = "<group>";
};
87D92F4F1B7A1BB100D8FD9E /* iCade-iOS */ = {
isa = PBXGroup;
children = (
@ -834,6 +798,11 @@
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 */,
87C208C61B7A4BFA00638BDD /* AboutViewController.m */,
87C208C71B7A4BFA00638BDD /* BrowserTableViewController.h */,
@ -871,6 +840,7 @@
87D92F291B7A1B4800D8FD9E /* JoystickBackground.png */,
87D92F2A1B7A1B4800D8FD9E /* JoystickBackground@2x.png */,
87D92F2B1B7A1B4800D8FD9E /* JoystickButton.png */,
878B0CFF1B8BFE6200A8D1C5 /* disk_unknown.png */,
87D92F2C1B7A1B4800D8FD9E /* JoystickButton@2x.png */,
87D92F2D1B7A1B4800D8FD9E /* LTrigger.png */,
87D92F2E1B7A1B4800D8FD9E /* LTrigger@2x.png */,
@ -890,6 +860,7 @@
9C7A393818C806DE0070BB5F /* Emulator Core Code */ = {
isa = PBXGroup;
children = (
87D776E41EF5623300E08B55 /* zlib.xcodeproj */,
849C0D631B072CE0008BAAA4 /* reios */,
8497BCCC1A41BFD800EFB9ED /* coreio */,
8497BCC31A41BFBA00EFB9ED /* oslib */,
@ -935,7 +906,6 @@
9C7A394818C806DE0070BB5F /* E_VLoadStore.h */,
9C7A394918C806DE0070BB5F /* E_VRegXfer.h */,
9C7A394A18C806DE0070BB5F /* H_Branches.h */,
9C7A394B18C806DE0070BB5F /* H_fp.h */,
9C7A394C18C806DE0070BB5F /* H_LoadStore.h */,
9C7A394D18C806DE0070BB5F /* H_psuedo.h */,
9C7A394E18C806DE0070BB5F /* H_state.h */,
@ -964,7 +934,6 @@
9C7A396218C806DE0070BB5F /* libelf */,
9C7A396A18C806DE0070BB5F /* libpng */,
9C7A397E18C806DF0070BB5F /* libzip */,
9C7A39B818C806DF0070BB5F /* zlib */,
);
path = deps;
sourceTree = "<group>";
@ -1018,7 +987,6 @@
children = (
84967C731B8F492C005F1140 /* arm */,
84967C771B8F492C005F1140 /* config.h */,
84967C781B8F492C005F1140 /* fp.h */,
84967C791B8F492C005F1140 /* png.c */,
84967C7A1B8F492C005F1140 /* png.h */,
84967C7B1B8F492C005F1140 /* pngconf.h */,
@ -1109,36 +1077,6 @@
path = libzip;
sourceTree = "<group>";
};
9C7A39B818C806DF0070BB5F /* zlib */ = {
isa = PBXGroup;
children = (
9C7A39B918C806DF0070BB5F /* adler32.c */,
9C7A39BA18C806DF0070BB5F /* compress.c */,
9C7A39BB18C806DF0070BB5F /* crc32.c */,
9C7A39BC18C806DF0070BB5F /* crc32.h */,
9C7A39BD18C806DF0070BB5F /* deflate.c */,
9C7A39BE18C806DF0070BB5F /* deflate.h */,
9C7A39BF18C806DF0070BB5F /* infback.c */,
9C7A39C018C806DF0070BB5F /* inffast.c */,
9C7A39C118C806DF0070BB5F /* inffast.h */,
9C7A39C218C806DF0070BB5F /* inffixed.h */,
9C7A39C318C806DF0070BB5F /* inflate.c */,
9C7A39C418C806DF0070BB5F /* inflate.h */,
9C7A39C518C806DF0070BB5F /* inftrees.c */,
9C7A39C618C806DF0070BB5F /* inftrees.h */,
9C7A39C718C806DF0070BB5F /* Makefile */,
9C7A39C818C806DF0070BB5F /* trees.c */,
9C7A39C918C806DF0070BB5F /* trees.h */,
9C7A39CA18C806DF0070BB5F /* uncompr.c */,
9C7A39CB18C806DF0070BB5F /* zconf.h */,
9C7A39CC18C806DF0070BB5F /* zconf.in.h */,
9C7A39CD18C806DF0070BB5F /* zlib.h */,
9C7A39CE18C806DF0070BB5F /* zutil.c */,
9C7A39CF18C806DF0070BB5F /* zutil.h */,
);
path = zlib;
sourceTree = "<group>";
};
9C7A39DE18C806DF0070BB5F /* hw */ = {
isa = PBXGroup;
children = (
@ -1505,6 +1443,12 @@
mainGroup = 87078A7A18A47FE90034C7A0;
productRefGroup = 87078A8418A47FE90034C7A0 /* Products */;
projectDirPath = "";
projectReferences = (
{
ProductGroup = 87D776E51EF5623300E08B55 /* Products */;
ProjectRef = 87D776E41EF5623300E08B55 /* zlib.xcodeproj */;
},
);
projectRoot = "";
targets = (
87078A8218A47FE90034C7A0 /* reicast-ios */,
@ -1517,10 +1461,6 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
87DCDB251B7EE57D0054D67C /* Icon-72.png in Resources */,
87DCDB261B7EE5850054D67C /* Icon-72@2x.png in Resources */,
87DCDB271B7EE5850054D67C /* Icon.png in Resources */,
87DCDB281B7EE5850054D67C /* Icon@2x.png in Resources */,
87D92F461B7A1B4800D8FD9E /* menuback@2x.png in Resources */,
87D92F491B7A1B4800D8FD9E /* RTrigger.png in Resources */,
87D92F4B1B7A1B4800D8FD9E /* Start.png in Resources */,
@ -1528,6 +1468,7 @@
87D92F391B7A1B4800D8FD9E /* 210-twitterbird.png in Resources */,
87D92F3A1B7A1B4800D8FD9E /* 210-twitterbird@2x.png in Resources */,
87D92F3D1B7A1B4800D8FD9E /* DPad.png in Resources */,
878B0CFC1B8BB5B400A8D1C5 /* Images.xcassets in Resources */,
87D92F3C1B7A1B4800D8FD9E /* ABXYPad@2x.png in Resources */,
87D92F401B7A1B4800D8FD9E /* JoystickBackground@2x.png in Resources */,
9C7A3AA418C806E00070BB5F /* core.mk in Resources */,
@ -1546,7 +1487,9 @@
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 */,
87D92F481B7A1B4800D8FD9E /* menuicon@2x.png in Resources */,
87D92F371B7A1B4800D8FD9E /* 210-octocat.png in Resources */,
@ -1576,16 +1519,13 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
9C7A3AF918C806E00070BB5F /* Makefile in Sources */,
9C7A3B0D18C806E00070BB5F /* sb_dma.cpp in Sources */,
87C208D81B7A4BFA00638BDD /* BrowserTableViewController.m in Sources */,
9C7A3ADC18C806E00070BB5F /* zip_open.c in Sources */,
84967C9F1B8F492C005F1140 /* pngwtran.c in Sources */,
9C7A3AF218C806E00070BB5F /* compress.c in Sources */,
9C7A3B2718C806E00070BB5F /* dmac.cpp in Sources */,
9C7A3B3118C806E00070BB5F /* sh4_mmr.cpp in Sources */,
87C208DE1B7A4BFA00638BDD /* SettingsViewController.m in Sources */,
9C7A3AFC18C806E00070BB5F /* zutil.c in Sources */,
9C7A3AAA18C806E00070BB5F /* elf32.cpp in Sources */,
9C7A3AE218C806E00070BB5F /* zip_set_name.c in Sources */,
9C7A3B1C18C806E00070BB5F /* ta_vtx.cpp in Sources */,
@ -1612,6 +1552,7 @@
9C7A3B2318C806E00070BB5F /* sh4_opcodes.cpp in Sources */,
84967C951B8F492C005F1140 /* pngmem.c in Sources */,
9C7A3ADA18C806E00070BB5F /* zip_name_locate.c in Sources */,
8794D9C31B88F3D600B1B3A3 /* DiskViewCell.m in Sources */,
9C7A3B1B18C806E00070BB5F /* ta_ctx.cpp in Sources */,
9C7A3AE018C806E00070BB5F /* zip_set_archive_flag.c in Sources */,
9C7A3B3518C806E00070BB5F /* cdi.cpp in Sources */,
@ -1645,7 +1586,7 @@
9C7A3ABB18C806E00070BB5F /* mkstemp.c in Sources */,
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 */,
@ -1661,11 +1602,9 @@
87C208DF1B7A4BFA00638BDD /* SideDrawerViewController.m in Sources */,
9C7A3AA618C806E00070BB5F /* chdr.cpp in Sources */,
9C7A3AA518C806E00070BB5F /* cdipsr.cpp in Sources */,
9C7A3AFB18C806E00070BB5F /* uncompr.c in Sources */,
9C7A3B1218C806E00070BB5F /* maple_if.cpp in Sources */,
9C7A3AC818C806E00070BB5F /* zip_error_strerror.c in Sources */,
877652CA1B6157FC00437F10 /* rec_arm.cpp in Sources */,
9C7A3AF518C806E00070BB5F /* infback.c in Sources */,
8497BCCF1A41BFD800EFB9ED /* coreio.cpp in Sources */,
84967C9D1B8F492C005F1140 /* pngwio.c in Sources */,
9C7A3B0E18C806E00070BB5F /* sb_mem.cpp in Sources */,
@ -1678,8 +1617,6 @@
9C7A3AED18C806E00070BB5F /* zip_unchange.c in Sources */,
877652C31B6157BD00437F10 /* audiobackend_directsound.cpp in Sources */,
9C7A3B1F18C806E00070BB5F /* driver.cpp in Sources */,
9C7A3AFA18C806E00070BB5F /* trees.c in Sources */,
9C7A3AF418C806E00070BB5F /* deflate.c in Sources */,
9C7A3B2018C806E00070BB5F /* shil.cpp in Sources */,
9C7A3B2518C806E00070BB5F /* ccn.cpp in Sources */,
849C0D621B072C07008BAAA4 /* context.cpp in Sources */,
@ -1702,7 +1639,6 @@
9C7A3ACD18C806E00070BB5F /* zip_file_get_offset.c in Sources */,
9C7A3B2818C806E00070BB5F /* intc.cpp in Sources */,
9C7A3B3A18C806E00070BB5F /* ioctl.cpp in Sources */,
9C7A3AF818C806E00070BB5F /* inftrees.c in Sources */,
9C7A3AE418C806E00070BB5F /* zip_source_file.c in Sources */,
9C7A3AD918C806E00070BB5F /* zip_memdup.c in Sources */,
87078A9B18A47FE90034C7A0 /* AppDelegate.m in Sources */,
@ -1712,7 +1648,6 @@
9C7A3B0518C806E00070BB5F /* arm7.cpp in Sources */,
9C7A3AA718C806E00070BB5F /* md5.cpp in Sources */,
9C7A3B1518C806E00070BB5F /* pvr_mem.cpp in Sources */,
9C7A3AF718C806E00070BB5F /* inflate.c in Sources */,
9C7A3AC918C806E00070BB5F /* zip_error_to_str.c in Sources */,
9C7A3B0918C806E00070BB5F /* gdrom_response.cpp in Sources */,
84967C971B8F492C005F1140 /* pngread.c in Sources */,
@ -1736,7 +1671,6 @@
9C7A3AD418C806E00070BB5F /* zip_get_archive_comment.c in Sources */,
9C7A3AEF18C806E00070BB5F /* zip_unchange_archive.c in Sources */,
9C7A3AD118C806E00070BB5F /* zip_fopen_index.c in Sources */,
9C7A3AF618C806E00070BB5F /* inffast.c in Sources */,
9C7A3B1318C806E00070BB5F /* _vmem.cpp in Sources */,
9C7A3B1118C806E00070BB5F /* maple_helper.cpp in Sources */,
849C0D6E1B072D14008BAAA4 /* gdrom_hle.cpp in Sources */,
@ -1762,7 +1696,6 @@
9C7A3AC318C806E00070BB5F /* zip_err_str.c in Sources */,
9C7A3B4818C806E00070BB5F /* gldraw.cpp in Sources */,
9C7A3AE618C806E00070BB5F /* zip_source_free.c in Sources */,
9C7A3AF118C806E00070BB5F /* adler32.c in Sources */,
9C7A3B0A18C806E00070BB5F /* gdromv3.cpp in Sources */,
9C7A3B3418C806E00070BB5F /* sh4_sched.cpp in Sources */,
87C208DB1B7A4BFA00638BDD /* EmulatorViewController.mm in Sources */,
@ -1852,6 +1785,8 @@
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = armv7;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
GCC_PRECOMPILE_PREFIX_HEADER = YES;
@ -1887,6 +1822,8 @@
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = armv7;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
GCC_PRECOMPILE_PREFIX_HEADER = YES;

View File

@ -0,0 +1,60 @@
{
"images" : [
{
"idiom" : "iphone",
"size" : "29x29",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "Icon-60@2x.png",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"scale" : "3x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "Icon-76@2x.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -0,0 +1,49 @@
{
"images" : [
{
"orientation" : "portrait",
"idiom" : "ipad",
"minimum-system-version" : "7.0",
"extent" : "full-screen",
"scale" : "2x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"minimum-system-version" : "7.0",
"extent" : "full-screen",
"scale" : "1x"
},
{
"orientation" : "landscape",
"idiom" : "ipad",
"minimum-system-version" : "7.0",
"extent" : "full-screen",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "iphone",
"minimum-system-version" : "7.0",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "iphone",
"minimum-system-version" : "7.0",
"subtype" : "retina4",
"scale" : "2x"
},
{
"orientation" : "portrait",
"idiom" : "ipad",
"minimum-system-version" : "7.0",
"extent" : "full-screen",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

View File

@ -62,7 +62,8 @@
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "87078A8218A47FE90034C7A0"
@ -80,7 +81,8 @@
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "87078A8218A47FE90034C7A0"

View File

@ -1,33 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>SwitchCompat</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>