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
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!