|
|
(30 intermediate revisions by 5 users not shown) |
Line 1: |
Line 1: |
| [[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File Types]] >> WMDD File
| | {{OBD_File_Header|align=center|type=WMDD|prev=WMCL|next=WMM_|name=WM (WindowManager) Dialog Data|family=Interface}} |
|
| |
|
|
| |
|
| <CENTER>[[OBD:WMCL|<==]] <FONT SIZE=5>WMDD File</FONT> [[OBD:WMM_|==>]]<BR>
| | The image below shows the beginning of the file with the settings of the main window. |
| <FONT SIZE=2>WM (Window Menu) Dialog Data - Level 0 File</FONT></CENTER>
| |
|
| |
|
|
| |
|
| The image below shows the beginning of the file with the settings of the main window.
| | [[Image:wmdd_all.gif]] |
|
| |
|
|
| |
|
| http://www.fh-eberswalde.de/user/dkriesch/onistuff/images/wmdd_a.gif
| | {{Table}} |
| | {{OBD_Table_Header}} |
| | |- ALIGN=CENTER VALIGN=TOP |
| | {{OBDtr| 0x000 | res_id |FF0000| 01 CE 09 00 | 1541 | 01541-dialog_mainmenu.WMDD }} |
| | {{OBDtr| 0x004 | lev_id |FFFF00| 01 00 00 00 | 0 | level 0 }} |
| | {{OBDtr2| 0x008| char[256]|00FF00| Main Menu | title }} |
| | {{OBDtr| 0x108 | int16 |00FFFF| 96 00 | 150 | ID (looked up from code) }} |
| | {{OBDtr| 0x10A | int16 |00FFFF| 00 00 | 0 | not used; always 0 }} |
| | {{OBDtr| 0x10C | int32 |FF00FF| 01 00 00 00 | 0x01 | state; the following values are used: |
| | :0x'''01''' 00 00 00 - visible |
| | :0x'''02''' 00 00 00 - disabled |
| | :0x'''04''' 00 00 00 - unknown |
| | }} |
| | {{OBDtr| 0x110 | int32 |FF8000| 00 00 01 00 | 0x00010000 | style; the following values are used: |
| | :0x'''01''' 00 00 00 - draw default background |
| | :0x'''02''' 00 00 00 - resizable window (has a thick border) |
| | :0x'''04''' 00 00 00 - show title bar |
| | :0x'''08''' 00 00 00 - show title (title bar required) |
| | :0x'''10''' 00 00 00 - show close button (title bar required) |
| | :0x'''20''' 00 00 00 - show restore button (title bar required) |
| | :0x'''40''' 00 00 00 - show minimize button (title bar required) |
| | :0x00 00 '''01''' 00 - center window on screen (x, y coordinates are ignore when this style is used) |
| | }} |
| | {{OBDtr| 0x114 | int16 |804080| 00 00 | 0 | x coordinate of the window }} |
| | {{OBDtr| 0x116 | int16 |804080| 00 00 | 0 | y coordinate of the window }} |
| | {{OBDtr| 0x118 | int16 |804040| 80 02 | 640 | width of the window }} |
| | {{OBDtr| 0x11A | int16 |804040| E0 01 | 480 | height of the window }} |
| | {{OBDtr| 0x11C | int32 |408080| 06 00 00 00 | 6 | array size }} |
| | {{OBDtrBK}} |
| | {{OBDtr2| 0x000 | char[256]|FFC8C8| New Game | text or: |
| | :*TXMB/TXMP/PSpc name if class is picture |
| | :*WMM_ name if class is popup menu |
| | }} |
| | {{OBDtr| 0x100 | int16 |FFFFC8| 04 00 | 4 | class; the following window classes exist in Oni (values in dec): |
| | :1 - desktop (not used in dialogs) |
| | :3 - box (<nowiki>=</nowiki> groupbox) (groups controls together within a border; called Title in OniSplit XML) |
| | :4 - button |
| | :5 - checkbox |
| | :6 - dialog (not used in dialogs) |
| | :7 - edit field |
| | :8 - listbox |
| | :9 - menu bar (not used in dialogs) |
| | :10 - menu (not used in dialogs) |
| | :11 - picture ([[OBD:TXMB|TXMB]], [[OBD:TXMP|TXMP]] or [[OBD:PSpc|PSpc]]) |
| | :12 - popup menu (<nowiki>=</nowiki> pulldown menu <nowiki>=</nowiki> drop-down menu) ([[OBD:WMM_|WMM_]]) |
| | :13 - progress bar |
| | :14 - radio button |
| | :16 - scrollbar (not used in dialogs) |
| | :17 - slider |
| | :20 - text (simple text string; called Label in OniSplit XML) |
| | }} |
| | {{OBDtr| 0x102 | int16 |C8FFC8| 64 00 | 100 | ID (looked up from code) }} |
| | {{OBDtr| 0x104 | int32 |C8FFFF| 01 00 00 00 | 0x01 | state; the following values are used: |
| | :0x'''01''' 00 00 00 - visible |
| | :0x'''02''' 00 00 00 - disabled |
| | :0x'''04''' 00 00 00 - unknown |
| | }} |
| | {{OBDtr| 0x108 | int32 |FFC800| 00 00 03 00 | 0x030000 | style; the dialog styles above (at 0x110) and the following control specific styles can be used here: |
| | if box: |
| | :0x00 00 '''02''' 00 - draw text background |
| | :0x00 00 '''04''' 00 - draw text |
|
| |
|
| | if button: |
| | :0x00 00 '''01''' 00 - draw button |
| | :0x00 00 '''02''' 00 - draw button text |
| | :0x00 00 '''08''' 00 - toggle button (like the ones used "in game" for help, diary etc.) |
| | :0x00 00 '''10''' 00 - default button (the button that coresponds to the Enter key) |
|
| |
|
| {| BORDER=0 WIDTH=100% CELLPADDING=2 CELLSPACING=1 BGCOLOR="#000000"
| | if checkbox: |
| |- BGCOLOR="#FFDDBB" ALIGN=CENTER
| | :0x00 00 '''01''' 00 - draw label |
| | WIDTH=15% | <B>Hex</B>
| |
| | <B>Translation</B>
| |
| | <B>Meaning</B>
| |
| |- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#FF0000" | 01 05 06 00
| |
| | 1541
| |
| | ALIGN=LEFT | 01541-dialog_mainmenu.WMDD
| |
| |- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#FFFF00" | 01 00 00 00
| |
| | 0
| |
| | ALIGN=LEFT | level 0
| |
| |- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#00FF00" COLSPAN=2 | <TT>Main Menu</TT>
| |
| | ALIGN=LEFT | title of the window
| |
| |- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#00FFFF" | 96 00 00 00
| |
| | 150
| |
| | ALIGN=LEFT | identification number, that this is the main menu dialog; do not change it
| |
| |- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#FF00FF" | 01 00 00 00
| |
| | 1
| |
| | ALIGN=LEFT | window status; the following types are possible:
| |
|
| |
|
| {| BORDER=0 WIDTH=100%
| | if radiobutton: |
| |- VALIGN=TOP
| | :0x00 00 '''01''' 00 - draw label |
| | ALIGN=RIGHT | 00 -
| |
| | hide the window (if you use that, you'll get a black screen and the orange mouse cursor; that means you can't quit Oni, so you have to reset your computer)
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 01 -
| |
| | show the window
| |
| |}
| |
|
| |
|
| |- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| | if edit field: |
| | BGCOLOR="#FFC8C8" | 00 00
| | :0x00 00 '''01''' 00 - number only |
| | 0
| |
| | ALIGN=LEFT | window design; the design is stored as bits, so the following bits are possible:
| |
|
| |
|
| {| BORDER=0 WIDTH=100%
| | if listbox: |
| |- VALIGN=TOP
| | :0x00 00 '''01''' 00 - draw scrollbar |
| | ALIGN=RIGHT | 00 00 -
| | :0x00 00 '''02''' 00 - alphabetical order |
| | all design stuff invisible
| | :0x00 00 '''04''' 00 - unselectable |
| |- VALIGN=TOP
| | :0x00 00 '''08''' 00 - contains text (without this it contains only "custom" data) |
| | ALIGN=RIGHT | 01 00 -
| | :0x00 00 '''10''' 00 - owner draw (the owner window will draw the list items) |
| | thin light blue coloured border around the window
| | :0x00 00 '''20''' 00 - draw file/folder icons |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 02 00 -
| |
| | thick light lila coloured border around the window
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 03 00 -
| |
| | thin light blue + thick light lila coloured border around the window (but you can see only the light lila border)
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 04 00 -
| |
| | light lila coloured title bar
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 05 00 -
| |
| | thin light blue coloured border around the window + light lila coloured title bar
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 06 00 -
| |
| | thick light lila coloured border around the window + light lila coloured title bar
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 07 00 -
| |
| | thin light blue + thick light lila coloured border around the window (but you can see only the light lila border) + light lila coloured title bar
| |
| |-
| |
| | COLSPAN=2 | <BR>after that, the small block above runs in a loop; only the title bar changes:<BR>
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 0C 00 -
| |
| | light lila coloured title bar + title
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 14 00 -
| |
| | light lila coloured title bar + disabled "close the window" box
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 1C 00 -
| |
| | light lila coloured title bar + title + disabled "close the window" box
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 24 00 -
| |
| | light lila coloured title bar + disabled "restore the window" box
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 2C 00 -
| |
| | light lila coloured title bar + title + disabled "restore the window" box
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 34 00 -
| |
| | light lila coloured title bar + disabled "restore the window" box + disabled "close the window" box
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 3C 00 -
| |
| | light lila coloured title bar + title + disabled "restore the window" box + disabled "close the window" box
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 44 00 -
| |
| | light lila coloured title bar + disabled "minimize the window" box
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 4C 00 -
| |
| | light lila coloured title bar + title + disabled "minimize the window" box
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 54 00 -
| |
| | light lila coloured title bar + disabled "minimize the window" box + disabled "close the window" box
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 5C 00 -
| |
| | light lila coloured title bar + title + enabled "minimize the window" box + disabled "close the window" box
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 64 00 -
| |
| | light lila coloured title bar + disabled "restore the window" box + disabled "minimize the window" box
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 6C 00 -
| |
| | light lila coloured title bar + title + disabled "restore the window" box + disabled "minimize the window" box
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 74 00 -
| |
| | light lila coloured title bar + disabled "restore the window" box + disabled "minimize the window" box + disabled "close the window" box
| |
| |- VALIGN=TOP
| |
| | ALIGN=RIGHT | 7C 00 -
| |
| | light lila coloured title bar + title + disabled "restore the window" box + enabled "minimize the window" box + disabled "close the window" box
| |
| |}
| |
|
| |
|
| that's it; now the big block above (including the small block) runs in a loop too; so it doesn't make any difference if you write for example 0C 00 or 8C 00 or 0C 55 or 8C B3; you will always get a light lila coloured title bar + title
| | if picture: |
| | :0x00 00 '''02''' 00 - ignore the picture name; the displayed picture is set at runtime |
|
| |
|
| |- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| | if popup menu |
| | BGCOLOR="#FFC8C8" | 01 00
| | :0x00 00 '''01''' 00 - use menu width; doesn't work |
| | 1
| | :0x00 00 '''02''' 00 - ignore the menu name; the menu is set at runtime |
| | ALIGN=LEFT | window position; the following positions are possible:
| |
|
| |
|
| 00 - the window is located in the upper left corner of the screen<BR>01 - the window is located in the center of the screen | | if text field: |
| | :0x00 00 '''02''' 00 - horizontal text align <nowiki>=</nowiki> center |
| | :0x00 00 '''04''' 00 - horizontal text align <nowiki>=</nowiki> right |
| | :0x00 00 '''10''' 00 - vertical text align <nowiki>=</nowiki> center |
| | :0x00 00 '''80''' 00 - owner draw (hides text) |
|
| |
|
| |- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD" | | }} |
| | BGCOLOR="#FFFFC8" | 00 00 00 00 | | {{OBDtr| 0x10C | int16 |C87C64| 5E 01 | 350 | x coordinate (relative to the top left corner of the window) }} |
| | 0 | | {{OBDtr| 0x10E | int16 |C87C64| E6 00 | 230 | y coordinate (relative to the top left corner of the window) }} |
| | ALIGN=LEFT | unknown | | {{OBDtr| 0x110 | int16 |B0C3D4| B4 00 | 180 | width }} |
| |- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD" | | {{OBDtr| 0x112 | int16 |B0C3D4| 28 00 | 40 | height }} |
| | BGCOLOR="#C8FFC8" | 80 02 | | {{OBDtr| 0x114 | link32 |E7CEA5| 01 02 00 00 | 2 | link to 00002-Tahoma.[[OBD:TSFF|TSFF]]}} |
| | 640 | | {{OBDtr| 0x118 | int32 |FFDDDD| 01 00 00 00 | 1 | font option; the following options are possible: |
| | ALIGN=LEFT | width of the window | | :0 - normal font |
| |- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD" | | :1 - '''bold''' font |
| | BGCOLOR="#C8FFC8" | E0 01 | | :2 - ''italic'' font |
| | 480 | | }} |
| | ALIGN=LEFT | height of the window | | {{OBDtr| 0x11C | color32 |64AAAA| 00 7F FF FF | 0, 127, 255; 255 | font color (blue, green, red); transparency }} |
| |- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD" | | {{OBDtr| 0x120 | int8 |EBEBEB| 01 | 1 | ignored }} |
| | BGCOLOR="#C8FFFF" | 06 00 00 00 | | {{OBDtr| 0x121 | int8 |EBEBEB| 00 | 0 | ignored }} |
| | 6 | | {{OBDtr| 0x122 | int16 |8C8CCC| 0A 00 | 10 | font size (height) }} |
| | ALIGN=LEFT | 6 entries follow | |
| |} | | |} |
|
| |
|
|
| |
|
| The following pic gives an example of an entry of the the main window (area edged in black).
| | ;Dialog ID |
| | | :Since Oni looks dialogs up by ID, changing them arbitrarily is not recommended. |
| | | ;Visible flag (0x10C) |
| http://www.fh-eberswalde.de/user/dkriesch/onistuff/images/wmdd_p1.gif
| | :A hidden/disabled window can't be activated from Oni, so if you hide the main menu, you'll have to shut down Oni from the Task Manager (or make it Blam ^^). |
| | | :With "-noswitch", you can switch to other applications whenever the mouse pointer is visible in Oni. |
| | | ;Item IDs (for this example) |
| {| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0
| | :64 - "new game" window |
| |- BGCOLOR="#FFDDBB" ALIGN=CENTER
| | :65 - "load game" window |
| | WIDTH=15% | <B>Hex</B>
| | :66 - "options" window |
| | WIDTH=15% | <B>Translation</B>
| | :67 - "quit" window |
| | WIDTH=70% | <B>Meaning</B>
| | :68 - "resume" window |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#FFC8FF" COLSPAN=2 | <TT>New Game</TT>
| |
| | ALIGN=LEFT | button text
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#FFC800" | 04 00
| |
| | 4
| |
| | ALIGN=LEFT | button type
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#C800C8" | 64 00
| |
| | 100
| |
| | ALIGN=LEFT | button is enabled + link to the window; the links for this file are:
| |
| | |
| 64 - "new game" window<BR>65 - "load game" window<BR>66 - "options" window<BR>68 - "resume" window<BR>67 - "quit" window | |
| | |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#C87C64" | 01 00
| |
| | 1
| |
| | ALIGN=LEFT | button options
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#B0C3D4" | 00 00
| |
| | 0
| |
| | ALIGN=LEFT | unknown
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#E7CEA5" | 00 00
| |
| | 0
| |
| | ALIGN=LEFT | window design, see table above
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#FFDDDD" | 03 00
| |
| | 3
| |
| | ALIGN=LEFT | visible option; the following options are possible:
| |
| | |
| 00 - nothing<BR>01 - only the button<BR>02 - only the text<BR>03 - button + text
| |
| | |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#64AAAA" | 5E 01
| |
| | 350
| |
| | ALIGN=LEFT | x-position of the button (from the upper left corner of the window)
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#64AAAA" | E6 00
| |
| | 230
| |
| | ALIGN=LEFT | y-position of the button (from the upper left corner of the window)
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#EBEBEB" | B4 00
| |
| | 180
| |
| | ALIGN=LEFT | x-dimension of the button (width)
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#EBEBEB" | 28 00
| |
| | 40
| |
| | ALIGN=LEFT | y-dimension of the button (height)
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#8C8CCC" | 01 02 00 00
| |
| | 2
| |
| | ALIGN=LEFT | link to 00002-Tahoma.[[OBD:TSFF|TSFF]]?
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#FF00C8" | 01 00
| |
| | 1
| |
| | ALIGN=LEFT | font option; the following options are possible:
| |
| | |
| 00 - normal font<BR>01 - <B>bold font</B><BR>02 - <I>italic font</I>
| |
| | |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#F0F096" | 00 00
| |
| | 0
| |
| | ALIGN=LEFT | unknown
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#00C864" | 00 7F FF
| |
| | 0, 127, 255
| |
| | ALIGN=LEFT | font color (0 = blue part, 127 = green part, 255 = red part)
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#00C864" | FF
| |
| | 255
| |
| | ALIGN=LEFT | unknown
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#00C8FF" | 00 00
| |
| | 0
| |
| | ALIGN=LEFT | unknown
| |
| |- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| |
| | BGCOLOR="#C80040" | 0A 00
| |
| | 10
| |
| | ALIGN=LEFT | font size
| |
| |}
| |
| | |
|
| |
|
| <HR>
| |
| <CENTER>[[OBD:WMCL|<==]] <B>WMDD File</B> [[OBD:WMM_|==>]]</CENTER>
| |
| <HR>
| |
|
| |
|
| | {{OBD_File_Footer|align=center|type=WMDD|prev=WMCL|next=WMM_|name=WM (WindowManager) Dialog Data|family=Interface}} |
|
| |
|
| [[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File Types]] >> WMDD File
| | {{OBD}} |