FanTranslatorsInternational / Kuriimu2

Kuriimu is a general purpose game translation project manager and toolkit for authors of fan translations and game mods.
GNU General Public License v3.0
308 stars 56 forks source link

.g4tx/.nxtch Import/Export Error #306

Open light8227 opened 10 months ago

light8227 commented 10 months ago

Yo-kai Watch 4++ Nintendo Switch .g4tx/.nxtch Filetypes: .g4tx - Archive, .nxtch - Image

The plugin can open the .g4tx and .nxtch files, but cannot export or import a file out of them. Attempting to do so results in "An unhandled exception occured. Refer to the log for more information. The application will be closed." I've provided the plugin in question and files it doesn't work on.

Sample files: https://drive.google.com/file/d/1P4hyH1q9k4qvz33NXdIXgCQsXc_1Qegj/view?usp=sharing

RealDarkCraft commented 10 months ago

Hi, the modified version only contain Level5 and Criware plugins https://cdn.discordapp.com/attachments/799400810093871155/1038170089494679612/Kuriimu2_modified.zip (created by vidpic)

light8227 commented 10 months ago

These are the same plugins that I linked in my initial Issue. Even downloading that zip specifically has the Format 68 errors on the specific files that have them like before.

RealDarkCraft commented 10 months ago

in the hex data of the subgames03_41.nxtch the encoding definition are 44 image

but in the code of the nxtch (in kuriimu) : public static IDictionary<int, IColorEncoding> Formats = new Dictionary<int, IColorEncoding> { [0x25] = ImageFormats.Rgba8888(), [0x42] = ImageFormats.Dxt1(), [0x4D] = ImageFormats.Bc7() }; there is no encoding specified for byte the "44"

RealDarkCraft commented 10 months ago

I don't know what is the encoding for byte 44 but you will have to try some encoding formats

light8227 commented 10 months ago

Don't know if it's the best method for this, but I kind of made some progress, in a bit of a hacky sort of way. By importing the old code for extracting and importing into a different plugin where the Format 68 error was solved, I can now view and extract or import the textures from before. Unfortunately, it now causes an error when trying to save an edited texture (Even one where I reimported the same texture) and I'm not really sure where to start since there's thousands of changed lines between the two different plugins. So I'm not sure if this is the best path to try, but it is something...?

Edited plugin: https://drive.google.com/file/d/1qpDYMF8G0i6rvqG6B0homBweemWoFHi6/view?usp=sharing

RealDarkCraft commented 10 months ago

do you know how to compile kuriimu 2 plugins ? (because with visual studio code (dotnet build) i have pacakge nuget problems)

Salads commented 10 months ago

I had the same issues, using Visual Studio Community 2022. (Windows) @RealDarkCraft

It seems to put old nuget files in in the Global Packages Folder, which are missing some functions and definitions. (I have no idea where these older versions came from)

However, the nuget files in the repo that get built seem to be up to date. (They are created when you build the Kumiiru2 solution, and are automatically placed in the nuget folder in your repo)

I deleted them in that global cache folder, and cleaned and rebuilt the plugin solution, and that seems to get it to use the up to date versions.

RealDarkCraft commented 10 months ago

@light8227 the kurrimu crash when saving the file (the one which had error 68) is still present, I modified the dev version of kuriimu by adding the dxt5 format (for format 68) but when saving, its crash. so the problem of Kuriimu crashing when saving is still present