Commit Graph

618 Commits

Author SHA1 Message Date
Maciej Mroz
c5287f7431 UDS: default values for properties of class type.
#codereview Robert.Manuszewski

[CL 2505582 by Maciej Mroz in Main branch]
2015-04-08 14:54:45 -04:00
PaulEremeeff
c9a246101e PR #1013: Fixing PVS-Studio warnings. (Contributed by PaulEremeeff)
Some files have been omitted and will be submitted with modified corrections

[CL 2505544 by Dan Oconnor in Main branch]
2015-04-08 14:46:25 -04:00
Ori Cohen
109aeb3188 Fix per poly skeletal mesh to not mark its cooked data as single use. UE-13215
Fixes cooking crash in qa-game

#lockdown Zachary.EdgertonJones

[CL 2504029 by Ori Cohen in Main branch]
2015-04-07 13:30:49 -04:00
Bob Tellez
3ae6b2a6c4 #UE4 Change from Mike.Beach to stabilize the build - [UE-13271] Accounting for rediectors that are loaded to replace deferred dependency placeholders.
#lockdown Zachary.EdgertonJones

[CL 2503375 by Bob Tellez in Main branch]
2015-04-06 22:30:49 -04:00
Maciej Mroz
57ecc91715 Minor optimization in FArchiveReplaceObjectRef.
#codereview Steve.Robb

[CL 2501665 by Maciej Mroz in Main branch]
2015-04-03 17:08:25 -04:00
Robert Manuszewski
ddd930af18 SafeLoadError will no longer take format string and behave like printf, remove unnecessary and unused parameter.
[CL 2501052 by Robert Manuszewski in Main branch]
2015-04-03 08:58:33 -04:00
Ben Marsh
885ebb1ed2 Fix deprecation warnings in CIS on Mac.
[CL 2501038 by Ben Marsh in Main branch]
2015-04-03 08:31:34 -04:00
Robert Manuszewski
2858c3acbc Fixing errors and warnings in async loading:
- Fixed PostLoad order on loaded packages
- Fixed imports not being properly streamed due to bad FAsyncPackage setup

[CL 2500049 by Robert Manuszewski in Main branch]
2015-04-02 13:36:57 -04:00
Michael Schoell
ff75341683 Copy pasting collapsed graph nodes with spaces in their name will no longer lose pin connection data.
#jira UE-12437 - Duplicating Collapsed Graph Nodes lose all Pin Links

[CL 2500010 by Michael Schoell in Main branch]
2015-04-02 12:44:34 -04:00
Bob Tellez
8f6e5add36 [AUTOMERGE]
#UE4 Creating script packages for all ustructs before registering them. This handles the case where struct dependencies might cause a ustruct to get registered before the script package that contains it is created.

--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2499954 by Bob.Tellez on 2015/04/02 11:39:48.

[CL 2499955 by Bob Tellez in Main branch]
2015-04-02 11:41:23 -04:00
Robert Manuszewski
73c3b39f0e When creating linker for async package, don't attempt to load packages with an empty name. Removes warning spam when trying to convert NAME_None to a package name.
[CL 2499895 by Robert Manuszewski in Main branch]
2015-04-02 10:57:59 -04:00
Robert Manuszewski
6db0da9c73 Temporarily enable StaticLoadObject in PostLoad but only when it doesn't happen when async loading on the async loading thread
[CL 2499823 by Robert Manuszewski in Main branch]
2015-04-02 10:10:06 -04:00
Jaroslaw Palczynski
bbdab74fb9 UE-13183: DDC build fails due to PKG_InMemoryOnly
#codereview Robert.Manuszewski, Ben.Marsh

[CL 2499686 by Jaroslaw Palczynski in Main branch]
2015-04-02 06:32:02 -04:00
Max Preussner
ed7b70caed Messaging: Removed the WithMessaging type trait and message type pre-cache
#UpgradeNotes:
The TStructOpsTypeTraits<>::WithMessaging type trait is no longer necessary for UStructs intended to be used as messages, because UObject creation and destruction is now thread-safe, and message types no longer need to be pre-cached. You can now use any existing and custom UStruct class in the Engine as messages. I ran the Editor for a couple hours with the profiler enabled and did not have any stability issues. If you experience any Messaging related crashes, please let me know asap, thanks!

#CodeReview: robert.manuszewski, peter.sauerbrei, chris.gagnon, jason.bestimt, michael.trepka, nicholas.davies

[CL 2499164 by Max Preussner in Main branch]
2015-04-01 17:35:20 -04:00
Mike Beach
f5bf61c620 [UE-12888] Preventing missing interfaces from triggering a check() crash in deferred dependency loading.
[CL 2499055 by Mike Beach in Main branch]
2015-04-01 16:28:34 -04:00
Mike Beach
aefdbd6586 Fixing fallout from CL 2498249 (linkers are no longer UObjects); renaming a missed ULinkerLoad var to FLinkerLoad.
[CL 2498701 by Mike Beach in Main branch]
2015-04-01 11:44:02 -04:00
Robert Manuszewski
4643237085 Making sure objects that have already been fully loaded don't get loaded again.
[CL 2498695 by Robert Manuszewski in Main branch]
2015-04-01 11:31:19 -04:00
Jamie Dale
5ad4d3a2d1 Fixed UAssetObjectProperty not being able to import asset references in the form "Texture2D'/Game/Thing'"
UE-13110 - Regression: DataTables: Importing columns of Asset references doesn't work with native FTableRowBase

It was passing the nested object path into UPropertyHelpers::ReadToken without skipping over the opening ' (like UObjectPropertyBase does), which meant that you ended up with an imported object path of something like "Texture2D'" rather than "Texture2D'/Game/Thing'".

This broke data table importing when using a TAssetPtr property. This wasn't an issue when using User Defined Structs as they use a UObjectPropertyBase when referring to other objects.

ReviewedBy Andrew.Rodham

[CL 2498502 by Jamie Dale in Main branch]
2015-04-01 08:53:55 -04:00
Mike Fricker
114458bf0f Clang warning fixes: Fixed missing 'override' specifiers
- Also removed some unreferenced functions that adding 'override' revealed

PR #1002 -- Thank you, Omar007!

[CL 2498415 by Mike Fricker in Main branch]
2015-04-01 07:20:55 -04:00
Robert Manuszewski
9d9048e93d Removed unnecessary #pragma once
[CL 2498343 by Robert Manuszewski in Main branch]
2015-04-01 05:39:31 -04:00
Robert Manuszewski
ec65045bbd Fixing CIS on the Mac
[CL 2498277 by Robert Manuszewski in Main branch]
2015-04-01 03:46:14 -04:00
Robert Manuszewski
8fe5db30e3 Merging UE4-Streaming to UE4
- Linkers are no longer UObjects. Renamed ULinker, ULinkerLoad and ULinkerSave to FLinker, FLinkerLoad, FLinkerSave respectively
- Linkers are now associated with their UPackages
- Linker version is now stored in UPackages
- Async loading is now performed on a separate thread (if platform supports it and only in cooked builds), with the exception of PostLoad which is still done on the game thread
- Added UObject::IsPostLoadThreadSafe() function to determine if PostLoad is thread safe and can be executed on the async loading thread (defaults to false)
- UObject creation is now thread safe and can be performed on any thread
- Move many of the linker/UObject globals into FUObjectThreadContext (TLS)
- GetAsyncLoadPercentage() now takes PostLoad into account
- More async loading stats
- Added AtomicallySetFlags/ClearFlags to UObject
- Made FModuleManager thread safe.
- Added FGCScopeGuard as means of preventing GC from executing from non-game thread
- It's possible to disable async loading thread through ini settings.
- Cancelling async loading will now also trigger GC
- Implemented a basic version of async streaming priorities.

Change 2410813 by Mikolaj Sieluzycki:
	Change Sleep in while loop to ConditionalSleep in FMultiReaderSingleWriterGT
Change 2410734 by Mikolaj Sieluzycki:
	Make FModuleManager thread safe.
Change 2399879 by Mikolaj Sieluzycki:
	Basic version of async streaming priorities.
Change 2410707 by Mikolaj Sieluzycki:
	Implement conditional and no stat versions of sleep.
Change 2371939 by Robert Manuszewski:
	Async Loading Improvements: adding more stats (accumulators)
Change 2372403 by Robert Manuszewski:
	Fixing compile errors when STATs are not enabled
Change 2371526 by Robert Manuszewski:
	AsyncLoading Improvements (WIP)
Change 2407198 by Robert Manuszewski:
	Re-implementing delegate fixes for Async Loading
Change 2407425 by Robert Manuszewski:
	Re-implementing cancelling async loading in the async loading branch.
Change 2484362 by Robert Manuszewski:
	Making it possible to disable async loading thread through ini settings.
Change 2484744 by Robert Manuszewski:
	Minimizing locks in GC and other threads when handling UObjects
Change 2480190 by Robert Manuszewski:
	Fixing infinite stall after canceling async loading in non-cooked builds
Change 2484268 by Robert Manuszewski:
	Fixing crash when allocating permanent object pool.
Change 2489761 by Robert Manuszewski:
	Fixing BulkData using linker archive on the main thread even if the linker was created on the async loading thread.
Change 2493624 by Robert Manuszewski:
	Cancelling async loading will now also trigger GC
Change 2487881 by Robert Manuszewski:
	Making ShaderIdMap operations thread safe.
Change 2488067 by Robert Manuszewski:
	Fixing GetAsyncLoadPercentage. It will now also respect PostLoad.
Change 2458640 by Robert Manuszewski:
	Fixing crash in PIE
Change 2458825 by Robert Manuszewski:
	Fixing a few crashes when streaming and the package is missing.
Change 2476935 by Robert Manuszewski:
	Fixing crash while async loading ANavigationData
Change 2477361 by Robert Manuszewski:
	Fixing crashes in cooked game
Change 2480095 by Robert Manuszewski:
	Making FUObjectArray more thread safe
Change 2475443 by Robert Manuszewski:
	Re-enabling single-threaded async loading path for the editor and platforms that don't support multithreading.
Change 2475458 by Robert Manuszewski:
	Making sure bulk data is only loaded on a separate thread if it's not being loaded on the async loading thread.
Change 2476661 by Robert Manuszewski:
	Fixing FlushAsyncLoading not flushing everything
Change 2401089 by Jaroslaw Surowiec:
	Core - Added AtomicallySetFlags/ClearFlags to UObject, added a comment to ThisThreadAtomicallyClearedRFUnreachable

[CL 2498249 by Robert Manuszewski in Main branch]
2015-04-01 03:03:18 -04:00
Maciej Mroz
995cf62f57 UE-12889 Crashes when tries to send PointerEvent thru Event dispatcher in widget
[CL 2498112 by Maciej Mroz in Main branch]
2015-03-31 22:11:44 -04:00
PaulEremeeff
3d878d5a79 PR #996: Fixing PVS-Studio warnings (Contributed by PaulEremeeff)
I have reviewed each change carefully, but it is a large change and I could have missed something! Here is a summary of the types of changes in this CL:
 * Made nullptr checks consistent (the plurality of the changes are of this type)
 * Completed switch statements (IE, switch did not explicitly handle default case, but had unhandled enum entries - this is the second most popular type of fix)
 * Removed unused variables
 * Removed redundant initializations
 * WidgetNavigationCustomization.cpp was fixed by the owner
 * integers converted to floats where result was stored in a float
 * Removed redundent null checks (e.g. before delete statements)
 * Renamed variables to prevent non-obvious shadowing
 * Fixed use of bitwise & when checking for equality to an enum entry (which is often 0)
 * Fixes for some copy paste errors (e.g. FoliageEdMode.cpp)

[CL 2498053 by Dan Oconnor in Main branch]
2015-03-31 20:12:31 -04:00
Mike Beach
c5e41a0e6b [UE-12953] Fixing it so superclass CDO defaults don't stomp fixed-up self (CDO) references.
#codreview Dan.Oconnor

[CL 2497416 by Mike Beach in Main branch]
2015-03-31 13:25:27 -04:00