8,131
edits
m (I got it.) |
Paradox-01 (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
=[[OBD:WMDD|WMDD]]: blue windows= | |||
'''general information''' | |||
* files like WMDDdialog_options.oni are global. (They can be found in edition/GameDataFolder/level0_...) | |||
* See [[XML basic tutorial|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"> | |||
<nowiki><Caption>Options</Caption></nowiki> | |||
<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> | |||
<nowiki><Font></nowiki> | |||
<Family>TSFFTahoma</Family> | |||
<Style>Bold</Style> | |||
<Color>255 127 0</Color> | |||
<Size>10</Size> | |||
<nowiki></Font></nowiki> | |||
'''</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''' | |||
{{Table}} | |||
!XML tag | |||
!description | |||
!value type / flags (plus description) | |||
|- | |||
|<?xml version="1.0" encoding="utf-8"?> | |||
| - | |||
| - | |||
|- | |||
|valign=top|<Oni Version="..."> | |||
| ... is the version. If onisplit exe is newer than extracted file then file cannot be converted back to *.oni | |||
| - | |||
|- | |||
|valign=top|<Instance id="0" type="WMDD"> | |||
| declares file type | |||
| - | |||
|- | |||
|<nowiki><Caption></nowiki> | |||
| - | |||
| - | |||
|- | |||
|<Id> | |||
|page Id; page is looked up by exe | |||
| - | |||
|- | |||
|valign=top|<State> | |||
| | |||
| | |||
:Visible | |||
:Disabled | |||
:State04 | |||
|- | |||
|valign=top|<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> | |||
| | |||
| | |||
|- | |||
|valign=top|<Text> | |||
| | |||
*can contain text | |||
*"outline" was always used by bungie for <Class>Title</Class> (it's invisible) | |||
*"WMM_''filename''" | |||
| | |||
|- | |||
|valign=top|<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 | |||
| | |||
|- | |||
|valign=top|<State> | |||
| | |||
| | |||
:1 (visible) | |||
:2 (disabled) | |||
:4 (unknown, propably "change texture on click" (used by checkbox)) | |||
|- | |||
|valign=top|<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 | |||
| | |||
|- | |||
|valign=top|<nowiki><Font></nowiki> | |||
| | |||
| | |||
|- | |||
|<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 | there's is no such thing as "show background" for text fields, that 01 flag is in fact the "draw default background" window style | ||
edits