Commit Graph

2851 Commits

Author SHA1 Message Date
Ben Zeigler
59ab04456f Merging up to CL #2705955 using UE4-Fortnite-To-UE4
Notable changes:

2696075
- Change ALobbyBeaconHost::Init and ALobbyBeaconHost::SetupLobbyState to be virtual
- Add new function APartyBeaconHost::GetMaxReservations, for getting the maximum number of reservations allowed by the beacon
- Add new delegate and associated RPC to APartyBeaconClient for when reservations on the host beacon are full
   - Behavior change: Full reservation fires the new delegate and not  ClientSendReservationUpdates

2687900
only sort session search results if there are any

2697435
fixed invalidating crowd's navmesh boundary data, tile salt was not increased during rebuilds

2686334
Added a blueprint library function to get attribute values from an ability system component.

2694255
Abilities that are triggered by events are now triggered by children of the events that trigger them. For example an ability that is triggered by A.B would now also be triggered by A.B.C.

2694384
When triggering abilities send the original tag so triggers that aren't an exact match can choose not to respond.

2692521
Fixes issue using nav mesh walking where AIs would pop up on top of geometry
- We now use the surface closest to the target nav location, rather than tracing downwards from above and using the first surface we find

2699230
Put the Mac.HighPrecisionDisableMouseCoalescing & Mac.HighPrecisionDisableMouseAcceleration CVars into the 'io.' rather than 'r.' groups where they belong.

[CL 2708199 by Ben Zeigler in Main branch]
2015-09-28 15:02:27 -04:00
Michael Trepka
615d0c5fb3 Merging CL 2708073 - Fixed a Mac-specific crash at exit that occured if GLog was initialized before the game thread was created
[CL 2708077 by Michael Trepka in Main branch]
2015-09-28 13:58:27 -04:00
Nick Darnell
95b10c90cc UE-21469 - Editor - Updating the C++ project wizard auto installion of visual studio to be setup to install VS2015 instead of 2013.
#platformnotify Josh.Adams

[CL 2707648 by Nick Darnell in Main branch]
2015-09-28 10:09:51 -04:00
Jamie Dale
0e1ca45be7 Fixed FTextSnapshot reporting all transient text instances as dirty
FTextSnapshot was changed to use a TWeakPtr, however this meant that for text that was generated each frame, the FTextSnapshot would always report that it was out-of-date (even if the generated text was the same as the previous frame) as it no longer had a valid reference point to compare against.

FTextSnapshot has been changed to once again use a TSharedPtr, which will keep the transient instance around long enough for it to be compared with the text from the next frame.

[CL 2707568 by Jamie Dale in Main branch]
2015-09-28 08:43:11 -04:00
Martin Mittring
f83b25a4f8 Integrated
CL 2705306

improved CircleDOF quality, added r.DepthOfFieldQuality 4 to trigger slower but higher quality

[CL 2707005 by Martin Mittring in Main branch]
2015-09-25 18:48:48 -04:00
Aaron McLeran
bb31416059 New feature for defining grouped max concurrency rules
Overview:
- Created a new UObject: USoundConcurrency
- Defines concurrency behaviors and allows for different USoundBase assets (e.g. SoundWave's, SoundCues) to be a part of the same concurrency group.
- This feature will allow a number of powerful techniques to limit and control the number of sound assets which can play concurrently

Details and Additional Related Features:
- USoundBase's not specifying an override or a USoundConcurrency ref will result in no concurrency limits.
- Added support to existing static gameplay functions to provide an optional argument to override the USoundConcurrency of a sound at the point of playing
- Added a few new concurrency resolution rules: Resolve based on priority and Resolve based on volume
- Volume based concurrency resolution is implemented slightly different than the others due to the fact that it's complex/expensive to compute an active sound's volume before it plays due to SoundCue graph traversal. Thus, this step is made after a sound is already made it through one update of the SoundCue graph.
- It's now possible to limit max concurrency (both in groups and per-sound-instance) to the "owner" of a sound. This way different characters/actors can use the same USoundConcurrency ref but have different max-concurrency counts. With this technique, you can, for example, limit dialogue lines per actor without needing to make a USoundConcurrency object for each actor.
- A new optional concurrency behavior was also added at a suggestion from the Epic audio team: the ability to attenuate a sound based on the instance count of a sound in its concurrency group. I.e. as more sounds play in a concurrency group, the sound instances get quieter.

Backwards Compat:
- The old way limited sounds per USoundBase instance (and not different ones). You can recover this behavior by specifying an "Override" settings structure on the USoundBase. When you do this, the feature will only limit sound concurrency per instance and not per group. All existing assets with MaxConcurrency settings will fallback to this behavior.
- The default USoundBase behavior for new USoundBase objects is the same as the old behavior - i.e. max limit of 16 and non-grouped (i.e. will be an override)

#codereview marc.audy

[CL 2706947 by Aaron McLeran in Main branch]
2015-09-25 17:58:14 -04:00
Martin Mittring
29f89a390c Integrate from Orion
CL 2704794 2704931 2704948 2704962 2705238 2706353 2700643 2705458

        Uniform Buffer layout name

and

more debug info for this and other bugs: OR-7159 CRASH: Client crashed at start of match in D3D11Commands.cpp

Adding OptionalData (key value pairs) to the shaders (to put shader name into the shader code for better debugging), affects all RHI, invalidate DDC key for all shaders, cleanup existing code (was adding 0/1/5 bytes and had to compensate in many areas)

OptionalData:
key is a char, value is up to 255 bytes, up to 64K in total

#platformnotify Josh.Adams

[CL 2706923 by Martin Mittring in Main branch]
2015-09-25 17:34:00 -04:00
Saul Abreu
3e89a8d6f6 #codereview Jamie.Dale, Justin.Sargent
Largely rewritten Editor Region & Language Settings page. Far less error prone compared to the old implementation. I'd like to do a lot more to make this not so lame in the future - move the game's native culture to something not editor-specific and leverage it as the default for new game targets in the localization dashboard.

[CL 2706823 by Saul Abreu in Main branch]
2015-09-25 16:24:07 -04:00
Steve Robb
25af9f451f Back out changelist 2706134
[CL 2706688 by Steve Robb in Main branch]
2015-09-25 15:34:51 -04:00
Chris Babcock
6d8d550d6d Merging using UE4-To-UE4-Releases-4.10
Change generic IsControllerAssignedToGamepad to return true only for controller 0
#jira UE-21500
#ue4
#platformnotify Josh.Adams

[CL 2706355 by Chris Babcock in Main branch]
2015-09-25 12:58:41 -04:00
Mark Satterthwaite
9af304c7c0 Make Mac warn about attempts to free memory with MallocBinned that wasn't allocated from it to avoid crashing on mismatched allocations and give us a chance to debug it. Should alleviate UE-20958.
[CL 2706252 by Mark Satterthwaite in Main branch]
2015-09-25 11:48:30 -04:00
Gil Gribb
f7c6ed3f83 UE4 - Improved the console performance of FBitReader.
[CL 2706228 by Gil Gribb in Main branch]
2015-09-25 11:32:40 -04:00
Steve Robb
5795ecafc3 Merging using Orion->UE4
CL# 2706133
Fat-free TArray and FString ranged-for iteration.

[CL 2706134 by Steve Robb in Main branch]
2015-09-25 10:28:59 -04:00
Allan Bentham
25c10bf77d UEMOB-36
Add material shader quality settings.
Enables quality overrides for android and ios (ES2 flavours)

#codereview jack.porter

[CL 2705914 by Allan Bentham in Main branch]
2015-09-25 04:55:45 -04:00
Dmitry Rekman
e37e785445 Linux: fix reporting memory stats (OR-7349, UE-9538).
#codereview Michael.Trepka

(Merging CL 2705697 to the main branch).

[CL 2705727 by Dmitry Rekman in Main branch]
2015-09-24 23:20:01 -04:00
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
Dmitry Rekman
158b7a6a58 Add LIKELY/UNLIKELY macros for static branch prediction hinting.
#codereview Josh.Adams, Michael.Trepka, Chris.Babcock, Peter.Sauerbrei, Marcus.Wassmer

(Merging CL 2704512 to the main branch)

[CL 2704584 by Dmitry Rekman in Main branch]
2015-09-24 11:49:51 -04:00
Andrew Rodham
4316b5fc49 Added the concept of an 'arbitrary multiplier' unit
[CL 2704147 by Andrew Rodham in Main branch]
2015-09-24 07:30:17 -04:00
Andrew Rodham
2fc8234639 Changed verify to an ensure
This is a non-fatal error

[CL 2704042 by Andrew Rodham in Main branch]
2015-09-24 05:29:25 -04:00
Michael Schoell
de28759ddd Improvements to Find-in-Blueprints for variable nodes.
Properties in nodes can be marked as Blueprint searchable. Content will be gathered by FiB system for use in unloaded Blueprints on resave.

"Find References" on variables in the MyBlueprint list or on variable nodes is now more accurate.

Removed FEdGraphSchemaAction_K2AddCallOnVariable and FEdGraphSchemaAction_K2AddDocumentation, both unused in the editor and are a part of the old Blueprint menu system.

FMemberReference::SetSelfMember and FMemberReference::SetExternalMember support accepting a FGuid for the reference.

Variable nodes will assign their variable's Guid to their VariableReference
Added UK2Node::GetFindReferenceSearchString to find the search query for a node to find references to it, currently returns the node title for all nodes but variables (where it tries to do an advanced search to limit to only actual references to the same variable).

Can mark UProperties with metadata that informs the Find-in-Blueprint system to gather the property for searching. Currently FVariableReference in K2Node_Variable is the only thing gathered and only nodes are yet supported by this feature. Will expand to all objects contained within UBlueprint in the future.

When using Find-in-Blueprints, can use category names as functions to filter into child tags and values.

All Find-in-Blueprint data is now stored in an Asset Registry tag titled "FiBData" instead of "FiB", this is to support the new version feature.

#jira UE-21164 - Find-in-Blueprints needs an easier way of marking properties as searchable.

[CL 2702574 by Michael Schoell in Main branch]
2015-09-23 11:05:29 -04:00
Jamie Dale
ca9f01f55f Minimized FText allocations when generating text at runtime
This allows you to move the arguments passed to FText::Format if you know you no longer need your own copy (our internal helper Format functions now do this with their temporary data).

I'd previously claimed this was submitted as part of CL# 2702379, but found it as part of a different CL.

[CL 2702398 by Jamie Dale in Main branch]
2015-09-23 08:39:05 -04:00
Jamie Dale
c4db6b2cc6 Minimized FText allocations when generating text at runtime
FText used to always perform two allocations, one for the shared display string pointer, and another for the text history.

This change allows text that is generated at runtime (such as via FText::AsNumber) to allocate its string and history together in a single allocation. Profiling shows that this almost negates the cost of the text history, without having to remove the text history (which is essential for FText serialization).

This means that we never have to take the hit of a second allocation for text which is generated at runtime and never serialized. Should text that was generated at runtime be serialized, then it will call TGeneratedTextData::PersistText to perform the allocation of the shared display string pointer, and allow the text to be saved, gathered, and localized.

This change also removes some allocations from FTextHistory_Base and FFormatArgumentValue, makes the text history types fully movable, and allows you to move the arguments passed to FText::Format if you know you no longer need your own copy.

[CL 2702379 by Jamie Dale in Main branch]
2015-09-23 07:57:03 -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
Gil Gribb
2497cba88b UE4 - Added stat DumpSpam command and avoid stat messages for no-op adds.
[CL 2698845 by Gil Gribb in Main branch]
2015-09-21 09:21:41 -04:00
Steve Robb
cbe5b79c73 Merging using Orion->UE4
CL# 2698724:
UHT speed improvements:

Code is now generated with tabs, rather than going through a separate Tabify step.
Some expensive temporaries created during iteration and during iteration have been removed.
FFunctionData::FunctionDataMap now uses unique ownership instead of shared ownership.
TCString::Spc (and the new TCString::Tab) now uses a compile-time array instead of one generated at runtime with a static.
TSet::Compact no longer rehashes if no compaction was performed.
TArray assignment no longer reallocs to the same capacity.

[CL 2698780 by Steve Robb in Main branch]
2015-09-21 07:53:49 -04:00