ui_qmenu.asm
themuffinator_dm-game/build/win32-qvm/vm/ui/ui_qmenu.asm
data
export menu_text_color
align 4
LABELV menu_text_color
byte 4 1065353216
byte 4 1065353216
byte 4 1065353216
byte 4 1065353216
export menu_dim_color
align 4
LABELV menu_dim_color
byte 4 0
byte 4 0
byte 4 0
byte 4 1061158912
export color_black
align 4
LABELV color_black
byte 4 0
byte 4 0
byte 4 0
byte 4 1065353216
export color_white
align 4
LABELV color_white
byte 4 1065353216
byte 4 1065353216
byte 4 1065353216
byte 4 1065353216
export color_yellow
align 4
LABELV color_yellow
byte 4 1065353216
byte 4 1065353216
byte 4 0
byte 4 1065353216
export color_blue
align 4
LABELV color_blue
byte 4 0
byte 4 0
byte 4 1065353216
byte 4 1065353216
export color_lightOrange
align 4
LABELV color_lightOrange
byte 4 1065353216
byte 4 1059984507
byte 4 0
byte 4 1065353216
export color_orange
align 4
LABELV color_orange
byte 4 1065353216
byte 4 1054615798
byte 4 0
byte 4 1065353216
export color_red
align 4
LABELV color_red
byte 4 1065353216
byte 4 0
byte 4 0
byte 4 1065353216
export color_dim
align 4
LABELV color_dim
byte 4 0
byte 4 0
byte 4 0
byte 4 1048576000
export pulse_color
align 4
LABELV pulse_color
byte 4 1065353216
byte 4 1065353216
byte 4 1065353216
byte 4 1065353216
export text_color_disabled
align 4
LABELV text_color_disabled
byte 4 1056964608
byte 4 1056964608
byte 4 1056964608
byte 4 1065353216
export text_color_normal
align 4
LABELV text_color_normal
byte 4 1065353216
byte 4 1054615798
byte 4 0
byte 4 1065353216
export text_color_highlight
align 4
LABELV text_color_highlight
byte 4 1065353216
byte 4 1065353216
byte 4 0
byte 4 1065353216
export listbar_color
align 4
LABELV listbar_color
byte 4 1065353216
byte 4 1054615798
byte 4 0
byte 4 1050253722
export text_color_status
align 4
LABELV text_color_status
byte 4 1065353216
byte 4 1065353216
byte 4 1065353216
byte 4 1065353216
code
proc Text_Init 4 0
file "..\..\..\..\code\q3_ui\ui_qmenu.c"
line 81
;1:// Copyright (C) 1999-2000 Id Software, Inc.
;2://
;3:/**********************************************************************
;4:	UI_QMENU.C
;5:
;6:	Quake's menu framework system.
;7:**********************************************************************/
;8:#include "ui_local.h"
;9:
;10:sfxHandle_t menu_in_sound;
;11:sfxHandle_t menu_move_sound;
;12:sfxHandle_t menu_out_sound;
;13:sfxHandle_t menu_buzz_sound;
;14:sfxHandle_t menu_null_sound;
;15:sfxHandle_t weaponChangeSound;
;16:
;17:static qhandle_t	sliderBar;
;18:static qhandle_t	sliderButton_0;
;19:static qhandle_t	sliderButton_1;
;20:
;21:vec4_t menu_text_color	    = {1.0f, 1.0f, 1.0f, 1.0f};
;22:vec4_t menu_dim_color       = {0.0f, 0.0f, 0.0f, 0.75f};
;23:vec4_t color_black	    = {0.00f, 0.00f, 0.00f, 1.00f};
;24:vec4_t color_white	    = {1.00f, 1.00f, 1.00f, 1.00f};
;25:vec4_t color_yellow	    = {1.00f, 1.00f, 0.00f, 1.00f};
;26:vec4_t color_blue	    = {0.00f, 0.00f, 1.00f, 1.00f};
;27:vec4_t color_lightOrange    = {1.00f, 0.68f, 0.00f, 1.00f };
;28:vec4_t color_orange	    = {1.00f, 0.43f, 0.00f, 1.00f};
;29:vec4_t color_red	    = {1.00f, 0.00f, 0.00f, 1.00f};
;30:vec4_t color_dim	    = {0.00f, 0.00f, 0.00f, 0.25f};
;31:
;32:// current color scheme
;33:vec4_t pulse_color          = {1.00f, 1.00f, 1.00f, 1.00f};
;34:vec4_t text_color_disabled  = {0.50f, 0.50f, 0.50f, 1.00f};	// light gray
;35:vec4_t text_color_normal    = {1.00f, 0.43f, 0.00f, 1.00f};	// light orange
;36:vec4_t text_color_highlight = {1.00f, 1.00f, 0.00f, 1.00f};	// bright yellow
;37:vec4_t listbar_color        = {1.00f, 0.43f, 0.00f, 0.30f};	// transluscent orange
;38:vec4_t text_color_status    = {1.00f, 1.00f, 1.00f, 1.00f};	// bright white	
;39:
;40:// action widget
;41:static void	Action_Init( menuaction_s *a );
;42:static void	Action_Draw( menuaction_s *a );
;43:
;44:// radio button widget
;45:static void	RadioButton_Init( menuradiobutton_s *rb );
;46:static void	RadioButton_Draw( menuradiobutton_s *rb );
;47:static sfxHandle_t RadioButton_Key( menuradiobutton_s *rb, int key );
;48:
;49:// slider widget
;50:static void Slider_Init( menuslider_s *s );
;51:static sfxHandle_t Slider_Key( menuslider_s *s, int key );
;52:static void	Slider_Draw( menuslider_s *s );
;53:
;54:// spin control widget
;55:static void	SpinControl_Init( menulist_s *s );
;56:static void	SpinControl_Draw( menulist_s *s );
;57:static sfxHandle_t SpinControl_Key( menulist_s *l, int key );
;58:
;59:// text widget
;60:static void Text_Init( menutext_s *b );
;61:static void Text_Draw( menutext_s *b );
;62:
;63:// scrolllist widget
;64:static void	ScrollList_Init( menulist_s *l );
;65:sfxHandle_t ScrollList_Key( menulist_s *l, int key );
;66:
;67:// proportional text widget
;68:static void PText_Init( menutext_s *b );
;69:static void PText_Draw( menutext_s *b );
;70:
;71:// proportional banner text widget
;72:static void BText_Init( menutext_s *b );
;73:static void BText_Draw( menutext_s *b );
;74:
;75:/*
;76:=================
;77:Text_Init
;78:=================
;79:*/
;80:static void Text_Init( menutext_s *t )
;81:{
line 82
;82:	t->generic.flags |= QMF_INACTIVE;
ADDRLP4 0
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
ASGNP4
ADDRLP4 0
INDIRP4
ADDRLP4 0
INDIRP4
INDIRU4
CNSTU4 16384
BORU4
ASGNU4
line 83
;83:}
LABELV $69
endproc Text_Init 4 0
proc Text_Draw 524 20
line 91
;84:
;85:/*
;86:=================
;87:Text_Draw
;88:=================
;89:*/
;90:static void Text_Draw( menutext_s *t )
;91:{
line 97
;92:	int		x;
;93:	int		y;
;94:	char	buff[512];	
;95:	float*	color;
;96:
;97:	x = t->generic.x;
ADDRLP4 512
ADDRFP4 0
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ASGNI4
line 98
;98:	y = t->generic.y;
ADDRLP4 516
ADDRFP4 0
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
ASGNI4
line 100
;99:
;100:	buff[0] = '\0';
ADDRLP4 0
CNSTI1 0
ASGNI1
line 103
;101:
;102:	// possible label
;103:	if (t->generic.name)
ADDRFP4 0
INDIRP4
CNSTI4 4
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $71
line 104
;104:		strcpy(buff,t->generic.name);
ADDRLP4 0
ARGP4
ADDRFP4 0
INDIRP4
CNSTI4 4
ADDP4
INDIRP4
ARGP4
ADDRGP4 strcpy
CALLP4
pop
LABELV $71
line 107
;105:
;106:	// possible value
;107:	if (t->string)
ADDRFP4 0
INDIRP4
CNSTI4 64
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $73
line 108
;108:		strcat(buff,t->string);
ADDRLP4 0
ARGP4
ADDRFP4 0
INDIRP4
CNSTI4 64
ADDP4
INDIRP4
ARGP4
ADDRGP4 strcat
CALLP4
pop
LABELV $73
line 110
;109:		
;110:	if (t->generic.flags & QMF_GRAYED)
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 8192
BANDU4
CNSTU4 0
EQU4 $75
line 111
;111:		color = text_color_disabled;
ADDRLP4 520
ADDRGP4 text_color_disabled
ASGNP4
ADDRGP4 $76
JUMPV
LABELV $75
line 113
;112:	else
;113:		color = t->color;
ADDRLP4 520
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
INDIRP4
ASGNP4
LABELV $76
line 115
;114:
;115:	UI_DrawString( x, y, buff, t->style, color );
ADDRLP4 512
INDIRI4
ARGI4
ADDRLP4 516
INDIRI4
ARGI4
ADDRLP4 0
ARGP4
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ARGI4
ADDRLP4 520
INDIRP4
ARGP4
ADDRGP4 UI_DrawString
CALLV
pop
line 116
;116:}
LABELV $70
endproc Text_Draw 524 20
proc BText_Init 4 0
line 124
;117:
;118:/*
;119:=================
;120:BText_Init
;121:=================
;122:*/
;123:static void BText_Init( menutext_s *t )
;124:{
line 125
;125:	t->generic.flags |= QMF_INACTIVE;
ADDRLP4 0
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
ASGNP4
ADDRLP4 0
INDIRP4
ADDRLP4 0
INDIRP4
INDIRU4
CNSTU4 16384
BORU4
ASGNU4
line 126
;126:}
LABELV $77
endproc BText_Init 4 0
proc BText_Draw 16 20
line 134
;127:
;128:/*
;129:=================
;130:BText_Draw
;131:=================
;132:*/
;133:static void BText_Draw( menutext_s *t )
;134:{
line 139
;135:	int		x;
;136:	int		y;
;137:	float*	color;
;138:
;139:	x = t->generic.x;
ADDRLP4 0
ADDRFP4 0
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ASGNI4
line 140
;140:	y = t->generic.y;
ADDRLP4 4
ADDRFP4 0
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
ASGNI4
line 142
;141:
;142:	if (t->generic.flags & QMF_GRAYED)
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 8192
BANDU4
CNSTU4 0
EQU4 $79
line 143
;143:		color = text_color_disabled;
ADDRLP4 8
ADDRGP4 text_color_disabled
ASGNP4
ADDRGP4 $80
JUMPV
LABELV $79
line 145
;144:	else
;145:		color = t->color;
ADDRLP4 8
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
INDIRP4
ASGNP4
LABELV $80
line 147
;146:
;147:	UI_DrawBannerString( x, y, t->string, t->style, color );
ADDRLP4 0
INDIRI4
ARGI4
ADDRLP4 4
INDIRI4
ARGI4
ADDRLP4 12
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 12
INDIRP4
CNSTI4 64
ADDP4
INDIRP4
ARGP4
ADDRLP4 12
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ARGI4
ADDRLP4 8
INDIRP4
ARGP4
ADDRGP4 UI_DrawBannerString
CALLV
pop
line 148
;148:}
LABELV $78
endproc BText_Draw 16 20
proc PText_Init 28 4
line 156
;149:
;150:/*
;151:=================
;152:PText_Init
;153:=================
;154:*/
;155:static void PText_Init( menutext_s *t )
;156:{
line 163
;157:	int	x;
;158:	int	y;
;159:	int	w;
;160:	int	h;
;161:	float	sizeScale;
;162:
;163:	sizeScale = UI_ProportionalSizeScale( t->style );
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ARGI4
ADDRLP4 20
ADDRGP4 UI_ProportionalSizeScale
CALLF4
ASGNF4
ADDRLP4 0
ADDRLP4 20
INDIRF4
ASGNF4
line 165
;164:
;165:	x = t->generic.x;
ADDRLP4 4
ADDRFP4 0
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ASGNI4
line 166
;166:	y = t->generic.y;
ADDRLP4 8
ADDRFP4 0
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
ASGNI4
line 167
;167:	w = UI_ProportionalStringWidth( t->string ) * sizeScale;
ADDRFP4 0
INDIRP4
CNSTI4 64
ADDP4
INDIRP4
ARGP4
ADDRLP4 24
ADDRGP4 UI_ProportionalStringWidth
CALLI4
ASGNI4
ADDRLP4 12
ADDRLP4 24
INDIRI4
CVIF4 4
ADDRLP4 0
INDIRF4
MULF4
CVFI4 4
ASGNI4
line 168
;168:	h =	PROP_HEIGHT * sizeScale;
ADDRLP4 16
ADDRLP4 0
INDIRF4
CNSTF4 1104674816
MULF4
CVFI4 4
ASGNI4
line 170
;169:
;170:	if( t->generic.flags & QMF_RIGHT_JUSTIFY ) {
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 16
BANDU4
CNSTU4 0
EQU4 $82
line 171
;171:		x -= w;
ADDRLP4 4
ADDRLP4 4
INDIRI4
ADDRLP4 12
INDIRI4
SUBI4
ASGNI4
line 172
;172:	}
ADDRGP4 $83
JUMPV
LABELV $82
line 173
;173:	else if( t->generic.flags & QMF_CENTER_JUSTIFY ) {
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 8
BANDU4
CNSTU4 0
EQU4 $84
line 174
;174:		x -= w / 2;
ADDRLP4 4
ADDRLP4 4
INDIRI4
ADDRLP4 12
INDIRI4
CNSTI4 2
DIVI4
SUBI4
ASGNI4
line 175
;175:	}
LABELV $84
LABELV $83
line 177
;176:
;177:	t->generic.left   = x - PROP_GAP_WIDTH * sizeScale;
ADDRFP4 0
INDIRP4
CNSTI4 20
ADDP4
ADDRLP4 4
INDIRI4
CVIF4 4
ADDRLP4 0
INDIRF4
CNSTF4 1077936128
MULF4
SUBF4
CVFI4 4
ASGNI4
line 178
;178:	t->generic.right  = x + w + PROP_GAP_WIDTH * sizeScale;
ADDRFP4 0
INDIRP4
CNSTI4 28
ADDP4
ADDRLP4 4
INDIRI4
ADDRLP4 12
INDIRI4
ADDI4
CVIF4 4
ADDRLP4 0
INDIRF4
CNSTF4 1077936128
MULF4
ADDF4
CVFI4 4
ASGNI4
line 179
;179:	t->generic.top    = y;
ADDRFP4 0
INDIRP4
CNSTI4 24
ADDP4
ADDRLP4 8
INDIRI4
ASGNI4
line 180
;180:	t->generic.bottom = y + h;
ADDRFP4 0
INDIRP4
CNSTI4 32
ADDP4
ADDRLP4 8
INDIRI4
ADDRLP4 16
INDIRI4
ADDI4
ASGNI4
line 181
;181:}
LABELV $81
endproc PText_Init 28 4
proc PText_Draw 24 20
line 189
;182:
;183:/*
;184:=================
;185:PText_Draw
;186:=================
;187:*/
;188:static void PText_Draw( menutext_s *t )
;189:{
line 195
;190:	int		x;
;191:	int		y;
;192:	float *	color;
;193:	int		style;
;194:
;195:	x = t->generic.x;
ADDRLP4 4
ADDRFP4 0
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ASGNI4
line 196
;196:	y = t->generic.y;
ADDRLP4 8
ADDRFP4 0
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
ASGNI4
line 198
;197:
;198:	if (t->generic.flags & QMF_GRAYED)
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 8192
BANDU4
CNSTU4 0
EQU4 $87
line 199
;199:		color = text_color_disabled;
ADDRLP4 12
ADDRGP4 text_color_disabled
ASGNP4
ADDRGP4 $88
JUMPV
LABELV $87
line 201
;200:	else
;201:		color = t->color;
ADDRLP4 12
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
INDIRP4
ASGNP4
LABELV $88
line 203
;202:
;203:	style = t->style;
ADDRLP4 0
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ASGNI4
line 204
;204:	if( t->generic.flags & QMF_PULSEIFFOCUS ) {
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 256
BANDU4
CNSTU4 0
EQU4 $89
line 205
;205:		if( Menu_ItemAtCursor( t->generic.parent ) == t ) {
ADDRLP4 16
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 16
INDIRP4
CNSTI4 36
ADDP4
INDIRP4
ARGP4
ADDRLP4 20
ADDRGP4 Menu_ItemAtCursor
CALLP4
ASGNP4
ADDRLP4 16
INDIRP4
CVPU4 4
ADDRLP4 20
INDIRP4
CVPU4 4
NEU4 $91
line 206
;206:			style |= UI_PULSE;
ADDRLP4 0
ADDRLP4 0
INDIRI4
CNSTI4 16384
BORI4
ASGNI4
line 207
;207:		}
ADDRGP4 $92
JUMPV
LABELV $91
line 208
;208:		else {
line 209
;209:			style |= UI_INVERSE;
ADDRLP4 0
ADDRLP4 0
INDIRI4
CNSTI4 8192
BORI4
ASGNI4
line 210
;210:		}
LABELV $92
line 211
;211:	}
LABELV $89
line 213
;212:
;213:	UI_DrawProportionalString( x, y, t->string, style, color );
ADDRLP4 4
INDIRI4
ARGI4
ADDRLP4 8
INDIRI4
ARGI4
ADDRFP4 0
INDIRP4
CNSTI4 64
ADDP4
INDIRP4
ARGP4
ADDRLP4 0
INDIRI4
ARGI4
ADDRLP4 12
INDIRP4
ARGP4
ADDRGP4 UI_DrawProportionalString
CALLV
pop
line 214
;214:}
LABELV $86
endproc PText_Draw 24 20
export Bitmap_Init
proc Bitmap_Init 16 0
line 222
;215:
;216:/*
;217:=================
;218:Bitmap_Init
;219:=================
;220:*/
;221:void Bitmap_Init( menubitmap_s *b )
;222:{
line 228
;223:	int	x;
;224:	int	y;
;225:	int	w;
;226:	int	h;
;227:
;228:	x = b->generic.x;
ADDRLP4 4
ADDRFP4 0
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ASGNI4
line 229
;229:	y = b->generic.y;
ADDRLP4 12
ADDRFP4 0
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
ASGNI4
line 230
;230:	w = b->width;
ADDRLP4 0
ADDRFP4 0
INDIRP4
CNSTI4 80
ADDP4
INDIRI4
ASGNI4
line 231
;231:	h =	b->height;
ADDRLP4 8
ADDRFP4 0
INDIRP4
CNSTI4 84
ADDP4
INDIRI4
ASGNI4
line 232
;232:	if( w < 0 ) {
ADDRLP4 0
INDIRI4
CNSTI4 0
GEI4 $94
line 233
;233:		w = -w;
ADDRLP4 0
ADDRLP4 0
INDIRI4
NEGI4
ASGNI4
line 234
;234:	}
LABELV $94
line 235
;235:	if( h < 0 ) {
ADDRLP4 8
INDIRI4
CNSTI4 0
GEI4 $96
line 236
;236:		h = -h;
ADDRLP4 8
ADDRLP4 8
INDIRI4
NEGI4
ASGNI4
line 237
;237:	}
LABELV $96
line 239
;238:
;239:	if (b->generic.flags & QMF_RIGHT_JUSTIFY)
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 16
BANDU4
CNSTU4 0
EQU4 $98
line 240
;240:	{
line 241
;241:		x = x - w;
ADDRLP4 4
ADDRLP4 4
INDIRI4
ADDRLP4 0
INDIRI4
SUBI4
ASGNI4
line 242
;242:	}
ADDRGP4 $99
JUMPV
LABELV $98
line 243
;243:	else if (b->generic.flags & QMF_CENTER_JUSTIFY)
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 8
BANDU4
CNSTU4 0
EQU4 $100
line 244
;244:	{
line 245
;245:		x = x - w/2;
ADDRLP4 4
ADDRLP4 4
INDIRI4
ADDRLP4 0
INDIRI4
CNSTI4 2
DIVI4
SUBI4
ASGNI4
line 246
;246:	}
LABELV $100
LABELV $99
line 248
;247:
;248:	b->generic.left   = x;
ADDRFP4 0
INDIRP4
CNSTI4 20
ADDP4
ADDRLP4 4
INDIRI4
ASGNI4
line 249
;249:	b->generic.right  = x + w;
ADDRFP4 0
INDIRP4
CNSTI4 28
ADDP4
ADDRLP4 4
INDIRI4
ADDRLP4 0
INDIRI4
ADDI4
ASGNI4
line 250
;250:	b->generic.top    = y;
ADDRFP4 0
INDIRP4
CNSTI4 24
ADDP4
ADDRLP4 12
INDIRI4
ASGNI4
line 251
;251:	b->generic.bottom = y + h;
ADDRFP4 0
INDIRP4
CNSTI4 32
ADDP4
ADDRLP4 12
INDIRI4
ADDRLP4 8
INDIRI4
ADDI4
ASGNI4
line 253
;252:
;253:	b->shader      = 0;
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
CNSTI4 0
ASGNI4
line 254
;254:	b->focusshader = 0;
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
CNSTI4 0
ASGNI4
line 255
;255:}
LABELV $93
endproc Bitmap_Init 16 0
export Bitmap_Draw
proc Bitmap_Draw 72 20
line 263
;256:
;257:/*
;258:=================
;259:Bitmap_Draw
;260:=================
;261:*/
;262:void Bitmap_Draw( menubitmap_s *b )
;263:{
line 271
;264:	float	x;
;265:	float	y;
;266:	float	w;
;267:	float	h;
;268:	vec4_t	tempcolor;
;269:	float*	color;
;270:
;271:	x = b->generic.x;
ADDRLP4 0
ADDRFP4 0
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
CVIF4 4
ASGNF4
line 272
;272:	y = b->generic.y;
ADDRLP4 8
ADDRFP4 0
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
CVIF4 4
ASGNF4
line 273
;273:	w = b->width;
ADDRLP4 4
ADDRFP4 0
INDIRP4
CNSTI4 80
ADDP4
INDIRI4
CVIF4 4
ASGNF4
line 274
;274:	h =	b->height;
ADDRLP4 12
ADDRFP4 0
INDIRP4
CNSTI4 84
ADDP4
INDIRI4
CVIF4 4
ASGNF4
line 276
;275:
;276:	if (b->generic.flags & QMF_RIGHT_JUSTIFY)
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 16
BANDU4
CNSTU4 0
EQU4 $103
line 277
;277:	{
line 278
;278:		x = x - w;
ADDRLP4 0
ADDRLP4 0
INDIRF4
ADDRLP4 4
INDIRF4
SUBF4
ASGNF4
line 279
;279:	}
ADDRGP4 $104
JUMPV
LABELV $103
line 280
;280:	else if (b->generic.flags & QMF_CENTER_JUSTIFY)
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 8
BANDU4
CNSTU4 0
EQU4 $105
line 281
;281:	{
line 282
;282:		x = x - w/2;
ADDRLP4 0
ADDRLP4 0
INDIRF4
ADDRLP4 4
INDIRF4
CNSTF4 1056964608
MULF4
SUBF4
ASGNF4
line 283
;283:	}
LABELV $105
LABELV $104
line 286
;284:
;285:	// used to refresh shader
;286:	if (b->generic.name && !b->shader)
ADDRLP4 36
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 36
INDIRP4
CNSTI4 4
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $107
ADDRLP4 36
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
CNSTI4 0
NEI4 $107
line 287
;287:	{
line 288
;288:		b->shader = trap_R_RegisterShaderNoMip( b->generic.name );
ADDRLP4 40
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 40
INDIRP4
CNSTI4 4
ADDP4
INDIRP4
ARGP4
ADDRLP4 44
ADDRGP4 trap_R_RegisterShaderNoMip
CALLI4
ASGNI4
ADDRLP4 40
INDIRP4
CNSTI4 72
ADDP4
ADDRLP4 44
INDIRI4
ASGNI4
line 289
;289:		if (!b->shader && b->errorpic)
ADDRLP4 48
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 48
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
CNSTI4 0
NEI4 $109
ADDRLP4 48
INDIRP4
CNSTI4 68
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $109
line 290
;290:			b->shader = trap_R_RegisterShaderNoMip( b->errorpic );
ADDRLP4 52
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 52
INDIRP4
CNSTI4 68
ADDP4
INDIRP4
ARGP4
ADDRLP4 56
ADDRGP4 trap_R_RegisterShaderNoMip
CALLI4
ASGNI4
ADDRLP4 52
INDIRP4
CNSTI4 72
ADDP4
ADDRLP4 56
INDIRI4
ASGNI4
LABELV $109
line 291
;291:	}
LABELV $107
line 293
;292:
;293:	if (b->focuspic && !b->focusshader)
ADDRLP4 40
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 40
INDIRP4
CNSTI4 64
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $111
ADDRLP4 40
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
CNSTI4 0
NEI4 $111
line 294
;294:		b->focusshader = trap_R_RegisterShaderNoMip( b->focuspic );
ADDRLP4 44
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 44
INDIRP4
CNSTI4 64
ADDP4
INDIRP4
ARGP4
ADDRLP4 48
ADDRGP4 trap_R_RegisterShaderNoMip
CALLI4
ASGNI4
ADDRLP4 44
INDIRP4
CNSTI4 76
ADDP4
ADDRLP4 48
INDIRI4
ASGNI4
LABELV $111
line 296
;295:
;296:	if (b->generic.flags & QMF_GRAYED)
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 8192
BANDU4
CNSTU4 0
EQU4 $113
line 297
;297:	{
line 298
;298:		if (b->shader)
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
CNSTI4 0
EQI4 $114
line 299
;299:		{
line 300
;300:			trap_R_SetColor( colorMdGrey );
ADDRGP4 colorMdGrey
ARGP4
ADDRGP4 trap_R_SetColor
CALLV
pop
line 301
;301:			UI_DrawHandlePic( x, y, w, h, b->shader );
ADDRLP4 0
INDIRF4
ARGF4
ADDRLP4 8
INDIRF4
ARGF4
ADDRLP4 4
INDIRF4
ARGF4
ADDRLP4 12
INDIRF4
ARGF4
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
ARGI4
ADDRGP4 UI_DrawHandlePic
CALLV
pop
line 302
;302:			trap_R_SetColor( NULL );
CNSTP4 0
ARGP4
ADDRGP4 trap_R_SetColor
CALLV
pop
line 303
;303:		}
line 304
;304:	}
ADDRGP4 $114
JUMPV
LABELV $113
line 306
;305:	else
;306:	{
line 307
;307:		if (b->shader)
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
CNSTI4 0
EQI4 $117
line 308
;308:			UI_DrawHandlePic( x, y, w, h, b->shader );
ADDRLP4 0
INDIRF4
ARGF4
ADDRLP4 8
INDIRF4
ARGF4
ADDRLP4 4
INDIRF4
ARGF4
ADDRLP4 12
INDIRF4
ARGF4
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
ARGI4
ADDRGP4 UI_DrawHandlePic
CALLV
pop
LABELV $117
line 311
;309:
;310:		// bk001204 - parentheses
;311:		if (  ( (b->generic.flags & QMF_PULSE) 
ADDRLP4 52
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 52
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 131072
BANDU4
CNSTU4 0
NEU4 $121
ADDRLP4 52
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 256
BANDU4
CNSTU4 0
EQU4 $119
LABELV $121
ADDRLP4 56
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 56
INDIRP4
CNSTI4 36
ADDP4
INDIRP4
ARGP4
ADDRLP4 60
ADDRGP4 Menu_ItemAtCursor
CALLP4
ASGNP4
ADDRLP4 56
INDIRP4
CVPU4 4
ADDRLP4 60
INDIRP4
CVPU4 4
NEU4 $119
line 314
;312:			|| (b->generic.flags & QMF_PULSEIFFOCUS) )
;313:		      && (Menu_ItemAtCursor( b->generic.parent ) == b))
;314:		{	
line 315
;315:			if (b->focuscolor)			
ADDRFP4 0
INDIRP4
CNSTI4 88
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $122
line 316
;316:			{
line 317
;317:				tempcolor[0] = b->focuscolor[0];
ADDRLP4 20
ADDRFP4 0
INDIRP4
CNSTI4 88
ADDP4
INDIRP4
INDIRF4
ASGNF4
line 318
;318:				tempcolor[1] = b->focuscolor[1];
ADDRLP4 20+4
ADDRFP4 0
INDIRP4
CNSTI4 88
ADDP4
INDIRP4
CNSTI4 4
ADDP4
INDIRF4
ASGNF4
line 319
;319:				tempcolor[2] = b->focuscolor[2];
ADDRLP4 20+8
ADDRFP4 0
INDIRP4
CNSTI4 88
ADDP4
INDIRP4
CNSTI4 8
ADDP4
INDIRF4
ASGNF4
line 320
;320:				color        = tempcolor;	
ADDRLP4 16
ADDRLP4 20
ASGNP4
line 321
;321:			}
ADDRGP4 $123
JUMPV
LABELV $122
line 323
;322:			else
;323:				color = pulse_color;
ADDRLP4 16
ADDRGP4 pulse_color
ASGNP4
LABELV $123
line 324
;324:			color[3] = 0.5+0.5*sin( ( uis.realtime % TMOD_075) / PULSE_DIVISOR );
ADDRGP4 uis+4
INDIRI4
CNSTI4 2292106
MODI4
CNSTI4 75
DIVI4
CVIF4 4
ARGF4
ADDRLP4 64
ADDRGP4 sin
CALLF4
ASGNF4
ADDRLP4 16
INDIRP4
CNSTI4 12
ADDP4
ADDRLP4 64
INDIRF4
CNSTF4 1056964608
MULF4
CNSTF4 1056964608
ADDF4
ASGNF4
line 326
;325:
;326:			trap_R_SetColor( color );
ADDRLP4 16
INDIRP4
ARGP4
ADDRGP4 trap_R_SetColor
CALLV
pop
line 327
;327:			UI_DrawHandlePic( x, y, w, h, b->focusshader );
ADDRLP4 0
INDIRF4
ARGF4
ADDRLP4 8
INDIRF4
ARGF4
ADDRLP4 4
INDIRF4
ARGF4
ADDRLP4 12
INDIRF4
ARGF4
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
ARGI4
ADDRGP4 UI_DrawHandlePic
CALLV
pop
line 328
;328:			trap_R_SetColor( NULL );
CNSTP4 0
ARGP4
ADDRGP4 trap_R_SetColor
CALLV
pop
line 329
;329:		}
ADDRGP4 $120
JUMPV
LABELV $119
line 330
;330:		else if ((b->generic.flags & QMF_HIGHLIGHT) || ((b->generic.flags & QMF_HIGHLIGHT_IF_FOCUS) && (Menu_ItemAtCursor( b->generic.parent ) == b)))
ADDRLP4 64
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 64
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 64
BANDU4
CNSTU4 0
NEU4 $129
ADDRLP4 64
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 128
BANDU4
CNSTU4 0
EQU4 $127
ADDRLP4 64
INDIRP4
CNSTI4 36
ADDP4
INDIRP4
ARGP4
ADDRLP4 68
ADDRGP4 Menu_ItemAtCursor
CALLP4
ASGNP4
ADDRLP4 64
INDIRP4
CVPU4 4
ADDRLP4 68
INDIRP4
CVPU4 4
NEU4 $127
LABELV $129
line 331
;331:		{	
line 332
;332:			if (b->focuscolor)
ADDRFP4 0
INDIRP4
CNSTI4 88
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $130
line 333
;333:			{
line 334
;334:				trap_R_SetColor( b->focuscolor );
ADDRFP4 0
INDIRP4
CNSTI4 88
ADDP4
INDIRP4
ARGP4
ADDRGP4 trap_R_SetColor
CALLV
pop
line 335
;335:				UI_DrawHandlePic( x, y, w, h, b->focusshader );
ADDRLP4 0
INDIRF4
ARGF4
ADDRLP4 8
INDIRF4
ARGF4
ADDRLP4 4
INDIRF4
ARGF4
ADDRLP4 12
INDIRF4
ARGF4
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
ARGI4
ADDRGP4 UI_DrawHandlePic
CALLV
pop
line 336
;336:				trap_R_SetColor( NULL );
CNSTP4 0
ARGP4
ADDRGP4 trap_R_SetColor
CALLV
pop
line 337
;337:			}
ADDRGP4 $131
JUMPV
LABELV $130
line 339
;338:			else
;339:				UI_DrawHandlePic( x, y, w, h, b->focusshader );
ADDRLP4 0
INDIRF4
ARGF4
ADDRLP4 8
INDIRF4
ARGF4
ADDRLP4 4
INDIRF4
ARGF4
ADDRLP4 12
INDIRF4
ARGF4
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
ARGI4
ADDRGP4 UI_DrawHandlePic
CALLV
pop
LABELV $131
line 340
;340:		}
LABELV $127
LABELV $120
line 341
;341:	}
LABELV $114
line 342
;342:}
LABELV $102
endproc Bitmap_Draw 72 20
proc Action_Init 24 4
line 350
;343:
;344:/*
;345:=================
;346:Action_Init
;347:=================
;348:*/
;349:static void Action_Init( menuaction_s *a )
;350:{
line 354
;351:	int	len;
;352:
;353:	// calculate bounds
;354:	if (a->generic.name)
ADDRFP4 0
INDIRP4
CNSTI4 4
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $133
line 355
;355:		len = strlen(a->generic.name);
ADDRFP4 0
INDIRP4
CNSTI4 4
ADDP4
INDIRP4
ARGP4
ADDRLP4 4
ADDRGP4 strlen
CALLI4
ASGNI4
ADDRLP4 0
ADDRLP4 4
INDIRI4
ASGNI4
ADDRGP4 $134
JUMPV
LABELV $133
line 357
;356:	else
;357:		len = 0;
ADDRLP4 0
CNSTI4 0
ASGNI4
LABELV $134
line 360
;358:
;359:	// left justify text
;360:	a->generic.left   = a->generic.x; 
ADDRLP4 8
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 8
INDIRP4
CNSTI4 20
ADDP4
ADDRLP4 8
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ASGNI4
line 361
;361:	a->generic.right  = a->generic.x + len*BIGCHAR_WIDTH;
ADDRLP4 12
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 12
INDIRP4
CNSTI4 28
ADDP4
ADDRLP4 12
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ADDRLP4 0
INDIRI4
CNSTI4 4
LSHI4
ADDI4
ASGNI4
line 362
;362:	a->generic.top    = a->generic.y;
ADDRLP4 16
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 16
INDIRP4
CNSTI4 24
ADDP4
ADDRLP4 16
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
ASGNI4
line 363
;363:	a->generic.bottom = a->generic.y + BIGCHAR_HEIGHT;
ADDRLP4 20
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 20
INDIRP4
CNSTI4 32
ADDP4
ADDRLP4 20
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
CNSTI4 16
ADDI4
ASGNI4
line 364
;364:}
LABELV $132
endproc Action_Init 24 4
proc Action_Draw 28 20
line 372
;365:
;366:/*
;367:=================
;368:Action_Draw
;369:=================
;370:*/
;371:static void Action_Draw( menuaction_s *a )
;372:{
line 377
;373:	int		x, y;
;374:	int		style;
;375:	float*	color;
;376:
;377:	style = 0;
ADDRLP4 12
CNSTI4 0
ASGNI4
line 378
;378:	color = menu_text_color;
ADDRLP4 0
ADDRGP4 menu_text_color
ASGNP4
line 379
;379:	if ( a->generic.flags & QMF_GRAYED )
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 8192
BANDU4
CNSTU4 0
EQU4 $136
line 380
;380:	{
line 381
;381:		color = text_color_disabled;
ADDRLP4 0
ADDRGP4 text_color_disabled
ASGNP4
line 382
;382:	}
ADDRGP4 $137
JUMPV
LABELV $136
line 383
;383:	else if (( a->generic.flags & QMF_PULSEIFFOCUS ) && ( a->generic.parent->cursor == a->generic.menuPosition ))
ADDRLP4 16
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 16
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 256
BANDU4
CNSTU4 0
EQU4 $138
ADDRLP4 16
INDIRP4
CNSTI4 36
ADDP4
INDIRP4
INDIRI4
ADDRLP4 16
INDIRP4
CNSTI4 40
ADDP4
INDIRI4
NEI4 $138
line 384
;384:	{
line 385
;385:		color = text_color_highlight;
ADDRLP4 0
ADDRGP4 text_color_highlight
ASGNP4
line 386
;386:		style = UI_PULSE;
ADDRLP4 12
CNSTI4 16384
ASGNI4
line 387
;387:	}
ADDRGP4 $139
JUMPV
LABELV $138
line 388
;388:	else if (( a->generic.flags & QMF_HIGHLIGHT_IF_FOCUS ) && ( a->generic.parent->cursor == a->generic.menuPosition ))
ADDRLP4 20
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 20
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 128
BANDU4
CNSTU4 0
EQU4 $140
ADDRLP4 20
INDIRP4
CNSTI4 36
ADDP4
INDIRP4
INDIRI4
ADDRLP4 20
INDIRP4
CNSTI4 40
ADDP4
INDIRI4
NEI4 $140
line 389
;389:	{
line 390
;390:		color = text_color_highlight;
ADDRLP4 0
ADDRGP4 text_color_highlight
ASGNP4
line 391
;391:	}
ADDRGP4 $141
JUMPV
LABELV $140
line 392
;392:	else if ( a->generic.flags & QMF_BLINK )
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 1
BANDU4
CNSTU4 0
EQU4 $142
line 393
;393:	{
line 394
;394:		style = UI_BLINK;
ADDRLP4 12
CNSTI4 4096
ASGNI4
line 395
;395:		color = text_color_highlight;
ADDRLP4 0
ADDRGP4 text_color_highlight
ASGNP4
line 396
;396:	}
LABELV $142
LABELV $141
LABELV $139
LABELV $137
line 398
;397:
;398:	x = a->generic.x;
ADDRLP4 4
ADDRFP4 0
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ASGNI4
line 399
;399:	y = a->generic.y;
ADDRLP4 8
ADDRFP4 0
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
ASGNI4
line 401
;400:
;401:	UI_DrawString( x, y, a->generic.name, UI_LEFT|style, color );
ADDRLP4 4
INDIRI4
ARGI4
ADDRLP4 8
INDIRI4
ARGI4
ADDRFP4 0
INDIRP4
CNSTI4 4
ADDP4
INDIRP4
ARGP4
ADDRLP4 12
INDIRI4
ARGI4
ADDRLP4 0
INDIRP4
ARGP4
ADDRGP4 UI_DrawString
CALLV
pop
line 403
;402:
;403:	if ( a->generic.parent->cursor == a->generic.menuPosition )
ADDRLP4 24
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 24
INDIRP4
CNSTI4 36
ADDP4
INDIRP4
INDIRI4
ADDRLP4 24
INDIRP4
CNSTI4 40
ADDP4
INDIRI4
NEI4 $144
line 404
;404:	{
line 406
;405:		// draw cursor
;406:		UI_DrawChar( x - BIGCHAR_WIDTH, y, 13, UI_LEFT|UI_BLINK, color);
ADDRLP4 4
INDIRI4
CNSTI4 16
SUBI4
ARGI4
ADDRLP4 8
INDIRI4
ARGI4
CNSTI4 13
ARGI4
CNSTI4 4096
ARGI4
ADDRLP4 0
INDIRP4
ARGP4
ADDRGP4 UI_DrawChar
CALLV
pop
line 407
;407:	}
LABELV $144
line 408
;408:}
LABELV $135
endproc Action_Draw 28 20
proc RadioButton_Init 24 4
line 416
;409:
;410:/*
;411:=================
;412:RadioButton_Init
;413:=================
;414:*/
;415:static void RadioButton_Init( menuradiobutton_s *rb )
;416:{
line 420
;417:	int	len;
;418:
;419:	// calculate bounds
;420:	if (rb->generic.name)
ADDRFP4 0
INDIRP4
CNSTI4 4
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $147
line 421
;421:		len = strlen(rb->generic.name);
ADDRFP4 0
INDIRP4
CNSTI4 4
ADDP4
INDIRP4
ARGP4
ADDRLP4 4
ADDRGP4 strlen
CALLI4
ASGNI4
ADDRLP4 0
ADDRLP4 4
INDIRI4
ASGNI4
ADDRGP4 $148
JUMPV
LABELV $147
line 423
;422:	else
;423:		len = 0;
ADDRLP4 0
CNSTI4 0
ASGNI4
LABELV $148
line 425
;424:
;425:	rb->generic.left   = rb->generic.x - (len+1)*SMALLCHAR_WIDTH;
ADDRLP4 8
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 8
INDIRP4
CNSTI4 20
ADDP4
ADDRLP4 8
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ADDRLP4 0
INDIRI4
CNSTI4 3
LSHI4
CNSTI4 8
ADDI4
SUBI4
ASGNI4
line 426
;426:	rb->generic.right  = rb->generic.x + 6*SMALLCHAR_WIDTH;
ADDRLP4 12
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 12
INDIRP4
CNSTI4 28
ADDP4
ADDRLP4 12
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
CNSTI4 48
ADDI4
ASGNI4
line 427
;427:	rb->generic.top    = rb->generic.y;
ADDRLP4 16
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 16
INDIRP4
CNSTI4 24
ADDP4
ADDRLP4 16
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
ASGNI4
line 428
;428:	rb->generic.bottom = rb->generic.y + SMALLCHAR_HEIGHT;
ADDRLP4 20
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 20
INDIRP4
CNSTI4 32
ADDP4
ADDRLP4 20
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
CNSTI4 16
ADDI4
ASGNI4
line 429
;429:}
LABELV $146
endproc RadioButton_Init 24 4
proc RadioButton_Key 32 8
line 437
;430:
;431:/*
;432:=================
;433:RadioButton_Key
;434:=================
;435:*/
;436:static sfxHandle_t RadioButton_Key( menuradiobutton_s *rb, int key )
;437:{
line 438
;438:	switch (key)
ADDRLP4 0
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 0
INDIRI4
CNSTI4 163
EQI4 $155
ADDRLP4 0
INDIRI4
CNSTI4 165
EQI4 $155
ADDRLP4 0
INDIRI4
CNSTI4 165
GTI4 $162
LABELV $161
ADDRLP4 4
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 4
INDIRI4
CNSTI4 13
EQI4 $155
ADDRLP4 4
INDIRI4
CNSTI4 13
LTI4 $150
LABELV $163
ADDRLP4 8
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 8
INDIRI4
CNSTI4 134
EQI4 $155
ADDRLP4 8
INDIRI4
CNSTI4 135
EQI4 $155
ADDRGP4 $150
JUMPV
LABELV $162
ADDRLP4 12
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 12
INDIRI4
CNSTI4 178
EQI4 $152
ADDRLP4 12
INDIRI4
CNSTI4 178
GTI4 $165
LABELV $164
ADDRFP4 4
INDIRI4
CNSTI4 169
EQI4 $155
ADDRGP4 $150
JUMPV
LABELV $165
ADDRLP4 16
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 16
INDIRI4
CNSTI4 185
LTI4 $150
ADDRLP4 16
INDIRI4
CNSTI4 188
GTI4 $150
ADDRLP4 16
INDIRI4
CNSTI4 2
LSHI4
ADDRGP4 $166-740
ADDP4
INDIRP4
JUMPV
data
align 4
LABELV $166
address $155
address $155
address $155
address $155
code
line 439
;439:	{
LABELV $152
line 441
;440:		case K_MOUSE1:
;441:			if (!(rb->generic.flags & QMF_HASMOUSEFOCUS))
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 512
BANDU4
CNSTU4 0
NEU4 $153
line 442
;442:				break;
ADDRGP4 $151
JUMPV
LABELV $153
LABELV $155
line 454
;443:
;444:		case K_JOY1:
;445:		case K_JOY2:
;446:		case K_JOY3:
;447:		case K_JOY4:
;448:		case K_ENTER:
;449:		case K_KP_ENTER:
;450:		case K_KP_LEFTARROW:
;451:		case K_LEFTARROW:
;452:		case K_KP_RIGHTARROW:
;453:		case K_RIGHTARROW:
;454:			rb->curvalue = !rb->curvalue;
ADDRLP4 24
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 24
INDIRP4
CNSTI4 64
ADDP4
INDIRI4
CNSTI4 0
NEI4 $157
ADDRLP4 20
CNSTI4 1
ASGNI4
ADDRGP4 $158
JUMPV
LABELV $157
ADDRLP4 20
CNSTI4 0
ASGNI4
LABELV $158
ADDRLP4 24
INDIRP4
CNSTI4 64
ADDP4
ADDRLP4 20
INDIRI4
ASGNI4
line 455
;455:			if ( rb->generic.callback )
ADDRFP4 0
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $159
line 456
;456:				rb->generic.callback( rb, QM_ACTIVATED );
ADDRLP4 28
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 28
INDIRP4
ARGP4
CNSTI4 3
ARGI4
ADDRLP4 28
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CALLV
pop
LABELV $159
line 458
;457:
;458:			return (menu_move_sound);
ADDRGP4 menu_move_sound
INDIRI4
RETI4
ADDRGP4 $149
JUMPV
LABELV $150
LABELV $151
line 462
;459:	}
;460:
;461:	// key not handled
;462:	return 0;
CNSTI4 0
RETI4
LABELV $149
endproc RadioButton_Key 32 8
proc RadioButton_Draw 32 20
line 471
;463:}
;464:
;465:/*
;466:=================
;467:RadioButton_Draw
;468:=================
;469:*/
;470:static void RadioButton_Draw( menuradiobutton_s *rb )
;471:{
line 478
;472:	int	x;
;473:	int y;
;474:	float *color;
;475:	int	style;
;476:	qboolean focus;
;477:
;478:	x = rb->generic.x;
ADDRLP4 0
ADDRFP4 0
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ASGNI4
line 479
;479:	y = rb->generic.y;
ADDRLP4 4
ADDRFP4 0
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
ASGNI4
line 481
;480:
;481:	focus = (rb->generic.parent->cursor == rb->generic.menuPosition);
ADDRLP4 24
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 24
INDIRP4
CNSTI4 36
ADDP4
INDIRP4
INDIRI4
ADDRLP4 24
INDIRP4
CNSTI4 40
ADDP4
INDIRI4
NEI4 $170
ADDRLP4 20
CNSTI4 1
ASGNI4
ADDRGP4 $171
JUMPV
LABELV $170
ADDRLP4 20
CNSTI4 0
ASGNI4
LABELV $171
ADDRLP4 12
ADDRLP4 20
INDIRI4
ASGNI4
line 483
;482:
;483:	if ( rb->generic.flags & QMF_GRAYED )
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 8192
BANDU4
CNSTU4 0
EQU4 $172
line 484
;484:	{
line 485
;485:		color = text_color_disabled;
ADDRLP4 8
ADDRGP4 text_color_disabled
ASGNP4
line 486
;486:		style = UI_LEFT|UI_SMALLFONT;
ADDRLP4 16
CNSTI4 16
ASGNI4
line 487
;487:	}
ADDRGP4 $173
JUMPV
LABELV $172
line 488
;488:	else if ( focus )
ADDRLP4 12
INDIRI4
CNSTI4 0
EQI4 $174
line 489
;489:	{
line 490
;490:		color = text_color_highlight;
ADDRLP4 8
ADDRGP4 text_color_highlight
ASGNP4
line 491
;491:		style = UI_LEFT|UI_PULSE|UI_SMALLFONT;
ADDRLP4 16
CNSTI4 16400
ASGNI4
line 492
;492:	}
ADDRGP4 $175
JUMPV
LABELV $174
line 494
;493:	else
;494:	{
line 495
;495:		color = text_color_normal;
ADDRLP4 8
ADDRGP4 text_color_normal
ASGNP4
line 496
;496:		style = UI_LEFT|UI_SMALLFONT;
ADDRLP4 16
CNSTI4 16
ASGNI4
line 497
;497:	}
LABELV $175
LABELV $173
line 499
;498:
;499:	if ( focus )
ADDRLP4 12
INDIRI4
CNSTI4 0
EQI4 $176
line 500
;500:	{
line 502
;501:		// draw cursor
;502:		UI_FillRect( rb->generic.left, rb->generic.top, rb->generic.right-rb->generic.left+1, rb->generic.bottom-rb->generic.top+1, listbar_color ); 
ADDRLP4 28
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 28
INDIRP4
CNSTI4 20
ADDP4
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 28
INDIRP4
CNSTI4 24
ADDP4
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 28
INDIRP4
CNSTI4 28
ADDP4
INDIRI4
ADDRLP4 28
INDIRP4
CNSTI4 20
ADDP4
INDIRI4
SUBI4
CNSTI4 1
ADDI4
CVIF4 4
ARGF4
ADDRLP4 28
INDIRP4
CNSTI4 32
ADDP4
INDIRI4
ADDRLP4 28
INDIRP4
CNSTI4 24
ADDP4
INDIRI4
SUBI4
CNSTI4 1
ADDI4
CVIF4 4
ARGF4
ADDRGP4 listbar_color
ARGP4
ADDRGP4 UI_FillRect
CALLV
pop
line 503
;503:		UI_DrawChar( x, y, 13, UI_CENTER|UI_BLINK|UI_SMALLFONT, color);
ADDRLP4 0
INDIRI4
ARGI4
ADDRLP4 4
INDIRI4
ARGI4
CNSTI4 13
ARGI4
CNSTI4 4113
ARGI4
ADDRLP4 8
INDIRP4
ARGP4
ADDRGP4 UI_DrawChar
CALLV
pop
line 504
;504:	}
LABELV $176
line 506
;505:
;506:	if ( rb->generic.name )
ADDRFP4 0
INDIRP4
CNSTI4 4
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $178
line 507
;507:		UI_DrawString( x - SMALLCHAR_WIDTH, y, rb->generic.name, UI_RIGHT|UI_SMALLFONT, color );
ADDRLP4 0
INDIRI4
CNSTI4 8
SUBI4
ARGI4
ADDRLP4 4
INDIRI4
ARGI4
ADDRFP4 0
INDIRP4
CNSTI4 4
ADDP4
INDIRP4
ARGP4
CNSTI4 18
ARGI4
ADDRLP4 8
INDIRP4
ARGP4
ADDRGP4 UI_DrawString
CALLV
pop
LABELV $178
line 509
;508:
;509:	if ( !rb->curvalue )
ADDRFP4 0
INDIRP4
CNSTI4 64
ADDP4
INDIRI4
CNSTI4 0
NEI4 $180
line 510
;510:	{
line 511
;511:		UI_DrawHandlePic( x + SMALLCHAR_WIDTH, y + 2, 16, 16, uis.rb_off);
ADDRLP4 0
INDIRI4
CNSTI4 8
ADDI4
CVIF4 4
ARGF4
ADDRLP4 4
INDIRI4
CNSTI4 2
ADDI4
CVIF4 4
ARGF4
CNSTF4 1098907648
ARGF4
CNSTF4 1098907648
ARGF4
ADDRGP4 uis+11428
INDIRI4
ARGI4
ADDRGP4 UI_DrawHandlePic
CALLV
pop
line 512
;512:		UI_DrawString( x + SMALLCHAR_WIDTH + 16, y, "off", style, color );
ADDRLP4 0
INDIRI4
CNSTI4 8
ADDI4
CNSTI4 16
ADDI4
ARGI4
ADDRLP4 4
INDIRI4
ARGI4
ADDRGP4 $183
ARGP4
ADDRLP4 16
INDIRI4
ARGI4
ADDRLP4 8
INDIRP4
ARGP4
ADDRGP4 UI_DrawString
CALLV
pop
line 513
;513:	}
ADDRGP4 $181
JUMPV
LABELV $180
line 515
;514:	else
;515:	{
line 516
;516:		UI_DrawHandlePic( x + SMALLCHAR_WIDTH, y + 2, 16, 16, uis.rb_on );
ADDRLP4 0
INDIRI4
CNSTI4 8
ADDI4
CVIF4 4
ARGF4
ADDRLP4 4
INDIRI4
CNSTI4 2
ADDI4
CVIF4 4
ARGF4
CNSTF4 1098907648
ARGF4
CNSTF4 1098907648
ARGF4
ADDRGP4 uis+11424
INDIRI4
ARGI4
ADDRGP4 UI_DrawHandlePic
CALLV
pop
line 517
;517:		UI_DrawString( x + SMALLCHAR_WIDTH + 16, y, "on", style, color );
ADDRLP4 0
INDIRI4
CNSTI4 8
ADDI4
CNSTI4 16
ADDI4
ARGI4
ADDRLP4 4
INDIRI4
ARGI4
ADDRGP4 $185
ARGP4
ADDRLP4 16
INDIRI4
ARGI4
ADDRLP4 8
INDIRP4
ARGP4
ADDRGP4 UI_DrawString
CALLV
pop
line 518
;518:	}
LABELV $181
line 519
;519:}
LABELV $168
endproc RadioButton_Draw 32 20
proc Slider_Init 24 4
line 527
;520:
;521:/*
;522:=================
;523:Slider_Init
;524:=================
;525:*/
;526:static void Slider_Init( menuslider_s *s )
;527:{
line 531
;528:	int len;
;529:
;530:	// calculate bounds
;531:	if (s->generic.name)
ADDRFP4 0
INDIRP4
CNSTI4 4
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $187
line 532
;532:		len = strlen(s->generic.name);
ADDRFP4 0
INDIRP4
CNSTI4 4
ADDP4
INDIRP4
ARGP4
ADDRLP4 4
ADDRGP4 strlen
CALLI4
ASGNI4
ADDRLP4 0
ADDRLP4 4
INDIRI4
ASGNI4
ADDRGP4 $188
JUMPV
LABELV $187
line 534
;533:	else
;534:		len = 0;
ADDRLP4 0
CNSTI4 0
ASGNI4
LABELV $188
line 536
;535:
;536:	s->generic.left   = s->generic.x - (len+1)*SMALLCHAR_WIDTH; 
ADDRLP4 8
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 8
INDIRP4
CNSTI4 20
ADDP4
ADDRLP4 8
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ADDRLP4 0
INDIRI4
CNSTI4 3
LSHI4
CNSTI4 8
ADDI4
SUBI4
ASGNI4
line 537
;537:	s->generic.right  = s->generic.x + (SLIDER_RANGE+2+1)*SMALLCHAR_WIDTH;
ADDRLP4 12
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 12
INDIRP4
CNSTI4 28
ADDP4
ADDRLP4 12
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
CNSTI4 104
ADDI4
ASGNI4
line 538
;538:	s->generic.top    = s->generic.y;
ADDRLP4 16
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 16
INDIRP4
CNSTI4 24
ADDP4
ADDRLP4 16
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
ASGNI4
line 539
;539:	s->generic.bottom = s->generic.y + SMALLCHAR_HEIGHT;
ADDRLP4 20
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 20
INDIRP4
CNSTI4 32
ADDP4
ADDRLP4 20
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
CNSTI4 16
ADDI4
ASGNI4
line 540
;540:}
LABELV $186
endproc Slider_Init 24 4
proc Slider_Key 52 8
line 548
;541:
;542:/*
;543:=================
;544:Slider_Key
;545:=================
;546:*/
;547:static sfxHandle_t Slider_Key( menuslider_s *s, int key )
;548:{
line 553
;549:	sfxHandle_t	sound;
;550:	int			x;
;551:	int			oldvalue;
;552:
;553:	switch (key)
ADDRLP4 12
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 12
INDIRI4
CNSTI4 163
EQI4 $200
ADDRLP4 12
INDIRI4
CNSTI4 165
EQI4 $203
ADDRLP4 12
INDIRI4
CNSTI4 165
GTI4 $207
LABELV $206
ADDRLP4 16
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 16
INDIRI4
CNSTI4 134
EQI4 $200
ADDRLP4 16
INDIRI4
CNSTI4 135
EQI4 $203
ADDRGP4 $190
JUMPV
LABELV $207
ADDRFP4 4
INDIRI4
CNSTI4 178
EQI4 $192
ADDRGP4 $190
JUMPV
line 554
;554:	{
LABELV $192
line 556
;555:		case K_MOUSE1:
;556:			x           = uis.cursorx - s->generic.x - 2*SMALLCHAR_WIDTH;
ADDRLP4 4
ADDRGP4 uis+8
INDIRF4
ADDRFP4 0
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
CVIF4 4
SUBF4
CNSTF4 1098907648
SUBF4
CVFI4 4
ASGNI4
line 557
;557:			oldvalue    = s->curvalue;
ADDRLP4 8
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
INDIRF4
CVFI4 4
ASGNI4
line 558
;558:			s->curvalue = (x/(float)(SLIDER_RANGE*SMALLCHAR_WIDTH)) * (s->maxvalue-s->minvalue) + s->minvalue;
ADDRLP4 20
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 20
INDIRP4
CNSTI4 72
ADDP4
ADDRLP4 4
INDIRI4
CVIF4 4
CNSTF4 1011666125
MULF4
ADDRLP4 20
INDIRP4
CNSTI4 68
ADDP4
INDIRF4
ADDRLP4 20
INDIRP4
CNSTI4 64
ADDP4
INDIRF4
SUBF4
MULF4
ADDRLP4 20
INDIRP4
CNSTI4 64
ADDP4
INDIRF4
ADDF4
ASGNF4
line 560
;559:
;560:			if (s->curvalue < s->minvalue)
ADDRLP4 24
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 24
INDIRP4
CNSTI4 72
ADDP4
INDIRF4
ADDRLP4 24
INDIRP4
CNSTI4 64
ADDP4
INDIRF4
GEF4 $194
line 561
;561:				s->curvalue = s->minvalue;
ADDRLP4 28
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 28
INDIRP4
CNSTI4 72
ADDP4
ADDRLP4 28
INDIRP4
CNSTI4 64
ADDP4
INDIRF4
ASGNF4
ADDRGP4 $195
JUMPV
LABELV $194
line 562
;562:			else if (s->curvalue > s->maxvalue)
ADDRLP4 32
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 32
INDIRP4
CNSTI4 72
ADDP4
INDIRF4
ADDRLP4 32
INDIRP4
CNSTI4 68
ADDP4
INDIRF4
LEF4 $196
line 563
;563:				s->curvalue = s->maxvalue;
ADDRLP4 36
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 36
INDIRP4
CNSTI4 72
ADDP4
ADDRLP4 36
INDIRP4
CNSTI4 68
ADDP4
INDIRF4
ASGNF4
LABELV $196
LABELV $195
line 564
;564:			if (s->curvalue != oldvalue)
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
INDIRF4
ADDRLP4 8
INDIRI4
CVIF4 4
EQF4 $198
line 565
;565:				sound = menu_move_sound;
ADDRLP4 0
ADDRGP4 menu_move_sound
INDIRI4
ASGNI4
ADDRGP4 $191
JUMPV
LABELV $198
line 567
;566:			else
;567:				sound = 0;
ADDRLP4 0
CNSTI4 0
ASGNI4
line 568
;568:			break;
ADDRGP4 $191
JUMPV
LABELV $200
line 572
;569:
;570:		case K_KP_LEFTARROW:
;571:		case K_LEFTARROW:
;572:			if (s->curvalue > s->minvalue)
ADDRLP4 40
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 40
INDIRP4
CNSTI4 72
ADDP4
INDIRF4
ADDRLP4 40
INDIRP4
CNSTI4 64
ADDP4
INDIRF4
LEF4 $201
line 573
;573:			{
line 574
;574:				s->curvalue--;
ADDRLP4 44
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
ASGNP4
ADDRLP4 44
INDIRP4
ADDRLP4 44
INDIRP4
INDIRF4
CNSTF4 1065353216
SUBF4
ASGNF4
line 575
;575:				sound = menu_move_sound;
ADDRLP4 0
ADDRGP4 menu_move_sound
INDIRI4
ASGNI4
line 576
;576:			}
ADDRGP4 $191
JUMPV
LABELV $201
line 578
;577:			else
;578:				sound = menu_buzz_sound;
ADDRLP4 0
ADDRGP4 menu_buzz_sound
INDIRI4
ASGNI4
line 579
;579:			break;			
ADDRGP4 $191
JUMPV
LABELV $203
line 583
;580:
;581:		case K_KP_RIGHTARROW:
;582:		case K_RIGHTARROW:
;583:			if (s->curvalue < s->maxvalue)
ADDRLP4 44
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 44
INDIRP4
CNSTI4 72
ADDP4
INDIRF4
ADDRLP4 44
INDIRP4
CNSTI4 68
ADDP4
INDIRF4
GEF4 $204
line 584
;584:			{
line 585
;585:				s->curvalue++;
ADDRLP4 48
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
ASGNP4
ADDRLP4 48
INDIRP4
ADDRLP4 48
INDIRP4
INDIRF4
CNSTF4 1065353216
ADDF4
ASGNF4
line 586
;586:				sound = menu_move_sound;
ADDRLP4 0
ADDRGP4 menu_move_sound
INDIRI4
ASGNI4
line 587
;587:			}
ADDRGP4 $191
JUMPV
LABELV $204
line 589
;588:			else
;589:				sound = menu_buzz_sound;
ADDRLP4 0
ADDRGP4 menu_buzz_sound
INDIRI4
ASGNI4
line 590
;590:			break;			
ADDRGP4 $191
JUMPV
LABELV $190
line 594
;591:
;592:		default:
;593:			// key not handled
;594:			sound = 0;
ADDRLP4 0
CNSTI4 0
ASGNI4
line 595
;595:			break;
LABELV $191
line 598
;596:	}
;597:
;598:	if ( sound && s->generic.callback )
ADDRLP4 0
INDIRI4
CNSTI4 0
EQI4 $208
ADDRFP4 0
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $208
line 599
;599:		s->generic.callback( s, QM_ACTIVATED );
ADDRLP4 20
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 20
INDIRP4
ARGP4
CNSTI4 3
ARGI4
ADDRLP4 20
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CALLV
pop
LABELV $208
line 601
;600:
;601:	return (sound);
ADDRLP4 0
INDIRI4
RETI4
LABELV $189
endproc Slider_Key 52 8
proc Slider_Draw 40 20
line 610
;602:}
;603:
;604:#if 1
;605:/*
;606:=================
;607:Slider_Draw
;608:=================
;609:*/
;610:static void Slider_Draw( menuslider_s *s ) {
line 618
;611:	int			x;
;612:	int			y;
;613:	int			style;
;614:	float		*color;
;615:	int			button;
;616:	qboolean	focus;
;617:	
;618:	x =	s->generic.x;
ADDRLP4 0
ADDRFP4 0
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ASGNI4
line 619
;619:	y = s->generic.y;
ADDRLP4 4
ADDRFP4 0
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
ASGNI4
line 620
;620:	focus = (s->generic.parent->cursor == s->generic.menuPosition);
ADDRLP4 28
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 28
INDIRP4
CNSTI4 36
ADDP4
INDIRP4
INDIRI4
ADDRLP4 28
INDIRP4
CNSTI4 40
ADDP4
INDIRI4
NEI4 $212
ADDRLP4 24
CNSTI4 1
ASGNI4
ADDRGP4 $213
JUMPV
LABELV $212
ADDRLP4 24
CNSTI4 0
ASGNI4
LABELV $213
ADDRLP4 20
ADDRLP4 24
INDIRI4
ASGNI4
line 622
;621:
;622:	if( s->generic.flags & QMF_GRAYED ) {
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 8192
BANDU4
CNSTU4 0
EQU4 $214
line 623
;623:		color = text_color_disabled;
ADDRLP4 12
ADDRGP4 text_color_disabled
ASGNP4
line 624
;624:		style = UI_SMALLFONT;
ADDRLP4 8
CNSTI4 16
ASGNI4
line 625
;625:	}
ADDRGP4 $215
JUMPV
LABELV $214
line 626
;626:	else if( focus ) {
ADDRLP4 20
INDIRI4
CNSTI4 0
EQI4 $216
line 627
;627:		color  = text_color_highlight;
ADDRLP4 12
ADDRGP4 text_color_highlight
ASGNP4
line 628
;628:		style = UI_SMALLFONT | UI_PULSE;
ADDRLP4 8
CNSTI4 16400
ASGNI4
line 629
;629:	}
ADDRGP4 $217
JUMPV
LABELV $216
line 630
;630:	else {
line 631
;631:		color = text_color_normal;
ADDRLP4 12
ADDRGP4 text_color_normal
ASGNP4
line 632
;632:		style = UI_SMALLFONT;
ADDRLP4 8
CNSTI4 16
ASGNI4
line 633
;633:	}
LABELV $217
LABELV $215
line 636
;634:
;635:	// draw label
;636:	UI_DrawString( x - SMALLCHAR_WIDTH, y, s->generic.name, UI_RIGHT|style, color );
ADDRLP4 0
INDIRI4
CNSTI4 8
SUBI4
ARGI4
ADDRLP4 4
INDIRI4
ARGI4
ADDRFP4 0
INDIRP4
CNSTI4 4
ADDP4
INDIRP4
ARGP4
ADDRLP4 8
INDIRI4
CNSTI4 2
BORI4
ARGI4
ADDRLP4 12
INDIRP4
ARGP4
ADDRGP4 UI_DrawString
CALLV
pop
line 639
;637:
;638:	// draw slider
;639:	UI_SetColor( color );
ADDRLP4 12
INDIRP4
ARGP4
ADDRGP4 UI_SetColor
CALLV
pop
line 640
;640:	UI_DrawHandlePic( x + SMALLCHAR_WIDTH, y, 96, 16, sliderBar );
ADDRLP4 0
INDIRI4
CNSTI4 8
ADDI4
CVIF4 4
ARGF4
ADDRLP4 4
INDIRI4
CVIF4 4
ARGF4
CNSTF4 1119879168
ARGF4
CNSTF4 1098907648
ARGF4
ADDRGP4 sliderBar
INDIRI4
ARGI4
ADDRGP4 UI_DrawHandlePic
CALLV
pop
line 641
;641:	UI_SetColor( NULL );
CNSTP4 0
ARGP4
ADDRGP4 UI_SetColor
CALLV
pop
line 644
;642:
;643:	// clamp thumb
;644:	if( s->maxvalue > s->minvalue )	{
ADDRLP4 32
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 32
INDIRP4
CNSTI4 68
ADDP4
INDIRF4
ADDRLP4 32
INDIRP4
CNSTI4 64
ADDP4
INDIRF4
LEF4 $218
line 645
;645:		s->range = ( s->curvalue - s->minvalue ) / ( float ) ( s->maxvalue - s->minvalue );
ADDRLP4 36
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 36
INDIRP4
CNSTI4 76
ADDP4
ADDRLP4 36
INDIRP4
CNSTI4 72
ADDP4
INDIRF4
ADDRLP4 36
INDIRP4
CNSTI4 64
ADDP4
INDIRF4
SUBF4
ADDRLP4 36
INDIRP4
CNSTI4 68
ADDP4
INDIRF4
ADDRLP4 36
INDIRP4
CNSTI4 64
ADDP4
INDIRF4
SUBF4
DIVF4
ASGNF4
line 646
;646:		if( s->range < 0 ) {
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
INDIRF4
CNSTF4 0
GEF4 $220
line 647
;647:			s->range = 0;
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
CNSTF4 0
ASGNF4
line 648
;648:		}
ADDRGP4 $219
JUMPV
LABELV $220
line 649
;649:		else if( s->range > 1) {
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
INDIRF4
CNSTF4 1065353216
LEF4 $219
line 650
;650:			s->range = 1;
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
CNSTF4 1065353216
ASGNF4
line 651
;651:		}
line 652
;652:	}
ADDRGP4 $219
JUMPV
LABELV $218
line 653
;653:	else {
line 654
;654:		s->range = 0;
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
CNSTF4 0
ASGNF4
line 655
;655:	}
LABELV $219
line 658
;656:
;657:	// draw thumb
;658:	if( style & UI_PULSE) {
ADDRLP4 8
INDIRI4
CNSTI4 16384
BANDI4
CNSTI4 0
EQI4 $224
line 659
;659:		button = sliderButton_1;
ADDRLP4 16
ADDRGP4 sliderButton_1
INDIRI4
ASGNI4
line 660
;660:	}
ADDRGP4 $225
JUMPV
LABELV $224
line 661
;661:	else {
line 662
;662:		button = sliderButton_0;
ADDRLP4 16
ADDRGP4 sliderButton_0
INDIRI4
ASGNI4
line 663
;663:	}
LABELV $225
line 665
;664:
;665:	UI_DrawHandlePic( (int)( x + 2*SMALLCHAR_WIDTH + (SLIDER_RANGE-1)*SMALLCHAR_WIDTH* s->range ) - 2, y - 2, 12, 20, button );
ADDRLP4 0
INDIRI4
CNSTI4 16
ADDI4
CVIF4 4
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
INDIRF4
CNSTF4 1116733440
MULF4
ADDF4
CVFI4 4
CNSTI4 2
SUBI4
CVIF4 4
ARGF4
ADDRLP4 4
INDIRI4
CNSTI4 2
SUBI4
CVIF4 4
ARGF4
CNSTF4 1094713344
ARGF4
CNSTF4 1101004800
ARGF4
ADDRLP4 16
INDIRI4
ARGI4
ADDRGP4 UI_DrawHandlePic
CALLV
pop
line 666
;666:}
LABELV $210
endproc Slider_Draw 40 20
proc SpinControl_Init 44 4
line 743
;667:#else
;668:/*
;669:=================
;670:Slider_Draw
;671:=================
;672:*/
;673:static void Slider_Draw( menuslider_s *s )
;674:{
;675:	float *color;
;676:	int	style;
;677:	int	i;
;678:	int x;
;679:	int y;
;680:	qboolean focus;
;681:	
;682:	x =	s->generic.x;
;683:	y = s->generic.y;
;684:	focus = (s->generic.parent->cursor == s->generic.menuPosition);
;685:
;686:	style = UI_SMALLFONT;
;687:	if ( s->generic.flags & QMF_GRAYED )
;688:	{
;689:		color = text_color_disabled;
;690:	}
;691:	else if (focus)
;692:	{
;693:		color  = text_color_highlight;
;694:		style |= UI_PULSE;
;695:	}
;696:	else
;697:	{
;698:		color = text_color_normal;
;699:	}
;700:
;701:	if ( focus )
;702:	{
;703:		// draw cursor
;704:		UI_FillRect( s->generic.left, s->generic.top, s->generic.right-s->generic.left+1, s->generic.bottom-s->generic.top+1, listbar_color ); 
;705:		UI_DrawChar( x, y, 13, UI_CENTER|UI_BLINK|UI_SMALLFONT, color);
;706:	}
;707:
;708:	// draw label
;709:	UI_DrawString( x - SMALLCHAR_WIDTH, y, s->generic.name, UI_RIGHT|style, color );
;710:
;711:	// draw slider
;712:	UI_DrawChar( x + SMALLCHAR_WIDTH, y, 128, UI_LEFT|style, color);
;713:	for ( i = 0; i < SLIDER_RANGE; i++ )
;714:		UI_DrawChar( x + (i+2)*SMALLCHAR_WIDTH, y, 129, UI_LEFT|style, color);
;715:	UI_DrawChar( x + (i+2)*SMALLCHAR_WIDTH, y, 130, UI_LEFT|style, color);
;716:
;717:	// clamp thumb
;718:	if (s->maxvalue > s->minvalue)
;719:	{
;720:		s->range = ( s->curvalue - s->minvalue ) / ( float ) ( s->maxvalue - s->minvalue );
;721:		if ( s->range < 0)
;722:			s->range = 0;
;723:		else if ( s->range > 1)
;724:			s->range = 1;
;725:	}
;726:	else
;727:		s->range = 0;
;728:
;729:	// draw thumb
;730:	if (style & UI_PULSE) {
;731:		style &= ~UI_PULSE;
;732:		style |= UI_BLINK;
;733:	}
;734:	UI_DrawChar( (int)( x + 2*SMALLCHAR_WIDTH + (SLIDER_RANGE-1)*SMALLCHAR_WIDTH* s->range ), y, 131, UI_LEFT|style, color);
;735:}
;736:#endif
;737:
;738:/*
;739:=================
;740:SpinControl_Init
;741:=================
;742:*/
;743:static void SpinControl_Init( menulist_s *s ) {
line 748
;744:	int	len;
;745:	int	l;
;746:	const char* str;
;747:
;748:	if (s->generic.name)
ADDRFP4 0
INDIRP4
CNSTI4 4
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $227
line 749
;749:		len = strlen(s->generic.name) * SMALLCHAR_WIDTH;
ADDRFP4 0
INDIRP4
CNSTI4 4
ADDP4
INDIRP4
ARGP4
ADDRLP4 12
ADDRGP4 strlen
CALLI4
ASGNI4
ADDRLP4 8
ADDRLP4 12
INDIRI4
CNSTI4 3
LSHI4
ASGNI4
ADDRGP4 $228
JUMPV
LABELV $227
line 751
;750:	else
;751:		len = 0;
ADDRLP4 8
CNSTI4 0
ASGNI4
LABELV $228
line 753
;752:
;753:	s->generic.left	= s->generic.x - SMALLCHAR_WIDTH - len;
ADDRLP4 16
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 16
INDIRP4
CNSTI4 20
ADDP4
ADDRLP4 16
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
CNSTI4 8
SUBI4
ADDRLP4 8
INDIRI4
SUBI4
ASGNI4
line 755
;754:
;755:	len = s->numitems = 0;
ADDRLP4 20
CNSTI4 0
ASGNI4
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
ADDRLP4 20
INDIRI4
ASGNI4
ADDRLP4 8
ADDRLP4 20
INDIRI4
ASGNI4
ADDRGP4 $230
JUMPV
LABELV $229
line 757
;756:	while ( (str = s->itemnames[s->numitems]) != 0 )
;757:	{
line 758
;758:		l = strlen(str);
ADDRLP4 4
INDIRP4
ARGP4
ADDRLP4 24
ADDRGP4 strlen
CALLI4
ASGNI4
ADDRLP4 0
ADDRLP4 24
INDIRI4
ASGNI4
line 759
;759:		if (l > len)
ADDRLP4 0
INDIRI4
ADDRLP4 8
INDIRI4
LEI4 $232
line 760
;760:			len = l;
ADDRLP4 8
ADDRLP4 0
INDIRI4
ASGNI4
LABELV $232
line 762
;761:
;762:		s->numitems++;
ADDRLP4 28
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
ASGNP4
ADDRLP4 28
INDIRP4
ADDRLP4 28
INDIRP4
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
line 763
;763:	}		
LABELV $230
line 756
ADDRLP4 24
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 28
ADDRLP4 24
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
CNSTI4 2
LSHI4
ADDRLP4 24
INDIRP4
CNSTI4 88
ADDP4
INDIRP4
ADDP4
INDIRP4
ASGNP4
ADDRLP4 4
ADDRLP4 28
INDIRP4
ASGNP4
ADDRLP4 28
INDIRP4
CVPU4 4
CNSTU4 0
NEU4 $229
line 765
;764:
;765:	s->generic.top	  =	s->generic.y;
ADDRLP4 32
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 32
INDIRP4
CNSTI4 24
ADDP4
ADDRLP4 32
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
ASGNI4
line 766
;766:	s->generic.right  =	s->generic.x + (len+1)*SMALLCHAR_WIDTH;
ADDRLP4 36
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 36
INDIRP4
CNSTI4 28
ADDP4
ADDRLP4 36
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ADDRLP4 8
INDIRI4
CNSTI4 3
LSHI4
CNSTI4 8
ADDI4
ADDI4
ASGNI4
line 767
;767:	s->generic.bottom =	s->generic.y + SMALLCHAR_HEIGHT;
ADDRLP4 40
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 40
INDIRP4
CNSTI4 32
ADDP4
ADDRLP4 40
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
CNSTI4 16
ADDI4
ASGNI4
line 768
;768:}
LABELV $226
endproc SpinControl_Init 44 4
proc SpinControl_Key 28 8
line 776
;769:
;770:/*
;771:=================
;772:SpinControl_Key
;773:=================
;774:*/
;775:static sfxHandle_t SpinControl_Key( menulist_s *s, int key )
;776:{
line 779
;777:	sfxHandle_t	sound;
;778:
;779:	sound = 0;
ADDRLP4 0
CNSTI4 0
ASGNI4
line 780
;780:	switch (key)
ADDRLP4 4
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 4
INDIRI4
CNSTI4 163
EQI4 $240
ADDRLP4 4
INDIRI4
CNSTI4 165
EQI4 $243
ADDRLP4 4
INDIRI4
CNSTI4 165
GTI4 $247
LABELV $246
ADDRLP4 8
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 8
INDIRI4
CNSTI4 134
EQI4 $240
ADDRLP4 8
INDIRI4
CNSTI4 135
EQI4 $243
ADDRGP4 $235
JUMPV
LABELV $247
ADDRFP4 4
INDIRI4
CNSTI4 178
EQI4 $237
ADDRGP4 $235
JUMPV
line 781
;781:	{
LABELV $237
line 783
;782:		case K_MOUSE1:
;783:			s->curvalue++;
ADDRLP4 12
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
ASGNP4
ADDRLP4 12
INDIRP4
ADDRLP4 12
INDIRP4
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
line 784
;784:			if (s->curvalue >= s->numitems)
ADDRLP4 16
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 16
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 16
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
LTI4 $238
line 785
;785:				s->curvalue = 0;
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
CNSTI4 0
ASGNI4
LABELV $238
line 786
;786:			sound = menu_move_sound;
ADDRLP4 0
ADDRGP4 menu_move_sound
INDIRI4
ASGNI4
line 787
;787:			break;
ADDRGP4 $236
JUMPV
LABELV $240
line 791
;788:		
;789:		case K_KP_LEFTARROW:
;790:		case K_LEFTARROW:
;791:			if (s->curvalue > 0)
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
CNSTI4 0
LEI4 $241
line 792
;792:			{
line 793
;793:				s->curvalue--;
ADDRLP4 20
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
ASGNP4
ADDRLP4 20
INDIRP4
ADDRLP4 20
INDIRP4
INDIRI4
CNSTI4 1
SUBI4
ASGNI4
line 794
;794:				sound = menu_move_sound;
ADDRLP4 0
ADDRGP4 menu_move_sound
INDIRI4
ASGNI4
line 795
;795:			}
ADDRGP4 $236
JUMPV
LABELV $241
line 797
;796:			else
;797:				sound = menu_buzz_sound;
ADDRLP4 0
ADDRGP4 menu_buzz_sound
INDIRI4
ASGNI4
line 798
;798:			break;
ADDRGP4 $236
JUMPV
LABELV $243
line 802
;799:
;800:		case K_KP_RIGHTARROW:
;801:		case K_RIGHTARROW:
;802:			if (s->curvalue < s->numitems-1)
ADDRLP4 20
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 20
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 20
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
CNSTI4 1
SUBI4
GEI4 $244
line 803
;803:			{
line 804
;804:				s->curvalue++;
ADDRLP4 24
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
ASGNP4
ADDRLP4 24
INDIRP4
ADDRLP4 24
INDIRP4
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
line 805
;805:				sound = menu_move_sound;
ADDRLP4 0
ADDRGP4 menu_move_sound
INDIRI4
ASGNI4
line 806
;806:			}
ADDRGP4 $236
JUMPV
LABELV $244
line 808
;807:			else
;808:				sound = menu_buzz_sound;
ADDRLP4 0
ADDRGP4 menu_buzz_sound
INDIRI4
ASGNI4
line 809
;809:			break;
LABELV $235
LABELV $236
line 812
;810:	}
;811:
;812:	if ( sound && s->generic.callback )
ADDRLP4 0
INDIRI4
CNSTI4 0
EQI4 $248
ADDRFP4 0
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $248
line 813
;813:		s->generic.callback( s, QM_ACTIVATED );
ADDRLP4 12
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 12
INDIRP4
ARGP4
CNSTI4 3
ARGI4
ADDRLP4 12
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CALLV
pop
LABELV $248
line 815
;814:
;815:	return (sound);
ADDRLP4 0
INDIRI4
RETI4
LABELV $234
endproc SpinControl_Key 28 8
proc SpinControl_Draw 32 20
line 824
;816:}
;817:
;818:/*
;819:=================
;820:SpinControl_Draw
;821:=================
;822:*/
;823:static void SpinControl_Draw( menulist_s *s )
;824:{
line 830
;825:	float *color;
;826:	int	x,y;
;827:	int	style;
;828:	qboolean focus;
;829:
;830:	x = s->generic.x;
ADDRLP4 4
ADDRFP4 0
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ASGNI4
line 831
;831:	y =	s->generic.y;
ADDRLP4 8
ADDRFP4 0
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
ASGNI4
line 833
;832:
;833:	style = UI_SMALLFONT;
ADDRLP4 12
CNSTI4 16
ASGNI4
line 834
;834:	focus = (s->generic.parent->cursor == s->generic.menuPosition);
ADDRLP4 24
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 24
INDIRP4
CNSTI4 36
ADDP4
INDIRP4
INDIRI4
ADDRLP4 24
INDIRP4
CNSTI4 40
ADDP4
INDIRI4
NEI4 $252
ADDRLP4 20
CNSTI4 1
ASGNI4
ADDRGP4 $253
JUMPV
LABELV $252
ADDRLP4 20
CNSTI4 0
ASGNI4
LABELV $253
ADDRLP4 16
ADDRLP4 20
INDIRI4
ASGNI4
line 836
;835:
;836:	if ( s->generic.flags & QMF_GRAYED )
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 8192
BANDU4
CNSTU4 0
EQU4 $254
line 837
;837:		color = text_color_disabled;
ADDRLP4 0
ADDRGP4 text_color_disabled
ASGNP4
ADDRGP4 $255
JUMPV
LABELV $254
line 838
;838:	else if ( focus )
ADDRLP4 16
INDIRI4
CNSTI4 0
EQI4 $256
line 839
;839:	{
line 840
;840:		color = text_color_highlight;
ADDRLP4 0
ADDRGP4 text_color_highlight
ASGNP4
line 841
;841:		style |= UI_PULSE;
ADDRLP4 12
ADDRLP4 12
INDIRI4
CNSTI4 16384
BORI4
ASGNI4
line 842
;842:	}
ADDRGP4 $257
JUMPV
LABELV $256
line 843
;843:	else if ( s->generic.flags & QMF_BLINK )
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 1
BANDU4
CNSTU4 0
EQU4 $258
line 844
;844:	{
line 845
;845:		color = text_color_highlight;
ADDRLP4 0
ADDRGP4 text_color_highlight
ASGNP4
line 846
;846:		style |= UI_BLINK;
ADDRLP4 12
ADDRLP4 12
INDIRI4
CNSTI4 4096
BORI4
ASGNI4
line 847
;847:	}
ADDRGP4 $259
JUMPV
LABELV $258
line 849
;848:	else
;849:		color = text_color_normal;
ADDRLP4 0
ADDRGP4 text_color_normal
ASGNP4
LABELV $259
LABELV $257
LABELV $255
line 851
;850:
;851:	if ( focus )
ADDRLP4 16
INDIRI4
CNSTI4 0
EQI4 $260
line 852
;852:	{
line 854
;853:		// draw cursor
;854:		UI_FillRect( s->generic.left, s->generic.top, s->generic.right-s->generic.left+1, s->generic.bottom-s->generic.top+1, listbar_color ); 
ADDRLP4 28
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 28
INDIRP4
CNSTI4 20
ADDP4
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 28
INDIRP4
CNSTI4 24
ADDP4
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 28
INDIRP4
CNSTI4 28
ADDP4
INDIRI4
ADDRLP4 28
INDIRP4
CNSTI4 20
ADDP4
INDIRI4
SUBI4
CNSTI4 1
ADDI4
CVIF4 4
ARGF4
ADDRLP4 28
INDIRP4
CNSTI4 32
ADDP4
INDIRI4
ADDRLP4 28
INDIRP4
CNSTI4 24
ADDP4
INDIRI4
SUBI4
CNSTI4 1
ADDI4
CVIF4 4
ARGF4
ADDRGP4 listbar_color
ARGP4
ADDRGP4 UI_FillRect
CALLV
pop
line 855
;855:		UI_DrawChar( x, y, 13, UI_CENTER|UI_BLINK|UI_SMALLFONT, color);
ADDRLP4 4
INDIRI4
ARGI4
ADDRLP4 8
INDIRI4
ARGI4
CNSTI4 13
ARGI4
CNSTI4 4113
ARGI4
ADDRLP4 0
INDIRP4
ARGP4
ADDRGP4 UI_DrawChar
CALLV
pop
line 856
;856:	}
LABELV $260
line 858
;857:
;858:	UI_DrawString( x - SMALLCHAR_WIDTH, y, s->generic.name, style|UI_RIGHT, color );
ADDRLP4 4
INDIRI4
CNSTI4 8
SUBI4
ARGI4
ADDRLP4 8
INDIRI4
ARGI4
ADDRFP4 0
INDIRP4
CNSTI4 4
ADDP4
INDIRP4
ARGP4
ADDRLP4 12
INDIRI4
CNSTI4 2
BORI4
ARGI4
ADDRLP4 0
INDIRP4
ARGP4
ADDRGP4 UI_DrawString
CALLV
pop
line 859
;859:	UI_DrawString( x + SMALLCHAR_WIDTH, y, s->itemnames[s->curvalue], style|UI_LEFT, color );
ADDRLP4 4
INDIRI4
CNSTI4 8
ADDI4
ARGI4
ADDRLP4 8
INDIRI4
ARGI4
ADDRLP4 28
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 28
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
CNSTI4 2
LSHI4
ADDRLP4 28
INDIRP4
CNSTI4 88
ADDP4
INDIRP4
ADDP4
INDIRP4
ARGP4
ADDRLP4 12
INDIRI4
ARGI4
ADDRLP4 0
INDIRP4
ARGP4
ADDRGP4 UI_DrawString
CALLV
pop
line 860
;860:}
LABELV $250
endproc SpinControl_Draw 32 20
proc ScrollList_Init 32 0
line 868
;861:
;862:/*
;863:=================
;864:ScrollList_Init
;865:=================
;866:*/
;867:static void ScrollList_Init( menulist_s *l )
;868:{
line 871
;869:	int		w;
;870:
;871:	l->oldvalue = 0;
ADDRFP4 0
INDIRP4
CNSTI4 64
ADDP4
CNSTI4 0
ASGNI4
line 872
;872:	l->curvalue = 0;
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
CNSTI4 0
ASGNI4
line 873
;873:	l->top      = 0;
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
CNSTI4 0
ASGNI4
line 875
;874:
;875:	if( !l->columns ) {
ADDRFP4 0
INDIRP4
CNSTI4 100
ADDP4
INDIRI4
CNSTI4 0
NEI4 $263
line 876
;876:		l->columns = 1;
ADDRFP4 0
INDIRP4
CNSTI4 100
ADDP4
CNSTI4 1
ASGNI4
line 877
;877:		l->seperation = 0;
ADDRFP4 0
INDIRP4
CNSTI4 104
ADDP4
CNSTI4 0
ASGNI4
line 878
;878:	}
ADDRGP4 $264
JUMPV
LABELV $263
line 879
;879:	else if( !l->seperation ) {
ADDRFP4 0
INDIRP4
CNSTI4 104
ADDP4
INDIRI4
CNSTI4 0
NEI4 $265
line 880
;880:		l->seperation = 3;
ADDRFP4 0
INDIRP4
CNSTI4 104
ADDP4
CNSTI4 3
ASGNI4
line 881
;881:	}
LABELV $265
LABELV $264
line 883
;882:
;883:	w = ( (l->width + l->seperation) * l->columns - l->seperation) * SMALLCHAR_WIDTH;
ADDRLP4 4
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 0
ADDRLP4 4
INDIRP4
CNSTI4 92
ADDP4
INDIRI4
ADDRLP4 4
INDIRP4
CNSTI4 104
ADDP4
INDIRI4
ADDI4
ADDRLP4 4
INDIRP4
CNSTI4 100
ADDP4
INDIRI4
MULI4
ADDRLP4 4
INDIRP4
CNSTI4 104
ADDP4
INDIRI4
SUBI4
CNSTI4 3
LSHI4
ASGNI4
line 885
;884:
;885:	l->generic.left   =	l->generic.x;
ADDRLP4 8
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 8
INDIRP4
CNSTI4 20
ADDP4
ADDRLP4 8
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ASGNI4
line 886
;886:	l->generic.top    = l->generic.y;	
ADDRLP4 12
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 12
INDIRP4
CNSTI4 24
ADDP4
ADDRLP4 12
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
ASGNI4
line 887
;887:	l->generic.right  =	l->generic.x + w;
ADDRLP4 16
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 16
INDIRP4
CNSTI4 28
ADDP4
ADDRLP4 16
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ADDRLP4 0
INDIRI4
ADDI4
ASGNI4
line 888
;888:	l->generic.bottom =	l->generic.y + l->height * SMALLCHAR_HEIGHT;
ADDRLP4 20
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 20
INDIRP4
CNSTI4 32
ADDP4
ADDRLP4 20
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
ADDRLP4 20
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
CNSTI4 4
LSHI4
ADDI4
ASGNI4
line 890
;889:
;890:	if( l->generic.flags & QMF_CENTER_JUSTIFY ) {
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 8
BANDU4
CNSTU4 0
EQU4 $267
line 891
;891:		l->generic.left -= w / 2;
ADDRLP4 24
ADDRFP4 0
INDIRP4
CNSTI4 20
ADDP4
ASGNP4
ADDRLP4 24
INDIRP4
ADDRLP4 24
INDIRP4
INDIRI4
ADDRLP4 0
INDIRI4
CNSTI4 2
DIVI4
SUBI4
ASGNI4
line 892
;892:		l->generic.right -= w / 2;
ADDRLP4 28
ADDRFP4 0
INDIRP4
CNSTI4 28
ADDP4
ASGNP4
ADDRLP4 28
INDIRP4
ADDRLP4 28
INDIRP4
INDIRI4
ADDRLP4 0
INDIRI4
CNSTI4 2
DIVI4
SUBI4
ASGNI4
line 893
;893:	}
LABELV $267
line 894
;894:}
LABELV $262
endproc ScrollList_Init 32 0
export ScrollList_Key
proc ScrollList_Key 156 16
line 902
;895:
;896:/*
;897:=================
;898:ScrollList_Key
;899:=================
;900:*/
;901:sfxHandle_t ScrollList_Key( menulist_s *l, int key )
;902:{
line 915
;903:	int	x;
;904:	int	y;
;905:	int	w;
;906:	int	i;
;907:	int	j;	
;908:	int	c;
;909:	int	cursorx;
;910:	int	cursory;
;911:	int	column;
;912:	int	index;
;913:	int	time;
;914:
;915:	switch (key)
ADDRLP4 44
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 44
INDIRI4
CNSTI4 160
LTI4 $389
ADDRLP4 44
INDIRI4
CNSTI4 168
GTI4 $390
ADDRLP4 44
INDIRI4
CNSTI4 2
LSHI4
ADDRGP4 $391-640
ADDP4
INDIRP4
JUMPV
data
align 4
LABELV $391
address $293
address $353
address $303
address $371
address $270
address $380
address $296
address $362
address $314
code
LABELV $389
ADDRLP4 48
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 48
INDIRI4
CNSTI4 132
LTI4 $270
ADDRLP4 48
INDIRI4
CNSTI4 144
GTI4 $270
ADDRLP4 48
INDIRI4
CNSTI4 2
LSHI4
ADDRGP4 $393-528
ADDP4
INDIRP4
JUMPV
data
align 4
LABELV $393
address $353
address $362
address $371
address $380
address $270
address $270
address $270
address $270
address $270
address $314
address $303
address $293
address $296
code
LABELV $390
ADDRLP4 52
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 52
INDIRI4
CNSTI4 178
EQI4 $272
ADDRLP4 52
INDIRI4
CNSTI4 178
LTI4 $270
LABELV $395
ADDRLP4 56
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 56
INDIRI4
CNSTI4 183
EQI4 $338
ADDRLP4 56
INDIRI4
CNSTI4 184
EQI4 $325
ADDRGP4 $270
JUMPV
line 916
;916:	{
LABELV $272
line 918
;917:		case K_MOUSE1:
;918:			if (l->generic.flags & QMF_HASMOUSEFOCUS)
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 512
BANDU4
CNSTU4 0
EQU4 $271
line 919
;919:			{
line 921
;920:				// check scroll region
;921:				x = l->generic.x;
ADDRLP4 12
ADDRFP4 0
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ASGNI4
line 922
;922:				y = l->generic.y;
ADDRLP4 16
ADDRFP4 0
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
ASGNI4
line 923
;923:				w = ( (l->width + l->seperation) * l->columns - l->seperation) * SMALLCHAR_WIDTH;
ADDRLP4 60
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 20
ADDRLP4 60
INDIRP4
CNSTI4 92
ADDP4
INDIRI4
ADDRLP4 60
INDIRP4
CNSTI4 104
ADDP4
INDIRI4
ADDI4
ADDRLP4 60
INDIRP4
CNSTI4 100
ADDP4
INDIRI4
MULI4
ADDRLP4 60
INDIRP4
CNSTI4 104
ADDP4
INDIRI4
SUBI4
CNSTI4 3
LSHI4
ASGNI4
line 924
;924:				if( l->generic.flags & QMF_CENTER_JUSTIFY ) {
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 8
BANDU4
CNSTU4 0
EQU4 $275
line 925
;925:					x -= w / 2;
ADDRLP4 12
ADDRLP4 12
INDIRI4
ADDRLP4 20
INDIRI4
CNSTI4 2
DIVI4
SUBI4
ASGNI4
line 926
;926:				}
LABELV $275
line 927
;927:				if (UI_CursorInRect( x, y, w, l->height*SMALLCHAR_HEIGHT ))
ADDRLP4 12
INDIRI4
ARGI4
ADDRLP4 16
INDIRI4
ARGI4
ADDRLP4 20
INDIRI4
ARGI4
ADDRFP4 0
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
CNSTI4 4
LSHI4
ARGI4
ADDRLP4 64
ADDRGP4 UI_CursorInRect
CALLI4
ASGNI4
ADDRLP4 64
INDIRI4
CNSTI4 0
EQI4 $277
line 928
;928:				{
line 929
;929:					cursorx = (uis.cursorx - x)/SMALLCHAR_WIDTH;
ADDRLP4 28
ADDRGP4 uis+8
INDIRF4
ADDRLP4 12
INDIRI4
CVIF4 4
SUBF4
CNSTF4 1040187392
MULF4
CVFI4 4
ASGNI4
line 930
;930:					column = cursorx / (l->width + l->seperation);
ADDRLP4 68
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 36
ADDRLP4 28
INDIRI4
ADDRLP4 68
INDIRP4
CNSTI4 92
ADDP4
INDIRI4
ADDRLP4 68
INDIRP4
CNSTI4 104
ADDP4
INDIRI4
ADDI4
DIVI4
ASGNI4
line 931
;931:					cursory = (uis.cursory - y)/SMALLCHAR_HEIGHT;
ADDRLP4 32
ADDRGP4 uis+12
INDIRF4
ADDRLP4 16
INDIRI4
CVIF4 4
SUBF4
CNSTF4 1031798784
MULF4
CVFI4 4
ASGNI4
line 932
;932:					index = column * l->height + cursory;
ADDRLP4 24
ADDRLP4 36
INDIRI4
ADDRFP4 0
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
MULI4
ADDRLP4 32
INDIRI4
ADDI4
ASGNI4
line 933
;933:					if (l->top + index < l->numitems)
ADDRLP4 72
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 72
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
ADDRLP4 24
INDIRI4
ADDI4
ADDRLP4 72
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
GEI4 $281
line 934
;934:					{
line 935
;935:						l->oldvalue = l->curvalue;
ADDRLP4 76
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 76
INDIRP4
CNSTI4 64
ADDP4
ADDRLP4 76
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ASGNI4
line 936
;936:						l->curvalue = l->top + index;
ADDRLP4 80
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 80
INDIRP4
CNSTI4 68
ADDP4
ADDRLP4 80
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
ADDRLP4 24
INDIRI4
ADDI4
ASGNI4
line 939
;937:
;938:						// doubleclick
;939:						if ( l->generic.dblclick ) {
ADDRFP4 0
INDIRP4
CNSTI4 60
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $283
line 940
;940:							if ( l->oldvalue == l->curvalue ) {
ADDRLP4 84
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 84
INDIRP4
CNSTI4 64
ADDP4
INDIRI4
ADDRLP4 84
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
NEI4 $285
line 941
;941:								if  ( l->mouse1time ) {
ADDRFP4 0
INDIRP4
CNSTI4 84
ADDP4
INDIRI4
CNSTI4 0
EQI4 $287
line 942
;942:									time = trap_Milliseconds();
ADDRLP4 88
ADDRGP4 trap_Milliseconds
CALLI4
ASGNI4
ADDRLP4 40
ADDRLP4 88
INDIRI4
ASGNI4
line 943
;943:									if ( time - l->mouse1time < 250 ) {
ADDRLP4 40
INDIRI4
ADDRFP4 0
INDIRP4
CNSTI4 84
ADDP4
INDIRI4
SUBI4
CNSTI4 250
GEI4 $289
line 945
;944:										//Com_Printf("doubleclick\n");
;945:										l->generic.dblclick( l );
ADDRLP4 92
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 92
INDIRP4
ARGP4
ADDRLP4 92
INDIRP4
CNSTI4 60
ADDP4
INDIRP4
CALLV
pop
line 946
;946:										l->mouse1time = 0;
ADDRFP4 0
INDIRP4
CNSTI4 84
ADDP4
CNSTI4 0
ASGNI4
line 947
;947:										return (menu_in_sound);
ADDRGP4 menu_in_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $289
line 949
;948:									}
;949:								}
LABELV $287
line 950
;950:							} 
LABELV $285
line 951
;951:							l->mouse1time = trap_Milliseconds();
ADDRLP4 88
ADDRGP4 trap_Milliseconds
CALLI4
ASGNI4
ADDRFP4 0
INDIRP4
CNSTI4 84
ADDP4
ADDRLP4 88
INDIRI4
ASGNI4
line 952
;952:						}
LABELV $283
line 954
;953:						
;954:						if (l->oldvalue != l->curvalue && l->generic.callback)
ADDRLP4 84
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 84
INDIRP4
CNSTI4 64
ADDP4
INDIRI4
ADDRLP4 84
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
EQI4 $291
ADDRLP4 84
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $291
line 955
;955:						{
line 956
;956:							l->generic.callback( l, QM_GOTFOCUS );
ADDRLP4 88
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 88
INDIRP4
ARGP4
CNSTI4 1
ARGI4
ADDRLP4 88
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CALLV
pop
line 957
;957:							return (menu_move_sound);
ADDRGP4 menu_move_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $291
line 959
;958:						}
;959:					}
LABELV $281
line 960
;960:				}
LABELV $277
line 963
;961:			
;962:				// absorbed, silent sound effect
;963:				return (menu_null_sound);
ADDRGP4 menu_null_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
line 965
;964:			}
;965:			break;
LABELV $293
line 969
;966:
;967:		case K_KP_HOME:
;968:		case K_HOME:
;969:			l->oldvalue = l->curvalue;
ADDRLP4 60
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 60
INDIRP4
CNSTI4 64
ADDP4
ADDRLP4 60
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ASGNI4
line 970
;970:			l->curvalue = 0;
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
CNSTI4 0
ASGNI4
line 971
;971:			l->top      = 0;
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
CNSTI4 0
ASGNI4
line 973
;972:
;973:			if (l->oldvalue != l->curvalue && l->generic.callback)
ADDRLP4 64
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 64
INDIRP4
CNSTI4 64
ADDP4
INDIRI4
ADDRLP4 64
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
EQI4 $294
ADDRLP4 64
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $294
line 974
;974:			{
line 975
;975:				l->generic.callback( l, QM_GOTFOCUS );
ADDRLP4 68
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 68
INDIRP4
ARGP4
CNSTI4 1
ARGI4
ADDRLP4 68
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CALLV
pop
line 976
;976:				return (menu_move_sound);
ADDRGP4 menu_move_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $294
line 978
;977:			}
;978:			return (menu_buzz_sound);
ADDRGP4 menu_buzz_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $296
line 982
;979:
;980:		case K_KP_END:
;981:		case K_END:
;982:			l->oldvalue = l->curvalue;
ADDRLP4 68
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 68
INDIRP4
CNSTI4 64
ADDP4
ADDRLP4 68
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ASGNI4
line 983
;983:			l->curvalue = l->numitems-1;
ADDRLP4 72
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 72
INDIRP4
CNSTI4 68
ADDP4
ADDRLP4 72
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
CNSTI4 1
SUBI4
ASGNI4
line 984
;984:			if( l->columns > 1 ) {
ADDRFP4 0
INDIRP4
CNSTI4 100
ADDP4
INDIRI4
CNSTI4 1
LEI4 $297
line 985
;985:				c = (l->curvalue / l->height + 1) * l->height;
ADDRLP4 76
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 4
ADDRLP4 76
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 76
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
DIVI4
CNSTI4 1
ADDI4
ADDRLP4 76
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
MULI4
ASGNI4
line 986
;986:				l->top = c - (l->columns * l->height);
ADDRLP4 80
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 80
INDIRP4
CNSTI4 76
ADDP4
ADDRLP4 4
INDIRI4
ADDRLP4 80
INDIRP4
CNSTI4 100
ADDP4
INDIRI4
ADDRLP4 80
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
MULI4
SUBI4
ASGNI4
line 987
;987:			}
ADDRGP4 $298
JUMPV
LABELV $297
line 988
;988:			else {
line 989
;989:				l->top = l->curvalue - (l->height - 1);
ADDRLP4 76
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 76
INDIRP4
CNSTI4 76
ADDP4
ADDRLP4 76
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 76
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
CNSTI4 1
SUBI4
SUBI4
ASGNI4
line 990
;990:			}
LABELV $298
line 991
;991:			if (l->top < 0)
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
CNSTI4 0
GEI4 $299
line 992
;992:				l->top = 0;			
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
CNSTI4 0
ASGNI4
LABELV $299
line 994
;993:
;994:			if (l->oldvalue != l->curvalue && l->generic.callback)
ADDRLP4 76
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 76
INDIRP4
CNSTI4 64
ADDP4
INDIRI4
ADDRLP4 76
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
EQI4 $301
ADDRLP4 76
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $301
line 995
;995:			{
line 996
;996:				l->generic.callback( l, QM_GOTFOCUS );
ADDRLP4 80
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 80
INDIRP4
ARGP4
CNSTI4 1
ARGI4
ADDRLP4 80
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CALLV
pop
line 997
;997:				return (menu_move_sound);
ADDRGP4 menu_move_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $301
line 999
;998:			}
;999:			return (menu_buzz_sound);
ADDRGP4 menu_buzz_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $303
line 1003
;1000:
;1001:		case K_PGUP:
;1002:		case K_KP_PGUP:
;1003:			if( l->columns > 1 ) {
ADDRFP4 0
INDIRP4
CNSTI4 100
ADDP4
INDIRI4
CNSTI4 1
LEI4 $304
line 1004
;1004:				return menu_null_sound;
ADDRGP4 menu_null_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $304
line 1007
;1005:			}
;1006:
;1007:			if (l->curvalue > 0)
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
CNSTI4 0
LEI4 $306
line 1008
;1008:			{
line 1009
;1009:				l->oldvalue = l->curvalue;
ADDRLP4 80
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 80
INDIRP4
CNSTI4 64
ADDP4
ADDRLP4 80
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ASGNI4
line 1010
;1010:				l->curvalue -= l->height-1;
ADDRLP4 84
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 88
ADDRLP4 84
INDIRP4
CNSTI4 68
ADDP4
ASGNP4
ADDRLP4 88
INDIRP4
ADDRLP4 88
INDIRP4
INDIRI4
ADDRLP4 84
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
CNSTI4 1
SUBI4
SUBI4
ASGNI4
line 1011
;1011:				if (l->curvalue < 0)
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
CNSTI4 0
GEI4 $308
line 1012
;1012:					l->curvalue = 0;
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
CNSTI4 0
ASGNI4
LABELV $308
line 1013
;1013:				l->top = l->curvalue;
ADDRLP4 92
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 92
INDIRP4
CNSTI4 76
ADDP4
ADDRLP4 92
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ASGNI4
line 1014
;1014:				if (l->top < 0)
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
CNSTI4 0
GEI4 $310
line 1015
;1015:					l->top = 0;
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
CNSTI4 0
ASGNI4
LABELV $310
line 1017
;1016:
;1017:				if (l->generic.callback)
ADDRFP4 0
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $312
line 1018
;1018:					l->generic.callback( l, QM_GOTFOCUS );
ADDRLP4 96
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 96
INDIRP4
ARGP4
CNSTI4 1
ARGI4
ADDRLP4 96
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CALLV
pop
LABELV $312
line 1020
;1019:
;1020:				return (menu_move_sound);
ADDRGP4 menu_move_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $306
line 1022
;1021:			}
;1022:			return (menu_buzz_sound);
ADDRGP4 menu_buzz_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $314
line 1026
;1023:
;1024:		case K_PGDN:
;1025:		case K_KP_PGDN:
;1026:			if( l->columns > 1 ) {
ADDRFP4 0
INDIRP4
CNSTI4 100
ADDP4
INDIRI4
CNSTI4 1
LEI4 $315
line 1027
;1027:				return menu_null_sound;
ADDRGP4 menu_null_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $315
line 1030
;1028:			}
;1029:
;1030:			if (l->curvalue < l->numitems-1)
ADDRLP4 80
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 80
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 80
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
CNSTI4 1
SUBI4
GEI4 $317
line 1031
;1031:			{
line 1032
;1032:				l->oldvalue = l->curvalue;
ADDRLP4 84
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 84
INDIRP4
CNSTI4 64
ADDP4
ADDRLP4 84
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ASGNI4
line 1033
;1033:				l->curvalue += l->height-1;
ADDRLP4 88
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 92
ADDRLP4 88
INDIRP4
CNSTI4 68
ADDP4
ASGNP4
ADDRLP4 92
INDIRP4
ADDRLP4 92
INDIRP4
INDIRI4
ADDRLP4 88
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
CNSTI4 1
SUBI4
ADDI4
ASGNI4
line 1034
;1034:				if (l->curvalue > l->numitems-1)
ADDRLP4 96
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 96
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 96
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
CNSTI4 1
SUBI4
LEI4 $319
line 1035
;1035:					l->curvalue = l->numitems-1;
ADDRLP4 100
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 100
INDIRP4
CNSTI4 68
ADDP4
ADDRLP4 100
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
CNSTI4 1
SUBI4
ASGNI4
LABELV $319
line 1036
;1036:				l->top = l->curvalue - (l->height-1);
ADDRLP4 104
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 104
INDIRP4
CNSTI4 76
ADDP4
ADDRLP4 104
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 104
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
CNSTI4 1
SUBI4
SUBI4
ASGNI4
line 1037
;1037:				if (l->top < 0)
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
CNSTI4 0
GEI4 $321
line 1038
;1038:					l->top = 0;
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
CNSTI4 0
ASGNI4
LABELV $321
line 1040
;1039:
;1040:				if (l->generic.callback)
ADDRFP4 0
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $323
line 1041
;1041:					l->generic.callback( l, QM_GOTFOCUS );
ADDRLP4 108
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 108
INDIRP4
ARGP4
CNSTI4 1
ARGI4
ADDRLP4 108
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CALLV
pop
LABELV $323
line 1043
;1042:
;1043:				return (menu_move_sound);
ADDRGP4 menu_move_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $317
line 1045
;1044:			}
;1045:			return (menu_buzz_sound);
ADDRGP4 menu_buzz_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $325
line 1048
;1046:
;1047:		case K_MWHEELUP:
;1048:			if ( !l->scroll )
ADDRFP4 0
INDIRP4
CNSTI4 80
ADDP4
INDIRI4
CNSTI4 0
NEI4 $326
line 1049
;1049:				return (menu_null_sound);
ADDRGP4 menu_null_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $326
line 1051
;1050:
;1051:			if (l->curvalue > 0)
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
CNSTI4 0
LEI4 $328
line 1052
;1052:			{
line 1053
;1053:				l->oldvalue = l->curvalue;
ADDRLP4 84
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 84
INDIRP4
CNSTI4 64
ADDP4
ADDRLP4 84
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ASGNI4
line 1054
;1054:				l->curvalue -= l->scroll;
ADDRLP4 88
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 92
ADDRLP4 88
INDIRP4
CNSTI4 68
ADDP4
ASGNP4
ADDRLP4 92
INDIRP4
ADDRLP4 92
INDIRP4
INDIRI4
ADDRLP4 88
INDIRP4
CNSTI4 80
ADDP4
INDIRI4
SUBI4
ASGNI4
line 1055
;1055:				if (l->curvalue < 0) {
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
CNSTI4 0
GEI4 $330
line 1056
;1056:					l->curvalue = 0;
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
CNSTI4 0
ASGNI4
line 1057
;1057:					l->top = 0;
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
CNSTI4 0
ASGNI4
line 1058
;1058:				}
LABELV $330
line 1059
;1059:				if ( l->curvalue < l->top )
ADDRLP4 96
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 96
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 96
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
GEI4 $332
line 1060
;1060:					l->top -= l->height;
ADDRLP4 100
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 104
ADDRLP4 100
INDIRP4
CNSTI4 76
ADDP4
ASGNP4
ADDRLP4 104
INDIRP4
ADDRLP4 104
INDIRP4
INDIRI4
ADDRLP4 100
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
SUBI4
ASGNI4
LABELV $332
line 1062
;1061:
;1062:				if (l->top < 0)
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
CNSTI4 0
GEI4 $334
line 1063
;1063:					l->top = 0;
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
CNSTI4 0
ASGNI4
LABELV $334
line 1065
;1064:
;1065:				if (l->generic.callback)
ADDRFP4 0
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $336
line 1066
;1066:					l->generic.callback( l, QM_GOTFOCUS );
ADDRLP4 108
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 108
INDIRP4
ARGP4
CNSTI4 1
ARGI4
ADDRLP4 108
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CALLV
pop
LABELV $336
line 1068
;1067:
;1068:				return (menu_move_sound);
ADDRGP4 menu_move_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $328
line 1070
;1069:			}
;1070:			return (menu_buzz_sound);
ADDRGP4 menu_buzz_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $338
line 1073
;1071:
;1072:		case K_MWHEELDOWN:
;1073:			if ( !l->scroll )
ADDRFP4 0
INDIRP4
CNSTI4 80
ADDP4
INDIRI4
CNSTI4 0
NEI4 $339
line 1074
;1074:				return (menu_null_sound);
ADDRGP4 menu_null_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $339
line 1076
;1075:
;1076:			if (l->curvalue < l->numitems-1)
ADDRLP4 84
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 84
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 84
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
CNSTI4 1
SUBI4
GEI4 $341
line 1077
;1077:			{
line 1078
;1078:				l->oldvalue = l->curvalue;
ADDRLP4 88
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 88
INDIRP4
CNSTI4 64
ADDP4
ADDRLP4 88
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ASGNI4
line 1079
;1079:				l->curvalue += l->scroll;
ADDRLP4 92
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 96
ADDRLP4 92
INDIRP4
CNSTI4 68
ADDP4
ASGNP4
ADDRLP4 96
INDIRP4
ADDRLP4 96
INDIRP4
INDIRI4
ADDRLP4 92
INDIRP4
CNSTI4 80
ADDP4
INDIRI4
ADDI4
ASGNI4
line 1081
;1080:
;1081:				if (l->curvalue > l->numitems-1)
ADDRLP4 100
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 100
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 100
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
CNSTI4 1
SUBI4
LEI4 $343
line 1082
;1082:					l->curvalue = l->numitems-1;
ADDRLP4 104
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 104
INDIRP4
CNSTI4 68
ADDP4
ADDRLP4 104
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
CNSTI4 1
SUBI4
ASGNI4
LABELV $343
line 1084
;1083:
;1084:				if ( l->curvalue - l->top > l->height - 1 ) {
ADDRLP4 108
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 108
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 108
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
SUBI4
ADDRLP4 108
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
CNSTI4 1
SUBI4
LEI4 $345
line 1085
;1085:					l->top = l->top + l->height;
ADDRLP4 112
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 112
INDIRP4
CNSTI4 76
ADDP4
ADDRLP4 112
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
ADDRLP4 112
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
ADDI4
ASGNI4
line 1086
;1086:					if ( l->numitems - l->top < l->height * l->columns ) {
ADDRLP4 116
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 116
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
ADDRLP4 116
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
SUBI4
ADDRLP4 116
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
ADDRLP4 116
INDIRP4
CNSTI4 100
ADDP4
INDIRI4
MULI4
GEI4 $347
line 1087
;1087:						l->top = l->numitems - l->height * l->columns;
ADDRLP4 120
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 120
INDIRP4
CNSTI4 76
ADDP4
ADDRLP4 120
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
ADDRLP4 120
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
ADDRLP4 120
INDIRP4
CNSTI4 100
ADDP4
INDIRI4
MULI4
SUBI4
ASGNI4
line 1088
;1088:					}
LABELV $347
line 1089
;1089:				}
LABELV $345
line 1091
;1090:
;1091:				if (l->top < 0)
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
CNSTI4 0
GEI4 $349
line 1092
;1092:					l->top = 0;
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
CNSTI4 0
ASGNI4
LABELV $349
line 1094
;1093:
;1094:				if (l->generic.callback)
ADDRFP4 0
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $351
line 1095
;1095:					l->generic.callback( l, QM_GOTFOCUS );
ADDRLP4 112
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 112
INDIRP4
ARGP4
CNSTI4 1
ARGI4
ADDRLP4 112
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CALLV
pop
LABELV $351
line 1097
;1096:
;1097:				return (menu_move_sound);
ADDRGP4 menu_move_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $341
line 1099
;1098:			}
;1099:			return (menu_buzz_sound);
ADDRGP4 menu_buzz_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $353
line 1103
;1100:		
;1101:		case K_KP_UPARROW:
;1102:		case K_UPARROW:
;1103:			if( l->curvalue == 0 ) {
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
CNSTI4 0
NEI4 $354
line 1104
;1104:				return menu_buzz_sound;
ADDRGP4 menu_buzz_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $354
line 1107
;1105:			}
;1106:
;1107:			l->oldvalue = l->curvalue;
ADDRLP4 88
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 88
INDIRP4
CNSTI4 64
ADDP4
ADDRLP4 88
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ASGNI4
line 1108
;1108:			l->curvalue--;
ADDRLP4 92
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
ASGNP4
ADDRLP4 92
INDIRP4
ADDRLP4 92
INDIRP4
INDIRI4
CNSTI4 1
SUBI4
ASGNI4
line 1110
;1109:
;1110:			if( l->curvalue < l->top ) {
ADDRLP4 96
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 96
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 96
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
GEI4 $356
line 1111
;1111:				if( l->columns == 1 ) {
ADDRFP4 0
INDIRP4
CNSTI4 100
ADDP4
INDIRI4
CNSTI4 1
NEI4 $358
line 1112
;1112:					l->top--;
ADDRLP4 100
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
ASGNP4
ADDRLP4 100
INDIRP4
ADDRLP4 100
INDIRP4
INDIRI4
CNSTI4 1
SUBI4
ASGNI4
line 1113
;1113:				}
ADDRGP4 $359
JUMPV
LABELV $358
line 1114
;1114:				else {
line 1115
;1115:					l->top -= l->height;
ADDRLP4 100
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 104
ADDRLP4 100
INDIRP4
CNSTI4 76
ADDP4
ASGNP4
ADDRLP4 104
INDIRP4
ADDRLP4 104
INDIRP4
INDIRI4
ADDRLP4 100
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
SUBI4
ASGNI4
line 1116
;1116:				}
LABELV $359
line 1117
;1117:			}
LABELV $356
line 1119
;1118:
;1119:			if( l->generic.callback ) {
ADDRFP4 0
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $360
line 1120
;1120:				l->generic.callback( l, QM_GOTFOCUS );
ADDRLP4 100
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 100
INDIRP4
ARGP4
CNSTI4 1
ARGI4
ADDRLP4 100
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CALLV
pop
line 1121
;1121:			}
LABELV $360
line 1123
;1122:
;1123:			return (menu_move_sound);
ADDRGP4 menu_move_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $362
line 1127
;1124:
;1125:		case K_KP_DOWNARROW:
;1126:		case K_DOWNARROW:
;1127:			if( l->curvalue == l->numitems - 1 ) {
ADDRLP4 100
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 100
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 100
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
CNSTI4 1
SUBI4
NEI4 $363
line 1128
;1128:				return menu_buzz_sound;
ADDRGP4 menu_buzz_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $363
line 1131
;1129:			}
;1130:
;1131:			l->oldvalue = l->curvalue;
ADDRLP4 104
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 104
INDIRP4
CNSTI4 64
ADDP4
ADDRLP4 104
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ASGNI4
line 1132
;1132:			l->curvalue++;
ADDRLP4 108
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
ASGNP4
ADDRLP4 108
INDIRP4
ADDRLP4 108
INDIRP4
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
line 1134
;1133:
;1134:			if( l->curvalue >= l->top + l->columns * l->height ) {
ADDRLP4 112
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 112
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 112
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
ADDRLP4 112
INDIRP4
CNSTI4 100
ADDP4
INDIRI4
ADDRLP4 112
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
MULI4
ADDI4
LTI4 $365
line 1135
;1135:				if( l->columns == 1 ) {
ADDRFP4 0
INDIRP4
CNSTI4 100
ADDP4
INDIRI4
CNSTI4 1
NEI4 $367
line 1136
;1136:					l->top++;
ADDRLP4 116
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
ASGNP4
ADDRLP4 116
INDIRP4
ADDRLP4 116
INDIRP4
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
line 1137
;1137:				}
ADDRGP4 $368
JUMPV
LABELV $367
line 1138
;1138:				else {
line 1139
;1139:					l->top += l->height;
ADDRLP4 116
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 120
ADDRLP4 116
INDIRP4
CNSTI4 76
ADDP4
ASGNP4
ADDRLP4 120
INDIRP4
ADDRLP4 120
INDIRP4
INDIRI4
ADDRLP4 116
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
ADDI4
ASGNI4
line 1140
;1140:				}
LABELV $368
line 1141
;1141:			}
LABELV $365
line 1143
;1142:
;1143:			if( l->generic.callback ) {
ADDRFP4 0
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $369
line 1144
;1144:				l->generic.callback( l, QM_GOTFOCUS );
ADDRLP4 116
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 116
INDIRP4
ARGP4
CNSTI4 1
ARGI4
ADDRLP4 116
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CALLV
pop
line 1145
;1145:			}
LABELV $369
line 1147
;1146:
;1147:			return menu_move_sound;
ADDRGP4 menu_move_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $371
line 1151
;1148:
;1149:		case K_KP_LEFTARROW:
;1150:		case K_LEFTARROW:
;1151:			if( l->columns == 1 ) {
ADDRFP4 0
INDIRP4
CNSTI4 100
ADDP4
INDIRI4
CNSTI4 1
NEI4 $372
line 1152
;1152:				return menu_null_sound;
ADDRGP4 menu_null_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $372
line 1155
;1153:			}
;1154:
;1155:			if( l->curvalue < l->height ) {
ADDRLP4 116
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 116
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 116
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
GEI4 $374
line 1156
;1156:				return menu_buzz_sound;
ADDRGP4 menu_buzz_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $374
line 1159
;1157:			}
;1158:
;1159:			l->oldvalue = l->curvalue;
ADDRLP4 120
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 120
INDIRP4
CNSTI4 64
ADDP4
ADDRLP4 120
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ASGNI4
line 1160
;1160:			l->curvalue -= l->height;
ADDRLP4 124
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 128
ADDRLP4 124
INDIRP4
CNSTI4 68
ADDP4
ASGNP4
ADDRLP4 128
INDIRP4
ADDRLP4 128
INDIRP4
INDIRI4
ADDRLP4 124
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
SUBI4
ASGNI4
line 1162
;1161:
;1162:			if( l->curvalue < l->top ) {
ADDRLP4 132
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 132
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 132
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
GEI4 $376
line 1163
;1163:				l->top -= l->height;
ADDRLP4 136
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 140
ADDRLP4 136
INDIRP4
CNSTI4 76
ADDP4
ASGNP4
ADDRLP4 140
INDIRP4
ADDRLP4 140
INDIRP4
INDIRI4
ADDRLP4 136
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
SUBI4
ASGNI4
line 1164
;1164:			}
LABELV $376
line 1166
;1165:
;1166:			if( l->generic.callback ) {
ADDRFP4 0
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $378
line 1167
;1167:				l->generic.callback( l, QM_GOTFOCUS );
ADDRLP4 136
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 136
INDIRP4
ARGP4
CNSTI4 1
ARGI4
ADDRLP4 136
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CALLV
pop
line 1168
;1168:			}
LABELV $378
line 1170
;1169:
;1170:			return menu_move_sound;
ADDRGP4 menu_move_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $380
line 1174
;1171:
;1172:		case K_KP_RIGHTARROW:
;1173:		case K_RIGHTARROW:
;1174:			if( l->columns == 1 ) {
ADDRFP4 0
INDIRP4
CNSTI4 100
ADDP4
INDIRI4
CNSTI4 1
NEI4 $381
line 1175
;1175:				return menu_null_sound;
ADDRGP4 menu_null_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $381
line 1178
;1176:			}
;1177:
;1178:			c = l->curvalue + l->height;
ADDRLP4 136
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 4
ADDRLP4 136
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 136
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
ADDI4
ASGNI4
line 1180
;1179:
;1180:			if( c >= l->numitems ) {
ADDRLP4 4
INDIRI4
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
LTI4 $383
line 1181
;1181:				return menu_buzz_sound;
ADDRGP4 menu_buzz_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $383
line 1184
;1182:			}
;1183:
;1184:			l->oldvalue = l->curvalue;
ADDRLP4 140
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 140
INDIRP4
CNSTI4 64
ADDP4
ADDRLP4 140
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ASGNI4
line 1185
;1185:			l->curvalue = c;
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
ADDRLP4 4
INDIRI4
ASGNI4
line 1187
;1186:
;1187:			if( l->curvalue > l->top + l->columns * l->height - 1 ) {
ADDRLP4 144
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 144
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 144
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
ADDRLP4 144
INDIRP4
CNSTI4 100
ADDP4
INDIRI4
ADDRLP4 144
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
MULI4
ADDI4
CNSTI4 1
SUBI4
LEI4 $385
line 1188
;1188:				l->top += l->height;
ADDRLP4 148
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 152
ADDRLP4 148
INDIRP4
CNSTI4 76
ADDP4
ASGNP4
ADDRLP4 152
INDIRP4
ADDRLP4 152
INDIRP4
INDIRI4
ADDRLP4 148
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
ADDI4
ASGNI4
line 1189
;1189:			}
LABELV $385
line 1191
;1190:
;1191:			if( l->generic.callback ) {
ADDRFP4 0
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $387
line 1192
;1192:				l->generic.callback( l, QM_GOTFOCUS );
ADDRLP4 148
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 148
INDIRP4
ARGP4
CNSTI4 1
ARGI4
ADDRLP4 148
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CALLV
pop
line 1193
;1193:			}
LABELV $387
line 1195
;1194:
;1195:			return menu_move_sound;
ADDRGP4 menu_move_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $270
LABELV $271
line 1199
;1196:	}
;1197:
;1198:	// cycle look for ascii key inside list items
;1199:	if ( !Q_isprint( key ) )
ADDRFP4 4
INDIRI4
ARGI4
ADDRLP4 60
ADDRGP4 Q_isprint
CALLI4
ASGNI4
ADDRLP4 60
INDIRI4
CNSTI4 0
NEI4 $396
line 1200
;1200:		return (0);
CNSTI4 0
RETI4
ADDRGP4 $269
JUMPV
LABELV $396
line 1203
;1201:
;1202:	// force to lower for case insensitive compare
;1203:	if ( Q_isupper( key ) )
ADDRFP4 4
INDIRI4
ARGI4
ADDRLP4 64
ADDRGP4 Q_isupper
CALLI4
ASGNI4
ADDRLP4 64
INDIRI4
CNSTI4 0
EQI4 $398
line 1204
;1204:	{
line 1205
;1205:		key -= 'A' - 'a';
ADDRFP4 4
ADDRFP4 4
INDIRI4
CNSTI4 -32
SUBI4
ASGNI4
line 1206
;1206:	}
LABELV $398
line 1209
;1207:
;1208:	// iterate list items
;1209:	for (i=1; i<=l->numitems; i++)
ADDRLP4 8
CNSTI4 1
ASGNI4
ADDRGP4 $403
JUMPV
LABELV $400
line 1210
;1210:	{
line 1211
;1211:		j = (l->curvalue + i) % l->numitems;
ADDRLP4 68
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 0
ADDRLP4 68
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 8
INDIRI4
ADDI4
ADDRLP4 68
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
MODI4
ASGNI4
line 1212
;1212:		c = l->itemnames[j][0];
ADDRLP4 4
ADDRLP4 0
INDIRI4
CNSTI4 2
LSHI4
ADDRFP4 0
INDIRP4
CNSTI4 88
ADDP4
INDIRP4
ADDP4
INDIRP4
INDIRI1
CVII4 1
ASGNI4
line 1213
;1213:		if ( Q_isupper( c ) )
ADDRLP4 4
INDIRI4
ARGI4
ADDRLP4 72
ADDRGP4 Q_isupper
CALLI4
ASGNI4
ADDRLP4 72
INDIRI4
CNSTI4 0
EQI4 $404
line 1214
;1214:		{
line 1215
;1215:			c -= 'A' - 'a';
ADDRLP4 4
ADDRLP4 4
INDIRI4
CNSTI4 -32
SUBI4
ASGNI4
line 1216
;1216:		}
LABELV $404
line 1218
;1217:
;1218:		if (c == key)
ADDRLP4 4
INDIRI4
ADDRFP4 4
INDIRI4
NEI4 $406
line 1219
;1219:		{
line 1221
;1220:			// set current item, mimic windows listbox scroll behavior
;1221:			if (j < l->top)
ADDRLP4 0
INDIRI4
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
GEI4 $408
line 1222
;1222:			{
line 1224
;1223:				// behind top most item, set this as new top
;1224:				l->top = j;
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
ADDRLP4 0
INDIRI4
ASGNI4
line 1225
;1225:			}
ADDRGP4 $409
JUMPV
LABELV $408
line 1226
;1226:			else if (j > l->top+l->height-1)
ADDRLP4 76
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 0
INDIRI4
ADDRLP4 76
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
ADDRLP4 76
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
ADDI4
CNSTI4 1
SUBI4
LEI4 $410
line 1227
;1227:			{
line 1229
;1228:				// past end of list box, do page down
;1229:				l->top = (j+1) - l->height;
ADDRLP4 80
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 80
INDIRP4
CNSTI4 76
ADDP4
ADDRLP4 0
INDIRI4
CNSTI4 1
ADDI4
ADDRLP4 80
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
SUBI4
ASGNI4
line 1230
;1230:			}
LABELV $410
LABELV $409
line 1232
;1231:			
;1232:			if (l->curvalue != j)
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ADDRLP4 0
INDIRI4
EQI4 $412
line 1233
;1233:			{
line 1234
;1234:				l->oldvalue = l->curvalue;
ADDRLP4 80
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 80
INDIRP4
CNSTI4 64
ADDP4
ADDRLP4 80
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
ASGNI4
line 1235
;1235:				l->curvalue = j;
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
ADDRLP4 0
INDIRI4
ASGNI4
line 1236
;1236:				if (l->generic.callback)
ADDRFP4 0
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $414
line 1237
;1237:					l->generic.callback( l, QM_GOTFOCUS );
ADDRLP4 84
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 84
INDIRP4
ARGP4
CNSTI4 1
ARGI4
ADDRLP4 84
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CALLV
pop
LABELV $414
line 1238
;1238:				return ( menu_move_sound );			
ADDRGP4 menu_move_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $412
line 1241
;1239:			}
;1240:
;1241:			return (menu_buzz_sound);
ADDRGP4 menu_buzz_sound
INDIRI4
RETI4
ADDRGP4 $269
JUMPV
LABELV $406
line 1243
;1242:		}
;1243:	}
LABELV $401
line 1209
ADDRLP4 8
ADDRLP4 8
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
LABELV $403
ADDRLP4 8
INDIRI4
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
LEI4 $400
line 1245
;1244:
;1245:	return (menu_buzz_sound);
ADDRGP4 menu_buzz_sound
INDIRI4
RETI4
LABELV $269
endproc ScrollList_Key 156 16
export ScrollList_Draw
proc ScrollList_Draw 52 20
line 1254
;1246:}
;1247:
;1248:/*
;1249:=================
;1250:ScrollList_Draw
;1251:=================
;1252:*/
;1253:void ScrollList_Draw( menulist_s *l )
;1254:{
line 1265
;1255:	int			x;
;1256:	int			u;
;1257:	int			y;
;1258:	int			i;
;1259:	int			base;
;1260:	int			column;
;1261:	float*		color;
;1262:	qboolean	hasfocus;
;1263:	int			style;
;1264:
;1265:	hasfocus = (l->generic.parent->cursor == l->generic.menuPosition);
ADDRLP4 40
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 40
INDIRP4
CNSTI4 36
ADDP4
INDIRP4
INDIRI4
ADDRLP4 40
INDIRP4
CNSTI4 40
ADDP4
INDIRI4
NEI4 $418
ADDRLP4 36
CNSTI4 1
ASGNI4
ADDRGP4 $419
JUMPV
LABELV $418
ADDRLP4 36
CNSTI4 0
ASGNI4
LABELV $419
ADDRLP4 28
ADDRLP4 36
INDIRI4
ASGNI4
line 1267
;1266:
;1267:	x =	l->generic.x;
ADDRLP4 16
ADDRFP4 0
INDIRP4
CNSTI4 12
ADDP4
INDIRI4
ASGNI4
line 1268
;1268:	for( column = 0; column < l->columns; column++ ) {
ADDRLP4 32
CNSTI4 0
ASGNI4
ADDRGP4 $423
JUMPV
LABELV $420
line 1269
;1269:		y =	l->generic.y;
ADDRLP4 4
ADDRFP4 0
INDIRP4
CNSTI4 16
ADDP4
INDIRI4
ASGNI4
line 1270
;1270:		base = l->top + column * l->height;
ADDRLP4 44
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 24
ADDRLP4 44
INDIRP4
CNSTI4 76
ADDP4
INDIRI4
ADDRLP4 32
INDIRI4
ADDRLP4 44
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
MULI4
ADDI4
ASGNI4
line 1271
;1271:		for( i = base; i < base + l->height; i++) {
ADDRLP4 0
ADDRLP4 24
INDIRI4
ASGNI4
ADDRGP4 $427
JUMPV
LABELV $424
line 1272
;1272:			if (i >= l->numitems)
ADDRLP4 0
INDIRI4
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
INDIRI4
LTI4 $428
line 1273
;1273:				break;
ADDRGP4 $426
JUMPV
LABELV $428
line 1275
;1274:
;1275:			if (i == l->curvalue)
ADDRLP4 0
INDIRI4
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
INDIRI4
NEI4 $430
line 1276
;1276:			{
line 1277
;1277:				u = x - 2;
ADDRLP4 20
ADDRLP4 16
INDIRI4
CNSTI4 2
SUBI4
ASGNI4
line 1278
;1278:				if( l->generic.flags & QMF_CENTER_JUSTIFY ) {
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 8
BANDU4
CNSTU4 0
EQU4 $432
line 1279
;1279:					u -= (l->width * SMALLCHAR_WIDTH) / 2 + 1;
ADDRLP4 20
ADDRLP4 20
INDIRI4
ADDRFP4 0
INDIRP4
CNSTI4 92
ADDP4
INDIRI4
CNSTI4 3
LSHI4
CNSTI4 2
DIVI4
CNSTI4 1
ADDI4
SUBI4
ASGNI4
line 1280
;1280:				}
LABELV $432
line 1282
;1281:
;1282:				UI_FillRect(u,y,l->width*SMALLCHAR_WIDTH,SMALLCHAR_HEIGHT+2,listbar_color);
ADDRLP4 20
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 4
INDIRI4
CVIF4 4
ARGF4
ADDRFP4 0
INDIRP4
CNSTI4 92
ADDP4
INDIRI4
CNSTI4 3
LSHI4
CVIF4 4
ARGF4
CNSTF4 1099956224
ARGF4
ADDRGP4 listbar_color
ARGP4
ADDRGP4 UI_FillRect
CALLV
pop
line 1283
;1283:				color = text_color_highlight;
ADDRLP4 12
ADDRGP4 text_color_highlight
ASGNP4
line 1285
;1284:
;1285:				if (hasfocus)
ADDRLP4 28
INDIRI4
CNSTI4 0
EQI4 $434
line 1286
;1286:					style = UI_PULSE|UI_LEFT|UI_SMALLFONT;
ADDRLP4 8
CNSTI4 16400
ASGNI4
ADDRGP4 $431
JUMPV
LABELV $434
line 1288
;1287:				else
;1288:					style = UI_LEFT|UI_SMALLFONT;
ADDRLP4 8
CNSTI4 16
ASGNI4
line 1289
;1289:			}
ADDRGP4 $431
JUMPV
LABELV $430
line 1291
;1290:			else
;1291:			{
line 1292
;1292:				color = text_color_normal;
ADDRLP4 12
ADDRGP4 text_color_normal
ASGNP4
line 1293
;1293:				style = UI_LEFT|UI_SMALLFONT;
ADDRLP4 8
CNSTI4 16
ASGNI4
line 1294
;1294:			}
LABELV $431
line 1295
;1295:			if( l->generic.flags & QMF_CENTER_JUSTIFY ) {
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 8
BANDU4
CNSTU4 0
EQU4 $436
line 1296
;1296:				style |= UI_CENTER;
ADDRLP4 8
ADDRLP4 8
INDIRI4
CNSTI4 1
BORI4
ASGNI4
line 1297
;1297:			}
LABELV $436
line 1299
;1298:
;1299:			UI_DrawString(
ADDRLP4 16
INDIRI4
ARGI4
ADDRLP4 4
INDIRI4
ARGI4
ADDRLP4 0
INDIRI4
CNSTI4 2
LSHI4
ADDRFP4 0
INDIRP4
CNSTI4 88
ADDP4
INDIRP4
ADDP4
INDIRP4
ARGP4
ADDRLP4 8
INDIRI4
ARGI4
ADDRLP4 12
INDIRP4
ARGP4
ADDRGP4 UI_DrawString
CALLV
pop
line 1306
;1300:				x,
;1301:				y,
;1302:				l->itemnames[i],
;1303:				style,
;1304:				color);
;1305:
;1306:			y += SMALLCHAR_HEIGHT;
ADDRLP4 4
ADDRLP4 4
INDIRI4
CNSTI4 16
ADDI4
ASGNI4
line 1307
;1307:		}
LABELV $425
line 1271
ADDRLP4 0
ADDRLP4 0
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
LABELV $427
ADDRLP4 0
INDIRI4
ADDRLP4 24
INDIRI4
ADDRFP4 0
INDIRP4
CNSTI4 96
ADDP4
INDIRI4
ADDI4
LTI4 $424
LABELV $426
line 1308
;1308:		x += (l->width + l->seperation) * SMALLCHAR_WIDTH;
ADDRLP4 48
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 16
ADDRLP4 16
INDIRI4
ADDRLP4 48
INDIRP4
CNSTI4 92
ADDP4
INDIRI4
ADDRLP4 48
INDIRP4
CNSTI4 104
ADDP4
INDIRI4
ADDI4
CNSTI4 3
LSHI4
ADDI4
ASGNI4
line 1309
;1309:	}
LABELV $421
line 1268
ADDRLP4 32
ADDRLP4 32
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
LABELV $423
ADDRLP4 32
INDIRI4
ADDRFP4 0
INDIRP4
CNSTI4 100
ADDP4
INDIRI4
LTI4 $420
line 1310
;1310:}
LABELV $416
endproc ScrollList_Draw 52 20
export Menu_AddItem
proc Menu_AddItem 36 8
line 1318
;1311:
;1312:/*
;1313:=================
;1314:Menu_AddItem
;1315:=================
;1316:*/
;1317:void Menu_AddItem( menuframework_s *menu, void *item )
;1318:{
line 1321
;1319:	menucommon_s	*itemptr;
;1320:
;1321:	if (menu->nitems >= MAX_MENUITEMS)
ADDRFP4 0
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
CNSTI4 64
LTI4 $439
line 1322
;1322:		trap_Error ("Menu_AddItem: excessive items");
ADDRGP4 $441
ARGP4
ADDRGP4 trap_Error
CALLV
pop
LABELV $439
line 1324
;1323:
;1324:	menu->items[menu->nitems] = item;
ADDRLP4 4
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 4
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
CNSTI4 2
LSHI4
ADDRLP4 4
INDIRP4
CNSTI4 12
ADDP4
ADDP4
ADDRFP4 4
INDIRP4
ASGNP4
line 1325
;1325:	((menucommon_s*)menu->items[menu->nitems])->parent        = menu;
ADDRLP4 8
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 8
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
CNSTI4 2
LSHI4
ADDRLP4 8
INDIRP4
CNSTI4 12
ADDP4
ADDP4
INDIRP4
CNSTI4 36
ADDP4
ADDRLP4 8
INDIRP4
ASGNP4
line 1326
;1326:	((menucommon_s*)menu->items[menu->nitems])->menuPosition  = menu->nitems;
ADDRLP4 12
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 12
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
CNSTI4 2
LSHI4
ADDRLP4 12
INDIRP4
CNSTI4 12
ADDP4
ADDP4
INDIRP4
CNSTI4 40
ADDP4
ADDRLP4 12
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
ASGNI4
line 1327
;1327:	((menucommon_s*)menu->items[menu->nitems])->flags        &= ~QMF_HASMOUSEFOCUS;
ADDRLP4 16
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 20
ADDRLP4 16
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
CNSTI4 2
LSHI4
ADDRLP4 16
INDIRP4
CNSTI4 12
ADDP4
ADDP4
INDIRP4
CNSTI4 44
ADDP4
ASGNP4
ADDRLP4 20
INDIRP4
ADDRLP4 20
INDIRP4
INDIRU4
CNSTU4 4294966783
BANDU4
ASGNU4
line 1330
;1328:
;1329:	// perform any item specific initializations
;1330:	itemptr = (menucommon_s*)item;
ADDRLP4 0
ADDRFP4 4
INDIRP4
ASGNP4
line 1331
;1331:	if (!(itemptr->flags & QMF_NODEFAULTINIT))
ADDRLP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 32768
BANDU4
CNSTU4 0
NEU4 $442
line 1332
;1332:	{
line 1333
;1333:		switch (itemptr->type)
ADDRLP4 24
ADDRLP4 0
INDIRP4
INDIRI4
ASGNI4
ADDRLP4 24
INDIRI4
CNSTI4 1
LTI4 $444
ADDRLP4 24
INDIRI4
CNSTI4 10
GTI4 $444
ADDRLP4 24
INDIRI4
CNSTI4 2
LSHI4
ADDRGP4 $458-4
ADDP4
INDIRP4
JUMPV
data
align 4
LABELV $458
address $451
address $447
address $449
address $448
address $450
address $452
address $453
address $454
address $455
address $456
code
line 1334
;1334:		{
LABELV $447
line 1336
;1335:			case MTYPE_ACTION:
;1336:				Action_Init((menuaction_s*)item);
ADDRFP4 4
INDIRP4
ARGP4
ADDRGP4 Action_Init
CALLV
pop
line 1337
;1337:				break;
ADDRGP4 $445
JUMPV
LABELV $448
line 1340
;1338:
;1339:			case MTYPE_FIELD:
;1340:				MenuField_Init((menufield_s*)item);
ADDRFP4 4
INDIRP4
ARGP4
ADDRGP4 MenuField_Init
CALLV
pop
line 1341
;1341:				break;
ADDRGP4 $445
JUMPV
LABELV $449
line 1344
;1342:
;1343:			case MTYPE_SPINCONTROL:
;1344:				SpinControl_Init((menulist_s*)item);
ADDRFP4 4
INDIRP4
ARGP4
ADDRGP4 SpinControl_Init
CALLV
pop
line 1345
;1345:				break;
ADDRGP4 $445
JUMPV
LABELV $450
line 1348
;1346:
;1347:			case MTYPE_RADIOBUTTON:
;1348:				RadioButton_Init((menuradiobutton_s*)item);
ADDRFP4 4
INDIRP4
ARGP4
ADDRGP4 RadioButton_Init
CALLV
pop
line 1349
;1349:				break;
ADDRGP4 $445
JUMPV
LABELV $451
line 1352
;1350:
;1351:			case MTYPE_SLIDER:
;1352:				Slider_Init((menuslider_s*)item);
ADDRFP4 4
INDIRP4
ARGP4
ADDRGP4 Slider_Init
CALLV
pop
line 1353
;1353:				break;
ADDRGP4 $445
JUMPV
LABELV $452
line 1356
;1354:
;1355:			case MTYPE_BITMAP:
;1356:				Bitmap_Init((menubitmap_s*)item);
ADDRFP4 4
INDIRP4
ARGP4
ADDRGP4 Bitmap_Init
CALLV
pop
line 1357
;1357:				break;
ADDRGP4 $445
JUMPV
LABELV $453
line 1360
;1358:
;1359:			case MTYPE_TEXT:
;1360:				Text_Init((menutext_s*)item);
ADDRFP4 4
INDIRP4
ARGP4
ADDRGP4 Text_Init
CALLV
pop
line 1361
;1361:				break;
ADDRGP4 $445
JUMPV
LABELV $454
line 1364
;1362:
;1363:			case MTYPE_SCROLLLIST:
;1364:				ScrollList_Init((menulist_s*)item);
ADDRFP4 4
INDIRP4
ARGP4
ADDRGP4 ScrollList_Init
CALLV
pop
line 1365
;1365:				break;
ADDRGP4 $445
JUMPV
LABELV $455
line 1368
;1366:
;1367:			case MTYPE_PTEXT:
;1368:				PText_Init((menutext_s*)item);
ADDRFP4 4
INDIRP4
ARGP4
ADDRGP4 PText_Init
CALLV
pop
line 1369
;1369:				break;
ADDRGP4 $445
JUMPV
LABELV $456
line 1372
;1370:
;1371:			case MTYPE_BTEXT:
;1372:				BText_Init((menutext_s*)item);
ADDRFP4 4
INDIRP4
ARGP4
ADDRGP4 BText_Init
CALLV
pop
line 1373
;1373:				break;
ADDRGP4 $445
JUMPV
LABELV $444
line 1376
;1374:
;1375:			default:
;1376:				trap_Error( va("Menu_Init: unknown type %d", itemptr->type) );
ADDRGP4 $457
ARGP4
ADDRLP4 0
INDIRP4
INDIRI4
ARGI4
ADDRLP4 32
ADDRGP4 va
CALLP4
ASGNP4
ADDRLP4 32
INDIRP4
ARGP4
ADDRGP4 trap_Error
CALLV
pop
line 1377
;1377:		}
LABELV $445
line 1378
;1378:	}
LABELV $442
line 1380
;1379:
;1380:	menu->nitems++;
ADDRLP4 24
ADDRFP4 0
INDIRP4
CNSTI4 8
ADDP4
ASGNP4
ADDRLP4 24
INDIRP4
ADDRLP4 24
INDIRP4
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
line 1381
;1381:}
LABELV $438
endproc Menu_AddItem 36 8
export Menu_CursorMoved
proc Menu_CursorMoved 28 8
line 1389
;1382:
;1383:/*
;1384:=================
;1385:Menu_CursorMoved
;1386:=================
;1387:*/
;1388:void Menu_CursorMoved( menuframework_s *m )
;1389:{
line 1392
;1390:	void (*callback)( void *self, int notification );
;1391:	
;1392:	if (m->cursor_prev == m->cursor)
ADDRLP4 4
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 4
INDIRP4
CNSTI4 4
ADDP4
INDIRI4
ADDRLP4 4
INDIRP4
INDIRI4
NEI4 $461
line 1393
;1393:		return;
ADDRGP4 $460
JUMPV
LABELV $461
line 1395
;1394:
;1395:	if (m->cursor_prev >= 0 && m->cursor_prev < m->nitems)
ADDRLP4 8
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 8
INDIRP4
CNSTI4 4
ADDP4
INDIRI4
CNSTI4 0
LTI4 $463
ADDRLP4 8
INDIRP4
CNSTI4 4
ADDP4
INDIRI4
ADDRLP4 8
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
GEI4 $463
line 1396
;1396:	{
line 1397
;1397:		callback = ((menucommon_s*)(m->items[m->cursor_prev]))->callback;
ADDRLP4 12
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 0
ADDRLP4 12
INDIRP4
CNSTI4 4
ADDP4
INDIRI4
CNSTI4 2
LSHI4
ADDRLP4 12
INDIRP4
CNSTI4 12
ADDP4
ADDP4
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
ASGNP4
line 1398
;1398:		if (callback)
ADDRLP4 0
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $465
line 1399
;1399:			callback(m->items[m->cursor_prev],QM_LOSTFOCUS);
ADDRLP4 16
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 16
INDIRP4
CNSTI4 4
ADDP4
INDIRI4
CNSTI4 2
LSHI4
ADDRLP4 16
INDIRP4
CNSTI4 12
ADDP4
ADDP4
INDIRP4
ARGP4
CNSTI4 2
ARGI4
ADDRLP4 0
INDIRP4
CALLV
pop
LABELV $465
line 1400
;1400:	}
LABELV $463
line 1402
;1401:	
;1402:	if (m->cursor >= 0 && m->cursor < m->nitems)
ADDRLP4 12
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 16
ADDRLP4 12
INDIRP4
INDIRI4
ASGNI4
ADDRLP4 16
INDIRI4
CNSTI4 0
LTI4 $467
ADDRLP4 16
INDIRI4
ADDRLP4 12
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
GEI4 $467
line 1403
;1403:	{
line 1404
;1404:		callback = ((menucommon_s*)(m->items[m->cursor]))->callback;
ADDRLP4 20
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 0
ADDRLP4 20
INDIRP4
INDIRI4
CNSTI4 2
LSHI4
ADDRLP4 20
INDIRP4
CNSTI4 12
ADDP4
ADDP4
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
ASGNP4
line 1405
;1405:		if (callback)
ADDRLP4 0
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $469
line 1406
;1406:			callback(m->items[m->cursor],QM_GOTFOCUS);
ADDRLP4 24
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 24
INDIRP4
INDIRI4
CNSTI4 2
LSHI4
ADDRLP4 24
INDIRP4
CNSTI4 12
ADDP4
ADDP4
INDIRP4
ARGP4
CNSTI4 1
ARGI4
ADDRLP4 0
INDIRP4
CALLV
pop
LABELV $469
line 1407
;1407:	}
LABELV $467
line 1408
;1408:}
LABELV $460
endproc Menu_CursorMoved 28 8
export Menu_SetCursor
proc Menu_SetCursor 4 4
line 1416
;1409:
;1410:/*
;1411:=================
;1412:Menu_SetCursor
;1413:=================
;1414:*/
;1415:void Menu_SetCursor( menuframework_s *m, int cursor )
;1416:{
line 1417
;1417:	if (((menucommon_s*)(m->items[cursor]))->flags & (QMF_GRAYED|QMF_INACTIVE))
ADDRFP4 4
INDIRI4
CNSTI4 2
LSHI4
ADDRFP4 0
INDIRP4
CNSTI4 12
ADDP4
ADDP4
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 24576
BANDU4
CNSTU4 0
EQU4 $472
line 1418
;1418:	{
line 1420
;1419:		// cursor can't go there
;1420:		return;
ADDRGP4 $471
JUMPV
LABELV $472
line 1423
;1421:	}
;1422:
;1423:	m->cursor_prev = m->cursor;
ADDRLP4 0
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 0
INDIRP4
CNSTI4 4
ADDP4
ADDRLP4 0
INDIRP4
INDIRI4
ASGNI4
line 1424
;1424:	m->cursor      = cursor;
ADDRFP4 0
INDIRP4
ADDRFP4 4
INDIRI4
ASGNI4
line 1426
;1425:
;1426:	Menu_CursorMoved( m );
ADDRFP4 0
INDIRP4
ARGP4
ADDRGP4 Menu_CursorMoved
CALLV
pop
line 1427
;1427:}
LABELV $471
endproc Menu_SetCursor 4 4
export Menu_SetCursorToItem
proc Menu_SetCursorToItem 4 8
line 1435
;1428:
;1429:/*
;1430:=================
;1431:Menu_SetCursorToItem
;1432:=================
;1433:*/
;1434:void Menu_SetCursorToItem( menuframework_s *m, void* ptr )
;1435:{
line 1438
;1436:	int	i;
;1437:
;1438:	for (i=0; i<m->nitems; i++)
ADDRLP4 0
CNSTI4 0
ASGNI4
ADDRGP4 $478
JUMPV
LABELV $475
line 1439
;1439:	{
line 1440
;1440:		if (m->items[i] == ptr)
ADDRLP4 0
INDIRI4
CNSTI4 2
LSHI4
ADDRFP4 0
INDIRP4
CNSTI4 12
ADDP4
ADDP4
INDIRP4
CVPU4 4
ADDRFP4 4
INDIRP4
CVPU4 4
NEU4 $479
line 1441
;1441:		{
line 1442
;1442:			Menu_SetCursor( m, i );
ADDRFP4 0
INDIRP4
ARGP4
ADDRLP4 0
INDIRI4
ARGI4
ADDRGP4 Menu_SetCursor
CALLV
pop
line 1443
;1443:			return;
ADDRGP4 $474
JUMPV
LABELV $479
line 1445
;1444:		}
;1445:	}
LABELV $476
line 1438
ADDRLP4 0
ADDRLP4 0
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
LABELV $478
ADDRLP4 0
INDIRI4
ADDRFP4 0
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
LTI4 $475
line 1446
;1446:}
LABELV $474
endproc Menu_SetCursorToItem 4 8
export Menu_AdjustCursor
proc Menu_AdjustCursor 24 0
line 1455
;1447:
;1448:/*
;1449:** Menu_AdjustCursor
;1450:**
;1451:** This function takes the given menu, the direction, and attempts
;1452:** to adjust the menu's cursor so that it's at the next available
;1453:** slot.
;1454:*/
;1455:void Menu_AdjustCursor( menuframework_s *m, int dir ) {
line 1456
;1456:	menucommon_s	*item = NULL;
ADDRLP4 0
CNSTP4 0
ASGNP4
line 1457
;1457:	qboolean		wrapped = qfalse;
ADDRLP4 4
CNSTI4 0
ASGNI4
ADDRGP4 $484
JUMPV
LABELV $483
line 1460
;1458:
;1459:wrap:
;1460:	while ( m->cursor >= 0 && m->cursor < m->nitems ) {
line 1461
;1461:		item = ( menucommon_s * ) m->items[m->cursor];
ADDRLP4 8
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 0
ADDRLP4 8
INDIRP4
INDIRI4
CNSTI4 2
LSHI4
ADDRLP4 8
INDIRP4
CNSTI4 12
ADDP4
ADDP4
INDIRP4
ASGNP4
line 1462
;1462:		if (( item->flags & (QMF_GRAYED|QMF_MOUSEONLY|QMF_INACTIVE) ) ) {
ADDRLP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 26624
BANDU4
CNSTU4 0
EQU4 $485
line 1463
;1463:			m->cursor += dir;
ADDRLP4 12
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 12
INDIRP4
ADDRLP4 12
INDIRP4
INDIRI4
ADDRFP4 4
INDIRI4
ADDI4
ASGNI4
line 1464
;1464:		}
line 1465
;1465:		else {
line 1466
;1466:			break;
LABELV $487
line 1468
;1467:		}
;1468:	}
LABELV $484
line 1460
ADDRLP4 8
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 12
ADDRLP4 8
INDIRP4
INDIRI4
ASGNI4
ADDRLP4 12
INDIRI4
CNSTI4 0
LTI4 $488
ADDRLP4 12
INDIRI4
ADDRLP4 8
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
LTI4 $483
LABELV $488
LABELV $485
line 1470
;1469:
;1470:	if ( dir == 1 ) {
ADDRFP4 4
INDIRI4
CNSTI4 1
NEI4 $489
line 1471
;1471:		if ( m->cursor >= m->nitems ) {
ADDRLP4 16
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 16
INDIRP4
INDIRI4
ADDRLP4 16
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
LTI4 $490
line 1472
;1472:			if ( m->wrapAround ) {
ADDRFP4 0
INDIRP4
CNSTI4 276
ADDP4
INDIRI4
CNSTI4 0
EQI4 $493
line 1473
;1473:				if ( wrapped ) {
ADDRLP4 4
INDIRI4
CNSTI4 0
EQI4 $495
line 1474
;1474:					m->cursor = m->cursor_prev;
ADDRLP4 20
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 20
INDIRP4
ADDRLP4 20
INDIRP4
CNSTI4 4
ADDP4
INDIRI4
ASGNI4
line 1475
;1475:					return;
ADDRGP4 $481
JUMPV
LABELV $495
line 1477
;1476:				}
;1477:				m->cursor = 0;
ADDRFP4 0
INDIRP4
CNSTI4 0
ASGNI4
line 1478
;1478:				wrapped = qtrue;
ADDRLP4 4
CNSTI4 1
ASGNI4
line 1479
;1479:				goto wrap;
ADDRGP4 $484
JUMPV
LABELV $493
line 1481
;1480:			}
;1481:			m->cursor = m->cursor_prev;
ADDRLP4 20
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 20
INDIRP4
ADDRLP4 20
INDIRP4
CNSTI4 4
ADDP4
INDIRI4
ASGNI4
line 1482
;1482:		}
line 1483
;1483:	}
ADDRGP4 $490
JUMPV
LABELV $489
line 1484
;1484:	else {
line 1485
;1485:		if ( m->cursor < 0 ) {
ADDRFP4 0
INDIRP4
INDIRI4
CNSTI4 0
GEI4 $497
line 1486
;1486:			if ( m->wrapAround ) {
ADDRFP4 0
INDIRP4
CNSTI4 276
ADDP4
INDIRI4
CNSTI4 0
EQI4 $499
line 1487
;1487:				if ( wrapped ) {
ADDRLP4 4
INDIRI4
CNSTI4 0
EQI4 $501
line 1488
;1488:					m->cursor = m->cursor_prev;
ADDRLP4 16
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 16
INDIRP4
ADDRLP4 16
INDIRP4
CNSTI4 4
ADDP4
INDIRI4
ASGNI4
line 1489
;1489:					return;
ADDRGP4 $481
JUMPV
LABELV $501
line 1491
;1490:				}
;1491:				m->cursor = m->nitems - 1;
ADDRLP4 16
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 16
INDIRP4
ADDRLP4 16
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
CNSTI4 1
SUBI4
ASGNI4
line 1492
;1492:				wrapped = qtrue;
ADDRLP4 4
CNSTI4 1
ASGNI4
line 1493
;1493:				goto wrap;
ADDRGP4 $484
JUMPV
LABELV $499
line 1495
;1494:			}
;1495:			m->cursor = m->cursor_prev;
ADDRLP4 16
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 16
INDIRP4
ADDRLP4 16
INDIRP4
CNSTI4 4
ADDP4
INDIRI4
ASGNI4
line 1496
;1496:		}
LABELV $497
line 1497
;1497:	}
LABELV $490
line 1498
;1498:}
LABELV $481
endproc Menu_AdjustCursor 24 0
export Menu_Draw
proc Menu_Draw 32 20
line 1506
;1499:
;1500:/*
;1501:=================
;1502:Menu_Draw
;1503:=================
;1504:*/
;1505:void Menu_Draw( menuframework_s *menu )
;1506:{
line 1511
;1507:	int				i;
;1508:	menucommon_s	*itemptr;
;1509:
;1510:	// draw menu
;1511:	for (i=0; i<menu->nitems; i++)
ADDRLP4 4
CNSTI4 0
ASGNI4
ADDRGP4 $507
JUMPV
LABELV $504
line 1512
;1512:	{
line 1513
;1513:		itemptr = (menucommon_s*)menu->items[i];
ADDRLP4 0
ADDRLP4 4
INDIRI4
CNSTI4 2
LSHI4
ADDRFP4 0
INDIRP4
CNSTI4 12
ADDP4
ADDP4
INDIRP4
ASGNP4
line 1515
;1514:
;1515:		if (itemptr->flags & QMF_HIDDEN)
ADDRLP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 4096
BANDU4
CNSTU4 0
EQU4 $508
line 1516
;1516:			continue;
ADDRGP4 $505
JUMPV
LABELV $508
line 1518
;1517:
;1518:		if (itemptr->ownerdraw)
ADDRLP4 0
INDIRP4
CNSTI4 56
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $510
line 1519
;1519:		{
line 1521
;1520:			// total subclassing, owner draws everything
;1521:			itemptr->ownerdraw( itemptr );
ADDRLP4 0
INDIRP4
ARGP4
ADDRLP4 0
INDIRP4
CNSTI4 56
ADDP4
INDIRP4
CALLV
pop
line 1522
;1522:		}	
ADDRGP4 $511
JUMPV
LABELV $510
line 1524
;1523:		else 
;1524:		{
line 1525
;1525:			switch (itemptr->type)
ADDRLP4 8
ADDRLP4 0
INDIRP4
INDIRI4
ASGNI4
ADDRLP4 8
INDIRI4
CNSTI4 1
LTI4 $512
ADDRLP4 8
INDIRI4
CNSTI4 10
GTI4 $512
ADDRLP4 8
INDIRI4
CNSTI4 2
LSHI4
ADDRGP4 $526-4
ADDP4
INDIRP4
JUMPV
data
align 4
LABELV $526
address $517
address $519
address $518
address $516
address $515
address $520
address $521
address $522
address $523
address $524
code
line 1526
;1526:			{	
LABELV $515
line 1528
;1527:				case MTYPE_RADIOBUTTON:
;1528:					RadioButton_Draw( (menuradiobutton_s*)itemptr );
ADDRLP4 0
INDIRP4
ARGP4
ADDRGP4 RadioButton_Draw
CALLV
pop
line 1529
;1529:					break;
ADDRGP4 $513
JUMPV
LABELV $516
line 1532
;1530:
;1531:				case MTYPE_FIELD:
;1532:					MenuField_Draw( (menufield_s*)itemptr );
ADDRLP4 0
INDIRP4
ARGP4
ADDRGP4 MenuField_Draw
CALLV
pop
line 1533
;1533:					break;
ADDRGP4 $513
JUMPV
LABELV $517
line 1536
;1534:		
;1535:				case MTYPE_SLIDER:
;1536:					Slider_Draw( (menuslider_s*)itemptr );
ADDRLP4 0
INDIRP4
ARGP4
ADDRGP4 Slider_Draw
CALLV
pop
line 1537
;1537:					break;
ADDRGP4 $513
JUMPV
LABELV $518
line 1540
;1538: 
;1539:				case MTYPE_SPINCONTROL:
;1540:					SpinControl_Draw( (menulist_s*)itemptr );
ADDRLP4 0
INDIRP4
ARGP4
ADDRGP4 SpinControl_Draw
CALLV
pop
line 1541
;1541:					break;
ADDRGP4 $513
JUMPV
LABELV $519
line 1544
;1542:		
;1543:				case MTYPE_ACTION:
;1544:					Action_Draw( (menuaction_s*)itemptr );
ADDRLP4 0
INDIRP4
ARGP4
ADDRGP4 Action_Draw
CALLV
pop
line 1545
;1545:					break;
ADDRGP4 $513
JUMPV
LABELV $520
line 1548
;1546:		
;1547:				case MTYPE_BITMAP:
;1548:					Bitmap_Draw( (menubitmap_s*)itemptr );
ADDRLP4 0
INDIRP4
ARGP4
ADDRGP4 Bitmap_Draw
CALLV
pop
line 1549
;1549:					break;
ADDRGP4 $513
JUMPV
LABELV $521
line 1552
;1550:
;1551:				case MTYPE_TEXT:
;1552:					Text_Draw( (menutext_s*)itemptr );
ADDRLP4 0
INDIRP4
ARGP4
ADDRGP4 Text_Draw
CALLV
pop
line 1553
;1553:					break;
ADDRGP4 $513
JUMPV
LABELV $522
line 1556
;1554:
;1555:				case MTYPE_SCROLLLIST:
;1556:					ScrollList_Draw( (menulist_s*)itemptr );
ADDRLP4 0
INDIRP4
ARGP4
ADDRGP4 ScrollList_Draw
CALLV
pop
line 1557
;1557:					break;
ADDRGP4 $513
JUMPV
LABELV $523
line 1560
;1558:				
;1559:				case MTYPE_PTEXT:
;1560:					PText_Draw( (menutext_s*)itemptr );
ADDRLP4 0
INDIRP4
ARGP4
ADDRGP4 PText_Draw
CALLV
pop
line 1561
;1561:					break;
ADDRGP4 $513
JUMPV
LABELV $524
line 1564
;1562:
;1563:				case MTYPE_BTEXT:
;1564:					BText_Draw( (menutext_s*)itemptr );
ADDRLP4 0
INDIRP4
ARGP4
ADDRGP4 BText_Draw
CALLV
pop
line 1565
;1565:					break;
ADDRGP4 $513
JUMPV
LABELV $512
line 1568
;1566:
;1567:				default:
;1568:					trap_Error( va("Menu_Draw: unknown type %d", itemptr->type) );
ADDRGP4 $525
ARGP4
ADDRLP4 0
INDIRP4
INDIRI4
ARGI4
ADDRLP4 16
ADDRGP4 va
CALLP4
ASGNP4
ADDRLP4 16
INDIRP4
ARGP4
ADDRGP4 trap_Error
CALLV
pop
line 1569
;1569:			}
LABELV $513
line 1570
;1570:		}
LABELV $511
line 1572
;1571:#ifndef NDEBUG
;1572:		if( uis.debug ) {
ADDRGP4 uis+11388
INDIRI4
CNSTI4 0
EQI4 $528
line 1578
;1573:			int	x;
;1574:			int	y;
;1575:			int	w;
;1576:			int	h;
;1577:
;1578:			if( !( itemptr->flags & QMF_INACTIVE ) ) {
ADDRLP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 16384
BANDU4
CNSTU4 0
NEU4 $531
line 1579
;1579:				x = itemptr->left;
ADDRLP4 8
ADDRLP4 0
INDIRP4
CNSTI4 20
ADDP4
INDIRI4
ASGNI4
line 1580
;1580:				y = itemptr->top;
ADDRLP4 12
ADDRLP4 0
INDIRP4
CNSTI4 24
ADDP4
INDIRI4
ASGNI4
line 1581
;1581:				w = itemptr->right - itemptr->left + 1;
ADDRLP4 16
ADDRLP4 0
INDIRP4
CNSTI4 28
ADDP4
INDIRI4
ADDRLP4 0
INDIRP4
CNSTI4 20
ADDP4
INDIRI4
SUBI4
CNSTI4 1
ADDI4
ASGNI4
line 1582
;1582:				h =	itemptr->bottom - itemptr->top + 1;
ADDRLP4 20
ADDRLP4 0
INDIRP4
CNSTI4 32
ADDP4
INDIRI4
ADDRLP4 0
INDIRP4
CNSTI4 24
ADDP4
INDIRI4
SUBI4
CNSTI4 1
ADDI4
ASGNI4
line 1584
;1583:
;1584:				if (itemptr->flags & QMF_HASMOUSEFOCUS) {
ADDRLP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 512
BANDU4
CNSTU4 0
EQU4 $533
line 1585
;1585:					UI_DrawRect(x, y, w, h, colorYellow );
ADDRLP4 8
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 12
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 16
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 20
INDIRI4
CVIF4 4
ARGF4
ADDRGP4 colorYellow
ARGP4
ADDRGP4 UI_DrawRect
CALLV
pop
line 1586
;1586:				}
ADDRGP4 $534
JUMPV
LABELV $533
line 1587
;1587:				else {
line 1588
;1588:					UI_DrawRect(x, y, w, h, colorWhite );
ADDRLP4 8
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 12
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 16
INDIRI4
CVIF4 4
ARGF4
ADDRLP4 20
INDIRI4
CVIF4 4
ARGF4
ADDRGP4 colorWhite
ARGP4
ADDRGP4 UI_DrawRect
CALLV
pop
line 1589
;1589:				}
LABELV $534
line 1590
;1590:			}
LABELV $531
line 1591
;1591:		}
LABELV $528
line 1593
;1592:#endif
;1593:	}
LABELV $505
line 1511
ADDRLP4 4
ADDRLP4 4
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
LABELV $507
ADDRLP4 4
INDIRI4
ADDRFP4 0
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
LTI4 $504
line 1595
;1594:
;1595:	itemptr = Menu_ItemAtCursor( menu );
ADDRFP4 0
INDIRP4
ARGP4
ADDRLP4 8
ADDRGP4 Menu_ItemAtCursor
CALLP4
ASGNP4
ADDRLP4 0
ADDRLP4 8
INDIRP4
ASGNP4
line 1596
;1596:	if ( itemptr && itemptr->statusbar)
ADDRLP4 0
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $535
ADDRLP4 0
INDIRP4
CNSTI4 52
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $535
line 1597
;1597:		itemptr->statusbar( ( void * ) itemptr );
ADDRLP4 0
INDIRP4
ARGP4
ADDRLP4 0
INDIRP4
CNSTI4 52
ADDP4
INDIRP4
CALLV
pop
LABELV $535
line 1598
;1598:}
LABELV $503
endproc Menu_Draw 32 20
export Menu_ItemAtCursor
proc Menu_ItemAtCursor 12 0
line 1606
;1599:
;1600:/*
;1601:=================
;1602:Menu_ItemAtCursor
;1603:=================
;1604:*/
;1605:void *Menu_ItemAtCursor( menuframework_s *m )
;1606:{
line 1607
;1607:	if ( m->cursor < 0 || m->cursor >= m->nitems )
ADDRLP4 0
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 4
ADDRLP4 0
INDIRP4
INDIRI4
ASGNI4
ADDRLP4 4
INDIRI4
CNSTI4 0
LTI4 $540
ADDRLP4 4
INDIRI4
ADDRLP4 0
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
LTI4 $538
LABELV $540
line 1608
;1608:		return NULL;
CNSTP4 0
RETP4
ADDRGP4 $537
JUMPV
LABELV $538
line 1610
;1609:
;1610:	return m->items[m->cursor];
ADDRLP4 8
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 8
INDIRP4
INDIRI4
CNSTI4 2
LSHI4
ADDRLP4 8
INDIRP4
CNSTI4 12
ADDP4
ADDP4
INDIRP4
RETP4
LABELV $537
endproc Menu_ItemAtCursor 12 0
export Menu_ActivateItem
proc Menu_ActivateItem 4 8
line 1618
;1611:}
;1612:
;1613:/*
;1614:=================
;1615:Menu_ActivateItem
;1616:=================
;1617:*/
;1618:sfxHandle_t Menu_ActivateItem( menuframework_s *s, menucommon_s* item ) {
line 1619
;1619:	if ( item->callback ) {
ADDRFP4 4
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $542
line 1620
;1620:		item->callback( item, QM_ACTIVATED );
ADDRLP4 0
ADDRFP4 4
INDIRP4
ASGNP4
ADDRLP4 0
INDIRP4
ARGP4
CNSTI4 3
ARGI4
ADDRLP4 0
INDIRP4
CNSTI4 48
ADDP4
INDIRP4
CALLV
pop
line 1621
;1621:		if( !( item->flags & QMF_SILENT ) ) {
ADDRFP4 4
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 1048576
BANDU4
CNSTU4 0
NEU4 $544
line 1622
;1622:			return menu_move_sound;
ADDRGP4 menu_move_sound
INDIRI4
RETI4
ADDRGP4 $541
JUMPV
LABELV $544
line 1624
;1623:		}
;1624:	}
LABELV $542
line 1626
;1625:
;1626:	return 0;
CNSTI4 0
RETI4
LABELV $541
endproc Menu_ActivateItem 4 8
export Menu_DefaultKey
proc Menu_DefaultKey 84 8
line 1635
;1627:}
;1628:
;1629:/*
;1630:=================
;1631:Menu_DefaultKey
;1632:=================
;1633:*/
;1634:sfxHandle_t Menu_DefaultKey( menuframework_s *m, int key )
;1635:{
line 1636
;1636:	sfxHandle_t		sound = 0;
ADDRLP4 4
CNSTI4 0
ASGNI4
line 1641
;1637:	menucommon_s	*item;
;1638:	int				cursor_prev;
;1639:
;1640:	// menu system keys
;1641:	switch ( key )
ADDRLP4 12
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 12
INDIRI4
CNSTI4 27
EQI4 $549
ADDRLP4 12
INDIRI4
CNSTI4 27
LTI4 $547
LABELV $550
ADDRFP4 4
INDIRI4
CNSTI4 179
EQI4 $549
ADDRGP4 $547
JUMPV
line 1642
;1642:	{
LABELV $549
line 1645
;1643:		case K_MOUSE2:
;1644:		case K_ESCAPE:
;1645:			UI_PopMenu();
ADDRGP4 UI_PopMenu
CALLV
pop
line 1646
;1646:			return menu_out_sound;
ADDRGP4 menu_out_sound
INDIRI4
RETI4
ADDRGP4 $546
JUMPV
LABELV $547
line 1649
;1647:	}
;1648:
;1649:	if (!m || !m->nitems)
ADDRLP4 16
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 16
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $553
ADDRLP4 16
INDIRP4
CNSTI4 8
ADDP4
INDIRI4
CNSTI4 0
NEI4 $551
LABELV $553
line 1650
;1650:		return 0;
CNSTI4 0
RETI4
ADDRGP4 $546
JUMPV
LABELV $551
line 1653
;1651:
;1652:	// route key stimulus to widget
;1653:	item = Menu_ItemAtCursor( m );
ADDRFP4 0
INDIRP4
ARGP4
ADDRLP4 20
ADDRGP4 Menu_ItemAtCursor
CALLP4
ASGNP4
ADDRLP4 0
ADDRLP4 20
INDIRP4
ASGNP4
line 1654
;1654:	if (item && !(item->flags & (QMF_GRAYED|QMF_INACTIVE)))
ADDRLP4 0
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $554
ADDRLP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 24576
BANDU4
CNSTU4 0
NEU4 $554
line 1655
;1655:	{
line 1656
;1656:		switch (item->type)
ADDRLP4 28
ADDRLP4 0
INDIRP4
INDIRI4
ASGNI4
ADDRLP4 28
INDIRI4
CNSTI4 1
LTI4 $556
ADDRLP4 28
INDIRI4
CNSTI4 8
GTI4 $556
ADDRLP4 28
INDIRI4
CNSTI4 2
LSHI4
ADDRGP4 $564-4
ADDP4
INDIRP4
JUMPV
data
align 4
LABELV $564
address $561
address $556
address $559
address $563
address $560
address $556
address $556
address $562
code
line 1657
;1657:		{
LABELV $559
line 1659
;1658:			case MTYPE_SPINCONTROL:
;1659:				sound = SpinControl_Key( (menulist_s*)item, key );
ADDRLP4 0
INDIRP4
ARGP4
ADDRFP4 4
INDIRI4
ARGI4
ADDRLP4 36
ADDRGP4 SpinControl_Key
CALLI4
ASGNI4
ADDRLP4 4
ADDRLP4 36
INDIRI4
ASGNI4
line 1660
;1660:				break;
ADDRGP4 $557
JUMPV
LABELV $560
line 1663
;1661:
;1662:			case MTYPE_RADIOBUTTON:
;1663:				sound = RadioButton_Key( (menuradiobutton_s*)item, key );
ADDRLP4 0
INDIRP4
ARGP4
ADDRFP4 4
INDIRI4
ARGI4
ADDRLP4 40
ADDRGP4 RadioButton_Key
CALLI4
ASGNI4
ADDRLP4 4
ADDRLP4 40
INDIRI4
ASGNI4
line 1664
;1664:				break;
ADDRGP4 $557
JUMPV
LABELV $561
line 1667
;1665:
;1666:			case MTYPE_SLIDER:
;1667:				sound = Slider_Key( (menuslider_s*)item, key );
ADDRLP4 0
INDIRP4
ARGP4
ADDRFP4 4
INDIRI4
ARGI4
ADDRLP4 44
ADDRGP4 Slider_Key
CALLI4
ASGNI4
ADDRLP4 4
ADDRLP4 44
INDIRI4
ASGNI4
line 1668
;1668:				break;
ADDRGP4 $557
JUMPV
LABELV $562
line 1671
;1669:
;1670:			case MTYPE_SCROLLLIST:
;1671:				sound = ScrollList_Key( (menulist_s*)item, key );
ADDRLP4 0
INDIRP4
ARGP4
ADDRFP4 4
INDIRI4
ARGI4
ADDRLP4 48
ADDRGP4 ScrollList_Key
CALLI4
ASGNI4
ADDRLP4 4
ADDRLP4 48
INDIRI4
ASGNI4
line 1672
;1672:				break;
ADDRGP4 $557
JUMPV
LABELV $563
line 1675
;1673:
;1674:			case MTYPE_FIELD:
;1675:				sound = MenuField_Key( (menufield_s*)item, &key );
ADDRLP4 0
INDIRP4
ARGP4
ADDRFP4 4
ARGP4
ADDRLP4 52
ADDRGP4 MenuField_Key
CALLI4
ASGNI4
ADDRLP4 4
ADDRLP4 52
INDIRI4
ASGNI4
line 1676
;1676:				break;
LABELV $556
LABELV $557
line 1679
;1677:		}
;1678:
;1679:		if (sound) {
ADDRLP4 4
INDIRI4
CNSTI4 0
EQI4 $566
line 1681
;1680:			// key was handled
;1681:			return sound;		
ADDRLP4 4
INDIRI4
RETI4
ADDRGP4 $546
JUMPV
LABELV $566
line 1683
;1682:		}
;1683:	}
LABELV $554
line 1686
;1684:
;1685:	// default handling
;1686:	switch ( key )
ADDRLP4 28
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 28
INDIRI4
CNSTI4 155
EQI4 $570
ADDRLP4 28
INDIRI4
CNSTI4 156
EQI4 $572
ADDRLP4 28
INDIRI4
CNSTI4 156
GTI4 $591
LABELV $590
ADDRLP4 32
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 32
INDIRI4
CNSTI4 13
EQI4 $585
ADDRLP4 32
INDIRI4
CNSTI4 13
GTI4 $593
LABELV $592
ADDRFP4 4
INDIRI4
CNSTI4 9
EQI4 $577
ADDRGP4 $568
JUMPV
LABELV $593
ADDRLP4 36
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 36
INDIRI4
CNSTI4 132
EQI4 $574
ADDRLP4 36
INDIRI4
CNSTI4 133
EQI4 $577
ADDRGP4 $568
JUMPV
LABELV $591
ADDRLP4 40
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 40
INDIRI4
CNSTI4 167
EQI4 $577
ADDRLP4 40
INDIRI4
CNSTI4 169
EQI4 $585
ADDRLP4 40
INDIRI4
CNSTI4 169
GTI4 $595
LABELV $594
ADDRFP4 4
INDIRI4
CNSTI4 161
EQI4 $574
ADDRGP4 $568
JUMPV
LABELV $595
ADDRLP4 44
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 44
INDIRI4
CNSTI4 178
LTI4 $568
ADDRLP4 44
INDIRI4
CNSTI4 188
GTI4 $596
ADDRLP4 44
INDIRI4
CNSTI4 2
LSHI4
ADDRGP4 $597-712
ADDP4
INDIRP4
JUMPV
data
align 4
LABELV $597
address $580
address $568
address $580
address $568
address $568
address $568
address $568
address $585
address $585
address $585
address $585
code
LABELV $596
ADDRLP4 48
ADDRFP4 4
INDIRI4
ASGNI4
ADDRLP4 48
INDIRI4
CNSTI4 217
LTI4 $568
ADDRLP4 48
INDIRI4
CNSTI4 232
GTI4 $568
ADDRLP4 48
INDIRI4
CNSTI4 2
LSHI4
ADDRGP4 $599-868
ADDP4
INDIRP4
JUMPV
data
align 4
LABELV $599
address $585
address $585
address $585
address $585
address $585
address $585
address $585
address $585
address $585
address $585
address $585
address $585
address $585
address $585
address $585
address $585
code
line 1687
;1687:	{
LABELV $570
line 1690
;1688:#ifndef NDEBUG
;1689:		case K_F11:
;1690:			trap_Cmd_ExecuteText( EXEC_APPEND, "screenshot\n" );
CNSTI4 2
ARGI4
ADDRGP4 $571
ARGP4
ADDRGP4 trap_Cmd_ExecuteText
CALLV
pop
line 1691
;1691:			break;
ADDRGP4 $569
JUMPV
LABELV $572
line 1694
;1692:
;1693:		case K_F12:
;1694:			uis.debug ^= 1;
ADDRLP4 52
ADDRGP4 uis+11388
ASGNP4
ADDRLP4 52
INDIRP4
ADDRLP4 52
INDIRP4
INDIRI4
CNSTI4 1
BXORI4
ASGNI4
line 1695
;1695:			break;
ADDRGP4 $569
JUMPV
LABELV $574
line 1699
;1696:#endif
;1697:		case K_KP_UPARROW:
;1698:		case K_UPARROW:
;1699:			cursor_prev    = m->cursor;
ADDRLP4 8
ADDRFP4 0
INDIRP4
INDIRI4
ASGNI4
line 1700
;1700:			m->cursor_prev = m->cursor;
ADDRLP4 56
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 56
INDIRP4
CNSTI4 4
ADDP4
ADDRLP4 56
INDIRP4
INDIRI4
ASGNI4
line 1701
;1701:			m->cursor--;
ADDRLP4 60
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 60
INDIRP4
ADDRLP4 60
INDIRP4
INDIRI4
CNSTI4 1
SUBI4
ASGNI4
line 1702
;1702:			Menu_AdjustCursor( m, -1 );
ADDRFP4 0
INDIRP4
ARGP4
CNSTI4 -1
ARGI4
ADDRGP4 Menu_AdjustCursor
CALLV
pop
line 1703
;1703:			if ( cursor_prev != m->cursor ) {
ADDRLP4 8
INDIRI4
ADDRFP4 0
INDIRP4
INDIRI4
EQI4 $569
line 1704
;1704:				Menu_CursorMoved( m );
ADDRFP4 0
INDIRP4
ARGP4
ADDRGP4 Menu_CursorMoved
CALLV
pop
line 1705
;1705:				sound = menu_move_sound;
ADDRLP4 4
ADDRGP4 menu_move_sound
INDIRI4
ASGNI4
line 1706
;1706:			}
line 1707
;1707:			break;
ADDRGP4 $569
JUMPV
LABELV $577
line 1712
;1708:
;1709:		case K_TAB:
;1710:		case K_KP_DOWNARROW:
;1711:		case K_DOWNARROW:
;1712:			cursor_prev    = m->cursor;
ADDRLP4 8
ADDRFP4 0
INDIRP4
INDIRI4
ASGNI4
line 1713
;1713:			m->cursor_prev = m->cursor;
ADDRLP4 64
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 64
INDIRP4
CNSTI4 4
ADDP4
ADDRLP4 64
INDIRP4
INDIRI4
ASGNI4
line 1714
;1714:			m->cursor++;
ADDRLP4 68
ADDRFP4 0
INDIRP4
ASGNP4
ADDRLP4 68
INDIRP4
ADDRLP4 68
INDIRP4
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
line 1715
;1715:			Menu_AdjustCursor( m, 1 );
ADDRFP4 0
INDIRP4
ARGP4
CNSTI4 1
ARGI4
ADDRGP4 Menu_AdjustCursor
CALLV
pop
line 1716
;1716:			if ( cursor_prev != m->cursor ) {
ADDRLP4 8
INDIRI4
ADDRFP4 0
INDIRP4
INDIRI4
EQI4 $569
line 1717
;1717:				Menu_CursorMoved( m );
ADDRFP4 0
INDIRP4
ARGP4
ADDRGP4 Menu_CursorMoved
CALLV
pop
line 1718
;1718:				sound = menu_move_sound;
ADDRLP4 4
ADDRGP4 menu_move_sound
INDIRI4
ASGNI4
line 1719
;1719:			}
line 1720
;1720:			break;
ADDRGP4 $569
JUMPV
LABELV $580
line 1724
;1721:
;1722:		case K_MOUSE1:
;1723:		case K_MOUSE3:
;1724:			if (item)
ADDRLP4 0
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $569
line 1725
;1725:				if ((item->flags & QMF_HASMOUSEFOCUS) && !(item->flags & (QMF_GRAYED|QMF_INACTIVE)))
ADDRLP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 512
BANDU4
CNSTU4 0
EQU4 $569
ADDRLP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 24576
BANDU4
CNSTU4 0
NEU4 $569
line 1726
;1726:					return (Menu_ActivateItem( m, item ));
ADDRFP4 0
INDIRP4
ARGP4
ADDRLP4 0
INDIRP4
ARGP4
ADDRLP4 76
ADDRGP4 Menu_ActivateItem
CALLI4
ASGNI4
ADDRLP4 76
INDIRI4
RETI4
ADDRGP4 $546
JUMPV
line 1727
;1727:			break;
LABELV $585
line 1751
;1728:
;1729:		case K_JOY1:
;1730:		case K_JOY2:
;1731:		case K_JOY3:
;1732:		case K_JOY4:
;1733:		case K_AUX1:
;1734:		case K_AUX2:
;1735:		case K_AUX3:
;1736:		case K_AUX4:
;1737:		case K_AUX5:
;1738:		case K_AUX6:
;1739:		case K_AUX7:
;1740:		case K_AUX8:
;1741:		case K_AUX9:
;1742:		case K_AUX10:
;1743:		case K_AUX11:
;1744:		case K_AUX12:
;1745:		case K_AUX13:
;1746:		case K_AUX14:
;1747:		case K_AUX15:
;1748:		case K_AUX16:
;1749:		case K_KP_ENTER:
;1750:		case K_ENTER:
;1751:			if (item)
ADDRLP4 0
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $569
line 1752
;1752:				if (!(item->flags & (QMF_MOUSEONLY|QMF_GRAYED|QMF_INACTIVE)))
ADDRLP4 0
INDIRP4
CNSTI4 44
ADDP4
INDIRU4
CNSTU4 26624
BANDU4
CNSTU4 0
NEU4 $569
line 1753
;1753:					return (Menu_ActivateItem( m, item ));
ADDRFP4 0
INDIRP4
ARGP4
ADDRLP4 0
INDIRP4
ARGP4
ADDRLP4 80
ADDRGP4 Menu_ActivateItem
CALLI4
ASGNI4
ADDRLP4 80
INDIRI4
RETI4
ADDRGP4 $546
JUMPV
line 1754
;1754:			break;
LABELV $568
LABELV $569
line 1757
;1755:	}
;1756:
;1757:	return sound;
ADDRLP4 4
INDIRI4
RETI4
LABELV $546
endproc Menu_DefaultKey 84 8
export Menu_Cache
proc Menu_Cache 68 8
line 1766
;1758:}
;1759:
;1760:/*
;1761:=================
;1762:Menu_Cache
;1763:=================
;1764:*/
;1765:void Menu_Cache( void )
;1766:{
line 1767
;1767:	uis.charset			= trap_R_RegisterShaderNoMip( "gfx/2d/bigchars" );
ADDRGP4 $603
ARGP4
ADDRLP4 0
ADDRGP4 trap_R_RegisterShaderNoMip
CALLI4
ASGNI4
ADDRGP4 uis+11404
ADDRLP4 0
INDIRI4
ASGNI4
line 1768
;1768:	uis.charsetProp		= trap_R_RegisterShaderNoMip( "menu/art/font1_prop.tga" );
ADDRGP4 $605
ARGP4
ADDRLP4 4
ADDRGP4 trap_R_RegisterShaderNoMip
CALLI4
ASGNI4
ADDRGP4 uis+11408
ADDRLP4 4
INDIRI4
ASGNI4
line 1769
;1769:	uis.charsetPropGlow	= trap_R_RegisterShaderNoMip( "menu/art/font1_prop_glo.tga" );
ADDRGP4 $607
ARGP4
ADDRLP4 8
ADDRGP4 trap_R_RegisterShaderNoMip
CALLI4
ASGNI4
ADDRGP4 uis+11412
ADDRLP4 8
INDIRI4
ASGNI4
line 1770
;1770:	uis.charsetPropB	= trap_R_RegisterShaderNoMip( "menu/art/font2_prop.tga" );
ADDRGP4 $609
ARGP4
ADDRLP4 12
ADDRGP4 trap_R_RegisterShaderNoMip
CALLI4
ASGNI4
ADDRGP4 uis+11416
ADDRLP4 12
INDIRI4
ASGNI4
line 1771
;1771:	uis.cursor          = trap_R_RegisterShaderNoMip( "menu/art/3_cursor2" );
ADDRGP4 $611
ARGP4
ADDRLP4 16
ADDRGP4 trap_R_RegisterShaderNoMip
CALLI4
ASGNI4
ADDRGP4 uis+11420
ADDRLP4 16
INDIRI4
ASGNI4
line 1772
;1772:	uis.rb_on           = trap_R_RegisterShaderNoMip( "menu/art/switch_on" );
ADDRGP4 $613
ARGP4
ADDRLP4 20
ADDRGP4 trap_R_RegisterShaderNoMip
CALLI4
ASGNI4
ADDRGP4 uis+11424
ADDRLP4 20
INDIRI4
ASGNI4
line 1773
;1773:	uis.rb_off          = trap_R_RegisterShaderNoMip( "menu/art/switch_off" );
ADDRGP4 $615
ARGP4
ADDRLP4 24
ADDRGP4 trap_R_RegisterShaderNoMip
CALLI4
ASGNI4
ADDRGP4 uis+11428
ADDRLP4 24
INDIRI4
ASGNI4
line 1775
;1774:
;1775:	uis.whiteShader = trap_R_RegisterShaderNoMip( "white" );
ADDRGP4 $617
ARGP4
ADDRLP4 28
ADDRGP4 trap_R_RegisterShaderNoMip
CALLI4
ASGNI4
ADDRGP4 uis+11392
ADDRLP4 28
INDIRI4
ASGNI4
line 1776
;1776:	if ( uis.glconfig.hardwareType == GLHW_RAGEPRO ) {
ADDRGP4 uis+56+11288
INDIRI4
CNSTI4 3
NEI4 $618
line 1778
;1777:		// the blend effect turns to shit with the normal 
;1778:		uis.menuBackShader	= trap_R_RegisterShaderNoMip( "menubackRagePro" );
ADDRGP4 $623
ARGP4
ADDRLP4 32
ADDRGP4 trap_R_RegisterShaderNoMip
CALLI4
ASGNI4
ADDRGP4 uis+11396
ADDRLP4 32
INDIRI4
ASGNI4
line 1779
;1779:	} else {
ADDRGP4 $619
JUMPV
LABELV $618
line 1780
;1780:		uis.menuBackShader	= trap_R_RegisterShaderNoMip( "menuback" );
ADDRGP4 $625
ARGP4
ADDRLP4 32
ADDRGP4 trap_R_RegisterShaderNoMip
CALLI4
ASGNI4
ADDRGP4 uis+11396
ADDRLP4 32
INDIRI4
ASGNI4
line 1781
;1781:	}
LABELV $619
line 1782
;1782:	uis.menuBackNoLogoShader = trap_R_RegisterShaderNoMip( "menubacknologo" );
ADDRGP4 $627
ARGP4
ADDRLP4 32
ADDRGP4 trap_R_RegisterShaderNoMip
CALLI4
ASGNI4
ADDRGP4 uis+11400
ADDRLP4 32
INDIRI4
ASGNI4
line 1784
;1783:
;1784:	menu_in_sound	= trap_S_RegisterSound( "sound/misc/menu1.wav", qfalse );
ADDRGP4 $628
ARGP4
CNSTI4 0
ARGI4
ADDRLP4 36
ADDRGP4 trap_S_RegisterSound
CALLI4
ASGNI4
ADDRGP4 menu_in_sound
ADDRLP4 36
INDIRI4
ASGNI4
line 1785
;1785:	menu_move_sound	= trap_S_RegisterSound( "sound/misc/menu2.wav", qfalse );
ADDRGP4 $629
ARGP4
CNSTI4 0
ARGI4
ADDRLP4 40
ADDRGP4 trap_S_RegisterSound
CALLI4
ASGNI4
ADDRGP4 menu_move_sound
ADDRLP4 40
INDIRI4
ASGNI4
line 1786
;1786:	menu_out_sound	= trap_S_RegisterSound( "sound/misc/menu3.wav", qfalse );
ADDRGP4 $630
ARGP4
CNSTI4 0
ARGI4
ADDRLP4 44
ADDRGP4 trap_S_RegisterSound
CALLI4
ASGNI4
ADDRGP4 menu_out_sound
ADDRLP4 44
INDIRI4
ASGNI4
line 1787
;1787:	menu_buzz_sound	= trap_S_RegisterSound( "sound/misc/menu4.wav", qfalse );
ADDRGP4 $631
ARGP4
CNSTI4 0
ARGI4
ADDRLP4 48
ADDRGP4 trap_S_RegisterSound
CALLI4
ASGNI4
ADDRGP4 menu_buzz_sound
ADDRLP4 48
INDIRI4
ASGNI4
line 1788
;1788:	weaponChangeSound	= trap_S_RegisterSound( "sound/weapons/change.wav", qfalse );
ADDRGP4 $632
ARGP4
CNSTI4 0
ARGI4
ADDRLP4 52
ADDRGP4 trap_S_RegisterSound
CALLI4
ASGNI4
ADDRGP4 weaponChangeSound
ADDRLP4 52
INDIRI4
ASGNI4
line 1791
;1789:
;1790:	// need a nonzero sound, make an empty sound for this
;1791:	menu_null_sound = -1;
ADDRGP4 menu_null_sound
CNSTI4 -1
ASGNI4
line 1793
;1792:
;1793:	sliderBar = trap_R_RegisterShaderNoMip( "menu/art/slider2" );
ADDRGP4 $633
ARGP4
ADDRLP4 56
ADDRGP4 trap_R_RegisterShaderNoMip
CALLI4
ASGNI4
ADDRGP4 sliderBar
ADDRLP4 56
INDIRI4
ASGNI4
line 1794
;1794:	sliderButton_0 = trap_R_RegisterShaderNoMip( "menu/art/sliderbutt_0" );
ADDRGP4 $634
ARGP4
ADDRLP4 60
ADDRGP4 trap_R_RegisterShaderNoMip
CALLI4
ASGNI4
ADDRGP4 sliderButton_0
ADDRLP4 60
INDIRI4
ASGNI4
line 1795
;1795:	sliderButton_1 = trap_R_RegisterShaderNoMip( "menu/art/sliderbutt_1" );
ADDRGP4 $635
ARGP4
ADDRLP4 64
ADDRGP4 trap_R_RegisterShaderNoMip
CALLI4
ASGNI4
ADDRGP4 sliderButton_1
ADDRLP4 64
INDIRI4
ASGNI4
line 1796
;1796:}
LABELV $601
endproc Menu_Cache 68 8
bss
align 4
LABELV sliderButton_1
skip 4
align 4
LABELV sliderButton_0
skip 4
align 4
LABELV sliderBar
skip 4
import UI_RankStatusMenu
import RankStatus_Cache
import UI_SignupMenu
import Signup_Cache
import UI_LoginMenu
import Login_Cache
import UI_RankingsMenu
import Rankings_Cache
import Rankings_DrawPassword
import Rankings_DrawName
import Rankings_DrawText
import UI_InitGameinfo
import UI_SPUnlockMedals_f
import UI_SPUnlock_f
import UI_GetAwardLevel
import UI_LogAwardData
import UI_NewGame
import UI_GetCurrentGame
import UI_CanShowTierVideo
import UI_ShowTierVideo
import UI_TierCompleted
import UI_SetBestScore
import UI_GetBestScore
import UI_GetNumBots
import UI_GetBotInfoByName
import UI_GetBotInfoByNumber
import UI_GetNumSPTiers
import UI_GetNumSPArenas
import UI_GetNumArenas
import UI_GetSpecialArenaInfo
import UI_GetArenaInfoByMap
import UI_GetArenaInfoByNumber
import UI_NetworkOptionsMenu
import UI_NetworkOptionsMenu_Cache
import UI_SoundOptionsMenu
import UI_SoundOptionsMenu_Cache
import UI_DisplayOptionsMenu
import UI_DisplayOptionsMenu_Cache
import UI_SaveConfigMenu
import UI_SaveConfigMenu_Cache
import UI_LoadConfigMenu
import UI_LoadConfig_Cache
import UI_TeamOrdersMenu_Cache
import UI_TeamOrdersMenu_f
import UI_TeamOrdersMenu
import UI_RemoveBotsMenu
import UI_RemoveBots_Cache
import UI_AddBotsMenu
import UI_AddBots_Cache
import trap_SetPbClStatus
import trap_VerifyCDKey
import trap_SetCDKey
import trap_GetCDKey
import trap_MemoryRemaining
import trap_LAN_GetPingInfo
import trap_LAN_GetPing
import trap_LAN_ClearPing
import trap_LAN_ServerStatus
import trap_LAN_LoadCachedServers
import trap_LAN_SaveCachedServers
import trap_LAN_GetPingQueueCount
import trap_LAN_GetServerInfo
import trap_LAN_GetServerAddressString
import trap_LAN_GetServerCount
import trap_GetConfigString
import trap_GetGlconfig
import trap_GetClientState
import trap_GetClipboardData
import trap_Key_SetCatcher
import trap_Key_GetCatcher
import trap_Key_ClearStates
import trap_Key_SetOverstrikeMode
import trap_Key_GetOverstrikeMode
import trap_Key_IsDown
import trap_Key_SetBinding
import trap_Key_GetBindingBuf
import trap_Key_KeynumToStringBuf
import trap_S_RegisterSound
import trap_S_StartLocalSound
import trap_CM_LerpTag
import trap_UpdateScreen
import trap_R_DrawStretchPic
import trap_R_SetColor
import trap_R_RenderScene
import trap_R_AddLightToScene
import trap_R_AddPolyToScene
import trap_R_AddRefEntityToScene
import trap_R_ClearScene
import trap_R_RegisterShaderNoMip
import trap_R_RegisterSkin
import trap_R_RegisterModel
import trap_FS_Seek
import trap_FS_GetFileList
import trap_FS_FCloseFile
import trap_FS_Write
import trap_FS_Read
import trap_FS_FOpenFile
import trap_Cmd_ExecuteText
import trap_Argv
import trap_Argc
import trap_Cvar_InfoStringBuffer
import trap_Cvar_Create
import trap_Cvar_Reset
import trap_Cvar_SetValue
import trap_Cvar_VariableStringBuffer
import trap_Cvar_VariableValue
import trap_Cvar_Set
import trap_Cvar_Update
import trap_Cvar_Register
import trap_Milliseconds
import trap_Error
import trap_Print
import UI_SPSkillMenu_Cache
import UI_SPSkillMenu
import UI_SPPostgameMenu_f
import UI_SPPostgameMenu_Cache
import UI_SPArena_Start
import UI_SPLevelMenu_ReInit
import UI_SPLevelMenu_f
import UI_SPLevelMenu
import UI_SPLevelMenu_Cache
import uis
import m_entersound
import UI_StartDemoLoop
import UI_Cvar_VariableString
import UI_Argv
import UI_ForceMenuOff
import UI_PopMenu
import UI_PushMenu
import UI_SetActiveMenu
import UI_IsFullscreen
import UI_DrawTextBox
import UI_AdjustFrom640
import UI_CursorInRect
import UI_DrawChar
import UI_DrawString
import UI_ProportionalStringWidth
import UI_DrawProportionalString_AutoWrapped
import UI_DrawProportionalString
import UI_ProportionalSizeScale
import UI_DrawBannerString
import UI_LerpColor
import UI_SetColor
import UI_UpdateScreen
import UI_DrawRect
import UI_FillRect
import UI_DrawHandlePic
import UI_DrawNamedPic
import UI_ClampCvar
import UI_ConsoleCommand
import UI_Refresh
import UI_MouseEvent
import UI_KeyEvent
import UI_Shutdown
import UI_Init
import UI_RegisterClientModelname
import UI_PlayerInfo_SetInfo
import UI_PlayerInfo_SetModel
import UI_DrawPlayer
import DriverInfo_Cache
import GraphicsOptions_Cache
import UI_GraphicsOptionsMenu
import ServerInfo_Cache
import UI_ServerInfoMenu
import UI_BotSelectMenu_Cache
import UI_BotSelectMenu
import ServerOptions_Cache
import StartServer_Cache
import UI_StartServerMenu
import ArenaServers_Cache
import UI_ArenaServersMenu
import SpecifyServer_Cache
import UI_SpecifyServerMenu
import SpecifyLeague_Cache
import UI_SpecifyLeagueMenu
import Preferences_Cache
import UI_PreferencesMenu
import PlayerSettings_Cache
import UI_PlayerSettingsMenu
import PlayerModel_Cache
import UI_PlayerModelMenu
import UI_CDKeyMenu_f
import UI_CDKeyMenu_Cache
import UI_CDKeyMenu
import UI_ModsMenu_Cache
import UI_ModsMenu
import UI_CinematicsMenu_Cache
import UI_CinematicsMenu_f
import UI_CinematicsMenu
import Demos_Cache
import UI_DemosMenu
import Controls_Cache
import UI_ControlsMenu
import UI_DrawConnectScreen
import TeamMain_Cache
import UI_TeamMainMenu
import UI_SetupMenu
import UI_SetupMenu_Cache
import UI_Message
import UI_ConfirmMenu_Style
import UI_ConfirmMenu
import ConfirmMenu_Cache
import UI_InGameMenu
import InGame_Cache
import UI_CreditMenu
import UI_UpdateCvars
import UI_RegisterCvars
import UI_MainMenu
import MainMenu_Cache
import MenuField_Key
import MenuField_Draw
import MenuField_Init
import MField_Draw
import MField_CharEvent
import MField_KeyDownEvent
import MField_Clear
import UI_VideoCheck
import ui_medalSounds
import ui_medalPicNames
import ui_medalNames
import list_color
import name_color
import menu_black_color
import menu_red_color
import menu_highlight_color
import menu_dark_color
import menu_grayed_color
export weaponChangeSound
align 4
LABELV weaponChangeSound
skip 4
export menu_null_sound
align 4
LABELV menu_null_sound
skip 4
export menu_buzz_sound
align 4
LABELV menu_buzz_sound
skip 4
export menu_out_sound
align 4
LABELV menu_out_sound
skip 4
export menu_move_sound
align 4
LABELV menu_move_sound
skip 4
export menu_in_sound
align 4
LABELV menu_in_sound
skip 4
import Menu_Focus
import ui_cdkeychecked
import ui_cdkey
import ui_server16
import ui_server15
import ui_server14
import ui_server13
import ui_server12
import ui_server11
import ui_server10
import ui_server9
import ui_server8
import ui_server7
import ui_server6
import ui_server5
import ui_server4
import ui_server3
import ui_server2
import ui_server1
import ui_marks
import ui_drawCrosshairNames
import ui_drawCrosshair
import ui_brassTime
import ui_browserShowEmpty
import ui_browserShowFull
import ui_browserSortKey
import ui_browserGameType
import ui_browserMaster
import ui_spSelection
import ui_spSkill
import ui_spVideos
import ui_spAwards
import ui_spScores5
import ui_spScores4
import ui_spScores3
import ui_spScores2
import ui_spScores1
import ui_botsFile
import ui_arenasFile
import ui_ctf_friendly
import ui_ctf_timelimit
import ui_ctf_capturelimit
import ui_team_friendly
import ui_team_timelimit
import ui_team_fraglimit
import ui_tourney_timelimit
import ui_tourney_fraglimit
import ui_ffa_timelimit
import ui_ffa_fraglimit
import BigEndian
import replace1
import Q_stradd
import Q_strcpy
import BG_StripColor
import BG_CleanName
import DecodedString
import EncodedString
import strtok
import Q_stristr
import BG_sprintf
import BG_PlayerTouchesItem
import BG_PlayerStateToEntityStateExtraPolate
import BG_PlayerStateToEntityState
import BG_TouchJumpPad
import BG_AddPredictableEventToPlayerstate
import BG_EvaluateTrajectoryDelta
import BG_EvaluateTrajectory
import BG_CanItemBeGrabbed
import BG_FindItemForHoldable
import BG_FindItemForPowerup
import BG_FindItemForWeapon
import BG_FindItem
import bg_numItems
import bg_itemlist
import Pmove
import PM_UpdateViewAngles
import gt
import Com_Printf
import Com_Error
import Info_NextPair
import Info_ValidateKeyValue
import Info_Validate
import Info_SetValueForKey_Big
import Info_SetValueForKey
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 locase
import Com_sprintf
import Parse3DMatrix
import Parse2DMatrix
import Parse1DMatrix
import SkipRestOfLine
import SkipBracedSection
import COM_MatchToken
import Com_Split
import COM_ParseSep
import Com_InitSeparators
import SkipTillSeparators
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 Hunk_Alloc
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 Q_sscanf
import ED_vsprintf
import atoi
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 $635
byte 1 109
byte 1 101
byte 1 110
byte 1 117
byte 1 47
byte 1 97
byte 1 114
byte 1 116
byte 1 47
byte 1 115
byte 1 108
byte 1 105
byte 1 100
byte 1 101
byte 1 114
byte 1 98
byte 1 117
byte 1 116
byte 1 116
byte 1 95
byte 1 49
byte 1 0
align 1
LABELV $634
byte 1 109
byte 1 101
byte 1 110
byte 1 117
byte 1 47
byte 1 97
byte 1 114
byte 1 116
byte 1 47
byte 1 115
byte 1 108
byte 1 105
byte 1 100
byte 1 101
byte 1 114
byte 1 98
byte 1 117
byte 1 116
byte 1 116
byte 1 95
byte 1 48
byte 1 0
align 1
LABELV $633
byte 1 109
byte 1 101
byte 1 110
byte 1 117
byte 1 47
byte 1 97
byte 1 114
byte 1 116
byte 1 47
byte 1 115
byte 1 108
byte 1 105
byte 1 100
byte 1 101
byte 1 114
byte 1 50
byte 1 0
align 1
LABELV $632
byte 1 115
byte 1 111
byte 1 117
byte 1 110
byte 1 100
byte 1 47
byte 1 119
byte 1 101
byte 1 97
byte 1 112
byte 1 111
byte 1 110
byte 1 115
byte 1 47
byte 1 99
byte 1 104
byte 1 97
byte 1 110
byte 1 103
byte 1 101
byte 1 46
byte 1 119
byte 1 97
byte 1 118
byte 1 0
align 1
LABELV $631
byte 1 115
byte 1 111
byte 1 117
byte 1 110
byte 1 100
byte 1 47
byte 1 109
byte 1 105
byte 1 115
byte 1 99
byte 1 47
byte 1 109
byte 1 101
byte 1 110
byte 1 117
byte 1 52
byte 1 46
byte 1 119
byte 1 97
byte 1 118
byte 1 0
align 1
LABELV $630
byte 1 115
byte 1 111
byte 1 117
byte 1 110
byte 1 100
byte 1 47
byte 1 109
byte 1 105
byte 1 115
byte 1 99
byte 1 47
byte 1 109
byte 1 101
byte 1 110
byte 1 117
byte 1 51
byte 1 46
byte 1 119
byte 1 97
byte 1 118
byte 1 0
align 1
LABELV $629
byte 1 115
byte 1 111
byte 1 117
byte 1 110
byte 1 100
byte 1 47
byte 1 109
byte 1 105
byte 1 115
byte 1 99
byte 1 47
byte 1 109
byte 1 101
byte 1 110
byte 1 117
byte 1 50
byte 1 46
byte 1 119
byte 1 97
byte 1 118
byte 1 0
align 1
LABELV $628
byte 1 115
byte 1 111
byte 1 117
byte 1 110
byte 1 100
byte 1 47
byte 1 109
byte 1 105
byte 1 115
byte 1 99
byte 1 47
byte 1 109
byte 1 101
byte 1 110
byte 1 117
byte 1 49
byte 1 46
byte 1 119
byte 1 97
byte 1 118
byte 1 0
align 1
LABELV $627
byte 1 109
byte 1 101
byte 1 110
byte 1 117
byte 1 98
byte 1 97
byte 1 99
byte 1 107
byte 1 110
byte 1 111
byte 1 108
byte 1 111
byte 1 103
byte 1 111
byte 1 0
align 1
LABELV $625
byte 1 109
byte 1 101
byte 1 110
byte 1 117
byte 1 98
byte 1 97
byte 1 99
byte 1 107
byte 1 0
align 1
LABELV $623
byte 1 109
byte 1 101
byte 1 110
byte 1 117
byte 1 98
byte 1 97
byte 1 99
byte 1 107
byte 1 82
byte 1 97
byte 1 103
byte 1 101
byte 1 80
byte 1 114
byte 1 111
byte 1 0
align 1
LABELV $617
byte 1 119
byte 1 104
byte 1 105
byte 1 116
byte 1 101
byte 1 0
align 1
LABELV $615
byte 1 109
byte 1 101
byte 1 110
byte 1 117
byte 1 47
byte 1 97
byte 1 114
byte 1 116
byte 1 47
byte 1 115
byte 1 119
byte 1 105
byte 1 116
byte 1 99
byte 1 104
byte 1 95
byte 1 111
byte 1 102
byte 1 102
byte 1 0
align 1
LABELV $613
byte 1 109
byte 1 101
byte 1 110
byte 1 117
byte 1 47
byte 1 97
byte 1 114
byte 1 116
byte 1 47
byte 1 115
byte 1 119
byte 1 105
byte 1 116
byte 1 99
byte 1 104
byte 1 95
byte 1 111
byte 1 110
byte 1 0
align 1
LABELV $611
byte 1 109
byte 1 101
byte 1 110
byte 1 117
byte 1 47
byte 1 97
byte 1 114
byte 1 116
byte 1 47
byte 1 51
byte 1 95
byte 1 99
byte 1 117
byte 1 114
byte 1 115
byte 1 111
byte 1 114
byte 1 50
byte 1 0
align 1
LABELV $609
byte 1 109
byte 1 101
byte 1 110
byte 1 117
byte 1 47
byte 1 97
byte 1 114
byte 1 116
byte 1 47
byte 1 102
byte 1 111
byte 1 110
byte 1 116
byte 1 50
byte 1 95
byte 1 112
byte 1 114
byte 1 111
byte 1 112
byte 1 46
byte 1 116
byte 1 103
byte 1 97
byte 1 0
align 1
LABELV $607
byte 1 109
byte 1 101
byte 1 110
byte 1 117
byte 1 47
byte 1 97
byte 1 114
byte 1 116
byte 1 47
byte 1 102
byte 1 111
byte 1 110
byte 1 116
byte 1 49
byte 1 95
byte 1 112
byte 1 114
byte 1 111
byte 1 112
byte 1 95
byte 1 103
byte 1 108
byte 1 111
byte 1 46
byte 1 116
byte 1 103
byte 1 97
byte 1 0
align 1
LABELV $605
byte 1 109
byte 1 101
byte 1 110
byte 1 117
byte 1 47
byte 1 97
byte 1 114
byte 1 116
byte 1 47
byte 1 102
byte 1 111
byte 1 110
byte 1 116
byte 1 49
byte 1 95
byte 1 112
byte 1 114
byte 1 111
byte 1 112
byte 1 46
byte 1 116
byte 1 103
byte 1 97
byte 1 0
align 1
LABELV $603
byte 1 103
byte 1 102
byte 1 120
byte 1 47
byte 1 50
byte 1 100
byte 1 47
byte 1 98
byte 1 105
byte 1 103
byte 1 99
byte 1 104
byte 1 97
byte 1 114
byte 1 115
byte 1 0
align 1
LABELV $571
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 $525
byte 1 77
byte 1 101
byte 1 110
byte 1 117
byte 1 95
byte 1 68
byte 1 114
byte 1 97
byte 1 119
byte 1 58
byte 1 32
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 116
byte 1 121
byte 1 112
byte 1 101
byte 1 32
byte 1 37
byte 1 100
byte 1 0
align 1
LABELV $457
byte 1 77
byte 1 101
byte 1 110
byte 1 117
byte 1 95
byte 1 73
byte 1 110
byte 1 105
byte 1 116
byte 1 58
byte 1 32
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 116
byte 1 121
byte 1 112
byte 1 101
byte 1 32
byte 1 37
byte 1 100
byte 1 0
align 1
LABELV $441
byte 1 77
byte 1 101
byte 1 110
byte 1 117
byte 1 95
byte 1 65
byte 1 100
byte 1 100
byte 1 73
byte 1 116
byte 1 101
byte 1 109
byte 1 58
byte 1 32
byte 1 101
byte 1 120
byte 1 99
byte 1 101
byte 1 115
byte 1 115
byte 1 105
byte 1 118
byte 1 101
byte 1 32
byte 1 105
byte 1 116
byte 1 101
byte 1 109
byte 1 115
byte 1 0
align 1
LABELV $185
byte 1 111
byte 1 110
byte 1 0
align 1
LABELV $183
byte 1 111
byte 1 102
byte 1 102
byte 1 0
