Commit Graph

253 Commits

Author SHA1 Message Date
warmenhoven c242586ea7
tvOS improvements (#14983)
The initial popup screen advertising the web server did not prevent
keys from passing through, so interactions with the alert would also
be handled by the menu. The alert would pop up any time there was a
network reconfiguration; now it only pops up once per run. Added a way
to turn off the webserver advertisement alert permanently.

Also fixed a bug around filtering the Siri remote out, and turning
controllers off while the app is running.
2023-02-15 11:59:06 +01:00
warmenhoven 10ace666e1
On iOS, pause while in background (#14907) 2023-01-26 20:10:01 +01:00
warmenhoven 4d5bea1208
Vulkan video driver on iOS (#14902) 2023-01-25 16:17:01 +01:00
libretroadmin 03e71e651f (iOS) Get rid of this dead code - remnants of when we had a companion UI 2022-11-24 19:57:45 +01:00
libretroadmin 16e0319e2e Remove unnecessary function ui_companion_set_foreground 2022-11-23 06:18:20 +01:00
libretroadmin 7dfaae58f9 (UI) Cleanups; style nits 2022-11-23 05:08:15 +01:00
Richard c0926ad1a1
feat(iOS13): Pointer Movement Accuracy (#14641)
Co-authored-by: Richard <rf2222222@github.com>
2022-11-18 19:45:36 +01:00
LibretroAdmin 46c2a9b950 (Cocoa) small style nits; don't use NSLog 2022-10-26 17:36:58 +02:00
LibretroAdmin da68e73f94 Get rid of some RARCH_CTL_ commands 2022-10-10 20:14:54 +02:00
LibretroAdmin ace21d28f7 Fix C++ comments 2022-10-01 17:56:16 +02:00
yoshisuga bc02f8319e
[iOS] New iOS 13 project to support Swift; Custom keyboard and touch mouse support (#13435)
* Support for Swift, added emulator keyboard

* fixed toggle key handling using magic number hack for now

* fixed keyboard transparency slider for now with suboptimal fix; add gesture recognizer to hide/show keyboard

* Support CocoaView extensions in Swift; move keyboard delegate impl and setup to swift extension

* moved keyboard view model creation out of EmulatorKeyboard

* implement key pressed delegate in swift extension

* added input method for directly sending RETROK_* codes to support a touchscreen keyboard; assign keyboard model delegates; updated keyboard layout (added F1-F12 keys); change shift, control and alt keys to be modifiers

* enable focus mode when custom keyboard is shown; enable/disable overlay when custom keyboard is toggled

* Specify -DHAVE_OPENGLES2 instead of -DHAVE_OPENGLES3 since glsym_es3.h does not compile in iOS 14.5
Fix tvOS build using compiler flags

* Create new project for iOS 13 deploy target; add check for deploy target to conditionally compile for new iOS 13 specific feature (custom keyboard)

* force disable core info caching for iOS, use opengl es2 for debug

* Add flag for iOS custom keyboard - 3-finger swipe up to show, 3-finger swipe down to hide

* use OpenGLES2 instead; using ES3 results in compile time errors on iOS 14.5

* code cleanup

* Updated references to -DDONT_WANT_ARM_ASM_OPTIMIZATIONS flag

* Add JIT support for non-jailbroken devices

* iOS: Add support for touch mouse handler

* Added a HAVE_IOS_TOUCHMOUSE preprocessor macro so that it builds under the iOS11_Metal xcode project

* Changed click-and-drag behavior to double tap hold and drag

* Visual improvements to the emulator keyboard: updated colors, improved key-press effect
2022-02-22 08:21:34 +01:00
twinaphex ddceb51f89 Get rid of some needless getters/setters 2021-09-30 21:10:12 +02:00
twinaphex e886e908d5 Create consistent naming conventions - use retroarch_ instead
of rarch_ for some functions for all functions coming from retroarch.h
2021-09-28 12:56:10 +02:00
twinaphex 0294b0c626 (Cocoa) Don't use NSEventModifierFlags type anymore - just
use NSUInteger instead
2021-01-18 20:41:30 +01:00
Twinaphex eea07ea367 (COcoa GL/Cocoa Common) Refactor code for eventual splitting up
of cocoa_gl_ctx.m into two files
2021-01-18 15:41:30 +01:00
twinaphex 809b96e221 (UI CocoaTouch) Cleanups 2021-01-16 22:15:17 +01:00
twinaphex 9118b391eb Update 2021-01-16 20:07:08 +01:00
lennardkittner 43245c0d9f - Deleted deprecated openURL method
- Now using self.documentsDirectory
- ROMs are saved to documents directory
2020-10-05 09:18:28 +02:00
lennardkittner f8726fccb0 - App doesn't crash anymore when a file is shared to it.
- A shared file is copied to /Documents/roms.
2020-10-04 17:53:39 +02:00
twinaphex e15018a85a Cleanups 2020-09-15 21:12:27 +02:00
twinaphex f7ae8001ad Cleanups 2020-09-14 21:55:00 +02:00
Twinaphex b1723f7cd0 Remove unused CocoaTouch menu - allows us to get rid of a lot of
dead code
2020-08-09 19:41:04 +02:00
Yoshi Sugawara 2187cf67c9 Support the ApplePlatform delegate for all iOS builds (the OpenGL one) so that the view initialization happens in the same way; remove the companion UI for iOS; four finger swipe down now shows RA menu on iOS 2020-07-20 15:38:24 -10:00
Yoshi Sugawara 271ac7f925 support the OpenGL driver in the metal build by delegating the view initialization to the ApplePlatform delegate (metal build only for now) 2020-07-20 14:00:28 -10:00
Yoshi Sugawara b83823f1f1 Add preprocessor flags for tvOS and other build settings; fix compiler errors when building for tvOS sdk 2020-07-19 11:42:19 -10:00
Yoshi Sugawara 588d0b7595 removed commented out code 2020-07-19 08:02:17 -10:00
Yoshi Sugawara fd9ac64d55 Merge branch 'master' into yoshisuga/ios-metal 2020-07-19 00:33:54 -10:00
Yoshi Sugawara a19f1451cd removed debug logging statements; enable multi touch on metal view to support touchscreen controls; fixed setting the metal view drawable size based on the view bounds size in pixels 2020-07-19 00:11:15 -10:00
Yoshi Sugawara eed84b3021 re-created RetroArch_iOS11_Metal.xcodeproj with the appropriate compiler flags and fixed building for both metal and opengl; hardcoding the metal drawable size for now for testing 2020-07-18 07:47:10 -10:00
Yoshi Sugawara 897aee0bcf add more logging, use autolayout constraints to pin metal view to superview to support orientation changes easier 2020-07-14 17:49:38 -10:00
Yoshi Sugawara 82d6d8e876 add the metal view to the view controller view after initializing the metal view for iOS 2020-07-07 08:19:46 -10:00
Yoshi Sugawara 8e1dd5def1 protocol conformance for ApplePlatform for iOS; add metal shader functions files to xcode project 2020-07-07 05:38:50 -10:00
Yoshi Sugawara 6308ba1acb support ApplePlatform for iOS and conform app delegate class to it, move app delegate class to apple_platform.h, fix metal references for iOS 2020-07-07 05:03:42 -10:00
twinaphex 0946604627 (Qt) Only call log_msg when the Qt companion UI window is active 2020-06-26 21:45:09 +02:00
twinaphex 88f7515d1d Cleanups, comments, style nits 2020-06-04 14:41:28 +02:00
Yoshi Sugawara a85ed986de Set audio session category to ambient so sound does not get cut off on interruption (phone call/playing back audio) 2020-04-22 08:54:57 -10:00
twinaphex b3d3e5dd06 Cleanups 2020-02-19 21:05:38 +01:00
twinaphex 310bf3328e (UI) Cleanups 2020-02-13 22:39:29 +01:00
Yoshi Sugawara f0adf90ec0 (iOS/tvOS): add references to some iOS specific source files to xcode project to make it easier to open and search source files; removed call to show native menu when going into the background 2019-09-14 14:16:23 -07:00
twinaphex ca3a80091a Cleanup runloop_iterate
NOTE/CHECK: Hopefully wiiu is unaffected by the change
in sleeping
2019-08-11 19:39:48 +02:00
twinaphex d905986a52 Rename functions - change rarch_ prefix to retroarch_ 2019-07-20 12:43:43 +02:00
Twinaphex db6a4f8368 (UI Companion) Get rid of unused iterate function callback 2019-07-19 13:59:07 +02:00
orbea ae6ea28220 Fix the iOS 11 build.
Fixes https://github.com/libretro/RetroArch/issues/9120.
2019-07-17 06:32:00 -07:00
twinaphex f4bf218f35 (Menu) We need to tell rarch_menu_running_finished whether we want
to exit RetroArch or not - to avoid certain crashes when trying to
access the settings pointer - which should already be freed at this
point
2019-06-30 11:23:18 +02:00
Twinaphex 2dbb334fb1 (iOS) Fix two function pointers 2019-04-30 11:57:15 +02:00
twinaphex 58855c7b28 (CocoaTouch) Get rid of ui_cocoatouch_metal.m - was identical to ui_cocoatouch 2019-02-09 20:59:34 +01:00
twinaphex f705503531 (Apple) Get rid of HAVE_CORELOCATION/HAVE_AVFOUNDATION - was mostly dormant
code and makes the Apple code needlessly complex right now. We can
always reintroduce this later on when the time is right
2019-02-07 04:03:52 +01:00
orbea 28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08:00
Yoshi Sugawara a18512375b Support for tvOS
- add tvOS target
    - support code signing tvOS cores by adding an argument to the code signing cores script
    - use NSCachesDirectory for the documents directory
    - add some mfi controller handling logic to set non-game controllers to the last index to avoid interfering with operation
    - autodetect mfi controller for apple tv on startup - added autodetect to hid joypad
    - added a webserver to transfer files for tvOS
    - xcode: clean up project, remove unused folders
    - remove HAVE_MATERIALUI setting for tvos build, make it use XMB as default
    - added retroarch app icon courtesy of @MrJs
    - added auto-detect of mfi controller for apple tv
2019-01-29 10:13:46 -10:00
Yoshi Sugawara 559ae6dfd0 iOS: fix to avoid stack overflow when loading glsl shader; see issue 7298. Re-applying this fix after the reverting to use cocoa_gl_ctx.m for the driver context 2018-11-07 06:57:04 -10:00
twinaphex 04c046e831
Update
(cherry picked from commit 64cc28a487)
2018-11-04 20:50:50 -07:00
Stuart Carnie 5c1075127b
chore(metal): Separate legacy GL and Metal source
* Forks of Cocoa / Cocoa Touch to *_metal.* version
* Reverted original GL Cocoa / Cocoa Touch versions
* GL and Metal projects still build
2018-11-04 20:50:50 -07:00
twinaphex 4d8a3db02f (iOS) Fix issue https://github.com/libretro/RetroArch/issues/7298#issuecomment-427618317 2018-10-07 04:33:06 +02:00
twinaphex 64cc28a487 Update 2018-09-01 01:14:26 +02:00
twinaphex c0c88173a0 (CocoaTouch) Fix some function callback signatures 2018-09-01 01:07:14 +02:00
Twinaphex 511044270b Fix iOS build 2018-06-21 08:37:08 +02:00
Stuart Carnie 411bcf8bdd feat(apple): Metal support for macOS
* includes rgui
* shader support

This is a work-in-progress and there are some bugs and visual artifacts
still to be fixed.
2018-06-20 21:33:45 -07:00
Brad Parker a1aefc901c Qt WIMP GUI 2018-04-30 14:33:05 -04:00
Yoshi Sugawara c44dd39dd6 Fixed crash when opening content using "open in..", support for keyboard mapper 2018-03-22 22:43:20 -10:00
twinaphex 61ff51be2f Start using string_is_equal predominantly 2018-01-16 22:53:38 +01:00
twinaphex b11620e1eb Add retro_timers.h/retro_math.h 2017-06-28 04:41:38 +02:00
twinaphex 126a5bf121 Use string_is_equal_fast/string_is_not_equal_fast 2017-05-16 04:00:37 +02:00
twinaphex bf3188eac4 Combine runloop_ctl and rarch_ctl 2017-05-15 05:06:23 +02:00
twinaphex e2c7671e9f Create rarch_menu_running/rarch_menu_running_finished 2017-05-15 04:31:40 +02:00
twinaphex 80d9d1f143 Rewrite task_queue 2017-05-14 20:43:48 +02:00
twinaphex 6433cde3c0 Cleanups 2017-05-13 21:06:57 +02:00
twinaphex 42ebe7a7ad Merge runloop.c and retroarch.c 2017-05-11 09:11:46 +02:00
twinaphex cc095e56fc Start refactoring bool variables 2017-04-28 00:53:20 +02:00
twinaphex 6ebd4e139e Rewrite more string_is_equal call invocations as memcmp 2017-04-22 08:51:16 +02:00
Twinaphex b7b3b2cb5f Try to prevent truckload of warnings on iOS 2017-02-26 10:33:03 +01:00
twinaphex c2036e4aed (iOS) App Store versions cannot reference non-public selectors 2017-02-26 07:05:14 +01:00
twinaphex e5b7b83b3f (ui) Style nits 2017-01-17 19:04:42 +01:00
twinaphex 3d7fbd355e (Apple) Buildfixes 2016-10-22 17:41:26 +02:00
twinaphex d08668b331 Rollback 4b807b482 - was unnecessary in hindsight anyway 2016-10-22 16:39:55 +02:00
twinaphex 4b807b482f Create runloop_poll 2016-10-20 02:17:17 +02:00
twinaphex bf4fd2a864 Update headers for ui/drivers 2016-09-05 18:33:22 +02:00
Yoshi Sugawara 9173397f08 iOS 10 support: cores need to be in the modules directory of app bundle, added script to code sign cores in modules directory 2016-07-10 09:02:40 -10:00
Twinaphex b11bfc8a73 Add ui_companion_driver_get_main_window 2016-06-12 19:29:07 +02:00
twinaphex 0e01a3c84b Add ui_browser_window 2016-06-08 15:47:00 +02:00
twinaphex 047ffe9d30 Remove apple_display_alert 2016-06-08 07:19:19 +02:00
twinaphex a247b16164 Add ui_null_msg_window 2016-06-08 06:29:52 +02:00
twinaphex a90bd8cb67 Add ui_null_application.c 2016-06-07 16:31:35 +02:00
twinaphex 757c83ea58 Turn apple_rarch_exited static 2016-06-04 18:10:52 +02:00
twinaphex 61e1c13ae6 Create stub window interface 2016-06-04 04:24:54 +02:00
twinaphex bb1d1da693 Remove runloop_iterate_data 2016-05-16 17:29:02 +02:00
Twinaphex 19afc807ef (iOS) Not sure why we are calling rarch_main() twice for iOS 2016-05-10 23:33:51 +02:00
twinaphex 2691ab0c7d Rename command_event enums 2016-05-09 20:51:53 +02:00
twinaphex a98ef36d36 Rename event_cmd_ctl to command_event 2016-05-09 20:20:50 +02:00
twinaphex 13e67aa44e Create runloop_iterate_data 2016-05-08 06:29:11 +02:00
Twinaphex 20706b51de (iOS) Fix iOS - pass argc/argv 2016-04-05 21:22:23 +02:00
Twinaphex cf9d8a8adb (iOS) rewrite this 2016-04-05 20:58:17 +02:00
twinaphex c536e0fbdc (iOS) argv needs to always be non-NULL 2016-04-05 20:53:02 +02:00
twinaphex 372d673a26 Rename event_command to event_cmd_ctl - add second parameter 2016-01-22 15:34:43 +01:00
twinaphex a767031651 Use string_is_equal in more places 2016-01-20 04:11:25 +01:00
twinaphex cebea56412 Add UI Companion Enable setting 2016-01-18 21:35:09 +01:00
Phillip Ponson 6ca58a4d6e iOS: Refactoring support for background Music.app. 2016-01-17 19:51:28 -06:00
twinaphex dd239fc85d Add HAVE_AVFOUNDATION ifdefs 2016-01-16 22:02:49 +01:00
pponso1 a983c8269e iOS. Adding support for Music.app.
I had to comment out this line in the showPauseMenu function: 
  
ui_companion_cocoatouch_event_command(NULL, EVENT_CMD_AUDIO_STOP);

This may actually be on the only change needed. 😜
2016-01-16 12:37:09 -06:00
pponso1 3ce5ad9243 iOS. Adding support for Music.app.
Users who want to play games while listening to music should enjoy these modifications. Not the cleanest; refactoring is needed.
2016-01-16 12:25:57 -06:00
Yoshi Sugawara 890eaafcd7 Fixed reading keyboard input for iOS 9 (use [UIApplication handleKeyUIEvent]). Fixed 8bitdo SNES30/SFC30 button mappings (fixed key mapping for X button) 2015-12-26 19:38:02 -05:00