OBD:WMDD: Difference between revisions

From OniGalore
Jump to navigation Jump to search
(full class list for the sake of completness)
(a bit better)
Line 13: Line 13:
{{OBDtr| 0x000 | res_id  |FF0000| 01 CE 09 00 | 1541 | 01541-dialog_mainmenu.WMDD }}
{{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 }}
{{OBDtr| 0x004 | lev_id  |FFFF00| 01 00 00 00 | 0    | level 0 }}
{{OBDtr2| 0x008| char[256]|00FF00| Main Menu          | title of the dialog }}
{{OBDtr2| 0x008| char[256]|00FF00| Main Menu          | title }}
{{OBDtr| 0x108 | int16    |00FFFF| 96 00      | 150  | dialog ID (looked up by engine) }}
{{OBDtr| 0x108 | int16    |00FFFF| 96 00      | 150  | ID (looked up from code) }}
{{OBDtr| 0x10A | int16    |00FFFF| 00 00      | 0    | not used; always 0 }}
{{OBDtr| 0x10A | int16    |00FFFF| 00 00      | 0    | not used; always 0 }}
{{OBDtr| 0x10C | int32    |FF00FF| 01 00 00 00 | 0x01 | window state; the following values are used:
{{OBDtr| 0x10C | int32    |FF00FF| 01 00 00 00 | 0x01 | state; the following values are used:
:0x'''01''' 00 00 00 - visible
:0x'''01''' 00 00 00 - visible
:0x'''02''' 00 00 00 - grey title (normaly it's black) + window fixed (you can't move the window)
:0x'''02''' 00 00 00 - disabled
:0x'''04''' 00 00 00 - window fixed (you can't move the window)
:0x'''04''' 00 00 00 - unknown
}}
}}
{{OBDtr| 0x110 | int32    |FF8000| 00 00 01 00 | 0x00010000  | window style; the following values are used:
{{OBDtr| 0x110 | int32    |FF8000| 00 00 01 00 | 0x00010000  | style; the following values are used:
:0x'''01''' 00 00 00 - thin light blue border around the window  
:0x'''01''' 00 00 00 - thin light blue border around the window  
:0x'''02''' 00 00 00 - thick light lila border around the window  
:0x'''02''' 00 00 00 - thick light lila border around the window  
Line 37: Line 37:
{{OBDtr| 0x11C | int32    |408080| 06 00 00 00 | 6    | array size }}
{{OBDtr| 0x11C | int32    |408080| 06 00 00 00 | 6    | array size }}
{{OBDtrBK}}
{{OBDtrBK}}
{{OBDtr2| 0x000 | char[256]|FFC8C8| New Game | item text (or TXMB/TXMP name if class is 11) }}
{{OBDtr2| 0x000 | char[256]|FFC8C8| New Game | text (or TXMB/TXMP name if class is 11) }}
{{OBDtr| 0x100 | int16    |FFFFC8| 04 00 | 4 | item class; the following window classes exist in Oni (values in dec):
{{OBDtr| 0x100 | int16    |FFFFC8| 04 00 | 4 | class; the following window classes exist in Oni (values in dec):
:1 - desktop (not used in dialogs)
:1 - desktop (not used in dialogs)
:3 - title
:3 - title
Line 56: Line 56:
:20 - text only
:20 - text only
}}
}}
{{OBDtr| 0x102 | int16    |C8FFC8| 64 00      | 100              | item ID (see below) }}
{{OBDtr| 0x102 | int16    |C8FFC8| 64 00      | 100              | ID (looked up from code) }}
{{OBDtr| 0x104 | int16   |C8FFFF| 01 00       | 0x01            | item state; the following values are used:
{{OBDtr| 0x104 | int32   |C8FFFF| 01 00 00 00 | 0x01            | state; the following values are used:
:0x'''01''' 00 00 00 -  active (item is enabled)
:0x'''01''' 00 00 00 -  visible
:0x'''02''' 00 00 00 -  inactive (needs "show item"; item is disabled)
:0x'''02''' 00 00 00 -  disabled
:0x'''04''' 00 00 00 -  disabled (needs "show item"; item is disabled)
:0x'''04''' 00 00 00 -  unknown
}}
}}
{{OBDtr| 0x106 | int16    |FFC8FF| 00 00      | 0                | item style flags (same as above + 0x00020000 : show text) }}
{{OBDtr| 0x108 | int32   |FFC800| 00 00 03 00 | 0x030000          | style; some used values:
{{OBDtr| 0x108 | int16   |FFC800| 00 00       | 0                | window design (see above) }}
:0x00 00 '''01''' 00 -  show button/scrollbar/checkbox text
{{OBDtr| 0x10A | int16    |C800C8| 03 00       | 3                | visible option; the following values are used:
:0x00 00 '''02''' 00 -  show button text
:0x'''01''' 00 00 00 -  show button/scrollbar/checkbox text
:0x00 00 '''04''' 00 -  show title
:0x'''02''' 00 00 00 -  show button text
:0x00 00 '''08''' 00 -  show listbox entries
:0x'''04''' 00 00 00 -  show title
:'''NOTE''': Possible values also include the ones available for the dialog style field. Style values above 0xffff have class specific meaning so the above list is not necesarilly complete (and correct).
:0x'''08''' 00 00 00 -  show listbox entries
<nowiki>notes: needs more investigation; they aren't 100% correct; 16 = show text</nowiki>
}}
}}
{{OBDtr| 0x10C | int16    |C87C64| 5E 01      | 350              | x coordinate (relative to the top left corner of the window) }}
{{OBDtr| 0x10C | int16    |C87C64| 5E 01      | 350              | x coordinate (relative to the top left corner of the window) }}
Line 81: Line 79:
:2 - ''italic'' font
:2 - ''italic'' font
}}
}}
{{OBDtr| 0x11C | color32   |64AAAA| 00 7F FF FF | 0, 127, 255; 255 | font color (blue, green, red); transparency }}
{{OBDtr| 0x11C | color32   |64AAAA| 00 7F FF FF | 0, 127, 255; 255 | font color (blue, green, red); transparency }}
{{OBDtr| 0x120 | int16    |EBEBEB| 01 00       | 1               | font x-size (unused by Oni?) }}
{{OBDtr| 0x120 | int8      |EBEBEB| 01         | 1                | unknown; appears to be unused }}
{{OBDtr| 0x122 | int16   |8C8CCC| 0A 00      | 10              | font y-size (read by DCrText_SetFontInfo) }}
{{OBDtr| 0x121 | int8      |EBEBEB| 00         | 0               | unknown; appears to be unused }}
{{OBDtr| 0x122 | int16     |8C8CCC| 0A 00      | 10              | font size (height) }}
|}
|}



Revision as of 19:16, 1 May 2008

ONI BINARY DATA
WMCL << Other file types >> WMM_
WMDD : WM (Window Menu) Dialog Data
switch to XML:WMDD page
Overview @ Oni Stuff
OBD.png


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


Wmdd all.gif


Offset Type Raw Hex Value Description
0x000 res_id 01 CE 09 00 1541 01541-dialog_mainmenu.WMDD
0x004 lev_id 01 00 00 00 0 level 0
0x008 char[256] Main Menu title
0x108 int16 96 00 150 ID (looked up from code)
0x10A int16 00 00 0 not used; always 0
0x10C int32 01 00 00 00 0x01 state; the following values are used:
0x01 00 00 00 - visible
0x02 00 00 00 - disabled
0x04 00 00 00 - unknown
0x110 int32 00 00 01 00 0x00010000 style; the following values are used:
0x01 00 00 00 - thin light blue border around the window
0x02 00 00 00 - thick light lila border around the window
0x04 00 00 00 - light lila title bar
0x08 00 00 00 - title (title bar required)
0x10 00 00 00 - close button visible (title bar required)
0x20 00 00 00 - restore button visible (title bar required)
0x40 00 00 00 - minimize button visible (title bar required)
0x00 00 01 00 - center window on screen (x, y coordinates are ignore when this style is used)
0x114 int16 00 00 0 x coordinate of the window
0x116 int16 00 00 0 y coordinate of the window
0x118 int16 80 02 640 width of the window
0x11A int16 E0 01 480 height of the window
0x11C int32 06 00 00 00 6 array size
First element (black outline)
0x000 char[256] New Game text (or TXMB/TXMP name if class is 11)
0x100 int16 04 00 4 class; the following window classes exist in Oni (values in dec):
1 - desktop (not used in dialogs)
3 - title
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 - background picture (TXMB) or texture (TXMP)
12 - pull-down menu
13 - progress bar
14 - radio button
16 - scrollbar (not used in dialogs)
17 - slider
20 - text only
0x102 int16 64 00 100 ID (looked up from code)
0x104 int32 01 00 00 00 0x01 state; the following values are used:
0x01 00 00 00 - visible
0x02 00 00 00 - disabled
0x04 00 00 00 - unknown
0x108 int32 00 00 03 00 0x030000 style; some used values:
0x00 00 01 00 - show button/scrollbar/checkbox text
0x00 00 02 00 - show button text
0x00 00 04 00 - show title
0x00 00 08 00 - show listbox entries
NOTE: Possible values also include the ones available for the dialog style field. Style values above 0xffff have class specific meaning so the above list is not necesarilly complete (and correct).
0x10C int16 5E 01 350 x coordinate (relative to the top left corner of the window)
0x10E int16 E6 00 230 y coordinate (relative to the top left corner of the window)
0x110 int16 B4 00 180 width
0x112 int16 28 00 40 height
0x114 link32 01 02 00 00 2 link to 00002-Tahoma.TSFF
0x118 int32 01 00 00 00 1 font option; the following options are possible:
0 - normal font
1 - bold font
2 - italic font
0x11C color32 00 7F FF FF 0, 127, 255; 255 font color (blue, green, red); transparency
0x120 int8 01 1 unknown; appears to be unused
0x121 int8 00 0 unknown; appears to be unused
0x122 int16 0A 00 10 font size (height)


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


ONI BINARY DATA
WMCL << Other file types >> WMM_
WMDD : WM (Window Menu) Dialog Data
Global file