Commit Graph

158 Commits

Author SHA1 Message Date
robert manuszewski
ced336ef57 Fixing issues with objects not being serialized before they are being ConditionallyPostLoaded by other objects and LoadContext related crashes
#rb none
#jira UE-69177

#ROBOMERGE-SOURCE: CL 5401696 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5401697 by robert manuszewski in Main branch]
2019-03-14 17:10:18 -04:00
jamie dale
9069eb815f Fixed containers failing to gather required instance overrides
If a container element is overridden on an instance, then the entire container is serialized into the instance with different keys than the archetype. This means that all elements of a container need to be gathered if any elements within the container have changed.

#jira UE-71447
#rb Francis.Hurteau
#rnx

#ROBOMERGE-SOURCE: CL 5371132 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5371133 by jamie dale in Main branch]
2019-03-12 16:19:05 -04:00
Richard TalbotWatkin
cf7faad17b Support for BulkData with 64-bit sizes. This is implemented via an additional BULKDATA flag, rather than with versioning, as BulkData is often loaded from unversioned archives, e.g. from DDC via FMemoryReader.
This addresses the issue of enormous meshes >2Gb being unimportable (since source model data is stored as bulk data and loaded by the editor on demand).
This *won't* address the related problem that reading a large BulkData into a TArray is still not possible due to the 31-bit index limit on TArray.
#jira UE-58325
#rb Gil.Gribb

#ROBOMERGE-OWNER: Richard.TalbotWatkin
#ROBOMERGE-AUTHOR: richard.talbotwatkin
#ROBOMERGE-SOURCE: CL 5337393 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5338028 by Richard TalbotWatkin in Main branch]
2019-03-07 11:57:59 -05:00
Robert Manuszewski
7a50c92d50 Fixing incremental build compile errors introduced in CL #5223889
#rb none
#jira UE-70640

[CL 5223925 by Robert Manuszewski in Main branch]
2019-02-27 00:35:34 -05:00
Robert Manuszewski
d5f0ff2c27 DuplicatedDataReader and DuplicatedDataWriter will now store UObject serialize context internally so that they don't crash in case of an error
#rb none
#jira UE-70144

[CL 5223889 by Robert Manuszewski in Main branch]
2019-02-27 00:18:15 -05:00
gil gribb
57d43aefcc UE4 - Moved mapped ubulk files to .m.ubulk so that they can be aligned and not compressed without affecting other bulk data such as textures.
#rb none


#ROBOMERGE-SOURCE: CL 5010556 via CL 5010559 via CL 5013445

[CL 5037908 by gil gribb in Main branch]
2019-02-18 12:10:33 -05:00
josh adams
165f5d1e45 iOS - Enabled animation memory mapped IO on IOS. Saves 10-20 megs of memory
#rb josh.adams


#ROBOMERGE-OWNER: josh.adams
#ROBOMERGE-AUTHOR: gil.gribb
#ROBOMERGE-SOURCE: CL 4993025 via CL 4993026 via CL 4995423

[CL 4999718 by josh adams in Main branch]
2019-02-14 17:11:45 -05:00
josh adams
b7f8902fb9 - Memory Mapped IO enabled on IOS for Audio (via ini and platform property)
- -nommio on the commandline will disble it for testing
#rb gil.gribb


#ROBOMERGE-OWNER: josh.adams
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 4963115 via CL 4963118 via CL 4963812

[CL 4969283 by josh adams in Main branch]
2019-02-12 10:27:29 -05:00
josh adams
87bcd24cc3 [Gil.Gribb and maybe others did most of the work, I just did the IOS parts, but I am checking it in, since IOS was the last stop on the code train]
- Added memory mapped IO concept to the engine
- Implemented and tested on Windows and IOS
- Not in use by anything yet, however, as the use cases are narrow and special (bulk data that does not need massaging after load - so it can be swapped out and back in silently by OS)
[FYI] gil.gribb,chris.babcock


#ROBOMERGE-SOURCE: CL 4842051 via CL 4845281

[CL 4845299 by josh adams in Main branch]
2019-01-30 13:45:30 -05:00
Robert Manuszewski
cfa01c09c7 Merging //UE4/Dev-Main to Dev-Core (//UE4/Dev-Core)
#rb none

[CL 4731457 by Robert Manuszewski in Dev-Core branch]
2019-01-16 04:23:12 -05:00
Marc Audy
ab108c215e Copying to Dev-Main @ CL# 4688301
#rb
#rnx

[CL 4688816 by Marc Audy in Main branch]
2019-01-08 11:38:48 -05:00
Robert Manuszewski
1b802d6357 Merging //UE4/Dev-Main @ 4678276 to Dev-Core (//UE4/Dev-Core)
#rb none

[CL 4678810 by Robert Manuszewski in Dev-Core branch]
2019-01-03 12:12:16 -05:00
Ben Marsh
b57371fe68 Fix copyright notices from Dev-Editor merge causing warnings in CIS.
#rb none
#lockdown Nick.Penwarden
#fyi Chris.Gagnon

[CL 4678276 by Ben Marsh in Main branch]
2019-01-03 09:39:28 -05:00
Chris Gagnon
8fc25ea18e Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4676797 by Chris Gagnon in Dev-Editor branch]
2019-01-02 14:54:39 -05:00
Robert Manuszewski
2752c82adc Merging //UE4/Dev-Main @ 4664414 to Dev-Core (//UE4/Dev-Core)
#rb none

[CL 4675693 by Robert Manuszewski in Dev-Core branch]
2019-01-02 00:55:51 -05:00
Richard TalbotWatkin
e74a1e7fc4 - Deprecated FRawMesh as source model serialization format for static meshes.
- MeshDescription now held as compressed bulk data and unpacked on demand. This is managed by FMeshDescriptionBulkData.
- Made RawMesh accessors in StaticMesh responsible for performing legacy conversion from MeshDescription if necessary.
- Added FBulkDataReader/FBulkDataWriter for serializing bulk data to/from archives.
- Added FUntypedBulkData::UnloadBulkData() for releasing the bulk data allocation without invalidating it (so it can be reloaded when necessary). Editor only.
- Renamed StaticMesh MeshDescription methods (now GetMeshDescription(), CommitMeshDescription() etc).
- Removed unnecessary mesh description attributes from StaticMesh: those which are used only by Editable Mesh, and transient attributes which are automatically generated when needed for building vertex tangent space.
- Slight change to FAttributesSetBase::RegisterAttribute(): if the attribute specified already exists, it will be amended to adopt the type, passed flags and number of indices. If only the number of indices changes, any existing data will be preserved if possible.
- Added TMeshAttributesRef::Copy() to copy an entire attributes array from one name/index to another.
- Changed implementation of TMeshAttributesRef/TMeshAttributesView to provide a const ref/view if the template type parameter is const. Added TMeshAttributesConstRef/TMeshAttributesConstView as an alias for backwards compatibility.
- Added FMeshDescription::IsEmpty() for determining whether a mesh description has any content or not.
- Removed versioning GUID for mesh description: this should be handled by each mesh description client now.

#rb Alexis.Matte

[CL 4644791 by Richard TalbotWatkin in Dev-Editor branch]
2018-12-10 09:29:08 -05:00
Robert Manuszewski
c86baf305e Fixing DEPRECATED macro warnings
#rb none

[CL 4631131 by Robert Manuszewski in Dev-Core branch]
2018-12-05 00:17:17 -05:00
Robert Manuszewski
1685ed0b2e Merging //UE4/Dev-Main @ 4620382 to Dev-Core (//UE4/Dev-Core)
#rb none

[CL 4631078 by Robert Manuszewski in Dev-Core branch]
2018-12-04 23:30:42 -05:00
Matt Kuhlenschmidt
cde8160913 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4572510 by Matt Kuhlenschmidt in Dev-Editor branch]
2018-11-16 11:15:08 -05:00
Ben Marsh
ea340d3fbf Copying //UE4/Fortnite-Staging to Dev-Main (//UE4/Dev-Main)
#rb none
#lockdown Nick.Penwarden

[CL 4567513 by Ben Marsh in Main branch]
2018-11-14 19:05:13 -05:00
Robert Manuszewski
3a51fabbd1 Moved UObject serialization state out of FUObjectThreadContext to a local-only (to the current FAsyncPackage/LoadPackage call) FUObjectSerializeContext. This will allow more advanced changes to the old serialization paths and prevent objects from being added to random FAsyncPackages when async loading (and that will allow package prioritization).
#rb none
#jira UE-65788

[CL 4507561 by Robert Manuszewski in Dev-Core branch]
2018-10-25 11:46:38 -04:00
Josh Adams
4f63a76b48 - Changed compression methods to be an FName instead of hardcoded enum
- Added support for compression plugins
- Removed the Custom compression concept, now using plugins properly
- Modified UnrealPak to use FNames, and allow for multiple compression methods (fallbacks on error or unavailability, etc)
- Added project settings for compression method selection for UnrealPak, and additional settings to be passed to UnrealPak (for instance, to control compression size/speed, etc)
- Deprecated a bunch of old function calls
- Improved pak file "old format" reading ability
- Brought over some changes from Fortnite for pak file encryption and memory savings
- Implemented a parallel compression pull request (#4129) to speed up pak file compression
#jira UE-51294
#rb ben.marsh

[CL 4480944 by Josh Adams in Dev-Core branch]
2018-10-17 14:18:10 -04:00
Stefan Boberg
849be8fc50 Removed ArchiveAsync.h since it didn't contain anything useful anymore
#rb robert.manuszewski

[CL 4451049 by Stefan Boberg in Dev-Core branch]
2018-10-11 10:31:16 -04:00
Robert Manuszewski
02ba9f72df Merging //UE4/Dev-Main @ 4397329 to Dev-Core (//UE4/Dev-Core)
#rb none

[CL 4397828 by Robert Manuszewski in Dev-Core branch]
2018-09-26 08:22:54 -04:00
Marc Audy
af90b7bcd4 Copying //UE4/Fortnite-Staging to Dev-Main (//UE4/Dev-Main) @ 4395008
#rb
#rnx
#lockdown Nick.Penwarden

[CL 4395058 by Marc Audy in Main branch]
2018-09-25 10:11:35 -04:00