AdmiralCurtiss / HyoutaTools

A collection of tools for extracting and/or reinserting data from/into video games.
Other
68 stars 21 forks source link

Unable to build #12

Closed Gunlaus closed 3 years ago

Gunlaus commented 3 years ago

image

No clue on what i need to do.. appreciate the help

I have latest .NET and I'm using VS 2017

AdmiralCurtiss commented 3 years ago

Looks like you haven't checked out the submodules. Run git submodule update --init --recursive

Gunlaus commented 3 years ago

Looks like you haven't checked out the submodules. Run git submodule update --init --recursive

Do I run this with CMD CD'd to Hyota? Because it didn't do anything.

I'm sorry. Please bear with me. I have 0 knowledge in programming and VS. I just want to get to Vesperia's textures for ESRGAN training.

AdmiralCurtiss commented 3 years ago

How did you clone/download the repository to begin with? With git?

AdmiralCurtiss commented 3 years ago

If you just downloaded using the link on github, also download these two and drop them in the corresponding empty folders in HyoutaTools:

https://github.com/AdmiralCurtiss/HyoutaUtils/tree/0f51e9bce83dc74345021a40035f3e54f1dd5fdf https://github.com/AdmiralCurtiss/utf_tab-sharp/tree/a80f3314e81b74915084005e8acfc305799de28d

Gunlaus commented 3 years ago

If you just downloaded using the link on github, also download these two and drop them in the corresponding empty folders in HyoutaTools:

https://github.com/AdmiralCurtiss/HyoutaUtils/tree/0f51e9bce83dc74345021a40035f3e54f1dd5fdf https://github.com/AdmiralCurtiss/utf_tab-sharp/tree/a80f3314e81b74915084005e8acfc305799de28d

It worked! It seems in my haste I forgot to download the Utils as well. Thank you!

Gunlaus commented 3 years ago

Okay this is embarrassing but I would like to humbly request a step by step on how to install this. I've only ever built one VS project before and thankfully didn't have any issues. But with Hyouta I clicked on build and it said 8 successful, 0 failed, and yet I see no EXE or change in the folder structure. Where have I gone wrong?

AdmiralCurtiss commented 3 years ago

Alright, step-by-step:

This is a command line tool so you will have to run it via cmd.exe to get it to do anything useful. To do this you can just type cmd in the folder bar at the top of Explorer:

image

And then type the program name, any arguments, then press enter:

image

Gunlaus commented 3 years ago

Nailed it. Thank you so much. Is there any documentation I can read on for available arguments? No clue on how to apply this for my game

AdmiralCurtiss commented 3 years ago

Apart from the little blurb when you run the tools, not really. If you run the program without any arguments it will print out all available tools, and then you can invoke a tool and it will likely give you its own arguments. For example,

(shortened tool list for clarity; also assumed that we copied btl.svo from the PC version of Vesperia into the local folder beforehand)

C:\HyoutaTools\HyoutaToolsCLI\bin\Release>HyoutaToolsCLI.exe
[...]
 ToVfps4e     Tales.Vesperia.FPS4.Extract
 ToVfps4p     Tales.Vesperia.FPS4.Pack
 -            Tales.Vesperia.GenerateWebsite
 ToVmaplist   Tales.Vesperia.MapList
 -            Tales.Vesperia.NUB.Extract
 -            Tales.Vesperia.NUB.Rebuild
 -            Tales.Vesperia.SaveDataParser
 -            Tales.Vesperia.Scenario.Extract
 -            Tales.Vesperia.Scenario.Pack
 -            Tales.Vesperia.SE3.Extract
 SE3toNUB     Tales.Vesperia.SE3toNUB
 ToVspkd      Tales.Vesperia.SpkdUnpack
 ToVartes     Tales.Vesperia.T8BTMA
 -            Tales.Vesperia.Texture.Decode
[...]

C:\HyoutaTools\HyoutaToolsCLI\bin\Release>HyoutaToolsCLI.exe Tales.Vesperia.FPS4.Extract
Directory 'HyoutaToolsPlugins' not found, not loading any plugins.
Usage: file.svo [-h file.header] [OutputDirectory] [-nometa]

C:\HyoutaTools\HyoutaToolsCLI\bin\Release>HyoutaToolsCLI.exe Tales.Vesperia.FPS4.Extract btl.svo
Directory 'HyoutaToolsPlugins' not found, not loading any plugins.
Guessed FPS4 file location multiplier of 128; extraction may be incorrect if this is a wrong guess.
Extracting #0000: BTL_EFFECT.DAT
Extracting #0001: BTL_EFFECT.DAV
Extracting #0002: BTL_PACK.DAT

Also as I'm testing this I realize I still have not fixed the type-2 compression used in PC Vesperia, so if you want to extract that, either wait until I fix it (I promise I'll do it this weekend), or go back and compile this version instead:

https://github.com/AdmiralCurtiss/HyoutaTools/tree/525209cc0ada7d54f1a67f6f82c28c3e6cd0f722 https://github.com/AdmiralCurtiss/HyoutaUtils/tree/710e05a09ab8a07c304c91f3f3d7b25617673a06 https://github.com/AdmiralCurtiss/utf_tab-sharp/tree/a80f3314e81b74915084005e8acfc305799de28d

Gunlaus commented 3 years ago

Apart from the little blurb when you run the tools, not really. If you run the program without any arguments it will print out all available tools, and then you can invoke a tool and it will likely give you its own arguments. For example,

(shortened tool list for clarity; also assumed that we copied btl.svo from the PC version of Vesperia into the local folder beforehand)

C:\HyoutaTools\HyoutaToolsCLI\bin\Release>HyoutaToolsCLI.exe
[...]
 ToVfps4e     Tales.Vesperia.FPS4.Extract
 ToVfps4p     Tales.Vesperia.FPS4.Pack
 -            Tales.Vesperia.GenerateWebsite
 ToVmaplist   Tales.Vesperia.MapList
 -            Tales.Vesperia.NUB.Extract
 -            Tales.Vesperia.NUB.Rebuild
 -            Tales.Vesperia.SaveDataParser
 -            Tales.Vesperia.Scenario.Extract
 -            Tales.Vesperia.Scenario.Pack
 -            Tales.Vesperia.SE3.Extract
 SE3toNUB     Tales.Vesperia.SE3toNUB
 ToVspkd      Tales.Vesperia.SpkdUnpack
 ToVartes     Tales.Vesperia.T8BTMA
 -            Tales.Vesperia.Texture.Decode
[...]

C:\HyoutaTools\HyoutaToolsCLI\bin\Release>HyoutaToolsCLI.exe Tales.Vesperia.FPS4.Extract
Directory 'HyoutaToolsPlugins' not found, not loading any plugins.
Usage: file.svo [-h file.header] [OutputDirectory] [-nometa]

C:\HyoutaTools\HyoutaToolsCLI\bin\Release>HyoutaToolsCLI.exe Tales.Vesperia.FPS4.Extract btl.svo
Directory 'HyoutaToolsPlugins' not found, not loading any plugins.
Guessed FPS4 file location multiplier of 128; extraction may be incorrect if this is a wrong guess.
Extracting #0000: BTL_EFFECT.DAT
Extracting #0001: BTL_EFFECT.DAV
Extracting #0002: BTL_PACK.DAT

Also as I'm testing this I realize I still have not fixed the type-2 compression used in PC Vesperia, so if you want to extract that, either wait until I fix it (I promise I'll do it this weekend), or go back and compile this version instead:

https://github.com/AdmiralCurtiss/HyoutaTools/tree/525209cc0ada7d54f1a67f6f82c28c3e6cd0f722 https://github.com/AdmiralCurtiss/HyoutaUtils/tree/710e05a09ab8a07c304c91f3f3d7b25617673a06 https://github.com/AdmiralCurtiss/utf_tab-sharp/tree/a80f3314e81b74915084005e8acfc305799de28d

I'm perfectly fine with waiting, but may I ask, what do you mean by type-2 compression?

AdmiralCurtiss commented 3 years ago

That's just the internal ID number of the compression type.

https://github.com/AdmiralCurtiss/HyoutaTools/blob/master/Tales/tlzc/TLZC.cs#L18-L19

Gunlaus commented 3 years ago

Got it. Thanks for the clarification, looking forward to your update.

AdmiralCurtiss commented 3 years ago

Alright, I've updated the code, tlzc type 2 zlib decompression works again. Note that there is now a third submodule, so be sure to include that as well. (https://github.com/AdmiralCurtiss/zlib-sharp/tree/cdb4dcc3222e03ba5db45c27a55a2674bffaaf74)

Another tip: If you want to extract Vesperia, first copy all the game files you'd like to extract (likely all the *.svo files and possibly the DLC folder) into an empty folder, then within that folder run:

HyoutaToolsCLI.exe autoex TXMdetect start

This will recursively extract and uncompress all containers and decode textures. It may not catch everything, but it should catch most of it. Also be aware that uncompressed assets can be big, so it's probably a good idea to have a few hundred gigabytes of free space before doing this.

Also note that the textures of the PC version are in the DDS BC7 format, so you'll need something to decode that. texconv from https://github.com/Microsoft/DirectXTex/releases should work, for example.

hueyyeng commented 3 years ago

Sorry to interrupt the conversation here as @Gunlaus open an issue at my repo which depends on HyoutaToolsCLI.exe (a simple GUI frontend).

Looks like you have fix the TLZC compression issue as I saw there is new commit in HyoutaTools and recompiled again to verify it is working.

Good work for the prompt fix. :+1:

Gunlaus commented 3 years ago

@AdmiralCurtiss I can't quite express my gratitude for the tool you've created. You just saved me weeks or months of slowly dumping textures with something like NinjaRipper. I'd like to apologize again for bothering you with something that is as easy as ABC for anyone else (That goes to you too @hueyyeng). Both of you have went above and beyond to help me out, I'll never forget it. I can finally say that I'm successful in my quest to grab all textures.