OBD:WMDD: Difference between revisions

1,320 bytes added ,  7 December 2023
m
changed family
m (oops etc ^^)
m (changed family)
 
(24 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{OBD_File_Header|align=center|type=WMDD|prev=WMCL|next=WMM_|name=WM (Window Menu) Dialog Data|family=Global}}
{{OBD_File_Header|align=center|type=WMDD|prev=WMCL|next=WMM_|name=WM (WindowManager) Dialog Data|family=Interface}}




----
The image below shows the beginning of the file with the settings of the main window.
The image below shows the beginning of the file with the settings of the main window.




http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/wmdd_all.gif
[[Image:wmdd_all.gif]]




;Example:01541-dialog_mainmenu.WMDD
{{Table}}
{{Table}}
{{OBD_Table_Header}}
{{OBD_Table_Header}}
|- ALIGN=CENTER VALIGN=TOP
|- ALIGN=CENTER VALIGN=TOP
|0x00|| res_id ||BGCOLOR="#FF0000" | 01 '''05 06''' 00
{{OBDtr| 0x000 | res_id   |FF0000| 01 CE 09 00 | 1541 | 01541-dialog_mainmenu.WMDD }}
| 1541
{{OBDtr| 0x004 | lev_id   |FFFF00| 01 00 00 00 | 0   | level 0 }}
| ALIGN=LEFT | resource ID
{{OBDtr2| 0x008| char[256]|00FF00| Main Menu         | title }}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr| 0x108 | int16   |00FFFF| 96 00       | 150 | ID (looked up from code) }}
|0x04|| lev_id || BGCOLOR="#FFFF00" | 01 00 00 '''00'''
{{OBDtr| 0x10A | int16    |00FFFF| 00 00      | 0    | not used; always 0 }}
| 0
{{OBDtr| 0x10C | int32    |FF00FF| 01 00 00 00 | 0x01 | state; the following values are used:
| ALIGN=LEFT | level ID
:0x'''01''' 00 00 00 - visible
|- ALIGN=CENTER VALIGN=TOP
:0x'''02''' 00 00 00 - disabled
|0x08|| char[256]||BGCOLOR="#00FF00" COLSPAN=2 | <TT>Main Menu</TT>
:0x'''04''' 00 00 00 - unknown
| ALIGN=LEFT | title of the dialog
}}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr| 0x110 | int32    |FF8000| 00 00 01 00 | 0x00010000  | style; the following values are used:
|0x108||int16|| BGCOLOR="#00FFFF" | '''96 00''' 00 00
:0x'''01''' 00 00 00 - draw default background
| 150
:0x'''02''' 00 00 00 - resizable window (has a thick border)
| ALIGN=LEFT | dialog ID (looked up by engine)
:0x'''04''' 00 00 00 - show title bar
|- ALIGN=CENTER VALIGN=TOP
:0x'''08''' 00 00 00 - show title (title bar required)
|0x10C||bool32|| BGCOLOR="#FF00FF" | 01 00 00 00
:0x'''10''' 00 00 00 - show close button (title bar required)
| 1
:0x'''20''' 00 00 00 - show restore button (title bar required)
| ALIGN=LEFT | window status flags: 1 - visible
:0x'''40''' 00 00 00 - show minimize button (title bar required)
|- ALIGN=CENTER VALIGN=TOP
:0x00 00 '''01''' 00 - center window on screen (x, y coordinates are ignore when this style is used)
|0x110||bool32|| BGCOLOR="#FFC8C8" | 00 00 00 00
}}
| 0x00000000
{{OBDtr| 0x114 | int16    |804080| 00 00      | 0    | x coordinate of the window }}
| ALIGN=LEFT | window style flags:
{{OBDtr| 0x116 | int16    |804080| 00 00      | 0   | y coordinate of the window }}
{| BORDER=0 WIDTH=100%
{{OBDtr| 0x118 | int16    |804040| 80 02      | 640  | width of the window }}
|- VALIGN=TOP
{{OBDtr| 0x11A | int16    |804040| E0 01      | 480  | height of the window }}
| ALIGN=RIGHT | 0x00000001 -
{{OBDtr| 0x11C | int32    |408080| 06 00 00 00 | 6    | array size }}
| thin light blue coloured border around the window (background)
{{OBDtrBK}}
|- VALIGN=TOP
{{OBDtr2| 0x000 | char[256]|FFC8C8| New Game | text or:
| ALIGN=RIGHT | 0x00000002 -
:*TXMB/TXMP/PSpc name if class is picture
| thick light lila coloured border around the window (foreground)
:*WMM_ name if class is popup menu
|- VALIGN=TOP
}}
| ALIGN=RIGHT | 0x00000004 -  
{{OBDtr| 0x100 | int16    |FFFFC8| 04 00 | 4 | class; the following window classes exist in Oni (values in dec):
| light lila coloured title bar
:1 - desktop (not used in dialogs)
|- VALIGN=TOP
:3 - box (<nowiki>=</nowiki> groupbox) (groups controls together within a border; called Title in OniSplit XML)
| ALIGN=RIGHT | 0x00000008 -  
:4 - button
| title
:5 - checkbox
|- VALIGN=TOP
:6 - dialog (not used in dialogs)
| ALIGN=RIGHT | 0x00000010 -  
:7 - edit field
| disabled "close the window" box
:8 - listbox
|- VALIGN=TOP
:9 - menu bar (not used in dialogs)
| ALIGN=RIGHT | 0x00000020 -  
:10 - menu (not used in dialogs)
| disabled "restore the window" box
:11 - picture ([[OBD:TXMB|TXMB]], [[OBD:TXMP|TXMP]] or [[OBD:PSpc|PSpc]])
|- VALIGN=TOP
:12 - popup menu (<nowiki>=</nowiki> pulldown menu <nowiki>=</nowiki> drop-down menu) ([[OBD:WMM_|WMM_]])
| ALIGN=RIGHT | 0x00000040 -  
:13 - progress bar
| disabled "minimize the window" box
:14 - radio button
|- VALIGN=TOP
:16 - scrollbar (not used in dialogs)
| ALIGN=RIGHT | 0x00010000 -  
:17 - slider
| window is centered (ignoring the coordinates)
:20 - text (simple text string; called Label in OniSplit XML)
|}
}}
|- ALIGN=CENTER VALIGN=TOP
{{OBDtr| 0x102 | int16    |C8FFC8| 64 00      | 100              | ID (looked up from code) }}
|0x114||int16|| BGCOLOR="#FFFFC8" | 00 00
{{OBDtr| 0x104 | int32    |C8FFFF| 01 00 00 00 | 0x01            | state; the following values are used:
| 0
:0x'''01''' 00 00 00 -  visible
| ALIGN=LEFT | x-position of the top left corner
:0x'''02''' 00 00 00 - disabled
|- ALIGN=CENTER VALIGN=TOP
:0x'''04''' 00 00 00 -  unknown
|0x116||int16|| BGCOLOR="#FFFFC8" | 00 00
}}
| 0
{{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:
| ALIGN=LEFT | y-position of the top left corner
if box:
|- ALIGN=CENTER VALIGN=TOP
:0x00 00 '''02''' 00 - draw text background
|0x118||int16|| BGCOLOR="#C8FFC8" | 80 02
:0x00 00 '''04''' 00 - draw text
| 640
 
| ALIGN=LEFT | x-size (width) of the window
if button:
|- ALIGN=CENTER VALIGN=TOP
:0x00 00 '''01''' 00 -  draw button
|0x11A||int16|| BGCOLOR="#C8FFC8" | E0 01
:0x00 00 '''02''' 00 -  draw button text
| 480
:0x00 00 '''08''' 00 -  toggle button (like the ones used "in game" for help, diary etc.)
| ALIGN=LEFT | y-size (height) of the window
:0x00 00 '''10''' 00 -  default button (the button that coresponds to the Enter key)
|- ALIGN=CENTER VALIGN=TOP
 
|0x11C||int32|| BGCOLOR="#C8FFFF" | 06 00 00 00
if checkbox:
| 6
:0x00 00 '''01''' 00 - draw label
| ALIGN=LEFT | 6 items follow
 
if radiobutton:
:0x00 00 '''01''' 00 - draw label
 
if edit field:
:0x00 00 '''01''' 00 - number only
 
if listbox:
:0x00 00 '''01''' 00 -  draw scrollbar
:0x00 00 '''02''' 00 - alphabetical order
:0x00 00 '''04''' 00 - unselectable
:0x00 00 '''08''' 00 -  contains text (without this it contains only "custom" data)
:0x00 00 '''10''' 00 -  owner draw (the owner window will draw the list items)
:0x00 00 '''20''' 00 -  draw file/folder icons
 
if picture:
:0x00 00 '''02''' 00 - ignore the picture name; the displayed picture is set at runtime
 
if popup menu
:0x00 00 '''01''' 00 - use menu width; doesn't work
:0x00 00 '''02''' 00 - ignore the menu name; the menu is set at runtime
 
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)
 
}}
{{OBDtr| 0x10C | int16   |C87C64| 5E 01      | 350              | x coordinate (relative to the top left corner of the window) }}
{{OBDtr| 0x10E | int16   |C87C64| E6 00       | 230              | y coordinate (relative to the top left corner of the window) }}
{{OBDtr| 0x110 | int16    |B0C3D4| B4 00      | 180              | width }}
{{OBDtr| 0x112 | int16    |B0C3D4| 28 00      | 40              | height }}
{{OBDtr| 0x114 | link32  |E7CEA5| 01 02 00 00 | 2                | link to 00002-Tahoma.[[OBD:TSFF|TSFF]]}}
{{OBDtr| 0x118 | int32    |FFDDDD| 01 00 00 00 | 1                | font option; the following options are possible:
:0 - normal font
:1 - '''bold''' font
:2 - ''italic'' font
}}
{{OBDtr| 0x11C | color32  |64AAAA| 00 7F FF FF | 0, 127, 255; 255 | font color (blue, green, red); transparency }}
{{OBDtr| 0x120 | int8      |EBEBEB| 01          | 1                | ignored }}
{{OBDtr| 0x121 | int8      |EBEBEB| 00          | 0                | ignored }}
{{OBDtr| 0x122 | int16    |8C8CCC| 0A 00      | 10              | font size (height) }}
|}
|}
:
{{Table}}
{{OBD_Table_Header}}
|- VALIGN=TOP ALIGN=CENTER
|0x00||char[256]|| BGCOLOR="#FFC8FF" COLSPAN=2 | <TT>New Game</TT>
| ALIGN=LEFT | item text (or TXMB/TXMP name if class is 11)
|- VALIGN=TOP ALIGN=CENTER
|0x100||int16|| BGCOLOR="#FFC800" | 04 00
| 4
| ALIGN=LEFT | item class/type
|- VALIGN=TOP ALIGN=CENTER
|0x102||int16|| BGCOLOR="#C800C8" | 64 00
| 100
| ALIGN=LEFT | item ID (see below)
|- VALIGN=TOP ALIGN=CENTER
|0x104||bool32|| BGCOLOR="#C87C64" | 01 00 00 00
| 1
| ALIGN=LEFT | item status flags: 1 - visible
|- VALIGN=TOP ALIGN=CENTER
|0x108||bool32|| BGCOLOR="#B0C3D4" | 00 00 03 00
| 0x00030000<br>2^16 + 2^17
| ALIGN=LEFT | item style flags (same as above + 0x00020000 : show text)
|- VALIGN=TOP ALIGN=CENTER
|0x10C||int16|| BGCOLOR="#64AAAA" | 5E 01
| 350
| ALIGN=LEFT | x-position of the button (from the upper left corner of the window)
|- VALIGN=TOP ALIGN=CENTER
|0x10E||int16|| BGCOLOR="#64AAAA" | E6 00
| 230
| ALIGN=LEFT | y-position of the button (from the upper left corner of the window)
|- VALIGN=TOP ALIGN=CENTER
|0x110||int16|| BGCOLOR="#EBEBEB" | B4 00
| 180
| ALIGN=LEFT | x-dimension of the button (width)
|- VALIGN=TOP ALIGN=CENTER
|0x112||int16|| BGCOLOR="#EBEBEB" | 28 00
| 40
| ALIGN=LEFT | y-dimension of the button (height)
|- VALIGN=TOP ALIGN=CENTER
|0x114||TSFF link|| BGCOLOR="#8C8CCC" | 01 '''02 00''' 00
| 2
| ALIGN=LEFT | [[OBD:TSFF|TSFF]] (00002-Tahoma.TSFF
|- VALIGN=TOP ALIGN=CENTER
|0x118||int32|| BGCOLOR="#FF00C8" | 01 00 00 00
| 1
| ALIGN=LEFT | font option; the following options are possible:


00&nbsp;- normal font<BR>01 - <B>bold font</B><BR>02 - <I>italic font</I>


|- VALIGN=TOP ALIGN=CENTER
|0x11C||ARGB|| BGCOLOR="#00C864" | 00 7F FF FF
| #FF7F00, opaque
| ALIGN=LEFT | font color
|- VALIGN=TOP ALIGN=CENTER
|0x120||int16|| BGCOLOR="#00C8FF" | 00 00
| 0
| ALIGN=LEFT | font x-size (unused by Oni?)
|- VALIGN=TOP ALIGN=CENTER
|0x124||int16|| BGCOLOR="#C80040" | 0A 00
| 10
| ALIGN=LEFT | font y-size (read by DCrText_SetFontInfo)
|}
;Dialog ID
;Dialog ID
:Since Oni looks dialogs up by ID, changing them arbitrarily is not recommended.
:Since Oni looks dialogs up by ID, changing them arbitrarily is not recommended.
;Show/hide flag (0x10C)
;Visible flag (0x10C)
:A hidded/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 ^^).
: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.
:With "-noswitch", you can switch to other applications whenever the mouse pointer is visible in Oni.
;Item IDs
;Item IDs (for this example)
:64 - "new game" window
:64 - "new game" window
:65 - "load game" window
:65 - "load game" window
Line 157: Line 137:




----
{{OBD_File_Footer|align=center|type=WMDD|prev=WMCL|next=WMM_|name=WM (WindowManager) Dialog Data|family=Interface}}
{{OBD_File_Footer|align=center|type=WMDD|prev=WMCL|next=WMM_|name=WM (Window Menu) Dialog Data|family=Global}}
 
{{OBD}}