Object Element

Revision as of 14:07, 31 March 2010 by imported>JRoush

Overview

Object Elements are a subgroup of the elements in the Oblivion XML schema. Every part of a menu - the background and images, the buttons, the text - anything visible - is an object element.

Object Elements are usually given a name to identify them using the Name trait, e.g. the image element that holds a menus background texture might be:

<image name="background_texture"> </image>

This name could then be used by an Operator Element or an OBSE scripting function to refer to this object.

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 trait 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>

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 element as a child, 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