Commit Graph

52 Commits

Author SHA1 Message Date
Robert Jones
2cddee3fb1 UEPLAT-7 - OBB downloading code in Java
- Code additions to download data from Google Play Store if not on device
- Changes deploy to write new meta-data
- Changes to Android deploy to cache ini files once and re-read instead of the constant open/read we had
- Added template/code generation system so we can now generate Java files based on a template for project dependent names etc

[CL 2521147 by Robert Jones in Main branch]
2015-04-22 11:14:29 -04:00
Chris Babcock
a08593b581 Better user control of AndroidManifest.xml generation
#ue4
#android
#codereview Josh.Adams

[CL 2520323 by Chris Babcock in Main branch]
2015-04-21 19:17:00 -04:00
Josh Adams
e718dd6dab - Fixed up tooltips/comments for new ES31+AEP support
[CL 2505788 by Josh Adams in Main branch]
2015-04-08 16:23:03 -04:00
Aaron McLeran
a85d8ba0b5 Fixing android build
- accidentally checked these files in, reverted to previous version

[CL 2488651 by Aaron McLeran in Main branch]
2015-03-23 19:23:09 -04:00
Aaron McLeran
cc689ed400 Integrating Oculus Audio SDK to Main
Original Notes (adapted)

Implementation and Integration of Oculus Audio SDK for VR Audio Spatialization

- Adding new audio extension which wraps the oculus audio sdk and the new XAPO plugin
- Adding new XAPO (Xaudio2 Audio Processing Object) effect for processing mono audio source streams inside the new module
- Added new enumeration which allows users to select which spatialization algorithm to use for spatialized mono sources
- Refactored the regular sound source spatialization/effect in XAudio2 device code to support the new HRTF mono-to-stereo effect
- Designed feature so that if the sound spatialization module isn't used, the spatialization will default to normal spatialization algorithm

Notes on implementation:

- Because the audio engine doesn't bifurcate spatialized vs. non-spatialized sound sources into separate source pools, I had to create up-front the effects for the full number of supported sounds 32). This is because the oculus sdk requires at initialization the total number of sound sources that will be used in the SDK.

- Because the oculus SDK refers to sound source instances by index (into the pre-allocated array of sources set at init), I had to save each sound source's index so that it can be used on the HRTF XAPO effect, and then piped to the oculus SDK inside the UE audio extension.

- The audio engine assumes that mono-sources will be treated a certain way (during send-routing and spatialization). Because this new HRTF effect is effectively turning mono-sources into stereo-sources, some code had to be changed to send/route these audio sources as if they were stereo.

- This implementation is slightly different than the original GDC implementation to better work with multiple audio devices. Each audio device creates an IAudioSpatializationAlgorithm object which contains the oculus HRTF processing contexts.

#codereview Nick.Whiting Marc.Audy

[CL 2488287 by Aaron McLeran in Main branch]
2015-03-23 16:14:54 -04:00
Jaroslaw Palczynski
f23f29257b Back out changelist 2481333
Rob asked me to back out GENERATED_*_BODY -> GENERATED_BODY change for now until the "_Validate and _Implementation auto-generation" discussion is over.

#codereview Robert.Manuszewski

[CL 2481343 by Jaroslaw Palczynski in Main branch]
2015-03-17 05:38:32 -04:00
Jaroslaw Palczynski
fa31560e2d Enabled UHT to digest GENERATED_BODY instead of GENERATED_UCLASS_BODY, GENERATED_USTRUCT_BODY, GENERATED_UINTERFACE_BODY or GENERATED_IINTERFACE_BODY, changed every occurence to the new syntax and fixed every warning that have fallen out of this change.
#codereview Robert.Manuszewski

[CL 2481333 by Jaroslaw Palczynski in Main branch]
2015-03-17 05:19:11 -04:00
Aaron McLeran
c21f478693 Fixing Platform Builds
#codereview Marc.Audy

[CL 2477328 by Aaron McLeran in Main branch]
2015-03-12 15:40:07 -04:00
Aaron McLeran
d2729ee628 Supporting multiple audio devices for multiple PIE and other potential use-cases.
- Created audio device manager which manages weak ref handles to audio devices
- Audio device handles are created with WorldContexts and accessed through UWorld objects
- All access to audio devices are now through audio device handles
- There is a main/default audio device for GEngine for use with the Editor and single worldcontext games

#codereview marc.audy, matthew.griffin

[CL 2477046 by Aaron McLeran in Main branch]
2015-03-12 12:59:33 -04:00
JJ Hoesing
a3edf631c9 - Added android packaging option for generating a GearVR specific AndroidManifest.xml
[CL 2426336 by JJ Hoesing in Main branch]
2015-01-30 16:10:14 -05:00
Josh Adams
b66aa50cfb - Fixed default Android enums [UE-8306]
[CL 2421518 by Josh Adams in Main branch]
2015-01-27 20:33:14 -05:00
Josh Adams
7231a49511 - Moved OBBInAPK into ProjectSettings, and renamed it [UE-8359]
- Removed all the OBBInAPK hackery in UBT
- Updated the apk install scripts with some more information as to what it's doing [UE-8258]

[CL 2420664 by Josh Adams in Main branch]
2015-01-27 13:05:32 -05:00
Josh Adams
02d7bd14b5 - No longer using curly brackets with {PROJECT_NAME} default, messes up in editor
- Fixed some tooltips
- Missed a file in changelist 2414384

#codereview peter.sauerbrei

[CL 2415309 by Josh Adams in Main branch]
2015-01-22 09:52:25 -05:00
Josh Adams
9cf8c67c77 - Generate AndroidManifest.xml from ProjectSettings
- Moved some Android settings to ProjectSettings, re-enabled SDK settings
- Removed SigningConfig.xml, and moved those settings into project settings
- Added concept of NotForLicensees and NoRedist engine and project config settings
- Removed BaseInternalGame.ini, replaced with NotForLicensees/BaseGame.ini
- Moved User*.ini to end of .ini hierarchy
- Added support for CLASS_GlobalUserConfig, so their settings will be saved to <AppData>/.../User*.ini (useful for SDK paths, etc)
- Enabled AndroidPlatformEditor module on Mac
- Changed Mac Build.sh to allow for Android on the commandline (just pass through if it's not an Xcode platform name)
- Iterative Android packaging now looks at just the important .ini sections, NOT entire .ini files

#codereview jamie.dale,james.moran,michael.trepka,robert.jones,chris.babcock

[CL 2413870 by Josh Adams in Main branch]
2015-01-21 11:17:55 -05:00
Robert Jones
f8e3ad2d57 Changes to Android audio startup to resolve a crash bug a licensee was having.
Error reporting for creation failure changed from Fatal to Warning as we don't really need to stop there.

[CL 2412197 by Robert Jones in Main branch]
2015-01-20 10:09:11 -05:00
Josh Adams
fd3d1c2a1a [Important BUNs in here]
- Enabled ES31 for GitHub/P4 users (currently only works on a Tegra K1 with recent system software)
- Always use separate APKs - this means that all APKs will have -armv7-es2 (or whatever) in their name. This may affect scripts, etc people have written
- Fixed a bug when using multiple java libraries (for users who add their own libs)
- Properly collapse Android devices into a single device with multiple variants. LaunchOn will now choose the best format based on the connected device. If you want to override the format, you will need to use the ProjectLauncher
- Added Android serial number to the device type, in case you have multiple devices of the same type (also fixes [UE-3770])
#codereview niklas.smedberg,chris.babcock

[CL 2385821 by Josh Adams in Main branch]
2014-12-11 13:44:41 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Terence Burns
3766264ae8 In-App Purchase changes.
Android fixes for workflow and threading issues.
Receipt is now returned as part of the IAP product information in blueprints
IAP workflow in blueprints now use an IAP request object as opposed to just a string.
Changes to the IOS workflow to accommodate receipts in product responses.
Android game activity has been updated to receive onActivityChanged messages. Needed for routing activity changes to android IAP.
A lot of threading fixes
Fixes for certain google events not calling the appropriate delegates.
Play store license key property added to runtime settings.

[CL 2364717 by Terence Burns in Main branch]
2014-11-19 05:18:19 -05:00
Matthew Griffin
e529148280 Added config setting for audio volume when app is unfocused
Removed GVolumeMultiplier and added an equivalent to FApp to contain the code to load the unfocused volume multiplier from config.

UE-4449 - Allow users to choose whether audio can be heard when focus is lost

#codereview Robert.Manuszewski

[CL 2341022 by Matthew Griffin in Main branch]
2014-10-27 08:15:41 -04:00
Robert Jones
5800659c7e Android audio fixes
- Fixes looping issue with ADPCM samples
- Fixes Android not looping sound cues correctly
- Fixes one shot sound ADPCM problems where sound would get cut early
- Removed Android Audio Device update function - was never called and did nothing anyway so this will improve clarity

Changed ADPCM decompressor so that it uses the same code to decompress a full file as it does when streaming - old code was correct it was just silly have it duplicated.

[CL 2339877 by Robert Jones in Main branch]
2014-10-24 10:55:50 -04:00
Jaroslaw Palczynski
7c41927cf4 Rename FPostConstructInitializeProperties to something simpler
Changed it with FObjectInitializer.

UECORE-7

[CL 2328384 by Jaroslaw Palczynski in Main branch]
2014-10-14 10:29:11 -04:00
Josh Adams
bf234e67fd - Improved tooltip/comment for x86
[CL 2314927 by Josh Adams in Main branch]
2014-09-30 16:54:23 -04:00
Josh Adams
c7a8265636 - Exposed build architectures for Android project settings
- Added x86 and x64 ICU libs

[CL 2302848 by Josh Adams in Main branch]
2014-09-18 15:10:00 -04:00
Robert Jones
747014db6b Added support to Audio device for Android to check if background music/audio is playing.
[CL 2295167 by Robert Jones in Main branch]
2014-09-12 11:37:24 -04:00
Robert Jones
e48d3bce23 Moving settings for audio compression control under the Android tab on the project properties.
#codereview daniel.lamb, chris.babcock

[CL 2276239 by Robert Jones in Main branch]
2014-08-28 11:19:16 -04:00