Skip to content

Releases: TheOnlyZac/sly-string-toolkit

Sly String Toolkit v1.4.0

31 Jan 22:22
68e3338
Compare
Choose a tag to compare

Changes

  • Use --clps2c switch to output CLPS2C source code instead of raw pnach.

Full Changelog: v1.3.0...v1.4.0

Usage

python stringtoolkit.py [-g 2/3] [-r ntsc/pal] <options> input_file.csv

These arguments are required:

  • -g <game> - Which game the mod supports. 2 for Sly 2 or 3 for Sly 3 (required).
  • -r <region> - Which region the mod supports. Can be ntsc or pal (required).

These arguments are optional:

  • -l <lang> - The language the pnach should work for (PAL only). If not set, it will affect all languages.
  • -n <mod_name> - The name of the mod. Shows in the PCSX2 GUI. The output file will be <crc>.<mod_name>.pnach (default is the same as the input file).
  • -a <author> The author of the mod. Shows in the PCSX2 GUI (default is "Sly String Toolkit").
  • -o <output_dir> - The output directory for the pnach file (default is ./out/).
    • Can be en, fr, it, de, es, nd, pt, da, fi, no, or sv.
    • Only one pnach can be used at a time, so if your mod supports multiple languages, you must post them as separate patches.
  • -c <asm_codecave> - Change the address of the codecave where the mod's assembly code is injected.
  • -s <strings_codecave> - Change the address of the codecave where the custom strings are injected.
  • --live-edit - Enable live edit mode. This will allow you to edit the strings in the csv and the pnach will automatically update.
  • --verbose - Enable verbose output.
  • --clps2c - Output CLPS2C source code instead of raw pnach
  • -h - Show help.

For detailed setup and usage instructions, see README.md.

Sly String Toolkit v1.3.0

31 Jan 20:22
54613cf
Compare
Choose a tag to compare

Changes

  • Added support for Sly 3 NTSC.
  • Changed main script from main.py to stringtoolkit.py
  • Updated commandline arguments
  • Custom addresses no longer need to begin with a 2 (e.g. 0x201a2b3c rather than 0x1a2b3c)

Full Changelog: v1.2.0...v1.3.0

Usage

python stringtoolkit.py [-g 2/3] [-r ntsc/pal] <options> input_file.csv

These arguments are required:

  • -g <game> - Which game the mod supports. 2 for Sly 2 or 3 for Sly 3 (required).
  • -r <region> - Which region the mod supports. Can be ntsc or pal (required).

These arguments are optional:

  • -l <lang> - The language the pnach should work for (PAL only). If not set, it will affect all languages.
  • -n <mod_name> - The name of the mod. Shows in the PCSX2 GUI. The output file will be <crc>.<mod_name>.pnach (default is the same as the input file).
  • -a <author> The author of the mod. Shows in the PCSX2 GUI (default is "Sly String Toolkit").
  • -o <output_dir> - The output directory for the pnach file (default is ./out/).
    • Can be en, fr, it, de, es, nd, pt, da, fi, no, or sv.
    • Only one pnach can be used at a time, so if your mod supports multiple languages, you must post them as separate patches.
  • -c <asm_codecave> - Change the address of the codecave where the mod's assembly code is injected.
  • -s <strings_codecave - Change the address of the codecave where the custom strings are injected.
  • --live-edit - Enable live edit mode. This will allow you to edit the strings in the csv and the pnach will automatically update.
  • --verbose - Enable verbose output.
  • -h - Show help.

For detailed setup and usage instructions, see README.md.

Sly String Toolkit v1.2.0

15 Feb 03:19
0453d85
Compare
Choose a tag to compare

Setup

  1. Install Python 3.8 or higher.

  2. Install the dependencies with pip install -r requirements.txt

  3. Run python main.py <input_file> to generate the .pnach file.

    • Use the -o argument to specify the output directory if desired.
  4. Put the .pnach file in your pcsx2/cheats folder, enable cheats, and start the game.

Usage

python main.py <input_csv> <options>

The script supports the following optional arguments:

  • -o <output_dir> - The output directory for the pnach file (default is ./out/)
  • -n <mod_name> - The name of the mod. The output file will be <crc>.<mod name>.pnach (default is the same as the input file)
  • -r <region> - The region of the game. Can be ntsc or pal (default is ntsc)
  • -d <dialect> - The language the pnach should work for (PAL only). If not set, it will affect all languages.
    • Can be en, fr, it, de, es, nd, pt, da, fi, no, or sv.
    • Only one language pnach file may be used at a time.
  • -l - Enable live edit mode. This will allow you to edit the strings in the csv and the pnach will automatically update.
  • -v - Enable verbose output
  • -h - Show help

Changelog

Full Changelog: v1.1.0...v1.2.0

Sly String Toolkit v1.1.0

11 Feb 18:21
Compare
Choose a tag to compare

Changelog

  • Added support for PAL version (run the script with --region pal or -r pal
  • Tweaked commandline arguments
    • No longer need to specify -i for the input file, just pass it as the first argument
    • -o now sets the output directory, not the outfile file name
    • -n <name> sets the mod name, the output file will be <crc>.<mod name>.pnach
  • Tweaked the order of the pnach file (first is the hook, then custom asm, then strings)

Sly String Toolkit v1.0.0

10 Feb 22:30
Compare
Choose a tag to compare

Setup

  1. Install Python 3.8 or later.

  2. Install the dependencies with pip install -r requirements.txt

  3. Run python main.py to generate the .pnach file.

    • Use the -i and -o arguments to specify the input and output files.
  4. Put the .pnach file in your pcsx2/cheats folder and start the game.

Usage

python main.py <options>

The script supports the following optional arguments:

  • -i <inputfile> - The name of the input csv file (default is ./strings.csv)
  • -o <outputfile> - The name of the output pnach file (default is out/07652DD9.mod.pnach)
  • -a <address> - The address to write the strings to (default is 203C7980)
  • -d - Output out.asm and out.bin files for debugging
  • -v - Enable verbose output
  • -h - Show help

Strings File Format

The input file should be a CSV where each row has the following format:

<string id>,<string>,<optional target address>

  • <string id> is the ID of the string you want to replace
  • <string> is the string to replace it with
  • <optional target address> is the address to write the string to. If not specified, it will be written with the rest of the strings in a block at the address specified by the -a option.

Everything after the third column is ignored by the script, so you can use them for notes if you want. You can make the file in Excel or Google Sheets and then export it as a CSV.