Open ds5678 opened 1 year ago
Currently, textures have an injected property Dictionary<ISprite, ISpriteAtlas?> SpriteInformation
that is used to store references collected during processing. I do not like this property and feel that an artificial asset would be cleaner and more maintainable.
public sealed class SpriteInformationObject : UnityObjectBase
{
public ITexture2D Texture { get; }
public IReadOnlyDictionary<ISprite, ISpriteAtlas?> Sprites { get; }
}
Even if it's temporary and just a poorly done export I'd like to still be able to export the sprites with some option like "Use outdated sprite export scripts (only try if you don't mind corrupt/incorrect result) - This option will be removed when new ones are confirmed to be working correctly" For me I don't need perfect sprites at the moment, as long as it looks similar to the expected result then it's good enough for my mods
Even if it's temporary and just a poorly done export I'd like to still be able to export the sprites with some option like "Use outdated sprite export scripts (only try if you don't mind corrupt/incorrect result) - This option will be removed when new ones are confirmed to be working correctly" For me I don't need perfect sprites at the moment, as long as it looks similar to the expected result then it's good enough for my mods
I have no idea what you're asking for.
You still have the old broken code right? I would like an option to use that even if the output isn't perfect. The option would need a note of some sort attached to it for users that are unaware of the code not perfectly doing as expected but besides that there should be no problem in allowing it's use if the API it used is still available.
You still have the old broken code right?
What code?
Current handling of sprites is a mess. There's 3 equally broken export modes. I didn't write code for any of them and cannot contact the authors
So you're asking me to keep unmaintainable code before you even see the results of this change?
Only until you have outputs other than *.unreadable being produced. Since once those outputs exist I'll have some way of getting the sprites I need that doesn't involve old broken code.
*.unreadable being produced
That has nothing to do with this issue. That's an asset reading problem.
I thought that was the result of disabling the old code, if it's possible to do could you compile an upto date version with the code enabled to see if it'll read those assets for me? Because I remember in an older version of AR I was able to see those sprites in app and even export them.
No code has been disabled.
Oh, darn. In that case is there already an issue about *.unreadable assets that I can add my issue to or will I have to make a new thread for it?
Make a new issue.
Done: #1417
Context
Current handling of sprites is a mess. There's 3 equally broken export modes. I didn't write code for any of them and cannot contact the authors. Code documentation is sparse and does not include strong/thorough justification for decisions made. We need one
ring to rule them allexport mode that handles all cases.Sprite.RenderDataKey
andSpriteAtlas.RenderDataMap
Although I haven't done any investigation yet, I suspect these are critically important for this endeavor. In particular,
RenderDataKey
is anAssetPair<GUID, long>
, which is an editor PPtr.Related Issues and Pull Requests