Contributing to the Tools - X-Hax/sa_tools GitHub Wiki

Building SA Tools

Prerequisites:

  • Visual Studio 2019 or higher
  • .NET 5.0 Desktop runtime

To produce a package, build the SA Tools.sln file in Visual Studio and run buildSATools.exe in the solution's root folder. The package is placed in the output folder by default. Run buildSATools.exe with the -help command line switch for additional build settings.

Contributing to SA Tools

There are many ways to contribute to the development of SA Tools, some of which don't require any programming knowledge.

Updating Game Templates

Game templates used by the tools contain information on how to extract levels, models, animations and other data from the games. Work has been done to identify this data and extract it in a way that could resemble the original source assets.

Metadata fields

To make it easier for the end users to find the assets they want, most data has meta sections that contains descriptions, texture files to use etc. This is used in the menu in SAMDL that appears when you load a project file. However, not all models have descriptions or texture files defined at the moment.

Any help on updating the metadata is appreciated. The metadata is stored as additional fields in INI files for each template in the GameConfig folder.

If you want to update existing labels, please focus on PC ports of SA1 and SA2 as these have the most complete split data, and the labels can be transferred to different versions without redoing them all over.

Split data

You can add more data to existing templates, or make new templates for other versions of SA1 and SA2 on different platforms, including prototypes, region exclusive trial versions etc.

If you know the location of a model, animation, texture list etc. that isn't included in a game template's split configuration, please add it to the template. If you are working with a console version of the game, make sure asset filenames match those of their PC counterparts.

Documentation

Documentation for some tools is lacking or missing entirely. If you have learned how to use a certain tool or feature and want to make it more accessible for others, you can update the SA Tools wiki, the SADX Modding Guide or the SA2B Modding Guide to share your knowledge with others.

Bug Reports

Any well-structured bug report for a reproducible issue is an important contribution to the development of SA Tools. While there is no guarantee that all issues will be resolved, a reported bug has a higher chance of being fixed than an unreported one.