Commit Graph

58 Commits

Author SHA1 Message Date
Bob Tellez
b51555abf7 Copying //UE4/Fortnite-Staging to //UE4/Main
#lockdown nick.penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2806454 on 2015/12/16 by Bob.Tellez

	#UE4 Getting crash reporting working again on linux servers. Since -Unattended is now being passed BEFORE the target folder, the cmd line parsing code was failing so now it parses tokens and switches in a more general way. Also, diagnostics.txt had the incorrect case, since the d is supposed to be capitolized and the crash report processor is case sensitive.

	#rb Ben.Zeigler

	#codereview Dmitry.Rekman

Change 2805502 on 2015/12/16 by Ben.Zeigler

	#UE4 Move ValidateEnumProperties into ValidateGeneratedClass, it was happening too early in the generation process so was being called at an invalid time.
	As a result of this ValidateEnumProperties will not be called correctly for compile on load blueprints, that issue is covered in UE-24569
	#codereview mike.beach, bob.tellez

Change 2805288 on 2015/12/16 by David.Nikdel

	#HTTP #HttpRetry
	- Add new Failed_ConnectionError code to EHttpRequestStatus to distinguish between connection errors and protocol errors.
	- Changed HTTP retry logic a little bit
	  * If a response was received, retry on service-specific explicit HTTP codes (defaults to empty)
	  * If a response was not received and we did not send a full request, automatically retry
	  * If a response was not received and a request may have been sent, retry if the verb is GET or HEAD (should be idempotent)
	- Adjusted Curl/IOS/Mac/PS4/WinInet to try and distinguish Failed_ConnectionError where possible
	  * Other systems will default to Failed which is ok (ConnectionError is an opportunistic categorization)
	  * Opened a PS4 ticket to try to improve detection, but unfortunately there's no way (currently) to distinguish between send timeout, connection timeout, and receive timeout, the latter being the problematic case.
	- Removed the concept of global/default HTTP retry status codes. No system has enough knowledge to set those globally.
	  * Individual requests still specify explicit "retryable" codes and McpServiceBase sets that on each request on a per-service basis
	#RB: Sam.Zamani
	#CodeReview: Sam.Zamani, Josh.Markiewicz, Alex.Fennell, Dmitry.Rekman, Sam.Spiro
	#Fixes: FORT-17804

Change 2803864 on 2015/12/15 by Bob.Tellez

	#UE4 Changed usage of !UE_SERVER to !IsRunningDedicatedServer in cases where we are preventing load attempts on UFonts. This is so running an editor build with -server works the same as running a cooked server.

	#rb Dmitry.Rekman

	#codereview Nick.Darnell

Change 2803677 on 2015/12/15 by Billy.Bramer

	- Expose equality and inequality operators for gameplay attributes

	#rb Todd.Eckert

Change 2802881 on 2015/12/14 by Bob.Tellez

	#UE4 InheritableComponentHandler no longer keeps records for components that we are no longer inheriting.

	#rb Phillip.Kavan, Maciej.Mroz

	#codereview Phillip.Kavan, Maciej.Mroz

Change 2801636 on 2015/12/14 by Bob.Tellez

	#UE4 Returning package insert order for non-imports back to being after those of matching priorities unconditionally since this is what you want even when you are not using the asset registry to preload packages.

	#codereview Graeme.Thornton

Change 2800400 on 2015/12/11 by Jonathan.Lindquist

	Submitting a new Pivot Painter Edition
	- now renders to textures
	- improved workflow
	- greater capabilities

Change 2799579 on 2015/12/11 by John.Abercrombie

	[AUTOMERGE]

	Fixed EQS BP query wrappers getting GCed before wrapped query finishes #UE4

	Fixes FORT-18649 - Patrols don't spawn consistently
	- The patrol blueprint was waiting (endlessly) for an EQS query to finish but because the wrapper could be GC-ed while the EQS query was running the delegate would never fire

	#rb me (this code was written by MieszkoZ)
	(removed code review for integration of Mieszko.Zielinski, Phil.Cole, Dominic.Barile)

	--------
	Integrated using branch UE4-Fortnite-To-UE4-FortniteReleases/0.10 (reversed) of change#2799575 by John.Abercrombie on 2015/12/11 09:55:11.

Change 2799018 on 2015/12/10 by Bob.Tellez

	#UE4 The asset registry tags stripped from cooked builds is now a blacklist by default that includes only the FiB tag. You can opt-in to using the whitelist by flipping the bUseAssetRegistryTagsWhitelistInsteadOfBlacklist flag.

	#rb Fred.Kimberley

	#codereview Peter.Knepley

Change 2798926 on 2015/12/10 by Bob.Tellez

	#UE4 Removed some showflags from the list of "Fixed" showflags since they were actually in use at runtime in Fortnite in a scene capture.

	#jira FORT-18514

	#codereview Martin.Mittring

Change 2797758 on 2015/12/10 by Mark.Satterthwaite

	Defer calls to AUGraphUpdate into FCoreAudioDevice::UpdateHardware - this call will synchronise the calling thread with the CoreAudio thread/run-loop so that the CoreAudio graph is safe to modify and this may incur a significant stall. This means it is far more efficient to amortise the cost of all changes to the graph with a single call. To ensure correctness the audio format conversion components are cached and disposed of after the call to AUGraphUpdate so that any existing operations on the CoreAudio thread are completed prior to disposal.

Change 2781204 on 2015/11/25 by Dmitry.Rekman

	Linux: use jemalloc by default if available.

	- Alleviates one of the reasons for player disconnect (FORT-18048), which was machines running OOM.

	#rb Bob.Tellez
	#codereview Bob.Tellez, Ben.Zeigler

Change 2779398 on 2015/11/24 by Mark.Satterthwaite

	Switch the default graphics API on Mac back to OpenGL, but allow Metal to run with -metal (or -metalsm5 for experimental SM5 support).
2016-01-08 19:10:43 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Andrew Grant
9abcacfd1b Merging Engine code from Orion at CL2744789 through //depot/UE4-To-//UE4/Main
[CL 2745726 by Andrew Grant in Main branch]
2015-10-28 19:18:20 -04:00
Adric Worley
9d134e7464 #ENGINE - Integrating automation test flags refactor
- New filter flags in automationtest.h
- Compile time errors if proper flags are not specified
- Existing tests converted to new flags
- New "disabled" flag
- Filter dropdown in automation UI replaces Smoke Tests button
- Automation features are no longer compiled out in Test configuration at runtime (except in Shipping)
- Enabled automation tests to be triggered from in-game console in non-editor builds (automation controller is enabled)

NOTE: This will force licensees who use automation to update their tests.
#codereview: jason.bestimt, mike.fricker, ben.salem

[CL 2672561 by Adric Worley in Main branch]
2015-08-28 13:23:02 -04:00
Steve Robb
cbac34aabd Deprecated delegate code removed.
Some fixes for deprecated code.

#codereview robert.manuszewski

[CL 2617562 by Steve Robb in Main branch]
2015-07-11 05:10:03 -04:00
Jamie Dale
38dba1e666 Added delegates to notify you when the source control provider is changed
[CL 2610444 by Jamie Dale in Main branch]
2015-07-03 12:45:48 -04:00
Matt Kuhlenschmidt
e45a27eb40 Guard against source control crashes if a provider becomes null
[CL 2584035 by Matt Kuhlenschmidt in Main branch]
2015-06-11 08:24:31 -04:00
Dmitry Rekman
9a74aadade Linux: re-enable git plugin (UE-13628).
- Crash was apparently caused by fork()ing inside ExecProcess.
- Replacing ExecProcess implementation from PR #1112 (also known as PR #1110) with some changes kills two birds with a single stone.
- Also enabled source control in the Linux editor.

[CL 2534983 by Dmitry Rekman in Main branch]
2015-05-02 17:41:25 -04:00
Michael Trepka
f26a552270 Added an option to create Slate window without a close button and used it for Source Control Login window, replacing a custom title bar it was using that didn't look well on Mac
[CL 2521044 by Michael Trepka in Main branch]
2015-04-22 10:27:12 -04:00
Andrew Rodham
789ab2faa3 Removed redundant function parameters
[CL 2517507 by Andrew Rodham in Main branch]
2015-04-20 09:35:49 -04:00
Adric Worley
e578e2d7cd Separate automated system tests from project-specific tests
[CL 2514485 by Adric Worley in Main branch]
2015-04-16 12:40:47 -04:00
Andrew Rodham
e22b15ad9a Detecting content changes for auto-reimport on restart now defaults to 'on'.
We also now pop up a warning explaining that this behaviour might be undesirable when running source control, giving the user the option to disable it.

[CL 2499711 by Andrew Rodham in Main branch]
2015-04-02 07:42:21 -04:00
Jamie Dale
33cd2ff98f Removed call to FindModules from FSourceControlModule
This was older code from before we had modular features, and is no longer required as modular features already load and register themselves.

[CL 2493586 by Jamie Dale in Main branch]
2015-03-27 07:55:23 -04:00
Thomas Sarkanen
e2476ed04a Added implementation of AnnotateFile that takes a changelist
UE-8036 - Add SourceControlHelpers::AnnotateFile that will work with CL number

[CL 2481594 by Thomas Sarkanen in Main branch]
2015-03-17 11:02:58 -04:00
Thomas Sarkanen
cb1ff57300 Fixed SVN status updates taking a long time
Added a hint flag to prevent us from needing to perform whole-repo updates for every multi-file status update (such as those in the content browser). This also keeps the performance improvements we get form querying the workign copy root when 'Submit to source control...' is clicked.

Also added a temp fix for a crash when initializing the file list in the submit dialog where plugin content would not resolve package names correctly. Right now we just display the filename. A proper fix is hopefully incoming from Rob M (listed as UE-11493) which measn we can revert back to using package names.

From this UDN:
https://udn.unrealengine.com/questions/238672/potential-threading-issue-using-subversion-in-edit.html

UE-11466 - SVN status can take a very long time in certain circumstances, and possibly crash

[CL 2473604 by Thomas Sarkanen in Main branch]
2015-03-10 07:41:56 -04:00
Marc Audy
037d007078 Fix shadowed variables
[CL 2471506 by Marc Audy in Main branch]
2015-03-06 15:13:38 -05:00
Saul Abreu
79a26091bf Fixed behavior on FString::ParseIntoArray (muliple delimiters overload) functionality to support optionally culling empty strings. Greatly simplified implementation logic. Output parameter now properly named and taken by reference.
#codereview Steve.Robb, Robert.Manuszewski

[CL 2466824 by Saul Abreu in Main branch]
2015-03-02 15:51:37 -05:00
Richard TalbotWatkin
44e15875cd Added the ability to commit file deletions from the editor.
#jira UE-6304 - Source Control: Add the ability to commit file deletions from the editor
#reviewedby Thomas.Sarkanen

[CL 2446774 by Richard TalbotWatkin in Main branch]
2015-02-16 05:11:32 -05:00
Ben Marsh
7e445df208 [INTEGRATE] Change 2420845 by Mike.Fricker@MFRICKER_G3686_Alpha on 2015/01/27 14:53:16
Enabled Git SCC plugin
	- Marked the Git plugin as "Beta" in the UI
	- Fixed Git.exe folder not using correct path separators
	- Added missing icon for SCC plugin
	- Removed experimental setting for Git SCC plugin (the plugin itself is still 'beta' though)
	- Moved README contents into the source code, cleaned it up a bit

[CL 2425776 by Ben Marsh in Main branch]
2015-01-30 10:30:56 -05:00
Thomas Sarkanen
be75fe1eca Updated revision display to display strings rather than revision indices
API break: added new pure virtual ISourceControlProvider::UsesChangelists()
API break: added new pure virtual ISourceControlState::FindHistoryRevision(const FString&)
API break: added new pure virtual ISourceControlRevision::GetRevision()

Implementing a Git provider requires us to be able to display revisions that are not indices as Git revisions are hashes. This updates the relvant code to allow us to display these revisions correctly.

[CL 2411986 by Thomas Sarkanen in Main branch]
2015-01-20 05:48:14 -05:00
Richard TalbotWatkin
b047ebfd79 Removed source control icon from top-right of MainFrame.
#codereview Matt.Kuhlenschmidt

[CL 2411057 by Richard TalbotWatkin in Main branch]
2015-01-19 12:52:01 -05:00
Thomas Sarkanen
09720d569e Correctly sorted default (None) source control provider to the top of list
https://jira.ol.epicgames.net/browse/UE-7754

[CL 2410740 by Thomas Sarkanen in Main branch]
2015-01-19 06:43:28 -05:00
Steve Robb
0756ef15b9 Delegate comparisons deprecated, lots of other associated code deprecated, and lots of warning fixups:
* Multicast delegate Add* calls now return FDelegateHandles, and Remove* calls are now all deprecated, except for a new Remove function which takes a FDelegateHandle.
* New FConsoleManager::RegisterConsoleVariableSink_Handle and UnregisterConsoleVariableSink_Handle functions which work in terms of FConsoleVariableSinkHandle.
* Timer calls which don't take FTimerHandles are deprecated.
* FTicker::AddTicker now returns an FDelegateHandle and is removed by an overloaded Remove function.
* DEFINE_ONLINE_DELEGATE* macros now define _Handle variants of the Add/Remove functions which return/take handles.
* Various other handle-based registration changes.
* Some unity build fixes.
* Some simplification of delegate code.
* Fixes for lots of existing code to use handle-based registration and unregistration.

#codereview robert.manuszewski

[CL 2400883 by Steve Robb in Main branch]
2015-01-08 09:29:27 -05:00
Dan Hertzka
1ce19a5ffa Full rename of the Slate "active tick" system to "active timer"
[CL 2394301 by Dan Hertzka in Main branch]
2014-12-19 17:44:49 -05:00
Dan Hertzka
c042ddcb94 ---- Merging with SlateDev branch ----
Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI.

While asleep, Slate will skip the Tick & Paint pass for that frame entirely.
- There are TWO ways to "wake" Slate and cause a Tick/Paint pass:
    1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active.
        - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick.
    2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked.

- The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action.
    - Examples include animation, async operations that update periodically, progress updates, loading bars, etc.

- An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before.

- An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick()
    - There are THREE ways to unregister an active tick:
        1. Return EActiveTickReturnType::StopTicking from the active tick function
        2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick()
        3. Destroy the widget responsible for the active tick

- Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar
- There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed.
    - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f)

- The FCurveSequence API has been updated to work with the active tick system
    - Playing a curve sequence now requires that you pass the widget being animated by the sequence
    - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete
    - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end.

[CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00