teNOR

teNOR stands for “tracker-less exporter with Notably Optimised Results”1.

teNOR is a command-line program that converts .uge files saved by hUGETracker into .asm files. It can be considered an alternative to uge2source, tailored to fortISSimO.

Before talking about how to use it, here is teNOR’s built-in short help text:

$ ./teNOR -h
Exports hUGETracker `.uge` files for fortISSimO

Usage: teNOR [OPTIONS] <INPUT_PATH> [OUTPUT_PATH]

Arguments:
  <INPUT_PATH>   Path to the `.uge` file to be exported
  [OUTPUT_PATH]  Path to the `.asm` file to write to

Options:
  -i, --include-path <INCLUDE_PATH>
          Path to include file to emit [default: fortISSimO.inc]
  -t, --section-type <SECTION_TYPE>
          Type of the section that the data will be exported to; if omitted, no
          SECTION directive will be emitted
  -n, --section-name <SECTION_NAME>
          Name of the section that the data will be exported to [default: "Song
          Data"]
  -d, --song-descriptor <SONG_DESCRIPTOR>
          Name of the label that will point to the song's header (hUGETracker
          calls this the "song descriptor")
  -q, --quiet
          Do not emit stats at the end
      --color <COLOR>
          Use colours when writing to standard error (errors, stats, etc.) [default:
          auto] [possible values: always, auto, never]
  -h, --help
          Print help (see more with '--help')
  -V, --version
          Print version
1

This is totally not a backronym. What? …You don’t believe me?

Usage

teNOR is a command-line program; to use it, you should at least know how to open a terminal, change directories in it, and execute programs. (An alternative might be to use .bat files on Windows / .sh files anywhere else.)

I believe the core usage should be simple enough, so let’s talk about some of the options.

Song descriptor

The “song descriptor” is the label that will have to be passed to hUGE_SelectSong later. Since it is a label, it must be a valid RGBASM symbol name (regex: [A-Za-z_][A-Za-z0-9_#]*), and since it will be exported, it must be unique across the entire program.

Stats

teNOR tries to optimise the exported data to take less space. When it’s done running, it prints statistics about how much space the optimisations saved; this was originally done to check if they were worth the trouble, and then kept because honestly, why not?

If you don’t care about the stats, pass the -q/--quiet option to silence them.

Note that the reported savings are not the difference with the size of an equivalent hUGEDriver export, due to other, more fundamental format differences. Unoptimised fortISSimO exports should be smaller than hUGEDriver exports; how much varies from version to version.

Output file

teNOR aims to produce output files that are easy to understand and nicely formatted. If you want to read the generated file, go ahead!