This is more a feature request.
Old MH manifest files don't have texture names and the initial string is the TFC file name, instead of the texture name. There is no other string and the current version of the MH Texture Manager crashes when trying such manifest files. But it's not a lot of effort to add support. I made a local modified version and can make a pull request, if you want. The main change is to remove the second string read command and to replace the texture name with the GUID.
For example, change this:
|
TextureFileName = TextureHead.ReadString(reader); |
to
TextureFileName = has_string ? TextureHead.ReadString(reader) : entry.Head.TextureName;
That means that there's an option (check box) needed to say if it's an old manifest (or maybe it can be detected, but I don't think there's a safe way to). Then, that option (boolean) would have to be passed to the function referenced above, but also to the function that reads the file name, so that the file name can be changed to include the GUID (otherwise there would be a lot of texture entries with identical names (file cache names). I also added the cache with a dot separator to the name, so the files are grouped to the cache in the tree view.
Finally, I think it would help to use the old manifest boolean to skip reading the TextureInfo.tsv or TextureInfo.bin, unless it can support multiple versions in the future.
This is more a feature request.
Old MH manifest files don't have texture names and the initial string is the TFC file name, instead of the texture name. There is no other string and the current version of the MH Texture Manager crashes when trying such manifest files. But it's not a lot of effort to add support. I made a local modified version and can make a pull request, if you want. The main change is to remove the second string read command and to replace the texture name with the GUID.
For example, change this:
MHTextureManager/src/TextureManifest.cs
Line 390 in bb1c24f
to
That means that there's an option (check box) needed to say if it's an old manifest (or maybe it can be detected, but I don't think there's a safe way to). Then, that option (boolean) would have to be passed to the function referenced above, but also to the function that reads the file name, so that the file name can be changed to include the GUID (otherwise there would be a lot of texture entries with identical names (file cache names). I also added the cache with a dot separator to the name, so the files are grouped to the cache in the tree view.
Finally, I think it would help to use the old manifest boolean to skip reading the TextureInfo.tsv or TextureInfo.bin, unless it can support multiple versions in the future.