[ { "name": "UIGameDataInputReferenceFunction", "options": [ "null", "player settings menu update desc", { "name": "unused", "exclude": true }, "playlist settings menu update desc", "gametype select menu update desc", "multiplayer type menu update desc", "solo level select update", "difficulty menu update desc", "build number textbox only", "server list update", "network pregame status update", "splitscreen pregame status update", "net splitscreen prejoin players", "mp profile list update", "3wide player profile list update", "plyr prof edit select menu upd8", "player profile small menu update", "game settings lists text update", "solo game objective text", "color picker update", "game settings lists pic update", "main menu fake animate", "mp level select update", "get active plyr profile name", "get edit plyr profile name", "get edit game settings name", "get active plyr profile color", "mp set textbox map name", "mp set textbox game ruleset", "mp set textbox teams noteams", "mp set textbox score limit", "mp set textbox score limit type", "mp set bitmap for map", "mp set bitmap for ruleset", "mp set textbox", "mp edit profile set rule text", "system link status check", "mp game directions", "teams no teams bitmap update", "warn if diff will nuke saved game", "dim if no net cable", "pause game set textbox inverted", "dim unless two controllers", "controls update menu", "video menu update", "gamespy screen update", "common button bar update", "gamepad update menu", "server settings update", "audio menu update", "mp prof vehicles update", "solo map list update", "mp map list update", "gt select list update", "gt edit list update", "load game list update", "checking for updates", "direct ip connect update", "network settings update" ], "type": "enum" }, { "name": "UIEventType", "options": [ "a button", "b button", "x button", "y button", "black button", "white button", "left trigger", "right trigger", "dpad up", "dpad down", "dpad left", "dpad right", "start button", "back button", "left thumb", "right thumb", "left analog stick up", "left analog stick down", "left analog stick left", "left analog stick right", "left analog stick up 1", "right analog stick down", "right analog stick left", "right analog stick right", "created", "deleted", "get focus", "lose focus", "left mouse", "middle mouse", "right mouse", "double click", "custom activation", "post render" ], "type": "enum" }, { "name": "UIEventHandlerReferenceFunction", "options": [ "null", "list goto next item", "list goto previous item", { "name": "unused", "exclude": true }, { "name": "unused1", "exclude": true }, "initialize sp level list solo", "initialize sp level list coop", "dispose sp level list", "solo level set map", "set difficulty", "start new game", "pause game restart at checkpoint", "pause game restart level", "pause game return to main menu", "clear multiplayer player joins", "join controller to mp game", "initialize net game server list", "start network game server", "dispose net game server list", "shutdown network game", "net game join from server list", "split screen game initialize", "coop game initialize", "main menu intialize", "mp type menu initialize", "pick play stage for quick start", "mp level list initialize", "mp level list dispose", "mp level select", "mp profiles list initialize", "mp profiles list dispose", "mp profile set for game", "swap player team", "net game join player", "player profile list initialize", "player profile list dispose", "3wide plyr prof set for game", "1wide plyr prof set for game", "mp profile begin editing", "mp profile end editing", "mp profile set game engine", "mp profile change name", "mp profile set ctf rules", "mp profile set koth rules", "mp profile set slayer rules", "mp profile set oddball rules", "mp profile set racing rules", "mp profile set player options", "mp profile set item options", "mp profile set indicator opts", "mp profile init game engine", "mp profile init name", "mp profile init ctf rules", "mp profile init koth rules", "mp profile init slayer rules", "mp profile init oddball rules", "mp profile init racing rules", "mp profile init player opts", "mp profile init item options", "mp profile init indicator opts", "mp profile save changes", "color picker menu initialize", "color picker menu dispose", "color picker select color", "player profile begin editing", "player profile end editing", "player profile change name", "player profile save changes", "plyr prf init cntl settings", "plyr prf init adv cntl set", "plyr prf save cntl settings", "plyr prf save adv cntl set", "mp game player quit", "main menu switch to solo game", "request del player profile", "request del playlist profile", "final del player profile", "final del playlist profile", "cancel profile delete", "create edit playlist profile", "create edit player profile", "net game speed start", "net game delay start", "net server accept conx", "net server defer start", "net server allow start", "disable if no xdemos", "run xdemos", "sp reset controller choices", "sp set p1 controller choice", "sp set p2 controller choice", "error if no network connection", "start server if none advertised", "net game unjoin player", "close if not editing profile", "exit to xbox dashboard", "new campaign chosen", "new campaign decision", "pop history stack once", "difficulty menu init", "begin music fade out", "new game if no plyr profiles", "exit gracefully to xbox dashboard", "pause game invert pitch", "start new coop game", "pause game invert spinner get", "pause game invert spinner set", "main menu quit game", "mouse emit accept event", "mouse emit back event", "mouse emit dpad left event", "mouse emit dpad right event", "mouse spinner 3wide click", "controls screen init", "video screen init", "controls begin binding", "gamespy screen init", "gamespy screen dispose", "gamespy select header", "gamespy select item", "gamespy select button", "plr prof init mouse set", "plr prof change mouse set", "plr prof init audio set", "plr prof change audio set", "plr prof change video set", "controls screen dispose", "controls screen change set", "mouse emit x event", "gamepad screen init", "gamepad screen dispose", "gamepad screen change gamepads", "gamepad screen select item", "mouse screen defaults", "audio screen defaults", "video screen defaults", "controls screen defaults", "profile set edit begin", "profile manager delete", "profile manager select", "gamespy dismiss error", "server settings init", "ss edit server name", "ss edit server password", "ss start game", "video test dialog init", "video test dialog dispose", "video test dialog accept", "gamespy dismiss filters", "gamespy update filter settings", "gamespy back handler", "mouse spinner 1wide click", "controls back handler", "controls advanced launch", "controls advanced ok", "mp pause menu open", "mp game options open", "mp choose team", "mp prof init vehicle options", "mp prof save vehicle options", "single prev cl item activated", "mp prof init teamplay options", "mp prof save teamplay options", "mp game options choose", "emit custom activation event", "plr prof cancel audio set", "plr prof init network options", "plr prof save network options", "credits post render", "difficulty item select", "credits initialize", "credits dispose", "gamespy get patch", "video screen dispose", "campaign menu init", "campaign menu continue", "load game menu init", "load game menu dispose", "load game menu activated", "solo menu save checkpoint", "mp type set mode", "checking for updates ok", "checking for updates dismiss", "direct ip connect init", "direct ip connect go", "direct ip edit field", "network settings edit a port", "network settings defaults", "load game menu delete request", "load game menu delete finish" ], "type": "enum" }, { "name": "UIReplaceFunction", "options": [ "null", "widget s controller", "build number", "pid" ], "type": "enum" }, { "name": "UIWidgetType", "options": [ "container", "text box", "spinner list", "column list", "game model not implemented", "movie not implemented", "custom not implemented" ], "type": "enum" }, { "name": "UIControllerIndex", "options": [ "player 1", "player 2", "player 3", "player 4", "any player" ], "type": "enum" }, { "name": "UIJustification", "options": [ "left justify", "right justify", "center justify" ], "type": "enum" }, { "name": "EventHandlerReferencesFlags", "type": "bitfield", "fields": [ "close current widget", "close other widget", "close all widgets", "open widget", "reload self", "reload other widget", "give focus to widget", "run function", "replace self w widget", "go back to previous widget", "run scenario script", "try to branch on failure" ], "width": 32 }, { "name": "ConditionalWidgetReferenceFlags", "type": "bitfield", "fields": [ "load if event handler function fails" ], "width": 32 }, { "name": "ChildWidgetReferenceFlags", "type": "bitfield", "fields": [ "use custom controller index" ], "width": 32 }, { "name": "UIWidgetDefinitionFlags", "type": "bitfield", "fields": [ "pass unhandled events to focused child", "pause game time", "flash background bitmap", "dpad up down tabs thru children", "dpad left right tabs thru children", "dpad up down tabs thru list items", "dpad left right tabs thru list items", "dont focus a specific child widget", "pass unhandled events to all children", "render regardless of controller index", "pass handled events to all children", "return to main menu if no history", "always use tag controller index", "always use nifty render fx", "don't push history", "force handle mouse" ], "width": 32 }, { "name": "UIWidgetDefinitionFlags1", "type": "bitfield", "fields": [ "editable", "password", "flashing", "don't do that weird focus test" ], "width": 32 }, { "name": "UIWidgetDefinitionFlags2", "type": "bitfield", "fields": [ "list items generated in code", "list items from string list tag", "list items only one tooltip", "list single preview no scroll" ], "width": 32 }, { "name": "GameDataInputReference", "fields": [ { "name": "function", "type": "UIGameDataInputReferenceFunction" }, { "type": "pad", "size": 2 }, { "type": "pad", "size": 32 } ], "type": "struct", "size": 36 }, { "name": "EventHandlerReference", "fields": [ { "name": "flags", "type": "EventHandlerReferencesFlags" }, { "name": "event type", "type": "UIEventType" }, { "name": "function", "type": "UIEventHandlerReferenceFunction" }, { "name": "widget tag", "type": "TagReference", "groups": [ "ui_widget_definition" ] }, { "name": "sound effect", "type": "TagReference", "groups": [ "sound" ] }, { "name": "script", "type": "String32" } ], "type": "struct", "size": 72, "needs_postprocessed": true }, { "name": "SearchAndReplaceReference", "fields": [ { "name": "search string", "type": "String32" }, { "name": "replace function", "type": "UIReplaceFunction" } ], "type": "struct", "size": 34 }, { "name": "ConditionalWidgetReference", "fields": [ { "name": "widget tag", "type": "TagReference", "groups": [ "ui_widget_definition" ] }, { "name": "name", "type": "String32" }, { "name": "flags", "type": "ConditionalWidgetReferenceFlags" }, { "name": "custom controller index", "type": "Index" }, { "type": "pad", "size": 26 } ], "type": "struct", "title": "name", "size": 80 }, { "name": "ChildWidgetReference", "fields": [ { "name": "widget tag", "type": "TagReference", "groups": [ "ui_widget_definition" ] }, { "name": "name", "type": "String32" }, { "name": "flags", "type": "ChildWidgetReferenceFlags" }, { "name": "custom controller index", "type": "Index" }, { "name": "vertical offset", "type": "int16" }, { "name": "horizontal offset", "type": "int16" }, { "type": "pad", "size": 22 } ], "type": "struct", "title": "name", "size": 80 }, { "name": "UIWidgetDefinition", "fields": [ { "name": "widget type", "type": "UIWidgetType" }, { "name": "controller index", "type": "UIControllerIndex" }, { "name": "name", "type": "String32" }, { "name": "bounds", "type": "Rectangle" }, { "name": "flags", "type": "UIWidgetDefinitionFlags" }, { "name": "milliseconds to auto close", "type": "int32" }, { "name": "milliseconds auto close fade time", "type": "int32" }, { "name": "background bitmap", "type": "TagReference", "groups": [ "bitmap" ] }, { "name": "game data inputs", "type": "Reflexive", "struct": "GameDataInputReference", "maximum": 64 }, { "name": "event handlers", "type": "Reflexive", "struct": "EventHandlerReference", "maximum": 32 }, { "name": "search and replace functions", "type": "Reflexive", "struct": "SearchAndReplaceReference", "maximum": 32 }, { "type": "pad", "size": 128 }, { "name": "text label unicode strings list", "type": "TagReference", "groups": [ "unicode_string_list" ] }, { "name": "text font", "type": "TagReference", "groups": [ "font" ] }, { "name": "text color", "type": "ColorARGB" }, { "name": "justification", "type": "UIJustification" }, { "name": "flags 1", "type": "UIWidgetDefinitionFlags1" }, { "type": "pad", "size": 12 }, { "name": "string list index", "type": "Index" }, { "name": "horiz offset", "type": "int16" }, { "name": "vert offset", "type": "int16" }, { "type": "pad", "size": 26 }, { "type": "pad", "size": 2 }, { "name": "flags 2", "type": "UIWidgetDefinitionFlags2" }, { "name": "list header bitmap", "type": "TagReference", "groups": [ "bitmap" ] }, { "name": "list footer bitmap", "type": "TagReference", "groups": [ "bitmap" ] }, { "name": "header bounds", "type": "Rectangle" }, { "name": "footer bounds", "type": "Rectangle" }, { "type": "pad", "size": 32 }, { "name": "extended description widget", "type": "TagReference", "groups": [ "ui_widget_definition" ] }, { "type": "pad", "size": 32 }, { "type": "pad", "size": 256 }, { "name": "conditional widgets", "type": "Reflexive", "struct": "ConditionalWidgetReference", "maximum": 32 }, { "type": "pad", "size": 128 }, { "type": "pad", "size": 128 }, { "name": "child widgets", "type": "Reflexive", "struct": "ChildWidgetReference", "maximum": 32 } ], "type": "struct", "title": "name", "size": 1004, "group": "ui_widget_definition" } ]