Post by zatarita on Jan 12, 2022 0:16:09 GMT 10
Hello!
I have recently been approached by a few people in your community with a request for a custom tool to break tpls into individual tpls. I was having a bit of fun so I went a bit further creating some tools to modify the ps2 version of the game. I typically mod halo, and was mildly procrastinating on my main project with this one. I NEED to get back to doing what I was with my other tools. I figure one day once I finish with my other projects I'll come back to this. Right now I feel I should at least release what I have. This is interface, extreme alpha.
What is interface?
Interface is a CLI swiss army knife if you will.
It can handle extracting the AFS, DATs, SMDs, ETMs, and ITMs. It can handle both big and small endian dats; however, it wont handle big endian tpls or smds. Most of the extract functions have a -r flag that allows you to recursively extract a directory instead of an entire file eg. "dat-extract -r bio4dat" will recursively extract each dat file in the folder bio4dat. This will also send each extraction to its own thread in a thread pool to maximize speed.
It can rebuild dats, and etms; however, I wasn't able to get AFS to rebuild correctly.
It can split tpls from a group into individuals with support for mipmaps, and it can also "decompile" tpls to TGAs (though swizzling isn't supported yet)
you can adjust the output filter level with the -verbose, -log, and -silent flags.
SOME commands have additional information if you call the function without any parameters. eg "interface afs-extract" would should you an additional flag to include empty files in the extract.
I will return to this project some day c:
Once I have some more time I'll update the github repo as well so you can peak the source code if you like.
Do keep in mind it's unfinished so some things may not work 100% correctly
run "interface.exe" by its self to see a list of commands available
Download
I have recently been approached by a few people in your community with a request for a custom tool to break tpls into individual tpls. I was having a bit of fun so I went a bit further creating some tools to modify the ps2 version of the game. I typically mod halo, and was mildly procrastinating on my main project with this one. I NEED to get back to doing what I was with my other tools. I figure one day once I finish with my other projects I'll come back to this. Right now I feel I should at least release what I have. This is interface, extreme alpha.
What is interface?
Interface is a CLI swiss army knife if you will.
It can handle extracting the AFS, DATs, SMDs, ETMs, and ITMs. It can handle both big and small endian dats; however, it wont handle big endian tpls or smds. Most of the extract functions have a -r flag that allows you to recursively extract a directory instead of an entire file eg. "dat-extract -r bio4dat" will recursively extract each dat file in the folder bio4dat. This will also send each extraction to its own thread in a thread pool to maximize speed.
It can rebuild dats, and etms; however, I wasn't able to get AFS to rebuild correctly.
It can split tpls from a group into individuals with support for mipmaps, and it can also "decompile" tpls to TGAs (though swizzling isn't supported yet)
you can adjust the output filter level with the -verbose, -log, and -silent flags.
SOME commands have additional information if you call the function without any parameters. eg "interface afs-extract" would should you an additional flag to include empty files in the extract.
I will return to this project some day c:
Once I have some more time I'll update the github repo as well so you can peak the source code if you like.
Do keep in mind it's unfinished so some things may not work 100% correctly
run "interface.exe" by its self to see a list of commands available
Download