unreal.js
Version:
A pak reader for games like VALORANT & Fortnite written in Node.JS
132 lines (131 loc) • 11.1 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FEditorObjectVersion = exports.EFEditorObjectVersion = void 0;
const Guid_1 = require("../objects/core/misc/Guid");
const Game_1 = require("./Game");
var EFEditorObjectVersion;
(function (EFEditorObjectVersion) {
// Before any version changes were made
EFEditorObjectVersion[EFEditorObjectVersion["BeforeCustomVersionWasAdded"] = 0] = "BeforeCustomVersionWasAdded";
// Localizable text gathered and stored in packages is now flagged with a localizable text gathering process version
EFEditorObjectVersion[EFEditorObjectVersion["GatheredTextProcessVersionFlagging"] = 1] = "GatheredTextProcessVersionFlagging";
// Fixed several issues with the gathered text cache stored in package headers
EFEditorObjectVersion[EFEditorObjectVersion["GatheredTextPackageCacheFixesV1"] = 2] = "GatheredTextPackageCacheFixesV1";
// Added support for "root" meta-data (meta-data not associated with a particular object in a package)
EFEditorObjectVersion[EFEditorObjectVersion["RootMetaDataSupport"] = 3] = "RootMetaDataSupport";
// Fixed issues with how Blueprint bytecode was cached
EFEditorObjectVersion[EFEditorObjectVersion["GatheredTextPackageCacheFixesV2"] = 4] = "GatheredTextPackageCacheFixesV2";
// Updated FFormatArgumentData to allow variant data to be marshaled from a BP into C++
EFEditorObjectVersion[EFEditorObjectVersion["TextFormatArgumentDataIsVariant"] = 5] = "TextFormatArgumentDataIsVariant";
// Changes to SplineComponent
EFEditorObjectVersion[EFEditorObjectVersion["SplineComponentCurvesInStruct"] = 6] = "SplineComponentCurvesInStruct";
// Updated ComboBox to support toggling the menu open, better controller support
EFEditorObjectVersion[EFEditorObjectVersion["ComboBoxControllerSupportUpdate"] = 7] = "ComboBoxControllerSupportUpdate";
// Refactor mesh editor materials
EFEditorObjectVersion[EFEditorObjectVersion["RefactorMeshEditorMaterials"] = 8] = "RefactorMeshEditorMaterials";
// Added UFontFace assets
EFEditorObjectVersion[EFEditorObjectVersion["AddedFontFaceAssets"] = 9] = "AddedFontFaceAssets";
// Add UPROPERTY for TMap of Mesh section, so the serialize will be done normally (and export to text will work correctly)
EFEditorObjectVersion[EFEditorObjectVersion["UPropertryForMeshSection"] = 10] = "UPropertryForMeshSection";
// Update the schema of all widget blueprints to use the WidgetGraphSchema
EFEditorObjectVersion[EFEditorObjectVersion["WidgetGraphSchema"] = 11] = "WidgetGraphSchema";
// Added a specialized content slot to the background blur widget
EFEditorObjectVersion[EFEditorObjectVersion["AddedBackgroundBlurContentSlot"] = 12] = "AddedBackgroundBlurContentSlot";
// Updated UserDefinedEnums to have stable keyed display names
EFEditorObjectVersion[EFEditorObjectVersion["StableUserDefinedEnumDisplayNames"] = 13] = "StableUserDefinedEnumDisplayNames";
// Added "Inline" option to UFontFace assets
EFEditorObjectVersion[EFEditorObjectVersion["AddedInlineFontFaceAssets"] = 14] = "AddedInlineFontFaceAssets";
// Fix a serialization issue with static mesh FMeshSectionInfoMap FProperty
EFEditorObjectVersion[EFEditorObjectVersion["UPropertryForMeshSectionSerialize"] = 15] = "UPropertryForMeshSectionSerialize";
// Adding a version bump for the new fast widget construction in case of problems.
EFEditorObjectVersion[EFEditorObjectVersion["FastWidgetTemplates"] = 16] = "FastWidgetTemplates";
// Update material thumbnails to be more intelligent on default primitive shape for certain material types
EFEditorObjectVersion[EFEditorObjectVersion["MaterialThumbnailRenderingChanges"] = 17] = "MaterialThumbnailRenderingChanges";
// Introducing a new clipping system for Slate/UMG
EFEditorObjectVersion[EFEditorObjectVersion["NewSlateClippingSystem"] = 18] = "NewSlateClippingSystem";
// MovieScene Meta Data added as native Serialization
EFEditorObjectVersion[EFEditorObjectVersion["MovieSceneMetaDataSerialization"] = 19] = "MovieSceneMetaDataSerialization";
// Text gathered from properties now adds two variants: a version without the package localization ID (for use at runtime), and a version with it (which is editor-only)
EFEditorObjectVersion[EFEditorObjectVersion["GatheredTextEditorOnlyPackageLocId"] = 20] = "GatheredTextEditorOnlyPackageLocId";
// Added AlwaysSign to FNumberFormattingOptions
EFEditorObjectVersion[EFEditorObjectVersion["AddedAlwaysSignNumberFormattingOption"] = 21] = "AddedAlwaysSignNumberFormattingOption";
// Added additional objects that must be serialized as part of this new material feature
EFEditorObjectVersion[EFEditorObjectVersion["AddedMaterialSharedInputs"] = 22] = "AddedMaterialSharedInputs";
// Added morph target section indices
EFEditorObjectVersion[EFEditorObjectVersion["AddedMorphTargetSectionIndices"] = 23] = "AddedMorphTargetSectionIndices";
// Serialize the instanced static mesh render data, to avoid building it at runtime
EFEditorObjectVersion[EFEditorObjectVersion["SerializeInstancedStaticMeshRenderData"] = 24] = "SerializeInstancedStaticMeshRenderData";
// Change to MeshDescription serialization (moved to release)
EFEditorObjectVersion[EFEditorObjectVersion["MeshDescriptionNewSerialization_MovedToRelease"] = 25] = "MeshDescriptionNewSerialization_MovedToRelease";
// New format for mesh description attributes
EFEditorObjectVersion[EFEditorObjectVersion["MeshDescriptionNewAttributeFormat"] = 26] = "MeshDescriptionNewAttributeFormat";
// Switch root component of SceneCapture actors from MeshComponent to SceneComponent
EFEditorObjectVersion[EFEditorObjectVersion["ChangeSceneCaptureRootComponent"] = 27] = "ChangeSceneCaptureRootComponent";
// StaticMesh serializes MeshDescription instead of RawMesh
EFEditorObjectVersion[EFEditorObjectVersion["StaticMeshDeprecatedRawMesh"] = 28] = "StaticMeshDeprecatedRawMesh";
// MeshDescriptionBulkData contains a Guid used as a DDC key
EFEditorObjectVersion[EFEditorObjectVersion["MeshDescriptionBulkDataGuid"] = 29] = "MeshDescriptionBulkDataGuid";
// Change to MeshDescription serialization (removed FMeshPolygon::HoleContours)
EFEditorObjectVersion[EFEditorObjectVersion["MeshDescriptionRemovedHoles"] = 30] = "MeshDescriptionRemovedHoles";
// Change to the WidgetCompoent WindowVisibilty default value
EFEditorObjectVersion[EFEditorObjectVersion["ChangedWidgetComponentWindowVisibilityDefault"] = 31] = "ChangedWidgetComponentWindowVisibilityDefault";
// Avoid keying culture invariant display strings during serialization to avoid non-deterministic cooking issues
EFEditorObjectVersion[EFEditorObjectVersion["CultureInvariantTextSerializationKeyStability"] = 32] = "CultureInvariantTextSerializationKeyStability";
// Change to UScrollBar and UScrollBox thickness property (removed implicit padding of 2, so thickness value must be incremented by 4).
EFEditorObjectVersion[EFEditorObjectVersion["ScrollBarThicknessChange"] = 33] = "ScrollBarThicknessChange";
// Deprecated LandscapeHoleMaterial
EFEditorObjectVersion[EFEditorObjectVersion["RemoveLandscapeHoleMaterial"] = 34] = "RemoveLandscapeHoleMaterial";
// MeshDescription defined by triangles instead of arbitrary polygons
EFEditorObjectVersion[EFEditorObjectVersion["MeshDescriptionTriangles"] = 35] = "MeshDescriptionTriangles";
//Add weighted area and angle when computing the normals
EFEditorObjectVersion[EFEditorObjectVersion["ComputeWeightedNormals"] = 36] = "ComputeWeightedNormals";
// SkeletalMesh now can be rebuild in editor, no more need to re-import
EFEditorObjectVersion[EFEditorObjectVersion["SkeletalMeshBuildRefactor"] = 37] = "SkeletalMeshBuildRefactor";
// Move all SkeletalMesh source data into a private uasset in the same package has the skeletalmesh
EFEditorObjectVersion[EFEditorObjectVersion["SkeletalMeshMoveEditorSourceDataToPrivateAsset"] = 38] = "SkeletalMeshMoveEditorSourceDataToPrivateAsset";
// Parse text only if the number is inside the limits of its type
EFEditorObjectVersion[EFEditorObjectVersion["NumberParsingOptionsNumberLimitsAndClamping"] = 39] = "NumberParsingOptionsNumberLimitsAndClamping";
//Make sure we can have more then 255 material in the skeletal mesh source data
EFEditorObjectVersion[EFEditorObjectVersion["SkeletalMeshSourceDataSupport16bitOfMaterialNumber"] = 40] = "SkeletalMeshSourceDataSupport16bitOfMaterialNumber";
// -----<new versions can be added above this line>-------------------------------------------------
EFEditorObjectVersion[EFEditorObjectVersion["LatestVersion"] = 40] = "LatestVersion";
})(EFEditorObjectVersion = exports.EFEditorObjectVersion || (exports.EFEditorObjectVersion = {}));
class FEditorObjectVersion {
static get(Ar) {
const ver = Ar.customVersion(this.GUID);
if (ver >= 0)
return ver;
const game = Ar.game;
if (game < Game_1.Game.GAME_UE4(12))
return EFEditorObjectVersion.BeforeCustomVersionWasAdded;
if (game < Game_1.Game.GAME_UE4(13))
return EFEditorObjectVersion.GatheredTextPackageCacheFixesV1;
if (game < Game_1.Game.GAME_UE4(14))
return EFEditorObjectVersion.SplineComponentCurvesInStruct;
if (game < Game_1.Game.GAME_UE4(15))
return EFEditorObjectVersion.RefactorMeshEditorMaterials;
if (game < Game_1.Game.GAME_UE4(16))
return EFEditorObjectVersion.AddedInlineFontFaceAssets;
if (game < Game_1.Game.GAME_UE4(17))
return EFEditorObjectVersion.MaterialThumbnailRenderingChanges;
if (game < Game_1.Game.GAME_UE4(19))
return EFEditorObjectVersion.GatheredTextEditorOnlyPackageLocId;
if (game < Game_1.Game.GAME_UE4(20))
return EFEditorObjectVersion.AddedMorphTargetSectionIndices;
if (game < Game_1.Game.GAME_UE4(21))
return EFEditorObjectVersion.SerializeInstancedStaticMeshRenderData;
if (game < Game_1.Game.GAME_UE4(22))
return EFEditorObjectVersion.MeshDescriptionNewAttributeFormat;
if (game < Game_1.Game.GAME_UE4(23))
return EFEditorObjectVersion.MeshDescriptionRemovedHoles;
if (game < Game_1.Game.GAME_UE4(24))
return EFEditorObjectVersion.RemoveLandscapeHoleMaterial;
if (game < Game_1.Game.GAME_UE4(25))
return EFEditorObjectVersion.SkeletalMeshBuildRefactor;
if (game < Game_1.Game.GAME_UE4(26))
return EFEditorObjectVersion.SkeletalMeshMoveEditorSourceDataToPrivateAsset;
return EFEditorObjectVersion.LatestVersion;
}
}
exports.FEditorObjectVersion = FEditorObjectVersion;
FEditorObjectVersion.GUID = new Guid_1.FGuid(0xE4B068ED, 0xF49442E9, 0xA231DA0B, 0x2E46BB41);