Commit Graph

132 Commits (58aecf0a5409a7c85300197631d5292ade2d253d)

Author SHA1 Message Date
Ozkan Sezer b8d325c830 fix xcode project file permissions 2019-11-21 23:04:20 +03:00
Sam Lantinga 2a7b635b9b Added support for the NVIDIA Controller v01.04 on Android 2019-11-21 11:52:50 -08:00
Ozkan Sezer eb8f14bb6a added SDL_strtokr() as a replacement for POSIX strtok_r (bug #4046.) 2019-11-20 20:40:50 +03:00
Ozkan Sezer 7d6f7e8d34 fix permissions 2019-08-23 03:01:10 +03:00
Sam Lantinga b521df66c3 [SDL][IOS] Audio fix - applies stream to sound data when resampling or reformatting is required. 2019-08-22 16:09:42 -07:00
Alex Szpakowski 3fb5cabe5e metal: Update compiled shaders based on compilation script changes 2019-08-16 22:13:30 -03:00
Ozkan Sezer 7f5fc74c57 fix permissions 2019-08-08 23:35:02 +03:00
Sam Lantinga cbdee4d656 [ SDL ] Fix compile error building for Windows/ARM64 on Visual Studio 2017 Win10 SDK 10.0.18362.0 which requires ar,74intr.h/arm64_neon.h header instead of armintr.h/arm_neon.h for intrinsics.
@saml
2019-08-08 13:26:05 -07:00
Alex Szpakowski aebaa316c7 Add public APIs for creating a Metal view attached to an SDL window. Add SDL_metal.h. 2019-08-05 12:35:32 -03:00
Ozkan Sezer d550867aef fix permissions 2019-07-09 08:55:00 +03:00
Sam Lantinga 67bb882e13 Fixed bug 4707 - SDL_SetRelativeMouseMode fails on Vivante
Cameron Gutman

The bugfix in https://hg.libsdl.org/SDL/rev/ca9417a52f18 caused SDL_SetRelativeMouseMode() to begin failing on Vivante (Steam Link). Even though Vivante doesn't have a SetRelativeMouseMode() or WarpMouse() function, it's in relative mode already (because it uses evdev) so the function was actually working as intended.

I think providing a no-op SetRelativeMouseMode() function for Vivante is a reasonable fix. Since it's already getting relative events through evdev, it really is a no-op to "enter relative mode".

In fact, this is probably the right thing to do for all backends that use evdev (vivante, raspberry, and kmsdrm). Raspberry and kmsdrm both have WarpMouse() implementations so SDL_SetRelativeMouseMode() isn't failing there, but it still seems to make sense not to have to do the fake warping if they're evdev-based anyway.
2019-07-03 15:57:55 -07:00
Sam Lantinga be6cda9f95 Rolling back GameCube HIDAPI support
It causes the HIDAPI devices to always be opened on enumeration, which causes crashes in the Windows drivers when multiple applications are reading and writing at the same time. We can revisit this after 2.0.10 release.
2019-06-19 15:54:21 -07:00
Ozkan Sezer 09142eb715 fix permissions 2019-06-12 13:56:20 +03:00
Sam Lantinga aa80d279d3 Fix build with the 10.10 SDK 2019-06-11 08:33:30 -07:00
Sam Lantinga 30a5e90ba8 Fixed bug 4603 - The iOS Test Xcode project file needs to add the metal framework
Dominik Reichardt

Similar to bug #4088 the iOS test suite needs the metal framework to link. Same linking error in the final linking phase.
2019-06-08 14:29:05 -07:00
Sam Lantinga 624f8ca80d Created Xcode schemes for building on iOS and tvOS 2019-04-23 14:08:09 -07:00
Sam Lantinga a71489221b Fixed archiving the SDL dynamic library on iOS and tvOS 2019-03-19 11:02:43 -07:00
Sam Lantinga 4d8ac6b8b2 Added support for building SDL as a dynamic library on tvOS 2019-03-19 07:53:39 -07:00
Sam Lantinga de82759c84 Added support for building SDL as a dynamic library on iOS 2019-03-19 07:53:33 -07:00
Sam Lantinga d49f1faeb1 Fixed iOS build 2019-03-16 19:46:27 -07:00
Ozkan Sezer 43d47f6b24 fix permissions 2018-11-15 07:20:02 +03:00
Sam Lantinga 2e348c1f59 Fixed bug 3193 - Dualshock 3's motion sensors overwrite analog stick
maxxus

The Dualshock 3's motion sensors don't seem to be reported by the call to EVIOCGBIT but they still send EV_ABS events.  Because they're not reported by EVIOCGBIT they're not assigned a proper axis ids and the default of 0 is used, which is the valid id for the left analog sticks left/right axis.
2018-11-14 13:37:22 -08:00
Sam Lantinga b08bdc4401 Don't build SDL_JOYSTICK_HIDAPI by default on iOS
If you enable this, you'll need to link with CoreBluetooth.framework and add something like this to your Info.plist:
<key>NSBluetoothPeripheralUsageDescription</key>
<string>MyApp would like to remain connected to nearby bluetooth Game Controllers and Game Pads even when you're not using the app.</string>
2018-10-26 09:27:31 -07:00
Ozkan Sezer f0549cc9c9 fix permissions 2018-10-23 09:10:02 +03:00
Sam Lantinga c4918db580 Add exception handling to Android hidapi. 2018-10-22 14:55:42 -07:00
Sam Lantinga 568068048f Fixed bug 4324 - Xcode 10 - more cleanup for macOS and iOS projects
Dominik Reichardt

Xcode warns about
"Traditional headermap style is no longer supported; please migrate to using separate headermaps and set 'ALWAYS_SEARCH_USER_PATHS' to NO."
Just doing the latter is enough to silence the warning without ill effects on compiling. This affects the macOS Xcode projects as well as the iOS projects. Definitely not a bug but an annoying warning that could go away.
2018-10-18 15:41:50 -07:00
Sam Lantinga 30def8e26b Fixed bug 4324 - Xcode 10 - more cleanup for macOS and iOS projects
Dominik Reichardt

Similar to bug/patch #4228, the iOS Demo Xcode project needs to add the CoreBluetooth framework.
2018-10-18 15:40:39 -07:00
Ozkan Sezer bab5b08437 fix permissions 2018-09-15 08:11:50 +03:00
Sam Lantinga e8a0e35e24 Use atomic reference counting for the HID device object 2018-09-14 18:31:01 -07:00
Sam Lantinga 63848141c1 Fixed building on tvOS without any sensor support 2018-09-10 22:59:49 -07:00
Ozkan Sezer faf8f8b86b fix permissions 2018-08-30 12:50:10 +03:00
Sam Lantinga f225af0c1e Added SDL_GetDisplayOrientation() to get the display orientation, and added a new event SDL_DISPLAYEVENT to notify the application when the orientation changes.
Documented the values returned by the accelerometer and gyroscope sensors
2018-08-22 21:48:28 -07:00
Sam Lantinga f1bc1c1274 Fixed crash trying to open HIDAPI controller as a haptics device on Windows 2018-08-22 17:44:28 -07:00
Sam Lantinga e9f6805fc6 Removed dependency on C++ runtime on iOS 2018-08-21 19:42:19 -07:00
Sam Lantinga c6647bf9c9 Added the iOS sensor implementation 2018-08-21 17:24:12 -07:00
Sam Lantinga bdbc06b027 Fixed bug 4228 - Clean-up Xcode projects
C.W. Betts

This cleans up the Xcode project by setting the Xcode groups to the corresponding directories. This also removes the Resources folder in OS X's Products group and adds the CoreBluetooth framework to the iOS tests (this is needed due to the addition of hidapi.
2018-08-21 16:47:44 -07:00
Sam Lantinga d2042e1ed4 Added HIDAPI joystick drivers for more consistent support for Xbox, PS4 and Nintendo Switch Pro controller support across platforms.
Added SDL_GameControllerRumble() and SDL_JoystickRumble() for simple force feedback outside of the SDL haptics API
2018-08-09 16:00:17 -07:00
Ozkan Sezer 41da7b79c0 ran 'chmod -x' on many files 2018-06-12 14:00:15 +03:00
Sam Lantinga b33dbd2769 Added missing file to tvOS build 2018-02-24 08:40:30 -08:00
Sam Lantinga 684c5847ad Moved deployment target values to project settings 2017-12-12 22:30:21 -08:00
Sam Lantinga 35a2eed3c1 Parameterized the All (target platform) build target scripts so they can be used in other projects 2017-12-12 21:59:39 -08:00
Sam Lantinga 527a8eb058 Renamed Xcode build targets so it's easier to copy files out of build directories on the command line
Also enabled bitcode, which is needed for App Store builds
2017-12-12 12:14:55 -08:00
Sam Lantinga 638d4fe3f8 Added SDL_uikitmetalview.m to the tvOS project 2017-12-12 11:29:00 -08:00
Sam Lantinga 3ae9768935 Added the Metal framework to several iOS tests 2017-12-10 09:09:27 -08:00
Sam Lantinga ba9c336e04 Fixed building for simulators or older iOS SDKs 2017-12-07 17:47:01 -08:00
Sam Lantinga 6deb1e7595 Fixed compiling Metal renderer on iOS 2017-12-07 17:12:03 -08:00
Sam Lantinga a6a4e27ae8 Updated SDL's YUV support, many thanks to Adrien Descamps
New functions get and set the YUV colorspace conversion mode:
	SDL_SetYUVConversionMode()
	SDL_GetYUVConversionMode()
	SDL_GetYUVConversionModeForResolution()

SDL_ConvertPixels() converts between all supported RGB and YUV formats, with SSE acceleration for converting from planar YUV formats (YV12, NV12, etc) to common RGB/RGBA formats.

Added a new test program, testyuv, to verify correctness and speed of YUV conversion functionality.
2017-11-12 22:51:12 -08:00
Sam Lantinga f24c6672a7 Updated SDL iOS project for tvOS 2017-10-26 10:49:33 -07:00
Sam Lantinga 9c580e14c9 Added functions to query and set the SDL memory allocation functions:
SDL_GetMemoryFunctions()
    SDL_SetMemoryFunctions()
    SDL_GetNumAllocations()
2017-10-12 13:44:28 -07:00
Sam Lantinga d828647944 Added stubs for simple Steam Controller support 2017-09-22 08:30:52 -07:00
Sam Lantinga cc023b6b81 Fixed bug 3837 - Change project settings for Xcode 9?
Mark Callow

Xcode 9 emits a warning to validate project settings. The changes it proposes are

1. [iOS] Update the iOS deployment target to 8.0 since Xcode does
   not support anything older.

2. [macOS] Target 'Framework' - Automatically Select Archectures.

3. [iOS & macOS] Turns on a bunch more compile warnings, a *lot* more on iOS.

4. [iOS & macOS] Turn on "Missing Localizability".

I want to confirm if it is ok to accept these changes and submit updated project files.

Since Alex Szpakowski has just removed iOS 7 guard ifdef's, I'm guessing 1 isn't a problem.

2 is probably ok for anyone building themselves. I wonder if it may cause problems for building distribution binaries.

3 shouldn't be a problem either provided any newly emitted warnings are fixed.

4 I am unfamiliar with. The description says "This will turn on the static analyzer to check for "Missing Localizability", because this project is localized for multiple languages." I suppose this may cause new warnings.
2017-09-22 12:26:54 -07:00
Sam Lantinga 28602b1235 The volume was too high, clamp to SDL_MIX_MAXVOLUME 2017-09-22 11:15:57 -07:00
Sam Lantinga e8187a3f78 Updated iOS keyboard test to cover text input rect and orientation changes 2017-09-14 09:56:16 -07:00
Ryan C. Gordon 25e3a1ec90 vulkan: Initial Vulkan support!
This work was done by Jacob Lifshay and Mark Callow; I'm just merging it
into revision control.
2017-08-27 22:15:57 -04:00
Alex Szpakowski efc43a1d88 More cleanup of the iOS keyboard demo. 2017-08-15 23:00:54 -03:00
Alex Szpakowski a0a09f646c Improve iOS keyboard demo code a bit. 2017-08-15 22:53:57 -03:00
Philipp Wiesemann b84fe2c06b ios: Fixed math include in demos. 2017-05-25 23:01:59 +02:00
Philipp Wiesemann 37b49e6344 ios: Fixed compiler warnings about unused variables in demo. 2017-04-09 23:00:26 +02:00
Philipp Wiesemann 6bd87635ee iOS: Fixed compiling template on C89 compilers. 2017-03-19 22:17:01 +01:00
Sam Lantinga b4e069e7f8 Fixed bug 3517 - Compiler warnings with gcc -Wstrict-prototypes
felix

Compiling even a simple SDL2 'hello world' program with gcc -Wstrict-prototypes (GCC 6.2.1) results in warnings like:

/usr/include/SDL2/SDL_gamecontroller.h:143:1: attention : function declaration isn't a prototype [-Wstrict-prototypes]
 extern DECLSPEC int SDLCALL SDL_GameControllerNumMappings();
 ^~~~~~

It seems there is a missing 'void' between the parentheses.
2016-12-26 02:12:21 -08:00
Ryan C. Gordon 09ed5cc0d8 xcode: Make sure SDL_dataqueue sources are included in all targets. 2016-12-06 13:33:02 -05:00
Ryan C. Gordon 6cb2f5bbbc xcode: updated macOS and iOS project files with SDL_dataqueue sources. 2016-12-06 12:30:31 -05:00
Philipp Wiesemann f662f68066 iOS: Updated demo README. 2016-10-09 20:30:49 +02:00
Philipp Wiesemann c2cb0b0ff4 iOS: Removed unused constant in demo. 2016-09-30 23:31:24 +02:00
Philipp Wiesemann 357c3dd746 iOS: Updated comment in demo. 2016-09-26 23:09:19 +02:00
Alex Szpakowski a8b033d7c4 Update the code for the iOS demos to handle modern devices. Fixes bug #3337 2016-09-25 00:23:35 -03:00
Alex Szpakowski 4209a1fd4c CoreAudio iOS/tvOS: Use AVFoundation instead of AudioSession. Fixes audio on tvOS.
Note that linking with AVFoundation is now required if you don't disable SDL_audio compilation on iOS and tvOS.
2016-09-15 19:59:57 -03:00
Sam Lantinga dbe2997ac0 Fixed building for both iOS and tvOS on Xcode 8 2016-09-14 08:45:35 -07:00
Sam Lantinga d0898b38fc Allow targeting tvOS 2016-09-14 07:09:35 -07:00
Alex Szpakowski f050576665 Initial Apple TV / tvOS support.
The Apple TV remote is currently exposed as a joystick with its touch surface treated as two axes. Key presses are also generated when its buttons and touch surface are used.

A new hint has been added to help deal with deciding whether to background the app when the remote's menu button is pressed: SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS.
2016-09-13 22:18:06 -03:00
Alex Szpakowski 86708c3cd8 Enable more compiler warnings in the Xcode projects (based on Xcode 8's suggestion), made some integer downcasts explicit. 2016-09-13 19:51:10 -03:00
Ryan C. Gordon 979de761c9 audio: Removed internal SDL_audiomem.h and macros.
I think this was important for SDL 1.2 because some targets needed
special device memory for DMA buffers or locked memory buffers for use in
hardware interrupts or something, but since it just defines to SDL_malloc
and SDL_free now, I took it out for clarity's sake.
2016-08-05 01:44:15 -04:00
Philipp Wiesemann f3ca4e4d50 iOS: Fixed compiling demos on C89 compilers. 2016-04-01 21:14:49 +02:00
Philipp Wiesemann 62ebc527d0 iOS: Removed not needed SDL_WINDOW_SHOWN from rectangles demo. 2016-03-28 21:01:46 +02:00
Philipp Wiesemann bd60850b82 iOS: Fixed keyboard demo ignoring quit requests and window closing.
This also fixed a warning about an unused variable.
2016-03-28 21:01:26 +02:00
Philipp Wiesemann e9ca5b28a6 iOS: Replaced #import with #include in two demos.
This extension to C is not required here and made the demos less portable.
2016-03-27 22:26:34 +02:00
Philipp Wiesemann 5fa0cbc4ba iOS: Restored older version of rectangles demo.
The demo did not draw rectangles like described in the demo README.
2016-03-27 22:25:13 +02:00
Philipp Wiesemann 16c479f332 iOS: Updated SDL version in demo README. 2016-03-27 22:24:10 +02:00
Alex Szpakowski 8e7cd6b5da iOS: Implemented clipboard support. 2016-02-03 20:32:55 -04:00
Philipp Wiesemann a4ce22fbf3 Fixed outdated information in a README for iOS.
Four of the listed programs do not exist anymore.
2016-01-06 22:39:04 +01:00
Alex Szpakowski 2bf6f1bcb7 Added initial support for MFi game controllers on iOS. 2015-09-20 23:08:36 -03:00
Philipp Wiesemann 0e45984fa0 Fixed crash if initialization of EGL failed but was tried again later.
The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly
uninitialized data structure if loading the library first failed. A later try to
use EGL then skipped initialization and assumed it was previously successful
because the data structure now already existed. This led to at least one crash
in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was
dereferenced to make a call to eglBindAPI().
2015-06-21 17:33:46 +02:00