UIS

User Interface Script (UIS) is an SGML-like format which sets up UI controls in TSO's game menus.

UIS file contents are enclosed with. Any text which does not appear inside the brackets of a tag is ignored, with the exception that the pound character (#) can be used at the beginning of a line to comment out tags. Tags are not closed like they are in XML/SGML.

All regular tags have a nameless attribute. That is, that attribute is not prepended with. Attributes are case-insensitive both before and after the =.

On this page, attributes are arranged not alphabetically, but in the order in which the game refers to them.

UIS files use a top-down coordinate system. The x,y position of any control defines the offset from the top-left of the picture to the top-left of the control.

AddButton
This tag defines the creation of a button control.

AddFormatedText
Yes, this is a typo in the game itself.

AddListBox
This tag defines the creation of a list box control.

AddProgressBar
This tag defines the creation of a progress bar control.

AddText
This tag defines the creation of a text control.

DefineImage
This tag defines a UIS image resource.

DefineString
This tag defines a UIS string resource.

SetControlProperties
SetControlProperties can be used to assign attributes to a control hardcoded into the game, for instance, the "background" control. Its usage is as follows:



SetSharedProperties
SetSharedProperties can be used to automatically assign attributes to tags within an embedded  pair. Its usage is as follows:

   

SetSharedProperties can also be used in the topmost  pair, thereby affecting all statements through to the end of the file.

Standard attributes
Standard attributes are optional attributes which can be used for any control.