From bde2ce54ed022e6117b3949f0e7d3393e3421318 Mon Sep 17 00:00:00 2001 From: LongerWarrior Date: Mon, 30 Sep 2024 15:43:56 +0300 Subject: [PATCH] GlobalShaderCache and TonyHawkProSkater support --- CUE4Parse | 2 +- FModel/ViewModels/CUE4ParseViewModel.cs | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/CUE4Parse b/CUE4Parse index 528eef3c..76fcf8cc 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit 528eef3c951f031612b69aa1e594e981f5e194bd +Subproject commit 76fcf8cca1e5cc0e8949f56eecdf43986235706b diff --git a/FModel/ViewModels/CUE4ParseViewModel.cs b/FModel/ViewModels/CUE4ParseViewModel.cs index 082d72e9..14f6ce5b 100644 --- a/FModel/ViewModels/CUE4ParseViewModel.cs +++ b/FModel/ViewModels/CUE4ParseViewModel.cs @@ -24,7 +24,8 @@ using CUE4Parse.GameTypes.MJS.Encryption.Aes; using CUE4Parse.GameTypes.NetEase.MAR.Encryption.Aes; using CUE4Parse.GameTypes.PAXDEI.Encryption.Aes; using CUE4Parse.GameTypes.Rennsport.Encryption.Aes; -using CUE4Parse.GameTypes.UDWN.Encryption.Aes; +using CUE4Parse.GameTypes.UDWN.Encryption.Aes; +using CUE4Parse.GameTypes.THPS.Encryption.Aes; using CUE4Parse.MappingsProvider; using CUE4Parse.UE4.AssetRegistry; using CUE4Parse.UE4.Assets.Exports; @@ -200,7 +201,8 @@ public class CUE4ParseViewModel : ViewModel EGame.GAME_DeltaForceHawkOps => DeltaForceAes.DeltaForceDecrypt, EGame.GAME_MonsterJamShowdown => MonsterJamShowdownAes.MonsterJamShowdownDecrypt, EGame.GAME_Rennsport => RennsportAes.RennsportDecrypt, - EGame.GAME_FunkoFusion => FunkoFusionAes.FunkoFusionDecrypt, + EGame.GAME_FunkoFusion => FunkoFusionAes.FunkoFusionDecrypt, + EGame.GAME_TonyHawkProSkater12 => THPS12Aes.THPS12Decrypt, _ => Provider.CustomEncryption }; @@ -682,6 +684,16 @@ public class CUE4ParseViewModel : ViewModel } break; + } + case "bin" when fileName.Contains("GlobalShaderCache"): + { + if (Provider.TryCreateReader(fullPath, out var archive)) + { + var registry = new FGlobalShaderCache(archive); + TabControl.SelectedTab.SetDocumentText(JsonConvert.SerializeObject(registry, Formatting.Indented), saveProperties, updateUi); + } + + break; } case "bnk": case "pck":