This is a list of all the small little tools I wrote whilst working on GTA: Underground. These are designed to tackle a specific problem I encountered and/or to do things that cannot easily be done with pre-existing tools. Writing little tools like these cut back on time significantly.
I decided to release them, I gave them all a fresh coat of paint, set up a nice workflow for them so you can download the binaries independently.
The following tools are included:
- gtamaptk-assignlods -> Can be used to assign LODs in one IPL (can be binary or text) which are located in a separate IPL.
- gtamaptk-breakable -> Generates a breakable DFF section for a given DFF. Very useful when making specific models breakable in-game.
- gtamaptk-buildtxdfolders -> Given an IDE file and list of DFF models, this tool can autobuild TXD folders, assuming you have one big texture folder. Used for GTA: Cottonmmouth and has its roots in Midway's development workflow.
- gtamaptk-conv2dfx -> Converts III/VC 2DFX data to 2dfx sections and appends them to output DFF files.
- gtamaptk-core -> Shared library that can read/write IDE & IPL files. This library is used by pretty much all of the tools listed here.
- gtamaptk-colsplit -> Can split off a new COL archive based on IDE/IPL entries from a large, central collision archive
- gtamaptk-cullzone -> Can compile/decompile a CULLZONE.DAT file from GTA: III.
- gtamaptk-entityinst -> Prop placement conversion tool for Manhunt entity.inst files. Outputs an IPL file you can use to port the files to GTA.
- gtamaptk-iplcomp -> Custom IPL compiler/decompiler that can autoresolve model names when decompiling.
- gtamaptk-idmover -> A tool that can remap IDs to a new range in both IDE and IPL files.
- gtamaptk-mapmover -> A tool that can move maps using a specified offset.
- gtamaptk-merge2dfx -> A tool that can merge 2dfx data from two different DFF sources.
- gtamaptk-validatelods -> A tool that can validate LOD assignments.
There are more tools I've written through the ages that I wouldn't consider suitable for public use, and thus need a few tweaks so you will be able to get the most of them. Here's a rough list of them:
- An IPL:occl converter
- I had a more "complex" converter that could decode a CULLZONE.DAT file and write out the attribute zones to an IPL but I chose to first write a basic compiler/decompiler for the aforementioned reasons.
- A III/VC paths converter
- A web-based path previewer that fully supports FLA formats
- I'm working on my own fork of Kams right now with additional features to allow you to export breakable sections etc. It's part of the workflow I have set up for GTA: Cottonmouth.
- ...and probably other stuff.
Apart from actual commandline tools I also modified numerous scripts over the years to make sure our workflow was up to standards. These will probably be in a separate repository, but here are some examples:
- We modified X's radar exporter to support variable map sizes, and had a massive radar image we composed from the mobile 256x256 tiles. This image was then extended, after which we drew the VC/III maps on top.
- There was a separate 3ds max script I wrote which more or less does the same thing as gtamaptk-buildtxdfolders, except that it never read an IDE. It just copy-pasted textures from one big folder to a destination folder, allowing us to build them with Magic later.
Right now, I've included a slim copy of aap's librwgta as a subfolder in multiple tools. I intend on moving it to the vendor folder at some point, but right now I need to submit a PR first to fix the build script since the path setup is not quite right at the moment.
You're free to use anything from this project, given attribution (see also LICENSE.md)