diff --git a/frontend/frontend_ios.c b/frontend/frontend_ios.c index f05353774a..d351c1d428 100644 --- a/frontend/frontend_ios.c +++ b/frontend/frontend_ios.c @@ -133,15 +133,26 @@ void* rarch_main_ios(void* args) else if (g_extern.lifecycle_mode_state & (1ULL << MODE_GAME)) { while ((g_extern.is_paused && !g_extern.is_oneshot) ? rarch_main_idle_iterate() : rarch_main_iterate()) + { process_events(); + if (!(g_extern.lifecycle_mode_state & (1ULL << MODE_GAME))) + break; + } + g_extern.lifecycle_mode_state &= ~(1ULL << MODE_GAME); } else if (g_extern.lifecycle_mode_state & (1ULL << MODE_MENU)) { g_extern.lifecycle_mode_state |= 1ULL << MODE_MENU_PREINIT; while (!g_extern.system.shutdown && menu_iterate()) + { process_events(); + + if (!(g_extern.lifecycle_mode_state & (1ULL << MODE_MENU))) + break; + } + g_extern.lifecycle_mode_state &= ~(1ULL << MODE_MENU); } else diff --git a/ios/Assets/PauseView.xib b/ios/Assets/PauseView.xib index b9fdd78b01..e56c6f0d1c 100644 --- a/ios/Assets/PauseView.xib +++ b/ios/Assets/PauseView.xib @@ -75,7 +75,30 @@ 292 - {{20, 20}, {260, 44}} + {{20, 20}, {120, 44}} + + + + _NS:9 + NO + IBIPadFramework + 0 + 0 + 1 + Resume Game + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{160, 20}, {120, 44}} @@ -85,7 +108,7 @@ 0 0 1 - Resume Game + Toggle RGUI 1 @@ -382,6 +405,15 @@ 154 + + + showRGUI: + + + 7 + + 179 + @@ -395,6 +427,15 @@ 1 + + + + + + + + + 5 @@ -411,22 +452,6 @@ 24 2 - - - 4 - 0 - - 4 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - 6 @@ -443,7 +468,23 @@ 29 3 - + + + 4 + 0 + + 4 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + 6 0 @@ -459,6 +500,22 @@ 29 3 + + + 3 + 0 + + 4 + 1 + + 8 + + 1000 + + 6 + 24 + 3 + 11 @@ -475,37 +532,37 @@ 24 2 - - - 4 + + + 5 0 - - 4 + + 5 1 - - 20 - - 1000 - - 8 - 29 - 3 - - - - 3 - 0 - - 4 - 1 - - 8 + + 0.0 1000 6 24 - 3 + 2 + + + + 11 + 0 + + 11 + 1 + + 0.0 + + 1000 + + 6 + 24 + 2 @@ -523,23 +580,39 @@ 29 3 - - - 6 + + + 4 0 - - 6 + + 4 1 - - 0.0 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 3 + 0 + + 4 + 1 + + 8 1000 6 24 - 2 + 3 - + 3 0 @@ -555,7 +628,7 @@ 24 3 - + 6 0 @@ -571,7 +644,7 @@ 24 2 - + 5 0 @@ -587,23 +660,7 @@ 29 3 - - - 11 - 0 - - 11 - 1 - - 0.0 - - 1000 - - 6 - 24 - 2 - - + 6 0 @@ -619,11 +676,27 @@ 29 3 - + + + 3 + 0 + + 4 + 1 + + 8 + + 1000 + + 6 + 24 + 3 + + 5 0 - + 5 1 @@ -635,11 +708,11 @@ 24 2 - + 6 0 - + 6 1 @@ -651,7 +724,39 @@ 29 3 - + + + 3 + 0 + + 3 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + + + 11 + 0 + + 11 + 1 + + 0.0 + + 1000 + + 6 + 24 + 2 + + 5 0 @@ -667,7 +772,23 @@ 29 3 - + + + 6 + 0 + + 6 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + + 5 0 @@ -683,7 +804,39 @@ 29 3 - + + + 6 + 0 + + 6 + 1 + + 0.0 + + 1000 + + 6 + 24 + 2 + + + + 11 + 0 + + 11 + 1 + + 0.0 + + 1000 + + 6 + 24 + 2 + + 3 0 @@ -699,39 +852,23 @@ 24 3 - - + + 6 0 - + 6 1 - - 20 + + 0.0 1000 - 8 - 29 - 3 + 6 + 24 + 2 - - - 5 - 0 - - 5 - 1 - - 20 - - 1000 - - 8 - 29 - 3 - - + 3 0 @@ -747,14 +884,22 @@ 29 3 - - - - - - - - + + + 5 + 0 + + 5 + 1 + + 20 + + 1000 + + 8 + 29 + 3 + @@ -778,7 +923,24 @@ 17 - + + + + 7 + 0 + + 0 + 1 + + 120 + + 1000 + + 3 + 9 + 1 + + @@ -793,136 +955,35 @@ - - 88 - - - - - 89 - - - - - 94 - - - - - 97 - - - - - 98 - - - - - 113 - - - - - 118 - - - - - 121 - - - 122 - - 125 - - - - - 127 - - - - - 129 - - - 131 - - 132 - - - - - 133 - - - - - 135 - - - 140 - - - - 7 - 0 - - 0 - 1 - - 120 - - 1000 - - 3 - 9 - 1 - - + - - 142 - - - - - 146 - - - - - 149 - - - - - 151 - - - 152 + + + + + 170 + - - + + 7 0 @@ -932,7 +993,7 @@ 120 1000 - + 3 9 1 @@ -941,35 +1002,160 @@ - 153 - - - - - 157 - + 180 + - 158 - + 181 + - 160 - + 182 + - 115 + 183 + + + + + 184 + + + + + 185 + + + + + 186 + + + + + 187 + + + + + 188 + + + + + 189 + + + + + 190 + + + + + 191 + + + + + 192 + + + + + 193 + + + + + 194 + + + + + 195 + + + + + 196 + + + + + 197 + + + + + 198 + + + + + 199 + + + + + 200 + + + + + 201 + + + + + 202 - 116 - + 203 + + + 204 + + + + + 205 + + + + + 206 + + + + + 207 + + + + + 208 + + + + + 209 + + + + + 210 + + + @@ -978,83 +1164,99 @@ UIResponder com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + - - + + - - + + + - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 166 + 210 @@ -1077,7 +1279,9 @@ id id id - id + id + id + id @@ -1108,8 +1312,16 @@ showPauseMenu: id - - showSettings + + showRGUI: + id + + + startBluetooth + id + + + stopBluetooth id diff --git a/ios/RetroArch/main.m b/ios/RetroArch/main.m index 5c592fdfea..42d4606280 100644 --- a/ios/RetroArch/main.m +++ b/ios/RetroArch/main.m @@ -182,6 +182,20 @@ static void event_set_state_slot(void* userdata) g_extern.state_slot = (uint32_t)userdata; } +static void event_show_rgui(void* userdata) +{ + if (g_extern.lifecycle_mode_state & (1ULL << MODE_MENU)) + { + g_extern.lifecycle_mode_state &= ~(1ULL << MODE_MENU); + g_extern.lifecycle_mode_state |= (1ULL << MODE_GAME); + } + else + { + g_extern.lifecycle_mode_state &= ~(1ULL << MODE_GAME); + g_extern.lifecycle_mode_state |= (1ULL << MODE_MENU); + } +} + static void event_quit(void* userdata) { g_extern.system.shutdown = true; @@ -424,6 +438,14 @@ static void event_reload_config(void* userdata) ios_frontend_post_event(event_set_state_slot, (void*)((UISegmentedControl*)sender).selectedSegmentIndex); } +- (IBAction)showRGUI:(id)sender +{ + if (_isRunning) + ios_frontend_post_event(event_show_rgui, 0); + + [self closePauseMenu:sender]; +} + - (IBAction)closePauseMenu:(id)sender { [[RAGameView get] closePauseMenu];