diff --git a/src/options.c b/src/options.c index 3e5c1ca..e2e5ca6 100644 --- a/src/options.c +++ b/src/options.c @@ -66,6 +66,7 @@ static void usage(char *s) " -l --loop Enable module looping\n" " -M --mute ch-list Mute the specified channels\n" " --nocmd Disable interactive commands\n" +" --offset-bug-emulation Emulate Protracker 2.x bug in effect 9\n" " -R --random Random order playing\n" " -S --solo ch-list Set channels to solo mode\n" " -s --start num Start from the specified order\n" @@ -113,6 +114,7 @@ static struct option lopt[] = { { "null", 0, 0, 'N' }, { "nocmd", 0, 0, OPT_NOCMD }, { "nofilter", 0, 0, 'F' }, + { "offset-bug-emulation",0, 0, OPT_FX9BUG }, { "output-file", 1, 0, 'o' }, { "pan", 1, 0, 'P' }, { "probe-only", 0, 0, OPT_PROBEONLY }, @@ -216,6 +218,9 @@ void get_options(int argc, char **argv, struct options *options) options->driver_id = "file"; } break; + case OPT_FX9BUG: + options->flags |= XMP_FLAGS_FX9BUG; + break; case 'P': options->mix = strtoul(optarg, NULL, 0); if (options->mix < 0) diff --git a/src/xmp.1 b/src/xmp.1 index e2a10d1..b9733e8 100644 --- a/src/xmp.1 +++ b/src/xmp.1 @@ -24,6 +24,7 @@ xmp - Extended Module Player [\fB-N, --null\fP] [\fB--nocmd\fP] [\fB-o, --output-file\fP \fIfilename\fP] +[\fB--offset-bug-emulation\fP] [\fB-P, --pan\fP \fIpan\fP] [\fB--probe-only\fP] [\fB-q, --quiet\fP] @@ -94,6 +95,8 @@ Disable interactive commands\&. .IP "\fB-o, --output-file\fP \fIfilename\fP" Set the output file name when mixing to raw or WAV files\&. If \'-\' is given as the file name, the output will be sent to stdout\&. +.IP "\fB--offset-bug-emulation\fP" +Emulate Protracker 2.x handling of effect 0x09 (set sample offset)\&. .IP "\fB-P, --pan\fP \fInum\fP" Set the percentual panning amplitude\&. .IP "\fB--probe-only\fP"