OBD talk:WMDD

From OniGalore
Revision as of 09:39, 11 April 2009 by Paradox-01 (talk | contribs)
Jump to navigation Jump to search

WMDD: blue windows

general information

  • files like WMDDdialog_options.oni are global. (They can be found in edition/GameDataFolder/level0_...)
  • See HERE if you don't know how to convert an oni file into XML and vice versa.
  • A WMDD file contains either a page plus dialogs or a "pop-up" page like "WMDDdialog_ChangeRestart.xml" with dialogs.
  • cross effecting WMDD ? : WMDDdialog_text_console.xml (might define size of "text consoles", here: 460x410)


XML structure

<?xml version="1.0" encoding="utf-8"?>
<Oni Version="0.9.34.0">
   <Instance id="0" type="WMDD">
       <Caption>Options</Caption>
       <Id>152</Id>
       <State>Visible</State>
       <Style>Center</Style>
       <X>0</X>
       <Y>0</Y>
       <Width>640</Width>
       <Height>480</Height>
       <Controls>
           [...]
       </Controls>
   </Instance>
</Oni>

[...] means at least one WMDDControl block.

example

           <WMDDControl>
               <Text>Options</Text>
               <Class>Label</Class>
               <Id>0</Id>
               <State>1</State>
               <Style>1114112</Style>
               <X>5</X>
               <Y>10</Y>
               <Width>70</Width>
               <Height>20</Height>
               <Font>
                   <Family>TSFFTahoma</Family>
                   <Style>Bold</Style>
                   <Color>255 127 0</Color>
                   <Size>10</Size>
               </Font>
           </WMDDControl>
  • TXMB note:
If you add <WMDDControl> blocks then don't add them under the <WMDDControl> block with TXMB or else your new blocks will be hidden.


  • Always the same if <Text> contains "outline"
               <Text>outline</Text>
               <Class>Title</Class>
               <Id>0</Id>
               <State>5</State>
               <Style>65536</Style>


tags: header

XML tag description value type / flags (plus description)
<?xml version="1.0" encoding="utf-8"?> - -
<Oni Version="..."> ... is the version. If onisplit exe is newer than extracted file then file cannot be converted back to *.oni -
<Instance id="0" type="WMDD"> declares file type -
<Caption> - -
<Id> page Id; page is looked up by exe -
<State>
Visible
Disabled
State04
<Style>
ThinBorder (01 00 00 00)
ThickBorder (02 00 00 00)
TitleBar (04 00 00 00)
Title (08 00 00 00)
CloseButton (10 00 00 00)
RestoreButton (20 00 00 00)
MinimizeButton (40 00 00 00)
Center (00 00 01 00)
<X> align (in header always 0) -
<Y> align (in header always 0)
<Width> X dimention (in header always 640 ?)
<Height> Y dimention (in header always 480 ?)
<Controls> contains all "WMDD controls"
<WMDDControl>
<Text>
  • can contain text
  • "outline" was always used by bungie for <Class>Title</Class> (it's invisible)
  • "WMM_filename"
<Class>
Desktop (01 00)
Title (03 00)
Button (04 00) (button text like "OK" or "Close")
Checkbox (05 00)
Dialog (06 00)
Textbox (07 00)
Listbox (08 00)
MenuBar (09 00)
Menu (0A 00)
Image (0B 00) (TXMB / TXMP / PSpc)
Dropdown (0C 00) (WMM_ drop-down menu)
ProgressBar (0D 00)
RadioButton (0E 00)
16 (10 00) (scrollbar; not used in dialogs)
Slider (11 00)
Label (14 00) (page caption; too low <Width> value forces line break)
<Id> page Id; page is looked up by exe
<State>
1 (visible)
2 (disabled)
4 (unknown, propably "change texture on click" (used by checkbox))
<Style>
ThinBorder (01 00 00 00)
ThickBorder (02 00 00 00)
TitleBar (04 00 00 00)
Title (08 00 00 00)
CloseButton (10 00 00 00)
RestoreButton (20 00 00 00)
MinimizeButton (40 00 00 00)
Center (00 00 01 00)


control specific styles

if box:

131072 (00 00 02 00) (draw text background)
262144 (00 00 04 00) (draw text)

if button:

65536 (00 00 01 00) (draw button)
131072 (00 00 02 00) (draw button text)
524288 (00 00 08 00) (toggle button like the ones used "in game" for help, diary, etc.)
1048576 (00 00 10 00) (default button, it corresponds to the Enter key)

if checkbox:

65536 (00 00 01 00) (draw label)

if radiobutton:

65536 (00 00 01 00) (draw label)

if edit field:

65536 (00 00 01 00) (number only)

if listbox:

65536 (00 00 01 00) (draw scrollbar)
131072 (00 00 02 00) (alphabetical order)
262144 (00 00 04 00) (unselecable)
524288 (00 00 08 00) (contains text, without this it contains only "custom" data)
1048576 (00 00 10 00) (owner draw, the owner window will draw the list item)
2097152 (00 00 20 00) (draw file/folder icons)

if picture:

131072 (00 00 02 00) (ignore the picture name; the displayed picture is set at runtime)

if popup menu:

65536 (00 00 01 00) (use menu width; doesn't work)
131072 (00 00 02 00) (ignore the menu name; the menu is set at runtime)

if text field:

131072 (00 00 02 00) (horizontal text align = center)
262144 (00 00 04 00) (horizontal text align = right)
1048576 (00 00 10 00) (vertical text align = center)
8388608 (00 00 80 00) (owner draw (hides text))

if text field:

131072 (00 00 02 00) (horizontal text align = center)
262144 (00 00 04 00) (horizontal text align = right)
1048576 (00 00 10 00) (vertical text align = center)
8388608 (00 00 80 00) (owner draw (hides text))

65536 (00 00 01 00)
131072 (00 00 02 00)
262144 (00 00 04 00)
524288 (00 00 08 00)
1048576 (00 00 10 00)
2097152 (00 00 20 00)
4194304 (00 00 40 00)
8388608 (00 00 80 00)
<X> align (relative to the top left corner of the window)
<Y> align (relative to the top left corner of the window)
<Width> X dimention
<Height> Y dimention
<Font>
<Family> usually "TSFFTahoma"
<Style>
Normal (00 00 00 00)
Bold (01 00 00 00)
Italic (02 00 00 00)
<Color> R G B range, e.g. 255 127 0 (for orange)
<Size> usually 10; 7 for "<Text>outline</Text>"


talk

  there's is no such thing as "show background" for text fields, that 01 flag is in fact the "draw default background" window style

So why did you delete it? It changes the style as well: Left image "player name" with 0x00001100. Right image with 0x01001100.

132_setup_player.png tb.png

Ssg 13:29, 25 July 2008 (CEST)

Because it's not control specific:

 style; dialog styles and the following control specific styles can be used here: 

It's already listed under dialog styles. If you want to add this flag to text field then you need to add it to picture fields too for example. And you also need to add the "resizable window" flag and pretty much all the other dialog styles to all the controls.

Neo

 style; dialog styles and the following control specific styles can be used here: 

Ahhhhh... "dialog styles" refers to the "sytle"-section above. Now I got it. Thanks. Ssg 19:56, 27 July 2008 (CEST)