mirror of
https://github.com/AssetRipper/AssetRipper.git
synced 2025-12-11 20:15:29 +01:00
Fix issue with SpriteInformationObject being generated for engine assets
This commit is contained in:
parent
5a81c48c2a
commit
1c9036fcb5
@ -143,12 +143,6 @@ public class EngineAssetsExporter : IAssetExporter
|
||||
guid = PredefinedAssetCache.FGUID;
|
||||
return true;
|
||||
}
|
||||
else if (FilenameUtils.IsEngineGeneratedF(fileName))
|
||||
{
|
||||
//Not sure this is correct
|
||||
guid = PredefinedAssetCache.FGUID;
|
||||
return true;
|
||||
}
|
||||
guid = default;
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -22,6 +22,11 @@ namespace AssetRipper.IO.Files.Utils
|
||||
return fileName is BuiltinExtraName1 or BuiltinExtraName2;
|
||||
}
|
||||
|
||||
public static bool IsDefaultResourceOrBuiltinExtra(string? fileName)
|
||||
{
|
||||
return IsDefaultResource(fileName) || IsBuiltinExtra(fileName);
|
||||
}
|
||||
|
||||
public static bool IsEngineGeneratedF(string? fileName)
|
||||
{
|
||||
return fileName is EngineGeneratedF;
|
||||
|
||||
@ -4,6 +4,7 @@ using AssetRipper.Assets.Collections;
|
||||
using AssetRipper.Assets.Metadata;
|
||||
using AssetRipper.IO.Files;
|
||||
using AssetRipper.IO.Files.SerializedFiles;
|
||||
using AssetRipper.IO.Files.Utils;
|
||||
using AssetRipper.Mining.PredefinedAssets;
|
||||
using AssetRipper.SourceGenerated;
|
||||
using AssetRipper.Tpk;
|
||||
@ -47,8 +48,8 @@ internal sealed partial record class GameInitializer
|
||||
|
||||
public static void InjectEngineFilesIfNecessary(GameBundle gameBundle, UnityVersion targetVersion)
|
||||
{
|
||||
bool injectDefaultResources = gameBundle.ResolveCollection("unity default resources") is null;
|
||||
bool injectExtraResources = gameBundle.ResolveCollection("unity builtin extra") is null;
|
||||
bool injectDefaultResources = gameBundle.ResolveCollection(FilenameUtils.DefaultResourceName1) is null;
|
||||
bool injectExtraResources = gameBundle.ResolveCollection(FilenameUtils.BuiltinExtraName2) is null;
|
||||
if (!injectDefaultResources && !injectExtraResources)
|
||||
{
|
||||
return;
|
||||
@ -65,12 +66,12 @@ internal sealed partial record class GameInitializer
|
||||
EngineResourceData data = GetData(targetVersion);
|
||||
if (injectDefaultResources)
|
||||
{
|
||||
InjectedEngineCollection collection = new("unity default resources", targetVersion, bundle);
|
||||
InjectedEngineCollection collection = new(FilenameUtils.DefaultResourceName1, targetVersion, bundle);
|
||||
collection.AddAssets(data.DefaultResources);
|
||||
}
|
||||
if (injectExtraResources)
|
||||
{
|
||||
InjectedEngineCollection collection = new("unity builtin extra", targetVersion, bundle);
|
||||
InjectedEngineCollection collection = new(FilenameUtils.BuiltinExtraName2, targetVersion, bundle);
|
||||
collection.AddAssets(data.ExtraResources);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
using AssetRipper.Assets.Bundles;
|
||||
using AssetRipper.Assets.Cloning;
|
||||
using AssetRipper.Assets.Metadata;
|
||||
using AssetRipper.IO.Files.Utils;
|
||||
using AssetRipper.SourceGenerated.Classes.ClassID_213;
|
||||
using AssetRipper.SourceGenerated.Classes.ClassID_28;
|
||||
using AssetRipper.SourceGenerated.Classes.ClassID_687078895;
|
||||
@ -19,7 +20,10 @@ namespace AssetRipper.Processing.Textures
|
||||
public void Process(GameData gameData)
|
||||
{
|
||||
ObjectFactory factory = new ObjectFactory(gameData);
|
||||
foreach (IUnityObjectBase asset in gameData.GameBundle.FetchAssets())
|
||||
foreach (IUnityObjectBase asset in gameData.GameBundle
|
||||
.FetchAssetCollections()
|
||||
.Where(c => !FilenameUtils.IsDefaultResourceOrBuiltinExtra(c.Name))
|
||||
.SelectMany(c => c))
|
||||
{
|
||||
if (asset is ITexture2D texture)
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user