Merge pull request #1303 from jeapostrophe/master
Fix a variety of iOS issues:
Before Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 8.0 KiB |
@ -0,0 +1,125 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-29-1.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-29-2.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-29-3.png",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-40-2.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-40-3.png",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"size" : "57x57",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-57-1.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "57x57",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-57-2.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "60x60",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-60-2.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "60x60",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "Icon-60-3.png",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-29-1-1.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-29-2-1.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-40-1.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "40x40",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-40-2-1.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "50x50",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-50-1.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "50x50",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-50-2.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "72x72",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-72-1.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "72x72",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-72-2.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "76x76",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-76-1.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "76x76",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "Icon-76-2.png",
|
||||
"scale" : "2x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
},
|
||||
"properties" : {
|
||||
"pre-rendered" : true
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 910 B |
After Width: | Height: | Size: 910 B |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 5.1 KiB |
@ -0,0 +1,134 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"extent" : "full-screen",
|
||||
"idiom" : "iphone",
|
||||
"subtype" : "736h",
|
||||
"filename" : "blackimage.png",
|
||||
"minimum-system-version" : "8.0",
|
||||
"orientation" : "portrait",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"extent" : "full-screen",
|
||||
"idiom" : "iphone",
|
||||
"subtype" : "736h",
|
||||
"filename" : "blackimage-2.png",
|
||||
"minimum-system-version" : "8.0",
|
||||
"orientation" : "landscape",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"extent" : "full-screen",
|
||||
"idiom" : "iphone",
|
||||
"subtype" : "667h",
|
||||
"filename" : "blackimage-1.png",
|
||||
"minimum-system-version" : "8.0",
|
||||
"orientation" : "portrait",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "iphone",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "7.0",
|
||||
"filename" : "Default@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"extent" : "full-screen",
|
||||
"idiom" : "iphone",
|
||||
"subtype" : "retina4",
|
||||
"filename" : "Default-568h@2x.png",
|
||||
"minimum-system-version" : "7.0",
|
||||
"orientation" : "portrait",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "7.0",
|
||||
"filename" : "blackimage-3.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"orientation" : "landscape",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "7.0",
|
||||
"filename" : "blackimage-5.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "7.0",
|
||||
"filename" : "blackimage-4.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "landscape",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "7.0",
|
||||
"filename" : "blackimage-6.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "iphone",
|
||||
"extent" : "full-screen",
|
||||
"filename" : "Default.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "iphone",
|
||||
"extent" : "full-screen",
|
||||
"filename" : "Default@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "iphone",
|
||||
"extent" : "full-screen",
|
||||
"filename" : "Default-568h@2x.png",
|
||||
"subtype" : "retina4",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "to-status-bar",
|
||||
"filename" : "blackimage-7.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"orientation" : "landscape",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "to-status-bar",
|
||||
"filename" : "blackimage-9.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "to-status-bar",
|
||||
"filename" : "blackimage-8.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "landscape",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "to-status-bar",
|
||||
"filename" : "blackimage-10.png",
|
||||
"scale" : "2x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 394 B |
After Width: | Height: | Size: 643 B |
After Width: | Height: | Size: 604 B |
After Width: | Height: | Size: 366 B |
After Width: | Height: | Size: 653 B |
After Width: | Height: | Size: 366 B |
After Width: | Height: | Size: 653 B |
After Width: | Height: | Size: 365 B |
After Width: | Height: | Size: 646 B |
After Width: | Height: | Size: 363 B |
After Width: | Height: | Size: 607 B |
@ -23,12 +23,8 @@
|
||||
50E7189F184B88AA001956CE /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50E7189E184B88AA001956CE /* CoreVideo.framework */; };
|
||||
6949E72319FABADC00CC7F42 /* CFExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6949E72219FABADC00CC7F42 /* CFExtensions.m */; };
|
||||
696012F219F3389A006A1088 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 696012F119F3389A006A1088 /* CoreText.framework */; };
|
||||
83D632DF19ECFCC4009E3161 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 83D632D819ECFCC4009E3161 /* Default-568h@2x.png */; };
|
||||
83D632E019ECFCC4009E3161 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 83D632D919ECFCC4009E3161 /* Default.png */; };
|
||||
83D632E119ECFCC4009E3161 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 83D632DA19ECFCC4009E3161 /* Default@2x.png */; };
|
||||
69D31DE41A547EC800EF4C92 /* Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 69D31DE31A547EC800EF4C92 /* Media.xcassets */; };
|
||||
83D632E219ECFCC4009E3161 /* ic_pause.png in Resources */ = {isa = PBXBuildFile; fileRef = 83D632DB19ECFCC4009E3161 /* ic_pause.png */; };
|
||||
83D632E319ECFCC4009E3161 /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 83D632DC19ECFCC4009E3161 /* Icon-72.png */; };
|
||||
83D632E419ECFCC4009E3161 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 83D632DD19ECFCC4009E3161 /* Icon.png */; };
|
||||
83D632E519ECFCC4009E3161 /* PauseIndicatorView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 83D632DE19ECFCC4009E3161 /* PauseIndicatorView.xib */; };
|
||||
83EB676019EEAF050096F441 /* modules in Resources */ = {isa = PBXBuildFile; fileRef = 83EB675F19EEAF050096F441 /* modules */; };
|
||||
83EB676219EEAF1B0096F441 /* overlays in Resources */ = {isa = PBXBuildFile; fileRef = 83EB676119EEAF1B0096F441 /* overlays */; };
|
||||
@ -60,12 +56,8 @@
|
||||
50E7189E184B88AA001956CE /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; };
|
||||
6949E72219FABADC00CC7F42 /* CFExtensions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CFExtensions.m; path = ../common/CFExtensions.m; sourceTree = "<group>"; };
|
||||
696012F119F3389A006A1088 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
|
||||
83D632D819ECFCC4009E3161 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
|
||||
83D632D919ECFCC4009E3161 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = "<group>"; };
|
||||
83D632DA19ECFCC4009E3161 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = "<group>"; };
|
||||
69D31DE31A547EC800EF4C92 /* Media.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Media.xcassets; sourceTree = "<group>"; };
|
||||
83D632DB19ECFCC4009E3161 /* ic_pause.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ic_pause.png; sourceTree = "<group>"; };
|
||||
83D632DC19ECFCC4009E3161 /* Icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-72.png"; sourceTree = "<group>"; };
|
||||
83D632DD19ECFCC4009E3161 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = "<group>"; };
|
||||
83D632DE19ECFCC4009E3161 /* PauseIndicatorView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PauseIndicatorView.xib; sourceTree = "<group>"; };
|
||||
83EB675F19EEAF050096F441 /* modules */ = {isa = PBXFileReference; lastKnownFileType = folder; path = modules; sourceTree = SOURCE_ROOT; };
|
||||
83EB676119EEAF1B0096F441 /* overlays */ = {isa = PBXFileReference; lastKnownFileType = folder; name = overlays; path = ../../../media/overlays; sourceTree = "<group>"; };
|
||||
@ -124,13 +116,9 @@
|
||||
children = (
|
||||
83EB676119EEAF1B0096F441 /* overlays */,
|
||||
83EB675F19EEAF050096F441 /* modules */,
|
||||
83D632D819ECFCC4009E3161 /* Default-568h@2x.png */,
|
||||
83D632D919ECFCC4009E3161 /* Default.png */,
|
||||
83D632DA19ECFCC4009E3161 /* Default@2x.png */,
|
||||
83D632DB19ECFCC4009E3161 /* ic_pause.png */,
|
||||
83D632DC19ECFCC4009E3161 /* Icon-72.png */,
|
||||
83D632DD19ECFCC4009E3161 /* Icon.png */,
|
||||
83D632DE19ECFCC4009E3161 /* PauseIndicatorView.xib */,
|
||||
69D31DE31A547EC800EF4C92 /* Media.xcassets */,
|
||||
);
|
||||
name = Assets;
|
||||
path = Resources;
|
||||
@ -274,6 +262,11 @@
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0450;
|
||||
ORGANIZATIONNAME = RetroArch;
|
||||
TargetAttributes = {
|
||||
96AFAE2416C1D4EA009DE44C = {
|
||||
DevelopmentTeam = HFC52R7GR3;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 96AFAE1F16C1D4EA009DE44C /* Build configuration list for PBXProject "RetroArch_iOS" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
@ -299,14 +292,10 @@
|
||||
files = (
|
||||
83D632E219ECFCC4009E3161 /* ic_pause.png in Resources */,
|
||||
83EB676219EEAF1B0096F441 /* overlays in Resources */,
|
||||
83D632E119ECFCC4009E3161 /* Default@2x.png in Resources */,
|
||||
967894631788EBD800D6CA69 /* InfoPlist.strings in Resources */,
|
||||
83EB676019EEAF050096F441 /* modules in Resources */,
|
||||
83D632E019ECFCC4009E3161 /* Default.png in Resources */,
|
||||
83D632DF19ECFCC4009E3161 /* Default-568h@2x.png in Resources */,
|
||||
69D31DE41A547EC800EF4C92 /* Media.xcassets in Resources */,
|
||||
83D632E519ECFCC4009E3161 /* PauseIndicatorView.xib in Resources */,
|
||||
83D632E419ECFCC4009E3161 /* Icon.png in Resources */,
|
||||
83D632E319ECFCC4009E3161 /* Icon-72.png in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -464,8 +453,11 @@
|
||||
armv7s,
|
||||
armv7,
|
||||
);
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
CLANG_CXX_LIBRARY = "libstdc++";
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
CODE_SIGN_RESOURCE_RULES_PATH = "$(SDKROOT)/ResourceRules.plist";
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
||||
GCC_PREFIX_HEADER = "";
|
||||
@ -522,8 +514,11 @@
|
||||
armv7s,
|
||||
armv7,
|
||||
);
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
CLANG_CXX_LIBRARY = "libstdc++";
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
CODE_SIGN_RESOURCE_RULES_PATH = "$(SDKROOT)/ResourceRules.plist";
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
||||
GCC_PREFIX_HEADER = "";
|
||||
@ -602,6 +597,7 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
);
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE = "";
|
||||
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
|
||||
VALID_ARCHS = "armv7 armv7s";
|
||||
WRAPPER_EXTENSION = app;
|
||||
|
@ -20,6 +20,10 @@
|
||||
</array>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIcons</key>
|
||||
<dict/>
|
||||
<key>CFBundleIcons~ipad</key>
|
||||
<dict/>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>libretro.${PRODUCT_NAME:rfc1034identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
|
@ -65,9 +65,10 @@
|
||||
/*********************************************/
|
||||
@interface RAMenuItemGeneralSetting : NSObject<RAMenuItemBase>
|
||||
@property (nonatomic) rarch_setting_t* setting;
|
||||
@property (copy) void (^action)();
|
||||
@property (nonatomic, weak) UITableView* parentTable;
|
||||
+ (id)itemForSetting:(rarch_setting_t*)setting;
|
||||
- (id)initWithSetting:(rarch_setting_t*)setting;
|
||||
+ (id)itemForSetting:(rarch_setting_t*)setting action:(void (^)())action;
|
||||
- (id)initWithSetting:(rarch_setting_t*)setting action:(void (^)())action;
|
||||
@end
|
||||
|
||||
/*********************************************/
|
||||
@ -78,7 +79,8 @@
|
||||
/*********************************************/
|
||||
@interface RAMenuItemBooleanSetting : NSObject<RAMenuItemBase>
|
||||
@property (nonatomic) rarch_setting_t* setting;
|
||||
- (id)initWithSetting:(rarch_setting_t*)setting;
|
||||
@property (copy) void (^action)();
|
||||
- (id)initWithSetting:(rarch_setting_t*)setting action:(void (^)())action;
|
||||
@end
|
||||
|
||||
/*********************************************/
|
||||
|
@ -199,7 +199,7 @@ static void RunActionSheet(const char* title, const struct string_list* items, U
|
||||
|
||||
@implementation RAMenuItemGeneralSetting
|
||||
|
||||
+ (id)itemForSetting:(rarch_setting_t*)setting
|
||||
+ (id)itemForSetting:(rarch_setting_t*)setting action:(void (^)())action
|
||||
{
|
||||
switch (setting->type) {
|
||||
case ST_NONE:
|
||||
@ -207,19 +207,19 @@ static void RunActionSheet(const char* title, const struct string_list* items, U
|
||||
return [RAMenuItemBasic itemWithDescription:BOXSTRING("Shouldn't be called with ST_NONE or ST_ACTION")
|
||||
action:^{}];
|
||||
case ST_BOOL:
|
||||
return [[RAMenuItemBooleanSetting alloc] initWithSetting:setting];
|
||||
return [[RAMenuItemBooleanSetting alloc] initWithSetting:setting action:action];
|
||||
case ST_INT:
|
||||
case ST_UINT:
|
||||
case ST_FLOAT:
|
||||
break;
|
||||
case ST_PATH:
|
||||
case ST_DIR:
|
||||
return [[RAMenuItemPathSetting alloc] initWithSetting:setting];
|
||||
return [[RAMenuItemPathSetting alloc] initWithSetting:setting action:action];
|
||||
case ST_STRING:
|
||||
case ST_HEX:
|
||||
break;
|
||||
case ST_BIND:
|
||||
return [[RAMenuItemBindSetting alloc] initWithSetting:setting];
|
||||
return [[RAMenuItemBindSetting alloc] initWithSetting:setting action:action];
|
||||
case ST_GROUP:
|
||||
case ST_SUB_GROUP:
|
||||
case ST_END_GROUP:
|
||||
@ -230,9 +230,9 @@ static void RunActionSheet(const char* title, const struct string_list* items, U
|
||||
}
|
||||
|
||||
if (setting->type == ST_STRING && setting->values)
|
||||
return [[RAMenuItemEnumSetting alloc] initWithSetting:setting];
|
||||
return [[RAMenuItemEnumSetting alloc] initWithSetting:setting action:action];
|
||||
|
||||
RAMenuItemGeneralSetting* item = [[RAMenuItemGeneralSetting alloc] initWithSetting:setting];
|
||||
RAMenuItemGeneralSetting* item = [[RAMenuItemGeneralSetting alloc] initWithSetting:setting action:action];
|
||||
|
||||
if (item.setting->type == ST_INT ||
|
||||
item.setting->type == ST_UINT ||
|
||||
@ -242,11 +242,13 @@ static void RunActionSheet(const char* title, const struct string_list* items, U
|
||||
return item;
|
||||
}
|
||||
|
||||
- (id)initWithSetting:(rarch_setting_t*)setting
|
||||
- (id)initWithSetting:(rarch_setting_t*)setting action:(void (^)())action
|
||||
{
|
||||
if ((self = [super init]))
|
||||
_setting = setting;
|
||||
return self;
|
||||
if ((self = [super init])) {
|
||||
_setting = setting;
|
||||
_action = action;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (UITableViewCell*)cellForTableView:(UITableView*)tableView
|
||||
@ -358,10 +360,12 @@ static void RunActionSheet(const char* title, const struct string_list* items, U
|
||||
/*********************************************/
|
||||
@implementation RAMenuItemBooleanSetting
|
||||
|
||||
- (id)initWithSetting:(rarch_setting_t*)setting
|
||||
- (id)initWithSetting:(rarch_setting_t*)setting action:(void (^)())action
|
||||
{
|
||||
if ((self = [super init]))
|
||||
_setting = setting;
|
||||
if ((self = [super init])) {
|
||||
_setting = setting;
|
||||
_action = action;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
@ -388,8 +392,12 @@ static void RunActionSheet(const char* title, const struct string_list* items, U
|
||||
|
||||
- (void)handleBooleanSwitch:(UISwitch*)swt
|
||||
{
|
||||
if (self.setting)
|
||||
*self.setting->value.boolean = swt.on ? true : false;
|
||||
if (self.setting) {
|
||||
*self.setting->value.boolean = swt.on ? true : false;
|
||||
}
|
||||
if (self.action) {
|
||||
self.action();
|
||||
}
|
||||
}
|
||||
|
||||
- (void)wasSelectedOnTableView:(UITableView*)tableView ofController:(UIViewController*)controller
|
||||
@ -431,6 +439,8 @@ static void RunActionSheet(const char* title, const struct string_list* items, U
|
||||
|
||||
setting_data_set_with_string_representation(weakSelf.setting, newval);
|
||||
[[list navigationController] popViewControllerAnimated:YES];
|
||||
|
||||
weakSelf.action();
|
||||
|
||||
[weakSelf.parentTable reloadData];
|
||||
}];
|
||||
@ -627,7 +637,14 @@ static void RunActionSheet(const char* title, const struct string_list* items, U
|
||||
path_buf, sizeof(path_buf));
|
||||
|
||||
if (setting && ST_ACTION < setting->type && setting->type < ST_GROUP)
|
||||
[everything addObject:[RAMenuItemGeneralSetting itemForSetting:setting]];
|
||||
[everything addObject:
|
||||
[RAMenuItemGeneralSetting
|
||||
itemForSetting:setting
|
||||
action:^{
|
||||
driver.menu->selection_ptr = i;
|
||||
if (cbs && cbs->action_ok)
|
||||
cbs->action_ok(path, entry_label, type, i);
|
||||
}]];
|
||||
else
|
||||
{
|
||||
[everything addObject:
|
||||
|
@ -217,13 +217,20 @@ enum
|
||||
return (RetroArch_iOS*)[[UIApplication sharedApplication] delegate];
|
||||
}
|
||||
|
||||
void switch_to_ios() {
|
||||
void switch_to_ios(void) {
|
||||
if ( apple_platform != NULL ) {
|
||||
RetroArch_iOS *ap = (RetroArch_iOS *)apple_platform;
|
||||
[ap showPauseMenu:ap];
|
||||
}
|
||||
}
|
||||
|
||||
void notify_content_loaded(void) {
|
||||
if ( apple_platform != NULL ) {
|
||||
RetroArch_iOS *ap = (RetroArch_iOS *)apple_platform;
|
||||
[ap showGameView];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)applicationDidFinishLaunching:(UIApplication *)application
|
||||
{
|
||||
apple_platform = self;
|
||||
@ -244,6 +251,7 @@ void switch_to_ios() {
|
||||
if ( driver.menu_ctx && driver.menu_ctx == &menu_ctx_ios && driver.menu && driver.menu->userdata ) {
|
||||
ios_handle_t *ih = (ios_handle_t*)driver.menu->userdata;
|
||||
ih->switch_to_ios = switch_to_ios;
|
||||
ih->notify_content_loaded = notify_content_loaded;
|
||||
}
|
||||
|
||||
apple_gamecontroller_init();
|
||||
|
@ -81,6 +81,8 @@ void main_exit_save_config(void)
|
||||
g_settings.core_specific_config)
|
||||
config_save_file(g_extern.core_specific_config_path);
|
||||
}
|
||||
|
||||
rarch_main_command(RARCH_CMD_AUTOSAVE_STATE);
|
||||
}
|
||||
|
||||
void main_exit(args_type() args)
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include "../../apple/common/CFExtensions.h"
|
||||
|
||||
#include "../frontend.h"
|
||||
#include "../../menu/disp/ios.h"
|
||||
|
||||
#include <stdint.h>
|
||||
#include <boolean.h>
|
||||
@ -183,6 +184,10 @@ extern void apple_rarch_exited(void);
|
||||
|
||||
static void frontend_apple_load_content(void)
|
||||
{
|
||||
if ( driver.menu_ctx && driver.menu_ctx == &menu_ctx_ios && driver.menu && driver.menu->userdata ) {
|
||||
ios_handle_t *ih = (ios_handle_t*)driver.menu->userdata;
|
||||
ih->notify_content_loaded();
|
||||
}
|
||||
}
|
||||
|
||||
static void frontend_apple_shutdown(bool unused)
|
||||
|
11
media/render-ios-icons.sh
Executable file
@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
set -x
|
||||
|
||||
DEST=$1
|
||||
|
||||
for pt in 29 40 57 60 50 72 76 ; do
|
||||
for scale in 1 2 3 ; do
|
||||
side=$(expr $pt \* $scale)
|
||||
convert retroarch.svg -resize ${side}x${side} -negate ${DEST}/Icon-${pt}-${scale}.png
|
||||
done
|
||||
done
|
@ -18,7 +18,8 @@
|
||||
|
||||
typedef struct ios_handle
|
||||
{
|
||||
void (*switch_to_ios)(void);
|
||||
void (*switch_to_ios)(void);
|
||||
void (*notify_content_loaded)(void);
|
||||
} ios_handle_t;
|
||||
|
||||
#endif
|
||||
|