OBD:WMDD: Difference between revisions

665 bytes added ,  7 December 2023
m
changed family
(does 3 work as bold italic? ==> No.)
m (changed family)
 
(26 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]]




{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=1 BGCOLOR="#000000"
{{Table}}
|- BGCOLOR="#FFDDBB" ALIGN=CENTER
{{OBD_Table_Header}}
| WIDTH=15% | <B>Hex</B>
|- ALIGN=CENTER VALIGN=TOP
| <B>Translation</B>
{{OBDtr| 0x000 | res_id  |FF0000| 01 CE 09 00 | 1541 | 01541-dialog_mainmenu.WMDD }}
| <B>Meaning</B>
{{OBDtr| 0x004 | lev_id  |FFFF00| 01 00 00 00 | 0   | level 0 }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr2| 0x008| char[256]|00FF00| Main Menu         | title }}
| BGCOLOR="#FF0000" | 01 05 06 00
{{OBDtr| 0x108 | int16    |00FFFF| 96 00      | 150  | ID (looked up from code) }}
| 1541
{{OBDtr| 0x10A | int16    |00FFFF| 00 00      | 0    | not used; always 0 }}
| ALIGN=LEFT | 01541-dialog_mainmenu.WMDD
{{OBDtr| 0x10C | int32    |FF00FF| 01 00 00 00 | 0x01 | state; the following values are used:
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
:0x'''01''' 00 00 00 - visible
| BGCOLOR="#FFFF00" | 01 00 00 00
:0x'''02''' 00 00 00 - disabled
| 0
:0x'''04''' 00 00 00 - unknown
| ALIGN=LEFT | level 0
}}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0x110 | int32    |FF8000| 00 00 01 00 | 0x00010000  | style; the following values are used:
| BGCOLOR="#00FF00" COLSPAN=2 | <TT>Main Menu</TT>
:0x'''01''' 00 00 00 - draw default background
| ALIGN=LEFT | title of the window
:0x'''02''' 00 00 00 - resizable window (has a thick border)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
:0x'''04''' 00 00 00 - show title bar
| BGCOLOR="#00FFFF" | 96 00 00 00
:0x'''08''' 00 00 00 - show title (title bar required)
| 150
:0x'''10''' 00 00 00 - show close button (title bar required)
| ALIGN=LEFT | identification number, that this is the main menu dialog; do not change it
:0x'''20''' 00 00 00 - show restore button (title bar required)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
:0x'''40''' 00 00 00 - show minimize button (title bar required)
| BGCOLOR="#FF00FF" | 01 00 00 00
:0x00 00 '''01''' 00 - center window on screen (x, y coordinates are ignore when this style is used)
| 1
}}
| ALIGN=LEFT | window status; the following types are possible:
{{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


{| BORDER=0 WIDTH=100%
if button:
|- VALIGN=TOP
:0x00 00 '''01''' 00 - draw button
| ALIGN=RIGHT | 00&nbsp;-  
:0x00 00 '''02''' 00 - draw button text
| 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)
:0x00 00 '''08''' 00 -  toggle button (like the ones used "in game" for help, diary etc.)
|- VALIGN=TOP
:0x00 00 '''10''' 00 -  default button (the button that coresponds to the Enter key)
| ALIGN=RIGHT | 01 -  
 
| show the window
if checkbox:
|}
:0x00 00 '''01''' 00 - draw label


|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
if radiobutton:
| BGCOLOR="#FFC8C8" | 00 00  
:0x00 00 '''01''' 00 - draw label
| 0
| ALIGN=LEFT | window design; the design is stored as bits, so  the following bits are possible:


{| BORDER=0 WIDTH=100%
if edit field:
|- VALIGN=TOP
:0x00 00 '''01''' 00 - number only
| ALIGN=RIGHT | 01 00 -  
| thin light blue coloured border around the window (background)
|- VALIGN=TOP
| ALIGN=RIGHT | 02 00 -
| thick light lila coloured border around the window (foreground)
|- VALIGN=TOP
| ALIGN=RIGHT | 04 00 -
| light lila coloured title bar
|- VALIGN=TOP
| ALIGN=RIGHT | 08 00 -
| title
|- VALIGN=TOP
| ALIGN=RIGHT | 10 00 -
| disabled "close the window" box
|- VALIGN=TOP
| ALIGN=RIGHT | 20 00 -
| disabled "restore the window" box
|- VALIGN=TOP
| ALIGN=RIGHT | 40 00 -
| disabled "minimize the window" box
|}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8C8" | 01 00
| 1
| 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 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


|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
if picture:
| BGCOLOR="#FFFFC8" | 00 00 00 00
:0x00 00 '''02''' 00 - ignore the picture name; the displayed picture is set at runtime
| 0
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFC8" | 80 02
| 640
| ALIGN=LEFT | width of the window
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFC8" | E0 01
| 480
| ALIGN=LEFT | height of the window
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | 06 00 00 00
| 6
| ALIGN=LEFT | 6 entries follow
|}
:
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0
|- BGCOLOR="#FFDDBB" ALIGN=CENTER
| WIDTH=15% | <B>Hex</B>
| WIDTH=15% | <B>Translation</B>
| WIDTH=70% | <B>Meaning</B>
|- 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&nbsp;- "new game" window<BR>65 - "load game" window<BR>66 - "options" window<BR>68 - "resume" window<BR>67 - "quit" window
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


|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
if text field:
| BGCOLOR="#C87C64" | 01 00
:0x00 00 '''02''' 00 - horizontal text align <nowiki>=</nowiki> center
| 1
:0x00 00 '''04''' 00 - horizontal text align <nowiki>=</nowiki> right
| ALIGN=LEFT | button options
:0x00 00 '''10''' 00 - vertical text align <nowiki>=</nowiki> center
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
:0x00 00 '''80''' 00 -  owner draw (hides text)
| 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
| button+text
| ALIGN=LEFT | visibility bitset


01 - button<BR>02 - 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) }}
|}


|- 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&nbsp;- normal font<BR>01 - <B>bold font</B><BR>02 - <I>italic font</I>
;Dialog ID
:Since Oni looks dialogs up by ID, changing them arbitrarily is not recommended.
;Visible flag (0x10C)
: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)
:64 - "new game" window
:65 - "load game" window
:66 - "options" window
:67 - "quit" window
:68 - "resume" window


|- 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 FF
| 0, 127, 255, 255
| ALIGN=LEFT | font color (BGRA)
|- 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
|}
;Bold/italic... a bitset?
:does 3 work as bold italic? ==> No. [[User:Ssg|Ssg]] 12:41, 11 April 2007 (CEST)


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


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