UNPKG

unreal.js

Version:

A pak reader for games like VALORANT & Fortnite written in Node.JS

120 lines (119 loc) 10.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FRenderingObjectVersion = exports.EFRenderingObjectVersion = void 0; const Guid_1 = require("../objects/core/misc/Guid"); const Game_1 = require("./Game"); var EFRenderingObjectVersion; (function (EFRenderingObjectVersion) { // Before any version changes were made EFRenderingObjectVersion[EFRenderingObjectVersion["BeforeCustomVersionWasAdded"] = 0] = "BeforeCustomVersionWasAdded"; // Added support for 3 band SH in the ILC EFRenderingObjectVersion[EFRenderingObjectVersion["IndirectLightingCache3BandSupport"] = 1] = "IndirectLightingCache3BandSupport"; // Allows specifying resolution for reflection capture probes EFRenderingObjectVersion[EFRenderingObjectVersion["CustomReflectionCaptureResolutionSupport"] = 2] = "CustomReflectionCaptureResolutionSupport"; EFRenderingObjectVersion[EFRenderingObjectVersion["RemovedTextureStreamingLevelData"] = 3] = "RemovedTextureStreamingLevelData"; // translucency is now a property which matters for materials with the decal domain EFRenderingObjectVersion[EFRenderingObjectVersion["IntroducedMeshDecals"] = 4] = "IntroducedMeshDecals"; // Reflection captures are no longer prenormalized EFRenderingObjectVersion[EFRenderingObjectVersion["ReflectionCapturesStoreAverageBrightness"] = 5] = "ReflectionCapturesStoreAverageBrightness"; EFRenderingObjectVersion[EFRenderingObjectVersion["ChangedPlanarReflectionFadeDefaults"] = 6] = "ChangedPlanarReflectionFadeDefaults"; EFRenderingObjectVersion[EFRenderingObjectVersion["RemovedRenderTargetSize"] = 7] = "RemovedRenderTargetSize"; // Particle Cutout (SubUVAnimation) data is now stored in the ParticleRequired Module EFRenderingObjectVersion[EFRenderingObjectVersion["MovedParticleCutoutsToRequiredModule"] = 8] = "MovedParticleCutoutsToRequiredModule"; EFRenderingObjectVersion[EFRenderingObjectVersion["MapBuildDataSeparatePackage"] = 9] = "MapBuildDataSeparatePackage"; // StaticMesh and SkeletalMesh texcoord size data. EFRenderingObjectVersion[EFRenderingObjectVersion["TextureStreamingMeshUVChannelData"] = 10] = "TextureStreamingMeshUVChannelData"; // Added type handling to material normalize and length (sqrt) nodes EFRenderingObjectVersion[EFRenderingObjectVersion["TypeHandlingForMaterialSqrtNodes"] = 11] = "TypeHandlingForMaterialSqrtNodes"; EFRenderingObjectVersion[EFRenderingObjectVersion["FixedBSPLightmaps"] = 12] = "FixedBSPLightmaps"; EFRenderingObjectVersion[EFRenderingObjectVersion["DistanceFieldSelfShadowBias"] = 13] = "DistanceFieldSelfShadowBias"; EFRenderingObjectVersion[EFRenderingObjectVersion["FixedLegacyMaterialAttributeNodeTypes"] = 14] = "FixedLegacyMaterialAttributeNodeTypes"; EFRenderingObjectVersion[EFRenderingObjectVersion["ShaderResourceCodeSharing"] = 15] = "ShaderResourceCodeSharing"; EFRenderingObjectVersion[EFRenderingObjectVersion["MotionBlurAndTAASupportInSceneCapture2d"] = 16] = "MotionBlurAndTAASupportInSceneCapture2d"; EFRenderingObjectVersion[EFRenderingObjectVersion["AddedTextureRenderTargetFormats"] = 17] = "AddedTextureRenderTargetFormats"; // Triggers a rebuild of the mesh UV density while also adding an update in the postedit EFRenderingObjectVersion[EFRenderingObjectVersion["FixedMeshUVDensity"] = 18] = "FixedMeshUVDensity"; EFRenderingObjectVersion[EFRenderingObjectVersion["AddedbUseShowOnlyList"] = 19] = "AddedbUseShowOnlyList"; EFRenderingObjectVersion[EFRenderingObjectVersion["VolumetricLightmaps"] = 20] = "VolumetricLightmaps"; EFRenderingObjectVersion[EFRenderingObjectVersion["MaterialAttributeLayerParameters"] = 21] = "MaterialAttributeLayerParameters"; EFRenderingObjectVersion[EFRenderingObjectVersion["StoreReflectionCaptureBrightnessForCooking"] = 22] = "StoreReflectionCaptureBrightnessForCooking"; // FModelVertexBuffer does serialize a regular TArray instead of a TResourceArray EFRenderingObjectVersion[EFRenderingObjectVersion["ModelVertexBufferSerialization"] = 23] = "ModelVertexBufferSerialization"; EFRenderingObjectVersion[EFRenderingObjectVersion["ReplaceLightAsIfStati"] = 24] = "ReplaceLightAsIfStati"; // Added per FShaderType permutation id. EFRenderingObjectVersion[EFRenderingObjectVersion["ShaderPermutationId"] = 25] = "ShaderPermutationId"; // Changed normal precision in imported data EFRenderingObjectVersion[EFRenderingObjectVersion["IncreaseNormalPrecision"] = 26] = "IncreaseNormalPrecision"; EFRenderingObjectVersion[EFRenderingObjectVersion["VirtualTexturedLightmaps"] = 27] = "VirtualTexturedLightmaps"; EFRenderingObjectVersion[EFRenderingObjectVersion["GeometryCacheFastDecoder"] = 28] = "GeometryCacheFastDecoder"; EFRenderingObjectVersion[EFRenderingObjectVersion["LightmapHasShadowmapData"] = 29] = "LightmapHasShadowmapData"; // Removed old gaussian and bokeh DOF methods from deferred shading renderer. EFRenderingObjectVersion[EFRenderingObjectVersion["DiaphragmDOFOnlyForDeferredShadingRenderer"] = 30] = "DiaphragmDOFOnlyForDeferredShadingRenderer"; // Lightmaps replace ULightMapVirtualTexture (non-UTexture derived class) with ULightMapVirtualTexture2D (derived from UTexture) EFRenderingObjectVersion[EFRenderingObjectVersion["VirtualTexturedLightmapsV2"] = 31] = "VirtualTexturedLightmapsV2"; EFRenderingObjectVersion[EFRenderingObjectVersion["SkyAtmosphereStaticLightingVersioning"] = 32] = "SkyAtmosphereStaticLightingVersioning"; // UTextureRenderTarget2D now explicitly allows users to create sRGB or non-sRGB type targets EFRenderingObjectVersion[EFRenderingObjectVersion["ExplicitSRGBSetting"] = 33] = "ExplicitSRGBSetting"; EFRenderingObjectVersion[EFRenderingObjectVersion["VolumetricLightmapStreaming"] = 34] = "VolumetricLightmapStreaming"; //ShaderModel4 support removed from engine EFRenderingObjectVersion[EFRenderingObjectVersion["RemovedSM4"] = 35] = "RemovedSM4"; // Deterministic ShaderMapID serialization EFRenderingObjectVersion[EFRenderingObjectVersion["MaterialShaderMapIdSerialization"] = 36] = "MaterialShaderMapIdSerialization"; // Add force opaque flag for static mesh EFRenderingObjectVersion[EFRenderingObjectVersion["StaticMeshSectionForceOpaqueField"] = 37] = "StaticMeshSectionForceOpaqueField"; // Add force opaque flag for static mesh EFRenderingObjectVersion[EFRenderingObjectVersion["AutoExposureChanges"] = 38] = "AutoExposureChanges"; // Removed emulated instancing from instanced static meshes EFRenderingObjectVersion[EFRenderingObjectVersion["RemovedEmulatedInstancing"] = 39] = "RemovedEmulatedInstancing"; // Added per instance custom data (for Instanced Static Meshes) EFRenderingObjectVersion[EFRenderingObjectVersion["PerInstanceCustomData"] = 40] = "PerInstanceCustomData"; // Added material attributes to shader graph to support anisotropic materials EFRenderingObjectVersion[EFRenderingObjectVersion["AnisotropicMaterial"] = 41] = "AnisotropicMaterial"; // Add if anything has changed in the exposure, override the bias to avoid the new default propagating EFRenderingObjectVersion[EFRenderingObjectVersion["AutoExposureForceOverrideBiasFlag"] = 42] = "AutoExposureForceOverrideBiasFlag"; // Override for a special case for objects that were serialized and deserialized between versions AutoExposureChanges and AutoExposureForceOverrideBiasFlag EFRenderingObjectVersion[EFRenderingObjectVersion["AutoExposureDefaultFix"] = 43] = "AutoExposureDefaultFix"; // Remap Volume Extinction material input to RGB EFRenderingObjectVersion[EFRenderingObjectVersion["VolumeExtinctionBecomesRGB"] = 44] = "VolumeExtinctionBecomesRGB"; // Add a new virtual texture to support virtual texture light map on mobile EFRenderingObjectVersion[EFRenderingObjectVersion["VirtualTexturedLightmapsV3"] = 45] = "VirtualTexturedLightmapsV3"; // -----<new versions can be added above this line>------------------------------------------------- EFRenderingObjectVersion[EFRenderingObjectVersion["LatestVersion"] = 45] = "LatestVersion"; })(EFRenderingObjectVersion = exports.EFRenderingObjectVersion || (exports.EFRenderingObjectVersion = {})); class FRenderingObjectVersion { 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 EFRenderingObjectVersion.BeforeCustomVersionWasAdded; if (game < Game_1.Game.GAME_UE4(13)) return EFRenderingObjectVersion.CustomReflectionCaptureResolutionSupport; if (game < Game_1.Game.GAME_UE4(14)) return EFRenderingObjectVersion.IntroducedMeshDecals; if (game < Game_1.Game.GAME_UE4(16)) return EFRenderingObjectVersion.FixedBSPLightmaps; // 4.14 and 4.15 if (game < Game_1.Game.GAME_UE4(17)) return EFRenderingObjectVersion.ShaderResourceCodeSharing; if (game < Game_1.Game.GAME_UE4(18)) return EFRenderingObjectVersion.AddedbUseShowOnlyList; if (game < Game_1.Game.GAME_UE4(19)) return EFRenderingObjectVersion.VolumetricLightmaps; if (game < Game_1.Game.GAME_UE4(20)) return EFRenderingObjectVersion.ShaderPermutationId; if (game < Game_1.Game.GAME_UE4(21)) return EFRenderingObjectVersion.IncreaseNormalPrecision; if (game < Game_1.Game.GAME_UE4(23)) return EFRenderingObjectVersion.VirtualTexturedLightmaps; if (game < Game_1.Game.GAME_UE4(24)) return EFRenderingObjectVersion.GeometryCacheFastDecoder; if (game < Game_1.Game.GAME_UE4(25)) return EFRenderingObjectVersion.MaterialShaderMapIdSerialization; if (game < Game_1.Game.GAME_UE4(26)) return EFRenderingObjectVersion.AutoExposureDefaultFix; return EFRenderingObjectVersion.LatestVersion; } } exports.FRenderingObjectVersion = FRenderingObjectVersion; FRenderingObjectVersion.GUID = new Guid_1.FGuid(0x12F88B9F, 0x88754AFC, 0xA67CD90C, 0x383ABD29);