Commit Graph

151 Commits

Author SHA1 Message Date
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
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
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
Michael Noland
73d8625fbb Editor: Added sanitization to the asset name in addition to the package name in FAssetTools::CreateUniqueAssetName
#codereview bob.tellez

[CL 2496012 by Michael Noland in Main branch]
2015-03-30 15:21:59 -04:00
Jamie Dale
6af0f20199 Data table improvements
UETOOL-281 - Improve data table workflows
UETOOL-282 - Data tables cannot be exported as CSV
UETOOL-289 - Data tables cannot represent arrays in their CSV data

Split up the util functions into their own file (DataTableUtils).
Split up the CSV exporting/importing into its own file (DataTableCSV).
Split up the JSON exporting/importing into its own file (DataTableJSON).
Added support for exporting/importing/displaying array properties.
Added the ability to export a data table as CSV.
Added the ability to import a data table from JSON.

[CL 2494005 by Jamie Dale in Main branch]
2015-03-27 12:29:42 -04:00
Chris Wood
fea90a7330 Importing multiple assets with the same name no longer crashes the editor.
[UE-1102] - CRASH: Importing an FBX and TGA at the same time causes the editor to crash

[CL 2493461 by Chris Wood in Main branch]
2015-03-27 05:31:50 -04:00
Dan Oconnor
f4d3d65662 PR #968: Fixing PVS-Studio warnings (Contributed by PaulEremeeff)
These can be generally described as removing redundant condition checks, using logical operators instead of bitwise operators, removal of redundant parenthesis, and consistent use of pragma push and pragma pop. There is very little observable behavior change in this CL.

Changes that required further review are pending in 2489753

[CL 2489804 by Dan Oconnor in Main branch]
2015-03-24 15:51:28 -04:00
Dan Hertzka
4b350ffd57 [UETOOL-257] - Added an AssetTypeActions for the procedural foliage spawner
[CL 2488354 by Dan Hertzka in Main branch]
2015-03-23 16:50:59 -04:00
Dan Oconnor
06806b2237 PR #946: Fixing PVS-Studio warning (Contributed by PaulEremeeff)
https://github.com/EpicGames/UnrealEngine/pull/946

I have gone through these changes and verified that whatever behavior change they cause could only be an improvement (generally they just prevent possible access to nullptrs, but there are also some style corrections). A separate changelist is being prepared that includes changes that could unintentionally caues behavior change for the worse.

[CL 2486801 by Dan Oconnor in Main branch]
2015-03-20 17:18:31 -04:00
Andrew Rodham
b2d730ea85 Fixed double-slash error in the asset rename manager when it was supplied with a package path with a trailing slash
[CL 2482963 by Andrew Rodham in Main branch]
2015-03-18 09:46:02 -04:00
bruce nesbit
e50edce851 Fixed crash creating a blueprint from a CPP if no destination folder is selected
#codereview Jamie.Dale

[CL 2479875 by bruce nesbit in Main branch]
2015-03-16 03:42:35 -04:00
Jamie Dale
3fcddd48d5 Opening a class via the Content Browser now opens the source file as well as the header file
[CL 2475462 by Jamie Dale in Main branch]
2015-03-11 14:35:44 -04:00
Marc Audy
f2bda7c975 Fix shadowed variables
[CL 2468158 by Marc Audy in Main branch]
2015-03-03 17:20:43 -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
Rolando Caloca
e463935a85 UE4 - Save generated LODs for static meshes
#codereview Nick.Penwarden

[CL 2454746 by Rolando Caloca in Main branch]
2015-02-21 13:20:31 -05:00
Jamie Dale
8cec2ba11f Unified some terminology between the CB and SCS editor
UE-9405 - Update Blueprint option txt and tooltip to match SCS create child option

[CL 2453239 by Jamie Dale in Main branch]
2015-02-20 10:40:40 -05:00
Matthew Griffin
f785c97e16 [INTEGRATE] Change 2443487 by Matt.Kuhlenschmidt@matt_kuhlenschmidt_main on 2015/02/12 10:49:16
Changed c++ thumbnail color

	#lockdown mike.fricker

[CL 2449839 by Matthew Griffin in Main branch]
2015-02-18 05:06:47 -05:00
Jamie Dale
44f3a14bb1 Added the ability to derive a Blueprint from a C++ class via the Content Browser
UE-9293 - Should offer 'Create BP' when right clicking on C++ class in Browser

There is now a "Create Blueprint class based on X" option alongside the "Create C++ class derived from X" option when viewing the context menu for a C++ Class in the Content Browser. This allows you to create a new Blueprint asset from C++ classes that are marked as blueprintable.

[CL 2447345 by Jamie Dale in Main branch]
2015-02-16 12:49:48 -05:00
Matthew Griffin
246edb4781 [INTEGRATE] Change 2435332 by Andrew.Rodham@AndrewRodham_4.7 on 2015/02/06 09:25:07
Generalized "Add Code to Project" dialog to allow creation of both c++ and blueprint class types.

	The add component option when blueprintable components is enabled, now opens up this dialog rather than the parent class picker.

	UE-8491 - IWCE: New C++ Component and New Blueprint Component should prompt you for a component type to subclass

[CL 2446735 by Matthew Griffin in Main branch]
2015-02-16 04:29:11 -05:00
Matthew Griffin
a6913887a2 [INTEGRATE] Change 2435229 by bruce.nesbit@bnesbit_Releases on 2015/02/06 08:09:07
Fixed issue with editor layout when inserting feature pack during editor startup
	(Fixes Jira 9223)

[CL 2446729 by Matthew Griffin in Main branch]
2015-02-16 04:26:14 -05:00
Mikolaj Sieluzycki
52c71176ab Rename StaticConstructObject to StaticConstructObject_Internal and use it only in CoreUObject module. Change rest of usages to NewObject.
#codereview Robert.Manuszewski

[CL 2437731 by Mikolaj Sieluzycki in Main branch]
2015-02-09 05:43:45 -05:00
Mikolaj Sieluzycki
fa01cacb6c Trim down the amount of UObject constructors.
#codereview Robert.Manuszewski

[CL 2429641 by Mikolaj Sieluzycki in Main branch]
2015-02-03 05:40:57 -05:00
Jamie Dale
e3c4df227b Fixed bad logic in FAssetTypeActions_Font::ExecuteReimport
UE-8477 - Can't reimport offline cached font asset

[CL 2421946 by Jamie Dale in Main branch]
2015-01-28 06:42:04 -05:00
Ben Marsh
33d3c6409a [INTEGRATE] Change 2419667 by Michael.Noland@mnoland-T2784-Reference on 2015/01/26 19:59:40
Blueprint Editor: Change messaging to consistently say "Class Defaults" everywhere when editing the CDO
	- Updated BP Editor and Persona to never call anything "Blueprint Defaults"
	- Removed dead method GetDefaultEditorTitle
	[UE-8164]

[CL 2419781 by Ben Marsh in Main branch]
2015-01-26 20:35:59 -05:00
Ben Marsh
8c040f96f4 [INTEGRATE] Change 2418630 by Jamie.Dale@Pitbull_JDaleReleases on 2015/01/26 10:50:03
Added the concept of "ClassTypeActions" for class asset types (C++ classes and Blueprints)

	UE-7970 - Add small 'play' button to EditorTutorial asset thumbnail

	Class asset types (C++ classes and Blueprints) are now able to provide actions that should be performed based upon the type of class the asset contains, rather than the asset class itself (which is always "Class" or "Blueprint").

	This will allow the editor tutorials to provide class type actions for Blueprints that derive from "EditorTutorial" without requiring this information to be put into the asset type actions for Blueprint assets.

	ReviewedBy Thomas.Sarkanen

[CL 2419736 by Ben Marsh in Main branch]
2015-01-26 20:21:39 -05:00