Commit Graph

2320 Commits

Author SHA1 Message Date
Matt Peters
8ca0ab72ef Header removal - Remove CoreMinimal from AssetRegistry headers.
#rb Henrik.Karlsson
#rnx
#preflight 63c046ddb0652247500f617f

[CL 23671598 by Matt Peters in ue5-main branch]
2023-01-12 18:31:53 -05:00
steve robb
e34e0af05c Fixed discrepancy between if (ScriptInterface) and if (ScriptInterface != nullptr) when we have a non-null object with a null interface.
#rb robert.manuszewski
#preflight 63bf4ef7de27f9bc45feaa30

[CL 23661802 by steve robb in ue5-main branch]
2023-01-12 08:59:40 -05:00
nick edwards
7c094d8b0b FArchiveCountMem
- Made a couple of simple getter member functions const
- Added missing virtual and override specifiers

#rb trivial
#preflight 63be92846729b05ec93fda5f

[CL 23648569 by nick edwards in ue5-main branch]
2023-01-11 12:44:46 -05:00
pj kack
4f629470e3 Change ArchetypeAnnotation to use FUObjectAnnotationChunked instead of FUObjectAnnotationDense (originally implemented in 18810065).
Reduces memory from 3.2 MB to 2.2 MB for an internal project with > 500 000 objects, and prevents large and slow reallocs.
Note that the object archetype may already be cached if GetArchetype is called before CacheArchetypeForObject for an object where the outer does not have RF_NeedLoad set (e.g. UPackages), and this causes the same annotation to be added twice.
Make FUObjectAnnotationChunked::AddAnnotation behavior consistent with FUObjectAnnotationDense by removing the existence check and allowing overwrites.

#jira UE-143138
#rb robert.manuszewski
#rnx
#preflight 63b68b94995dced03ab2df0d

[CL 23648554 by pj kack in ue5-main branch]
2023-01-11 12:44:16 -05:00
steve robb
301d6635bf Made FObjectInstancingGraph::InstancePropertyValue take flags for clarity, and so the DoNotCreateNewInstance flag can be passed through to GetInstancedSubobject.
Removed the unused bIsTransient flag.

#rb robert.manuszewski
#preflight 63bd4addc45a2c81e0f1cca2

[CL 23632520 by steve robb in ue5-main branch]
2023-01-10 15:47:52 -05:00
Andrew Rodham
4ff7bab147 Slate: Initial phase of FVector2D deprecation
- Expanded FDeprecateSlateVector2D to provide structs for parameters, return types and member variables that use FVector2f, while still allowing conversion to/from FVector2d with optional per-module deprecation mechanisms.
  - Many of the high-traffic SlateCore types like FSlateBrush, FGeometry and FSlateLayoutTransform have been converted to use these deprecation mechanisms.
  - Some legacy FGeometry::ToPaintGeometry and MakeChild overloads have been explicitly deprecated since they cause ambiguous overloads with FSlateLayoutTransform if it were to support implicit construction.
  - Deprecated ULocalPlayer::GetPixelBoundingBox and GetPixelPoint to prefer FVector2f for OptionalAllotedSize parameter since this parameter is expected to come from FGeometry
  - Exposed FVector2f members to blueprints

#jira none
#rb Andy.Davidson, Dave.Jones, Vincent.Gauthier, Patrick.Boutot
#preflight 63bc6fd068068a8bd6027c9f

[CL 23631073 by Andrew Rodham in ue5-main branch]
2023-01-10 14:46:43 -05:00
Tim Smith
116c1e340e Fix for Clang C++ 20 compiler warnings with StaticClassFlags.
#rb josh.adams
#jira UE-173531
#preflight 63bd914dbf54fa7b367ad622

[CL 23628049 by Tim Smith in ue5-main branch]
2023-01-10 11:43:37 -05:00
George Rolfe
d462b1cd5a Added missing ElementType aliases to various smart pointers and containers
#jira trivial
#rb steve.robb
#preflight 63bc0c03c927e3448257b37d

[CL 23611460 by George Rolfe in ue5-main branch]
2023-01-09 08:48:17 -05:00
henrik karlsson
56431d6609 [CoreUObject/Core]
* Removed CoreMinimal.h include from a ton of headers all the way to Actor.h. This shaved off 15% of the compile time of small files that has uht markup.

#preflight 63b915baaf3ebedd9931496e
#rb none

[CL 23607296 by henrik karlsson in ue5-main branch]
2023-01-07 04:08:49 -05:00
dan oconnor
ed1ffa4216 Add UPARAM(Required) markup for marking function parameters as required (must be linked to some other node in a Blueprint) - example usage:
UFUNCTION(BlueprintCallable)
static void TestRequiredIntParameter(UPARAM(Required) int32 Value);

Useful for marking pointer params as required so they are not null by default, but also applicable to complex types with custom make nodes

#jira
#rb Jordan.Hoffmann
#preflight 63b89fff763c6c10645b94c4

[CL 23604737 by dan oconnor in ue5-main branch]
2023-01-06 17:49:02 -05:00
joe pribele
cffacc0be5 support for TObjectPtr handling renames and GetTypeHash(TObjectPtr) no long has to resolve
GetTypeHash will create a packaged object ref for hashing if the class is defined as lazy load otherwise raw pointer is hashed
a map was added for moved objects and ObjectPathId can be a WeakObjectPtr
the map allows UObjects to be mapped back to packed object refs

#rb zousar.shaker
https://p4-swarm.epicgames.net/reviews/23356491
#preflight 63b5de641c35d1cbdbccecf7
#preflight 63b70406e26e31879b8aa6d3

[CL 23589497 by joe pribele in ue5-main branch]
2023-01-05 12:27:16 -05:00
matt peters
92303fcab7 AssetRegistry: Add Extension to FAssetPackageData. This makes the AssetRegistry's calculation of package extension fully robust and supports future changes in the cooker and linker that will remove searching for the package filename on disk in favor of using the AssetRegistry.
#rb Ben.Zeigler
#rnx
#preflight 63b5f2c3717a593ee761b4a3

[CL 23583416 by matt peters in ue5-main branch]
2023-01-04 18:39:42 -05:00
jamie dale
6c5d466cee Avoid clearing the undo buffer when saving newly added/deleted OFPA actors
A newly created OFPA actor would trigger PostLoadedStateChanged to clear the undo buffer due to it creating a new actor desc. This now skips clearing the undo buffer unless an actor has been unloaded.

A deleted OFPA actor would trigger CleanupAfterSuccessfulDelete to clear the undo buffer so that the package can be GC'd. This makes sense for assets (where a delete isn't transacted), but not for actors (where the delete can be undone). This now skips clearing the undo buffer when cleaning-up OFPA packages, and also marks any lingering packages as being PKG_NewlyCreated (since they no longer have a file on disk) and dirty so that they can be saved again if the delete is undone.

#preflight 63b449f435203bc7aaa75fa2
#rb Francis.Hurteau

[CL 23570251 by jamie dale in ue5-main branch]
2023-01-03 16:41:42 -05:00
Dmitriy Dyomin
89d7af656d Fixed: broken ASTC HDR compression
#jira none
#preflight 63b3f15cc6265e21bcdc1a81
#rb wei.iu
#fyi charles.bloom, jeannoe.morissette

[CL 23565227 by Dmitriy Dyomin in ue5-main branch]
2023-01-03 08:20:10 -05:00
PJ Kack
d2ce0db309 Fix issue where weak object pointers are invalidated when re-creating a UObject with the same name.
Make sure to also reuse the serial number when reusing the internal index.

#jira UE-172667
#rb carlmagnus.nordin
#rnx
#preflight 639c3c248c5081ee9a4bbe79,63b3db852960b7322014a4a3

[CL 23564284 by PJ Kack in ue5-main branch]
2023-01-03 03:31:16 -05:00
henrik karlsson
ce587eb612 Added markups for headers that can't be compiled standalone.. this is needed for both Header units and IWYU
#preflight 63789b0c170bc34a93a869e5
#rb none

[CL 23552160 by henrik karlsson in ue5-main branch]
2022-12-21 02:46:50 -05:00
henrik karlsson
701fc85c80 [CoreUObject]
* ObjectPtr - Skipped static_assert when building for IWYU... (for compile time reasons this static assert should probably be moved to ObjectPtr dtor or something)

#rb none
#preflight skipped

[CL 23546931 by henrik karlsson in ue5-main branch]
2022-12-19 03:04:34 -05:00
Matt Peters
37b22226db EditorDomain: fix fallouts after bulk data refactor.
Allow EditorDomain to save BulkDataType FBulkDataInfo::BulkSegment.
Declare a Region for each BulkData passed into the EditorDomain PackageWriter.
Mark BulkDatas saved by reference as PayloadInSeparateFile.
Allow RegionTypeNone in SerializePayload.
#rb Francis.Hurteau
#rnx
#preflight 639cec7c776b61ba3b905f8a

[CL 23542385 by Matt Peters in ue5-main branch]
2022-12-16 17:40:20 -05:00
justin marcus
1e2f92c4ee Add HasAsyncFileWrites() to see if there are pending writes without blocking
#preflight https://horde.devtools.epicgames.com/job/639b918e8c5081ee9a1de99a

[CL 23541591 by justin marcus in ue5-main branch]
2022-12-16 16:23:40 -05:00
Chris Varnsverry
9777927d73 - Delete old CoreOnline.h from CoreUObject
#jira none
#review-23510848 @Rob.Cannaday @Sam.Zamani
#preflight 639a416235203bc7aa0d590b

[CL 23519804 by Chris Varnsverry in ue5-main branch]
2022-12-14 17:04:12 -05:00
james hopkin
7a339ddbd2 [core] Added utils for creating soft object/class pointers (preferred over using implicit conversion)
#preflight 6399976e8c5081ee9a86321d

[CL 23514338 by james hopkin in ue5-main branch]
2022-12-14 13:19:58 -05:00
henrik karlsson
616df3f514 [Core/CoreUObject]
* Added macro IWYU_MARKUP_IMPLICIT_CAST that can be used in extreme situations where we want to communicate to IWYU that we actually need to know about the <from> type and therefor include can't be removed

#rb steve.robb
#preflight 6392fb7fcf0e31f727f7ca55

[CL 23499739 by henrik karlsson in ue5-main branch]
2022-12-13 18:12:26 -05:00
Matt Peters
f06a0517f7 Cooker LLM Tags: Add more tags around allocations made when cooking.
#rnx
#rb Joe.Pribele
#preflight 6398c2cf2540a78d27323acd

[CL 23494643 by Matt Peters in ue5-main branch]
2022-12-13 13:35:36 -05:00
Per Larsson
2efa87995e Bulk Data - data resource table
This change aims to unify how BulkData and DerivedData references are stored and loaded from disk.
The structured part of Bulk Data i.e. Flags,Offset and Size has been moved out from the export data
and into a lookup table in the package header. This allows for bulk data to be rearranged w/o needing to recook but it will
also be used for derived data references to allow loading DDC data both from the runtime.
Currenlty this change ONLY effects cooked output.
Inline data can now be reloaded when loading from I/O store, all consistency checks
when discarding/reloading inline data has been removed.
When cooking, exports are serialized into it's own archive enabling the package header
to be modified after cooking the exports. This also makes it easer to rearrange the exports
in the export bundles for optimal loading performance, i.e. there is no longer a dependency
of the cooked serial offset from the begnning of the .uasset file.

#rb CarlMagnus.Nordi, PJ.Kack, Paul.Chipchase
#jira none
#preflight 637387db9e3bea807941a850
#rnx

[CL 23489396 by Per Larsson in ue5-main branch]
2022-12-13 03:51:37 -05:00
Matt Peters
363762a56e TopLevelAssetPath Blueprint and Python support: Add FTopLevelAssetPath native Make function to correctly construct TopLevelAssetPath from a single string.
#rb Robert.Millar, Ben.Zeigler
#rnx
#preflight 63969b11c709c72756f7fc31

[CL 23477738 by Matt Peters in ue5-main branch]
2022-12-12 10:24:40 -05:00