Commit Graph

77 Commits

Author SHA1 Message Date
Dan Oconnor
d7521f0a9c [UEBP-60] Removed needless reinstancing of skeleton generated class
[CL 2597778 by Dan Oconnor in Main branch]
2015-06-23 16:20:10 -04:00
Dan Oconnor
b4602f7966 [UEBP-60] Skipping a skeleton compile class that was redundant, also adding more accurate timer than GBlueprintCompileTime, which missed some compile related stuff.
[CL 2582206 by Dan Oconnor in Main branch]
2015-06-09 21:35:23 -04:00
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
Dan Oconnor
859bfdc97e Skipping skeleton class compile when doing the bytecode compile. In all existing codepaths the skeleton class is up to date. Saves 3-5% of compile on load test in QAGame
[CL 2564404 by Dan Oconnor in Main branch]
2015-05-25 20:44:22 -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
Dan Oconnor
c827243c08 [UE-15155] We were not recompiling when blueprints were in the error state, which can happen when blueprints depend on eachother. This would cause reinstancing not to occur when it needed to, and we did a bytecode compile that generated a new (working) blueprint, but there were old instances that had been stubbed out. Typical mismatch between type information and instance data...
#codereview Maciej.Mroz, Nick.Darnell

[CL 2553904 by Dan Oconnor in Main branch]
2015-05-15 20:39:03 -04:00
Maciej Mroz
ee6d70dfa1 UE-13981 Input pins of BP node are not updated after a hot reload
#codereview Robert.Manuszewski

[CL 2525773 by Maciej Mroz in Main branch]
2015-04-25 16:18:36 -04:00
Maciej Mroz
a7f7bd11f8 Recompile dependent blueprints
UE-11941 When an event on a component that is called from an actor's constructor is deleted, the editor crashes

#codereview Dan.Oconnor, Phillip.Kavan

[CL 2518232 by Maciej Mroz in Main branch]
2015-04-20 16:46:04 -04:00
Mikolaj Sieluzycki
a96989f147 Add includes to files to remove the need of including Engine.h.
[CL 2508000 by Mikolaj Sieluzycki in Main branch]
2015-04-10 03:30:54 -04:00
Maciej Mroz
2cd80b0b24 UE-7888 Get and Set nodes for variables from a BP's parent class will not compile without a reference to Self (4.8)
#codereview Michael.Schoell, Mike.Beach, Phillip.Kavan

[CL 2502165 by Maciej Mroz in Main branch]
2015-04-04 17:50:43 -04:00
Maciej Mroz
d0d9b399d8 UE-12003 Crash Reparenting Blueprint
Super class of Skel class isn't changed without reinstancing (the proper layout is necessary for CDO).
FBlueprintCompileReinstancer cannot be entered twice - the could happen after a compiler error.

#codereview Michael.Schoell

[CL 2500640 by Maciej Mroz in Main branch]
2015-04-02 20:06:03 -04:00
Michael Schoell
49894f31ae Fixing an issue with not properly re-linking child skeleton classes after re-instancing due to no child classes being found.
[CL 2498715 by Michael Schoell in Main branch]
2015-04-01 12:00:31 -04:00
Michael Schoell
83dee0db8d Skeleton classes will re-bind and link to their parent BP's skeleton class after reinstancing. Skeleton classes will no longer have a super struct of a REINST class after their parent BP has been structurally modified.
#jira UE-7888 - Get and Set nodes for variables from a BP's parent class will not compile without a reference to Self (4.8)

#coderview Nick.Whiting, Maciej.Mroz

[CL 2471530 by Michael Schoell in Main branch]
2015-03-06 15:37:29 -05:00
Maciej Mroz
f06b3f375c UE-5552 Compiling specific blueprint crashes editor
Reinstancer created after an kismet compiler error check BytecodeOnly flag.

#coderview Nick.Whiting, Mike.Beach

[CL 2471507 by Maciej Mroz in Main branch]
2015-03-06 15:14:40 -05:00
Maciej Mroz
934d3ed529 UE-9030 Compiling a BP super class (with a child instance in the level) crashes with REINST class mismatch
All children classes are recompiled before any object is reinstanced.

#codereview Nick.Whiting, Robert.Manuszewski

[CL 2451921 by Maciej Mroz in Main branch]
2015-02-19 13:32:52 -05:00
Dan Oconnor
ae3f3bbaf9 Submitting fix made to fortnite in 2388971 and requested in github PR#702. To reproduce the issue try the following in FN at the current revision:
1)      Start a new game with -activities on the command line (no need to do dedicated û just uncheck that when creating the game)
2)      Go into the hex map and type ôUnlockAllZonesö
3)      Play any map that is not the first hex

JoelCrabbe should be able to provide details, or I can provide an e-mail thread.

[CL 2430254 by Dan Oconnor in Main branch]
2015-02-03 14:22:46 -05:00
Dan Oconnor
700b762cc9 FBlurpint::OnChanged split into OnCompiled and OnChanged. Only difference is that we don't call RefreshEditors in the case of OnCompiled (we manually update displayed error information on the graph nodes)
Added Stats
Fixed bad delegate logic in BlueprintActionDatabase

[CL 2407793 by Dan Oconnor in Main branch]
2015-01-15 15:57:51 -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
Maciej Mroz
7b5d87fc92 BP: Public functionality to generate cpp code from blueprint
[CL 2343681 by Maciej Mroz in Main branch]
2014-10-29 07:11:56 -04:00
Phillip Kavan
efc1eb49e1 [UEBP-5] eliminate redundant BP skeleton class generation passes during compile-on-load
- defer skeleton class regeneration to the full compile pass for "normal" BPs
- bypass MBASM during COL on the RefreshAllNodes() call
- no longer regenerate skeleton class on bytecode-only pass

#codereview Maciej.Mroz,Nick.Whiting

[CL 2339313 by Phillip Kavan in Main branch]
2014-10-23 19:12:19 -04:00
Maciej Mroz
0886cf7ee7 ReinstanceOnlyWhenNecessary:
- mechanism to distinguish if instances of recompiled BPGC must be reinstanced
- replacing PB class without reinstancing.

#codereview Nick.Whiting

[CL 2335541 by Maciej Mroz in Main branch]
2014-10-21 06:32:50 -04:00
Phillip Kavan
af24683faf [331442] Blueprints - More detailed & accurate compiler profiling.
- Modified the reported compile time to include time spent reinstancing and recompiling child Blueprint classes.
- Added an option to the Blueprint editor preferences for turning on additional details in the Compiler Results tab.
    - Turning this on will result in a detailed, hierarchical summary of event timings for the Blueprint that was just compiled.

[CL 2320921 by Phillip Kavan in Main branch]
2014-10-07 00:40:02 -04:00
Robert Manuszewski
aa11e3bbbf Merging UE4-Pretest @ 2042161 to UE4
Change 1996384 by Andrew Brown:
	322252 - EDITOR: Asset picker displays incorrect text when there are no filter results.
Change 1996385 by Andrew Brown:
	321858 - CRASH: Assertion failed: (Index >= 0) Function: STransformViewportToolBar::GetLocationGridLabel() STextBlock::CacheDesiredSize()
Change 1996977 by Andrew Brown:
	309685 - UE4: Adding an event/renaming an event on an event track in Matinee does not update the MatineeActor node in blueprint
Change 2034873 by Jaroslaw Palczynski:
	More robust VS installation detection.
Change 2039693 by Jaroslaw Palczynski:
	327268 - RocketGDC: POSTLAUNCH: DEV: Make engine more robust against bad Visual Studio environment variables
Change 1978978 by Jaroslaw Surowiec:
	- Removed obsolete AllowEliminatingReferences from the FArchive
Change 2020326 by Maciej Mroz:
	pretest BP K2Node: RemovePinsFromOldPins function moved from K2Node to RemovePinsFromOldPins
Change 2017608 by Maciej Mroz:
	pretest Some changes in SFortMissionEventSelector caused by FPinTypeTreeInfo
Change 2017463 by Maciej Mroz:
	PinTypeSelector can lins unloaded UDStructs
Change 2019979 by Maciej Mroz:
	pretest BP: Crash when performing Diff against Depot with blueprints containing Format Text nodes
Change 2024469 by Maciej Mroz:
	MemberReference variable added to PinType. It's necessary for delegate's signature.
Change 2024049 by Maciej Mroz:
	HasExternalBlueprintDependencies added to UK2Node_DynamicCast
Change 2024586 by Maciej Mroz:
	FillSimpleMemberReference fix
Change 2024472 by Maciej Mroz:
	workaround for delegates signature in pintype removed.
Change 2023997 by Maciej Mroz:
	BP, UDStruc: Class UserDefinedStructEditorData added. It fixes many problems with undo/redo.
Change 2021934 by Maciej Mroz:
	typo in a comment
Change 2020355 by Maciej Mroz:
	Back out changelist 2020342
Change 2022178 by Maciej Mroz:
	CRASH: PRETEST: EDITOR: UDS: Crash when undo then redo new variable in struct that is used by blueprint
Change 2021958 by Maciej Mroz:
	CRASH: PRETEST: EDITOR: UDS: Crash using variable of a type of copied struct in blueprint
Change 1986247 by Maciej Mroz:
	User Defined Structures: circle dependency fixed. Early version.
Change 1985107 by Maciej Mroz:
	UserDefinedStruct cannot have a field of a non-native type
Change 1986278 by Maciej Mroz:
	pretest ensureMsgf in Struct::link
Change 1986250 by Maciej Mroz:
	User Defined Struct: Non native classes are accepted types od values in structures.
Change 1980955 by Maciej Mroz:
	Using AssetPtr and LazyPtr as UFunction parameter (intput or return) is explicitly disallowed.
Change 2041215 by Maciej Mroz:
	ttp331249 BLOCKER: PRETEST: UI: Survive the Storm is missing the Mission HUD.
Change 1984316 by Maciej Mroz:
	New User Defined Structure. WIP - there are still problems with circular dependencies.
Change 2011616 by Maciej Mroz:
	UserDefinedStructures - various problems fixed.
Change 2011609 by Maciej Mroz:
	more robust HasExternalBlueprintDependencies implementation
Change 2016697 by Maciej Mroz:
	pretest BP: UDStruct - default value propagation in cooked build
Change 2016288 by Maciej Mroz:
	pretest BP: UDStruct: Renaming variables wont break links from make/break nodes
Change 1987637 by Maciej Mroz:
	CustomStruct icons placeholders
Change 1987422 by Maciej Mroz:
	Better tooltips for variables in MyBlueprint
Change 1991387 by Maciej Mroz:
	UDStructures fixes:
Change 2029165 by Maciej Mroz:
	BP: better comment for incomatible pins
Change 2030016 by Maciej Mroz:
	8PRETEST: EDITOR: UDS: Defaults values aren't updated in struct type variables in blueprints
Change 2030017 by Maciej Mroz:
	Unused UDStructure code removed (PPF_UseDefaultsForUDStructures)
Change 2028856 by Maciej Mroz:
	BP: Pins with PC_Struct type are compatible only with exactly the same structure. (No derived structures are not handled as compatible).
Change 2026701 by Maciej Mroz:
	k2: odd error on an add item node within a function (see attached image in details)
Change 2028160 by Maciej Mroz:
	PRETEST: EDITOR: UDS: When deleting structures just after creating there is always some references in the memory
Change 2028165 by Maciej Mroz:
	BP: BreakHitResult function has proper icon.
Change 2033340 by Maciej Mroz:
	ttp330786 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to breeak nodes for text type of variables
Change 2034255 by Maciej Mroz:
	EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables ttp#330620
Change 2037682 by Maciej Mroz:
	ttp331309 BLOCKER: PRETEST: CRASH: EDITOR: Crash occurs when performing Diff Against Depot on any Blueprint
Change 2033142 by Maciej Mroz:
	CreateDelegate Node uses internally FMemberReference. Refactor.
Change 2032329 by Maciej Mroz:
	ttp330608 CRASH: PRETEST: EDITOR: UDS: Crash when trying to use struct named 'Color' in blueprint
Change 2032420 by Maciej Mroz:
	ttp330620 PRETEST: EDITOR: UDS: Changes of default values aren't apllied to make nodes for text type of variables
Change 2033139 by Maciej Mroz:
	Functions generated from CustomEvents can be also identified by GUID
Change 2026631 by Maciej Mroz:
	BP. UDStruct: Invalid structs are handled better.
Change 2025344 by Maciej Mroz:
	UDStruct enabled by default
Change 2026672 by Maciej Mroz:
	EDITOR: BP: Can't easily remove 'pass-by-reference' pins on ReturnNodes
Change 2026411 by Maciej Mroz:
	ExposeOnSpawn updated, it supports UDStructs, custom native Structs, and it throws compiler error.
Change 2025342 by Maciej Mroz:
	GenerateBlueprintSkeleton moved from BLueprint::Serialize to RegenerateBlueprintClass, because SkeletonClass compilation requires all external dependencies to be loaded and linked.
Change 2025570 by Steve Robb:
	Moved dependency processing to its own function.
Change 2033235 by Steve Robb:
	String improvements
Change 2035830 by Steve Robb:
	Workaround for FriendsAndChat crash in Fortnite.
Change 2035115 by Steve Robb:
	UBT build time regression fixes.
Change 2034162 by Steve Robb:
	312775: UObject improvement: Ensure that *.generated.inl is included somewhere
Change 2034181 by Steve Robb:
	Removal of any references to .generated.inl
Change 2020165 by Steve Robb:
	BuildPublicAndPrivateUObjectHeaders factored out into its own function.
Change 2020187 by Steve Robb:
	CreateModuleCompileEnvironment function factored out.
Change 2020055 by Steve Robb:
	Refactoring of Unity.cs to remove complex and duplicate iteration.
Change 2020083 by Steve Robb:
	Another use of dictionary utilities.
Change 2031049 by Steve Robb:
	312775: UObject improvement: Ensure that *.generated.inl is included somewhere
Change 2025728 by Steve Robb:
	Refactored the application of a shared PCH file to multiple file into a single ApplySharedPCH function.
Change 2020068 by Steve Robb:
	A couple of helpful utility functions for populating dictionaries.
Change 2032307 by Steve Robb:
	312775: UObject improvement: Ensure that *.generated.inl is included somewhere

[CL 2054495 by Robert Manuszewski in Main branch]
2014-04-23 20:18:55 -04:00
Nick Darnell
1f5a3d25ba * Introducing a new kismet compiler for widget blueprints (for UMG).
* Extending the signature of a few kismet utility methods to make it more extensible.
* Now generating a list of template widgets (currrently still components).  Able to safely build a hierarchy and then clone that into new objects without GLEO problems.
* Adding vertical and horrizontal boxes to UMG.

[CL 2052277 by Nick Darnell in Main branch]
2014-04-23 19:55:18 -04:00