Closed faospark closed 2 years ago
First try. Sprites blur.
there is white matte out side the sprite . mostly likely caused by photoshop
Just for reference this is how modders in VG does it at this time https://steamcommunity.com/sharedfiles/filedetails/?id=2561708531
tha looks great
:D
hahahah
Alpha.
imma test it now
imma test it now
Enable ImportTextures in config. It's disabled by default.
yup i did. it seems i cant find the button and keyboard fiiles
https://prnt.sc/1jn1fle it does export successfully somehow does import does not seem to work on UI
Chiming in on this since I started looking into UI textures for other reasons. The actual main UI textures (UI_Common_WindowFrame02/UI_Common_WindowFrame03/UI_Common_WindowFrame04) are not actually referenced in the Addressable Assets (AssetsPath.json), thus Memoria in its current state is unable to export or import them.
Some further information: it seems the approach currently being used to load textures (and assets in general really) is a bit limited, as there are assets that are present in AssetsPath.json that never get called into ResourceManager.completeAssetDic when they are being used (like the cursor, UI_Common_Cursor01). So I figure the best approach would be to take a higher level approach, such as hooking the direct calling of asset bundles or something similar.
Some further information: it seems the approach currently being used to load textures (and assets in general really) is a bit limited, as there are assets that are present in AssetsPath.json that never get called into ResourceManager.completeAssetDic when they are being used (like the cursor, UI_Common_Cursor01). So I figure the best approach would be to take a higher level approach, such as hooking the direct calling of asset bundles or something similar.
Do you have any thoughts on which API we can hook? As far as I know, all MonoBehaviour deserialization mechanisms go through a low-level API and don't use C# libraries at all.
In regards to the assets not being present in ResourceManager.completeAssetDic, a majority of those files are required files for prefabs that are registered into completeAssetDic. I suppose you could look into hooking AddressableAssetWrapper, although hooking generic functions are a pain and a half (couldn't get them working personally). I know some repos like XUnity hook the asset bundle loading directly.
nice
The problem is that the list of resources lists both atlases and regular sprites.
That is, there is an atlas: Skip MO_FF2_N001_C00 WalkB_00(Clone) WalkB_01(Clone) WalkL_00(Clone) WalkL_01(Clone)
And there are individual sprites: WalkB_00 WalkB_01 WalkL_00 WalkL_01
We need to think about how to combine them so as not to create duplicates when exporting / importing.
FF2: Only 6 sprites without atlases.
Default_00
Default_00
Default_00
TitleLogoImage_ZH-CH
TitleLogoImage_EN
TitleLogoImage
Something went wrong while exporting:
Actual: WalkL_00(Clone)
Rect: (x:0.00, y:0.00, width:16.00, height:16.00)
textureRect: (x:0.00, y:0.00, width:0.00, height:0.00) <<<
pivot: (8.0, 0.0)
border: (0.0, 0.0, 0.0, 0.0)
bounds: Center: (0.0, 8.0, 0.0), Extents: (8.0, 8.0, 0.1)
vertices: (-8.0, 16.0)|(8.0, 16.0)|(-8.0, 0.0)|(8.0, 0.0)
triangles: 0|1|2|2|1|3
Exported: WalkL_00(Clone)
Rect: (x:0.00, y:0.00, width:0.00, height:0.00)
textureRect: (x:0.00, y:0.00, width:0.00, height:0.00) <<<
pivot: (NaN, NaN)
border: (0.0, 0.0, 0.0, 0.0)
bounds: Center: (NaN, NaN, 0.0), Extents: (-Infinity, -Infinity, 0.1)
vertices: (NaN, NaN)|(NaN, NaN)|(NaN, NaN)|(NaN, NaN)
triangles: 0|1|2|2|1|3
It looks like the sprite is not initialized at all...
The problem is that neither the sprites from the atlas, nor the individual sprites nearby have information about the position on the texture. O.o
Other errors are the result of incorrect scaling.
Rect: (x:0.00, y:0.00, width:16.00, height:16.00)
textureRect: (x:0.00, y:0.00, width:0.00, height:0.00)
I had the idea that these are separate textures, but no. they all look at the same atlas, but for some reason do not tell about their coordinates. :(
Apparently, we have to look for a fragment on the texture pixel by pixel. х__х
[Info :Memoria IL2CPP] WalkL_00(Clone); Texture: UnityEngine.Texture2D, TextureSize: 128x64
Fixed!
sprite.textureRect => (x:0.00, y:0.00, width:0.00, height:0.00)
sprite.GetTextureRect() => (x:20.00, y:0.00, width:16.00, height:16.00)
-_-
I did it!
some assets require a bilinear filter like the burtons ![Uploading Screenshot_45.png…]()
Since enemy and map data has been succefully eported and done. I guess this a formal request if there is a possibility for texture replacement for graphical mods. Sorta like the same as TpSheets implementation on FFIX the current workflow for graphical mods now involves some tedious work and requires editing source files.