Commit Graph

31 Commits

Author SHA1 Message Date
Nick Darnell
bbdf81168a UMG/BP - UE-16315 - You can now help the blueprint utility functions create the correct blueprint for you. Previously all classes created a standard blueprint, now it asks the compiler module if any registered IBlueprintCompiler's have special blueprint classes for a particular UObject class when creating new blueprint assets. This fixes the problem of the new asset buttons creating UBlueprints for UUserWidget subclasses, instead of UWidgetBlueprints.
[CL 2572438 by Nick Darnell in Main branch]
2015-06-01 10:06:20 -04:00
Nick Darnell
5347fe968e BP/UMG - Updating the IBlueprintCompiler interface to include the compiler options passed in for Pre/Post compile. Improving the logic in the UMG module to correctly reregister the Widget Components. Also reducing when it reregisters avoiding cases where it's unnessesary (skeletal compile..etc).
[CL 2556997 by Nick Darnell in Main branch]
2015-05-19 10:34:42 -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
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
Nick Darnell
d445c917d4 UMG - Adding new settings to the editor for the widget designer. Allows users to configure a few options for the widget designer. Options are under Editor Preferences > Content Editors > Widget Designer
#codereview Cody.Haskell

[CL 2493800 by Nick Darnell in Main branch]
2015-03-27 10:41:56 -04: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
Nick Darnell
cbd03a5220 UMG - The component re-registering now waits until all compiling finishes for cases when it's recursive.
#codereview Maciej.Mroz

[CL 2400117 by Nick Darnell in Main branch]
2015-01-07 14:49:28 -05:00
Maciej Mroz
7d1a4ce2c6 Fixed a crash when FUMGEditorModule::PostCompile is called 2 times (without PreCompile)
#codereview Nick.Darell, Nick.Whiting

[CL 2399730 by Maciej Mroz in Main branch]
2015-01-07 08:06:58 -05:00
Nick Darnell
a20e2e58f3 UE-6596 - Fixing an editor crash and memory corruption issue that occurs when UMG 3D Components have been placed in the level and the widget they spawn is recompiled with certain changes. Restructuring the way external blueprint compilers are registered so that they can properly wait until all compiling has finished to do re-registering of components...etc.
[CL 2388949 by Nick Darnell in Main branch]
2014-12-15 15:31:42 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Nick Darnell
ef784d0f11 UMG - Preventing crash on recompile. Doesn't refresh all viewports unless the editor is available.
[CL 2367467 by Nick Darnell in Main branch]
2014-11-21 10:06:16 -05:00
Cody Haskell
ffb1e129e3 #UE4
- Fixing crash with "-game" when running the Editor

#codereview Nick.Darnell

[CL 2361953 by Cody Haskell in Main branch]
2014-11-17 10:57:10 -05:00
Matt Kuhlenschmidt
aae9132f07 Fixed umg widget recompiles not updating 3d components in the world when not in realtime rendering mode
[CL 2360588 by Matt Kuhlenschmidt in Main branch]
2014-11-14 15:43:39 -05:00
Eric Newman
65fa5864ff Fortnite Dev > Main Integration
Merged CL# 2352617 using UE4-Fortnite-To-UE4

[CL 2355906 by Eric Newman in Main branch]
2014-11-11 10:35:51 -05:00
Dan Hertzka
1041dee1fc - UUMGComponent renamed to UWidgetComponent
- Widget components support opaque/translucent, one/two-sided, and specifying a background color
- The background color is used as the render target clear color for the front of the UI and the solid color of the back

#codereview Matt.Kuhlenschmidt

[CL 2338952 by Dan Hertzka in Main branch]
2014-10-23 15:36:36 -04:00
Dan Hertzka
c850a8e4c4 UMG 3D first pass
#codereview nick.atamas, matt.kuhlenschmidt

[CL 2336084 by Dan Hertzka in Main branch]
2014-10-21 14:59:48 -04:00
Mikolaj Sieluzycki
e333288ef6 Prepare UMGEditor headers for private PCH cleanup.
#codereview Robert.Manuszewski

[CL 2329920 by Mikolaj Sieluzycki in Main branch]
2014-10-15 05:21:18 -04:00
Mikolaj Sieluzycki
050cf02d86 UMGEditor private PCH cleanup.
#codereview Robert.Manuszewski

[CL 2321071 by Mikolaj Sieluzycki in Main branch]
2014-10-07 07:01:31 -04:00
Matt Kuhlenschmidt
ecf951a932 Added ability to animate slate render transforms in sequencer
[CL 2291025 by Matt Kuhlenschmidt in Main branch]
2014-09-09 12:34:52 -04:00
Nick Darnell
dceb9f07cf UMG - Adding render transforms to the base widget class. Beginning work on the designer interface for them. Lots of style refactoring for a few widgets to make it far easier to change their appearance at runtime. Adding slate utility functions to accessing geometry data in blueprints. The math struct customization can now apply min/max UI slider clamps on their components. Disabling the preview on the slate brush customization. Will re-introduce later when we can provide instanced struct customizations. The thumbnails in the details panel now have a hover effect to indicate that they are double clickable. Adding a Delta metadata on numeric properties so that if you want the slider to move in specific increments you can now.
[CL 2285217 by Nick Darnell in Main branch]
2014-09-04 17:26:33 -04:00
Nick Darnell
7f7c2d28b3 UMG - Still experimental but removing the experimental flag and always loading UMG.
[CL 2254931 by Nick Darnell in Main branch]
2014-08-13 14:04:16 -04:00
Nick Darnell
c2ad7fde4b UMG - Complete break from the hack to patch UMG into the original Blueprint editor. This fixes the crash that occurs with running UMG and Persona. UMG now works like Persona, completely new modes for each tab, and custom tab UI.
[CL 2155066 by Nick Darnell in Main branch]
2014-07-05 23:39:08 -04:00
Nick Darnell
fd46d729c9 UMG - the '-umg' flag will no longer work. UMG must be enabled using the UMG setting in the experimental area of the editor settings.
[CL 2130433 by Nick Darnell in Main branch]
2014-07-03 09:53:45 -04:00
Matt Kuhlenschmidt
c88d061dab UMG - Added margin track and changed a few things to support new track types being added to sequencer without needing to modify sequencer internals.
[CL 2112057 by Matt Kuhlenschmidt in Main branch]
2014-06-20 14:28:07 -04:00
Jaroslaw Palczynski
ebce413232 UE4 Refactoring. Changed OVERRIDE and FINAL macros to keywords override and final.
[CL 2104397 by Jaroslaw Palczynski in Main branch]
2014-06-13 06:14:46 -04:00