Commit Graph

100 Commits

Author SHA1 Message Date
Chris Babcock
18811f513c Support multiple gamepad controllers on Android including identifying Samsung EI-GP20 and input plugins
Adds ResetGamepadAssignments, ResetGamepadAssignmentToController, and IsControllerAssignedToGamepad to PlatformMisc and BP nodes
#jira UE-17956
#ue4
#android
#platformnotify Josh.Adams
#codereview Josh.Adams

[CL 2705582 by Chris Babcock in Main branch]
2015-09-24 21:03:00 -04:00
Jamie Dale
63a39cbf09 Added some missing PLATFORM_SUPPORTS_STACK_SYMBOLS defines
Some platforms that implement stack walking weren't setting this to true, and there was also no default for platforms that don't support stack walking.

This define is only used when building with bUseMallocProfiler turned on.

ReviewedBy Gil.Gribb
#platformnotify Josh.Adams

[CL 2700520 by Jamie Dale in Main branch]
2015-09-22 09:52:02 -04:00
Jack Porter
33a51c03a7 UEMOB-32 - Support cooking various combinations of Android texture formats simultaneously
[CL 2698623 by Jack Porter in Main branch]
2015-09-21 01:23:29 -04:00
Chris Babcock
518942aa44 Only trigger window resize if orientation changes on APP_CMD_CONFIG_CHANGED
#ue4
#android
#codereview Dmitriy.Dyomin

[CL 2695598 by Chris Babcock in Main branch]
2015-09-17 13:56:31 -04:00
Richard Hinckley
6ceaa5aba7 Cleaning out programmer-only comments that were harvested by Doxygen.
#platformnotify Josh.Adams

[CL 2690143 by Richard Hinckley in Main branch]
2015-09-14 09:25:39 -04:00
Dmitriy Dyomin
d8e2942b39 Android reliably logs crash callstack
libnvToolsExt (used for PhysX profiling) installs signal handlers which prevent us and Android to report crashes, to avoid this we link UE4 to stubed vesrsion of libnvToolsExt (by default)
#jira UEMOB-57
#codereview Jack.Porter, Chris.Babcock

[CL 2687553 by Dmitriy Dyomin in Main branch]
2015-09-11 00:42:40 -04:00
Chris Babcock
a939d907d6 Add launch image support for Android (disabled for GearVR)
#ue4
#android

[CL 2673367 by Chris Babcock in Main branch]
2015-08-28 19:34:42 -04:00
Josh Markiewicz
779cb6e04b #UE4 - moved all http header files into header module
- headers in core and implementations in http were working but only coincidentally
- no way to export any of the platforms if needed because CORE_API was correct for generic platform but would have link errors because all platforms were in HTTP_API
- fixed up platform http calls to reference http module
#platformnotify josh.adams
#codereview sam.zamani, david.nikdel, dmitry.rekman

[CL 2646887 by Josh Markiewicz in Main branch]
2015-08-06 15:52:48 -04:00
Jaroslaw Surowiec
21e0dba59f Crash reporter improvements (OR-4990/Automatically copy full dumps to Network Share)
#platformnotify Josh.Adams

[CL 2628786 by Jaroslaw Surowiec in Main branch]
2015-07-22 07:33:02 -04:00
Dmitriy Dyomin
90c019585c Fixed: Android: Games crash upon returning to home during inital load
UE-18705

[CL 2627137 by Dmitriy Dyomin in Main branch]
2015-07-21 05:09:39 -04:00
Dmitry Rekman
f455b7c9ec Linux: several keyboard input improvements.
- No longer assumes a US-QWERTY layout (uses SDL equivalent of Windows VK_ values, not raw keyboard scancodes)
- Fixes various keys not working for odd reasons (we lost bits downcasting from uint32 to uint16, causing key values to change or overlap other keys).

(Fixes UE-11582 and UE-14143 and probably others.)

Misc:
- Reverted to using WarpMouseInWindow due to reports that Global is not always reliable.
- Added a workaround for relative mouse movement being wrong in some cases.

#platformnotify Josh.Adams
#codereview Ryan.Gordon, Josh.Adams, Marc.Audy

[CL 2625112 by Dmitry Rekman in Main branch]
2015-07-17 18:52:48 -04:00
Allan Bentham
edfe761f8f RGBA hdr encoding for devices without float16 surfaces (mali).
Enabled limited post processing when RGBA encoding is in use.
#codereview Jack.porter, Brian.Karis

[CL 2621594 by Allan Bentham in Main branch]
2015-07-15 06:39:44 -04:00
Dmitriy Dyomin
1c8460870e Fixed: Device orientation doesn't work properly on Android UE-18157
Fixed: Context loss can cause back buffer to resize on Android UE-17512

[CL 2610742 by Dmitriy Dyomin in Main branch]
2015-07-06 00:25:02 -04:00
Mikolaj Sieluzycki
2a7706ad91 Pass bIsEnsureParameter properly to PromptForRemoteDebugging.
#platformnotify Josh.Adams

[CL 2610207 by Mikolaj Sieluzycki in Main branch]
2015-07-03 04:32:11 -04:00
Marc Audy
5a3be78579 Remove EControllerButtons
#platformnotify Josh.Adams

[CL 2609636 by Marc Audy in Main branch]
2015-07-02 16:06:48 -04:00
Dmitriy Dyomin
04f73c3215 Added device profiles for Mali and improved for unknown devices
UEMOB-12

[CL 2608878 by Dmitriy Dyomin in Main branch]
2015-07-02 07:22:07 -04:00
Chris Babcock
b6df0fec88 Android x86_64 support - pr #914 (also adds support for ndk-r10e clang 3.6)
#ue-11650
#ue4
#android
#codereview Josh.Adams

[CL 2590354 by Chris Babcock in Main branch]
2015-06-17 12:56:56 -04:00
Chris Babcock
0ecf89ee36 Enable shadow warnings for Android targets and clean up the ones found
#ue-14251
#ue4
#android
#codereview Marc.Audy,Ryan.Gerleve

[CL 2579237 by Chris Babcock in Main branch]
2015-06-05 19:15:39 -04:00
Chris Babcock
dc9d878fe5 Fixes for JNIEnv thread crashes
#ue-14317
#ue4
#android
#codereview Josh.Adams

[CL 2551517 by Chris Babcock in Main branch]
2015-05-14 17:58:56 -04:00
Marc Audy
1a12e9cffe Add a matching PRAGMA_ENABLE_SHADOW_VARIABLE_WARNINGS for PRAGMA_DISABLE_SHADOW_VARIABLE_WARNINGS instead of using basic PRAGMA_POP
[CL 2548029 by Marc Audy in Main branch]
2015-05-12 17:41:47 -04:00
Mike Fricker
290f5e6d82 Miscellaneous fixes for Clang on windows
These changes allow UE4 to compile and run (in Debug) on Clang 3.7 alpha (r231657 only!)
  - Disabled editor source file discovery (crashes with Clang currently)
  - Disabled FThreadIdleStats in UnrealHeaderTool with Clang on Windows (causes link errors due to inlining bugs with Clang and DLL imports)
  - Use MSVC linker by default, even when compiling with Clang (can be tweaked with bAllowClangLinker)
  - Enabled shadow variable warnings on Windows with Clang
  - Limited max size of reflection code source files (Clang on Windows crashes with huge source files)
  - Fixed UE4 deprecation warnings not showing up when using Clang on Windows
  - Make sure initialization list order only triggers a warning on Clang for Windows

Other changes:
  - Fixed issues with pushed pragmas not getting popped (PRAGMA_ENABLE_DEPRECATION_WARNINGS)
  - Removed EMIT_DEPRECATED_WARNING_MESSAGE, wasn't used
  - Fixed various third party library includes not being treated as system headers (prevents compiler warnings)

To test Clang on Windows (beta!!):

- Get latest UE4 main branch (4.9)

- Install LLVM+Clang for Windows version r231657.  It's a quick install, you don't need to compile anything yourself.

- Open UEBuildWindows.cs, and change bCompileWithClang to true.  Be careful not to check that in.  We'll probably make this config-driven later, after the Clang toolchain gets more mature.

- Switch to Debug Editor configuration.  (See below for more info.)

- Rebuild the game or engine

Notes:

- You must use Clang r231657 (3.7.0 alpha).  There are no other releases that I've found that are able to compile UE4 successfully.  Most of the newer releases crash during compiling, and older releases aren't able to digest Windows header files well enough.

- Compiling in Development currently will not work due to bugs with Clangs handling of inlining and DLL exports.  Monolithic builds should work, though.

- Occasionally you may see runtime crashes (stack overflows or access violations) when running UE4 compiled with Clang on Windows.  These may very well be bugs in Clang (remember, we're using an alpha release of Clang 3.7.0.)  Unfortunately without better debugger support, it can be difficult to workaround these

- When debugging, you will only have functions and line numbers, no variables or parameters.  Clang only has preliminary support for Microsoft's PDB format currently.
XGE is fully supported with Clang on Windows.  Best case rebuild times I've seen are 3.5 minutes in Debug.

- Shared PCHs aren't supported yet (similar to on Mac and Linux), so iterative compile times may be slower compared to Visual C++.  However the Clang compiler is actually quite fast for rebuilds, probably because of missing debug info though.

- There may be some compiler warnings that are different between Mac/Linux and Windows.  We haven't done a line-by-line comparison yet.

- Build products and executables for Clang and VC++ overlap on disk.  So you have to rebuild to switch back and forth.  Sorry.

- Clang on Windows has a few bugs that we've had to work around.  You might see some strange things from time to time.  Every new release of Clang has different behavior on Windows.

- We still use the VC++ Linker, even when compiling using Clang.  The new Clang linker (lld.exe) can be enabled with bAllowClangLinker but it will crash when linking some modules.  It also doesn't produce usable debug symbols by Visual Studio (yet).

#codereview mikolaj.sieluzycki

[CL 2532260 by Mike Fricker in Main branch]
2015-04-30 14:24:21 -04:00
Gil Gribb
c8c3d793ea UE4 - remove rhimethods.h and all of the macro stuff relating to that
[CL 2524145 by Gil Gribb in Main branch]
2015-04-24 07:50:10 -04:00
Chris Babcock
b89194ada7 Allow volume buttons to be handled by game or system on Android
Adds 2 BP nodes (SetVolumeButtonsHandledBySystem and GetVolumeButtonsHandledBySystem)
#ue4
#android
#codereview Josh.Adams,Marc.Audy

[CL 2521773 by Chris Babcock in Main branch]
2015-04-22 17:01:01 -04:00
Marc Audy
4815482be4 Add a PRAGMA_DISABLE_SHADOW_WARNING to easily wrap third party code that needs shadow variables disabled
Move PRAGMA_POP out of deprecation section and in to general usability

[CL 2510496 by Marc Audy in Main branch]
2015-04-13 13:31:04 -04:00
Chris Babcock
d824480191 Android: make -Wparentheses-equality non-fatal.
- Constructs like if (foo=1) will still break the build, but if ((foo == 1)) will not (won't be suppressed completely, but will produce a visible warning).

#ue4
#android
#codereview Josh.Adams

[CL 2501761 by Chris Babcock in Main branch]
2015-04-03 18:06:14 -04:00