Skip to content

Commit

Permalink
feat(man): Add some manpages
Browse files Browse the repository at this point in the history
  • Loading branch information
dwatteau committed Nov 27, 2020
1 parent b257620 commit b73d653
Show file tree
Hide file tree
Showing 4 changed files with 353 additions and 0 deletions.
54 changes: 54 additions & 0 deletions man/FontXY.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
.Dd $Mdocdate: November 19 2020 $
.Dt FONTXY 1
.Os
.Sh NAME
.Nm FontXY
.Nd adjust glyph dimensions inside SCUMM fonts
.Sh SYNOPSIS
.Nm FontXY
.Cm i
.Ar CHARFILE
.Nm FontXY
.Cm o
.Ar CHARFILE
.Sh DESCRIPTION
The
.Nm
tool lets you adjust the relative size of each glyph inside a
SCUMM character file.
The mode of operation is chosen with one of the following options:
.Bl -tag -width Ds
.It Cm i
Import glyph dimensions from a
.Pa XY.txt
file into the specified
.Ar CHARFILE
resource.
.It Cm o
Export glyph dimensions from the specified
.Ar CHARFILE
resource into a
.Pa XY.txt
file.
.El
.Pp
.Ar CHARFILE
must be a
.Dq CHAR_*
resource file, as extracted by
.Xr scummrp 1 .
.Pp
Glyph dimensions are represented as a series of
.Ql X;Y
coordinates, relative to zero, each glyph being separated by a newline character.
Empty glyphs are represented as empty lines.
.Sh HISTORY
The
.Nm
tool was written in 2006 by Thomas Combeleran for the ATP team,
and was open-sourced in 2020 under an MIT license.
.Sh CAVEATS
Only Unix-type newline characters (LF) are currently supported.
.Pp
.Pa XY.txt
pathname is hardcoded.
51 changes: 51 additions & 0 deletions man/scummfont.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
.Dd $Mdocdate: November 19 2020 $
.Dt SCUMMFONT 1
.Os
.Sh NAME
.Nm scummfont
.Nd transform SCUMM font files to bitmaps
.Sh SYNOPSIS
.Nm scummfont
.Cm i
.Ar FONTFILE
.Ar image.bmp
.Nm scummfont
.Cm o
.Ar FONTFILE
.Ar image.bmp
.Sh DESCRIPTION
The
.Nm
tool transforms SCUMM font files between their internal format and a bitmap representation.
The mode of operation is chosen with one of the following options:
.Bl -tag -width Ds
.It Cm i
Import the content of an
.Pa image.bmp
bitmap file into the specified
.Ar FONTFILE
SCUMM resource, with a
.Dq -new
suffix added to it.
.It Cm o
Extract a font from a
.Ar FONTFILE
SCUMM resource into an
.Pa image.bmp
bitmap file.
.El
.Pp
.Ar FONTFILE
can either be a
.Dq CHAR_*
block extracted by
.Xr scummrp 1 ,
or an LFL file.
.Sh HISTORY
The
.Nm
tool was written between 2003 and 2004 by Thomas Combeleran for the ATP team,
and was open-sourced in 2020 under an MIT license.
.Sh CAVEATS
Only extremely simple bitmap files are supported.
They're sometimes called BMP3 files or Windows 3.x bitmap files.
87 changes: 87 additions & 0 deletions man/scummrp.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
.Dd $Mdocdate: November 19 2020 $
.Dt SCUMMRP 1
.Os
.Sh NAME
.Nm scummrp
.Nd pack and unpack SCUMM game data resources
.Sh SYNOPSIS
.Nm scummrp
.Fl i
.Op Fl qvV
.Op Fl t Ar tag
.Fl g Ar gameid
.Fl p Ar gamedir
.Fl d Ar dumpdir
.Nm scummrp
.Fl o
.Op Fl qvV
.Op Fl t Ar tag
.Fl g Ar gameid
.Fl p Ar gamedir
.Fl d Ar dumpdir
.Nm scummrp
.Fl L
.Sh DESCRIPTION
The
.Nm
tool imports and exports game data resources for SCUMM engine games.
The mode of operation is chosen with one of the following options:
.Bl -tag -width Ds
.It Fl i
Pack the content of a dump directory into game data files.
.It Fl o
Unpack resources from game data files to a dump directory.
.It Fl L
List all supported games with their respective
.Ar gameid .
If any other option is given, it will be ignored.
.El
.Pp
The other options are as follows:
.Bl -tag -width Dsgamedir
.It Fl d Ar dumpdir
The dump directory.
Game content is represented as a hierarchy of multiple files and subdirectories.
If it doesn't exist, the directory will be created.
.It Fl g Ar gameid
The ID of the game variant to pack or unpack, as returned
by the output of
.Fl L .
.It Fl p Ar gamedir
The path to the directory containing the resource files of the game.
.It Fl q
Quiet mode.
Suppress informational output.
.It Fl t Ar tag
Only export/import game resources matching the specified
.Ar tag .
A tag is the internal name of a resource type inside SCUMM.
It is usually a four-letter name, such as
.Dq SCRP .
.It Fl v
Verbose mode.
.It Fl V
Same as
.Fl v ,
but list resource names as they're being treated, too.
.El
.Sh EXAMPLES
Dump all the resources of the original Monkey Island 2 game to the
.Pa ./DUMP_MI2
directory:
.Pp
.Dl $ scummrp -o -g monkey2 -p /path/to/MI2 -d ./DUMP_MI2
.Pp
Dump the script resources of the Talkie version of Loom:
.Pp
.Dl $ scummrp -o -g loomcd -p /path/to/LOOM -t SCRP -d ./DUMP_LOOM
.Sh HISTORY
The
.Nm
tool was written in 2003 by Thomas Combeleran for the ATP team,
and was open-sourced in 2020 under an MIT license.
.Sh CAVEATS
On case-sensitive file systems, game data files must currently
follow the DOS convention of being all-uppercase to be properly
detected by
.Nm .
161 changes: 161 additions & 0 deletions man/scummtr.1
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
.Dd $Mdocdate: November 18 2020 $
.Dt SCUMMTR 1
.Os
.Sh NAME
.Nm scummtr
.Nd import and export fan translations for SCUMM engine games
.Sh SYNOPSIS
.Nm scummtr
.Fl i
.Op Fl bcqvw
.Op Fl l Ar language
.Fl g Ar gameid
.Fl p Ar gamedir
.Fl f Ar input
.Nm scummtr
.Fl o
.Op Fl bchHIqvw
.Op Fl a Ar resource
.Op Fl A Ar resource
.Op Fl l Ar language
.Fl g Ar gameid
.Fl p Ar gamedir
.Fl f Ar output
.Nm scummtr
.Fl L
.Sh DESCRIPTION
The
.Nm
tool imports and exports subtitles content for SCUMM engine games.
The mode of operation is chosen with one of the following options:
.Bl -tag -width Ds
.It Fl i
Import the content of a translation file to the game data files.
.It Fl o
Export the current subtitle content of a game to a translation file.
.It Fl L
List all supported games with their respective
.Ar gameid .
If any other option is given, it will be ignored.
.El
.Pp
The other options are as follows:
.Bl -tag -width Dslanguage
.It Fl a Ar resource
Protect the specified SCUMM resource types with extra padding, when
exporting.
.Pp
Some game resources are created with a short name and use a longer
name later in the game.
By default, this must be handled with manual
.Ql @
character padding, to prevent buffer errors when the rename happens
during the game.
The
.Fl a
option just applies extra padding to all specified resource types to
make things easier, at the cost of increased memory usage.
.Pp
Valid resource types for the
.Fl a
option are:
.Bl -tag -width Ds
.It Ic a
Pad all actor resources.
.It Ic o
Pad all object resources.
.It Ic v
Pad all verb resources.
.El
.It Fl A Ar resource
Same as
.Fl a ,
with variable IDs taken into account.
.It Fl b
Translation file will be handled in binary mode.
.It Fl c
Translation file will be handled as an ISO-8859-1 compatible file.
Without
.Fl c ,
non-ASCII characters will be handled as escape sequences.
.Pp
Note that each game variant only supported its own internal subset of
the ISO-8859-1 (or Windows-1252) encoding.
.It Fl f Ar file
The translation file to be used for the import or export.
.It Fl g Ar gameid
The ID of the game variant to be translated, as returned
by the output of
.Fl L .
.It Fl h
Add line headers, when exporting.
.It Fl H
Use hexadecimal character codes, when exporting.
.It Fl I
Show instruction opcode, when exporting.
.It Fl l Ar language
V1 and V2 games only.
The name of the language charset to be used for this translation.
.Pp
Possible values are:
.Bl -tag -width Ds
.It Ic de
Original German charset.
.It Ic en
Original English charset.
.It Ic fr
Original French charset.
.It Ic it
Original Italian charset.
.El
.It Fl p Ar gamedir
The path to the directory containing the resource files of the game.
.It Fl q
Quiet mode.
Suppress informational output.
.It Fl v
Verbose mode.
.It Fl w
Translation files use Windows-type newline characters (CRLF).
.Pp
By default,
.Nm
only uses Unix-type newline characters (LF), which may be less
compatible with older text editors.
.El
.Sh EXAMPLES
Extract the subtitles of the original Monkey Island 2 game to an
ISO-8859-1 file compatible with Notepad.exe:
.Pp
.Dl $ scummtr -o -c -w -g monkey2 -p /path/to/MI2 -f ./mi2_orig.txt
.Pp
Import a new French translation to the game files:
.Pp
.Dl $ scummtr -i -c -w -g monkey2 -p /path/to/MI2 -f ./mi2_fr.txt
.Pp
Export the subtitle content of a German Zak McKracken V1 game:
.Pp
.Dl $ scummtr -o -c -w -g zakv1 -l de -p /path/to/ZAKV1_DE -f ./zakv1_de.txt
.Sh HISTORY
The
.Nm
tool was written between 2003 and 2005
by Thomas Combeleran for the ATP team,
and was open-sourced in 2020 under an MIT license.
.Sh CAVEATS
Your text editor must not remove trailing spaces or empty lines,
otherwise you will have import errors.
.Pp
Since each game and each variant of each game had its own list of
accepted characters, it is not possible to know if a character
will be properly displayed without testing it in the game.
See also
.Xr scummfont 1 .
.Pp
Unicode files are not supported, and non-Roman languages need
some extra work for convenient use.
.Pp
On case-sensitive file systems, game data files must currently
follow the DOS convention of being all-uppercase to be properly
detected by
.Nm .

0 comments on commit b73d653

Please sign in to comment.