Object Element
Overview
Object Elements are a subgroup of the elements in the Oblivion XML schema. Every visible part of a menu - the background and images, the buttons, the text - is an object element.
Object Elements are usually given a name to identify them using the Name attribute, e.g. the image element that holds a menu's background texture might be:
<image name="background_texture"> </image>
Operator Elements and OBSE menu functions generally refer to Objects by their name.
Object Elements should not contain literal text or numbers. Instead, they should have a series of Property Elements as children, which in turn will contain the various parameters that describe the object. For example, the <text> element that holds the title of a menu might be defined like this:
<text name="title_text"> <!-- Text element, Name attribute is 'title_text' --> <x> 100 </x> <!-- position determined by <x> & <y> Property elements --> <y> 150 </y> <font> 2 </font> <!-- text font determined by <font> Property element--> <string> <!-- actual text determined by <string> Property element --> This is the Actual Title </string> </text>
M Below is a listing of common Object Elements, and the groups of Properties each can make use of.
Image
Defines a rectangular region with an associated texture. Every visible aspect of the menus and HUD, except for text, is an <image> element.
Property Elements
Rect
Defines a rectangular region (similar to an Image element), but without any visible effects. Even so, a <Rect> element may have a Visible property, which if set to false will hide the <Rect> element and all of its children.
Property Elements
Text
Self explanatory. Note, however, that the width and height property elements have no effect on the size of the text - this is determined solely by the font property.
Property Elements
Menu
Menu elements are a bit special. The root element of a every menu file must be of this type, and no other <menu> elements are parsed, no matter where they appear in the file.
Property Elements