<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://codresearch.dev/index.php?action=history&amp;feed=atom&amp;title=Menu_Asset_%28BO1%29</id>
	<title>Menu Asset (BO1) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://codresearch.dev/index.php?action=history&amp;feed=atom&amp;title=Menu_Asset_%28BO1%29"/>
	<link rel="alternate" type="text/html" href="https://codresearch.dev/index.php?title=Menu_Asset_(BO1)&amp;action=history"/>
	<updated>2026-07-28T09:21:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://codresearch.dev/index.php?title=Menu_Asset_(BO1)&amp;diff=759&amp;oldid=prev</id>
		<title>Aerosoul94 at 13:57, 25 December 2014</title>
		<link rel="alternate" type="text/html" href="https://codresearch.dev/index.php?title=Menu_Asset_(BO1)&amp;diff=759&amp;oldid=prev"/>
		<updated>2014-12-25T13:57:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://codresearch.dev/index.php?title=Menu_Asset_(BO1)&amp;amp;diff=759&amp;amp;oldid=401&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Aerosoul94</name></author>
	</entry>
	<entry>
		<id>https://codresearch.dev/index.php?title=Menu_Asset_(BO1)&amp;diff=401&amp;oldid=prev</id>
		<title>Aerosoul94: Created page with &quot;__NOTOC__ Category:Assets Category:BO1 &lt;source lang=&quot;cpp&quot;&gt; enum expDataType { 	VAL_INT = 0x0, 	VAL_FLOAT = 0x1, 	VAL_STRING = 0x2, };  union operandInternalDataUnion {...&quot;</title>
		<link rel="alternate" type="text/html" href="https://codresearch.dev/index.php?title=Menu_Asset_(BO1)&amp;diff=401&amp;oldid=prev"/>
		<updated>2014-02-26T14:29:41Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;__NOTOC__ &lt;a href=&quot;/index.php/Category:Assets&quot; title=&quot;Category:Assets&quot;&gt;Category:Assets&lt;/a&gt; &lt;a href=&quot;/index.php?title=Category:BO1&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Category:BO1 (page does not exist)&quot;&gt;Category:BO1&lt;/a&gt; &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; enum expDataType { 	VAL_INT = 0x0, 	VAL_FLOAT = 0x1, 	VAL_STRING = 0x2, };  union operandInternalDataUnion {...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
[[Category:Assets]]&lt;br /&gt;
[[Category:BO1]]&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
enum expDataType&lt;br /&gt;
{&lt;br /&gt;
	VAL_INT = 0x0,&lt;br /&gt;
	VAL_FLOAT = 0x1,&lt;br /&gt;
	VAL_STRING = 0x2,&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
union operandInternalDataUnion&lt;br /&gt;
{&lt;br /&gt;
	int intVal;&lt;br /&gt;
	float floatVal;&lt;br /&gt;
	const char *string;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct Operand&lt;br /&gt;
{&lt;br /&gt;
	expDataType dataType;&lt;br /&gt;
	operandInternalDataUnion internals;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
union entryInternalData&lt;br /&gt;
{&lt;br /&gt;
	// if expressionEntry.type == 0&lt;br /&gt;
	expFunctionEnum op;&lt;br /&gt;
	// else &lt;br /&gt;
	Operand operand;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct expressionRpn&lt;br /&gt;
{&lt;br /&gt;
	int type;&lt;br /&gt;
	entryInternalData data;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct ExpressionStatement	// size = 0x10&lt;br /&gt;
{&lt;br /&gt;
	char *string1;&lt;br /&gt;
	int unknown;&lt;br /&gt;
	int numEntries;&lt;br /&gt;
	expressionRpn *rpn;	// count = unk1Count;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct rectExpData_t	// size = 0x40&lt;br /&gt;
{&lt;br /&gt;
	ExpressionStatement rectXExp;&lt;br /&gt;
	ExpressionStatement rectYExp;&lt;br /&gt;
	ExpressionStatement rectWExp;&lt;br /&gt;
	ExpressionStatement rectHExp;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct gameMsgDef_t	// 8&lt;br /&gt;
{&lt;br /&gt;
	int gamemsgwindowindex;&lt;br /&gt;
	int gamemsgwindowmode;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct focusItemDef_t;&lt;br /&gt;
&lt;br /&gt;
union textData_t&lt;br /&gt;
{&lt;br /&gt;
	focusItemDef_t *focusItemDef;	// 3,4,5,7,8,9,10,11,12,13,14,16,20,21,22,30&lt;br /&gt;
	gameMsgDef_t *gameMsgDef;	// 15&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct textDef_t	// 0xD4&lt;br /&gt;
{&lt;br /&gt;
	rectDef_s textRect[4];&lt;br /&gt;
	int alignment;&lt;br /&gt;
	int fontEnum;&lt;br /&gt;
	int textSaveGameInfo;&lt;br /&gt;
	int textAlignMode;&lt;br /&gt;
	float textalignx;&lt;br /&gt;
	float textaligny;&lt;br /&gt;
	float textscale;&lt;br /&gt;
	int textpadding;&lt;br /&gt;
	int textstyle;&lt;br /&gt;
	float fontColor[4];&lt;br /&gt;
	float glowColor[4];&lt;br /&gt;
	float shadowColor[4];&lt;br /&gt;
	float fontBlur;&lt;br /&gt;
	float glowRadius;&lt;br /&gt;
	float shadowSize;&lt;br /&gt;
	float shadowOffset;&lt;br /&gt;
	int unknown;&lt;br /&gt;
	char *text;&lt;br /&gt;
	ExpressionStatement *textExpData;&lt;br /&gt;
	textData_t textData;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct MenuCell	// 0xC&lt;br /&gt;
{&lt;br /&gt;
	int unknown1;&lt;br /&gt;
	int stringSize;&lt;br /&gt;
	char *stringValue;	// size = stringSize&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct MenuRow	// 0x18&lt;br /&gt;
{&lt;br /&gt;
	MenuCell *cells;	// count = listBoxDef_s.count1&lt;br /&gt;
	const char *eventName;&lt;br /&gt;
	const char *onFocusEventName;&lt;br /&gt;
	char unknown[0x10];&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct listBoxDef_t	// 0x2BC&lt;br /&gt;
{&lt;br /&gt;
	char unknown1[0x14];&lt;br /&gt;
	float elementwidth;&lt;br /&gt;
	float elementheight;&lt;br /&gt;
	char unknown2[8];&lt;br /&gt;
	int elementtype;&lt;br /&gt;
	char unknown3[0x21C];&lt;br /&gt;
	int notselectable;&lt;br /&gt;
	int noScrollBars;&lt;br /&gt;
	int usePaging;&lt;br /&gt;
	float selectBorder[4];&lt;br /&gt;
	float disableColor[4];&lt;br /&gt;
	float focusColor[4];&lt;br /&gt;
	float elementHighlightColor[4];&lt;br /&gt;
	float elementBackgroundColor[4];&lt;br /&gt;
	Material *selectIcon;&lt;br /&gt;
	Material *backgroundItemListBox;&lt;br /&gt;
	Material *highlightTexture;&lt;br /&gt;
	int bNoBlinkingHighlight;&lt;br /&gt;
	MenuRow *rows;	// count = numRows&lt;br /&gt;
	int numRows;&lt;br /&gt;
	int unknown4;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct multiDef_t	// 0x18C&lt;br /&gt;
{&lt;br /&gt;
	char *dvarList[32];&lt;br /&gt;
	char *dvarStr[32];&lt;br /&gt;
	float dvarValue[32];&lt;br /&gt;
	char unknown[0xC];&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct profileDef_t	// 0x18C&lt;br /&gt;
{&lt;br /&gt;
	char *profileStrList[32];&lt;br /&gt;
	char *profileFloatList[32];&lt;br /&gt;
	float profileFloat[32];&lt;br /&gt;
	char unknown[0xC];&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct editFieldDef_t	// 0x30&lt;br /&gt;
{&lt;br /&gt;
	char unknown1[0x14];&lt;br /&gt;
	int maxChars;&lt;br /&gt;
	int maxCharsGotoNext;&lt;br /&gt;
	int maxPaintChars;&lt;br /&gt;
	char unknown2[0x10];&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct enumDvarDef_t&lt;br /&gt;
{&lt;br /&gt;
	char *enumDvarName;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
union itemDefData_t&lt;br /&gt;
{&lt;br /&gt;
	listBoxDef_t *listBox;		// 4&lt;br /&gt;
	multiDef_t *multiDef;		// 10&lt;br /&gt;
	profileDef_t *profileDef;	// 22&lt;br /&gt;
	editFieldDef_t *editField;	// 5,7,8,9,12,13,14,16,30&lt;br /&gt;
	enumDvarDef_t *enumDvarDef;	// 11&lt;br /&gt;
	void *data;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct ScriptCondition // 0x10&lt;br /&gt;
{&lt;br /&gt;
	char unknown[0xC];&lt;br /&gt;
	ScriptCondition *next;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct GenericEventScript	// 0x2C&lt;br /&gt;
{&lt;br /&gt;
	ScriptCondition *prerequisites;&lt;br /&gt;
	char unknown1[0x18];&lt;br /&gt;
	char *string1;&lt;br /&gt;
	char unknown2[0xC];&lt;br /&gt;
	GenericEventScript *next;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct GenericEventHandler // 0xC&lt;br /&gt;
{&lt;br /&gt;
	int unknown;&lt;br /&gt;
	GenericEventScript *eventScript;&lt;br /&gt;
	GenericEventHandler *next;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct focusItemDef_t	// 0x18&lt;br /&gt;
{&lt;br /&gt;
	char *string1;&lt;br /&gt;
	char *string2;&lt;br /&gt;
	char *string3;&lt;br /&gt;
	char *string4;&lt;br /&gt;
	GenericEventHandler *onKey;&lt;br /&gt;
	itemDefData_t typeData;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
union itemData_t&lt;br /&gt;
{&lt;br /&gt;
	textDef_t *textData;	// 1,3,4,5,7,8,9,10,11,12,13,14,15,16,18,20,22&lt;br /&gt;
	ExpressionStatement *imageDef;		// 2&lt;br /&gt;
	ExpressionStatement *ownerDrawDef;	// 6&lt;br /&gt;
	focusItemDef_t *focusItemDef;		// 19, 21&lt;br /&gt;
	void *data;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct ItemKeyHandler	// size = 0xC&lt;br /&gt;
{&lt;br /&gt;
	const char *keyName;&lt;br /&gt;
	GenericEventScript *keyScript;&lt;br /&gt;
	ItemKeyHandler *next;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct animParamsDef_t	// size = 0x6C&lt;br /&gt;
{&lt;br /&gt;
	const char *state;&lt;br /&gt;
	char unknown[0x64];&lt;br /&gt;
	ItemKeyHandler *onEvent;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct UIAnimInfo	// 0xEC&lt;br /&gt;
{&lt;br /&gt;
	int count;&lt;br /&gt;
	animParamsDef_t *animStates;&lt;br /&gt;
	char unknown[0xE4];&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
/* dynamicFlags */&lt;br /&gt;
#define WINDOWDYNAMIC_VISIBLE		0x00000004&lt;br /&gt;
#define WINDOWDYNAMIC_CHECKMASK		0x000FFFFF&lt;br /&gt;
&lt;br /&gt;
/* staticFlags */&lt;br /&gt;
#define WINDOWSTATIC_DECORATION			0x00100000&lt;br /&gt;
#define WINDOWSTATIC_HORIZONTALSCROLL		0x00200000&lt;br /&gt;
#define WINDOWSTATIC_AUTOWRAPPED		0x00800000&lt;br /&gt;
#define WINDOWSTATIC_POPUP 			0x01000000&lt;br /&gt;
#define WINDOWSTATIC_OUTOFBOUNDSCLICK 		0x02000000&lt;br /&gt;
#define WINDOWSTATIC_LEGACYSPLITSCREENSCALE	0x04000000&lt;br /&gt;
#define WINDOWSTATIC_ALLOWSIGNIN		0x08000000&lt;br /&gt;
#define WINDOWSTATIC_HIDDENDURINGFLASHBANG	0x10000000&lt;br /&gt;
#define WINDOWSTATIC_HIDDENDURINGSCOPE		0x20000000&lt;br /&gt;
#define WINDOWSTATIC_HIDDENDURINGUI		0x40000000&lt;br /&gt;
#define WINDOWSTATIC_CHECKMASK			0xFFF00000&lt;br /&gt;
&lt;br /&gt;
struct rectDef_s&lt;br /&gt;
{&lt;br /&gt;
	float x;&lt;br /&gt;
	float y;&lt;br /&gt;
	float w;&lt;br /&gt;
	float h;&lt;br /&gt;
	int horzAlign;&lt;br /&gt;
	int vertAlign;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct windowDef_t	// 0xB0&lt;br /&gt;
{&lt;br /&gt;
	const char *name;&lt;br /&gt;
	rectDef_s rect;&lt;br /&gt;
	rectDef_s rectClient;&lt;br /&gt;
	const char *group;&lt;br /&gt;
	char style;&lt;br /&gt;
	char border;&lt;br /&gt;
	char modal;&lt;br /&gt;
	char frameSide;	&lt;br /&gt;
	float frame[2];&lt;br /&gt;
	int ownerDraw;&lt;br /&gt;
	int ownerDrawFlag;&lt;br /&gt;
	float borderSize;&lt;br /&gt;
	int staticFlags;&lt;br /&gt;
	int dynamicFlags[4];&lt;br /&gt;
	int nextTime;&lt;br /&gt;
	float foreColor[4];&lt;br /&gt;
	float backColor[4];&lt;br /&gt;
	float borderColor[4];&lt;br /&gt;
	float outlineColor[4];&lt;br /&gt;
	float rotation;&lt;br /&gt;
	Material *background;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct itemDef_t	// size = 0x118&lt;br /&gt;
{&lt;br /&gt;
	windowDef_t window;&lt;br /&gt;
	int type;&lt;br /&gt;
	int dataType;&lt;br /&gt;
	int unknown1;&lt;br /&gt;
	const char *dvar;&lt;br /&gt;
	const char *profile;&lt;br /&gt;
	const char *dvarTest;&lt;br /&gt;
	int enableFlags;		// (1=enableDvar,2=disableDvar,4=showDvar,8=hideDvar,16=focusDvar)&lt;br /&gt;
	itemData_t typeData;&lt;br /&gt;
	menuDef_t *parent;&lt;br /&gt;
	rectExpData_t *rectExpData;&lt;br /&gt;
	ExpressionStatement visibleExp;&lt;br /&gt;
	int visibilityBits[4];&lt;br /&gt;
	ExpressionStatement foreColorExp;&lt;br /&gt;
	int ui3dWindowId;&lt;br /&gt;
	ItemKeyHandler *onEvent;&lt;br /&gt;
	UIAnimInfo *animInfo;&lt;br /&gt;
	int unknown2;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct menuDef_t	// size = 0x1A8&lt;br /&gt;
{&lt;br /&gt;
	windowDef_t window;&lt;br /&gt;
	const char *font;&lt;br /&gt;
	int fullscreen;&lt;br /&gt;
	int ui3dWindowId;&lt;br /&gt;
	int itemCount;&lt;br /&gt;
	int fontIndex;&lt;br /&gt;
	int cursorItem[4];&lt;br /&gt;
	int fadeCycle;&lt;br /&gt;
	int priority;&lt;br /&gt;
	float fadeClamp;&lt;br /&gt;
	float fadeAmount;&lt;br /&gt;
	float fadeInAmount;&lt;br /&gt;
	float blurRadius;&lt;br /&gt;
	int openSlideSpeed;&lt;br /&gt;
	int closeSlideSpeed;&lt;br /&gt;
	int openSlideDirection;&lt;br /&gt;
	int closeSlideDirection;&lt;br /&gt;
	rectDef_s unknownRect;&lt;br /&gt;
	int closeFadingTime;&lt;br /&gt;
	int openFadingTime;&lt;br /&gt;
	char unknown2[0x8];&lt;br /&gt;
	ItemKeyHandler *onKey;&lt;br /&gt;
	GenericEventHandler *onEvent;&lt;br /&gt;
	ExpressionStatement visibleExp;&lt;br /&gt;
	int unknown3;&lt;br /&gt;
	int visibilityBits[4];&lt;br /&gt;
	const char *allowedBinding;&lt;br /&gt;
	const char *soundLoop;&lt;br /&gt;
	int unknown4;&lt;br /&gt;
	int control;&lt;br /&gt;
	float focusColor[4];&lt;br /&gt;
	float disableColor[4];&lt;br /&gt;
	ExpressionStatement rectYExp;&lt;br /&gt;
	ExpressionStatement rectXExp;&lt;br /&gt;
	itemDef_t **items;&lt;br /&gt;
	int unknown5;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aerosoul94</name></author>
	</entry>
</feed>