Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lack of documentation for command line tools #286

Open
PiKeyAr opened this issue Feb 6, 2025 · 0 comments
Open

Lack of documentation for command line tools #286

PiKeyAr opened this issue Feb 6, 2025 · 0 comments

Comments

@PiKeyAr
Copy link
Member

PiKeyAr commented Feb 6, 2025

The following command line tools do not have any documentation. That makes 14 tools out of 18.

WeldConverter
splitEvent
splitMTN
splitShapeMotion
TextureRemap
ModelRelabeler
OptimizeAnim
buildMTN
buildShapeMotion
LevelConverter
ModelConverter
ModelFixes
buildMDL
AnimJSONConverter

Note: (paktool does display command line switches but lacks a general description and doesn't pause before exiting, so for clueless people it's nothing more than a flashing CMD window)

Some tools trigger a dialog on startup. The purpose of some other tools can be guessed from the tool's name, but for some of these tools I have no idea what they're supposed to do or what the arguments are supposed to be without looking at the source code. Most of these tools follow a copypasted template that asks you for some kind of File: or Path: and crashes when the input doesn't match what the tool expects.

We should establish a standard for command line tools. Here's what I did for ArchiveTool, but we could come up with something better.

  • One or two sentences describing the general purpose of the tool: This program extracts ... archives or builds a ... archive from a folder.
  • A full command line with all required and optional switches if the tool is single-purpose. For multi-purpose tools the command line could be separate for each use. Usage: tool.exe [-f] <input> <output>
  • Explanation of command line arguments: 'input' is the location of the archive or the folder which will be used to build the archive. 'output' is the destination archive name or location for the extracted files. '-f' adds ... to the extracted files.
  • Example use cases: Extracting test archive to 'D:\test': 'tool test.tst D:\test'

It might also be a good idea to mention usage of drag-and-drop if the tool only has one argument of the input file/path.

In addition, I personally also followed this until now. I don't know whether it should be our standard or not.

  • Required items are wrapped in <> and optional items are wrapped in []
  • When run without command line options, the program displays the help message, waits for the ENTER key to be pressed and quits.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant