Commit Graph

22 Commits

Author SHA1 Message Date
Robert Manuszewski
f9cdeb96cd Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2717513 on 2015/10/06 by Robert.Manuszewski@Robert_Manuszewski_EGUK_M1

	GC and WeakObjectPtr performance optimizations.

	- Moved some of the EObjectFlags to EInternalObjectFlags and merged them with FUObjectArray
	- Moved WeakObjectPtr serial numbersto FUObjectArray
	- Added pre-allocated UObject array

Change 2716517 on 2015/10/05 by Robert.Manuszewski@Robert_Manuszewski_EGUK_M1

	Make SavePackage thread safe UObject-wise so that StaticFindObject etc can't run in parallel when packages are being saved.

Change 2721142 on 2015/10/08 by Mikolaj.Sieluzycki@Dev-Core_D0920

	UHT will now use makefiles to speed up iterative runs.

Change 2726320 on 2015/10/13 by Jaroslaw.Palczynski@jaroslaw.palczynski_D1732_2963

	Hot-reload performance optimizations:
	1. Got rid of redundant touched BPs optimization (which was necessary before major HR fixes submitted earlier).
	2. Parallelized search for old CDOs referencers.

Change 2759032 on 2015/11/09 by Graeme.Thornton@GThornton_DesktopMaster

	Dependency preloading improvements
	 - Asset registry dependencies now resolve asset redirectors
	 - Rearrange runtime loading to put dependency preloads within BeginLoad/EndLoad for the source package

Change 2754342 on 2015/11/04 by Robert.Manuszewski@Robert_Manuszewski_Stream1

	Allow UnfocusedVolumeMultiplier to be set programmatically

Change 2764008 on 2015/11/12 by Robert.Manuszewski@Robert_Manuszewski_Stream1

	When cooking, don't add imports that are outers of objects excluded from the current cook target.

Change 2755562 on 2015/11/05 by Steve.Robb@Dev-Core

	Inline storage for TFunction.
	Fix for delegate inline storage on Win64.
	Some build fixes.
	Visualizer fixes for new TFunction format.

Change 2735084 on 2015/10/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	CrashReporter Web - Search by Platform
	Added initial support for streams (GetBranchesAsListItems, CopyToJira)

Change 2762387 on 2015/11/11 by Steve.Robb@Dev-Core

	Unnecessary allocation removed when loading empty files in FFileHelper::LoadFileToString.

Change 2762632 on 2015/11/11 by Steve.Robb@Dev-Core

	Some TSet function optimisations:

	Avoiding unnecessary hashing of function arguments if the container is empty (rather than the hash being empty, which is not necessarily equivalent).
	Taking local copies of HashSize during iterations.

Change 2762936 on 2015/11/11 by Steve.Robb@Dev-Core

	BulkData zero byte allocations are now handled by an RAII object which owns the memory.

Change 2765758 on 2015/11/13 by Steve.Robb@Dev-Core

	FName::operator== and != optimised to be a single comparison.

Change 2757195 on 2015/11/06 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	PR #1305: Improvements in CrashReporter for Symbol Server usage (Contributed by bozaro)

Change 2760778 on 2015/11/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	PR #1725: Fixed typos in ProfilerCommon.h; Added comments (Contributed by BGR360)

	Also fixed starting condition.

Change 2739804 on 2015/10/23 by Robert.Manuszewski@Robert_Manuszewski_Stream1

	PR #1470: [UObjectGlobals] Do not overwrite instanced subobjects with ones from CDO (Contributed by slonopotamus)

Change 2744733 on 2015/10/28 by Steve.Robb@Dev-Core

	PR #1540 - Specifying a different Saved folder at launch through a command line parameter

	Integrated and optimized.

#lockdown Nick.Penwarden

[CL 2772222 by Robert Manuszewski in Main branch]
2015-11-18 16:20:49 -05:00
John Barrett
16716449dc Non-unity compile fixes.
[CL 2696476 by John Barrett in Main branch]
2015-09-17 21:11:55 -04:00
John Barrett
7334c6c2ac Added better detection of shader compilation (bad for unit tests), and fixed a race condition which randomly broke some unit tests - along with general refactoring.
Full set of changes:
- Refactored all child-process related unit test code, into a new ProcessUnitTest class, to allow use with non-UE4 processes
- Added better detection of ShaderCompileWorker and shader compilation in general, and made unit tests more tolerant of this (but spam an error message, stating that shaders should be built independently)
- Fixed race condition, where NUTActor control-channel messages, could be executed without an Owner - randomly breaking some unit tests

[CL 2695700 by John Barrett in Main branch]
2015-09-17 14:54:44 -04:00
Mike Fricker
65e7557229 [INTEGRATE] Compile times: Working on eliminating <Module>Classes.h header files
- This checkin eliminates use of all <Module>Classes.h files in Engine, with the exception of UnrealEdClasses.h
- Compilation speed-ups for all of the modules affected, now that they are including what they use
- No effective changes other than C++ includes

[CL 2686054 by Mike Fricker in Main branch]
2015-09-10 08:48:03 -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
Dmitry Rekman
a9221dfcb5 Matching LOCTEXT_NAMESPACE #def/#undef
- Also changed some #undef's to be more uniform

[CL 2665419 by Dmitry Rekman in Main branch]
2015-08-23 00:57:30 -04:00
Ben Marsh
3b30d23ec5 Move GEngineVersion into FEngineVersion::Current(), and GCompatibleWithEngineVersion to FEngineVersion::CompatibleWith().
#platformnotify Josh.Adams

[CL 2655102 by Ben Marsh in Main branch]
2015-08-13 15:44:02 -04:00
Jeff Campeau
cadd7544f9 NetcodeUnitTest disabling code for VS2015
#codereview john.barrett

[CL 2648172 by Jeff Campeau in Main branch]
2015-08-07 13:52:40 -04:00
buildmachine
ce42430211 Code documentation from CL#2636592
[CL 2636758 by buildmachine in Main branch]
2015-07-29 07:47:34 -04:00
John Barrett
8331a99bfa Compatability fixes and minor changes.
Full changes:
- Fixed error reading the minor engine version, which broke the netcode in the transition from 4.9 to 4.10
- Added '-UnitTestClientDebug' commandline parameter, which launches unit test clients with a valid render interface, to allow interaction when debugging
- Added a 'MaxAutoCloseCount' config variable, to limit the number of times a unit test can be auto-aborted, before the unit test tool refuses to run it again

- Fixed rare infinite recursion in unit test log window search
- Added unit test failure condition, when trying to send an RPC when the net buffers are saturated
- Increased the wait time to 2 minutes before auto-aborting, when a unit test crashes, due to long wait time for crash stack dump sometimes
- Added better notification of unit tests aborts, in the status window
- Prevent net connections timing out in developer mode
- Updated comments to use VAX hashtags

[CL 2634646 by John Barrett in Main branch]
2015-07-27 17:39:15 -04:00
Ben Marsh
a5f534451b Remove the ENGINE_VERSION define from Version.h and ObjectVersion.cpp; it's superceded by GEngineVersion. EngineVersion.cpp now defines the constants GEngineVersionChangelist and GCompatibleWithEngineVersionChangelist, which are used to construct GEngineVersion and GCompatibleWithEngineVersion. Modifying those constants allows updating the engine version separately to the defines used for resource files (allowing UGS to update the version number without triggering all files to be relinked).
[CL 2625344 by Ben Marsh in Main branch]
2015-07-18 16:57:53 -04:00
Jeff Campeau
fbe904a142 Shadow variable fixes
[CL 2618838 by Jeff Campeau in Main branch]
2015-07-13 16:32:19 -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
Richard Hinckley
b50635beee Enum comment fixes. First batch.
[CL 2582903 by Richard Hinckley in Main branch]
2015-06-10 12:54:31 -04:00
James Knight
81d51c52b3 Updating UnitTestNetConnection.h to latest revision with my previous changes applied
[CL 2567914 by James Knight in Main branch]
2015-05-27 22:44:53 -04:00
James Knight
bc28e68fb9 Fix for previous submit
[CL 2567814 by James Knight in Main branch]
2015-05-27 21:17:09 -04:00
James Knight
c5742903d4 Fix for previous submit
[CL 2567808 by James Knight in Main branch]
2015-05-27 21:09:20 -04:00
James Knight
789a0a27ef Moved enums that were only used for NetConnections from CoreNet.h to NetConnection.h. Allowed InitConnectiont to set the max packet size. Any specified max packet sizes greater than the specified MAX_PACKET_SIZE will default to MAX_PACKET_SIZE.
[CL 2567692 by James Knight in Main branch]
2015-05-27 19:30:49 -04:00
John Barrett
5d70d237c5 Merging from /usr/John_Barrett: Added UE4 UScript/Blueprint Virtual Machine reflection class, new stack tracing and log tracing code, fixed and verified fixes for many broken unit tests; full list of changes:
- Added class for allowing reflection of UObjects/UStructs/UProperties/etc., so that properties can be referenced dynamically by string, instead of statically
     - Allows game code to be referenced without direct linking
     - Allows unit tests to break without blocking compiles, allows easier backwards compatability, and easier archiving of old unit tests
     - Very useful for quick debug code; may tie it into the console with autocomplete at some stage
     - Example:
          FGuid* EntryItemGuidRef = (FGuid*)(void*)((FVMReflection(UnitPC.Get())->*"WorldInventory"->*"Inventory"->*ItemsPropName)["FFortItemEntry"][0]->*"ItemGuid")["FGuid"];

- Added a new stack tracing manager, which can be used by unit tests through GTraceManager, or through the whole engine with the StackTrace console command (see UnitTestManager.cpp for full command list)
     - Allows conditional/filtered stack traces to be inserted anywhere into the code (categorized by name), for debugging purposes
     - Once-off stack trace example:
          GEngine->Exec(NULL, TEXT("StackTrace TraceName"));
     - Multiple/accumulated stack trace examples:
          GEngine->Exec(NULL, TEXT("StackTrace TraceName Add -Log"));
          GEngine->Exec(NULL, TEXT("StackTrace TraceName Dump"));

- Added a log hook for the stack tracing manager, and a LogTrace command, which allows stack traces to be dumped whenever a specific log is encountered (see UnitTestManager.cpp for full command list)
     - Example, for debugging the cause of a disconnect:
          "LogTrace AddPartial UNetConnection::Close: Name: IpConnection_"

- Added -UnitTestCap=x commandline parameter, to limit the maximum number of unit tests that can run at once

- Added AllowedClientActors/AllowedClientRPCs to ClientUnitTest, to allow better whitelisting of accepted actors/RPC's

- Fixed many broken unit tests

- Adjusted actor replication blocking hook, to allow blocking of all instances of actor replication, instead of just actor channels

- Made console command results, auto-focus the Console tab, if the current tab won't display the results

- Fixed blocking automation testing, when the current game project doesn't support unit tests (doesn't have a unit test environment setup)

- Disable recursive killing of unit test child processes, while TerminateProc has a bug that kills all killable Windows processes

- Updated crash callstack detection

[CL 2565239 by John Barrett in Main branch]
2015-05-26 13:35:34 -04:00
James Knight
9ead53ef78 Added LogRep and LogRepTraffic for replication specific UE_LOG messages
UE-2098

#codereview ryan.gerleve, john.pollard

[CL 2553763 by James Knight in Main branch]
2015-05-15 18:08:17 -04:00
Josh Markiewicz
d59491e91b [AUTOMERGE]
#UE4 - const FUniqueNetId / FOnlinePartyId changes

--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2538253 by Josh.Markiewicz on 2015/05/05 17:39:19.

[CL 2540329 by Josh Markiewicz in Main branch]
2015-05-06 19:56:02 -04:00
Nick Whiting
4b655cb4fd #ue4 Fix for SimpleHMD build break. Updated to conform to new API
[CL 2537858 by Nick Whiting in Main branch]
2015-05-05 14:50:14 -04:00