diff -Nur a/core/deps/libpng/fp.h b/core/deps/libpng/fp.h --- a/core/deps/libpng/fp.h 2015-10-06 21:43:53.002336114 -0300 +++ b/core/deps/libpng/fp.h 1969-12-31 21:00:00.000000000 -0300 @@ -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) Binary files a/shell/apple/emulator-ios/emulator/assets/Icon@2x.png and b/shell/apple/emulator-ios/emulator/assets/Icon@2x.png differ Binary files a/shell/apple/emulator-ios/emulator/assets/Icon-72@2x.png and b/shell/apple/emulator-ios/emulator/assets/Icon-72@2x.png differ Binary files a/shell/apple/emulator-ios/emulator/assets/Icon-72.png and b/shell/apple/emulator-ios/emulator/assets/Icon-72.png differ Binary files a/shell/apple/emulator-ios/emulator/assets/Icon.png and b/shell/apple/emulator-ios/emulator/assets/Icon.png differ diff -Nur a/shell/apple/emulator-ios/emulator/DiskViewCell.h b/shell/apple/emulator-ios/emulator/DiskViewCell.h --- a/shell/apple/emulator-ios/emulator/DiskViewCell.h 1969-12-31 21:00:00.000000000 -0300 +++ b/shell/apple/emulator-ios/emulator/DiskViewCell.h 2015-10-06 22:10:31.206968127 -0300 @@ -0,0 +1,8 @@ +#import + +@interface DiskViewCell : UITableViewCell + +@property (nonatomic, retain) IBOutlet UIImageView *diskImage; +@property (nonatomic, retain) IBOutlet UILabel *nameLabel; + +@end diff -Nur a/shell/apple/emulator-ios/emulator/DiskViewCell.m b/shell/apple/emulator-ios/emulator/DiskViewCell.m --- a/shell/apple/emulator-ios/emulator/DiskViewCell.m 1969-12-31 21:00:00.000000000 -0300 +++ b/shell/apple/emulator-ios/emulator/DiskViewCell.m 2015-10-06 22:10:31.206968127 -0300 @@ -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 diff -Nur a/shell/apple/emulator-ios/emulator/EmulatorViewController.h b/shell/apple/emulator-ios/emulator/EmulatorViewController.h --- a/shell/apple/emulator-ios/emulator/EmulatorViewController.h 2015-10-06 21:43:53.121336967 -0300 +++ b/shell/apple/emulator-ios/emulator/EmulatorViewController.h 2015-10-06 22:10:31.206968127 -0300 @@ -10,10 +10,18 @@ #import #import #import "iCadeReaderView.h" +#import "PadViewController.h" +#import "EmulatorView.h" -@interface ViewController : GLKViewController +@interface EmulatorViewController : GLKViewController +@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 diff -Nur a/shell/apple/emulator-ios/emulator/EmulatorViewController.mm b/shell/apple/emulator-ios/emulator/EmulatorViewController.mm --- a/shell/apple/emulator-ios/emulator/EmulatorViewController.mm 2015-10-06 21:43:53.121336967 -0300 +++ b/shell/apple/emulator-ios/emulator/EmulatorViewController.mm 2015-10-06 22:10:31.206968127 -0300 @@ -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 @@ 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 @@ 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 @@ } - (void)dealloc -{ +{ [self tearDownGL]; if ([EAGLContext currentContext] == self.context) { @@ -127,6 +154,126 @@ } +- (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 { diff -Nur a/shell/apple/emulator-ios/emulator/EmulatorView.h b/shell/apple/emulator-ios/emulator/EmulatorView.h --- a/shell/apple/emulator-ios/emulator/EmulatorView.h 2015-10-06 21:43:53.121336967 -0300 +++ b/shell/apple/emulator-ios/emulator/EmulatorView.h 2015-10-06 22:10:31.206968127 -0300 @@ -10,4 +10,9 @@ @interface EmulatorView : GLKView +- (void)handleKeyDown:(UIButton*)button; +- (void)handleKeyUp:(UIButton*)button; + +@property (nonatomic, strong) UIViewController *controllerView; + @end diff -Nur a/shell/apple/emulator-ios/emulator/EmulatorView.mm b/shell/apple/emulator-ios/emulator/EmulatorView.mm --- a/shell/apple/emulator-ios/emulator/EmulatorView.mm 2015-10-06 21:43:53.121336967 -0300 +++ b/shell/apple/emulator-ios/emulator/EmulatorView.mm 2015-10-06 22:10:31.206968127 -0300 @@ -7,6 +7,7 @@ // #import "EmulatorView.h" +#import "PadViewController.h" #include "types.h" @@ -15,11 +16,27 @@ extern s8 joyx[4],joyy[4]; extern u8 rt[4],lt[4]; -#define key_CONT_A (1 << 2) -#define key_CONT_START (1 << 3) -#define key_CONT_DPAD_LEFT (1 << 6) - -int dpad_or_btn = 0; +#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) + +#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,85 @@ } */ --(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { - - if (dpad_or_btn &1) - kcode[0] &= ~(key_CONT_START|key_CONT_A); - else - kcode[0] &= ~(key_CONT_DPAD_LEFT); +- (void)setControlInput:(PadViewController *)input +{ + self.controllerView = input; +} + +- (void)handleKeyDown:(UIButton*)button +{ + PadViewController * controller = (PadViewController *)self.controllerView; + if (button == controller.img_dpad_l) { + kcode[0] &= ~(DC_DPAD_LEFT); + } + if (button == controller.img_dpad_r) { + kcode[0] &= ~(DC_DPAD_RIGHT); + } + if (button == controller.img_dpad_u) { + kcode[0] &= ~(DC_DPAD_UP); + } + if (button == controller.img_dpad_d) { + kcode[0] &= ~(DC_DPAD_DOWN); + } + if (button == controller.img_abxy_a) { + kcode[0] &= ~(DC_BTN_A); + } + if (button == controller.img_abxy_b) { + kcode[0] &= ~(DC_BTN_B); + } + if (button == controller.img_abxy_x) { + kcode[0] &= ~(DC_BTN_X); + } + if (button == controller.img_abxy_y) { + kcode[0] &= ~(DC_BTN_Y); + } + if (button == controller.img_lt) { + kcode[0] &= ~(DC_AXIS_LT); + } + if (button == controller.img_rt) { + kcode[0] &= ~(DC_AXIS_RT); + } + if (button == controller.img_start) { + kcode[0] &= ~(DC_BTN_START); + } } --(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)handleKeyUp:(UIButton*)button +{ + PadViewController * controller = (PadViewController *)self.controllerView; + if (button == controller.img_dpad_l) { + kcode[0] |= ~(DC_DPAD_LEFT); + } + if (button == controller.img_dpad_r) { + kcode[0] |= ~(DC_DPAD_RIGHT); + } + if (button == controller.img_dpad_u) { + kcode[0] |= ~(DC_DPAD_UP); + } + if (button == controller.img_dpad_d) { + kcode[0] |= ~(DC_DPAD_DOWN); + } + if (button == controller.img_abxy_a) { + kcode[0] |= (DC_BTN_A); + } + if (button == controller.img_abxy_b) { + kcode[0] |= (DC_BTN_B); + } + if (button == controller.img_abxy_x) { + kcode[0] |= (DC_BTN_X); + } + if (button == controller.img_abxy_y) { + kcode[0] |= (DC_BTN_Y); + } + if (button == controller.img_lt) { + kcode[0] |= (DC_AXIS_LT); + } + if (button == controller.img_rt) { + kcode[0] |= (DC_AXIS_RT); + } + if (button == controller.img_start) { + kcode[0] |= (DC_BTN_START); + } } + @end Binary files a/shell/apple/emulator-ios/emulator/Images/disk_unknown.png and b/shell/apple/emulator-ios/emulator/Images/disk_unknown.png differ diff -Nur a/shell/apple/emulator-ios/emulator/MainStoryboard.storyboard b/shell/apple/emulator-ios/emulator/MainStoryboard.storyboard --- a/shell/apple/emulator-ios/emulator/MainStoryboard.storyboard 2015-10-06 21:43:53.123336981 -0300 +++ b/shell/apple/emulator-ios/emulator/MainStoryboard.storyboard 2015-10-06 22:10:31.207968135 -0300 @@ -1,32 +1,100 @@ - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + + + + + - - - - - + + + diff -Nur a/shell/apple/emulator-ios/emulator/PadViewController.h b/shell/apple/emulator-ios/emulator/PadViewController.h --- a/shell/apple/emulator-ios/emulator/PadViewController.h 1969-12-31 21:00:00.000000000 -0300 +++ b/shell/apple/emulator-ios/emulator/PadViewController.h 2015-10-06 22:10:31.207968135 -0300 @@ -0,0 +1,34 @@ +// +// PadViewController.h +// reicast-ios +// +// Created by Lounge Katt on 8/25/15. +// Copyright (c) 2015 reicast. All rights reserved. +// + +#import +#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 diff -Nur a/shell/apple/emulator-ios/emulator/PadViewController.m b/shell/apple/emulator-ios/emulator/PadViewController.m --- a/shell/apple/emulator-ios/emulator/PadViewController.m 1969-12-31 21:00:00.000000000 -0300 +++ b/shell/apple/emulator-ios/emulator/PadViewController.m 2015-10-06 22:10:31.207968135 -0300 @@ -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 diff -Nur a/shell/apple/emulator-ios/emulator/PadViewController.xib b/shell/apple/emulator-ios/emulator/PadViewController.xib --- a/shell/apple/emulator-ios/emulator/PadViewController.xib 1969-12-31 21:00:00.000000000 -0300 +++ b/shell/apple/emulator-ios/emulator/PadViewController.xib 2015-10-06 22:10:31.207968135 -0300 @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nur a/shell/apple/emulator-ios/emulator/PathsViewController.h b/shell/apple/emulator-ios/emulator/PathsViewController.h --- a/shell/apple/emulator-ios/emulator/PathsViewController.h 2015-10-06 21:43:53.123336981 -0300 +++ b/shell/apple/emulator-ios/emulator/PathsViewController.h 2015-10-06 22:10:31.207968135 -0300 @@ -8,7 +8,9 @@ #import -@interface PathsViewController : UITableViewController +@interface PathsViewController : UITableViewController @property (weak, nonatomic) IBOutlet UIBarButtonItem *sidebarButton; +@property (nonatomic, strong) NSMutableArray* diskImages; + @end diff -Nur a/shell/apple/emulator-ios/emulator/PathsViewController.m b/shell/apple/emulator-ios/emulator/PathsViewController.m --- a/shell/apple/emulator-ios/emulator/PathsViewController.m 2015-10-06 21:43:53.123336981 -0300 +++ b/shell/apple/emulator-ios/emulator/PathsViewController.m 2015-10-06 22:10:31.207968135 -0300 @@ -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 diff -Nur a/shell/apple/emulator-ios/emulator/reicast-ios-Info.plist b/shell/apple/emulator-ios/emulator/reicast-ios-Info.plist --- a/shell/apple/emulator-ios/emulator/reicast-ios-Info.plist 2015-10-06 21:43:53.124336988 -0300 +++ b/shell/apple/emulator-ios/emulator/reicast-ios-Info.plist 2015-10-06 22:10:31.207968135 -0300 @@ -8,13 +8,6 @@ Reicast CFBundleExecutable ${EXECUTABLE_NAME} - CFBundleIconFiles - - emulator/assets/Icon-72.png - emulator/assets/Icon-72@2x.png - emulator/assets/Icon.png - emulator/assets/Icon@2x.png - CFBundleIdentifier com.reicast.$(PRODUCT_NAME:rfc1034identifier) CFBundleInfoDictionaryVersion diff -Nur a/shell/apple/emulator-ios/reicast-ios/Images.xcassets/AppIcon.appiconset/Contents.json b/shell/apple/emulator-ios/reicast-ios/Images.xcassets/AppIcon.appiconset/Contents.json --- a/shell/apple/emulator-ios/reicast-ios/Images.xcassets/AppIcon.appiconset/Contents.json 1969-12-31 21:00:00.000000000 -0300 +++ b/shell/apple/emulator-ios/reicast-ios/Images.xcassets/AppIcon.appiconset/Contents.json 2015-10-06 22:10:31.209968149 -0300 @@ -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" + } +} \ No newline at end of file Binary files a/shell/apple/emulator-ios/reicast-ios/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png and b/shell/apple/emulator-ios/reicast-ios/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png differ Binary files a/shell/apple/emulator-ios/reicast-ios/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png and b/shell/apple/emulator-ios/reicast-ios/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png differ diff -Nur a/shell/apple/emulator-ios/reicast-ios/Images.xcassets/LaunchImage.launchimage/Contents.json b/shell/apple/emulator-ios/reicast-ios/Images.xcassets/LaunchImage.launchimage/Contents.json --- a/shell/apple/emulator-ios/reicast-ios/Images.xcassets/LaunchImage.launchimage/Contents.json 1969-12-31 21:00:00.000000000 -0300 +++ b/shell/apple/emulator-ios/reicast-ios/Images.xcassets/LaunchImage.launchimage/Contents.json 2015-10-06 22:10:31.209968149 -0300 @@ -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" + } +} \ No newline at end of file diff -Nur a/shell/apple/emulator-ios/reicast-ios.xcodeproj/project.pbxproj b/shell/apple/emulator-ios/reicast-ios.xcodeproj/project.pbxproj --- a/shell/apple/emulator-ios/reicast-ios.xcodeproj/project.pbxproj 2015-10-06 21:43:53.125336995 -0300 +++ b/shell/apple/emulator-ios/reicast-ios.xcodeproj/project.pbxproj 2015-10-06 22:10:31.209968149 -0300 @@ -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 */; }; @@ -244,7 +245,6 @@ 84967C751B8F492C005F1140 /* filter_neon.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = filter_neon.S; sourceTree = ""; }; 84967C761B8F492C005F1140 /* filter_neon_intrinsics.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = filter_neon_intrinsics.c; sourceTree = ""; }; 84967C771B8F492C005F1140 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; - 84967C781B8F492C005F1140 /* fp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fp.h; sourceTree = ""; }; 84967C791B8F492C005F1140 /* png.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = png.c; sourceTree = ""; }; 84967C7A1B8F492C005F1140 /* png.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = png.h; sourceTree = ""; }; 84967C7B1B8F492C005F1140 /* pngconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pngconf.h; sourceTree = ""; }; @@ -282,10 +282,6 @@ 849C0D6A1B072D14008BAAA4 /* gdrom_hle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gdrom_hle.h; path = reios/gdrom_hle.h; sourceTree = ""; }; 849C0D6B1B072D14008BAAA4 /* reios_elf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = reios_elf.cpp; path = reios/reios_elf.cpp; sourceTree = ""; }; 849C0D6C1B072D14008BAAA4 /* reios_elf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = reios_elf.h; path = reios/reios_elf.h; sourceTree = ""; }; - 8703BC371A44B8DA00E7E939 /* Icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-72.png"; path = "emulator/assets/Icon-72.png"; sourceTree = ""; }; - 8703BC381A44B8DA00E7E939 /* Icon-72@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-72@2x.png"; path = "emulator/assets/Icon-72@2x.png"; sourceTree = ""; }; - 8703BC391A44B8DA00E7E939 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon.png; path = emulator/assets/Icon.png; sourceTree = ""; }; - 8703BC3A1A44B8DA00E7E939 /* Icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon@2x.png"; path = "emulator/assets/Icon@2x.png"; sourceTree = ""; }; 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; }; @@ -316,6 +312,10 @@ 877652C11B6157BD00437F10 /* oslib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oslib.h; sourceTree = ""; }; 877652C71B6157FC00437F10 /* ngen_arm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = ngen_arm.S; sourceTree = ""; }; 877652C81B6157FC00437F10 /* rec_arm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rec_arm.cpp; sourceTree = ""; }; + 878B0CFB1B8BB5B400A8D1C5 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = "../reicast-ios/Images.xcassets"; sourceTree = ""; }; + 878B0CFF1B8BFE6200A8D1C5 /* disk_unknown.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = disk_unknown.png; path = emulator/Images/disk_unknown.png; sourceTree = ""; }; + 8794D9C11B88F3D600B1B3A3 /* DiskViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DiskViewCell.h; path = emulator/DiskViewCell.h; sourceTree = ""; }; + 8794D9C21B88F3D600B1B3A3 /* DiskViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DiskViewCell.m; path = emulator/DiskViewCell.m; sourceTree = ""; }; 87C208C51B7A4BFA00638BDD /* AboutViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AboutViewController.h; path = emulator/AboutViewController.h; sourceTree = ""; }; 87C208C61B7A4BFA00638BDD /* AboutViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AboutViewController.m; path = emulator/AboutViewController.m; sourceTree = ""; }; 87C208C71B7A4BFA00638BDD /* BrowserTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BrowserTableViewController.h; path = emulator/BrowserTableViewController.h; sourceTree = ""; }; @@ -364,6 +364,9 @@ 87D92F511B7A1BB100D8FD9E /* iCadeReaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = iCadeReaderView.m; sourceTree = ""; }; 87D92F521B7A1BB100D8FD9E /* iCadeState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iCadeState.h; sourceTree = ""; }; 87D92F531B7A1BB100D8FD9E /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; + 87FA52E61B8CE18600CEFC32 /* PadViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PadViewController.h; path = emulator/PadViewController.h; sourceTree = ""; }; + 87FA52E71B8CE18600CEFC32 /* PadViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PadViewController.m; path = emulator/PadViewController.m; sourceTree = ""; }; + 87FA52E81B8CE18600CEFC32 /* PadViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PadViewController.xib; path = emulator/PadViewController.xib; sourceTree = ""; }; 9C7A393218C804A80070BB5F /* reicast.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = reicast.entitlements; sourceTree = ""; }; 9C7A393A18C806DE0070BB5F /* arm_coding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arm_coding.h; sourceTree = ""; }; 9C7A393B18C806DE0070BB5F /* arm_disasm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arm_disasm.h; sourceTree = ""; }; @@ -382,7 +385,6 @@ 9C7A394818C806DE0070BB5F /* E_VLoadStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = E_VLoadStore.h; sourceTree = ""; }; 9C7A394918C806DE0070BB5F /* E_VRegXfer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = E_VRegXfer.h; sourceTree = ""; }; 9C7A394A18C806DE0070BB5F /* H_Branches.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = H_Branches.h; sourceTree = ""; }; - 9C7A394B18C806DE0070BB5F /* H_fp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = H_fp.h; sourceTree = ""; }; 9C7A394C18C806DE0070BB5F /* H_LoadStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = H_LoadStore.h; sourceTree = ""; }; 9C7A394D18C806DE0070BB5F /* H_psuedo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = H_psuedo.h; sourceTree = ""; }; 9C7A394E18C806DE0070BB5F /* H_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = H_state.h; sourceTree = ""; }; @@ -722,17 +724,6 @@ name = reios; sourceTree = ""; }; - 8703BC361A44B8DA00E7E939 /* assets */ = { - isa = PBXGroup; - children = ( - 8703BC371A44B8DA00E7E939 /* Icon-72.png */, - 8703BC381A44B8DA00E7E939 /* Icon-72@2x.png */, - 8703BC391A44B8DA00E7E939 /* Icon.png */, - 8703BC3A1A44B8DA00E7E939 /* Icon@2x.png */, - ); - name = assets; - sourceTree = ""; - }; 87078A7A18A47FE90034C7A0 = { isa = PBXGroup; children = ( @@ -769,6 +760,7 @@ 87078A9018A47FE90034C7A0 /* reicast */ = { isa = PBXGroup; children = ( + 878B0CFB1B8BB5B400A8D1C5 /* Images.xcassets */, 9C7A3BC318C84EA10070BB5F /* MainStoryboard.storyboard */, 87078A9918A47FE90034C7A0 /* AppDelegate.h */, 87078A9A18A47FE90034C7A0 /* AppDelegate.m */, @@ -790,7 +782,6 @@ 87078A9118A47FE90034C7A0 /* Supporting Files */ = { isa = PBXGroup; children = ( - 8703BC361A44B8DA00E7E939 /* assets */, 87078A9218A47FE90034C7A0 /* reicast-ios-Info.plist */, 87078A9618A47FE90034C7A0 /* main.m */, 87078A9818A47FE90034C7A0 /* reicast-ios-Prefix.pch */, @@ -823,6 +814,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 */, @@ -860,6 +856,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 */, @@ -924,7 +921,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 */, @@ -1007,7 +1003,6 @@ children = ( 84967C731B8F492C005F1140 /* arm */, 84967C771B8F492C005F1140 /* config.h */, - 84967C781B8F492C005F1140 /* fp.h */, 84967C791B8F492C005F1140 /* png.c */, 84967C7A1B8F492C005F1140 /* png.h */, 84967C7B1B8F492C005F1140 /* pngconf.h */, @@ -1506,10 +1501,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 */, @@ -1517,6 +1508,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 */, @@ -1535,7 +1527,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 */, @@ -1601,6 +1595,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 */, @@ -1635,6 +1630,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 */, @@ -1840,6 +1836,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; @@ -1875,6 +1873,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; diff -Nur a/shell/apple/reicast.xcworkspace/xcshareddata/xcschemes/reicast-ios.xcscheme b/shell/apple/reicast.xcworkspace/xcshareddata/xcschemes/reicast-ios.xcscheme --- a/shell/apple/reicast.xcworkspace/xcshareddata/xcschemes/reicast-ios.xcscheme 2015-10-06 21:43:53.127337010 -0300 +++ b/shell/apple/reicast.xcworkspace/xcshareddata/xcschemes/reicast-ios.xcscheme 2015-10-06 22:10:31.210968157 -0300 @@ -62,7 +62,8 @@ ignoresPersistentStateOnLaunch = "NO" debugDocumentVersioning = "YES" allowLocationSimulation = "YES"> - + - +