Commit Graph

3515 Commits

Author SHA1 Message Date
jason walter
15cca139de Use MakeDialogDelayed vs MakeDialog in some of the Save / Load paths. This will prevent the UI from disrupting workflows when in Multi-user mode.
#jira UE-124537
#rb jamie.dale

#ushell-cherrypick of 17407178 by jason.walter

[CL 17573843 by jason walter in ue5-main branch]
2021-09-20 14:51:34 -04:00
Julien StJean
884a8191b4 Allow better scripting of interchange for the automation by adding some callback when a asset or a scene object is created and when the import is completed.
Updated the PinHiddenByDefault uproperty metadata to work in blueprint struct ouside of animation blueprint.

#jira UETOOL-4035
#rb Phillip.Kavan, Alexis.Matte
#preflight 6144a8b03c7c6700010df23e

[CL 17553215 by Julien StJean in ue5-main branch]
2021-09-17 11:52:47 -04:00
Matt Peters
81ed2bce8c SavePackage2: Fix missing calculation of SerializedPackageFlags.
#rb Per.Larsson
#rnx

[CL 17551391 by Matt Peters in ue5-main branch]
2021-09-17 09:39:16 -04:00
paul chipchase
21c2777e84 Add an UE5 specific version EUnrealEngineObjectUE5Version to be used for global changes instead of EUnrealEngineObjectUEVersion. By splitting and storing both version numbers we allow for hypothetical future UE4 changes that will not conflict when merged to UE5.
#rb CarlMagnus.Nordin
#rnx
#tests Ran overnight preflights on several platforms, opened/cooked/staged/ran the oldest version of InfiltratorDemo that can be downloaded (4.11)

### ObjectVersion
- Add a new version enum EUnrealEngineObjectUE5Version.
-- This version number starts at 1000 which leaves more than enough for for EUnrealEngineObjectUEVersion to be expanded
- Even though very few changes (if any at all) to EUnrealEngineObjectUE4Version are expected there is a static assert to make sure that EUnrealEngineObjectUEVersion::AUTOMATIC_VERSION never overtakes EUnrealEngineObjectUE5Version::INITIAL_VERSION.
- Add a struct FPackageFileVersion that wraps around the version numbers and is used to store them instead of raw int32 values which was done before. This should make it easier to add new version numbers in the future if we desire (although this will cause problems in places that serialize the struct directly)

### FPackageFileSummary
- Adding a new entry to CurrentLegacyFileVersion at value -8 which shows the UE5 version being added. This lets us make the changes without needing to submit anything to UE4 Main.
- When loading a package that does not have a UE5 version, it will remain at 0.
- Added ::IsFileVersionTooOld and ::IsFileVersionTooNew to replace hardcoded tests in the code base for version validity. This will make it easier to make changes in the future.
- A few months ago most of the accessors of the version number were deprecated in favour of a version that did not contain the Engine number (ie UE4Ver -> UEVer in Archive) but to work with these changes the renamed methods now will return or accept the version as FPackageFileVersion rather than int32.  The old UE4 methods will remain deprecated and direct licensees to use the new methods.

### Archive
- Now stores the version as a FPackageFileVersion rather than int32

### LinkerLoad
- Reports the larger version number if we detect a higher version number than we support. Note that this could cause an issue if the UE4 version is ever raised but helps keep the code simple.

### AssetData
- Need to add a new version here to manage existing data that only has the UE4 version

### EditorDomain
- We do not need to version the format, we can just invalidate existing editor domain entries via EditorDomainVersion

### EditorServer
- When reporting that a package is too old we report the UE4 version as that is the only version that can be older than VER_UE4_OLDEST_LOADABLE_PACKAGE
- When reporting that a package is too new it can be either the UE4 or the UE5 version so we print them together "UE4Ver|UE5Ver"

### ContentCommandlets
- The min and max resave versions have been kept as a single value, you will not be able to resave against different UE4 and UE5 versions at the same time. It doesn't seem like a useful feature and would greatly increase the complexity of the code.
- We will also only report the file version as a single value.

### ManifestUObject
- This class was setting an older obsolete version on purpose to try and maintain compatibility with older clients so we need to provide a way to create an older UE4 only version that will leave the UE5 version as unset.

### NetworkPlatformFile
- I was unable to test the code path in FNetworkPlatformFile::ProcessServerCachedFilesResponse as I am unsure how to run the game in a mode that will actually use it.
- When reading an older "CookedVersion.txt" that was saved with a single version, the reads will fail and this will count as a version change in the code so that all of the existing files will be deleted. The existing code would not give the user a log message when this happens and given the very small time window where this might happen caused by this change I have opted to leave this alone and not add any additional logging.
- If we do detect a version mismatch we will still only log the version number as a single version.

### CookOnTheFlyServer
- We now add each version number to the IniVersionMap rather than merge the version and license version as a key/value pair. This allows us to a) use both the UE4 and UE5 version numbers b) we now log a warning that the version values don't match when it is changed, previously since it was a key value we would log a warning about an additional setting instead.
-- I also added "vs" to the log message when values are mismatched to make the space between the two values being printed clearer.

#ROBOMERGE-OWNER: paul.chipchase
#ROBOMERGE-AUTHOR: paul.chipchase
#ROBOMERGE-SOURCE: CL 17549459 via CL 17550236 via CL 17550238 via CL 17550582 via CL 17550583
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v870-17433530)

[CL 17550586 by paul chipchase in ue5-main branch]
2021-09-17 07:05:39 -04:00
carlmagnus nordin
87f7fcf436 Remove PackageIdToLoad field from UPackage in favour of generating the id dynamically from the loaded path
#rnx
#jira UE-121632
#rb pj.kack

#ROBOMERGE-OWNER: carlmagnus.nordin
#ROBOMERGE-AUTHOR: carlmagnus.nordin
#ROBOMERGE-SOURCE: CL 17517182 via CL 17517190 via CL 17517193 via CL 17519704 via CL 17536402
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v870-17433530)

[CL 17536403 by carlmagnus nordin in ue5-main branch]
2021-09-16 06:38:50 -04:00
dave jones2
8b93af33aa UE-125091 - Blueprint did not automatically create float>double conversion nodes on load
Any old content that's attempting to create a quat from float data will run into a BP compilation error since FQuat expects doubles now. The easiet fix is to create custom Make/Break functions for FQuat in the KismetMathLibrary, which will perform the implicit cast for us.

Once BPs are using doubles everywhere, we can forego this option. UE-126734 has been created as a follow-up task that will ensure we're using doubles and avoiding unnecessary casts in KismetMathLibrary.

#rb andrew.davidson
#jira UE-125091

[CL 17525249 by dave jones2 in ue5-main branch]
2021-09-15 15:33:52 -04:00
tim smith
49998dfeff Fixing some UHT code generation issues to reduce obj size.
1) Functions added for LiveCoding have been removed and the data is now just a static.
2) Consolidated defered registration into a single routine.  This includes CppStructOps registration where every routine was over 100 bytes in length.
3) Removed the extra argument in function registration to avoid 7 bytes on windows
4) Fixed a typo in a macro name.

#b none
#rnx

#ROBOMERGE-AUTHOR: tim.smith
#ROBOMERGE-SOURCE: CL 17490728 via CL 17490835 via CL 17490836 via CL 17490837 via CL 17490838
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v870-17433530)

[CL 17490842 by tim smith in ue5-main branch]
2021-09-13 07:48:34 -04:00
carlmagnus nordin
69c36a4d1e Fixed another crash when trying to convert empty or invalid package paths to filenames
#rb pj.kack
#rnx
#jira UE-126031

#ROBOMERGE-AUTHOR: carlmagnus.nordin
#ROBOMERGE-SOURCE: CL 17490460 via CL 17490467 via CL 17490469 via CL 17490474 via CL 17490477
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v870-17433530)

[CL 17490484 by carlmagnus nordin in ue5-main branch]
2021-09-13 07:02:14 -04:00
Per Larsson
073f273d8b COTF: Better lock scope when handling cooked packages (server) and moved subscription to cook-on-the-fly messages (client) when package store is initializing
#rb none
#jira none
#rnx

[CL 17469520 by Per Larsson in ue5-main branch]
2021-09-09 05:13:55 -04:00
aurel cordonnier
563d87b5bf Fixing linux build
#fyi Jamie.Dale
#rnx

[CL 17463825 by aurel cordonnier in ue5-main branch]
2021-09-08 17:03:57 -04:00
aurel cordonnier
e3f7878676 Merge from Release-Engine-Test @ 17462327 to UE5/Main
This represents UE4/Main @17430120 and Dev-PerfTest @17437669

[CL 17463546 by aurel cordonnier in ue5-main branch]
2021-09-08 16:42:26 -04:00
JakobLarsson-Embark
d5fb3be97e PR #8378: Fix missing return value in PropertyAccessUtil.cpp, causing FEnumProperty copies to always fail (Contributed by JakobLarsson-Embark)
#jira UE-126142
#rb Jamie.Dale

[CL 17460906 by JakobLarsson-Embark in ue5-main branch]
2021-09-08 13:41:06 -04:00
carlmagnus nordin
593dd516e8 Implemented FromLocalPath on slimmed down FPackagePath
#jira UE-126031
#rnx
#rb pj.kack

#ROBOMERGE-AUTHOR: carlmagnus.nordin
#ROBOMERGE-SOURCE: CL 17455754 via CL 17455882 via CL 17455888 via CL 17455889 via CL 17455907
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v870-17433530)

[CL 17455914 by carlmagnus nordin in ue5-main branch]
2021-09-08 05:53:16 -04:00
carlmagnus nordin
52772d6252 Undo change 17444582
#rnx

#ROBOMERGE-AUTHOR: carlmagnus.nordin
#ROBOMERGE-SOURCE: CL 17447855 via CL 17447867 via CL 17447871 via CL 17447872 via CL 17447876
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v870-17433530)

[CL 17447878 by carlmagnus nordin in ue5-main branch]
2021-09-07 14:20:36 -04:00
carlmagnus nordin
9801ed387d Strip unused names from package headers when cooking with unversioned property serialization
#rnx
#rb francis.hurteau

#ROBOMERGE-AUTHOR: carlmagnus.nordin
#ROBOMERGE-SOURCE: CL 17444582 via CL 17444611 via CL 17444612 via CL 17444613 via CL 17444628
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v870-17433530)

[CL 17444638 by carlmagnus nordin in ue5-main branch]
2021-09-07 10:34:54 -04:00
Josie Yang
a62f714a51 Morph target engine modifications for 3rd party plugin
#fyi alexis.matte, brian.white, christopher.waters, mihnea.balta, rolando.caloca, will.damon, halfdan.ingvarsson, kevin.ortegren

[CL 17444191 by Josie Yang in ue5-main branch]
2021-09-07 09:55:32 -04:00
carlmagnus nordin
193532cc94 Fixed crash when trying to convert empty or invalid package paths to filenames
#rb pj.kack
#rnx

#ROBOMERGE-AUTHOR: carlmagnus.nordin
#ROBOMERGE-SOURCE: CL 17441512 via CL 17441520 via CL 17441525 via CL 17441528 via CL 17441531
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v870-17433530)

[CL 17441540 by carlmagnus nordin in ue5-main branch]
2021-09-07 01:32:34 -04:00
Matt Peters
8c2bce7103 FCoreUObjectDelegates::OnEndLoadPackage: Add broadcast from the early exits in LoadPackageInternal that were missing it.
[CL 17407272 by Matt Peters in ue5-main branch]
2021-09-02 15:20:27 -04:00
Devin Doucette
beba4c2cce CompressedBuffer: Removed the FormatName functionality and update its last remaining callers
#rb Paul.Chipchase, Zousar.Shaker
#rnx
#preflight 612feb940380e700016fc8e5

[CL 17403021 by Devin Doucette in ue5-main branch]
2021-09-02 10:29:17 -04:00
jeanfrancois dube
e114ae028f Cache all mounted roots in FLongPackagePathsSingleton instead of generating a string array on each calls from various functions in FPackageName.
Greatly reduce temporary memory allocations from callers (worst offender during editor loads was FPackageName::IsValidLongPackageName).

#rb matt.peters
#preflight none


#ROBOMERGE-SOURCE: CL 17401227
#ROBOMERGE-BOT: (v865-17346139)

[CL 17402199 by jeanfrancois dube in ue5-main branch]
2021-09-02 09:08:49 -04:00
paul chipchase
b72905008a Mirage will now check for the existence of the requested backend graph in the ini files before attempting to parse it.
#rb Per.Larsson
#rnx
#preflight 61306d9e804b7f00017efc05

- Previously the user requested a none existence graph we'd give an error message about being unable to find the 'LocalStorageHierarchy' entry in the graph, which was a bit misleading as it indicated that the graph existed but was malformed.
- Now we give a clear error message that the graph itself does not exist.

[CL 17400989 by paul chipchase in ue5-main branch]
2021-09-02 07:43:05 -04:00
pj kack
c82841015a AsyncLoading2: Add back missing fileopenlog generation functionality (unintentionally removed in cl 16481564)
#rb carlmagnus.nordin
#preflight none
#rnx


#ROBOMERGE-SOURCE: CL 17399712
#ROBOMERGE-BOT: (v865-17346139)

[CL 17400415 by pj kack in ue5-main branch]
2021-09-02 06:07:06 -04:00
paul chipchase
fe0b159101 Add profiling data to the Mirage local caching operation.
#rb Per.Larsson
#rnx
#preflight 612e3045423a8f0001651d93

- The large white space change in the cpp, is to fix a formatting issue introduced in Rev2. I am not sure how the file got so messed up which seems to have happened inbetween the review stage and the submit.
- The debug config option 'ValidateAfterPushOperation' now works when caching data locally inadditon to pushing data to persistent storage.
- Collect profiling data when caching payloads to local storage.
- Add caching statistics to the final log output and the Mirage editor widget although this widget is currently slated to be merged with the DDC widget in the near future.

[CL 17384798 by paul chipchase in ue5-main branch]
2021-09-01 07:03:46 -04:00
Matt Peters
c499586aa6 Fix whitespace merge error.
#rnx
#rb None, trivial

[CL 17376646 by Matt Peters in ue5-main branch]
2021-08-31 16:14:49 -04:00
luc eygasier
6b7aa9e719 Rework Source Control Changelist Window?s Asset beautification:
* Adds Source Control Asset Data cache. Preventing Source Control Changelist Window to rebuild AssetData from scratch when UI refresh takes place
* Modifies Source Control beautification to async process, preventing crowded changelists to block the workflow. The filenames are now beautified when available.
* Parallelize AssetData information retrieval from SourceControl
* Updates message displayed when refreshing window's items

#rb Sebastien.Lussier, JeanFrancois.Dube
#jira UETOOL-3522
#robomerge Private-Frosty

#changelist validated

[CL 17375288 by luc eygasier in ue5-main branch]
2021-08-31 15:12:47 -04:00