data align 4 LABELV captureFunc byte 4 0 align 4 LABELV captureData byte 4 0 align 4 LABELV itemCapture byte 4 0 export DC align 4 LABELV DC byte 4 0 align 4 LABELV g_waitingForKey byte 4 0 align 4 LABELV g_editingField byte 4 0 align 4 LABELV g_bindItem byte 4 0 align 4 LABELV g_editItem byte 4 0 export menuCount align 4 LABELV menuCount byte 4 0 export openMenuCount align 4 LABELV openMenuCount byte 4 0 align 4 LABELV debugMode byte 4 0 align 4 LABELV lastListBoxClickTime byte 4 0 export UI_Alloc code proc UI_Alloc 8 4 file "../ui_shared.c" line 71 ;1:// ;2:// string allocation/managment ;3: ;4:#include "ui_shared.h" ;5: ;6:#define SCROLL_TIME_START 500 ;7:#define SCROLL_TIME_ADJUST 150 ;8:#define SCROLL_TIME_ADJUSTOFFSET 40 ;9:#define SCROLL_TIME_FLOOR 20 ;10: ;11:typedef struct scrollInfo_s { ;12: int nextScrollTime; ;13: int nextAdjustTime; ;14: int adjustValue; ;15: int scrollKey; ;16: float xStart; ;17: float yStart; ;18: itemDef_t *item; ;19: qboolean scrollDir; ;20:} scrollInfo_t; ;21: ;22:static scrollInfo_t scrollInfo; ;23: ;24:static void (*captureFunc) (void *p) = NULL; ;25:static void *captureData = NULL; ;26:static itemDef_t *itemCapture = NULL; // item that has the mouse captured ( if any ) ;27: ;28:displayContextDef_t *DC = NULL; ;29: ;30:static qboolean g_waitingForKey = qfalse; ;31:static qboolean g_editingField = qfalse; ;32: ;33:static itemDef_t *g_bindItem = NULL; ;34:static itemDef_t *g_editItem = NULL; ;35: ;36:menuDef_t Menus[MAX_MENUS]; // defined menus ;37:int menuCount = 0; // how many ;38: ;39:menuDef_t *menuStack[MAX_OPEN_MENUS]; ;40:int openMenuCount = 0; ;41: ;42:static qboolean debugMode = qfalse; ;43: ;44:#define DOUBLE_CLICK_DELAY 300 ;45:static int lastListBoxClickTime = 0; ;46: ;47:void Item_RunScript(itemDef_t *item, const char *s); ;48:void Item_SetupKeywordHash(void); ;49:void Menu_SetupKeywordHash(void); ;50:int BindingIDFromName(const char *name); ;51:qboolean Item_Bind_HandleKey(itemDef_t *item, int key, qboolean down); ;52:itemDef_t *Menu_SetPrevCursorItem(menuDef_t *menu); ;53:itemDef_t *Menu_SetNextCursorItem(menuDef_t *menu); ;54:static qboolean Menu_OverActiveItem(menuDef_t *menu, float x, float y); ;55: ;56:#ifdef CGAME ;57:#define MEM_POOL_SIZE 128 * 1024 ;58:#else ;59:#define MEM_POOL_SIZE 1024 * 1024 ;60:#endif ;61: ;62:static char memoryPool[MEM_POOL_SIZE]; ;63:static int allocPoint, outOfMemory; ;64: ;65: ;66:/* ;67:=============== ;68:UI_Alloc ;69:=============== ;70:*/ ;71:void *UI_Alloc( int size ) { line 74 ;72: char *p; ;73: ;74: if ( allocPoint + size > MEM_POOL_SIZE ) { ADDRGP4 allocPoint INDIRI4 ADDRFP4 0 INDIRI4 ADDI4 CNSTI4 1048576 LEI4 $41 line 75 ;75: outOfMemory = qtrue; ADDRGP4 outOfMemory CNSTI4 1 ASGNI4 line 76 ;76: if (DC->Print) { ADDRGP4 DC INDIRP4 CNSTI4 156 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $43 line 77 ;77: DC->Print("UI_Alloc: Failure. Out of memory!\n"); ADDRGP4 $45 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 156 ADDP4 INDIRP4 CALLV pop line 78 ;78: } LABELV $43 line 80 ;79: //DC->trap_Print(S_COLOR_YELLOW"WARNING: UI Out of Memory!\n"); ;80: return NULL; CNSTP4 0 RETP4 ADDRGP4 $40 JUMPV LABELV $41 line 83 ;81: } ;82: ;83: p = &memoryPool[allocPoint]; ADDRLP4 0 ADDRGP4 allocPoint INDIRI4 ADDRGP4 memoryPool ADDP4 ASGNP4 line 85 ;84: ;85: allocPoint += ( size + 15 ) & ~15; ADDRLP4 4 ADDRGP4 allocPoint ASGNP4 ADDRLP4 4 INDIRP4 ADDRLP4 4 INDIRP4 INDIRI4 ADDRFP4 0 INDIRI4 CNSTI4 15 ADDI4 CNSTI4 -16 BANDI4 ADDI4 ASGNI4 line 87 ;86: ;87: return p; ADDRLP4 0 INDIRP4 RETP4 LABELV $40 endproc UI_Alloc 8 4 export UI_InitMemory proc UI_InitMemory 0 0 line 95 ;88:} ;89: ;90:/* ;91:=============== ;92:UI_InitMemory ;93:=============== ;94:*/ ;95:void UI_InitMemory( void ) { line 96 ;96: allocPoint = 0; ADDRGP4 allocPoint CNSTI4 0 ASGNI4 line 97 ;97: outOfMemory = qfalse; ADDRGP4 outOfMemory CNSTI4 0 ASGNI4 line 98 ;98:} LABELV $46 endproc UI_InitMemory 0 0 export UI_OutOfMemory proc UI_OutOfMemory 0 0 line 100 ;99: ;100:qboolean UI_OutOfMemory() { line 101 ;101: return outOfMemory; ADDRGP4 outOfMemory INDIRI4 RETI4 LABELV $47 endproc UI_OutOfMemory 0 0 proc hashForString 16 4 line 114 ;102:} ;103: ;104: ;105: ;106: ;107: ;108:#define HASH_TABLE_SIZE 2048 ;109:/* ;110:================ ;111:return a hash value for the string ;112:================ ;113:*/ ;114:static long hashForString(const char *str) { line 119 ;115: int i; ;116: long hash; ;117: char letter; ;118: ;119: hash = 0; ADDRLP4 8 CNSTI4 0 ASGNI4 line 120 ;120: i = 0; ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $50 JUMPV LABELV $49 line 121 ;121: while (str[i] != '\0') { line 122 ;122: letter = tolower(str[i]); ADDRLP4 0 INDIRI4 ADDRFP4 0 INDIRP4 ADDP4 INDIRI1 CVII4 1 ARGI4 ADDRLP4 12 ADDRGP4 tolower CALLI4 ASGNI4 ADDRLP4 4 ADDRLP4 12 INDIRI4 CVII1 4 ASGNI1 line 123 ;123: hash+=(long)(letter)*(i+119); ADDRLP4 8 ADDRLP4 8 INDIRI4 ADDRLP4 4 INDIRI1 CVII4 1 ADDRLP4 0 INDIRI4 CNSTI4 119 ADDI4 MULI4 ADDI4 ASGNI4 line 124 ;124: i++; ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 125 ;125: } LABELV $50 line 121 ADDRLP4 0 INDIRI4 ADDRFP4 0 INDIRP4 ADDP4 INDIRI1 CVII4 1 CNSTI4 0 NEI4 $49 line 126 ;126: hash &= (HASH_TABLE_SIZE-1); ADDRLP4 8 ADDRLP4 8 INDIRI4 CNSTI4 2047 BANDI4 ASGNI4 line 127 ;127: return hash; ADDRLP4 8 INDIRI4 RETI4 LABELV $48 endproc hashForString 16 4 data align 4 LABELV strPoolIndex byte 4 0 align 4 LABELV strHandleCount byte 4 0 align 4 LABELV $53 address $54 export String_Alloc code proc String_Alloc 44 8 line 142 ;128:} ;129: ;130:typedef struct stringDef_s { ;131: struct stringDef_s *next; ;132: const char *str; ;133:} stringDef_t; ;134: ;135:static int strPoolIndex = 0; ;136:static char strPool[STRING_POOL_SIZE]; ;137: ;138:static int strHandleCount = 0; ;139:static stringDef_t *strHandle[HASH_TABLE_SIZE]; ;140: ;141: ;142:const char *String_Alloc(const char *p) { line 148 ;143: int len; ;144: long hash; ;145: stringDef_t *str, *last; ;146: static const char *staticNULL = ""; ;147: ;148: if (p == NULL) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $55 line 149 ;149: return NULL; CNSTP4 0 RETP4 ADDRGP4 $52 JUMPV LABELV $55 line 152 ;150: } ;151: ;152: if (*p == 0) { ADDRFP4 0 INDIRP4 INDIRI1 CVII4 1 CNSTI4 0 NEI4 $57 line 153 ;153: return staticNULL; ADDRGP4 $53 INDIRP4 RETP4 ADDRGP4 $52 JUMPV LABELV $57 line 156 ;154: } ;155: ;156: hash = hashForString(p); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 16 ADDRGP4 hashForString CALLI4 ASGNI4 ADDRLP4 8 ADDRLP4 16 INDIRI4 ASGNI4 line 158 ;157: ;158: str = strHandle[hash]; ADDRLP4 0 ADDRLP4 8 INDIRI4 CNSTI4 2 LSHI4 ADDRGP4 strHandle ADDP4 INDIRP4 ASGNP4 ADDRGP4 $60 JUMPV LABELV $59 line 159 ;159: while (str) { line 160 ;160: if (strcmp(p, str->str) == 0) { ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRP4 ARGP4 ADDRLP4 20 ADDRGP4 strcmp CALLI4 ASGNI4 ADDRLP4 20 INDIRI4 CNSTI4 0 NEI4 $62 line 161 ;161: return str->str; ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRP4 RETP4 ADDRGP4 $52 JUMPV LABELV $62 line 163 ;162: } ;163: str = str->next; ADDRLP4 0 ADDRLP4 0 INDIRP4 INDIRP4 ASGNP4 line 164 ;164: } LABELV $60 line 159 ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $59 line 166 ;165: ;166: len = strlen(p); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 20 ADDRGP4 strlen CALLI4 ASGNI4 ADDRLP4 12 ADDRLP4 20 INDIRI4 ASGNI4 line 167 ;167: if (len + strPoolIndex + 1 < STRING_POOL_SIZE) { ADDRLP4 12 INDIRI4 ADDRGP4 strPoolIndex INDIRI4 ADDI4 CNSTI4 1 ADDI4 CNSTI4 393216 GEI4 $64 line 168 ;168: int ph = strPoolIndex; ADDRLP4 24 ADDRGP4 strPoolIndex INDIRI4 ASGNI4 line 169 ;169: strcpy(&strPool[strPoolIndex], p); ADDRGP4 strPoolIndex INDIRI4 ADDRGP4 strPool ADDP4 ARGP4 ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 strcpy CALLP4 pop line 170 ;170: strPoolIndex += len + 1; ADDRLP4 28 ADDRGP4 strPoolIndex ASGNP4 ADDRLP4 28 INDIRP4 ADDRLP4 28 INDIRP4 INDIRI4 ADDRLP4 12 INDIRI4 CNSTI4 1 ADDI4 ADDI4 ASGNI4 line 172 ;171: ;172: str = strHandle[hash]; ADDRLP4 0 ADDRLP4 8 INDIRI4 CNSTI4 2 LSHI4 ADDRGP4 strHandle ADDP4 INDIRP4 ASGNP4 line 173 ;173: last = str; ADDRLP4 4 ADDRLP4 0 INDIRP4 ASGNP4 ADDRGP4 $67 JUMPV LABELV $66 line 174 ;174: while (str && str->next) { line 175 ;175: last = str; ADDRLP4 4 ADDRLP4 0 INDIRP4 ASGNP4 line 176 ;176: str = str->next; ADDRLP4 0 ADDRLP4 0 INDIRP4 INDIRP4 ASGNP4 line 177 ;177: } LABELV $67 line 174 ADDRLP4 36 CNSTU4 0 ASGNU4 ADDRLP4 0 INDIRP4 CVPU4 4 ADDRLP4 36 INDIRU4 EQU4 $69 ADDRLP4 0 INDIRP4 INDIRP4 CVPU4 4 ADDRLP4 36 INDIRU4 NEU4 $66 LABELV $69 line 179 ;178: ;179: str = UI_Alloc(sizeof(stringDef_t)); CNSTI4 8 ARGI4 ADDRLP4 40 ADDRGP4 UI_Alloc CALLP4 ASGNP4 ADDRLP4 0 ADDRLP4 40 INDIRP4 ASGNP4 line 180 ;180: str->next = NULL; ADDRLP4 0 INDIRP4 CNSTP4 0 ASGNP4 line 181 ;181: str->str = &strPool[ph]; ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 ADDRLP4 24 INDIRI4 ADDRGP4 strPool ADDP4 ASGNP4 line 182 ;182: if (last) { ADDRLP4 4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $70 line 183 ;183: last->next = str; ADDRLP4 4 INDIRP4 ADDRLP4 0 INDIRP4 ASGNP4 line 184 ;184: } else { ADDRGP4 $71 JUMPV LABELV $70 line 185 ;185: strHandle[hash] = str; ADDRLP4 8 INDIRI4 CNSTI4 2 LSHI4 ADDRGP4 strHandle ADDP4 ADDRLP4 0 INDIRP4 ASGNP4 line 186 ;186: } LABELV $71 line 187 ;187: return &strPool[ph]; ADDRLP4 24 INDIRI4 ADDRGP4 strPool ADDP4 RETP4 ADDRGP4 $52 JUMPV LABELV $64 line 189 ;188: } ;189: return NULL; CNSTP4 0 RETP4 LABELV $52 endproc String_Alloc 44 8 export String_Report proc String_Report 4 16 line 192 ;190:} ;191: ;192:void String_Report() { line 194 ;193: float f; ;194: Com_Printf("Memory/String Pool Info\n"); ADDRGP4 $73 ARGP4 ADDRGP4 Com_Printf CALLV pop line 195 ;195: Com_Printf("----------------\n"); ADDRGP4 $74 ARGP4 ADDRGP4 Com_Printf CALLV pop line 196 ;196: f = strPoolIndex; ADDRLP4 0 ADDRGP4 strPoolIndex INDIRI4 CVIF4 4 ASGNF4 line 197 ;197: f /= STRING_POOL_SIZE; ADDRLP4 0 ADDRLP4 0 INDIRF4 CNSTF4 1220542464 DIVF4 ASGNF4 line 198 ;198: f *= 100; ADDRLP4 0 CNSTF4 1120403456 ADDRLP4 0 INDIRF4 MULF4 ASGNF4 line 199 ;199: Com_Printf("String Pool is %.1f%% full, %i bytes out of %i used.\n", f, strPoolIndex, STRING_POOL_SIZE); ADDRGP4 $75 ARGP4 ADDRLP4 0 INDIRF4 ARGF4 ADDRGP4 strPoolIndex INDIRI4 ARGI4 CNSTI4 393216 ARGI4 ADDRGP4 Com_Printf CALLV pop line 200 ;200: f = allocPoint; ADDRLP4 0 ADDRGP4 allocPoint INDIRI4 CVIF4 4 ASGNF4 line 201 ;201: f /= MEM_POOL_SIZE; ADDRLP4 0 ADDRLP4 0 INDIRF4 CNSTF4 1233125376 DIVF4 ASGNF4 line 202 ;202: f *= 100; ADDRLP4 0 CNSTF4 1120403456 ADDRLP4 0 INDIRF4 MULF4 ASGNF4 line 203 ;203: Com_Printf("Memory Pool is %.1f%% full, %i bytes out of %i used.\n", f, allocPoint, MEM_POOL_SIZE); ADDRGP4 $76 ARGP4 ADDRLP4 0 INDIRF4 ARGF4 ADDRGP4 allocPoint INDIRI4 ARGI4 CNSTI4 1048576 ARGI4 ADDRGP4 Com_Printf CALLV pop line 204 ;204:} LABELV $72 endproc String_Report 4 16 export String_Init proc String_Init 12 0 line 211 ;205: ;206:/* ;207:================= ;208:String_Init ;209:================= ;210:*/ ;211:void String_Init() { line 213 ;212: int i; ;213: for (i = 0; i < HASH_TABLE_SIZE; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 LABELV $78 line 214 ;214: strHandle[i] = 0; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRGP4 strHandle ADDP4 CNSTP4 0 ASGNP4 line 215 ;215: } LABELV $79 line 213 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 2048 LTI4 $78 line 216 ;216: strHandleCount = 0; ADDRGP4 strHandleCount CNSTI4 0 ASGNI4 line 217 ;217: strPoolIndex = 0; ADDRGP4 strPoolIndex CNSTI4 0 ASGNI4 line 218 ;218: menuCount = 0; ADDRGP4 menuCount CNSTI4 0 ASGNI4 line 219 ;219: openMenuCount = 0; ADDRGP4 openMenuCount CNSTI4 0 ASGNI4 line 220 ;220: UI_InitMemory(); ADDRGP4 UI_InitMemory CALLV pop line 221 ;221: Item_SetupKeywordHash(); ADDRGP4 Item_SetupKeywordHash CALLV pop line 222 ;222: Menu_SetupKeywordHash(); ADDRGP4 Menu_SetupKeywordHash CALLV pop line 223 ;223: if (DC && DC->getBindingBuf) { ADDRLP4 4 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 8 CNSTU4 0 ASGNU4 ADDRLP4 4 INDIRP4 CVPU4 4 ADDRLP4 8 INDIRU4 EQU4 $82 ADDRLP4 4 INDIRP4 CNSTI4 140 ADDP4 INDIRP4 CVPU4 4 ADDRLP4 8 INDIRU4 EQU4 $82 line 224 ;224: Controls_GetConfig(); ADDRGP4 Controls_GetConfig CALLV pop line 225 ;225: } LABELV $82 line 226 ;226:} LABELV $77 endproc String_Init 12 0 bss align 1 LABELV $85 skip 4096 export PC_SourceWarning code proc PC_SourceWarning 136 16 line 233 ;227: ;228:/* ;229:================= ;230:PC_SourceWarning ;231:================= ;232:*/ ;233:void PC_SourceWarning(int handle, char *format, ...) { line 239 ;234: int line; ;235: char filename[128]; ;236: va_list argptr; ;237: static char string[4096]; ;238: ;239: va_start (argptr, format); ADDRLP4 132 ADDRFP4 4+4 ASGNP4 line 240 ;240: vsprintf (string, format, argptr); ADDRGP4 $85 ARGP4 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 132 INDIRP4 ARGP4 ADDRGP4 vsprintf CALLI4 pop line 241 ;241: va_end (argptr); ADDRLP4 132 CNSTP4 0 ASGNP4 line 243 ;242: ;243: filename[0] = '\0'; ADDRLP4 4 CNSTI1 0 ASGNI1 line 244 ;244: line = 0; ADDRLP4 0 CNSTI4 0 ASGNI4 line 245 ;245: trap_PC_SourceFileAndLine(handle, filename, &line); ADDRFP4 0 INDIRI4 ARGI4 ADDRLP4 4 ARGP4 ADDRLP4 0 ARGP4 ADDRGP4 trap_PC_SourceFileAndLine CALLI4 pop line 247 ;246: ;247: Com_Printf(S_COLOR_YELLOW "WARNING: %s, line %d: %s\n", filename, line, string); ADDRGP4 $87 ARGP4 ADDRLP4 4 ARGP4 ADDRLP4 0 INDIRI4 ARGI4 ADDRGP4 $85 ARGP4 ADDRGP4 Com_Printf CALLV pop line 248 ;248:} LABELV $84 endproc PC_SourceWarning 136 16 bss align 1 LABELV $89 skip 4096 export PC_SourceError code proc PC_SourceError 136 16 line 255 ;249: ;250:/* ;251:================= ;252:PC_SourceError ;253:================= ;254:*/ ;255:void PC_SourceError(int handle, char *format, ...) { line 261 ;256: int line; ;257: char filename[128]; ;258: va_list argptr; ;259: static char string[4096]; ;260: ;261: va_start (argptr, format); ADDRLP4 132 ADDRFP4 4+4 ASGNP4 line 262 ;262: vsprintf (string, format, argptr); ADDRGP4 $89 ARGP4 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 132 INDIRP4 ARGP4 ADDRGP4 vsprintf CALLI4 pop line 263 ;263: va_end (argptr); ADDRLP4 132 CNSTP4 0 ASGNP4 line 265 ;264: ;265: filename[0] = '\0'; ADDRLP4 4 CNSTI1 0 ASGNI1 line 266 ;266: line = 0; ADDRLP4 0 CNSTI4 0 ASGNI4 line 267 ;267: trap_PC_SourceFileAndLine(handle, filename, &line); ADDRFP4 0 INDIRI4 ARGI4 ADDRLP4 4 ARGP4 ADDRLP4 0 ARGP4 ADDRGP4 trap_PC_SourceFileAndLine CALLI4 pop line 269 ;268: ;269: Com_Printf(S_COLOR_RED "ERROR: %s, line %d: %s\n", filename, line, string); ADDRGP4 $91 ARGP4 ADDRLP4 4 ARGP4 ADDRLP4 0 INDIRI4 ARGI4 ADDRGP4 $89 ARGP4 ADDRGP4 Com_Printf CALLV pop line 270 ;270:} LABELV $88 endproc PC_SourceError 136 16 export LerpColor proc LerpColor 12 0 line 278 ;271: ;272:/* ;273:================= ;274:LerpColor ;275:================= ;276:*/ ;277:void LerpColor(vec4_t a, vec4_t b, vec4_t c, float t) ;278:{ line 282 ;279: int i; ;280: ;281: // lerp and clamp each component ;282: for (i=0; i<4; i++) ADDRLP4 0 CNSTI4 0 ASGNI4 LABELV $93 line 283 ;283: { line 284 ;284: c[i] = a[i] + t*(b[i]-a[i]); ADDRLP4 4 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ASGNI4 ADDRLP4 8 ADDRLP4 4 INDIRI4 ADDRFP4 0 INDIRP4 ADDP4 INDIRF4 ASGNF4 ADDRLP4 4 INDIRI4 ADDRFP4 8 INDIRP4 ADDP4 ADDRLP4 8 INDIRF4 ADDRFP4 12 INDIRF4 ADDRLP4 4 INDIRI4 ADDRFP4 4 INDIRP4 ADDP4 INDIRF4 ADDRLP4 8 INDIRF4 SUBF4 MULF4 ADDF4 ASGNF4 line 285 ;285: if (c[i] < 0) ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 8 INDIRP4 ADDP4 INDIRF4 CNSTF4 0 GEF4 $97 line 286 ;286: c[i] = 0; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 8 INDIRP4 ADDP4 CNSTF4 0 ASGNF4 ADDRGP4 $98 JUMPV LABELV $97 line 287 ;287: else if (c[i] > 1.0) ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 8 INDIRP4 ADDP4 INDIRF4 CNSTF4 1065353216 LEF4 $99 line 288 ;288: c[i] = 1.0; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 8 INDIRP4 ADDP4 CNSTF4 1065353216 ASGNF4 LABELV $99 LABELV $98 line 289 ;289: } LABELV $94 line 282 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 4 LTI4 $93 line 290 ;290:} LABELV $92 endproc LerpColor 12 0 export Float_Parse proc Float_Parse 16 8 line 297 ;291: ;292:/* ;293:================= ;294:Float_Parse ;295:================= ;296:*/ ;297:qboolean Float_Parse(char **p, float *f) { line 299 ;298: char *token; ;299: token = COM_ParseExt(p, qfalse); ADDRFP4 0 INDIRP4 ARGP4 CNSTI4 0 ARGI4 ADDRLP4 4 ADDRGP4 COM_ParseExt CALLP4 ASGNP4 ADDRLP4 0 ADDRLP4 4 INDIRP4 ASGNP4 line 300 ;300: if (token && token[0] != 0) { ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $102 ADDRLP4 0 INDIRP4 INDIRI1 CVII4 1 CNSTI4 0 EQI4 $102 line 301 ;301: *f = atof(token); ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 12 ADDRGP4 atof CALLF4 ASGNF4 ADDRFP4 4 INDIRP4 ADDRLP4 12 INDIRF4 ASGNF4 line 302 ;302: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $101 JUMPV LABELV $102 line 303 ;303: } else { line 304 ;304: return qfalse; CNSTI4 0 RETI4 LABELV $101 endproc Float_Parse 16 8 export PC_Float_Parse proc PC_Float_Parse 1052 12 line 313 ;305: } ;306:} ;307: ;308:/* ;309:================= ;310:PC_Float_Parse ;311:================= ;312:*/ ;313:qboolean PC_Float_Parse(int handle, float *f) { line 315 ;314: pc_token_t token; ;315: int negative = qfalse; ADDRLP4 1040 CNSTI4 0 ASGNI4 line 317 ;316: ;317: if (!trap_PC_ReadToken(handle, &token)) ADDRFP4 0 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 1044 ADDRGP4 trap_PC_ReadToken CALLI4 ASGNI4 ADDRLP4 1044 INDIRI4 CNSTI4 0 NEI4 $105 line 318 ;318: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $104 JUMPV LABELV $105 line 319 ;319: if (token.string[0] == '-') { ADDRLP4 0+16 INDIRI1 CVII4 1 CNSTI4 45 NEI4 $107 line 320 ;320: if (!trap_PC_ReadToken(handle, &token)) ADDRFP4 0 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 1048 ADDRGP4 trap_PC_ReadToken CALLI4 ASGNI4 ADDRLP4 1048 INDIRI4 CNSTI4 0 NEI4 $110 line 321 ;321: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $104 JUMPV LABELV $110 line 322 ;322: negative = qtrue; ADDRLP4 1040 CNSTI4 1 ASGNI4 line 323 ;323: } LABELV $107 line 324 ;324: if (token.type != TT_NUMBER) { ADDRLP4 0 INDIRI4 CNSTI4 3 EQI4 $112 line 325 ;325: PC_SourceError(handle, "expected float but found %s\n", token.string); ADDRFP4 0 INDIRI4 ARGI4 ADDRGP4 $114 ARGP4 ADDRLP4 0+16 ARGP4 ADDRGP4 PC_SourceError CALLV pop line 326 ;326: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $104 JUMPV LABELV $112 line 328 ;327: } ;328: if (negative) ADDRLP4 1040 INDIRI4 CNSTI4 0 EQI4 $116 line 329 ;329: *f = -token.floatvalue; ADDRFP4 4 INDIRP4 ADDRLP4 0+12 INDIRF4 NEGF4 ASGNF4 ADDRGP4 $117 JUMPV LABELV $116 line 331 ;330: else ;331: *f = token.floatvalue; ADDRFP4 4 INDIRP4 ADDRLP4 0+12 INDIRF4 ASGNF4 LABELV $117 line 332 ;332: return qtrue; CNSTI4 1 RETI4 LABELV $104 endproc PC_Float_Parse 1052 12 export Color_Parse proc Color_Parse 12 8 line 340 ;333:} ;334: ;335:/* ;336:================= ;337:Color_Parse ;338:================= ;339:*/ ;340:qboolean Color_Parse(char **p, vec4_t *c) { line 344 ;341: int i; ;342: float f; ;343: ;344: for (i = 0; i < 4; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 LABELV $121 line 345 ;345: if (!Float_Parse(p, &f)) { ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 4 ARGP4 ADDRLP4 8 ADDRGP4 Float_Parse CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 NEI4 $125 line 346 ;346: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $120 JUMPV LABELV $125 line 348 ;347: } ;348: (*c)[i] = f; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 4 INDIRP4 ADDP4 ADDRLP4 4 INDIRF4 ASGNF4 line 349 ;349: } LABELV $122 line 344 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 4 LTI4 $121 line 350 ;350: return qtrue; CNSTI4 1 RETI4 LABELV $120 endproc Color_Parse 12 8 export PC_Color_Parse proc PC_Color_Parse 12 8 line 358 ;351:} ;352: ;353:/* ;354:================= ;355:PC_Color_Parse ;356:================= ;357:*/ ;358:qboolean PC_Color_Parse(int handle, vec4_t *c) { line 362 ;359: int i; ;360: float f; ;361: ;362: for (i = 0; i < 4; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 LABELV $128 line 363 ;363: if (!PC_Float_Parse(handle, &f)) { ADDRFP4 0 INDIRI4 ARGI4 ADDRLP4 4 ARGP4 ADDRLP4 8 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 NEI4 $132 line 364 ;364: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $127 JUMPV LABELV $132 line 366 ;365: } ;366: (*c)[i] = f; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 4 INDIRP4 ADDP4 ADDRLP4 4 INDIRF4 ASGNF4 line 367 ;367: } LABELV $129 line 362 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 4 LTI4 $128 line 368 ;368: return qtrue; CNSTI4 1 RETI4 LABELV $127 endproc PC_Color_Parse 12 8 export Int_Parse proc Int_Parse 16 8 line 376 ;369:} ;370: ;371:/* ;372:================= ;373:Int_Parse ;374:================= ;375:*/ ;376:qboolean Int_Parse(char **p, int *i) { line 378 ;377: char *token; ;378: token = COM_ParseExt(p, qfalse); ADDRFP4 0 INDIRP4 ARGP4 CNSTI4 0 ARGI4 ADDRLP4 4 ADDRGP4 COM_ParseExt CALLP4 ASGNP4 ADDRLP4 0 ADDRLP4 4 INDIRP4 ASGNP4 line 380 ;379: ;380: if (token && token[0] != 0) { ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $135 ADDRLP4 0 INDIRP4 INDIRI1 CVII4 1 CNSTI4 0 EQI4 $135 line 381 ;381: *i = atoi(token); ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 12 ADDRGP4 atoi CALLI4 ASGNI4 ADDRFP4 4 INDIRP4 ADDRLP4 12 INDIRI4 ASGNI4 line 382 ;382: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $134 JUMPV LABELV $135 line 383 ;383: } else { line 384 ;384: return qfalse; CNSTI4 0 RETI4 LABELV $134 endproc Int_Parse 16 8 export PC_Int_Parse proc PC_Int_Parse 1052 12 line 393 ;385: } ;386:} ;387: ;388:/* ;389:================= ;390:PC_Int_Parse ;391:================= ;392:*/ ;393:qboolean PC_Int_Parse(int handle, int *i) { line 395 ;394: pc_token_t token; ;395: int negative = qfalse; ADDRLP4 1040 CNSTI4 0 ASGNI4 line 397 ;396: ;397: if (!trap_PC_ReadToken(handle, &token)) ADDRFP4 0 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 1044 ADDRGP4 trap_PC_ReadToken CALLI4 ASGNI4 ADDRLP4 1044 INDIRI4 CNSTI4 0 NEI4 $138 line 398 ;398: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $137 JUMPV LABELV $138 line 399 ;399: if (token.string[0] == '-') { ADDRLP4 0+16 INDIRI1 CVII4 1 CNSTI4 45 NEI4 $140 line 400 ;400: if (!trap_PC_ReadToken(handle, &token)) ADDRFP4 0 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 1048 ADDRGP4 trap_PC_ReadToken CALLI4 ASGNI4 ADDRLP4 1048 INDIRI4 CNSTI4 0 NEI4 $143 line 401 ;401: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $137 JUMPV LABELV $143 line 402 ;402: negative = qtrue; ADDRLP4 1040 CNSTI4 1 ASGNI4 line 403 ;403: } LABELV $140 line 404 ;404: if (token.type != TT_NUMBER) { ADDRLP4 0 INDIRI4 CNSTI4 3 EQI4 $145 line 405 ;405: PC_SourceError(handle, "expected integer but found %s\n", token.string); ADDRFP4 0 INDIRI4 ARGI4 ADDRGP4 $147 ARGP4 ADDRLP4 0+16 ARGP4 ADDRGP4 PC_SourceError CALLV pop line 406 ;406: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $137 JUMPV LABELV $145 line 408 ;407: } ;408: *i = token.intvalue; ADDRFP4 4 INDIRP4 ADDRLP4 0+8 INDIRI4 ASGNI4 line 409 ;409: if (negative) ADDRLP4 1040 INDIRI4 CNSTI4 0 EQI4 $150 line 410 ;410: *i = - *i; ADDRLP4 1048 ADDRFP4 4 INDIRP4 ASGNP4 ADDRLP4 1048 INDIRP4 ADDRLP4 1048 INDIRP4 INDIRI4 NEGI4 ASGNI4 LABELV $150 line 411 ;411: return qtrue; CNSTI4 1 RETI4 LABELV $137 endproc PC_Int_Parse 1052 12 export Rect_Parse proc Rect_Parse 16 8 line 419 ;412:} ;413: ;414:/* ;415:================= ;416:Rect_Parse ;417:================= ;418:*/ ;419:qboolean Rect_Parse(char **p, rectDef_t *r) { line 420 ;420: if (Float_Parse(p, &r->x)) { ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ADDRGP4 Float_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 EQI4 $153 line 421 ;421: if (Float_Parse(p, &r->y)) { ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRP4 CNSTI4 4 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 Float_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $155 line 422 ;422: if (Float_Parse(p, &r->w)) { ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRP4 CNSTI4 8 ADDP4 ARGP4 ADDRLP4 8 ADDRGP4 Float_Parse CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 EQI4 $157 line 423 ;423: if (Float_Parse(p, &r->h)) { ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRP4 CNSTI4 12 ADDP4 ARGP4 ADDRLP4 12 ADDRGP4 Float_Parse CALLI4 ASGNI4 ADDRLP4 12 INDIRI4 CNSTI4 0 EQI4 $159 line 424 ;424: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $152 JUMPV LABELV $159 line 426 ;425: } ;426: } LABELV $157 line 427 ;427: } LABELV $155 line 428 ;428: } LABELV $153 line 429 ;429: return qfalse; CNSTI4 0 RETI4 LABELV $152 endproc Rect_Parse 16 8 export PC_Rect_Parse proc PC_Rect_Parse 16 8 line 437 ;430:} ;431: ;432:/* ;433:================= ;434:PC_Rect_Parse ;435:================= ;436:*/ ;437:qboolean PC_Rect_Parse(int handle, rectDef_t *r) { line 438 ;438: if (PC_Float_Parse(handle, &r->x)) { ADDRFP4 0 INDIRI4 ARGI4 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 EQI4 $162 line 439 ;439: if (PC_Float_Parse(handle, &r->y)) { ADDRFP4 0 INDIRI4 ARGI4 ADDRFP4 4 INDIRP4 CNSTI4 4 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $164 line 440 ;440: if (PC_Float_Parse(handle, &r->w)) { ADDRFP4 0 INDIRI4 ARGI4 ADDRFP4 4 INDIRP4 CNSTI4 8 ADDP4 ARGP4 ADDRLP4 8 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 EQI4 $166 line 441 ;441: if (PC_Float_Parse(handle, &r->h)) { ADDRFP4 0 INDIRI4 ARGI4 ADDRFP4 4 INDIRP4 CNSTI4 12 ADDP4 ARGP4 ADDRLP4 12 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 12 INDIRI4 CNSTI4 0 EQI4 $168 line 442 ;442: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $161 JUMPV LABELV $168 line 444 ;443: } ;444: } LABELV $166 line 445 ;445: } LABELV $164 line 446 ;446: } LABELV $162 line 447 ;447: return qfalse; CNSTI4 0 RETI4 LABELV $161 endproc PC_Rect_Parse 16 8 export String_Parse proc String_Parse 16 8 line 455 ;448:} ;449: ;450:/* ;451:================= ;452:String_Parse ;453:================= ;454:*/ ;455:qboolean String_Parse(char **p, const char **out) { line 458 ;456: char *token; ;457: ;458: token = COM_ParseExt(p, qfalse); ADDRFP4 0 INDIRP4 ARGP4 CNSTI4 0 ARGI4 ADDRLP4 4 ADDRGP4 COM_ParseExt CALLP4 ASGNP4 ADDRLP4 0 ADDRLP4 4 INDIRP4 ASGNP4 line 459 ;459: if (token && token[0] != 0) { ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $171 ADDRLP4 0 INDIRP4 INDIRI1 CVII4 1 CNSTI4 0 EQI4 $171 line 460 ;460: *(out) = String_Alloc(token); ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 12 ADDRGP4 String_Alloc CALLP4 ASGNP4 ADDRFP4 4 INDIRP4 ADDRLP4 12 INDIRP4 ASGNP4 line 461 ;461: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $170 JUMPV LABELV $171 line 463 ;462: } ;463: return qfalse; CNSTI4 0 RETI4 LABELV $170 endproc String_Parse 16 8 export PC_String_Parse proc PC_String_Parse 1048 8 line 471 ;464:} ;465: ;466:/* ;467:================= ;468:PC_String_Parse ;469:================= ;470:*/ ;471:qboolean PC_String_Parse(int handle, const char **out) { line 474 ;472: pc_token_t token; ;473: ;474: if (!trap_PC_ReadToken(handle, &token)) ADDRFP4 0 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 1040 ADDRGP4 trap_PC_ReadToken CALLI4 ASGNI4 ADDRLP4 1040 INDIRI4 CNSTI4 0 NEI4 $174 line 475 ;475: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $173 JUMPV LABELV $174 line 477 ;476: ;477: *(out) = String_Alloc(token.string); ADDRLP4 0+16 ARGP4 ADDRLP4 1044 ADDRGP4 String_Alloc CALLP4 ASGNP4 ADDRFP4 4 INDIRP4 ADDRLP4 1044 INDIRP4 ASGNP4 line 478 ;478: return qtrue; CNSTI4 1 RETI4 LABELV $173 endproc PC_String_Parse 1048 8 export PC_Script_Parse proc PC_Script_Parse 2084 12 line 486 ;479:} ;480: ;481:/* ;482:================= ;483:PC_Script_Parse ;484:================= ;485:*/ ;486:qboolean PC_Script_Parse(int handle, const char **out) { line 490 ;487: char script[1024]; ;488: pc_token_t token; ;489: ;490: memset(script, 0, sizeof(script)); ADDRLP4 1040 ARGP4 CNSTI4 0 ARGI4 CNSTI4 1024 ARGI4 ADDRGP4 memset CALLP4 pop line 494 ;491: // scripts start with { and have ; separated command lists.. commands are command, arg.. ;492: // basically we want everything between the { } as it will be interpreted at run time ;493: ;494: if (!trap_PC_ReadToken(handle, &token)) ADDRFP4 0 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 2064 ADDRGP4 trap_PC_ReadToken CALLI4 ASGNI4 ADDRLP4 2064 INDIRI4 CNSTI4 0 NEI4 $178 line 495 ;495: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $177 JUMPV LABELV $178 line 496 ;496: if (Q_stricmp(token.string, "{") != 0) { ADDRLP4 0+16 ARGP4 ADDRGP4 $183 ARGP4 ADDRLP4 2068 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 2068 INDIRI4 CNSTI4 0 EQI4 $185 line 497 ;497: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $177 JUMPV LABELV $184 line 500 ;498: } ;499: ;500: while ( 1 ) { line 501 ;501: if (!trap_PC_ReadToken(handle, &token)) ADDRFP4 0 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 2072 ADDRGP4 trap_PC_ReadToken CALLI4 ASGNI4 ADDRLP4 2072 INDIRI4 CNSTI4 0 NEI4 $187 line 502 ;502: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $177 JUMPV LABELV $187 line 504 ;503: ;504: if (Q_stricmp(token.string, "}") == 0) { ADDRLP4 0+16 ARGP4 ADDRGP4 $192 ARGP4 ADDRLP4 2076 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 2076 INDIRI4 CNSTI4 0 NEI4 $189 line 505 ;505: *out = String_Alloc(script); ADDRLP4 1040 ARGP4 ADDRLP4 2080 ADDRGP4 String_Alloc CALLP4 ASGNP4 ADDRFP4 4 INDIRP4 ADDRLP4 2080 INDIRP4 ASGNP4 line 506 ;506: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $177 JUMPV LABELV $189 line 509 ;507: } ;508: ;509: if (token.string[1] != '\0') { ADDRLP4 0+16+1 INDIRI1 CVII4 1 CNSTI4 0 EQI4 $193 line 510 ;510: Q_strcat(script, 1024, va("\"%s\"", token.string)); ADDRGP4 $197 ARGP4 ADDRLP4 0+16 ARGP4 ADDRLP4 2080 ADDRGP4 va CALLP4 ASGNP4 ADDRLP4 1040 ARGP4 CNSTI4 1024 ARGI4 ADDRLP4 2080 INDIRP4 ARGP4 ADDRGP4 Q_strcat CALLV pop line 511 ;511: } else { ADDRGP4 $194 JUMPV LABELV $193 line 512 ;512: Q_strcat(script, 1024, token.string); ADDRLP4 1040 ARGP4 CNSTI4 1024 ARGI4 ADDRLP4 0+16 ARGP4 ADDRGP4 Q_strcat CALLV pop line 513 ;513: } LABELV $194 line 514 ;514: Q_strcat(script, 1024, " "); ADDRLP4 1040 ARGP4 CNSTI4 1024 ARGI4 ADDRGP4 $200 ARGP4 ADDRGP4 Q_strcat CALLV pop line 515 ;515: } LABELV $185 line 500 ADDRGP4 $184 JUMPV line 516 ;516: return qfalse; // bk001105 - LCC missing return value CNSTI4 0 RETI4 LABELV $177 endproc PC_Script_Parse 2084 12 export Init_Display proc Init_Display 0 0 line 529 ;517:} ;518: ;519:// display, window, menu, item code ;520:// ;521: ;522:/* ;523:================== ;524:Init_Display ;525: ;526:Initializes the display with a structure to all the drawing routines ;527: ================== ;528:*/ ;529:void Init_Display(displayContextDef_t *dc) { line 530 ;530: DC = dc; ADDRGP4 DC ADDRFP4 0 INDIRP4 ASGNP4 line 531 ;531:} LABELV $201 endproc Init_Display 0 0 export GradientBar_Paint proc GradientBar_Paint 12 20 line 537 ;532: ;533: ;534: ;535:// type and style painting ;536: ;537:void GradientBar_Paint(rectDef_t *rect, vec4_t color) { line 539 ;538: // gradient bar takes two paints ;539: DC->setColor( color ); ADDRFP4 4 INDIRP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 4 ADDP4 INDIRP4 CALLV pop line 540 ;540: DC->drawHandlePic(rect->x, rect->y, rect->w, rect->h, DC->Assets.gradientBar); ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0 INDIRP4 INDIRF4 ARGF4 ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ARGF4 ADDRLP4 4 CNSTI4 8 ASGNI4 ADDRLP4 0 INDIRP4 ADDRLP4 4 INDIRI4 ADDP4 INDIRF4 ARGF4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ARGF4 ADDRLP4 8 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 8 INDIRP4 CNSTI4 61888 ADDP4 INDIRI4 ARGI4 ADDRLP4 8 INDIRP4 ADDRLP4 4 INDIRI4 ADDP4 INDIRP4 CALLV pop line 541 ;541: DC->setColor( NULL ); CNSTP4 0 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 4 ADDP4 INDIRP4 CALLV pop line 542 ;542:} LABELV $202 endproc GradientBar_Paint 12 20 export Window_Init proc Window_Init 8 12 line 553 ;543: ;544: ;545:/* ;546:================== ;547:Window_Init ;548: ;549:Initializes a window structure ( windowDef_t ) with defaults ;550: ;551:================== ;552:*/ ;553:void Window_Init(Window *w) { line 554 ;554: memset(w, 0, sizeof(windowDef_t)); ADDRFP4 0 INDIRP4 ARGP4 CNSTI4 0 ARGI4 CNSTI4 180 ARGI4 ADDRGP4 memset CALLP4 pop line 555 ;555: w->borderSize = 1; ADDRFP4 0 INDIRP4 CNSTI4 64 ADDP4 CNSTF4 1065353216 ASGNF4 line 556 ;556: w->foreColor[0] = w->foreColor[1] = w->foreColor[2] = w->foreColor[3] = 1.0; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 4 CNSTF4 1065353216 ASGNF4 ADDRLP4 0 INDIRP4 CNSTI4 124 ADDP4 ADDRLP4 4 INDIRF4 ASGNF4 ADDRLP4 0 INDIRP4 CNSTI4 120 ADDP4 ADDRLP4 4 INDIRF4 ASGNF4 ADDRLP4 0 INDIRP4 CNSTI4 116 ADDP4 ADDRLP4 4 INDIRF4 ASGNF4 ADDRLP4 0 INDIRP4 CNSTI4 112 ADDP4 ADDRLP4 4 INDIRF4 ASGNF4 line 557 ;557: w->cinematic = -1; ADDRFP4 0 INDIRP4 CNSTI4 44 ADDP4 CNSTI4 -1 ASGNI4 line 558 ;558:} LABELV $203 endproc Window_Init 8 12 export Fade proc Fade 8 0 line 560 ;559: ;560:void Fade(int *flags, float *f, float clamp, int *nextTime, int offsetTime, qboolean bFlags, float fadeAmount) { line 561 ;561: if (*flags & (WINDOW_FADINGOUT | WINDOW_FADINGIN)) { ADDRFP4 0 INDIRP4 INDIRI4 CNSTI4 96 BANDI4 CNSTI4 0 EQI4 $205 line 562 ;562: if (DC->realTime > *nextTime) { ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 ADDRFP4 12 INDIRP4 INDIRI4 LEI4 $207 line 563 ;563: *nextTime = DC->realTime + offsetTime; ADDRFP4 12 INDIRP4 ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 ADDRFP4 16 INDIRI4 ADDI4 ASGNI4 line 564 ;564: if (*flags & WINDOW_FADINGOUT) { ADDRFP4 0 INDIRP4 INDIRI4 CNSTI4 32 BANDI4 CNSTI4 0 EQI4 $209 line 565 ;565: *f -= fadeAmount; ADDRLP4 0 ADDRFP4 4 INDIRP4 ASGNP4 ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRF4 ADDRFP4 24 INDIRF4 SUBF4 ASGNF4 line 566 ;566: if (bFlags && *f <= 0.0) { ADDRFP4 20 INDIRI4 CNSTI4 0 EQI4 $210 ADDRFP4 4 INDIRP4 INDIRF4 CNSTF4 0 GTF4 $210 line 567 ;567: *flags &= ~(WINDOW_FADINGOUT | WINDOW_VISIBLE); ADDRLP4 4 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 4 INDIRP4 ADDRLP4 4 INDIRP4 INDIRI4 CNSTI4 -37 BANDI4 ASGNI4 line 568 ;568: } line 569 ;569: } else { ADDRGP4 $210 JUMPV LABELV $209 line 570 ;570: *f += fadeAmount; ADDRLP4 0 ADDRFP4 4 INDIRP4 ASGNP4 ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRF4 ADDRFP4 24 INDIRF4 ADDF4 ASGNF4 line 571 ;571: if (*f >= clamp) { ADDRFP4 4 INDIRP4 INDIRF4 ADDRFP4 8 INDIRF4 LTF4 $213 line 572 ;572: *f = clamp; ADDRFP4 4 INDIRP4 ADDRFP4 8 INDIRF4 ASGNF4 line 573 ;573: if (bFlags) { ADDRFP4 20 INDIRI4 CNSTI4 0 EQI4 $215 line 574 ;574: *flags &= ~WINDOW_FADINGIN; ADDRLP4 4 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 4 INDIRP4 ADDRLP4 4 INDIRP4 INDIRI4 CNSTI4 -65 BANDI4 ASGNI4 line 575 ;575: } LABELV $215 line 576 ;576: } LABELV $213 line 577 ;577: } LABELV $210 line 578 ;578: } LABELV $207 line 579 ;579: } LABELV $205 line 580 ;580:} LABELV $204 endproc Fade 8 0 export Window_Paint proc Window_Paint 60 28 line 584 ;581: ;582: ;583: ;584:void Window_Paint(Window *w, float fadeAmount, float fadeClamp, float fadeCycle) { line 587 ;585: //float bordersize = 0; ;586: vec4_t color; ;587: rectDef_t fillRect = w->rect; ADDRLP4 0 ADDRFP4 0 INDIRP4 INDIRB ASGNB 16 line 590 ;588: ;589: ;590: if (debugMode) { ADDRGP4 debugMode INDIRI4 CNSTI4 0 EQI4 $218 line 591 ;591: color[0] = color[1] = color[2] = color[3] = 1; ADDRLP4 32 CNSTF4 1065353216 ASGNF4 ADDRLP4 16+12 ADDRLP4 32 INDIRF4 ASGNF4 ADDRLP4 16+8 ADDRLP4 32 INDIRF4 ASGNF4 ADDRLP4 16+4 ADDRLP4 32 INDIRF4 ASGNF4 ADDRLP4 16 ADDRLP4 32 INDIRF4 ASGNF4 line 592 ;592: DC->drawRect(w->rect.x, w->rect.y, w->rect.w, w->rect.h, 1, color); ADDRLP4 36 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 36 INDIRP4 INDIRF4 ARGF4 ADDRLP4 36 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ARGF4 ADDRLP4 36 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ARGF4 ADDRLP4 36 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ARGF4 CNSTF4 1065353216 ARGF4 ADDRLP4 16 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 40 ADDP4 INDIRP4 CALLV pop line 593 ;593: } LABELV $218 line 595 ;594: ;595: if (w == NULL || (w->style == 0 && w->border == 0)) { ADDRLP4 32 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 32 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $225 ADDRLP4 36 CNSTI4 0 ASGNI4 ADDRLP4 32 INDIRP4 CNSTI4 48 ADDP4 INDIRI4 ADDRLP4 36 INDIRI4 NEI4 $223 ADDRLP4 32 INDIRP4 CNSTI4 52 ADDP4 INDIRI4 ADDRLP4 36 INDIRI4 NEI4 $223 LABELV $225 line 596 ;596: return; ADDRGP4 $217 JUMPV LABELV $223 line 599 ;597: } ;598: ;599: if (w->border != 0) { ADDRFP4 0 INDIRP4 CNSTI4 52 ADDP4 INDIRI4 CNSTI4 0 EQI4 $226 line 600 ;600: fillRect.x += w->borderSize; ADDRLP4 0 ADDRLP4 0 INDIRF4 ADDRFP4 0 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 ADDF4 ASGNF4 line 601 ;601: fillRect.y += w->borderSize; ADDRLP4 0+4 ADDRLP4 0+4 INDIRF4 ADDRFP4 0 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 ADDF4 ASGNF4 line 602 ;602: fillRect.w -= w->borderSize + 1; ADDRLP4 0+8 ADDRLP4 0+8 INDIRF4 ADDRFP4 0 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 CNSTF4 1065353216 ADDF4 SUBF4 ASGNF4 line 603 ;603: fillRect.h -= w->borderSize + 1; ADDRLP4 0+12 ADDRLP4 0+12 INDIRF4 ADDRFP4 0 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 CNSTF4 1065353216 ADDF4 SUBF4 ASGNF4 line 604 ;604: } LABELV $226 line 606 ;605: ;606: if (w->style == WINDOW_STYLE_FILLED) { ADDRFP4 0 INDIRP4 CNSTI4 48 ADDP4 INDIRI4 CNSTI4 1 NEI4 $231 line 608 ;607: // box, but possible a shader that needs filled ;608: if (w->background) { ADDRFP4 0 INDIRP4 CNSTI4 176 ADDP4 INDIRI4 CNSTI4 0 EQI4 $233 line 609 ;609: Fade(&w->flags, &w->backColor[3], fadeClamp, &w->nextTime, fadeCycle, qtrue, fadeAmount); ADDRLP4 40 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 40 INDIRP4 CNSTI4 68 ADDP4 ARGP4 ADDRLP4 40 INDIRP4 CNSTI4 140 ADDP4 ARGP4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 108 ADDP4 ARGP4 ADDRFP4 12 INDIRF4 CVFI4 4 ARGI4 CNSTI4 1 ARGI4 ADDRFP4 4 INDIRF4 ARGF4 ADDRGP4 Fade CALLV pop line 610 ;610: DC->setColor(w->backColor); ADDRFP4 0 INDIRP4 CNSTI4 128 ADDP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 4 ADDP4 INDIRP4 CALLV pop line 611 ;611: DC->drawHandlePic(fillRect.x, fillRect.y, fillRect.w, fillRect.h, w->background); ADDRLP4 0 INDIRF4 ARGF4 ADDRLP4 0+4 INDIRF4 ARGF4 ADDRLP4 0+8 INDIRF4 ARGF4 ADDRLP4 0+12 INDIRF4 ARGF4 ADDRFP4 0 INDIRP4 CNSTI4 176 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 8 ADDP4 INDIRP4 CALLV pop line 612 ;612: DC->setColor(NULL); CNSTP4 0 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 4 ADDP4 INDIRP4 CALLV pop line 613 ;613: } else { ADDRGP4 $232 JUMPV LABELV $233 line 614 ;614: DC->fillRect(fillRect.x, fillRect.y, fillRect.w, fillRect.h, w->backColor); ADDRLP4 0 INDIRF4 ARGF4 ADDRLP4 0+4 INDIRF4 ARGF4 ADDRLP4 0+8 INDIRF4 ARGF4 ADDRLP4 0+12 INDIRF4 ARGF4 ADDRFP4 0 INDIRP4 CNSTI4 128 ADDP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 36 ADDP4 INDIRP4 CALLV pop line 615 ;615: } line 616 ;616: } else if (w->style == WINDOW_STYLE_GRADIENT) { ADDRGP4 $232 JUMPV LABELV $231 ADDRFP4 0 INDIRP4 CNSTI4 48 ADDP4 INDIRI4 CNSTI4 2 NEI4 $241 line 617 ;617: GradientBar_Paint(&fillRect, w->backColor); ADDRLP4 0 ARGP4 ADDRFP4 0 INDIRP4 CNSTI4 128 ADDP4 ARGP4 ADDRGP4 GradientBar_Paint CALLV pop line 619 ;618: // gradient bar ;619: } else if (w->style == WINDOW_STYLE_SHADER) { ADDRGP4 $242 JUMPV LABELV $241 ADDRFP4 0 INDIRP4 CNSTI4 48 ADDP4 INDIRI4 CNSTI4 3 NEI4 $243 line 620 ;620: if (w->flags & WINDOW_FORECOLORSET) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 512 BANDI4 CNSTI4 0 EQI4 $245 line 621 ;621: DC->setColor(w->foreColor); ADDRFP4 0 INDIRP4 CNSTI4 112 ADDP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 4 ADDP4 INDIRP4 CALLV pop line 622 ;622: } LABELV $245 line 623 ;623: DC->drawHandlePic(fillRect.x, fillRect.y, fillRect.w, fillRect.h, w->background); ADDRLP4 0 INDIRF4 ARGF4 ADDRLP4 0+4 INDIRF4 ARGF4 ADDRLP4 0+8 INDIRF4 ARGF4 ADDRLP4 0+12 INDIRF4 ARGF4 ADDRFP4 0 INDIRP4 CNSTI4 176 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 8 ADDP4 INDIRP4 CALLV pop line 624 ;624: DC->setColor(NULL); CNSTP4 0 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 4 ADDP4 INDIRP4 CALLV pop line 625 ;625: } else if (w->style == WINDOW_STYLE_TEAMCOLOR) { ADDRGP4 $244 JUMPV LABELV $243 ADDRFP4 0 INDIRP4 CNSTI4 48 ADDP4 INDIRI4 CNSTI4 4 NEI4 $250 line 626 ;626: if (DC->getTeamColor) { ADDRGP4 DC INDIRP4 CNSTI4 84 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $251 line 627 ;627: DC->getTeamColor(&color); ADDRLP4 16 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 84 ADDP4 INDIRP4 CALLV pop line 628 ;628: DC->fillRect(fillRect.x, fillRect.y, fillRect.w, fillRect.h, color); ADDRLP4 0 INDIRF4 ARGF4 ADDRLP4 0+4 INDIRF4 ARGF4 ADDRLP4 0+8 INDIRF4 ARGF4 ADDRLP4 0+12 INDIRF4 ARGF4 ADDRLP4 16 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 36 ADDP4 INDIRP4 CALLV pop line 629 ;629: } line 630 ;630: } else if (w->style == WINDOW_STYLE_CINEMATIC) { ADDRGP4 $251 JUMPV LABELV $250 ADDRFP4 0 INDIRP4 CNSTI4 48 ADDP4 INDIRI4 CNSTI4 5 NEI4 $257 line 631 ;631: if (w->cinematic == -1) { ADDRFP4 0 INDIRP4 CNSTI4 44 ADDP4 INDIRI4 CNSTI4 -1 NEI4 $259 line 632 ;632: w->cinematic = DC->playCinematic(w->cinematicName, fillRect.x, fillRect.y, fillRect.w, fillRect.h); ADDRLP4 40 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 40 INDIRP4 CNSTI4 40 ADDP4 INDIRP4 ARGP4 ADDRLP4 0 INDIRF4 ARGF4 ADDRLP4 0+4 INDIRF4 ARGF4 ADDRLP4 0+8 INDIRF4 ARGF4 ADDRLP4 0+12 INDIRF4 ARGF4 ADDRLP4 44 ADDRGP4 DC INDIRP4 CNSTI4 180 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 40 INDIRP4 CNSTI4 44 ADDP4 ADDRLP4 44 INDIRI4 ASGNI4 line 633 ;633: if (w->cinematic == -1) { ADDRFP4 0 INDIRP4 CNSTI4 44 ADDP4 INDIRI4 CNSTI4 -1 NEI4 $264 line 634 ;634: w->cinematic = -2; ADDRFP4 0 INDIRP4 CNSTI4 44 ADDP4 CNSTI4 -2 ASGNI4 line 635 ;635: } LABELV $264 line 636 ;636: } LABELV $259 line 637 ;637: if (w->cinematic >= 0) { ADDRFP4 0 INDIRP4 CNSTI4 44 ADDP4 INDIRI4 CNSTI4 0 LTI4 $266 line 638 ;638: DC->runCinematicFrame(w->cinematic); ADDRFP4 0 INDIRP4 CNSTI4 44 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 192 ADDP4 INDIRP4 CALLV pop line 639 ;639: DC->drawCinematic(w->cinematic, fillRect.x, fillRect.y, fillRect.w, fillRect.h); ADDRFP4 0 INDIRP4 CNSTI4 44 ADDP4 INDIRI4 ARGI4 ADDRLP4 0 INDIRF4 ARGF4 ADDRLP4 0+4 INDIRF4 ARGF4 ADDRLP4 0+8 INDIRF4 ARGF4 ADDRLP4 0+12 INDIRF4 ARGF4 ADDRGP4 DC INDIRP4 CNSTI4 188 ADDP4 INDIRP4 CALLV pop line 640 ;640: } LABELV $266 line 641 ;641: } LABELV $257 LABELV $251 LABELV $244 LABELV $242 LABELV $232 line 643 ;642: ;643: if (w->border == WINDOW_BORDER_FULL) { ADDRFP4 0 INDIRP4 CNSTI4 52 ADDP4 INDIRI4 CNSTI4 1 NEI4 $271 line 646 ;644: // full ;645: // HACK HACK HACK ;646: if (w->style == WINDOW_STYLE_TEAMCOLOR) { ADDRFP4 0 INDIRP4 CNSTI4 48 ADDP4 INDIRI4 CNSTI4 4 NEI4 $273 line 647 ;647: if (color[0] > 0) { ADDRLP4 16 INDIRF4 CNSTF4 0 LEF4 $275 line 649 ;648: // red ;649: color[0] = 1; ADDRLP4 16 CNSTF4 1065353216 ASGNF4 line 650 ;650: color[1] = color[2] = .5; ADDRLP4 40 CNSTF4 1056964608 ASGNF4 ADDRLP4 16+8 ADDRLP4 40 INDIRF4 ASGNF4 ADDRLP4 16+4 ADDRLP4 40 INDIRF4 ASGNF4 line 652 ;651: ;652: } else { ADDRGP4 $276 JUMPV LABELV $275 line 653 ;653: color[2] = 1; ADDRLP4 16+8 CNSTF4 1065353216 ASGNF4 line 654 ;654: color[0] = color[1] = .5; ADDRLP4 40 CNSTF4 1056964608 ASGNF4 ADDRLP4 16+4 ADDRLP4 40 INDIRF4 ASGNF4 ADDRLP4 16 ADDRLP4 40 INDIRF4 ASGNF4 line 655 ;655: } LABELV $276 line 656 ;656: color[3] = 1; ADDRLP4 16+12 CNSTF4 1065353216 ASGNF4 line 657 ;657: DC->drawRect(w->rect.x, w->rect.y, w->rect.w, w->rect.h, w->borderSize, color); ADDRLP4 40 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 40 INDIRP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 ARGF4 ADDRLP4 16 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 40 ADDP4 INDIRP4 CALLV pop line 658 ;658: } else { ADDRGP4 $272 JUMPV LABELV $273 line 659 ;659: DC->drawRect(w->rect.x, w->rect.y, w->rect.w, w->rect.h, w->borderSize, w->borderColor); ADDRLP4 40 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 40 INDIRP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 144 ADDP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 40 ADDP4 INDIRP4 CALLV pop line 660 ;660: } line 661 ;661: } else if (w->border == WINDOW_BORDER_HORZ) { ADDRGP4 $272 JUMPV LABELV $271 ADDRFP4 0 INDIRP4 CNSTI4 52 ADDP4 INDIRI4 CNSTI4 2 NEI4 $282 line 663 ;662: // top/bottom ;663: DC->setColor(w->borderColor); ADDRFP4 0 INDIRP4 CNSTI4 144 ADDP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 4 ADDP4 INDIRP4 CALLV pop line 664 ;664: DC->drawTopBottom(w->rect.x, w->rect.y, w->rect.w, w->rect.h, w->borderSize); ADDRLP4 40 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 40 INDIRP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 ARGF4 ADDRGP4 DC INDIRP4 CNSTI4 48 ADDP4 INDIRP4 CALLV pop line 665 ;665: DC->setColor( NULL ); CNSTP4 0 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 4 ADDP4 INDIRP4 CALLV pop line 666 ;666: } else if (w->border == WINDOW_BORDER_VERT) { ADDRGP4 $283 JUMPV LABELV $282 ADDRFP4 0 INDIRP4 CNSTI4 52 ADDP4 INDIRI4 CNSTI4 3 NEI4 $284 line 668 ;667: // left right ;668: DC->setColor(w->borderColor); ADDRFP4 0 INDIRP4 CNSTI4 144 ADDP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 4 ADDP4 INDIRP4 CALLV pop line 669 ;669: DC->drawSides(w->rect.x, w->rect.y, w->rect.w, w->rect.h, w->borderSize); ADDRLP4 40 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 40 INDIRP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 ARGF4 ADDRGP4 DC INDIRP4 CNSTI4 44 ADDP4 INDIRP4 CALLV pop line 670 ;670: DC->setColor( NULL ); CNSTP4 0 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 4 ADDP4 INDIRP4 CALLV pop line 671 ;671: } else if (w->border == WINDOW_BORDER_KCGRADIENT) { ADDRGP4 $285 JUMPV LABELV $284 ADDRFP4 0 INDIRP4 CNSTI4 52 ADDP4 INDIRI4 CNSTI4 4 NEI4 $286 line 673 ;672: // this is just two gradient bars along each horz edge ;673: rectDef_t r = w->rect; ADDRLP4 40 ADDRFP4 0 INDIRP4 INDIRB ASGNB 16 line 674 ;674: r.h = w->borderSize; ADDRLP4 40+12 ADDRFP4 0 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 ASGNF4 line 675 ;675: GradientBar_Paint(&r, w->borderColor); ADDRLP4 40 ARGP4 ADDRFP4 0 INDIRP4 CNSTI4 144 ADDP4 ARGP4 ADDRGP4 GradientBar_Paint CALLV pop line 676 ;676: r.y = w->rect.y + w->rect.h - 1; ADDRLP4 56 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 40+4 ADDRLP4 56 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ADDRLP4 56 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ADDF4 CNSTF4 1065353216 SUBF4 ASGNF4 line 677 ;677: GradientBar_Paint(&r, w->borderColor); ADDRLP4 40 ARGP4 ADDRFP4 0 INDIRP4 CNSTI4 144 ADDP4 ARGP4 ADDRGP4 GradientBar_Paint CALLV pop line 678 ;678: } LABELV $286 LABELV $285 LABELV $283 LABELV $272 line 680 ;679: ;680:} LABELV $217 endproc Window_Paint 60 28 export Item_SetScreenCoords proc Item_SetScreenCoords 16 0 line 683 ;681: ;682: ;683:void Item_SetScreenCoords(itemDef_t *item, float x, float y) { line 685 ;684: ;685: if (item == NULL) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $291 line 686 ;686: return; ADDRGP4 $290 JUMPV LABELV $291 line 689 ;687: } ;688: ;689: if (item->window.border != 0) { ADDRFP4 0 INDIRP4 CNSTI4 52 ADDP4 INDIRI4 CNSTI4 0 EQI4 $293 line 690 ;690: x += item->window.borderSize; ADDRFP4 4 ADDRFP4 4 INDIRF4 ADDRFP4 0 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 ADDF4 ASGNF4 line 691 ;691: y += item->window.borderSize; ADDRFP4 8 ADDRFP4 8 INDIRF4 ADDRFP4 0 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 ADDF4 ASGNF4 line 692 ;692: } LABELV $293 line 694 ;693: ;694: item->window.rect.x = x + item->window.rectClient.x; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0 INDIRP4 ADDRFP4 4 INDIRF4 ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 ADDF4 ASGNF4 line 695 ;695: item->window.rect.y = y + item->window.rectClient.y; ADDRLP4 4 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 4 INDIRP4 CNSTI4 4 ADDP4 ADDRFP4 8 INDIRF4 ADDRLP4 4 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ADDF4 ASGNF4 line 696 ;696: item->window.rect.w = item->window.rectClient.w; ADDRLP4 8 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 8 INDIRP4 CNSTI4 8 ADDP4 ADDRLP4 8 INDIRP4 CNSTI4 24 ADDP4 INDIRF4 ASGNF4 line 697 ;697: item->window.rect.h = item->window.rectClient.h; ADDRLP4 12 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 12 INDIRP4 CNSTI4 12 ADDP4 ADDRLP4 12 INDIRP4 CNSTI4 28 ADDP4 INDIRF4 ASGNF4 line 700 ;698: ;699: // force the text rects to recompute ;700: item->textRect.w = 0; ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 CNSTF4 0 ASGNF4 line 701 ;701: item->textRect.h = 0; ADDRFP4 0 INDIRP4 CNSTI4 192 ADDP4 CNSTF4 0 ASGNF4 line 702 ;702:} LABELV $290 endproc Item_SetScreenCoords 16 0 export Item_UpdatePosition proc Item_UpdatePosition 20 12 line 705 ;703: ;704:// FIXME: consolidate this with nearby stuff ;705:void Item_UpdatePosition(itemDef_t *item) { line 709 ;706: float x, y; ;707: menuDef_t *menu; ;708: ;709: if (item == NULL || item->parent == NULL) { ADDRLP4 12 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 16 CNSTU4 0 ASGNU4 ADDRLP4 12 INDIRP4 CVPU4 4 ADDRLP4 16 INDIRU4 EQU4 $298 ADDRLP4 12 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 CVPU4 4 ADDRLP4 16 INDIRU4 NEU4 $296 LABELV $298 line 710 ;710: return; ADDRGP4 $295 JUMPV LABELV $296 line 713 ;711: } ;712: ;713: menu = item->parent; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ASGNP4 line 715 ;714: ;715: x = menu->window.rect.x; ADDRLP4 4 ADDRLP4 0 INDIRP4 INDIRF4 ASGNF4 line 716 ;716: y = menu->window.rect.y; ADDRLP4 8 ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ASGNF4 line 718 ;717: ;718: if (menu->window.border != 0) { ADDRLP4 0 INDIRP4 CNSTI4 52 ADDP4 INDIRI4 CNSTI4 0 EQI4 $299 line 719 ;719: x += menu->window.borderSize; ADDRLP4 4 ADDRLP4 4 INDIRF4 ADDRLP4 0 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 ADDF4 ASGNF4 line 720 ;720: y += menu->window.borderSize; ADDRLP4 8 ADDRLP4 8 INDIRF4 ADDRLP4 0 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 ADDF4 ASGNF4 line 721 ;721: } LABELV $299 line 723 ;722: ;723: Item_SetScreenCoords(item, x, y); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 4 INDIRF4 ARGF4 ADDRLP4 8 INDIRF4 ARGF4 ADDRGP4 Item_SetScreenCoords CALLV pop line 725 ;724: ;725:} LABELV $295 endproc Item_UpdatePosition 20 12 export Menu_UpdatePosition proc Menu_UpdatePosition 12 12 line 728 ;726: ;727:// menus ;728:void Menu_UpdatePosition(menuDef_t *menu) { line 732 ;729: int i; ;730: float x, y; ;731: ;732: if (menu == NULL) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $302 line 733 ;733: return; ADDRGP4 $301 JUMPV LABELV $302 line 736 ;734: } ;735: ;736: x = menu->window.rect.x; ADDRLP4 4 ADDRFP4 0 INDIRP4 INDIRF4 ASGNF4 line 737 ;737: y = menu->window.rect.y; ADDRLP4 8 ADDRFP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ASGNF4 line 738 ;738: if (menu->window.border != 0) { ADDRFP4 0 INDIRP4 CNSTI4 52 ADDP4 INDIRI4 CNSTI4 0 EQI4 $304 line 739 ;739: x += menu->window.borderSize; ADDRLP4 4 ADDRLP4 4 INDIRF4 ADDRFP4 0 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 ADDF4 ASGNF4 line 740 ;740: y += menu->window.borderSize; ADDRLP4 8 ADDRLP4 8 INDIRF4 ADDRFP4 0 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 ADDF4 ASGNF4 line 741 ;741: } LABELV $304 line 743 ;742: ;743: for (i = 0; i < menu->itemCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $309 JUMPV LABELV $306 line 744 ;744: Item_SetScreenCoords(menu->items[i], x, y); ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ARGP4 ADDRLP4 4 INDIRF4 ARGF4 ADDRLP4 8 INDIRF4 ARGF4 ADDRGP4 Item_SetScreenCoords CALLV pop line 745 ;745: } LABELV $307 line 743 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $309 ADDRLP4 0 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $306 line 746 ;746:} LABELV $301 endproc Menu_UpdatePosition 12 12 export Menu_PostParse proc Menu_PostParse 0 4 line 748 ;747: ;748:void Menu_PostParse(menuDef_t *menu) { line 749 ;749: if (menu == NULL) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $311 line 750 ;750: return; ADDRGP4 $310 JUMPV LABELV $311 line 752 ;751: } ;752: if (menu->fullScreen) { ADDRFP4 0 INDIRP4 CNSTI4 184 ADDP4 INDIRI4 CNSTI4 0 EQI4 $313 line 753 ;753: menu->window.rect.x = 0; ADDRFP4 0 INDIRP4 CNSTF4 0 ASGNF4 line 754 ;754: menu->window.rect.y = 0; ADDRFP4 0 INDIRP4 CNSTI4 4 ADDP4 CNSTF4 0 ASGNF4 line 755 ;755: menu->window.rect.w = 640; ADDRFP4 0 INDIRP4 CNSTI4 8 ADDP4 CNSTF4 1142947840 ASGNF4 line 756 ;756: menu->window.rect.h = 480; ADDRFP4 0 INDIRP4 CNSTI4 12 ADDP4 CNSTF4 1139802112 ASGNF4 line 757 ;757: } LABELV $313 line 758 ;758: Menu_UpdatePosition(menu); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Menu_UpdatePosition CALLV pop line 759 ;759:} LABELV $310 endproc Menu_PostParse 0 4 export Menu_ClearFocus proc Menu_ClearFocus 28 8 line 761 ;760: ;761:itemDef_t *Menu_ClearFocus(menuDef_t *menu) { line 763 ;762: int i; ;763: itemDef_t *ret = NULL; ADDRLP4 4 CNSTP4 0 ASGNP4 line 765 ;764: ;765: if (menu == NULL) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $316 line 766 ;766: return NULL; CNSTP4 0 RETP4 ADDRGP4 $315 JUMPV LABELV $316 line 769 ;767: } ;768: ;769: for (i = 0; i < menu->itemCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $321 JUMPV LABELV $318 line 770 ;770: if (menu->items[i]->window.flags & WINDOW_HASFOCUS) { ADDRLP4 8 CNSTI4 2 ASGNI4 ADDRLP4 0 INDIRI4 ADDRLP4 8 INDIRI4 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 ADDRLP4 8 INDIRI4 BANDI4 CNSTI4 0 EQI4 $322 line 771 ;771: ret = menu->items[i]; ADDRLP4 4 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ASGNP4 line 772 ;772: } LABELV $322 line 773 ;773: menu->items[i]->window.flags &= ~WINDOW_HASFOCUS; ADDRLP4 12 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 12 INDIRP4 ADDRLP4 12 INDIRP4 INDIRI4 CNSTI4 -3 BANDI4 ASGNI4 line 774 ;774: if (menu->items[i]->leaveFocus) { ADDRLP4 16 CNSTI4 260 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 ADDRLP4 16 INDIRI4 ADDP4 ADDP4 INDIRP4 ADDRLP4 16 INDIRI4 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $324 line 775 ;775: Item_RunScript(menu->items[i], menu->items[i]->leaveFocus); ADDRLP4 20 CNSTI4 260 ASGNI4 ADDRLP4 24 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 ADDRLP4 20 INDIRI4 ADDP4 ADDP4 INDIRP4 ASGNP4 ADDRLP4 24 INDIRP4 ARGP4 ADDRLP4 24 INDIRP4 ADDRLP4 20 INDIRI4 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_RunScript CALLV pop line 776 ;776: } LABELV $324 line 777 ;777: } LABELV $319 line 769 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $321 ADDRLP4 0 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $318 line 779 ;778: ;779: return ret; ADDRLP4 4 INDIRP4 RETP4 LABELV $315 endproc Menu_ClearFocus 28 8 export IsVisible proc IsVisible 12 0 line 782 ;780:} ;781: ;782:qboolean IsVisible(int flags) { line 783 ;783: return (flags & WINDOW_VISIBLE && !(flags & WINDOW_FADINGOUT)); ADDRLP4 4 ADDRFP4 0 INDIRI4 ASGNI4 ADDRLP4 8 CNSTI4 0 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 4 BANDI4 ADDRLP4 8 INDIRI4 EQI4 $328 ADDRLP4 4 INDIRI4 CNSTI4 32 BANDI4 ADDRLP4 8 INDIRI4 NEI4 $328 ADDRLP4 0 CNSTI4 1 ASGNI4 ADDRGP4 $329 JUMPV LABELV $328 ADDRLP4 0 CNSTI4 0 ASGNI4 LABELV $329 ADDRLP4 0 INDIRI4 RETI4 LABELV $326 endproc IsVisible 12 0 export Rect_ContainsPoint proc Rect_ContainsPoint 20 0 line 786 ;784:} ;785: ;786:qboolean Rect_ContainsPoint(rectDef_t *rect, float x, float y) { line 787 ;787: if (rect) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $331 line 788 ;788: if (x > rect->x && x < rect->x + rect->w && y > rect->y && y < rect->y + rect->h) { ADDRLP4 0 ADDRFP4 4 INDIRF4 ASGNF4 ADDRLP4 4 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 8 ADDRLP4 4 INDIRP4 INDIRF4 ASGNF4 ADDRLP4 0 INDIRF4 ADDRLP4 8 INDIRF4 LEF4 $333 ADDRLP4 0 INDIRF4 ADDRLP4 8 INDIRF4 ADDRLP4 4 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ADDF4 GEF4 $333 ADDRLP4 12 ADDRFP4 8 INDIRF4 ASGNF4 ADDRLP4 16 ADDRLP4 4 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ASGNF4 ADDRLP4 12 INDIRF4 ADDRLP4 16 INDIRF4 LEF4 $333 ADDRLP4 12 INDIRF4 ADDRLP4 16 INDIRF4 ADDRLP4 4 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ADDF4 GEF4 $333 line 789 ;789: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $330 JUMPV LABELV $333 line 791 ;790: } ;791: } LABELV $331 line 792 ;792: return qfalse; CNSTI4 0 RETI4 LABELV $330 endproc Rect_ContainsPoint 20 0 export Menu_ItemsMatchingGroup proc Menu_ItemsMatchingGroup 20 8 line 795 ;793:} ;794: ;795:int Menu_ItemsMatchingGroup(menuDef_t *menu, const char *name) { line 797 ;796: int i; ;797: int count = 0; ADDRLP4 4 CNSTI4 0 ASGNI4 line 798 ;798: for (i = 0; i < menu->itemCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $339 JUMPV LABELV $336 line 799 ;799: if (Q_stricmp(menu->items[i]->window.name, name) == 0 || (menu->items[i]->window.group && Q_stricmp(menu->items[i]->window.group, name) == 0)) { ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 32 ADDP4 INDIRP4 ARGP4 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 8 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 EQI4 $342 ADDRLP4 12 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 36 ADDP4 INDIRP4 ASGNP4 ADDRLP4 12 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $340 ADDRLP4 12 INDIRP4 ARGP4 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 16 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 16 INDIRI4 CNSTI4 0 NEI4 $340 LABELV $342 line 800 ;800: count++; ADDRLP4 4 ADDRLP4 4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 801 ;801: } LABELV $340 line 802 ;802: } LABELV $337 line 798 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $339 ADDRLP4 0 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $336 line 803 ;803: return count; ADDRLP4 4 INDIRI4 RETI4 LABELV $335 endproc Menu_ItemsMatchingGroup 20 8 export Menu_GetMatchingItemByNumber proc Menu_GetMatchingItemByNumber 20 8 line 806 ;804:} ;805: ;806:itemDef_t *Menu_GetMatchingItemByNumber(menuDef_t *menu, int index, const char *name) { line 808 ;807: int i; ;808: int count = 0; ADDRLP4 4 CNSTI4 0 ASGNI4 line 809 ;809: for (i = 0; i < menu->itemCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $347 JUMPV LABELV $344 line 810 ;810: if (Q_stricmp(menu->items[i]->window.name, name) == 0 || (menu->items[i]->window.group && Q_stricmp(menu->items[i]->window.group, name) == 0)) { ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 32 ADDP4 INDIRP4 ARGP4 ADDRFP4 8 INDIRP4 ARGP4 ADDRLP4 8 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 EQI4 $350 ADDRLP4 12 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 36 ADDP4 INDIRP4 ASGNP4 ADDRLP4 12 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $348 ADDRLP4 12 INDIRP4 ARGP4 ADDRFP4 8 INDIRP4 ARGP4 ADDRLP4 16 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 16 INDIRI4 CNSTI4 0 NEI4 $348 LABELV $350 line 811 ;811: if (count == index) { ADDRLP4 4 INDIRI4 ADDRFP4 4 INDIRI4 NEI4 $351 line 812 ;812: return menu->items[i]; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 RETP4 ADDRGP4 $343 JUMPV LABELV $351 line 814 ;813: } ;814: count++; ADDRLP4 4 ADDRLP4 4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 815 ;815: } LABELV $348 line 816 ;816: } LABELV $345 line 809 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $347 ADDRLP4 0 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $344 line 817 ;817: return NULL; CNSTP4 0 RETP4 LABELV $343 endproc Menu_GetMatchingItemByNumber 20 8 export Script_SetColor proc Script_SetColor 36 8 line 822 ;818:} ;819: ;820: ;821: ;822:void Script_SetColor(itemDef_t *item, char **args) { line 828 ;823: const char *name; ;824: int i; ;825: float f; ;826: vec4_t *out; ;827: // expecting type of color to set and 4 args for the color ;828: if (String_Parse(args, &name)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 12 ARGP4 ADDRLP4 16 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 16 INDIRI4 CNSTI4 0 EQI4 $354 line 829 ;829: out = NULL; ADDRLP4 8 CNSTP4 0 ASGNP4 line 830 ;830: if (Q_stricmp(name, "backcolor") == 0) { ADDRLP4 12 INDIRP4 ARGP4 ADDRGP4 $358 ARGP4 ADDRLP4 20 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 20 INDIRI4 CNSTI4 0 NEI4 $356 line 831 ;831: out = &item->window.backColor; ADDRLP4 8 ADDRFP4 0 INDIRP4 CNSTI4 128 ADDP4 ASGNP4 line 832 ;832: item->window.flags |= WINDOW_BACKCOLORSET; ADDRLP4 24 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 24 INDIRP4 ADDRLP4 24 INDIRP4 INDIRI4 CNSTI4 4194304 BORI4 ASGNI4 line 833 ;833: } else if (Q_stricmp(name, "forecolor") == 0) { ADDRGP4 $357 JUMPV LABELV $356 ADDRLP4 12 INDIRP4 ARGP4 ADDRGP4 $361 ARGP4 ADDRLP4 24 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 24 INDIRI4 CNSTI4 0 NEI4 $359 line 834 ;834: out = &item->window.foreColor; ADDRLP4 8 ADDRFP4 0 INDIRP4 CNSTI4 112 ADDP4 ASGNP4 line 835 ;835: item->window.flags |= WINDOW_FORECOLORSET; ADDRLP4 28 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 28 INDIRP4 ADDRLP4 28 INDIRP4 INDIRI4 CNSTI4 512 BORI4 ASGNI4 line 836 ;836: } else if (Q_stricmp(name, "bordercolor") == 0) { ADDRGP4 $360 JUMPV LABELV $359 ADDRLP4 12 INDIRP4 ARGP4 ADDRGP4 $364 ARGP4 ADDRLP4 28 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 28 INDIRI4 CNSTI4 0 NEI4 $362 line 837 ;837: out = &item->window.borderColor; ADDRLP4 8 ADDRFP4 0 INDIRP4 CNSTI4 144 ADDP4 ASGNP4 line 838 ;838: } LABELV $362 LABELV $360 LABELV $357 line 840 ;839: ;840: if (out) { ADDRLP4 8 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $365 line 841 ;841: for (i = 0; i < 4; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 LABELV $367 line 842 ;842: if (!Float_Parse(args, &f)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 4 ARGP4 ADDRLP4 32 ADDRGP4 Float_Parse CALLI4 ASGNI4 ADDRLP4 32 INDIRI4 CNSTI4 0 NEI4 $371 line 843 ;843: return; ADDRGP4 $353 JUMPV LABELV $371 line 845 ;844: } ;845: (*out)[i] = f; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 8 INDIRP4 ADDP4 ADDRLP4 4 INDIRF4 ASGNF4 line 846 ;846: } LABELV $368 line 841 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 4 LTI4 $367 line 847 ;847: } LABELV $365 line 848 ;848: } LABELV $354 line 849 ;849:} LABELV $353 endproc Script_SetColor 36 8 export Script_SetAsset proc Script_SetAsset 8 8 line 851 ;850: ;851:void Script_SetAsset(itemDef_t *item, char **args) { line 854 ;852: const char *name; ;853: // expecting name to set asset to ;854: if (String_Parse(args, &name)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $374 line 856 ;855: // check for a model ;856: if (item->type == ITEM_TYPE_MODEL) { ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 7 NEI4 $376 line 857 ;857: } LABELV $376 line 858 ;858: } LABELV $374 line 859 ;859:} LABELV $373 endproc Script_SetAsset 8 8 export Script_SetBackground proc Script_SetBackground 12 8 line 861 ;860: ;861:void Script_SetBackground(itemDef_t *item, char **args) { line 864 ;862: const char *name; ;863: // expecting name to set asset to ;864: if (String_Parse(args, &name)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $379 line 865 ;865: item->window.background = DC->registerShaderNoMip(name); ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 8 ADDRGP4 DC INDIRP4 INDIRP4 CALLI4 ASGNI4 ADDRFP4 0 INDIRP4 CNSTI4 176 ADDP4 ADDRLP4 8 INDIRI4 ASGNI4 line 866 ;866: } LABELV $379 line 867 ;867:} LABELV $378 endproc Script_SetBackground 12 8 export Menu_FindItemByName proc Menu_FindItemByName 12 8 line 872 ;868: ;869: ;870: ;871: ;872:itemDef_t *Menu_FindItemByName(menuDef_t *menu, const char *p) { line 874 ;873: int i; ;874: if (menu == NULL || p == NULL) { ADDRLP4 4 CNSTU4 0 ASGNU4 ADDRFP4 0 INDIRP4 CVPU4 4 ADDRLP4 4 INDIRU4 EQU4 $384 ADDRFP4 4 INDIRP4 CVPU4 4 ADDRLP4 4 INDIRU4 NEU4 $382 LABELV $384 line 875 ;875: return NULL; CNSTP4 0 RETP4 ADDRGP4 $381 JUMPV LABELV $382 line 878 ;876: } ;877: ;878: for (i = 0; i < menu->itemCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $388 JUMPV LABELV $385 line 879 ;879: if (Q_stricmp(p, menu->items[i]->window.name) == 0) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 32 ADDP4 INDIRP4 ARGP4 ADDRLP4 8 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 NEI4 $389 line 880 ;880: return menu->items[i]; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 RETP4 ADDRGP4 $381 JUMPV LABELV $389 line 882 ;881: } ;882: } LABELV $386 line 878 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $388 ADDRLP4 0 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $385 line 884 ;883: ;884: return NULL; CNSTP4 0 RETP4 LABELV $381 endproc Menu_FindItemByName 12 8 export Script_SetTeamColor proc Script_SetTeamColor 24 4 line 887 ;885:} ;886: ;887:void Script_SetTeamColor(itemDef_t *item, char **args) { line 888 ;888: if (DC->getTeamColor) { ADDRGP4 DC INDIRP4 CNSTI4 84 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $392 line 891 ;889: int i; ;890: vec4_t color; ;891: DC->getTeamColor(&color); ADDRLP4 4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 84 ADDP4 INDIRP4 CALLV pop line 892 ;892: for (i = 0; i < 4; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 LABELV $394 line 893 ;893: item->window.backColor[i] = color[i]; ADDRLP4 20 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ASGNI4 ADDRLP4 20 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 128 ADDP4 ADDP4 ADDRLP4 20 INDIRI4 ADDRLP4 4 ADDP4 INDIRF4 ASGNF4 line 894 ;894: } LABELV $395 line 892 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 4 LTI4 $394 line 895 ;895: } LABELV $392 line 896 ;896:} LABELV $391 endproc Script_SetTeamColor 24 4 export Script_SetItemColor proc Script_SetItemColor 80 12 line 898 ;897: ;898:void Script_SetItemColor(itemDef_t *item, char **args) { line 905 ;899: const char *itemname; ;900: const char *name; ;901: vec4_t color; ;902: int i; ;903: vec4_t *out; ;904: // expecting type of color to set and 4 args for the color ;905: if (String_Parse(args, &itemname) && String_Parse(args, &name)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 24 ARGP4 ADDRLP4 32 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 32 INDIRI4 CNSTI4 0 EQI4 $399 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 28 ARGP4 ADDRLP4 36 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 36 INDIRI4 CNSTI4 0 EQI4 $399 line 908 ;906: itemDef_t *item2; ;907: int j; ;908: int count = Menu_ItemsMatchingGroup(item->parent, itemname); ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ARGP4 ADDRLP4 24 INDIRP4 ARGP4 ADDRLP4 52 ADDRGP4 Menu_ItemsMatchingGroup CALLI4 ASGNI4 ADDRLP4 48 ADDRLP4 52 INDIRI4 ASGNI4 line 910 ;909: ;910: if (!Color_Parse(args, &color)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 8 ARGP4 ADDRLP4 56 ADDRGP4 Color_Parse CALLI4 ASGNI4 ADDRLP4 56 INDIRI4 CNSTI4 0 NEI4 $401 line 911 ;911: return; ADDRGP4 $398 JUMPV LABELV $401 line 914 ;912: } ;913: ;914: for (j = 0; j < count; j++) { ADDRLP4 40 CNSTI4 0 ASGNI4 ADDRGP4 $406 JUMPV LABELV $403 line 915 ;915: item2 = Menu_GetMatchingItemByNumber(item->parent, j, itemname); ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ARGP4 ADDRLP4 40 INDIRI4 ARGI4 ADDRLP4 24 INDIRP4 ARGP4 ADDRLP4 60 ADDRGP4 Menu_GetMatchingItemByNumber CALLP4 ASGNP4 ADDRLP4 44 ADDRLP4 60 INDIRP4 ASGNP4 line 916 ;916: if (item2 != NULL) { ADDRLP4 44 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $407 line 917 ;917: out = NULL; ADDRLP4 4 CNSTP4 0 ASGNP4 line 918 ;918: if (Q_stricmp(name, "backcolor") == 0) { ADDRLP4 28 INDIRP4 ARGP4 ADDRGP4 $358 ARGP4 ADDRLP4 64 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 64 INDIRI4 CNSTI4 0 NEI4 $409 line 919 ;919: out = &item2->window.backColor; ADDRLP4 4 ADDRLP4 44 INDIRP4 CNSTI4 128 ADDP4 ASGNP4 line 920 ;920: } else if (Q_stricmp(name, "forecolor") == 0) { ADDRGP4 $410 JUMPV LABELV $409 ADDRLP4 28 INDIRP4 ARGP4 ADDRGP4 $361 ARGP4 ADDRLP4 68 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 68 INDIRI4 CNSTI4 0 NEI4 $411 line 921 ;921: out = &item2->window.foreColor; ADDRLP4 4 ADDRLP4 44 INDIRP4 CNSTI4 112 ADDP4 ASGNP4 line 922 ;922: item2->window.flags |= WINDOW_FORECOLORSET; ADDRLP4 72 ADDRLP4 44 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 72 INDIRP4 ADDRLP4 72 INDIRP4 INDIRI4 CNSTI4 512 BORI4 ASGNI4 line 923 ;923: } else if (Q_stricmp(name, "bordercolor") == 0) { ADDRGP4 $412 JUMPV LABELV $411 ADDRLP4 28 INDIRP4 ARGP4 ADDRGP4 $364 ARGP4 ADDRLP4 72 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 72 INDIRI4 CNSTI4 0 NEI4 $413 line 924 ;924: out = &item2->window.borderColor; ADDRLP4 4 ADDRLP4 44 INDIRP4 CNSTI4 144 ADDP4 ASGNP4 line 925 ;925: } LABELV $413 LABELV $412 LABELV $410 line 927 ;926: ;927: if (out) { ADDRLP4 4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $415 line 928 ;928: for (i = 0; i < 4; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 LABELV $417 line 929 ;929: (*out)[i] = color[i]; ADDRLP4 76 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ASGNI4 ADDRLP4 76 INDIRI4 ADDRLP4 4 INDIRP4 ADDP4 ADDRLP4 76 INDIRI4 ADDRLP4 8 ADDP4 INDIRF4 ASGNF4 line 930 ;930: } LABELV $418 line 928 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 4 LTI4 $417 line 931 ;931: } LABELV $415 line 932 ;932: } LABELV $407 line 933 ;933: } LABELV $404 line 914 ADDRLP4 40 ADDRLP4 40 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $406 ADDRLP4 40 INDIRI4 ADDRLP4 48 INDIRI4 LTI4 $403 line 934 ;934: } LABELV $399 line 935 ;935:} LABELV $398 endproc Script_SetItemColor 80 12 export Menu_ShowItemByName proc Menu_ShowItemByName 24 12 line 938 ;936: ;937: ;938:void Menu_ShowItemByName(menuDef_t *menu, const char *p, qboolean bShow) { line 941 ;939: itemDef_t *item; ;940: int i; ;941: int count = Menu_ItemsMatchingGroup(menu, p); ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 12 ADDRGP4 Menu_ItemsMatchingGroup CALLI4 ASGNI4 ADDRLP4 8 ADDRLP4 12 INDIRI4 ASGNI4 line 942 ;942: for (i = 0; i < count; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $425 JUMPV LABELV $422 line 943 ;943: item = Menu_GetMatchingItemByNumber(menu, i, p); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 0 INDIRI4 ARGI4 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 16 ADDRGP4 Menu_GetMatchingItemByNumber CALLP4 ASGNP4 ADDRLP4 4 ADDRLP4 16 INDIRP4 ASGNP4 line 944 ;944: if (item != NULL) { ADDRLP4 4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $426 line 945 ;945: if (bShow) { ADDRFP4 8 INDIRI4 CNSTI4 0 EQI4 $428 line 946 ;946: item->window.flags |= WINDOW_VISIBLE; ADDRLP4 20 ADDRLP4 4 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 20 INDIRP4 ADDRLP4 20 INDIRP4 INDIRI4 CNSTI4 4 BORI4 ASGNI4 line 947 ;947: } else { ADDRGP4 $429 JUMPV LABELV $428 line 948 ;948: item->window.flags &= ~WINDOW_VISIBLE; ADDRLP4 20 ADDRLP4 4 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 20 INDIRP4 ADDRLP4 20 INDIRP4 INDIRI4 CNSTI4 -5 BANDI4 ASGNI4 line 950 ;949: // stop cinematics playing in the window ;950: if (item->window.cinematic >= 0) { ADDRLP4 4 INDIRP4 CNSTI4 44 ADDP4 INDIRI4 CNSTI4 0 LTI4 $430 line 951 ;951: DC->stopCinematic(item->window.cinematic); ADDRLP4 4 INDIRP4 CNSTI4 44 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 184 ADDP4 INDIRP4 CALLV pop line 952 ;952: item->window.cinematic = -1; ADDRLP4 4 INDIRP4 CNSTI4 44 ADDP4 CNSTI4 -1 ASGNI4 line 953 ;953: } LABELV $430 line 954 ;954: } LABELV $429 line 955 ;955: } LABELV $426 line 956 ;956: } LABELV $423 line 942 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $425 ADDRLP4 0 INDIRI4 ADDRLP4 8 INDIRI4 LTI4 $422 line 957 ;957:} LABELV $421 endproc Menu_ShowItemByName 24 12 export Menu_FadeItemByName proc Menu_FadeItemByName 32 12 line 959 ;958: ;959:void Menu_FadeItemByName(menuDef_t *menu, const char *p, qboolean fadeOut) { line 962 ;960: itemDef_t *item; ;961: int i; ;962: int count = Menu_ItemsMatchingGroup(menu, p); ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 12 ADDRGP4 Menu_ItemsMatchingGroup CALLI4 ASGNI4 ADDRLP4 8 ADDRLP4 12 INDIRI4 ASGNI4 line 963 ;963: for (i = 0; i < count; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $436 JUMPV LABELV $433 line 964 ;964: item = Menu_GetMatchingItemByNumber(menu, i, p); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 0 INDIRI4 ARGI4 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 16 ADDRGP4 Menu_GetMatchingItemByNumber CALLP4 ASGNP4 ADDRLP4 4 ADDRLP4 16 INDIRP4 ASGNP4 line 965 ;965: if (item != NULL) { ADDRLP4 4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $437 line 966 ;966: if (fadeOut) { ADDRFP4 8 INDIRI4 CNSTI4 0 EQI4 $439 line 967 ;967: item->window.flags |= (WINDOW_FADINGOUT | WINDOW_VISIBLE); ADDRLP4 20 ADDRLP4 4 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 20 INDIRP4 ADDRLP4 20 INDIRP4 INDIRI4 CNSTI4 36 BORI4 ASGNI4 line 968 ;968: item->window.flags &= ~WINDOW_FADINGIN; ADDRLP4 24 ADDRLP4 4 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 24 INDIRP4 ADDRLP4 24 INDIRP4 INDIRI4 CNSTI4 -65 BANDI4 ASGNI4 line 969 ;969: } else { ADDRGP4 $440 JUMPV LABELV $439 line 970 ;970: item->window.flags |= (WINDOW_VISIBLE | WINDOW_FADINGIN); ADDRLP4 20 CNSTI4 68 ASGNI4 ADDRLP4 24 ADDRLP4 4 INDIRP4 ADDRLP4 20 INDIRI4 ADDP4 ASGNP4 ADDRLP4 24 INDIRP4 ADDRLP4 24 INDIRP4 INDIRI4 ADDRLP4 20 INDIRI4 BORI4 ASGNI4 line 971 ;971: item->window.flags &= ~WINDOW_FADINGOUT; ADDRLP4 28 ADDRLP4 4 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 28 INDIRP4 ADDRLP4 28 INDIRP4 INDIRI4 CNSTI4 -33 BANDI4 ASGNI4 line 972 ;972: } LABELV $440 line 973 ;973: } LABELV $437 line 974 ;974: } LABELV $434 line 963 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $436 ADDRLP4 0 INDIRI4 ADDRLP4 8 INDIRI4 LTI4 $433 line 975 ;975:} LABELV $432 endproc Menu_FadeItemByName 32 12 export Menus_FindByName proc Menus_FindByName 8 8 line 977 ;976: ;977:menuDef_t *Menus_FindByName(const char *p) { line 979 ;978: int i; ;979: for (i = 0; i < menuCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $445 JUMPV LABELV $442 line 980 ;980: if (Q_stricmp(Menus[i].window.name, p) == 0) { CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus+32 ADDP4 INDIRP4 ARGP4 ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 4 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $446 line 981 ;981: return &Menus[i]; CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus ADDP4 RETP4 ADDRGP4 $441 JUMPV LABELV $446 line 983 ;982: } ;983: } LABELV $443 line 979 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $445 ADDRLP4 0 INDIRI4 ADDRGP4 menuCount INDIRI4 LTI4 $442 line 984 ;984: return NULL; CNSTP4 0 RETP4 LABELV $441 endproc Menus_FindByName 8 8 export Menus_ShowByName proc Menus_ShowByName 8 4 line 987 ;985:} ;986: ;987:void Menus_ShowByName(const char *p) { line 988 ;988: menuDef_t *menu = Menus_FindByName(p); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 4 ADDRGP4 Menus_FindByName CALLP4 ASGNP4 ADDRLP4 0 ADDRLP4 4 INDIRP4 ASGNP4 line 989 ;989: if (menu) { ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $450 line 990 ;990: Menus_Activate(menu); ADDRLP4 0 INDIRP4 ARGP4 ADDRGP4 Menus_Activate CALLV pop line 991 ;991: } LABELV $450 line 992 ;992:} LABELV $449 endproc Menus_ShowByName 8 4 export Menus_OpenByName proc Menus_OpenByName 0 4 line 994 ;993: ;994:void Menus_OpenByName(const char *p) { line 995 ;995: Menus_ActivateByName(p); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Menus_ActivateByName CALLP4 pop line 996 ;996:} LABELV $452 endproc Menus_OpenByName 0 4 proc Menu_RunCloseScript 548 8 line 998 ;997: ;998:static void Menu_RunCloseScript(menuDef_t *menu) { line 999 ;999: if (menu && menu->window.flags & WINDOW_VISIBLE && menu->onClose) { ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 4 CNSTU4 0 ASGNU4 ADDRLP4 0 INDIRP4 CVPU4 4 ADDRLP4 4 INDIRU4 EQU4 $454 ADDRLP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 4 BANDI4 CNSTI4 0 EQI4 $454 ADDRLP4 0 INDIRP4 CNSTI4 216 ADDP4 INDIRP4 CVPU4 4 ADDRLP4 4 INDIRU4 EQU4 $454 line 1001 ;1000: itemDef_t item; ;1001: item.parent = menu; ADDRLP4 8+228 ADDRFP4 0 INDIRP4 ASGNP4 line 1002 ;1002: Item_RunScript(&item, menu->onClose); ADDRLP4 8 ARGP4 ADDRFP4 0 INDIRP4 CNSTI4 216 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_RunScript CALLV pop line 1003 ;1003: } LABELV $454 line 1004 ;1004:} LABELV $453 endproc Menu_RunCloseScript 548 8 export Menus_CloseByName proc Menus_CloseByName 12 4 line 1006 ;1005: ;1006:void Menus_CloseByName(const char *p) { line 1007 ;1007: menuDef_t *menu = Menus_FindByName(p); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 4 ADDRGP4 Menus_FindByName CALLP4 ASGNP4 ADDRLP4 0 ADDRLP4 4 INDIRP4 ASGNP4 line 1008 ;1008: if (menu != NULL) { ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $458 line 1009 ;1009: Menu_RunCloseScript(menu); ADDRLP4 0 INDIRP4 ARGP4 ADDRGP4 Menu_RunCloseScript CALLV pop line 1010 ;1010: menu->window.flags &= ~(WINDOW_VISIBLE | WINDOW_HASFOCUS); ADDRLP4 8 ADDRLP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 8 INDIRP4 ADDRLP4 8 INDIRP4 INDIRI4 CNSTI4 -7 BANDI4 ASGNI4 line 1011 ;1011: } LABELV $458 line 1012 ;1012:} LABELV $457 endproc Menus_CloseByName 12 4 export Menus_CloseAll proc Menus_CloseAll 8 4 line 1014 ;1013: ;1014:void Menus_CloseAll() { line 1016 ;1015: int i; ;1016: for (i = 0; i < menuCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $464 JUMPV LABELV $461 line 1017 ;1017: Menu_RunCloseScript(&Menus[i]); CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus ADDP4 ARGP4 ADDRGP4 Menu_RunCloseScript CALLV pop line 1018 ;1018: Menus[i].window.flags &= ~(WINDOW_HASFOCUS | WINDOW_VISIBLE); ADDRLP4 4 CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus+68 ADDP4 ASGNP4 ADDRLP4 4 INDIRP4 ADDRLP4 4 INDIRP4 INDIRI4 CNSTI4 -7 BANDI4 ASGNI4 line 1019 ;1019: } LABELV $462 line 1016 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $464 ADDRLP4 0 INDIRI4 ADDRGP4 menuCount INDIRI4 LTI4 $461 line 1020 ;1020:} LABELV $460 endproc Menus_CloseAll 8 4 export Script_Show proc Script_Show 8 12 line 1023 ;1021: ;1022: ;1023:void Script_Show(itemDef_t *item, char **args) { line 1025 ;1024: const char *name; ;1025: if (String_Parse(args, &name)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $467 line 1026 ;1026: Menu_ShowItemByName(item->parent, name, qtrue); ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ARGP4 ADDRLP4 0 INDIRP4 ARGP4 CNSTI4 1 ARGI4 ADDRGP4 Menu_ShowItemByName CALLV pop line 1027 ;1027: } LABELV $467 line 1028 ;1028:} LABELV $466 endproc Script_Show 8 12 export Script_Hide proc Script_Hide 8 12 line 1030 ;1029: ;1030:void Script_Hide(itemDef_t *item, char **args) { line 1032 ;1031: const char *name; ;1032: if (String_Parse(args, &name)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $470 line 1033 ;1033: Menu_ShowItemByName(item->parent, name, qfalse); ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ARGP4 ADDRLP4 0 INDIRP4 ARGP4 CNSTI4 0 ARGI4 ADDRGP4 Menu_ShowItemByName CALLV pop line 1034 ;1034: } LABELV $470 line 1035 ;1035:} LABELV $469 endproc Script_Hide 8 12 export Script_FadeIn proc Script_FadeIn 8 12 line 1037 ;1036: ;1037:void Script_FadeIn(itemDef_t *item, char **args) { line 1039 ;1038: const char *name; ;1039: if (String_Parse(args, &name)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $473 line 1040 ;1040: Menu_FadeItemByName(item->parent, name, qfalse); ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ARGP4 ADDRLP4 0 INDIRP4 ARGP4 CNSTI4 0 ARGI4 ADDRGP4 Menu_FadeItemByName CALLV pop line 1041 ;1041: } LABELV $473 line 1042 ;1042:} LABELV $472 endproc Script_FadeIn 8 12 export Script_FadeOut proc Script_FadeOut 8 12 line 1044 ;1043: ;1044:void Script_FadeOut(itemDef_t *item, char **args) { line 1046 ;1045: const char *name; ;1046: if (String_Parse(args, &name)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $476 line 1047 ;1047: Menu_FadeItemByName(item->parent, name, qtrue); ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ARGP4 ADDRLP4 0 INDIRP4 ARGP4 CNSTI4 1 ARGI4 ADDRGP4 Menu_FadeItemByName CALLV pop line 1048 ;1048: } LABELV $476 line 1049 ;1049:} LABELV $475 endproc Script_FadeOut 8 12 export Script_Open proc Script_Open 8 8 line 1053 ;1050: ;1051: ;1052: ;1053:void Script_Open(itemDef_t *item, char **args) { line 1055 ;1054: const char *name; ;1055: if (String_Parse(args, &name)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $479 line 1056 ;1056: Menus_OpenByName(name); ADDRLP4 0 INDIRP4 ARGP4 ADDRGP4 Menus_OpenByName CALLV pop line 1057 ;1057: } LABELV $479 line 1058 ;1058:} LABELV $478 endproc Script_Open 8 8 export Script_Close proc Script_Close 8 8 line 1060 ;1059: ;1060:void Script_Close(itemDef_t *item, char **args) { line 1062 ;1061: const char *name; ;1062: if (String_Parse(args, &name)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $482 line 1063 ;1063: Menus_CloseByName(name); ADDRLP4 0 INDIRP4 ARGP4 ADDRGP4 Menus_CloseByName CALLV pop line 1064 ;1064: } LABELV $482 line 1065 ;1065:} LABELV $481 endproc Script_Close 8 8 export Menu_TransitionItemByName proc Menu_TransitionItemByName 56 12 line 1067 ;1066: ;1067:void Menu_TransitionItemByName(menuDef_t *menu, const char *p, rectDef_t rectFrom, rectDef_t rectTo, int time, float amt) { line 1070 ;1068: itemDef_t *item; ;1069: int i; ;1070: int count = Menu_ItemsMatchingGroup(menu, p); ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 12 ADDRGP4 Menu_ItemsMatchingGroup CALLI4 ASGNI4 ADDRLP4 8 ADDRLP4 12 INDIRI4 ASGNI4 line 1071 ;1071: for (i = 0; i < count; i++) { ADDRLP4 4 CNSTI4 0 ASGNI4 ADDRGP4 $488 JUMPV LABELV $485 line 1072 ;1072: item = Menu_GetMatchingItemByNumber(menu, i, p); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 4 INDIRI4 ARGI4 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 16 ADDRGP4 Menu_GetMatchingItemByNumber CALLP4 ASGNP4 ADDRLP4 0 ADDRLP4 16 INDIRP4 ASGNP4 line 1073 ;1073: if (item != NULL) { ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $489 line 1074 ;1074: item->window.flags |= (WINDOW_INTRANSITION | WINDOW_VISIBLE); ADDRLP4 20 ADDRLP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 20 INDIRP4 ADDRLP4 20 INDIRP4 INDIRI4 CNSTI4 260 BORI4 ASGNI4 line 1075 ;1075: item->window.offsetTime = time; ADDRLP4 0 INDIRP4 CNSTI4 104 ADDP4 ADDRFP4 16 INDIRI4 ASGNI4 line 1076 ;1076: memcpy(&item->window.rectClient, &rectFrom, sizeof(rectDef_t)); ADDRLP4 24 CNSTI4 16 ASGNI4 ADDRLP4 0 INDIRP4 ADDRLP4 24 INDIRI4 ADDP4 ARGP4 ADDRFP4 8 INDIRP4 ARGP4 ADDRLP4 24 INDIRI4 ARGI4 ADDRGP4 memcpy CALLP4 pop line 1077 ;1077: memcpy(&item->window.rectEffects, &rectTo, sizeof(rectDef_t)); ADDRLP4 0 INDIRP4 CNSTI4 72 ADDP4 ARGP4 ADDRFP4 12 INDIRP4 ARGP4 CNSTI4 16 ARGI4 ADDRGP4 memcpy CALLP4 pop line 1078 ;1078: item->window.rectEffects2.x = abs(rectTo.x - rectFrom.x) / amt; ADDRFP4 12 INDIRP4 INDIRF4 ADDRFP4 8 INDIRP4 INDIRF4 SUBF4 CVFI4 4 ARGI4 ADDRLP4 28 ADDRGP4 abs CALLI4 ASGNI4 ADDRLP4 0 INDIRP4 CNSTI4 88 ADDP4 ADDRLP4 28 INDIRI4 CVIF4 4 ADDRFP4 20 INDIRF4 DIVF4 ASGNF4 line 1079 ;1079: item->window.rectEffects2.y = abs(rectTo.y - rectFrom.y) / amt; ADDRLP4 32 CNSTI4 4 ASGNI4 ADDRFP4 12 INDIRP4 ADDRLP4 32 INDIRI4 ADDP4 INDIRF4 ADDRFP4 8 INDIRP4 ADDRLP4 32 INDIRI4 ADDP4 INDIRF4 SUBF4 CVFI4 4 ARGI4 ADDRLP4 36 ADDRGP4 abs CALLI4 ASGNI4 ADDRLP4 0 INDIRP4 CNSTI4 92 ADDP4 ADDRLP4 36 INDIRI4 CVIF4 4 ADDRFP4 20 INDIRF4 DIVF4 ASGNF4 line 1080 ;1080: item->window.rectEffects2.w = abs(rectTo.w - rectFrom.w) / amt; ADDRLP4 40 CNSTI4 8 ASGNI4 ADDRFP4 12 INDIRP4 ADDRLP4 40 INDIRI4 ADDP4 INDIRF4 ADDRFP4 8 INDIRP4 ADDRLP4 40 INDIRI4 ADDP4 INDIRF4 SUBF4 CVFI4 4 ARGI4 ADDRLP4 44 ADDRGP4 abs CALLI4 ASGNI4 ADDRLP4 0 INDIRP4 CNSTI4 96 ADDP4 ADDRLP4 44 INDIRI4 CVIF4 4 ADDRFP4 20 INDIRF4 DIVF4 ASGNF4 line 1081 ;1081: item->window.rectEffects2.h = abs(rectTo.h - rectFrom.h) / amt; ADDRLP4 48 CNSTI4 12 ASGNI4 ADDRFP4 12 INDIRP4 ADDRLP4 48 INDIRI4 ADDP4 INDIRF4 ADDRFP4 8 INDIRP4 ADDRLP4 48 INDIRI4 ADDP4 INDIRF4 SUBF4 CVFI4 4 ARGI4 ADDRLP4 52 ADDRGP4 abs CALLI4 ASGNI4 ADDRLP4 0 INDIRP4 CNSTI4 100 ADDP4 ADDRLP4 52 INDIRI4 CVIF4 4 ADDRFP4 20 INDIRF4 DIVF4 ASGNF4 line 1082 ;1082: Item_UpdatePosition(item); ADDRLP4 0 INDIRP4 ARGP4 ADDRGP4 Item_UpdatePosition CALLV pop line 1083 ;1083: } LABELV $489 line 1084 ;1084: } LABELV $486 line 1071 ADDRLP4 4 ADDRLP4 4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $488 ADDRLP4 4 INDIRI4 ADDRLP4 8 INDIRI4 LTI4 $485 line 1085 ;1085:} LABELV $484 endproc Menu_TransitionItemByName 56 12 export Script_Transition proc Script_Transition 96 24 line 1088 ;1086: ;1087: ;1088:void Script_Transition(itemDef_t *item, char **args) { line 1094 ;1089: const char *name; ;1090: rectDef_t rectFrom, rectTo; ;1091: int time; ;1092: float amt; ;1093: ;1094: if (String_Parse(args, &name)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 44 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 44 INDIRI4 CNSTI4 0 EQI4 $492 line 1095 ;1095: if ( Rect_Parse(args, &rectFrom) && Rect_Parse(args, &rectTo) && Int_Parse(args, &time) && Float_Parse(args, &amt)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 4 ARGP4 ADDRLP4 48 ADDRGP4 Rect_Parse CALLI4 ASGNI4 ADDRLP4 48 INDIRI4 CNSTI4 0 EQI4 $494 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 20 ARGP4 ADDRLP4 52 ADDRGP4 Rect_Parse CALLI4 ASGNI4 ADDRLP4 52 INDIRI4 CNSTI4 0 EQI4 $494 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 36 ARGP4 ADDRLP4 56 ADDRGP4 Int_Parse CALLI4 ASGNI4 ADDRLP4 56 INDIRI4 CNSTI4 0 EQI4 $494 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 40 ARGP4 ADDRLP4 60 ADDRGP4 Float_Parse CALLI4 ASGNI4 ADDRLP4 60 INDIRI4 CNSTI4 0 EQI4 $494 line 1096 ;1096: Menu_TransitionItemByName(item->parent, name, rectFrom, rectTo, time, amt); ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ARGP4 ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 64 ADDRLP4 4 INDIRB ASGNB 16 ADDRLP4 64 ARGP4 ADDRLP4 80 ADDRLP4 20 INDIRB ASGNB 16 ADDRLP4 80 ARGP4 ADDRLP4 36 INDIRI4 ARGI4 ADDRLP4 40 INDIRF4 ARGF4 ADDRGP4 Menu_TransitionItemByName CALLV pop line 1097 ;1097: } LABELV $494 line 1098 ;1098: } LABELV $492 line 1099 ;1099:} LABELV $491 endproc Script_Transition 96 24 export Menu_OrbitItemByName proc Menu_OrbitItemByName 24 12 line 1102 ;1100: ;1101: ;1102:void Menu_OrbitItemByName(menuDef_t *menu, const char *p, float x, float y, float cx, float cy, int time) { line 1105 ;1103: itemDef_t *item; ;1104: int i; ;1105: int count = Menu_ItemsMatchingGroup(menu, p); ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 12 ADDRGP4 Menu_ItemsMatchingGroup CALLI4 ASGNI4 ADDRLP4 8 ADDRLP4 12 INDIRI4 ASGNI4 line 1106 ;1106: for (i = 0; i < count; i++) { ADDRLP4 4 CNSTI4 0 ASGNI4 ADDRGP4 $500 JUMPV LABELV $497 line 1107 ;1107: item = Menu_GetMatchingItemByNumber(menu, i, p); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 4 INDIRI4 ARGI4 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 16 ADDRGP4 Menu_GetMatchingItemByNumber CALLP4 ASGNP4 ADDRLP4 0 ADDRLP4 16 INDIRP4 ASGNP4 line 1108 ;1108: if (item != NULL) { ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $501 line 1109 ;1109: item->window.flags |= (WINDOW_ORBITING | WINDOW_VISIBLE); ADDRLP4 20 ADDRLP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 20 INDIRP4 ADDRLP4 20 INDIRP4 INDIRI4 CNSTI4 65540 BORI4 ASGNI4 line 1110 ;1110: item->window.offsetTime = time; ADDRLP4 0 INDIRP4 CNSTI4 104 ADDP4 ADDRFP4 24 INDIRI4 ASGNI4 line 1111 ;1111: item->window.rectEffects.x = cx; ADDRLP4 0 INDIRP4 CNSTI4 72 ADDP4 ADDRFP4 16 INDIRF4 ASGNF4 line 1112 ;1112: item->window.rectEffects.y = cy; ADDRLP4 0 INDIRP4 CNSTI4 76 ADDP4 ADDRFP4 20 INDIRF4 ASGNF4 line 1113 ;1113: item->window.rectClient.x = x; ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 ADDRFP4 8 INDIRF4 ASGNF4 line 1114 ;1114: item->window.rectClient.y = y; ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 ADDRFP4 12 INDIRF4 ASGNF4 line 1115 ;1115: Item_UpdatePosition(item); ADDRLP4 0 INDIRP4 ARGP4 ADDRGP4 Item_UpdatePosition CALLV pop line 1116 ;1116: } LABELV $501 line 1117 ;1117: } LABELV $498 line 1106 ADDRLP4 4 ADDRLP4 4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $500 ADDRLP4 4 INDIRI4 ADDRLP4 8 INDIRI4 LTI4 $497 line 1118 ;1118:} LABELV $496 endproc Menu_OrbitItemByName 24 12 export Script_Orbit proc Script_Orbit 48 28 line 1121 ;1119: ;1120: ;1121:void Script_Orbit(itemDef_t *item, char **args) { line 1126 ;1122: const char *name; ;1123: float cx, cy, x, y; ;1124: int time; ;1125: ;1126: if (String_Parse(args, &name)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 24 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 24 INDIRI4 CNSTI4 0 EQI4 $504 line 1127 ;1127: if ( Float_Parse(args, &x) && Float_Parse(args, &y) && Float_Parse(args, &cx) && Float_Parse(args, &cy) && Int_Parse(args, &time) ) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 12 ARGP4 ADDRLP4 28 ADDRGP4 Float_Parse CALLI4 ASGNI4 ADDRLP4 28 INDIRI4 CNSTI4 0 EQI4 $506 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 16 ARGP4 ADDRLP4 32 ADDRGP4 Float_Parse CALLI4 ASGNI4 ADDRLP4 32 INDIRI4 CNSTI4 0 EQI4 $506 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 4 ARGP4 ADDRLP4 36 ADDRGP4 Float_Parse CALLI4 ASGNI4 ADDRLP4 36 INDIRI4 CNSTI4 0 EQI4 $506 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 8 ARGP4 ADDRLP4 40 ADDRGP4 Float_Parse CALLI4 ASGNI4 ADDRLP4 40 INDIRI4 CNSTI4 0 EQI4 $506 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 20 ARGP4 ADDRLP4 44 ADDRGP4 Int_Parse CALLI4 ASGNI4 ADDRLP4 44 INDIRI4 CNSTI4 0 EQI4 $506 line 1128 ;1128: Menu_OrbitItemByName(item->parent, name, x, y, cx, cy, time); ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ARGP4 ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 12 INDIRF4 ARGF4 ADDRLP4 16 INDIRF4 ARGF4 ADDRLP4 4 INDIRF4 ARGF4 ADDRLP4 8 INDIRF4 ARGF4 ADDRLP4 20 INDIRI4 ARGI4 ADDRGP4 Menu_OrbitItemByName CALLV pop line 1129 ;1129: } LABELV $506 line 1130 ;1130: } LABELV $504 line 1131 ;1131:} LABELV $503 endproc Script_Orbit 48 28 export Script_SetFocus proc Script_SetFocus 36 8 line 1135 ;1132: ;1133: ;1134: ;1135:void Script_SetFocus(itemDef_t *item, char **args) { line 1139 ;1136: const char *name; ;1137: itemDef_t *focusItem; ;1138: ;1139: if (String_Parse(args, &name)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 4 ARGP4 ADDRLP4 8 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 EQI4 $509 line 1140 ;1140: focusItem = Menu_FindItemByName(item->parent, name); ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ARGP4 ADDRLP4 4 INDIRP4 ARGP4 ADDRLP4 12 ADDRGP4 Menu_FindItemByName CALLP4 ASGNP4 ADDRLP4 0 ADDRLP4 12 INDIRP4 ASGNP4 line 1141 ;1141: if (focusItem && !(focusItem->window.flags & WINDOW_DECORATION) && !(focusItem->window.flags & WINDOW_HASFOCUS)) { ADDRLP4 16 ADDRLP4 0 INDIRP4 ASGNP4 ADDRLP4 16 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $511 ADDRLP4 20 ADDRLP4 16 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 ASGNI4 ADDRLP4 24 CNSTI4 0 ASGNI4 ADDRLP4 20 INDIRI4 CNSTI4 16 BANDI4 ADDRLP4 24 INDIRI4 NEI4 $511 ADDRLP4 20 INDIRI4 CNSTI4 2 BANDI4 ADDRLP4 24 INDIRI4 NEI4 $511 line 1142 ;1142: Menu_ClearFocus(item->parent); ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ARGP4 ADDRGP4 Menu_ClearFocus CALLP4 pop line 1143 ;1143: focusItem->window.flags |= WINDOW_HASFOCUS; ADDRLP4 28 ADDRLP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 28 INDIRP4 ADDRLP4 28 INDIRP4 INDIRI4 CNSTI4 2 BORI4 ASGNI4 line 1144 ;1144: if (focusItem->onFocus) { ADDRLP4 0 INDIRP4 CNSTI4 256 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $513 line 1145 ;1145: Item_RunScript(focusItem, focusItem->onFocus); ADDRLP4 32 ADDRLP4 0 INDIRP4 ASGNP4 ADDRLP4 32 INDIRP4 ARGP4 ADDRLP4 32 INDIRP4 CNSTI4 256 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_RunScript CALLV pop line 1146 ;1146: } LABELV $513 line 1147 ;1147: if (DC->Assets.itemFocusSound) { ADDRGP4 DC INDIRP4 CNSTI4 61948 ADDP4 INDIRI4 CNSTI4 0 EQI4 $515 line 1148 ;1148: DC->startLocalSound( DC->Assets.itemFocusSound, CHAN_LOCAL_SOUND ); ADDRLP4 32 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 32 INDIRP4 CNSTI4 61948 ADDP4 INDIRI4 ARGI4 CNSTI4 6 ARGI4 ADDRLP4 32 INDIRP4 CNSTI4 112 ADDP4 INDIRP4 CALLV pop line 1149 ;1149: } LABELV $515 line 1150 ;1150: } LABELV $511 line 1151 ;1151: } LABELV $509 line 1152 ;1152:} LABELV $508 endproc Script_SetFocus 36 8 export Script_SetPlayerModel proc Script_SetPlayerModel 8 8 line 1154 ;1153: ;1154:void Script_SetPlayerModel(itemDef_t *item, char **args) { line 1156 ;1155: const char *name; ;1156: if (String_Parse(args, &name)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $518 line 1157 ;1157: DC->setCVar("team_model", name); ADDRGP4 $520 ARGP4 ADDRLP4 0 INDIRP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 96 ADDP4 INDIRP4 CALLV pop line 1158 ;1158: } LABELV $518 line 1159 ;1159:} LABELV $517 endproc Script_SetPlayerModel 8 8 export Script_SetPlayerHead proc Script_SetPlayerHead 8 8 line 1161 ;1160: ;1161:void Script_SetPlayerHead(itemDef_t *item, char **args) { line 1163 ;1162: const char *name; ;1163: if (String_Parse(args, &name)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $522 line 1164 ;1164: DC->setCVar("team_headmodel", name); ADDRGP4 $524 ARGP4 ADDRLP4 0 INDIRP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 96 ADDP4 INDIRP4 CALLV pop line 1165 ;1165: } LABELV $522 line 1166 ;1166:} LABELV $521 endproc Script_SetPlayerHead 8 8 export Script_SetCvar proc Script_SetCvar 16 8 line 1168 ;1167: ;1168:void Script_SetCvar(itemDef_t *item, char **args) { line 1170 ;1169: const char *cvar, *val; ;1170: if (String_Parse(args, &cvar) && String_Parse(args, &val)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 8 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 EQI4 $526 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 4 ARGP4 ADDRLP4 12 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 12 INDIRI4 CNSTI4 0 EQI4 $526 line 1171 ;1171: DC->setCVar(cvar, val); ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 4 INDIRP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 96 ADDP4 INDIRP4 CALLV pop line 1172 ;1172: } LABELV $526 line 1174 ;1173: ;1174:} LABELV $525 endproc Script_SetCvar 16 8 export Script_Exec proc Script_Exec 12 8 line 1176 ;1175: ;1176:void Script_Exec(itemDef_t *item, char **args) { line 1178 ;1177: const char *val; ;1178: if (String_Parse(args, &val)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $529 line 1179 ;1179: DC->executeText(EXEC_APPEND, va("%s ; ", val)); ADDRGP4 $531 ARGP4 ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 8 ADDRGP4 va CALLP4 ASGNP4 CNSTI4 2 ARGI4 ADDRLP4 8 INDIRP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 148 ADDP4 INDIRP4 CALLV pop line 1180 ;1180: } LABELV $529 line 1181 ;1181:} LABELV $528 endproc Script_Exec 12 8 export Script_Play proc Script_Play 12 8 line 1183 ;1182: ;1183:void Script_Play(itemDef_t *item, char **args) { line 1185 ;1184: const char *val; ;1185: if (String_Parse(args, &val)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $533 line 1186 ;1186: DC->startLocalSound(DC->registerSound(val, qfalse), CHAN_LOCAL_SOUND); ADDRLP4 0 INDIRP4 ARGP4 CNSTI4 0 ARGI4 ADDRLP4 8 ADDRGP4 DC INDIRP4 CNSTI4 168 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 ARGI4 CNSTI4 6 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 112 ADDP4 INDIRP4 CALLV pop line 1187 ;1187: } LABELV $533 line 1188 ;1188:} LABELV $532 endproc Script_Play 12 8 export Script_playLooped proc Script_playLooped 12 8 line 1190 ;1189: ;1190:void Script_playLooped(itemDef_t *item, char **args) { line 1192 ;1191: const char *val; ;1192: if (String_Parse(args, &val)) { ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $536 line 1193 ;1193: DC->stopBackgroundTrack(); ADDRGP4 DC INDIRP4 CNSTI4 176 ADDP4 INDIRP4 CALLV pop line 1194 ;1194: DC->startBackgroundTrack(val, val); ADDRLP4 8 ADDRLP4 0 INDIRP4 ASGNP4 ADDRLP4 8 INDIRP4 ARGP4 ADDRLP4 8 INDIRP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 172 ADDP4 INDIRP4 CALLV pop line 1195 ;1195: } LABELV $536 line 1196 ;1196:} LABELV $535 endproc Script_playLooped 12 8 data export commandList align 4 LABELV commandList address $538 address Script_FadeIn address $539 address Script_FadeOut address $540 address Script_Show address $541 address Script_Hide address $542 address Script_SetColor address $543 address Script_Open address $544 address Script_Close address $545 address Script_SetAsset address $546 address Script_SetBackground address $547 address Script_SetItemColor address $548 address Script_SetTeamColor address $549 address Script_SetFocus address $550 address Script_SetPlayerModel address $551 address Script_SetPlayerHead address $552 address Script_Transition address $553 address Script_SetCvar address $554 address Script_Exec address $555 address Script_Play address $556 address Script_playLooped address $557 address Script_Orbit export scriptCommandCount align 4 LABELV scriptCommandCount byte 4 20 export Item_RunScript code proc Item_RunScript 1060 12 line 1226 ;1197: ;1198: ;1199:commandDef_t commandList[] = ;1200:{ ;1201: {"fadein", &Script_FadeIn}, // group/name ;1202: {"fadeout", &Script_FadeOut}, // group/name ;1203: {"show", &Script_Show}, // group/name ;1204: {"hide", &Script_Hide}, // group/name ;1205: {"setcolor", &Script_SetColor}, // works on this ;1206: {"open", &Script_Open}, // nenu ;1207: {"close", &Script_Close}, // menu ;1208: {"setasset", &Script_SetAsset}, // works on this ;1209: {"setbackground", &Script_SetBackground}, // works on this ;1210: {"setitemcolor", &Script_SetItemColor}, // group/name ;1211: {"setteamcolor", &Script_SetTeamColor}, // sets this background color to team color ;1212: {"setfocus", &Script_SetFocus}, // sets this background color to team color ;1213: {"setplayermodel", &Script_SetPlayerModel}, // sets this background color to team color ;1214: {"setplayerhead", &Script_SetPlayerHead}, // sets this background color to team color ;1215: {"transition", &Script_Transition}, // group/name ;1216: {"setcvar", &Script_SetCvar}, // group/name ;1217: {"exec", &Script_Exec}, // group/name ;1218: {"play", &Script_Play}, // group/name ;1219: {"playlooped", &Script_playLooped}, // group/name ;1220: {"orbit", &Script_Orbit} // group/name ;1221:}; ;1222: ;1223:int scriptCommandCount = sizeof(commandList) / sizeof(commandDef_t); ;1224: ;1225: ;1226:void Item_RunScript(itemDef_t *item, const char *s) { line 1230 ;1227: char script[1024], *p; ;1228: int i; ;1229: qboolean bRan; ;1230: memset(script, 0, sizeof(script)); ADDRLP4 12 ARGP4 CNSTI4 0 ARGI4 CNSTI4 1024 ARGI4 ADDRGP4 memset CALLP4 pop line 1231 ;1231: if (item && s && s[0]) { ADDRLP4 1036 CNSTU4 0 ASGNU4 ADDRFP4 0 INDIRP4 CVPU4 4 ADDRLP4 1036 INDIRU4 EQU4 $559 ADDRLP4 1040 ADDRFP4 4 INDIRP4 ASGNP4 ADDRLP4 1040 INDIRP4 CVPU4 4 ADDRLP4 1036 INDIRU4 EQU4 $559 ADDRLP4 1040 INDIRP4 INDIRI1 CVII4 1 CNSTI4 0 EQI4 $559 line 1232 ;1232: Q_strcat(script, 1024, s); ADDRLP4 12 ARGP4 CNSTI4 1024 ARGI4 ADDRFP4 4 INDIRP4 ARGP4 ADDRGP4 Q_strcat CALLV pop line 1233 ;1233: p = script; ADDRLP4 8 ADDRLP4 12 ASGNP4 ADDRGP4 $562 JUMPV LABELV $561 line 1234 ;1234: while (1) { line 1237 ;1235: const char *command; ;1236: // expect command then arguments, ; ends command, NULL ends script ;1237: if (!String_Parse(&p, &command)) { ADDRLP4 8 ARGP4 ADDRLP4 1044 ARGP4 ADDRLP4 1048 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 1048 INDIRI4 CNSTI4 0 NEI4 $564 line 1238 ;1238: return; ADDRGP4 $558 JUMPV LABELV $564 line 1241 ;1239: } ;1240: ;1241: if (command[0] == ';' && command[1] == '\0') { ADDRLP4 1052 ADDRLP4 1044 INDIRP4 ASGNP4 ADDRLP4 1052 INDIRP4 INDIRI1 CVII4 1 CNSTI4 59 NEI4 $566 ADDRLP4 1052 INDIRP4 CNSTI4 1 ADDP4 INDIRI1 CVII4 1 CNSTI4 0 NEI4 $566 line 1242 ;1242: continue; ADDRGP4 $562 JUMPV LABELV $566 line 1245 ;1243: } ;1244: ;1245: bRan = qfalse; ADDRLP4 4 CNSTI4 0 ASGNI4 line 1246 ;1246: for (i = 0; i < scriptCommandCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $571 JUMPV LABELV $568 line 1247 ;1247: if (Q_stricmp(command, commandList[i].name) == 0) { ADDRLP4 1044 INDIRP4 ARGP4 ADDRLP4 0 INDIRI4 CNSTI4 3 LSHI4 ADDRGP4 commandList ADDP4 INDIRP4 ARGP4 ADDRLP4 1056 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 1056 INDIRI4 CNSTI4 0 NEI4 $572 line 1248 ;1248: (commandList[i].handler(item, &p)); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 8 ARGP4 ADDRLP4 0 INDIRI4 CNSTI4 3 LSHI4 ADDRGP4 commandList+4 ADDP4 INDIRP4 CALLV pop line 1249 ;1249: bRan = qtrue; ADDRLP4 4 CNSTI4 1 ASGNI4 line 1250 ;1250: break; ADDRGP4 $570 JUMPV LABELV $572 line 1252 ;1251: } ;1252: } LABELV $569 line 1246 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $571 ADDRLP4 0 INDIRI4 ADDRGP4 scriptCommandCount INDIRI4 LTI4 $568 LABELV $570 line 1254 ;1253: // not in our auto list, pass to handler ;1254: if (!bRan) { ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $575 line 1255 ;1255: DC->runScript(&p); ADDRLP4 8 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 80 ADDP4 INDIRP4 CALLV pop line 1256 ;1256: } LABELV $575 line 1257 ;1257: } LABELV $562 line 1234 ADDRGP4 $561 JUMPV line 1258 ;1258: } LABELV $559 line 1259 ;1259:} LABELV $558 endproc Item_RunScript 1060 12 export Item_EnableShowViaCvar proc Item_EnableShowViaCvar 2088 12 line 1262 ;1260: ;1261: ;1262:qboolean Item_EnableShowViaCvar(itemDef_t *item, int flag) { line 1264 ;1263: char script[1024], *p; ;1264: memset(script, 0, sizeof(script)); ADDRLP4 4 ARGP4 CNSTI4 0 ARGI4 CNSTI4 1024 ARGI4 ADDRGP4 memset CALLP4 pop line 1265 ;1265: if (item && item->enableCvar && *item->enableCvar && item->cvarTest && *item->cvarTest) { ADDRLP4 1028 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 1032 CNSTU4 0 ASGNU4 ADDRLP4 1028 INDIRP4 CVPU4 4 ADDRLP4 1032 INDIRU4 EQU4 $578 ADDRLP4 1036 ADDRLP4 1028 INDIRP4 CNSTI4 272 ADDP4 INDIRP4 ASGNP4 ADDRLP4 1036 INDIRP4 CVPU4 4 ADDRLP4 1032 INDIRU4 EQU4 $578 ADDRLP4 1040 CNSTI4 0 ASGNI4 ADDRLP4 1036 INDIRP4 INDIRI1 CVII4 1 ADDRLP4 1040 INDIRI4 EQI4 $578 ADDRLP4 1044 ADDRLP4 1028 INDIRP4 CNSTI4 268 ADDP4 INDIRP4 ASGNP4 ADDRLP4 1044 INDIRP4 CVPU4 4 ADDRLP4 1032 INDIRU4 EQU4 $578 ADDRLP4 1044 INDIRP4 INDIRI1 CVII4 1 ADDRLP4 1040 INDIRI4 EQI4 $578 line 1267 ;1266: char buff[1024]; ;1267: DC->getCVarString(item->cvarTest, buff, sizeof(buff)); ADDRFP4 0 INDIRP4 CNSTI4 268 ADDP4 INDIRP4 ARGP4 ADDRLP4 1048 ARGP4 CNSTI4 1024 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 88 ADDP4 INDIRP4 CALLV pop line 1269 ;1268: ;1269: Q_strcat(script, 1024, item->enableCvar); ADDRLP4 4 ARGP4 CNSTI4 1024 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 272 ADDP4 INDIRP4 ARGP4 ADDRGP4 Q_strcat CALLV pop line 1270 ;1270: p = script; ADDRLP4 0 ADDRLP4 4 ASGNP4 ADDRGP4 $581 JUMPV LABELV $580 line 1271 ;1271: while (1) { line 1274 ;1272: const char *val; ;1273: // expect value then ; or NULL, NULL ends list ;1274: if (!String_Parse(&p, &val)) { ADDRLP4 0 ARGP4 ADDRLP4 2072 ARGP4 ADDRLP4 2076 ADDRGP4 String_Parse CALLI4 ASGNI4 ADDRLP4 2076 INDIRI4 CNSTI4 0 NEI4 $583 line 1275 ;1275: return (item->cvarFlags & flag) ? qfalse : qtrue; ADDRFP4 0 INDIRP4 CNSTI4 276 ADDP4 INDIRI4 ADDRFP4 4 INDIRI4 BANDI4 CNSTI4 0 EQI4 $586 ADDRLP4 2080 CNSTI4 0 ASGNI4 ADDRGP4 $587 JUMPV LABELV $586 ADDRLP4 2080 CNSTI4 1 ASGNI4 LABELV $587 ADDRLP4 2080 INDIRI4 RETI4 ADDRGP4 $577 JUMPV LABELV $583 line 1278 ;1276: } ;1277: ;1278: if (val[0] == ';' && val[1] == '\0') { ADDRLP4 2080 ADDRLP4 2072 INDIRP4 ASGNP4 ADDRLP4 2080 INDIRP4 INDIRI1 CVII4 1 CNSTI4 59 NEI4 $588 ADDRLP4 2080 INDIRP4 CNSTI4 1 ADDP4 INDIRI1 CVII4 1 CNSTI4 0 NEI4 $588 line 1279 ;1279: continue; ADDRGP4 $581 JUMPV LABELV $588 line 1283 ;1280: } ;1281: ;1282: // enable it if any of the values are true ;1283: if (item->cvarFlags & flag) { ADDRFP4 0 INDIRP4 CNSTI4 276 ADDP4 INDIRI4 ADDRFP4 4 INDIRI4 BANDI4 CNSTI4 0 EQI4 $590 line 1284 ;1284: if (Q_stricmp(buff, val) == 0) { ADDRLP4 1048 ARGP4 ADDRLP4 2072 INDIRP4 ARGP4 ADDRLP4 2084 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 2084 INDIRI4 CNSTI4 0 NEI4 $591 line 1285 ;1285: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $577 JUMPV line 1287 ;1286: } ;1287: } else { LABELV $590 line 1289 ;1288: // disable it if any of the values are true ;1289: if (Q_stricmp(buff, val) == 0) { ADDRLP4 1048 ARGP4 ADDRLP4 2072 INDIRP4 ARGP4 ADDRLP4 2084 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 2084 INDIRI4 CNSTI4 0 NEI4 $594 line 1290 ;1290: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $577 JUMPV LABELV $594 line 1292 ;1291: } ;1292: } LABELV $591 line 1294 ;1293: ;1294: } LABELV $581 line 1271 ADDRGP4 $580 JUMPV line 1295 ;1295: return (item->cvarFlags & flag) ? qfalse : qtrue; ADDRFP4 0 INDIRP4 CNSTI4 276 ADDP4 INDIRI4 ADDRFP4 4 INDIRI4 BANDI4 CNSTI4 0 EQI4 $597 ADDRLP4 2072 CNSTI4 0 ASGNI4 ADDRGP4 $598 JUMPV LABELV $597 ADDRLP4 2072 CNSTI4 1 ASGNI4 LABELV $598 ADDRLP4 2072 INDIRI4 RETI4 ADDRGP4 $577 JUMPV LABELV $578 line 1297 ;1296: } ;1297: return qtrue; CNSTI4 1 RETI4 LABELV $577 endproc Item_EnableShowViaCvar 2088 12 export Item_SetFocus proc Item_SetFocus 80 12 line 1302 ;1298:} ;1299: ;1300: ;1301:// will optionaly set focus to this item ;1302:qboolean Item_SetFocus(itemDef_t *item, float x, float y) { line 1305 ;1303: int i; ;1304: itemDef_t *oldFocus; ;1305: sfxHandle_t *sfx = &DC->Assets.itemFocusSound; ADDRLP4 8 ADDRGP4 DC INDIRP4 CNSTI4 61948 ADDP4 ASGNP4 line 1306 ;1306: qboolean playSound = qfalse; ADDRLP4 12 CNSTI4 0 ASGNI4 line 1309 ;1307: menuDef_t *parent; // bk001206: = (menuDef_t*)item->parent; ;1308: // sanity check, non-null, not a decoration and does not already have the focus ;1309: if (item == NULL || item->window.flags & WINDOW_DECORATION || item->window.flags & WINDOW_HASFOCUS || !(item->window.flags & WINDOW_VISIBLE)) { ADDRLP4 20 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 20 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $604 ADDRLP4 24 ADDRLP4 20 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 ASGNI4 ADDRLP4 28 CNSTI4 0 ASGNI4 ADDRLP4 24 INDIRI4 CNSTI4 16 BANDI4 ADDRLP4 28 INDIRI4 NEI4 $604 ADDRLP4 24 INDIRI4 CNSTI4 2 BANDI4 ADDRLP4 28 INDIRI4 NEI4 $604 ADDRLP4 24 INDIRI4 CNSTI4 4 BANDI4 ADDRLP4 28 INDIRI4 NEI4 $600 LABELV $604 line 1310 ;1310: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $599 JUMPV LABELV $600 line 1314 ;1311: } ;1312: ;1313: // bk001206 - this can be NULL. ;1314: parent = (menuDef_t*)item->parent; ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ASGNP4 line 1317 ;1315: ;1316: // items can be enabled and disabled based on cvars ;1317: if (item->cvarFlags & (CVAR_ENABLE | CVAR_DISABLE) && !Item_EnableShowViaCvar(item, CVAR_ENABLE)) { ADDRLP4 32 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 32 INDIRP4 CNSTI4 276 ADDP4 INDIRI4 CNSTI4 3 BANDI4 CNSTI4 0 EQI4 $605 ADDRLP4 32 INDIRP4 ARGP4 CNSTI4 1 ARGI4 ADDRLP4 36 ADDRGP4 Item_EnableShowViaCvar CALLI4 ASGNI4 ADDRLP4 36 INDIRI4 CNSTI4 0 NEI4 $605 line 1318 ;1318: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $599 JUMPV LABELV $605 line 1321 ;1319: } ;1320: ;1321: if (item->cvarFlags & (CVAR_SHOW | CVAR_HIDE) && !Item_EnableShowViaCvar(item, CVAR_SHOW)) { ADDRLP4 40 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 40 INDIRP4 CNSTI4 276 ADDP4 INDIRI4 CNSTI4 12 BANDI4 CNSTI4 0 EQI4 $607 ADDRLP4 40 INDIRP4 ARGP4 CNSTI4 4 ARGI4 ADDRLP4 44 ADDRGP4 Item_EnableShowViaCvar CALLI4 ASGNI4 ADDRLP4 44 INDIRI4 CNSTI4 0 NEI4 $607 line 1322 ;1322: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $599 JUMPV LABELV $607 line 1325 ;1323: } ;1324: ;1325: oldFocus = Menu_ClearFocus(item->parent); ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ARGP4 ADDRLP4 48 ADDRGP4 Menu_ClearFocus CALLP4 ASGNP4 ADDRLP4 16 ADDRLP4 48 INDIRP4 ASGNP4 line 1327 ;1326: ;1327: if (item->type == ITEM_TYPE_TEXT) { ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 0 NEI4 $609 line 1329 ;1328: rectDef_t r; ;1329: r = item->textRect; ADDRLP4 52 ADDRFP4 0 INDIRP4 CNSTI4 180 ADDP4 INDIRB ASGNB 16 line 1330 ;1330: r.y -= r.h; ADDRLP4 52+4 ADDRLP4 52+4 INDIRF4 ADDRLP4 52+12 INDIRF4 SUBF4 ASGNF4 line 1331 ;1331: if (Rect_ContainsPoint(&r, x, y)) { ADDRLP4 52 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 68 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 68 INDIRI4 CNSTI4 0 EQI4 $613 line 1332 ;1332: item->window.flags |= WINDOW_HASFOCUS; ADDRLP4 72 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 72 INDIRP4 ADDRLP4 72 INDIRP4 INDIRI4 CNSTI4 2 BORI4 ASGNI4 line 1333 ;1333: if (item->focusSound) { ADDRFP4 0 INDIRP4 CNSTI4 280 ADDP4 INDIRI4 CNSTI4 0 EQI4 $615 line 1334 ;1334: sfx = &item->focusSound; ADDRLP4 8 ADDRFP4 0 INDIRP4 CNSTI4 280 ADDP4 ASGNP4 line 1335 ;1335: } LABELV $615 line 1336 ;1336: playSound = qtrue; ADDRLP4 12 CNSTI4 1 ASGNI4 line 1337 ;1337: } else { ADDRGP4 $610 JUMPV LABELV $613 line 1338 ;1338: if (oldFocus) { ADDRLP4 16 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $610 line 1339 ;1339: oldFocus->window.flags |= WINDOW_HASFOCUS; ADDRLP4 72 ADDRLP4 16 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 72 INDIRP4 ADDRLP4 72 INDIRP4 INDIRI4 CNSTI4 2 BORI4 ASGNI4 line 1340 ;1340: if (oldFocus->onFocus) { ADDRLP4 16 INDIRP4 CNSTI4 256 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $610 line 1341 ;1341: Item_RunScript(oldFocus, oldFocus->onFocus); ADDRLP4 76 ADDRLP4 16 INDIRP4 ASGNP4 ADDRLP4 76 INDIRP4 ARGP4 ADDRLP4 76 INDIRP4 CNSTI4 256 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_RunScript CALLV pop line 1342 ;1342: } line 1343 ;1343: } line 1344 ;1344: } line 1345 ;1345: } else { ADDRGP4 $610 JUMPV LABELV $609 line 1346 ;1346: item->window.flags |= WINDOW_HASFOCUS; ADDRLP4 52 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 52 INDIRP4 ADDRLP4 52 INDIRP4 INDIRI4 CNSTI4 2 BORI4 ASGNI4 line 1347 ;1347: if (item->onFocus) { ADDRFP4 0 INDIRP4 CNSTI4 256 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $621 line 1348 ;1348: Item_RunScript(item, item->onFocus); ADDRLP4 56 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 56 INDIRP4 ARGP4 ADDRLP4 56 INDIRP4 CNSTI4 256 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_RunScript CALLV pop line 1349 ;1349: } LABELV $621 line 1350 ;1350: if (item->focusSound) { ADDRFP4 0 INDIRP4 CNSTI4 280 ADDP4 INDIRI4 CNSTI4 0 EQI4 $623 line 1351 ;1351: sfx = &item->focusSound; ADDRLP4 8 ADDRFP4 0 INDIRP4 CNSTI4 280 ADDP4 ASGNP4 line 1352 ;1352: } LABELV $623 line 1353 ;1353: playSound = qtrue; ADDRLP4 12 CNSTI4 1 ASGNI4 line 1354 ;1354: } LABELV $610 line 1356 ;1355: ;1356: if (playSound && sfx) { ADDRLP4 12 INDIRI4 CNSTI4 0 EQI4 $625 ADDRLP4 8 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $625 line 1357 ;1357: DC->startLocalSound( *sfx, CHAN_LOCAL_SOUND ); ADDRLP4 8 INDIRP4 INDIRI4 ARGI4 CNSTI4 6 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 112 ADDP4 INDIRP4 CALLV pop line 1358 ;1358: } LABELV $625 line 1360 ;1359: ;1360: for (i = 0; i < parent->itemCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $630 JUMPV LABELV $627 line 1361 ;1361: if (parent->items[i] == item) { ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 4 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CVPU4 4 ADDRFP4 0 INDIRP4 CVPU4 4 NEU4 $631 line 1362 ;1362: parent->cursorItem = i; ADDRLP4 4 INDIRP4 CNSTI4 196 ADDP4 ADDRLP4 0 INDIRI4 ASGNI4 line 1363 ;1363: break; ADDRGP4 $629 JUMPV LABELV $631 line 1365 ;1364: } ;1365: } LABELV $628 line 1360 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $630 ADDRLP4 0 INDIRI4 ADDRLP4 4 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $627 LABELV $629 line 1367 ;1366: ;1367: return qtrue; CNSTI4 1 RETI4 LABELV $599 endproc Item_SetFocus 80 12 export Item_ListBox_MaxScroll proc Item_ListBox_MaxScroll 16 4 line 1370 ;1368:} ;1369: ;1370:int Item_ListBox_MaxScroll(itemDef_t *item) { line 1371 ;1371: listBoxDef_t *listPtr = (listBoxDef_t*)item->typeData; ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 1372 ;1372: int count = DC->feederCount(item->special); ADDRFP4 0 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 12 ADDRGP4 DC INDIRP4 CNSTI4 120 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 8 ADDRLP4 12 INDIRI4 ASGNI4 line 1375 ;1373: int max; ;1374: ;1375: if (item->window.flags & WINDOW_HORIZONTAL) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 1024 BANDI4 CNSTI4 0 EQI4 $634 line 1376 ;1376: max = count - (item->window.rect.w / listPtr->elementWidth) + 1; ADDRLP4 0 ADDRLP4 8 INDIRI4 CVIF4 4 ADDRFP4 0 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ADDRLP4 4 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 DIVF4 SUBF4 CNSTF4 1065353216 ADDF4 CVFI4 4 ASGNI4 line 1377 ;1377: } ADDRGP4 $635 JUMPV LABELV $634 line 1378 ;1378: else { line 1379 ;1379: max = count - (item->window.rect.h / listPtr->elementHeight) + 1; ADDRLP4 0 ADDRLP4 8 INDIRI4 CVIF4 4 ADDRFP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ADDRLP4 4 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 DIVF4 SUBF4 CNSTF4 1065353216 ADDF4 CVFI4 4 ASGNI4 line 1380 ;1380: } LABELV $635 line 1381 ;1381: if (max < 0) { ADDRLP4 0 INDIRI4 CNSTI4 0 GEI4 $636 line 1382 ;1382: return 0; CNSTI4 0 RETI4 ADDRGP4 $633 JUMPV LABELV $636 line 1384 ;1383: } ;1384: return max; ADDRLP4 0 INDIRI4 RETI4 LABELV $633 endproc Item_ListBox_MaxScroll 16 4 export Item_ListBox_ThumbPosition proc Item_ListBox_ThumbPosition 20 4 line 1387 ;1385:} ;1386: ;1387:int Item_ListBox_ThumbPosition(itemDef_t *item) { line 1389 ;1388: float max, pos, size; ;1389: listBoxDef_t *listPtr = (listBoxDef_t*)item->typeData; ADDRLP4 8 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 1391 ;1390: ;1391: max = Item_ListBox_MaxScroll(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 16 ADDRGP4 Item_ListBox_MaxScroll CALLI4 ASGNI4 ADDRLP4 4 ADDRLP4 16 INDIRI4 CVIF4 4 ASGNF4 line 1392 ;1392: if (item->window.flags & WINDOW_HORIZONTAL) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 1024 BANDI4 CNSTI4 0 EQI4 $639 line 1393 ;1393: size = item->window.rect.w - (SCROLLBAR_SIZE * 2) - 2; ADDRLP4 12 ADDRFP4 0 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 CNSTF4 1107296256 SUBF4 CNSTF4 1073741824 SUBF4 ASGNF4 line 1394 ;1394: if (max > 0) { ADDRLP4 4 INDIRF4 CNSTF4 0 LEF4 $641 line 1395 ;1395: pos = (size-SCROLLBAR_SIZE) / (float) max; ADDRLP4 0 ADDRLP4 12 INDIRF4 CNSTF4 1098907648 SUBF4 ADDRLP4 4 INDIRF4 DIVF4 ASGNF4 line 1396 ;1396: } else { ADDRGP4 $642 JUMPV LABELV $641 line 1397 ;1397: pos = 0; ADDRLP4 0 CNSTF4 0 ASGNF4 line 1398 ;1398: } LABELV $642 line 1399 ;1399: pos *= listPtr->startPos; ADDRLP4 0 ADDRLP4 0 INDIRF4 ADDRLP4 8 INDIRP4 INDIRI4 CVIF4 4 MULF4 ASGNF4 line 1400 ;1400: return item->window.rect.x + 1 + SCROLLBAR_SIZE + pos; ADDRFP4 0 INDIRP4 INDIRF4 CNSTF4 1065353216 ADDF4 CNSTF4 1098907648 ADDF4 ADDRLP4 0 INDIRF4 ADDF4 CVFI4 4 RETI4 ADDRGP4 $638 JUMPV LABELV $639 line 1402 ;1401: } ;1402: else { line 1403 ;1403: size = item->window.rect.h - (SCROLLBAR_SIZE * 2) - 2; ADDRLP4 12 ADDRFP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 CNSTF4 1107296256 SUBF4 CNSTF4 1073741824 SUBF4 ASGNF4 line 1404 ;1404: if (max > 0) { ADDRLP4 4 INDIRF4 CNSTF4 0 LEF4 $643 line 1405 ;1405: pos = (size-SCROLLBAR_SIZE) / (float) max; ADDRLP4 0 ADDRLP4 12 INDIRF4 CNSTF4 1098907648 SUBF4 ADDRLP4 4 INDIRF4 DIVF4 ASGNF4 line 1406 ;1406: } else { ADDRGP4 $644 JUMPV LABELV $643 line 1407 ;1407: pos = 0; ADDRLP4 0 CNSTF4 0 ASGNF4 line 1408 ;1408: } LABELV $644 line 1409 ;1409: pos *= listPtr->startPos; ADDRLP4 0 ADDRLP4 0 INDIRF4 ADDRLP4 8 INDIRP4 INDIRI4 CVIF4 4 MULF4 ASGNF4 line 1410 ;1410: return item->window.rect.y + 1 + SCROLLBAR_SIZE + pos; ADDRFP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 CNSTF4 1065353216 ADDF4 CNSTF4 1098907648 ADDF4 ADDRLP4 0 INDIRF4 ADDF4 CVFI4 4 RETI4 LABELV $638 endproc Item_ListBox_ThumbPosition 20 4 export Item_ListBox_ThumbDrawPosition proc Item_ListBox_ThumbDrawPosition 24 4 line 1414 ;1411: } ;1412:} ;1413: ;1414:int Item_ListBox_ThumbDrawPosition(itemDef_t *item) { line 1417 ;1415: int min, max; ;1416: ;1417: if (itemCapture == item) { ADDRGP4 itemCapture INDIRP4 CVPU4 4 ADDRFP4 0 INDIRP4 CVPU4 4 NEU4 $646 line 1418 ;1418: if (item->window.flags & WINDOW_HORIZONTAL) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 1024 BANDI4 CNSTI4 0 EQI4 $648 line 1419 ;1419: min = item->window.rect.x + SCROLLBAR_SIZE + 1; ADDRLP4 0 ADDRFP4 0 INDIRP4 INDIRF4 CNSTF4 1098907648 ADDF4 CNSTF4 1065353216 ADDF4 CVFI4 4 ASGNI4 line 1420 ;1420: max = item->window.rect.x + item->window.rect.w - 2*SCROLLBAR_SIZE - 1; ADDRLP4 8 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 4 ADDRLP4 8 INDIRP4 INDIRF4 ADDRLP4 8 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ADDF4 CNSTF4 1107296256 SUBF4 CNSTF4 1065353216 SUBF4 CVFI4 4 ASGNI4 line 1421 ;1421: if (DC->cursorx >= min + SCROLLBAR_SIZE/2 && DC->cursorx <= max + SCROLLBAR_SIZE/2) { ADDRLP4 12 ADDRGP4 DC INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ASGNF4 ADDRLP4 16 CNSTF4 1090519040 ASGNF4 ADDRLP4 12 INDIRF4 ADDRLP4 0 INDIRI4 CVIF4 4 ADDRLP4 16 INDIRF4 ADDF4 LTF4 $650 ADDRLP4 12 INDIRF4 ADDRLP4 4 INDIRI4 CVIF4 4 ADDRLP4 16 INDIRF4 ADDF4 GTF4 $650 line 1422 ;1422: return DC->cursorx - SCROLLBAR_SIZE/2; ADDRGP4 DC INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 CNSTF4 1090519040 SUBF4 CVFI4 4 RETI4 ADDRGP4 $645 JUMPV LABELV $650 line 1424 ;1423: } ;1424: else { line 1425 ;1425: return Item_ListBox_ThumbPosition(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 20 ADDRGP4 Item_ListBox_ThumbPosition CALLI4 ASGNI4 ADDRLP4 20 INDIRI4 RETI4 ADDRGP4 $645 JUMPV LABELV $648 line 1428 ;1426: } ;1427: } ;1428: else { line 1429 ;1429: min = item->window.rect.y + SCROLLBAR_SIZE + 1; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 CNSTF4 1098907648 ADDF4 CNSTF4 1065353216 ADDF4 CVFI4 4 ASGNI4 line 1430 ;1430: max = item->window.rect.y + item->window.rect.h - 2*SCROLLBAR_SIZE - 1; ADDRLP4 8 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 4 ADDRLP4 8 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ADDRLP4 8 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ADDF4 CNSTF4 1107296256 SUBF4 CNSTF4 1065353216 SUBF4 CVFI4 4 ASGNI4 line 1431 ;1431: if (DC->cursory >= min + SCROLLBAR_SIZE/2 && DC->cursory <= max + SCROLLBAR_SIZE/2) { ADDRLP4 12 ADDRGP4 DC INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ASGNF4 ADDRLP4 16 CNSTF4 1090519040 ASGNF4 ADDRLP4 12 INDIRF4 ADDRLP4 0 INDIRI4 CVIF4 4 ADDRLP4 16 INDIRF4 ADDF4 LTF4 $652 ADDRLP4 12 INDIRF4 ADDRLP4 4 INDIRI4 CVIF4 4 ADDRLP4 16 INDIRF4 ADDF4 GTF4 $652 line 1432 ;1432: return DC->cursory - SCROLLBAR_SIZE/2; ADDRGP4 DC INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 CNSTF4 1090519040 SUBF4 CVFI4 4 RETI4 ADDRGP4 $645 JUMPV LABELV $652 line 1434 ;1433: } ;1434: else { line 1435 ;1435: return Item_ListBox_ThumbPosition(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 20 ADDRGP4 Item_ListBox_ThumbPosition CALLI4 ASGNI4 ADDRLP4 20 INDIRI4 RETI4 ADDRGP4 $645 JUMPV LABELV $646 line 1439 ;1436: } ;1437: } ;1438: } ;1439: else { line 1440 ;1440: return Item_ListBox_ThumbPosition(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 8 ADDRGP4 Item_ListBox_ThumbPosition CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 RETI4 LABELV $645 endproc Item_ListBox_ThumbDrawPosition 24 4 export Item_Slider_ThumbPosition proc Item_Slider_ThumbPosition 28 4 line 1444 ;1441: } ;1442:} ;1443: ;1444:float Item_Slider_ThumbPosition(itemDef_t *item) { line 1446 ;1445: float value, range, x; ;1446: editFieldDef_t *editDef = item->typeData; ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 1448 ;1447: ;1448: if (item->text) { ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $655 line 1449 ;1449: x = item->textRect.x + item->textRect.w + 8; ADDRLP4 16 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 8 ADDRLP4 16 INDIRP4 CNSTI4 180 ADDP4 INDIRF4 ADDRLP4 16 INDIRP4 CNSTI4 188 ADDP4 INDIRF4 ADDF4 CNSTF4 1090519040 ADDF4 ASGNF4 line 1450 ;1450: } else { ADDRGP4 $656 JUMPV LABELV $655 line 1451 ;1451: x = item->window.rect.x; ADDRLP4 8 ADDRFP4 0 INDIRP4 INDIRF4 ASGNF4 line 1452 ;1452: } LABELV $656 line 1454 ;1453: ;1454: if (editDef == NULL && item->cvar) { ADDRLP4 16 CNSTU4 0 ASGNU4 ADDRLP4 4 INDIRP4 CVPU4 4 ADDRLP4 16 INDIRU4 NEU4 $657 ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 CVPU4 4 ADDRLP4 16 INDIRU4 EQU4 $657 line 1455 ;1455: return x; ADDRLP4 8 INDIRF4 RETF4 ADDRGP4 $654 JUMPV LABELV $657 line 1458 ;1456: } ;1457: ;1458: value = DC->getCVarValue(item->cvar); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 20 ADDRGP4 DC INDIRP4 CNSTI4 92 ADDP4 INDIRP4 CALLF4 ASGNF4 ADDRLP4 0 ADDRLP4 20 INDIRF4 ASGNF4 line 1460 ;1459: ;1460: if (value < editDef->minVal) { ADDRLP4 0 INDIRF4 ADDRLP4 4 INDIRP4 INDIRF4 GEF4 $659 line 1461 ;1461: value = editDef->minVal; ADDRLP4 0 ADDRLP4 4 INDIRP4 INDIRF4 ASGNF4 line 1462 ;1462: } else if (value > editDef->maxVal) { ADDRGP4 $660 JUMPV LABELV $659 ADDRLP4 0 INDIRF4 ADDRLP4 4 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 LEF4 $661 line 1463 ;1463: value = editDef->maxVal; ADDRLP4 0 ADDRLP4 4 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ASGNF4 line 1464 ;1464: } LABELV $661 LABELV $660 line 1466 ;1465: ;1466: range = editDef->maxVal - editDef->minVal; ADDRLP4 12 ADDRLP4 4 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ADDRLP4 4 INDIRP4 INDIRF4 SUBF4 ASGNF4 line 1467 ;1467: value -= editDef->minVal; ADDRLP4 0 ADDRLP4 0 INDIRF4 ADDRLP4 4 INDIRP4 INDIRF4 SUBF4 ASGNF4 line 1468 ;1468: value /= range; ADDRLP4 0 ADDRLP4 0 INDIRF4 ADDRLP4 12 INDIRF4 DIVF4 ASGNF4 line 1470 ;1469: //value /= (editDef->maxVal - editDef->minVal); ;1470: value *= SLIDER_WIDTH; ADDRLP4 0 CNSTF4 1119879168 ADDRLP4 0 INDIRF4 MULF4 ASGNF4 line 1471 ;1471: x += value; ADDRLP4 8 ADDRLP4 8 INDIRF4 ADDRLP4 0 INDIRF4 ADDF4 ASGNF4 line 1474 ;1472: // vm fuckage ;1473: //x = x + (((float)value / editDef->maxVal) * SLIDER_WIDTH); ;1474: return x; ADDRLP4 8 INDIRF4 RETF4 LABELV $654 endproc Item_Slider_ThumbPosition 28 4 export Item_Slider_OverSlider proc Item_Slider_OverSlider 24 12 line 1477 ;1475:} ;1476: ;1477:int Item_Slider_OverSlider(itemDef_t *item, float x, float y) { line 1480 ;1478: rectDef_t r; ;1479: ;1480: r.x = Item_Slider_ThumbPosition(item) - (SLIDER_THUMB_WIDTH / 2); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 16 ADDRGP4 Item_Slider_ThumbPosition CALLF4 ASGNF4 ADDRLP4 0 ADDRLP4 16 INDIRF4 CNSTF4 1086324736 SUBF4 ASGNF4 line 1481 ;1481: r.y = item->window.rect.y - 2; ADDRLP4 0+4 ADDRFP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 CNSTF4 1073741824 SUBF4 ASGNF4 line 1482 ;1482: r.w = SLIDER_THUMB_WIDTH; ADDRLP4 0+8 CNSTF4 1094713344 ASGNF4 line 1483 ;1483: r.h = SLIDER_THUMB_HEIGHT; ADDRLP4 0+12 CNSTF4 1101004800 ASGNF4 line 1485 ;1484: ;1485: if (Rect_ContainsPoint(&r, x, y)) { ADDRLP4 0 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 20 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 20 INDIRI4 CNSTI4 0 EQI4 $667 line 1486 ;1486: return WINDOW_LB_THUMB; CNSTI4 8192 RETI4 ADDRGP4 $663 JUMPV LABELV $667 line 1488 ;1487: } ;1488: return 0; CNSTI4 0 RETI4 LABELV $663 endproc Item_Slider_OverSlider 24 12 export Item_ListBox_OverLB proc Item_ListBox_OverLB 72 12 line 1491 ;1489:} ;1490: ;1491:int Item_ListBox_OverLB(itemDef_t *item, float x, float y) { line 1497 ;1492: rectDef_t r; ;1493: listBoxDef_t *listPtr; ;1494: int thumbstart; ;1495: int count; ;1496: ;1497: count = DC->feederCount(item->special); ADDRFP4 0 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 28 ADDRGP4 DC INDIRP4 CNSTI4 120 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 24 ADDRLP4 28 INDIRI4 ASGNI4 line 1498 ;1498: listPtr = (listBoxDef_t*)item->typeData; ADDRLP4 20 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 1499 ;1499: if (item->window.flags & WINDOW_HORIZONTAL) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 1024 BANDI4 CNSTI4 0 EQI4 $670 line 1501 ;1500: // check if on left arrow ;1501: r.x = item->window.rect.x; ADDRLP4 0 ADDRFP4 0 INDIRP4 INDIRF4 ASGNF4 line 1502 ;1502: r.y = item->window.rect.y + item->window.rect.h - SCROLLBAR_SIZE; ADDRLP4 32 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0+4 ADDRLP4 32 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ADDRLP4 32 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ADDF4 CNSTF4 1098907648 SUBF4 ASGNF4 line 1503 ;1503: r.h = r.w = SCROLLBAR_SIZE; ADDRLP4 36 CNSTF4 1098907648 ASGNF4 ADDRLP4 0+8 ADDRLP4 36 INDIRF4 ASGNF4 ADDRLP4 0+12 ADDRLP4 36 INDIRF4 ASGNF4 line 1504 ;1504: if (Rect_ContainsPoint(&r, x, y)) { ADDRLP4 0 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 40 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 40 INDIRI4 CNSTI4 0 EQI4 $675 line 1505 ;1505: return WINDOW_LB_LEFTARROW; CNSTI4 2048 RETI4 ADDRGP4 $669 JUMPV LABELV $675 line 1508 ;1506: } ;1507: // check if on right arrow ;1508: r.x = item->window.rect.x + item->window.rect.w - SCROLLBAR_SIZE; ADDRLP4 44 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0 ADDRLP4 44 INDIRP4 INDIRF4 ADDRLP4 44 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ADDF4 CNSTF4 1098907648 SUBF4 ASGNF4 line 1509 ;1509: if (Rect_ContainsPoint(&r, x, y)) { ADDRLP4 0 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 48 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 48 INDIRI4 CNSTI4 0 EQI4 $677 line 1510 ;1510: return WINDOW_LB_RIGHTARROW; CNSTI4 4096 RETI4 ADDRGP4 $669 JUMPV LABELV $677 line 1513 ;1511: } ;1512: // check if on thumb ;1513: thumbstart = Item_ListBox_ThumbPosition(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 52 ADDRGP4 Item_ListBox_ThumbPosition CALLI4 ASGNI4 ADDRLP4 16 ADDRLP4 52 INDIRI4 ASGNI4 line 1514 ;1514: r.x = thumbstart; ADDRLP4 0 ADDRLP4 16 INDIRI4 CVIF4 4 ASGNF4 line 1515 ;1515: if (Rect_ContainsPoint(&r, x, y)) { ADDRLP4 0 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 56 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 56 INDIRI4 CNSTI4 0 EQI4 $679 line 1516 ;1516: return WINDOW_LB_THUMB; CNSTI4 8192 RETI4 ADDRGP4 $669 JUMPV LABELV $679 line 1518 ;1517: } ;1518: r.x = item->window.rect.x + SCROLLBAR_SIZE; ADDRLP4 0 ADDRFP4 0 INDIRP4 INDIRF4 CNSTF4 1098907648 ADDF4 ASGNF4 line 1519 ;1519: r.w = thumbstart - r.x; ADDRLP4 0+8 ADDRLP4 16 INDIRI4 CVIF4 4 ADDRLP4 0 INDIRF4 SUBF4 ASGNF4 line 1520 ;1520: if (Rect_ContainsPoint(&r, x, y)) { ADDRLP4 0 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 60 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 60 INDIRI4 CNSTI4 0 EQI4 $682 line 1521 ;1521: return WINDOW_LB_PGUP; CNSTI4 16384 RETI4 ADDRGP4 $669 JUMPV LABELV $682 line 1523 ;1522: } ;1523: r.x = thumbstart + SCROLLBAR_SIZE; ADDRLP4 0 ADDRLP4 16 INDIRI4 CVIF4 4 CNSTF4 1098907648 ADDF4 ASGNF4 line 1524 ;1524: r.w = item->window.rect.x + item->window.rect.w - SCROLLBAR_SIZE; ADDRLP4 64 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0+8 ADDRLP4 64 INDIRP4 INDIRF4 ADDRLP4 64 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ADDF4 CNSTF4 1098907648 SUBF4 ASGNF4 line 1525 ;1525: if (Rect_ContainsPoint(&r, x, y)) { ADDRLP4 0 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 68 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 68 INDIRI4 CNSTI4 0 EQI4 $671 line 1526 ;1526: return WINDOW_LB_PGDN; CNSTI4 32768 RETI4 ADDRGP4 $669 JUMPV line 1528 ;1527: } ;1528: } else { LABELV $670 line 1529 ;1529: r.x = item->window.rect.x + item->window.rect.w - SCROLLBAR_SIZE; ADDRLP4 32 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0 ADDRLP4 32 INDIRP4 INDIRF4 ADDRLP4 32 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ADDF4 CNSTF4 1098907648 SUBF4 ASGNF4 line 1530 ;1530: r.y = item->window.rect.y; ADDRLP4 0+4 ADDRFP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ASGNF4 line 1531 ;1531: r.h = r.w = SCROLLBAR_SIZE; ADDRLP4 36 CNSTF4 1098907648 ASGNF4 ADDRLP4 0+8 ADDRLP4 36 INDIRF4 ASGNF4 ADDRLP4 0+12 ADDRLP4 36 INDIRF4 ASGNF4 line 1532 ;1532: if (Rect_ContainsPoint(&r, x, y)) { ADDRLP4 0 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 40 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 40 INDIRI4 CNSTI4 0 EQI4 $690 line 1533 ;1533: return WINDOW_LB_LEFTARROW; CNSTI4 2048 RETI4 ADDRGP4 $669 JUMPV LABELV $690 line 1535 ;1534: } ;1535: r.y = item->window.rect.y + item->window.rect.h - SCROLLBAR_SIZE; ADDRLP4 44 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0+4 ADDRLP4 44 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ADDRLP4 44 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ADDF4 CNSTF4 1098907648 SUBF4 ASGNF4 line 1536 ;1536: if (Rect_ContainsPoint(&r, x, y)) { ADDRLP4 0 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 48 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 48 INDIRI4 CNSTI4 0 EQI4 $693 line 1537 ;1537: return WINDOW_LB_RIGHTARROW; CNSTI4 4096 RETI4 ADDRGP4 $669 JUMPV LABELV $693 line 1539 ;1538: } ;1539: thumbstart = Item_ListBox_ThumbPosition(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 52 ADDRGP4 Item_ListBox_ThumbPosition CALLI4 ASGNI4 ADDRLP4 16 ADDRLP4 52 INDIRI4 ASGNI4 line 1540 ;1540: r.y = thumbstart; ADDRLP4 0+4 ADDRLP4 16 INDIRI4 CVIF4 4 ASGNF4 line 1541 ;1541: if (Rect_ContainsPoint(&r, x, y)) { ADDRLP4 0 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 56 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 56 INDIRI4 CNSTI4 0 EQI4 $696 line 1542 ;1542: return WINDOW_LB_THUMB; CNSTI4 8192 RETI4 ADDRGP4 $669 JUMPV LABELV $696 line 1544 ;1543: } ;1544: r.y = item->window.rect.y + SCROLLBAR_SIZE; ADDRLP4 0+4 ADDRFP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 CNSTF4 1098907648 ADDF4 ASGNF4 line 1545 ;1545: r.h = thumbstart - r.y; ADDRLP4 0+12 ADDRLP4 16 INDIRI4 CVIF4 4 ADDRLP4 0+4 INDIRF4 SUBF4 ASGNF4 line 1546 ;1546: if (Rect_ContainsPoint(&r, x, y)) { ADDRLP4 0 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 60 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 60 INDIRI4 CNSTI4 0 EQI4 $701 line 1547 ;1547: return WINDOW_LB_PGUP; CNSTI4 16384 RETI4 ADDRGP4 $669 JUMPV LABELV $701 line 1549 ;1548: } ;1549: r.y = thumbstart + SCROLLBAR_SIZE; ADDRLP4 0+4 ADDRLP4 16 INDIRI4 CVIF4 4 CNSTF4 1098907648 ADDF4 ASGNF4 line 1550 ;1550: r.h = item->window.rect.y + item->window.rect.h - SCROLLBAR_SIZE; ADDRLP4 64 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0+12 ADDRLP4 64 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ADDRLP4 64 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ADDF4 CNSTF4 1098907648 SUBF4 ASGNF4 line 1551 ;1551: if (Rect_ContainsPoint(&r, x, y)) { ADDRLP4 0 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 68 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 68 INDIRI4 CNSTI4 0 EQI4 $705 line 1552 ;1552: return WINDOW_LB_PGDN; CNSTI4 32768 RETI4 ADDRGP4 $669 JUMPV LABELV $705 line 1554 ;1553: } ;1554: } LABELV $671 line 1555 ;1555: return 0; CNSTI4 0 RETI4 LABELV $669 endproc Item_ListBox_OverLB 72 12 export Item_ListBox_MouseEnter proc Item_ListBox_MouseEnter 56 12 line 1560 ;1556:} ;1557: ;1558: ;1559:void Item_ListBox_MouseEnter(itemDef_t *item, float x, float y) ;1560:{ line 1562 ;1561: rectDef_t r; ;1562: listBoxDef_t *listPtr = (listBoxDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 1564 ;1563: ;1564: item->window.flags &= ~(WINDOW_LB_LEFTARROW | WINDOW_LB_RIGHTARROW | WINDOW_LB_THUMB | WINDOW_LB_PGUP | WINDOW_LB_PGDN); ADDRLP4 20 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 20 INDIRP4 ADDRLP4 20 INDIRP4 INDIRI4 CNSTI4 -63489 BANDI4 ASGNI4 line 1565 ;1565: item->window.flags |= Item_ListBox_OverLB(item, x, y); ADDRLP4 24 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 24 INDIRP4 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 28 ADDRGP4 Item_ListBox_OverLB CALLI4 ASGNI4 ADDRLP4 32 ADDRLP4 24 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 32 INDIRP4 ADDRLP4 32 INDIRP4 INDIRI4 ADDRLP4 28 INDIRI4 BORI4 ASGNI4 line 1567 ;1566: ;1567: if (item->window.flags & WINDOW_HORIZONTAL) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 1024 BANDI4 CNSTI4 0 EQI4 $708 line 1568 ;1568: if (!(item->window.flags & (WINDOW_LB_LEFTARROW | WINDOW_LB_RIGHTARROW | WINDOW_LB_THUMB | WINDOW_LB_PGUP | WINDOW_LB_PGDN))) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 63488 BANDI4 CNSTI4 0 NEI4 $709 line 1570 ;1569: // check for selection hit as we have exausted buttons and thumb ;1570: if (listPtr->elementStyle == LISTBOX_IMAGE) { ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRI4 CNSTI4 1 NEI4 $709 line 1571 ;1571: r.x = item->window.rect.x; ADDRLP4 4 ADDRFP4 0 INDIRP4 INDIRF4 ASGNF4 line 1572 ;1572: r.y = item->window.rect.y; ADDRLP4 4+4 ADDRFP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ASGNF4 line 1573 ;1573: r.h = item->window.rect.h - SCROLLBAR_SIZE; ADDRLP4 4+12 ADDRFP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 CNSTF4 1098907648 SUBF4 ASGNF4 line 1574 ;1574: r.w = item->window.rect.w - listPtr->drawPadding; ADDRLP4 36 CNSTI4 8 ASGNI4 ADDRLP4 4+8 ADDRFP4 0 INDIRP4 ADDRLP4 36 INDIRI4 ADDP4 INDIRF4 ADDRLP4 0 INDIRP4 ADDRLP4 36 INDIRI4 ADDP4 INDIRI4 CVIF4 4 SUBF4 ASGNF4 line 1575 ;1575: if (Rect_ContainsPoint(&r, x, y)) { ADDRLP4 4 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 40 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 40 INDIRI4 CNSTI4 0 EQI4 $709 line 1576 ;1576: listPtr->cursorPos = (int)((x - r.x) / listPtr->elementWidth) + listPtr->startPos; ADDRLP4 44 ADDRLP4 0 INDIRP4 ASGNP4 ADDRLP4 44 INDIRP4 CNSTI4 12 ADDP4 ADDRFP4 4 INDIRF4 ADDRLP4 4 INDIRF4 SUBF4 ADDRLP4 44 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 DIVF4 CVFI4 4 ADDRLP4 44 INDIRP4 INDIRI4 ADDI4 ASGNI4 line 1577 ;1577: if (listPtr->cursorPos >= listPtr->endPos) { ADDRLP4 48 ADDRLP4 0 INDIRP4 ASGNP4 ADDRLP4 48 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 48 INDIRP4 CNSTI4 4 ADDP4 INDIRI4 LTI4 $709 line 1578 ;1578: listPtr->cursorPos = listPtr->endPos; ADDRLP4 52 ADDRLP4 0 INDIRP4 ASGNP4 ADDRLP4 52 INDIRP4 CNSTI4 12 ADDP4 ADDRLP4 52 INDIRP4 CNSTI4 4 ADDP4 INDIRI4 ASGNI4 line 1579 ;1579: } line 1580 ;1580: } line 1581 ;1581: } else { line 1583 ;1582: // text hit.. ;1583: } line 1584 ;1584: } line 1585 ;1585: } else if (!(item->window.flags & (WINDOW_LB_LEFTARROW | WINDOW_LB_RIGHTARROW | WINDOW_LB_THUMB | WINDOW_LB_PGUP | WINDOW_LB_PGDN))) { ADDRGP4 $709 JUMPV LABELV $708 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 63488 BANDI4 CNSTI4 0 NEI4 $721 line 1586 ;1586: r.x = item->window.rect.x; ADDRLP4 4 ADDRFP4 0 INDIRP4 INDIRF4 ASGNF4 line 1587 ;1587: r.y = item->window.rect.y; ADDRLP4 4+4 ADDRFP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ASGNF4 line 1588 ;1588: r.w = item->window.rect.w - SCROLLBAR_SIZE; ADDRLP4 4+8 ADDRFP4 0 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 CNSTF4 1098907648 SUBF4 ASGNF4 line 1589 ;1589: r.h = item->window.rect.h - listPtr->drawPadding; ADDRLP4 4+12 ADDRFP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ADDRLP4 0 INDIRP4 CNSTI4 8 ADDP4 INDIRI4 CVIF4 4 SUBF4 ASGNF4 line 1590 ;1590: if (Rect_ContainsPoint(&r, x, y)) { ADDRLP4 4 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 36 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 36 INDIRI4 CNSTI4 0 EQI4 $726 line 1591 ;1591: listPtr->cursorPos = (int)((y - 2 - r.y) / listPtr->elementHeight) + listPtr->startPos; ADDRLP4 40 ADDRLP4 0 INDIRP4 ASGNP4 ADDRLP4 40 INDIRP4 CNSTI4 12 ADDP4 ADDRFP4 8 INDIRF4 CNSTF4 1073741824 SUBF4 ADDRLP4 4+4 INDIRF4 SUBF4 ADDRLP4 40 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 DIVF4 CVFI4 4 ADDRLP4 40 INDIRP4 INDIRI4 ADDI4 ASGNI4 line 1592 ;1592: if (listPtr->cursorPos > listPtr->endPos) { ADDRLP4 44 ADDRLP4 0 INDIRP4 ASGNP4 ADDRLP4 44 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 44 INDIRP4 CNSTI4 4 ADDP4 INDIRI4 LEI4 $729 line 1593 ;1593: listPtr->cursorPos = listPtr->endPos; ADDRLP4 48 ADDRLP4 0 INDIRP4 ASGNP4 ADDRLP4 48 INDIRP4 CNSTI4 12 ADDP4 ADDRLP4 48 INDIRP4 CNSTI4 4 ADDP4 INDIRI4 ASGNI4 line 1594 ;1594: } LABELV $729 line 1595 ;1595: } LABELV $726 line 1596 ;1596: } LABELV $721 LABELV $709 line 1597 ;1597:} LABELV $707 endproc Item_ListBox_MouseEnter 56 12 export Item_MouseEnter proc Item_MouseEnter 44 12 line 1599 ;1598: ;1599:void Item_MouseEnter(itemDef_t *item, float x, float y) { line 1601 ;1600: rectDef_t r; ;1601: if (item) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $732 line 1602 ;1602: r = item->textRect; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 180 ADDP4 INDIRB ASGNB 16 line 1603 ;1603: r.y -= r.h; ADDRLP4 0+4 ADDRLP4 0+4 INDIRF4 ADDRLP4 0+12 INDIRF4 SUBF4 ASGNF4 line 1607 ;1604: // in the text rect? ;1605: ;1606: // items can be enabled and disabled based on cvars ;1607: if (item->cvarFlags & (CVAR_ENABLE | CVAR_DISABLE) && !Item_EnableShowViaCvar(item, CVAR_ENABLE)) { ADDRLP4 16 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 16 INDIRP4 CNSTI4 276 ADDP4 INDIRI4 CNSTI4 3 BANDI4 CNSTI4 0 EQI4 $736 ADDRLP4 16 INDIRP4 ARGP4 CNSTI4 1 ARGI4 ADDRLP4 20 ADDRGP4 Item_EnableShowViaCvar CALLI4 ASGNI4 ADDRLP4 20 INDIRI4 CNSTI4 0 NEI4 $736 line 1608 ;1608: return; ADDRGP4 $731 JUMPV LABELV $736 line 1611 ;1609: } ;1610: ;1611: if (item->cvarFlags & (CVAR_SHOW | CVAR_HIDE) && !Item_EnableShowViaCvar(item, CVAR_SHOW)) { ADDRLP4 24 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 24 INDIRP4 CNSTI4 276 ADDP4 INDIRI4 CNSTI4 12 BANDI4 CNSTI4 0 EQI4 $738 ADDRLP4 24 INDIRP4 ARGP4 CNSTI4 4 ARGI4 ADDRLP4 28 ADDRGP4 Item_EnableShowViaCvar CALLI4 ASGNI4 ADDRLP4 28 INDIRI4 CNSTI4 0 NEI4 $738 line 1612 ;1612: return; ADDRGP4 $731 JUMPV LABELV $738 line 1615 ;1613: } ;1614: ;1615: if (Rect_ContainsPoint(&r, x, y)) { ADDRLP4 0 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 32 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 32 INDIRI4 CNSTI4 0 EQI4 $740 line 1616 ;1616: if (!(item->window.flags & WINDOW_MOUSEOVERTEXT)) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 128 BANDI4 CNSTI4 0 NEI4 $742 line 1617 ;1617: Item_RunScript(item, item->mouseEnterText); ADDRLP4 36 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 36 INDIRP4 ARGP4 ADDRLP4 36 INDIRP4 CNSTI4 236 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_RunScript CALLV pop line 1618 ;1618: item->window.flags |= WINDOW_MOUSEOVERTEXT; ADDRLP4 40 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 40 INDIRP4 ADDRLP4 40 INDIRP4 INDIRI4 CNSTI4 128 BORI4 ASGNI4 line 1619 ;1619: } LABELV $742 line 1620 ;1620: if (!(item->window.flags & WINDOW_MOUSEOVER)) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 1 BANDI4 CNSTI4 0 NEI4 $741 line 1621 ;1621: Item_RunScript(item, item->mouseEnter); ADDRLP4 36 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 36 INDIRP4 ARGP4 ADDRLP4 36 INDIRP4 CNSTI4 244 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_RunScript CALLV pop line 1622 ;1622: item->window.flags |= WINDOW_MOUSEOVER; ADDRLP4 40 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 40 INDIRP4 ADDRLP4 40 INDIRP4 INDIRI4 CNSTI4 1 BORI4 ASGNI4 line 1623 ;1623: } line 1625 ;1624: ;1625: } else { ADDRGP4 $741 JUMPV LABELV $740 line 1627 ;1626: // not in the text rect ;1627: if (item->window.flags & WINDOW_MOUSEOVERTEXT) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 128 BANDI4 CNSTI4 0 EQI4 $746 line 1629 ;1628: // if we were ;1629: Item_RunScript(item, item->mouseExitText); ADDRLP4 36 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 36 INDIRP4 ARGP4 ADDRLP4 36 INDIRP4 CNSTI4 240 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_RunScript CALLV pop line 1630 ;1630: item->window.flags &= ~WINDOW_MOUSEOVERTEXT; ADDRLP4 40 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 40 INDIRP4 ADDRLP4 40 INDIRP4 INDIRI4 CNSTI4 -129 BANDI4 ASGNI4 line 1631 ;1631: } LABELV $746 line 1632 ;1632: if (!(item->window.flags & WINDOW_MOUSEOVER)) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 1 BANDI4 CNSTI4 0 NEI4 $748 line 1633 ;1633: Item_RunScript(item, item->mouseEnter); ADDRLP4 36 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 36 INDIRP4 ARGP4 ADDRLP4 36 INDIRP4 CNSTI4 244 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_RunScript CALLV pop line 1634 ;1634: item->window.flags |= WINDOW_MOUSEOVER; ADDRLP4 40 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 40 INDIRP4 ADDRLP4 40 INDIRP4 INDIRI4 CNSTI4 1 BORI4 ASGNI4 line 1635 ;1635: } LABELV $748 line 1637 ;1636: ;1637: if (item->type == ITEM_TYPE_LISTBOX) { ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 6 NEI4 $750 line 1638 ;1638: Item_ListBox_MouseEnter(item, x, y); ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRGP4 Item_ListBox_MouseEnter CALLV pop line 1639 ;1639: } LABELV $750 line 1640 ;1640: } LABELV $741 line 1641 ;1641: } LABELV $732 line 1642 ;1642:} LABELV $731 endproc Item_MouseEnter 44 12 export Item_MouseLeave proc Item_MouseLeave 8 8 line 1644 ;1643: ;1644:void Item_MouseLeave(itemDef_t *item) { line 1645 ;1645: if (item) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $753 line 1646 ;1646: if (item->window.flags & WINDOW_MOUSEOVERTEXT) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 128 BANDI4 CNSTI4 0 EQI4 $755 line 1647 ;1647: Item_RunScript(item, item->mouseExitText); ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 0 INDIRP4 CNSTI4 240 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_RunScript CALLV pop line 1648 ;1648: item->window.flags &= ~WINDOW_MOUSEOVERTEXT; ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 4 INDIRP4 ADDRLP4 4 INDIRP4 INDIRI4 CNSTI4 -129 BANDI4 ASGNI4 line 1649 ;1649: } LABELV $755 line 1650 ;1650: Item_RunScript(item, item->mouseExit); ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 0 INDIRP4 CNSTI4 248 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_RunScript CALLV pop line 1651 ;1651: item->window.flags &= ~(WINDOW_LB_RIGHTARROW | WINDOW_LB_LEFTARROW); ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 4 INDIRP4 ADDRLP4 4 INDIRP4 INDIRI4 CNSTI4 -6145 BANDI4 ASGNI4 line 1652 ;1652: } LABELV $753 line 1653 ;1653:} LABELV $752 endproc Item_MouseLeave 8 8 export Menu_HitTest proc Menu_HitTest 8 12 line 1655 ;1654: ;1655:itemDef_t *Menu_HitTest(menuDef_t *menu, float x, float y) { line 1657 ;1656: int i; ;1657: for (i = 0; i < menu->itemCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $761 JUMPV LABELV $758 line 1658 ;1658: if (Rect_ContainsPoint(&menu->items[i]->window.rect, x, y)) { ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 4 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $762 line 1659 ;1659: return menu->items[i]; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 RETP4 ADDRGP4 $757 JUMPV LABELV $762 line 1661 ;1660: } ;1661: } LABELV $759 line 1657 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $761 ADDRLP4 0 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $758 line 1662 ;1662: return NULL; CNSTP4 0 RETP4 LABELV $757 endproc Menu_HitTest 8 12 export Item_SetMouseOver proc Item_SetMouseOver 4 0 line 1665 ;1663:} ;1664: ;1665:void Item_SetMouseOver(itemDef_t *item, qboolean focus) { line 1666 ;1666: if (item) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $765 line 1667 ;1667: if (focus) { ADDRFP4 4 INDIRI4 CNSTI4 0 EQI4 $767 line 1668 ;1668: item->window.flags |= WINDOW_MOUSEOVER; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 1 BORI4 ASGNI4 line 1669 ;1669: } else { ADDRGP4 $768 JUMPV LABELV $767 line 1670 ;1670: item->window.flags &= ~WINDOW_MOUSEOVER; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 -2 BANDI4 ASGNI4 line 1671 ;1671: } LABELV $768 line 1672 ;1672: } LABELV $765 line 1673 ;1673:} LABELV $764 endproc Item_SetMouseOver 4 0 export Item_OwnerDraw_HandleKey proc Item_OwnerDraw_HandleKey 12 16 line 1676 ;1674: ;1675: ;1676:qboolean Item_OwnerDraw_HandleKey(itemDef_t *item, int key) { line 1677 ;1677: if (item && DC->ownerDrawHandleKey) { ADDRLP4 0 CNSTU4 0 ASGNU4 ADDRFP4 0 INDIRP4 CVPU4 4 ADDRLP4 0 INDIRU4 EQU4 $770 ADDRGP4 DC INDIRP4 CNSTI4 116 ADDP4 INDIRP4 CVPU4 4 ADDRLP4 0 INDIRU4 EQU4 $770 line 1678 ;1678: return DC->ownerDrawHandleKey(item->window.ownerDraw, item->window.ownerDrawFlags, &item->special, key); ADDRLP4 4 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 4 INDIRP4 CNSTI4 56 ADDP4 INDIRI4 ARGI4 ADDRLP4 4 INDIRP4 CNSTI4 60 ADDP4 INDIRI4 ARGI4 ADDRLP4 4 INDIRP4 CNSTI4 528 ADDP4 ARGP4 ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 8 ADDRGP4 DC INDIRP4 CNSTI4 116 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 RETI4 ADDRGP4 $769 JUMPV LABELV $770 line 1680 ;1679: } ;1680: return qfalse; CNSTI4 0 RETI4 LABELV $769 endproc Item_OwnerDraw_HandleKey 12 16 export Item_ListBox_HandleKey proc Item_ListBox_HandleKey 72 12 line 1683 ;1681:} ;1682: ;1683:qboolean Item_ListBox_HandleKey(itemDef_t *item, int key, qboolean down, qboolean force) { line 1684 ;1684: listBoxDef_t *listPtr = (listBoxDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 1685 ;1685: int count = DC->feederCount(item->special); ADDRFP4 0 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 16 ADDRGP4 DC INDIRP4 CNSTI4 120 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 8 ADDRLP4 16 INDIRI4 ASGNI4 line 1688 ;1686: int max, viewmax; ;1687: ;1688: if (force || (Rect_ContainsPoint(&item->window.rect, DC->cursorx, DC->cursory) && item->window.flags & WINDOW_HASFOCUS)) { ADDRFP4 12 INDIRI4 CNSTI4 0 NEI4 $775 ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 20 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 20 INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 20 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 24 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 28 CNSTI4 0 ASGNI4 ADDRLP4 24 INDIRI4 ADDRLP4 28 INDIRI4 EQI4 $773 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 2 BANDI4 ADDRLP4 28 INDIRI4 EQI4 $773 LABELV $775 line 1689 ;1689: max = Item_ListBox_MaxScroll(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 32 ADDRGP4 Item_ListBox_MaxScroll CALLI4 ASGNI4 ADDRLP4 12 ADDRLP4 32 INDIRI4 ASGNI4 line 1690 ;1690: if (item->window.flags & WINDOW_HORIZONTAL) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 1024 BANDI4 CNSTI4 0 EQI4 $776 line 1691 ;1691: viewmax = (item->window.rect.w / listPtr->elementWidth); ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 DIVF4 CVFI4 4 ASGNI4 line 1692 ;1692: if ( key == K_LEFTARROW || key == K_KP_LEFTARROW ) ADDRLP4 36 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 36 INDIRI4 CNSTI4 134 EQI4 $780 ADDRLP4 36 INDIRI4 CNSTI4 163 NEI4 $778 LABELV $780 line 1693 ;1693: { line 1694 ;1694: if (!listPtr->notselectable) { ADDRLP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRI4 CNSTI4 0 NEI4 $781 line 1695 ;1695: listPtr->cursorPos--; ADDRLP4 40 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 ASGNP4 ADDRLP4 40 INDIRP4 ADDRLP4 40 INDIRP4 INDIRI4 CNSTI4 1 SUBI4 ASGNI4 line 1696 ;1696: if (listPtr->cursorPos < 0) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 CNSTI4 0 GEI4 $783 line 1697 ;1697: listPtr->cursorPos = 0; ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 CNSTI4 0 ASGNI4 line 1698 ;1698: } LABELV $783 line 1699 ;1699: if (listPtr->cursorPos < listPtr->startPos) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 INDIRI4 GEI4 $785 line 1700 ;1700: listPtr->startPos = listPtr->cursorPos; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ASGNI4 line 1701 ;1701: } LABELV $785 line 1702 ;1702: if (listPtr->cursorPos >= listPtr->startPos + viewmax) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 INDIRI4 ADDRLP4 4 INDIRI4 ADDI4 LTI4 $787 line 1703 ;1703: listPtr->startPos = listPtr->cursorPos - viewmax + 1; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 4 INDIRI4 SUBI4 CNSTI4 1 ADDI4 ASGNI4 line 1704 ;1704: } LABELV $787 line 1705 ;1705: item->cursorPos = listPtr->cursorPos; ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ASGNI4 line 1706 ;1706: DC->feederSelection(item->special, item->cursorPos); ADDRLP4 52 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 52 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 52 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 132 ADDP4 INDIRP4 CALLV pop line 1707 ;1707: } ADDRGP4 $782 JUMPV LABELV $781 line 1708 ;1708: else { line 1709 ;1709: listPtr->startPos--; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 1 SUBI4 ASGNI4 line 1710 ;1710: if (listPtr->startPos < 0) ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 0 GEI4 $789 line 1711 ;1711: listPtr->startPos = 0; ADDRLP4 0 INDIRP4 CNSTI4 0 ASGNI4 LABELV $789 line 1712 ;1712: } LABELV $782 line 1713 ;1713: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $772 JUMPV LABELV $778 line 1715 ;1714: } ;1715: if ( key == K_RIGHTARROW || key == K_KP_RIGHTARROW ) ADDRLP4 40 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 40 INDIRI4 CNSTI4 135 EQI4 $793 ADDRLP4 40 INDIRI4 CNSTI4 165 NEI4 $777 LABELV $793 line 1716 ;1716: { line 1717 ;1717: if (!listPtr->notselectable) { ADDRLP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRI4 CNSTI4 0 NEI4 $794 line 1718 ;1718: listPtr->cursorPos++; ADDRLP4 44 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 ASGNP4 ADDRLP4 44 INDIRP4 ADDRLP4 44 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 1719 ;1719: if (listPtr->cursorPos < listPtr->startPos) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 INDIRI4 GEI4 $796 line 1720 ;1720: listPtr->startPos = listPtr->cursorPos; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ASGNI4 line 1721 ;1721: } LABELV $796 line 1722 ;1722: if (listPtr->cursorPos >= count) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 8 INDIRI4 LTI4 $798 line 1723 ;1723: listPtr->cursorPos = count-1; ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 ADDRLP4 8 INDIRI4 CNSTI4 1 SUBI4 ASGNI4 line 1724 ;1724: } LABELV $798 line 1725 ;1725: if (listPtr->cursorPos >= listPtr->startPos + viewmax) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 INDIRI4 ADDRLP4 4 INDIRI4 ADDI4 LTI4 $800 line 1726 ;1726: listPtr->startPos = listPtr->cursorPos - viewmax + 1; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 4 INDIRI4 SUBI4 CNSTI4 1 ADDI4 ASGNI4 line 1727 ;1727: } LABELV $800 line 1728 ;1728: item->cursorPos = listPtr->cursorPos; ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ASGNI4 line 1729 ;1729: DC->feederSelection(item->special, item->cursorPos); ADDRLP4 56 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 56 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 56 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 132 ADDP4 INDIRP4 CALLV pop line 1730 ;1730: } ADDRGP4 $795 JUMPV LABELV $794 line 1731 ;1731: else { line 1732 ;1732: listPtr->startPos++; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 1733 ;1733: if (listPtr->startPos >= count) ADDRLP4 0 INDIRP4 INDIRI4 ADDRLP4 8 INDIRI4 LTI4 $802 line 1734 ;1734: listPtr->startPos = count-1; ADDRLP4 0 INDIRP4 ADDRLP4 8 INDIRI4 CNSTI4 1 SUBI4 ASGNI4 LABELV $802 line 1735 ;1735: } LABELV $795 line 1736 ;1736: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $772 JUMPV line 1738 ;1737: } ;1738: } LABELV $776 line 1739 ;1739: else { line 1740 ;1740: viewmax = (item->window.rect.h / listPtr->elementHeight); ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 DIVF4 CVFI4 4 ASGNI4 line 1741 ;1741: if ( key == K_UPARROW || key == K_KP_UPARROW ) ADDRLP4 36 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 36 INDIRI4 CNSTI4 132 EQI4 $806 ADDRLP4 36 INDIRI4 CNSTI4 161 NEI4 $804 LABELV $806 line 1742 ;1742: { line 1743 ;1743: if (!listPtr->notselectable) { ADDRLP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRI4 CNSTI4 0 NEI4 $807 line 1744 ;1744: listPtr->cursorPos--; ADDRLP4 40 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 ASGNP4 ADDRLP4 40 INDIRP4 ADDRLP4 40 INDIRP4 INDIRI4 CNSTI4 1 SUBI4 ASGNI4 line 1745 ;1745: if (listPtr->cursorPos < 0) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 CNSTI4 0 GEI4 $809 line 1746 ;1746: listPtr->cursorPos = 0; ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 CNSTI4 0 ASGNI4 line 1747 ;1747: } LABELV $809 line 1748 ;1748: if (listPtr->cursorPos < listPtr->startPos) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 INDIRI4 GEI4 $811 line 1749 ;1749: listPtr->startPos = listPtr->cursorPos; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ASGNI4 line 1750 ;1750: } LABELV $811 line 1751 ;1751: if (listPtr->cursorPos >= listPtr->startPos + viewmax) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 INDIRI4 ADDRLP4 4 INDIRI4 ADDI4 LTI4 $813 line 1752 ;1752: listPtr->startPos = listPtr->cursorPos - viewmax + 1; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 4 INDIRI4 SUBI4 CNSTI4 1 ADDI4 ASGNI4 line 1753 ;1753: } LABELV $813 line 1754 ;1754: item->cursorPos = listPtr->cursorPos; ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ASGNI4 line 1755 ;1755: DC->feederSelection(item->special, item->cursorPos); ADDRLP4 52 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 52 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 52 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 132 ADDP4 INDIRP4 CALLV pop line 1756 ;1756: } ADDRGP4 $808 JUMPV LABELV $807 line 1757 ;1757: else { line 1758 ;1758: listPtr->startPos--; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 1 SUBI4 ASGNI4 line 1759 ;1759: if (listPtr->startPos < 0) ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 0 GEI4 $815 line 1760 ;1760: listPtr->startPos = 0; ADDRLP4 0 INDIRP4 CNSTI4 0 ASGNI4 LABELV $815 line 1761 ;1761: } LABELV $808 line 1762 ;1762: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $772 JUMPV LABELV $804 line 1764 ;1763: } ;1764: if ( key == K_DOWNARROW || key == K_KP_DOWNARROW ) ADDRLP4 40 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 40 INDIRI4 CNSTI4 133 EQI4 $819 ADDRLP4 40 INDIRI4 CNSTI4 167 NEI4 $817 LABELV $819 line 1765 ;1765: { line 1766 ;1766: if (!listPtr->notselectable) { ADDRLP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRI4 CNSTI4 0 NEI4 $820 line 1767 ;1767: listPtr->cursorPos++; ADDRLP4 44 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 ASGNP4 ADDRLP4 44 INDIRP4 ADDRLP4 44 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 1768 ;1768: if (listPtr->cursorPos < listPtr->startPos) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 INDIRI4 GEI4 $822 line 1769 ;1769: listPtr->startPos = listPtr->cursorPos; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ASGNI4 line 1770 ;1770: } LABELV $822 line 1771 ;1771: if (listPtr->cursorPos >= count) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 8 INDIRI4 LTI4 $824 line 1772 ;1772: listPtr->cursorPos = count-1; ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 ADDRLP4 8 INDIRI4 CNSTI4 1 SUBI4 ASGNI4 line 1773 ;1773: } LABELV $824 line 1774 ;1774: if (listPtr->cursorPos >= listPtr->startPos + viewmax) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 INDIRI4 ADDRLP4 4 INDIRI4 ADDI4 LTI4 $826 line 1775 ;1775: listPtr->startPos = listPtr->cursorPos - viewmax + 1; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 4 INDIRI4 SUBI4 CNSTI4 1 ADDI4 ASGNI4 line 1776 ;1776: } LABELV $826 line 1777 ;1777: item->cursorPos = listPtr->cursorPos; ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ASGNI4 line 1778 ;1778: DC->feederSelection(item->special, item->cursorPos); ADDRLP4 56 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 56 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 56 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 132 ADDP4 INDIRP4 CALLV pop line 1779 ;1779: } ADDRGP4 $821 JUMPV LABELV $820 line 1780 ;1780: else { line 1781 ;1781: listPtr->startPos++; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 1782 ;1782: if (listPtr->startPos > max) ADDRLP4 0 INDIRP4 INDIRI4 ADDRLP4 12 INDIRI4 LEI4 $828 line 1783 ;1783: listPtr->startPos = max; ADDRLP4 0 INDIRP4 ADDRLP4 12 INDIRI4 ASGNI4 LABELV $828 line 1784 ;1784: } LABELV $821 line 1785 ;1785: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $772 JUMPV LABELV $817 line 1787 ;1786: } ;1787: } LABELV $777 line 1789 ;1788: // mouse hit ;1789: if (key == K_MOUSE1 || key == K_MOUSE2) { ADDRLP4 36 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 36 INDIRI4 CNSTI4 178 EQI4 $832 ADDRLP4 36 INDIRI4 CNSTI4 179 NEI4 $830 LABELV $832 line 1790 ;1790: if (item->window.flags & WINDOW_LB_LEFTARROW) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 2048 BANDI4 CNSTI4 0 EQI4 $833 line 1791 ;1791: listPtr->startPos--; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 1 SUBI4 ASGNI4 line 1792 ;1792: if (listPtr->startPos < 0) { ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 0 GEI4 $834 line 1793 ;1793: listPtr->startPos = 0; ADDRLP4 0 INDIRP4 CNSTI4 0 ASGNI4 line 1794 ;1794: } line 1795 ;1795: } else if (item->window.flags & WINDOW_LB_RIGHTARROW) { ADDRGP4 $834 JUMPV LABELV $833 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 4096 BANDI4 CNSTI4 0 EQI4 $837 line 1797 ;1796: // one down ;1797: listPtr->startPos++; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 1798 ;1798: if (listPtr->startPos > max) { ADDRLP4 0 INDIRP4 INDIRI4 ADDRLP4 12 INDIRI4 LEI4 $838 line 1799 ;1799: listPtr->startPos = max; ADDRLP4 0 INDIRP4 ADDRLP4 12 INDIRI4 ASGNI4 line 1800 ;1800: } line 1801 ;1801: } else if (item->window.flags & WINDOW_LB_PGUP) { ADDRGP4 $838 JUMPV LABELV $837 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 16384 BANDI4 CNSTI4 0 EQI4 $841 line 1803 ;1802: // page up ;1803: listPtr->startPos -= viewmax; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRI4 ADDRLP4 4 INDIRI4 SUBI4 ASGNI4 line 1804 ;1804: if (listPtr->startPos < 0) { ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 0 GEI4 $842 line 1805 ;1805: listPtr->startPos = 0; ADDRLP4 0 INDIRP4 CNSTI4 0 ASGNI4 line 1806 ;1806: } line 1807 ;1807: } else if (item->window.flags & WINDOW_LB_PGDN) { ADDRGP4 $842 JUMPV LABELV $841 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 32768 BANDI4 CNSTI4 0 EQI4 $845 line 1809 ;1808: // page down ;1809: listPtr->startPos += viewmax; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRI4 ADDRLP4 4 INDIRI4 ADDI4 ASGNI4 line 1810 ;1810: if (listPtr->startPos > max) { ADDRLP4 0 INDIRP4 INDIRI4 ADDRLP4 12 INDIRI4 LEI4 $846 line 1811 ;1811: listPtr->startPos = max; ADDRLP4 0 INDIRP4 ADDRLP4 12 INDIRI4 ASGNI4 line 1812 ;1812: } line 1813 ;1813: } else if (item->window.flags & WINDOW_LB_THUMB) { ADDRGP4 $846 JUMPV LABELV $845 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 8192 BANDI4 CNSTI4 0 EQI4 $849 line 1815 ;1814: // Display_SetCaptureItem(item); ;1815: } else { ADDRGP4 $850 JUMPV LABELV $849 line 1817 ;1816: // select an item ;1817: if (DC->realTime < lastListBoxClickTime && listPtr->doubleClick) { ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 ADDRGP4 lastListBoxClickTime INDIRI4 GEI4 $851 ADDRLP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $851 line 1818 ;1818: Item_RunScript(item, listPtr->doubleClick); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_RunScript CALLV pop line 1819 ;1819: } LABELV $851 line 1820 ;1820: lastListBoxClickTime = DC->realTime + DOUBLE_CLICK_DELAY; ADDRGP4 lastListBoxClickTime ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 CNSTI4 300 ADDI4 ASGNI4 line 1821 ;1821: if (item->cursorPos != listPtr->cursorPos) { ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 EQI4 $853 line 1822 ;1822: item->cursorPos = listPtr->cursorPos; ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ASGNI4 line 1823 ;1823: DC->feederSelection(item->special, item->cursorPos); ADDRLP4 40 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 40 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 132 ADDP4 INDIRP4 CALLV pop line 1824 ;1824: } LABELV $853 line 1825 ;1825: } LABELV $850 LABELV $846 LABELV $842 LABELV $838 LABELV $834 line 1826 ;1826: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $772 JUMPV LABELV $830 line 1828 ;1827: } ;1828: if ( key == K_HOME || key == K_KP_HOME) { ADDRLP4 40 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 40 INDIRI4 CNSTI4 143 EQI4 $857 ADDRLP4 40 INDIRI4 CNSTI4 160 NEI4 $855 LABELV $857 line 1830 ;1829: // home ;1830: listPtr->startPos = 0; ADDRLP4 0 INDIRP4 CNSTI4 0 ASGNI4 line 1831 ;1831: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $772 JUMPV LABELV $855 line 1833 ;1832: } ;1833: if ( key == K_END || key == K_KP_END) { ADDRLP4 44 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 44 INDIRI4 CNSTI4 144 EQI4 $860 ADDRLP4 44 INDIRI4 CNSTI4 166 NEI4 $858 LABELV $860 line 1835 ;1834: // end ;1835: listPtr->startPos = max; ADDRLP4 0 INDIRP4 ADDRLP4 12 INDIRI4 ASGNI4 line 1836 ;1836: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $772 JUMPV LABELV $858 line 1838 ;1837: } ;1838: if (key == K_PGUP || key == K_KP_PGUP ) { ADDRLP4 48 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 48 INDIRI4 CNSTI4 142 EQI4 $863 ADDRLP4 48 INDIRI4 CNSTI4 162 NEI4 $861 LABELV $863 line 1840 ;1839: // page up ;1840: if (!listPtr->notselectable) { ADDRLP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRI4 CNSTI4 0 NEI4 $864 line 1841 ;1841: listPtr->cursorPos -= viewmax; ADDRLP4 52 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 ASGNP4 ADDRLP4 52 INDIRP4 ADDRLP4 52 INDIRP4 INDIRI4 ADDRLP4 4 INDIRI4 SUBI4 ASGNI4 line 1842 ;1842: if (listPtr->cursorPos < 0) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 CNSTI4 0 GEI4 $866 line 1843 ;1843: listPtr->cursorPos = 0; ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 CNSTI4 0 ASGNI4 line 1844 ;1844: } LABELV $866 line 1845 ;1845: if (listPtr->cursorPos < listPtr->startPos) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 INDIRI4 GEI4 $868 line 1846 ;1846: listPtr->startPos = listPtr->cursorPos; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ASGNI4 line 1847 ;1847: } LABELV $868 line 1848 ;1848: if (listPtr->cursorPos >= listPtr->startPos + viewmax) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 INDIRI4 ADDRLP4 4 INDIRI4 ADDI4 LTI4 $870 line 1849 ;1849: listPtr->startPos = listPtr->cursorPos - viewmax + 1; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 4 INDIRI4 SUBI4 CNSTI4 1 ADDI4 ASGNI4 line 1850 ;1850: } LABELV $870 line 1851 ;1851: item->cursorPos = listPtr->cursorPos; ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ASGNI4 line 1852 ;1852: DC->feederSelection(item->special, item->cursorPos); ADDRLP4 64 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 64 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 64 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 132 ADDP4 INDIRP4 CALLV pop line 1853 ;1853: } ADDRGP4 $865 JUMPV LABELV $864 line 1854 ;1854: else { line 1855 ;1855: listPtr->startPos -= viewmax; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRI4 ADDRLP4 4 INDIRI4 SUBI4 ASGNI4 line 1856 ;1856: if (listPtr->startPos < 0) { ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 0 GEI4 $872 line 1857 ;1857: listPtr->startPos = 0; ADDRLP4 0 INDIRP4 CNSTI4 0 ASGNI4 line 1858 ;1858: } LABELV $872 line 1859 ;1859: } LABELV $865 line 1860 ;1860: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $772 JUMPV LABELV $861 line 1862 ;1861: } ;1862: if ( key == K_PGDN || key == K_KP_PGDN ) { ADDRLP4 52 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 52 INDIRI4 CNSTI4 141 EQI4 $876 ADDRLP4 52 INDIRI4 CNSTI4 168 NEI4 $874 LABELV $876 line 1864 ;1863: // page down ;1864: if (!listPtr->notselectable) { ADDRLP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRI4 CNSTI4 0 NEI4 $877 line 1865 ;1865: listPtr->cursorPos += viewmax; ADDRLP4 56 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 ASGNP4 ADDRLP4 56 INDIRP4 ADDRLP4 56 INDIRP4 INDIRI4 ADDRLP4 4 INDIRI4 ADDI4 ASGNI4 line 1866 ;1866: if (listPtr->cursorPos < listPtr->startPos) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 INDIRI4 GEI4 $879 line 1867 ;1867: listPtr->startPos = listPtr->cursorPos; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ASGNI4 line 1868 ;1868: } LABELV $879 line 1869 ;1869: if (listPtr->cursorPos >= count) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 8 INDIRI4 LTI4 $881 line 1870 ;1870: listPtr->cursorPos = count-1; ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 ADDRLP4 8 INDIRI4 CNSTI4 1 SUBI4 ASGNI4 line 1871 ;1871: } LABELV $881 line 1872 ;1872: if (listPtr->cursorPos >= listPtr->startPos + viewmax) { ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 INDIRI4 ADDRLP4 4 INDIRI4 ADDI4 LTI4 $883 line 1873 ;1873: listPtr->startPos = listPtr->cursorPos - viewmax + 1; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ADDRLP4 4 INDIRI4 SUBI4 CNSTI4 1 ADDI4 ASGNI4 line 1874 ;1874: } LABELV $883 line 1875 ;1875: item->cursorPos = listPtr->cursorPos; ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ASGNI4 line 1876 ;1876: DC->feederSelection(item->special, item->cursorPos); ADDRLP4 68 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 68 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 68 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 132 ADDP4 INDIRP4 CALLV pop line 1877 ;1877: } ADDRGP4 $878 JUMPV LABELV $877 line 1878 ;1878: else { line 1879 ;1879: listPtr->startPos += viewmax; ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRI4 ADDRLP4 4 INDIRI4 ADDI4 ASGNI4 line 1880 ;1880: if (listPtr->startPos > max) { ADDRLP4 0 INDIRP4 INDIRI4 ADDRLP4 12 INDIRI4 LEI4 $885 line 1881 ;1881: listPtr->startPos = max; ADDRLP4 0 INDIRP4 ADDRLP4 12 INDIRI4 ASGNI4 line 1882 ;1882: } LABELV $885 line 1883 ;1883: } LABELV $878 line 1884 ;1884: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $772 JUMPV LABELV $874 line 1886 ;1885: } ;1886: } LABELV $773 line 1887 ;1887: return qfalse; CNSTI4 0 RETI4 LABELV $772 endproc Item_ListBox_HandleKey 72 12 export Item_YesNo_HandleKey proc Item_YesNo_HandleKey 32 12 line 1890 ;1888:} ;1889: ;1890:qboolean Item_YesNo_HandleKey(itemDef_t *item, int key) { line 1892 ;1891: ;1892: if (Rect_ContainsPoint(&item->window.rect, DC->cursorx, DC->cursory) && item->window.flags & WINDOW_HASFOCUS && item->cvar) { ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 0 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 0 INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 0 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 4 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 8 CNSTI4 0 ASGNI4 ADDRLP4 4 INDIRI4 ADDRLP4 8 INDIRI4 EQI4 $888 ADDRLP4 12 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 12 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 2 BANDI4 ADDRLP4 8 INDIRI4 EQI4 $888 ADDRLP4 12 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $888 line 1893 ;1893: if (key == K_MOUSE1 || key == K_ENTER || key == K_MOUSE2 || key == K_MOUSE3) { ADDRLP4 16 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 16 INDIRI4 CNSTI4 178 EQI4 $894 ADDRLP4 16 INDIRI4 CNSTI4 13 EQI4 $894 ADDRLP4 16 INDIRI4 CNSTI4 179 EQI4 $894 ADDRLP4 16 INDIRI4 CNSTI4 180 NEI4 $890 LABELV $894 line 1894 ;1894: DC->setCVar(item->cvar, va("%i", !DC->getCVarValue(item->cvar))); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 24 ADDRGP4 DC INDIRP4 CNSTI4 92 ADDP4 INDIRP4 CALLF4 ASGNF4 ADDRLP4 24 INDIRF4 CNSTF4 0 NEF4 $897 ADDRLP4 20 CNSTI4 1 ASGNI4 ADDRGP4 $898 JUMPV LABELV $897 ADDRLP4 20 CNSTI4 0 ASGNI4 LABELV $898 ADDRGP4 $895 ARGP4 ADDRLP4 20 INDIRI4 ARGI4 ADDRLP4 28 ADDRGP4 va CALLP4 ASGNP4 ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 28 INDIRP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 96 ADDP4 INDIRP4 CALLV pop line 1895 ;1895: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $887 JUMPV LABELV $890 line 1897 ;1896: } ;1897: } LABELV $888 line 1899 ;1898: ;1899: return qfalse; CNSTI4 0 RETI4 LABELV $887 endproc Item_YesNo_HandleKey 32 12 export Item_Multi_CountSettings proc Item_Multi_CountSettings 4 0 line 1903 ;1900: ;1901:} ;1902: ;1903:int Item_Multi_CountSettings(itemDef_t *item) { line 1904 ;1904: multiDef_t *multiPtr = (multiDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 1905 ;1905: if (multiPtr == NULL) { ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $900 line 1906 ;1906: return 0; CNSTI4 0 RETI4 ADDRGP4 $899 JUMPV LABELV $900 line 1908 ;1907: } ;1908: return multiPtr->count; ADDRLP4 0 INDIRP4 CNSTI4 384 ADDP4 INDIRI4 RETI4 LABELV $899 endproc Item_Multi_CountSettings 4 0 export Item_Multi_FindCvarByValue proc Item_Multi_FindCvarByValue 1040 12 line 1911 ;1909:} ;1910: ;1911:int Item_Multi_FindCvarByValue(itemDef_t *item) { line 1913 ;1912: char buff[1024]; ;1913: float value = 0; ADDRLP4 8 CNSTF4 0 ASGNF4 line 1915 ;1914: int i; ;1915: multiDef_t *multiPtr = (multiDef_t*)item->typeData; ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 1916 ;1916: if (multiPtr) { ADDRLP4 4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $903 line 1917 ;1917: if (multiPtr->strDef) { ADDRLP4 4 INDIRP4 CNSTI4 388 ADDP4 INDIRI4 CNSTI4 0 EQI4 $905 line 1918 ;1918: DC->getCVarString(item->cvar, buff, sizeof(buff)); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 12 ARGP4 CNSTI4 1024 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 88 ADDP4 INDIRP4 CALLV pop line 1919 ;1919: } else { ADDRGP4 $906 JUMPV LABELV $905 line 1920 ;1920: value = DC->getCVarValue(item->cvar); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 1036 ADDRGP4 DC INDIRP4 CNSTI4 92 ADDP4 INDIRP4 CALLF4 ASGNF4 ADDRLP4 8 ADDRLP4 1036 INDIRF4 ASGNF4 line 1921 ;1921: } LABELV $906 line 1922 ;1922: for (i = 0; i < multiPtr->count; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $910 JUMPV LABELV $907 line 1923 ;1923: if (multiPtr->strDef) { ADDRLP4 4 INDIRP4 CNSTI4 388 ADDP4 INDIRI4 CNSTI4 0 EQI4 $911 line 1924 ;1924: if (Q_stricmp(buff, multiPtr->cvarStr[i]) == 0) { ADDRLP4 12 ARGP4 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 4 INDIRP4 CNSTI4 128 ADDP4 ADDP4 INDIRP4 ARGP4 ADDRLP4 1036 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 1036 INDIRI4 CNSTI4 0 NEI4 $912 line 1925 ;1925: return i; ADDRLP4 0 INDIRI4 RETI4 ADDRGP4 $902 JUMPV line 1927 ;1926: } ;1927: } else { LABELV $911 line 1928 ;1928: if (multiPtr->cvarValue[i] == value) { ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 4 INDIRP4 CNSTI4 256 ADDP4 ADDP4 INDIRF4 ADDRLP4 8 INDIRF4 NEF4 $915 line 1929 ;1929: return i; ADDRLP4 0 INDIRI4 RETI4 ADDRGP4 $902 JUMPV LABELV $915 line 1931 ;1930: } ;1931: } LABELV $912 line 1932 ;1932: } LABELV $908 line 1922 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $910 ADDRLP4 0 INDIRI4 ADDRLP4 4 INDIRP4 CNSTI4 384 ADDP4 INDIRI4 LTI4 $907 line 1933 ;1933: } LABELV $903 line 1934 ;1934: return 0; CNSTI4 0 RETI4 LABELV $902 endproc Item_Multi_FindCvarByValue 1040 12 export Item_Multi_Setting proc Item_Multi_Setting 1040 12 line 1937 ;1935:} ;1936: ;1937:const char *Item_Multi_Setting(itemDef_t *item) { line 1939 ;1938: char buff[1024]; ;1939: float value = 0; ADDRLP4 8 CNSTF4 0 ASGNF4 line 1941 ;1940: int i; ;1941: multiDef_t *multiPtr = (multiDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 1942 ;1942: if (multiPtr) { ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $918 line 1943 ;1943: if (multiPtr->strDef) { ADDRLP4 0 INDIRP4 CNSTI4 388 ADDP4 INDIRI4 CNSTI4 0 EQI4 $920 line 1944 ;1944: DC->getCVarString(item->cvar, buff, sizeof(buff)); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 12 ARGP4 CNSTI4 1024 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 88 ADDP4 INDIRP4 CALLV pop line 1945 ;1945: } else { ADDRGP4 $921 JUMPV LABELV $920 line 1946 ;1946: value = DC->getCVarValue(item->cvar); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 1036 ADDRGP4 DC INDIRP4 CNSTI4 92 ADDP4 INDIRP4 CALLF4 ASGNF4 ADDRLP4 8 ADDRLP4 1036 INDIRF4 ASGNF4 line 1947 ;1947: } LABELV $921 line 1948 ;1948: for (i = 0; i < multiPtr->count; i++) { ADDRLP4 4 CNSTI4 0 ASGNI4 ADDRGP4 $925 JUMPV LABELV $922 line 1949 ;1949: if (multiPtr->strDef) { ADDRLP4 0 INDIRP4 CNSTI4 388 ADDP4 INDIRI4 CNSTI4 0 EQI4 $926 line 1950 ;1950: if (Q_stricmp(buff, multiPtr->cvarStr[i]) == 0) { ADDRLP4 12 ARGP4 ADDRLP4 4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 0 INDIRP4 CNSTI4 128 ADDP4 ADDP4 INDIRP4 ARGP4 ADDRLP4 1036 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 1036 INDIRI4 CNSTI4 0 NEI4 $927 line 1951 ;1951: return multiPtr->cvarList[i]; ADDRLP4 4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 0 INDIRP4 ADDP4 INDIRP4 RETP4 ADDRGP4 $917 JUMPV line 1953 ;1952: } ;1953: } else { LABELV $926 line 1954 ;1954: if (multiPtr->cvarValue[i] == value) { ADDRLP4 4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 0 INDIRP4 CNSTI4 256 ADDP4 ADDP4 INDIRF4 ADDRLP4 8 INDIRF4 NEF4 $930 line 1955 ;1955: return multiPtr->cvarList[i]; ADDRLP4 4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 0 INDIRP4 ADDP4 INDIRP4 RETP4 ADDRGP4 $917 JUMPV LABELV $930 line 1957 ;1956: } ;1957: } LABELV $927 line 1958 ;1958: } LABELV $923 line 1948 ADDRLP4 4 ADDRLP4 4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $925 ADDRLP4 4 INDIRI4 ADDRLP4 0 INDIRP4 CNSTI4 384 ADDP4 INDIRI4 LTI4 $922 line 1959 ;1959: } LABELV $918 line 1960 ;1960: return ""; ADDRGP4 $54 RETP4 LABELV $917 endproc Item_Multi_Setting 1040 12 export Item_Multi_HandleKey proc Item_Multi_HandleKey 56 12 line 1963 ;1961:} ;1962: ;1963:qboolean Item_Multi_HandleKey(itemDef_t *item, int key) { line 1964 ;1964: multiDef_t *multiPtr = (multiDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 1965 ;1965: if (multiPtr) { ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $933 line 1966 ;1966: if (Rect_ContainsPoint(&item->window.rect, DC->cursorx, DC->cursory) && item->window.flags & WINDOW_HASFOCUS && item->cvar) { ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 4 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 4 INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 4 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 8 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 12 CNSTI4 0 ASGNI4 ADDRLP4 8 INDIRI4 ADDRLP4 12 INDIRI4 EQI4 $935 ADDRLP4 16 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 16 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 2 BANDI4 ADDRLP4 12 INDIRI4 EQI4 $935 ADDRLP4 16 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $935 line 1967 ;1967: if (key == K_MOUSE1 || key == K_ENTER || key == K_MOUSE2 || key == K_MOUSE3) { ADDRLP4 20 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 20 INDIRI4 CNSTI4 178 EQI4 $941 ADDRLP4 20 INDIRI4 CNSTI4 13 EQI4 $941 ADDRLP4 20 INDIRI4 CNSTI4 179 EQI4 $941 ADDRLP4 20 INDIRI4 CNSTI4 180 NEI4 $937 LABELV $941 line 1968 ;1968: int current = Item_Multi_FindCvarByValue(item) + 1; ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 32 ADDRGP4 Item_Multi_FindCvarByValue CALLI4 ASGNI4 ADDRLP4 24 ADDRLP4 32 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 1969 ;1969: int max = Item_Multi_CountSettings(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 36 ADDRGP4 Item_Multi_CountSettings CALLI4 ASGNI4 ADDRLP4 28 ADDRLP4 36 INDIRI4 ASGNI4 line 1970 ;1970: if ( current < 0 || current >= max ) { ADDRLP4 40 ADDRLP4 24 INDIRI4 ASGNI4 ADDRLP4 40 INDIRI4 CNSTI4 0 LTI4 $944 ADDRLP4 40 INDIRI4 ADDRLP4 28 INDIRI4 LTI4 $942 LABELV $944 line 1971 ;1971: current = 0; ADDRLP4 24 CNSTI4 0 ASGNI4 line 1972 ;1972: } LABELV $942 line 1973 ;1973: if (multiPtr->strDef) { ADDRLP4 0 INDIRP4 CNSTI4 388 ADDP4 INDIRI4 CNSTI4 0 EQI4 $945 line 1974 ;1974: DC->setCVar(item->cvar, multiPtr->cvarStr[current]); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 24 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 0 INDIRP4 CNSTI4 128 ADDP4 ADDP4 INDIRP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 96 ADDP4 INDIRP4 CALLV pop line 1975 ;1975: } else { ADDRGP4 $946 JUMPV LABELV $945 line 1976 ;1976: float value = multiPtr->cvarValue[current]; ADDRLP4 44 ADDRLP4 24 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 0 INDIRP4 CNSTI4 256 ADDP4 ADDP4 INDIRF4 ASGNF4 line 1977 ;1977: if (((float)((int) value)) == value) { ADDRLP4 48 ADDRLP4 44 INDIRF4 ASGNF4 ADDRLP4 48 INDIRF4 CVFI4 4 CVIF4 4 ADDRLP4 48 INDIRF4 NEF4 $947 line 1978 ;1978: DC->setCVar(item->cvar, va("%i", (int) value )); ADDRGP4 $895 ARGP4 ADDRLP4 44 INDIRF4 CVFI4 4 ARGI4 ADDRLP4 52 ADDRGP4 va CALLP4 ASGNP4 ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 52 INDIRP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 96 ADDP4 INDIRP4 CALLV pop line 1979 ;1979: } ADDRGP4 $948 JUMPV LABELV $947 line 1980 ;1980: else { line 1981 ;1981: DC->setCVar(item->cvar, va("%f", value )); ADDRGP4 $949 ARGP4 ADDRLP4 44 INDIRF4 ARGF4 ADDRLP4 52 ADDRGP4 va CALLP4 ASGNP4 ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 52 INDIRP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 96 ADDP4 INDIRP4 CALLV pop line 1982 ;1982: } LABELV $948 line 1983 ;1983: } LABELV $946 line 1984 ;1984: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $932 JUMPV LABELV $937 line 1986 ;1985: } ;1986: } LABELV $935 line 1987 ;1987: } LABELV $933 line 1988 ;1988: return qfalse; CNSTI4 0 RETI4 LABELV $932 endproc Item_Multi_HandleKey 56 12 export Item_TextField_HandleKey proc Item_TextField_HandleKey 1076 12 line 1991 ;1989:} ;1990: ;1991:qboolean Item_TextField_HandleKey(itemDef_t *item, int key) { line 1994 ;1992: char buff[1024]; ;1993: int len; ;1994: itemDef_t *newItem = NULL; ADDRLP4 1028 CNSTP4 0 ASGNP4 line 1995 ;1995: editFieldDef_t *editPtr = (editFieldDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 1997 ;1996: ;1997: if (item->cvar) { ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $951 line 1999 ;1998: ;1999: memset(buff, 0, sizeof(buff)); ADDRLP4 4 ARGP4 CNSTI4 0 ARGI4 CNSTI4 1024 ARGI4 ADDRGP4 memset CALLP4 pop line 2000 ;2000: DC->getCVarString(item->cvar, buff, sizeof(buff)); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 4 ARGP4 CNSTI4 1024 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 88 ADDP4 INDIRP4 CALLV pop line 2001 ;2001: len = strlen(buff); ADDRLP4 4 ARGP4 ADDRLP4 1036 ADDRGP4 strlen CALLI4 ASGNI4 ADDRLP4 1032 ADDRLP4 1036 INDIRI4 ASGNI4 line 2002 ;2002: if (editPtr->maxChars && len > editPtr->maxChars) { ADDRLP4 1040 ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 INDIRI4 ASGNI4 ADDRLP4 1040 INDIRI4 CNSTI4 0 EQI4 $953 ADDRLP4 1032 INDIRI4 ADDRLP4 1040 INDIRI4 LEI4 $953 line 2003 ;2003: len = editPtr->maxChars; ADDRLP4 1032 ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 INDIRI4 ASGNI4 line 2004 ;2004: } LABELV $953 line 2005 ;2005: if ( key & K_CHAR_FLAG ) { ADDRFP4 4 INDIRI4 CNSTI4 1024 BANDI4 CNSTI4 0 EQI4 $955 line 2006 ;2006: key &= ~K_CHAR_FLAG; ADDRFP4 4 ADDRFP4 4 INDIRI4 CNSTI4 -1025 BANDI4 ASGNI4 line 2009 ;2007: ;2008: ;2009: if (key == 'h' - 'a' + 1 ) { // ctrl-h is backspace ADDRFP4 4 INDIRI4 CNSTI4 8 NEI4 $957 line 2010 ;2010: if ( item->cursorPos > 0 ) { ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 CNSTI4 0 LEI4 $959 line 2011 ;2011: memmove( &buff[item->cursorPos - 1], &buff[item->cursorPos], len + 1 - item->cursorPos); ADDRLP4 1044 ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ASGNI4 ADDRLP4 1044 INDIRI4 ADDRLP4 4-1 ADDP4 ARGP4 ADDRLP4 1044 INDIRI4 ADDRLP4 4 ADDP4 ARGP4 ADDRLP4 1032 INDIRI4 CNSTI4 1 ADDI4 ADDRLP4 1044 INDIRI4 SUBI4 ARGI4 ADDRGP4 memmove CALLP4 pop line 2012 ;2012: item->cursorPos--; ADDRLP4 1048 ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 ASGNP4 ADDRLP4 1048 INDIRP4 ADDRLP4 1048 INDIRP4 INDIRI4 CNSTI4 1 SUBI4 ASGNI4 line 2013 ;2013: if (item->cursorPos < editPtr->paintOffset) { ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRI4 GEI4 $962 line 2014 ;2014: editPtr->paintOffset--; ADDRLP4 1052 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 ASGNP4 ADDRLP4 1052 INDIRP4 ADDRLP4 1052 INDIRP4 INDIRI4 CNSTI4 1 SUBI4 ASGNI4 line 2015 ;2015: } LABELV $962 line 2016 ;2016: } LABELV $959 line 2017 ;2017: DC->setCVar(item->cvar, buff); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 96 ADDP4 INDIRP4 CALLV pop line 2018 ;2018: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $950 JUMPV LABELV $957 line 2025 ;2019: } ;2020: ;2021: ;2022: // ;2023: // ignore any non printable chars ;2024: // ;2025: if ( key < 32 || !item->cvar) { ADDRFP4 4 INDIRI4 CNSTI4 32 LTI4 $966 ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $964 LABELV $966 line 2026 ;2026: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $950 JUMPV LABELV $964 line 2029 ;2027: } ;2028: ;2029: if (item->type == ITEM_TYPE_NUMERICFIELD) { ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 9 NEI4 $967 line 2030 ;2030: if (key < '0' || key > '9') { ADDRLP4 1044 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 1044 INDIRI4 CNSTI4 48 LTI4 $971 ADDRLP4 1044 INDIRI4 CNSTI4 57 LEI4 $969 LABELV $971 line 2031 ;2031: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $950 JUMPV LABELV $969 line 2033 ;2032: } ;2033: } LABELV $967 line 2035 ;2034: ;2035: if (!DC->getOverstrikeMode()) { ADDRLP4 1044 ADDRGP4 DC INDIRP4 CNSTI4 108 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 1044 INDIRI4 CNSTI4 0 NEI4 $972 line 2036 ;2036: if (( len == MAX_EDITFIELD - 1 ) || (editPtr->maxChars && len >= editPtr->maxChars)) { ADDRLP4 1048 ADDRLP4 1032 INDIRI4 ASGNI4 ADDRLP4 1048 INDIRI4 CNSTI4 255 EQI4 $976 ADDRLP4 1052 ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 INDIRI4 ASGNI4 ADDRLP4 1052 INDIRI4 CNSTI4 0 EQI4 $974 ADDRLP4 1048 INDIRI4 ADDRLP4 1052 INDIRI4 LTI4 $974 LABELV $976 line 2037 ;2037: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $950 JUMPV LABELV $974 line 2039 ;2038: } ;2039: memmove( &buff[item->cursorPos + 1], &buff[item->cursorPos], len + 1 - item->cursorPos ); ADDRLP4 1056 ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ASGNI4 ADDRLP4 1056 INDIRI4 ADDRLP4 4+1 ADDP4 ARGP4 ADDRLP4 1056 INDIRI4 ADDRLP4 4 ADDP4 ARGP4 ADDRLP4 1032 INDIRI4 CNSTI4 1 ADDI4 ADDRLP4 1056 INDIRI4 SUBI4 ARGI4 ADDRGP4 memmove CALLP4 pop line 2040 ;2040: } else { ADDRGP4 $973 JUMPV LABELV $972 line 2041 ;2041: if (editPtr->maxChars && item->cursorPos >= editPtr->maxChars) { ADDRLP4 1048 ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 INDIRI4 ASGNI4 ADDRLP4 1048 INDIRI4 CNSTI4 0 EQI4 $978 ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ADDRLP4 1048 INDIRI4 LTI4 $978 line 2042 ;2042: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $950 JUMPV LABELV $978 line 2044 ;2043: } ;2044: } LABELV $973 line 2046 ;2045: ;2046: buff[item->cursorPos] = key; ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ADDRLP4 4 ADDP4 ADDRFP4 4 INDIRI4 CVII1 4 ASGNI1 line 2048 ;2047: ;2048: DC->setCVar(item->cvar, buff); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 96 ADDP4 INDIRP4 CALLV pop line 2050 ;2049: ;2050: if (item->cursorPos < len + 1) { ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ADDRLP4 1032 INDIRI4 CNSTI4 1 ADDI4 GEI4 $956 line 2051 ;2051: item->cursorPos++; ADDRLP4 1048 ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 ASGNP4 ADDRLP4 1048 INDIRP4 ADDRLP4 1048 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 2052 ;2052: if (editPtr->maxPaintChars && item->cursorPos > editPtr->maxPaintChars) { ADDRLP4 1052 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRI4 ASGNI4 ADDRLP4 1052 INDIRI4 CNSTI4 0 EQI4 $956 ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ADDRLP4 1052 INDIRI4 LEI4 $956 line 2053 ;2053: editPtr->paintOffset++; ADDRLP4 1056 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 ASGNP4 ADDRLP4 1056 INDIRP4 ADDRLP4 1056 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 2054 ;2054: } line 2055 ;2055: } line 2057 ;2056: ;2057: } else { ADDRGP4 $956 JUMPV LABELV $955 line 2059 ;2058: ;2059: if ( key == K_DEL || key == K_KP_DEL ) { ADDRLP4 1044 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 1044 INDIRI4 CNSTI4 140 EQI4 $986 ADDRLP4 1044 INDIRI4 CNSTI4 171 NEI4 $984 LABELV $986 line 2060 ;2060: if ( item->cursorPos < len ) { ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ADDRLP4 1032 INDIRI4 GEI4 $987 line 2061 ;2061: memmove( buff + item->cursorPos, buff + item->cursorPos + 1, len - item->cursorPos); ADDRLP4 1048 ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ASGNI4 ADDRLP4 1048 INDIRI4 ADDRLP4 4 ADDP4 ARGP4 ADDRLP4 1048 INDIRI4 ADDRLP4 4+1 ADDP4 ARGP4 ADDRLP4 1032 INDIRI4 ADDRLP4 1048 INDIRI4 SUBI4 ARGI4 ADDRGP4 memmove CALLP4 pop line 2062 ;2062: DC->setCVar(item->cvar, buff); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 96 ADDP4 INDIRP4 CALLV pop line 2063 ;2063: } LABELV $987 line 2064 ;2064: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $950 JUMPV LABELV $984 line 2067 ;2065: } ;2066: ;2067: if ( key == K_RIGHTARROW || key == K_KP_RIGHTARROW ) ADDRLP4 1048 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 1048 INDIRI4 CNSTI4 135 EQI4 $992 ADDRLP4 1048 INDIRI4 CNSTI4 165 NEI4 $990 LABELV $992 line 2068 ;2068: { line 2069 ;2069: if (editPtr->maxPaintChars && item->cursorPos >= editPtr->maxPaintChars && item->cursorPos < len) { ADDRLP4 1052 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRI4 ASGNI4 ADDRLP4 1052 INDIRI4 CNSTI4 0 EQI4 $993 ADDRLP4 1056 ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ASGNI4 ADDRLP4 1056 INDIRI4 ADDRLP4 1052 INDIRI4 LTI4 $993 ADDRLP4 1056 INDIRI4 ADDRLP4 1032 INDIRI4 GEI4 $993 line 2070 ;2070: item->cursorPos++; ADDRLP4 1060 ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 ASGNP4 ADDRLP4 1060 INDIRP4 ADDRLP4 1060 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 2071 ;2071: editPtr->paintOffset++; ADDRLP4 1064 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 ASGNP4 ADDRLP4 1064 INDIRP4 ADDRLP4 1064 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 2072 ;2072: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $950 JUMPV LABELV $993 line 2074 ;2073: } ;2074: if (item->cursorPos < len) { ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ADDRLP4 1032 INDIRI4 GEI4 $995 line 2075 ;2075: item->cursorPos++; ADDRLP4 1060 ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 ASGNP4 ADDRLP4 1060 INDIRP4 ADDRLP4 1060 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 2076 ;2076: } LABELV $995 line 2077 ;2077: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $950 JUMPV LABELV $990 line 2080 ;2078: } ;2079: ;2080: if ( key == K_LEFTARROW || key == K_KP_LEFTARROW ) ADDRLP4 1052 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 1052 INDIRI4 CNSTI4 134 EQI4 $999 ADDRLP4 1052 INDIRI4 CNSTI4 163 NEI4 $997 LABELV $999 line 2081 ;2081: { line 2082 ;2082: if ( item->cursorPos > 0 ) { ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 CNSTI4 0 LEI4 $1000 line 2083 ;2083: item->cursorPos--; ADDRLP4 1056 ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 ASGNP4 ADDRLP4 1056 INDIRP4 ADDRLP4 1056 INDIRP4 INDIRI4 CNSTI4 1 SUBI4 ASGNI4 line 2084 ;2084: } LABELV $1000 line 2085 ;2085: if (item->cursorPos < editPtr->paintOffset) { ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRI4 GEI4 $1002 line 2086 ;2086: editPtr->paintOffset--; ADDRLP4 1056 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 ASGNP4 ADDRLP4 1056 INDIRP4 ADDRLP4 1056 INDIRP4 INDIRI4 CNSTI4 1 SUBI4 ASGNI4 line 2087 ;2087: } LABELV $1002 line 2088 ;2088: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $950 JUMPV LABELV $997 line 2091 ;2089: } ;2090: ;2091: if ( key == K_HOME || key == K_KP_HOME) {// || ( tolower(key) == 'a' && trap_Key_IsDown( K_CTRL ) ) ) { ADDRLP4 1056 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 1056 INDIRI4 CNSTI4 143 EQI4 $1006 ADDRLP4 1056 INDIRI4 CNSTI4 160 NEI4 $1004 LABELV $1006 line 2092 ;2092: item->cursorPos = 0; ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 CNSTI4 0 ASGNI4 line 2093 ;2093: editPtr->paintOffset = 0; ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 CNSTI4 0 ASGNI4 line 2094 ;2094: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $950 JUMPV LABELV $1004 line 2097 ;2095: } ;2096: ;2097: if ( key == K_END || key == K_KP_END) {// ( tolower(key) == 'e' && trap_Key_IsDown( K_CTRL ) ) ) { ADDRLP4 1060 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 1060 INDIRI4 CNSTI4 144 EQI4 $1009 ADDRLP4 1060 INDIRI4 CNSTI4 166 NEI4 $1007 LABELV $1009 line 2098 ;2098: item->cursorPos = len; ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 ADDRLP4 1032 INDIRI4 ASGNI4 line 2099 ;2099: if(item->cursorPos > editPtr->maxPaintChars) { ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRI4 LEI4 $1010 line 2100 ;2100: editPtr->paintOffset = len - editPtr->maxPaintChars; ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 ADDRLP4 1032 INDIRI4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRI4 SUBI4 ASGNI4 line 2101 ;2101: } LABELV $1010 line 2102 ;2102: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $950 JUMPV LABELV $1007 line 2105 ;2103: } ;2104: ;2105: if ( key == K_INS || key == K_KP_INS ) { ADDRLP4 1064 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 1064 INDIRI4 CNSTI4 139 EQI4 $1014 ADDRLP4 1064 INDIRI4 CNSTI4 170 NEI4 $1012 LABELV $1014 line 2106 ;2106: DC->setOverstrikeMode(!DC->getOverstrikeMode()); ADDRLP4 1072 ADDRGP4 DC INDIRP4 CNSTI4 108 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 1072 INDIRI4 CNSTI4 0 NEI4 $1016 ADDRLP4 1068 CNSTI4 1 ASGNI4 ADDRGP4 $1017 JUMPV LABELV $1016 ADDRLP4 1068 CNSTI4 0 ASGNI4 LABELV $1017 ADDRLP4 1068 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 104 ADDP4 INDIRP4 CALLV pop line 2107 ;2107: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $950 JUMPV LABELV $1012 line 2109 ;2108: } ;2109: } LABELV $956 line 2111 ;2110: ;2111: if (key == K_TAB || key == K_DOWNARROW || key == K_KP_DOWNARROW) { ADDRLP4 1044 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 1044 INDIRI4 CNSTI4 9 EQI4 $1021 ADDRLP4 1044 INDIRI4 CNSTI4 133 EQI4 $1021 ADDRLP4 1044 INDIRI4 CNSTI4 167 NEI4 $1018 LABELV $1021 line 2112 ;2112: newItem = Menu_SetNextCursorItem(item->parent); ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ARGP4 ADDRLP4 1048 ADDRGP4 Menu_SetNextCursorItem CALLP4 ASGNP4 ADDRLP4 1028 ADDRLP4 1048 INDIRP4 ASGNP4 line 2113 ;2113: if (newItem && (newItem->type == ITEM_TYPE_EDITFIELD || newItem->type == ITEM_TYPE_NUMERICFIELD)) { ADDRLP4 1028 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1022 ADDRLP4 1056 ADDRLP4 1028 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 ASGNI4 ADDRLP4 1056 INDIRI4 CNSTI4 4 EQI4 $1024 ADDRLP4 1056 INDIRI4 CNSTI4 9 NEI4 $1022 LABELV $1024 line 2114 ;2114: g_editItem = newItem; ADDRGP4 g_editItem ADDRLP4 1028 INDIRP4 ASGNP4 line 2115 ;2115: } LABELV $1022 line 2116 ;2116: } LABELV $1018 line 2118 ;2117: ;2118: if (key == K_UPARROW || key == K_KP_UPARROW) { ADDRLP4 1048 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 1048 INDIRI4 CNSTI4 132 EQI4 $1027 ADDRLP4 1048 INDIRI4 CNSTI4 161 NEI4 $1025 LABELV $1027 line 2119 ;2119: newItem = Menu_SetPrevCursorItem(item->parent); ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ARGP4 ADDRLP4 1052 ADDRGP4 Menu_SetPrevCursorItem CALLP4 ASGNP4 ADDRLP4 1028 ADDRLP4 1052 INDIRP4 ASGNP4 line 2120 ;2120: if (newItem && (newItem->type == ITEM_TYPE_EDITFIELD || newItem->type == ITEM_TYPE_NUMERICFIELD)) { ADDRLP4 1028 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1028 ADDRLP4 1060 ADDRLP4 1028 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 ASGNI4 ADDRLP4 1060 INDIRI4 CNSTI4 4 EQI4 $1030 ADDRLP4 1060 INDIRI4 CNSTI4 9 NEI4 $1028 LABELV $1030 line 2121 ;2121: g_editItem = newItem; ADDRGP4 g_editItem ADDRLP4 1028 INDIRP4 ASGNP4 line 2122 ;2122: } LABELV $1028 line 2123 ;2123: } LABELV $1025 line 2125 ;2124: ;2125: if ( key == K_ENTER || key == K_KP_ENTER || key == K_ESCAPE) { ADDRLP4 1052 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 1052 INDIRI4 CNSTI4 13 EQI4 $1034 ADDRLP4 1052 INDIRI4 CNSTI4 169 EQI4 $1034 ADDRLP4 1052 INDIRI4 CNSTI4 27 NEI4 $1031 LABELV $1034 line 2126 ;2126: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $950 JUMPV LABELV $1031 line 2129 ;2127: } ;2128: ;2129: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $950 JUMPV LABELV $951 line 2131 ;2130: } ;2131: return qfalse; CNSTI4 0 RETI4 LABELV $950 endproc Item_TextField_HandleKey 1076 12 proc Scroll_ListBox_AutoFunc 12 16 line 2135 ;2132: ;2133:} ;2134: ;2135:static void Scroll_ListBox_AutoFunc(void *p) { line 2136 ;2136: scrollInfo_t *si = (scrollInfo_t*)p; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 2137 ;2137: if (DC->realTime > si->nextScrollTime) { ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 INDIRI4 LEI4 $1036 line 2141 ;2138: // need to scroll which is done by simulating a click to the item ;2139: // this is done a bit sideways as the autoscroll "knows" that the item is a listbox ;2140: // so it calls it directly ;2141: Item_ListBox_HandleKey(si->item, si->scrollKey, qtrue, qfalse); ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRP4 ARGP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ARGI4 CNSTI4 1 ARGI4 CNSTI4 0 ARGI4 ADDRGP4 Item_ListBox_HandleKey CALLI4 pop line 2142 ;2142: si->nextScrollTime = DC->realTime + si->adjustValue; ADDRLP4 0 INDIRP4 ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 CNSTI4 8 ADDP4 INDIRI4 ADDI4 ASGNI4 line 2143 ;2143: } LABELV $1036 line 2145 ;2144: ;2145: if (DC->realTime > si->nextAdjustTime) { ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRI4 LEI4 $1038 line 2146 ;2146: si->nextAdjustTime = DC->realTime + SCROLL_TIME_ADJUST; ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 CNSTI4 150 ADDI4 ASGNI4 line 2147 ;2147: if (si->adjustValue > SCROLL_TIME_FLOOR) { ADDRLP4 0 INDIRP4 CNSTI4 8 ADDP4 INDIRI4 CNSTI4 20 LEI4 $1040 line 2148 ;2148: si->adjustValue -= SCROLL_TIME_ADJUSTOFFSET; ADDRLP4 4 ADDRLP4 0 INDIRP4 CNSTI4 8 ADDP4 ASGNP4 ADDRLP4 4 INDIRP4 ADDRLP4 4 INDIRP4 INDIRI4 CNSTI4 40 SUBI4 ASGNI4 line 2149 ;2149: } LABELV $1040 line 2150 ;2150: } LABELV $1038 line 2151 ;2151:} LABELV $1035 endproc Scroll_ListBox_AutoFunc 12 16 proc Scroll_ListBox_ThumbFunc 40 16 line 2153 ;2152: ;2153:static void Scroll_ListBox_ThumbFunc(void *p) { line 2154 ;2154: scrollInfo_t *si = (scrollInfo_t*)p; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 2158 ;2155: rectDef_t r; ;2156: int pos, max; ;2157: ;2158: listBoxDef_t *listPtr = (listBoxDef_t*)si->item->typeData; ADDRLP4 28 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 2159 ;2159: if (si->item->window.flags & WINDOW_HORIZONTAL) { ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 1024 BANDI4 CNSTI4 0 EQI4 $1043 line 2160 ;2160: if (DC->cursorx == si->xStart) { ADDRGP4 DC INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 NEF4 $1045 line 2161 ;2161: return; ADDRGP4 $1042 JUMPV LABELV $1045 line 2163 ;2162: } ;2163: r.x = si->item->window.rect.x + SCROLLBAR_SIZE + 1; ADDRLP4 4 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRP4 INDIRF4 CNSTF4 1098907648 ADDF4 CNSTF4 1065353216 ADDF4 ASGNF4 line 2164 ;2164: r.y = si->item->window.rect.y + si->item->window.rect.h - SCROLLBAR_SIZE - 1; ADDRLP4 32 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRP4 ASGNP4 ADDRLP4 4+4 ADDRLP4 32 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ADDRLP4 32 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ADDF4 CNSTF4 1098907648 SUBF4 CNSTF4 1065353216 SUBF4 ASGNF4 line 2165 ;2165: r.h = SCROLLBAR_SIZE; ADDRLP4 4+12 CNSTF4 1098907648 ASGNF4 line 2166 ;2166: r.w = si->item->window.rect.w - (SCROLLBAR_SIZE*2) - 2; ADDRLP4 4+8 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 CNSTF4 1107296256 SUBF4 CNSTF4 1073741824 SUBF4 ASGNF4 line 2167 ;2167: max = Item_ListBox_MaxScroll(si->item); ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRP4 ARGP4 ADDRLP4 36 ADDRGP4 Item_ListBox_MaxScroll CALLI4 ASGNI4 ADDRLP4 24 ADDRLP4 36 INDIRI4 ASGNI4 line 2169 ;2168: // ;2169: pos = (DC->cursorx - r.x - SCROLLBAR_SIZE/2) * max / (r.w - SCROLLBAR_SIZE); ADDRLP4 20 ADDRGP4 DC INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ADDRLP4 4 INDIRF4 SUBF4 CNSTF4 1090519040 SUBF4 ADDRLP4 24 INDIRI4 CVIF4 4 MULF4 ADDRLP4 4+8 INDIRF4 CNSTF4 1098907648 SUBF4 DIVF4 CVFI4 4 ASGNI4 line 2170 ;2170: if (pos < 0) { ADDRLP4 20 INDIRI4 CNSTI4 0 GEI4 $1051 line 2171 ;2171: pos = 0; ADDRLP4 20 CNSTI4 0 ASGNI4 line 2172 ;2172: } ADDRGP4 $1052 JUMPV LABELV $1051 line 2173 ;2173: else if (pos > max) { ADDRLP4 20 INDIRI4 ADDRLP4 24 INDIRI4 LEI4 $1053 line 2174 ;2174: pos = max; ADDRLP4 20 ADDRLP4 24 INDIRI4 ASGNI4 line 2175 ;2175: } LABELV $1053 LABELV $1052 line 2176 ;2176: listPtr->startPos = pos; ADDRLP4 28 INDIRP4 ADDRLP4 20 INDIRI4 ASGNI4 line 2177 ;2177: si->xStart = DC->cursorx; ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 ADDRGP4 DC INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ASGNF4 line 2178 ;2178: } ADDRGP4 $1044 JUMPV LABELV $1043 line 2179 ;2179: else if (DC->cursory != si->yStart) { ADDRGP4 DC INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 EQF4 $1055 line 2181 ;2180: ;2181: r.x = si->item->window.rect.x + si->item->window.rect.w - SCROLLBAR_SIZE - 1; ADDRLP4 32 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRP4 ASGNP4 ADDRLP4 4 ADDRLP4 32 INDIRP4 INDIRF4 ADDRLP4 32 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ADDF4 CNSTF4 1098907648 SUBF4 CNSTF4 1065353216 SUBF4 ASGNF4 line 2182 ;2182: r.y = si->item->window.rect.y + SCROLLBAR_SIZE + 1; ADDRLP4 4+4 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 CNSTF4 1098907648 ADDF4 CNSTF4 1065353216 ADDF4 ASGNF4 line 2183 ;2183: r.h = si->item->window.rect.h - (SCROLLBAR_SIZE*2) - 2; ADDRLP4 4+12 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 CNSTF4 1107296256 SUBF4 CNSTF4 1073741824 SUBF4 ASGNF4 line 2184 ;2184: r.w = SCROLLBAR_SIZE; ADDRLP4 4+8 CNSTF4 1098907648 ASGNF4 line 2185 ;2185: max = Item_ListBox_MaxScroll(si->item); ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRP4 ARGP4 ADDRLP4 36 ADDRGP4 Item_ListBox_MaxScroll CALLI4 ASGNI4 ADDRLP4 24 ADDRLP4 36 INDIRI4 ASGNI4 line 2187 ;2186: // ;2187: pos = (DC->cursory - r.y - SCROLLBAR_SIZE/2) * max / (r.h - SCROLLBAR_SIZE); ADDRLP4 20 ADDRGP4 DC INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ADDRLP4 4+4 INDIRF4 SUBF4 CNSTF4 1090519040 SUBF4 ADDRLP4 24 INDIRI4 CVIF4 4 MULF4 ADDRLP4 4+12 INDIRF4 CNSTF4 1098907648 SUBF4 DIVF4 CVFI4 4 ASGNI4 line 2188 ;2188: if (pos < 0) { ADDRLP4 20 INDIRI4 CNSTI4 0 GEI4 $1062 line 2189 ;2189: pos = 0; ADDRLP4 20 CNSTI4 0 ASGNI4 line 2190 ;2190: } ADDRGP4 $1063 JUMPV LABELV $1062 line 2191 ;2191: else if (pos > max) { ADDRLP4 20 INDIRI4 ADDRLP4 24 INDIRI4 LEI4 $1064 line 2192 ;2192: pos = max; ADDRLP4 20 ADDRLP4 24 INDIRI4 ASGNI4 line 2193 ;2193: } LABELV $1064 LABELV $1063 line 2194 ;2194: listPtr->startPos = pos; ADDRLP4 28 INDIRP4 ADDRLP4 20 INDIRI4 ASGNI4 line 2195 ;2195: si->yStart = DC->cursory; ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 ADDRGP4 DC INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ASGNF4 line 2196 ;2196: } LABELV $1055 LABELV $1044 line 2198 ;2197: ;2198: if (DC->realTime > si->nextScrollTime) { ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 INDIRI4 LEI4 $1066 line 2202 ;2199: // need to scroll which is done by simulating a click to the item ;2200: // this is done a bit sideways as the autoscroll "knows" that the item is a listbox ;2201: // so it calls it directly ;2202: Item_ListBox_HandleKey(si->item, si->scrollKey, qtrue, qfalse); ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRP4 ARGP4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRI4 ARGI4 CNSTI4 1 ARGI4 CNSTI4 0 ARGI4 ADDRGP4 Item_ListBox_HandleKey CALLI4 pop line 2203 ;2203: si->nextScrollTime = DC->realTime + si->adjustValue; ADDRLP4 0 INDIRP4 ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 CNSTI4 8 ADDP4 INDIRI4 ADDI4 ASGNI4 line 2204 ;2204: } LABELV $1066 line 2206 ;2205: ;2206: if (DC->realTime > si->nextAdjustTime) { ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRI4 LEI4 $1068 line 2207 ;2207: si->nextAdjustTime = DC->realTime + SCROLL_TIME_ADJUST; ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 CNSTI4 150 ADDI4 ASGNI4 line 2208 ;2208: if (si->adjustValue > SCROLL_TIME_FLOOR) { ADDRLP4 0 INDIRP4 CNSTI4 8 ADDP4 INDIRI4 CNSTI4 20 LEI4 $1070 line 2209 ;2209: si->adjustValue -= SCROLL_TIME_ADJUSTOFFSET; ADDRLP4 32 ADDRLP4 0 INDIRP4 CNSTI4 8 ADDP4 ASGNP4 ADDRLP4 32 INDIRP4 ADDRLP4 32 INDIRP4 INDIRI4 CNSTI4 40 SUBI4 ASGNI4 line 2210 ;2210: } LABELV $1070 line 2211 ;2211: } LABELV $1068 line 2212 ;2212:} LABELV $1042 endproc Scroll_ListBox_ThumbFunc 40 16 proc Scroll_Slider_ThumbFunc 28 8 line 2214 ;2213: ;2214:static void Scroll_Slider_ThumbFunc(void *p) { line 2216 ;2215: float x, value, cursorx; ;2216: scrollInfo_t *si = (scrollInfo_t*)p; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 2217 ;2217: editFieldDef_t *editDef = si->item->typeData; ADDRLP4 16 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 2219 ;2218: ;2219: if (si->item->text) { ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1073 line 2220 ;2220: x = si->item->textRect.x + si->item->textRect.w + 8; ADDRLP4 20 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRP4 ASGNP4 ADDRLP4 8 ADDRLP4 20 INDIRP4 CNSTI4 180 ADDP4 INDIRF4 ADDRLP4 20 INDIRP4 CNSTI4 188 ADDP4 INDIRF4 ADDF4 CNSTF4 1090519040 ADDF4 ASGNF4 line 2221 ;2221: } else { ADDRGP4 $1074 JUMPV LABELV $1073 line 2222 ;2222: x = si->item->window.rect.x; ADDRLP4 8 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRP4 INDIRF4 ASGNF4 line 2223 ;2223: } LABELV $1074 line 2225 ;2224: ;2225: cursorx = DC->cursorx; ADDRLP4 12 ADDRGP4 DC INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ASGNF4 line 2227 ;2226: ;2227: if (cursorx < x) { ADDRLP4 12 INDIRF4 ADDRLP4 8 INDIRF4 GEF4 $1075 line 2228 ;2228: cursorx = x; ADDRLP4 12 ADDRLP4 8 INDIRF4 ASGNF4 line 2229 ;2229: } else if (cursorx > x + SLIDER_WIDTH) { ADDRGP4 $1076 JUMPV LABELV $1075 ADDRLP4 12 INDIRF4 ADDRLP4 8 INDIRF4 CNSTF4 1119879168 ADDF4 LEF4 $1077 line 2230 ;2230: cursorx = x + SLIDER_WIDTH; ADDRLP4 12 ADDRLP4 8 INDIRF4 CNSTF4 1119879168 ADDF4 ASGNF4 line 2231 ;2231: } LABELV $1077 LABELV $1076 line 2232 ;2232: value = cursorx - x; ADDRLP4 4 ADDRLP4 12 INDIRF4 ADDRLP4 8 INDIRF4 SUBF4 ASGNF4 line 2233 ;2233: value /= SLIDER_WIDTH; ADDRLP4 4 ADDRLP4 4 INDIRF4 CNSTF4 1119879168 DIVF4 ASGNF4 line 2234 ;2234: value *= (editDef->maxVal - editDef->minVal); ADDRLP4 4 ADDRLP4 4 INDIRF4 ADDRLP4 16 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ADDRLP4 16 INDIRP4 INDIRF4 SUBF4 MULF4 ASGNF4 line 2235 ;2235: value += editDef->minVal; ADDRLP4 4 ADDRLP4 4 INDIRF4 ADDRLP4 16 INDIRP4 INDIRF4 ADDF4 ASGNF4 line 2236 ;2236: DC->setCVar(si->item->cvar, va("%f", value)); ADDRGP4 $949 ARGP4 ADDRLP4 4 INDIRF4 ARGF4 ADDRLP4 24 ADDRGP4 va CALLP4 ASGNP4 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 24 INDIRP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 96 ADDP4 INDIRP4 CALLV pop line 2237 ;2237:} LABELV $1072 endproc Scroll_Slider_ThumbFunc 28 8 export Item_StartCapture proc Item_StartCapture 24 12 line 2239 ;2238: ;2239:void Item_StartCapture(itemDef_t *item, int key) { line 2241 ;2240: int flags; ;2241: switch (item->type) { ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 4 LTI4 $1080 ADDRLP4 4 INDIRI4 CNSTI4 10 GTI4 $1080 ADDRLP4 4 INDIRI4 CNSTI4 2 LSHI4 ADDRGP4 $1107-16 ADDP4 INDIRP4 JUMPV lit align 4 LABELV $1107 address $1083 address $1080 address $1083 address $1080 address $1080 address $1083 address $1100 code LABELV $1083 line 2246 ;2242: case ITEM_TYPE_EDITFIELD: ;2243: case ITEM_TYPE_NUMERICFIELD: ;2244: ;2245: case ITEM_TYPE_LISTBOX: ;2246: { line 2247 ;2247: flags = Item_ListBox_OverLB(item, DC->cursorx, DC->cursory); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 12 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 12 INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 12 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 16 ADDRGP4 Item_ListBox_OverLB CALLI4 ASGNI4 ADDRLP4 0 ADDRLP4 16 INDIRI4 ASGNI4 line 2248 ;2248: if (flags & (WINDOW_LB_LEFTARROW | WINDOW_LB_RIGHTARROW)) { ADDRLP4 0 INDIRI4 CNSTI4 6144 BANDI4 CNSTI4 0 EQI4 $1084 line 2249 ;2249: scrollInfo.nextScrollTime = DC->realTime + SCROLL_TIME_START; ADDRGP4 scrollInfo ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 CNSTI4 500 ADDI4 ASGNI4 line 2250 ;2250: scrollInfo.nextAdjustTime = DC->realTime + SCROLL_TIME_ADJUST; ADDRGP4 scrollInfo+4 ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 CNSTI4 150 ADDI4 ASGNI4 line 2251 ;2251: scrollInfo.adjustValue = SCROLL_TIME_START; ADDRGP4 scrollInfo+8 CNSTI4 500 ASGNI4 line 2252 ;2252: scrollInfo.scrollKey = key; ADDRGP4 scrollInfo+12 ADDRFP4 4 INDIRI4 ASGNI4 line 2253 ;2253: scrollInfo.scrollDir = (flags & WINDOW_LB_LEFTARROW) ? qtrue : qfalse; ADDRLP4 0 INDIRI4 CNSTI4 2048 BANDI4 CNSTI4 0 EQI4 $1091 ADDRLP4 20 CNSTI4 1 ASGNI4 ADDRGP4 $1092 JUMPV LABELV $1091 ADDRLP4 20 CNSTI4 0 ASGNI4 LABELV $1092 ADDRGP4 scrollInfo+28 ADDRLP4 20 INDIRI4 ASGNI4 line 2254 ;2254: scrollInfo.item = item; ADDRGP4 scrollInfo+24 ADDRFP4 0 INDIRP4 ASGNP4 line 2255 ;2255: captureData = &scrollInfo; ADDRGP4 captureData ADDRGP4 scrollInfo ASGNP4 line 2256 ;2256: captureFunc = &Scroll_ListBox_AutoFunc; ADDRGP4 captureFunc ADDRGP4 Scroll_ListBox_AutoFunc ASGNP4 line 2257 ;2257: itemCapture = item; ADDRGP4 itemCapture ADDRFP4 0 INDIRP4 ASGNP4 line 2258 ;2258: } else if (flags & WINDOW_LB_THUMB) { ADDRGP4 $1081 JUMPV LABELV $1084 ADDRLP4 0 INDIRI4 CNSTI4 8192 BANDI4 CNSTI4 0 EQI4 $1081 line 2259 ;2259: scrollInfo.scrollKey = key; ADDRGP4 scrollInfo+12 ADDRFP4 4 INDIRI4 ASGNI4 line 2260 ;2260: scrollInfo.item = item; ADDRGP4 scrollInfo+24 ADDRFP4 0 INDIRP4 ASGNP4 line 2261 ;2261: scrollInfo.xStart = DC->cursorx; ADDRGP4 scrollInfo+16 ADDRGP4 DC INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ASGNF4 line 2262 ;2262: scrollInfo.yStart = DC->cursory; ADDRGP4 scrollInfo+20 ADDRGP4 DC INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ASGNF4 line 2263 ;2263: captureData = &scrollInfo; ADDRGP4 captureData ADDRGP4 scrollInfo ASGNP4 line 2264 ;2264: captureFunc = &Scroll_ListBox_ThumbFunc; ADDRGP4 captureFunc ADDRGP4 Scroll_ListBox_ThumbFunc ASGNP4 line 2265 ;2265: itemCapture = item; ADDRGP4 itemCapture ADDRFP4 0 INDIRP4 ASGNP4 line 2266 ;2266: } line 2267 ;2267: break; ADDRGP4 $1081 JUMPV LABELV $1100 line 2270 ;2268: } ;2269: case ITEM_TYPE_SLIDER: ;2270: { line 2271 ;2271: flags = Item_Slider_OverSlider(item, DC->cursorx, DC->cursory); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 12 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 12 INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 12 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 16 ADDRGP4 Item_Slider_OverSlider CALLI4 ASGNI4 ADDRLP4 0 ADDRLP4 16 INDIRI4 ASGNI4 line 2272 ;2272: if (flags & WINDOW_LB_THUMB) { ADDRLP4 0 INDIRI4 CNSTI4 8192 BANDI4 CNSTI4 0 EQI4 $1081 line 2273 ;2273: scrollInfo.scrollKey = key; ADDRGP4 scrollInfo+12 ADDRFP4 4 INDIRI4 ASGNI4 line 2274 ;2274: scrollInfo.item = item; ADDRGP4 scrollInfo+24 ADDRFP4 0 INDIRP4 ASGNP4 line 2275 ;2275: scrollInfo.xStart = DC->cursorx; ADDRGP4 scrollInfo+16 ADDRGP4 DC INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ASGNF4 line 2276 ;2276: scrollInfo.yStart = DC->cursory; ADDRGP4 scrollInfo+20 ADDRGP4 DC INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ASGNF4 line 2277 ;2277: captureData = &scrollInfo; ADDRGP4 captureData ADDRGP4 scrollInfo ASGNP4 line 2278 ;2278: captureFunc = &Scroll_Slider_ThumbFunc; ADDRGP4 captureFunc ADDRGP4 Scroll_Slider_ThumbFunc ASGNP4 line 2279 ;2279: itemCapture = item; ADDRGP4 itemCapture ADDRFP4 0 INDIRP4 ASGNP4 line 2280 ;2280: } line 2281 ;2281: break; LABELV $1080 LABELV $1081 line 2284 ;2282: } ;2283: } ;2284:} LABELV $1079 endproc Item_StartCapture 24 12 export Item_StopCapture proc Item_StopCapture 0 0 line 2286 ;2285: ;2286:void Item_StopCapture(itemDef_t *item) { line 2288 ;2287: ;2288:} LABELV $1109 endproc Item_StopCapture 0 0 export Item_Slider_HandleKey proc Item_Slider_HandleKey 68 12 line 2290 ;2289: ;2290:qboolean Item_Slider_HandleKey(itemDef_t *item, int key, qboolean down) { line 2294 ;2291: float x, value, width, work; ;2292: ;2293: //DC->Print("slider handle key\n"); ;2294: if (item->window.flags & WINDOW_HASFOCUS && item->cvar && Rect_ContainsPoint(&item->window.rect, DC->cursorx, DC->cursory)) { ADDRLP4 16 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 16 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 2 BANDI4 CNSTI4 0 EQI4 $1111 ADDRLP4 16 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1111 ADDRLP4 16 INDIRP4 ARGP4 ADDRLP4 20 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 20 INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 20 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 24 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 24 INDIRI4 CNSTI4 0 EQI4 $1111 line 2295 ;2295: if (key == K_MOUSE1 || key == K_ENTER || key == K_MOUSE2 || key == K_MOUSE3) { ADDRLP4 28 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 28 INDIRI4 CNSTI4 178 EQI4 $1117 ADDRLP4 28 INDIRI4 CNSTI4 13 EQI4 $1117 ADDRLP4 28 INDIRI4 CNSTI4 179 EQI4 $1117 ADDRLP4 28 INDIRI4 CNSTI4 180 NEI4 $1113 LABELV $1117 line 2296 ;2296: editFieldDef_t *editDef = item->typeData; ADDRLP4 32 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 2297 ;2297: if (editDef) { ADDRLP4 32 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1118 line 2299 ;2298: rectDef_t testRect; ;2299: width = SLIDER_WIDTH; ADDRLP4 8 CNSTF4 1119879168 ASGNF4 line 2300 ;2300: if (item->text) { ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1120 line 2301 ;2301: x = item->textRect.x + item->textRect.w + 8; ADDRLP4 52 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 4 ADDRLP4 52 INDIRP4 CNSTI4 180 ADDP4 INDIRF4 ADDRLP4 52 INDIRP4 CNSTI4 188 ADDP4 INDIRF4 ADDF4 CNSTF4 1090519040 ADDF4 ASGNF4 line 2302 ;2302: } else { ADDRGP4 $1121 JUMPV LABELV $1120 line 2303 ;2303: x = item->window.rect.x; ADDRLP4 4 ADDRFP4 0 INDIRP4 INDIRF4 ASGNF4 line 2304 ;2304: } LABELV $1121 line 2306 ;2305: ;2306: testRect = item->window.rect; ADDRLP4 36 ADDRFP4 0 INDIRP4 INDIRB ASGNB 16 line 2307 ;2307: testRect.x = x; ADDRLP4 36 ADDRLP4 4 INDIRF4 ASGNF4 line 2308 ;2308: value = (float)SLIDER_THUMB_WIDTH / 2; ADDRLP4 0 CNSTF4 1086324736 ASGNF4 line 2309 ;2309: testRect.x -= value; ADDRLP4 36 ADDRLP4 36 INDIRF4 ADDRLP4 0 INDIRF4 SUBF4 ASGNF4 line 2311 ;2310: //DC->Print("slider x: %f\n", testRect.x); ;2311: testRect.w = (SLIDER_WIDTH + (float)SLIDER_THUMB_WIDTH / 2); ADDRLP4 36+8 CNSTF4 1120665600 ASGNF4 line 2313 ;2312: //DC->Print("slider w: %f\n", testRect.w); ;2313: if (Rect_ContainsPoint(&testRect, DC->cursorx, DC->cursory)) { ADDRLP4 36 ARGP4 ADDRLP4 52 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 52 INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 52 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 56 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 56 INDIRI4 CNSTI4 0 EQI4 $1123 line 2314 ;2314: work = DC->cursorx - x; ADDRLP4 12 ADDRGP4 DC INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ADDRLP4 4 INDIRF4 SUBF4 ASGNF4 line 2315 ;2315: value = work / width; ADDRLP4 0 ADDRLP4 12 INDIRF4 ADDRLP4 8 INDIRF4 DIVF4 ASGNF4 line 2316 ;2316: value *= (editDef->maxVal - editDef->minVal); ADDRLP4 60 ADDRLP4 32 INDIRP4 ASGNP4 ADDRLP4 0 ADDRLP4 0 INDIRF4 ADDRLP4 60 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ADDRLP4 60 INDIRP4 INDIRF4 SUBF4 MULF4 ASGNF4 line 2319 ;2317: // vm fuckage ;2318: // value = (((float)(DC->cursorx - x)/ SLIDER_WIDTH) * (editDef->maxVal - editDef->minVal)); ;2319: value += editDef->minVal; ADDRLP4 0 ADDRLP4 0 INDIRF4 ADDRLP4 32 INDIRP4 INDIRF4 ADDF4 ASGNF4 line 2320 ;2320: DC->setCVar(item->cvar, va("%f", value)); ADDRGP4 $949 ARGP4 ADDRLP4 0 INDIRF4 ARGF4 ADDRLP4 64 ADDRGP4 va CALLP4 ASGNP4 ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 64 INDIRP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 96 ADDP4 INDIRP4 CALLV pop line 2321 ;2321: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $1110 JUMPV LABELV $1123 line 2323 ;2322: } ;2323: } LABELV $1118 line 2324 ;2324: } LABELV $1113 line 2325 ;2325: } LABELV $1111 line 2326 ;2326: DC->Print("slider handle key exit\n"); ADDRGP4 $1125 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 156 ADDP4 INDIRP4 CALLV pop line 2327 ;2327: return qfalse; CNSTI4 0 RETI4 LABELV $1110 endproc Item_Slider_HandleKey 68 12 export Item_HandleKey proc Item_HandleKey 32 16 line 2331 ;2328:} ;2329: ;2330: ;2331:qboolean Item_HandleKey(itemDef_t *item, int key, qboolean down) { line 2333 ;2332: ;2333: if (itemCapture) { ADDRGP4 itemCapture INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1127 line 2334 ;2334: Item_StopCapture(itemCapture); ADDRGP4 itemCapture INDIRP4 ARGP4 ADDRGP4 Item_StopCapture CALLV pop line 2335 ;2335: itemCapture = NULL; ADDRGP4 itemCapture CNSTP4 0 ASGNP4 line 2336 ;2336: captureFunc = NULL; ADDRGP4 captureFunc CNSTP4 0 ASGNP4 line 2337 ;2337: captureData = NULL; ADDRGP4 captureData CNSTP4 0 ASGNP4 line 2338 ;2338: } else { ADDRGP4 $1128 JUMPV LABELV $1127 line 2340 ;2339: // bk001206 - parentheses ;2340: if ( down && ( key == K_MOUSE1 || key == K_MOUSE2 || key == K_MOUSE3 ) ) { ADDRFP4 8 INDIRI4 CNSTI4 0 EQI4 $1129 ADDRLP4 0 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 178 EQI4 $1132 ADDRLP4 0 INDIRI4 CNSTI4 179 EQI4 $1132 ADDRLP4 0 INDIRI4 CNSTI4 180 NEI4 $1129 LABELV $1132 line 2341 ;2341: Item_StartCapture(item, key); ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRI4 ARGI4 ADDRGP4 Item_StartCapture CALLV pop line 2342 ;2342: } LABELV $1129 line 2343 ;2343: } LABELV $1128 line 2345 ;2344: ;2345: if (!down) { ADDRFP4 8 INDIRI4 CNSTI4 0 NEI4 $1133 line 2346 ;2346: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $1126 JUMPV LABELV $1133 line 2349 ;2347: } ;2348: ;2349: switch (item->type) { ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 1 LTI4 $1135 ADDRLP4 0 INDIRI4 CNSTI4 13 GTI4 $1135 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRGP4 $1149-4 ADDP4 INDIRP4 JUMPV lit align 4 LABELV $1149 address $1138 address $1139 address $1140 address $1141 address $1142 address $1143 address $1135 address $1146 address $1141 address $1148 address $1144 address $1145 address $1147 code LABELV $1138 line 2351 ;2350: case ITEM_TYPE_BUTTON: ;2351: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $1126 JUMPV line 2352 ;2352: break; LABELV $1139 line 2354 ;2353: case ITEM_TYPE_RADIOBUTTON: ;2354: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $1126 JUMPV line 2355 ;2355: break; LABELV $1140 line 2357 ;2356: case ITEM_TYPE_CHECKBOX: ;2357: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $1126 JUMPV line 2358 ;2358: break; LABELV $1141 line 2362 ;2359: case ITEM_TYPE_EDITFIELD: ;2360: case ITEM_TYPE_NUMERICFIELD: ;2361: //return Item_TextField_HandleKey(item, key); ;2362: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $1126 JUMPV line 2363 ;2363: break; LABELV $1142 line 2365 ;2364: case ITEM_TYPE_COMBO: ;2365: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $1126 JUMPV line 2366 ;2366: break; LABELV $1143 line 2368 ;2367: case ITEM_TYPE_LISTBOX: ;2368: return Item_ListBox_HandleKey(item, key, down, qfalse); ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 8 INDIRI4 ARGI4 CNSTI4 0 ARGI4 ADDRLP4 8 ADDRGP4 Item_ListBox_HandleKey CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 RETI4 ADDRGP4 $1126 JUMPV line 2369 ;2369: break; LABELV $1144 line 2371 ;2370: case ITEM_TYPE_YESNO: ;2371: return Item_YesNo_HandleKey(item, key); ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 12 ADDRGP4 Item_YesNo_HandleKey CALLI4 ASGNI4 ADDRLP4 12 INDIRI4 RETI4 ADDRGP4 $1126 JUMPV line 2372 ;2372: break; LABELV $1145 line 2374 ;2373: case ITEM_TYPE_MULTI: ;2374: return Item_Multi_HandleKey(item, key); ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 16 ADDRGP4 Item_Multi_HandleKey CALLI4 ASGNI4 ADDRLP4 16 INDIRI4 RETI4 ADDRGP4 $1126 JUMPV line 2375 ;2375: break; LABELV $1146 line 2377 ;2376: case ITEM_TYPE_OWNERDRAW: ;2377: return Item_OwnerDraw_HandleKey(item, key); ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 20 ADDRGP4 Item_OwnerDraw_HandleKey CALLI4 ASGNI4 ADDRLP4 20 INDIRI4 RETI4 ADDRGP4 $1126 JUMPV line 2378 ;2378: break; LABELV $1147 line 2380 ;2379: case ITEM_TYPE_BIND: ;2380: return Item_Bind_HandleKey(item, key, down); ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 8 INDIRI4 ARGI4 ADDRLP4 24 ADDRGP4 Item_Bind_HandleKey CALLI4 ASGNI4 ADDRLP4 24 INDIRI4 RETI4 ADDRGP4 $1126 JUMPV line 2381 ;2381: break; LABELV $1148 line 2383 ;2382: case ITEM_TYPE_SLIDER: ;2383: return Item_Slider_HandleKey(item, key, down); ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 8 INDIRI4 ARGI4 ADDRLP4 28 ADDRGP4 Item_Slider_HandleKey CALLI4 ASGNI4 ADDRLP4 28 INDIRI4 RETI4 ADDRGP4 $1126 JUMPV line 2384 ;2384: break; LABELV $1135 line 2389 ;2385: //case ITEM_TYPE_IMAGE: ;2386: // Item_Image_Paint(item); ;2387: // break; ;2388: default: ;2389: return qfalse; CNSTI4 0 RETI4 line 2390 ;2390: break; LABELV $1126 endproc Item_HandleKey 32 16 export Item_Action proc Item_Action 4 8 line 2396 ;2391: } ;2392: ;2393: //return qfalse; ;2394:} ;2395: ;2396:void Item_Action(itemDef_t *item) { line 2397 ;2397: if (item) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1152 line 2398 ;2398: Item_RunScript(item, item->action); ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 0 INDIRP4 CNSTI4 252 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_RunScript CALLV pop line 2399 ;2399: } LABELV $1152 line 2400 ;2400:} LABELV $1151 endproc Item_Action 4 8 export Menu_SetPrevCursorItem proc Menu_SetPrevCursorItem 44 12 line 2402 ;2401: ;2402:itemDef_t *Menu_SetPrevCursorItem(menuDef_t *menu) { line 2403 ;2403: qboolean wrapped = qfalse; ADDRLP4 0 CNSTI4 0 ASGNI4 line 2404 ;2404: int oldCursor = menu->cursorItem; ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 ASGNI4 line 2406 ;2405: ;2406: if (menu->cursorItem < 0) { ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 0 GEI4 $1158 line 2407 ;2407: menu->cursorItem = menu->itemCount-1; ADDRLP4 8 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 8 INDIRP4 CNSTI4 196 ADDP4 ADDRLP4 8 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 CNSTI4 1 SUBI4 ASGNI4 line 2408 ;2408: wrapped = qtrue; ADDRLP4 0 CNSTI4 1 ASGNI4 line 2409 ;2409: } ADDRGP4 $1158 JUMPV LABELV $1157 line 2411 ;2410: ;2411: while (menu->cursorItem > -1) { line 2413 ;2412: ;2413: menu->cursorItem--; ADDRLP4 8 ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 ASGNP4 ADDRLP4 8 INDIRP4 ADDRLP4 8 INDIRP4 INDIRI4 CNSTI4 1 SUBI4 ASGNI4 line 2414 ;2414: if (menu->cursorItem < 0 && !wrapped) { ADDRLP4 12 CNSTI4 0 ASGNI4 ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 ADDRLP4 12 INDIRI4 GEI4 $1160 ADDRLP4 0 INDIRI4 ADDRLP4 12 INDIRI4 NEI4 $1160 line 2415 ;2415: wrapped = qtrue; ADDRLP4 0 CNSTI4 1 ASGNI4 line 2416 ;2416: menu->cursorItem = menu->itemCount -1; ADDRLP4 16 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 16 INDIRP4 CNSTI4 196 ADDP4 ADDRLP4 16 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 CNSTI4 1 SUBI4 ASGNI4 line 2417 ;2417: } LABELV $1160 line 2419 ;2418: ;2419: if (Item_SetFocus(menu->items[menu->cursorItem], DC->cursorx, DC->cursory)) { ADDRLP4 16 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 16 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 16 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ARGP4 ADDRLP4 20 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 20 INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 20 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 24 ADDRGP4 Item_SetFocus CALLI4 ASGNI4 ADDRLP4 24 INDIRI4 CNSTI4 0 EQI4 $1162 line 2420 ;2420: Menu_HandleMouseMove(menu, menu->items[menu->cursorItem]->window.rect.x + 1, menu->items[menu->cursorItem]->window.rect.y + 1); ADDRLP4 28 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 28 INDIRP4 ARGP4 ADDRLP4 32 ADDRLP4 28 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 28 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ASGNP4 ADDRLP4 36 CNSTF4 1065353216 ASGNF4 ADDRLP4 32 INDIRP4 INDIRF4 ADDRLP4 36 INDIRF4 ADDF4 ARGF4 ADDRLP4 32 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ADDRLP4 36 INDIRF4 ADDF4 ARGF4 ADDRGP4 Menu_HandleMouseMove CALLV pop line 2421 ;2421: return menu->items[menu->cursorItem]; ADDRLP4 40 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 40 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 40 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 RETP4 ADDRGP4 $1154 JUMPV LABELV $1162 line 2423 ;2422: } ;2423: } LABELV $1158 line 2411 ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 -1 GTI4 $1157 line 2424 ;2424: menu->cursorItem = oldCursor; ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 ADDRLP4 4 INDIRI4 ASGNI4 line 2425 ;2425: return NULL; CNSTP4 0 RETP4 LABELV $1154 endproc Menu_SetPrevCursorItem 44 12 export Menu_SetNextCursorItem proc Menu_SetNextCursorItem 44 12 line 2429 ;2426: ;2427:} ;2428: ;2429:itemDef_t *Menu_SetNextCursorItem(menuDef_t *menu) { line 2431 ;2430: ;2431: qboolean wrapped = qfalse; ADDRLP4 0 CNSTI4 0 ASGNI4 line 2432 ;2432: int oldCursor = menu->cursorItem; ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 ASGNI4 line 2435 ;2433: ;2434: ;2435: if (menu->cursorItem == -1) { ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 -1 NEI4 $1168 line 2436 ;2436: menu->cursorItem = 0; ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 CNSTI4 0 ASGNI4 line 2437 ;2437: wrapped = qtrue; ADDRLP4 0 CNSTI4 1 ASGNI4 line 2438 ;2438: } ADDRGP4 $1168 JUMPV LABELV $1167 line 2440 ;2439: ;2440: while (menu->cursorItem < menu->itemCount) { line 2442 ;2441: ;2442: menu->cursorItem++; ADDRLP4 8 ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 ASGNP4 ADDRLP4 8 INDIRP4 ADDRLP4 8 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 2443 ;2443: if (menu->cursorItem >= menu->itemCount && !wrapped) { ADDRLP4 12 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 12 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 ADDRLP4 12 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $1170 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $1170 line 2444 ;2444: wrapped = qtrue; ADDRLP4 0 CNSTI4 1 ASGNI4 line 2445 ;2445: menu->cursorItem = 0; ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 CNSTI4 0 ASGNI4 line 2446 ;2446: } LABELV $1170 line 2447 ;2447: if (Item_SetFocus(menu->items[menu->cursorItem], DC->cursorx, DC->cursory)) { ADDRLP4 16 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 16 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 16 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ARGP4 ADDRLP4 20 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 20 INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 20 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 24 ADDRGP4 Item_SetFocus CALLI4 ASGNI4 ADDRLP4 24 INDIRI4 CNSTI4 0 EQI4 $1172 line 2448 ;2448: Menu_HandleMouseMove(menu, menu->items[menu->cursorItem]->window.rect.x + 1, menu->items[menu->cursorItem]->window.rect.y + 1); ADDRLP4 28 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 28 INDIRP4 ARGP4 ADDRLP4 32 ADDRLP4 28 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 28 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ASGNP4 ADDRLP4 36 CNSTF4 1065353216 ASGNF4 ADDRLP4 32 INDIRP4 INDIRF4 ADDRLP4 36 INDIRF4 ADDF4 ARGF4 ADDRLP4 32 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ADDRLP4 36 INDIRF4 ADDF4 ARGF4 ADDRGP4 Menu_HandleMouseMove CALLV pop line 2449 ;2449: return menu->items[menu->cursorItem]; ADDRLP4 40 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 40 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 40 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 RETP4 ADDRGP4 $1164 JUMPV LABELV $1172 line 2452 ;2450: } ;2451: ;2452: } LABELV $1168 line 2440 ADDRLP4 8 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 8 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 ADDRLP4 8 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $1167 line 2454 ;2453: ;2454: menu->cursorItem = oldCursor; ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 ADDRLP4 4 INDIRI4 ASGNI4 line 2455 ;2455: return NULL; CNSTP4 0 RETP4 LABELV $1164 endproc Menu_SetNextCursorItem 44 12 proc Window_CloseCinematic 4 4 line 2458 ;2456:} ;2457: ;2458:static void Window_CloseCinematic(windowDef_t *window) { line 2459 ;2459: if (window->style == WINDOW_STYLE_CINEMATIC && window->cinematic >= 0) { ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0 INDIRP4 CNSTI4 48 ADDP4 INDIRI4 CNSTI4 5 NEI4 $1175 ADDRLP4 0 INDIRP4 CNSTI4 44 ADDP4 INDIRI4 CNSTI4 0 LTI4 $1175 line 2460 ;2460: DC->stopCinematic(window->cinematic); ADDRFP4 0 INDIRP4 CNSTI4 44 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 184 ADDP4 INDIRP4 CALLV pop line 2461 ;2461: window->cinematic = -1; ADDRFP4 0 INDIRP4 CNSTI4 44 ADDP4 CNSTI4 -1 ASGNI4 line 2462 ;2462: } LABELV $1175 line 2463 ;2463:} LABELV $1174 endproc Window_CloseCinematic 4 4 proc Menu_CloseCinematics 4 4 line 2465 ;2464: ;2465:static void Menu_CloseCinematics(menuDef_t *menu) { line 2466 ;2466: if (menu) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1178 line 2468 ;2467: int i; ;2468: Window_CloseCinematic(&menu->window); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Window_CloseCinematic CALLV pop line 2469 ;2469: for (i = 0; i < menu->itemCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1183 JUMPV LABELV $1180 line 2470 ;2470: Window_CloseCinematic(&menu->items[i]->window); ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ARGP4 ADDRGP4 Window_CloseCinematic CALLV pop line 2471 ;2471: if (menu->items[i]->type == ITEM_TYPE_OWNERDRAW) { ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 8 NEI4 $1184 line 2472 ;2472: DC->stopCinematic(0-menu->items[i]->window.ownerDraw); CNSTI4 0 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 56 ADDP4 INDIRI4 SUBI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 184 ADDP4 INDIRP4 CALLV pop line 2473 ;2473: } LABELV $1184 line 2474 ;2474: } LABELV $1181 line 2469 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1183 ADDRLP4 0 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $1180 line 2475 ;2475: } LABELV $1178 line 2476 ;2476:} LABELV $1177 endproc Menu_CloseCinematics 4 4 proc Display_CloseCinematics 4 4 line 2478 ;2477: ;2478:static void Display_CloseCinematics() { line 2480 ;2479: int i; ;2480: for (i = 0; i < menuCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1190 JUMPV LABELV $1187 line 2481 ;2481: Menu_CloseCinematics(&Menus[i]); CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus ADDP4 ARGP4 ADDRGP4 Menu_CloseCinematics CALLV pop line 2482 ;2482: } LABELV $1188 line 2480 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1190 ADDRLP4 0 INDIRI4 ADDRGP4 menuCount INDIRI4 LTI4 $1187 line 2483 ;2483:} LABELV $1186 endproc Display_CloseCinematics 4 4 export Menus_Activate proc Menus_Activate 544 8 line 2485 ;2484: ;2485:void Menus_Activate(menuDef_t *menu) { line 2486 ;2486: menu->window.flags |= (WINDOW_HASFOCUS | WINDOW_VISIBLE); ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 6 BORI4 ASGNI4 line 2487 ;2487: if (menu->onOpen) { ADDRFP4 0 INDIRP4 CNSTI4 212 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1192 line 2489 ;2488: itemDef_t item; ;2489: item.parent = menu; ADDRLP4 4+228 ADDRFP4 0 INDIRP4 ASGNP4 line 2490 ;2490: Item_RunScript(&item, menu->onOpen); ADDRLP4 4 ARGP4 ADDRFP4 0 INDIRP4 CNSTI4 212 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_RunScript CALLV pop line 2491 ;2491: } LABELV $1192 line 2493 ;2492: ;2493: if (menu->soundName && *menu->soundName) { ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 ASGNP4 ADDRLP4 4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1195 ADDRLP4 4 INDIRP4 INDIRI1 CVII4 1 CNSTI4 0 EQI4 $1195 line 2495 ;2494:// DC->stopBackgroundTrack(); // you don't want to do this since it will reset s_rawend ;2495: DC->startBackgroundTrack(menu->soundName, menu->soundName); ADDRLP4 8 ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 ASGNP4 ADDRLP4 8 INDIRP4 ARGP4 ADDRLP4 8 INDIRP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 172 ADDP4 INDIRP4 CALLV pop line 2496 ;2496: } LABELV $1195 line 2498 ;2497: ;2498: Display_CloseCinematics(); ADDRGP4 Display_CloseCinematics CALLV pop line 2500 ;2499: ;2500:} LABELV $1191 endproc Menus_Activate 544 8 export Display_VisibleMenuCount proc Display_VisibleMenuCount 8 0 line 2502 ;2501: ;2502:int Display_VisibleMenuCount() { line 2504 ;2503: int i, count; ;2504: count = 0; ADDRLP4 4 CNSTI4 0 ASGNI4 line 2505 ;2505: for (i = 0; i < menuCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1201 JUMPV LABELV $1198 line 2506 ;2506: if (Menus[i].window.flags & (WINDOW_FORCED | WINDOW_VISIBLE)) { CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus+68 ADDP4 INDIRI4 CNSTI4 1048580 BANDI4 CNSTI4 0 EQI4 $1202 line 2507 ;2507: count++; ADDRLP4 4 ADDRLP4 4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 2508 ;2508: } LABELV $1202 line 2509 ;2509: } LABELV $1199 line 2505 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1201 ADDRLP4 0 INDIRI4 ADDRGP4 menuCount INDIRI4 LTI4 $1198 line 2510 ;2510: return count; ADDRLP4 4 INDIRI4 RETI4 LABELV $1197 endproc Display_VisibleMenuCount 8 0 export Menus_HandleOOBClick proc Menus_HandleOOBClick 24 12 line 2513 ;2511:} ;2512: ;2513:void Menus_HandleOOBClick(menuDef_t *menu, int key, qboolean down) { line 2514 ;2514: if (menu) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1206 line 2519 ;2515: int i; ;2516: // basically the behaviour we are looking for is if there are windows in the stack.. see if ;2517: // the cursor is within any of them.. if not close them otherwise activate them and pass the ;2518: // key on.. force a mouse move to activate focus and script stuff ;2519: if (down && menu->window.flags & WINDOW_OOB_CLICK) { ADDRLP4 4 CNSTI4 0 ASGNI4 ADDRFP4 8 INDIRI4 ADDRLP4 4 INDIRI4 EQI4 $1208 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 131072 BANDI4 ADDRLP4 4 INDIRI4 EQI4 $1208 line 2520 ;2520: Menu_RunCloseScript(menu); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Menu_RunCloseScript CALLV pop line 2521 ;2521: menu->window.flags &= ~(WINDOW_HASFOCUS | WINDOW_VISIBLE); ADDRLP4 8 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 8 INDIRP4 ADDRLP4 8 INDIRP4 INDIRI4 CNSTI4 -7 BANDI4 ASGNI4 line 2522 ;2522: } LABELV $1208 line 2524 ;2523: ;2524: for (i = 0; i < menuCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1213 JUMPV LABELV $1210 line 2525 ;2525: if (Menu_OverActiveItem(&Menus[i], DC->cursorx, DC->cursory)) { CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus ADDP4 ARGP4 ADDRLP4 8 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 8 INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 8 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 12 ADDRGP4 Menu_OverActiveItem CALLI4 ASGNI4 ADDRLP4 12 INDIRI4 CNSTI4 0 EQI4 $1214 line 2526 ;2526: Menu_RunCloseScript(menu); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Menu_RunCloseScript CALLV pop line 2527 ;2527: menu->window.flags &= ~(WINDOW_HASFOCUS | WINDOW_VISIBLE); ADDRLP4 16 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 16 INDIRP4 ADDRLP4 16 INDIRP4 INDIRI4 CNSTI4 -7 BANDI4 ASGNI4 line 2528 ;2528: Menus_Activate(&Menus[i]); CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus ADDP4 ARGP4 ADDRGP4 Menus_Activate CALLV pop line 2529 ;2529: Menu_HandleMouseMove(&Menus[i], DC->cursorx, DC->cursory); CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus ADDP4 ARGP4 ADDRLP4 20 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 20 INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 20 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRGP4 Menu_HandleMouseMove CALLV pop line 2530 ;2530: Menu_HandleKey(&Menus[i], key, down); CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus ADDP4 ARGP4 ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 8 INDIRI4 ARGI4 ADDRGP4 Menu_HandleKey CALLV pop line 2531 ;2531: } LABELV $1214 line 2532 ;2532: } LABELV $1211 line 2524 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1213 ADDRLP4 0 INDIRI4 ADDRGP4 menuCount INDIRI4 LTI4 $1210 line 2534 ;2533: ;2534: if (Display_VisibleMenuCount() == 0) { ADDRLP4 8 ADDRGP4 Display_VisibleMenuCount CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 NEI4 $1216 line 2535 ;2535: if (DC->Pause) { ADDRGP4 DC INDIRP4 CNSTI4 160 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1218 line 2536 ;2536: DC->Pause(qfalse); CNSTI4 0 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 160 ADDP4 INDIRP4 CALLV pop line 2537 ;2537: } LABELV $1218 line 2538 ;2538: } LABELV $1216 line 2539 ;2539: Display_CloseCinematics(); ADDRGP4 Display_CloseCinematics CALLV pop line 2540 ;2540: } LABELV $1206 line 2541 ;2541:} LABELV $1205 endproc Menus_HandleOOBClick 24 12 bss align 4 LABELV $1221 skip 16 code proc Item_CorrectedTextRect 4 12 line 2543 ;2542: ;2543:static rectDef_t *Item_CorrectedTextRect(itemDef_t *item) { line 2545 ;2544: static rectDef_t rect; ;2545: memset(&rect, 0, sizeof(rectDef_t)); ADDRGP4 $1221 ARGP4 CNSTI4 0 ARGI4 CNSTI4 16 ARGI4 ADDRGP4 memset CALLP4 pop line 2546 ;2546: if (item) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1222 line 2547 ;2547: rect = item->textRect; ADDRGP4 $1221 ADDRFP4 0 INDIRP4 CNSTI4 180 ADDP4 INDIRB ASGNB 16 line 2548 ;2548: if (rect.w) { ADDRGP4 $1221+8 INDIRF4 CNSTF4 0 EQF4 $1224 line 2549 ;2549: rect.y -= rect.h; ADDRLP4 0 ADDRGP4 $1221+4 ASGNP4 ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRF4 ADDRGP4 $1221+12 INDIRF4 SUBF4 ASGNF4 line 2550 ;2550: } LABELV $1224 line 2551 ;2551: } LABELV $1222 line 2552 ;2552: return ▭ ADDRGP4 $1221 RETP4 LABELV $1220 endproc Item_CorrectedTextRect 4 12 data align 4 LABELV $1250 byte 4 0 export Menu_HandleKey code proc Menu_HandleKey 628 12 line 2555 ;2553:} ;2554: ;2555:void Menu_HandleKey(menuDef_t *menu, int key, qboolean down) { line 2557 ;2556: int i; ;2557: itemDef_t *item = NULL; ADDRLP4 4 CNSTP4 0 ASGNP4 line 2558 ;2558: qboolean inHandler = qfalse; ADDRLP4 8 CNSTI4 0 ASGNI4 line 2560 ;2559: ;2560: if (inHandler) { ADDRLP4 8 INDIRI4 CNSTI4 0 EQI4 $1230 line 2561 ;2561: return; ADDRGP4 $1229 JUMPV LABELV $1230 line 2564 ;2562: } ;2563: ;2564: inHandler = qtrue; ADDRLP4 8 CNSTI4 1 ASGNI4 line 2565 ;2565: if (g_waitingForKey && down) { ADDRLP4 12 CNSTI4 0 ASGNI4 ADDRGP4 g_waitingForKey INDIRI4 ADDRLP4 12 INDIRI4 EQI4 $1232 ADDRFP4 8 INDIRI4 ADDRLP4 12 INDIRI4 EQI4 $1232 line 2566 ;2566: Item_Bind_HandleKey(g_bindItem, key, down); ADDRGP4 g_bindItem INDIRP4 ARGP4 ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 8 INDIRI4 ARGI4 ADDRGP4 Item_Bind_HandleKey CALLI4 pop line 2567 ;2567: inHandler = qfalse; ADDRLP4 8 CNSTI4 0 ASGNI4 line 2568 ;2568: return; ADDRGP4 $1229 JUMPV LABELV $1232 line 2571 ;2569: } ;2570: ;2571: if (g_editingField && down) { ADDRLP4 16 CNSTI4 0 ASGNI4 ADDRGP4 g_editingField INDIRI4 ADDRLP4 16 INDIRI4 EQI4 $1234 ADDRFP4 8 INDIRI4 ADDRLP4 16 INDIRI4 EQI4 $1234 line 2572 ;2572: if (!Item_TextField_HandleKey(g_editItem, key)) { ADDRGP4 g_editItem INDIRP4 ARGP4 ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 20 ADDRGP4 Item_TextField_HandleKey CALLI4 ASGNI4 ADDRLP4 20 INDIRI4 CNSTI4 0 NEI4 $1236 line 2573 ;2573: g_editingField = qfalse; ADDRGP4 g_editingField CNSTI4 0 ASGNI4 line 2574 ;2574: g_editItem = NULL; ADDRGP4 g_editItem CNSTP4 0 ASGNP4 line 2575 ;2575: inHandler = qfalse; ADDRLP4 8 CNSTI4 0 ASGNI4 line 2576 ;2576: return; ADDRGP4 $1229 JUMPV LABELV $1236 line 2577 ;2577: } else if (key == K_MOUSE1 || key == K_MOUSE2 || key == K_MOUSE3) { ADDRLP4 24 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 24 INDIRI4 CNSTI4 178 EQI4 $1241 ADDRLP4 24 INDIRI4 CNSTI4 179 EQI4 $1241 ADDRLP4 24 INDIRI4 CNSTI4 180 NEI4 $1238 LABELV $1241 line 2578 ;2578: g_editingField = qfalse; ADDRGP4 g_editingField CNSTI4 0 ASGNI4 line 2579 ;2579: g_editItem = NULL; ADDRGP4 g_editItem CNSTP4 0 ASGNP4 line 2580 ;2580: Display_MouseMove(NULL, DC->cursorx, DC->cursory); CNSTP4 0 ARGP4 ADDRLP4 28 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 28 INDIRP4 CNSTI4 216 ADDP4 INDIRI4 ARGI4 ADDRLP4 28 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 Display_MouseMove CALLI4 pop line 2581 ;2581: } else if (key == K_TAB || key == K_UPARROW || key == K_DOWNARROW) { ADDRGP4 $1239 JUMPV LABELV $1238 ADDRLP4 28 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 28 INDIRI4 CNSTI4 9 EQI4 $1245 ADDRLP4 28 INDIRI4 CNSTI4 132 EQI4 $1245 ADDRLP4 28 INDIRI4 CNSTI4 133 NEI4 $1242 LABELV $1245 line 2582 ;2582: return; ADDRGP4 $1229 JUMPV LABELV $1242 LABELV $1239 line 2584 ;2583: } ;2584: } LABELV $1234 line 2586 ;2585: ;2586: if (menu == NULL) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1246 line 2587 ;2587: inHandler = qfalse; ADDRLP4 8 CNSTI4 0 ASGNI4 line 2588 ;2588: return; ADDRGP4 $1229 JUMPV LABELV $1246 line 2592 ;2589: } ;2590: ;2591: // see if the mouse is within the window bounds and if so is this a mouse click ;2592: if (down && !(menu->window.flags & WINDOW_POPUP) && !Rect_ContainsPoint(&menu->window.rect, DC->cursorx, DC->cursory)) { ADDRLP4 20 CNSTI4 0 ASGNI4 ADDRFP4 8 INDIRI4 ADDRLP4 20 INDIRI4 EQI4 $1248 ADDRLP4 24 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 24 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 2097152 BANDI4 ADDRLP4 20 INDIRI4 NEI4 $1248 ADDRLP4 24 INDIRP4 ARGP4 ADDRLP4 28 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 28 INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 28 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 32 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 32 INDIRI4 CNSTI4 0 NEI4 $1248 line 2595 ;2593: static qboolean inHandleKey = qfalse; ;2594: // bk001206 - parentheses ;2595: if (!inHandleKey && ( key == K_MOUSE1 || key == K_MOUSE2 || key == K_MOUSE3 ) ) { ADDRGP4 $1250 INDIRI4 CNSTI4 0 NEI4 $1251 ADDRLP4 36 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 36 INDIRI4 CNSTI4 178 EQI4 $1254 ADDRLP4 36 INDIRI4 CNSTI4 179 EQI4 $1254 ADDRLP4 36 INDIRI4 CNSTI4 180 NEI4 $1251 LABELV $1254 line 2596 ;2596: inHandleKey = qtrue; ADDRGP4 $1250 CNSTI4 1 ASGNI4 line 2597 ;2597: Menus_HandleOOBClick(menu, key, down); ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 8 INDIRI4 ARGI4 ADDRGP4 Menus_HandleOOBClick CALLV pop line 2598 ;2598: inHandleKey = qfalse; ADDRGP4 $1250 CNSTI4 0 ASGNI4 line 2599 ;2599: inHandler = qfalse; ADDRLP4 8 CNSTI4 0 ASGNI4 line 2600 ;2600: return; ADDRGP4 $1229 JUMPV LABELV $1251 line 2602 ;2601: } ;2602: } LABELV $1248 line 2605 ;2603: ;2604: // get the item with focus ;2605: for (i = 0; i < menu->itemCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1258 JUMPV LABELV $1255 line 2606 ;2606: if (menu->items[i]->window.flags & WINDOW_HASFOCUS) { ADDRLP4 36 CNSTI4 2 ASGNI4 ADDRLP4 0 INDIRI4 ADDRLP4 36 INDIRI4 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 ADDRLP4 36 INDIRI4 BANDI4 CNSTI4 0 EQI4 $1259 line 2607 ;2607: item = menu->items[i]; ADDRLP4 4 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ASGNP4 line 2608 ;2608: } LABELV $1259 line 2609 ;2609: } LABELV $1256 line 2605 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1258 ADDRLP4 0 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $1255 line 2611 ;2610: ;2611: if (item != NULL) { ADDRLP4 4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1261 line 2612 ;2612: if (Item_HandleKey(item, key, down)) { ADDRLP4 4 INDIRP4 ARGP4 ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 8 INDIRI4 ARGI4 ADDRLP4 36 ADDRGP4 Item_HandleKey CALLI4 ASGNI4 ADDRLP4 36 INDIRI4 CNSTI4 0 EQI4 $1263 line 2613 ;2613: Item_Action(item); ADDRLP4 4 INDIRP4 ARGP4 ADDRGP4 Item_Action CALLV pop line 2614 ;2614: inHandler = qfalse; ADDRLP4 8 CNSTI4 0 ASGNI4 line 2615 ;2615: return; ADDRGP4 $1229 JUMPV LABELV $1263 line 2617 ;2616: } ;2617: } LABELV $1261 line 2619 ;2618: ;2619: if (!down) { ADDRFP4 8 INDIRI4 CNSTI4 0 NEI4 $1265 line 2620 ;2620: inHandler = qfalse; ADDRLP4 8 CNSTI4 0 ASGNI4 line 2621 ;2621: return; ADDRGP4 $1229 JUMPV LABELV $1265 line 2625 ;2622: } ;2623: ;2624: // default handling ;2625: switch ( key ) { ADDRLP4 36 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 36 INDIRI4 CNSTI4 155 EQI4 $1269 ADDRLP4 40 CNSTI4 156 ASGNI4 ADDRLP4 36 INDIRI4 ADDRLP4 40 INDIRI4 EQI4 $1273 ADDRLP4 36 INDIRI4 ADDRLP4 40 INDIRI4 GTI4 $1305 LABELV $1304 ADDRLP4 44 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 48 CNSTI4 13 ASGNI4 ADDRLP4 44 INDIRI4 ADDRLP4 48 INDIRI4 EQI4 $1298 ADDRLP4 44 INDIRI4 ADDRLP4 48 INDIRI4 GTI4 $1307 LABELV $1306 ADDRFP4 4 INDIRI4 CNSTI4 9 EQI4 $1282 ADDRGP4 $1267 JUMPV LABELV $1307 ADDRLP4 52 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 56 CNSTI4 27 ASGNI4 ADDRLP4 52 INDIRI4 ADDRLP4 56 INDIRI4 EQI4 $1278 ADDRLP4 52 INDIRI4 ADDRLP4 56 INDIRI4 LTI4 $1267 LABELV $1308 ADDRLP4 60 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 60 INDIRI4 CNSTI4 132 EQI4 $1277 ADDRLP4 60 INDIRI4 CNSTI4 133 EQI4 $1282 ADDRGP4 $1267 JUMPV LABELV $1305 ADDRLP4 64 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 64 INDIRI4 CNSTI4 167 EQI4 $1282 ADDRLP4 68 CNSTI4 169 ASGNI4 ADDRLP4 64 INDIRI4 ADDRLP4 68 INDIRI4 EQI4 $1298 ADDRLP4 64 INDIRI4 ADDRLP4 68 INDIRI4 GTI4 $1310 LABELV $1309 ADDRFP4 4 INDIRI4 CNSTI4 161 EQI4 $1277 ADDRGP4 $1267 JUMPV LABELV $1310 ADDRLP4 72 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 72 INDIRI4 CNSTI4 178 LTI4 $1267 ADDRLP4 72 INDIRI4 CNSTI4 188 GTI4 $1311 ADDRLP4 72 INDIRI4 CNSTI4 2 LSHI4 ADDRGP4 $1312-712 ADDP4 INDIRP4 JUMPV lit align 4 LABELV $1312 address $1283 address $1283 address $1267 address $1267 address $1267 address $1267 address $1267 address $1268 address $1268 address $1268 address $1268 code LABELV $1311 ADDRLP4 76 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 76 INDIRI4 CNSTI4 217 LTI4 $1267 ADDRLP4 76 INDIRI4 CNSTI4 232 GTI4 $1267 ADDRLP4 76 INDIRI4 CNSTI4 2 LSHI4 ADDRGP4 $1314-868 ADDP4 INDIRP4 JUMPV lit align 4 LABELV $1314 address $1268 address $1268 address $1268 address $1268 address $1268 address $1268 address $1268 address $1268 address $1268 address $1268 address $1268 address $1268 address $1268 address $1268 address $1268 address $1268 code LABELV $1269 line 2628 ;2626: ;2627: case K_F11: ;2628: if (DC->getCVarValue("developer")) { ADDRGP4 $1272 ARGP4 ADDRLP4 80 ADDRGP4 DC INDIRP4 CNSTI4 92 ADDP4 INDIRP4 CALLF4 ASGNF4 ADDRLP4 80 INDIRF4 CNSTF4 0 EQF4 $1268 line 2629 ;2629: debugMode ^= 1; ADDRLP4 84 ADDRGP4 debugMode ASGNP4 ADDRLP4 84 INDIRP4 ADDRLP4 84 INDIRP4 INDIRI4 CNSTI4 1 BXORI4 ASGNI4 line 2630 ;2630: } line 2631 ;2631: break; ADDRGP4 $1268 JUMPV LABELV $1273 line 2634 ;2632: ;2633: case K_F12: ;2634: if (DC->getCVarValue("developer")) { ADDRGP4 $1272 ARGP4 ADDRLP4 84 ADDRGP4 DC INDIRP4 CNSTI4 92 ADDP4 INDIRP4 CALLF4 ASGNF4 ADDRLP4 84 INDIRF4 CNSTF4 0 EQF4 $1268 line 2635 ;2635: DC->executeText(EXEC_APPEND, "screenshot\n"); CNSTI4 2 ARGI4 ADDRGP4 $1276 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 148 ADDP4 INDIRP4 CALLV pop line 2636 ;2636: } line 2637 ;2637: break; ADDRGP4 $1268 JUMPV LABELV $1277 line 2640 ;2638: case K_KP_UPARROW: ;2639: case K_UPARROW: ;2640: Menu_SetPrevCursorItem(menu); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Menu_SetPrevCursorItem CALLP4 pop line 2641 ;2641: break; ADDRGP4 $1268 JUMPV LABELV $1278 line 2644 ;2642: ;2643: case K_ESCAPE: ;2644: if (!g_waitingForKey && menu->onESC) { ADDRGP4 g_waitingForKey INDIRI4 CNSTI4 0 NEI4 $1268 ADDRFP4 0 INDIRP4 CNSTI4 220 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1268 line 2646 ;2645: itemDef_t it; ;2646: it.parent = menu; ADDRLP4 88+228 ADDRFP4 0 INDIRP4 ASGNP4 line 2647 ;2647: Item_RunScript(&it, menu->onESC); ADDRLP4 88 ARGP4 ADDRFP4 0 INDIRP4 CNSTI4 220 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_RunScript CALLV pop line 2648 ;2648: } line 2649 ;2649: break; ADDRGP4 $1268 JUMPV LABELV $1282 line 2653 ;2650: case K_TAB: ;2651: case K_KP_DOWNARROW: ;2652: case K_DOWNARROW: ;2653: Menu_SetNextCursorItem(menu); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Menu_SetNextCursorItem CALLP4 pop line 2654 ;2654: break; ADDRGP4 $1268 JUMPV LABELV $1283 line 2658 ;2655: ;2656: case K_MOUSE1: ;2657: case K_MOUSE2: ;2658: if (item) { ADDRLP4 4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1268 line 2659 ;2659: if (item->type == ITEM_TYPE_TEXT) { ADDRLP4 4 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 0 NEI4 $1286 line 2660 ;2660: if (Rect_ContainsPoint(Item_CorrectedTextRect(item), DC->cursorx, DC->cursory)) { ADDRLP4 4 INDIRP4 ARGP4 ADDRLP4 88 ADDRGP4 Item_CorrectedTextRect CALLP4 ASGNP4 ADDRLP4 88 INDIRP4 ARGP4 ADDRLP4 92 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 92 INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 92 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 96 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 96 INDIRI4 CNSTI4 0 EQI4 $1268 line 2661 ;2661: Item_Action(item); ADDRLP4 4 INDIRP4 ARGP4 ADDRGP4 Item_Action CALLV pop line 2662 ;2662: } line 2663 ;2663: } else if (item->type == ITEM_TYPE_EDITFIELD || item->type == ITEM_TYPE_NUMERICFIELD) { ADDRGP4 $1268 JUMPV LABELV $1286 ADDRLP4 88 ADDRLP4 4 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 ASGNI4 ADDRLP4 88 INDIRI4 CNSTI4 4 EQI4 $1292 ADDRLP4 88 INDIRI4 CNSTI4 9 NEI4 $1290 LABELV $1292 line 2664 ;2664: if (Rect_ContainsPoint(&item->window.rect, DC->cursorx, DC->cursory)) { ADDRLP4 4 INDIRP4 ARGP4 ADDRLP4 92 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 92 INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 92 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 96 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 96 INDIRI4 CNSTI4 0 EQI4 $1268 line 2665 ;2665: item->cursorPos = 0; ADDRLP4 4 INDIRP4 CNSTI4 532 ADDP4 CNSTI4 0 ASGNI4 line 2666 ;2666: g_editingField = qtrue; ADDRGP4 g_editingField CNSTI4 1 ASGNI4 line 2667 ;2667: g_editItem = item; ADDRGP4 g_editItem ADDRLP4 4 INDIRP4 ASGNP4 line 2668 ;2668: DC->setOverstrikeMode(qtrue); CNSTI4 1 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 104 ADDP4 INDIRP4 CALLV pop line 2669 ;2669: } line 2670 ;2670: } else { ADDRGP4 $1268 JUMPV LABELV $1290 line 2671 ;2671: if (Rect_ContainsPoint(&item->window.rect, DC->cursorx, DC->cursory)) { ADDRLP4 4 INDIRP4 ARGP4 ADDRLP4 92 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 92 INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 92 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 96 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 96 INDIRI4 CNSTI4 0 EQI4 $1268 line 2672 ;2672: Item_Action(item); ADDRLP4 4 INDIRP4 ARGP4 ADDRGP4 Item_Action CALLV pop line 2673 ;2673: } line 2674 ;2674: } line 2675 ;2675: } line 2676 ;2676: break; ADDRGP4 $1268 JUMPV line 2698 ;2677: ;2678: case K_JOY1: ;2679: case K_JOY2: ;2680: case K_JOY3: ;2681: case K_JOY4: ;2682: case K_AUX1: ;2683: case K_AUX2: ;2684: case K_AUX3: ;2685: case K_AUX4: ;2686: case K_AUX5: ;2687: case K_AUX6: ;2688: case K_AUX7: ;2689: case K_AUX8: ;2690: case K_AUX9: ;2691: case K_AUX10: ;2692: case K_AUX11: ;2693: case K_AUX12: ;2694: case K_AUX13: ;2695: case K_AUX14: ;2696: case K_AUX15: ;2697: case K_AUX16: ;2698: break; LABELV $1298 line 2701 ;2699: case K_KP_ENTER: ;2700: case K_ENTER: ;2701: if (item) { ADDRLP4 4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1268 line 2702 ;2702: if (item->type == ITEM_TYPE_EDITFIELD || item->type == ITEM_TYPE_NUMERICFIELD) { ADDRLP4 88 ADDRLP4 4 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 ASGNI4 ADDRLP4 88 INDIRI4 CNSTI4 4 EQI4 $1303 ADDRLP4 88 INDIRI4 CNSTI4 9 NEI4 $1301 LABELV $1303 line 2703 ;2703: item->cursorPos = 0; ADDRLP4 4 INDIRP4 CNSTI4 532 ADDP4 CNSTI4 0 ASGNI4 line 2704 ;2704: g_editingField = qtrue; ADDRGP4 g_editingField CNSTI4 1 ASGNI4 line 2705 ;2705: g_editItem = item; ADDRGP4 g_editItem ADDRLP4 4 INDIRP4 ASGNP4 line 2706 ;2706: DC->setOverstrikeMode(qtrue); CNSTI4 1 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 104 ADDP4 INDIRP4 CALLV pop line 2707 ;2707: } else { ADDRGP4 $1268 JUMPV LABELV $1301 line 2708 ;2708: Item_Action(item); ADDRLP4 4 INDIRP4 ARGP4 ADDRGP4 Item_Action CALLV pop line 2709 ;2709: } line 2710 ;2710: } line 2711 ;2711: break; LABELV $1267 LABELV $1268 line 2713 ;2712: } ;2713: inHandler = qfalse; ADDRLP4 8 CNSTI4 0 ASGNI4 line 2714 ;2714:} LABELV $1229 endproc Menu_HandleKey 628 12 export ToWindowCoords proc ToWindowCoords 8 0 line 2716 ;2715: ;2716:void ToWindowCoords(float *x, float *y, windowDef_t *window) { line 2717 ;2717: if (window->border != 0) { ADDRFP4 8 INDIRP4 CNSTI4 52 ADDP4 INDIRI4 CNSTI4 0 EQI4 $1317 line 2718 ;2718: *x += window->borderSize; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRF4 ADDRFP4 8 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 ADDF4 ASGNF4 line 2719 ;2719: *y += window->borderSize; ADDRLP4 4 ADDRFP4 4 INDIRP4 ASGNP4 ADDRLP4 4 INDIRP4 ADDRLP4 4 INDIRP4 INDIRF4 ADDRFP4 8 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 ADDF4 ASGNF4 line 2720 ;2720: } LABELV $1317 line 2721 ;2721: *x += window->rect.x; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRF4 ADDRFP4 8 INDIRP4 INDIRF4 ADDF4 ASGNF4 line 2722 ;2722: *y += window->rect.y; ADDRLP4 4 ADDRFP4 4 INDIRP4 ASGNP4 ADDRLP4 4 INDIRP4 ADDRLP4 4 INDIRP4 INDIRF4 ADDRFP4 8 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ADDF4 ASGNF4 line 2723 ;2723:} LABELV $1316 endproc ToWindowCoords 8 0 export Rect_ToWindowCoords proc Rect_ToWindowCoords 4 12 line 2725 ;2724: ;2725:void Rect_ToWindowCoords(rectDef_t *rect, windowDef_t *window) { line 2726 ;2726: ToWindowCoords(&rect->x, &rect->y, window); ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 ARGP4 ADDRFP4 4 INDIRP4 ARGP4 ADDRGP4 ToWindowCoords CALLV pop line 2727 ;2727:} LABELV $1319 endproc Rect_ToWindowCoords 4 12 export Item_SetTextExtents proc Item_SetTextExtents 296 12 line 2729 ;2728: ;2729:void Item_SetTextExtents(itemDef_t *item, int *width, int *height, const char *text) { line 2730 ;2730: const char *textPtr = (text) ? text : item->text; ADDRFP4 12 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1322 ADDRLP4 4 ADDRFP4 12 INDIRP4 ASGNP4 ADDRGP4 $1323 JUMPV LABELV $1322 ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 ASGNP4 LABELV $1323 ADDRLP4 0 ADDRLP4 4 INDIRP4 ASGNP4 line 2732 ;2731: ;2732: if (textPtr == NULL ) { ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1324 line 2733 ;2733: return; ADDRGP4 $1320 JUMPV LABELV $1324 line 2736 ;2734: } ;2735: ;2736: *width = item->textRect.w; ADDRFP4 4 INDIRP4 ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRF4 CVFI4 4 ASGNI4 line 2737 ;2737: *height = item->textRect.h; ADDRFP4 8 INDIRP4 ADDRFP4 0 INDIRP4 CNSTI4 192 ADDP4 INDIRF4 CVFI4 4 ASGNI4 line 2740 ;2738: ;2739: // keeps us from computing the widths and heights more than once ;2740: if (*width == 0 || (item->type == ITEM_TYPE_OWNERDRAW && item->textalignment == ITEM_ALIGN_CENTER)) { ADDRFP4 4 INDIRP4 INDIRI4 CNSTI4 0 EQI4 $1328 ADDRLP4 8 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 8 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 8 NEI4 $1326 ADDRLP4 8 INDIRP4 CNSTI4 204 ADDP4 INDIRI4 CNSTI4 1 NEI4 $1326 LABELV $1328 line 2741 ;2741: int originalWidth = DC->textWidth(item->text, item->textscale, 0); ADDRLP4 16 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 16 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 ARGP4 ADDRLP4 16 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 CNSTI4 0 ARGI4 ADDRLP4 20 ADDRGP4 DC INDIRP4 CNSTI4 20 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 12 ADDRLP4 20 INDIRI4 ASGNI4 line 2743 ;2742: ;2743: if (item->type == ITEM_TYPE_OWNERDRAW && (item->textalignment == ITEM_ALIGN_CENTER || item->textalignment == ITEM_ALIGN_RIGHT)) { ADDRLP4 24 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 24 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 8 NEI4 $1329 ADDRLP4 28 ADDRLP4 24 INDIRP4 CNSTI4 204 ADDP4 INDIRI4 ASGNI4 ADDRLP4 28 INDIRI4 CNSTI4 1 EQI4 $1331 ADDRLP4 28 INDIRI4 CNSTI4 2 NEI4 $1329 LABELV $1331 line 2744 ;2744: originalWidth += DC->ownerDrawWidth(item->window.ownerDraw, item->textscale); ADDRLP4 32 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 32 INDIRP4 CNSTI4 56 ADDP4 INDIRI4 ARGI4 ADDRLP4 32 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 36 ADDRGP4 DC INDIRP4 CNSTI4 164 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 12 ADDRLP4 12 INDIRI4 ADDRLP4 36 INDIRI4 ADDI4 ASGNI4 line 2745 ;2745: } else if (item->type == ITEM_TYPE_EDITFIELD && item->textalignment == ITEM_ALIGN_CENTER && item->cvar) { ADDRGP4 $1330 JUMPV LABELV $1329 ADDRLP4 32 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 32 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 4 NEI4 $1332 ADDRLP4 32 INDIRP4 CNSTI4 204 ADDP4 INDIRI4 CNSTI4 1 NEI4 $1332 ADDRLP4 32 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1332 line 2747 ;2746: char buff[256]; ;2747: DC->getCVarString(item->cvar, buff, 256); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 36 ARGP4 CNSTI4 256 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 88 ADDP4 INDIRP4 CALLV pop line 2748 ;2748: originalWidth += DC->textWidth(buff, item->textscale, 0); ADDRLP4 36 ARGP4 ADDRFP4 0 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 CNSTI4 0 ARGI4 ADDRLP4 292 ADDRGP4 DC INDIRP4 CNSTI4 20 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 12 ADDRLP4 12 INDIRI4 ADDRLP4 292 INDIRI4 ADDI4 ASGNI4 line 2749 ;2749: } LABELV $1332 LABELV $1330 line 2751 ;2750: ;2751: *width = DC->textWidth(textPtr, item->textscale, 0); ADDRLP4 0 INDIRP4 ARGP4 ADDRFP4 0 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 CNSTI4 0 ARGI4 ADDRLP4 36 ADDRGP4 DC INDIRP4 CNSTI4 20 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRFP4 4 INDIRP4 ADDRLP4 36 INDIRI4 ASGNI4 line 2752 ;2752: *height = DC->textHeight(textPtr, item->textscale, 0); ADDRLP4 0 INDIRP4 ARGP4 ADDRFP4 0 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 CNSTI4 0 ARGI4 ADDRLP4 40 ADDRGP4 DC INDIRP4 CNSTI4 24 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRFP4 8 INDIRP4 ADDRLP4 40 INDIRI4 ASGNI4 line 2753 ;2753: item->textRect.w = *width; ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 ADDRFP4 4 INDIRP4 INDIRI4 CVIF4 4 ASGNF4 line 2754 ;2754: item->textRect.h = *height; ADDRFP4 0 INDIRP4 CNSTI4 192 ADDP4 ADDRFP4 8 INDIRP4 INDIRI4 CVIF4 4 ASGNF4 line 2755 ;2755: item->textRect.x = item->textalignx; ADDRLP4 44 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 44 INDIRP4 CNSTI4 180 ADDP4 ADDRLP4 44 INDIRP4 CNSTI4 208 ADDP4 INDIRF4 ASGNF4 line 2756 ;2756: item->textRect.y = item->textaligny; ADDRLP4 48 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 48 INDIRP4 CNSTI4 184 ADDP4 ADDRLP4 48 INDIRP4 CNSTI4 212 ADDP4 INDIRF4 ASGNF4 line 2757 ;2757: if (item->textalignment == ITEM_ALIGN_RIGHT) { ADDRFP4 0 INDIRP4 CNSTI4 204 ADDP4 INDIRI4 CNSTI4 2 NEI4 $1334 line 2758 ;2758: item->textRect.x = item->textalignx - originalWidth; ADDRLP4 52 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 52 INDIRP4 CNSTI4 180 ADDP4 ADDRLP4 52 INDIRP4 CNSTI4 208 ADDP4 INDIRF4 ADDRLP4 12 INDIRI4 CVIF4 4 SUBF4 ASGNF4 line 2759 ;2759: } else if (item->textalignment == ITEM_ALIGN_CENTER) { ADDRGP4 $1335 JUMPV LABELV $1334 ADDRFP4 0 INDIRP4 CNSTI4 204 ADDP4 INDIRI4 CNSTI4 1 NEI4 $1336 line 2760 ;2760: item->textRect.x = item->textalignx - originalWidth / 2; ADDRLP4 52 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 52 INDIRP4 CNSTI4 180 ADDP4 ADDRLP4 52 INDIRP4 CNSTI4 208 ADDP4 INDIRF4 ADDRLP4 12 INDIRI4 CNSTI4 2 DIVI4 CVIF4 4 SUBF4 ASGNF4 line 2761 ;2761: } LABELV $1336 LABELV $1335 line 2763 ;2762: ;2763: ToWindowCoords(&item->textRect.x, &item->textRect.y, &item->window); ADDRLP4 52 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 52 INDIRP4 CNSTI4 180 ADDP4 ARGP4 ADDRLP4 52 INDIRP4 CNSTI4 184 ADDP4 ARGP4 ADDRLP4 52 INDIRP4 ARGP4 ADDRGP4 ToWindowCoords CALLV pop line 2764 ;2764: } LABELV $1326 line 2765 ;2765:} LABELV $1320 endproc Item_SetTextExtents 296 12 export Item_TextColor proc Item_TextColor 60 28 line 2767 ;2766: ;2767:void Item_TextColor(itemDef_t *item, vec4_t *newColor) { line 2769 ;2768: vec4_t lowLight; ;2769: menuDef_t *parent = (menuDef_t*)item->parent; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ASGNP4 line 2771 ;2770: ;2771: Fade(&item->window.flags, &item->window.foreColor[3], parent->fadeClamp, &item->window.nextTime, parent->fadeCycle, qtrue, parent->fadeAmount); ADDRLP4 20 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 20 INDIRP4 CNSTI4 68 ADDP4 ARGP4 ADDRLP4 20 INDIRP4 CNSTI4 124 ADDP4 ARGP4 ADDRLP4 0 INDIRP4 CNSTI4 204 ADDP4 INDIRF4 ARGF4 ADDRLP4 20 INDIRP4 CNSTI4 108 ADDP4 ARGP4 ADDRLP4 0 INDIRP4 CNSTI4 200 ADDP4 INDIRI4 ARGI4 CNSTI4 1 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 208 ADDP4 INDIRF4 ARGF4 ADDRGP4 Fade CALLV pop line 2773 ;2772: ;2773: if (item->window.flags & WINDOW_HASFOCUS) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 2 BANDI4 CNSTI4 0 EQI4 $1339 line 2774 ;2774: lowLight[0] = 0.8 * parent->focusColor[0]; ADDRLP4 4 CNSTF4 1061997773 ADDRLP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRF4 MULF4 ASGNF4 line 2775 ;2775: lowLight[1] = 0.8 * parent->focusColor[1]; ADDRLP4 4+4 CNSTF4 1061997773 ADDRLP4 0 INDIRP4 CNSTI4 232 ADDP4 INDIRF4 MULF4 ASGNF4 line 2776 ;2776: lowLight[2] = 0.8 * parent->focusColor[2]; ADDRLP4 4+8 CNSTF4 1061997773 ADDRLP4 0 INDIRP4 CNSTI4 236 ADDP4 INDIRF4 MULF4 ASGNF4 line 2777 ;2777: lowLight[3] = 0.8 * parent->focusColor[3]; ADDRLP4 4+12 CNSTF4 1061997773 ADDRLP4 0 INDIRP4 CNSTI4 240 ADDP4 INDIRF4 MULF4 ASGNF4 line 2778 ;2778: LerpColor(parent->focusColor,lowLight,*newColor,0.5+0.5*sin(DC->realTime / PULSE_DIVISOR)); ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 CNSTI4 75 DIVI4 CVIF4 4 ARGF4 ADDRLP4 28 ADDRGP4 sin CALLF4 ASGNF4 ADDRLP4 0 INDIRP4 CNSTI4 228 ADDP4 ARGP4 ADDRLP4 4 ARGP4 ADDRFP4 4 INDIRP4 ARGP4 CNSTF4 1056964608 ADDRLP4 28 INDIRF4 MULF4 CNSTF4 1056964608 ADDF4 ARGF4 ADDRGP4 LerpColor CALLV pop line 2779 ;2779: } else if (item->textStyle == ITEM_TEXTSTYLE_BLINK && !((DC->realTime/BLINK_DIVISOR) & 1)) { ADDRGP4 $1340 JUMPV LABELV $1339 ADDRLP4 28 CNSTI4 1 ASGNI4 ADDRFP4 0 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ADDRLP4 28 INDIRI4 NEI4 $1344 ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 CNSTI4 200 DIVI4 ADDRLP4 28 INDIRI4 BANDI4 CNSTI4 0 NEI4 $1344 line 2780 ;2780: lowLight[0] = 0.8 * item->window.foreColor[0]; ADDRLP4 4 CNSTF4 1061997773 ADDRFP4 0 INDIRP4 CNSTI4 112 ADDP4 INDIRF4 MULF4 ASGNF4 line 2781 ;2781: lowLight[1] = 0.8 * item->window.foreColor[1]; ADDRLP4 4+4 CNSTF4 1061997773 ADDRFP4 0 INDIRP4 CNSTI4 116 ADDP4 INDIRF4 MULF4 ASGNF4 line 2782 ;2782: lowLight[2] = 0.8 * item->window.foreColor[2]; ADDRLP4 4+8 CNSTF4 1061997773 ADDRFP4 0 INDIRP4 CNSTI4 120 ADDP4 INDIRF4 MULF4 ASGNF4 line 2783 ;2783: lowLight[3] = 0.8 * item->window.foreColor[3]; ADDRLP4 4+12 CNSTF4 1061997773 ADDRFP4 0 INDIRP4 CNSTI4 124 ADDP4 INDIRF4 MULF4 ASGNF4 line 2784 ;2784: LerpColor(item->window.foreColor,lowLight,*newColor,0.5+0.5*sin(DC->realTime / PULSE_DIVISOR)); ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 CNSTI4 75 DIVI4 CVIF4 4 ARGF4 ADDRLP4 32 ADDRGP4 sin CALLF4 ASGNF4 ADDRFP4 0 INDIRP4 CNSTI4 112 ADDP4 ARGP4 ADDRLP4 4 ARGP4 ADDRFP4 4 INDIRP4 ARGP4 CNSTF4 1056964608 ADDRLP4 32 INDIRF4 MULF4 CNSTF4 1056964608 ADDF4 ARGF4 ADDRGP4 LerpColor CALLV pop line 2785 ;2785: } else { ADDRGP4 $1345 JUMPV LABELV $1344 line 2786 ;2786: memcpy(newColor, &item->window.foreColor, sizeof(vec4_t)); ADDRFP4 4 INDIRP4 ARGP4 ADDRFP4 0 INDIRP4 CNSTI4 112 ADDP4 ARGP4 CNSTI4 16 ARGI4 ADDRGP4 memcpy CALLP4 pop line 2788 ;2787: // items can be enabled and disabled based on cvars ;2788: } LABELV $1345 LABELV $1340 line 2790 ;2789: ;2790: if (item->enableCvar && *item->enableCvar && item->cvarTest && *item->cvarTest) { ADDRLP4 32 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 36 ADDRLP4 32 INDIRP4 CNSTI4 272 ADDP4 INDIRP4 ASGNP4 ADDRLP4 40 CNSTU4 0 ASGNU4 ADDRLP4 36 INDIRP4 CVPU4 4 ADDRLP4 40 INDIRU4 EQU4 $1349 ADDRLP4 44 CNSTI4 0 ASGNI4 ADDRLP4 36 INDIRP4 INDIRI1 CVII4 1 ADDRLP4 44 INDIRI4 EQI4 $1349 ADDRLP4 48 ADDRLP4 32 INDIRP4 CNSTI4 268 ADDP4 INDIRP4 ASGNP4 ADDRLP4 48 INDIRP4 CVPU4 4 ADDRLP4 40 INDIRU4 EQU4 $1349 ADDRLP4 48 INDIRP4 INDIRI1 CVII4 1 ADDRLP4 44 INDIRI4 EQI4 $1349 line 2791 ;2791: if (item->cvarFlags & (CVAR_ENABLE | CVAR_DISABLE) && !Item_EnableShowViaCvar(item, CVAR_ENABLE)) { ADDRLP4 52 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 52 INDIRP4 CNSTI4 276 ADDP4 INDIRI4 CNSTI4 3 BANDI4 CNSTI4 0 EQI4 $1351 ADDRLP4 52 INDIRP4 ARGP4 CNSTI4 1 ARGI4 ADDRLP4 56 ADDRGP4 Item_EnableShowViaCvar CALLI4 ASGNI4 ADDRLP4 56 INDIRI4 CNSTI4 0 NEI4 $1351 line 2792 ;2792: memcpy(newColor, &parent->disableColor, sizeof(vec4_t)); ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 0 INDIRP4 CNSTI4 244 ADDP4 ARGP4 CNSTI4 16 ARGI4 ADDRGP4 memcpy CALLP4 pop line 2793 ;2793: } LABELV $1351 line 2794 ;2794: } LABELV $1349 line 2795 ;2795:} LABELV $1338 endproc Item_TextColor 60 28 export Item_Text_AutoWrapped_Paint proc Item_Text_AutoWrapped_Paint 2128 32 line 2797 ;2796: ;2797:void Item_Text_AutoWrapped_Paint(itemDef_t *item) { line 2805 ;2798: char text[1024]; ;2799: const char *p, *textPtr, *newLinePtr; ;2800: char buff[1024]; ;2801: int width, height, len, textWidth, newLine, newLineWidth; ;2802: float y; ;2803: vec4_t color; ;2804: ;2805: textWidth = 0; ADDRLP4 1032 CNSTI4 0 ASGNI4 line 2806 ;2806: newLinePtr = NULL; ADDRLP4 1044 CNSTP4 0 ASGNP4 line 2808 ;2807: ;2808: if (item->text == NULL) { ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1354 line 2809 ;2809: if (item->cvar == NULL) { ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1356 line 2810 ;2810: return; ADDRGP4 $1353 JUMPV LABELV $1356 line 2812 ;2811: } ;2812: else { line 2813 ;2813: DC->getCVarString(item->cvar, text, sizeof(text)); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 1080 ARGP4 CNSTI4 1024 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 88 ADDP4 INDIRP4 CALLV pop line 2814 ;2814: textPtr = text; ADDRLP4 1056 ADDRLP4 1080 ASGNP4 line 2815 ;2815: } line 2816 ;2816: } ADDRGP4 $1355 JUMPV LABELV $1354 line 2817 ;2817: else { line 2818 ;2818: textPtr = item->text; ADDRLP4 1056 ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 ASGNP4 line 2819 ;2819: } LABELV $1355 line 2820 ;2820: if (*textPtr == '\0') { ADDRLP4 1056 INDIRP4 INDIRI1 CVII4 1 CNSTI4 0 NEI4 $1358 line 2821 ;2821: return; ADDRGP4 $1353 JUMPV LABELV $1358 line 2823 ;2822: } ;2823: Item_TextColor(item, &color); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 1060 ARGP4 ADDRGP4 Item_TextColor CALLV pop line 2824 ;2824: Item_SetTextExtents(item, &width, &height, textPtr); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 1076 ARGP4 ADDRLP4 1052 ARGP4 ADDRLP4 1056 INDIRP4 ARGP4 ADDRGP4 Item_SetTextExtents CALLV pop line 2826 ;2825: ;2826: y = item->textaligny; ADDRLP4 1048 ADDRFP4 0 INDIRP4 CNSTI4 212 ADDP4 INDIRF4 ASGNF4 line 2827 ;2827: len = 0; ADDRLP4 1028 CNSTI4 0 ASGNI4 line 2828 ;2828: buff[0] = '\0'; ADDRLP4 4 CNSTI1 0 ASGNI1 line 2829 ;2829: newLine = 0; ADDRLP4 1036 CNSTI4 0 ASGNI4 line 2830 ;2830: newLineWidth = 0; ADDRLP4 1040 CNSTI4 0 ASGNI4 line 2831 ;2831: p = textPtr; ADDRLP4 0 ADDRLP4 1056 INDIRP4 ASGNP4 ADDRGP4 $1361 JUMPV LABELV $1360 line 2832 ;2832: while (p) { line 2833 ;2833: if (*p == ' ' || *p == '\t' || *p == '\n' || *p == '\0') { ADDRLP4 2104 ADDRLP4 0 INDIRP4 INDIRI1 CVII4 1 ASGNI4 ADDRLP4 2104 INDIRI4 CNSTI4 32 EQI4 $1367 ADDRLP4 2104 INDIRI4 CNSTI4 9 EQI4 $1367 ADDRLP4 2104 INDIRI4 CNSTI4 10 EQI4 $1367 ADDRLP4 2104 INDIRI4 CNSTI4 0 NEI4 $1363 LABELV $1367 line 2834 ;2834: newLine = len; ADDRLP4 1036 ADDRLP4 1028 INDIRI4 ASGNI4 line 2835 ;2835: newLinePtr = p+1; ADDRLP4 1044 ADDRLP4 0 INDIRP4 CNSTI4 1 ADDP4 ASGNP4 line 2836 ;2836: newLineWidth = textWidth; ADDRLP4 1040 ADDRLP4 1032 INDIRI4 ASGNI4 line 2837 ;2837: } LABELV $1363 line 2838 ;2838: textWidth = DC->textWidth(buff, item->textscale, 0); ADDRLP4 4 ARGP4 ADDRFP4 0 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 CNSTI4 0 ARGI4 ADDRLP4 2108 ADDRGP4 DC INDIRP4 CNSTI4 20 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 1032 ADDRLP4 2108 INDIRI4 ASGNI4 line 2839 ;2839: if ( (newLine && textWidth > item->window.rect.w) || *p == '\n' || *p == '\0') { ADDRLP4 1036 INDIRI4 CNSTI4 0 EQI4 $1371 ADDRLP4 1032 INDIRI4 CVIF4 4 ADDRFP4 0 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 GTF4 $1372 LABELV $1371 ADDRLP4 2112 ADDRLP4 0 INDIRP4 INDIRI1 CVII4 1 ASGNI4 ADDRLP4 2112 INDIRI4 CNSTI4 10 EQI4 $1372 ADDRLP4 2112 INDIRI4 CNSTI4 0 NEI4 $1368 LABELV $1372 line 2840 ;2840: if (len) { ADDRLP4 1028 INDIRI4 CNSTI4 0 EQI4 $1373 line 2841 ;2841: if (item->textalignment == ITEM_ALIGN_LEFT) { ADDRFP4 0 INDIRP4 CNSTI4 204 ADDP4 INDIRI4 CNSTI4 0 NEI4 $1375 line 2842 ;2842: item->textRect.x = item->textalignx; ADDRLP4 2116 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 2116 INDIRP4 CNSTI4 180 ADDP4 ADDRLP4 2116 INDIRP4 CNSTI4 208 ADDP4 INDIRF4 ASGNF4 line 2843 ;2843: } else if (item->textalignment == ITEM_ALIGN_RIGHT) { ADDRGP4 $1376 JUMPV LABELV $1375 ADDRFP4 0 INDIRP4 CNSTI4 204 ADDP4 INDIRI4 CNSTI4 2 NEI4 $1377 line 2844 ;2844: item->textRect.x = item->textalignx - newLineWidth; ADDRLP4 2116 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 2116 INDIRP4 CNSTI4 180 ADDP4 ADDRLP4 2116 INDIRP4 CNSTI4 208 ADDP4 INDIRF4 ADDRLP4 1040 INDIRI4 CVIF4 4 SUBF4 ASGNF4 line 2845 ;2845: } else if (item->textalignment == ITEM_ALIGN_CENTER) { ADDRGP4 $1378 JUMPV LABELV $1377 ADDRFP4 0 INDIRP4 CNSTI4 204 ADDP4 INDIRI4 CNSTI4 1 NEI4 $1379 line 2846 ;2846: item->textRect.x = item->textalignx - newLineWidth / 2; ADDRLP4 2116 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 2116 INDIRP4 CNSTI4 180 ADDP4 ADDRLP4 2116 INDIRP4 CNSTI4 208 ADDP4 INDIRF4 ADDRLP4 1040 INDIRI4 CNSTI4 2 DIVI4 CVIF4 4 SUBF4 ASGNF4 line 2847 ;2847: } LABELV $1379 LABELV $1378 LABELV $1376 line 2848 ;2848: item->textRect.y = y; ADDRFP4 0 INDIRP4 CNSTI4 184 ADDP4 ADDRLP4 1048 INDIRF4 ASGNF4 line 2849 ;2849: ToWindowCoords(&item->textRect.x, &item->textRect.y, &item->window); ADDRLP4 2116 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 2116 INDIRP4 CNSTI4 180 ADDP4 ARGP4 ADDRLP4 2116 INDIRP4 CNSTI4 184 ADDP4 ARGP4 ADDRLP4 2116 INDIRP4 ARGP4 ADDRGP4 ToWindowCoords CALLV pop line 2851 ;2850: // ;2851: buff[newLine] = '\0'; ADDRLP4 1036 INDIRI4 ADDRLP4 4 ADDP4 CNSTI1 0 ASGNI1 line 2852 ;2852: DC->drawText(item->textRect.x, item->textRect.y, item->textscale, color, buff, 0, 0, item->textStyle); ADDRLP4 2120 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 2120 INDIRP4 CNSTI4 180 ADDP4 INDIRF4 ARGF4 ADDRLP4 2120 INDIRP4 CNSTI4 184 ADDP4 INDIRF4 ARGF4 ADDRLP4 2120 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 1060 ARGP4 ADDRLP4 4 ARGP4 CNSTF4 0 ARGF4 CNSTI4 0 ARGI4 ADDRLP4 2120 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 16 ADDP4 INDIRP4 CALLV pop line 2853 ;2853: } LABELV $1373 line 2854 ;2854: if (*p == '\0') { ADDRLP4 0 INDIRP4 INDIRI1 CVII4 1 CNSTI4 0 NEI4 $1381 line 2855 ;2855: break; ADDRGP4 $1362 JUMPV LABELV $1381 line 2858 ;2856: } ;2857: // ;2858: y += height + 5; ADDRLP4 1048 ADDRLP4 1048 INDIRF4 ADDRLP4 1052 INDIRI4 CNSTI4 5 ADDI4 CVIF4 4 ADDF4 ASGNF4 line 2859 ;2859: p = newLinePtr; ADDRLP4 0 ADDRLP4 1044 INDIRP4 ASGNP4 line 2860 ;2860: len = 0; ADDRLP4 1028 CNSTI4 0 ASGNI4 line 2861 ;2861: newLine = 0; ADDRLP4 1036 CNSTI4 0 ASGNI4 line 2862 ;2862: newLineWidth = 0; ADDRLP4 1040 CNSTI4 0 ASGNI4 line 2863 ;2863: continue; ADDRGP4 $1361 JUMPV LABELV $1368 line 2865 ;2864: } ;2865: buff[len++] = *p++; ADDRLP4 2116 ADDRLP4 1028 INDIRI4 ASGNI4 ADDRLP4 2124 CNSTI4 1 ASGNI4 ADDRLP4 1028 ADDRLP4 2116 INDIRI4 ADDRLP4 2124 INDIRI4 ADDI4 ASGNI4 ADDRLP4 2120 ADDRLP4 0 INDIRP4 ASGNP4 ADDRLP4 0 ADDRLP4 2120 INDIRP4 ADDRLP4 2124 INDIRI4 ADDP4 ASGNP4 ADDRLP4 2116 INDIRI4 ADDRLP4 4 ADDP4 ADDRLP4 2120 INDIRP4 INDIRI1 ASGNI1 line 2866 ;2866: buff[len] = '\0'; ADDRLP4 1028 INDIRI4 ADDRLP4 4 ADDP4 CNSTI1 0 ASGNI1 line 2867 ;2867: } LABELV $1361 line 2832 ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1360 LABELV $1362 line 2868 ;2868:} LABELV $1353 endproc Item_Text_AutoWrapped_Paint 2128 32 export Item_Text_Wrapped_Paint proc Item_Text_Wrapped_Paint 2112 32 line 2870 ;2869: ;2870:void Item_Text_Wrapped_Paint(itemDef_t *item) { line 2881 ;2871: char text[1024]; ;2872: const char *p, *start, *textPtr; ;2873: char buff[1024]; ;2874: int width, height; ;2875: float x, y; ;2876: vec4_t color; ;2877: ;2878: // now paint the text and/or any optional images ;2879: // default to left ;2880: ;2881: if (item->text == NULL) { ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1384 line 2882 ;2882: if (item->cvar == NULL) { ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1386 line 2883 ;2883: return; ADDRGP4 $1383 JUMPV LABELV $1386 line 2885 ;2884: } ;2885: else { line 2886 ;2886: DC->getCVarString(item->cvar, text, sizeof(text)); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 1068 ARGP4 CNSTI4 1024 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 88 ADDP4 INDIRP4 CALLV pop line 2887 ;2887: textPtr = text; ADDRLP4 1060 ADDRLP4 1068 ASGNP4 line 2888 ;2888: } line 2889 ;2889: } ADDRGP4 $1385 JUMPV LABELV $1384 line 2890 ;2890: else { line 2891 ;2891: textPtr = item->text; ADDRLP4 1060 ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 ASGNP4 line 2892 ;2892: } LABELV $1385 line 2893 ;2893: if (*textPtr == '\0') { ADDRLP4 1060 INDIRP4 INDIRI1 CVII4 1 CNSTI4 0 NEI4 $1388 line 2894 ;2894: return; ADDRGP4 $1383 JUMPV LABELV $1388 line 2897 ;2895: } ;2896: ;2897: Item_TextColor(item, &color); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 1040 ARGP4 ADDRGP4 Item_TextColor CALLV pop line 2898 ;2898: Item_SetTextExtents(item, &width, &height, textPtr); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 1064 ARGP4 ADDRLP4 1056 ARGP4 ADDRLP4 1060 INDIRP4 ARGP4 ADDRGP4 Item_SetTextExtents CALLV pop line 2900 ;2899: ;2900: x = item->textRect.x; ADDRLP4 1036 ADDRFP4 0 INDIRP4 CNSTI4 180 ADDP4 INDIRF4 ASGNF4 line 2901 ;2901: y = item->textRect.y; ADDRLP4 1032 ADDRFP4 0 INDIRP4 CNSTI4 184 ADDP4 INDIRF4 ASGNF4 line 2902 ;2902: start = textPtr; ADDRLP4 4 ADDRLP4 1060 INDIRP4 ASGNP4 line 2903 ;2903: p = strchr(textPtr, '\r'); ADDRLP4 1060 INDIRP4 ARGP4 CNSTI4 13 ARGI4 ADDRLP4 2092 ADDRGP4 strchr CALLP4 ASGNP4 ADDRLP4 0 ADDRLP4 2092 INDIRP4 ASGNP4 ADDRGP4 $1391 JUMPV LABELV $1390 line 2904 ;2904: while (p && *p) { line 2905 ;2905: strncpy(buff, start, p-start+1); ADDRLP4 8 ARGP4 ADDRLP4 4 INDIRP4 ARGP4 ADDRLP4 0 INDIRP4 CVPU4 4 ADDRLP4 4 INDIRP4 CVPU4 4 SUBU4 CVUI4 4 CNSTI4 1 ADDI4 ARGI4 ADDRGP4 strncpy CALLP4 pop line 2906 ;2906: buff[p-start] = '\0'; ADDRLP4 0 INDIRP4 CVPU4 4 ADDRLP4 4 INDIRP4 CVPU4 4 SUBU4 CVUI4 4 ADDRLP4 8 ADDP4 CNSTI1 0 ASGNI1 line 2907 ;2907: DC->drawText(x, y, item->textscale, color, buff, 0, 0, item->textStyle); ADDRLP4 1036 INDIRF4 ARGF4 ADDRLP4 1032 INDIRF4 ARGF4 ADDRLP4 2100 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 2100 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 1040 ARGP4 ADDRLP4 8 ARGP4 CNSTF4 0 ARGF4 CNSTI4 0 ARGI4 ADDRLP4 2100 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 16 ADDP4 INDIRP4 CALLV pop line 2908 ;2908: y += height + 5; ADDRLP4 1032 ADDRLP4 1032 INDIRF4 ADDRLP4 1056 INDIRI4 CNSTI4 5 ADDI4 CVIF4 4 ADDF4 ASGNF4 line 2909 ;2909: start += p - start + 1; ADDRLP4 4 ADDRLP4 0 INDIRP4 CVPU4 4 ADDRLP4 4 INDIRP4 CVPU4 4 SUBU4 CVUI4 4 CNSTI4 1 ADDI4 ADDRLP4 4 INDIRP4 ADDP4 ASGNP4 line 2910 ;2910: p = strchr(p+1, '\r'); ADDRLP4 0 INDIRP4 CNSTI4 1 ADDP4 ARGP4 CNSTI4 13 ARGI4 ADDRLP4 2108 ADDRGP4 strchr CALLP4 ASGNP4 ADDRLP4 0 ADDRLP4 2108 INDIRP4 ASGNP4 line 2911 ;2911: } LABELV $1391 line 2904 ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1393 ADDRLP4 0 INDIRP4 INDIRI1 CVII4 1 CNSTI4 0 NEI4 $1390 LABELV $1393 line 2912 ;2912: DC->drawText(x, y, item->textscale, color, start, 0, 0, item->textStyle); ADDRLP4 1036 INDIRF4 ARGF4 ADDRLP4 1032 INDIRF4 ARGF4 ADDRLP4 2100 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 2100 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 1040 ARGP4 ADDRLP4 4 INDIRP4 ARGP4 CNSTF4 0 ARGF4 CNSTI4 0 ARGI4 ADDRLP4 2100 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 16 ADDP4 INDIRP4 CALLV pop line 2913 ;2913:} LABELV $1383 endproc Item_Text_Wrapped_Paint 2112 32 export Item_Text_Paint proc Item_Text_Paint 1056 32 line 2915 ;2914: ;2915:void Item_Text_Paint(itemDef_t *item) { line 2921 ;2916: char text[1024]; ;2917: const char *textPtr; ;2918: int height, width; ;2919: vec4_t color; ;2920: ;2921: if (item->window.flags & WINDOW_WRAPPED) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 262144 BANDI4 CNSTI4 0 EQI4 $1395 line 2922 ;2922: Item_Text_Wrapped_Paint(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_Text_Wrapped_Paint CALLV pop line 2923 ;2923: return; ADDRGP4 $1394 JUMPV LABELV $1395 line 2925 ;2924: } ;2925: if (item->window.flags & WINDOW_AUTOWRAPPED) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 524288 BANDI4 CNSTI4 0 EQI4 $1397 line 2926 ;2926: Item_Text_AutoWrapped_Paint(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_Text_AutoWrapped_Paint CALLV pop line 2927 ;2927: return; ADDRGP4 $1394 JUMPV LABELV $1397 line 2930 ;2928: } ;2929: ;2930: if (item->text == NULL) { ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1399 line 2931 ;2931: if (item->cvar == NULL) { ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1401 line 2932 ;2932: return; ADDRGP4 $1394 JUMPV LABELV $1401 line 2934 ;2933: } ;2934: else { line 2935 ;2935: DC->getCVarString(item->cvar, text, sizeof(text)); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 28 ARGP4 CNSTI4 1024 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 88 ADDP4 INDIRP4 CALLV pop line 2936 ;2936: textPtr = text; ADDRLP4 0 ADDRLP4 28 ASGNP4 line 2937 ;2937: } line 2938 ;2938: } ADDRGP4 $1400 JUMPV LABELV $1399 line 2939 ;2939: else { line 2940 ;2940: textPtr = item->text; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 ASGNP4 line 2941 ;2941: } LABELV $1400 line 2944 ;2942: ;2943: // this needs to go here as it sets extents for cvar types as well ;2944: Item_SetTextExtents(item, &width, &height, textPtr); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 24 ARGP4 ADDRLP4 20 ARGP4 ADDRLP4 0 INDIRP4 ARGP4 ADDRGP4 Item_SetTextExtents CALLV pop line 2946 ;2945: ;2946: if (*textPtr == '\0') { ADDRLP4 0 INDIRP4 INDIRI1 CVII4 1 CNSTI4 0 NEI4 $1403 line 2947 ;2947: return; ADDRGP4 $1394 JUMPV LABELV $1403 line 2951 ;2948: } ;2949: ;2950: ;2951: Item_TextColor(item, &color); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 4 ARGP4 ADDRGP4 Item_TextColor CALLV pop line 2982 ;2952: ;2953: //FIXME: this is a fucking mess ;2954:/* ;2955: adjust = 0; ;2956: if (item->textStyle == ITEM_TEXTSTYLE_OUTLINED || item->textStyle == ITEM_TEXTSTYLE_OUTLINESHADOWED) { ;2957: adjust = 0.5; ;2958: } ;2959: ;2960: if (item->textStyle == ITEM_TEXTSTYLE_SHADOWED || item->textStyle == ITEM_TEXTSTYLE_OUTLINESHADOWED) { ;2961: Fade(&item->window.flags, &DC->Assets.shadowColor[3], DC->Assets.fadeClamp, &item->window.nextTime, DC->Assets.fadeCycle, qfalse); ;2962: DC->drawText(item->textRect.x + DC->Assets.shadowX, item->textRect.y + DC->Assets.shadowY, item->textscale, DC->Assets.shadowColor, textPtr, adjust); ;2963: } ;2964:*/ ;2965: ;2966: ;2967:// if (item->textStyle == ITEM_TEXTSTYLE_OUTLINED || item->textStyle == ITEM_TEXTSTYLE_OUTLINESHADOWED) { ;2968:// Fade(&item->window.flags, &item->window.outlineColor[3], DC->Assets.fadeClamp, &item->window.nextTime, DC->Assets.fadeCycle, qfalse); ;2969:// /* ;2970:// Text_Paint(item->textRect.x-1, item->textRect.y-1, item->textscale, item->window.foreColor, textPtr, adjust); ;2971:// Text_Paint(item->textRect.x, item->textRect.y-1, item->textscale, item->window.foreColor, textPtr, adjust); ;2972:// Text_Paint(item->textRect.x+1, item->textRect.y-1, item->textscale, item->window.foreColor, textPtr, adjust); ;2973:// Text_Paint(item->textRect.x-1, item->textRect.y, item->textscale, item->window.foreColor, textPtr, adjust); ;2974:// Text_Paint(item->textRect.x+1, item->textRect.y, item->textscale, item->window.foreColor, textPtr, adjust); ;2975:// Text_Paint(item->textRect.x-1, item->textRect.y+1, item->textscale, item->window.foreColor, textPtr, adjust); ;2976:// Text_Paint(item->textRect.x, item->textRect.y+1, item->textscale, item->window.foreColor, textPtr, adjust); ;2977:// Text_Paint(item->textRect.x+1, item->textRect.y+1, item->textscale, item->window.foreColor, textPtr, adjust); ;2978:// */ ;2979:// DC->drawText(item->textRect.x - 1, item->textRect.y + 1, item->textscale * 1.02, item->window.outlineColor, textPtr, adjust); ;2980:// } ;2981: ;2982: DC->drawText(item->textRect.x, item->textRect.y, item->textscale, color, textPtr, 0, 0, item->textStyle); ADDRLP4 1052 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 1052 INDIRP4 CNSTI4 180 ADDP4 INDIRF4 ARGF4 ADDRLP4 1052 INDIRP4 CNSTI4 184 ADDP4 INDIRF4 ARGF4 ADDRLP4 1052 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 4 ARGP4 ADDRLP4 0 INDIRP4 ARGP4 CNSTF4 0 ARGF4 CNSTI4 0 ARGI4 ADDRLP4 1052 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 16 ADDP4 INDIRP4 CALLV pop line 2983 ;2983:} LABELV $1394 endproc Item_Text_Paint 1056 32 export Item_TextField_Paint proc Item_TextField_Paint 1104 36 line 2990 ;2984: ;2985: ;2986: ;2987://float trap_Cvar_VariableValue( const char *var_name ); ;2988://void trap_Cvar_VariableStringBuffer( const char *var_name, char *buffer, int bufsize ); ;2989: ;2990:void Item_TextField_Paint(itemDef_t *item) { line 2994 ;2991: char buff[1024]; ;2992: vec4_t newColor, lowLight; ;2993: int offset; ;2994: menuDef_t *parent = (menuDef_t*)item->parent; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ASGNP4 line 2995 ;2995: editFieldDef_t *editPtr = (editFieldDef_t*)item->typeData; ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 2997 ;2996: ;2997: Item_Text_Paint(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_Text_Paint CALLV pop line 2999 ;2998: ;2999: buff[0] = '\0'; ADDRLP4 8 CNSTI1 0 ASGNI1 line 3001 ;3000: ;3001: if (item->cvar) { ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1406 line 3002 ;3002: DC->getCVarString(item->cvar, buff, sizeof(buff)); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 8 ARGP4 CNSTI4 1024 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 88 ADDP4 INDIRP4 CALLV pop line 3003 ;3003: } LABELV $1406 line 3005 ;3004: ;3005: parent = (menuDef_t*)item->parent; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ASGNP4 line 3007 ;3006: ;3007: if (item->window.flags & WINDOW_HASFOCUS) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 2 BANDI4 CNSTI4 0 EQI4 $1408 line 3008 ;3008: lowLight[0] = 0.8 * parent->focusColor[0]; ADDRLP4 1032 CNSTF4 1061997773 ADDRLP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRF4 MULF4 ASGNF4 line 3009 ;3009: lowLight[1] = 0.8 * parent->focusColor[1]; ADDRLP4 1032+4 CNSTF4 1061997773 ADDRLP4 0 INDIRP4 CNSTI4 232 ADDP4 INDIRF4 MULF4 ASGNF4 line 3010 ;3010: lowLight[2] = 0.8 * parent->focusColor[2]; ADDRLP4 1032+8 CNSTF4 1061997773 ADDRLP4 0 INDIRP4 CNSTI4 236 ADDP4 INDIRF4 MULF4 ASGNF4 line 3011 ;3011: lowLight[3] = 0.8 * parent->focusColor[3]; ADDRLP4 1032+12 CNSTF4 1061997773 ADDRLP4 0 INDIRP4 CNSTI4 240 ADDP4 INDIRF4 MULF4 ASGNF4 line 3012 ;3012: LerpColor(parent->focusColor,lowLight,newColor,0.5+0.5*sin(DC->realTime / PULSE_DIVISOR)); ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 CNSTI4 75 DIVI4 CVIF4 4 ARGF4 ADDRLP4 1068 ADDRGP4 sin CALLF4 ASGNF4 ADDRLP4 0 INDIRP4 CNSTI4 228 ADDP4 ARGP4 ADDRLP4 1032 ARGP4 ADDRLP4 1048 ARGP4 CNSTF4 1056964608 ADDRLP4 1068 INDIRF4 MULF4 CNSTF4 1056964608 ADDF4 ARGF4 ADDRGP4 LerpColor CALLV pop line 3013 ;3013: } else { ADDRGP4 $1409 JUMPV LABELV $1408 line 3014 ;3014: memcpy(&newColor, &item->window.foreColor, sizeof(vec4_t)); ADDRLP4 1048 ARGP4 ADDRFP4 0 INDIRP4 CNSTI4 112 ADDP4 ARGP4 CNSTI4 16 ARGI4 ADDRGP4 memcpy CALLP4 pop line 3015 ;3015: } LABELV $1409 line 3017 ;3016: ;3017: offset = (item->text && *item->text) ? 8 : 0; ADDRLP4 1072 ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 ASGNP4 ADDRLP4 1072 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1414 ADDRLP4 1072 INDIRP4 INDIRI1 CVII4 1 CNSTI4 0 EQI4 $1414 ADDRLP4 1068 CNSTI4 8 ASGNI4 ADDRGP4 $1415 JUMPV LABELV $1414 ADDRLP4 1068 CNSTI4 0 ASGNI4 LABELV $1415 ADDRLP4 1064 ADDRLP4 1068 INDIRI4 ASGNI4 line 3018 ;3018: if (item->window.flags & WINDOW_HASFOCUS && g_editingField) { ADDRLP4 1076 CNSTI4 0 ASGNI4 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 2 BANDI4 ADDRLP4 1076 INDIRI4 EQI4 $1416 ADDRGP4 g_editingField INDIRI4 ADDRLP4 1076 INDIRI4 EQI4 $1416 line 3019 ;3019: char cursor = DC->getOverstrikeMode() ? '_' : '|'; ADDRLP4 1088 ADDRGP4 DC INDIRP4 CNSTI4 108 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 1088 INDIRI4 CNSTI4 0 EQI4 $1419 ADDRLP4 1084 CNSTI4 95 ASGNI4 ADDRGP4 $1420 JUMPV LABELV $1419 ADDRLP4 1084 CNSTI4 124 ASGNI4 LABELV $1420 ADDRLP4 1080 ADDRLP4 1084 INDIRI4 CVII1 4 ASGNI1 line 3020 ;3020: DC->drawTextWithCursor(item->textRect.x + item->textRect.w + offset, item->textRect.y, item->textscale, newColor, buff + editPtr->paintOffset, item->cursorPos - editPtr->paintOffset , cursor, editPtr->maxPaintChars, item->textStyle); ADDRLP4 1092 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 1092 INDIRP4 CNSTI4 180 ADDP4 INDIRF4 ADDRLP4 1092 INDIRP4 CNSTI4 188 ADDP4 INDIRF4 ADDF4 ADDRLP4 1064 INDIRI4 CVIF4 4 ADDF4 ARGF4 ADDRLP4 1092 INDIRP4 CNSTI4 184 ADDP4 INDIRF4 ARGF4 ADDRLP4 1092 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 1048 ARGP4 ADDRLP4 1100 ADDRLP4 4 INDIRP4 CNSTI4 24 ADDP4 INDIRI4 ASGNI4 ADDRLP4 1100 INDIRI4 ADDRLP4 8 ADDP4 ARGP4 ADDRLP4 1092 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ADDRLP4 1100 INDIRI4 SUBI4 ARGI4 ADDRLP4 1080 INDIRI1 CVII4 1 ARGI4 ADDRLP4 4 INDIRP4 CNSTI4 20 ADDP4 INDIRI4 ARGI4 ADDRLP4 1092 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 100 ADDP4 INDIRP4 CALLV pop line 3021 ;3021: } else { ADDRGP4 $1417 JUMPV LABELV $1416 line 3022 ;3022: DC->drawText(item->textRect.x + item->textRect.w + offset, item->textRect.y, item->textscale, newColor, buff + editPtr->paintOffset, 0, editPtr->maxPaintChars, item->textStyle); ADDRLP4 1080 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 1080 INDIRP4 CNSTI4 180 ADDP4 INDIRF4 ADDRLP4 1080 INDIRP4 CNSTI4 188 ADDP4 INDIRF4 ADDF4 ADDRLP4 1064 INDIRI4 CVIF4 4 ADDF4 ARGF4 ADDRLP4 1080 INDIRP4 CNSTI4 184 ADDP4 INDIRF4 ARGF4 ADDRLP4 1080 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 1048 ARGP4 ADDRLP4 4 INDIRP4 CNSTI4 24 ADDP4 INDIRI4 ADDRLP4 8 ADDP4 ARGP4 CNSTF4 0 ARGF4 ADDRLP4 4 INDIRP4 CNSTI4 20 ADDP4 INDIRI4 ARGI4 ADDRLP4 1080 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 16 ADDP4 INDIRP4 CALLV pop line 3023 ;3023: } LABELV $1417 line 3025 ;3024: ;3025:} LABELV $1405 endproc Item_TextField_Paint 1104 36 export Item_YesNo_Paint proc Item_YesNo_Paint 56 32 line 3027 ;3026: ;3027:void Item_YesNo_Paint(itemDef_t *item) { line 3030 ;3028: vec4_t newColor, lowLight; ;3029: float value; ;3030: menuDef_t *parent = (menuDef_t*)item->parent; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ASGNP4 line 3032 ;3031: ;3032: value = (item->cvar) ? DC->getCVarValue(item->cvar) : 0; ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1423 ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 44 ADDRGP4 DC INDIRP4 CNSTI4 92 ADDP4 INDIRP4 CALLF4 ASGNF4 ADDRLP4 40 ADDRLP4 44 INDIRF4 ASGNF4 ADDRGP4 $1424 JUMPV LABELV $1423 ADDRLP4 40 CNSTF4 0 ASGNF4 LABELV $1424 ADDRLP4 36 ADDRLP4 40 INDIRF4 ASGNF4 line 3034 ;3033: ;3034: if (item->window.flags & WINDOW_HASFOCUS) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 2 BANDI4 CNSTI4 0 EQI4 $1425 line 3035 ;3035: lowLight[0] = 0.8 * parent->focusColor[0]; ADDRLP4 4 CNSTF4 1061997773 ADDRLP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRF4 MULF4 ASGNF4 line 3036 ;3036: lowLight[1] = 0.8 * parent->focusColor[1]; ADDRLP4 4+4 CNSTF4 1061997773 ADDRLP4 0 INDIRP4 CNSTI4 232 ADDP4 INDIRF4 MULF4 ASGNF4 line 3037 ;3037: lowLight[2] = 0.8 * parent->focusColor[2]; ADDRLP4 4+8 CNSTF4 1061997773 ADDRLP4 0 INDIRP4 CNSTI4 236 ADDP4 INDIRF4 MULF4 ASGNF4 line 3038 ;3038: lowLight[3] = 0.8 * parent->focusColor[3]; ADDRLP4 4+12 CNSTF4 1061997773 ADDRLP4 0 INDIRP4 CNSTI4 240 ADDP4 INDIRF4 MULF4 ASGNF4 line 3039 ;3039: LerpColor(parent->focusColor,lowLight,newColor,0.5+0.5*sin(DC->realTime / PULSE_DIVISOR)); ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 CNSTI4 75 DIVI4 CVIF4 4 ARGF4 ADDRLP4 48 ADDRGP4 sin CALLF4 ASGNF4 ADDRLP4 0 INDIRP4 CNSTI4 228 ADDP4 ARGP4 ADDRLP4 4 ARGP4 ADDRLP4 20 ARGP4 CNSTF4 1056964608 ADDRLP4 48 INDIRF4 MULF4 CNSTF4 1056964608 ADDF4 ARGF4 ADDRGP4 LerpColor CALLV pop line 3040 ;3040: } else { ADDRGP4 $1426 JUMPV LABELV $1425 line 3041 ;3041: memcpy(&newColor, &item->window.foreColor, sizeof(vec4_t)); ADDRLP4 20 ARGP4 ADDRFP4 0 INDIRP4 CNSTI4 112 ADDP4 ARGP4 CNSTI4 16 ARGI4 ADDRGP4 memcpy CALLP4 pop line 3042 ;3042: } LABELV $1426 line 3044 ;3043: ;3044: if (item->text) { ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1430 line 3045 ;3045: Item_Text_Paint(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_Text_Paint CALLV pop line 3046 ;3046: DC->drawText(item->textRect.x + item->textRect.w + 8, item->textRect.y, item->textscale, newColor, (value != 0) ? "Yes" : "No", 0, 0, item->textStyle); ADDRLP4 52 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 52 INDIRP4 CNSTI4 180 ADDP4 INDIRF4 ADDRLP4 52 INDIRP4 CNSTI4 188 ADDP4 INDIRF4 ADDF4 CNSTF4 1090519040 ADDF4 ARGF4 ADDRLP4 52 INDIRP4 CNSTI4 184 ADDP4 INDIRF4 ARGF4 ADDRLP4 52 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 20 ARGP4 ADDRLP4 36 INDIRF4 CNSTF4 0 EQF4 $1435 ADDRLP4 48 ADDRGP4 $1432 ASGNP4 ADDRGP4 $1436 JUMPV LABELV $1435 ADDRLP4 48 ADDRGP4 $1433 ASGNP4 LABELV $1436 ADDRLP4 48 INDIRP4 ARGP4 CNSTF4 0 ARGF4 CNSTI4 0 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 16 ADDP4 INDIRP4 CALLV pop line 3047 ;3047: } else { ADDRGP4 $1431 JUMPV LABELV $1430 line 3048 ;3048: DC->drawText(item->textRect.x, item->textRect.y, item->textscale, newColor, (value != 0) ? "Yes" : "No", 0, 0, item->textStyle); ADDRLP4 52 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 52 INDIRP4 CNSTI4 180 ADDP4 INDIRF4 ARGF4 ADDRLP4 52 INDIRP4 CNSTI4 184 ADDP4 INDIRF4 ARGF4 ADDRLP4 52 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 20 ARGP4 ADDRLP4 36 INDIRF4 CNSTF4 0 EQF4 $1438 ADDRLP4 48 ADDRGP4 $1432 ASGNP4 ADDRGP4 $1439 JUMPV LABELV $1438 ADDRLP4 48 ADDRGP4 $1433 ASGNP4 LABELV $1439 ADDRLP4 48 INDIRP4 ARGP4 CNSTF4 0 ARGF4 CNSTI4 0 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 16 ADDP4 INDIRP4 CALLV pop line 3049 ;3049: } LABELV $1431 line 3050 ;3050:} LABELV $1421 endproc Item_YesNo_Paint 56 32 export Item_Multi_Paint proc Item_Multi_Paint 48 32 line 3052 ;3051: ;3052:void Item_Multi_Paint(itemDef_t *item) { line 3054 ;3053: vec4_t newColor, lowLight; ;3054: const char *text = ""; ADDRLP4 4 ADDRGP4 $54 ASGNP4 line 3055 ;3055: menuDef_t *parent = (menuDef_t*)item->parent; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ASGNP4 line 3057 ;3056: ;3057: if (item->window.flags & WINDOW_HASFOCUS) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 2 BANDI4 CNSTI4 0 EQI4 $1441 line 3058 ;3058: lowLight[0] = 0.8 * parent->focusColor[0]; ADDRLP4 8 CNSTF4 1061997773 ADDRLP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRF4 MULF4 ASGNF4 line 3059 ;3059: lowLight[1] = 0.8 * parent->focusColor[1]; ADDRLP4 8+4 CNSTF4 1061997773 ADDRLP4 0 INDIRP4 CNSTI4 232 ADDP4 INDIRF4 MULF4 ASGNF4 line 3060 ;3060: lowLight[2] = 0.8 * parent->focusColor[2]; ADDRLP4 8+8 CNSTF4 1061997773 ADDRLP4 0 INDIRP4 CNSTI4 236 ADDP4 INDIRF4 MULF4 ASGNF4 line 3061 ;3061: lowLight[3] = 0.8 * parent->focusColor[3]; ADDRLP4 8+12 CNSTF4 1061997773 ADDRLP4 0 INDIRP4 CNSTI4 240 ADDP4 INDIRF4 MULF4 ASGNF4 line 3062 ;3062: LerpColor(parent->focusColor,lowLight,newColor,0.5+0.5*sin(DC->realTime / PULSE_DIVISOR)); ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 CNSTI4 75 DIVI4 CVIF4 4 ARGF4 ADDRLP4 40 ADDRGP4 sin CALLF4 ASGNF4 ADDRLP4 0 INDIRP4 CNSTI4 228 ADDP4 ARGP4 ADDRLP4 8 ARGP4 ADDRLP4 24 ARGP4 CNSTF4 1056964608 ADDRLP4 40 INDIRF4 MULF4 CNSTF4 1056964608 ADDF4 ARGF4 ADDRGP4 LerpColor CALLV pop line 3063 ;3063: } else { ADDRGP4 $1442 JUMPV LABELV $1441 line 3064 ;3064: memcpy(&newColor, &item->window.foreColor, sizeof(vec4_t)); ADDRLP4 24 ARGP4 ADDRFP4 0 INDIRP4 CNSTI4 112 ADDP4 ARGP4 CNSTI4 16 ARGI4 ADDRGP4 memcpy CALLP4 pop line 3065 ;3065: } LABELV $1442 line 3067 ;3066: ;3067: text = Item_Multi_Setting(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 40 ADDRGP4 Item_Multi_Setting CALLP4 ASGNP4 ADDRLP4 4 ADDRLP4 40 INDIRP4 ASGNP4 line 3069 ;3068: ;3069: if (item->text) { ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1446 line 3070 ;3070: Item_Text_Paint(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_Text_Paint CALLV pop line 3071 ;3071: DC->drawText(item->textRect.x + item->textRect.w + 8, item->textRect.y, item->textscale, newColor, text, 0, 0, item->textStyle); ADDRLP4 44 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 44 INDIRP4 CNSTI4 180 ADDP4 INDIRF4 ADDRLP4 44 INDIRP4 CNSTI4 188 ADDP4 INDIRF4 ADDF4 CNSTF4 1090519040 ADDF4 ARGF4 ADDRLP4 44 INDIRP4 CNSTI4 184 ADDP4 INDIRF4 ARGF4 ADDRLP4 44 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 24 ARGP4 ADDRLP4 4 INDIRP4 ARGP4 CNSTF4 0 ARGF4 CNSTI4 0 ARGI4 ADDRLP4 44 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 16 ADDP4 INDIRP4 CALLV pop line 3072 ;3072: } else { ADDRGP4 $1447 JUMPV LABELV $1446 line 3073 ;3073: DC->drawText(item->textRect.x, item->textRect.y, item->textscale, newColor, text, 0, 0, item->textStyle); ADDRLP4 44 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 44 INDIRP4 CNSTI4 180 ADDP4 INDIRF4 ARGF4 ADDRLP4 44 INDIRP4 CNSTI4 184 ADDP4 INDIRF4 ARGF4 ADDRLP4 44 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 24 ARGP4 ADDRLP4 4 INDIRP4 ARGP4 CNSTF4 0 ARGF4 CNSTI4 0 ARGI4 ADDRLP4 44 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 16 ADDP4 INDIRP4 CALLV pop line 3074 ;3074: } LABELV $1447 line 3075 ;3075:} LABELV $1440 endproc Item_Multi_Paint 48 32 data align 4 LABELV g_bindings address $1450 byte 4 9 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1451 byte 4 13 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1452 byte 4 138 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1453 byte 4 132 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1454 byte 4 133 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1455 byte 4 44 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1456 byte 4 46 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1457 byte 4 32 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1458 byte 4 99 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1459 byte 4 134 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1460 byte 4 135 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1461 byte 4 136 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1462 byte 4 141 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1463 byte 4 140 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1464 byte 4 47 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1465 byte 4 144 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1466 byte 4 -1 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1467 byte 4 49 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1468 byte 4 50 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1469 byte 4 51 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1470 byte 4 52 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1471 byte 4 53 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1472 byte 4 54 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1473 byte 4 55 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1474 byte 4 56 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1475 byte 4 57 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1476 byte 4 48 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1477 byte 4 -1 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1478 byte 4 -1 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1479 byte 4 -1 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1480 byte 4 137 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1481 byte 4 91 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1482 byte 4 93 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1483 byte 4 180 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1484 byte 4 181 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1485 byte 4 119 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1486 byte 4 114 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1487 byte 4 116 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1488 byte 4 121 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1489 byte 4 110 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1490 byte 4 111 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1491 byte 4 100 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1492 byte 4 112 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1493 byte 4 99 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1494 byte 4 102 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1495 byte 4 118 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1496 byte 4 101 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1497 byte 4 105 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1498 byte 4 107 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1499 byte 4 145 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1500 byte 4 146 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1501 byte 4 147 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1502 byte 4 148 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1503 byte 4 149 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1504 byte 4 162 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1505 byte 4 168 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1506 byte 4 -1 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1507 byte 4 -1 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1508 byte 4 -1 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 address $1509 byte 4 -1 byte 4 -1 byte 4 -1 byte 4 -1 skip 4 lit align 4 LABELV g_bindCount byte 4 60 data align 4 LABELV g_configcvars address $1510 byte 4 0 byte 4 0 address $1511 byte 4 0 byte 4 0 address $1512 byte 4 0 byte 4 0 address $1513 byte 4 0 byte 4 0 address $1514 byte 4 0 byte 4 0 address $1515 byte 4 0 byte 4 0 address $1516 byte 4 0 byte 4 0 address $1517 byte 4 0 byte 4 0 byte 4 0 byte 4 0 byte 4 0 code proc Controls_GetKeyAssignment 276 12 line 3184 ;3076: ;3077: ;3078:typedef struct { ;3079: char *command; ;3080: int id; ;3081: int defaultbind1; ;3082: int defaultbind2; ;3083: int bind1; ;3084: int bind2; ;3085:} bind_t; ;3086: ;3087:typedef struct ;3088:{ ;3089: char* name; ;3090: float defaultvalue; ;3091: float value; ;3092:} configcvar_t; ;3093: ;3094: ;3095:static bind_t g_bindings[] = ;3096:{ ;3097: {"+scores", K_TAB, -1, -1, -1}, ;3098: {"+button2", K_ENTER, -1, -1, -1}, ;3099: {"+speed", K_SHIFT, -1, -1, -1}, ;3100: {"+forward", K_UPARROW, -1, -1, -1}, ;3101: {"+back", K_DOWNARROW, -1, -1, -1}, ;3102: {"+moveleft", ',', -1, -1, -1}, ;3103: {"+moveright", '.', -1, -1, -1}, ;3104: {"+moveup", K_SPACE, -1, -1, -1}, ;3105: {"+movedown", 'c', -1, -1, -1}, ;3106: {"+left", K_LEFTARROW, -1, -1, -1}, ;3107: {"+right", K_RIGHTARROW, -1, -1, -1}, ;3108: {"+strafe", K_ALT, -1, -1, -1}, ;3109: {"+lookup", K_PGDN, -1, -1, -1}, ;3110: {"+lookdown", K_DEL, -1, -1, -1}, ;3111: {"+mlook", '/', -1, -1, -1}, ;3112: {"centerview", K_END, -1, -1, -1}, ;3113: {"+zoom", -1, -1, -1, -1}, ;3114: {"weapon 1", '1', -1, -1, -1}, ;3115: {"weapon 2", '2', -1, -1, -1}, ;3116: {"weapon 3", '3', -1, -1, -1}, ;3117: {"weapon 4", '4', -1, -1, -1}, ;3118: {"weapon 5", '5', -1, -1, -1}, ;3119: {"weapon 6", '6', -1, -1, -1}, ;3120: {"weapon 7", '7', -1, -1, -1}, ;3121: {"weapon 8", '8', -1, -1, -1}, ;3122: {"weapon 9", '9', -1, -1, -1}, ;3123: {"weapon 10", '0', -1, -1, -1}, ;3124: {"weapon 11", -1, -1, -1, -1}, ;3125: {"weapon 12", -1, -1, -1, -1}, ;3126: {"weapon 13", -1, -1, -1, -1}, ;3127: {"+attack", K_CTRL, -1, -1, -1}, ;3128: {"weapprev", '[', -1, -1, -1}, ;3129: {"weapnext", ']', -1, -1, -1}, ;3130: {"+button3", K_MOUSE3, -1, -1, -1}, ;3131: {"+button4", K_MOUSE4, -1, -1, -1}, ;3132: {"prevTeamMember", 'w', -1, -1, -1}, ;3133: {"nextTeamMember", 'r', -1, -1, -1}, ;3134: {"nextOrder", 't', -1, -1, -1}, ;3135: {"confirmOrder", 'y', -1, -1, -1}, ;3136: {"denyOrder", 'n', -1, -1, -1}, ;3137: {"taskOffense", 'o', -1, -1, -1}, ;3138: {"taskDefense", 'd', -1, -1, -1}, ;3139: {"taskPatrol", 'p', -1, -1, -1}, ;3140: {"taskCamp", 'c', -1, -1, -1}, ;3141: {"taskFollow", 'f', -1, -1, -1}, ;3142: {"taskRetrieve", 'v', -1, -1, -1}, ;3143: {"taskEscort", 'e', -1, -1, -1}, ;3144: {"taskOwnFlag", 'i', -1, -1, -1}, ;3145: {"taskSuicide", 'k', -1, -1, -1}, ;3146: {"tauntKillInsult", K_F1, -1, -1, -1}, ;3147: {"tauntPraise", K_F2, -1, -1, -1}, ;3148: {"tauntTaunt", K_F3, -1, -1, -1}, ;3149: {"tauntDeathInsult", K_F4, -1, -1, -1}, ;3150: {"tauntGauntlet", K_F5, -1, -1, -1}, ;3151: {"scoresUp", K_KP_PGUP, -1, -1, -1}, ;3152: {"scoresDown", K_KP_PGDN, -1, -1, -1}, ;3153: // bk001205 - this one below was: '-1' ;3154: {"messagemode", -1, -1, -1, -1}, ;3155: {"messagemode2", -1, -1, -1, -1}, ;3156: {"messagemode3", -1, -1, -1, -1}, ;3157: {"messagemode4", -1, -1, -1, -1} ;3158:}; ;3159: ;3160: ;3161:static const int g_bindCount = sizeof(g_bindings) / sizeof(bind_t); ;3162: ;3163:#ifndef MISSIONPACK // bk001206 ;3164:static configcvar_t g_configcvars[] = ;3165:{ ;3166: {"cl_run", 0, 0}, ;3167: {"m_pitch", 0, 0}, ;3168: {"cg_autoswitch", 0, 0}, ;3169: {"sensitivity", 0, 0}, ;3170: {"in_joystick", 0, 0}, ;3171: {"joy_threshold", 0, 0}, ;3172: {"m_filter", 0, 0}, ;3173: {"cl_freelook", 0, 0}, ;3174: {NULL, 0, 0} ;3175:}; ;3176:#endif ;3177: ;3178:/* ;3179:================= ;3180:Controls_GetKeyAssignment ;3181:================= ;3182:*/ ;3183:static void Controls_GetKeyAssignment (char *command, int *twokeys) ;3184:{ line 3189 ;3185: int count; ;3186: int j; ;3187: char b[256]; ;3188: ;3189: twokeys[0] = twokeys[1] = -1; ADDRLP4 264 ADDRFP4 4 INDIRP4 ASGNP4 ADDRLP4 268 CNSTI4 -1 ASGNI4 ADDRLP4 264 INDIRP4 CNSTI4 4 ADDP4 ADDRLP4 268 INDIRI4 ASGNI4 ADDRLP4 264 INDIRP4 ADDRLP4 268 INDIRI4 ASGNI4 line 3190 ;3190: count = 0; ADDRLP4 260 CNSTI4 0 ASGNI4 line 3192 ;3191: ;3192: for ( j = 0; j < 256; j++ ) ADDRLP4 0 CNSTI4 0 ASGNI4 LABELV $1519 line 3193 ;3193: { line 3194 ;3194: DC->getBindingBuf( j, b, 256 ); ADDRLP4 0 INDIRI4 ARGI4 ADDRLP4 4 ARGP4 CNSTI4 256 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 140 ADDP4 INDIRP4 CALLV pop line 3195 ;3195: if ( *b == 0 ) { ADDRLP4 4 INDIRI1 CVII4 1 CNSTI4 0 NEI4 $1523 line 3196 ;3196: continue; ADDRGP4 $1520 JUMPV LABELV $1523 line 3198 ;3197: } ;3198: if ( !Q_stricmp( b, command ) ) { ADDRLP4 4 ARGP4 ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 272 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 272 INDIRI4 CNSTI4 0 NEI4 $1525 line 3199 ;3199: twokeys[count] = j; ADDRLP4 260 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 4 INDIRP4 ADDP4 ADDRLP4 0 INDIRI4 ASGNI4 line 3200 ;3200: count++; ADDRLP4 260 ADDRLP4 260 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 3201 ;3201: if (count == 2) { ADDRLP4 260 INDIRI4 CNSTI4 2 NEI4 $1527 line 3202 ;3202: break; ADDRGP4 $1521 JUMPV LABELV $1527 line 3204 ;3203: } ;3204: } LABELV $1525 line 3205 ;3205: } LABELV $1520 line 3192 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 256 LTI4 $1519 LABELV $1521 line 3206 ;3206:} LABELV $1518 endproc Controls_GetKeyAssignment 276 12 export Controls_GetConfig proc Controls_GetConfig 12 8 line 3214 ;3207: ;3208:/* ;3209:================= ;3210:Controls_GetConfig ;3211:================= ;3212:*/ ;3213:void Controls_GetConfig( void ) ;3214:{ line 3219 ;3215: int i; ;3216: int twokeys[2]; ;3217: ;3218: // iterate each command, get its numeric binding ;3219: for (i=0; i < g_bindCount; i++) ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1533 JUMPV LABELV $1530 line 3220 ;3220: { line 3222 ;3221: ;3222: Controls_GetKeyAssignment(g_bindings[i].command, twokeys); CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 g_bindings ADDP4 INDIRP4 ARGP4 ADDRLP4 4 ARGP4 ADDRGP4 Controls_GetKeyAssignment CALLV pop line 3224 ;3223: ;3224: g_bindings[i].bind1 = twokeys[0]; CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 g_bindings+16 ADDP4 ADDRLP4 4 INDIRI4 ASGNI4 line 3225 ;3225: g_bindings[i].bind2 = twokeys[1]; CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 g_bindings+20 ADDP4 ADDRLP4 4+4 INDIRI4 ASGNI4 line 3226 ;3226: } LABELV $1531 line 3219 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1533 ADDRLP4 0 INDIRI4 ADDRGP4 g_bindCount INDIRI4 LTI4 $1530 line 3236 ;3227: ;3228: //s_controls.invertmouse.curvalue = DC->getCVarValue( "m_pitch" ) < 0; ;3229: //s_controls.smoothmouse.curvalue = UI_ClampCvar( 0, 1, Controls_GetCvarValue( "m_filter" ) ); ;3230: //s_controls.alwaysrun.curvalue = UI_ClampCvar( 0, 1, Controls_GetCvarValue( "cl_run" ) ); ;3231: //s_controls.autoswitch.curvalue = UI_ClampCvar( 0, 1, Controls_GetCvarValue( "cg_autoswitch" ) ); ;3232: //s_controls.sensitivity.curvalue = UI_ClampCvar( 2, 30, Controls_GetCvarValue( "sensitivity" ) ); ;3233: //s_controls.joyenable.curvalue = UI_ClampCvar( 0, 1, Controls_GetCvarValue( "in_joystick" ) ); ;3234: //s_controls.joythreshold.curvalue = UI_ClampCvar( 0.05, 0.75, Controls_GetCvarValue( "joy_threshold" ) ); ;3235: //s_controls.freelook.curvalue = UI_ClampCvar( 0, 1, Controls_GetCvarValue( "cl_freelook" ) ); ;3236:} LABELV $1529 endproc Controls_GetConfig 12 8 export Controls_SetConfig proc Controls_SetConfig 12 8 line 3244 ;3237: ;3238:/* ;3239:================= ;3240:Controls_SetConfig ;3241:================= ;3242:*/ ;3243:void Controls_SetConfig(qboolean restart) ;3244:{ line 3248 ;3245: int i; ;3246: ;3247: // iterate each command, get its numeric binding ;3248: for (i=0; i < g_bindCount; i++) ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1541 JUMPV LABELV $1538 line 3249 ;3249: { line 3251 ;3250: ;3251: if (g_bindings[i].bind1 != -1) CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 g_bindings+16 ADDP4 INDIRI4 CNSTI4 -1 EQI4 $1542 line 3252 ;3252: { line 3253 ;3253: DC->setBinding( g_bindings[i].bind1, g_bindings[i].command ); ADDRLP4 4 CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ASGNI4 ADDRLP4 4 INDIRI4 ADDRGP4 g_bindings+16 ADDP4 INDIRI4 ARGI4 ADDRLP4 4 INDIRI4 ADDRGP4 g_bindings ADDP4 INDIRP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 144 ADDP4 INDIRP4 CALLV pop line 3255 ;3254: ;3255: if (g_bindings[i].bind2 != -1) CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 g_bindings+20 ADDP4 INDIRI4 CNSTI4 -1 EQI4 $1546 line 3256 ;3256: DC->setBinding( g_bindings[i].bind2, g_bindings[i].command ); ADDRLP4 8 CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ASGNI4 ADDRLP4 8 INDIRI4 ADDRGP4 g_bindings+20 ADDP4 INDIRI4 ARGI4 ADDRLP4 8 INDIRI4 ADDRGP4 g_bindings ADDP4 INDIRP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 144 ADDP4 INDIRP4 CALLV pop LABELV $1546 line 3257 ;3257: } LABELV $1542 line 3258 ;3258: } LABELV $1539 line 3248 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1541 ADDRLP4 0 INDIRI4 ADDRGP4 g_bindCount INDIRI4 LTI4 $1538 line 3272 ;3259: ;3260: //if ( s_controls.invertmouse.curvalue ) ;3261: // DC->setCVar("m_pitch", va("%f),-fabs( DC->getCVarValue( "m_pitch" ) ) ); ;3262: //else ;3263: // trap_Cvar_SetValue( "m_pitch", fabs( trap_Cvar_VariableValue( "m_pitch" ) ) ); ;3264: ;3265: //trap_Cvar_SetValue( "m_filter", s_controls.smoothmouse.curvalue ); ;3266: //trap_Cvar_SetValue( "cl_run", s_controls.alwaysrun.curvalue ); ;3267: //trap_Cvar_SetValue( "cg_autoswitch", s_controls.autoswitch.curvalue ); ;3268: //trap_Cvar_SetValue( "sensitivity", s_controls.sensitivity.curvalue ); ;3269: //trap_Cvar_SetValue( "in_joystick", s_controls.joyenable.curvalue ); ;3270: //trap_Cvar_SetValue( "joy_threshold", s_controls.joythreshold.curvalue ); ;3271: //trap_Cvar_SetValue( "cl_freelook", s_controls.freelook.curvalue ); ;3272: DC->executeText(EXEC_APPEND, "in_restart\n"); CNSTI4 2 ARGI4 ADDRGP4 $1550 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 148 ADDP4 INDIRP4 CALLV pop line 3274 ;3273: //trap_Cmd_ExecuteText( EXEC_APPEND, "in_restart\n" ); ;3274:} LABELV $1537 endproc Controls_SetConfig 12 8 export Controls_SetDefaults proc Controls_SetDefaults 12 0 line 3282 ;3275: ;3276:/* ;3277:================= ;3278:Controls_SetDefaults ;3279:================= ;3280:*/ ;3281:void Controls_SetDefaults( void ) ;3282:{ line 3286 ;3283: int i; ;3284: ;3285: // iterate each command, set its default binding ;3286: for (i=0; i < g_bindCount; i++) ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1555 JUMPV LABELV $1552 line 3287 ;3287: { line 3288 ;3288: g_bindings[i].bind1 = g_bindings[i].defaultbind1; ADDRLP4 4 CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ASGNI4 ADDRLP4 4 INDIRI4 ADDRGP4 g_bindings+16 ADDP4 ADDRLP4 4 INDIRI4 ADDRGP4 g_bindings+8 ADDP4 INDIRI4 ASGNI4 line 3289 ;3289: g_bindings[i].bind2 = g_bindings[i].defaultbind2; ADDRLP4 8 CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ASGNI4 ADDRLP4 8 INDIRI4 ADDRGP4 g_bindings+20 ADDP4 ADDRLP4 8 INDIRI4 ADDRGP4 g_bindings+12 ADDP4 INDIRI4 ASGNI4 line 3290 ;3290: } LABELV $1553 line 3286 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1555 ADDRLP4 0 INDIRI4 ADDRGP4 g_bindCount INDIRI4 LTI4 $1552 line 3300 ;3291: ;3292: //s_controls.invertmouse.curvalue = Controls_GetCvarDefault( "m_pitch" ) < 0; ;3293: //s_controls.smoothmouse.curvalue = Controls_GetCvarDefault( "m_filter" ); ;3294: //s_controls.alwaysrun.curvalue = Controls_GetCvarDefault( "cl_run" ); ;3295: //s_controls.autoswitch.curvalue = Controls_GetCvarDefault( "cg_autoswitch" ); ;3296: //s_controls.sensitivity.curvalue = Controls_GetCvarDefault( "sensitivity" ); ;3297: //s_controls.joyenable.curvalue = Controls_GetCvarDefault( "in_joystick" ); ;3298: //s_controls.joythreshold.curvalue = Controls_GetCvarDefault( "joy_threshold" ); ;3299: //s_controls.freelook.curvalue = Controls_GetCvarDefault( "cl_freelook" ); ;3300:} LABELV $1551 endproc Controls_SetDefaults 12 0 export BindingIDFromName proc BindingIDFromName 8 8 line 3302 ;3301: ;3302:int BindingIDFromName(const char *name) { line 3304 ;3303: int i; ;3304: for (i=0; i < g_bindCount; i++) ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1564 JUMPV LABELV $1561 line 3305 ;3305: { line 3306 ;3306: if (Q_stricmp(name, g_bindings[i].command) == 0) { ADDRFP4 0 INDIRP4 ARGP4 CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 g_bindings ADDP4 INDIRP4 ARGP4 ADDRLP4 4 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $1565 line 3307 ;3307: return i; ADDRLP4 0 INDIRI4 RETI4 ADDRGP4 $1560 JUMPV LABELV $1565 line 3309 ;3308: } ;3309: } LABELV $1562 line 3304 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1564 ADDRLP4 0 INDIRI4 ADDRGP4 g_bindCount INDIRI4 LTI4 $1561 line 3310 ;3310: return -1; CNSTI4 -1 RETI4 LABELV $1560 endproc BindingIDFromName 8 8 export BindingFromName proc BindingFromName 16 12 line 3316 ;3311:} ;3312: ;3313:char g_nameBind1[32]; ;3314:char g_nameBind2[32]; ;3315: ;3316:void BindingFromName(const char *cvar) { line 3320 ;3317: int i, b1, b2; ;3318: ;3319: // iterate each command, set its default binding ;3320: for (i=0; i < g_bindCount; i++) ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1571 JUMPV LABELV $1568 line 3321 ;3321: { line 3322 ;3322: if (Q_stricmp(cvar, g_bindings[i].command) == 0) { ADDRFP4 0 INDIRP4 ARGP4 CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 g_bindings ADDP4 INDIRP4 ARGP4 ADDRLP4 12 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 12 INDIRI4 CNSTI4 0 NEI4 $1572 line 3323 ;3323: b1 = g_bindings[i].bind1; ADDRLP4 4 CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 g_bindings+16 ADDP4 INDIRI4 ASGNI4 line 3324 ;3324: if (b1 == -1) { ADDRLP4 4 INDIRI4 CNSTI4 -1 NEI4 $1575 line 3325 ;3325: break; ADDRGP4 $1570 JUMPV LABELV $1575 line 3327 ;3326: } ;3327: DC->keynumToStringBuf( b1, g_nameBind1, 32 ); ADDRLP4 4 INDIRI4 ARGI4 ADDRGP4 g_nameBind1 ARGP4 CNSTI4 32 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 136 ADDP4 INDIRP4 CALLV pop line 3328 ;3328: Q_strupr(g_nameBind1); ADDRGP4 g_nameBind1 ARGP4 ADDRGP4 Q_strupr CALLP4 pop line 3330 ;3329: ;3330: b2 = g_bindings[i].bind2; ADDRLP4 8 CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 g_bindings+20 ADDP4 INDIRI4 ASGNI4 line 3331 ;3331: if (b2 != -1) ADDRLP4 8 INDIRI4 CNSTI4 -1 EQI4 $1567 line 3332 ;3332: { line 3333 ;3333: DC->keynumToStringBuf( b2, g_nameBind2, 32 ); ADDRLP4 8 INDIRI4 ARGI4 ADDRGP4 g_nameBind2 ARGP4 CNSTI4 32 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 136 ADDP4 INDIRP4 CALLV pop line 3334 ;3334: Q_strupr(g_nameBind2); ADDRGP4 g_nameBind2 ARGP4 ADDRGP4 Q_strupr CALLP4 pop line 3335 ;3335: strcat( g_nameBind1, " or " ); ADDRGP4 g_nameBind1 ARGP4 ADDRGP4 $1580 ARGP4 ADDRGP4 strcat CALLP4 pop line 3336 ;3336: strcat( g_nameBind1, g_nameBind2 ); ADDRGP4 g_nameBind1 ARGP4 ADDRGP4 g_nameBind2 ARGP4 ADDRGP4 strcat CALLP4 pop line 3337 ;3337: } line 3338 ;3338: return; ADDRGP4 $1567 JUMPV LABELV $1572 line 3340 ;3339: } ;3340: } LABELV $1569 line 3320 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1571 ADDRLP4 0 INDIRI4 ADDRGP4 g_bindCount INDIRI4 LTI4 $1568 LABELV $1570 line 3341 ;3341: strcpy(g_nameBind1, "???"); ADDRGP4 g_nameBind1 ARGP4 ADDRGP4 $1581 ARGP4 ADDRGP4 strcpy CALLP4 pop line 3342 ;3342:} LABELV $1567 endproc BindingFromName 16 12 export Item_Slider_Paint proc Item_Slider_Paint 68 20 line 3344 ;3343: ;3344:void Item_Slider_Paint(itemDef_t *item) { line 3347 ;3345: vec4_t newColor, lowLight; ;3346: float x, y, value; ;3347: menuDef_t *parent = (menuDef_t*)item->parent; ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ASGNP4 line 3349 ;3348: ;3349: value = (item->cvar) ? DC->getCVarValue(item->cvar) : 0; ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1584 ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 52 ADDRGP4 DC INDIRP4 CNSTI4 92 ADDP4 INDIRP4 CALLF4 ASGNF4 ADDRLP4 48 ADDRLP4 52 INDIRF4 ASGNF4 ADDRGP4 $1585 JUMPV LABELV $1584 ADDRLP4 48 CNSTF4 0 ASGNF4 LABELV $1585 ADDRLP4 44 ADDRLP4 48 INDIRF4 ASGNF4 line 3351 ;3350: ;3351: if (item->window.flags & WINDOW_HASFOCUS) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 2 BANDI4 CNSTI4 0 EQI4 $1586 line 3352 ;3352: lowLight[0] = 0.8 * parent->focusColor[0]; ADDRLP4 12 CNSTF4 1061997773 ADDRLP4 4 INDIRP4 CNSTI4 228 ADDP4 INDIRF4 MULF4 ASGNF4 line 3353 ;3353: lowLight[1] = 0.8 * parent->focusColor[1]; ADDRLP4 12+4 CNSTF4 1061997773 ADDRLP4 4 INDIRP4 CNSTI4 232 ADDP4 INDIRF4 MULF4 ASGNF4 line 3354 ;3354: lowLight[2] = 0.8 * parent->focusColor[2]; ADDRLP4 12+8 CNSTF4 1061997773 ADDRLP4 4 INDIRP4 CNSTI4 236 ADDP4 INDIRF4 MULF4 ASGNF4 line 3355 ;3355: lowLight[3] = 0.8 * parent->focusColor[3]; ADDRLP4 12+12 CNSTF4 1061997773 ADDRLP4 4 INDIRP4 CNSTI4 240 ADDP4 INDIRF4 MULF4 ASGNF4 line 3356 ;3356: LerpColor(parent->focusColor,lowLight,newColor,0.5+0.5*sin(DC->realTime / PULSE_DIVISOR)); ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 CNSTI4 75 DIVI4 CVIF4 4 ARGF4 ADDRLP4 56 ADDRGP4 sin CALLF4 ASGNF4 ADDRLP4 4 INDIRP4 CNSTI4 228 ADDP4 ARGP4 ADDRLP4 12 ARGP4 ADDRLP4 28 ARGP4 CNSTF4 1056964608 ADDRLP4 56 INDIRF4 MULF4 CNSTF4 1056964608 ADDF4 ARGF4 ADDRGP4 LerpColor CALLV pop line 3357 ;3357: } else { ADDRGP4 $1587 JUMPV LABELV $1586 line 3358 ;3358: memcpy(&newColor, &item->window.foreColor, sizeof(vec4_t)); ADDRLP4 28 ARGP4 ADDRFP4 0 INDIRP4 CNSTI4 112 ADDP4 ARGP4 CNSTI4 16 ARGI4 ADDRGP4 memcpy CALLP4 pop line 3359 ;3359: } LABELV $1587 line 3361 ;3360: ;3361: y = item->window.rect.y; ADDRLP4 8 ADDRFP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ASGNF4 line 3362 ;3362: if (item->text) { ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1591 line 3363 ;3363: Item_Text_Paint(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_Text_Paint CALLV pop line 3364 ;3364: x = item->textRect.x + item->textRect.w + 8; ADDRLP4 56 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0 ADDRLP4 56 INDIRP4 CNSTI4 180 ADDP4 INDIRF4 ADDRLP4 56 INDIRP4 CNSTI4 188 ADDP4 INDIRF4 ADDF4 CNSTF4 1090519040 ADDF4 ASGNF4 line 3365 ;3365: } else { ADDRGP4 $1592 JUMPV LABELV $1591 line 3366 ;3366: x = item->window.rect.x; ADDRLP4 0 ADDRFP4 0 INDIRP4 INDIRF4 ASGNF4 line 3367 ;3367: } LABELV $1592 line 3368 ;3368: DC->setColor(newColor); ADDRLP4 28 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 4 ADDP4 INDIRP4 CALLV pop line 3369 ;3369: DC->drawHandlePic( x, y, SLIDER_WIDTH, SLIDER_HEIGHT, DC->Assets.sliderBar ); ADDRLP4 0 INDIRF4 ARGF4 ADDRLP4 8 INDIRF4 ARGF4 CNSTF4 1119879168 ARGF4 CNSTF4 1098907648 ARGF4 ADDRLP4 56 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 56 INDIRP4 CNSTI4 61928 ADDP4 INDIRI4 ARGI4 ADDRLP4 56 INDIRP4 CNSTI4 8 ADDP4 INDIRP4 CALLV pop line 3371 ;3370: ;3371: x = Item_Slider_ThumbPosition(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 60 ADDRGP4 Item_Slider_ThumbPosition CALLF4 ASGNF4 ADDRLP4 0 ADDRLP4 60 INDIRF4 ASGNF4 line 3372 ;3372: DC->drawHandlePic( x - (SLIDER_THUMB_WIDTH / 2), y - 2, SLIDER_THUMB_WIDTH, SLIDER_THUMB_HEIGHT, DC->Assets.sliderThumb ); ADDRLP4 0 INDIRF4 CNSTF4 1086324736 SUBF4 ARGF4 ADDRLP4 8 INDIRF4 CNSTF4 1073741824 SUBF4 ARGF4 CNSTF4 1094713344 ARGF4 CNSTF4 1101004800 ARGF4 ADDRLP4 64 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 64 INDIRP4 CNSTI4 61932 ADDP4 INDIRI4 ARGI4 ADDRLP4 64 INDIRP4 CNSTI4 8 ADDP4 INDIRP4 CALLV pop line 3374 ;3373: ;3374:} LABELV $1582 endproc Item_Slider_Paint 68 20 export Item_Bind_Paint proc Item_Bind_Paint 64 32 line 3376 ;3375: ;3376:void Item_Bind_Paint(itemDef_t *item) { line 3379 ;3377: vec4_t newColor, lowLight; ;3378: float value; ;3379: int maxChars = 0; ADDRLP4 16 CNSTI4 0 ASGNI4 line 3380 ;3380: menuDef_t *parent = (menuDef_t*)item->parent; ADDRLP4 20 ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ASGNP4 line 3381 ;3381: editFieldDef_t *editPtr = (editFieldDef_t*)item->typeData; ADDRLP4 24 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 3382 ;3382: if (editPtr) { ADDRLP4 24 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1594 line 3383 ;3383: maxChars = editPtr->maxPaintChars; ADDRLP4 16 ADDRLP4 24 INDIRP4 CNSTI4 20 ADDP4 INDIRI4 ASGNI4 line 3384 ;3384: } LABELV $1594 line 3386 ;3385: ;3386: value = (item->cvar) ? DC->getCVarValue(item->cvar) : 0; ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1597 ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 52 ADDRGP4 DC INDIRP4 CNSTI4 92 ADDP4 INDIRP4 CALLF4 ASGNF4 ADDRLP4 48 ADDRLP4 52 INDIRF4 ASGNF4 ADDRGP4 $1598 JUMPV LABELV $1597 ADDRLP4 48 CNSTF4 0 ASGNF4 LABELV $1598 ADDRLP4 44 ADDRLP4 48 INDIRF4 ASGNF4 line 3388 ;3387: ;3388: if (item->window.flags & WINDOW_HASFOCUS) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 2 BANDI4 CNSTI4 0 EQI4 $1599 line 3389 ;3389: if (g_bindItem == item) { ADDRGP4 g_bindItem INDIRP4 CVPU4 4 ADDRFP4 0 INDIRP4 CVPU4 4 NEU4 $1601 line 3390 ;3390: lowLight[0] = 0.8f * 1.0f; ADDRLP4 0 CNSTF4 1061997773 ASGNF4 line 3391 ;3391: lowLight[1] = 0.8f * 0.0f; ADDRLP4 0+4 CNSTF4 0 ASGNF4 line 3392 ;3392: lowLight[2] = 0.8f * 0.0f; ADDRLP4 0+8 CNSTF4 0 ASGNF4 line 3393 ;3393: lowLight[3] = 0.8f * 1.0f; ADDRLP4 0+12 CNSTF4 1061997773 ASGNF4 line 3394 ;3394: } else { ADDRGP4 $1602 JUMPV LABELV $1601 line 3395 ;3395: lowLight[0] = 0.8f * parent->focusColor[0]; ADDRLP4 0 CNSTF4 1061997773 ADDRLP4 20 INDIRP4 CNSTI4 228 ADDP4 INDIRF4 MULF4 ASGNF4 line 3396 ;3396: lowLight[1] = 0.8f * parent->focusColor[1]; ADDRLP4 0+4 CNSTF4 1061997773 ADDRLP4 20 INDIRP4 CNSTI4 232 ADDP4 INDIRF4 MULF4 ASGNF4 line 3397 ;3397: lowLight[2] = 0.8f * parent->focusColor[2]; ADDRLP4 0+8 CNSTF4 1061997773 ADDRLP4 20 INDIRP4 CNSTI4 236 ADDP4 INDIRF4 MULF4 ASGNF4 line 3398 ;3398: lowLight[3] = 0.8f * parent->focusColor[3]; ADDRLP4 0+12 CNSTF4 1061997773 ADDRLP4 20 INDIRP4 CNSTI4 240 ADDP4 INDIRF4 MULF4 ASGNF4 line 3399 ;3399: } LABELV $1602 line 3400 ;3400: LerpColor(parent->focusColor,lowLight,newColor,0.5+0.5*sin(DC->realTime / PULSE_DIVISOR)); ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 CNSTI4 75 DIVI4 CVIF4 4 ARGF4 ADDRLP4 56 ADDRGP4 sin CALLF4 ASGNF4 ADDRLP4 20 INDIRP4 CNSTI4 228 ADDP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 28 ARGP4 CNSTF4 1056964608 ADDRLP4 56 INDIRF4 MULF4 CNSTF4 1056964608 ADDF4 ARGF4 ADDRGP4 LerpColor CALLV pop line 3401 ;3401: } else { ADDRGP4 $1600 JUMPV LABELV $1599 line 3402 ;3402: memcpy(&newColor, &item->window.foreColor, sizeof(vec4_t)); ADDRLP4 28 ARGP4 ADDRFP4 0 INDIRP4 CNSTI4 112 ADDP4 ARGP4 CNSTI4 16 ARGI4 ADDRGP4 memcpy CALLP4 pop line 3403 ;3403: } LABELV $1600 line 3405 ;3404: ;3405: if (item->text) { ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1609 line 3406 ;3406: Item_Text_Paint(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_Text_Paint CALLV pop line 3407 ;3407: BindingFromName(item->cvar); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRGP4 BindingFromName CALLV pop line 3408 ;3408: DC->drawText(item->textRect.x + item->textRect.w + 8, item->textRect.y, item->textscale, newColor, g_nameBind1, 0, maxChars, item->textStyle); ADDRLP4 56 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 56 INDIRP4 CNSTI4 180 ADDP4 INDIRF4 ADDRLP4 56 INDIRP4 CNSTI4 188 ADDP4 INDIRF4 ADDF4 CNSTF4 1090519040 ADDF4 ARGF4 ADDRLP4 56 INDIRP4 CNSTI4 184 ADDP4 INDIRF4 ARGF4 ADDRLP4 56 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 28 ARGP4 ADDRGP4 g_nameBind1 ARGP4 CNSTF4 0 ARGF4 ADDRLP4 16 INDIRI4 ARGI4 ADDRLP4 56 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 16 ADDP4 INDIRP4 CALLV pop line 3409 ;3409: } else { ADDRGP4 $1610 JUMPV LABELV $1609 line 3410 ;3410: DC->drawText(item->textRect.x, item->textRect.y, item->textscale, newColor, (value != 0) ? "FIXME" : "FIXME", 0, maxChars, item->textStyle); ADDRLP4 60 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 60 INDIRP4 CNSTI4 180 ADDP4 INDIRF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 184 ADDP4 INDIRF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 28 ARGP4 ADDRLP4 44 INDIRF4 CNSTF4 0 EQF4 $1613 ADDRLP4 56 ADDRGP4 $1611 ASGNP4 ADDRGP4 $1614 JUMPV LABELV $1613 ADDRLP4 56 ADDRGP4 $1611 ASGNP4 LABELV $1614 ADDRLP4 56 INDIRP4 ARGP4 CNSTF4 0 ARGF4 ADDRLP4 16 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 16 ADDP4 INDIRP4 CALLV pop line 3411 ;3411: } LABELV $1610 line 3412 ;3412:} LABELV $1593 endproc Item_Bind_Paint 64 32 export Display_KeyBindPending proc Display_KeyBindPending 0 0 line 3414 ;3413: ;3414:qboolean Display_KeyBindPending() { line 3415 ;3415: return g_waitingForKey; ADDRGP4 g_waitingForKey INDIRI4 RETI4 LABELV $1615 endproc Display_KeyBindPending 0 0 export Item_Bind_HandleKey proc Item_Bind_HandleKey 32 12 line 3418 ;3416:} ;3417: ;3418:qboolean Item_Bind_HandleKey(itemDef_t *item, int key, qboolean down) { line 3422 ;3419: int id; ;3420: int i; ;3421: ;3422: if (Rect_ContainsPoint(&item->window.rect, DC->cursorx, DC->cursory) && !g_waitingForKey) ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 8 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 8 INDIRP4 CNSTI4 216 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 8 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 12 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 16 CNSTI4 0 ASGNI4 ADDRLP4 12 INDIRI4 ADDRLP4 16 INDIRI4 EQI4 $1617 ADDRGP4 g_waitingForKey INDIRI4 ADDRLP4 16 INDIRI4 NEI4 $1617 line 3423 ;3423: { line 3424 ;3424: if (down && (key == K_MOUSE1 || key == K_ENTER)) { ADDRFP4 8 INDIRI4 CNSTI4 0 EQI4 $1619 ADDRLP4 20 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 20 INDIRI4 CNSTI4 178 EQI4 $1621 ADDRLP4 20 INDIRI4 CNSTI4 13 NEI4 $1619 LABELV $1621 line 3425 ;3425: g_waitingForKey = qtrue; ADDRGP4 g_waitingForKey CNSTI4 1 ASGNI4 line 3426 ;3426: g_bindItem = item; ADDRGP4 g_bindItem ADDRFP4 0 INDIRP4 ASGNP4 line 3427 ;3427: } LABELV $1619 line 3428 ;3428: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $1616 JUMPV LABELV $1617 line 3431 ;3429: } ;3430: else ;3431: { line 3432 ;3432: if (!g_waitingForKey || g_bindItem == NULL) { ADDRGP4 g_waitingForKey INDIRI4 CNSTI4 0 EQI4 $1624 ADDRGP4 g_bindItem INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1622 LABELV $1624 line 3433 ;3433: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $1616 JUMPV LABELV $1622 line 3436 ;3434: } ;3435: ;3436: if (key & K_CHAR_FLAG) { ADDRFP4 4 INDIRI4 CNSTI4 1024 BANDI4 CNSTI4 0 EQI4 $1625 line 3437 ;3437: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $1616 JUMPV LABELV $1625 line 3440 ;3438: } ;3439: ;3440: switch (key) ADDRLP4 20 ADDRFP4 4 INDIRI4 ASGNI4 ADDRLP4 24 CNSTI4 96 ASGNI4 ADDRLP4 20 INDIRI4 ADDRLP4 24 INDIRI4 EQI4 $1635 ADDRLP4 20 INDIRI4 ADDRLP4 24 INDIRI4 GTI4 $1637 LABELV $1636 ADDRFP4 4 INDIRI4 CNSTI4 27 EQI4 $1629 ADDRGP4 $1627 JUMPV LABELV $1637 ADDRFP4 4 INDIRI4 CNSTI4 127 EQI4 $1630 ADDRGP4 $1627 JUMPV line 3441 ;3441: { LABELV $1629 line 3443 ;3442: case K_ESCAPE: ;3443: g_waitingForKey = qfalse; ADDRGP4 g_waitingForKey CNSTI4 0 ASGNI4 line 3444 ;3444: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $1616 JUMPV LABELV $1630 line 3447 ;3445: ;3446: case K_BACKSPACE: ;3447: id = BindingIDFromName(item->cvar); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 28 ADDRGP4 BindingIDFromName CALLI4 ASGNI4 ADDRLP4 4 ADDRLP4 28 INDIRI4 ASGNI4 line 3448 ;3448: if (id != -1) { ADDRLP4 4 INDIRI4 CNSTI4 -1 EQI4 $1631 line 3449 ;3449: g_bindings[id].bind1 = -1; CNSTI4 24 ADDRLP4 4 INDIRI4 MULI4 ADDRGP4 g_bindings+16 ADDP4 CNSTI4 -1 ASGNI4 line 3450 ;3450: g_bindings[id].bind2 = -1; CNSTI4 24 ADDRLP4 4 INDIRI4 MULI4 ADDRGP4 g_bindings+20 ADDP4 CNSTI4 -1 ASGNI4 line 3451 ;3451: } LABELV $1631 line 3452 ;3452: Controls_SetConfig(qtrue); CNSTI4 1 ARGI4 ADDRGP4 Controls_SetConfig CALLV pop line 3453 ;3453: g_waitingForKey = qfalse; ADDRGP4 g_waitingForKey CNSTI4 0 ASGNI4 line 3454 ;3454: g_bindItem = NULL; ADDRGP4 g_bindItem CNSTP4 0 ASGNP4 line 3455 ;3455: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $1616 JUMPV LABELV $1635 line 3458 ;3456: ;3457: case '`': ;3458: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $1616 JUMPV LABELV $1627 line 3460 ;3459: } ;3460: } line 3462 ;3461: ;3462: if (key != -1) ADDRFP4 4 INDIRI4 CNSTI4 -1 EQI4 $1638 line 3463 ;3463: { line 3465 ;3464: ;3465: for (i=0; i < g_bindCount; i++) ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1643 JUMPV LABELV $1640 line 3466 ;3466: { line 3468 ;3467: ;3468: if (g_bindings[i].bind2 == key) { CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 g_bindings+20 ADDP4 INDIRI4 ADDRFP4 4 INDIRI4 NEI4 $1644 line 3469 ;3469: g_bindings[i].bind2 = -1; CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 g_bindings+20 ADDP4 CNSTI4 -1 ASGNI4 line 3470 ;3470: } LABELV $1644 line 3472 ;3471: ;3472: if (g_bindings[i].bind1 == key) CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 g_bindings+16 ADDP4 INDIRI4 ADDRFP4 4 INDIRI4 NEI4 $1648 line 3473 ;3473: { line 3474 ;3474: g_bindings[i].bind1 = g_bindings[i].bind2; ADDRLP4 20 CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ASGNI4 ADDRLP4 20 INDIRI4 ADDRGP4 g_bindings+16 ADDP4 ADDRLP4 20 INDIRI4 ADDRGP4 g_bindings+20 ADDP4 INDIRI4 ASGNI4 line 3475 ;3475: g_bindings[i].bind2 = -1; CNSTI4 24 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 g_bindings+20 ADDP4 CNSTI4 -1 ASGNI4 line 3476 ;3476: } LABELV $1648 line 3477 ;3477: } LABELV $1641 line 3465 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1643 ADDRLP4 0 INDIRI4 ADDRGP4 g_bindCount INDIRI4 LTI4 $1640 line 3478 ;3478: } LABELV $1638 line 3481 ;3479: ;3480: ;3481: id = BindingIDFromName(item->cvar); ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 INDIRP4 ARGP4 ADDRLP4 20 ADDRGP4 BindingIDFromName CALLI4 ASGNI4 ADDRLP4 4 ADDRLP4 20 INDIRI4 ASGNI4 line 3483 ;3482: ;3483: if (id != -1) { ADDRLP4 4 INDIRI4 CNSTI4 -1 EQI4 $1654 line 3484 ;3484: if (key == -1) { ADDRFP4 4 INDIRI4 CNSTI4 -1 NEI4 $1656 line 3485 ;3485: if( g_bindings[id].bind1 != -1 ) { CNSTI4 24 ADDRLP4 4 INDIRI4 MULI4 ADDRGP4 g_bindings+16 ADDP4 INDIRI4 CNSTI4 -1 EQI4 $1658 line 3486 ;3486: DC->setBinding( g_bindings[id].bind1, "" ); CNSTI4 24 ADDRLP4 4 INDIRI4 MULI4 ADDRGP4 g_bindings+16 ADDP4 INDIRI4 ARGI4 ADDRGP4 $54 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 144 ADDP4 INDIRP4 CALLV pop line 3487 ;3487: g_bindings[id].bind1 = -1; CNSTI4 24 ADDRLP4 4 INDIRI4 MULI4 ADDRGP4 g_bindings+16 ADDP4 CNSTI4 -1 ASGNI4 line 3488 ;3488: } LABELV $1658 line 3489 ;3489: if( g_bindings[id].bind2 != -1 ) { CNSTI4 24 ADDRLP4 4 INDIRI4 MULI4 ADDRGP4 g_bindings+20 ADDP4 INDIRI4 CNSTI4 -1 EQI4 $1657 line 3490 ;3490: DC->setBinding( g_bindings[id].bind2, "" ); CNSTI4 24 ADDRLP4 4 INDIRI4 MULI4 ADDRGP4 g_bindings+20 ADDP4 INDIRI4 ARGI4 ADDRGP4 $54 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 144 ADDP4 INDIRP4 CALLV pop line 3491 ;3491: g_bindings[id].bind2 = -1; CNSTI4 24 ADDRLP4 4 INDIRI4 MULI4 ADDRGP4 g_bindings+20 ADDP4 CNSTI4 -1 ASGNI4 line 3492 ;3492: } line 3493 ;3493: } ADDRGP4 $1657 JUMPV LABELV $1656 line 3494 ;3494: else if (g_bindings[id].bind1 == -1) { CNSTI4 24 ADDRLP4 4 INDIRI4 MULI4 ADDRGP4 g_bindings+16 ADDP4 INDIRI4 CNSTI4 -1 NEI4 $1668 line 3495 ;3495: g_bindings[id].bind1 = key; CNSTI4 24 ADDRLP4 4 INDIRI4 MULI4 ADDRGP4 g_bindings+16 ADDP4 ADDRFP4 4 INDIRI4 ASGNI4 line 3496 ;3496: } ADDRGP4 $1669 JUMPV LABELV $1668 line 3497 ;3497: else if (g_bindings[id].bind1 != key && g_bindings[id].bind2 == -1) { ADDRLP4 24 CNSTI4 24 ADDRLP4 4 INDIRI4 MULI4 ASGNI4 ADDRLP4 24 INDIRI4 ADDRGP4 g_bindings+16 ADDP4 INDIRI4 ADDRFP4 4 INDIRI4 EQI4 $1672 ADDRLP4 24 INDIRI4 ADDRGP4 g_bindings+20 ADDP4 INDIRI4 CNSTI4 -1 NEI4 $1672 line 3498 ;3498: g_bindings[id].bind2 = key; CNSTI4 24 ADDRLP4 4 INDIRI4 MULI4 ADDRGP4 g_bindings+20 ADDP4 ADDRFP4 4 INDIRI4 ASGNI4 line 3499 ;3499: } ADDRGP4 $1673 JUMPV LABELV $1672 line 3500 ;3500: else { line 3501 ;3501: DC->setBinding( g_bindings[id].bind1, "" ); CNSTI4 24 ADDRLP4 4 INDIRI4 MULI4 ADDRGP4 g_bindings+16 ADDP4 INDIRI4 ARGI4 ADDRGP4 $54 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 144 ADDP4 INDIRP4 CALLV pop line 3502 ;3502: DC->setBinding( g_bindings[id].bind2, "" ); CNSTI4 24 ADDRLP4 4 INDIRI4 MULI4 ADDRGP4 g_bindings+20 ADDP4 INDIRI4 ARGI4 ADDRGP4 $54 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 144 ADDP4 INDIRP4 CALLV pop line 3503 ;3503: g_bindings[id].bind1 = key; CNSTI4 24 ADDRLP4 4 INDIRI4 MULI4 ADDRGP4 g_bindings+16 ADDP4 ADDRFP4 4 INDIRI4 ASGNI4 line 3504 ;3504: g_bindings[id].bind2 = -1; CNSTI4 24 ADDRLP4 4 INDIRI4 MULI4 ADDRGP4 g_bindings+20 ADDP4 CNSTI4 -1 ASGNI4 line 3505 ;3505: } LABELV $1673 LABELV $1669 LABELV $1657 line 3506 ;3506: } LABELV $1654 line 3508 ;3507: ;3508: Controls_SetConfig(qtrue); CNSTI4 1 ARGI4 ADDRGP4 Controls_SetConfig CALLV pop line 3509 ;3509: g_waitingForKey = qfalse; ADDRGP4 g_waitingForKey CNSTI4 0 ASGNI4 line 3511 ;3510: ;3511: return qtrue; CNSTI4 1 RETI4 LABELV $1616 endproc Item_Bind_HandleKey 32 12 export AdjustFrom640 proc AdjustFrom640 16 0 line 3516 ;3512:} ;3513: ;3514: ;3515: ;3516:void AdjustFrom640(float *x, float *y, float *w, float *h) { line 3518 ;3517: //*x = *x * DC->scale + DC->bias; ;3518: *x *= DC->xscale; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRF4 ADDRGP4 DC INDIRP4 CNSTI4 200 ADDP4 INDIRF4 MULF4 ASGNF4 line 3519 ;3519: *y *= DC->yscale; ADDRLP4 4 ADDRFP4 4 INDIRP4 ASGNP4 ADDRLP4 4 INDIRP4 ADDRLP4 4 INDIRP4 INDIRF4 ADDRGP4 DC INDIRP4 CNSTI4 196 ADDP4 INDIRF4 MULF4 ASGNF4 line 3520 ;3520: *w *= DC->xscale; ADDRLP4 8 ADDRFP4 8 INDIRP4 ASGNP4 ADDRLP4 8 INDIRP4 ADDRLP4 8 INDIRP4 INDIRF4 ADDRGP4 DC INDIRP4 CNSTI4 200 ADDP4 INDIRF4 MULF4 ASGNF4 line 3521 ;3521: *h *= DC->yscale; ADDRLP4 12 ADDRFP4 12 INDIRP4 ASGNP4 ADDRLP4 12 INDIRP4 ADDRLP4 12 INDIRP4 INDIRF4 ADDRGP4 DC INDIRP4 CNSTI4 196 ADDP4 INDIRF4 MULF4 ASGNF4 line 3522 ;3522:} LABELV $1681 endproc AdjustFrom640 16 0 export Item_Model_Paint proc Item_Model_Paint 588 16 line 3524 ;3523: ;3524:void Item_Model_Paint(itemDef_t *item) { line 3530 ;3525: float x, y, w, h; ;3526: refdef_t refdef; ;3527: refEntity_t ent; ;3528: vec3_t mins, maxs, origin; ;3529: vec3_t angles; ;3530: modelDef_t *modelPtr = (modelDef_t*)item->typeData; ADDRLP4 508 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 3532 ;3531: ;3532: if (modelPtr == NULL) { ADDRLP4 508 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1683 line 3533 ;3533: return; ADDRGP4 $1682 JUMPV LABELV $1683 line 3537 ;3534: } ;3535: ;3536: // setup the refdef ;3537: memset( &refdef, 0, sizeof( refdef ) ); ADDRLP4 0 ARGP4 CNSTI4 0 ARGI4 CNSTI4 368 ARGI4 ADDRGP4 memset CALLP4 pop line 3538 ;3538: refdef.rdflags = RDF_NOWORLDMODEL; ADDRLP4 0+76 CNSTI4 1 ASGNI4 line 3539 ;3539: AxisClear( refdef.viewaxis ); ADDRLP4 0+36 ARGP4 ADDRGP4 AxisClear CALLV pop line 3540 ;3540: x = item->window.rect.x+1; ADDRLP4 568 ADDRFP4 0 INDIRP4 INDIRF4 CNSTF4 1065353216 ADDF4 ASGNF4 line 3541 ;3541: y = item->window.rect.y+1; ADDRLP4 572 ADDRFP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 CNSTF4 1065353216 ADDF4 ASGNF4 line 3542 ;3542: w = item->window.rect.w-2; ADDRLP4 524 ADDRFP4 0 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 CNSTF4 1073741824 SUBF4 ASGNF4 line 3543 ;3543: h = item->window.rect.h-2; ADDRLP4 528 ADDRFP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 CNSTF4 1073741824 SUBF4 ASGNF4 line 3545 ;3544: ;3545: AdjustFrom640( &x, &y, &w, &h ); ADDRLP4 568 ARGP4 ADDRLP4 572 ARGP4 ADDRLP4 524 ARGP4 ADDRLP4 528 ARGP4 ADDRGP4 AdjustFrom640 CALLV pop line 3547 ;3546: ;3547: refdef.x = x; ADDRLP4 0 ADDRLP4 568 INDIRF4 CVFI4 4 ASGNI4 line 3548 ;3548: refdef.y = y; ADDRLP4 0+4 ADDRLP4 572 INDIRF4 CVFI4 4 ASGNI4 line 3549 ;3549: refdef.width = w; ADDRLP4 0+8 ADDRLP4 524 INDIRF4 CVFI4 4 ASGNI4 line 3550 ;3550: refdef.height = h; ADDRLP4 0+12 ADDRLP4 528 INDIRF4 CVFI4 4 ASGNI4 line 3552 ;3551: ;3552: DC->modelBounds( item->asset, mins, maxs ); ADDRFP4 0 INDIRP4 CNSTI4 232 ADDP4 INDIRI4 ARGI4 ADDRLP4 544 ARGP4 ADDRLP4 556 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 32 ADDP4 INDIRP4 CALLV pop line 3554 ;3553: ;3554: origin[2] = -0.5 * ( mins[2] + maxs[2] ); ADDRLP4 512+8 CNSTF4 3204448256 ADDRLP4 544+8 INDIRF4 ADDRLP4 556+8 INDIRF4 ADDF4 MULF4 ASGNF4 line 3555 ;3555: origin[1] = 0.5 * ( mins[1] + maxs[1] ); ADDRLP4 512+4 CNSTF4 1056964608 ADDRLP4 544+4 INDIRF4 ADDRLP4 556+4 INDIRF4 ADDF4 MULF4 ASGNF4 line 3558 ;3556: ;3557: // calculate distance so the model nearly fills the box ;3558: if (qtrue) { line 3559 ;3559: float len = 0.5 * ( maxs[2] - mins[2] ); ADDRLP4 576 CNSTF4 1056964608 ADDRLP4 556+8 INDIRF4 ADDRLP4 544+8 INDIRF4 SUBF4 MULF4 ASGNF4 line 3560 ;3560: origin[0] = len / 0.268; // len / tan( fov/2 ) ADDRLP4 512 ADDRLP4 576 INDIRF4 CNSTF4 1049179980 DIVF4 ASGNF4 line 3562 ;3561: //origin[0] = len / tan(w/2); ;3562: } else { ADDRGP4 $1697 JUMPV LABELV $1696 line 3563 ;3563: origin[0] = item->textscale; ADDRLP4 512 ADDRFP4 0 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ASGNF4 line 3564 ;3564: } LABELV $1697 line 3565 ;3565: refdef.fov_x = (modelPtr->fov_x) ? modelPtr->fov_x : w; ADDRLP4 508 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 CNSTF4 0 EQF4 $1702 ADDRLP4 576 ADDRLP4 508 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 ASGNF4 ADDRGP4 $1703 JUMPV LABELV $1702 ADDRLP4 576 ADDRLP4 524 INDIRF4 ASGNF4 LABELV $1703 ADDRLP4 0+16 ADDRLP4 576 INDIRF4 ASGNF4 line 3566 ;3566: refdef.fov_y = (modelPtr->fov_y) ? modelPtr->fov_y : h; ADDRLP4 508 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 CNSTF4 0 EQF4 $1706 ADDRLP4 580 ADDRLP4 508 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ASGNF4 ADDRGP4 $1707 JUMPV LABELV $1706 ADDRLP4 580 ADDRLP4 528 INDIRF4 ASGNF4 LABELV $1707 ADDRLP4 0+20 ADDRLP4 580 INDIRF4 ASGNF4 line 3573 ;3567: ;3568: //refdef.fov_x = (int)((float)refdef.width / 640.0f * 90.0f); ;3569: //xx = refdef.width / tan( refdef.fov_x / 360 * M_PI ); ;3570: //refdef.fov_y = atan2( refdef.height, xx ); ;3571: //refdef.fov_y *= ( 360 / M_PI ); ;3572: ;3573: DC->clearScene(); ADDRGP4 DC INDIRP4 CNSTI4 52 ADDP4 INDIRP4 CALLV pop line 3575 ;3574: ;3575: refdef.time = DC->realTime; ADDRLP4 0+72 ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 ASGNI4 line 3579 ;3576: ;3577: // add the model ;3578: ;3579: memset( &ent, 0, sizeof(ent) ); ADDRLP4 368 ARGP4 CNSTI4 0 ARGI4 CNSTI4 140 ARGI4 ADDRGP4 memset CALLP4 pop line 3586 ;3580: ;3581: //adjust = 5.0 * sin( (float)uis.realtime / 500 ); ;3582: //adjust = 360 % (int)((float)uis.realtime / 1000); ;3583: //VectorSet( angles, 0, 0, 1 ); ;3584: ;3585: // use item storage to track ;3586: if (modelPtr->rotationSpeed) { ADDRLP4 508 INDIRP4 CNSTI4 24 ADDP4 INDIRI4 CNSTI4 0 EQI4 $1709 line 3587 ;3587: if (DC->realTime > item->window.nextTime) { ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 108 ADDP4 INDIRI4 LEI4 $1711 line 3588 ;3588: item->window.nextTime = DC->realTime + modelPtr->rotationSpeed; ADDRFP4 0 INDIRP4 CNSTI4 108 ADDP4 ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 ADDRLP4 508 INDIRP4 CNSTI4 24 ADDP4 INDIRI4 ADDI4 ASGNI4 line 3589 ;3589: modelPtr->angle = (int)(modelPtr->angle + 1) % 360; ADDRLP4 508 INDIRP4 ADDRLP4 508 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 CNSTI4 360 MODI4 ASGNI4 line 3590 ;3590: } LABELV $1711 line 3591 ;3591: } LABELV $1709 line 3592 ;3592: VectorSet( angles, 0, modelPtr->angle, 0 ); ADDRLP4 532 CNSTF4 0 ASGNF4 ADDRLP4 532+4 ADDRLP4 508 INDIRP4 INDIRI4 CVIF4 4 ASGNF4 ADDRLP4 532+8 CNSTF4 0 ASGNF4 line 3593 ;3593: AnglesToAxis( angles, ent.axis ); ADDRLP4 532 ARGP4 ADDRLP4 368+28 ARGP4 ADDRGP4 AnglesToAxis CALLV pop line 3595 ;3594: ;3595: ent.hModel = item->asset; ADDRLP4 368+8 ADDRFP4 0 INDIRP4 CNSTI4 232 ADDP4 INDIRI4 ASGNI4 line 3596 ;3596: VectorCopy( origin, ent.origin ); ADDRLP4 368+68 ADDRLP4 512 INDIRB ASGNB 12 line 3597 ;3597: VectorCopy( origin, ent.lightingOrigin ); ADDRLP4 368+12 ADDRLP4 512 INDIRB ASGNB 12 line 3598 ;3598: ent.renderfx = RF_LIGHTING_ORIGIN | RF_NOSHADOW; ADDRLP4 368+4 CNSTI4 192 ASGNI4 line 3599 ;3599: VectorCopy( ent.origin, ent.oldorigin ); ADDRLP4 368+84 ADDRLP4 368+68 INDIRB ASGNB 12 line 3601 ;3600: ;3601: DC->addRefEntityToScene( &ent ); ADDRLP4 368 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 56 ADDP4 INDIRP4 CALLV pop line 3602 ;3602: DC->renderScene( &refdef ); ADDRLP4 0 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 60 ADDP4 INDIRP4 CALLV pop line 3604 ;3603: ;3604:} LABELV $1682 endproc Item_Model_Paint 588 16 export Item_Image_Paint proc Item_Image_Paint 16 20 line 3607 ;3605: ;3606: ;3607:void Item_Image_Paint(itemDef_t *item) { line 3608 ;3608: if (item == NULL) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1723 line 3609 ;3609: return; ADDRGP4 $1722 JUMPV LABELV $1723 line 3611 ;3610: } ;3611: DC->drawHandlePic(item->window.rect.x+1, item->window.rect.y+1, item->window.rect.w-2, item->window.rect.h-2, item->asset); ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 4 CNSTF4 1065353216 ASGNF4 ADDRLP4 0 INDIRP4 INDIRF4 ADDRLP4 4 INDIRF4 ADDF4 ARGF4 ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ADDRLP4 4 INDIRF4 ADDF4 ARGF4 ADDRLP4 8 CNSTI4 8 ASGNI4 ADDRLP4 12 CNSTF4 1073741824 ASGNF4 ADDRLP4 0 INDIRP4 ADDRLP4 8 INDIRI4 ADDP4 INDIRF4 ADDRLP4 12 INDIRF4 SUBF4 ARGF4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ADDRLP4 12 INDIRF4 SUBF4 ARGF4 ADDRLP4 0 INDIRP4 CNSTI4 232 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 ADDRLP4 8 INDIRI4 ADDP4 INDIRP4 CALLV pop line 3612 ;3612:} LABELV $1722 endproc Item_Image_Paint 16 20 export Item_ListBox_Paint proc Item_ListBox_Paint 104 32 line 3614 ;3613: ;3614:void Item_ListBox_Paint(itemDef_t *item) { line 3618 ;3615: float x, y, size, count, i, thumb; ;3616: qhandle_t image; ;3617: qhandle_t optionalImage; ;3618: listBoxDef_t *listPtr = (listBoxDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 3624 ;3619: ;3620: // the listbox is horizontal or vertical and has a fixed size scroll bar going either direction ;3621: // elements are enumerated from the DC and either text or image handles are acquired from the DC as well ;3622: // textscale is used to size the text, textalignx and textaligny are used to size image elements ;3623: // there is no clipping available so only the last completely visible item is painted ;3624: count = DC->feederCount(item->special); ADDRFP4 0 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 36 ADDRGP4 DC INDIRP4 CNSTI4 120 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 28 ADDRLP4 36 INDIRI4 CVIF4 4 ASGNF4 line 3626 ;3625: // default is vertical if horizontal flag is not here ;3626: if (item->window.flags & WINDOW_HORIZONTAL) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 1024 BANDI4 CNSTI4 0 EQI4 $1726 line 3629 ;3627: // draw scrollbar in bottom of the window ;3628: // bar ;3629: x = item->window.rect.x + 1; ADDRLP4 16 ADDRFP4 0 INDIRP4 INDIRF4 CNSTF4 1065353216 ADDF4 ASGNF4 line 3630 ;3630: y = item->window.rect.y + item->window.rect.h - SCROLLBAR_SIZE - 1; ADDRLP4 40 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 12 ADDRLP4 40 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ADDRLP4 40 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ADDF4 CNSTF4 1098907648 SUBF4 CNSTF4 1065353216 SUBF4 ASGNF4 line 3631 ;3631: DC->drawHandlePic(x, y, SCROLLBAR_SIZE, SCROLLBAR_SIZE, DC->Assets.scrollBarArrowLeft); ADDRLP4 16 INDIRF4 ARGF4 ADDRLP4 12 INDIRF4 ARGF4 ADDRLP4 44 CNSTF4 1098907648 ASGNF4 ADDRLP4 44 INDIRF4 ARGF4 ADDRLP4 44 INDIRF4 ARGF4 ADDRLP4 48 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 48 INDIRP4 CNSTI4 61900 ADDP4 INDIRI4 ARGI4 ADDRLP4 48 INDIRP4 CNSTI4 8 ADDP4 INDIRP4 CALLV pop line 3632 ;3632: x += SCROLLBAR_SIZE - 1; ADDRLP4 16 ADDRLP4 16 INDIRF4 CNSTF4 1097859072 ADDF4 ASGNF4 line 3633 ;3633: size = item->window.rect.w - (SCROLLBAR_SIZE * 2); ADDRLP4 20 ADDRFP4 0 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 CNSTF4 1107296256 SUBF4 ASGNF4 line 3634 ;3634: DC->drawHandlePic(x, y, size+1, SCROLLBAR_SIZE, DC->Assets.scrollBar); ADDRLP4 16 INDIRF4 ARGF4 ADDRLP4 12 INDIRF4 ARGF4 ADDRLP4 20 INDIRF4 CNSTF4 1065353216 ADDF4 ARGF4 CNSTF4 1098907648 ARGF4 ADDRLP4 52 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 52 INDIRP4 CNSTI4 61908 ADDP4 INDIRI4 ARGI4 ADDRLP4 52 INDIRP4 CNSTI4 8 ADDP4 INDIRP4 CALLV pop line 3635 ;3635: x += size - 1; ADDRLP4 16 ADDRLP4 16 INDIRF4 ADDRLP4 20 INDIRF4 CNSTF4 1065353216 SUBF4 ADDF4 ASGNF4 line 3636 ;3636: DC->drawHandlePic(x, y, SCROLLBAR_SIZE, SCROLLBAR_SIZE, DC->Assets.scrollBarArrowRight); ADDRLP4 16 INDIRF4 ARGF4 ADDRLP4 12 INDIRF4 ARGF4 ADDRLP4 56 CNSTF4 1098907648 ASGNF4 ADDRLP4 56 INDIRF4 ARGF4 ADDRLP4 56 INDIRF4 ARGF4 ADDRLP4 60 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 60 INDIRP4 CNSTI4 61904 ADDP4 INDIRI4 ARGI4 ADDRLP4 60 INDIRP4 CNSTI4 8 ADDP4 INDIRP4 CALLV pop line 3638 ;3637: // thumb ;3638: thumb = Item_ListBox_ThumbDrawPosition(item);//Item_ListBox_ThumbPosition(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 64 ADDRGP4 Item_ListBox_ThumbDrawPosition CALLI4 ASGNI4 ADDRLP4 32 ADDRLP4 64 INDIRI4 CVIF4 4 ASGNF4 line 3639 ;3639: if (thumb > x - SCROLLBAR_SIZE - 1) { ADDRLP4 32 INDIRF4 ADDRLP4 16 INDIRF4 CNSTF4 1098907648 SUBF4 CNSTF4 1065353216 SUBF4 LEF4 $1728 line 3640 ;3640: thumb = x - SCROLLBAR_SIZE - 1; ADDRLP4 32 ADDRLP4 16 INDIRF4 CNSTF4 1098907648 SUBF4 CNSTF4 1065353216 SUBF4 ASGNF4 line 3641 ;3641: } LABELV $1728 line 3642 ;3642: DC->drawHandlePic(thumb, y, SCROLLBAR_SIZE, SCROLLBAR_SIZE, DC->Assets.scrollBarThumb); ADDRLP4 32 INDIRF4 ARGF4 ADDRLP4 12 INDIRF4 ARGF4 ADDRLP4 68 CNSTF4 1098907648 ASGNF4 ADDRLP4 68 INDIRF4 ARGF4 ADDRLP4 68 INDIRF4 ARGF4 ADDRLP4 72 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 72 INDIRP4 CNSTI4 61912 ADDP4 INDIRI4 ARGI4 ADDRLP4 72 INDIRP4 CNSTI4 8 ADDP4 INDIRP4 CALLV pop line 3644 ;3643: // ;3644: listPtr->endPos = listPtr->startPos; ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 ADDRLP4 0 INDIRP4 INDIRI4 ASGNI4 line 3645 ;3645: size = item->window.rect.w - 2; ADDRLP4 20 ADDRFP4 0 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 CNSTF4 1073741824 SUBF4 ASGNF4 line 3648 ;3646: // items ;3647: // size contains max available space ;3648: if (listPtr->elementStyle == LISTBOX_IMAGE) { ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRI4 CNSTI4 1 NEI4 $1727 line 3650 ;3649: // fit = 0; ;3650: x = item->window.rect.x + 1; ADDRLP4 16 ADDRFP4 0 INDIRP4 INDIRF4 CNSTF4 1065353216 ADDF4 ASGNF4 line 3651 ;3651: y = item->window.rect.y + 1; ADDRLP4 12 ADDRFP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 CNSTF4 1065353216 ADDF4 ASGNF4 line 3652 ;3652: for (i = listPtr->startPos; i < count; i++) { ADDRLP4 4 ADDRLP4 0 INDIRP4 INDIRI4 CVIF4 4 ASGNF4 ADDRGP4 $1735 JUMPV LABELV $1732 line 3655 ;3653: // always draw at least one ;3654: // which may overdraw the box if it is too small for the element ;3655: image = DC->feederItemImage(item->special, i); ADDRFP4 0 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 4 INDIRF4 CVFI4 4 ARGI4 ADDRLP4 80 ADDRGP4 DC INDIRP4 CNSTI4 128 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 24 ADDRLP4 80 INDIRI4 ASGNI4 line 3656 ;3656: if (image) { ADDRLP4 24 INDIRI4 CNSTI4 0 EQI4 $1736 line 3657 ;3657: DC->drawHandlePic(x+1, y+1, listPtr->elementWidth - 2, listPtr->elementHeight - 2, image); ADDRLP4 84 CNSTF4 1065353216 ASGNF4 ADDRLP4 16 INDIRF4 ADDRLP4 84 INDIRF4 ADDF4 ARGF4 ADDRLP4 12 INDIRF4 ADDRLP4 84 INDIRF4 ADDF4 ARGF4 ADDRLP4 92 CNSTF4 1073741824 ASGNF4 ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 ADDRLP4 92 INDIRF4 SUBF4 ARGF4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ADDRLP4 92 INDIRF4 SUBF4 ARGF4 ADDRLP4 24 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 8 ADDP4 INDIRP4 CALLV pop line 3658 ;3658: } LABELV $1736 line 3660 ;3659: ;3660: if (i == item->cursorPos) { ADDRLP4 4 INDIRF4 ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 CVIF4 4 NEF4 $1738 line 3661 ;3661: DC->drawRect(x, y, listPtr->elementWidth-1, listPtr->elementHeight-1, item->window.borderSize, item->window.borderColor); ADDRLP4 16 INDIRF4 ARGF4 ADDRLP4 12 INDIRF4 ARGF4 ADDRLP4 88 CNSTF4 1065353216 ASGNF4 ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 ADDRLP4 88 INDIRF4 SUBF4 ARGF4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ADDRLP4 88 INDIRF4 SUBF4 ARGF4 ADDRLP4 92 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 92 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 ARGF4 ADDRLP4 92 INDIRP4 CNSTI4 144 ADDP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 40 ADDP4 INDIRP4 CALLV pop line 3662 ;3662: } LABELV $1738 line 3664 ;3663: ;3664: size -= listPtr->elementWidth; ADDRLP4 20 ADDRLP4 20 INDIRF4 ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 SUBF4 ASGNF4 line 3665 ;3665: if (size < listPtr->elementWidth) { ADDRLP4 20 INDIRF4 ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 GEF4 $1740 line 3666 ;3666: listPtr->drawPadding = size; //listPtr->elementWidth - size; ADDRLP4 0 INDIRP4 CNSTI4 8 ADDP4 ADDRLP4 20 INDIRF4 CVFI4 4 ASGNI4 line 3667 ;3667: break; ADDRGP4 $1727 JUMPV LABELV $1740 line 3669 ;3668: } ;3669: x += listPtr->elementWidth; ADDRLP4 16 ADDRLP4 16 INDIRF4 ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 ADDF4 ASGNF4 line 3670 ;3670: listPtr->endPos++; ADDRLP4 84 ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 ASGNP4 ADDRLP4 84 INDIRP4 ADDRLP4 84 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 3672 ;3671: // fit++; ;3672: } LABELV $1733 line 3652 ADDRLP4 4 ADDRLP4 4 INDIRF4 CNSTF4 1065353216 ADDF4 ASGNF4 LABELV $1735 ADDRLP4 4 INDIRF4 ADDRLP4 28 INDIRF4 LTF4 $1732 line 3673 ;3673: } else { line 3675 ;3674: // ;3675: } line 3676 ;3676: } else { ADDRGP4 $1727 JUMPV LABELV $1726 line 3678 ;3677: // draw scrollbar to right side of the window ;3678: x = item->window.rect.x + item->window.rect.w - SCROLLBAR_SIZE - 1; ADDRLP4 40 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 16 ADDRLP4 40 INDIRP4 INDIRF4 ADDRLP4 40 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ADDF4 CNSTF4 1098907648 SUBF4 CNSTF4 1065353216 SUBF4 ASGNF4 line 3679 ;3679: y = item->window.rect.y + 1; ADDRLP4 12 ADDRFP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 CNSTF4 1065353216 ADDF4 ASGNF4 line 3680 ;3680: DC->drawHandlePic(x, y, SCROLLBAR_SIZE, SCROLLBAR_SIZE, DC->Assets.scrollBarArrowUp); ADDRLP4 16 INDIRF4 ARGF4 ADDRLP4 12 INDIRF4 ARGF4 ADDRLP4 44 CNSTF4 1098907648 ASGNF4 ADDRLP4 44 INDIRF4 ARGF4 ADDRLP4 44 INDIRF4 ARGF4 ADDRLP4 48 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 48 INDIRP4 CNSTI4 61892 ADDP4 INDIRI4 ARGI4 ADDRLP4 48 INDIRP4 CNSTI4 8 ADDP4 INDIRP4 CALLV pop line 3681 ;3681: y += SCROLLBAR_SIZE - 1; ADDRLP4 12 ADDRLP4 12 INDIRF4 CNSTF4 1097859072 ADDF4 ASGNF4 line 3683 ;3682: ;3683: listPtr->endPos = listPtr->startPos; ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 ADDRLP4 0 INDIRP4 INDIRI4 ASGNI4 line 3684 ;3684: size = item->window.rect.h - (SCROLLBAR_SIZE * 2); ADDRLP4 20 ADDRFP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 CNSTF4 1107296256 SUBF4 ASGNF4 line 3685 ;3685: DC->drawHandlePic(x, y, SCROLLBAR_SIZE, size+1, DC->Assets.scrollBar); ADDRLP4 16 INDIRF4 ARGF4 ADDRLP4 12 INDIRF4 ARGF4 CNSTF4 1098907648 ARGF4 ADDRLP4 20 INDIRF4 CNSTF4 1065353216 ADDF4 ARGF4 ADDRLP4 56 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 56 INDIRP4 CNSTI4 61908 ADDP4 INDIRI4 ARGI4 ADDRLP4 56 INDIRP4 CNSTI4 8 ADDP4 INDIRP4 CALLV pop line 3686 ;3686: y += size - 1; ADDRLP4 12 ADDRLP4 12 INDIRF4 ADDRLP4 20 INDIRF4 CNSTF4 1065353216 SUBF4 ADDF4 ASGNF4 line 3687 ;3687: DC->drawHandlePic(x, y, SCROLLBAR_SIZE, SCROLLBAR_SIZE, DC->Assets.scrollBarArrowDown); ADDRLP4 16 INDIRF4 ARGF4 ADDRLP4 12 INDIRF4 ARGF4 ADDRLP4 60 CNSTF4 1098907648 ASGNF4 ADDRLP4 60 INDIRF4 ARGF4 ADDRLP4 60 INDIRF4 ARGF4 ADDRLP4 64 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 64 INDIRP4 CNSTI4 61896 ADDP4 INDIRI4 ARGI4 ADDRLP4 64 INDIRP4 CNSTI4 8 ADDP4 INDIRP4 CALLV pop line 3689 ;3688: // thumb ;3689: thumb = Item_ListBox_ThumbDrawPosition(item);//Item_ListBox_ThumbPosition(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 68 ADDRGP4 Item_ListBox_ThumbDrawPosition CALLI4 ASGNI4 ADDRLP4 32 ADDRLP4 68 INDIRI4 CVIF4 4 ASGNF4 line 3690 ;3690: if (thumb > y - SCROLLBAR_SIZE - 1) { ADDRLP4 32 INDIRF4 ADDRLP4 12 INDIRF4 CNSTF4 1098907648 SUBF4 CNSTF4 1065353216 SUBF4 LEF4 $1742 line 3691 ;3691: thumb = y - SCROLLBAR_SIZE - 1; ADDRLP4 32 ADDRLP4 12 INDIRF4 CNSTF4 1098907648 SUBF4 CNSTF4 1065353216 SUBF4 ASGNF4 line 3692 ;3692: } LABELV $1742 line 3693 ;3693: DC->drawHandlePic(x, thumb, SCROLLBAR_SIZE, SCROLLBAR_SIZE, DC->Assets.scrollBarThumb); ADDRLP4 16 INDIRF4 ARGF4 ADDRLP4 32 INDIRF4 ARGF4 ADDRLP4 72 CNSTF4 1098907648 ASGNF4 ADDRLP4 72 INDIRF4 ARGF4 ADDRLP4 72 INDIRF4 ARGF4 ADDRLP4 76 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 76 INDIRP4 CNSTI4 61912 ADDP4 INDIRI4 ARGI4 ADDRLP4 76 INDIRP4 CNSTI4 8 ADDP4 INDIRP4 CALLV pop line 3696 ;3694: ;3695: // adjust size for item painting ;3696: size = item->window.rect.h - 2; ADDRLP4 20 ADDRFP4 0 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 CNSTF4 1073741824 SUBF4 ASGNF4 line 3697 ;3697: if (listPtr->elementStyle == LISTBOX_IMAGE) { ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRI4 CNSTI4 1 NEI4 $1744 line 3699 ;3698: // fit = 0; ;3699: x = item->window.rect.x + 1; ADDRLP4 16 ADDRFP4 0 INDIRP4 INDIRF4 CNSTF4 1065353216 ADDF4 ASGNF4 line 3700 ;3700: y = item->window.rect.y + 1; ADDRLP4 12 ADDRFP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 CNSTF4 1065353216 ADDF4 ASGNF4 line 3701 ;3701: for (i = listPtr->startPos; i < count; i++) { ADDRLP4 4 ADDRLP4 0 INDIRP4 INDIRI4 CVIF4 4 ASGNF4 ADDRGP4 $1749 JUMPV LABELV $1746 line 3704 ;3702: // always draw at least one ;3703: // which may overdraw the box if it is too small for the element ;3704: image = DC->feederItemImage(item->special, i); ADDRFP4 0 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 4 INDIRF4 CVFI4 4 ARGI4 ADDRLP4 80 ADDRGP4 DC INDIRP4 CNSTI4 128 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 24 ADDRLP4 80 INDIRI4 ASGNI4 line 3705 ;3705: if (image) { ADDRLP4 24 INDIRI4 CNSTI4 0 EQI4 $1750 line 3706 ;3706: DC->drawHandlePic(x+1, y+1, listPtr->elementWidth - 2, listPtr->elementHeight - 2, image); ADDRLP4 84 CNSTF4 1065353216 ASGNF4 ADDRLP4 16 INDIRF4 ADDRLP4 84 INDIRF4 ADDF4 ARGF4 ADDRLP4 12 INDIRF4 ADDRLP4 84 INDIRF4 ADDF4 ARGF4 ADDRLP4 92 CNSTF4 1073741824 ASGNF4 ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 ADDRLP4 92 INDIRF4 SUBF4 ARGF4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ADDRLP4 92 INDIRF4 SUBF4 ARGF4 ADDRLP4 24 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 8 ADDP4 INDIRP4 CALLV pop line 3707 ;3707: } LABELV $1750 line 3709 ;3708: ;3709: if (i == item->cursorPos) { ADDRLP4 4 INDIRF4 ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 CVIF4 4 NEF4 $1752 line 3710 ;3710: DC->drawRect(x, y, listPtr->elementWidth - 1, listPtr->elementHeight - 1, item->window.borderSize, item->window.borderColor); ADDRLP4 16 INDIRF4 ARGF4 ADDRLP4 12 INDIRF4 ARGF4 ADDRLP4 88 CNSTF4 1065353216 ASGNF4 ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 ADDRLP4 88 INDIRF4 SUBF4 ARGF4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ADDRLP4 88 INDIRF4 SUBF4 ARGF4 ADDRLP4 92 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 92 INDIRP4 CNSTI4 64 ADDP4 INDIRF4 ARGF4 ADDRLP4 92 INDIRP4 CNSTI4 144 ADDP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 40 ADDP4 INDIRP4 CALLV pop line 3711 ;3711: } LABELV $1752 line 3713 ;3712: ;3713: listPtr->endPos++; ADDRLP4 84 ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 ASGNP4 ADDRLP4 84 INDIRP4 ADDRLP4 84 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 3714 ;3714: size -= listPtr->elementWidth; ADDRLP4 20 ADDRLP4 20 INDIRF4 ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 SUBF4 ASGNF4 line 3715 ;3715: if (size < listPtr->elementHeight) { ADDRLP4 20 INDIRF4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 GEF4 $1754 line 3716 ;3716: listPtr->drawPadding = listPtr->elementHeight - size; ADDRLP4 0 INDIRP4 CNSTI4 8 ADDP4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ADDRLP4 20 INDIRF4 SUBF4 CVFI4 4 ASGNI4 line 3717 ;3717: break; ADDRGP4 $1745 JUMPV LABELV $1754 line 3719 ;3718: } ;3719: y += listPtr->elementHeight; ADDRLP4 12 ADDRLP4 12 INDIRF4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ADDF4 ASGNF4 line 3721 ;3720: // fit++; ;3721: } LABELV $1747 line 3701 ADDRLP4 4 ADDRLP4 4 INDIRF4 CNSTF4 1065353216 ADDF4 ASGNF4 LABELV $1749 ADDRLP4 4 INDIRF4 ADDRLP4 28 INDIRF4 LTF4 $1746 line 3722 ;3722: } else { ADDRGP4 $1745 JUMPV LABELV $1744 line 3723 ;3723: x = item->window.rect.x + 1; ADDRLP4 16 ADDRFP4 0 INDIRP4 INDIRF4 CNSTF4 1065353216 ADDF4 ASGNF4 line 3724 ;3724: y = item->window.rect.y + 1; ADDRLP4 12 ADDRFP4 0 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 CNSTF4 1065353216 ADDF4 ASGNF4 line 3725 ;3725: for (i = listPtr->startPos; i < count; i++) { ADDRLP4 4 ADDRLP4 0 INDIRP4 INDIRI4 CVIF4 4 ASGNF4 ADDRGP4 $1759 JUMPV LABELV $1756 line 3730 ;3726: const char *text; ;3727: // always draw at least one ;3728: // which may overdraw the box if it is too small for the element ;3729: ;3730: if (listPtr->numColumns > 0) { ADDRLP4 0 INDIRP4 CNSTI4 28 ADDP4 INDIRI4 CNSTI4 0 LEI4 $1760 line 3732 ;3731: int j; ;3732: for (j = 0; j < listPtr->numColumns; j++) { ADDRLP4 84 CNSTI4 0 ASGNI4 ADDRGP4 $1765 JUMPV LABELV $1762 line 3733 ;3733: text = DC->feederItemText(item->special, i, j, &optionalImage); ADDRFP4 0 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 4 INDIRF4 CVFI4 4 ARGI4 ADDRLP4 84 INDIRI4 ARGI4 ADDRLP4 8 ARGP4 ADDRLP4 88 ADDRGP4 DC INDIRP4 CNSTI4 124 ADDP4 INDIRP4 CALLP4 ASGNP4 ADDRLP4 80 ADDRLP4 88 INDIRP4 ASGNP4 line 3734 ;3734: if (optionalImage >= 0) { ADDRLP4 8 INDIRI4 CNSTI4 0 LTI4 $1766 line 3735 ;3735: DC->drawHandlePic(x + 4 + listPtr->columnInfo[j].pos, y - 1 + listPtr->elementHeight / 2, listPtr->columnInfo[j].width, listPtr->columnInfo[j].width, optionalImage); ADDRLP4 96 CNSTI4 12 ADDRLP4 84 INDIRI4 MULI4 ADDRLP4 0 INDIRP4 CNSTI4 32 ADDP4 ADDP4 ASGNP4 ADDRLP4 16 INDIRF4 CNSTF4 1082130432 ADDF4 ADDRLP4 96 INDIRP4 INDIRI4 CVIF4 4 ADDF4 ARGF4 ADDRLP4 12 INDIRF4 CNSTF4 1065353216 SUBF4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 CNSTF4 1073741824 DIVF4 ADDF4 ARGF4 ADDRLP4 100 ADDRLP4 96 INDIRP4 CNSTI4 4 ADDP4 INDIRI4 CVIF4 4 ASGNF4 ADDRLP4 100 INDIRF4 ARGF4 ADDRLP4 100 INDIRF4 ARGF4 ADDRLP4 8 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 8 ADDP4 INDIRP4 CALLV pop line 3736 ;3736: } else if (text) { ADDRGP4 $1767 JUMPV LABELV $1766 ADDRLP4 80 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1768 line 3737 ;3737: DC->drawText(x + 4 + listPtr->columnInfo[j].pos, y + listPtr->elementHeight, item->textscale, item->window.foreColor, text, 0, listPtr->columnInfo[j].maxChars, item->textStyle); ADDRLP4 96 CNSTI4 12 ADDRLP4 84 INDIRI4 MULI4 ADDRLP4 0 INDIRP4 CNSTI4 32 ADDP4 ADDP4 ASGNP4 ADDRLP4 16 INDIRF4 CNSTF4 1082130432 ADDF4 ADDRLP4 96 INDIRP4 INDIRI4 CVIF4 4 ADDF4 ARGF4 ADDRLP4 12 INDIRF4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ADDF4 ARGF4 ADDRLP4 100 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 100 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 100 INDIRP4 CNSTI4 112 ADDP4 ARGP4 ADDRLP4 80 INDIRP4 ARGP4 CNSTF4 0 ARGF4 ADDRLP4 96 INDIRP4 CNSTI4 8 ADDP4 INDIRI4 ARGI4 ADDRLP4 100 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 16 ADDP4 INDIRP4 CALLV pop line 3738 ;3738: } LABELV $1768 LABELV $1767 line 3739 ;3739: } LABELV $1763 line 3732 ADDRLP4 84 ADDRLP4 84 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1765 ADDRLP4 84 INDIRI4 ADDRLP4 0 INDIRP4 CNSTI4 28 ADDP4 INDIRI4 LTI4 $1762 line 3740 ;3740: } else { ADDRGP4 $1761 JUMPV LABELV $1760 line 3741 ;3741: text = DC->feederItemText(item->special, i, 0, &optionalImage); ADDRFP4 0 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 4 INDIRF4 CVFI4 4 ARGI4 CNSTI4 0 ARGI4 ADDRLP4 8 ARGP4 ADDRLP4 84 ADDRGP4 DC INDIRP4 CNSTI4 124 ADDP4 INDIRP4 CALLP4 ASGNP4 ADDRLP4 80 ADDRLP4 84 INDIRP4 ASGNP4 line 3742 ;3742: if (optionalImage >= 0) { ADDRLP4 8 INDIRI4 CNSTI4 0 LTI4 $1770 line 3744 ;3743: //DC->drawHandlePic(x + 4 + listPtr->elementHeight, y, listPtr->columnInfo[j].width, listPtr->columnInfo[j].width, optionalImage); ;3744: } else if (text) { ADDRGP4 $1771 JUMPV LABELV $1770 ADDRLP4 80 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1772 line 3745 ;3745: DC->drawText(x + 4, y + listPtr->elementHeight, item->textscale, item->window.foreColor, text, 0, 0, item->textStyle); ADDRLP4 16 INDIRF4 CNSTF4 1082130432 ADDF4 ARGF4 ADDRLP4 12 INDIRF4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ADDF4 ARGF4 ADDRLP4 88 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 88 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 88 INDIRP4 CNSTI4 112 ADDP4 ARGP4 ADDRLP4 80 INDIRP4 ARGP4 CNSTF4 0 ARGF4 CNSTI4 0 ARGI4 ADDRLP4 88 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 16 ADDP4 INDIRP4 CALLV pop line 3746 ;3746: } LABELV $1772 LABELV $1771 line 3747 ;3747: } LABELV $1761 line 3749 ;3748: ;3749: if (i == item->cursorPos) { ADDRLP4 4 INDIRF4 ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 CVIF4 4 NEF4 $1774 line 3750 ;3750: DC->fillRect(x + 2, y + 2, item->window.rect.w - SCROLLBAR_SIZE - 4, listPtr->elementHeight, item->window.outlineColor); ADDRLP4 84 CNSTF4 1073741824 ASGNF4 ADDRLP4 16 INDIRF4 ADDRLP4 84 INDIRF4 ADDF4 ARGF4 ADDRLP4 12 INDIRF4 ADDRLP4 84 INDIRF4 ADDF4 ARGF4 ADDRLP4 88 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 88 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 CNSTF4 1098907648 SUBF4 CNSTF4 1082130432 SUBF4 ARGF4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ARGF4 ADDRLP4 88 INDIRP4 CNSTI4 160 ADDP4 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 36 ADDP4 INDIRP4 CALLV pop line 3751 ;3751: } LABELV $1774 line 3753 ;3752: ;3753: size -= listPtr->elementHeight; ADDRLP4 20 ADDRLP4 20 INDIRF4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 SUBF4 ASGNF4 line 3754 ;3754: if (size < listPtr->elementHeight) { ADDRLP4 20 INDIRF4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 GEF4 $1776 line 3755 ;3755: listPtr->drawPadding = listPtr->elementHeight - size; ADDRLP4 0 INDIRP4 CNSTI4 8 ADDP4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ADDRLP4 20 INDIRF4 SUBF4 CVFI4 4 ASGNI4 line 3756 ;3756: break; ADDRGP4 $1758 JUMPV LABELV $1776 line 3758 ;3757: } ;3758: listPtr->endPos++; ADDRLP4 84 ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 ASGNP4 ADDRLP4 84 INDIRP4 ADDRLP4 84 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 3759 ;3759: y += listPtr->elementHeight; ADDRLP4 12 ADDRLP4 12 INDIRF4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ADDF4 ASGNF4 line 3761 ;3760: // fit++; ;3761: } LABELV $1757 line 3725 ADDRLP4 4 ADDRLP4 4 INDIRF4 CNSTF4 1065353216 ADDF4 ASGNF4 LABELV $1759 ADDRLP4 4 INDIRF4 ADDRLP4 28 INDIRF4 LTF4 $1756 LABELV $1758 line 3762 ;3762: } LABELV $1745 line 3763 ;3763: } LABELV $1727 line 3764 ;3764:} LABELV $1725 endproc Item_ListBox_Paint 104 32 export Item_OwnerDraw_Paint proc Item_OwnerDraw_Paint 68 56 line 3767 ;3765: ;3766: ;3767:void Item_OwnerDraw_Paint(itemDef_t *item) { line 3770 ;3768: menuDef_t *parent; ;3769: ;3770: if (item == NULL) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1779 line 3771 ;3771: return; ADDRGP4 $1778 JUMPV LABELV $1779 line 3773 ;3772: } ;3773: parent = (menuDef_t*)item->parent; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ASGNP4 line 3775 ;3774: ;3775: if (DC->ownerDrawItem) { ADDRGP4 DC INDIRP4 CNSTI4 68 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1781 line 3777 ;3776: vec4_t color, lowLight; ;3777: menuDef_t *parent = (menuDef_t*)item->parent; ADDRLP4 20 ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ASGNP4 line 3778 ;3778: Fade(&item->window.flags, &item->window.foreColor[3], parent->fadeClamp, &item->window.nextTime, parent->fadeCycle, qtrue, parent->fadeAmount); ADDRLP4 40 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 40 INDIRP4 CNSTI4 68 ADDP4 ARGP4 ADDRLP4 40 INDIRP4 CNSTI4 124 ADDP4 ARGP4 ADDRLP4 20 INDIRP4 CNSTI4 204 ADDP4 INDIRF4 ARGF4 ADDRLP4 40 INDIRP4 CNSTI4 108 ADDP4 ARGP4 ADDRLP4 20 INDIRP4 CNSTI4 200 ADDP4 INDIRI4 ARGI4 CNSTI4 1 ARGI4 ADDRLP4 20 INDIRP4 CNSTI4 208 ADDP4 INDIRF4 ARGF4 ADDRGP4 Fade CALLV pop line 3779 ;3779: memcpy(&color, &item->window.foreColor, sizeof(color)); ADDRLP4 4 ARGP4 ADDRFP4 0 INDIRP4 CNSTI4 112 ADDP4 ARGP4 CNSTI4 16 ARGI4 ADDRGP4 memcpy CALLP4 pop line 3780 ;3780: if (item->numColors > 0 && DC->getValue) { ADDRFP4 0 INDIRP4 CNSTI4 284 ADDP4 INDIRI4 CNSTI4 0 LEI4 $1783 ADDRGP4 DC INDIRP4 CNSTI4 72 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1783 line 3783 ;3781: // if the value is within one of the ranges then set color to that, otherwise leave at default ;3782: int i; ;3783: float f = DC->getValue(item->window.ownerDraw); ADDRFP4 0 INDIRP4 CNSTI4 56 ADDP4 INDIRI4 ARGI4 ADDRLP4 56 ADDRGP4 DC INDIRP4 CNSTI4 72 ADDP4 INDIRP4 CALLF4 ASGNF4 ADDRLP4 52 ADDRLP4 56 INDIRF4 ASGNF4 line 3784 ;3784: for (i = 0; i < item->numColors; i++) { ADDRLP4 48 CNSTI4 0 ASGNI4 ADDRGP4 $1788 JUMPV LABELV $1785 line 3785 ;3785: if (f >= item->colorRanges[i].low && f <= item->colorRanges[i].high) { ADDRLP4 64 CNSTI4 24 ADDRLP4 48 INDIRI4 MULI4 ADDRFP4 0 INDIRP4 CNSTI4 288 ADDP4 ADDP4 ASGNP4 ADDRLP4 52 INDIRF4 ADDRLP4 64 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 LTF4 $1789 ADDRLP4 52 INDIRF4 ADDRLP4 64 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 GTF4 $1789 line 3786 ;3786: memcpy(&color, &item->colorRanges[i].color, sizeof(color)); ADDRLP4 4 ARGP4 CNSTI4 24 ADDRLP4 48 INDIRI4 MULI4 ADDRFP4 0 INDIRP4 CNSTI4 288 ADDP4 ADDP4 ARGP4 CNSTI4 16 ARGI4 ADDRGP4 memcpy CALLP4 pop line 3787 ;3787: break; ADDRGP4 $1787 JUMPV LABELV $1789 line 3789 ;3788: } ;3789: } LABELV $1786 line 3784 ADDRLP4 48 ADDRLP4 48 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1788 ADDRLP4 48 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 284 ADDP4 INDIRI4 LTI4 $1785 LABELV $1787 line 3790 ;3790: } LABELV $1783 line 3792 ;3791: ;3792: if (item->window.flags & WINDOW_HASFOCUS) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 2 BANDI4 CNSTI4 0 EQI4 $1791 line 3793 ;3793: lowLight[0] = 0.8 * parent->focusColor[0]; ADDRLP4 24 CNSTF4 1061997773 ADDRLP4 20 INDIRP4 CNSTI4 228 ADDP4 INDIRF4 MULF4 ASGNF4 line 3794 ;3794: lowLight[1] = 0.8 * parent->focusColor[1]; ADDRLP4 24+4 CNSTF4 1061997773 ADDRLP4 20 INDIRP4 CNSTI4 232 ADDP4 INDIRF4 MULF4 ASGNF4 line 3795 ;3795: lowLight[2] = 0.8 * parent->focusColor[2]; ADDRLP4 24+8 CNSTF4 1061997773 ADDRLP4 20 INDIRP4 CNSTI4 236 ADDP4 INDIRF4 MULF4 ASGNF4 line 3796 ;3796: lowLight[3] = 0.8 * parent->focusColor[3]; ADDRLP4 24+12 CNSTF4 1061997773 ADDRLP4 20 INDIRP4 CNSTI4 240 ADDP4 INDIRF4 MULF4 ASGNF4 line 3797 ;3797: LerpColor(parent->focusColor,lowLight,color,0.5+0.5*sin(DC->realTime / PULSE_DIVISOR)); ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 CNSTI4 75 DIVI4 CVIF4 4 ARGF4 ADDRLP4 48 ADDRGP4 sin CALLF4 ASGNF4 ADDRLP4 20 INDIRP4 CNSTI4 228 ADDP4 ARGP4 ADDRLP4 24 ARGP4 ADDRLP4 4 ARGP4 CNSTF4 1056964608 ADDRLP4 48 INDIRF4 MULF4 CNSTF4 1056964608 ADDF4 ARGF4 ADDRGP4 LerpColor CALLV pop line 3798 ;3798: } else if (item->textStyle == ITEM_TEXTSTYLE_BLINK && !((DC->realTime/BLINK_DIVISOR) & 1)) { ADDRGP4 $1792 JUMPV LABELV $1791 ADDRLP4 48 CNSTI4 1 ASGNI4 ADDRFP4 0 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ADDRLP4 48 INDIRI4 NEI4 $1796 ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 CNSTI4 200 DIVI4 ADDRLP4 48 INDIRI4 BANDI4 CNSTI4 0 NEI4 $1796 line 3799 ;3799: lowLight[0] = 0.8 * item->window.foreColor[0]; ADDRLP4 24 CNSTF4 1061997773 ADDRFP4 0 INDIRP4 CNSTI4 112 ADDP4 INDIRF4 MULF4 ASGNF4 line 3800 ;3800: lowLight[1] = 0.8 * item->window.foreColor[1]; ADDRLP4 24+4 CNSTF4 1061997773 ADDRFP4 0 INDIRP4 CNSTI4 116 ADDP4 INDIRF4 MULF4 ASGNF4 line 3801 ;3801: lowLight[2] = 0.8 * item->window.foreColor[2]; ADDRLP4 24+8 CNSTF4 1061997773 ADDRFP4 0 INDIRP4 CNSTI4 120 ADDP4 INDIRF4 MULF4 ASGNF4 line 3802 ;3802: lowLight[3] = 0.8 * item->window.foreColor[3]; ADDRLP4 24+12 CNSTF4 1061997773 ADDRFP4 0 INDIRP4 CNSTI4 124 ADDP4 INDIRF4 MULF4 ASGNF4 line 3803 ;3803: LerpColor(item->window.foreColor,lowLight,color,0.5+0.5*sin(DC->realTime / PULSE_DIVISOR)); ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 CNSTI4 75 DIVI4 CVIF4 4 ARGF4 ADDRLP4 52 ADDRGP4 sin CALLF4 ASGNF4 ADDRFP4 0 INDIRP4 CNSTI4 112 ADDP4 ARGP4 ADDRLP4 24 ARGP4 ADDRLP4 4 ARGP4 CNSTF4 1056964608 ADDRLP4 52 INDIRF4 MULF4 CNSTF4 1056964608 ADDF4 ARGF4 ADDRGP4 LerpColor CALLV pop line 3804 ;3804: } LABELV $1796 LABELV $1792 line 3806 ;3805: ;3806: if (item->cvarFlags & (CVAR_ENABLE | CVAR_DISABLE) && !Item_EnableShowViaCvar(item, CVAR_ENABLE)) { ADDRLP4 52 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 52 INDIRP4 CNSTI4 276 ADDP4 INDIRI4 CNSTI4 3 BANDI4 CNSTI4 0 EQI4 $1801 ADDRLP4 52 INDIRP4 ARGP4 CNSTI4 1 ARGI4 ADDRLP4 56 ADDRGP4 Item_EnableShowViaCvar CALLI4 ASGNI4 ADDRLP4 56 INDIRI4 CNSTI4 0 NEI4 $1801 line 3807 ;3807: memcpy(color, parent->disableColor, sizeof(vec4_t)); // bk001207 - FIXME: Com_Memcpy ADDRLP4 4 ARGP4 ADDRLP4 20 INDIRP4 CNSTI4 244 ADDP4 ARGP4 CNSTI4 16 ARGI4 ADDRGP4 memcpy CALLP4 pop line 3808 ;3808: } LABELV $1801 line 3810 ;3809: ;3810: if (item->text) { ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1803 line 3811 ;3811: Item_Text_Paint(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_Text_Paint CALLV pop line 3812 ;3812: if (item->text[0]) { ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 INDIRI1 CVII4 1 CNSTI4 0 EQI4 $1805 line 3814 ;3813: // +8 is an offset kludge to properly align owner draw items that have text combined with them ;3814: DC->ownerDrawItem(item->textRect.x + item->textRect.w + 8, item->window.rect.y, item->window.rect.w, item->window.rect.h, 0, item->textaligny, item->window.ownerDraw, item->window.ownerDrawFlags, item->alignment, item->special, item->textscale, color, item->window.background, item->textStyle ); ADDRLP4 60 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 60 INDIRP4 CNSTI4 180 ADDP4 INDIRF4 ADDRLP4 60 INDIRP4 CNSTI4 188 ADDP4 INDIRF4 ADDF4 CNSTF4 1090519040 ADDF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ARGF4 CNSTF4 0 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 212 ADDP4 INDIRF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 56 ADDP4 INDIRI4 ARGI4 ADDRLP4 60 INDIRP4 CNSTI4 60 ADDP4 INDIRI4 ARGI4 ADDRLP4 60 INDIRP4 CNSTI4 200 ADDP4 INDIRI4 ARGI4 ADDRLP4 60 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 4 ARGP4 ADDRLP4 60 INDIRP4 CNSTI4 176 ADDP4 INDIRI4 ARGI4 ADDRLP4 60 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 68 ADDP4 INDIRP4 CALLV pop line 3815 ;3815: } else { ADDRGP4 $1804 JUMPV LABELV $1805 line 3816 ;3816: DC->ownerDrawItem(item->textRect.x + item->textRect.w, item->window.rect.y, item->window.rect.w, item->window.rect.h, 0, item->textaligny, item->window.ownerDraw, item->window.ownerDrawFlags, item->alignment, item->special, item->textscale, color, item->window.background, item->textStyle ); ADDRLP4 60 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 60 INDIRP4 CNSTI4 180 ADDP4 INDIRF4 ADDRLP4 60 INDIRP4 CNSTI4 188 ADDP4 INDIRF4 ADDF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ARGF4 CNSTF4 0 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 212 ADDP4 INDIRF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 56 ADDP4 INDIRI4 ARGI4 ADDRLP4 60 INDIRP4 CNSTI4 60 ADDP4 INDIRI4 ARGI4 ADDRLP4 60 INDIRP4 CNSTI4 200 ADDP4 INDIRI4 ARGI4 ADDRLP4 60 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 4 ARGP4 ADDRLP4 60 INDIRP4 CNSTI4 176 ADDP4 INDIRI4 ARGI4 ADDRLP4 60 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 68 ADDP4 INDIRP4 CALLV pop line 3817 ;3817: } line 3818 ;3818: } else { ADDRGP4 $1804 JUMPV LABELV $1803 line 3819 ;3819: DC->ownerDrawItem(item->window.rect.x, item->window.rect.y, item->window.rect.w, item->window.rect.h, item->textalignx, item->textaligny, item->window.ownerDraw, item->window.ownerDrawFlags, item->alignment, item->special, item->textscale, color, item->window.background, item->textStyle ); ADDRLP4 60 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 60 INDIRP4 INDIRF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 208 ADDP4 INDIRF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 212 ADDP4 INDIRF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 56 ADDP4 INDIRI4 ARGI4 ADDRLP4 60 INDIRP4 CNSTI4 60 ADDP4 INDIRI4 ARGI4 ADDRLP4 60 INDIRP4 CNSTI4 200 ADDP4 INDIRI4 ARGI4 ADDRLP4 60 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 60 INDIRP4 CNSTI4 216 ADDP4 INDIRF4 ARGF4 ADDRLP4 4 ARGP4 ADDRLP4 60 INDIRP4 CNSTI4 176 ADDP4 INDIRI4 ARGI4 ADDRLP4 60 INDIRP4 CNSTI4 220 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 68 ADDP4 INDIRP4 CALLV pop line 3820 ;3820: } LABELV $1804 line 3821 ;3821: } LABELV $1781 line 3822 ;3822:} LABELV $1778 endproc Item_OwnerDraw_Paint 68 56 export Item_Paint proc Item_Paint 84 24 line 3825 ;3823: ;3824: ;3825:void Item_Paint(itemDef_t *item) { line 3827 ;3826: vec4_t red; ;3827: menuDef_t *parent = (menuDef_t*)item->parent; ADDRLP4 16 ADDRFP4 0 INDIRP4 CNSTI4 228 ADDP4 INDIRP4 ASGNP4 line 3828 ;3828: red[0] = red[3] = 1; ADDRLP4 20 CNSTF4 1065353216 ASGNF4 ADDRLP4 0+12 ADDRLP4 20 INDIRF4 ASGNF4 ADDRLP4 0 ADDRLP4 20 INDIRF4 ASGNF4 line 3829 ;3829: red[1] = red[2] = 0; ADDRLP4 24 CNSTF4 0 ASGNF4 ADDRLP4 0+8 ADDRLP4 24 INDIRF4 ASGNF4 ADDRLP4 0+4 ADDRLP4 24 INDIRF4 ASGNF4 line 3831 ;3830: ;3831: if (item == NULL) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1811 line 3832 ;3832: return; ADDRGP4 $1807 JUMPV LABELV $1811 line 3835 ;3833: } ;3834: ;3835: if (item->window.flags & WINDOW_ORBITING) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 65536 BANDI4 CNSTI4 0 EQI4 $1813 line 3836 ;3836: if (DC->realTime > item->window.nextTime) { ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 108 ADDP4 INDIRI4 LEI4 $1815 line 3839 ;3837: float rx, ry, a, c, s, w, h; ;3838: ;3839: item->window.nextTime = DC->realTime + item->window.offsetTime; ADDRLP4 56 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 56 INDIRP4 CNSTI4 108 ADDP4 ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 ADDRLP4 56 INDIRP4 CNSTI4 104 ADDP4 INDIRI4 ADDI4 ASGNI4 line 3841 ;3840: // translate ;3841: w = item->window.rectClient.w / 2; ADDRLP4 48 ADDRFP4 0 INDIRP4 CNSTI4 24 ADDP4 INDIRF4 CNSTF4 1073741824 DIVF4 ASGNF4 line 3842 ;3842: h = item->window.rectClient.h / 2; ADDRLP4 52 ADDRFP4 0 INDIRP4 CNSTI4 28 ADDP4 INDIRF4 CNSTF4 1073741824 DIVF4 ASGNF4 line 3843 ;3843: rx = item->window.rectClient.x + w - item->window.rectEffects.x; ADDRLP4 60 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 28 ADDRLP4 60 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 ADDRLP4 48 INDIRF4 ADDF4 ADDRLP4 60 INDIRP4 CNSTI4 72 ADDP4 INDIRF4 SUBF4 ASGNF4 line 3844 ;3844: ry = item->window.rectClient.y + h - item->window.rectEffects.y; ADDRLP4 64 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 32 ADDRLP4 64 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ADDRLP4 52 INDIRF4 ADDF4 ADDRLP4 64 INDIRP4 CNSTI4 76 ADDP4 INDIRF4 SUBF4 ASGNF4 line 3845 ;3845: a = 3 * M_PI / 180; ADDRLP4 36 CNSTF4 1029076816 ASGNF4 line 3846 ;3846: c = cos(a); ADDRLP4 36 INDIRF4 ARGF4 ADDRLP4 68 ADDRGP4 cos CALLF4 ASGNF4 ADDRLP4 40 ADDRLP4 68 INDIRF4 ASGNF4 line 3847 ;3847: s = sin(a); ADDRLP4 36 INDIRF4 ARGF4 ADDRLP4 72 ADDRGP4 sin CALLF4 ASGNF4 ADDRLP4 44 ADDRLP4 72 INDIRF4 ASGNF4 line 3848 ;3848: item->window.rectClient.x = (rx * c - ry * s) + item->window.rectEffects.x - w; ADDRLP4 76 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 76 INDIRP4 CNSTI4 16 ADDP4 ADDRLP4 28 INDIRF4 ADDRLP4 40 INDIRF4 MULF4 ADDRLP4 32 INDIRF4 ADDRLP4 44 INDIRF4 MULF4 SUBF4 ADDRLP4 76 INDIRP4 CNSTI4 72 ADDP4 INDIRF4 ADDF4 ADDRLP4 48 INDIRF4 SUBF4 ASGNF4 line 3849 ;3849: item->window.rectClient.y = (rx * s + ry * c) + item->window.rectEffects.y - h; ADDRLP4 80 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 80 INDIRP4 CNSTI4 20 ADDP4 ADDRLP4 28 INDIRF4 ADDRLP4 44 INDIRF4 MULF4 ADDRLP4 32 INDIRF4 ADDRLP4 40 INDIRF4 MULF4 ADDF4 ADDRLP4 80 INDIRP4 CNSTI4 76 ADDP4 INDIRF4 ADDF4 ADDRLP4 52 INDIRF4 SUBF4 ASGNF4 line 3850 ;3850: Item_UpdatePosition(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_UpdatePosition CALLV pop line 3852 ;3851: ;3852: } LABELV $1815 line 3853 ;3853: } LABELV $1813 line 3856 ;3854: ;3855: ;3856: if (item->window.flags & WINDOW_INTRANSITION) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 256 BANDI4 CNSTI4 0 EQI4 $1817 line 3857 ;3857: if (DC->realTime > item->window.nextTime) { ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 108 ADDP4 INDIRI4 LEI4 $1819 line 3858 ;3858: int done = 0; ADDRLP4 28 CNSTI4 0 ASGNI4 line 3859 ;3859: item->window.nextTime = DC->realTime + item->window.offsetTime; ADDRLP4 32 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 32 INDIRP4 CNSTI4 108 ADDP4 ADDRGP4 DC INDIRP4 CNSTI4 208 ADDP4 INDIRI4 ADDRLP4 32 INDIRP4 CNSTI4 104 ADDP4 INDIRI4 ADDI4 ASGNI4 line 3861 ;3860: // transition the x,y ;3861: if (item->window.rectClient.x == item->window.rectEffects.x) { ADDRLP4 36 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 36 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 ADDRLP4 36 INDIRP4 CNSTI4 72 ADDP4 INDIRF4 NEF4 $1821 line 3862 ;3862: done++; ADDRLP4 28 ADDRLP4 28 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 3863 ;3863: } else { ADDRGP4 $1822 JUMPV LABELV $1821 line 3864 ;3864: if (item->window.rectClient.x < item->window.rectEffects.x) { ADDRLP4 40 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 40 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 ADDRLP4 40 INDIRP4 CNSTI4 72 ADDP4 INDIRF4 GEF4 $1823 line 3865 ;3865: item->window.rectClient.x += item->window.rectEffects2.x; ADDRLP4 44 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 48 ADDRLP4 44 INDIRP4 CNSTI4 16 ADDP4 ASGNP4 ADDRLP4 48 INDIRP4 ADDRLP4 48 INDIRP4 INDIRF4 ADDRLP4 44 INDIRP4 CNSTI4 88 ADDP4 INDIRF4 ADDF4 ASGNF4 line 3866 ;3866: if (item->window.rectClient.x > item->window.rectEffects.x) { ADDRLP4 52 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 52 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 ADDRLP4 52 INDIRP4 CNSTI4 72 ADDP4 INDIRF4 LEF4 $1824 line 3867 ;3867: item->window.rectClient.x = item->window.rectEffects.x; ADDRLP4 56 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 56 INDIRP4 CNSTI4 16 ADDP4 ADDRLP4 56 INDIRP4 CNSTI4 72 ADDP4 INDIRF4 ASGNF4 line 3868 ;3868: done++; ADDRLP4 28 ADDRLP4 28 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 3869 ;3869: } line 3870 ;3870: } else { ADDRGP4 $1824 JUMPV LABELV $1823 line 3871 ;3871: item->window.rectClient.x -= item->window.rectEffects2.x; ADDRLP4 44 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 48 ADDRLP4 44 INDIRP4 CNSTI4 16 ADDP4 ASGNP4 ADDRLP4 48 INDIRP4 ADDRLP4 48 INDIRP4 INDIRF4 ADDRLP4 44 INDIRP4 CNSTI4 88 ADDP4 INDIRF4 SUBF4 ASGNF4 line 3872 ;3872: if (item->window.rectClient.x < item->window.rectEffects.x) { ADDRLP4 52 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 52 INDIRP4 CNSTI4 16 ADDP4 INDIRF4 ADDRLP4 52 INDIRP4 CNSTI4 72 ADDP4 INDIRF4 GEF4 $1827 line 3873 ;3873: item->window.rectClient.x = item->window.rectEffects.x; ADDRLP4 56 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 56 INDIRP4 CNSTI4 16 ADDP4 ADDRLP4 56 INDIRP4 CNSTI4 72 ADDP4 INDIRF4 ASGNF4 line 3874 ;3874: done++; ADDRLP4 28 ADDRLP4 28 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 3875 ;3875: } LABELV $1827 line 3876 ;3876: } LABELV $1824 line 3877 ;3877: } LABELV $1822 line 3878 ;3878: if (item->window.rectClient.y == item->window.rectEffects.y) { ADDRLP4 40 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 40 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ADDRLP4 40 INDIRP4 CNSTI4 76 ADDP4 INDIRF4 NEF4 $1829 line 3879 ;3879: done++; ADDRLP4 28 ADDRLP4 28 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 3880 ;3880: } else { ADDRGP4 $1830 JUMPV LABELV $1829 line 3881 ;3881: if (item->window.rectClient.y < item->window.rectEffects.y) { ADDRLP4 44 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 44 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ADDRLP4 44 INDIRP4 CNSTI4 76 ADDP4 INDIRF4 GEF4 $1831 line 3882 ;3882: item->window.rectClient.y += item->window.rectEffects2.y; ADDRLP4 48 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 52 ADDRLP4 48 INDIRP4 CNSTI4 20 ADDP4 ASGNP4 ADDRLP4 52 INDIRP4 ADDRLP4 52 INDIRP4 INDIRF4 ADDRLP4 48 INDIRP4 CNSTI4 92 ADDP4 INDIRF4 ADDF4 ASGNF4 line 3883 ;3883: if (item->window.rectClient.y > item->window.rectEffects.y) { ADDRLP4 56 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 56 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ADDRLP4 56 INDIRP4 CNSTI4 76 ADDP4 INDIRF4 LEF4 $1832 line 3884 ;3884: item->window.rectClient.y = item->window.rectEffects.y; ADDRLP4 60 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 60 INDIRP4 CNSTI4 20 ADDP4 ADDRLP4 60 INDIRP4 CNSTI4 76 ADDP4 INDIRF4 ASGNF4 line 3885 ;3885: done++; ADDRLP4 28 ADDRLP4 28 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 3886 ;3886: } line 3887 ;3887: } else { ADDRGP4 $1832 JUMPV LABELV $1831 line 3888 ;3888: item->window.rectClient.y -= item->window.rectEffects2.y; ADDRLP4 48 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 52 ADDRLP4 48 INDIRP4 CNSTI4 20 ADDP4 ASGNP4 ADDRLP4 52 INDIRP4 ADDRLP4 52 INDIRP4 INDIRF4 ADDRLP4 48 INDIRP4 CNSTI4 92 ADDP4 INDIRF4 SUBF4 ASGNF4 line 3889 ;3889: if (item->window.rectClient.y < item->window.rectEffects.y) { ADDRLP4 56 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 56 INDIRP4 CNSTI4 20 ADDP4 INDIRF4 ADDRLP4 56 INDIRP4 CNSTI4 76 ADDP4 INDIRF4 GEF4 $1835 line 3890 ;3890: item->window.rectClient.y = item->window.rectEffects.y; ADDRLP4 60 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 60 INDIRP4 CNSTI4 20 ADDP4 ADDRLP4 60 INDIRP4 CNSTI4 76 ADDP4 INDIRF4 ASGNF4 line 3891 ;3891: done++; ADDRLP4 28 ADDRLP4 28 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 3892 ;3892: } LABELV $1835 line 3893 ;3893: } LABELV $1832 line 3894 ;3894: } LABELV $1830 line 3895 ;3895: if (item->window.rectClient.w == item->window.rectEffects.w) { ADDRLP4 44 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 44 INDIRP4 CNSTI4 24 ADDP4 INDIRF4 ADDRLP4 44 INDIRP4 CNSTI4 80 ADDP4 INDIRF4 NEF4 $1837 line 3896 ;3896: done++; ADDRLP4 28 ADDRLP4 28 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 3897 ;3897: } else { ADDRGP4 $1838 JUMPV LABELV $1837 line 3898 ;3898: if (item->window.rectClient.w < item->window.rectEffects.w) { ADDRLP4 48 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 48 INDIRP4 CNSTI4 24 ADDP4 INDIRF4 ADDRLP4 48 INDIRP4 CNSTI4 80 ADDP4 INDIRF4 GEF4 $1839 line 3899 ;3899: item->window.rectClient.w += item->window.rectEffects2.w; ADDRLP4 52 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 56 ADDRLP4 52 INDIRP4 CNSTI4 24 ADDP4 ASGNP4 ADDRLP4 56 INDIRP4 ADDRLP4 56 INDIRP4 INDIRF4 ADDRLP4 52 INDIRP4 CNSTI4 96 ADDP4 INDIRF4 ADDF4 ASGNF4 line 3900 ;3900: if (item->window.rectClient.w > item->window.rectEffects.w) { ADDRLP4 60 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 60 INDIRP4 CNSTI4 24 ADDP4 INDIRF4 ADDRLP4 60 INDIRP4 CNSTI4 80 ADDP4 INDIRF4 LEF4 $1840 line 3901 ;3901: item->window.rectClient.w = item->window.rectEffects.w; ADDRLP4 64 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 64 INDIRP4 CNSTI4 24 ADDP4 ADDRLP4 64 INDIRP4 CNSTI4 80 ADDP4 INDIRF4 ASGNF4 line 3902 ;3902: done++; ADDRLP4 28 ADDRLP4 28 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 3903 ;3903: } line 3904 ;3904: } else { ADDRGP4 $1840 JUMPV LABELV $1839 line 3905 ;3905: item->window.rectClient.w -= item->window.rectEffects2.w; ADDRLP4 52 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 56 ADDRLP4 52 INDIRP4 CNSTI4 24 ADDP4 ASGNP4 ADDRLP4 56 INDIRP4 ADDRLP4 56 INDIRP4 INDIRF4 ADDRLP4 52 INDIRP4 CNSTI4 96 ADDP4 INDIRF4 SUBF4 ASGNF4 line 3906 ;3906: if (item->window.rectClient.w < item->window.rectEffects.w) { ADDRLP4 60 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 60 INDIRP4 CNSTI4 24 ADDP4 INDIRF4 ADDRLP4 60 INDIRP4 CNSTI4 80 ADDP4 INDIRF4 GEF4 $1843 line 3907 ;3907: item->window.rectClient.w = item->window.rectEffects.w; ADDRLP4 64 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 64 INDIRP4 CNSTI4 24 ADDP4 ADDRLP4 64 INDIRP4 CNSTI4 80 ADDP4 INDIRF4 ASGNF4 line 3908 ;3908: done++; ADDRLP4 28 ADDRLP4 28 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 3909 ;3909: } LABELV $1843 line 3910 ;3910: } LABELV $1840 line 3911 ;3911: } LABELV $1838 line 3912 ;3912: if (item->window.rectClient.h == item->window.rectEffects.h) { ADDRLP4 48 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 48 INDIRP4 CNSTI4 28 ADDP4 INDIRF4 ADDRLP4 48 INDIRP4 CNSTI4 84 ADDP4 INDIRF4 NEF4 $1845 line 3913 ;3913: done++; ADDRLP4 28 ADDRLP4 28 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 3914 ;3914: } else { ADDRGP4 $1846 JUMPV LABELV $1845 line 3915 ;3915: if (item->window.rectClient.h < item->window.rectEffects.h) { ADDRLP4 52 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 52 INDIRP4 CNSTI4 28 ADDP4 INDIRF4 ADDRLP4 52 INDIRP4 CNSTI4 84 ADDP4 INDIRF4 GEF4 $1847 line 3916 ;3916: item->window.rectClient.h += item->window.rectEffects2.h; ADDRLP4 56 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 60 ADDRLP4 56 INDIRP4 CNSTI4 28 ADDP4 ASGNP4 ADDRLP4 60 INDIRP4 ADDRLP4 60 INDIRP4 INDIRF4 ADDRLP4 56 INDIRP4 CNSTI4 100 ADDP4 INDIRF4 ADDF4 ASGNF4 line 3917 ;3917: if (item->window.rectClient.h > item->window.rectEffects.h) { ADDRLP4 64 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 64 INDIRP4 CNSTI4 28 ADDP4 INDIRF4 ADDRLP4 64 INDIRP4 CNSTI4 84 ADDP4 INDIRF4 LEF4 $1848 line 3918 ;3918: item->window.rectClient.h = item->window.rectEffects.h; ADDRLP4 68 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 68 INDIRP4 CNSTI4 28 ADDP4 ADDRLP4 68 INDIRP4 CNSTI4 84 ADDP4 INDIRF4 ASGNF4 line 3919 ;3919: done++; ADDRLP4 28 ADDRLP4 28 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 3920 ;3920: } line 3921 ;3921: } else { ADDRGP4 $1848 JUMPV LABELV $1847 line 3922 ;3922: item->window.rectClient.h -= item->window.rectEffects2.h; ADDRLP4 56 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 60 ADDRLP4 56 INDIRP4 CNSTI4 28 ADDP4 ASGNP4 ADDRLP4 60 INDIRP4 ADDRLP4 60 INDIRP4 INDIRF4 ADDRLP4 56 INDIRP4 CNSTI4 100 ADDP4 INDIRF4 SUBF4 ASGNF4 line 3923 ;3923: if (item->window.rectClient.h < item->window.rectEffects.h) { ADDRLP4 64 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 64 INDIRP4 CNSTI4 28 ADDP4 INDIRF4 ADDRLP4 64 INDIRP4 CNSTI4 84 ADDP4 INDIRF4 GEF4 $1851 line 3924 ;3924: item->window.rectClient.h = item->window.rectEffects.h; ADDRLP4 68 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 68 INDIRP4 CNSTI4 28 ADDP4 ADDRLP4 68 INDIRP4 CNSTI4 84 ADDP4 INDIRF4 ASGNF4 line 3925 ;3925: done++; ADDRLP4 28 ADDRLP4 28 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 3926 ;3926: } LABELV $1851 line 3927 ;3927: } LABELV $1848 line 3928 ;3928: } LABELV $1846 line 3930 ;3929: ;3930: Item_UpdatePosition(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_UpdatePosition CALLV pop line 3932 ;3931: ;3932: if (done == 4) { ADDRLP4 28 INDIRI4 CNSTI4 4 NEI4 $1853 line 3933 ;3933: item->window.flags &= ~WINDOW_INTRANSITION; ADDRLP4 52 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 52 INDIRP4 ADDRLP4 52 INDIRP4 INDIRI4 CNSTI4 -257 BANDI4 ASGNI4 line 3934 ;3934: } LABELV $1853 line 3936 ;3935: ;3936: } LABELV $1819 line 3937 ;3937: } LABELV $1817 line 3939 ;3938: ;3939: if (item->window.ownerDrawFlags && DC->ownerDrawVisible) { ADDRFP4 0 INDIRP4 CNSTI4 60 ADDP4 INDIRI4 CNSTI4 0 EQI4 $1855 ADDRGP4 DC INDIRP4 CNSTI4 76 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1855 line 3940 ;3940: if (!DC->ownerDrawVisible(item->window.ownerDrawFlags)) { ADDRFP4 0 INDIRP4 CNSTI4 60 ADDP4 INDIRI4 ARGI4 ADDRLP4 28 ADDRGP4 DC INDIRP4 CNSTI4 76 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 28 INDIRI4 CNSTI4 0 NEI4 $1857 line 3941 ;3941: item->window.flags &= ~WINDOW_VISIBLE; ADDRLP4 32 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 32 INDIRP4 ADDRLP4 32 INDIRP4 INDIRI4 CNSTI4 -5 BANDI4 ASGNI4 line 3942 ;3942: } else { ADDRGP4 $1858 JUMPV LABELV $1857 line 3943 ;3943: item->window.flags |= WINDOW_VISIBLE; ADDRLP4 32 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 32 INDIRP4 ADDRLP4 32 INDIRP4 INDIRI4 CNSTI4 4 BORI4 ASGNI4 line 3944 ;3944: } LABELV $1858 line 3945 ;3945: } LABELV $1855 line 3947 ;3946: ;3947: if (item->cvarFlags & (CVAR_SHOW | CVAR_HIDE)) { ADDRFP4 0 INDIRP4 CNSTI4 276 ADDP4 INDIRI4 CNSTI4 12 BANDI4 CNSTI4 0 EQI4 $1859 line 3948 ;3948: if (!Item_EnableShowViaCvar(item, CVAR_SHOW)) { ADDRFP4 0 INDIRP4 ARGP4 CNSTI4 4 ARGI4 ADDRLP4 28 ADDRGP4 Item_EnableShowViaCvar CALLI4 ASGNI4 ADDRLP4 28 INDIRI4 CNSTI4 0 NEI4 $1861 line 3949 ;3949: return; ADDRGP4 $1807 JUMPV LABELV $1861 line 3951 ;3950: } ;3951: } LABELV $1859 line 3953 ;3952: ;3953: if (item->window.flags & WINDOW_TIMEDVISIBLE) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 8388608 BANDI4 CNSTI4 0 EQI4 $1863 line 3955 ;3954: ;3955: } LABELV $1863 line 3957 ;3956: ;3957: if (!(item->window.flags & WINDOW_VISIBLE)) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 4 BANDI4 CNSTI4 0 NEI4 $1865 line 3958 ;3958: return; ADDRGP4 $1807 JUMPV LABELV $1865 line 3962 ;3959: } ;3960: ;3961: // paint the rect first.. ;3962: Window_Paint(&item->window, parent->fadeAmount , parent->fadeClamp, parent->fadeCycle); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 16 INDIRP4 CNSTI4 208 ADDP4 INDIRF4 ARGF4 ADDRLP4 16 INDIRP4 CNSTI4 204 ADDP4 INDIRF4 ARGF4 ADDRLP4 16 INDIRP4 CNSTI4 200 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRGP4 Window_Paint CALLV pop line 3964 ;3963: ;3964: if (debugMode) { ADDRGP4 debugMode INDIRI4 CNSTI4 0 EQI4 $1867 line 3966 ;3965: vec4_t color; ;3966: rectDef_t *r = Item_CorrectedTextRect(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 52 ADDRGP4 Item_CorrectedTextRect CALLP4 ASGNP4 ADDRLP4 32 ADDRLP4 52 INDIRP4 ASGNP4 line 3967 ;3967: color[1] = color[3] = 1; ADDRLP4 56 CNSTF4 1065353216 ASGNF4 ADDRLP4 36+12 ADDRLP4 56 INDIRF4 ASGNF4 ADDRLP4 36+4 ADDRLP4 56 INDIRF4 ASGNF4 line 3968 ;3968: color[0] = color[2] = 0; ADDRLP4 60 CNSTF4 0 ASGNF4 ADDRLP4 36+8 ADDRLP4 60 INDIRF4 ASGNF4 ADDRLP4 36 ADDRLP4 60 INDIRF4 ASGNF4 line 3969 ;3969: DC->drawRect(r->x, r->y, r->w, r->h, 1, color); ADDRLP4 32 INDIRP4 INDIRF4 ARGF4 ADDRLP4 32 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ARGF4 ADDRLP4 32 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ARGF4 ADDRLP4 32 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ARGF4 CNSTF4 1065353216 ARGF4 ADDRLP4 36 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 40 ADDP4 INDIRP4 CALLV pop line 3970 ;3970: } LABELV $1867 line 3974 ;3971: ;3972: //DC->drawRect(item->window.rect.x, item->window.rect.y, item->window.rect.w, item->window.rect.h, 1, red); ;3973: ;3974: switch (item->type) { ADDRLP4 32 ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 ASGNI4 ADDRLP4 32 INDIRI4 CNSTI4 0 LTI4 $1873 ADDRLP4 32 INDIRI4 CNSTI4 13 GTI4 $1873 ADDRLP4 32 INDIRI4 CNSTI4 2 LSHI4 ADDRGP4 $1887 ADDP4 INDIRP4 JUMPV lit align 4 LABELV $1887 address $1876 address $1876 address $1873 address $1873 address $1879 address $1873 address $1881 address $1882 address $1875 address $1879 address $1886 address $1883 address $1884 address $1885 code LABELV $1875 line 3976 ;3975: case ITEM_TYPE_OWNERDRAW: ;3976: Item_OwnerDraw_Paint(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_OwnerDraw_Paint CALLV pop line 3977 ;3977: break; ADDRGP4 $1873 JUMPV LABELV $1876 line 3980 ;3978: case ITEM_TYPE_TEXT: ;3979: case ITEM_TYPE_BUTTON: ;3980: Item_Text_Paint(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_Text_Paint CALLV pop line 3981 ;3981: break; ADDRGP4 $1873 JUMPV line 3983 ;3982: case ITEM_TYPE_RADIOBUTTON: ;3983: break; line 3985 ;3984: case ITEM_TYPE_CHECKBOX: ;3985: break; LABELV $1879 line 3988 ;3986: case ITEM_TYPE_EDITFIELD: ;3987: case ITEM_TYPE_NUMERICFIELD: ;3988: Item_TextField_Paint(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_TextField_Paint CALLV pop line 3989 ;3989: break; ADDRGP4 $1873 JUMPV line 3991 ;3990: case ITEM_TYPE_COMBO: ;3991: break; LABELV $1881 line 3993 ;3992: case ITEM_TYPE_LISTBOX: ;3993: Item_ListBox_Paint(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ListBox_Paint CALLV pop line 3994 ;3994: break; ADDRGP4 $1873 JUMPV LABELV $1882 line 3999 ;3995: //case ITEM_TYPE_IMAGE: ;3996: // Item_Image_Paint(item); ;3997: // break; ;3998: case ITEM_TYPE_MODEL: ;3999: Item_Model_Paint(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_Model_Paint CALLV pop line 4000 ;4000: break; ADDRGP4 $1873 JUMPV LABELV $1883 line 4002 ;4001: case ITEM_TYPE_YESNO: ;4002: Item_YesNo_Paint(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_YesNo_Paint CALLV pop line 4003 ;4003: break; ADDRGP4 $1873 JUMPV LABELV $1884 line 4005 ;4004: case ITEM_TYPE_MULTI: ;4005: Item_Multi_Paint(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_Multi_Paint CALLV pop line 4006 ;4006: break; ADDRGP4 $1873 JUMPV LABELV $1885 line 4008 ;4007: case ITEM_TYPE_BIND: ;4008: Item_Bind_Paint(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_Bind_Paint CALLV pop line 4009 ;4009: break; ADDRGP4 $1873 JUMPV LABELV $1886 line 4011 ;4010: case ITEM_TYPE_SLIDER: ;4011: Item_Slider_Paint(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_Slider_Paint CALLV pop line 4012 ;4012: break; line 4014 ;4013: default: ;4014: break; LABELV $1873 line 4017 ;4015: } ;4016: ;4017:} LABELV $1807 endproc Item_Paint 84 24 export Menu_Init proc Menu_Init 0 12 line 4019 ;4018: ;4019:void Menu_Init(menuDef_t *menu) { line 4020 ;4020: memset(menu, 0, sizeof(menuDef_t)); ADDRFP4 0 INDIRP4 ARGP4 CNSTI4 0 ARGI4 CNSTI4 644 ARGI4 ADDRGP4 memset CALLP4 pop line 4021 ;4021: menu->cursorItem = -1; ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 CNSTI4 -1 ASGNI4 line 4022 ;4022: menu->fadeAmount = DC->Assets.fadeAmount; ADDRFP4 0 INDIRP4 CNSTI4 208 ADDP4 ADDRGP4 DC INDIRP4 CNSTI4 61960 ADDP4 INDIRF4 ASGNF4 line 4023 ;4023: menu->fadeClamp = DC->Assets.fadeClamp; ADDRFP4 0 INDIRP4 CNSTI4 204 ADDP4 ADDRGP4 DC INDIRP4 CNSTI4 61952 ADDP4 INDIRF4 ASGNF4 line 4024 ;4024: menu->fadeCycle = DC->Assets.fadeCycle; ADDRFP4 0 INDIRP4 CNSTI4 200 ADDP4 ADDRGP4 DC INDIRP4 CNSTI4 61956 ADDP4 INDIRI4 ASGNI4 line 4025 ;4025: Window_Init(&menu->window); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Window_Init CALLV pop line 4026 ;4026:} LABELV $1888 endproc Menu_Init 0 12 export Menu_GetFocusedItem proc Menu_GetFocusedItem 8 0 line 4028 ;4027: ;4028:itemDef_t *Menu_GetFocusedItem(menuDef_t *menu) { line 4030 ;4029: int i; ;4030: if (menu) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1890 line 4031 ;4031: for (i = 0; i < menu->itemCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1895 JUMPV LABELV $1892 line 4032 ;4032: if (menu->items[i]->window.flags & WINDOW_HASFOCUS) { ADDRLP4 4 CNSTI4 2 ASGNI4 ADDRLP4 0 INDIRI4 ADDRLP4 4 INDIRI4 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 ADDRLP4 4 INDIRI4 BANDI4 CNSTI4 0 EQI4 $1896 line 4033 ;4033: return menu->items[i]; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 RETP4 ADDRGP4 $1889 JUMPV LABELV $1896 line 4035 ;4034: } ;4035: } LABELV $1893 line 4031 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1895 ADDRLP4 0 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $1892 line 4036 ;4036: } LABELV $1890 line 4037 ;4037: return NULL; CNSTP4 0 RETP4 LABELV $1889 endproc Menu_GetFocusedItem 8 0 export Menu_GetFocused proc Menu_GetFocused 12 0 line 4040 ;4038:} ;4039: ;4040:menuDef_t *Menu_GetFocused() { line 4042 ;4041: int i; ;4042: for (i = 0; i < menuCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1902 JUMPV LABELV $1899 line 4043 ;4043: if (Menus[i].window.flags & WINDOW_HASFOCUS && Menus[i].window.flags & WINDOW_VISIBLE) { ADDRLP4 4 CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ASGNI4 ADDRLP4 8 CNSTI4 0 ASGNI4 ADDRLP4 4 INDIRI4 ADDRGP4 Menus+68 ADDP4 INDIRI4 CNSTI4 2 BANDI4 ADDRLP4 8 INDIRI4 EQI4 $1903 ADDRLP4 4 INDIRI4 ADDRGP4 Menus+68 ADDP4 INDIRI4 CNSTI4 4 BANDI4 ADDRLP4 8 INDIRI4 EQI4 $1903 line 4044 ;4044: return &Menus[i]; CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus ADDP4 RETP4 ADDRGP4 $1898 JUMPV LABELV $1903 line 4046 ;4045: } ;4046: } LABELV $1900 line 4042 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1902 ADDRLP4 0 INDIRI4 ADDRGP4 menuCount INDIRI4 LTI4 $1899 line 4047 ;4047: return NULL; CNSTP4 0 RETP4 LABELV $1898 endproc Menu_GetFocused 12 0 export Menu_ScrollFeeder proc Menu_ScrollFeeder 12 16 line 4050 ;4048:} ;4049: ;4050:void Menu_ScrollFeeder(menuDef_t *menu, int feeder, qboolean down) { line 4051 ;4051: if (menu) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1908 line 4053 ;4052: int i; ;4053: for (i = 0; i < menu->itemCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1913 JUMPV LABELV $1910 line 4054 ;4054: if (menu->items[i]->special == feeder) { ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ADDRFP4 4 INDIRI4 CVIF4 4 NEF4 $1914 line 4055 ;4055: Item_ListBox_HandleKey(menu->items[i], (down) ? K_DOWNARROW : K_UPARROW, qtrue, qtrue); ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ARGP4 ADDRFP4 8 INDIRI4 CNSTI4 0 EQI4 $1917 ADDRLP4 4 CNSTI4 133 ASGNI4 ADDRGP4 $1918 JUMPV LABELV $1917 ADDRLP4 4 CNSTI4 132 ASGNI4 LABELV $1918 ADDRLP4 4 INDIRI4 ARGI4 ADDRLP4 8 CNSTI4 1 ASGNI4 ADDRLP4 8 INDIRI4 ARGI4 ADDRLP4 8 INDIRI4 ARGI4 ADDRGP4 Item_ListBox_HandleKey CALLI4 pop line 4056 ;4056: return; ADDRGP4 $1907 JUMPV LABELV $1914 line 4058 ;4057: } ;4058: } LABELV $1911 line 4053 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1913 ADDRLP4 0 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $1910 line 4059 ;4059: } LABELV $1908 line 4060 ;4060:} LABELV $1907 endproc Menu_ScrollFeeder 12 16 export Menu_SetFeederSelection proc Menu_SetFeederSelection 8 8 line 4064 ;4061: ;4062: ;4063: ;4064:void Menu_SetFeederSelection(menuDef_t *menu, int feeder, int index, const char *name) { line 4065 ;4065: if (menu == NULL) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1920 line 4066 ;4066: if (name == NULL) { ADDRFP4 12 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1922 line 4067 ;4067: menu = Menu_GetFocused(); ADDRLP4 0 ADDRGP4 Menu_GetFocused CALLP4 ASGNP4 ADDRFP4 0 ADDRLP4 0 INDIRP4 ASGNP4 line 4068 ;4068: } else { ADDRGP4 $1923 JUMPV LABELV $1922 line 4069 ;4069: menu = Menus_FindByName(name); ADDRFP4 12 INDIRP4 ARGP4 ADDRLP4 0 ADDRGP4 Menus_FindByName CALLP4 ASGNP4 ADDRFP4 0 ADDRLP4 0 INDIRP4 ASGNP4 line 4070 ;4070: } LABELV $1923 line 4071 ;4071: } LABELV $1920 line 4073 ;4072: ;4073: if (menu) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1924 line 4075 ;4074: int i; ;4075: for (i = 0; i < menu->itemCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1929 JUMPV LABELV $1926 line 4076 ;4076: if (menu->items[i]->special == feeder) { ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ADDRFP4 4 INDIRI4 CVIF4 4 NEF4 $1930 line 4077 ;4077: if (index == 0) { ADDRFP4 8 INDIRI4 CNSTI4 0 NEI4 $1932 line 4078 ;4078: listBoxDef_t *listPtr = (listBoxDef_t*)menu->items[i]->typeData; ADDRLP4 4 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4079 ;4079: listPtr->cursorPos = 0; ADDRLP4 4 INDIRP4 CNSTI4 12 ADDP4 CNSTI4 0 ASGNI4 line 4080 ;4080: listPtr->startPos = 0; ADDRLP4 4 INDIRP4 CNSTI4 0 ASGNI4 line 4081 ;4081: } LABELV $1932 line 4082 ;4082: menu->items[i]->cursorPos = index; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 532 ADDP4 ADDRFP4 8 INDIRI4 ASGNI4 line 4083 ;4083: DC->feederSelection(menu->items[i]->special, menu->items[i]->cursorPos); ADDRLP4 4 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ASGNP4 ADDRLP4 4 INDIRP4 CNSTI4 528 ADDP4 INDIRF4 ARGF4 ADDRLP4 4 INDIRP4 CNSTI4 532 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 132 ADDP4 INDIRP4 CALLV pop line 4084 ;4084: return; ADDRGP4 $1919 JUMPV LABELV $1930 line 4086 ;4085: } ;4086: } LABELV $1927 line 4075 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1929 ADDRLP4 0 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $1926 line 4087 ;4087: } LABELV $1924 line 4088 ;4088:} LABELV $1919 endproc Menu_SetFeederSelection 8 8 export Menus_AnyFullScreenVisible proc Menus_AnyFullScreenVisible 12 0 line 4090 ;4089: ;4090:qboolean Menus_AnyFullScreenVisible() { line 4092 ;4091: int i; ;4092: for (i = 0; i < menuCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1938 JUMPV LABELV $1935 line 4093 ;4093: if (Menus[i].window.flags & WINDOW_VISIBLE && Menus[i].fullScreen) { ADDRLP4 4 CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ASGNI4 ADDRLP4 8 CNSTI4 0 ASGNI4 ADDRLP4 4 INDIRI4 ADDRGP4 Menus+68 ADDP4 INDIRI4 CNSTI4 4 BANDI4 ADDRLP4 8 INDIRI4 EQI4 $1939 ADDRLP4 4 INDIRI4 ADDRGP4 Menus+184 ADDP4 INDIRI4 ADDRLP4 8 INDIRI4 EQI4 $1939 line 4094 ;4094: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $1934 JUMPV LABELV $1939 line 4096 ;4095: } ;4096: } LABELV $1936 line 4092 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1938 ADDRLP4 0 INDIRI4 ADDRGP4 menuCount INDIRI4 LTI4 $1935 line 4097 ;4097: return qfalse; CNSTI4 0 RETI4 LABELV $1934 endproc Menus_AnyFullScreenVisible 12 0 export Menus_ActivateByName proc Menus_ActivateByName 28 8 line 4100 ;4098:} ;4099: ;4100:menuDef_t *Menus_ActivateByName(const char *p) { line 4102 ;4101: int i; ;4102: menuDef_t *m = NULL; ADDRLP4 4 CNSTP4 0 ASGNP4 line 4103 ;4103: menuDef_t *focus = Menu_GetFocused(); ADDRLP4 12 ADDRGP4 Menu_GetFocused CALLP4 ASGNP4 ADDRLP4 8 ADDRLP4 12 INDIRP4 ASGNP4 line 4104 ;4104: for (i = 0; i < menuCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1947 JUMPV LABELV $1944 line 4105 ;4105: if (Q_stricmp(Menus[i].window.name, p) == 0) { CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus+32 ADDP4 INDIRP4 ARGP4 ADDRFP4 0 INDIRP4 ARGP4 ADDRLP4 16 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 16 INDIRI4 CNSTI4 0 NEI4 $1948 line 4106 ;4106: m = &Menus[i]; ADDRLP4 4 CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus ADDP4 ASGNP4 line 4107 ;4107: Menus_Activate(m); ADDRLP4 4 INDIRP4 ARGP4 ADDRGP4 Menus_Activate CALLV pop line 4108 ;4108: if (openMenuCount < MAX_OPEN_MENUS && focus != NULL) { ADDRGP4 openMenuCount INDIRI4 CNSTI4 16 GEI4 $1949 ADDRLP4 8 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1949 line 4109 ;4109: menuStack[openMenuCount++] = focus; ADDRLP4 24 ADDRGP4 openMenuCount ASGNP4 ADDRLP4 20 ADDRLP4 24 INDIRP4 INDIRI4 ASGNI4 ADDRLP4 24 INDIRP4 ADDRLP4 20 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 20 INDIRI4 CNSTI4 2 LSHI4 ADDRGP4 menuStack ADDP4 ADDRLP4 8 INDIRP4 ASGNP4 line 4110 ;4110: } line 4111 ;4111: } else { ADDRGP4 $1949 JUMPV LABELV $1948 line 4112 ;4112: Menus[i].window.flags &= ~WINDOW_HASFOCUS; ADDRLP4 20 CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus+68 ADDP4 ASGNP4 ADDRLP4 20 INDIRP4 ADDRLP4 20 INDIRP4 INDIRI4 CNSTI4 -3 BANDI4 ASGNI4 line 4113 ;4113: } LABELV $1949 line 4114 ;4114: } LABELV $1945 line 4104 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1947 ADDRLP4 0 INDIRI4 ADDRGP4 menuCount INDIRI4 LTI4 $1944 line 4115 ;4115: Display_CloseCinematics(); ADDRGP4 Display_CloseCinematics CALLV pop line 4116 ;4116: return m; ADDRLP4 4 INDIRP4 RETP4 LABELV $1943 endproc Menus_ActivateByName 28 8 export Item_Init proc Item_Init 0 12 line 4120 ;4117:} ;4118: ;4119: ;4120:void Item_Init(itemDef_t *item) { line 4121 ;4121: memset(item, 0, sizeof(itemDef_t)); ADDRFP4 0 INDIRP4 ARGP4 CNSTI4 0 ARGI4 CNSTI4 540 ARGI4 ADDRGP4 memset CALLP4 pop line 4122 ;4122: item->textscale = 0.55f; ADDRFP4 0 INDIRP4 CNSTI4 216 ADDP4 CNSTF4 1057803469 ASGNF4 line 4123 ;4123: Window_Init(&item->window); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Window_Init CALLV pop line 4124 ;4124:} LABELV $1954 endproc Item_Init 0 12 export Menu_HandleMouseMove proc Menu_HandleMouseMove 52 12 line 4126 ;4125: ;4126:void Menu_HandleMouseMove(menuDef_t *menu, float x, float y) { line 4128 ;4127: int i, pass; ;4128: qboolean focusSet = qfalse; ADDRLP4 12 CNSTI4 0 ASGNI4 line 4131 ;4129: ;4130: itemDef_t *overItem; ;4131: if (menu == NULL) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1956 line 4132 ;4132: return; ADDRGP4 $1955 JUMPV LABELV $1956 line 4135 ;4133: } ;4134: ;4135: if (!(menu->window.flags & (WINDOW_VISIBLE | WINDOW_FORCED))) { ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 1048580 BANDI4 CNSTI4 0 NEI4 $1958 line 4136 ;4136: return; ADDRGP4 $1955 JUMPV LABELV $1958 line 4139 ;4137: } ;4138: ;4139: if (itemCapture) { ADDRGP4 itemCapture INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1960 line 4141 ;4140: //Item_MouseMove(itemCapture, x, y); ;4141: return; ADDRGP4 $1955 JUMPV LABELV $1960 line 4144 ;4142: } ;4143: ;4144: if (g_waitingForKey || g_editingField) { ADDRLP4 16 CNSTI4 0 ASGNI4 ADDRGP4 g_waitingForKey INDIRI4 ADDRLP4 16 INDIRI4 NEI4 $1964 ADDRGP4 g_editingField INDIRI4 ADDRLP4 16 INDIRI4 EQI4 $1962 LABELV $1964 line 4145 ;4145: return; ADDRGP4 $1955 JUMPV LABELV $1962 line 4150 ;4146: } ;4147: ;4148: // FIXME: this is the whole issue of focus vs. mouse over.. ;4149: // need a better overall solution as i don't like going through everything twice ;4150: for (pass = 0; pass < 2; pass++) { ADDRLP4 8 CNSTI4 0 ASGNI4 LABELV $1965 line 4151 ;4151: for (i = 0; i < menu->itemCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $1972 JUMPV LABELV $1969 line 4155 ;4152: // turn off focus each item ;4153: // menu->items[i].window.flags &= ~WINDOW_HASFOCUS; ;4154: ;4155: if (!(menu->items[i]->window.flags & (WINDOW_VISIBLE | WINDOW_FORCED))) { ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 1048580 BANDI4 CNSTI4 0 NEI4 $1973 line 4156 ;4156: continue; ADDRGP4 $1970 JUMPV LABELV $1973 line 4160 ;4157: } ;4158: ;4159: // items can be enabled and disabled based on cvars ;4160: if (menu->items[i]->cvarFlags & (CVAR_ENABLE | CVAR_DISABLE) && !Item_EnableShowViaCvar(menu->items[i], CVAR_ENABLE)) { ADDRLP4 20 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ASGNP4 ADDRLP4 20 INDIRP4 CNSTI4 276 ADDP4 INDIRI4 CNSTI4 3 BANDI4 CNSTI4 0 EQI4 $1975 ADDRLP4 20 INDIRP4 ARGP4 CNSTI4 1 ARGI4 ADDRLP4 24 ADDRGP4 Item_EnableShowViaCvar CALLI4 ASGNI4 ADDRLP4 24 INDIRI4 CNSTI4 0 NEI4 $1975 line 4161 ;4161: continue; ADDRGP4 $1970 JUMPV LABELV $1975 line 4164 ;4162: } ;4163: ;4164: if (menu->items[i]->cvarFlags & (CVAR_SHOW | CVAR_HIDE) && !Item_EnableShowViaCvar(menu->items[i], CVAR_SHOW)) { ADDRLP4 28 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ASGNP4 ADDRLP4 28 INDIRP4 CNSTI4 276 ADDP4 INDIRI4 CNSTI4 12 BANDI4 CNSTI4 0 EQI4 $1977 ADDRLP4 28 INDIRP4 ARGP4 CNSTI4 4 ARGI4 ADDRLP4 32 ADDRGP4 Item_EnableShowViaCvar CALLI4 ASGNI4 ADDRLP4 32 INDIRI4 CNSTI4 0 NEI4 $1977 line 4165 ;4165: continue; ADDRGP4 $1970 JUMPV LABELV $1977 line 4170 ;4166: } ;4167: ;4168: ;4169: ;4170: if (Rect_ContainsPoint(&menu->items[i]->window.rect, x, y)) { ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 36 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 36 INDIRI4 CNSTI4 0 EQI4 $1979 line 4171 ;4171: if (pass == 1) { ADDRLP4 8 INDIRI4 CNSTI4 1 NEI4 $1980 line 4172 ;4172: overItem = menu->items[i]; ADDRLP4 4 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ASGNP4 line 4173 ;4173: if (overItem->type == ITEM_TYPE_TEXT && overItem->text) { ADDRLP4 4 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 0 NEI4 $1983 ADDRLP4 4 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1983 line 4174 ;4174: if (!Rect_ContainsPoint(Item_CorrectedTextRect(overItem), x, y)) { ADDRLP4 4 INDIRP4 ARGP4 ADDRLP4 44 ADDRGP4 Item_CorrectedTextRect CALLP4 ASGNP4 ADDRLP4 44 INDIRP4 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 48 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 48 INDIRI4 CNSTI4 0 NEI4 $1985 line 4175 ;4175: continue; ADDRGP4 $1970 JUMPV LABELV $1985 line 4177 ;4176: } ;4177: } LABELV $1983 line 4179 ;4178: // if we are over an item ;4179: if (IsVisible(overItem->window.flags)) { ADDRLP4 4 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 ARGI4 ADDRLP4 44 ADDRGP4 IsVisible CALLI4 ASGNI4 ADDRLP4 44 INDIRI4 CNSTI4 0 EQI4 $1980 line 4181 ;4180: // different one ;4181: Item_MouseEnter(overItem, x, y); ADDRLP4 4 INDIRP4 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRGP4 Item_MouseEnter CALLV pop line 4185 ;4182: // Item_SetMouseOver(overItem, qtrue); ;4183: ;4184: // if item is not a decoration see if it can take focus ;4185: if (!focusSet) { ADDRLP4 12 INDIRI4 CNSTI4 0 NEI4 $1980 line 4186 ;4186: focusSet = Item_SetFocus(overItem, x, y); ADDRLP4 4 INDIRP4 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 48 ADDRGP4 Item_SetFocus CALLI4 ASGNI4 ADDRLP4 12 ADDRLP4 48 INDIRI4 ASGNI4 line 4187 ;4187: } line 4188 ;4188: } line 4189 ;4189: } line 4190 ;4190: } else if (menu->items[i]->window.flags & WINDOW_MOUSEOVER) { ADDRGP4 $1980 JUMPV LABELV $1979 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 1 BANDI4 CNSTI4 0 EQI4 $1991 line 4191 ;4191: Item_MouseLeave(menu->items[i]); ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_MouseLeave CALLV pop line 4192 ;4192: Item_SetMouseOver(menu->items[i], qfalse); ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ARGP4 CNSTI4 0 ARGI4 ADDRGP4 Item_SetMouseOver CALLV pop line 4193 ;4193: } LABELV $1991 LABELV $1980 line 4194 ;4194: } LABELV $1970 line 4151 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $1972 ADDRLP4 0 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $1969 line 4195 ;4195: } LABELV $1966 line 4150 ADDRLP4 8 ADDRLP4 8 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 2 LTI4 $1965 line 4197 ;4196: ;4197:} LABELV $1955 endproc Menu_HandleMouseMove 52 12 export Menu_Paint proc Menu_Paint 48 24 line 4199 ;4198: ;4199:void Menu_Paint(menuDef_t *menu, qboolean forcePaint) { line 4202 ;4200: int i; ;4201: ;4202: if (menu == NULL) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $1994 line 4203 ;4203: return; ADDRGP4 $1993 JUMPV LABELV $1994 line 4206 ;4204: } ;4205: ;4206: if (!(menu->window.flags & WINDOW_VISIBLE) && !forcePaint) { ADDRLP4 4 CNSTI4 0 ASGNI4 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 4 BANDI4 ADDRLP4 4 INDIRI4 NEI4 $1996 ADDRFP4 4 INDIRI4 ADDRLP4 4 INDIRI4 NEI4 $1996 line 4207 ;4207: return; ADDRGP4 $1993 JUMPV LABELV $1996 line 4210 ;4208: } ;4209: ;4210: if (menu->window.ownerDrawFlags && DC->ownerDrawVisible && !DC->ownerDrawVisible(menu->window.ownerDrawFlags)) { ADDRLP4 8 ADDRFP4 0 INDIRP4 CNSTI4 60 ADDP4 INDIRI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 EQI4 $1998 ADDRLP4 12 ADDRGP4 DC INDIRP4 CNSTI4 76 ADDP4 INDIRP4 ASGNP4 ADDRLP4 12 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $1998 ADDRLP4 8 INDIRI4 ARGI4 ADDRLP4 16 ADDRLP4 12 INDIRP4 CALLI4 ASGNI4 ADDRLP4 16 INDIRI4 CNSTI4 0 NEI4 $1998 line 4211 ;4211: return; ADDRGP4 $1993 JUMPV LABELV $1998 line 4214 ;4212: } ;4213: ;4214: if (forcePaint) { ADDRFP4 4 INDIRI4 CNSTI4 0 EQI4 $2000 line 4215 ;4215: menu->window.flags |= WINDOW_FORCED; ADDRLP4 20 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 20 INDIRP4 ADDRLP4 20 INDIRP4 INDIRI4 CNSTI4 1048576 BORI4 ASGNI4 line 4216 ;4216: } LABELV $2000 line 4219 ;4217: ;4218: // draw the background if necessary ;4219: if (menu->fullScreen) { ADDRFP4 0 INDIRP4 CNSTI4 184 ADDP4 INDIRI4 CNSTI4 0 EQI4 $2002 line 4222 ;4220: // implies a background shader ;4221: // FIXME: make sure we have a default shader if fullscreen is set with no background ;4222: DC->drawHandlePic( 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, menu->window.background ); ADDRLP4 20 CNSTF4 0 ASGNF4 ADDRLP4 20 INDIRF4 ARGF4 ADDRLP4 20 INDIRF4 ARGF4 CNSTF4 1142947840 ARGF4 CNSTF4 1139802112 ARGF4 ADDRFP4 0 INDIRP4 CNSTI4 176 ADDP4 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 8 ADDP4 INDIRP4 CALLV pop line 4223 ;4223: } else if (menu->window.background) { ADDRGP4 $2003 JUMPV LABELV $2002 ADDRFP4 0 INDIRP4 CNSTI4 176 ADDP4 INDIRI4 CNSTI4 0 EQI4 $2004 line 4226 ;4224: // this allows a background shader without being full screen ;4225: //UI_DrawHandlePic(menu->window.rect.x, menu->window.rect.y, menu->window.rect.w, menu->window.rect.h, menu->backgroundShader); ;4226: } LABELV $2004 LABELV $2003 line 4229 ;4227: ;4228: // paint the background and or border ;4229: Window_Paint(&menu->window, menu->fadeAmount, menu->fadeClamp, menu->fadeCycle ); ADDRLP4 20 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 20 INDIRP4 ARGP4 ADDRLP4 20 INDIRP4 CNSTI4 208 ADDP4 INDIRF4 ARGF4 ADDRLP4 20 INDIRP4 CNSTI4 204 ADDP4 INDIRF4 ARGF4 ADDRLP4 20 INDIRP4 CNSTI4 200 ADDP4 INDIRI4 CVIF4 4 ARGF4 ADDRGP4 Window_Paint CALLV pop line 4231 ;4230: ;4231: for (i = 0; i < menu->itemCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $2009 JUMPV LABELV $2006 line 4232 ;4232: Item_Paint(menu->items[i]); ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_Paint CALLV pop line 4233 ;4233: } LABELV $2007 line 4231 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $2009 ADDRLP4 0 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $2006 line 4235 ;4234: ;4235: if (debugMode) { ADDRGP4 debugMode INDIRI4 CNSTI4 0 EQI4 $2010 line 4237 ;4236: vec4_t color; ;4237: color[0] = color[2] = color[3] = 1; ADDRLP4 40 CNSTF4 1065353216 ASGNF4 ADDRLP4 24+12 ADDRLP4 40 INDIRF4 ASGNF4 ADDRLP4 24+8 ADDRLP4 40 INDIRF4 ASGNF4 ADDRLP4 24 ADDRLP4 40 INDIRF4 ASGNF4 line 4238 ;4238: color[1] = 0; ADDRLP4 24+4 CNSTF4 0 ASGNF4 line 4239 ;4239: DC->drawRect(menu->window.rect.x, menu->window.rect.y, menu->window.rect.w, menu->window.rect.h, 1, color); ADDRLP4 44 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 44 INDIRP4 INDIRF4 ARGF4 ADDRLP4 44 INDIRP4 CNSTI4 4 ADDP4 INDIRF4 ARGF4 ADDRLP4 44 INDIRP4 CNSTI4 8 ADDP4 INDIRF4 ARGF4 ADDRLP4 44 INDIRP4 CNSTI4 12 ADDP4 INDIRF4 ARGF4 CNSTF4 1065353216 ARGF4 ADDRLP4 24 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 40 ADDP4 INDIRP4 CALLV pop line 4240 ;4240: } LABELV $2010 line 4241 ;4241:} LABELV $1993 endproc Menu_Paint 48 24 export Item_ValidateTypeData proc Item_ValidateTypeData 8 12 line 4248 ;4242: ;4243:/* ;4244:=============== ;4245:Item_ValidateTypeData ;4246:=============== ;4247:*/ ;4248:void Item_ValidateTypeData(itemDef_t *item) { line 4249 ;4249: if (item->typeData) { ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $2016 line 4250 ;4250: return; ADDRGP4 $2015 JUMPV LABELV $2016 line 4253 ;4251: } ;4252: ;4253: if (item->type == ITEM_TYPE_LISTBOX) { ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 6 NEI4 $2018 line 4254 ;4254: item->typeData = UI_Alloc(sizeof(listBoxDef_t)); CNSTI4 232 ARGI4 ADDRLP4 0 ADDRGP4 UI_Alloc CALLP4 ASGNP4 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 ADDRLP4 0 INDIRP4 ASGNP4 line 4255 ;4255: memset(item->typeData, 0, sizeof(listBoxDef_t)); ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ARGP4 CNSTI4 0 ARGI4 CNSTI4 232 ARGI4 ADDRGP4 memset CALLP4 pop line 4256 ;4256: } else if (item->type == ITEM_TYPE_EDITFIELD || item->type == ITEM_TYPE_NUMERICFIELD || item->type == ITEM_TYPE_YESNO || item->type == ITEM_TYPE_BIND || item->type == ITEM_TYPE_SLIDER || item->type == ITEM_TYPE_TEXT) { ADDRGP4 $2019 JUMPV LABELV $2018 ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 4 EQI4 $2026 ADDRLP4 0 INDIRI4 CNSTI4 9 EQI4 $2026 ADDRLP4 0 INDIRI4 CNSTI4 11 EQI4 $2026 ADDRLP4 0 INDIRI4 CNSTI4 13 EQI4 $2026 ADDRLP4 0 INDIRI4 CNSTI4 10 EQI4 $2026 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2020 LABELV $2026 line 4257 ;4257: item->typeData = UI_Alloc(sizeof(editFieldDef_t)); CNSTI4 28 ARGI4 ADDRLP4 4 ADDRGP4 UI_Alloc CALLP4 ASGNP4 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 ADDRLP4 4 INDIRP4 ASGNP4 line 4258 ;4258: memset(item->typeData, 0, sizeof(editFieldDef_t)); ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ARGP4 CNSTI4 0 ARGI4 CNSTI4 28 ARGI4 ADDRGP4 memset CALLP4 pop line 4259 ;4259: if (item->type == ITEM_TYPE_EDITFIELD) { ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 4 NEI4 $2021 line 4260 ;4260: if (!((editFieldDef_t *) item->typeData)->maxPaintChars) { ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 CNSTI4 20 ADDP4 INDIRI4 CNSTI4 0 NEI4 $2021 line 4261 ;4261: ((editFieldDef_t *) item->typeData)->maxPaintChars = MAX_EDITFIELD; ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 CNSTI4 20 ADDP4 CNSTI4 256 ASGNI4 line 4262 ;4262: } line 4263 ;4263: } line 4264 ;4264: } else if (item->type == ITEM_TYPE_MULTI) { ADDRGP4 $2021 JUMPV LABELV $2020 ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 12 NEI4 $2031 line 4265 ;4265: item->typeData = UI_Alloc(sizeof(multiDef_t)); CNSTI4 392 ARGI4 ADDRLP4 4 ADDRGP4 UI_Alloc CALLP4 ASGNP4 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 ADDRLP4 4 INDIRP4 ASGNP4 line 4266 ;4266: } else if (item->type == ITEM_TYPE_MODEL) { ADDRGP4 $2032 JUMPV LABELV $2031 ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 7 NEI4 $2033 line 4267 ;4267: item->typeData = UI_Alloc(sizeof(modelDef_t)); CNSTI4 28 ARGI4 ADDRLP4 4 ADDRGP4 UI_Alloc CALLP4 ASGNP4 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 ADDRLP4 4 INDIRP4 ASGNP4 line 4268 ;4268: } LABELV $2033 LABELV $2032 LABELV $2021 LABELV $2019 line 4269 ;4269:} LABELV $2015 endproc Item_ValidateTypeData 8 12 export KeywordHash_Key proc KeywordHash_Key 20 0 line 4286 ;4270: ;4271:/* ;4272:=============== ;4273:Keyword Hash ;4274:=============== ;4275:*/ ;4276: ;4277:#define KEYWORDHASH_SIZE 512 ;4278: ;4279:typedef struct keywordHash_s ;4280:{ ;4281: char *keyword; ;4282: qboolean (*func)(itemDef_t *item, int handle); ;4283: struct keywordHash_s *next; ;4284:} keywordHash_t; ;4285: ;4286:int KeywordHash_Key(char *keyword) { line 4289 ;4287: int register hash, i; ;4288: ;4289: hash = 0; ADDRLP4 0 CNSTI4 0 ASGNI4 line 4290 ;4290: for (i = 0; keyword[i] != '\0'; i++) { ADDRLP4 4 CNSTI4 0 ASGNI4 ADDRGP4 $2039 JUMPV LABELV $2036 line 4291 ;4291: if (keyword[i] >= 'A' && keyword[i] <= 'Z') ADDRLP4 8 ADDRLP4 4 INDIRI4 ADDRFP4 0 INDIRP4 ADDP4 INDIRI1 CVII4 1 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 65 LTI4 $2040 ADDRLP4 8 INDIRI4 CNSTI4 90 GTI4 $2040 line 4292 ;4292: hash += (keyword[i] + ('a' - 'A')) * (119 + i); ADDRLP4 0 ADDRLP4 0 INDIRI4 ADDRLP4 4 INDIRI4 ADDRFP4 0 INDIRP4 ADDP4 INDIRI1 CVII4 1 CNSTI4 32 ADDI4 ADDRLP4 4 INDIRI4 CNSTI4 119 ADDI4 MULI4 ADDI4 ASGNI4 ADDRGP4 $2041 JUMPV LABELV $2040 line 4294 ;4293: else ;4294: hash += keyword[i] * (119 + i); ADDRLP4 0 ADDRLP4 0 INDIRI4 ADDRLP4 4 INDIRI4 ADDRFP4 0 INDIRP4 ADDP4 INDIRI1 CVII4 1 ADDRLP4 4 INDIRI4 CNSTI4 119 ADDI4 MULI4 ADDI4 ASGNI4 LABELV $2041 line 4295 ;4295: } LABELV $2037 line 4290 ADDRLP4 4 ADDRLP4 4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $2039 ADDRLP4 4 INDIRI4 ADDRFP4 0 INDIRP4 ADDP4 INDIRI1 CVII4 1 CNSTI4 0 NEI4 $2036 line 4296 ;4296: hash = (hash ^ (hash >> 10) ^ (hash >> 20)) & (KEYWORDHASH_SIZE-1); ADDRLP4 0 ADDRLP4 0 INDIRI4 ADDRLP4 0 INDIRI4 CNSTI4 10 RSHI4 BXORI4 ADDRLP4 0 INDIRI4 CNSTI4 20 RSHI4 BXORI4 CNSTI4 511 BANDI4 ASGNI4 line 4297 ;4297: return hash; ADDRLP4 0 INDIRI4 RETI4 LABELV $2035 endproc KeywordHash_Key 20 0 export KeywordHash_Add proc KeywordHash_Add 8 4 line 4300 ;4298:} ;4299: ;4300:void KeywordHash_Add(keywordHash_t *table[], keywordHash_t *key) { line 4303 ;4301: int hash; ;4302: ;4303: hash = KeywordHash_Key(key->keyword); ADDRFP4 4 INDIRP4 INDIRP4 ARGP4 ADDRLP4 4 ADDRGP4 KeywordHash_Key CALLI4 ASGNI4 ADDRLP4 0 ADDRLP4 4 INDIRI4 ASGNI4 line 4309 ;4304:/* ;4305: if (table[hash]) { ;4306: int collision = qtrue; ;4307: } ;4308:*/ ;4309: key->next = table[hash]; ADDRFP4 4 INDIRP4 CNSTI4 8 ADDP4 ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 ADDP4 INDIRP4 ASGNP4 line 4310 ;4310: table[hash] = key; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 ADDP4 ADDRFP4 4 INDIRP4 ASGNP4 line 4311 ;4311:} LABELV $2042 endproc KeywordHash_Add 8 4 export KeywordHash_Find proc KeywordHash_Find 16 8 line 4314 ;4312: ;4313:keywordHash_t *KeywordHash_Find(keywordHash_t *table[], char *keyword) ;4314:{ line 4318 ;4315: keywordHash_t *key; ;4316: int hash; ;4317: ;4318: hash = KeywordHash_Key(keyword); ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 8 ADDRGP4 KeywordHash_Key CALLI4 ASGNI4 ADDRLP4 4 ADDRLP4 8 INDIRI4 ASGNI4 line 4319 ;4319: for (key = table[hash]; key; key = key->next) { ADDRLP4 0 ADDRLP4 4 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 ADDP4 INDIRP4 ASGNP4 ADDRGP4 $2047 JUMPV LABELV $2044 line 4320 ;4320: if (!Q_stricmp(key->keyword, keyword)) ADDRLP4 0 INDIRP4 INDIRP4 ARGP4 ADDRFP4 4 INDIRP4 ARGP4 ADDRLP4 12 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 12 INDIRI4 CNSTI4 0 NEI4 $2048 line 4321 ;4321: return key; ADDRLP4 0 INDIRP4 RETP4 ADDRGP4 $2043 JUMPV LABELV $2048 line 4322 ;4322: } LABELV $2045 line 4319 ADDRLP4 0 ADDRLP4 0 INDIRP4 CNSTI4 8 ADDP4 INDIRP4 ASGNP4 LABELV $2047 ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $2044 line 4323 ;4323: return NULL; CNSTP4 0 RETP4 LABELV $2043 endproc KeywordHash_Find 16 8 export ItemParse_name proc ItemParse_name 4 8 line 4333 ;4324:} ;4325: ;4326:/* ;4327:=============== ;4328:Item Keyword Parse functions ;4329:=============== ;4330:*/ ;4331: ;4332:// name ;4333:qboolean ItemParse_name( itemDef_t *item, int handle ) { line 4334 ;4334: if (!PC_String_Parse(handle, &item->window.name)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 32 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_String_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2051 line 4335 ;4335: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2050 JUMPV LABELV $2051 line 4337 ;4336: } ;4337: return qtrue; CNSTI4 1 RETI4 LABELV $2050 endproc ItemParse_name 4 8 export ItemParse_focusSound proc ItemParse_focusSound 12 8 line 4341 ;4338:} ;4339: ;4340:// name ;4341:qboolean ItemParse_focusSound( itemDef_t *item, int handle ) { line 4343 ;4342: const char *temp; ;4343: if (!PC_String_Parse(handle, &temp)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 PC_String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2054 line 4344 ;4344: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2053 JUMPV LABELV $2054 line 4346 ;4345: } ;4346: item->focusSound = DC->registerSound(temp, qfalse); ADDRLP4 0 INDIRP4 ARGP4 CNSTI4 0 ARGI4 ADDRLP4 8 ADDRGP4 DC INDIRP4 CNSTI4 168 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRFP4 0 INDIRP4 CNSTI4 280 ADDP4 ADDRLP4 8 INDIRI4 ASGNI4 line 4347 ;4347: return qtrue; CNSTI4 1 RETI4 LABELV $2053 endproc ItemParse_focusSound 12 8 export ItemParse_text proc ItemParse_text 4 8 line 4352 ;4348:} ;4349: ;4350: ;4351:// text ;4352:qboolean ItemParse_text( itemDef_t *item, int handle ) { line 4353 ;4353: if (!PC_String_Parse(handle, &item->text)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_String_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2057 line 4354 ;4354: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2056 JUMPV LABELV $2057 line 4356 ;4355: } ;4356: return qtrue; CNSTI4 1 RETI4 LABELV $2056 endproc ItemParse_text 4 8 export ItemParse_group proc ItemParse_group 4 8 line 4360 ;4357:} ;4358: ;4359:// group ;4360:qboolean ItemParse_group( itemDef_t *item, int handle ) { line 4361 ;4361: if (!PC_String_Parse(handle, &item->window.group)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 36 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_String_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2060 line 4362 ;4362: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2059 JUMPV LABELV $2060 line 4364 ;4363: } ;4364: return qtrue; CNSTI4 1 RETI4 LABELV $2059 endproc ItemParse_group 4 8 export ItemParse_asset_model proc ItemParse_asset_model 20 8 line 4368 ;4365:} ;4366: ;4367:// asset_model ;4368:qboolean ItemParse_asset_model( itemDef_t *item, int handle ) { line 4371 ;4369: const char *temp; ;4370: modelDef_t *modelPtr; ;4371: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4372 ;4372: modelPtr = (modelDef_t*)item->typeData; ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4374 ;4373: ;4374: if (!PC_String_Parse(handle, &temp)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 8 ADDRGP4 PC_String_Parse CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 NEI4 $2063 line 4375 ;4375: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2062 JUMPV LABELV $2063 line 4377 ;4376: } ;4377: item->asset = DC->registerModel(temp); ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 12 ADDRGP4 DC INDIRP4 CNSTI4 28 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRFP4 0 INDIRP4 CNSTI4 232 ADDP4 ADDRLP4 12 INDIRI4 ASGNI4 line 4378 ;4378: modelPtr->angle = rand() % 360; ADDRLP4 16 ADDRGP4 rand CALLI4 ASGNI4 ADDRLP4 4 INDIRP4 ADDRLP4 16 INDIRI4 CNSTI4 360 MODI4 ASGNI4 line 4379 ;4379: return qtrue; CNSTI4 1 RETI4 LABELV $2062 endproc ItemParse_asset_model 20 8 export ItemParse_asset_shader proc ItemParse_asset_shader 12 8 line 4383 ;4380:} ;4381: ;4382:// asset_shader ;4383:qboolean ItemParse_asset_shader( itemDef_t *item, int handle ) { line 4386 ;4384: const char *temp; ;4385: ;4386: if (!PC_String_Parse(handle, &temp)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 PC_String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2066 line 4387 ;4387: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2065 JUMPV LABELV $2066 line 4389 ;4388: } ;4389: item->asset = DC->registerShaderNoMip(temp); ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 8 ADDRGP4 DC INDIRP4 INDIRP4 CALLI4 ASGNI4 ADDRFP4 0 INDIRP4 CNSTI4 232 ADDP4 ADDRLP4 8 INDIRI4 ASGNI4 line 4390 ;4390: return qtrue; CNSTI4 1 RETI4 LABELV $2065 endproc ItemParse_asset_shader 12 8 export ItemParse_model_origin proc ItemParse_model_origin 16 8 line 4394 ;4391:} ;4392: ;4393:// model_origin ;4394:qboolean ItemParse_model_origin( itemDef_t *item, int handle ) { line 4396 ;4395: modelDef_t *modelPtr; ;4396: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4397 ;4397: modelPtr = (modelDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4399 ;4398: ;4399: if (PC_Float_Parse(handle, &modelPtr->origin[0])) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $2069 line 4400 ;4400: if (PC_Float_Parse(handle, &modelPtr->origin[1])) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 8 ADDP4 ARGP4 ADDRLP4 8 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 EQI4 $2071 line 4401 ;4401: if (PC_Float_Parse(handle, &modelPtr->origin[2])) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 ARGP4 ADDRLP4 12 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 12 INDIRI4 CNSTI4 0 EQI4 $2073 line 4402 ;4402: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $2068 JUMPV LABELV $2073 line 4404 ;4403: } ;4404: } LABELV $2071 line 4405 ;4405: } LABELV $2069 line 4406 ;4406: return qfalse; CNSTI4 0 RETI4 LABELV $2068 endproc ItemParse_model_origin 16 8 export ItemParse_model_fovx proc ItemParse_model_fovx 8 8 line 4410 ;4407:} ;4408: ;4409:// model_fovx ;4410:qboolean ItemParse_model_fovx( itemDef_t *item, int handle ) { line 4412 ;4411: modelDef_t *modelPtr; ;4412: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4413 ;4413: modelPtr = (modelDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4415 ;4414: ;4415: if (!PC_Float_Parse(handle, &modelPtr->fov_x)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2076 line 4416 ;4416: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2075 JUMPV LABELV $2076 line 4418 ;4417: } ;4418: return qtrue; CNSTI4 1 RETI4 LABELV $2075 endproc ItemParse_model_fovx 8 8 export ItemParse_model_fovy proc ItemParse_model_fovy 8 8 line 4422 ;4419:} ;4420: ;4421:// model_fovy ;4422:qboolean ItemParse_model_fovy( itemDef_t *item, int handle ) { line 4424 ;4423: modelDef_t *modelPtr; ;4424: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4425 ;4425: modelPtr = (modelDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4427 ;4426: ;4427: if (!PC_Float_Parse(handle, &modelPtr->fov_y)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2079 line 4428 ;4428: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2078 JUMPV LABELV $2079 line 4430 ;4429: } ;4430: return qtrue; CNSTI4 1 RETI4 LABELV $2078 endproc ItemParse_model_fovy 8 8 export ItemParse_model_rotation proc ItemParse_model_rotation 8 8 line 4434 ;4431:} ;4432: ;4433:// model_rotation ;4434:qboolean ItemParse_model_rotation( itemDef_t *item, int handle ) { line 4436 ;4435: modelDef_t *modelPtr; ;4436: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4437 ;4437: modelPtr = (modelDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4439 ;4438: ;4439: if (!PC_Int_Parse(handle, &modelPtr->rotationSpeed)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2082 line 4440 ;4440: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2081 JUMPV LABELV $2082 line 4442 ;4441: } ;4442: return qtrue; CNSTI4 1 RETI4 LABELV $2081 endproc ItemParse_model_rotation 8 8 export ItemParse_model_angle proc ItemParse_model_angle 8 8 line 4446 ;4443:} ;4444: ;4445:// model_angle ;4446:qboolean ItemParse_model_angle( itemDef_t *item, int handle ) { line 4448 ;4447: modelDef_t *modelPtr; ;4448: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4449 ;4449: modelPtr = (modelDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4451 ;4450: ;4451: if (!PC_Int_Parse(handle, &modelPtr->angle)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2085 line 4452 ;4452: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2084 JUMPV LABELV $2085 line 4454 ;4453: } ;4454: return qtrue; CNSTI4 1 RETI4 LABELV $2084 endproc ItemParse_model_angle 8 8 export ItemParse_rect proc ItemParse_rect 4 8 line 4458 ;4455:} ;4456: ;4457:// rect ;4458:qboolean ItemParse_rect( itemDef_t *item, int handle ) { line 4459 ;4459: if (!PC_Rect_Parse(handle, &item->window.rectClient)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 16 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Rect_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2088 line 4460 ;4460: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2087 JUMPV LABELV $2088 line 4462 ;4461: } ;4462: return qtrue; CNSTI4 1 RETI4 LABELV $2087 endproc ItemParse_rect 4 8 export ItemParse_style proc ItemParse_style 4 8 line 4466 ;4463:} ;4464: ;4465:// style ;4466:qboolean ItemParse_style( itemDef_t *item, int handle ) { line 4467 ;4467: if (!PC_Int_Parse(handle, &item->window.style)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 48 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2091 line 4468 ;4468: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2090 JUMPV LABELV $2091 line 4470 ;4469: } ;4470: return qtrue; CNSTI4 1 RETI4 LABELV $2090 endproc ItemParse_style 4 8 export ItemParse_decoration proc ItemParse_decoration 4 0 line 4474 ;4471:} ;4472: ;4473:// decoration ;4474:qboolean ItemParse_decoration( itemDef_t *item, int handle ) { line 4475 ;4475: item->window.flags |= WINDOW_DECORATION; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 16 BORI4 ASGNI4 line 4476 ;4476: return qtrue; CNSTI4 1 RETI4 LABELV $2093 endproc ItemParse_decoration 4 0 export ItemParse_notselectable proc ItemParse_notselectable 4 4 line 4480 ;4477:} ;4478: ;4479:// notselectable ;4480:qboolean ItemParse_notselectable( itemDef_t *item, int handle ) { line 4482 ;4481: listBoxDef_t *listPtr; ;4482: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4483 ;4483: listPtr = (listBoxDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4484 ;4484: if (item->type == ITEM_TYPE_LISTBOX && listPtr) { ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 6 NEI4 $2095 ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $2095 line 4485 ;4485: listPtr->notselectable = qtrue; ADDRLP4 0 INDIRP4 CNSTI4 228 ADDP4 CNSTI4 1 ASGNI4 line 4486 ;4486: } LABELV $2095 line 4487 ;4487: return qtrue; CNSTI4 1 RETI4 LABELV $2094 endproc ItemParse_notselectable 4 4 export ItemParse_wrapped proc ItemParse_wrapped 4 0 line 4491 ;4488:} ;4489: ;4490:// manually wrapped ;4491:qboolean ItemParse_wrapped( itemDef_t *item, int handle ) { line 4492 ;4492: item->window.flags |= WINDOW_WRAPPED; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 262144 BORI4 ASGNI4 line 4493 ;4493: return qtrue; CNSTI4 1 RETI4 LABELV $2097 endproc ItemParse_wrapped 4 0 export ItemParse_autowrapped proc ItemParse_autowrapped 4 0 line 4497 ;4494:} ;4495: ;4496:// auto wrapped ;4497:qboolean ItemParse_autowrapped( itemDef_t *item, int handle ) { line 4498 ;4498: item->window.flags |= WINDOW_AUTOWRAPPED; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 524288 BORI4 ASGNI4 line 4499 ;4499: return qtrue; CNSTI4 1 RETI4 LABELV $2098 endproc ItemParse_autowrapped 4 0 export ItemParse_horizontalscroll proc ItemParse_horizontalscroll 4 0 line 4504 ;4500:} ;4501: ;4502: ;4503:// horizontalscroll ;4504:qboolean ItemParse_horizontalscroll( itemDef_t *item, int handle ) { line 4505 ;4505: item->window.flags |= WINDOW_HORIZONTAL; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 0 INDIRP4 ADDRLP4 0 INDIRP4 INDIRI4 CNSTI4 1024 BORI4 ASGNI4 line 4506 ;4506: return qtrue; CNSTI4 1 RETI4 LABELV $2099 endproc ItemParse_horizontalscroll 4 0 export ItemParse_type proc ItemParse_type 4 8 line 4510 ;4507:} ;4508: ;4509:// type ;4510:qboolean ItemParse_type( itemDef_t *item, int handle ) { line 4511 ;4511: if (!PC_Int_Parse(handle, &item->type)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2101 line 4512 ;4512: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2100 JUMPV LABELV $2101 line 4514 ;4513: } ;4514: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4515 ;4515: return qtrue; CNSTI4 1 RETI4 LABELV $2100 endproc ItemParse_type 4 8 export ItemParse_elementwidth proc ItemParse_elementwidth 8 8 line 4520 ;4516:} ;4517: ;4518:// elementwidth, used for listbox image elements ;4519:// uses textalignx for storage ;4520:qboolean ItemParse_elementwidth( itemDef_t *item, int handle ) { line 4523 ;4521: listBoxDef_t *listPtr; ;4522: ;4523: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4524 ;4524: listPtr = (listBoxDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4525 ;4525: if (!PC_Float_Parse(handle, &listPtr->elementWidth)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2104 line 4526 ;4526: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2103 JUMPV LABELV $2104 line 4528 ;4527: } ;4528: return qtrue; CNSTI4 1 RETI4 LABELV $2103 endproc ItemParse_elementwidth 8 8 export ItemParse_elementheight proc ItemParse_elementheight 8 8 line 4533 ;4529:} ;4530: ;4531:// elementheight, used for listbox image elements ;4532:// uses textaligny for storage ;4533:qboolean ItemParse_elementheight( itemDef_t *item, int handle ) { line 4536 ;4534: listBoxDef_t *listPtr; ;4535: ;4536: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4537 ;4537: listPtr = (listBoxDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4538 ;4538: if (!PC_Float_Parse(handle, &listPtr->elementHeight)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2107 line 4539 ;4539: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2106 JUMPV LABELV $2107 line 4541 ;4540: } ;4541: return qtrue; CNSTI4 1 RETI4 LABELV $2106 endproc ItemParse_elementheight 8 8 export ItemParse_feeder proc ItemParse_feeder 4 8 line 4545 ;4542:} ;4543: ;4544:// feeder ;4545:qboolean ItemParse_feeder( itemDef_t *item, int handle ) { line 4546 ;4546: if (!PC_Float_Parse(handle, &item->special)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 528 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2110 line 4547 ;4547: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2109 JUMPV LABELV $2110 line 4549 ;4548: } ;4549: return qtrue; CNSTI4 1 RETI4 LABELV $2109 endproc ItemParse_feeder 4 8 export ItemParse_elementtype proc ItemParse_elementtype 8 8 line 4554 ;4550:} ;4551: ;4552:// elementtype, used to specify what type of elements a listbox contains ;4553:// uses textstyle for storage ;4554:qboolean ItemParse_elementtype( itemDef_t *item, int handle ) { line 4557 ;4555: listBoxDef_t *listPtr; ;4556: ;4557: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4558 ;4558: if (!item->typeData) ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $2113 line 4559 ;4559: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2112 JUMPV LABELV $2113 line 4560 ;4560: listPtr = (listBoxDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4561 ;4561: if (!PC_Int_Parse(handle, &listPtr->elementStyle)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 24 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2115 line 4562 ;4562: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2112 JUMPV LABELV $2115 line 4564 ;4563: } ;4564: return qtrue; CNSTI4 1 RETI4 LABELV $2112 endproc ItemParse_elementtype 8 8 export ItemParse_columns proc ItemParse_columns 40 8 line 4568 ;4565:} ;4566: ;4567:// columns sets a number of columns and an x pos and width per.. ;4568:qboolean ItemParse_columns( itemDef_t *item, int handle ) { line 4572 ;4569: int num, i; ;4570: listBoxDef_t *listPtr; ;4571: ;4572: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4573 ;4573: if (!item->typeData) ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $2118 line 4574 ;4574: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2117 JUMPV LABELV $2118 line 4575 ;4575: listPtr = (listBoxDef_t*)item->typeData; ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4576 ;4576: if (PC_Int_Parse(handle, &num)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 8 ARGP4 ADDRLP4 12 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 12 INDIRI4 CNSTI4 0 EQI4 $2120 line 4577 ;4577: if (num > MAX_LB_COLUMNS) { ADDRLP4 8 INDIRI4 CNSTI4 16 LEI4 $2122 line 4578 ;4578: num = MAX_LB_COLUMNS; ADDRLP4 8 CNSTI4 16 ASGNI4 line 4579 ;4579: } LABELV $2122 line 4580 ;4580: listPtr->numColumns = num; ADDRLP4 4 INDIRP4 CNSTI4 28 ADDP4 ADDRLP4 8 INDIRI4 ASGNI4 line 4581 ;4581: for (i = 0; i < num; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $2127 JUMPV LABELV $2124 line 4584 ;4582: int pos, width, maxChars; ;4583: ;4584: if (PC_Int_Parse(handle, &pos) && PC_Int_Parse(handle, &width) && PC_Int_Parse(handle, &maxChars)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 16 ARGP4 ADDRLP4 28 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 28 INDIRI4 CNSTI4 0 EQI4 $2128 ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 20 ARGP4 ADDRLP4 32 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 32 INDIRI4 CNSTI4 0 EQI4 $2128 ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 24 ARGP4 ADDRLP4 36 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 36 INDIRI4 CNSTI4 0 EQI4 $2128 line 4585 ;4585: listPtr->columnInfo[i].pos = pos; CNSTI4 12 ADDRLP4 0 INDIRI4 MULI4 ADDRLP4 4 INDIRP4 CNSTI4 32 ADDP4 ADDP4 ADDRLP4 16 INDIRI4 ASGNI4 line 4586 ;4586: listPtr->columnInfo[i].width = width; CNSTI4 12 ADDRLP4 0 INDIRI4 MULI4 ADDRLP4 4 INDIRP4 CNSTI4 32 ADDP4 ADDP4 CNSTI4 4 ADDP4 ADDRLP4 20 INDIRI4 ASGNI4 line 4587 ;4587: listPtr->columnInfo[i].maxChars = maxChars; CNSTI4 12 ADDRLP4 0 INDIRI4 MULI4 ADDRLP4 4 INDIRP4 CNSTI4 32 ADDP4 ADDP4 CNSTI4 8 ADDP4 ADDRLP4 24 INDIRI4 ASGNI4 line 4588 ;4588: } else { ADDRGP4 $2129 JUMPV LABELV $2128 line 4589 ;4589: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2117 JUMPV LABELV $2129 line 4591 ;4590: } ;4591: } LABELV $2125 line 4581 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $2127 ADDRLP4 0 INDIRI4 ADDRLP4 8 INDIRI4 LTI4 $2124 line 4592 ;4592: } else { ADDRGP4 $2121 JUMPV LABELV $2120 line 4593 ;4593: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2117 JUMPV LABELV $2121 line 4595 ;4594: } ;4595: return qtrue; CNSTI4 1 RETI4 LABELV $2117 endproc ItemParse_columns 40 8 export ItemParse_border proc ItemParse_border 4 8 line 4598 ;4596:} ;4597: ;4598:qboolean ItemParse_border( itemDef_t *item, int handle ) { line 4599 ;4599: if (!PC_Int_Parse(handle, &item->window.border)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 52 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2131 line 4600 ;4600: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2130 JUMPV LABELV $2131 line 4602 ;4601: } ;4602: return qtrue; CNSTI4 1 RETI4 LABELV $2130 endproc ItemParse_border 4 8 export ItemParse_bordersize proc ItemParse_bordersize 4 8 line 4605 ;4603:} ;4604: ;4605:qboolean ItemParse_bordersize( itemDef_t *item, int handle ) { line 4606 ;4606: if (!PC_Float_Parse(handle, &item->window.borderSize)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 64 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2134 line 4607 ;4607: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2133 JUMPV LABELV $2134 line 4609 ;4608: } ;4609: return qtrue; CNSTI4 1 RETI4 LABELV $2133 endproc ItemParse_bordersize 4 8 export ItemParse_visible proc ItemParse_visible 12 8 line 4612 ;4610:} ;4611: ;4612:qboolean ItemParse_visible( itemDef_t *item, int handle ) { line 4615 ;4613: int i; ;4614: ;4615: if (!PC_Int_Parse(handle, &i)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2137 line 4616 ;4616: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2136 JUMPV LABELV $2137 line 4618 ;4617: } ;4618: if (i) { ADDRLP4 0 INDIRI4 CNSTI4 0 EQI4 $2139 line 4619 ;4619: item->window.flags |= WINDOW_VISIBLE; ADDRLP4 8 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 8 INDIRP4 ADDRLP4 8 INDIRP4 INDIRI4 CNSTI4 4 BORI4 ASGNI4 line 4620 ;4620: } LABELV $2139 line 4621 ;4621: return qtrue; CNSTI4 1 RETI4 LABELV $2136 endproc ItemParse_visible 12 8 export ItemParse_ownerdraw proc ItemParse_ownerdraw 4 8 line 4624 ;4622:} ;4623: ;4624:qboolean ItemParse_ownerdraw( itemDef_t *item, int handle ) { line 4625 ;4625: if (!PC_Int_Parse(handle, &item->window.ownerDraw)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 56 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2142 line 4626 ;4626: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2141 JUMPV LABELV $2142 line 4628 ;4627: } ;4628: item->type = ITEM_TYPE_OWNERDRAW; ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 CNSTI4 8 ASGNI4 line 4629 ;4629: return qtrue; CNSTI4 1 RETI4 LABELV $2141 endproc ItemParse_ownerdraw 4 8 export ItemParse_align proc ItemParse_align 4 8 line 4632 ;4630:} ;4631: ;4632:qboolean ItemParse_align( itemDef_t *item, int handle ) { line 4633 ;4633: if (!PC_Int_Parse(handle, &item->alignment)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 200 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2145 line 4634 ;4634: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2144 JUMPV LABELV $2145 line 4636 ;4635: } ;4636: return qtrue; CNSTI4 1 RETI4 LABELV $2144 endproc ItemParse_align 4 8 export ItemParse_textalign proc ItemParse_textalign 4 8 line 4639 ;4637:} ;4638: ;4639:qboolean ItemParse_textalign( itemDef_t *item, int handle ) { line 4640 ;4640: if (!PC_Int_Parse(handle, &item->textalignment)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 204 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2148 line 4641 ;4641: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2147 JUMPV LABELV $2148 line 4643 ;4642: } ;4643: return qtrue; CNSTI4 1 RETI4 LABELV $2147 endproc ItemParse_textalign 4 8 export ItemParse_textalignx proc ItemParse_textalignx 4 8 line 4646 ;4644:} ;4645: ;4646:qboolean ItemParse_textalignx( itemDef_t *item, int handle ) { line 4647 ;4647: if (!PC_Float_Parse(handle, &item->textalignx)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 208 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2151 line 4648 ;4648: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2150 JUMPV LABELV $2151 line 4650 ;4649: } ;4650: return qtrue; CNSTI4 1 RETI4 LABELV $2150 endproc ItemParse_textalignx 4 8 export ItemParse_textaligny proc ItemParse_textaligny 4 8 line 4653 ;4651:} ;4652: ;4653:qboolean ItemParse_textaligny( itemDef_t *item, int handle ) { line 4654 ;4654: if (!PC_Float_Parse(handle, &item->textaligny)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 212 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2154 line 4655 ;4655: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2153 JUMPV LABELV $2154 line 4657 ;4656: } ;4657: return qtrue; CNSTI4 1 RETI4 LABELV $2153 endproc ItemParse_textaligny 4 8 export ItemParse_textscale proc ItemParse_textscale 4 8 line 4660 ;4658:} ;4659: ;4660:qboolean ItemParse_textscale( itemDef_t *item, int handle ) { line 4661 ;4661: if (!PC_Float_Parse(handle, &item->textscale)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 216 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2157 line 4662 ;4662: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2156 JUMPV LABELV $2157 line 4664 ;4663: } ;4664: return qtrue; CNSTI4 1 RETI4 LABELV $2156 endproc ItemParse_textscale 4 8 export ItemParse_textstyle proc ItemParse_textstyle 4 8 line 4667 ;4665:} ;4666: ;4667:qboolean ItemParse_textstyle( itemDef_t *item, int handle ) { line 4668 ;4668: if (!PC_Int_Parse(handle, &item->textStyle)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 220 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2160 line 4669 ;4669: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2159 JUMPV LABELV $2160 line 4671 ;4670: } ;4671: return qtrue; CNSTI4 1 RETI4 LABELV $2159 endproc ItemParse_textstyle 4 8 export ItemParse_backcolor proc ItemParse_backcolor 12 8 line 4674 ;4672:} ;4673: ;4674:qboolean ItemParse_backcolor( itemDef_t *item, int handle ) { line 4678 ;4675: int i; ;4676: float f; ;4677: ;4678: for (i = 0; i < 4; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 LABELV $2163 line 4679 ;4679: if (!PC_Float_Parse(handle, &f)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 4 ARGP4 ADDRLP4 8 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 NEI4 $2167 line 4680 ;4680: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2162 JUMPV LABELV $2167 line 4682 ;4681: } ;4682: item->window.backColor[i] = f; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 128 ADDP4 ADDP4 ADDRLP4 4 INDIRF4 ASGNF4 line 4683 ;4683: } LABELV $2164 line 4678 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 4 LTI4 $2163 line 4684 ;4684: return qtrue; CNSTI4 1 RETI4 LABELV $2162 endproc ItemParse_backcolor 12 8 export ItemParse_forecolor proc ItemParse_forecolor 16 8 line 4687 ;4685:} ;4686: ;4687:qboolean ItemParse_forecolor( itemDef_t *item, int handle ) { line 4691 ;4688: int i; ;4689: float f; ;4690: ;4691: for (i = 0; i < 4; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 LABELV $2170 line 4692 ;4692: if (!PC_Float_Parse(handle, &f)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 4 ARGP4 ADDRLP4 8 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 NEI4 $2174 line 4693 ;4693: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2169 JUMPV LABELV $2174 line 4695 ;4694: } ;4695: item->window.foreColor[i] = f; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 112 ADDP4 ADDP4 ADDRLP4 4 INDIRF4 ASGNF4 line 4696 ;4696: item->window.flags |= WINDOW_FORECOLORSET; ADDRLP4 12 ADDRFP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 12 INDIRP4 ADDRLP4 12 INDIRP4 INDIRI4 CNSTI4 512 BORI4 ASGNI4 line 4697 ;4697: } LABELV $2171 line 4691 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 4 LTI4 $2170 line 4698 ;4698: return qtrue; CNSTI4 1 RETI4 LABELV $2169 endproc ItemParse_forecolor 16 8 export ItemParse_bordercolor proc ItemParse_bordercolor 12 8 line 4701 ;4699:} ;4700: ;4701:qboolean ItemParse_bordercolor( itemDef_t *item, int handle ) { line 4705 ;4702: int i; ;4703: float f; ;4704: ;4705: for (i = 0; i < 4; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 LABELV $2177 line 4706 ;4706: if (!PC_Float_Parse(handle, &f)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 4 ARGP4 ADDRLP4 8 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 NEI4 $2181 line 4707 ;4707: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2176 JUMPV LABELV $2181 line 4709 ;4708: } ;4709: item->window.borderColor[i] = f; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 144 ADDP4 ADDP4 ADDRLP4 4 INDIRF4 ASGNF4 line 4710 ;4710: } LABELV $2178 line 4705 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 4 LTI4 $2177 line 4711 ;4711: return qtrue; CNSTI4 1 RETI4 LABELV $2176 endproc ItemParse_bordercolor 12 8 export ItemParse_outlinecolor proc ItemParse_outlinecolor 4 8 line 4714 ;4712:} ;4713: ;4714:qboolean ItemParse_outlinecolor( itemDef_t *item, int handle ) { line 4715 ;4715: if (!PC_Color_Parse(handle, &item->window.outlineColor)){ ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 160 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Color_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2184 line 4716 ;4716: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2183 JUMPV LABELV $2184 line 4718 ;4717: } ;4718: return qtrue; CNSTI4 1 RETI4 LABELV $2183 endproc ItemParse_outlinecolor 4 8 export ItemParse_background proc ItemParse_background 12 8 line 4721 ;4719:} ;4720: ;4721:qboolean ItemParse_background( itemDef_t *item, int handle ) { line 4724 ;4722: const char *temp; ;4723: ;4724: if (!PC_String_Parse(handle, &temp)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 PC_String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2187 line 4725 ;4725: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2186 JUMPV LABELV $2187 line 4727 ;4726: } ;4727: item->window.background = DC->registerShaderNoMip(temp); ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 8 ADDRGP4 DC INDIRP4 INDIRP4 CALLI4 ASGNI4 ADDRFP4 0 INDIRP4 CNSTI4 176 ADDP4 ADDRLP4 8 INDIRI4 ASGNI4 line 4728 ;4728: return qtrue; CNSTI4 1 RETI4 LABELV $2186 endproc ItemParse_background 12 8 export ItemParse_cinematic proc ItemParse_cinematic 4 8 line 4731 ;4729:} ;4730: ;4731:qboolean ItemParse_cinematic( itemDef_t *item, int handle ) { line 4732 ;4732: if (!PC_String_Parse(handle, &item->window.cinematicName)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 40 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_String_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2190 line 4733 ;4733: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2189 JUMPV LABELV $2190 line 4735 ;4734: } ;4735: return qtrue; CNSTI4 1 RETI4 LABELV $2189 endproc ItemParse_cinematic 4 8 export ItemParse_doubleClick proc ItemParse_doubleClick 8 8 line 4738 ;4736:} ;4737: ;4738:qboolean ItemParse_doubleClick( itemDef_t *item, int handle ) { line 4741 ;4739: listBoxDef_t *listPtr; ;4740: ;4741: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4742 ;4742: if (!item->typeData) { ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $2193 line 4743 ;4743: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2192 JUMPV LABELV $2193 line 4746 ;4744: } ;4745: ;4746: listPtr = (listBoxDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4748 ;4747: ;4748: if (!PC_Script_Parse(handle, &listPtr->doubleClick)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 224 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Script_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2195 line 4749 ;4749: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2192 JUMPV LABELV $2195 line 4751 ;4750: } ;4751: return qtrue; CNSTI4 1 RETI4 LABELV $2192 endproc ItemParse_doubleClick 8 8 export ItemParse_onFocus proc ItemParse_onFocus 4 8 line 4754 ;4752:} ;4753: ;4754:qboolean ItemParse_onFocus( itemDef_t *item, int handle ) { line 4755 ;4755: if (!PC_Script_Parse(handle, &item->onFocus)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 256 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Script_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2198 line 4756 ;4756: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2197 JUMPV LABELV $2198 line 4758 ;4757: } ;4758: return qtrue; CNSTI4 1 RETI4 LABELV $2197 endproc ItemParse_onFocus 4 8 export ItemParse_leaveFocus proc ItemParse_leaveFocus 4 8 line 4761 ;4759:} ;4760: ;4761:qboolean ItemParse_leaveFocus( itemDef_t *item, int handle ) { line 4762 ;4762: if (!PC_Script_Parse(handle, &item->leaveFocus)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Script_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2201 line 4763 ;4763: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2200 JUMPV LABELV $2201 line 4765 ;4764: } ;4765: return qtrue; CNSTI4 1 RETI4 LABELV $2200 endproc ItemParse_leaveFocus 4 8 export ItemParse_mouseEnter proc ItemParse_mouseEnter 4 8 line 4768 ;4766:} ;4767: ;4768:qboolean ItemParse_mouseEnter( itemDef_t *item, int handle ) { line 4769 ;4769: if (!PC_Script_Parse(handle, &item->mouseEnter)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 244 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Script_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2204 line 4770 ;4770: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2203 JUMPV LABELV $2204 line 4772 ;4771: } ;4772: return qtrue; CNSTI4 1 RETI4 LABELV $2203 endproc ItemParse_mouseEnter 4 8 export ItemParse_mouseExit proc ItemParse_mouseExit 4 8 line 4775 ;4773:} ;4774: ;4775:qboolean ItemParse_mouseExit( itemDef_t *item, int handle ) { line 4776 ;4776: if (!PC_Script_Parse(handle, &item->mouseExit)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 248 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Script_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2207 line 4777 ;4777: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2206 JUMPV LABELV $2207 line 4779 ;4778: } ;4779: return qtrue; CNSTI4 1 RETI4 LABELV $2206 endproc ItemParse_mouseExit 4 8 export ItemParse_mouseEnterText proc ItemParse_mouseEnterText 4 8 line 4782 ;4780:} ;4781: ;4782:qboolean ItemParse_mouseEnterText( itemDef_t *item, int handle ) { line 4783 ;4783: if (!PC_Script_Parse(handle, &item->mouseEnterText)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 236 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Script_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2210 line 4784 ;4784: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2209 JUMPV LABELV $2210 line 4786 ;4785: } ;4786: return qtrue; CNSTI4 1 RETI4 LABELV $2209 endproc ItemParse_mouseEnterText 4 8 export ItemParse_mouseExitText proc ItemParse_mouseExitText 4 8 line 4789 ;4787:} ;4788: ;4789:qboolean ItemParse_mouseExitText( itemDef_t *item, int handle ) { line 4790 ;4790: if (!PC_Script_Parse(handle, &item->mouseExitText)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 240 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Script_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2213 line 4791 ;4791: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2212 JUMPV LABELV $2213 line 4793 ;4792: } ;4793: return qtrue; CNSTI4 1 RETI4 LABELV $2212 endproc ItemParse_mouseExitText 4 8 export ItemParse_action proc ItemParse_action 4 8 line 4796 ;4794:} ;4795: ;4796:qboolean ItemParse_action( itemDef_t *item, int handle ) { line 4797 ;4797: if (!PC_Script_Parse(handle, &item->action)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 252 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Script_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2216 line 4798 ;4798: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2215 JUMPV LABELV $2216 line 4800 ;4799: } ;4800: return qtrue; CNSTI4 1 RETI4 LABELV $2215 endproc ItemParse_action 4 8 export ItemParse_special proc ItemParse_special 4 8 line 4803 ;4801:} ;4802: ;4803:qboolean ItemParse_special( itemDef_t *item, int handle ) { line 4804 ;4804: if (!PC_Float_Parse(handle, &item->special)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 528 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2219 line 4805 ;4805: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2218 JUMPV LABELV $2219 line 4807 ;4806: } ;4807: return qtrue; CNSTI4 1 RETI4 LABELV $2218 endproc ItemParse_special 4 8 export ItemParse_cvarTest proc ItemParse_cvarTest 4 8 line 4810 ;4808:} ;4809: ;4810:qboolean ItemParse_cvarTest( itemDef_t *item, int handle ) { line 4811 ;4811: if (!PC_String_Parse(handle, &item->cvarTest)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 268 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_String_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 NEI4 $2222 line 4812 ;4812: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2221 JUMPV LABELV $2222 line 4814 ;4813: } ;4814: return qtrue; CNSTI4 1 RETI4 LABELV $2221 endproc ItemParse_cvarTest 4 8 export ItemParse_cvar proc ItemParse_cvar 8 8 line 4817 ;4815:} ;4816: ;4817:qboolean ItemParse_cvar( itemDef_t *item, int handle ) { line 4820 ;4818: editFieldDef_t *editPtr; ;4819: ;4820: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4821 ;4821: if (!PC_String_Parse(handle, &item->cvar)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2225 line 4822 ;4822: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2224 JUMPV LABELV $2225 line 4824 ;4823: } ;4824: if (item->typeData) { ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $2227 line 4825 ;4825: editPtr = (editFieldDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4826 ;4826: editPtr->minVal = -1; ADDRLP4 0 INDIRP4 CNSTF4 3212836864 ASGNF4 line 4827 ;4827: editPtr->maxVal = -1; ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 CNSTF4 3212836864 ASGNF4 line 4828 ;4828: editPtr->defVal = -1; ADDRLP4 0 INDIRP4 CNSTI4 8 ADDP4 CNSTF4 3212836864 ASGNF4 line 4829 ;4829: } LABELV $2227 line 4830 ;4830: return qtrue; CNSTI4 1 RETI4 LABELV $2224 endproc ItemParse_cvar 8 8 export ItemParse_maxChars proc ItemParse_maxChars 12 8 line 4833 ;4831:} ;4832: ;4833:qboolean ItemParse_maxChars( itemDef_t *item, int handle ) { line 4837 ;4834: editFieldDef_t *editPtr; ;4835: int maxChars; ;4836: ;4837: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4838 ;4838: if (!item->typeData) ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $2230 line 4839 ;4839: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2229 JUMPV LABELV $2230 line 4841 ;4840: ;4841: if (!PC_Int_Parse(handle, &maxChars)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 4 ARGP4 ADDRLP4 8 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 NEI4 $2232 line 4842 ;4842: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2229 JUMPV LABELV $2232 line 4844 ;4843: } ;4844: editPtr = (editFieldDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4845 ;4845: editPtr->maxChars = maxChars; ADDRLP4 0 INDIRP4 CNSTI4 16 ADDP4 ADDRLP4 4 INDIRI4 ASGNI4 line 4846 ;4846: return qtrue; CNSTI4 1 RETI4 LABELV $2229 endproc ItemParse_maxChars 12 8 export ItemParse_maxPaintChars proc ItemParse_maxPaintChars 12 8 line 4849 ;4847:} ;4848: ;4849:qboolean ItemParse_maxPaintChars( itemDef_t *item, int handle ) { line 4853 ;4850: editFieldDef_t *editPtr; ;4851: int maxChars; ;4852: ;4853: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4854 ;4854: if (!item->typeData) ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $2235 line 4855 ;4855: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2234 JUMPV LABELV $2235 line 4857 ;4856: ;4857: if (!PC_Int_Parse(handle, &maxChars)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 4 ARGP4 ADDRLP4 8 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 NEI4 $2237 line 4858 ;4858: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2234 JUMPV LABELV $2237 line 4860 ;4859: } ;4860: editPtr = (editFieldDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4861 ;4861: editPtr->maxPaintChars = maxChars; ADDRLP4 0 INDIRP4 CNSTI4 20 ADDP4 ADDRLP4 4 INDIRI4 ASGNI4 line 4862 ;4862: return qtrue; CNSTI4 1 RETI4 LABELV $2234 endproc ItemParse_maxPaintChars 12 8 export ItemParse_cvarFloat proc ItemParse_cvarFloat 20 8 line 4867 ;4863:} ;4864: ;4865: ;4866: ;4867:qboolean ItemParse_cvarFloat( itemDef_t *item, int handle ) { line 4870 ;4868: editFieldDef_t *editPtr; ;4869: ;4870: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4871 ;4871: if (!item->typeData) ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $2240 line 4872 ;4872: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2239 JUMPV LABELV $2240 line 4873 ;4873: editPtr = (editFieldDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4874 ;4874: if (PC_String_Parse(handle, &item->cvar) && ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 264 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $2242 ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 8 ADDP4 ARGP4 ADDRLP4 8 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 EQI4 $2242 ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 12 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 12 INDIRI4 CNSTI4 0 EQI4 $2242 ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 ARGP4 ADDRLP4 16 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 16 INDIRI4 CNSTI4 0 EQI4 $2242 line 4877 ;4875: PC_Float_Parse(handle, &editPtr->defVal) && ;4876: PC_Float_Parse(handle, &editPtr->minVal) && ;4877: PC_Float_Parse(handle, &editPtr->maxVal)) { line 4878 ;4878: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $2239 JUMPV LABELV $2242 line 4880 ;4879: } ;4880: return qfalse; CNSTI4 0 RETI4 LABELV $2239 endproc ItemParse_cvarFloat 20 8 export ItemParse_cvarStrList proc ItemParse_cvarStrList 1068 8 line 4883 ;4881:} ;4882: ;4883:qboolean ItemParse_cvarStrList( itemDef_t *item, int handle ) { line 4888 ;4884: pc_token_t token; ;4885: multiDef_t *multiPtr; ;4886: int pass; ;4887: ;4888: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4889 ;4889: if (!item->typeData) ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $2245 line 4890 ;4890: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2244 JUMPV LABELV $2245 line 4891 ;4891: multiPtr = (multiDef_t*)item->typeData; ADDRLP4 1040 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4892 ;4892: multiPtr->count = 0; ADDRLP4 1040 INDIRP4 CNSTI4 384 ADDP4 CNSTI4 0 ASGNI4 line 4893 ;4893: multiPtr->strDef = qtrue; ADDRLP4 1040 INDIRP4 CNSTI4 388 ADDP4 CNSTI4 1 ASGNI4 line 4895 ;4894: ;4895: if (!trap_PC_ReadToken(handle, &token)) ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 1048 ADDRGP4 trap_PC_ReadToken CALLI4 ASGNI4 ADDRLP4 1048 INDIRI4 CNSTI4 0 NEI4 $2247 line 4896 ;4896: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2244 JUMPV LABELV $2247 line 4897 ;4897: if (*token.string != '{') { ADDRLP4 0+16 INDIRI1 CVII4 1 CNSTI4 123 EQI4 $2249 line 4898 ;4898: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2244 JUMPV LABELV $2249 line 4901 ;4899: } ;4900: ;4901: pass = 0; ADDRLP4 1044 CNSTI4 0 ASGNI4 ADDRGP4 $2253 JUMPV LABELV $2252 line 4902 ;4902: while ( 1 ) { line 4903 ;4903: if (!trap_PC_ReadToken(handle, &token)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 1052 ADDRGP4 trap_PC_ReadToken CALLI4 ASGNI4 ADDRLP4 1052 INDIRI4 CNSTI4 0 NEI4 $2255 line 4904 ;4904: PC_SourceError(handle, "end of file inside menu item\n"); ADDRFP4 4 INDIRI4 ARGI4 ADDRGP4 $2257 ARGP4 ADDRGP4 PC_SourceError CALLV pop line 4905 ;4905: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2244 JUMPV LABELV $2255 line 4908 ;4906: } ;4907: ;4908: if (*token.string == '}') { ADDRLP4 0+16 INDIRI1 CVII4 1 CNSTI4 125 NEI4 $2258 line 4909 ;4909: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $2244 JUMPV LABELV $2258 line 4912 ;4910: } ;4911: ;4912: if (*token.string == ',' || *token.string == ';') { ADDRLP4 0+16 INDIRI1 CVII4 1 CNSTI4 44 EQI4 $2265 ADDRLP4 0+16 INDIRI1 CVII4 1 CNSTI4 59 NEI4 $2261 LABELV $2265 line 4913 ;4913: continue; ADDRGP4 $2253 JUMPV LABELV $2261 line 4916 ;4914: } ;4915: ;4916: if (pass == 0) { ADDRLP4 1044 INDIRI4 CNSTI4 0 NEI4 $2266 line 4917 ;4917: multiPtr->cvarList[multiPtr->count] = String_Alloc(token.string); ADDRLP4 0+16 ARGP4 ADDRLP4 1056 ADDRGP4 String_Alloc CALLP4 ASGNP4 ADDRLP4 1040 INDIRP4 CNSTI4 384 ADDP4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 1040 INDIRP4 ADDP4 ADDRLP4 1056 INDIRP4 ASGNP4 line 4918 ;4918: pass = 1; ADDRLP4 1044 CNSTI4 1 ASGNI4 line 4919 ;4919: } else { ADDRGP4 $2267 JUMPV LABELV $2266 line 4920 ;4920: multiPtr->cvarStr[multiPtr->count] = String_Alloc(token.string); ADDRLP4 0+16 ARGP4 ADDRLP4 1056 ADDRGP4 String_Alloc CALLP4 ASGNP4 ADDRLP4 1040 INDIRP4 CNSTI4 384 ADDP4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 1040 INDIRP4 CNSTI4 128 ADDP4 ADDP4 ADDRLP4 1056 INDIRP4 ASGNP4 line 4921 ;4921: pass = 0; ADDRLP4 1044 CNSTI4 0 ASGNI4 line 4922 ;4922: multiPtr->count++; ADDRLP4 1064 ADDRLP4 1040 INDIRP4 CNSTI4 384 ADDP4 ASGNP4 ADDRLP4 1064 INDIRP4 ADDRLP4 1064 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 4923 ;4923: if (multiPtr->count >= MAX_MULTI_CVARS) { ADDRLP4 1040 INDIRP4 CNSTI4 384 ADDP4 INDIRI4 CNSTI4 32 LTI4 $2270 line 4924 ;4924: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2244 JUMPV LABELV $2270 line 4926 ;4925: } ;4926: } LABELV $2267 line 4928 ;4927: ;4928: } LABELV $2253 line 4902 ADDRGP4 $2252 JUMPV line 4929 ;4929: return qfalse; // bk001205 - LCC missing return value CNSTI4 0 RETI4 LABELV $2244 endproc ItemParse_cvarStrList 1068 8 export ItemParse_cvarFloatList proc ItemParse_cvarFloatList 1072 8 line 4932 ;4930:} ;4931: ;4932:qboolean ItemParse_cvarFloatList( itemDef_t *item, int handle ) { line 4936 ;4933: pc_token_t token; ;4934: multiDef_t *multiPtr; ;4935: ;4936: Item_ValidateTypeData(item); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Item_ValidateTypeData CALLV pop line 4937 ;4937: if (!item->typeData) ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $2273 line 4938 ;4938: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2272 JUMPV LABELV $2273 line 4939 ;4939: multiPtr = (multiDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 4940 ;4940: multiPtr->count = 0; ADDRLP4 0 INDIRP4 CNSTI4 384 ADDP4 CNSTI4 0 ASGNI4 line 4941 ;4941: multiPtr->strDef = qfalse; ADDRLP4 0 INDIRP4 CNSTI4 388 ADDP4 CNSTI4 0 ASGNI4 line 4943 ;4942: ;4943: if (!trap_PC_ReadToken(handle, &token)) ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 4 ARGP4 ADDRLP4 1044 ADDRGP4 trap_PC_ReadToken CALLI4 ASGNI4 ADDRLP4 1044 INDIRI4 CNSTI4 0 NEI4 $2275 line 4944 ;4944: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2272 JUMPV LABELV $2275 line 4945 ;4945: if (*token.string != '{') { ADDRLP4 4+16 INDIRI1 CVII4 1 CNSTI4 123 EQI4 $2281 line 4946 ;4946: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2272 JUMPV LABELV $2280 line 4949 ;4947: } ;4948: ;4949: while ( 1 ) { line 4950 ;4950: if (!trap_PC_ReadToken(handle, &token)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 4 ARGP4 ADDRLP4 1048 ADDRGP4 trap_PC_ReadToken CALLI4 ASGNI4 ADDRLP4 1048 INDIRI4 CNSTI4 0 NEI4 $2283 line 4951 ;4951: PC_SourceError(handle, "end of file inside menu item\n"); ADDRFP4 4 INDIRI4 ARGI4 ADDRGP4 $2257 ARGP4 ADDRGP4 PC_SourceError CALLV pop line 4952 ;4952: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2272 JUMPV LABELV $2283 line 4955 ;4953: } ;4954: ;4955: if (*token.string == '}') { ADDRLP4 4+16 INDIRI1 CVII4 1 CNSTI4 125 NEI4 $2285 line 4956 ;4956: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $2272 JUMPV LABELV $2285 line 4959 ;4957: } ;4958: ;4959: if (*token.string == ',' || *token.string == ';') { ADDRLP4 4+16 INDIRI1 CVII4 1 CNSTI4 44 EQI4 $2292 ADDRLP4 4+16 INDIRI1 CVII4 1 CNSTI4 59 NEI4 $2288 LABELV $2292 line 4960 ;4960: continue; ADDRGP4 $2281 JUMPV LABELV $2288 line 4963 ;4961: } ;4962: ;4963: multiPtr->cvarList[multiPtr->count] = String_Alloc(token.string); ADDRLP4 4+16 ARGP4 ADDRLP4 1052 ADDRGP4 String_Alloc CALLP4 ASGNP4 ADDRLP4 0 INDIRP4 CNSTI4 384 ADDP4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 0 INDIRP4 ADDP4 ADDRLP4 1052 INDIRP4 ASGNP4 line 4964 ;4964: if (!PC_Float_Parse(handle, &multiPtr->cvarValue[multiPtr->count])) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 384 ADDP4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 0 INDIRP4 CNSTI4 256 ADDP4 ADDP4 ARGP4 ADDRLP4 1064 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 1064 INDIRI4 CNSTI4 0 NEI4 $2294 line 4965 ;4965: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2272 JUMPV LABELV $2294 line 4968 ;4966: } ;4967: ;4968: multiPtr->count++; ADDRLP4 1068 ADDRLP4 0 INDIRP4 CNSTI4 384 ADDP4 ASGNP4 ADDRLP4 1068 INDIRP4 ADDRLP4 1068 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 4969 ;4969: if (multiPtr->count >= MAX_MULTI_CVARS) { ADDRLP4 0 INDIRP4 CNSTI4 384 ADDP4 INDIRI4 CNSTI4 32 LTI4 $2296 line 4970 ;4970: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2272 JUMPV LABELV $2296 line 4973 ;4971: } ;4972: ;4973: } LABELV $2281 line 4949 ADDRGP4 $2280 JUMPV line 4974 ;4974: return qfalse; // bk001205 - LCC missing return value CNSTI4 0 RETI4 LABELV $2272 endproc ItemParse_cvarFloatList 1072 8 export ItemParse_addColorRange proc ItemParse_addColorRange 48 12 line 4979 ;4975:} ;4976: ;4977: ;4978: ;4979:qboolean ItemParse_addColorRange( itemDef_t *item, int handle ) { line 4982 ;4980: colorRangeDef_t color; ;4981: ;4982: if (PC_Float_Parse(handle, &color.low) && ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0+16 ARGP4 ADDRLP4 24 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 24 INDIRI4 CNSTI4 0 EQI4 $2299 ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0+20 ARGP4 ADDRLP4 28 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 28 INDIRI4 CNSTI4 0 EQI4 $2299 ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 32 ADDRGP4 PC_Color_Parse CALLI4 ASGNI4 ADDRLP4 32 INDIRI4 CNSTI4 0 EQI4 $2299 line 4984 ;4983: PC_Float_Parse(handle, &color.high) && ;4984: PC_Color_Parse(handle, &color.color) ) { line 4985 ;4985: if (item->numColors < MAX_COLOR_RANGES) { ADDRFP4 0 INDIRP4 CNSTI4 284 ADDP4 INDIRI4 CNSTI4 10 GEI4 $2303 line 4986 ;4986: memcpy(&item->colorRanges[item->numColors], &color, sizeof(color)); ADDRLP4 36 CNSTI4 24 ASGNI4 ADDRLP4 40 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 36 INDIRI4 ADDRLP4 40 INDIRP4 CNSTI4 284 ADDP4 INDIRI4 MULI4 ADDRLP4 40 INDIRP4 CNSTI4 288 ADDP4 ADDP4 ARGP4 ADDRLP4 0 ARGP4 ADDRLP4 36 INDIRI4 ARGI4 ADDRGP4 memcpy CALLP4 pop line 4987 ;4987: item->numColors++; ADDRLP4 44 ADDRFP4 0 INDIRP4 CNSTI4 284 ADDP4 ASGNP4 ADDRLP4 44 INDIRP4 ADDRLP4 44 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 4988 ;4988: } LABELV $2303 line 4989 ;4989: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $2298 JUMPV LABELV $2299 line 4991 ;4990: } ;4991: return qfalse; CNSTI4 0 RETI4 LABELV $2298 endproc ItemParse_addColorRange 48 12 export ItemParse_ownerdrawFlag proc ItemParse_ownerdrawFlag 12 8 line 4994 ;4992:} ;4993: ;4994:qboolean ItemParse_ownerdrawFlag( itemDef_t *item, int handle ) { line 4996 ;4995: int i; ;4996: if (!PC_Int_Parse(handle, &i)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 4 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2306 line 4997 ;4997: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2305 JUMPV LABELV $2306 line 4999 ;4998: } ;4999: item->window.ownerDrawFlags |= i; ADDRLP4 8 ADDRFP4 0 INDIRP4 CNSTI4 60 ADDP4 ASGNP4 ADDRLP4 8 INDIRP4 ADDRLP4 8 INDIRP4 INDIRI4 ADDRLP4 0 INDIRI4 BORI4 ASGNI4 line 5000 ;5000: return qtrue; CNSTI4 1 RETI4 LABELV $2305 endproc ItemParse_ownerdrawFlag 12 8 export ItemParse_enableCvar proc ItemParse_enableCvar 4 8 line 5003 ;5001:} ;5002: ;5003:qboolean ItemParse_enableCvar( itemDef_t *item, int handle ) { line 5004 ;5004: if (PC_Script_Parse(handle, &item->enableCvar)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 272 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Script_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 EQI4 $2309 line 5005 ;5005: item->cvarFlags = CVAR_ENABLE; ADDRFP4 0 INDIRP4 CNSTI4 276 ADDP4 CNSTI4 1 ASGNI4 line 5006 ;5006: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $2308 JUMPV LABELV $2309 line 5008 ;5007: } ;5008: return qfalse; CNSTI4 0 RETI4 LABELV $2308 endproc ItemParse_enableCvar 4 8 export ItemParse_disableCvar proc ItemParse_disableCvar 4 8 line 5011 ;5009:} ;5010: ;5011:qboolean ItemParse_disableCvar( itemDef_t *item, int handle ) { line 5012 ;5012: if (PC_Script_Parse(handle, &item->enableCvar)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 272 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Script_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 EQI4 $2312 line 5013 ;5013: item->cvarFlags = CVAR_DISABLE; ADDRFP4 0 INDIRP4 CNSTI4 276 ADDP4 CNSTI4 2 ASGNI4 line 5014 ;5014: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $2311 JUMPV LABELV $2312 line 5016 ;5015: } ;5016: return qfalse; CNSTI4 0 RETI4 LABELV $2311 endproc ItemParse_disableCvar 4 8 export ItemParse_showCvar proc ItemParse_showCvar 4 8 line 5019 ;5017:} ;5018: ;5019:qboolean ItemParse_showCvar( itemDef_t *item, int handle ) { line 5020 ;5020: if (PC_Script_Parse(handle, &item->enableCvar)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 272 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Script_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 EQI4 $2315 line 5021 ;5021: item->cvarFlags = CVAR_SHOW; ADDRFP4 0 INDIRP4 CNSTI4 276 ADDP4 CNSTI4 4 ASGNI4 line 5022 ;5022: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $2314 JUMPV LABELV $2315 line 5024 ;5023: } ;5024: return qfalse; CNSTI4 0 RETI4 LABELV $2314 endproc ItemParse_showCvar 4 8 export ItemParse_hideCvar proc ItemParse_hideCvar 4 8 line 5027 ;5025:} ;5026: ;5027:qboolean ItemParse_hideCvar( itemDef_t *item, int handle ) { line 5028 ;5028: if (PC_Script_Parse(handle, &item->enableCvar)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRFP4 0 INDIRP4 CNSTI4 272 ADDP4 ARGP4 ADDRLP4 0 ADDRGP4 PC_Script_Parse CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 0 EQI4 $2318 line 5029 ;5029: item->cvarFlags = CVAR_HIDE; ADDRFP4 0 INDIRP4 CNSTI4 276 ADDP4 CNSTI4 8 ASGNI4 line 5030 ;5030: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $2317 JUMPV LABELV $2318 line 5032 ;5031: } ;5032: return qfalse; CNSTI4 0 RETI4 LABELV $2317 endproc ItemParse_hideCvar 4 8 data export itemParseKeywords align 4 LABELV itemParseKeywords address $2320 address ItemParse_name byte 4 0 address $2321 address ItemParse_text byte 4 0 address $2322 address ItemParse_group byte 4 0 address $2323 address ItemParse_asset_model byte 4 0 address $2324 address ItemParse_asset_shader byte 4 0 address $2325 address ItemParse_model_origin byte 4 0 address $2326 address ItemParse_model_fovx byte 4 0 address $2327 address ItemParse_model_fovy byte 4 0 address $2328 address ItemParse_model_rotation byte 4 0 address $2329 address ItemParse_model_angle byte 4 0 address $2330 address ItemParse_rect byte 4 0 address $2331 address ItemParse_style byte 4 0 address $2332 address ItemParse_decoration byte 4 0 address $2333 address ItemParse_notselectable byte 4 0 address $2334 address ItemParse_wrapped byte 4 0 address $2335 address ItemParse_autowrapped byte 4 0 address $2336 address ItemParse_horizontalscroll byte 4 0 address $2337 address ItemParse_type byte 4 0 address $2338 address ItemParse_elementwidth byte 4 0 address $2339 address ItemParse_elementheight byte 4 0 address $2340 address ItemParse_feeder byte 4 0 address $2341 address ItemParse_elementtype byte 4 0 address $2342 address ItemParse_columns byte 4 0 address $2343 address ItemParse_border byte 4 0 address $2344 address ItemParse_bordersize byte 4 0 address $2345 address ItemParse_visible byte 4 0 address $2346 address ItemParse_ownerdraw byte 4 0 address $2347 address ItemParse_align byte 4 0 address $2348 address ItemParse_textalign byte 4 0 address $2349 address ItemParse_textalignx byte 4 0 address $2350 address ItemParse_textaligny byte 4 0 address $2351 address ItemParse_textscale byte 4 0 address $2352 address ItemParse_textstyle byte 4 0 address $358 address ItemParse_backcolor byte 4 0 address $361 address ItemParse_forecolor byte 4 0 address $364 address ItemParse_bordercolor byte 4 0 address $2353 address ItemParse_outlinecolor byte 4 0 address $2354 address ItemParse_background byte 4 0 address $2355 address ItemParse_onFocus byte 4 0 address $2356 address ItemParse_leaveFocus byte 4 0 address $2357 address ItemParse_mouseEnter byte 4 0 address $2358 address ItemParse_mouseExit byte 4 0 address $2359 address ItemParse_mouseEnterText byte 4 0 address $2360 address ItemParse_mouseExitText byte 4 0 address $2361 address ItemParse_action byte 4 0 address $2362 address ItemParse_special byte 4 0 address $2363 address ItemParse_cvar byte 4 0 address $2364 address ItemParse_maxChars byte 4 0 address $2365 address ItemParse_maxPaintChars byte 4 0 address $2366 address ItemParse_focusSound byte 4 0 address $2367 address ItemParse_cvarFloat byte 4 0 address $2368 address ItemParse_cvarStrList byte 4 0 address $2369 address ItemParse_cvarFloatList byte 4 0 address $2370 address ItemParse_addColorRange byte 4 0 address $2371 address ItemParse_ownerdrawFlag byte 4 0 address $2372 address ItemParse_enableCvar byte 4 0 address $2373 address ItemParse_cvarTest byte 4 0 address $2374 address ItemParse_disableCvar byte 4 0 address $2375 address ItemParse_showCvar byte 4 0 address $2376 address ItemParse_hideCvar byte 4 0 address $2377 address ItemParse_cinematic byte 4 0 address $2378 address ItemParse_doubleClick byte 4 0 byte 4 0 byte 4 0 byte 4 0 export Item_SetupKeywordHash code proc Item_SetupKeywordHash 4 12 line 5109 ;5033:} ;5034: ;5035: ;5036:keywordHash_t itemParseKeywords[] = { ;5037: {"name", ItemParse_name, NULL}, ;5038: {"text", ItemParse_text, NULL}, ;5039: {"group", ItemParse_group, NULL}, ;5040: {"asset_model", ItemParse_asset_model, NULL}, ;5041: {"asset_shader", ItemParse_asset_shader, NULL}, ;5042: {"model_origin", ItemParse_model_origin, NULL}, ;5043: {"model_fovx", ItemParse_model_fovx, NULL}, ;5044: {"model_fovy", ItemParse_model_fovy, NULL}, ;5045: {"model_rotation", ItemParse_model_rotation, NULL}, ;5046: {"model_angle", ItemParse_model_angle, NULL}, ;5047: {"rect", ItemParse_rect, NULL}, ;5048: {"style", ItemParse_style, NULL}, ;5049: {"decoration", ItemParse_decoration, NULL}, ;5050: {"notselectable", ItemParse_notselectable, NULL}, ;5051: {"wrapped", ItemParse_wrapped, NULL}, ;5052: {"autowrapped", ItemParse_autowrapped, NULL}, ;5053: {"horizontalscroll", ItemParse_horizontalscroll, NULL}, ;5054: {"type", ItemParse_type, NULL}, ;5055: {"elementwidth", ItemParse_elementwidth, NULL}, ;5056: {"elementheight", ItemParse_elementheight, NULL}, ;5057: {"feeder", ItemParse_feeder, NULL}, ;5058: {"elementtype", ItemParse_elementtype, NULL}, ;5059: {"columns", ItemParse_columns, NULL}, ;5060: {"border", ItemParse_border, NULL}, ;5061: {"bordersize", ItemParse_bordersize, NULL}, ;5062: {"visible", ItemParse_visible, NULL}, ;5063: {"ownerdraw", ItemParse_ownerdraw, NULL}, ;5064: {"align", ItemParse_align, NULL}, ;5065: {"textalign", ItemParse_textalign, NULL}, ;5066: {"textalignx", ItemParse_textalignx, NULL}, ;5067: {"textaligny", ItemParse_textaligny, NULL}, ;5068: {"textscale", ItemParse_textscale, NULL}, ;5069: {"textstyle", ItemParse_textstyle, NULL}, ;5070: {"backcolor", ItemParse_backcolor, NULL}, ;5071: {"forecolor", ItemParse_forecolor, NULL}, ;5072: {"bordercolor", ItemParse_bordercolor, NULL}, ;5073: {"outlinecolor", ItemParse_outlinecolor, NULL}, ;5074: {"background", ItemParse_background, NULL}, ;5075: {"onFocus", ItemParse_onFocus, NULL}, ;5076: {"leaveFocus", ItemParse_leaveFocus, NULL}, ;5077: {"mouseEnter", ItemParse_mouseEnter, NULL}, ;5078: {"mouseExit", ItemParse_mouseExit, NULL}, ;5079: {"mouseEnterText", ItemParse_mouseEnterText, NULL}, ;5080: {"mouseExitText", ItemParse_mouseExitText, NULL}, ;5081: {"action", ItemParse_action, NULL}, ;5082: {"special", ItemParse_special, NULL}, ;5083: {"cvar", ItemParse_cvar, NULL}, ;5084: {"maxChars", ItemParse_maxChars, NULL}, ;5085: {"maxPaintChars", ItemParse_maxPaintChars, NULL}, ;5086: {"focusSound", ItemParse_focusSound, NULL}, ;5087: {"cvarFloat", ItemParse_cvarFloat, NULL}, ;5088: {"cvarStrList", ItemParse_cvarStrList, NULL}, ;5089: {"cvarFloatList", ItemParse_cvarFloatList, NULL}, ;5090: {"addColorRange", ItemParse_addColorRange, NULL}, ;5091: {"ownerdrawFlag", ItemParse_ownerdrawFlag, NULL}, ;5092: {"enableCvar", ItemParse_enableCvar, NULL}, ;5093: {"cvarTest", ItemParse_cvarTest, NULL}, ;5094: {"disableCvar", ItemParse_disableCvar, NULL}, ;5095: {"showCvar", ItemParse_showCvar, NULL}, ;5096: {"hideCvar", ItemParse_hideCvar, NULL}, ;5097: {"cinematic", ItemParse_cinematic, NULL}, ;5098: {"doubleclick", ItemParse_doubleClick, NULL}, ;5099: {NULL, NULL, NULL} ;5100:}; ;5101: ;5102:keywordHash_t *itemParseKeywordHash[KEYWORDHASH_SIZE]; ;5103: ;5104:/* ;5105:=============== ;5106:Item_SetupKeywordHash ;5107:=============== ;5108:*/ ;5109:void Item_SetupKeywordHash(void) { line 5112 ;5110: int i; ;5111: ;5112: memset(itemParseKeywordHash, 0, sizeof(itemParseKeywordHash)); ADDRGP4 itemParseKeywordHash ARGP4 CNSTI4 0 ARGI4 CNSTI4 2048 ARGI4 ADDRGP4 memset CALLP4 pop line 5113 ;5113: for (i = 0; itemParseKeywords[i].keyword; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $2383 JUMPV LABELV $2380 line 5114 ;5114: KeywordHash_Add(itemParseKeywordHash, &itemParseKeywords[i]); ADDRGP4 itemParseKeywordHash ARGP4 CNSTI4 12 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 itemParseKeywords ADDP4 ARGP4 ADDRGP4 KeywordHash_Add CALLV pop line 5115 ;5115: } LABELV $2381 line 5113 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $2383 CNSTI4 12 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 itemParseKeywords ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $2380 line 5116 ;5116:} LABELV $2379 endproc Item_SetupKeywordHash 4 12 export Item_Parse proc Item_Parse 1060 12 line 5123 ;5117: ;5118:/* ;5119:=============== ;5120:Item_Parse ;5121:=============== ;5122:*/ ;5123:qboolean Item_Parse(int handle, itemDef_t *item) { line 5128 ;5124: pc_token_t token; ;5125: keywordHash_t *key; ;5126: ;5127: ;5128: if (!trap_PC_ReadToken(handle, &token)) ADDRFP4 0 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 1044 ADDRGP4 trap_PC_ReadToken CALLI4 ASGNI4 ADDRLP4 1044 INDIRI4 CNSTI4 0 NEI4 $2385 line 5129 ;5129: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2384 JUMPV LABELV $2385 line 5130 ;5130: if (*token.string != '{') { ADDRLP4 0+16 INDIRI1 CVII4 1 CNSTI4 123 EQI4 $2391 line 5131 ;5131: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2384 JUMPV LABELV $2390 line 5133 ;5132: } ;5133: while ( 1 ) { line 5134 ;5134: if (!trap_PC_ReadToken(handle, &token)) { ADDRFP4 0 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 1048 ADDRGP4 trap_PC_ReadToken CALLI4 ASGNI4 ADDRLP4 1048 INDIRI4 CNSTI4 0 NEI4 $2393 line 5135 ;5135: PC_SourceError(handle, "end of file inside menu item\n"); ADDRFP4 0 INDIRI4 ARGI4 ADDRGP4 $2257 ARGP4 ADDRGP4 PC_SourceError CALLV pop line 5136 ;5136: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2384 JUMPV LABELV $2393 line 5139 ;5137: } ;5138: ;5139: if (*token.string == '}') { ADDRLP4 0+16 INDIRI1 CVII4 1 CNSTI4 125 NEI4 $2395 line 5140 ;5140: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $2384 JUMPV LABELV $2395 line 5143 ;5141: } ;5142: ;5143: key = KeywordHash_Find(itemParseKeywordHash, token.string); ADDRGP4 itemParseKeywordHash ARGP4 ADDRLP4 0+16 ARGP4 ADDRLP4 1052 ADDRGP4 KeywordHash_Find CALLP4 ASGNP4 ADDRLP4 1040 ADDRLP4 1052 INDIRP4 ASGNP4 line 5144 ;5144: if (!key) { ADDRLP4 1040 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $2399 line 5145 ;5145: PC_SourceError(handle, "unknown menu item keyword %s", token.string); ADDRFP4 0 INDIRI4 ARGI4 ADDRGP4 $2401 ARGP4 ADDRLP4 0+16 ARGP4 ADDRGP4 PC_SourceError CALLV pop line 5146 ;5146: continue; ADDRGP4 $2391 JUMPV LABELV $2399 line 5148 ;5147: } ;5148: if ( !key->func(item, handle) ) { ADDRFP4 4 INDIRP4 ARGP4 ADDRFP4 0 INDIRI4 ARGI4 ADDRLP4 1056 ADDRLP4 1040 INDIRP4 CNSTI4 4 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 1056 INDIRI4 CNSTI4 0 NEI4 $2403 line 5149 ;5149: PC_SourceError(handle, "couldn't parse menu item keyword %s", token.string); ADDRFP4 0 INDIRI4 ARGI4 ADDRGP4 $2405 ARGP4 ADDRLP4 0+16 ARGP4 ADDRGP4 PC_SourceError CALLV pop line 5150 ;5150: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2384 JUMPV LABELV $2403 line 5152 ;5151: } ;5152: } LABELV $2391 line 5133 ADDRGP4 $2390 JUMPV line 5153 ;5153: return qfalse; // bk001205 - LCC missing return value CNSTI4 0 RETI4 LABELV $2384 endproc Item_Parse 1060 12 export Item_InitControls proc Item_InitControls 4 0 line 5159 ;5154:} ;5155: ;5156: ;5157:// Item_InitControls ;5158:// init's special control types ;5159:void Item_InitControls(itemDef_t *item) { line 5160 ;5160: if (item == NULL) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $2408 line 5161 ;5161: return; ADDRGP4 $2407 JUMPV LABELV $2408 line 5163 ;5162: } ;5163: if (item->type == ITEM_TYPE_LISTBOX) { ADDRFP4 0 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 6 NEI4 $2410 line 5164 ;5164: listBoxDef_t *listPtr = (listBoxDef_t*)item->typeData; ADDRLP4 0 ADDRFP4 0 INDIRP4 CNSTI4 536 ADDP4 INDIRP4 ASGNP4 line 5165 ;5165: item->cursorPos = 0; ADDRFP4 0 INDIRP4 CNSTI4 532 ADDP4 CNSTI4 0 ASGNI4 line 5166 ;5166: if (listPtr) { ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $2412 line 5167 ;5167: listPtr->cursorPos = 0; ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 CNSTI4 0 ASGNI4 line 5168 ;5168: listPtr->startPos = 0; ADDRLP4 0 INDIRP4 CNSTI4 0 ASGNI4 line 5169 ;5169: listPtr->endPos = 0; ADDRLP4 0 INDIRP4 CNSTI4 4 ADDP4 CNSTI4 0 ASGNI4 line 5170 ;5170: listPtr->cursorPos = 0; ADDRLP4 0 INDIRP4 CNSTI4 12 ADDP4 CNSTI4 0 ASGNI4 line 5171 ;5171: } LABELV $2412 line 5172 ;5172: } LABELV $2410 line 5173 ;5173:} LABELV $2407 endproc Item_InitControls 4 0 export MenuParse_font proc MenuParse_font 12 12 line 5181 ;5174: ;5175:/* ;5176:=============== ;5177:Menu Keyword Parse functions ;5178:=============== ;5179:*/ ;5180: ;5181:qboolean MenuParse_font( itemDef_t *item, int handle ) { line 5182 ;5182: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5183 ;5183: if (!PC_String_Parse(handle, &menu->font)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 180 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2415 line 5184 ;5184: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2414 JUMPV LABELV $2415 line 5186 ;5185: } ;5186: if (!DC->Assets.fontRegistered) { ADDRGP4 DC INDIRP4 CNSTI4 61992 ADDP4 INDIRI4 CNSTI4 0 NEI4 $2417 line 5187 ;5187: DC->registerFont(menu->font, 48, &DC->Assets.textFont); ADDRLP4 0 INDIRP4 CNSTI4 180 ADDP4 INDIRP4 ARGP4 CNSTI4 48 ARGI4 ADDRLP4 8 ADDRGP4 DC INDIRP4 ASGNP4 ADDRLP4 8 INDIRP4 CNSTI4 240 ADDP4 ARGP4 ADDRLP4 8 INDIRP4 CNSTI4 64 ADDP4 INDIRP4 CALLV pop line 5188 ;5188: DC->Assets.fontRegistered = qtrue; ADDRGP4 DC INDIRP4 CNSTI4 61992 ADDP4 CNSTI4 1 ASGNI4 line 5189 ;5189: } LABELV $2417 line 5190 ;5190: return qtrue; CNSTI4 1 RETI4 LABELV $2414 endproc MenuParse_font 12 12 export MenuParse_name proc MenuParse_name 12 8 line 5193 ;5191:} ;5192: ;5193:qboolean MenuParse_name( itemDef_t *item, int handle ) { line 5194 ;5194: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5195 ;5195: if (!PC_String_Parse(handle, &menu->window.name)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 32 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2420 line 5196 ;5196: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2419 JUMPV LABELV $2420 line 5198 ;5197: } ;5198: if (Q_stricmp(menu->window.name, "main") == 0) { ADDRLP4 0 INDIRP4 CNSTI4 32 ADDP4 INDIRP4 ARGP4 ADDRGP4 $2424 ARGP4 ADDRLP4 8 ADDRGP4 Q_stricmp CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 NEI4 $2422 line 5201 ;5199: // default main as having focus ;5200: //menu->window.flags |= WINDOW_HASFOCUS; ;5201: } LABELV $2422 line 5202 ;5202: return qtrue; CNSTI4 1 RETI4 LABELV $2419 endproc MenuParse_name 12 8 export MenuParse_fullscreen proc MenuParse_fullscreen 8 8 line 5205 ;5203:} ;5204: ;5205:qboolean MenuParse_fullscreen( itemDef_t *item, int handle ) { line 5206 ;5206: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5207 ;5207: if (!PC_Int_Parse(handle, (int*) &menu->fullScreen)) { // bk001206 - cast qboolean ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 184 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2426 line 5208 ;5208: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2425 JUMPV LABELV $2426 line 5210 ;5209: } ;5210: return qtrue; CNSTI4 1 RETI4 LABELV $2425 endproc MenuParse_fullscreen 8 8 export MenuParse_rect proc MenuParse_rect 8 8 line 5213 ;5211:} ;5212: ;5213:qboolean MenuParse_rect( itemDef_t *item, int handle ) { line 5214 ;5214: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5215 ;5215: if (!PC_Rect_Parse(handle, &menu->window.rect)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Rect_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2429 line 5216 ;5216: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2428 JUMPV LABELV $2429 line 5218 ;5217: } ;5218: return qtrue; CNSTI4 1 RETI4 LABELV $2428 endproc MenuParse_rect 8 8 export MenuParse_style proc MenuParse_style 8 8 line 5221 ;5219:} ;5220: ;5221:qboolean MenuParse_style( itemDef_t *item, int handle ) { line 5222 ;5222: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5223 ;5223: if (!PC_Int_Parse(handle, &menu->window.style)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 48 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2432 line 5224 ;5224: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2431 JUMPV LABELV $2432 line 5226 ;5225: } ;5226: return qtrue; CNSTI4 1 RETI4 LABELV $2431 endproc MenuParse_style 8 8 export MenuParse_visible proc MenuParse_visible 16 8 line 5229 ;5227:} ;5228: ;5229:qboolean MenuParse_visible( itemDef_t *item, int handle ) { line 5231 ;5230: int i; ;5231: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 4 ADDRFP4 0 INDIRP4 ASGNP4 line 5233 ;5232: ;5233: if (!PC_Int_Parse(handle, &i)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 8 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 NEI4 $2435 line 5234 ;5234: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2434 JUMPV LABELV $2435 line 5236 ;5235: } ;5236: if (i) { ADDRLP4 0 INDIRI4 CNSTI4 0 EQI4 $2437 line 5237 ;5237: menu->window.flags |= WINDOW_VISIBLE; ADDRLP4 12 ADDRLP4 4 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 12 INDIRP4 ADDRLP4 12 INDIRP4 INDIRI4 CNSTI4 4 BORI4 ASGNI4 line 5238 ;5238: } LABELV $2437 line 5239 ;5239: return qtrue; CNSTI4 1 RETI4 LABELV $2434 endproc MenuParse_visible 16 8 export MenuParse_onOpen proc MenuParse_onOpen 8 8 line 5242 ;5240:} ;5241: ;5242:qboolean MenuParse_onOpen( itemDef_t *item, int handle ) { line 5243 ;5243: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5244 ;5244: if (!PC_Script_Parse(handle, &menu->onOpen)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 212 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Script_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2440 line 5245 ;5245: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2439 JUMPV LABELV $2440 line 5247 ;5246: } ;5247: return qtrue; CNSTI4 1 RETI4 LABELV $2439 endproc MenuParse_onOpen 8 8 export MenuParse_onClose proc MenuParse_onClose 8 8 line 5250 ;5248:} ;5249: ;5250:qboolean MenuParse_onClose( itemDef_t *item, int handle ) { line 5251 ;5251: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5252 ;5252: if (!PC_Script_Parse(handle, &menu->onClose)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 216 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Script_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2443 line 5253 ;5253: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2442 JUMPV LABELV $2443 line 5255 ;5254: } ;5255: return qtrue; CNSTI4 1 RETI4 LABELV $2442 endproc MenuParse_onClose 8 8 export MenuParse_onESC proc MenuParse_onESC 8 8 line 5258 ;5256:} ;5257: ;5258:qboolean MenuParse_onESC( itemDef_t *item, int handle ) { line 5259 ;5259: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5260 ;5260: if (!PC_Script_Parse(handle, &menu->onESC)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 220 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Script_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2446 line 5261 ;5261: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2445 JUMPV LABELV $2446 line 5263 ;5262: } ;5263: return qtrue; CNSTI4 1 RETI4 LABELV $2445 endproc MenuParse_onESC 8 8 export MenuParse_border proc MenuParse_border 8 8 line 5268 ;5264:} ;5265: ;5266: ;5267: ;5268:qboolean MenuParse_border( itemDef_t *item, int handle ) { line 5269 ;5269: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5270 ;5270: if (!PC_Int_Parse(handle, &menu->window.border)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 52 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2449 line 5271 ;5271: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2448 JUMPV LABELV $2449 line 5273 ;5272: } ;5273: return qtrue; CNSTI4 1 RETI4 LABELV $2448 endproc MenuParse_border 8 8 export MenuParse_borderSize proc MenuParse_borderSize 8 8 line 5276 ;5274:} ;5275: ;5276:qboolean MenuParse_borderSize( itemDef_t *item, int handle ) { line 5277 ;5277: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5278 ;5278: if (!PC_Float_Parse(handle, &menu->window.borderSize)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 64 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2452 line 5279 ;5279: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2451 JUMPV LABELV $2452 line 5281 ;5280: } ;5281: return qtrue; CNSTI4 1 RETI4 LABELV $2451 endproc MenuParse_borderSize 8 8 export MenuParse_backcolor proc MenuParse_backcolor 16 8 line 5284 ;5282:} ;5283: ;5284:qboolean MenuParse_backcolor( itemDef_t *item, int handle ) { line 5287 ;5285: int i; ;5286: float f; ;5287: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 8 ADDRFP4 0 INDIRP4 ASGNP4 line 5289 ;5288: ;5289: for (i = 0; i < 4; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 LABELV $2455 line 5290 ;5290: if (!PC_Float_Parse(handle, &f)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 4 ARGP4 ADDRLP4 12 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 12 INDIRI4 CNSTI4 0 NEI4 $2459 line 5291 ;5291: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2454 JUMPV LABELV $2459 line 5293 ;5292: } ;5293: menu->window.backColor[i] = f; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 8 INDIRP4 CNSTI4 128 ADDP4 ADDP4 ADDRLP4 4 INDIRF4 ASGNF4 line 5294 ;5294: } LABELV $2456 line 5289 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 4 LTI4 $2455 line 5295 ;5295: return qtrue; CNSTI4 1 RETI4 LABELV $2454 endproc MenuParse_backcolor 16 8 export MenuParse_forecolor proc MenuParse_forecolor 20 8 line 5298 ;5296:} ;5297: ;5298:qboolean MenuParse_forecolor( itemDef_t *item, int handle ) { line 5301 ;5299: int i; ;5300: float f; ;5301: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 4 ADDRFP4 0 INDIRP4 ASGNP4 line 5303 ;5302: ;5303: for (i = 0; i < 4; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 LABELV $2462 line 5304 ;5304: if (!PC_Float_Parse(handle, &f)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 8 ARGP4 ADDRLP4 12 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 12 INDIRI4 CNSTI4 0 NEI4 $2466 line 5305 ;5305: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2461 JUMPV LABELV $2466 line 5307 ;5306: } ;5307: menu->window.foreColor[i] = f; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 4 INDIRP4 CNSTI4 112 ADDP4 ADDP4 ADDRLP4 8 INDIRF4 ASGNF4 line 5308 ;5308: menu->window.flags |= WINDOW_FORECOLORSET; ADDRLP4 16 ADDRLP4 4 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 16 INDIRP4 ADDRLP4 16 INDIRP4 INDIRI4 CNSTI4 512 BORI4 ASGNI4 line 5309 ;5309: } LABELV $2463 line 5303 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 4 LTI4 $2462 line 5310 ;5310: return qtrue; CNSTI4 1 RETI4 LABELV $2461 endproc MenuParse_forecolor 20 8 export MenuParse_bordercolor proc MenuParse_bordercolor 16 8 line 5313 ;5311:} ;5312: ;5313:qboolean MenuParse_bordercolor( itemDef_t *item, int handle ) { line 5316 ;5314: int i; ;5315: float f; ;5316: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 8 ADDRFP4 0 INDIRP4 ASGNP4 line 5318 ;5317: ;5318: for (i = 0; i < 4; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 LABELV $2469 line 5319 ;5319: if (!PC_Float_Parse(handle, &f)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 4 ARGP4 ADDRLP4 12 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 12 INDIRI4 CNSTI4 0 NEI4 $2473 line 5320 ;5320: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2468 JUMPV LABELV $2473 line 5322 ;5321: } ;5322: menu->window.borderColor[i] = f; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 8 INDIRP4 CNSTI4 144 ADDP4 ADDP4 ADDRLP4 4 INDIRF4 ASGNF4 line 5323 ;5323: } LABELV $2470 line 5318 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 4 LTI4 $2469 line 5324 ;5324: return qtrue; CNSTI4 1 RETI4 LABELV $2468 endproc MenuParse_bordercolor 16 8 export MenuParse_focuscolor proc MenuParse_focuscolor 16 8 line 5327 ;5325:} ;5326: ;5327:qboolean MenuParse_focuscolor( itemDef_t *item, int handle ) { line 5330 ;5328: int i; ;5329: float f; ;5330: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 8 ADDRFP4 0 INDIRP4 ASGNP4 line 5332 ;5331: ;5332: for (i = 0; i < 4; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 LABELV $2476 line 5333 ;5333: if (!PC_Float_Parse(handle, &f)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 4 ARGP4 ADDRLP4 12 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 12 INDIRI4 CNSTI4 0 NEI4 $2480 line 5334 ;5334: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2475 JUMPV LABELV $2480 line 5336 ;5335: } ;5336: menu->focusColor[i] = f; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 8 INDIRP4 CNSTI4 228 ADDP4 ADDP4 ADDRLP4 4 INDIRF4 ASGNF4 line 5337 ;5337: } LABELV $2477 line 5332 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 4 LTI4 $2476 line 5338 ;5338: return qtrue; CNSTI4 1 RETI4 LABELV $2475 endproc MenuParse_focuscolor 16 8 export MenuParse_disablecolor proc MenuParse_disablecolor 16 8 line 5341 ;5339:} ;5340: ;5341:qboolean MenuParse_disablecolor( itemDef_t *item, int handle ) { line 5344 ;5342: int i; ;5343: float f; ;5344: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 8 ADDRFP4 0 INDIRP4 ASGNP4 line 5345 ;5345: for (i = 0; i < 4; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 LABELV $2483 line 5346 ;5346: if (!PC_Float_Parse(handle, &f)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 4 ARGP4 ADDRLP4 12 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 12 INDIRI4 CNSTI4 0 NEI4 $2487 line 5347 ;5347: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2482 JUMPV LABELV $2487 line 5349 ;5348: } ;5349: menu->disableColor[i] = f; ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 8 INDIRP4 CNSTI4 244 ADDP4 ADDP4 ADDRLP4 4 INDIRF4 ASGNF4 line 5350 ;5350: } LABELV $2484 line 5345 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 0 INDIRI4 CNSTI4 4 LTI4 $2483 line 5351 ;5351: return qtrue; CNSTI4 1 RETI4 LABELV $2482 endproc MenuParse_disablecolor 16 8 export MenuParse_outlinecolor proc MenuParse_outlinecolor 8 8 line 5355 ;5352:} ;5353: ;5354: ;5355:qboolean MenuParse_outlinecolor( itemDef_t *item, int handle ) { line 5356 ;5356: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5357 ;5357: if (!PC_Color_Parse(handle, &menu->window.outlineColor)){ ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 160 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Color_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2490 line 5358 ;5358: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2489 JUMPV LABELV $2490 line 5360 ;5359: } ;5360: return qtrue; CNSTI4 1 RETI4 LABELV $2489 endproc MenuParse_outlinecolor 8 8 export MenuParse_background proc MenuParse_background 16 8 line 5363 ;5361:} ;5362: ;5363:qboolean MenuParse_background( itemDef_t *item, int handle ) { line 5365 ;5364: const char *buff; ;5365: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 4 ADDRFP4 0 INDIRP4 ASGNP4 line 5367 ;5366: ;5367: if (!PC_String_Parse(handle, &buff)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 8 ADDRGP4 PC_String_Parse CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 NEI4 $2493 line 5368 ;5368: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2492 JUMPV LABELV $2493 line 5370 ;5369: } ;5370: menu->window.background = DC->registerShaderNoMip(buff); ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 12 ADDRGP4 DC INDIRP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 4 INDIRP4 CNSTI4 176 ADDP4 ADDRLP4 12 INDIRI4 ASGNI4 line 5371 ;5371: return qtrue; CNSTI4 1 RETI4 LABELV $2492 endproc MenuParse_background 16 8 export MenuParse_cinematic proc MenuParse_cinematic 8 8 line 5374 ;5372:} ;5373: ;5374:qboolean MenuParse_cinematic( itemDef_t *item, int handle ) { line 5375 ;5375: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5377 ;5376: ;5377: if (!PC_String_Parse(handle, &menu->window.cinematicName)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 40 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2496 line 5378 ;5378: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2495 JUMPV LABELV $2496 line 5380 ;5379: } ;5380: return qtrue; CNSTI4 1 RETI4 LABELV $2495 endproc MenuParse_cinematic 8 8 export MenuParse_ownerdrawFlag proc MenuParse_ownerdrawFlag 16 8 line 5383 ;5381:} ;5382: ;5383:qboolean MenuParse_ownerdrawFlag( itemDef_t *item, int handle ) { line 5385 ;5384: int i; ;5385: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 4 ADDRFP4 0 INDIRP4 ASGNP4 line 5387 ;5386: ;5387: if (!PC_Int_Parse(handle, &i)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 8 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 8 INDIRI4 CNSTI4 0 NEI4 $2499 line 5388 ;5388: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2498 JUMPV LABELV $2499 line 5390 ;5389: } ;5390: menu->window.ownerDrawFlags |= i; ADDRLP4 12 ADDRLP4 4 INDIRP4 CNSTI4 60 ADDP4 ASGNP4 ADDRLP4 12 INDIRP4 ADDRLP4 12 INDIRP4 INDIRI4 ADDRLP4 0 INDIRI4 BORI4 ASGNI4 line 5391 ;5391: return qtrue; CNSTI4 1 RETI4 LABELV $2498 endproc MenuParse_ownerdrawFlag 16 8 export MenuParse_ownerdraw proc MenuParse_ownerdraw 8 8 line 5394 ;5392:} ;5393: ;5394:qboolean MenuParse_ownerdraw( itemDef_t *item, int handle ) { line 5395 ;5395: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5397 ;5396: ;5397: if (!PC_Int_Parse(handle, &menu->window.ownerDraw)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 56 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2502 line 5398 ;5398: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2501 JUMPV LABELV $2502 line 5400 ;5399: } ;5400: return qtrue; CNSTI4 1 RETI4 LABELV $2501 endproc MenuParse_ownerdraw 8 8 export MenuParse_popup proc MenuParse_popup 8 0 line 5405 ;5401:} ;5402: ;5403: ;5404:// decoration ;5405:qboolean MenuParse_popup( itemDef_t *item, int handle ) { line 5406 ;5406: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5407 ;5407: menu->window.flags |= WINDOW_POPUP; ADDRLP4 4 ADDRLP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 4 INDIRP4 ADDRLP4 4 INDIRP4 INDIRI4 CNSTI4 2097152 BORI4 ASGNI4 line 5408 ;5408: return qtrue; CNSTI4 1 RETI4 LABELV $2504 endproc MenuParse_popup 8 0 export MenuParse_outOfBounds proc MenuParse_outOfBounds 8 0 line 5412 ;5409:} ;5410: ;5411: ;5412:qboolean MenuParse_outOfBounds( itemDef_t *item, int handle ) { line 5413 ;5413: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5415 ;5414: ;5415: menu->window.flags |= WINDOW_OOB_CLICK; ADDRLP4 4 ADDRLP4 0 INDIRP4 CNSTI4 68 ADDP4 ASGNP4 ADDRLP4 4 INDIRP4 ADDRLP4 4 INDIRP4 INDIRI4 CNSTI4 131072 BORI4 ASGNI4 line 5416 ;5416: return qtrue; CNSTI4 1 RETI4 LABELV $2505 endproc MenuParse_outOfBounds 8 0 export MenuParse_soundLoop proc MenuParse_soundLoop 8 8 line 5419 ;5417:} ;5418: ;5419:qboolean MenuParse_soundLoop( itemDef_t *item, int handle ) { line 5420 ;5420: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5422 ;5421: ;5422: if (!PC_String_Parse(handle, &menu->soundName)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 224 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_String_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2507 line 5423 ;5423: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2506 JUMPV LABELV $2507 line 5425 ;5424: } ;5425: return qtrue; CNSTI4 1 RETI4 LABELV $2506 endproc MenuParse_soundLoop 8 8 export MenuParse_fadeClamp proc MenuParse_fadeClamp 8 8 line 5428 ;5426:} ;5427: ;5428:qboolean MenuParse_fadeClamp( itemDef_t *item, int handle ) { line 5429 ;5429: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5431 ;5430: ;5431: if (!PC_Float_Parse(handle, &menu->fadeClamp)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 204 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2510 line 5432 ;5432: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2509 JUMPV LABELV $2510 line 5434 ;5433: } ;5434: return qtrue; CNSTI4 1 RETI4 LABELV $2509 endproc MenuParse_fadeClamp 8 8 export MenuParse_fadeAmount proc MenuParse_fadeAmount 8 8 line 5437 ;5435:} ;5436: ;5437:qboolean MenuParse_fadeAmount( itemDef_t *item, int handle ) { line 5438 ;5438: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5440 ;5439: ;5440: if (!PC_Float_Parse(handle, &menu->fadeAmount)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 208 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Float_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2513 line 5441 ;5441: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2512 JUMPV LABELV $2513 line 5443 ;5442: } ;5443: return qtrue; CNSTI4 1 RETI4 LABELV $2512 endproc MenuParse_fadeAmount 8 8 export MenuParse_fadeCycle proc MenuParse_fadeCycle 8 8 line 5447 ;5444:} ;5445: ;5446: ;5447:qboolean MenuParse_fadeCycle( itemDef_t *item, int handle ) { line 5448 ;5448: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5450 ;5449: ;5450: if (!PC_Int_Parse(handle, &menu->fadeCycle)) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 200 ADDP4 ARGP4 ADDRLP4 4 ADDRGP4 PC_Int_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 NEI4 $2516 line 5451 ;5451: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2515 JUMPV LABELV $2516 line 5453 ;5452: } ;5453: return qtrue; CNSTI4 1 RETI4 LABELV $2515 endproc MenuParse_fadeCycle 8 8 export MenuParse_itemDef proc MenuParse_itemDef 40 8 line 5457 ;5454:} ;5455: ;5456: ;5457:qboolean MenuParse_itemDef( itemDef_t *item, int handle ) { line 5458 ;5458: menuDef_t *menu = (menuDef_t*)item; ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 line 5459 ;5459: if (menu->itemCount < MAX_MENUITEMS) { ADDRLP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 CNSTI4 96 GEI4 $2519 line 5460 ;5460: menu->items[menu->itemCount] = UI_Alloc(sizeof(itemDef_t)); CNSTI4 540 ARGI4 ADDRLP4 4 ADDRGP4 UI_Alloc CALLP4 ASGNP4 ADDRLP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 ADDRLP4 4 INDIRP4 ASGNP4 line 5461 ;5461: Item_Init(menu->items[menu->itemCount]); ADDRLP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_Init CALLV pop line 5462 ;5462: if (!Item_Parse(handle, menu->items[menu->itemCount])) { ADDRFP4 4 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ARGP4 ADDRLP4 20 ADDRGP4 Item_Parse CALLI4 ASGNI4 ADDRLP4 20 INDIRI4 CNSTI4 0 NEI4 $2521 line 5463 ;5463: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2518 JUMPV LABELV $2521 line 5465 ;5464: } ;5465: Item_InitControls(menu->items[menu->itemCount]); ADDRLP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_InitControls CALLV pop line 5466 ;5466: menu->items[menu->itemCount++]->parent = menu; ADDRLP4 32 ADDRLP4 0 INDIRP4 CNSTI4 188 ADDP4 ASGNP4 ADDRLP4 28 ADDRLP4 32 INDIRP4 INDIRI4 ASGNI4 ADDRLP4 32 INDIRP4 ADDRLP4 28 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 ADDRLP4 28 INDIRI4 CNSTI4 2 LSHI4 ADDRLP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 228 ADDP4 ADDRLP4 0 INDIRP4 ASGNP4 line 5467 ;5467: } LABELV $2519 line 5468 ;5468: return qtrue; CNSTI4 1 RETI4 LABELV $2518 endproc MenuParse_itemDef 40 8 data export menuParseKeywords align 4 LABELV menuParseKeywords address $2523 address MenuParse_font byte 4 0 address $2320 address MenuParse_name byte 4 0 address $2524 address MenuParse_fullscreen byte 4 0 address $2330 address MenuParse_rect byte 4 0 address $2331 address MenuParse_style byte 4 0 address $2345 address MenuParse_visible byte 4 0 address $2525 address MenuParse_onOpen byte 4 0 address $2526 address MenuParse_onClose byte 4 0 address $2527 address MenuParse_onESC byte 4 0 address $2343 address MenuParse_border byte 4 0 address $2528 address MenuParse_borderSize byte 4 0 address $358 address MenuParse_backcolor byte 4 0 address $361 address MenuParse_forecolor byte 4 0 address $364 address MenuParse_bordercolor byte 4 0 address $2529 address MenuParse_focuscolor byte 4 0 address $2530 address MenuParse_disablecolor byte 4 0 address $2353 address MenuParse_outlinecolor byte 4 0 address $2354 address MenuParse_background byte 4 0 address $2346 address MenuParse_ownerdraw byte 4 0 address $2371 address MenuParse_ownerdrawFlag byte 4 0 address $2531 address MenuParse_outOfBounds byte 4 0 address $2532 address MenuParse_soundLoop byte 4 0 address $2533 address MenuParse_itemDef byte 4 0 address $2377 address MenuParse_cinematic byte 4 0 address $2534 address MenuParse_popup byte 4 0 address $2535 address MenuParse_fadeClamp byte 4 0 address $2536 address MenuParse_fadeCycle byte 4 0 address $2537 address MenuParse_fadeAmount byte 4 0 byte 4 0 byte 4 0 byte 4 0 export Menu_SetupKeywordHash code proc Menu_SetupKeywordHash 4 12 line 5510 ;5469:} ;5470: ;5471:keywordHash_t menuParseKeywords[] = { ;5472: {"font", MenuParse_font, NULL}, ;5473: {"name", MenuParse_name, NULL}, ;5474: {"fullscreen", MenuParse_fullscreen, NULL}, ;5475: {"rect", MenuParse_rect, NULL}, ;5476: {"style", MenuParse_style, NULL}, ;5477: {"visible", MenuParse_visible, NULL}, ;5478: {"onOpen", MenuParse_onOpen, NULL}, ;5479: {"onClose", MenuParse_onClose, NULL}, ;5480: {"onESC", MenuParse_onESC, NULL}, ;5481: {"border", MenuParse_border, NULL}, ;5482: {"borderSize", MenuParse_borderSize, NULL}, ;5483: {"backcolor", MenuParse_backcolor, NULL}, ;5484: {"forecolor", MenuParse_forecolor, NULL}, ;5485: {"bordercolor", MenuParse_bordercolor, NULL}, ;5486: {"focuscolor", MenuParse_focuscolor, NULL}, ;5487: {"disablecolor", MenuParse_disablecolor, NULL}, ;5488: {"outlinecolor", MenuParse_outlinecolor, NULL}, ;5489: {"background", MenuParse_background, NULL}, ;5490: {"ownerdraw", MenuParse_ownerdraw, NULL}, ;5491: {"ownerdrawFlag", MenuParse_ownerdrawFlag, NULL}, ;5492: {"outOfBoundsClick", MenuParse_outOfBounds, NULL}, ;5493: {"soundLoop", MenuParse_soundLoop, NULL}, ;5494: {"itemDef", MenuParse_itemDef, NULL}, ;5495: {"cinematic", MenuParse_cinematic, NULL}, ;5496: {"popup", MenuParse_popup, NULL}, ;5497: {"fadeClamp", MenuParse_fadeClamp, NULL}, ;5498: {"fadeCycle", MenuParse_fadeCycle, NULL}, ;5499: {"fadeAmount", MenuParse_fadeAmount, NULL}, ;5500: {NULL, NULL, NULL} ;5501:}; ;5502: ;5503:keywordHash_t *menuParseKeywordHash[KEYWORDHASH_SIZE]; ;5504: ;5505:/* ;5506:=============== ;5507:Menu_SetupKeywordHash ;5508:=============== ;5509:*/ ;5510:void Menu_SetupKeywordHash(void) { line 5513 ;5511: int i; ;5512: ;5513: memset(menuParseKeywordHash, 0, sizeof(menuParseKeywordHash)); ADDRGP4 menuParseKeywordHash ARGP4 CNSTI4 0 ARGI4 CNSTI4 2048 ARGI4 ADDRGP4 memset CALLP4 pop line 5514 ;5514: for (i = 0; menuParseKeywords[i].keyword; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $2542 JUMPV LABELV $2539 line 5515 ;5515: KeywordHash_Add(menuParseKeywordHash, &menuParseKeywords[i]); ADDRGP4 menuParseKeywordHash ARGP4 CNSTI4 12 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 menuParseKeywords ADDP4 ARGP4 ADDRGP4 KeywordHash_Add CALLV pop line 5516 ;5516: } LABELV $2540 line 5514 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $2542 CNSTI4 12 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 menuParseKeywords ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $2539 line 5517 ;5517:} LABELV $2538 endproc Menu_SetupKeywordHash 4 12 export Menu_Parse proc Menu_Parse 1060 12 line 5524 ;5518: ;5519:/* ;5520:=============== ;5521:Menu_Parse ;5522:=============== ;5523:*/ ;5524:qboolean Menu_Parse(int handle, menuDef_t *menu) { line 5528 ;5525: pc_token_t token; ;5526: keywordHash_t *key; ;5527: ;5528: if (!trap_PC_ReadToken(handle, &token)) ADDRFP4 0 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 1044 ADDRGP4 trap_PC_ReadToken CALLI4 ASGNI4 ADDRLP4 1044 INDIRI4 CNSTI4 0 NEI4 $2544 line 5529 ;5529: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2543 JUMPV LABELV $2544 line 5530 ;5530: if (*token.string != '{') { ADDRLP4 0+16 INDIRI1 CVII4 1 CNSTI4 123 EQI4 $2550 line 5531 ;5531: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2543 JUMPV LABELV $2549 line 5534 ;5532: } ;5533: ;5534: while ( 1 ) { line 5536 ;5535: ;5536: memset(&token, 0, sizeof(pc_token_t)); ADDRLP4 0 ARGP4 CNSTI4 0 ARGI4 CNSTI4 1040 ARGI4 ADDRGP4 memset CALLP4 pop line 5537 ;5537: if (!trap_PC_ReadToken(handle, &token)) { ADDRFP4 0 INDIRI4 ARGI4 ADDRLP4 0 ARGP4 ADDRLP4 1048 ADDRGP4 trap_PC_ReadToken CALLI4 ASGNI4 ADDRLP4 1048 INDIRI4 CNSTI4 0 NEI4 $2552 line 5538 ;5538: PC_SourceError(handle, "end of file inside menu\n"); ADDRFP4 0 INDIRI4 ARGI4 ADDRGP4 $2554 ARGP4 ADDRGP4 PC_SourceError CALLV pop line 5539 ;5539: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2543 JUMPV LABELV $2552 line 5542 ;5540: } ;5541: ;5542: if (*token.string == '}') { ADDRLP4 0+16 INDIRI1 CVII4 1 CNSTI4 125 NEI4 $2555 line 5543 ;5543: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $2543 JUMPV LABELV $2555 line 5546 ;5544: } ;5545: ;5546: key = KeywordHash_Find(menuParseKeywordHash, token.string); ADDRGP4 menuParseKeywordHash ARGP4 ADDRLP4 0+16 ARGP4 ADDRLP4 1052 ADDRGP4 KeywordHash_Find CALLP4 ASGNP4 ADDRLP4 1040 ADDRLP4 1052 INDIRP4 ASGNP4 line 5547 ;5547: if (!key) { ADDRLP4 1040 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $2559 line 5548 ;5548: PC_SourceError(handle, "unknown menu keyword %s", token.string); ADDRFP4 0 INDIRI4 ARGI4 ADDRGP4 $2561 ARGP4 ADDRLP4 0+16 ARGP4 ADDRGP4 PC_SourceError CALLV pop line 5549 ;5549: continue; ADDRGP4 $2550 JUMPV LABELV $2559 line 5551 ;5550: } ;5551: if ( !key->func((itemDef_t*)menu, handle) ) { ADDRFP4 4 INDIRP4 ARGP4 ADDRFP4 0 INDIRI4 ARGI4 ADDRLP4 1056 ADDRLP4 1040 INDIRP4 CNSTI4 4 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 1056 INDIRI4 CNSTI4 0 NEI4 $2563 line 5552 ;5552: PC_SourceError(handle, "couldn't parse menu keyword %s", token.string); ADDRFP4 0 INDIRI4 ARGI4 ADDRGP4 $2565 ARGP4 ADDRLP4 0+16 ARGP4 ADDRGP4 PC_SourceError CALLV pop line 5553 ;5553: return qfalse; CNSTI4 0 RETI4 ADDRGP4 $2543 JUMPV LABELV $2563 line 5555 ;5554: } ;5555: } LABELV $2550 line 5534 ADDRGP4 $2549 JUMPV line 5556 ;5556: return qfalse; // bk001205 - LCC missing return value CNSTI4 0 RETI4 LABELV $2543 endproc Menu_Parse 1060 12 export Menu_New proc Menu_New 12 8 line 5564 ;5557:} ;5558: ;5559:/* ;5560:=============== ;5561:Menu_New ;5562:=============== ;5563:*/ ;5564:void Menu_New(int handle) { line 5565 ;5565: menuDef_t *menu = &Menus[menuCount]; ADDRLP4 0 CNSTI4 644 ADDRGP4 menuCount INDIRI4 MULI4 ADDRGP4 Menus ADDP4 ASGNP4 line 5567 ;5566: ;5567: if (menuCount < MAX_MENUS) { ADDRGP4 menuCount INDIRI4 CNSTI4 64 GEI4 $2568 line 5568 ;5568: Menu_Init(menu); ADDRLP4 0 INDIRP4 ARGP4 ADDRGP4 Menu_Init CALLV pop line 5569 ;5569: if (Menu_Parse(handle, menu)) { ADDRFP4 0 INDIRI4 ARGI4 ADDRLP4 0 INDIRP4 ARGP4 ADDRLP4 4 ADDRGP4 Menu_Parse CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $2570 line 5570 ;5570: Menu_PostParse(menu); ADDRLP4 0 INDIRP4 ARGP4 ADDRGP4 Menu_PostParse CALLV pop line 5571 ;5571: menuCount++; ADDRLP4 8 ADDRGP4 menuCount ASGNP4 ADDRLP4 8 INDIRP4 ADDRLP4 8 INDIRP4 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 line 5572 ;5572: } LABELV $2570 line 5573 ;5573: } LABELV $2568 line 5574 ;5574:} LABELV $2567 endproc Menu_New 12 8 export Menu_Count proc Menu_Count 0 0 line 5576 ;5575: ;5576:int Menu_Count() { line 5577 ;5577: return menuCount; ADDRGP4 menuCount INDIRI4 RETI4 LABELV $2572 endproc Menu_Count 0 0 lit align 4 LABELV $2582 byte 4 1065353216 byte 4 1065353216 byte 4 1065353216 byte 4 1065353216 export Menu_PaintAll code proc Menu_PaintAll 32 32 line 5580 ;5578:} ;5579: ;5580:void Menu_PaintAll() { line 5582 ;5581: int i; ;5582: if (captureFunc) { ADDRGP4 captureFunc INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $2574 line 5583 ;5583: captureFunc(captureData); ADDRGP4 captureData INDIRP4 ARGP4 ADDRGP4 captureFunc INDIRP4 CALLV pop line 5584 ;5584: } LABELV $2574 line 5586 ;5585: ;5586: for (i = 0; i < Menu_Count(); i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $2579 JUMPV LABELV $2576 line 5587 ;5587: Menu_Paint(&Menus[i], qfalse); CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus ADDP4 ARGP4 CNSTI4 0 ARGI4 ADDRGP4 Menu_Paint CALLV pop line 5588 ;5588: } LABELV $2577 line 5586 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $2579 ADDRLP4 4 ADDRGP4 Menu_Count CALLI4 ASGNI4 ADDRLP4 0 INDIRI4 ADDRLP4 4 INDIRI4 LTI4 $2576 line 5590 ;5589: ;5590: if (debugMode) { ADDRGP4 debugMode INDIRI4 CNSTI4 0 EQI4 $2580 line 5591 ;5591: vec4_t v = {1, 1, 1, 1}; ADDRLP4 8 ADDRGP4 $2582 INDIRB ASGNB 16 line 5592 ;5592: DC->drawText(5, 25, .5, v, va("fps: %f", DC->FPS), 0, 0, 0); ADDRGP4 $2583 ARGP4 ADDRGP4 DC INDIRP4 CNSTI4 73412 ADDP4 INDIRF4 ARGF4 ADDRLP4 24 ADDRGP4 va CALLP4 ASGNP4 CNSTF4 1084227584 ARGF4 CNSTF4 1103626240 ARGF4 CNSTF4 1056964608 ARGF4 ADDRLP4 8 ARGP4 ADDRLP4 24 INDIRP4 ARGP4 CNSTF4 0 ARGF4 ADDRLP4 28 CNSTI4 0 ASGNI4 ADDRLP4 28 INDIRI4 ARGI4 ADDRLP4 28 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 16 ADDP4 INDIRP4 CALLV pop line 5593 ;5593: } LABELV $2580 line 5594 ;5594:} LABELV $2573 endproc Menu_PaintAll 32 32 export Menu_Reset proc Menu_Reset 0 0 line 5596 ;5595: ;5596:void Menu_Reset() { line 5597 ;5597: menuCount = 0; ADDRGP4 menuCount CNSTI4 0 ASGNI4 line 5598 ;5598:} LABELV $2584 endproc Menu_Reset 0 0 export Display_GetContext proc Display_GetContext 0 0 line 5600 ;5599: ;5600:displayContextDef_t *Display_GetContext() { line 5601 ;5601: return DC; ADDRGP4 DC INDIRP4 RETP4 LABELV $2585 endproc Display_GetContext 0 0 export Display_CaptureItem proc Display_CaptureItem 8 12 line 5609 ;5602:} ;5603: ;5604:#ifndef MISSIONPACK // bk001206 ;5605:static float captureX; ;5606:static float captureY; ;5607:#endif ;5608: ;5609:void *Display_CaptureItem(int x, int y) { line 5612 ;5610: int i; ;5611: ;5612: for (i = 0; i < menuCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $2590 JUMPV LABELV $2587 line 5615 ;5613: // turn off focus each item ;5614: // menu->items[i].window.flags &= ~WINDOW_HASFOCUS; ;5615: if (Rect_ContainsPoint(&Menus[i].window.rect, x, y)) { CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus ADDP4 ARGP4 ADDRFP4 0 INDIRI4 CVIF4 4 ARGF4 ADDRFP4 4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 4 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $2591 line 5616 ;5616: return &Menus[i]; CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus ADDP4 RETP4 ADDRGP4 $2586 JUMPV LABELV $2591 line 5618 ;5617: } ;5618: } LABELV $2588 line 5612 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $2590 ADDRLP4 0 INDIRI4 ADDRGP4 menuCount INDIRI4 LTI4 $2587 line 5619 ;5619: return NULL; CNSTP4 0 RETP4 LABELV $2586 endproc Display_CaptureItem 8 12 export Display_MouseMove proc Display_MouseMove 16 12 line 5624 ;5620:} ;5621: ;5622: ;5623:// FIXME: ;5624:qboolean Display_MouseMove(void *p, int x, int y) { line 5626 ;5625: int i; ;5626: menuDef_t *menu = p; ADDRLP4 4 ADDRFP4 0 INDIRP4 ASGNP4 line 5628 ;5627: ;5628: if (menu == NULL) { ADDRLP4 4 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $2594 line 5629 ;5629: menu = Menu_GetFocused(); ADDRLP4 8 ADDRGP4 Menu_GetFocused CALLP4 ASGNP4 ADDRLP4 4 ADDRLP4 8 INDIRP4 ASGNP4 line 5630 ;5630: if (menu) { ADDRLP4 4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $2596 line 5631 ;5631: if (menu->window.flags & WINDOW_POPUP) { ADDRLP4 4 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 2097152 BANDI4 CNSTI4 0 EQI4 $2598 line 5632 ;5632: Menu_HandleMouseMove(menu, x, y); ADDRLP4 4 INDIRP4 ARGP4 ADDRFP4 4 INDIRI4 CVIF4 4 ARGF4 ADDRFP4 8 INDIRI4 CVIF4 4 ARGF4 ADDRGP4 Menu_HandleMouseMove CALLV pop line 5633 ;5633: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $2593 JUMPV LABELV $2598 line 5635 ;5634: } ;5635: } LABELV $2596 line 5636 ;5636: for (i = 0; i < menuCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $2603 JUMPV LABELV $2600 line 5637 ;5637: Menu_HandleMouseMove(&Menus[i], x, y); CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus ADDP4 ARGP4 ADDRFP4 4 INDIRI4 CVIF4 4 ARGF4 ADDRFP4 8 INDIRI4 CVIF4 4 ARGF4 ADDRGP4 Menu_HandleMouseMove CALLV pop line 5638 ;5638: } LABELV $2601 line 5636 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $2603 ADDRLP4 0 INDIRI4 ADDRGP4 menuCount INDIRI4 LTI4 $2600 line 5639 ;5639: } else { ADDRGP4 $2595 JUMPV LABELV $2594 line 5640 ;5640: menu->window.rect.x += x; ADDRLP4 4 INDIRP4 ADDRLP4 4 INDIRP4 INDIRF4 ADDRFP4 4 INDIRI4 CVIF4 4 ADDF4 ASGNF4 line 5641 ;5641: menu->window.rect.y += y; ADDRLP4 12 ADDRLP4 4 INDIRP4 CNSTI4 4 ADDP4 ASGNP4 ADDRLP4 12 INDIRP4 ADDRLP4 12 INDIRP4 INDIRF4 ADDRFP4 8 INDIRI4 CVIF4 4 ADDF4 ASGNF4 line 5642 ;5642: Menu_UpdatePosition(menu); ADDRLP4 4 INDIRP4 ARGP4 ADDRGP4 Menu_UpdatePosition CALLV pop line 5643 ;5643: } LABELV $2595 line 5644 ;5644: return qtrue; CNSTI4 1 RETI4 LABELV $2593 endproc Display_MouseMove 16 12 export Display_CursorType proc Display_CursorType 28 12 line 5648 ;5645: ;5646:} ;5647: ;5648:int Display_CursorType(int x, int y) { line 5650 ;5649: int i; ;5650: for (i = 0; i < menuCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $2608 JUMPV LABELV $2605 line 5652 ;5651: rectDef_t r2; ;5652: r2.x = Menus[i].window.rect.x - 3; ADDRLP4 4 CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus ADDP4 INDIRF4 CNSTF4 1077936128 SUBF4 ASGNF4 line 5653 ;5653: r2.y = Menus[i].window.rect.y - 3; ADDRLP4 4+4 CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus+4 ADDP4 INDIRF4 CNSTF4 1077936128 SUBF4 ASGNF4 line 5654 ;5654: r2.w = r2.h = 7; ADDRLP4 20 CNSTF4 1088421888 ASGNF4 ADDRLP4 4+12 ADDRLP4 20 INDIRF4 ASGNF4 ADDRLP4 4+8 ADDRLP4 20 INDIRF4 ASGNF4 line 5655 ;5655: if (Rect_ContainsPoint(&r2, x, y)) { ADDRLP4 4 ARGP4 ADDRFP4 0 INDIRI4 CVIF4 4 ARGF4 ADDRFP4 4 INDIRI4 CVIF4 4 ARGF4 ADDRLP4 24 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 24 INDIRI4 CNSTI4 0 EQI4 $2613 line 5656 ;5656: return CURSOR_SIZER; CNSTI4 4 RETI4 ADDRGP4 $2604 JUMPV LABELV $2613 line 5658 ;5657: } ;5658: } LABELV $2606 line 5650 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $2608 ADDRLP4 0 INDIRI4 ADDRGP4 menuCount INDIRI4 LTI4 $2605 line 5659 ;5659: return CURSOR_ARROW; CNSTI4 2 RETI4 LABELV $2604 endproc Display_CursorType 28 12 export Display_HandleKey proc Display_HandleKey 12 12 line 5663 ;5660:} ;5661: ;5662: ;5663:void Display_HandleKey(int key, qboolean down, int x, int y) { line 5664 ;5664: menuDef_t *menu = Display_CaptureItem(x, y); ADDRFP4 8 INDIRI4 ARGI4 ADDRFP4 12 INDIRI4 ARGI4 ADDRLP4 4 ADDRGP4 Display_CaptureItem CALLP4 ASGNP4 ADDRLP4 0 ADDRLP4 4 INDIRP4 ASGNP4 line 5665 ;5665: if (menu == NULL) { ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 NEU4 $2616 line 5666 ;5666: menu = Menu_GetFocused(); ADDRLP4 8 ADDRGP4 Menu_GetFocused CALLP4 ASGNP4 ADDRLP4 0 ADDRLP4 8 INDIRP4 ASGNP4 line 5667 ;5667: } LABELV $2616 line 5668 ;5668: if (menu) { ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $2618 line 5669 ;5669: Menu_HandleKey(menu, key, down ); ADDRLP4 0 INDIRP4 ARGP4 ADDRFP4 0 INDIRI4 ARGI4 ADDRFP4 4 INDIRI4 ARGI4 ADDRGP4 Menu_HandleKey CALLV pop line 5670 ;5670: } LABELV $2618 line 5671 ;5671:} LABELV $2615 endproc Display_HandleKey 12 12 proc Window_CacheContents 12 20 line 5673 ;5672: ;5673:static void Window_CacheContents(windowDef_t *window) { line 5674 ;5674: if (window) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $2621 line 5675 ;5675: if (window->cinematicName) { ADDRFP4 0 INDIRP4 CNSTI4 40 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $2623 line 5676 ;5676: int cin = DC->playCinematic(window->cinematicName, 0, 0, 0, 0); ADDRFP4 0 INDIRP4 CNSTI4 40 ADDP4 INDIRP4 ARGP4 ADDRLP4 4 CNSTF4 0 ASGNF4 ADDRLP4 4 INDIRF4 ARGF4 ADDRLP4 4 INDIRF4 ARGF4 ADDRLP4 4 INDIRF4 ARGF4 ADDRLP4 4 INDIRF4 ARGF4 ADDRLP4 8 ADDRGP4 DC INDIRP4 CNSTI4 180 ADDP4 INDIRP4 CALLI4 ASGNI4 ADDRLP4 0 ADDRLP4 8 INDIRI4 ASGNI4 line 5677 ;5677: DC->stopCinematic(cin); ADDRLP4 0 INDIRI4 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 184 ADDP4 INDIRP4 CALLV pop line 5678 ;5678: } LABELV $2623 line 5679 ;5679: } LABELV $2621 line 5680 ;5680:} LABELV $2620 endproc Window_CacheContents 12 20 proc Item_CacheContents 0 4 line 5683 ;5681: ;5682: ;5683:static void Item_CacheContents(itemDef_t *item) { line 5684 ;5684: if (item) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $2626 line 5685 ;5685: Window_CacheContents(&item->window); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Window_CacheContents CALLV pop line 5686 ;5686: } LABELV $2626 line 5688 ;5687: ;5688:} LABELV $2625 endproc Item_CacheContents 0 4 proc Menu_CacheContents 8 8 line 5690 ;5689: ;5690:static void Menu_CacheContents(menuDef_t *menu) { line 5691 ;5691: if (menu) { ADDRFP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $2629 line 5693 ;5692: int i; ;5693: Window_CacheContents(&menu->window); ADDRFP4 0 INDIRP4 ARGP4 ADDRGP4 Window_CacheContents CALLV pop line 5694 ;5694: for (i = 0; i < menu->itemCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $2634 JUMPV LABELV $2631 line 5695 ;5695: Item_CacheContents(menu->items[i]); ADDRLP4 0 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ARGP4 ADDRGP4 Item_CacheContents CALLV pop line 5696 ;5696: } LABELV $2632 line 5694 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $2634 ADDRLP4 0 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $2631 line 5698 ;5697: ;5698: if (menu->soundName && *menu->soundName) { ADDRLP4 4 ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 ASGNP4 ADDRLP4 4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $2635 ADDRLP4 4 INDIRP4 INDIRI1 CVII4 1 CNSTI4 0 EQI4 $2635 line 5699 ;5699: DC->registerSound(menu->soundName, qfalse); ADDRFP4 0 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 ARGP4 CNSTI4 0 ARGI4 ADDRGP4 DC INDIRP4 CNSTI4 168 ADDP4 INDIRP4 CALLI4 pop line 5700 ;5700: } LABELV $2635 line 5701 ;5701: } LABELV $2629 line 5703 ;5702: ;5703:} LABELV $2628 endproc Menu_CacheContents 8 8 export Display_CacheAll proc Display_CacheAll 4 4 line 5705 ;5704: ;5705:void Display_CacheAll() { line 5707 ;5706: int i; ;5707: for (i = 0; i < menuCount; i++) { ADDRLP4 0 CNSTI4 0 ASGNI4 ADDRGP4 $2641 JUMPV LABELV $2638 line 5708 ;5708: Menu_CacheContents(&Menus[i]); CNSTI4 644 ADDRLP4 0 INDIRI4 MULI4 ADDRGP4 Menus ADDP4 ARGP4 ADDRGP4 Menu_CacheContents CALLV pop line 5709 ;5709: } LABELV $2639 line 5707 ADDRLP4 0 ADDRLP4 0 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $2641 ADDRLP4 0 INDIRI4 ADDRGP4 menuCount INDIRI4 LTI4 $2638 line 5710 ;5710:} LABELV $2637 endproc Display_CacheAll 4 4 proc Menu_OverActiveItem 32 12 line 5713 ;5711: ;5712: ;5713:static qboolean Menu_OverActiveItem(menuDef_t *menu, float x, float y) { line 5714 ;5714: if (menu && menu->window.flags & (WINDOW_VISIBLE | WINDOW_FORCED)) { ADDRLP4 0 ADDRFP4 0 INDIRP4 ASGNP4 ADDRLP4 0 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $2643 ADDRLP4 0 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 1048580 BANDI4 CNSTI4 0 EQI4 $2643 line 5715 ;5715: if (Rect_ContainsPoint(&menu->window.rect, x, y)) { ADDRFP4 0 INDIRP4 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 4 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 4 INDIRI4 CNSTI4 0 EQI4 $2645 line 5717 ;5716: int i; ;5717: for (i = 0; i < menu->itemCount; i++) { ADDRLP4 8 CNSTI4 0 ASGNI4 ADDRGP4 $2650 JUMPV LABELV $2647 line 5721 ;5718: // turn off focus each item ;5719: // menu->items[i].window.flags &= ~WINDOW_HASFOCUS; ;5720: ;5721: if (!(menu->items[i]->window.flags & (WINDOW_VISIBLE | WINDOW_FORCED))) { ADDRLP4 8 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 1048580 BANDI4 CNSTI4 0 NEI4 $2651 line 5722 ;5722: continue; ADDRGP4 $2648 JUMPV LABELV $2651 line 5725 ;5723: } ;5724: ;5725: if (menu->items[i]->window.flags & WINDOW_DECORATION) { ADDRLP4 8 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 CNSTI4 68 ADDP4 INDIRI4 CNSTI4 16 BANDI4 CNSTI4 0 EQI4 $2653 line 5726 ;5726: continue; ADDRGP4 $2648 JUMPV LABELV $2653 line 5729 ;5727: } ;5728: ;5729: if (Rect_ContainsPoint(&menu->items[i]->window.rect, x, y)) { ADDRLP4 8 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 12 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 12 INDIRI4 CNSTI4 0 EQI4 $2655 line 5730 ;5730: itemDef_t *overItem = menu->items[i]; ADDRLP4 16 ADDRLP4 8 INDIRI4 CNSTI4 2 LSHI4 ADDRFP4 0 INDIRP4 CNSTI4 260 ADDP4 ADDP4 INDIRP4 ASGNP4 line 5731 ;5731: if (overItem->type == ITEM_TYPE_TEXT && overItem->text) { ADDRLP4 16 INDIRP4 CNSTI4 196 ADDP4 INDIRI4 CNSTI4 0 NEI4 $2657 ADDRLP4 16 INDIRP4 CNSTI4 224 ADDP4 INDIRP4 CVPU4 4 CNSTU4 0 EQU4 $2657 line 5732 ;5732: if (Rect_ContainsPoint(Item_CorrectedTextRect(overItem), x, y)) { ADDRLP4 16 INDIRP4 ARGP4 ADDRLP4 24 ADDRGP4 Item_CorrectedTextRect CALLP4 ASGNP4 ADDRLP4 24 INDIRP4 ARGP4 ADDRFP4 4 INDIRF4 ARGF4 ADDRFP4 8 INDIRF4 ARGF4 ADDRLP4 28 ADDRGP4 Rect_ContainsPoint CALLI4 ASGNI4 ADDRLP4 28 INDIRI4 CNSTI4 0 EQI4 $2648 line 5733 ;5733: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $2642 JUMPV line 5734 ;5734: } else { line 5735 ;5735: continue; LABELV $2657 line 5737 ;5736: } ;5737: } else { line 5738 ;5738: return qtrue; CNSTI4 1 RETI4 ADDRGP4 $2642 JUMPV LABELV $2655 line 5741 ;5739: } ;5740: } ;5741: } LABELV $2648 line 5717 ADDRLP4 8 ADDRLP4 8 INDIRI4 CNSTI4 1 ADDI4 ASGNI4 LABELV $2650 ADDRLP4 8 INDIRI4 ADDRFP4 0 INDIRP4 CNSTI4 188 ADDP4 INDIRI4 LTI4 $2647 line 5743 ;5742: ;5743: } LABELV $2645 line 5744 ;5744: } LABELV $2643 line 5745 ;5745: return qfalse; CNSTI4 0 RETI4 LABELV $2642 endproc Menu_OverActiveItem 32 12 bss align 4 LABELV captureY skip 4 align 4 LABELV captureX skip 4 export menuParseKeywordHash align 4 LABELV menuParseKeywordHash skip 2048 export itemParseKeywordHash align 4 LABELV itemParseKeywordHash skip 2048 export g_nameBind2 align 1 LABELV g_nameBind2 skip 32 export g_nameBind1 align 1 LABELV g_nameBind1 skip 32 align 4 LABELV strHandle skip 8192 align 1 LABELV strPool skip 393216 align 4 LABELV outOfMemory skip 4 align 4 LABELV allocPoint skip 4 align 1 LABELV memoryPool skip 1048576 export menuStack align 4 LABELV menuStack skip 64 export Menus align 4 LABELV Menus skip 41216 align 4 LABELV scrollInfo skip 32 import trap_PC_SourceFileAndLine import trap_PC_ReadToken import trap_PC_FreeSource import trap_PC_LoadSource import trap_PC_AddGlobalDefine import Script_Parse import Display_ExpandMacros import Com_Printf import Com_Error import Info_NextPair import Info_Validate import Info_SetValueForKey_Big import Info_SetValueForKey import Info_RemoveKey_big import Info_RemoveKey import Info_ValueForKey import va import Q_CleanStr import Q_PrintStrlen import Q_strcat import Q_strncpyz import Q_strrchr import Q_strupr import Q_strlwr import Q_stricmpn import Q_strncmp import Q_stricmp import Q_isalpha import Q_isupper import Q_islower import Q_isprint import Com_sprintf import Parse3DMatrix import Parse2DMatrix import Parse1DMatrix import SkipRestOfLine import SkipBracedSection import COM_MatchToken import COM_ParseWarning import COM_ParseError import COM_Compress import COM_ParseExt import COM_Parse import COM_GetCurrentParseLine import COM_BeginParseSession import COM_DefaultExtension import COM_StripExtension import COM_SkipPath import Com_Clamp import PerpendicularVector import AngleVectors import MatrixMultiply import MakeNormalVectors import RotateAroundDirection import RotatePointAroundVector import ProjectPointOnPlane import PlaneFromPoints import AngleDelta import AngleNormalize180 import AngleNormalize360 import AnglesSubtract import AngleSubtract import LerpAngle import AngleMod import BoxOnPlaneSide import SetPlaneSignbits import AxisCopy import AxisClear import AnglesToAxis import vectoangles import Q_crandom import Q_random import Q_rand import Q_acos import Q_log2 import VectorRotate import Vector4Scale import VectorNormalize2 import VectorNormalize import CrossProduct import VectorInverse import VectorNormalizeFast import DistanceSquared import Distance import VectorLengthSquared import VectorLength import VectorCompare import AddPointToBounds import ClearBounds import RadiusFromBounds import NormalizeColor import ColorBytes4 import ColorBytes3 import _VectorMA import _VectorScale import _VectorCopy import _VectorAdd import _VectorSubtract import _DotProduct import ByteToDir import DirToByte import ClampShort import ClampChar import Q_rsqrt import Q_fabs import axisDefault import vec3_origin import g_color_table import colorDkGrey import colorMdGrey import colorLtGrey import colorWhite import colorCyan import colorMagenta import colorYellow import colorBlue import colorGreen import colorRed import colorBlack import bytedirs import Com_Memcpy import Com_Memset import Hunk_Alloc import FloatSwap import LongSwap import ShortSwap import acos import fabs import abs import tan import atan2 import cos import sin import sqrt import floor import ceil import memcpy import memset import memmove import sscanf import vsprintf import _atoi import atoi import _atof import atof import toupper import tolower import strncpy import strstr import strchr import strcmp import strcpy import strcat import strlen import rand import srand import qsort lit align 1 LABELV $2583 byte 1 102 byte 1 112 byte 1 115 byte 1 58 byte 1 32 byte 1 37 byte 1 102 byte 1 0 align 1 LABELV $2565 byte 1 99 byte 1 111 byte 1 117 byte 1 108 byte 1 100 byte 1 110 byte 1 39 byte 1 116 byte 1 32 byte 1 112 byte 1 97 byte 1 114 byte 1 115 byte 1 101 byte 1 32 byte 1 109 byte 1 101 byte 1 110 byte 1 117 byte 1 32 byte 1 107 byte 1 101 byte 1 121 byte 1 119 byte 1 111 byte 1 114 byte 1 100 byte 1 32 byte 1 37 byte 1 115 byte 1 0 align 1 LABELV $2561 byte 1 117 byte 1 110 byte 1 107 byte 1 110 byte 1 111 byte 1 119 byte 1 110 byte 1 32 byte 1 109 byte 1 101 byte 1 110 byte 1 117 byte 1 32 byte 1 107 byte 1 101 byte 1 121 byte 1 119 byte 1 111 byte 1 114 byte 1 100 byte 1 32 byte 1 37 byte 1 115 byte 1 0 align 1 LABELV $2554 byte 1 101 byte 1 110 byte 1 100 byte 1 32 byte 1 111 byte 1 102 byte 1 32 byte 1 102 byte 1 105 byte 1 108 byte 1 101 byte 1 32 byte 1 105 byte 1 110 byte 1 115 byte 1 105 byte 1 100 byte 1 101 byte 1 32 byte 1 109 byte 1 101 byte 1 110 byte 1 117 byte 1 10 byte 1 0 align 1 LABELV $2537 byte 1 102 byte 1 97 byte 1 100 byte 1 101 byte 1 65 byte 1 109 byte 1 111 byte 1 117 byte 1 110 byte 1 116 byte 1 0 align 1 LABELV $2536 byte 1 102 byte 1 97 byte 1 100 byte 1 101 byte 1 67 byte 1 121 byte 1 99 byte 1 108 byte 1 101 byte 1 0 align 1 LABELV $2535 byte 1 102 byte 1 97 byte 1 100 byte 1 101 byte 1 67 byte 1 108 byte 1 97 byte 1 109 byte 1 112 byte 1 0 align 1 LABELV $2534 byte 1 112 byte 1 111 byte 1 112 byte 1 117 byte 1 112 byte 1 0 align 1 LABELV $2533 byte 1 105 byte 1 116 byte 1 101 byte 1 109 byte 1 68 byte 1 101 byte 1 102 byte 1 0 align 1 LABELV $2532 byte 1 115 byte 1 111 byte 1 117 byte 1 110 byte 1 100 byte 1 76 byte 1 111 byte 1 111 byte 1 112 byte 1 0 align 1 LABELV $2531 byte 1 111 byte 1 117 byte 1 116 byte 1 79 byte 1 102 byte 1 66 byte 1 111 byte 1 117 byte 1 110 byte 1 100 byte 1 115 byte 1 67 byte 1 108 byte 1 105 byte 1 99 byte 1 107 byte 1 0 align 1 LABELV $2530 byte 1 100 byte 1 105 byte 1 115 byte 1 97 byte 1 98 byte 1 108 byte 1 101 byte 1 99 byte 1 111 byte 1 108 byte 1 111 byte 1 114 byte 1 0 align 1 LABELV $2529 byte 1 102 byte 1 111 byte 1 99 byte 1 117 byte 1 115 byte 1 99 byte 1 111 byte 1 108 byte 1 111 byte 1 114 byte 1 0 align 1 LABELV $2528 byte 1 98 byte 1 111 byte 1 114 byte 1 100 byte 1 101 byte 1 114 byte 1 83 byte 1 105 byte 1 122 byte 1 101 byte 1 0 align 1 LABELV $2527 byte 1 111 byte 1 110 byte 1 69 byte 1 83 byte 1 67 byte 1 0 align 1 LABELV $2526 byte 1 111 byte 1 110 byte 1 67 byte 1 108 byte 1 111 byte 1 115 byte 1 101 byte 1 0 align 1 LABELV $2525 byte 1 111 byte 1 110 byte 1 79 byte 1 112 byte 1 101 byte 1 110 byte 1 0 align 1 LABELV $2524 byte 1 102 byte 1 117 byte 1 108 byte 1 108 byte 1 115 byte 1 99 byte 1 114 byte 1 101 byte 1 101 byte 1 110 byte 1 0 align 1 LABELV $2523 byte 1 102 byte 1 111 byte 1 110 byte 1 116 byte 1 0 align 1 LABELV $2424 byte 1 109 byte 1 97 byte 1 105 byte 1 110 byte 1 0 align 1 LABELV $2405 byte 1 99 byte 1 111 byte 1 117 byte 1 108 byte 1 100 byte 1 110 byte 1 39 byte 1 116 byte 1 32 byte 1 112 byte 1 97 byte 1 114 byte 1 115 byte 1 101 byte 1 32 byte 1 109 byte 1 101 byte 1 110 byte 1 117 byte 1 32 byte 1 105 byte 1 116 byte 1 101 byte 1 109 byte 1 32 byte 1 107 byte 1 101 byte 1 121 byte 1 119 byte 1 111 byte 1 114 byte 1 100 byte 1 32 byte 1 37 byte 1 115 byte 1 0 align 1 LABELV $2401 byte 1 117 byte 1 110 byte 1 107 byte 1 110 byte 1 111 byte 1 119 byte 1 110 byte 1 32 byte 1 109 byte 1 101 byte 1 110 byte 1 117 byte 1 32 byte 1 105 byte 1 116 byte 1 101 byte 1 109 byte 1 32 byte 1 107 byte 1 101 byte 1 121 byte 1 119 byte 1 111 byte 1 114 byte 1 100 byte 1 32 byte 1 37 byte 1 115 byte 1 0 align 1 LABELV $2378 byte 1 100 byte 1 111 byte 1 117 byte 1 98 byte 1 108 byte 1 101 byte 1 99 byte 1 108 byte 1 105 byte 1 99 byte 1 107 byte 1 0 align 1 LABELV $2377 byte 1 99 byte 1 105 byte 1 110 byte 1 101 byte 1 109 byte 1 97 byte 1 116 byte 1 105 byte 1 99 byte 1 0 align 1 LABELV $2376 byte 1 104 byte 1 105 byte 1 100 byte 1 101 byte 1 67 byte 1 118 byte 1 97 byte 1 114 byte 1 0 align 1 LABELV $2375 byte 1 115 byte 1 104 byte 1 111 byte 1 119 byte 1 67 byte 1 118 byte 1 97 byte 1 114 byte 1 0 align 1 LABELV $2374 byte 1 100 byte 1 105 byte 1 115 byte 1 97 byte 1 98 byte 1 108 byte 1 101 byte 1 67 byte 1 118 byte 1 97 byte 1 114 byte 1 0 align 1 LABELV $2373 byte 1 99 byte 1 118 byte 1 97 byte 1 114 byte 1 84 byte 1 101 byte 1 115 byte 1 116 byte 1 0 align 1 LABELV $2372 byte 1 101 byte 1 110 byte 1 97 byte 1 98 byte 1 108 byte 1 101 byte 1 67 byte 1 118 byte 1 97 byte 1 114 byte 1 0 align 1 LABELV $2371 byte 1 111 byte 1 119 byte 1 110 byte 1 101 byte 1 114 byte 1 100 byte 1 114 byte 1 97 byte 1 119 byte 1 70 byte 1 108 byte 1 97 byte 1 103 byte 1 0 align 1 LABELV $2370 byte 1 97 byte 1 100 byte 1 100 byte 1 67 byte 1 111 byte 1 108 byte 1 111 byte 1 114 byte 1 82 byte 1 97 byte 1 110 byte 1 103 byte 1 101 byte 1 0 align 1 LABELV $2369 byte 1 99 byte 1 118 byte 1 97 byte 1 114 byte 1 70 byte 1 108 byte 1 111 byte 1 97 byte 1 116 byte 1 76 byte 1 105 byte 1 115 byte 1 116 byte 1 0 align 1 LABELV $2368 byte 1 99 byte 1 118 byte 1 97 byte 1 114 byte 1 83 byte 1 116 byte 1 114 byte 1 76 byte 1 105 byte 1 115 byte 1 116 byte 1 0 align 1 LABELV $2367 byte 1 99 byte 1 118 byte 1 97 byte 1 114 byte 1 70 byte 1 108 byte 1 111 byte 1 97 byte 1 116 byte 1 0 align 1 LABELV $2366 byte 1 102 byte 1 111 byte 1 99 byte 1 117 byte 1 115 byte 1 83 byte 1 111 byte 1 117 byte 1 110 byte 1 100 byte 1 0 align 1 LABELV $2365 byte 1 109 byte 1 97 byte 1 120 byte 1 80 byte 1 97 byte 1 105 byte 1 110 byte 1 116 byte 1 67 byte 1 104 byte 1 97 byte 1 114 byte 1 115 byte 1 0 align 1 LABELV $2364 byte 1 109 byte 1 97 byte 1 120 byte 1 67 byte 1 104 byte 1 97 byte 1 114 byte 1 115 byte 1 0 align 1 LABELV $2363 byte 1 99 byte 1 118 byte 1 97 byte 1 114 byte 1 0 align 1 LABELV $2362 byte 1 115 byte 1 112 byte 1 101 byte 1 99 byte 1 105 byte 1 97 byte 1 108 byte 1 0 align 1 LABELV $2361 byte 1 97 byte 1 99 byte 1 116 byte 1 105 byte 1 111 byte 1 110 byte 1 0 align 1 LABELV $2360 byte 1 109 byte 1 111 byte 1 117 byte 1 115 byte 1 101 byte 1 69 byte 1 120 byte 1 105 byte 1 116 byte 1 84 byte 1 101 byte 1 120 byte 1 116 byte 1 0 align 1 LABELV $2359 byte 1 109 byte 1 111 byte 1 117 byte 1 115 byte 1 101 byte 1 69 byte 1 110 byte 1 116 byte 1 101 byte 1 114 byte 1 84 byte 1 101 byte 1 120 byte 1 116 byte 1 0 align 1 LABELV $2358 byte 1 109 byte 1 111 byte 1 117 byte 1 115 byte 1 101 byte 1 69 byte 1 120 byte 1 105 byte 1 116 byte 1 0 align 1 LABELV $2357 byte 1 109 byte 1 111 byte 1 117 byte 1 115 byte 1 101 byte 1 69 byte 1 110 byte 1 116 byte 1 101 byte 1 114 byte 1 0 align 1 LABELV $2356 byte 1 108 byte 1 101 byte 1 97 byte 1 118 byte 1 101 byte 1 70 byte 1 111 byte 1 99 byte 1 117 byte 1 115 byte 1 0 align 1 LABELV $2355 byte 1 111 byte 1 110 byte 1 70 byte 1 111 byte 1 99 byte 1 117 byte 1 115 byte 1 0 align 1 LABELV $2354 byte 1 98 byte 1 97 byte 1 99 byte 1 107 byte 1 103 byte 1 114 byte 1 111 byte 1 117 byte 1 110 byte 1 100 byte 1 0 align 1 LABELV $2353 byte 1 111 byte 1 117 byte 1 116 byte 1 108 byte 1 105 byte 1 110 byte 1 101 byte 1 99 byte 1 111 byte 1 108 byte 1 111 byte 1 114 byte 1 0 align 1 LABELV $2352 byte 1 116 byte 1 101 byte 1 120 byte 1 116 byte 1 115 byte 1 116 byte 1 121 byte 1 108 byte 1 101 byte 1 0 align 1 LABELV $2351 byte 1 116 byte 1 101 byte 1 120 byte 1 116 byte 1 115 byte 1 99 byte 1 97 byte 1 108 byte 1 101 byte 1 0 align 1 LABELV $2350 byte 1 116 byte 1 101 byte 1 120 byte 1 116 byte 1 97 byte 1 108 byte 1 105 byte 1 103 byte 1 110 byte 1 121 byte 1 0 align 1 LABELV $2349 byte 1 116 byte 1 101 byte 1 120 byte 1 116 byte 1 97 byte 1 108 byte 1 105 byte 1 103 byte 1 110 byte 1 120 byte 1 0 align 1 LABELV $2348 byte 1 116 byte 1 101 byte 1 120 byte 1 116 byte 1 97 byte 1 108 byte 1 105 byte 1 103 byte 1 110 byte 1 0 align 1 LABELV $2347 byte 1 97 byte 1 108 byte 1 105 byte 1 103 byte 1 110 byte 1 0 align 1 LABELV $2346 byte 1 111 byte 1 119 byte 1 110 byte 1 101 byte 1 114 byte 1 100 byte 1 114 byte 1 97 byte 1 119 byte 1 0 align 1 LABELV $2345 byte 1 118 byte 1 105 byte 1 115 byte 1 105 byte 1 98 byte 1 108 byte 1 101 byte 1 0 align 1 LABELV $2344 byte 1 98 byte 1 111 byte 1 114 byte 1 100 byte 1 101 byte 1 114 byte 1 115 byte 1 105 byte 1 122 byte 1 101 byte 1 0 align 1 LABELV $2343 byte 1 98 byte 1 111 byte 1 114 byte 1 100 byte 1 101 byte 1 114 byte 1 0 align 1 LABELV $2342 byte 1 99 byte 1 111 byte 1 108 byte 1 117 byte 1 109 byte 1 110 byte 1 115 byte 1 0 align 1 LABELV $2341 byte 1 101 byte 1 108 byte 1 101 byte 1 109 byte 1 101 byte 1 110 byte 1 116 byte 1 116 byte 1 121 byte 1 112 byte 1 101 byte 1 0 align 1 LABELV $2340 byte 1 102 byte 1 101 byte 1 101 byte 1 100 byte 1 101 byte 1 114 byte 1 0 align 1 LABELV $2339 byte 1 101 byte 1 108 byte 1 101 byte 1 109 byte 1 101 byte 1 110 byte 1 116 byte 1 104 byte 1 101 byte 1 105 byte 1 103 byte 1 104 byte 1 116 byte 1 0 align 1 LABELV $2338 byte 1 101 byte 1 108 byte 1 101 byte 1 109 byte 1 101 byte 1 110 byte 1 116 byte 1 119 byte 1 105 byte 1 100 byte 1 116 byte 1 104 byte 1 0 align 1 LABELV $2337 byte 1 116 byte 1 121 byte 1 112 byte 1 101 byte 1 0 align 1 LABELV $2336 byte 1 104 byte 1 111 byte 1 114 byte 1 105 byte 1 122 byte 1 111 byte 1 110 byte 1 116 byte 1 97 byte 1 108 byte 1 115 byte 1 99 byte 1 114 byte 1 111 byte 1 108 byte 1 108 byte 1 0 align 1 LABELV $2335 byte 1 97 byte 1 117 byte 1 116 byte 1 111 byte 1 119 byte 1 114 byte 1 97 byte 1 112 byte 1 112 byte 1 101 byte 1 100 byte 1 0 align 1 LABELV $2334 byte 1 119 byte 1 114 byte 1 97 byte 1 112 byte 1 112 byte 1 101 byte 1 100 byte 1 0 align 1 LABELV $2333 byte 1 110 byte 1 111 byte 1 116 byte 1 115 byte 1 101 byte 1 108 byte 1 101 byte 1 99 byte 1 116 byte 1 97 byte 1 98 byte 1 108 byte 1 101 byte 1 0 align 1 LABELV $2332 byte 1 100 byte 1 101 byte 1 99 byte 1 111 byte 1 114 byte 1 97 byte 1 116 byte 1 105 byte 1 111 byte 1 110 byte 1 0 align 1 LABELV $2331 byte 1 115 byte 1 116 byte 1 121 byte 1 108 byte 1 101 byte 1 0 align 1 LABELV $2330 byte 1 114 byte 1 101 byte 1 99 byte 1 116 byte 1 0 align 1 LABELV $2329 byte 1 109 byte 1 111 byte 1 100 byte 1 101 byte 1 108 byte 1 95 byte 1 97 byte 1 110 byte 1 103 byte 1 108 byte 1 101 byte 1 0 align 1 LABELV $2328 byte 1 109 byte 1 111 byte 1 100 byte 1 101 byte 1 108 byte 1 95 byte 1 114 byte 1 111 byte 1 116 byte 1 97 byte 1 116 byte 1 105 byte 1 111 byte 1 110 byte 1 0 align 1 LABELV $2327 byte 1 109 byte 1 111 byte 1 100 byte 1 101 byte 1 108 byte 1 95 byte 1 102 byte 1 111 byte 1 118 byte 1 121 byte 1 0 align 1 LABELV $2326 byte 1 109 byte 1 111 byte 1 100 byte 1 101 byte 1 108 byte 1 95 byte 1 102 byte 1 111 byte 1 118 byte 1 120 byte 1 0 align 1 LABELV $2325 byte 1 109 byte 1 111 byte 1 100 byte 1 101 byte 1 108 byte 1 95 byte 1 111 byte 1 114 byte 1 105 byte 1 103 byte 1 105 byte 1 110 byte 1 0 align 1 LABELV $2324 byte 1 97 byte 1 115 byte 1 115 byte 1 101 byte 1 116 byte 1 95 byte 1 115 byte 1 104 byte 1 97 byte 1 100 byte 1 101 byte 1 114 byte 1 0 align 1 LABELV $2323 byte 1 97 byte 1 115 byte 1 115 byte 1 101 byte 1 116 byte 1 95 byte 1 109 byte 1 111 byte 1 100 byte 1 101 byte 1 108 byte 1 0 align 1 LABELV $2322 byte 1 103 byte 1 114 byte 1 111 byte 1 117 byte 1 112 byte 1 0 align 1 LABELV $2321 byte 1 116 byte 1 101 byte 1 120 byte 1 116 byte 1 0 align 1 LABELV $2320 byte 1 110 byte 1 97 byte 1 109 byte 1 101 byte 1 0 align 1 LABELV $2257 byte 1 101 byte 1 110 byte 1 100 byte 1 32 byte 1 111 byte 1 102 byte 1 32 byte 1 102 byte 1 105 byte 1 108 byte 1 101 byte 1 32 byte 1 105 byte 1 110 byte 1 115 byte 1 105 byte 1 100 byte 1 101 byte 1 32 byte 1 109 byte 1 101 byte 1 110 byte 1 117 byte 1 32 byte 1 105 byte 1 116 byte 1 101 byte 1 109 byte 1 10 byte 1 0 align 1 LABELV $1611 byte 1 70 byte 1 73 byte 1 88 byte 1 77 byte 1 69 byte 1 0 align 1 LABELV $1581 byte 1 63 byte 1 63 byte 1 63 byte 1 0 align 1 LABELV $1580 byte 1 32 byte 1 111 byte 1 114 byte 1 32 byte 1 0 align 1 LABELV $1550 byte 1 105 byte 1 110 byte 1 95 byte 1 114 byte 1 101 byte 1 115 byte 1 116 byte 1 97 byte 1 114 byte 1 116 byte 1 10 byte 1 0 align 1 LABELV $1517 byte 1 99 byte 1 108 byte 1 95 byte 1 102 byte 1 114 byte 1 101 byte 1 101 byte 1 108 byte 1 111 byte 1 111 byte 1 107 byte 1 0 align 1 LABELV $1516 byte 1 109 byte 1 95 byte 1 102 byte 1 105 byte 1 108 byte 1 116 byte 1 101 byte 1 114 byte 1 0 align 1 LABELV $1515 byte 1 106 byte 1 111 byte 1 121 byte 1 95 byte 1 116 byte 1 104 byte 1 114 byte 1 101 byte 1 115 byte 1 104 byte 1 111 byte 1 108 byte 1 100 byte 1 0 align 1 LABELV $1514 byte 1 105 byte 1 110 byte 1 95 byte 1 106 byte 1 111 byte 1 121 byte 1 115 byte 1 116 byte 1 105 byte 1 99 byte 1 107 byte 1 0 align 1 LABELV $1513 byte 1 115 byte 1 101 byte 1 110 byte 1 115 byte 1 105 byte 1 116 byte 1 105 byte 1 118 byte 1 105 byte 1 116 byte 1 121 byte 1 0 align 1 LABELV $1512 byte 1 99 byte 1 103 byte 1 95 byte 1 97 byte 1 117 byte 1 116 byte 1 111 byte 1 115 byte 1 119 byte 1 105 byte 1 116 byte 1 99 byte 1 104 byte 1 0 align 1 LABELV $1511 byte 1 109 byte 1 95 byte 1 112 byte 1 105 byte 1 116 byte 1 99 byte 1 104 byte 1 0 align 1 LABELV $1510 byte 1 99 byte 1 108 byte 1 95 byte 1 114 byte 1 117 byte 1 110 byte 1 0 align 1 LABELV $1509 byte 1 109 byte 1 101 byte 1 115 byte 1 115 byte 1 97 byte 1 103 byte 1 101 byte 1 109 byte 1 111 byte 1 100 byte 1 101 byte 1 52 byte 1 0 align 1 LABELV $1508 byte 1 109 byte 1 101 byte 1 115 byte 1 115 byte 1 97 byte 1 103 byte 1 101 byte 1 109 byte 1 111 byte 1 100 byte 1 101 byte 1 51 byte 1 0 align 1 LABELV $1507 byte 1 109 byte 1 101 byte 1 115 byte 1 115 byte 1 97 byte 1 103 byte 1 101 byte 1 109 byte 1 111 byte 1 100 byte 1 101 byte 1 50 byte 1 0 align 1 LABELV $1506 byte 1 109 byte 1 101 byte 1 115 byte 1 115 byte 1 97 byte 1 103 byte 1 101 byte 1 109 byte 1 111 byte 1 100 byte 1 101 byte 1 0 align 1 LABELV $1505 byte 1 115 byte 1 99 byte 1 111 byte 1 114 byte 1 101 byte 1 115 byte 1 68 byte 1 111 byte 1 119 byte 1 110 byte 1 0 align 1 LABELV $1504 byte 1 115 byte 1 99 byte 1 111 byte 1 114 byte 1 101 byte 1 115 byte 1 85 byte 1 112 byte 1 0 align 1 LABELV $1503 byte 1 116 byte 1 97 byte 1 117 byte 1 110 byte 1 116 byte 1 71 byte 1 97 byte 1 117 byte 1 110 byte 1 116 byte 1 108 byte 1 101 byte 1 116 byte 1 0 align 1 LABELV $1502 byte 1 116 byte 1 97 byte 1 117 byte 1 110 byte 1 116 byte 1 68 byte 1 101 byte 1 97 byte 1 116 byte 1 104 byte 1 73 byte 1 110 byte 1 115 byte 1 117 byte 1 108 byte 1 116 byte 1 0 align 1 LABELV $1501 byte 1 116 byte 1 97 byte 1 117 byte 1 110 byte 1 116 byte 1 84 byte 1 97 byte 1 117 byte 1 110 byte 1 116 byte 1 0 align 1 LABELV $1500 byte 1 116 byte 1 97 byte 1 117 byte 1 110 byte 1 116 byte 1 80 byte 1 114 byte 1 97 byte 1 105 byte 1 115 byte 1 101 byte 1 0 align 1 LABELV $1499 byte 1 116 byte 1 97 byte 1 117 byte 1 110 byte 1 116 byte 1 75 byte 1 105 byte 1 108 byte 1 108 byte 1 73 byte 1 110 byte 1 115 byte 1 117 byte 1 108 byte 1 116 byte 1 0 align 1 LABELV $1498 byte 1 116 byte 1 97 byte 1 115 byte 1 107 byte 1 83 byte 1 117 byte 1 105 byte 1 99 byte 1 105 byte 1 100 byte 1 101 byte 1 0 align 1 LABELV $1497 byte 1 116 byte 1 97 byte 1 115 byte 1 107 byte 1 79 byte 1 119 byte 1 110 byte 1 70 byte 1 108 byte 1 97 byte 1 103 byte 1 0 align 1 LABELV $1496 byte 1 116 byte 1 97 byte 1 115 byte 1 107 byte 1 69 byte 1 115 byte 1 99 byte 1 111 byte 1 114 byte 1 116 byte 1 0 align 1 LABELV $1495 byte 1 116 byte 1 97 byte 1 115 byte 1 107 byte 1 82 byte 1 101 byte 1 116 byte 1 114 byte 1 105 byte 1 101 byte 1 118 byte 1 101 byte 1 0 align 1 LABELV $1494 byte 1 116 byte 1 97 byte 1 115 byte 1 107 byte 1 70 byte 1 111 byte 1 108 byte 1 108 byte 1 111 byte 1 119 byte 1 0 align 1 LABELV $1493 byte 1 116 byte 1 97 byte 1 115 byte 1 107 byte 1 67 byte 1 97 byte 1 109 byte 1 112 byte 1 0 align 1 LABELV $1492 byte 1 116 byte 1 97 byte 1 115 byte 1 107 byte 1 80 byte 1 97 byte 1 116 byte 1 114 byte 1 111 byte 1 108 byte 1 0 align 1 LABELV $1491 byte 1 116 byte 1 97 byte 1 115 byte 1 107 byte 1 68 byte 1 101 byte 1 102 byte 1 101 byte 1 110 byte 1 115 byte 1 101 byte 1 0 align 1 LABELV $1490 byte 1 116 byte 1 97 byte 1 115 byte 1 107 byte 1 79 byte 1 102 byte 1 102 byte 1 101 byte 1 110 byte 1 115 byte 1 101 byte 1 0 align 1 LABELV $1489 byte 1 100 byte 1 101 byte 1 110 byte 1 121 byte 1 79 byte 1 114 byte 1 100 byte 1 101 byte 1 114 byte 1 0 align 1 LABELV $1488 byte 1 99 byte 1 111 byte 1 110 byte 1 102 byte 1 105 byte 1 114 byte 1 109 byte 1 79 byte 1 114 byte 1 100 byte 1 101 byte 1 114 byte 1 0 align 1 LABELV $1487 byte 1 110 byte 1 101 byte 1 120 byte 1 116 byte 1 79 byte 1 114 byte 1 100 byte 1 101 byte 1 114 byte 1 0 align 1 LABELV $1486 byte 1 110 byte 1 101 byte 1 120 byte 1 116 byte 1 84 byte 1 101 byte 1 97 byte 1 109 byte 1 77 byte 1 101 byte 1 109 byte 1 98 byte 1 101 byte 1 114 byte 1 0 align 1 LABELV $1485 byte 1 112 byte 1 114 byte 1 101 byte 1 118 byte 1 84 byte 1 101 byte 1 97 byte 1 109 byte 1 77 byte 1 101 byte 1 109 byte 1 98 byte 1 101 byte 1 114 byte 1 0 align 1 LABELV $1484 byte 1 43 byte 1 98 byte 1 117 byte 1 116 byte 1 116 byte 1 111 byte 1 110 byte 1 52 byte 1 0 align 1 LABELV $1483 byte 1 43 byte 1 98 byte 1 117 byte 1 116 byte 1 116 byte 1 111 byte 1 110 byte 1 51 byte 1 0 align 1 LABELV $1482 byte 1 119 byte 1 101 byte 1 97 byte 1 112 byte 1 110 byte 1 101 byte 1 120 byte 1 116 byte 1 0 align 1 LABELV $1481 byte 1 119 byte 1 101 byte 1 97 byte 1 112 byte 1 112 byte 1 114 byte 1 101 byte 1 118 byte 1 0 align 1 LABELV $1480 byte 1 43 byte 1 97 byte 1 116 byte 1 116 byte 1 97 byte 1 99 byte 1 107 byte 1 0 align 1 LABELV $1479 byte 1 119 byte 1 101 byte 1 97 byte 1 112 byte 1 111 byte 1 110 byte 1 32 byte 1 49 byte 1 51 byte 1 0 align 1 LABELV $1478 byte 1 119 byte 1 101 byte 1 97 byte 1 112 byte 1 111 byte 1 110 byte 1 32 byte 1 49 byte 1 50 byte 1 0 align 1 LABELV $1477 byte 1 119 byte 1 101 byte 1 97 byte 1 112 byte 1 111 byte 1 110 byte 1 32 byte 1 49 byte 1 49 byte 1 0 align 1 LABELV $1476 byte 1 119 byte 1 101 byte 1 97 byte 1 112 byte 1 111 byte 1 110 byte 1 32 byte 1 49 byte 1 48 byte 1 0 align 1 LABELV $1475 byte 1 119 byte 1 101 byte 1 97 byte 1 112 byte 1 111 byte 1 110 byte 1 32 byte 1 57 byte 1 0 align 1 LABELV $1474 byte 1 119 byte 1 101 byte 1 97 byte 1 112 byte 1 111 byte 1 110 byte 1 32 byte 1 56 byte 1 0 align 1 LABELV $1473 byte 1 119 byte 1 101 byte 1 97 byte 1 112 byte 1 111 byte 1 110 byte 1 32 byte 1 55 byte 1 0 align 1 LABELV $1472 byte 1 119 byte 1 101 byte 1 97 byte 1 112 byte 1 111 byte 1 110 byte 1 32 byte 1 54 byte 1 0 align 1 LABELV $1471 byte 1 119 byte 1 101 byte 1 97 byte 1 112 byte 1 111 byte 1 110 byte 1 32 byte 1 53 byte 1 0 align 1 LABELV $1470 byte 1 119 byte 1 101 byte 1 97 byte 1 112 byte 1 111 byte 1 110 byte 1 32 byte 1 52 byte 1 0 align 1 LABELV $1469 byte 1 119 byte 1 101 byte 1 97 byte 1 112 byte 1 111 byte 1 110 byte 1 32 byte 1 51 byte 1 0 align 1 LABELV $1468 byte 1 119 byte 1 101 byte 1 97 byte 1 112 byte 1 111 byte 1 110 byte 1 32 byte 1 50 byte 1 0 align 1 LABELV $1467 byte 1 119 byte 1 101 byte 1 97 byte 1 112 byte 1 111 byte 1 110 byte 1 32 byte 1 49 byte 1 0 align 1 LABELV $1466 byte 1 43 byte 1 122 byte 1 111 byte 1 111 byte 1 109 byte 1 0 align 1 LABELV $1465 byte 1 99 byte 1 101 byte 1 110 byte 1 116 byte 1 101 byte 1 114 byte 1 118 byte 1 105 byte 1 101 byte 1 119 byte 1 0 align 1 LABELV $1464 byte 1 43 byte 1 109 byte 1 108 byte 1 111 byte 1 111 byte 1 107 byte 1 0 align 1 LABELV $1463 byte 1 43 byte 1 108 byte 1 111 byte 1 111 byte 1 107 byte 1 100 byte 1 111 byte 1 119 byte 1 110 byte 1 0 align 1 LABELV $1462 byte 1 43 byte 1 108 byte 1 111 byte 1 111 byte 1 107 byte 1 117 byte 1 112 byte 1 0 align 1 LABELV $1461 byte 1 43 byte 1 115 byte 1 116 byte 1 114 byte 1 97 byte 1 102 byte 1 101 byte 1 0 align 1 LABELV $1460 byte 1 43 byte 1 114 byte 1 105 byte 1 103 byte 1 104 byte 1 116 byte 1 0 align 1 LABELV $1459 byte 1 43 byte 1 108 byte 1 101 byte 1 102 byte 1 116 byte 1 0 align 1 LABELV $1458 byte 1 43 byte 1 109 byte 1 111 byte 1 118 byte 1 101 byte 1 100 byte 1 111 byte 1 119 byte 1 110 byte 1 0 align 1 LABELV $1457 byte 1 43 byte 1 109 byte 1 111 byte 1 118 byte 1 101 byte 1 117 byte 1 112 byte 1 0 align 1 LABELV $1456 byte 1 43 byte 1 109 byte 1 111 byte 1 118 byte 1 101 byte 1 114 byte 1 105 byte 1 103 byte 1 104 byte 1 116 byte 1 0 align 1 LABELV $1455 byte 1 43 byte 1 109 byte 1 111 byte 1 118 byte 1 101 byte 1 108 byte 1 101 byte 1 102 byte 1 116 byte 1 0 align 1 LABELV $1454 byte 1 43 byte 1 98 byte 1 97 byte 1 99 byte 1 107 byte 1 0 align 1 LABELV $1453 byte 1 43 byte 1 102 byte 1 111 byte 1 114 byte 1 119 byte 1 97 byte 1 114 byte 1 100 byte 1 0 align 1 LABELV $1452 byte 1 43 byte 1 115 byte 1 112 byte 1 101 byte 1 101 byte 1 100 byte 1 0 align 1 LABELV $1451 byte 1 43 byte 1 98 byte 1 117 byte 1 116 byte 1 116 byte 1 111 byte 1 110 byte 1 50 byte 1 0 align 1 LABELV $1450 byte 1 43 byte 1 115 byte 1 99 byte 1 111 byte 1 114 byte 1 101 byte 1 115 byte 1 0 align 1 LABELV $1433 byte 1 78 byte 1 111 byte 1 0 align 1 LABELV $1432 byte 1 89 byte 1 101 byte 1 115 byte 1 0 align 1 LABELV $1276 byte 1 115 byte 1 99 byte 1 114 byte 1 101 byte 1 101 byte 1 110 byte 1 115 byte 1 104 byte 1 111 byte 1 116 byte 1 10 byte 1 0 align 1 LABELV $1272 byte 1 100 byte 1 101 byte 1 118 byte 1 101 byte 1 108 byte 1 111 byte 1 112 byte 1 101 byte 1 114 byte 1 0 align 1 LABELV $1125 byte 1 115 byte 1 108 byte 1 105 byte 1 100 byte 1 101 byte 1 114 byte 1 32 byte 1 104 byte 1 97 byte 1 110 byte 1 100 byte 1 108 byte 1 101 byte 1 32 byte 1 107 byte 1 101 byte 1 121 byte 1 32 byte 1 101 byte 1 120 byte 1 105 byte 1 116 byte 1 10 byte 1 0 align 1 LABELV $949 byte 1 37 byte 1 102 byte 1 0 align 1 LABELV $895 byte 1 37 byte 1 105 byte 1 0 align 1 LABELV $557 byte 1 111 byte 1 114 byte 1 98 byte 1 105 byte 1 116 byte 1 0 align 1 LABELV $556 byte 1 112 byte 1 108 byte 1 97 byte 1 121 byte 1 108 byte 1 111 byte 1 111 byte 1 112 byte 1 101 byte 1 100 byte 1 0 align 1 LABELV $555 byte 1 112 byte 1 108 byte 1 97 byte 1 121 byte 1 0 align 1 LABELV $554 byte 1 101 byte 1 120 byte 1 101 byte 1 99 byte 1 0 align 1 LABELV $553 byte 1 115 byte 1 101 byte 1 116 byte 1 99 byte 1 118 byte 1 97 byte 1 114 byte 1 0 align 1 LABELV $552 byte 1 116 byte 1 114 byte 1 97 byte 1 110 byte 1 115 byte 1 105 byte 1 116 byte 1 105 byte 1 111 byte 1 110 byte 1 0 align 1 LABELV $551 byte 1 115 byte 1 101 byte 1 116 byte 1 112 byte 1 108 byte 1 97 byte 1 121 byte 1 101 byte 1 114 byte 1 104 byte 1 101 byte 1 97 byte 1 100 byte 1 0 align 1 LABELV $550 byte 1 115 byte 1 101 byte 1 116 byte 1 112 byte 1 108 byte 1 97 byte 1 121 byte 1 101 byte 1 114 byte 1 109 byte 1 111 byte 1 100 byte 1 101 byte 1 108 byte 1 0 align 1 LABELV $549 byte 1 115 byte 1 101 byte 1 116 byte 1 102 byte 1 111 byte 1 99 byte 1 117 byte 1 115 byte 1 0 align 1 LABELV $548 byte 1 115 byte 1 101 byte 1 116 byte 1 116 byte 1 101 byte 1 97 byte 1 109 byte 1 99 byte 1 111 byte 1 108 byte 1 111 byte 1 114 byte 1 0 align 1 LABELV $547 byte 1 115 byte 1 101 byte 1 116 byte 1 105 byte 1 116 byte 1 101 byte 1 109 byte 1 99 byte 1 111 byte 1 108 byte 1 111 byte 1 114 byte 1 0 align 1 LABELV $546 byte 1 115 byte 1 101 byte 1 116 byte 1 98 byte 1 97 byte 1 99 byte 1 107 byte 1 103 byte 1 114 byte 1 111 byte 1 117 byte 1 110 byte 1 100 byte 1 0 align 1 LABELV $545 byte 1 115 byte 1 101 byte 1 116 byte 1 97 byte 1 115 byte 1 115 byte 1 101 byte 1 116 byte 1 0 align 1 LABELV $544 byte 1 99 byte 1 108 byte 1 111 byte 1 115 byte 1 101 byte 1 0 align 1 LABELV $543 byte 1 111 byte 1 112 byte 1 101 byte 1 110 byte 1 0 align 1 LABELV $542 byte 1 115 byte 1 101 byte 1 116 byte 1 99 byte 1 111 byte 1 108 byte 1 111 byte 1 114 byte 1 0 align 1 LABELV $541 byte 1 104 byte 1 105 byte 1 100 byte 1 101 byte 1 0 align 1 LABELV $540 byte 1 115 byte 1 104 byte 1 111 byte 1 119 byte 1 0 align 1 LABELV $539 byte 1 102 byte 1 97 byte 1 100 byte 1 101 byte 1 111 byte 1 117 byte 1 116 byte 1 0 align 1 LABELV $538 byte 1 102 byte 1 97 byte 1 100 byte 1 101 byte 1 105 byte 1 110 byte 1 0 align 1 LABELV $531 byte 1 37 byte 1 115 byte 1 32 byte 1 59 byte 1 32 byte 1 0 align 1 LABELV $524 byte 1 116 byte 1 101 byte 1 97 byte 1 109 byte 1 95 byte 1 104 byte 1 101 byte 1 97 byte 1 100 byte 1 109 byte 1 111 byte 1 100 byte 1 101 byte 1 108 byte 1 0 align 1 LABELV $520 byte 1 116 byte 1 101 byte 1 97 byte 1 109 byte 1 95 byte 1 109 byte 1 111 byte 1 100 byte 1 101 byte 1 108 byte 1 0 align 1 LABELV $364 byte 1 98 byte 1 111 byte 1 114 byte 1 100 byte 1 101 byte 1 114 byte 1 99 byte 1 111 byte 1 108 byte 1 111 byte 1 114 byte 1 0 align 1 LABELV $361 byte 1 102 byte 1 111 byte 1 114 byte 1 101 byte 1 99 byte 1 111 byte 1 108 byte 1 111 byte 1 114 byte 1 0 align 1 LABELV $358 byte 1 98 byte 1 97 byte 1 99 byte 1 107 byte 1 99 byte 1 111 byte 1 108 byte 1 111 byte 1 114 byte 1 0 align 1 LABELV $200 byte 1 32 byte 1 0 align 1 LABELV $197 byte 1 34 byte 1 37 byte 1 115 byte 1 34 byte 1 0 align 1 LABELV $192 byte 1 125 byte 1 0 align 1 LABELV $183 byte 1 123 byte 1 0 align 1 LABELV $147 byte 1 101 byte 1 120 byte 1 112 byte 1 101 byte 1 99 byte 1 116 byte 1 101 byte 1 100 byte 1 32 byte 1 105 byte 1 110 byte 1 116 byte 1 101 byte 1 103 byte 1 101 byte 1 114 byte 1 32 byte 1 98 byte 1 117 byte 1 116 byte 1 32 byte 1 102 byte 1 111 byte 1 117 byte 1 110 byte 1 100 byte 1 32 byte 1 37 byte 1 115 byte 1 10 byte 1 0 align 1 LABELV $114 byte 1 101 byte 1 120 byte 1 112 byte 1 101 byte 1 99 byte 1 116 byte 1 101 byte 1 100 byte 1 32 byte 1 102 byte 1 108 byte 1 111 byte 1 97 byte 1 116 byte 1 32 byte 1 98 byte 1 117 byte 1 116 byte 1 32 byte 1 102 byte 1 111 byte 1 117 byte 1 110 byte 1 100 byte 1 32 byte 1 37 byte 1 115 byte 1 10 byte 1 0 align 1 LABELV $91 byte 1 94 byte 1 49 byte 1 69 byte 1 82 byte 1 82 byte 1 79 byte 1 82 byte 1 58 byte 1 32 byte 1 37 byte 1 115 byte 1 44 byte 1 32 byte 1 108 byte 1 105 byte 1 110 byte 1 101 byte 1 32 byte 1 37 byte 1 100 byte 1 58 byte 1 32 byte 1 37 byte 1 115 byte 1 10 byte 1 0 align 1 LABELV $87 byte 1 94 byte 1 51 byte 1 87 byte 1 65 byte 1 82 byte 1 78 byte 1 73 byte 1 78 byte 1 71 byte 1 58 byte 1 32 byte 1 37 byte 1 115 byte 1 44 byte 1 32 byte 1 108 byte 1 105 byte 1 110 byte 1 101 byte 1 32 byte 1 37 byte 1 100 byte 1 58 byte 1 32 byte 1 37 byte 1 115 byte 1 10 byte 1 0 align 1 LABELV $76 byte 1 77 byte 1 101 byte 1 109 byte 1 111 byte 1 114 byte 1 121 byte 1 32 byte 1 80 byte 1 111 byte 1 111 byte 1 108 byte 1 32 byte 1 105 byte 1 115 byte 1 32 byte 1 37 byte 1 46 byte 1 49 byte 1 102 byte 1 37 byte 1 37 byte 1 32 byte 1 102 byte 1 117 byte 1 108 byte 1 108 byte 1 44 byte 1 32 byte 1 37 byte 1 105 byte 1 32 byte 1 98 byte 1 121 byte 1 116 byte 1 101 byte 1 115 byte 1 32 byte 1 111 byte 1 117 byte 1 116 byte 1 32 byte 1 111 byte 1 102 byte 1 32 byte 1 37 byte 1 105 byte 1 32 byte 1 117 byte 1 115 byte 1 101 byte 1 100 byte 1 46 byte 1 10 byte 1 0 align 1 LABELV $75 byte 1 83 byte 1 116 byte 1 114 byte 1 105 byte 1 110 byte 1 103 byte 1 32 byte 1 80 byte 1 111 byte 1 111 byte 1 108 byte 1 32 byte 1 105 byte 1 115 byte 1 32 byte 1 37 byte 1 46 byte 1 49 byte 1 102 byte 1 37 byte 1 37 byte 1 32 byte 1 102 byte 1 117 byte 1 108 byte 1 108 byte 1 44 byte 1 32 byte 1 37 byte 1 105 byte 1 32 byte 1 98 byte 1 121 byte 1 116 byte 1 101 byte 1 115 byte 1 32 byte 1 111 byte 1 117 byte 1 116 byte 1 32 byte 1 111 byte 1 102 byte 1 32 byte 1 37 byte 1 105 byte 1 32 byte 1 117 byte 1 115 byte 1 101 byte 1 100 byte 1 46 byte 1 10 byte 1 0 align 1 LABELV $74 byte 1 45 byte 1 45 byte 1 45 byte 1 45 byte 1 45 byte 1 45 byte 1 45 byte 1 45 byte 1 45 byte 1 45 byte 1 45 byte 1 45 byte 1 45 byte 1 45 byte 1 45 byte 1 45 byte 1 10 byte 1 0 align 1 LABELV $73 byte 1 77 byte 1 101 byte 1 109 byte 1 111 byte 1 114 byte 1 121 byte 1 47 byte 1 83 byte 1 116 byte 1 114 byte 1 105 byte 1 110 byte 1 103 byte 1 32 byte 1 80 byte 1 111 byte 1 111 byte 1 108 byte 1 32 byte 1 73 byte 1 110 byte 1 102 byte 1 111 byte 1 10 byte 1 0 align 1 LABELV $54 byte 1 0 align 1 LABELV $45 byte 1 85 byte 1 73 byte 1 95 byte 1 65 byte 1 108 byte 1 108 byte 1 111 byte 1 99 byte 1 58 byte 1 32 byte 1 70 byte 1 97 byte 1 105 byte 1 108 byte 1 117 byte 1 114 byte 1 101 byte 1 46 byte 1 32 byte 1 79 byte 1 117 byte 1 116 byte 1 32 byte 1 111 byte 1 102 byte 1 32 byte 1 109 byte 1 101 byte 1 109 byte 1 111 byte 1 114 byte 1 121 byte 1 33 byte 1 10 byte 1 0