XPlor/definitions/cod/menu.xscript
njohnson 7b1f5d34a1 Consolidate XScript definitions with byte order inheritance
- Volition VPP: Unified BE/LE types using inheritance pattern
- THQA PAK: Child types now inherit byte order from parent
- Various XScript definition updates and fixes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 16:08:46 -05:00

56 lines
1.5 KiB
Plaintext

type menu ui("Menu")
{
const PTR_INLINE = -1;
// windowDef_t embedded structure
window = parse_here("windowdef");
i32 font_ptr ui("Font Ptr");
i32 full_screen ui("Full Screen");
i32 item_count ui("Item Count");
i32 font_index ui("Font Index");
i32 cursor_item ui("Cursor Item");
i32 fade_cycle ui("Fade Cycle");
fade_values = read(12) ui("Fade Clamp/Amount/InAmount");
blur_radius = read(4) ui("Blur Radius");
i32 on_open_ptr ui("OnOpen Ptr");
i32 on_close_ptr ui("OnClose Ptr");
i32 on_esc_ptr ui("OnESC Ptr");
i32 on_key_ptr ui("OnKey Ptr");
i32 sound_name_ptr ui("Sound Name Ptr");
i32 items_ptr ui("Items Ptr");
i32 allowed_binding_ptr ui("Allowed Binding Ptr");
i32 sound_loop_ptr ui("Sound Loop Ptr");
i32 image_track ui("Image Track");
// Inline data
if (font_ptr == PTR_INLINE) {
font = cstring() ui("Font");
}
if (on_open_ptr == PTR_INLINE) {
on_open = cstring() ui("OnOpen");
}
if (on_close_ptr == PTR_INLINE) {
on_close = cstring() ui("OnClose");
}
if (on_esc_ptr == PTR_INLINE) {
on_esc = cstring() ui("OnESC");
}
if (on_key_ptr == PTR_INLINE) {
on_key = parse_here("itemkeyhandler");
}
if (sound_name_ptr == PTR_INLINE) {
sound_name = cstring() ui("Sound Name");
}
if (allowed_binding_ptr == PTR_INLINE) {
allowed_binding = cstring() ui("Allowed Binding");
}
if (sound_loop_ptr == PTR_INLINE) {
sound_loop = cstring() ui("Sound Loop");
}
if (items_ptr == PTR_INLINE && item_count > 0) {
array[item_count] items: itemdef;
}
}