Copyright (c) Hyperion Entertainment and contributors.
TMUI IFF Project File Format
Jump to navigation
Jump to search
TMUI
Toolmaker IFF project file format (ToolMaker V1.19)
---------------------------------
FORM TMUI
Description by Michael Erwin
The TMUI FORM is used by Toolmaker to describe the created graphical user
interface. TMUI stands for Toolmaker User Interface. This description is
for the output of Toolmaker V1.19 and may change in the future.
ZTS in the following FORMs and chunks means Zero Terminated String. All
reserved fields must be set to 0.
FORMs and chunks:
THDR
The THDR chunk contains the project's header information. It is always
located within the TMUI FORM.
- ZTS version - the project's version string. (Ex: '$VER: Toolmaker
Project 1.19 (8.7.92)\0')
- ULONG reserved
- ULONG reserved
ANNO
The ANNO chunk contains the project's annotation information. It is always
located within the TMUI FORM.
- ZTS description - a string describing the project file. (Ex: 'Project
file created by Toolmaker (c) 1992-1999 Amiga,
Inc. (c) 1991 Michael J. Erwin\0')
TMSE
The TMSE FORM contains all settings information. It is always located
within the TMUI FORM. Each setting is contained in its own chunk within
the TMSE FORM.
SATB
The SATB chunk contains information for the Top Border Adjust setting. It
is always located within the TMSE FORM.
- UBYTE flags - Top Border Adjust flags.
bit 0: 1 = Top Border Adjust on.
bit 1-31: reserved
SCOM
The SCOM chunk contains information for the Code Comments setting. It is
always located within the TMSE FORM.
- UBYTE flags - Code Comments flags.
bit 0: 1 = Code Comments on.
bit 1-31: reserved
SPRA
The SPRA chunk contains information for the Use Pragmas setting. It is
always located within the TMSE FORM.
- UBYTE flags - Use Pragmas flags.
bit 0: 1 = Use Pragmas on.
bit 1-31: reserved
SICN
The SICN chunk contains information for the Create Icons setting. It is
always located within the TMSE FORM.
- UBYTE flags - Create Icons flags.
bit 0: 1 = Create Icons on.
bit 1-31: reserved
SUSG
The SUSG chunk contains information for the User Wait Signal setting. It
is always located within the TMSE FORM.
- UBYTE flags - User Wait Signal flags.
bit 0: 1 = Create Icons on.
bit 1-31: reserved
SARX
The SARX chunk contains information for the Use SimpleRexx setting. It is
always located within the TMSE FORM.
- UBYTE flags - Use SimpleRexx flags.
bit 0: 1 = Use SimpleRexx on.
bit 1-31: reserved
SCHP
The SCHP chunk contains information for the Use __chip Keyword setting. It
is always located within the TMSE FORM.:
- UBYTE flags - Use __chip Keyword flags.
bit 0: 1 = Use __chip Keyword on.
bit 1-31: reserved
SUDA
The SUDA chunk contains information for the Use UserData Structures setting.
It is always located within the TMSE FORM.
- UBYTE flags - Use UserData Structures flags.
bit 0: 1 = Use UserData Structures on.
bit 1-31: reserved
SFRQ
The SFRQ chunk contains information for the Use ASL File Requester setting.
It is always located within the TMSE FORM.
- UBYTE flags - Use ASL File Requester flags.
bit 0: 1 = Use ASL File Requester on.
bit 1-31: reserved
SGSZ
The SGSZ chunk contains information for the Grid Snap setting. It is
always located within the TMSE FORM.
- UBYTE gridsize - the size of the grid spacing. Future versions of
Toolmaker may use other values.
1 = Grid Snap Off.
2 = Grid Snap at 2 pixels.
4 = Grid Snap at 4 pixels.
8 = Grid Snap at 8 pixels.
- UBYTE reserved
TSCR
The TSCR FORM contains all information for a screen. It is always
located within the TMUI FORM. There is one TSCR FORM for each screen.
As of V1.19 only one TSCR FORM is created and looked for. A TSCR FORM
exists even if the Workbench screen is used instead of a custom screen.
TSDA
The TSDA chunk contains general screen data. It is always located within
a TSCR FORM. For the Workbench screen only the displayID and mode fields
are used. All others are ignored.
- ULONG displayID - DisplayID as defined in <graphics/modeid.h>.
(0 = Workbench screen)
- ULONG width - the screen's width.
- ULONG height - the screen's height.
- ULONG depth - the screen's depth (number of bitplanes).
- ULONG overscan - overscan as defined in <intuition/screens.h>.
- ULONG TMflags - Toolmaker screen flags.
bit 0-2: reserved
bit 3: 1 = open at start
bit 4-31: reserved
- ULONG mode - Toolmaker internal screen mode flags. Future versions
of Toolmaker may ignore this info since this data is
redundant.
bit 0: 1 = NTSC
bit 1: 1 = PAL
bit 2: 1 = Interlace
bit 3: 1 = HIRES
bit 4: 1 = SuperHIRES
bit 5: 1 = Productivity
bit 6: 1 = A2024 10Hz
bit 7: 1 = A2024 15Hz
bit 8: 1 = Overscan TEXT
bit 9: 1 = Overscan STANDARD
bit 10: 1 = Overscan MAX
bit 11: 1 = Overscan VIDEO
bit 12: reserved
bit 13: 1 = Custom palette
bit 14: 1 = Default width
bit 15: 1 = Default height
bit 16-30: reserved
bit 31: 1 = Workbench
- struct Rectangle reserved
- ULONG reserved
- ULONG reserved
- ZTS title - the screen's title bar text.
- ZTS label - the screen's source code label.
- ZTS reserved
CMAP
The CMAP chunk contains color map data for the screen. It is in the same
format as the CMAP in the ILBM FORM and is always located within a TSCR
FORM. There are three UBYTEs for each bitplane of the screen.
- UBYTE red level.
- UBYTE green level.
- UBYTE blue level.
.
.
.
TWIN
The TWIN FORM contains all information for a window. It is always
located within a TSCR FORM. There is one TWIN FORM for each window
of the screen.
TWDA
The TWDA chunk contains general window data. It is always located within
a TWIN FORM.
- ULONG IDCMP - the window's IDCMP flags.
- ULONG TMflags - Toolmaker window flags.
bit 0: 1 = gimmezerozero
bit 1: reserved
bit 2: 1 = open at start
bit 4-31: reserved
- ULONG reserved
- ULONG reserved
- ZTS title - the window's title bar text.
- ZTS label - the window's source code label.
- ZTS reserved
TMEN
The TMEN FORM contains all information for a menu. It is always located
within a TWIN FORM. There is one TMEN FORM for each menu within a menu
bar.
TMDA
The TMDA chunk contains general menu data. It is always located within a
TWIN FORM.
- ULONG number - the menu's number counting from the left. For V1.19
this number is ignored and the menus are expected to be
in the correct order within the TWIN FORM.
- UWORD flags - the menu's flags as defined in <intuition/intuition.h>.
- ULONG TMflags - Toolmaker menu flags.
bit 0-31: reserved
- ULONG reserved
- ULONG reserved
- ZTS text - the menu's text
- ZTS label - the menu's source label
- ZTS reserved
TITE
The TITE FORM contains all information for a menu item. It is always
located within a TMEN FORM. There is one TITE FORM for each item within
the menu.
TIDA
The TIDA chunk contains general a menu item data. It is always located
within a TITE FORM.
- ULONG number - the item's number counting from the top. For V1.19
this number is ignored and the items are expected to be
in the correct order within the TMEN FORM.
- UWORD flags - the item's flags as defined in <intuition/intuition.h>.
- ULONG TMflags - Toolmaker menu item flags.
bit 0: 1 = mutual exclude all other items.
bit 1-31: reserved
- ULONG reserved
- ULONG reserved
- ULONG reserved
- ZTS text - the item's text.
- ZTS commkey - a character for the item's keyboard shortcut.
- ZTS label - the item's source code label.
- ZTS reserved
TSID
The TSID chunk contains all information for a menu subitem. It is always
located within a TITE FORM. There is one TSID chunk for each subitem
within an item.
- ULONG number - the subitem's number counting from the top. For V1.19
this number is ignored and the subitems are expected to be
in the correct order within the TITE FORM.
- UWORD flags - the subitem's flags as described in <intuition/intuition.h>.
- ULONG TMflags - Toolmaker menu subitem flags.
bit 0: 1 = mutual exclude all other subitems.
bit 1-31: reserved
- ULONG reserved
- ULONG reserved
- ULONG reserved
- ZTS text - the subitem's text.
- ZTS commkey - the subitem's keyboard shortcut character. (Ex: "A")
- ZTS label - the subitem's source code label.
- ZTS reserved
TGAD
The TGAD FORM contains all information for a gadget. It is always located
within a TWIN FORM. There is one TGAD FORM for each gadget within the
window.
TGDA
The TGDA chunk contains general gadget data. It is always located within
a TGAD FORM.
- ULONG number - the gadgets's number counting from the first one to
display. For V1.19 this number is ignored and the
gadgets are expected to be in the correct order within
the TWIN FORM.
- ULONG kind - the gadget's kind as described in <libraries/gadtools.h>.
- ULONG TMflags - Toolmaker gadget flags.
bit 0-31: reserved
- struct NewGadget newgadget - the gadget's NewGadget structure.
The ng_GadgetText, ng_TextAttr,
ng_GadgetID, ng_VisualInfo, and
ng_UserData fields are ignored.
* The ng_TopEdge is from the bottom of
the window's top border and the
ng_LeftEdge is from the right edge of
the window's left border if the Auto Top
Border setting is on.
- ULONG reserved
- ULONG reserved
- ZTS text - the gadget's text.
- ZTS label - the gadget's source code label.
- ZTS reserved
TFON
The TFON FORM contains all information for a font. It may be located
within a TSCR or TGAD FORM.
TTAT
The TTAT chunk contains general font data. Is is always located within
a TFON FORM.
- struct TextAttr textattr - the font's TextAttr structure. The ta_Name
field is ignored.
- ZTS name - the font's name (Ex: "topaz.font").
TINT
The TINT chunk contains information for an integer tag. It may be located
within a TSCR, TWIN, TGAD, or TFON FORM.
- ULONG tag - the tag.
- ULONG data - the tag's integer value.
- ULONG reserved
- ZTS data - the tag's value in character form. This is used mostly
for constants such as TRUE and FALSE. (Ex: "TRUE" or "1")
TCHA
The TCHA chunk contains information for a character tag. It may be located
within a TSCR, TWIN, TGAD, or TFON FORM.
- ULONG tag - the tag.
- ULONG character - the tag's ASCII character value (Ex: 'a' or 'b')
- ULONG reserved
- ZTS character - the tag's value in character form. (Ex: "a" or "b")
TWLS
The TWLS chunk contains information for a WORD list tag. It may be located
within a TSCR, TWIN, TGAD, or TFON FORM.
- SHORT count - the number of WORDs in the list.
- ULONG tag - the tag.
- ULONG reserved
- WORD[count] - the list of WORDs.
TSTR
The TSTR chunk contains information for a string tag. It may be located
within a TSCR, TWIN, TGAD, or TFON FORM.
- ULONG tag - the tag.
- ULONG reserved
- ULONG reserved
- ZTS string - the string.
TSLS
The TSLS chunk contains information for a string list tag. It may be
located within a TSCR, TWIN, TGAD, or TFON FORM.
- SHORT count - the number of strings in the list.
- ULONG tag - the tag.
- ULONG reserved1[count] - a reserved ULONG for each string in the list.
- ULONG reserved2[count] - a reserved ULONG for each string in the list.
- ZTS string[count] - the list of strings.
- ZTS label[count] - the source labels for each string.
TLLS
The TLLS chunk contains information for a linked list tag. It may be
located within a TSCR, TWIN, TGAD, or TFON FORM.
- SHORT count - the number of items in the list.
- ULONG tag - the tag.
- ULONG reserved1[count] - a reserved ULONG for each item in the list.
- ULONG reserved2[count] - a reserved ULONG for each item in the list.
- ZTS item[count] - the list of items.
- ZTS label[count] - the source labels for each item.
TNIN
The TNIN chunk contains information for a non-interactive tag. It may be
located within a TSCR, TWIN, TGAD, or TFON FORM.
- ULONG tag - the tag.
- ULONG reserved
- ZTS data - the tag's value in character form. (Ex: "TRUE" or "12")