mirror of
https://github.com/ReactionQuake3/reaction.git
synced 2024-11-27 14:32:15 +00:00
9817 lines
128 KiB
NASM
9817 lines
128 KiB
NASM
code
|
|
proc UI_PlayerInfo_SetWeapon 80 8
|
|
file "../ui_players.c"
|
|
line 34
|
|
;1:// Copyright (C) 1999-2000 Id Software, Inc.
|
|
;2://
|
|
;3:// ui_players.c
|
|
;4:
|
|
;5:#include "ui_local.h"
|
|
;6:
|
|
;7:
|
|
;8:#define UI_TIMER_GESTURE 2300
|
|
;9:#define UI_TIMER_JUMP 1000
|
|
;10:#define UI_TIMER_LAND 130
|
|
;11:#define UI_TIMER_WEAPON_SWITCH 300
|
|
;12:#define UI_TIMER_ATTACK 500
|
|
;13:#define UI_TIMER_MUZZLE_FLASH 20
|
|
;14:#define UI_TIMER_WEAPON_DELAY 250
|
|
;15:
|
|
;16:#define JUMP_HEIGHT 56
|
|
;17:
|
|
;18:#define SWINGSPEED 0.3f
|
|
;19:
|
|
;20:#define SPIN_SPEED 0.9f
|
|
;21:#define COAST_TIME 1000
|
|
;22:
|
|
;23:
|
|
;24:static int dp_realtime;
|
|
;25:static float jumpHeight;
|
|
;26:sfxHandle_t weaponChangeSound;
|
|
;27:
|
|
;28:
|
|
;29:/*
|
|
;30:===============
|
|
;31:UI_PlayerInfo_SetWeapon
|
|
;32:===============
|
|
;33:*/
|
|
;34:static void UI_PlayerInfo_SetWeapon( playerInfo_t *pi, weapon_t weaponNum ) {
|
|
line 38
|
|
;35: gitem_t * item;
|
|
;36: char path[MAX_QPATH];
|
|
;37:
|
|
;38: pi->currentWeapon = weaponNum;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1208
|
|
ADDP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ASGNI4
|
|
LABELV $91
|
|
line 40
|
|
;39:tryagain:
|
|
;40: pi->realWeapon = weaponNum;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1272
|
|
ADDP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 41
|
|
;41: pi->weaponModel = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1156
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 42
|
|
;42: pi->barrelModel = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1160
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 43
|
|
;43: pi->flashModel = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1164
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 45
|
|
;44:
|
|
;45: if ( weaponNum == WP_NONE ) {
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $92
|
|
line 46
|
|
;46: return;
|
|
ADDRGP4 $90
|
|
JUMPV
|
|
LABELV $92
|
|
line 49
|
|
;47: }
|
|
;48:
|
|
;49: for ( item = bg_itemlist + 1; item->classname ; item++ ) {
|
|
ADDRLP4 0
|
|
ADDRGP4 bg_itemlist+52
|
|
ASGNP4
|
|
ADDRGP4 $97
|
|
JUMPV
|
|
LABELV $94
|
|
line 50
|
|
;50: if ( item->giType != IT_WEAPON ) {
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 36
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
EQI4 $99
|
|
line 51
|
|
;51: continue;
|
|
ADDRGP4 $95
|
|
JUMPV
|
|
LABELV $99
|
|
line 53
|
|
;52: }
|
|
;53: if ( item->giTag == weaponNum ) {
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
NEI4 $101
|
|
line 54
|
|
;54: break;
|
|
ADDRGP4 $96
|
|
JUMPV
|
|
LABELV $101
|
|
line 56
|
|
;55: }
|
|
;56: }
|
|
LABELV $95
|
|
line 49
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 52
|
|
ADDP4
|
|
ASGNP4
|
|
LABELV $97
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $94
|
|
LABELV $96
|
|
line 58
|
|
;57:
|
|
;58: if ( item->classname ) {
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $103
|
|
line 59
|
|
;59: pi->weaponModel = trap_R_RegisterModel( item->world_model[0] );
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 68
|
|
ADDRGP4 trap_R_RegisterModel
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1156
|
|
ADDP4
|
|
ADDRLP4 68
|
|
INDIRI4
|
|
ASGNI4
|
|
line 60
|
|
;60: }
|
|
LABELV $103
|
|
line 62
|
|
;61:
|
|
;62: if( pi->weaponModel == 0 ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1156
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $105
|
|
line 64
|
|
;63: //Blaze: Changed from WP_MACHINEGUN to WP_PISTOL
|
|
;64: if( weaponNum == WP_PISTOL ) {
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
NEI4 $107
|
|
line 65
|
|
;65: weaponNum = WP_NONE;
|
|
ADDRFP4 4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 66
|
|
;66: goto tryagain;
|
|
ADDRGP4 $91
|
|
JUMPV
|
|
LABELV $107
|
|
line 69
|
|
;67: }
|
|
;68: //Blaze: Changed from WP_MACHINEGUN to WP_PISTOL
|
|
;69: weaponNum = WP_PISTOL;
|
|
ADDRFP4 4
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 70
|
|
;70: goto tryagain;
|
|
ADDRGP4 $91
|
|
JUMPV
|
|
LABELV $105
|
|
line 80
|
|
;71: }
|
|
;72: //Blaze: none of our weapons have barrel models
|
|
;73: /*if ( weaponNum == WP_PISTOL || weaponNum == WP_GAUNTLET || weaponNum == WP_BFG ) {
|
|
;74: strcpy( path, item->world_model[0] );
|
|
;75: COM_StripExtension( path, path );
|
|
;76: strcat( path, "_barrel.md3" );
|
|
;77: pi->barrelModel = trap_R_RegisterModel( path );
|
|
;78: }*/
|
|
;79:
|
|
;80: strcpy( path, item->world_model[0] );
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 strcpy
|
|
CALLP4
|
|
pop
|
|
line 81
|
|
;81: COM_StripExtension( path, path );
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRGP4 COM_StripExtension
|
|
CALLV
|
|
pop
|
|
line 82
|
|
;82: strcat( path, "_flash.md3" );
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRGP4 $109
|
|
ARGP4
|
|
ADDRGP4 strcat
|
|
CALLP4
|
|
pop
|
|
line 83
|
|
;83: pi->flashModel = trap_R_RegisterModel( path );
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRLP4 68
|
|
ADDRGP4 trap_R_RegisterModel
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1164
|
|
ADDP4
|
|
ADDRLP4 68
|
|
INDIRI4
|
|
ASGNI4
|
|
line 88
|
|
;84:
|
|
;85:
|
|
;86://Blaze: I think this makes some funky colors or something, I dont really know ;)
|
|
;87://Blaze: Reaction Weapons
|
|
;88: switch( weaponNum ) {
|
|
ADDRLP4 72
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 72
|
|
INDIRI4
|
|
CNSTI4 1
|
|
LTI4 $110
|
|
ADDRLP4 72
|
|
INDIRI4
|
|
CNSTI4 9
|
|
GTI4 $110
|
|
ADDRLP4 72
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 $122-4
|
|
ADDP4
|
|
INDIRP4
|
|
JUMPV
|
|
lit
|
|
align 4
|
|
LABELV $122
|
|
address $114
|
|
address $119
|
|
address $117
|
|
address $118
|
|
address $116
|
|
address $115
|
|
address $120
|
|
address $113
|
|
address $121
|
|
code
|
|
LABELV $113
|
|
line 90
|
|
;89: case WP_KNIFE:
|
|
;90: MAKERGB( pi->flashDlightColor, 0.6f, 0.6f, 1 );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1168
|
|
ADDP4
|
|
CNSTF4 1058642330
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1172
|
|
ADDP4
|
|
CNSTF4 1058642330
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1176
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 91
|
|
;91: break;
|
|
ADDRGP4 $111
|
|
JUMPV
|
|
LABELV $114
|
|
line 94
|
|
;92:
|
|
;93: case WP_PISTOL:
|
|
;94: MAKERGB( pi->flashDlightColor, 1, 1, 0 );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1168
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1172
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1176
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 95
|
|
;95: break;
|
|
ADDRGP4 $111
|
|
JUMPV
|
|
LABELV $115
|
|
line 98
|
|
;96:
|
|
;97: case WP_M4:
|
|
;98: MAKERGB( pi->flashDlightColor, 1, 1, 0 );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1168
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1172
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1176
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 99
|
|
;99: break;
|
|
ADDRGP4 $111
|
|
JUMPV
|
|
LABELV $116
|
|
line 102
|
|
;100:
|
|
;101: case WP_SSG3000:
|
|
;102: MAKERGB( pi->flashDlightColor, 1, 0.7f, 0.5f );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1168
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1172
|
|
ADDP4
|
|
CNSTF4 1060320051
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1176
|
|
ADDP4
|
|
CNSTF4 1056964608
|
|
ASGNF4
|
|
line 103
|
|
;103: break;
|
|
ADDRGP4 $111
|
|
JUMPV
|
|
LABELV $117
|
|
line 106
|
|
;104:
|
|
;105: case WP_MP5:
|
|
;106: MAKERGB( pi->flashDlightColor, 1, 0.75f, 0 );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1168
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1172
|
|
ADDP4
|
|
CNSTF4 1061158912
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1176
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 107
|
|
;107: break;
|
|
ADDRGP4 $111
|
|
JUMPV
|
|
LABELV $118
|
|
line 110
|
|
;108:
|
|
;109: case WP_HANDCANNON:
|
|
;110: MAKERGB( pi->flashDlightColor, 0.6f, 0.6f, 1 );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1168
|
|
ADDP4
|
|
CNSTF4 1058642330
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1172
|
|
ADDP4
|
|
CNSTF4 1058642330
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1176
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 111
|
|
;111: break;
|
|
ADDRGP4 $111
|
|
JUMPV
|
|
LABELV $119
|
|
line 114
|
|
;112:
|
|
;113: case WP_M3:
|
|
;114: MAKERGB( pi->flashDlightColor, 1, 0.5f, 0 );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1168
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1172
|
|
ADDP4
|
|
CNSTF4 1056964608
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1176
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 115
|
|
;115: break;
|
|
ADDRGP4 $111
|
|
JUMPV
|
|
LABELV $120
|
|
line 118
|
|
;116:
|
|
;117: case WP_AKIMBO:
|
|
;118: MAKERGB( pi->flashDlightColor, 0.6f, 0.6f, 1 );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1168
|
|
ADDP4
|
|
CNSTF4 1058642330
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1172
|
|
ADDP4
|
|
CNSTF4 1058642330
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1176
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 119
|
|
;119: break;
|
|
ADDRGP4 $111
|
|
JUMPV
|
|
LABELV $121
|
|
line 122
|
|
;120:
|
|
;121: case WP_GRENADE:
|
|
;122: MAKERGB( pi->flashDlightColor, 1, 0.7f, 1 );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1168
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1172
|
|
ADDP4
|
|
CNSTF4 1060320051
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1176
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 123
|
|
;123: break;
|
|
ADDRGP4 $111
|
|
JUMPV
|
|
LABELV $110
|
|
line 126
|
|
;124:
|
|
;125: default:
|
|
;126: MAKERGB( pi->flashDlightColor, 1, 1, 1 );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1168
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1172
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1176
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 127
|
|
;127: break;
|
|
LABELV $111
|
|
line 129
|
|
;128: }
|
|
;129:}
|
|
LABELV $90
|
|
endproc UI_PlayerInfo_SetWeapon 80 8
|
|
proc UI_ForceLegsAnim 8 0
|
|
line 137
|
|
;130:
|
|
;131:
|
|
;132:/*
|
|
;133:===============
|
|
;134:UI_ForceLegsAnim
|
|
;135:===============
|
|
;136:*/
|
|
;137:static void UI_ForceLegsAnim( playerInfo_t *pi, int anim ) {
|
|
line 138
|
|
;138: pi->legsAnim = ( ( pi->legsAnim & ANIM_TOGGLEBIT ) ^ ANIM_TOGGLEBIT ) | anim;
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1212
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
CNSTI4 128
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
BANDI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
BXORI4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
BORI4
|
|
ASGNI4
|
|
line 140
|
|
;139:
|
|
;140: if ( anim == LEGS_JUMP ) {
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 18
|
|
NEI4 $125
|
|
line 141
|
|
;141: pi->legsAnimationTimer = UI_TIMER_JUMP;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1248
|
|
ADDP4
|
|
CNSTI4 1000
|
|
ASGNI4
|
|
line 142
|
|
;142: }
|
|
LABELV $125
|
|
line 143
|
|
;143:}
|
|
LABELV $124
|
|
endproc UI_ForceLegsAnim 8 0
|
|
proc UI_SetLegsAnim 0 8
|
|
line 151
|
|
;144:
|
|
;145:
|
|
;146:/*
|
|
;147:===============
|
|
;148:UI_SetLegsAnim
|
|
;149:===============
|
|
;150:*/
|
|
;151:static void UI_SetLegsAnim( playerInfo_t *pi, int anim ) {
|
|
line 152
|
|
;152: if ( pi->pendingLegsAnim ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1236
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $128
|
|
line 153
|
|
;153: anim = pi->pendingLegsAnim;
|
|
ADDRFP4 4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1236
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 154
|
|
;154: pi->pendingLegsAnim = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1236
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 155
|
|
;155: }
|
|
LABELV $128
|
|
line 156
|
|
;156: UI_ForceLegsAnim( pi, anim );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 UI_ForceLegsAnim
|
|
CALLV
|
|
pop
|
|
line 157
|
|
;157:}
|
|
LABELV $127
|
|
endproc UI_SetLegsAnim 0 8
|
|
proc UI_ForceTorsoAnim 12 0
|
|
line 165
|
|
;158:
|
|
;159:
|
|
;160:/*
|
|
;161:===============
|
|
;162:UI_ForceTorsoAnim
|
|
;163:===============
|
|
;164:*/
|
|
;165:static void UI_ForceTorsoAnim( playerInfo_t *pi, int anim ) {
|
|
line 166
|
|
;166: pi->torsoAnim = ( ( pi->torsoAnim & ANIM_TOGGLEBIT ) ^ ANIM_TOGGLEBIT ) | anim;
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1216
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
CNSTI4 128
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
BANDI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
BXORI4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
BORI4
|
|
ASGNI4
|
|
line 168
|
|
;167:
|
|
;168: if ( anim == TORSO_GESTURE ) {
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 6
|
|
NEI4 $131
|
|
line 169
|
|
;169: pi->torsoAnimationTimer = UI_TIMER_GESTURE;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1240
|
|
ADDP4
|
|
CNSTI4 2300
|
|
ASGNI4
|
|
line 170
|
|
;170: }
|
|
LABELV $131
|
|
line 172
|
|
;171:
|
|
;172: if ( anim == TORSO_ATTACK || anim == TORSO_ATTACK2 ) {
|
|
ADDRLP4 8
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 7
|
|
EQI4 $135
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 8
|
|
NEI4 $133
|
|
LABELV $135
|
|
line 173
|
|
;173: pi->torsoAnimationTimer = UI_TIMER_ATTACK;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1240
|
|
ADDP4
|
|
CNSTI4 500
|
|
ASGNI4
|
|
line 174
|
|
;174: }
|
|
LABELV $133
|
|
line 175
|
|
;175:}
|
|
LABELV $130
|
|
endproc UI_ForceTorsoAnim 12 0
|
|
proc UI_SetTorsoAnim 0 8
|
|
line 183
|
|
;176:
|
|
;177:
|
|
;178:/*
|
|
;179:===============
|
|
;180:UI_SetTorsoAnim
|
|
;181:===============
|
|
;182:*/
|
|
;183:static void UI_SetTorsoAnim( playerInfo_t *pi, int anim ) {
|
|
line 184
|
|
;184: if ( pi->pendingTorsoAnim ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1244
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $137
|
|
line 185
|
|
;185: anim = pi->pendingTorsoAnim;
|
|
ADDRFP4 4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1244
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 186
|
|
;186: pi->pendingTorsoAnim = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1244
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 187
|
|
;187: }
|
|
LABELV $137
|
|
line 189
|
|
;188:
|
|
;189: UI_ForceTorsoAnim( pi, anim );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 UI_ForceTorsoAnim
|
|
CALLV
|
|
pop
|
|
line 190
|
|
;190:}
|
|
LABELV $136
|
|
endproc UI_SetTorsoAnim 0 8
|
|
proc UI_TorsoSequencing 16 8
|
|
line 198
|
|
;191:
|
|
;192:
|
|
;193:/*
|
|
;194:===============
|
|
;195:UI_TorsoSequencing
|
|
;196:===============
|
|
;197:*/
|
|
;198:static void UI_TorsoSequencing( playerInfo_t *pi ) {
|
|
line 201
|
|
;199: int currentAnim;
|
|
;200:
|
|
;201: currentAnim = pi->torsoAnim & ~ANIM_TOGGLEBIT;
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1216
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 -129
|
|
BANDI4
|
|
ASGNI4
|
|
line 203
|
|
;202:
|
|
;203: if ( pi->weapon != pi->currentWeapon ) {
|
|
ADDRLP4 4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 1220
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 1208
|
|
ADDP4
|
|
INDIRI4
|
|
EQI4 $140
|
|
line 204
|
|
;204: if ( currentAnim != TORSO_DROP ) {
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 9
|
|
EQI4 $142
|
|
line 205
|
|
;205: pi->torsoAnimationTimer = UI_TIMER_WEAPON_SWITCH;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1240
|
|
ADDP4
|
|
CNSTI4 300
|
|
ASGNI4
|
|
line 206
|
|
;206: UI_ForceTorsoAnim( pi, TORSO_DROP );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 9
|
|
ARGI4
|
|
ADDRGP4 UI_ForceTorsoAnim
|
|
CALLV
|
|
pop
|
|
line 207
|
|
;207: }
|
|
LABELV $142
|
|
line 208
|
|
;208: }
|
|
LABELV $140
|
|
line 210
|
|
;209:
|
|
;210: if ( pi->torsoAnimationTimer > 0 ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1240
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
LEI4 $144
|
|
line 211
|
|
;211: return;
|
|
ADDRGP4 $139
|
|
JUMPV
|
|
LABELV $144
|
|
line 214
|
|
;212: }
|
|
;213:
|
|
;214: if( currentAnim == TORSO_GESTURE ) {
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 6
|
|
NEI4 $146
|
|
line 215
|
|
;215: UI_SetTorsoAnim( pi, TORSO_STAND );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 11
|
|
ARGI4
|
|
ADDRGP4 UI_SetTorsoAnim
|
|
CALLV
|
|
pop
|
|
line 216
|
|
;216: return;
|
|
ADDRGP4 $139
|
|
JUMPV
|
|
LABELV $146
|
|
line 219
|
|
;217: }
|
|
;218:
|
|
;219: if( currentAnim == TORSO_ATTACK || currentAnim == TORSO_ATTACK2 ) {
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 7
|
|
EQI4 $150
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 8
|
|
NEI4 $148
|
|
LABELV $150
|
|
line 220
|
|
;220: UI_SetTorsoAnim( pi, TORSO_STAND );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 11
|
|
ARGI4
|
|
ADDRGP4 UI_SetTorsoAnim
|
|
CALLV
|
|
pop
|
|
line 221
|
|
;221: return;
|
|
ADDRGP4 $139
|
|
JUMPV
|
|
LABELV $148
|
|
line 224
|
|
;222: }
|
|
;223:
|
|
;224: if ( currentAnim == TORSO_DROP ) {
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 9
|
|
NEI4 $151
|
|
line 225
|
|
;225: UI_PlayerInfo_SetWeapon( pi, pi->weapon );
|
|
ADDRLP4 12
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CNSTI4 1220
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 UI_PlayerInfo_SetWeapon
|
|
CALLV
|
|
pop
|
|
line 226
|
|
;226: pi->torsoAnimationTimer = UI_TIMER_WEAPON_SWITCH;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1240
|
|
ADDP4
|
|
CNSTI4 300
|
|
ASGNI4
|
|
line 227
|
|
;227: UI_ForceTorsoAnim( pi, TORSO_RAISE );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 10
|
|
ARGI4
|
|
ADDRGP4 UI_ForceTorsoAnim
|
|
CALLV
|
|
pop
|
|
line 228
|
|
;228: return;
|
|
ADDRGP4 $139
|
|
JUMPV
|
|
LABELV $151
|
|
line 231
|
|
;229: }
|
|
;230:
|
|
;231: if ( currentAnim == TORSO_RAISE ) {
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 10
|
|
NEI4 $153
|
|
line 232
|
|
;232: UI_SetTorsoAnim( pi, TORSO_STAND );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 11
|
|
ARGI4
|
|
ADDRGP4 UI_SetTorsoAnim
|
|
CALLV
|
|
pop
|
|
line 233
|
|
;233: return;
|
|
LABELV $153
|
|
line 235
|
|
;234: }
|
|
;235:}
|
|
LABELV $139
|
|
endproc UI_TorsoSequencing 16 8
|
|
proc UI_LegsSequencing 8 8
|
|
line 243
|
|
;236:
|
|
;237:
|
|
;238:/*
|
|
;239:===============
|
|
;240:UI_LegsSequencing
|
|
;241:===============
|
|
;242:*/
|
|
;243:static void UI_LegsSequencing( playerInfo_t *pi ) {
|
|
line 246
|
|
;244: int currentAnim;
|
|
;245:
|
|
;246: currentAnim = pi->legsAnim & ~ANIM_TOGGLEBIT;
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1212
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 -129
|
|
BANDI4
|
|
ASGNI4
|
|
line 248
|
|
;247:
|
|
;248: if ( pi->legsAnimationTimer > 0 ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1248
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
LEI4 $156
|
|
line 249
|
|
;249: if ( currentAnim == LEGS_JUMP ) {
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 18
|
|
NEI4 $155
|
|
line 250
|
|
;250: jumpHeight = JUMP_HEIGHT * sin( M_PI * ( UI_TIMER_JUMP - pi->legsAnimationTimer ) / UI_TIMER_JUMP );
|
|
CNSTF4 1078530011
|
|
CNSTI4 1000
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1248
|
|
ADDP4
|
|
INDIRI4
|
|
SUBI4
|
|
CVIF4 4
|
|
MULF4
|
|
CNSTF4 1148846080
|
|
DIVF4
|
|
ARGF4
|
|
ADDRLP4 4
|
|
ADDRGP4 sin
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRGP4 jumpHeight
|
|
CNSTF4 1113587712
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 251
|
|
;251: }
|
|
line 252
|
|
;252: return;
|
|
ADDRGP4 $155
|
|
JUMPV
|
|
LABELV $156
|
|
line 255
|
|
;253: }
|
|
;254:
|
|
;255: if ( currentAnim == LEGS_JUMP ) {
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 18
|
|
NEI4 $160
|
|
line 256
|
|
;256: UI_ForceLegsAnim( pi, LEGS_LAND );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 19
|
|
ARGI4
|
|
ADDRGP4 UI_ForceLegsAnim
|
|
CALLV
|
|
pop
|
|
line 257
|
|
;257: pi->legsAnimationTimer = UI_TIMER_LAND;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1248
|
|
ADDP4
|
|
CNSTI4 130
|
|
ASGNI4
|
|
line 258
|
|
;258: jumpHeight = 0;
|
|
ADDRGP4 jumpHeight
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 259
|
|
;259: return;
|
|
ADDRGP4 $155
|
|
JUMPV
|
|
LABELV $160
|
|
line 262
|
|
;260: }
|
|
;261:
|
|
;262: if ( currentAnim == LEGS_LAND ) {
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 19
|
|
NEI4 $162
|
|
line 263
|
|
;263: UI_SetLegsAnim( pi, LEGS_IDLE );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 22
|
|
ARGI4
|
|
ADDRGP4 UI_SetLegsAnim
|
|
CALLV
|
|
pop
|
|
line 264
|
|
;264: return;
|
|
LABELV $162
|
|
line 266
|
|
;265: }
|
|
;266:}
|
|
LABELV $155
|
|
endproc UI_LegsSequencing 8 8
|
|
proc UI_PositionEntityOnTag 84 24
|
|
line 275
|
|
;267:
|
|
;268:
|
|
;269:/*
|
|
;270:======================
|
|
;271:UI_PositionEntityOnTag
|
|
;272:======================
|
|
;273:*/
|
|
;274:static void UI_PositionEntityOnTag( refEntity_t *entity, const refEntity_t *parent,
|
|
;275: clipHandle_t parentModel, char *tagName ) {
|
|
line 280
|
|
;276: int i;
|
|
;277: orientation_t lerped;
|
|
;278:
|
|
;279: // lerp the tag
|
|
;280: trap_CM_LerpTag( &lerped, parentModel, parent->oldframe, parent->frame,
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 52
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
CNSTI4 96
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
CNSTI4 80
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
CNSTF4 1065353216
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
CNSTI4 100
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ARGF4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 trap_CM_LerpTag
|
|
CALLI4
|
|
pop
|
|
line 284
|
|
;281: 1.0 - parent->backlerp, tagName );
|
|
;282:
|
|
;283: // FIXME: allow origin offsets along tag?
|
|
;284: VectorCopy( parent->origin, entity->origin );
|
|
ADDRLP4 56
|
|
CNSTI4 68
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 56
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 56
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 285
|
|
;285: for ( i = 0 ; i < 3 ; i++ ) {
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
LABELV $165
|
|
line 286
|
|
;286: VectorMA( entity->origin, lerped.origin[i], parent->axis[i], entity->origin );
|
|
ADDRLP4 60
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 68
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
INDIRF4
|
|
CNSTI4 12
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
MULI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRLP4 4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
ADDRLP4 68
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 72
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
INDIRF4
|
|
CNSTI4 12
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
MULI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ADDP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRLP4 4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
ADDRLP4 76
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 76
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
INDIRF4
|
|
CNSTI4 12
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
MULI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ADDP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRLP4 4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 287
|
|
;287: }
|
|
LABELV $166
|
|
line 285
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LTI4 $165
|
|
line 290
|
|
;288:
|
|
;289: // cast away const because of compiler problems
|
|
;290: MatrixMultiply( lerped.axis, ((refEntity_t*)parent)->axis, entity->axis );
|
|
ADDRLP4 4+12
|
|
ARGP4
|
|
ADDRLP4 60
|
|
CNSTI4 28
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 60
|
|
INDIRI4
|
|
ADDP
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 60
|
|
INDIRI4
|
|
ADDP4
|
|
ARGP4
|
|
ADDRGP4 MatrixMultiply
|
|
CALLV
|
|
pop
|
|
line 291
|
|
;291: entity->backlerp = parent->backlerp;
|
|
ADDRLP4 64
|
|
CNSTI4 100
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 64
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 64
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 292
|
|
;292:}
|
|
LABELV $164
|
|
endproc UI_PositionEntityOnTag 84 24
|
|
proc UI_PositionRotatedEntityOnTag 120 24
|
|
line 301
|
|
;293:
|
|
;294:
|
|
;295:/*
|
|
;296:======================
|
|
;297:UI_PositionRotatedEntityOnTag
|
|
;298:======================
|
|
;299:*/
|
|
;300:static void UI_PositionRotatedEntityOnTag( refEntity_t *entity, const refEntity_t *parent,
|
|
;301: clipHandle_t parentModel, char *tagName ) {
|
|
line 307
|
|
;302: int i;
|
|
;303: orientation_t lerped;
|
|
;304: vec3_t tempAxis[3];
|
|
;305:
|
|
;306: // lerp the tag
|
|
;307: trap_CM_LerpTag( &lerped, parentModel, parent->oldframe, parent->frame,
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 88
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 88
|
|
INDIRP4
|
|
CNSTI4 96
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 88
|
|
INDIRP4
|
|
CNSTI4 80
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
CNSTF4 1065353216
|
|
ADDRLP4 88
|
|
INDIRP4
|
|
CNSTI4 100
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ARGF4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 trap_CM_LerpTag
|
|
CALLI4
|
|
pop
|
|
line 311
|
|
;308: 1.0 - parent->backlerp, tagName );
|
|
;309:
|
|
;310: // FIXME: allow origin offsets along tag?
|
|
;311: VectorCopy( parent->origin, entity->origin );
|
|
ADDRLP4 92
|
|
CNSTI4 68
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 92
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 92
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 312
|
|
;312: for ( i = 0 ; i < 3 ; i++ ) {
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
LABELV $171
|
|
line 313
|
|
;313: VectorMA( entity->origin, lerped.origin[i], parent->axis[i], entity->origin );
|
|
ADDRLP4 96
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 68
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 96
|
|
INDIRP4
|
|
ADDRLP4 96
|
|
INDIRP4
|
|
INDIRF4
|
|
CNSTI4 12
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
MULI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRLP4 4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
ADDRLP4 104
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 72
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 104
|
|
INDIRP4
|
|
ADDRLP4 104
|
|
INDIRP4
|
|
INDIRF4
|
|
CNSTI4 12
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
MULI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ADDP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRLP4 4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
ADDRLP4 112
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 76
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 112
|
|
INDIRP4
|
|
ADDRLP4 112
|
|
INDIRP4
|
|
INDIRF4
|
|
CNSTI4 12
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
MULI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ADDP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRLP4 4
|
|
ADDP4
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 314
|
|
;314: }
|
|
LABELV $172
|
|
line 312
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LTI4 $171
|
|
line 317
|
|
;315:
|
|
;316: // cast away const because of compiler problems
|
|
;317: MatrixMultiply( entity->axis, ((refEntity_t *)parent)->axis, tempAxis );
|
|
ADDRLP4 96
|
|
CNSTI4 28
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 96
|
|
INDIRI4
|
|
ADDP4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 96
|
|
INDIRI4
|
|
ADDP
|
|
ARGP4
|
|
ADDRLP4 52
|
|
ARGP4
|
|
ADDRGP4 MatrixMultiply
|
|
CALLV
|
|
pop
|
|
line 318
|
|
;318: MatrixMultiply( lerped.axis, tempAxis, entity->axis );
|
|
ADDRLP4 4+12
|
|
ARGP4
|
|
ADDRLP4 52
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ARGP4
|
|
ADDRGP4 MatrixMultiply
|
|
CALLV
|
|
pop
|
|
line 319
|
|
;319:}
|
|
LABELV $170
|
|
endproc UI_PositionRotatedEntityOnTag 120 24
|
|
proc UI_SetLerpFrameAnimation 12 8
|
|
line 327
|
|
;320:
|
|
;321:
|
|
;322:/*
|
|
;323:===============
|
|
;324:UI_SetLerpFrameAnimation
|
|
;325:===============
|
|
;326:*/
|
|
;327:static void UI_SetLerpFrameAnimation( playerInfo_t *ci, lerpFrame_t *lf, int newAnimation ) {
|
|
line 330
|
|
;328: animation_t *anim;
|
|
;329:
|
|
;330: lf->animationNumber = newAnimation;
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 36
|
|
ADDP4
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ASGNI4
|
|
line 331
|
|
;331: newAnimation &= ~ANIM_TOGGLEBIT;
|
|
ADDRFP4 8
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
CNSTI4 -129
|
|
BANDI4
|
|
ASGNI4
|
|
line 333
|
|
;332:
|
|
;333: if ( newAnimation < 0 || newAnimation >= MAX_ANIMATIONS ) {
|
|
ADDRLP4 4
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
LTI4 $179
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 31
|
|
LTI4 $177
|
|
LABELV $179
|
|
line 334
|
|
;334: trap_Error( va("Bad animation number: %i", newAnimation) );
|
|
ADDRGP4 $180
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 8
|
|
ADDRGP4 va
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 trap_Error
|
|
CALLV
|
|
pop
|
|
line 335
|
|
;335: }
|
|
LABELV $177
|
|
line 337
|
|
;336:
|
|
;337: anim = &ci->animations[ newAnimation ];
|
|
ADDRLP4 0
|
|
CNSTI4 28
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
MULI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 120
|
|
ADDP4
|
|
ADDP4
|
|
ASGNP4
|
|
line 339
|
|
;338:
|
|
;339: lf->animation = anim;
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
line 340
|
|
;340: lf->animationTime = lf->frameTime + anim->initialLerp;
|
|
ADDRLP4 8
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CNSTI4 44
|
|
ADDP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRI4
|
|
ADDI4
|
|
ASGNI4
|
|
line 341
|
|
;341:}
|
|
LABELV $176
|
|
endproc UI_SetLerpFrameAnimation 12 8
|
|
proc UI_RunLerpFrame 32 12
|
|
line 349
|
|
;342:
|
|
;343:
|
|
;344:/*
|
|
;345:===============
|
|
;346:UI_RunLerpFrame
|
|
;347:===============
|
|
;348:*/
|
|
;349:static void UI_RunLerpFrame( playerInfo_t *ci, lerpFrame_t *lf, int newAnimation ) {
|
|
line 354
|
|
;350: int f;
|
|
;351: animation_t *anim;
|
|
;352:
|
|
;353: // see if the animation sequence is switching
|
|
;354: if ( newAnimation != lf->animationNumber || !lf->animation ) {
|
|
ADDRLP4 8
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CNSTI4 36
|
|
ADDP4
|
|
INDIRI4
|
|
NEI4 $184
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $182
|
|
LABELV $184
|
|
line 355
|
|
;355: UI_SetLerpFrameAnimation( ci, lf, newAnimation );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 UI_SetLerpFrameAnimation
|
|
CALLV
|
|
pop
|
|
line 356
|
|
;356: }
|
|
LABELV $182
|
|
line 360
|
|
;357:
|
|
;358: // if we have passed the current frame, move it to
|
|
;359: // oldFrame and calculate a new frame
|
|
;360: if ( dp_realtime >= lf->frameTime ) {
|
|
ADDRGP4 dp_realtime
|
|
INDIRI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
LTI4 $185
|
|
line 361
|
|
;361: lf->oldFrame = lf->frame;
|
|
ADDRLP4 12
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 362
|
|
;362: lf->oldFrameTime = lf->frameTime;
|
|
ADDRLP4 16
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 365
|
|
;363:
|
|
;364: // get the next frame based on the animation
|
|
;365: anim = lf->animation;
|
|
ADDRLP4 0
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
line 366
|
|
;366: if ( dp_realtime < lf->animationTime ) {
|
|
ADDRGP4 dp_realtime
|
|
INDIRI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 44
|
|
ADDP4
|
|
INDIRI4
|
|
GEI4 $187
|
|
line 367
|
|
;367: lf->frameTime = lf->animationTime; // initial lerp
|
|
ADDRLP4 20
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 44
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 368
|
|
;368: } else {
|
|
ADDRGP4 $188
|
|
JUMPV
|
|
LABELV $187
|
|
line 369
|
|
;369: lf->frameTime = lf->oldFrameTime + anim->frameLerp;
|
|
ADDRLP4 20
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 24
|
|
CNSTI4 12
|
|
ASGNI4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ADDI4
|
|
ASGNI4
|
|
line 370
|
|
;370: }
|
|
LABELV $188
|
|
line 371
|
|
;371: f = ( lf->frameTime - lf->animationTime ) / anim->frameLerp;
|
|
ADDRLP4 20
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 24
|
|
CNSTI4 12
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 44
|
|
ADDP4
|
|
INDIRI4
|
|
SUBI4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
DIVI4
|
|
ASGNI4
|
|
line 372
|
|
;372: if ( f >= anim->numFrames ) {
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRI4
|
|
LTI4 $189
|
|
line 373
|
|
;373: f -= anim->numFrames;
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRI4
|
|
SUBI4
|
|
ASGNI4
|
|
line 374
|
|
;374: if ( anim->loopFrames ) {
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $191
|
|
line 375
|
|
;375: f %= anim->loopFrames;
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRI4
|
|
MODI4
|
|
ASGNI4
|
|
line 376
|
|
;376: f += anim->numFrames - anim->loopFrames;
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRI4
|
|
SUBI4
|
|
ADDI4
|
|
ASGNI4
|
|
line 377
|
|
;377: } else {
|
|
ADDRGP4 $192
|
|
JUMPV
|
|
LABELV $191
|
|
line 378
|
|
;378: f = anim->numFrames - 1;
|
|
ADDRLP4 4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
SUBI4
|
|
ASGNI4
|
|
line 381
|
|
;379: // the animation is stuck at the end, so it
|
|
;380: // can immediately transition to another sequence
|
|
;381: lf->frameTime = dp_realtime;
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
ADDRGP4 dp_realtime
|
|
INDIRI4
|
|
ASGNI4
|
|
line 382
|
|
;382: }
|
|
LABELV $192
|
|
line 383
|
|
;383: }
|
|
LABELV $189
|
|
line 384
|
|
;384: lf->frame = anim->firstFrame + f;
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDI4
|
|
ASGNI4
|
|
line 385
|
|
;385: if ( dp_realtime > lf->frameTime ) {
|
|
ADDRGP4 dp_realtime
|
|
INDIRI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
LEI4 $193
|
|
line 386
|
|
;386: lf->frameTime = dp_realtime;
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
ADDRGP4 dp_realtime
|
|
INDIRI4
|
|
ASGNI4
|
|
line 387
|
|
;387: }
|
|
LABELV $193
|
|
line 388
|
|
;388: }
|
|
LABELV $185
|
|
line 390
|
|
;389:
|
|
;390: if ( lf->frameTime > dp_realtime + 200 ) {
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRGP4 dp_realtime
|
|
INDIRI4
|
|
CNSTI4 200
|
|
ADDI4
|
|
LEI4 $195
|
|
line 391
|
|
;391: lf->frameTime = dp_realtime;
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
ADDRGP4 dp_realtime
|
|
INDIRI4
|
|
ASGNI4
|
|
line 392
|
|
;392: }
|
|
LABELV $195
|
|
line 394
|
|
;393:
|
|
;394: if ( lf->oldFrameTime > dp_realtime ) {
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRGP4 dp_realtime
|
|
INDIRI4
|
|
LEI4 $197
|
|
line 395
|
|
;395: lf->oldFrameTime = dp_realtime;
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ADDRGP4 dp_realtime
|
|
INDIRI4
|
|
ASGNI4
|
|
line 396
|
|
;396: }
|
|
LABELV $197
|
|
line 398
|
|
;397: // calculate current lerp value
|
|
;398: if ( lf->frameTime == lf->oldFrameTime ) {
|
|
ADDRLP4 12
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRI4
|
|
NEI4 $199
|
|
line 399
|
|
;399: lf->backlerp = 0;
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 400
|
|
;400: } else {
|
|
ADDRGP4 $200
|
|
JUMPV
|
|
LABELV $199
|
|
line 401
|
|
;401: lf->backlerp = 1.0 - (float)( dp_realtime - lf->oldFrameTime ) / ( lf->frameTime - lf->oldFrameTime );
|
|
ADDRLP4 16
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 20
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ADDRGP4 dp_realtime
|
|
INDIRI4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
SUBI4
|
|
CVIF4 4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
SUBI4
|
|
CVIF4 4
|
|
DIVF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 402
|
|
;402: }
|
|
LABELV $200
|
|
line 403
|
|
;403:}
|
|
LABELV $181
|
|
endproc UI_RunLerpFrame 32 12
|
|
proc UI_PlayerAnimation 16 12
|
|
line 412
|
|
;404:
|
|
;405:
|
|
;406:/*
|
|
;407:===============
|
|
;408:UI_PlayerAnimation
|
|
;409:===============
|
|
;410:*/
|
|
;411:static void UI_PlayerAnimation( playerInfo_t *pi, int *legsOld, int *legs, float *legsBackLerp,
|
|
;412: int *torsoOld, int *torso, float *torsoBackLerp ) {
|
|
line 415
|
|
;413:
|
|
;414: // legs animation
|
|
;415: pi->legsAnimationTimer -= uiInfo.uiDC.frameTime;
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1248
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRI4
|
|
ADDRGP4 uiInfo+212
|
|
INDIRI4
|
|
SUBI4
|
|
ASGNI4
|
|
line 416
|
|
;416: if ( pi->legsAnimationTimer < 0 ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1248
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
GEI4 $203
|
|
line 417
|
|
;417: pi->legsAnimationTimer = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1248
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 418
|
|
;418: }
|
|
LABELV $203
|
|
line 420
|
|
;419:
|
|
;420: UI_LegsSequencing( pi );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 UI_LegsSequencing
|
|
CALLV
|
|
pop
|
|
line 422
|
|
;421:
|
|
;422: if ( pi->legs.yawing && ( pi->legsAnim & ~ANIM_TOGGLEBIT ) == LEGS_IDLE ) {
|
|
ADDRLP4 4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 32
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $205
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 1212
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 -129
|
|
BANDI4
|
|
CNSTI4 22
|
|
NEI4 $205
|
|
line 423
|
|
;423: UI_RunLerpFrame( pi, &pi->legs, LEGS_TURN );
|
|
ADDRLP4 8
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
ARGP4
|
|
CNSTI4 24
|
|
ARGI4
|
|
ADDRGP4 UI_RunLerpFrame
|
|
CALLV
|
|
pop
|
|
line 424
|
|
;424: } else {
|
|
ADDRGP4 $206
|
|
JUMPV
|
|
LABELV $205
|
|
line 425
|
|
;425: UI_RunLerpFrame( pi, &pi->legs, pi->legsAnim );
|
|
ADDRLP4 8
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CNSTI4 1212
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 UI_RunLerpFrame
|
|
CALLV
|
|
pop
|
|
line 426
|
|
;426: }
|
|
LABELV $206
|
|
line 427
|
|
;427: *legsOld = pi->legs.oldFrame;
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 428
|
|
;428: *legs = pi->legs.frame;
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 429
|
|
;429: *legsBackLerp = pi->legs.backlerp;
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 432
|
|
;430:
|
|
;431: // torso animation
|
|
;432: pi->torsoAnimationTimer -= uiInfo.uiDC.frameTime;
|
|
ADDRLP4 8
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1240
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
INDIRI4
|
|
ADDRGP4 uiInfo+212
|
|
INDIRI4
|
|
SUBI4
|
|
ASGNI4
|
|
line 433
|
|
;433: if ( pi->torsoAnimationTimer < 0 ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1240
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
GEI4 $208
|
|
line 434
|
|
;434: pi->torsoAnimationTimer = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1240
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 435
|
|
;435: }
|
|
LABELV $208
|
|
line 437
|
|
;436:
|
|
;437: UI_TorsoSequencing( pi );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 UI_TorsoSequencing
|
|
CALLV
|
|
pop
|
|
line 439
|
|
;438:
|
|
;439: UI_RunLerpFrame( pi, &pi->torso, pi->torsoAnim );
|
|
ADDRLP4 12
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CNSTI4 64
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CNSTI4 1216
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 UI_RunLerpFrame
|
|
CALLV
|
|
pop
|
|
line 440
|
|
;440: *torsoOld = pi->torso.oldFrame;
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 64
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 441
|
|
;441: *torso = pi->torso.frame;
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 72
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 442
|
|
;442: *torsoBackLerp = pi->torso.backlerp;
|
|
ADDRFP4 24
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 80
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 443
|
|
;443:}
|
|
LABELV $201
|
|
endproc UI_PlayerAnimation 16 12
|
|
proc UI_SwingAngles 28 8
|
|
line 452
|
|
;444:
|
|
;445:
|
|
;446:/*
|
|
;447:==================
|
|
;448:UI_SwingAngles
|
|
;449:==================
|
|
;450:*/
|
|
;451:static void UI_SwingAngles( float destination, float swingTolerance, float clampTolerance,
|
|
;452: float speed, float *angle, qboolean *swinging ) {
|
|
line 457
|
|
;453: float swing;
|
|
;454: float move;
|
|
;455: float scale;
|
|
;456:
|
|
;457: if ( !*swinging ) {
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $211
|
|
line 459
|
|
;458: // see if a swing should be started
|
|
;459: swing = AngleSubtract( *angle, destination );
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 12
|
|
ADDRGP4 AngleSubtract
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ASGNF4
|
|
line 460
|
|
;460: if ( swing > swingTolerance || swing < -swingTolerance ) {
|
|
ADDRLP4 20
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
GTF4 $215
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
NEGF4
|
|
GEF4 $213
|
|
LABELV $215
|
|
line 461
|
|
;461: *swinging = qtrue;
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 462
|
|
;462: }
|
|
LABELV $213
|
|
line 463
|
|
;463: }
|
|
LABELV $211
|
|
line 465
|
|
;464:
|
|
;465: if ( !*swinging ) {
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $216
|
|
line 466
|
|
;466: return;
|
|
ADDRGP4 $210
|
|
JUMPV
|
|
LABELV $216
|
|
line 471
|
|
;467: }
|
|
;468:
|
|
;469: // modify the speed depending on the delta
|
|
;470: // so it doesn't seem so linear
|
|
;471: swing = AngleSubtract( destination, *angle );
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 12
|
|
ADDRGP4 AngleSubtract
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ASGNF4
|
|
line 472
|
|
;472: scale = fabs( swing );
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 16
|
|
ADDRGP4 fabs
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 4
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
ASGNF4
|
|
line 473
|
|
;473: if ( scale < swingTolerance * 0.5 ) {
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
CNSTF4 1056964608
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
MULF4
|
|
GEF4 $218
|
|
line 474
|
|
;474: scale = 0.5;
|
|
ADDRLP4 4
|
|
CNSTF4 1056964608
|
|
ASGNF4
|
|
line 475
|
|
;475: } else if ( scale < swingTolerance ) {
|
|
ADDRGP4 $219
|
|
JUMPV
|
|
LABELV $218
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
GEF4 $220
|
|
line 476
|
|
;476: scale = 1.0;
|
|
ADDRLP4 4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 477
|
|
;477: } else {
|
|
ADDRGP4 $221
|
|
JUMPV
|
|
LABELV $220
|
|
line 478
|
|
;478: scale = 2.0;
|
|
ADDRLP4 4
|
|
CNSTF4 1073741824
|
|
ASGNF4
|
|
line 479
|
|
;479: }
|
|
LABELV $221
|
|
LABELV $219
|
|
line 482
|
|
;480:
|
|
;481: // swing towards the destination angle
|
|
;482: if ( swing >= 0 ) {
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
CNSTF4 0
|
|
LTF4 $222
|
|
line 483
|
|
;483: move = uiInfo.uiDC.frameTime * scale * speed;
|
|
ADDRLP4 8
|
|
ADDRGP4 uiInfo+212
|
|
INDIRI4
|
|
CVIF4 4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRFP4 12
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 484
|
|
;484: if ( move >= swing ) {
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
LTF4 $225
|
|
line 485
|
|
;485: move = swing;
|
|
ADDRLP4 8
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ASGNF4
|
|
line 486
|
|
;486: *swinging = qfalse;
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 487
|
|
;487: }
|
|
LABELV $225
|
|
line 488
|
|
;488: *angle = AngleMod( *angle + move );
|
|
ADDRLP4 20
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ADDF4
|
|
ARGF4
|
|
ADDRLP4 24
|
|
ADDRGP4 AngleMod
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
ASGNF4
|
|
line 489
|
|
;489: } else if ( swing < 0 ) {
|
|
ADDRGP4 $223
|
|
JUMPV
|
|
LABELV $222
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
CNSTF4 0
|
|
GEF4 $227
|
|
line 490
|
|
;490: move = uiInfo.uiDC.frameTime * scale * -speed;
|
|
ADDRLP4 8
|
|
ADDRGP4 uiInfo+212
|
|
INDIRI4
|
|
CVIF4 4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
MULF4
|
|
ADDRFP4 12
|
|
INDIRF4
|
|
NEGF4
|
|
MULF4
|
|
ASGNF4
|
|
line 491
|
|
;491: if ( move <= swing ) {
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
GTF4 $230
|
|
line 492
|
|
;492: move = swing;
|
|
ADDRLP4 8
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ASGNF4
|
|
line 493
|
|
;493: *swinging = qfalse;
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 494
|
|
;494: }
|
|
LABELV $230
|
|
line 495
|
|
;495: *angle = AngleMod( *angle + move );
|
|
ADDRLP4 20
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ADDF4
|
|
ARGF4
|
|
ADDRLP4 24
|
|
ADDRGP4 AngleMod
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
ASGNF4
|
|
line 496
|
|
;496: }
|
|
LABELV $227
|
|
LABELV $223
|
|
line 499
|
|
;497:
|
|
;498: // clamp to no more than tolerance
|
|
;499: swing = AngleSubtract( destination, *angle );
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 20
|
|
ADDRGP4 AngleSubtract
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
ASGNF4
|
|
line 500
|
|
;500: if ( swing > clampTolerance ) {
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ADDRFP4 8
|
|
INDIRF4
|
|
LEF4 $232
|
|
line 501
|
|
;501: *angle = AngleMod( destination - (clampTolerance - 1) );
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
ADDRFP4 8
|
|
INDIRF4
|
|
CNSTF4 1065353216
|
|
SUBF4
|
|
SUBF4
|
|
ARGF4
|
|
ADDRLP4 24
|
|
ADDRGP4 AngleMod
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
ASGNF4
|
|
line 502
|
|
;502: } else if ( swing < -clampTolerance ) {
|
|
ADDRGP4 $233
|
|
JUMPV
|
|
LABELV $232
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ADDRFP4 8
|
|
INDIRF4
|
|
NEGF4
|
|
GEF4 $234
|
|
line 503
|
|
;503: *angle = AngleMod( destination + (clampTolerance - 1) );
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
ADDRFP4 8
|
|
INDIRF4
|
|
CNSTF4 1065353216
|
|
SUBF4
|
|
ADDF4
|
|
ARGF4
|
|
ADDRLP4 24
|
|
ADDRGP4 AngleMod
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
ASGNF4
|
|
line 504
|
|
;504: }
|
|
LABELV $234
|
|
LABELV $233
|
|
line 505
|
|
;505:}
|
|
LABELV $210
|
|
endproc UI_SwingAngles 28 8
|
|
proc UI_MovedirAdjustment 72 16
|
|
line 513
|
|
;506:
|
|
;507:
|
|
;508:/*
|
|
;509:======================
|
|
;510:UI_MovedirAdjustment
|
|
;511:======================
|
|
;512:*/
|
|
;513:static float UI_MovedirAdjustment( playerInfo_t *pi ) {
|
|
line 517
|
|
;514: vec3_t relativeAngles;
|
|
;515: vec3_t moveVector;
|
|
;516:
|
|
;517: VectorSubtract( pi->viewAngles, pi->moveAngles, relativeAngles );
|
|
ADDRLP4 24
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 12
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 1184
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 1196
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 12+4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 1188
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 1200
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 28
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 12+8
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
CNSTI4 1192
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
CNSTI4 1204
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 518
|
|
;518: AngleVectors( relativeAngles, moveVector, NULL, NULL );
|
|
ADDRLP4 12
|
|
ARGP4
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 32
|
|
CNSTP4 0
|
|
ASGNP4
|
|
ADDRLP4 32
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 32
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 AngleVectors
|
|
CALLV
|
|
pop
|
|
line 519
|
|
;519: if ( Q_fabs( moveVector[0] ) < 0.01 ) {
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 36
|
|
ADDRGP4 Q_fabs
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 36
|
|
INDIRF4
|
|
CNSTF4 1008981770
|
|
GEF4 $239
|
|
line 520
|
|
;520: moveVector[0] = 0.0;
|
|
ADDRLP4 0
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 521
|
|
;521: }
|
|
LABELV $239
|
|
line 522
|
|
;522: if ( Q_fabs( moveVector[1] ) < 0.01 ) {
|
|
ADDRLP4 0+4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 40
|
|
ADDRGP4 Q_fabs
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 40
|
|
INDIRF4
|
|
CNSTF4 1008981770
|
|
GEF4 $241
|
|
line 523
|
|
;523: moveVector[1] = 0.0;
|
|
ADDRLP4 0+4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 524
|
|
;524: }
|
|
LABELV $241
|
|
line 526
|
|
;525:
|
|
;526: if ( moveVector[1] == 0 && moveVector[0] > 0 ) {
|
|
ADDRLP4 44
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRLP4 0+4
|
|
INDIRF4
|
|
ADDRLP4 44
|
|
INDIRF4
|
|
NEF4 $245
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ADDRLP4 44
|
|
INDIRF4
|
|
LEF4 $245
|
|
line 527
|
|
;527: return 0;
|
|
CNSTF4 0
|
|
RETF4
|
|
ADDRGP4 $236
|
|
JUMPV
|
|
LABELV $245
|
|
line 529
|
|
;528: }
|
|
;529: if ( moveVector[1] < 0 && moveVector[0] > 0 ) {
|
|
ADDRLP4 48
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRLP4 0+4
|
|
INDIRF4
|
|
ADDRLP4 48
|
|
INDIRF4
|
|
GEF4 $248
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ADDRLP4 48
|
|
INDIRF4
|
|
LEF4 $248
|
|
line 530
|
|
;530: return 22;
|
|
CNSTF4 1102053376
|
|
RETF4
|
|
ADDRGP4 $236
|
|
JUMPV
|
|
LABELV $248
|
|
line 532
|
|
;531: }
|
|
;532: if ( moveVector[1] < 0 && moveVector[0] == 0 ) {
|
|
ADDRLP4 52
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRLP4 0+4
|
|
INDIRF4
|
|
ADDRLP4 52
|
|
INDIRF4
|
|
GEF4 $251
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ADDRLP4 52
|
|
INDIRF4
|
|
NEF4 $251
|
|
line 533
|
|
;533: return 45;
|
|
CNSTF4 1110704128
|
|
RETF4
|
|
ADDRGP4 $236
|
|
JUMPV
|
|
LABELV $251
|
|
line 535
|
|
;534: }
|
|
;535: if ( moveVector[1] < 0 && moveVector[0] < 0 ) {
|
|
ADDRLP4 56
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRLP4 0+4
|
|
INDIRF4
|
|
ADDRLP4 56
|
|
INDIRF4
|
|
GEF4 $254
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ADDRLP4 56
|
|
INDIRF4
|
|
GEF4 $254
|
|
line 536
|
|
;536: return -22;
|
|
CNSTF4 3249537024
|
|
RETF4
|
|
ADDRGP4 $236
|
|
JUMPV
|
|
LABELV $254
|
|
line 538
|
|
;537: }
|
|
;538: if ( moveVector[1] == 0 && moveVector[0] < 0 ) {
|
|
ADDRLP4 60
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRLP4 0+4
|
|
INDIRF4
|
|
ADDRLP4 60
|
|
INDIRF4
|
|
NEF4 $257
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ADDRLP4 60
|
|
INDIRF4
|
|
GEF4 $257
|
|
line 539
|
|
;539: return 0;
|
|
CNSTF4 0
|
|
RETF4
|
|
ADDRGP4 $236
|
|
JUMPV
|
|
LABELV $257
|
|
line 541
|
|
;540: }
|
|
;541: if ( moveVector[1] > 0 && moveVector[0] < 0 ) {
|
|
ADDRLP4 64
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRLP4 0+4
|
|
INDIRF4
|
|
ADDRLP4 64
|
|
INDIRF4
|
|
LEF4 $260
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ADDRLP4 64
|
|
INDIRF4
|
|
GEF4 $260
|
|
line 542
|
|
;542: return 22;
|
|
CNSTF4 1102053376
|
|
RETF4
|
|
ADDRGP4 $236
|
|
JUMPV
|
|
LABELV $260
|
|
line 544
|
|
;543: }
|
|
;544: if ( moveVector[1] > 0 && moveVector[0] == 0 ) {
|
|
ADDRLP4 68
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRLP4 0+4
|
|
INDIRF4
|
|
ADDRLP4 68
|
|
INDIRF4
|
|
LEF4 $263
|
|
ADDRLP4 0
|
|
INDIRF4
|
|
ADDRLP4 68
|
|
INDIRF4
|
|
NEF4 $263
|
|
line 545
|
|
;545: return -45;
|
|
CNSTF4 3258187776
|
|
RETF4
|
|
ADDRGP4 $236
|
|
JUMPV
|
|
LABELV $263
|
|
line 548
|
|
;546: }
|
|
;547:
|
|
;548: return -22;
|
|
CNSTF4 3249537024
|
|
RETF4
|
|
LABELV $236
|
|
endproc UI_MovedirAdjustment 72 16
|
|
proc UI_PlayerAngles 80 24
|
|
line 557
|
|
;549:}
|
|
;550:
|
|
;551:
|
|
;552:/*
|
|
;553:===============
|
|
;554:UI_PlayerAngles
|
|
;555:===============
|
|
;556:*/
|
|
;557:static void UI_PlayerAngles( playerInfo_t *pi, vec3_t legs[3], vec3_t torso[3], vec3_t head[3] ) {
|
|
line 562
|
|
;558: vec3_t legsAngles, torsoAngles, headAngles;
|
|
;559: float dest;
|
|
;560: float adjust;
|
|
;561:
|
|
;562: VectorCopy( pi->viewAngles, headAngles );
|
|
ADDRLP4 12
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1184
|
|
ADDP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 563
|
|
;563: headAngles[YAW] = AngleMod( headAngles[YAW] );
|
|
ADDRLP4 12+4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 44
|
|
ADDRGP4 AngleMod
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 12+4
|
|
ADDRLP4 44
|
|
INDIRF4
|
|
ASGNF4
|
|
line 564
|
|
;564: VectorClear( legsAngles );
|
|
ADDRLP4 48
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRLP4 24+8
|
|
ADDRLP4 48
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 24+4
|
|
ADDRLP4 48
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 24
|
|
ADDRLP4 48
|
|
INDIRF4
|
|
ASGNF4
|
|
line 565
|
|
;565: VectorClear( torsoAngles );
|
|
ADDRLP4 52
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRLP4 0+8
|
|
ADDRLP4 52
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 0+4
|
|
ADDRLP4 52
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 0
|
|
ADDRLP4 52
|
|
INDIRF4
|
|
ASGNF4
|
|
line 570
|
|
;566:
|
|
;567: // --------- yaw -------------
|
|
;568:
|
|
;569: // allow yaw to drift a bit
|
|
;570: if ( ( pi->legsAnim & ~ANIM_TOGGLEBIT ) != LEGS_IDLE
|
|
ADDRLP4 56
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 60
|
|
CNSTI4 -129
|
|
ASGNI4
|
|
ADDRLP4 56
|
|
INDIRP4
|
|
CNSTI4 1212
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 60
|
|
INDIRI4
|
|
BANDI4
|
|
CNSTI4 22
|
|
NEI4 $275
|
|
ADDRLP4 56
|
|
INDIRP4
|
|
CNSTI4 1216
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 60
|
|
INDIRI4
|
|
BANDI4
|
|
CNSTI4 11
|
|
EQI4 $273
|
|
LABELV $275
|
|
line 571
|
|
;571: || ( pi->torsoAnim & ~ANIM_TOGGLEBIT ) != TORSO_STAND ) {
|
|
line 573
|
|
;572: // if not standing still, always point all in the same direction
|
|
;573: pi->torso.yawing = qtrue; // always center
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 88
|
|
ADDP4
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 574
|
|
;574: pi->torso.pitching = qtrue; // always center
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 96
|
|
ADDP4
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 575
|
|
;575: pi->legs.yawing = qtrue; // always center
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 32
|
|
ADDP4
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 576
|
|
;576: }
|
|
LABELV $273
|
|
line 579
|
|
;577:
|
|
;578: // adjust legs for movement dir
|
|
;579: adjust = UI_MovedirAdjustment( pi );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 64
|
|
ADDRGP4 UI_MovedirAdjustment
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 36
|
|
ADDRLP4 64
|
|
INDIRF4
|
|
ASGNF4
|
|
line 580
|
|
;580: legsAngles[YAW] = headAngles[YAW] + adjust;
|
|
ADDRLP4 24+4
|
|
ADDRLP4 12+4
|
|
INDIRF4
|
|
ADDRLP4 36
|
|
INDIRF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 581
|
|
;581: torsoAngles[YAW] = headAngles[YAW] + 0.25 * adjust;
|
|
ADDRLP4 0+4
|
|
ADDRLP4 12+4
|
|
INDIRF4
|
|
CNSTF4 1048576000
|
|
ADDRLP4 36
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 585
|
|
;582:
|
|
;583:
|
|
;584: // torso
|
|
;585: UI_SwingAngles( torsoAngles[YAW], 25, 90, SWINGSPEED, &pi->torso.yawAngle, &pi->torso.yawing );
|
|
ADDRLP4 0+4
|
|
INDIRF4
|
|
ARGF4
|
|
CNSTF4 1103626240
|
|
ARGF4
|
|
CNSTF4 1119092736
|
|
ARGF4
|
|
CNSTF4 1050253722
|
|
ARGF4
|
|
ADDRLP4 68
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
CNSTI4 84
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
CNSTI4 88
|
|
ADDP4
|
|
ARGP4
|
|
ADDRGP4 UI_SwingAngles
|
|
CALLV
|
|
pop
|
|
line 586
|
|
;586: UI_SwingAngles( legsAngles[YAW], 40, 90, SWINGSPEED, &pi->legs.yawAngle, &pi->legs.yawing );
|
|
ADDRLP4 24+4
|
|
INDIRF4
|
|
ARGF4
|
|
CNSTF4 1109393408
|
|
ARGF4
|
|
CNSTF4 1119092736
|
|
ARGF4
|
|
CNSTF4 1050253722
|
|
ARGF4
|
|
ADDRLP4 72
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 72
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 72
|
|
INDIRP4
|
|
CNSTI4 32
|
|
ADDP4
|
|
ARGP4
|
|
ADDRGP4 UI_SwingAngles
|
|
CALLV
|
|
pop
|
|
line 588
|
|
;587:
|
|
;588: torsoAngles[YAW] = pi->torso.yawAngle;
|
|
ADDRLP4 0+4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 84
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 589
|
|
;589: legsAngles[YAW] = pi->legs.yawAngle;
|
|
ADDRLP4 24+4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 594
|
|
;590:
|
|
;591: // --------- pitch -------------
|
|
;592:
|
|
;593: // only show a fraction of the pitch angle in the torso
|
|
;594: if ( headAngles[PITCH] > 180 ) {
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
CNSTF4 1127481344
|
|
LEF4 $284
|
|
line 595
|
|
;595: dest = (-360 + headAngles[PITCH]) * 0.75;
|
|
ADDRLP4 40
|
|
CNSTF4 1061158912
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
CNSTF4 3283353600
|
|
ADDF4
|
|
MULF4
|
|
ASGNF4
|
|
line 596
|
|
;596: } else {
|
|
ADDRGP4 $285
|
|
JUMPV
|
|
LABELV $284
|
|
line 597
|
|
;597: dest = headAngles[PITCH] * 0.75;
|
|
ADDRLP4 40
|
|
CNSTF4 1061158912
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 598
|
|
;598: }
|
|
LABELV $285
|
|
line 599
|
|
;599: UI_SwingAngles( dest, 15, 30, 0.1f, &pi->torso.pitchAngle, &pi->torso.pitching );
|
|
ADDRLP4 40
|
|
INDIRF4
|
|
ARGF4
|
|
CNSTF4 1097859072
|
|
ARGF4
|
|
CNSTF4 1106247680
|
|
ARGF4
|
|
CNSTF4 1036831949
|
|
ARGF4
|
|
ADDRLP4 76
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
CNSTI4 92
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
CNSTI4 96
|
|
ADDP4
|
|
ARGP4
|
|
ADDRGP4 UI_SwingAngles
|
|
CALLV
|
|
pop
|
|
line 600
|
|
;600: torsoAngles[PITCH] = pi->torso.pitchAngle;
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 92
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 603
|
|
;601:
|
|
;602: // pull the angles back out of the hierarchial chain
|
|
;603: AnglesSubtract( headAngles, torsoAngles, headAngles );
|
|
ADDRLP4 12
|
|
ARGP4
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 12
|
|
ARGP4
|
|
ADDRGP4 AnglesSubtract
|
|
CALLV
|
|
pop
|
|
line 604
|
|
;604: AnglesSubtract( torsoAngles, legsAngles, torsoAngles );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 24
|
|
ARGP4
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRGP4 AnglesSubtract
|
|
CALLV
|
|
pop
|
|
line 605
|
|
;605: AnglesToAxis( legsAngles, legs );
|
|
ADDRLP4 24
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 AnglesToAxis
|
|
CALLV
|
|
pop
|
|
line 606
|
|
;606: AnglesToAxis( torsoAngles, torso );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 AnglesToAxis
|
|
CALLV
|
|
pop
|
|
line 607
|
|
;607: AnglesToAxis( headAngles, head );
|
|
ADDRLP4 12
|
|
ARGP4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 AnglesToAxis
|
|
CALLV
|
|
pop
|
|
line 608
|
|
;608:}
|
|
LABELV $266
|
|
endproc UI_PlayerAngles 80 24
|
|
proc UI_PlayerFloatSprite 140 12
|
|
line 616
|
|
;609:
|
|
;610:
|
|
;611:/*
|
|
;612:===============
|
|
;613:UI_PlayerFloatSprite
|
|
;614:===============
|
|
;615:*/
|
|
;616:static void UI_PlayerFloatSprite( playerInfo_t *pi, vec3_t origin, qhandle_t shader ) {
|
|
line 619
|
|
;617: refEntity_t ent;
|
|
;618:
|
|
;619: memset( &ent, 0, sizeof( ent ) );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
CNSTI4 140
|
|
ARGI4
|
|
ADDRGP4 memset
|
|
CALLP4
|
|
pop
|
|
line 620
|
|
;620: VectorCopy( origin, ent.origin );
|
|
ADDRLP4 0+68
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 621
|
|
;621: ent.origin[2] += 48;
|
|
ADDRLP4 0+68+8
|
|
ADDRLP4 0+68+8
|
|
INDIRF4
|
|
CNSTF4 1111490560
|
|
ADDF4
|
|
ASGNF4
|
|
line 622
|
|
;622: ent.reType = RT_SPRITE;
|
|
ADDRLP4 0
|
|
CNSTI4 2
|
|
ASGNI4
|
|
line 623
|
|
;623: ent.customShader = shader;
|
|
ADDRLP4 0+112
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ASGNI4
|
|
line 624
|
|
;624: ent.radius = 10;
|
|
ADDRLP4 0+132
|
|
CNSTF4 1092616192
|
|
ASGNF4
|
|
line 625
|
|
;625: ent.renderfx = 0;
|
|
ADDRLP4 0+4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 626
|
|
;626: trap_R_AddRefEntityToScene( &ent );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRGP4 trap_R_AddRefEntityToScene
|
|
CALLV
|
|
pop
|
|
line 627
|
|
;627:}
|
|
LABELV $286
|
|
endproc UI_PlayerFloatSprite 140 12
|
|
export UI_MachinegunSpinAngle
|
|
proc UI_MachinegunSpinAngle 28 4
|
|
line 635
|
|
;628:
|
|
;629:
|
|
;630:/*
|
|
;631:======================
|
|
;632:UI_MachinegunSpinAngle
|
|
;633:======================
|
|
;634:*/
|
|
;635:float UI_MachinegunSpinAngle( playerInfo_t *pi ) {
|
|
line 641
|
|
;636: int delta;
|
|
;637: float angle;
|
|
;638: float speed;
|
|
;639: int torsoAnim;
|
|
;640:
|
|
;641: delta = dp_realtime - pi->barrelTime;
|
|
ADDRLP4 4
|
|
ADDRGP4 dp_realtime
|
|
INDIRI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1268
|
|
ADDP4
|
|
INDIRI4
|
|
SUBI4
|
|
ASGNI4
|
|
line 642
|
|
;642: if ( pi->barrelSpinning ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1260
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $294
|
|
line 643
|
|
;643: angle = pi->barrelAngle + delta * SPIN_SPEED;
|
|
ADDRLP4 8
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1264
|
|
ADDP4
|
|
INDIRF4
|
|
CNSTF4 1063675494
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CVIF4 4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 644
|
|
;644: } else {
|
|
ADDRGP4 $295
|
|
JUMPV
|
|
LABELV $294
|
|
line 645
|
|
;645: if ( delta > COAST_TIME ) {
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1000
|
|
LEI4 $296
|
|
line 646
|
|
;646: delta = COAST_TIME;
|
|
ADDRLP4 4
|
|
CNSTI4 1000
|
|
ASGNI4
|
|
line 647
|
|
;647: }
|
|
LABELV $296
|
|
line 649
|
|
;648:
|
|
;649: speed = 0.5 * ( SPIN_SPEED + (float)( COAST_TIME - delta ) / COAST_TIME );
|
|
ADDRLP4 12
|
|
CNSTF4 1056964608
|
|
CNSTI4 1000
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
SUBI4
|
|
CVIF4 4
|
|
CNSTF4 1148846080
|
|
DIVF4
|
|
CNSTF4 1063675494
|
|
ADDF4
|
|
MULF4
|
|
ASGNF4
|
|
line 650
|
|
;650: angle = pi->barrelAngle + delta * speed;
|
|
ADDRLP4 8
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1264
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CVIF4 4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 651
|
|
;651: }
|
|
LABELV $295
|
|
line 653
|
|
;652:
|
|
;653: torsoAnim = pi->torsoAnim & ~ANIM_TOGGLEBIT;
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1216
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 -129
|
|
BANDI4
|
|
ASGNI4
|
|
line 654
|
|
;654: if( torsoAnim == TORSO_ATTACK2 ) {
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 8
|
|
NEI4 $298
|
|
line 655
|
|
;655: torsoAnim = TORSO_ATTACK;
|
|
ADDRLP4 0
|
|
CNSTI4 7
|
|
ASGNI4
|
|
line 656
|
|
;656: }
|
|
LABELV $298
|
|
line 657
|
|
;657: if ( pi->barrelSpinning == !(torsoAnim == TORSO_ATTACK) ) {
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 7
|
|
EQI4 $303
|
|
ADDRLP4 16
|
|
CNSTI4 1
|
|
ASGNI4
|
|
ADDRGP4 $304
|
|
JUMPV
|
|
LABELV $303
|
|
ADDRLP4 16
|
|
CNSTI4 0
|
|
ASGNI4
|
|
LABELV $304
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1260
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
NEI4 $300
|
|
line 658
|
|
;658: pi->barrelTime = dp_realtime;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1268
|
|
ADDP4
|
|
ADDRGP4 dp_realtime
|
|
INDIRI4
|
|
ASGNI4
|
|
line 659
|
|
;659: pi->barrelAngle = AngleMod( angle );
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 20
|
|
ADDRGP4 AngleMod
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1264
|
|
ADDP4
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
ASGNF4
|
|
line 660
|
|
;660: pi->barrelSpinning = !!(torsoAnim == TORSO_ATTACK);
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 7
|
|
NEI4 $306
|
|
ADDRLP4 24
|
|
CNSTI4 1
|
|
ASGNI4
|
|
ADDRGP4 $307
|
|
JUMPV
|
|
LABELV $306
|
|
ADDRLP4 24
|
|
CNSTI4 0
|
|
ASGNI4
|
|
LABELV $307
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1260
|
|
ADDP4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ASGNI4
|
|
line 661
|
|
;661: }
|
|
LABELV $300
|
|
line 663
|
|
;662:
|
|
;663: return angle;
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
RETF4
|
|
LABELV $293
|
|
endproc UI_MachinegunSpinAngle 28 4
|
|
lit
|
|
align 4
|
|
LABELV $309
|
|
byte 4 3246391296
|
|
byte 4 3246391296
|
|
byte 4 3250585600
|
|
align 4
|
|
LABELV $310
|
|
byte 4 1098907648
|
|
byte 4 1098907648
|
|
byte 4 1107296256
|
|
export UI_DrawPlayer
|
|
code
|
|
proc UI_DrawPlayer 1300 28
|
|
line 672
|
|
;664:}
|
|
;665:
|
|
;666:
|
|
;667:/*
|
|
;668:===============
|
|
;669:UI_DrawPlayer
|
|
;670:===============
|
|
;671:*/
|
|
;672:void UI_DrawPlayer( float x, float y, float w, float h, playerInfo_t *pi, int time ) {
|
|
line 682
|
|
;673: refdef_t refdef;
|
|
;674: refEntity_t legs;
|
|
;675: refEntity_t torso;
|
|
;676: refEntity_t head;
|
|
;677: refEntity_t gun;
|
|
;678: refEntity_t barrel;
|
|
;679: refEntity_t flash;
|
|
;680: vec3_t origin;
|
|
;681: int renderfx;
|
|
;682: vec3_t mins = {-16, -16, -24};
|
|
ADDRLP4 804
|
|
ADDRGP4 $309
|
|
INDIRB
|
|
ASGNB 12
|
|
line 683
|
|
;683: vec3_t maxs = {16, 16, 32};
|
|
ADDRLP4 816
|
|
ADDRGP4 $310
|
|
INDIRB
|
|
ASGNB 12
|
|
line 687
|
|
;684: float len;
|
|
;685: float xx;
|
|
;686:
|
|
;687: if ( !pi->legsModel || !pi->torsoModel || !pi->headModel || !pi->animations[0].numFrames ) {
|
|
ADDRLP4 1256
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 1260
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 1256
|
|
INDIRP4
|
|
INDIRI4
|
|
ADDRLP4 1260
|
|
INDIRI4
|
|
EQI4 $315
|
|
ADDRLP4 1256
|
|
INDIRP4
|
|
CNSTI4 56
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 1260
|
|
INDIRI4
|
|
EQI4 $315
|
|
ADDRLP4 1256
|
|
INDIRP4
|
|
CNSTI4 112
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 1260
|
|
INDIRI4
|
|
EQI4 $315
|
|
ADDRLP4 1256
|
|
INDIRP4
|
|
CNSTI4 124
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 1260
|
|
INDIRI4
|
|
NEI4 $311
|
|
LABELV $315
|
|
line 688
|
|
;688: return;
|
|
ADDRGP4 $308
|
|
JUMPV
|
|
LABELV $311
|
|
line 692
|
|
;689: }
|
|
;690:
|
|
;691: // this allows the ui to cache the player model on the main menu
|
|
;692: if (w == 0 || h == 0) {
|
|
ADDRLP4 1264
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRFP4 8
|
|
INDIRF4
|
|
ADDRLP4 1264
|
|
INDIRF4
|
|
EQF4 $318
|
|
ADDRFP4 12
|
|
INDIRF4
|
|
ADDRLP4 1264
|
|
INDIRF4
|
|
NEF4 $316
|
|
LABELV $318
|
|
line 693
|
|
;693: return;
|
|
ADDRGP4 $308
|
|
JUMPV
|
|
LABELV $316
|
|
line 696
|
|
;694: }
|
|
;695:
|
|
;696: dp_realtime = time;
|
|
ADDRGP4 dp_realtime
|
|
ADDRFP4 20
|
|
INDIRI4
|
|
ASGNI4
|
|
line 698
|
|
;697:
|
|
;698: if ( pi->pendingWeapon != -1 && dp_realtime > pi->weaponTimer ) {
|
|
ADDRLP4 1268
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 1268
|
|
INDIRP4
|
|
CNSTI4 1228
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 -1
|
|
EQI4 $319
|
|
ADDRGP4 dp_realtime
|
|
INDIRI4
|
|
ADDRLP4 1268
|
|
INDIRP4
|
|
CNSTI4 1232
|
|
ADDP4
|
|
INDIRI4
|
|
LEI4 $319
|
|
line 699
|
|
;699: pi->weapon = pi->pendingWeapon;
|
|
ADDRLP4 1272
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 1272
|
|
INDIRP4
|
|
CNSTI4 1220
|
|
ADDP4
|
|
ADDRLP4 1272
|
|
INDIRP4
|
|
CNSTI4 1228
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 700
|
|
;700: pi->lastWeapon = pi->pendingWeapon;
|
|
ADDRLP4 1276
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 1276
|
|
INDIRP4
|
|
CNSTI4 1224
|
|
ADDP4
|
|
ADDRLP4 1276
|
|
INDIRP4
|
|
CNSTI4 1228
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 701
|
|
;701: pi->pendingWeapon = -1;
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
CNSTI4 1228
|
|
ADDP4
|
|
CNSTI4 -1
|
|
ASGNI4
|
|
line 702
|
|
;702: pi->weaponTimer = 0;
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
CNSTI4 1232
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 703
|
|
;703: if( pi->currentWeapon != pi->weapon ) {
|
|
ADDRLP4 1280
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 1280
|
|
INDIRP4
|
|
CNSTI4 1208
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 1280
|
|
INDIRP4
|
|
CNSTI4 1220
|
|
ADDP4
|
|
INDIRI4
|
|
EQI4 $321
|
|
line 704
|
|
;704: trap_S_StartLocalSound( weaponChangeSound, CHAN_LOCAL );
|
|
ADDRGP4 weaponChangeSound
|
|
INDIRI4
|
|
ARGI4
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRGP4 trap_S_StartLocalSound
|
|
CALLV
|
|
pop
|
|
line 705
|
|
;705: }
|
|
LABELV $321
|
|
line 706
|
|
;706: }
|
|
LABELV $319
|
|
line 708
|
|
;707:
|
|
;708: UI_AdjustFrom640( &x, &y, &w, &h );
|
|
ADDRFP4 0
|
|
ARGP4
|
|
ADDRFP4 4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
ARGP4
|
|
ADDRFP4 12
|
|
ARGP4
|
|
ADDRGP4 UI_AdjustFrom640
|
|
CALLV
|
|
pop
|
|
line 710
|
|
;709:
|
|
;710: y -= jumpHeight;
|
|
ADDRFP4 4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
ADDRGP4 jumpHeight
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 712
|
|
;711:
|
|
;712: memset( &refdef, 0, sizeof( refdef ) );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
CNSTI4 368
|
|
ARGI4
|
|
ADDRGP4 memset
|
|
CALLP4
|
|
pop
|
|
line 713
|
|
;713: memset( &legs, 0, sizeof(legs) );
|
|
ADDRLP4 380
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
CNSTI4 140
|
|
ARGI4
|
|
ADDRGP4 memset
|
|
CALLP4
|
|
pop
|
|
line 714
|
|
;714: memset( &torso, 0, sizeof(torso) );
|
|
ADDRLP4 520
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
CNSTI4 140
|
|
ARGI4
|
|
ADDRGP4 memset
|
|
CALLP4
|
|
pop
|
|
line 715
|
|
;715: memset( &head, 0, sizeof(head) );
|
|
ADDRLP4 660
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
CNSTI4 140
|
|
ARGI4
|
|
ADDRGP4 memset
|
|
CALLP4
|
|
pop
|
|
line 717
|
|
;716:
|
|
;717: refdef.rdflags = RDF_NOWORLDMODEL;
|
|
ADDRLP4 0+76
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 719
|
|
;718:
|
|
;719: AxisClear( refdef.viewaxis );
|
|
ADDRLP4 0+36
|
|
ARGP4
|
|
ADDRGP4 AxisClear
|
|
CALLV
|
|
pop
|
|
line 721
|
|
;720:
|
|
;721: refdef.x = x;
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRF4
|
|
CVFI4 4
|
|
ASGNI4
|
|
line 722
|
|
;722: refdef.y = y;
|
|
ADDRLP4 0+4
|
|
ADDRFP4 4
|
|
INDIRF4
|
|
CVFI4 4
|
|
ASGNI4
|
|
line 723
|
|
;723: refdef.width = w;
|
|
ADDRLP4 0+8
|
|
ADDRFP4 8
|
|
INDIRF4
|
|
CVFI4 4
|
|
ASGNI4
|
|
line 724
|
|
;724: refdef.height = h;
|
|
ADDRLP4 0+12
|
|
ADDRFP4 12
|
|
INDIRF4
|
|
CVFI4 4
|
|
ASGNI4
|
|
line 726
|
|
;725:
|
|
;726: refdef.fov_x = (int)((float)refdef.width / 640.0f * 90.0f);
|
|
ADDRLP4 0+16
|
|
CNSTF4 1119092736
|
|
ADDRLP4 0+8
|
|
INDIRI4
|
|
CVIF4 4
|
|
CNSTF4 1142947840
|
|
DIVF4
|
|
MULF4
|
|
CVFI4 4
|
|
CVIF4 4
|
|
ASGNF4
|
|
line 727
|
|
;727: xx = refdef.width / tan( refdef.fov_x / 360 * M_PI );
|
|
CNSTF4 1078530011
|
|
ADDRLP4 0+16
|
|
INDIRF4
|
|
CNSTF4 1135869952
|
|
DIVF4
|
|
MULF4
|
|
ARGF4
|
|
ADDRLP4 1272
|
|
ADDRGP4 tan
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 1112
|
|
ADDRLP4 0+8
|
|
INDIRI4
|
|
CVIF4 4
|
|
ADDRLP4 1272
|
|
INDIRF4
|
|
DIVF4
|
|
ASGNF4
|
|
line 728
|
|
;728: refdef.fov_y = atan2( refdef.height, xx );
|
|
ADDRLP4 0+12
|
|
INDIRI4
|
|
CVIF4 4
|
|
ARGF4
|
|
ADDRLP4 1112
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 1276
|
|
ADDRGP4 atan2
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 0+20
|
|
ADDRLP4 1276
|
|
INDIRF4
|
|
ASGNF4
|
|
line 729
|
|
;729: refdef.fov_y *= ( 360 / (float)M_PI );
|
|
ADDRLP4 0+20
|
|
CNSTF4 1122316001
|
|
ADDRLP4 0+20
|
|
INDIRF4
|
|
MULF4
|
|
ASGNF4
|
|
line 732
|
|
;730:
|
|
;731: // calculate distance so the player nearly fills the box
|
|
;732: len = 0.7 * ( maxs[2] - mins[2] );
|
|
ADDRLP4 1108
|
|
CNSTF4 1060320051
|
|
ADDRLP4 816+8
|
|
INDIRF4
|
|
ADDRLP4 804+8
|
|
INDIRF4
|
|
SUBF4
|
|
MULF4
|
|
ASGNF4
|
|
line 733
|
|
;733: origin[0] = len / tan( DEG2RAD(refdef.fov_x) * 0.5 );
|
|
CNSTF4 1056964608
|
|
CNSTF4 1078530011
|
|
ADDRLP4 0+16
|
|
INDIRF4
|
|
MULF4
|
|
CNSTF4 1127481344
|
|
DIVF4
|
|
MULF4
|
|
ARGF4
|
|
ADDRLP4 1280
|
|
ADDRGP4 tan
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 368
|
|
ADDRLP4 1108
|
|
INDIRF4
|
|
ADDRLP4 1280
|
|
INDIRF4
|
|
DIVF4
|
|
ASGNF4
|
|
line 734
|
|
;734: origin[1] = 0.5 * ( mins[1] + maxs[1] );
|
|
ADDRLP4 368+4
|
|
CNSTF4 1056964608
|
|
ADDRLP4 804+4
|
|
INDIRF4
|
|
ADDRLP4 816+4
|
|
INDIRF4
|
|
ADDF4
|
|
MULF4
|
|
ASGNF4
|
|
line 735
|
|
;735: origin[2] = -0.5 * ( mins[2] + maxs[2] );
|
|
ADDRLP4 368+8
|
|
CNSTF4 3204448256
|
|
ADDRLP4 804+8
|
|
INDIRF4
|
|
ADDRLP4 816+8
|
|
INDIRF4
|
|
ADDF4
|
|
MULF4
|
|
ASGNF4
|
|
line 737
|
|
;736:
|
|
;737: refdef.time = dp_realtime;
|
|
ADDRLP4 0+72
|
|
ADDRGP4 dp_realtime
|
|
INDIRI4
|
|
ASGNI4
|
|
line 739
|
|
;738:
|
|
;739: trap_R_ClearScene();
|
|
ADDRGP4 trap_R_ClearScene
|
|
CALLV
|
|
pop
|
|
line 742
|
|
;740:
|
|
;741: // get the rotation information
|
|
;742: UI_PlayerAngles( pi, legs.axis, torso.axis, head.axis );
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 380+28
|
|
ARGP4
|
|
ADDRLP4 520+28
|
|
ARGP4
|
|
ADDRLP4 660+28
|
|
ARGP4
|
|
ADDRGP4 UI_PlayerAngles
|
|
CALLV
|
|
pop
|
|
line 745
|
|
;743:
|
|
;744: // get the animation state (after rotation, to allow feet shuffle)
|
|
;745: UI_PlayerAnimation( pi, &legs.oldframe, &legs.frame, &legs.backlerp,
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 380+96
|
|
ARGP4
|
|
ADDRLP4 380+80
|
|
ARGP4
|
|
ADDRLP4 380+100
|
|
ARGP4
|
|
ADDRLP4 520+96
|
|
ARGP4
|
|
ADDRLP4 520+80
|
|
ARGP4
|
|
ADDRLP4 520+100
|
|
ARGP4
|
|
ADDRGP4 UI_PlayerAnimation
|
|
CALLV
|
|
pop
|
|
line 748
|
|
;746: &torso.oldframe, &torso.frame, &torso.backlerp );
|
|
;747:
|
|
;748: renderfx = RF_LIGHTING_ORIGIN | RF_NOSHADOW;
|
|
ADDRLP4 800
|
|
CNSTI4 192
|
|
ASGNI4
|
|
line 753
|
|
;749:
|
|
;750: //
|
|
;751: // add the legs
|
|
;752: //
|
|
;753: legs.hModel = pi->legsModel;
|
|
ADDRLP4 380+8
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 754
|
|
;754: legs.customSkin = pi->legsSkin;
|
|
ADDRLP4 380+108
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 756
|
|
;755:
|
|
;756: VectorCopy( origin, legs.origin );
|
|
ADDRLP4 380+68
|
|
ADDRLP4 368
|
|
INDIRB
|
|
ASGNB 12
|
|
line 758
|
|
;757:
|
|
;758: VectorCopy( origin, legs.lightingOrigin );
|
|
ADDRLP4 380+12
|
|
ADDRLP4 368
|
|
INDIRB
|
|
ASGNB 12
|
|
line 759
|
|
;759: legs.renderfx = renderfx;
|
|
ADDRLP4 380+4
|
|
ADDRLP4 800
|
|
INDIRI4
|
|
ASGNI4
|
|
line 760
|
|
;760: VectorCopy (legs.origin, legs.oldorigin);
|
|
ADDRLP4 380+84
|
|
ADDRLP4 380+68
|
|
INDIRB
|
|
ASGNB 12
|
|
line 762
|
|
;761:
|
|
;762: trap_R_AddRefEntityToScene( &legs );
|
|
ADDRLP4 380
|
|
ARGP4
|
|
ADDRGP4 trap_R_AddRefEntityToScene
|
|
CALLV
|
|
pop
|
|
line 764
|
|
;763:
|
|
;764: if (!legs.hModel) {
|
|
ADDRLP4 380+8
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $361
|
|
line 765
|
|
;765: return;
|
|
ADDRGP4 $308
|
|
JUMPV
|
|
LABELV $361
|
|
line 771
|
|
;766: }
|
|
;767:
|
|
;768: //
|
|
;769: // add the torso
|
|
;770: //
|
|
;771: torso.hModel = pi->torsoModel;
|
|
ADDRLP4 520+8
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
CNSTI4 56
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 772
|
|
;772: if (!torso.hModel) {
|
|
ADDRLP4 520+8
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $365
|
|
line 773
|
|
;773: return;
|
|
ADDRGP4 $308
|
|
JUMPV
|
|
LABELV $365
|
|
line 776
|
|
;774: }
|
|
;775:
|
|
;776: torso.customSkin = pi->torsoSkin;
|
|
ADDRLP4 520+108
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
CNSTI4 60
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 778
|
|
;777:
|
|
;778: VectorCopy( origin, torso.lightingOrigin );
|
|
ADDRLP4 520+12
|
|
ADDRLP4 368
|
|
INDIRB
|
|
ASGNB 12
|
|
line 780
|
|
;779:
|
|
;780: UI_PositionRotatedEntityOnTag( &torso, &legs, pi->legsModel, "tag_torso");
|
|
ADDRLP4 520
|
|
ARGP4
|
|
ADDRLP4 380
|
|
ARGP4
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 $370
|
|
ARGP4
|
|
ADDRGP4 UI_PositionRotatedEntityOnTag
|
|
CALLV
|
|
pop
|
|
line 782
|
|
;781:
|
|
;782: torso.renderfx = renderfx;
|
|
ADDRLP4 520+4
|
|
ADDRLP4 800
|
|
INDIRI4
|
|
ASGNI4
|
|
line 784
|
|
;783:
|
|
;784: trap_R_AddRefEntityToScene( &torso );
|
|
ADDRLP4 520
|
|
ARGP4
|
|
ADDRGP4 trap_R_AddRefEntityToScene
|
|
CALLV
|
|
pop
|
|
line 789
|
|
;785:
|
|
;786: //
|
|
;787: // add the head
|
|
;788: //
|
|
;789: head.hModel = pi->headModel;
|
|
ADDRLP4 660+8
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
CNSTI4 112
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 790
|
|
;790: if (!head.hModel) {
|
|
ADDRLP4 660+8
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $373
|
|
line 791
|
|
;791: return;
|
|
ADDRGP4 $308
|
|
JUMPV
|
|
LABELV $373
|
|
line 793
|
|
;792: }
|
|
;793: head.customSkin = pi->headSkin;
|
|
ADDRLP4 660+108
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
CNSTI4 116
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 795
|
|
;794:
|
|
;795: VectorCopy( origin, head.lightingOrigin );
|
|
ADDRLP4 660+12
|
|
ADDRLP4 368
|
|
INDIRB
|
|
ASGNB 12
|
|
line 797
|
|
;796:
|
|
;797: UI_PositionRotatedEntityOnTag( &head, &torso, pi->torsoModel, "tag_head");
|
|
ADDRLP4 660
|
|
ARGP4
|
|
ADDRLP4 520
|
|
ARGP4
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
CNSTI4 56
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 $378
|
|
ARGP4
|
|
ADDRGP4 UI_PositionRotatedEntityOnTag
|
|
CALLV
|
|
pop
|
|
line 799
|
|
;798:
|
|
;799: head.renderfx = renderfx;
|
|
ADDRLP4 660+4
|
|
ADDRLP4 800
|
|
INDIRI4
|
|
ASGNI4
|
|
line 801
|
|
;800:
|
|
;801: trap_R_AddRefEntityToScene( &head );
|
|
ADDRLP4 660
|
|
ARGP4
|
|
ADDRGP4 trap_R_AddRefEntityToScene
|
|
CALLV
|
|
pop
|
|
line 806
|
|
;802:
|
|
;803: //
|
|
;804: // add the gun
|
|
;805: //
|
|
;806: if ( pi->currentWeapon != WP_NONE ) {
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
CNSTI4 1208
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $380
|
|
line 807
|
|
;807: memset( &gun, 0, sizeof(gun) );
|
|
ADDRLP4 828
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
CNSTI4 140
|
|
ARGI4
|
|
ADDRGP4 memset
|
|
CALLP4
|
|
pop
|
|
line 808
|
|
;808: gun.hModel = pi->weaponModel;
|
|
ADDRLP4 828+8
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
CNSTI4 1156
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 809
|
|
;809: VectorCopy( origin, gun.lightingOrigin );
|
|
ADDRLP4 828+12
|
|
ADDRLP4 368
|
|
INDIRB
|
|
ASGNB 12
|
|
line 810
|
|
;810: UI_PositionEntityOnTag( &gun, &torso, pi->torsoModel, "tag_weapon");
|
|
ADDRLP4 828
|
|
ARGP4
|
|
ADDRLP4 520
|
|
ARGP4
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
CNSTI4 56
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 $384
|
|
ARGP4
|
|
ADDRGP4 UI_PositionEntityOnTag
|
|
CALLV
|
|
pop
|
|
line 811
|
|
;811: gun.renderfx = renderfx;
|
|
ADDRLP4 828+4
|
|
ADDRLP4 800
|
|
INDIRI4
|
|
ASGNI4
|
|
line 812
|
|
;812: trap_R_AddRefEntityToScene( &gun );
|
|
ADDRLP4 828
|
|
ARGP4
|
|
ADDRGP4 trap_R_AddRefEntityToScene
|
|
CALLV
|
|
pop
|
|
line 813
|
|
;813: }
|
|
LABELV $380
|
|
line 846
|
|
;814:
|
|
;815: //
|
|
;816: // add the spinning barrel
|
|
;817: //
|
|
;818: //Blaze: No spinning barrels in rq3
|
|
;819: /*
|
|
;820: if ( pi->realWeapon == WP_MACHINEGUN || pi->realWeapon == WP_GAUNTLET || pi->realWeapon == WP_BFG ) {
|
|
;821: vec3_t angles;
|
|
;822:
|
|
;823: memset( &barrel, 0, sizeof(barrel) );
|
|
;824: VectorCopy( origin, barrel.lightingOrigin );
|
|
;825: barrel.renderfx = renderfx;
|
|
;826:
|
|
;827: barrel.hModel = pi->barrelModel;
|
|
;828: angles[YAW] = 0;
|
|
;829: angles[PITCH] = 0;
|
|
;830: angles[ROLL] = UI_MachinegunSpinAngle( pi );
|
|
;831: if( pi->realWeapon == WP_GAUNTLET || pi->realWeapon == WP_BFG ) {
|
|
;832: angles[PITCH] = angles[ROLL];
|
|
;833: angles[ROLL] = 0;
|
|
;834: }
|
|
;835: AnglesToAxis( angles, barrel.axis );
|
|
;836:
|
|
;837: UI_PositionRotatedEntityOnTag( &barrel, &gun, pi->weaponModel, "tag_barrel");
|
|
;838:
|
|
;839: trap_R_AddRefEntityToScene( &barrel );
|
|
;840: }
|
|
;841: */
|
|
;842:
|
|
;843: //
|
|
;844: // add muzzle flash
|
|
;845: //
|
|
;846: if ( dp_realtime <= pi->muzzleFlashTime ) {
|
|
ADDRGP4 dp_realtime
|
|
INDIRI4
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
CNSTI4 1180
|
|
ADDP4
|
|
INDIRI4
|
|
GTI4 $386
|
|
line 847
|
|
;847: if ( pi->flashModel ) {
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
CNSTI4 1164
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $388
|
|
line 848
|
|
;848: memset( &flash, 0, sizeof(flash) );
|
|
ADDRLP4 968
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
CNSTI4 140
|
|
ARGI4
|
|
ADDRGP4 memset
|
|
CALLP4
|
|
pop
|
|
line 849
|
|
;849: flash.hModel = pi->flashModel;
|
|
ADDRLP4 968+8
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
CNSTI4 1164
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 850
|
|
;850: VectorCopy( origin, flash.lightingOrigin );
|
|
ADDRLP4 968+12
|
|
ADDRLP4 368
|
|
INDIRB
|
|
ASGNB 12
|
|
line 851
|
|
;851: UI_PositionEntityOnTag( &flash, &gun, pi->weaponModel, "tag_flash");
|
|
ADDRLP4 968
|
|
ARGP4
|
|
ADDRLP4 828
|
|
ARGP4
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
CNSTI4 1156
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 $392
|
|
ARGP4
|
|
ADDRGP4 UI_PositionEntityOnTag
|
|
CALLV
|
|
pop
|
|
line 852
|
|
;852: flash.renderfx = renderfx;
|
|
ADDRLP4 968+4
|
|
ADDRLP4 800
|
|
INDIRI4
|
|
ASGNI4
|
|
line 853
|
|
;853: trap_R_AddRefEntityToScene( &flash );
|
|
ADDRLP4 968
|
|
ARGP4
|
|
ADDRGP4 trap_R_AddRefEntityToScene
|
|
CALLV
|
|
pop
|
|
line 854
|
|
;854: }
|
|
LABELV $388
|
|
line 857
|
|
;855:
|
|
;856: // make a dlight for the flash
|
|
;857: if ( pi->flashDlightColor[0] || pi->flashDlightColor[1] || pi->flashDlightColor[2] ) {
|
|
ADDRLP4 1284
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 1288
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRLP4 1284
|
|
INDIRP4
|
|
CNSTI4 1168
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 1288
|
|
INDIRF4
|
|
NEF4 $397
|
|
ADDRLP4 1284
|
|
INDIRP4
|
|
CNSTI4 1172
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 1288
|
|
INDIRF4
|
|
NEF4 $397
|
|
ADDRLP4 1284
|
|
INDIRP4
|
|
CNSTI4 1176
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 1288
|
|
INDIRF4
|
|
EQF4 $394
|
|
LABELV $397
|
|
line 858
|
|
;858: trap_R_AddLightToScene( flash.origin, 200 + (rand()&31), pi->flashDlightColor[0],
|
|
ADDRLP4 1292
|
|
ADDRGP4 rand
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 968+68
|
|
ARGP4
|
|
ADDRLP4 1292
|
|
INDIRI4
|
|
CNSTI4 31
|
|
BANDI4
|
|
CNSTI4 200
|
|
ADDI4
|
|
CVIF4 4
|
|
ARGF4
|
|
ADDRLP4 1296
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 1296
|
|
INDIRP4
|
|
CNSTI4 1168
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 1296
|
|
INDIRP4
|
|
CNSTI4 1172
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 1296
|
|
INDIRP4
|
|
CNSTI4 1176
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRGP4 trap_R_AddLightToScene
|
|
CALLV
|
|
pop
|
|
line 860
|
|
;859: pi->flashDlightColor[1], pi->flashDlightColor[2] );
|
|
;860: }
|
|
LABELV $394
|
|
line 861
|
|
;861: }
|
|
LABELV $386
|
|
line 866
|
|
;862:
|
|
;863: //
|
|
;864: // add the chat icon
|
|
;865: //
|
|
;866: if ( pi->chat ) {
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
CNSTI4 1252
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $399
|
|
line 867
|
|
;867: UI_PlayerFloatSprite( pi, origin, trap_R_RegisterShaderNoMip( "sprites/balloon3" ) );
|
|
ADDRGP4 $401
|
|
ARGP4
|
|
ADDRLP4 1284
|
|
ADDRGP4 trap_R_RegisterShaderNoMip
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 368
|
|
ARGP4
|
|
ADDRLP4 1284
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 UI_PlayerFloatSprite
|
|
CALLV
|
|
pop
|
|
line 868
|
|
;868: }
|
|
LABELV $399
|
|
line 873
|
|
;869:
|
|
;870: //
|
|
;871: // add an accent light
|
|
;872: //
|
|
;873: origin[0] -= 100; // + = behind, - = in front
|
|
ADDRLP4 368
|
|
ADDRLP4 368
|
|
INDIRF4
|
|
CNSTF4 1120403456
|
|
SUBF4
|
|
ASGNF4
|
|
line 874
|
|
;874: origin[1] += 100; // + = left, - = right
|
|
ADDRLP4 368+4
|
|
ADDRLP4 368+4
|
|
INDIRF4
|
|
CNSTF4 1120403456
|
|
ADDF4
|
|
ASGNF4
|
|
line 875
|
|
;875: origin[2] += 100; // + = above, - = below
|
|
ADDRLP4 368+8
|
|
ADDRLP4 368+8
|
|
INDIRF4
|
|
CNSTF4 1120403456
|
|
ADDF4
|
|
ASGNF4
|
|
line 876
|
|
;876: trap_R_AddLightToScene( origin, 500, 1.0, 1.0, 1.0 );
|
|
ADDRLP4 368
|
|
ARGP4
|
|
CNSTF4 1140457472
|
|
ARGF4
|
|
ADDRLP4 1284
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
ADDRLP4 1284
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 1284
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 1284
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRGP4 trap_R_AddLightToScene
|
|
CALLV
|
|
pop
|
|
line 878
|
|
;877:
|
|
;878: origin[0] -= 100;
|
|
ADDRLP4 368
|
|
ADDRLP4 368
|
|
INDIRF4
|
|
CNSTF4 1120403456
|
|
SUBF4
|
|
ASGNF4
|
|
line 879
|
|
;879: origin[1] -= 100;
|
|
ADDRLP4 368+4
|
|
ADDRLP4 368+4
|
|
INDIRF4
|
|
CNSTF4 1120403456
|
|
SUBF4
|
|
ASGNF4
|
|
line 880
|
|
;880: origin[2] -= 100;
|
|
ADDRLP4 368+8
|
|
ADDRLP4 368+8
|
|
INDIRF4
|
|
CNSTF4 1120403456
|
|
SUBF4
|
|
ASGNF4
|
|
line 881
|
|
;881: trap_R_AddLightToScene( origin, 500, 1.0, 0.0, 0.0 );
|
|
ADDRLP4 368
|
|
ARGP4
|
|
CNSTF4 1140457472
|
|
ARGF4
|
|
CNSTF4 1065353216
|
|
ARGF4
|
|
ADDRLP4 1288
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRLP4 1288
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 1288
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRGP4 trap_R_AddLightToScene
|
|
CALLV
|
|
pop
|
|
line 883
|
|
;882:
|
|
;883: trap_R_RenderScene( &refdef );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRGP4 trap_R_RenderScene
|
|
CALLV
|
|
pop
|
|
line 884
|
|
;884:}
|
|
LABELV $308
|
|
endproc UI_DrawPlayer 1300 28
|
|
proc UI_FileExists 8 12
|
|
line 891
|
|
;885:
|
|
;886:/*
|
|
;887:==========================
|
|
;888:UI_FileExists
|
|
;889:==========================
|
|
;890:*/
|
|
;891:static qboolean UI_FileExists(const char *filename) {
|
|
line 894
|
|
;892: int len;
|
|
;893:
|
|
;894: len = trap_FS_FOpenFile( filename, 0, FS_READ );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTP4 0
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
ADDRLP4 4
|
|
ADDRGP4 trap_FS_FOpenFile
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 895
|
|
;895: if (len>0) {
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 0
|
|
LEI4 $407
|
|
line 896
|
|
;896: return qtrue;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $406
|
|
JUMPV
|
|
LABELV $407
|
|
line 898
|
|
;897: }
|
|
;898: return qfalse;
|
|
CNSTI4 0
|
|
RETI4
|
|
LABELV $406
|
|
endproc UI_FileExists 8 12
|
|
proc UI_FindClientHeadFile 40 40
|
|
line 906
|
|
;899:}
|
|
;900:
|
|
;901:/*
|
|
;902:==========================
|
|
;903:UI_FindClientHeadFile
|
|
;904:==========================
|
|
;905:*/
|
|
;906:static qboolean UI_FindClientHeadFile( char *filename, int length, const char *teamName, const char *headModelName, const char *headSkinName, const char *base, const char *ext ) {
|
|
line 910
|
|
;907: char *team, *headsFolder;
|
|
;908: int i;
|
|
;909:
|
|
;910: team = "default";
|
|
ADDRLP4 8
|
|
ADDRGP4 $410
|
|
ASGNP4
|
|
line 912
|
|
;911:
|
|
;912: if ( headModelName[0] == '*' ) {
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 42
|
|
NEI4 $411
|
|
line 913
|
|
;913: headsFolder = "heads/";
|
|
ADDRLP4 4
|
|
ADDRGP4 $413
|
|
ASGNP4
|
|
line 914
|
|
;914: headModelName++;
|
|
ADDRFP4 12
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
CNSTI4 1
|
|
ADDP4
|
|
ASGNP4
|
|
line 915
|
|
;915: }
|
|
ADDRGP4 $416
|
|
JUMPV
|
|
LABELV $411
|
|
line 916
|
|
;916: else {
|
|
line 917
|
|
;917: headsFolder = "";
|
|
ADDRLP4 4
|
|
ADDRGP4 $414
|
|
ASGNP4
|
|
line 918
|
|
;918: }
|
|
ADDRGP4 $416
|
|
JUMPV
|
|
LABELV $415
|
|
line 919
|
|
;919: while(1) {
|
|
line 920
|
|
;920: for ( i = 0; i < 2; i++ ) {
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
LABELV $418
|
|
line 921
|
|
;921: if ( i == 0 && teamName && *teamName ) {
|
|
ADDRLP4 12
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
NEI4 $422
|
|
ADDRLP4 16
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $422
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
EQI4 $422
|
|
line 922
|
|
;922: Com_sprintf( filename, length, "models/players/%s%s/%s/%s%s_%s.%s", headsFolder, headModelName, headSkinName, teamName, base, team, ext );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 $424
|
|
ARGP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 24
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 923
|
|
;923: }
|
|
ADDRGP4 $423
|
|
JUMPV
|
|
LABELV $422
|
|
line 924
|
|
;924: else {
|
|
line 925
|
|
;925: Com_sprintf( filename, length, "models/players/%s%s/%s/%s_%s.%s", headsFolder, headModelName, headSkinName, base, team, ext );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 $425
|
|
ARGP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 24
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 926
|
|
;926: }
|
|
LABELV $423
|
|
line 927
|
|
;927: if ( UI_FileExists( filename ) ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 20
|
|
ADDRGP4 UI_FileExists
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $426
|
|
line 928
|
|
;928: return qtrue;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $409
|
|
JUMPV
|
|
LABELV $426
|
|
line 930
|
|
;929: }
|
|
;930: if ( i == 0 && teamName && *teamName ) {
|
|
ADDRLP4 24
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
NEI4 $428
|
|
ADDRLP4 28
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $428
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
EQI4 $428
|
|
line 931
|
|
;931: Com_sprintf( filename, length, "models/players/%s%s/%s%s_%s.%s", headsFolder, headModelName, teamName, base, headSkinName, ext );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 $430
|
|
ARGP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 24
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 932
|
|
;932: }
|
|
ADDRGP4 $429
|
|
JUMPV
|
|
LABELV $428
|
|
line 933
|
|
;933: else {
|
|
line 934
|
|
;934: Com_sprintf( filename, length, "models/players/%s%s/%s_%s.%s", headsFolder, headModelName, base, headSkinName, ext );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 $431
|
|
ARGP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 24
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 935
|
|
;935: }
|
|
LABELV $429
|
|
line 936
|
|
;936: if ( UI_FileExists( filename ) ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 32
|
|
ADDRGP4 UI_FileExists
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $432
|
|
line 937
|
|
;937: return qtrue;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $409
|
|
JUMPV
|
|
LABELV $432
|
|
line 939
|
|
;938: }
|
|
;939: if ( !teamName || !*teamName ) {
|
|
ADDRLP4 36
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $436
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 0
|
|
NEI4 $434
|
|
LABELV $436
|
|
line 940
|
|
;940: break;
|
|
ADDRGP4 $420
|
|
JUMPV
|
|
LABELV $434
|
|
line 942
|
|
;941: }
|
|
;942: }
|
|
LABELV $419
|
|
line 920
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LTI4 $418
|
|
LABELV $420
|
|
line 944
|
|
;943: // if tried the heads folder first
|
|
;944: if ( headsFolder[0] ) {
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 0
|
|
EQI4 $437
|
|
line 945
|
|
;945: break;
|
|
ADDRGP4 $417
|
|
JUMPV
|
|
LABELV $437
|
|
line 947
|
|
;946: }
|
|
;947: headsFolder = "heads/";
|
|
ADDRLP4 4
|
|
ADDRGP4 $413
|
|
ASGNP4
|
|
line 948
|
|
;948: }
|
|
LABELV $416
|
|
line 919
|
|
ADDRGP4 $415
|
|
JUMPV
|
|
LABELV $417
|
|
line 950
|
|
;949:
|
|
;950: return qfalse;
|
|
CNSTI4 0
|
|
RETI4
|
|
LABELV $409
|
|
endproc UI_FindClientHeadFile 40 40
|
|
proc UI_RegisterClientSkin 156 28
|
|
line 958
|
|
;951:}
|
|
;952:
|
|
;953:/*
|
|
;954:==========================
|
|
;955:UI_RegisterClientSkin
|
|
;956:==========================
|
|
;957:*/
|
|
;958:static qboolean UI_RegisterClientSkin( playerInfo_t *pi, const char *modelName, const char *skinName, const char *headModelName, const char *headSkinName , const char *teamName) {
|
|
line 961
|
|
;959: char filename[MAX_QPATH*2];
|
|
;960:
|
|
;961: if (teamName && *teamName) {
|
|
ADDRLP4 128
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 128
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $440
|
|
ADDRLP4 128
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 0
|
|
EQI4 $440
|
|
line 962
|
|
;962: Com_sprintf( filename, sizeof( filename ), "models/players/%s/%s/lower_%s.skin", modelName, teamName, skinName );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 128
|
|
ARGI4
|
|
ADDRGP4 $442
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 963
|
|
;963: } else {
|
|
ADDRGP4 $441
|
|
JUMPV
|
|
LABELV $440
|
|
line 964
|
|
;964: Com_sprintf( filename, sizeof( filename ), "models/players/%s/lower_%s.skin", modelName, skinName );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 128
|
|
ARGI4
|
|
ADDRGP4 $443
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 965
|
|
;965: }
|
|
LABELV $441
|
|
line 966
|
|
;966: pi->legsSkin = trap_R_RegisterSkin( filename );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 132
|
|
ADDRGP4 trap_R_RegisterSkin
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ADDRLP4 132
|
|
INDIRI4
|
|
ASGNI4
|
|
line 967
|
|
;967: if (!pi->legsSkin) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $444
|
|
line 968
|
|
;968: if (teamName && *teamName) {
|
|
ADDRLP4 136
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 136
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $446
|
|
ADDRLP4 136
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 0
|
|
EQI4 $446
|
|
line 969
|
|
;969: Com_sprintf( filename, sizeof( filename ), "models/players/characters/%s/%s/lower_%s.skin", modelName, teamName, skinName );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 128
|
|
ARGI4
|
|
ADDRGP4 $448
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 970
|
|
;970: } else {
|
|
ADDRGP4 $447
|
|
JUMPV
|
|
LABELV $446
|
|
line 971
|
|
;971: Com_sprintf( filename, sizeof( filename ), "models/players/characters/%s/lower_%s.skin", modelName, skinName );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 128
|
|
ARGI4
|
|
ADDRGP4 $449
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 972
|
|
;972: }
|
|
LABELV $447
|
|
line 973
|
|
;973: pi->legsSkin = trap_R_RegisterSkin( filename );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 140
|
|
ADDRGP4 trap_R_RegisterSkin
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ADDRLP4 140
|
|
INDIRI4
|
|
ASGNI4
|
|
line 974
|
|
;974: }
|
|
LABELV $444
|
|
line 976
|
|
;975:
|
|
;976: if (teamName && *teamName) {
|
|
ADDRLP4 136
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 136
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $450
|
|
ADDRLP4 136
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 0
|
|
EQI4 $450
|
|
line 977
|
|
;977: Com_sprintf( filename, sizeof( filename ), "models/players/%s/%s/upper_%s.skin", modelName, teamName, skinName );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 128
|
|
ARGI4
|
|
ADDRGP4 $452
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 978
|
|
;978: } else {
|
|
ADDRGP4 $451
|
|
JUMPV
|
|
LABELV $450
|
|
line 979
|
|
;979: Com_sprintf( filename, sizeof( filename ), "models/players/%s/upper_%s.skin", modelName, skinName );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 128
|
|
ARGI4
|
|
ADDRGP4 $453
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 980
|
|
;980: }
|
|
LABELV $451
|
|
line 981
|
|
;981: pi->torsoSkin = trap_R_RegisterSkin( filename );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 140
|
|
ADDRGP4 trap_R_RegisterSkin
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 60
|
|
ADDP4
|
|
ADDRLP4 140
|
|
INDIRI4
|
|
ASGNI4
|
|
line 982
|
|
;982: if (!pi->torsoSkin) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 60
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $454
|
|
line 983
|
|
;983: if (teamName && *teamName) {
|
|
ADDRLP4 144
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 144
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $456
|
|
ADDRLP4 144
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 0
|
|
EQI4 $456
|
|
line 984
|
|
;984: Com_sprintf( filename, sizeof( filename ), "models/players/characters/%s/%s/upper_%s.skin", modelName, teamName, skinName );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 128
|
|
ARGI4
|
|
ADDRGP4 $458
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 985
|
|
;985: } else {
|
|
ADDRGP4 $457
|
|
JUMPV
|
|
LABELV $456
|
|
line 986
|
|
;986: Com_sprintf( filename, sizeof( filename ), "models/players/characters/%s/upper_%s.skin", modelName, skinName );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 128
|
|
ARGI4
|
|
ADDRGP4 $459
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 987
|
|
;987: }
|
|
LABELV $457
|
|
line 988
|
|
;988: pi->torsoSkin = trap_R_RegisterSkin( filename );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 148
|
|
ADDRGP4 trap_R_RegisterSkin
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 60
|
|
ADDP4
|
|
ADDRLP4 148
|
|
INDIRI4
|
|
ASGNI4
|
|
line 989
|
|
;989: }
|
|
LABELV $454
|
|
line 991
|
|
;990:
|
|
;991: if ( UI_FindClientHeadFile( filename, sizeof(filename), teamName, headModelName, headSkinName, "head", "skin" ) ) {
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 128
|
|
ARGI4
|
|
ADDRFP4 20
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $462
|
|
ARGP4
|
|
ADDRGP4 $463
|
|
ARGP4
|
|
ADDRLP4 144
|
|
ADDRGP4 UI_FindClientHeadFile
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 144
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $460
|
|
line 992
|
|
;992: pi->headSkin = trap_R_RegisterSkin( filename );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 148
|
|
ADDRGP4 trap_R_RegisterSkin
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 116
|
|
ADDP4
|
|
ADDRLP4 148
|
|
INDIRI4
|
|
ASGNI4
|
|
line 993
|
|
;993: }
|
|
LABELV $460
|
|
line 995
|
|
;994:
|
|
;995: if ( !pi->legsSkin || !pi->torsoSkin || !pi->headSkin ) {
|
|
ADDRLP4 148
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 152
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 148
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 152
|
|
INDIRI4
|
|
EQI4 $467
|
|
ADDRLP4 148
|
|
INDIRP4
|
|
CNSTI4 60
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 152
|
|
INDIRI4
|
|
EQI4 $467
|
|
ADDRLP4 148
|
|
INDIRP4
|
|
CNSTI4 116
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 152
|
|
INDIRI4
|
|
NEI4 $464
|
|
LABELV $467
|
|
line 996
|
|
;996: return qfalse;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $439
|
|
JUMPV
|
|
LABELV $464
|
|
line 999
|
|
;997: }
|
|
;998:
|
|
;999: return qtrue;
|
|
CNSTI4 1
|
|
RETI4
|
|
LABELV $439
|
|
endproc UI_RegisterClientSkin 156 28
|
|
proc UI_ParseAnimationFile 20068 12
|
|
line 1008
|
|
;1000:}
|
|
;1001:
|
|
;1002:
|
|
;1003:/*
|
|
;1004:======================
|
|
;1005:UI_ParseAnimationFile
|
|
;1006:======================
|
|
;1007:*/
|
|
;1008:static qboolean UI_ParseAnimationFile( const char *filename, animation_t *animations ) {
|
|
line 1018
|
|
;1009: char *text_p, *prev;
|
|
;1010: int len;
|
|
;1011: int i;
|
|
;1012: char *token;
|
|
;1013: float fps;
|
|
;1014: int skip;
|
|
;1015: char text[20000];
|
|
;1016: fileHandle_t f;
|
|
;1017:
|
|
;1018: memset( animations, 0, sizeof( animation_t ) * MAX_ANIMATIONS );
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
CNSTI4 868
|
|
ARGI4
|
|
ADDRGP4 memset
|
|
CALLP4
|
|
pop
|
|
line 1021
|
|
;1019:
|
|
;1020: // load the file
|
|
;1021: len = trap_FS_FOpenFile( filename, &f, FS_READ );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 20028
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
ADDRLP4 20032
|
|
ADDRGP4 trap_FS_FOpenFile
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 24
|
|
ADDRLP4 20032
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1022
|
|
;1022: if ( len <= 0 ) {
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
CNSTI4 0
|
|
GTI4 $469
|
|
line 1023
|
|
;1023: return qfalse;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $468
|
|
JUMPV
|
|
LABELV $469
|
|
line 1025
|
|
;1024: }
|
|
;1025: if ( len >= ( sizeof( text ) - 1 ) ) {
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
CVIU4 4
|
|
CNSTU4 19999
|
|
LTU4 $471
|
|
line 1026
|
|
;1026: Com_Printf( "File %s too long\n", filename );
|
|
ADDRGP4 $473
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 Com_Printf
|
|
CALLV
|
|
pop
|
|
line 1027
|
|
;1027: return qfalse;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $468
|
|
JUMPV
|
|
LABELV $471
|
|
line 1029
|
|
;1028: }
|
|
;1029: trap_FS_Read( text, len, f );
|
|
ADDRLP4 28
|
|
ARGP4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 20028
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 trap_FS_Read
|
|
CALLV
|
|
pop
|
|
line 1030
|
|
;1030: text[len] = 0;
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ADDRLP4 28
|
|
ADDP4
|
|
CNSTI1 0
|
|
ASGNI1
|
|
line 1031
|
|
;1031: trap_FS_FCloseFile( f );
|
|
ADDRLP4 20028
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 trap_FS_FCloseFile
|
|
CALLV
|
|
pop
|
|
line 1033
|
|
;1032:
|
|
;1033: COM_Compress(text);
|
|
ADDRLP4 28
|
|
ARGP4
|
|
ADDRGP4 COM_Compress
|
|
CALLI4
|
|
pop
|
|
line 1036
|
|
;1034:
|
|
;1035: // parse the text
|
|
;1036: text_p = text;
|
|
ADDRLP4 8
|
|
ADDRLP4 28
|
|
ASGNP4
|
|
line 1037
|
|
;1037: skip = 0; // quite the compiler warning
|
|
ADDRLP4 20
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $475
|
|
JUMPV
|
|
LABELV $474
|
|
line 1040
|
|
;1038:
|
|
;1039: // read optional parameters
|
|
;1040: while ( 1 ) {
|
|
line 1041
|
|
;1041: prev = text_p; // so we can unget
|
|
ADDRLP4 16
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1042
|
|
;1042: token = COM_Parse( &text_p );
|
|
ADDRLP4 8
|
|
ARGP4
|
|
ADDRLP4 20036
|
|
ADDRGP4 COM_Parse
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
ADDRLP4 20036
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1043
|
|
;1043: if ( !token ) {
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $477
|
|
line 1044
|
|
;1044: break;
|
|
ADDRGP4 $476
|
|
JUMPV
|
|
LABELV $477
|
|
line 1046
|
|
;1045: }
|
|
;1046: if ( !Q_stricmp( token, "footsteps" ) ) {
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $481
|
|
ARGP4
|
|
ADDRLP4 20040
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 20040
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $479
|
|
line 1047
|
|
;1047: token = COM_Parse( &text_p );
|
|
ADDRLP4 8
|
|
ARGP4
|
|
ADDRLP4 20044
|
|
ADDRGP4 COM_Parse
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
ADDRLP4 20044
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1048
|
|
;1048: if ( !token ) {
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $475
|
|
line 1049
|
|
;1049: break;
|
|
ADDRGP4 $476
|
|
JUMPV
|
|
line 1051
|
|
;1050: }
|
|
;1051: continue;
|
|
LABELV $479
|
|
line 1052
|
|
;1052: } else if ( !Q_stricmp( token, "headoffset" ) ) {
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $486
|
|
ARGP4
|
|
ADDRLP4 20044
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 20044
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $484
|
|
line 1053
|
|
;1053: for ( i = 0 ; i < 3 ; i++ ) {
|
|
ADDRLP4 4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
LABELV $487
|
|
line 1054
|
|
;1054: token = COM_Parse( &text_p );
|
|
ADDRLP4 8
|
|
ARGP4
|
|
ADDRLP4 20048
|
|
ADDRGP4 COM_Parse
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
ADDRLP4 20048
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1055
|
|
;1055: if ( !token ) {
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $491
|
|
line 1056
|
|
;1056: break;
|
|
ADDRGP4 $475
|
|
JUMPV
|
|
LABELV $491
|
|
line 1058
|
|
;1057: }
|
|
;1058: }
|
|
LABELV $488
|
|
line 1053
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LTI4 $487
|
|
line 1059
|
|
;1059: continue;
|
|
ADDRGP4 $475
|
|
JUMPV
|
|
LABELV $484
|
|
line 1060
|
|
;1060: } else if ( !Q_stricmp( token, "sex" ) ) {
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $495
|
|
ARGP4
|
|
ADDRLP4 20048
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 20048
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $493
|
|
line 1061
|
|
;1061: token = COM_Parse( &text_p );
|
|
ADDRLP4 8
|
|
ARGP4
|
|
ADDRLP4 20052
|
|
ADDRGP4 COM_Parse
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
ADDRLP4 20052
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1062
|
|
;1062: if ( !token ) {
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $475
|
|
line 1063
|
|
;1063: break;
|
|
ADDRGP4 $476
|
|
JUMPV
|
|
line 1065
|
|
;1064: }
|
|
;1065: continue;
|
|
LABELV $493
|
|
line 1069
|
|
;1066: }
|
|
;1067:
|
|
;1068: // if it is a number, start parsing animations
|
|
;1069: if ( token[0] >= '0' && token[0] <= '9' ) {
|
|
ADDRLP4 20052
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
ASGNI4
|
|
ADDRLP4 20052
|
|
INDIRI4
|
|
CNSTI4 48
|
|
LTI4 $498
|
|
ADDRLP4 20052
|
|
INDIRI4
|
|
CNSTI4 57
|
|
GTI4 $498
|
|
line 1070
|
|
;1070: text_p = prev; // unget the token
|
|
ADDRLP4 8
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1071
|
|
;1071: break;
|
|
ADDRGP4 $476
|
|
JUMPV
|
|
LABELV $498
|
|
line 1074
|
|
;1072: }
|
|
;1073:
|
|
;1074: Com_Printf( "unknown token '%s' is %s\n", token, filename );
|
|
ADDRGP4 $500
|
|
ARGP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 Com_Printf
|
|
CALLV
|
|
pop
|
|
line 1075
|
|
;1075: }
|
|
LABELV $475
|
|
line 1040
|
|
ADDRGP4 $474
|
|
JUMPV
|
|
LABELV $476
|
|
line 1078
|
|
;1076:
|
|
;1077: // read information for each frame
|
|
;1078: for ( i = 0 ; i < MAX_ANIMATIONS ; i++ ) {
|
|
ADDRLP4 4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
LABELV $501
|
|
line 1080
|
|
;1079:
|
|
;1080: token = COM_Parse( &text_p );
|
|
ADDRLP4 8
|
|
ARGP4
|
|
ADDRLP4 20036
|
|
ADDRGP4 COM_Parse
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
ADDRLP4 20036
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1081
|
|
;1081: if ( !token ) {
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $505
|
|
line 1082
|
|
;1082: break;
|
|
ADDRGP4 $503
|
|
JUMPV
|
|
LABELV $505
|
|
line 1084
|
|
;1083: }
|
|
;1084: animations[i].firstFrame = atoi( token );
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 20040
|
|
ADDRGP4 atoi
|
|
CALLI4
|
|
ASGNI4
|
|
CNSTI4 28
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
MULI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
ADDRLP4 20040
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1086
|
|
;1085: // leg only frames are adjusted to not count the upper body only frames
|
|
;1086: if ( i == LEGS_WALKCR ) {
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 13
|
|
NEI4 $507
|
|
line 1087
|
|
;1087: skip = animations[LEGS_WALKCR].firstFrame - animations[TORSO_GESTURE].firstFrame;
|
|
ADDRLP4 20044
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 20
|
|
ADDRLP4 20044
|
|
INDIRP4
|
|
CNSTI4 364
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 20044
|
|
INDIRP4
|
|
CNSTI4 168
|
|
ADDP4
|
|
INDIRI4
|
|
SUBI4
|
|
ASGNI4
|
|
line 1088
|
|
;1088: }
|
|
LABELV $507
|
|
line 1089
|
|
;1089: if ( i >= LEGS_WALKCR ) {
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 13
|
|
LTI4 $509
|
|
line 1090
|
|
;1090: animations[i].firstFrame -= skip;
|
|
ADDRLP4 20044
|
|
CNSTI4 28
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
MULI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 20044
|
|
INDIRP4
|
|
ADDRLP4 20044
|
|
INDIRP4
|
|
INDIRI4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
SUBI4
|
|
ASGNI4
|
|
line 1091
|
|
;1091: }
|
|
LABELV $509
|
|
line 1093
|
|
;1092:
|
|
;1093: token = COM_Parse( &text_p );
|
|
ADDRLP4 8
|
|
ARGP4
|
|
ADDRLP4 20044
|
|
ADDRGP4 COM_Parse
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
ADDRLP4 20044
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1094
|
|
;1094: if ( !token ) {
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $511
|
|
line 1095
|
|
;1095: break;
|
|
ADDRGP4 $503
|
|
JUMPV
|
|
LABELV $511
|
|
line 1097
|
|
;1096: }
|
|
;1097: animations[i].numFrames = atoi( token );
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 20048
|
|
ADDRGP4 atoi
|
|
CALLI4
|
|
ASGNI4
|
|
CNSTI4 28
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
MULI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
ADDRLP4 20048
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1099
|
|
;1098:
|
|
;1099: token = COM_Parse( &text_p );
|
|
ADDRLP4 8
|
|
ARGP4
|
|
ADDRLP4 20052
|
|
ADDRGP4 COM_Parse
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
ADDRLP4 20052
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1100
|
|
;1100: if ( !token ) {
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $513
|
|
line 1101
|
|
;1101: break;
|
|
ADDRGP4 $503
|
|
JUMPV
|
|
LABELV $513
|
|
line 1103
|
|
;1102: }
|
|
;1103: animations[i].loopFrames = atoi( token );
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 20056
|
|
ADDRGP4 atoi
|
|
CALLI4
|
|
ASGNI4
|
|
CNSTI4 28
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
MULI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
ADDRLP4 20056
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1105
|
|
;1104:
|
|
;1105: token = COM_Parse( &text_p );
|
|
ADDRLP4 8
|
|
ARGP4
|
|
ADDRLP4 20060
|
|
ADDRGP4 COM_Parse
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
ADDRLP4 20060
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1106
|
|
;1106: if ( !token ) {
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $515
|
|
line 1107
|
|
;1107: break;
|
|
ADDRGP4 $503
|
|
JUMPV
|
|
LABELV $515
|
|
line 1109
|
|
;1108: }
|
|
;1109: fps = atof( token );
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 20064
|
|
ADDRGP4 atof
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 12
|
|
ADDRLP4 20064
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1110
|
|
;1110: if ( fps == 0 ) {
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
CNSTF4 0
|
|
NEF4 $517
|
|
line 1111
|
|
;1111: fps = 1;
|
|
ADDRLP4 12
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 1112
|
|
;1112: }
|
|
LABELV $517
|
|
line 1113
|
|
;1113: animations[i].frameLerp = 1000 / fps;
|
|
CNSTI4 28
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
MULI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
CNSTF4 1148846080
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
DIVF4
|
|
CVFI4 4
|
|
ASGNI4
|
|
line 1114
|
|
;1114: animations[i].initialLerp = 1000 / fps;
|
|
CNSTI4 28
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
MULI4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
CNSTF4 1148846080
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
DIVF4
|
|
CVFI4 4
|
|
ASGNI4
|
|
line 1115
|
|
;1115: }
|
|
LABELV $502
|
|
line 1078
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 31
|
|
LTI4 $501
|
|
LABELV $503
|
|
line 1117
|
|
;1116:
|
|
;1117: if ( i != MAX_ANIMATIONS ) {
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 31
|
|
EQI4 $519
|
|
line 1118
|
|
;1118: Com_Printf( "Error parsing animation file: %s", filename );
|
|
ADDRGP4 $521
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 Com_Printf
|
|
CALLV
|
|
pop
|
|
line 1119
|
|
;1119: return qfalse;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $468
|
|
JUMPV
|
|
LABELV $519
|
|
line 1122
|
|
;1120: }
|
|
;1121:
|
|
;1122: return qtrue;
|
|
CNSTI4 1
|
|
RETI4
|
|
LABELV $468
|
|
endproc UI_ParseAnimationFile 20068 12
|
|
export UI_RegisterClientModelname
|
|
proc UI_RegisterClientModelname 356 24
|
|
line 1130
|
|
;1123:}
|
|
;1124:
|
|
;1125:/*
|
|
;1126:==========================
|
|
;1127:UI_RegisterClientModelname
|
|
;1128:==========================
|
|
;1129:*/
|
|
;1130:qboolean UI_RegisterClientModelname( playerInfo_t *pi, const char *modelSkinName, const char *headModelSkinName, const char *teamName ) {
|
|
line 1138
|
|
;1131: char modelName[MAX_QPATH];
|
|
;1132: char skinName[MAX_QPATH];
|
|
;1133: char headModelName[MAX_QPATH];
|
|
;1134: char headSkinName[MAX_QPATH];
|
|
;1135: char filename[MAX_QPATH];
|
|
;1136: char *slash;
|
|
;1137:
|
|
;1138: pi->torsoModel = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 56
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1139
|
|
;1139: pi->headModel = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 112
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1141
|
|
;1140:
|
|
;1141: if ( !modelSkinName[0] ) {
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 0
|
|
NEI4 $523
|
|
line 1142
|
|
;1142: return qfalse;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $522
|
|
JUMPV
|
|
LABELV $523
|
|
line 1145
|
|
;1143: }
|
|
;1144:
|
|
;1145: Q_strncpyz( modelName, modelSkinName, sizeof( modelName ) );
|
|
ADDRLP4 128
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 64
|
|
ARGI4
|
|
ADDRGP4 Q_strncpyz
|
|
CALLV
|
|
pop
|
|
line 1147
|
|
;1146:
|
|
;1147: slash = strchr( modelName, '/' );
|
|
ADDRLP4 128
|
|
ARGP4
|
|
CNSTI4 47
|
|
ARGI4
|
|
ADDRLP4 324
|
|
ADDRGP4 strchr
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 192
|
|
ADDRLP4 324
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1148
|
|
;1148: if ( !slash ) {
|
|
ADDRLP4 192
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $525
|
|
line 1150
|
|
;1149: // modelName did not include a skin name
|
|
;1150: Q_strncpyz( skinName, "default", sizeof( skinName ) );
|
|
ADDRLP4 196
|
|
ARGP4
|
|
ADDRGP4 $410
|
|
ARGP4
|
|
CNSTI4 64
|
|
ARGI4
|
|
ADDRGP4 Q_strncpyz
|
|
CALLV
|
|
pop
|
|
line 1151
|
|
;1151: } else {
|
|
ADDRGP4 $526
|
|
JUMPV
|
|
LABELV $525
|
|
line 1152
|
|
;1152: Q_strncpyz( skinName, slash + 1, sizeof( skinName ) );
|
|
ADDRLP4 196
|
|
ARGP4
|
|
ADDRLP4 192
|
|
INDIRP4
|
|
CNSTI4 1
|
|
ADDP4
|
|
ARGP4
|
|
CNSTI4 64
|
|
ARGI4
|
|
ADDRGP4 Q_strncpyz
|
|
CALLV
|
|
pop
|
|
line 1153
|
|
;1153: *slash = '\0';
|
|
ADDRLP4 192
|
|
INDIRP4
|
|
CNSTI1 0
|
|
ASGNI1
|
|
line 1154
|
|
;1154: }
|
|
LABELV $526
|
|
line 1156
|
|
;1155:
|
|
;1156: Q_strncpyz( headModelName, headModelSkinName, sizeof( headModelName ) );
|
|
ADDRLP4 64
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 64
|
|
ARGI4
|
|
ADDRGP4 Q_strncpyz
|
|
CALLV
|
|
pop
|
|
line 1157
|
|
;1157: slash = strchr( headModelName, '/' );
|
|
ADDRLP4 64
|
|
ARGP4
|
|
CNSTI4 47
|
|
ARGI4
|
|
ADDRLP4 328
|
|
ADDRGP4 strchr
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 192
|
|
ADDRLP4 328
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1158
|
|
;1158: if ( !slash ) {
|
|
ADDRLP4 192
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $527
|
|
line 1160
|
|
;1159: // modelName did not include a skin name
|
|
;1160: Q_strncpyz( headSkinName, "default", sizeof( skinName ) );
|
|
ADDRLP4 260
|
|
ARGP4
|
|
ADDRGP4 $410
|
|
ARGP4
|
|
CNSTI4 64
|
|
ARGI4
|
|
ADDRGP4 Q_strncpyz
|
|
CALLV
|
|
pop
|
|
line 1161
|
|
;1161: } else {
|
|
ADDRGP4 $528
|
|
JUMPV
|
|
LABELV $527
|
|
line 1162
|
|
;1162: Q_strncpyz( headSkinName, slash + 1, sizeof( skinName ) );
|
|
ADDRLP4 260
|
|
ARGP4
|
|
ADDRLP4 192
|
|
INDIRP4
|
|
CNSTI4 1
|
|
ADDP4
|
|
ARGP4
|
|
CNSTI4 64
|
|
ARGI4
|
|
ADDRGP4 Q_strncpyz
|
|
CALLV
|
|
pop
|
|
line 1163
|
|
;1163: *slash = '\0';
|
|
ADDRLP4 192
|
|
INDIRP4
|
|
CNSTI1 0
|
|
ASGNI1
|
|
line 1164
|
|
;1164: }
|
|
LABELV $528
|
|
line 1168
|
|
;1165:
|
|
;1166: // load cmodels before models so filecache works
|
|
;1167:
|
|
;1168: Com_sprintf( filename, sizeof( filename ), "models/players/%s/lower.md3", modelName );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 64
|
|
ARGI4
|
|
ADDRGP4 $529
|
|
ARGP4
|
|
ADDRLP4 128
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 1169
|
|
;1169: pi->legsModel = trap_R_RegisterModel( filename );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 332
|
|
ADDRGP4 trap_R_RegisterModel
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 332
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1170
|
|
;1170: if ( !pi->legsModel ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $530
|
|
line 1171
|
|
;1171: Com_sprintf( filename, sizeof( filename ), "models/players/characters/%s/lower.md3", modelName );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 64
|
|
ARGI4
|
|
ADDRGP4 $532
|
|
ARGP4
|
|
ADDRLP4 128
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 1172
|
|
;1172: pi->legsModel = trap_R_RegisterModel( filename );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 336
|
|
ADDRGP4 trap_R_RegisterModel
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 336
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1173
|
|
;1173: if ( !pi->legsModel ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $533
|
|
line 1174
|
|
;1174: Com_Printf( "Failed to load model file %s\n", filename );
|
|
ADDRGP4 $535
|
|
ARGP4
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRGP4 Com_Printf
|
|
CALLV
|
|
pop
|
|
line 1175
|
|
;1175: return qfalse;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $522
|
|
JUMPV
|
|
LABELV $533
|
|
line 1177
|
|
;1176: }
|
|
;1177: }
|
|
LABELV $530
|
|
line 1179
|
|
;1178:
|
|
;1179: Com_sprintf( filename, sizeof( filename ), "models/players/%s/upper.md3", modelName );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 64
|
|
ARGI4
|
|
ADDRGP4 $536
|
|
ARGP4
|
|
ADDRLP4 128
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 1180
|
|
;1180: pi->torsoModel = trap_R_RegisterModel( filename );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 336
|
|
ADDRGP4 trap_R_RegisterModel
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 56
|
|
ADDP4
|
|
ADDRLP4 336
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1181
|
|
;1181: if ( !pi->torsoModel ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 56
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $537
|
|
line 1182
|
|
;1182: Com_sprintf( filename, sizeof( filename ), "models/players/characters/%s/upper.md3", modelName );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 64
|
|
ARGI4
|
|
ADDRGP4 $539
|
|
ARGP4
|
|
ADDRLP4 128
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 1183
|
|
;1183: pi->torsoModel = trap_R_RegisterModel( filename );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 340
|
|
ADDRGP4 trap_R_RegisterModel
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 56
|
|
ADDP4
|
|
ADDRLP4 340
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1184
|
|
;1184: if ( !pi->torsoModel ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 56
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $540
|
|
line 1185
|
|
;1185: Com_Printf( "Failed to load model file %s\n", filename );
|
|
ADDRGP4 $535
|
|
ARGP4
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRGP4 Com_Printf
|
|
CALLV
|
|
pop
|
|
line 1186
|
|
;1186: return qfalse;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $522
|
|
JUMPV
|
|
LABELV $540
|
|
line 1188
|
|
;1187: }
|
|
;1188: }
|
|
LABELV $537
|
|
line 1190
|
|
;1189:
|
|
;1190: if (headModelName && headModelName[0] == '*' ) {
|
|
ADDRLP4 64
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $542
|
|
ADDRLP4 64
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 42
|
|
NEI4 $542
|
|
line 1191
|
|
;1191: Com_sprintf( filename, sizeof( filename ), "models/players/heads/%s/%s.md3", &headModelName[1], &headModelName[1] );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 64
|
|
ARGI4
|
|
ADDRGP4 $544
|
|
ARGP4
|
|
ADDRLP4 64+1
|
|
ARGP4
|
|
ADDRLP4 64+1
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 1192
|
|
;1192: }
|
|
ADDRGP4 $543
|
|
JUMPV
|
|
LABELV $542
|
|
line 1193
|
|
;1193: else {
|
|
line 1194
|
|
;1194: Com_sprintf( filename, sizeof( filename ), "models/players/%s/head.md3", headModelName );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 64
|
|
ARGI4
|
|
ADDRGP4 $547
|
|
ARGP4
|
|
ADDRLP4 64
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 1195
|
|
;1195: }
|
|
LABELV $543
|
|
line 1196
|
|
;1196: pi->headModel = trap_R_RegisterModel( filename );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 340
|
|
ADDRGP4 trap_R_RegisterModel
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 112
|
|
ADDP4
|
|
ADDRLP4 340
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1197
|
|
;1197: if ( !pi->headModel && headModelName[0] != '*') {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 112
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $548
|
|
ADDRLP4 64
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 42
|
|
EQI4 $548
|
|
line 1198
|
|
;1198: Com_sprintf( filename, sizeof( filename ), "models/players/heads/%s/%s.md3", headModelName, headModelName );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 64
|
|
ARGI4
|
|
ADDRGP4 $544
|
|
ARGP4
|
|
ADDRLP4 64
|
|
ARGP4
|
|
ADDRLP4 64
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 1199
|
|
;1199: pi->headModel = trap_R_RegisterModel( filename );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 344
|
|
ADDRGP4 trap_R_RegisterModel
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 112
|
|
ADDP4
|
|
ADDRLP4 344
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1200
|
|
;1200: }
|
|
LABELV $548
|
|
line 1202
|
|
;1201:
|
|
;1202: if (!pi->headModel) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 112
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $550
|
|
line 1203
|
|
;1203: Com_Printf( "Failed to load model file %s\n", filename );
|
|
ADDRGP4 $535
|
|
ARGP4
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRGP4 Com_Printf
|
|
CALLV
|
|
pop
|
|
line 1204
|
|
;1204: return qfalse;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $522
|
|
JUMPV
|
|
LABELV $550
|
|
line 1208
|
|
;1205: }
|
|
;1206:
|
|
;1207: // if any skins failed to load, fall back to default
|
|
;1208: if ( !UI_RegisterClientSkin( pi, modelName, skinName, headModelName, headSkinName, teamName) ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 128
|
|
ARGP4
|
|
ADDRLP4 196
|
|
ARGP4
|
|
ADDRLP4 64
|
|
ARGP4
|
|
ADDRLP4 260
|
|
ARGP4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 344
|
|
ADDRGP4 UI_RegisterClientSkin
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 344
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $552
|
|
line 1209
|
|
;1209: if ( !UI_RegisterClientSkin( pi, modelName, "default", headModelName, "default", teamName ) ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 128
|
|
ARGP4
|
|
ADDRLP4 348
|
|
ADDRGP4 $410
|
|
ASGNP4
|
|
ADDRLP4 348
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 64
|
|
ARGP4
|
|
ADDRLP4 348
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 352
|
|
ADDRGP4 UI_RegisterClientSkin
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 352
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $554
|
|
line 1210
|
|
;1210: Com_Printf( "Failed to load skin file: %s : %s\n", modelName, skinName );
|
|
ADDRGP4 $556
|
|
ARGP4
|
|
ADDRLP4 128
|
|
ARGP4
|
|
ADDRLP4 196
|
|
ARGP4
|
|
ADDRGP4 Com_Printf
|
|
CALLV
|
|
pop
|
|
line 1211
|
|
;1211: return qfalse;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $522
|
|
JUMPV
|
|
LABELV $554
|
|
line 1213
|
|
;1212: }
|
|
;1213: }
|
|
LABELV $552
|
|
line 1216
|
|
;1214:
|
|
;1215: // load the animations
|
|
;1216: Com_sprintf( filename, sizeof( filename ), "models/players/%s/animation.cfg", modelName );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 64
|
|
ARGI4
|
|
ADDRGP4 $557
|
|
ARGP4
|
|
ADDRLP4 128
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 1217
|
|
;1217: if ( !UI_ParseAnimationFile( filename, pi->animations ) ) {
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 120
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 348
|
|
ADDRGP4 UI_ParseAnimationFile
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 348
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $558
|
|
line 1218
|
|
;1218: Com_sprintf( filename, sizeof( filename ), "models/players/characters/%s/animation.cfg", modelName );
|
|
ADDRLP4 0
|
|
ARGP4
|
|
CNSTI4 64
|
|
ARGI4
|
|
ADDRGP4 $560
|
|
ARGP4
|
|
ADDRLP4 128
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 1219
|
|
;1219: if ( !UI_ParseAnimationFile( filename, pi->animations ) ) {
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 120
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 352
|
|
ADDRGP4 UI_ParseAnimationFile
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 352
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $561
|
|
line 1220
|
|
;1220: Com_Printf( "Failed to load animation file %s\n", filename );
|
|
ADDRGP4 $563
|
|
ARGP4
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRGP4 Com_Printf
|
|
CALLV
|
|
pop
|
|
line 1221
|
|
;1221: return qfalse;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $522
|
|
JUMPV
|
|
LABELV $561
|
|
line 1223
|
|
;1222: }
|
|
;1223: }
|
|
LABELV $558
|
|
line 1225
|
|
;1224:
|
|
;1225: return qtrue;
|
|
CNSTI4 1
|
|
RETI4
|
|
LABELV $522
|
|
endproc UI_RegisterClientModelname 356 24
|
|
export UI_PlayerInfo_SetModel
|
|
proc UI_PlayerInfo_SetModel 12 16
|
|
line 1234
|
|
;1226:}
|
|
;1227:
|
|
;1228:
|
|
;1229:/*
|
|
;1230:===============
|
|
;1231:UI_PlayerInfo_SetModel
|
|
;1232:===============
|
|
;1233:*/
|
|
;1234:void UI_PlayerInfo_SetModel( playerInfo_t *pi, const char *model, const char *headmodel, char *teamName ) {
|
|
line 1235
|
|
;1235: memset( pi, 0, sizeof(*pi) );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
CNSTI4 1276
|
|
ARGI4
|
|
ADDRGP4 memset
|
|
CALLP4
|
|
pop
|
|
line 1236
|
|
;1236: UI_RegisterClientModelname( pi, model, headmodel, teamName );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 UI_RegisterClientModelname
|
|
CALLI4
|
|
pop
|
|
line 1238
|
|
;1237: //Blaze: Changed from WP_MACHINEGUN to WP_PISTOL
|
|
;1238: pi->weapon = WP_PISTOL;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1220
|
|
ADDP4
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 1239
|
|
;1239: pi->currentWeapon = pi->weapon;
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 1208
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 1220
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1240
|
|
;1240: pi->lastWeapon = pi->weapon;
|
|
ADDRLP4 4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 1224
|
|
ADDP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 1220
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1241
|
|
;1241: pi->pendingWeapon = -1;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1228
|
|
ADDP4
|
|
CNSTI4 -1
|
|
ASGNI4
|
|
line 1242
|
|
;1242: pi->weaponTimer = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1232
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1243
|
|
;1243: pi->chat = qfalse;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1252
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1244
|
|
;1244: pi->newModel = qtrue;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1256
|
|
ADDP4
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 1245
|
|
;1245: UI_PlayerInfo_SetWeapon( pi, pi->weapon );
|
|
ADDRLP4 8
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CNSTI4 1220
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 UI_PlayerInfo_SetWeapon
|
|
CALLV
|
|
pop
|
|
line 1246
|
|
;1246:}
|
|
LABELV $564
|
|
endproc UI_PlayerInfo_SetModel 12 16
|
|
export UI_PlayerInfo_SetInfo
|
|
proc UI_PlayerInfo_SetInfo 36 8
|
|
line 1254
|
|
;1247:
|
|
;1248:
|
|
;1249:/*
|
|
;1250:===============
|
|
;1251:UI_PlayerInfo_SetInfo
|
|
;1252:===============
|
|
;1253:*/
|
|
;1254:void UI_PlayerInfo_SetInfo( playerInfo_t *pi, int legsAnim, int torsoAnim, vec3_t viewAngles, vec3_t moveAngles, weapon_t weaponNumber, qboolean chat ) {
|
|
line 1258
|
|
;1255: int currentAnim;
|
|
;1256: weapon_t weaponNum;
|
|
;1257:
|
|
;1258: pi->chat = chat;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1252
|
|
ADDP4
|
|
ADDRFP4 24
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1261
|
|
;1259:
|
|
;1260: // view angles
|
|
;1261: VectorCopy( viewAngles, pi->viewAngles );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1184
|
|
ADDP4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 1264
|
|
;1262:
|
|
;1263: // move angles
|
|
;1264: VectorCopy( moveAngles, pi->moveAngles );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1196
|
|
ADDP4
|
|
ADDRFP4 16
|
|
INDIRP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 1266
|
|
;1265:
|
|
;1266: if ( pi->newModel ) {
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1256
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $566
|
|
line 1267
|
|
;1267: pi->newModel = qfalse;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1256
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1269
|
|
;1268:
|
|
;1269: jumpHeight = 0;
|
|
ADDRGP4 jumpHeight
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 1270
|
|
;1270: pi->pendingLegsAnim = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1236
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1271
|
|
;1271: UI_ForceLegsAnim( pi, legsAnim );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 UI_ForceLegsAnim
|
|
CALLV
|
|
pop
|
|
line 1272
|
|
;1272: pi->legs.yawAngle = viewAngles[YAW];
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1273
|
|
;1273: pi->legs.yawing = qfalse;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 32
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1275
|
|
;1274:
|
|
;1275: pi->pendingTorsoAnim = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1244
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1276
|
|
;1276: UI_ForceTorsoAnim( pi, torsoAnim );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 UI_ForceTorsoAnim
|
|
CALLV
|
|
pop
|
|
line 1277
|
|
;1277: pi->torso.yawAngle = viewAngles[YAW];
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 84
|
|
ADDP4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1278
|
|
;1278: pi->torso.yawing = qfalse;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 88
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1280
|
|
;1279:
|
|
;1280: if ( weaponNumber != -1 ) {
|
|
ADDRFP4 20
|
|
INDIRI4
|
|
CNSTI4 -1
|
|
EQI4 $565
|
|
line 1281
|
|
;1281: pi->weapon = weaponNumber;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1220
|
|
ADDP4
|
|
ADDRFP4 20
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1282
|
|
;1282: pi->currentWeapon = weaponNumber;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1208
|
|
ADDP4
|
|
ADDRFP4 20
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1283
|
|
;1283: pi->lastWeapon = weaponNumber;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1224
|
|
ADDP4
|
|
ADDRFP4 20
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1284
|
|
;1284: pi->pendingWeapon = -1;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1228
|
|
ADDP4
|
|
CNSTI4 -1
|
|
ASGNI4
|
|
line 1285
|
|
;1285: pi->weaponTimer = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1232
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1286
|
|
;1286: UI_PlayerInfo_SetWeapon( pi, pi->weapon );
|
|
ADDRLP4 8
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CNSTI4 1220
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 UI_PlayerInfo_SetWeapon
|
|
CALLV
|
|
pop
|
|
line 1287
|
|
;1287: }
|
|
line 1289
|
|
;1288:
|
|
;1289: return;
|
|
ADDRGP4 $565
|
|
JUMPV
|
|
LABELV $566
|
|
line 1293
|
|
;1290: }
|
|
;1291:
|
|
;1292: // weapon
|
|
;1293: if ( weaponNumber == -1 ) {
|
|
ADDRFP4 20
|
|
INDIRI4
|
|
CNSTI4 -1
|
|
NEI4 $570
|
|
line 1294
|
|
;1294: pi->pendingWeapon = -1;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1228
|
|
ADDP4
|
|
CNSTI4 -1
|
|
ASGNI4
|
|
line 1295
|
|
;1295: pi->weaponTimer = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1232
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1296
|
|
;1296: }
|
|
ADDRGP4 $571
|
|
JUMPV
|
|
LABELV $570
|
|
line 1297
|
|
;1297: else if ( weaponNumber != WP_NONE ) {
|
|
ADDRFP4 20
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $572
|
|
line 1298
|
|
;1298: pi->pendingWeapon = weaponNumber;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1228
|
|
ADDP4
|
|
ADDRFP4 20
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1299
|
|
;1299: pi->weaponTimer = dp_realtime + UI_TIMER_WEAPON_DELAY;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1232
|
|
ADDP4
|
|
ADDRGP4 dp_realtime
|
|
INDIRI4
|
|
CNSTI4 250
|
|
ADDI4
|
|
ASGNI4
|
|
line 1300
|
|
;1300: }
|
|
LABELV $572
|
|
LABELV $571
|
|
line 1301
|
|
;1301: weaponNum = pi->lastWeapon;
|
|
ADDRLP4 4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1224
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1302
|
|
;1302: pi->weapon = weaponNum;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1220
|
|
ADDP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1304
|
|
;1303:
|
|
;1304: if ( torsoAnim == BOTH_DEATH1 || legsAnim == BOTH_DEATH1 ) {
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
EQI4 $576
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
NEI4 $574
|
|
LABELV $576
|
|
line 1305
|
|
;1305: torsoAnim = legsAnim = BOTH_DEATH1;
|
|
ADDRLP4 12
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRFP4 8
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1306
|
|
;1306: pi->weapon = pi->currentWeapon = WP_NONE;
|
|
ADDRLP4 16
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 20
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 1208
|
|
ADDP4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 1220
|
|
ADDP4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1307
|
|
;1307: UI_PlayerInfo_SetWeapon( pi, pi->weapon );
|
|
ADDRLP4 24
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 1220
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 UI_PlayerInfo_SetWeapon
|
|
CALLV
|
|
pop
|
|
line 1309
|
|
;1308:
|
|
;1309: jumpHeight = 0;
|
|
ADDRGP4 jumpHeight
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 1310
|
|
;1310: pi->pendingLegsAnim = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1236
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1311
|
|
;1311: UI_ForceLegsAnim( pi, legsAnim );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 UI_ForceLegsAnim
|
|
CALLV
|
|
pop
|
|
line 1313
|
|
;1312:
|
|
;1313: pi->pendingTorsoAnim = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1244
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1314
|
|
;1314: UI_ForceTorsoAnim( pi, torsoAnim );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 UI_ForceTorsoAnim
|
|
CALLV
|
|
pop
|
|
line 1316
|
|
;1315:
|
|
;1316: return;
|
|
ADDRGP4 $565
|
|
JUMPV
|
|
LABELV $574
|
|
line 1320
|
|
;1317: }
|
|
;1318:
|
|
;1319: // leg animation
|
|
;1320: currentAnim = pi->legsAnim & ~ANIM_TOGGLEBIT;
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1212
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 -129
|
|
BANDI4
|
|
ASGNI4
|
|
line 1321
|
|
;1321: if ( legsAnim != LEGS_JUMP && ( currentAnim == LEGS_JUMP || currentAnim == LEGS_LAND ) ) {
|
|
ADDRLP4 12
|
|
CNSTI4 18
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
EQI4 $577
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
EQI4 $579
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 19
|
|
NEI4 $577
|
|
LABELV $579
|
|
line 1322
|
|
;1322: pi->pendingLegsAnim = legsAnim;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1236
|
|
ADDP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1323
|
|
;1323: }
|
|
ADDRGP4 $578
|
|
JUMPV
|
|
LABELV $577
|
|
line 1324
|
|
;1324: else if ( legsAnim != currentAnim ) {
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
EQI4 $580
|
|
line 1325
|
|
;1325: jumpHeight = 0;
|
|
ADDRGP4 jumpHeight
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 1326
|
|
;1326: pi->pendingLegsAnim = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1236
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1327
|
|
;1327: UI_ForceLegsAnim( pi, legsAnim );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 UI_ForceLegsAnim
|
|
CALLV
|
|
pop
|
|
line 1328
|
|
;1328: }
|
|
LABELV $580
|
|
LABELV $578
|
|
line 1331
|
|
;1329:
|
|
;1330: // torso animation
|
|
;1331: if ( torsoAnim == TORSO_STAND || torsoAnim == TORSO_STAND2 ) {
|
|
ADDRLP4 20
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
CNSTI4 11
|
|
EQI4 $584
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
CNSTI4 12
|
|
NEI4 $582
|
|
LABELV $584
|
|
line 1333
|
|
;1332: //Changed from WP_GAUNTLET to WP_KNIFE
|
|
;1333: if ( weaponNum == WP_NONE || weaponNum == WP_KNIFE ) {
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $587
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 8
|
|
NEI4 $585
|
|
LABELV $587
|
|
line 1334
|
|
;1334: torsoAnim = TORSO_STAND2;
|
|
ADDRFP4 8
|
|
CNSTI4 12
|
|
ASGNI4
|
|
line 1335
|
|
;1335: }
|
|
ADDRGP4 $586
|
|
JUMPV
|
|
LABELV $585
|
|
line 1336
|
|
;1336: else {
|
|
line 1337
|
|
;1337: torsoAnim = TORSO_STAND;
|
|
ADDRFP4 8
|
|
CNSTI4 11
|
|
ASGNI4
|
|
line 1338
|
|
;1338: }
|
|
LABELV $586
|
|
line 1339
|
|
;1339: }
|
|
LABELV $582
|
|
line 1341
|
|
;1340:
|
|
;1341: if ( torsoAnim == TORSO_ATTACK || torsoAnim == TORSO_ATTACK2 ) {
|
|
ADDRLP4 24
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
CNSTI4 7
|
|
EQI4 $590
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
CNSTI4 8
|
|
NEI4 $588
|
|
LABELV $590
|
|
line 1343
|
|
;1342: //Changed from WP_GAUNTLET to WP_KNIFE
|
|
;1343: if ( weaponNum == WP_NONE || weaponNum == WP_KNIFE ) {
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $593
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 8
|
|
NEI4 $591
|
|
LABELV $593
|
|
line 1344
|
|
;1344: torsoAnim = TORSO_ATTACK2;
|
|
ADDRFP4 8
|
|
CNSTI4 8
|
|
ASGNI4
|
|
line 1345
|
|
;1345: }
|
|
ADDRGP4 $592
|
|
JUMPV
|
|
LABELV $591
|
|
line 1346
|
|
;1346: else {
|
|
line 1347
|
|
;1347: torsoAnim = TORSO_ATTACK;
|
|
ADDRFP4 8
|
|
CNSTI4 7
|
|
ASGNI4
|
|
line 1348
|
|
;1348: }
|
|
LABELV $592
|
|
line 1349
|
|
;1349: pi->muzzleFlashTime = dp_realtime + UI_TIMER_MUZZLE_FLASH;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1180
|
|
ADDP4
|
|
ADDRGP4 dp_realtime
|
|
INDIRI4
|
|
CNSTI4 20
|
|
ADDI4
|
|
ASGNI4
|
|
line 1351
|
|
;1350: //FIXME play firing sound here
|
|
;1351: }
|
|
LABELV $588
|
|
line 1353
|
|
;1352:
|
|
;1353: currentAnim = pi->torsoAnim & ~ANIM_TOGGLEBIT;
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1216
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 -129
|
|
BANDI4
|
|
ASGNI4
|
|
line 1355
|
|
;1354:
|
|
;1355: if ( weaponNum != pi->currentWeapon || currentAnim == TORSO_RAISE || currentAnim == TORSO_DROP ) {
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1208
|
|
ADDP4
|
|
INDIRI4
|
|
NEI4 $597
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 10
|
|
EQI4 $597
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 9
|
|
NEI4 $594
|
|
LABELV $597
|
|
line 1356
|
|
;1356: pi->pendingTorsoAnim = torsoAnim;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1244
|
|
ADDP4
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1357
|
|
;1357: }
|
|
ADDRGP4 $595
|
|
JUMPV
|
|
LABELV $594
|
|
line 1358
|
|
;1358: else if ( ( currentAnim == TORSO_GESTURE || currentAnim == TORSO_ATTACK ) && ( torsoAnim != currentAnim ) ) {
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 6
|
|
EQI4 $600
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 7
|
|
NEI4 $598
|
|
LABELV $600
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
EQI4 $598
|
|
line 1359
|
|
;1359: pi->pendingTorsoAnim = torsoAnim;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1244
|
|
ADDP4
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1360
|
|
;1360: }
|
|
ADDRGP4 $599
|
|
JUMPV
|
|
LABELV $598
|
|
line 1361
|
|
;1361: else if ( torsoAnim != currentAnim ) {
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
EQI4 $601
|
|
line 1362
|
|
;1362: pi->pendingTorsoAnim = 0;
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 1244
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1363
|
|
;1363: UI_ForceTorsoAnim( pi, torsoAnim );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 UI_ForceTorsoAnim
|
|
CALLV
|
|
pop
|
|
line 1364
|
|
;1364: }
|
|
LABELV $601
|
|
LABELV $599
|
|
LABELV $595
|
|
line 1365
|
|
;1365:}
|
|
LABELV $565
|
|
endproc UI_PlayerInfo_SetInfo 36 8
|
|
bss
|
|
align 4
|
|
LABELV jumpHeight
|
|
skip 4
|
|
align 4
|
|
LABELV dp_realtime
|
|
skip 4
|
|
import UI_RankStatusMenu
|
|
import RankStatus_Cache
|
|
import UI_SignupMenu
|
|
import Signup_Cache
|
|
import UI_LoginMenu
|
|
import Login_Cache
|
|
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_GetBotNameByNumber
|
|
import UI_LoadBots
|
|
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_VerifyCDKey
|
|
import trap_R_RemapShader
|
|
import trap_RealTime
|
|
import trap_CIN_SetExtents
|
|
import trap_CIN_DrawCinematic
|
|
import trap_CIN_RunCinematic
|
|
import trap_CIN_StopCinematic
|
|
import trap_CIN_PlayCinematic
|
|
import trap_S_StartBackgroundTrack
|
|
import trap_S_StopBackgroundTrack
|
|
import trap_R_RegisterFont
|
|
import trap_SetCDKey
|
|
import trap_GetCDKey
|
|
import trap_MemoryRemaining
|
|
import trap_LAN_CompareServers
|
|
import trap_LAN_ServerStatus
|
|
import trap_LAN_ResetPings
|
|
import trap_LAN_RemoveServer
|
|
import trap_LAN_AddServer
|
|
import trap_LAN_UpdateVisiblePings
|
|
import trap_LAN_ServerIsVisible
|
|
import trap_LAN_MarkServerVisible
|
|
import trap_LAN_SaveCachedServers
|
|
import trap_LAN_LoadCachedServers
|
|
import trap_LAN_GetPingInfo
|
|
import trap_LAN_GetPing
|
|
import trap_LAN_ClearPing
|
|
import trap_LAN_GetPingQueueCount
|
|
import trap_LAN_GetServerPing
|
|
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_ModelBounds
|
|
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_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 UI_LoadBestScores
|
|
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
|
|
import UI_ProportionalSizeScale
|
|
import UI_DrawBannerString
|
|
import UI_LerpColor
|
|
import UI_SetColor
|
|
import UI_UpdateScreen
|
|
import UI_DrawSides
|
|
import UI_DrawTopBottom
|
|
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 uiInfo
|
|
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_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 UI_LoadArenas
|
|
import UI_ClearScores
|
|
import UI_ShowPostGame
|
|
import UI_AdjustTimeByGame
|
|
import _UI_SetActiveMenu
|
|
import UI_LoadMenus
|
|
import UI_Load
|
|
import UI_Report
|
|
import MenuField_Key
|
|
import MenuField_Draw
|
|
import MenuField_Init
|
|
import MField_Draw
|
|
import MField_CharEvent
|
|
import MField_KeyDownEvent
|
|
import MField_Clear
|
|
import ui_medalSounds
|
|
import ui_medalPicNames
|
|
import ui_medalNames
|
|
import text_color_highlight
|
|
import text_color_normal
|
|
import text_color_disabled
|
|
import listbar_color
|
|
import list_color
|
|
import name_color
|
|
import color_dim
|
|
import color_red
|
|
import color_orange
|
|
import color_blue
|
|
import color_yellow
|
|
import color_white
|
|
import color_black
|
|
import menu_dim_color
|
|
import menu_black_color
|
|
import menu_red_color
|
|
import menu_highlight_color
|
|
import menu_dark_color
|
|
import menu_grayed_color
|
|
import menu_text_color
|
|
export weaponChangeSound
|
|
align 4
|
|
LABELV weaponChangeSound
|
|
skip 4
|
|
import menu_null_sound
|
|
import menu_buzz_sound
|
|
import menu_out_sound
|
|
import menu_move_sound
|
|
import menu_in_sound
|
|
import ScrollList_Key
|
|
import ScrollList_Draw
|
|
import Bitmap_Draw
|
|
import Bitmap_Init
|
|
import Menu_DefaultKey
|
|
import Menu_SetCursorToItem
|
|
import Menu_SetCursor
|
|
import Menu_ActivateItem
|
|
import Menu_ItemAtCursor
|
|
import Menu_Draw
|
|
import Menu_AdjustCursor
|
|
import Menu_AddItem
|
|
import Menu_Focus
|
|
import Menu_Cache
|
|
import ui_serverStatusTimeOut
|
|
import ui_bigFont
|
|
import ui_smallFont
|
|
import ui_scoreTime
|
|
import ui_scoreShutoutBonus
|
|
import ui_scoreSkillBonus
|
|
import ui_scoreTimeBonus
|
|
import ui_scoreBase
|
|
import ui_scoreTeam
|
|
import ui_scorePerfect
|
|
import ui_scoreScore
|
|
import ui_scoreGauntlets
|
|
import ui_scoreAssists
|
|
import ui_scoreDefends
|
|
import ui_scoreExcellents
|
|
import ui_scoreImpressives
|
|
import ui_scoreAccuracy
|
|
import ui_singlePlayerActive
|
|
import ui_lastServerRefresh_3
|
|
import ui_lastServerRefresh_2
|
|
import ui_lastServerRefresh_1
|
|
import ui_lastServerRefresh_0
|
|
import ui_selectedPlayerName
|
|
import ui_selectedPlayer
|
|
import ui_currentOpponent
|
|
import ui_mapIndex
|
|
import ui_currentNetMap
|
|
import ui_currentMap
|
|
import ui_currentTier
|
|
import ui_menuFiles
|
|
import ui_opponentName
|
|
import ui_dedicated
|
|
import ui_serverFilterType
|
|
import ui_netSource
|
|
import ui_joinGameType
|
|
import ui_actualNetGameType
|
|
import ui_netGameType
|
|
import ui_gameType
|
|
import ui_fragLimit
|
|
import ui_captureLimit
|
|
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 trap_PC_SourceFileAndLine
|
|
import trap_PC_ReadToken
|
|
import trap_PC_FreeSource
|
|
import trap_PC_LoadSource
|
|
import trap_PC_AddGlobalDefine
|
|
import Controls_SetDefaults
|
|
import Controls_SetConfig
|
|
import Controls_GetConfig
|
|
import UI_OutOfMemory
|
|
import UI_InitMemory
|
|
import UI_Alloc
|
|
import Display_CacheAll
|
|
import Menu_SetFeederSelection
|
|
import Menu_Paint
|
|
import Menus_CloseAll
|
|
import LerpColor
|
|
import Display_HandleKey
|
|
import Menus_CloseByName
|
|
import Menus_ShowByName
|
|
import Menus_FindByName
|
|
import Menus_OpenByName
|
|
import Display_KeyBindPending
|
|
import Display_CursorType
|
|
import Display_MouseMove
|
|
import Display_CaptureItem
|
|
import Display_GetContext
|
|
import Menus_Activate
|
|
import Menus_AnyFullScreenVisible
|
|
import Menu_Reset
|
|
import Menus_ActivateByName
|
|
import Menu_PaintAll
|
|
import Menu_New
|
|
import Menu_Count
|
|
import PC_Script_Parse
|
|
import PC_String_Parse
|
|
import PC_Rect_Parse
|
|
import PC_Int_Parse
|
|
import PC_Color_Parse
|
|
import PC_Float_Parse
|
|
import Script_Parse
|
|
import String_Parse
|
|
import Rect_Parse
|
|
import Int_Parse
|
|
import Color_Parse
|
|
import Float_Parse
|
|
import Menu_ScrollFeeder
|
|
import Menu_HandleMouseMove
|
|
import Menu_HandleKey
|
|
import Menu_GetFocused
|
|
import Menu_PostParse
|
|
import Item_Init
|
|
import Menu_Init
|
|
import Display_ExpandMacros
|
|
import Init_Display
|
|
import String_Report
|
|
import String_Init
|
|
import String_Alloc
|
|
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 ClipAmountForAmmo
|
|
import ClipAmountForReload
|
|
import Pmove
|
|
import PM_UpdateViewAngles
|
|
import Com_Printf
|
|
import Com_Error
|
|
import Info_NextPair
|
|
import Info_Validate
|
|
import Info_SetValueForKey_Big
|
|
import Info_SetValueForKey
|
|
import Info_RemoveKey_big
|
|
import Info_RemoveKey
|
|
import Info_ValueForKey
|
|
import va
|
|
import Q_CleanStr
|
|
import Q_PrintStrlen
|
|
import Q_strcat
|
|
import Q_strncpyz
|
|
import Q_strrchr
|
|
import Q_strupr
|
|
import Q_strlwr
|
|
import Q_stricmpn
|
|
import Q_strncmp
|
|
import Q_stricmp
|
|
import Q_isalpha
|
|
import Q_isupper
|
|
import Q_islower
|
|
import Q_isprint
|
|
import Com_sprintf
|
|
import Parse3DMatrix
|
|
import Parse2DMatrix
|
|
import Parse1DMatrix
|
|
import SkipRestOfLine
|
|
import SkipBracedSection
|
|
import COM_MatchToken
|
|
import COM_ParseWarning
|
|
import COM_ParseError
|
|
import COM_Compress
|
|
import COM_ParseExt
|
|
import COM_Parse
|
|
import COM_GetCurrentParseLine
|
|
import COM_BeginParseSession
|
|
import COM_DefaultExtension
|
|
import COM_StripExtension
|
|
import COM_SkipPath
|
|
import Com_Clamp
|
|
import PerpendicularVector
|
|
import AngleVectors
|
|
import MatrixMultiply
|
|
import MakeNormalVectors
|
|
import RotateAroundDirection
|
|
import RotatePointAroundVector
|
|
import ProjectPointOnPlane
|
|
import PlaneFromPoints
|
|
import AngleDelta
|
|
import AngleNormalize180
|
|
import AngleNormalize360
|
|
import AnglesSubtract
|
|
import AngleSubtract
|
|
import LerpAngle
|
|
import AngleMod
|
|
import BoxOnPlaneSide
|
|
import SetPlaneSignbits
|
|
import AxisCopy
|
|
import AxisClear
|
|
import AnglesToAxis
|
|
import vectoangles
|
|
import Q_crandom
|
|
import Q_random
|
|
import Q_rand
|
|
import Q_acos
|
|
import Q_log2
|
|
import VectorRotate
|
|
import Vector4Scale
|
|
import VectorNormalize2
|
|
import VectorNormalize
|
|
import CrossProduct
|
|
import VectorInverse
|
|
import VectorNormalizeFast
|
|
import DistanceSquared
|
|
import Distance
|
|
import VectorLengthSquared
|
|
import VectorLength
|
|
import VectorCompare
|
|
import AddPointToBounds
|
|
import ClearBounds
|
|
import RadiusFromBounds
|
|
import NormalizeColor
|
|
import ColorBytes4
|
|
import ColorBytes3
|
|
import _VectorMA
|
|
import _VectorScale
|
|
import _VectorCopy
|
|
import _VectorAdd
|
|
import _VectorSubtract
|
|
import _DotProduct
|
|
import ByteToDir
|
|
import DirToByte
|
|
import ClampShort
|
|
import ClampChar
|
|
import Q_rsqrt
|
|
import Q_fabs
|
|
import axisDefault
|
|
import vec3_origin
|
|
import g_color_table
|
|
import colorDkGrey
|
|
import colorMdGrey
|
|
import colorLtGrey
|
|
import colorWhite
|
|
import colorCyan
|
|
import colorMagenta
|
|
import colorYellow
|
|
import colorBlue
|
|
import colorGreen
|
|
import colorRed
|
|
import colorBlack
|
|
import bytedirs
|
|
import Com_Memcpy
|
|
import Com_Memset
|
|
import Hunk_Alloc
|
|
import FloatSwap
|
|
import LongSwap
|
|
import ShortSwap
|
|
import acos
|
|
import fabs
|
|
import abs
|
|
import tan
|
|
import atan2
|
|
import cos
|
|
import sin
|
|
import sqrt
|
|
import floor
|
|
import ceil
|
|
import memcpy
|
|
import memset
|
|
import memmove
|
|
import sscanf
|
|
import vsprintf
|
|
import _atoi
|
|
import atoi
|
|
import _atof
|
|
import atof
|
|
import toupper
|
|
import tolower
|
|
import strncpy
|
|
import strstr
|
|
import strchr
|
|
import strcmp
|
|
import strcpy
|
|
import strcat
|
|
import strlen
|
|
import rand
|
|
import srand
|
|
import qsort
|
|
lit
|
|
align 1
|
|
LABELV $563
|
|
byte 1 70
|
|
byte 1 97
|
|
byte 1 105
|
|
byte 1 108
|
|
byte 1 101
|
|
byte 1 100
|
|
byte 1 32
|
|
byte 1 116
|
|
byte 1 111
|
|
byte 1 32
|
|
byte 1 108
|
|
byte 1 111
|
|
byte 1 97
|
|
byte 1 100
|
|
byte 1 32
|
|
byte 1 97
|
|
byte 1 110
|
|
byte 1 105
|
|
byte 1 109
|
|
byte 1 97
|
|
byte 1 116
|
|
byte 1 105
|
|
byte 1 111
|
|
byte 1 110
|
|
byte 1 32
|
|
byte 1 102
|
|
byte 1 105
|
|
byte 1 108
|
|
byte 1 101
|
|
byte 1 32
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 10
|
|
byte 1 0
|
|
align 1
|
|
LABELV $560
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 99
|
|
byte 1 104
|
|
byte 1 97
|
|
byte 1 114
|
|
byte 1 97
|
|
byte 1 99
|
|
byte 1 116
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 97
|
|
byte 1 110
|
|
byte 1 105
|
|
byte 1 109
|
|
byte 1 97
|
|
byte 1 116
|
|
byte 1 105
|
|
byte 1 111
|
|
byte 1 110
|
|
byte 1 46
|
|
byte 1 99
|
|
byte 1 102
|
|
byte 1 103
|
|
byte 1 0
|
|
align 1
|
|
LABELV $557
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 97
|
|
byte 1 110
|
|
byte 1 105
|
|
byte 1 109
|
|
byte 1 97
|
|
byte 1 116
|
|
byte 1 105
|
|
byte 1 111
|
|
byte 1 110
|
|
byte 1 46
|
|
byte 1 99
|
|
byte 1 102
|
|
byte 1 103
|
|
byte 1 0
|
|
align 1
|
|
LABELV $556
|
|
byte 1 70
|
|
byte 1 97
|
|
byte 1 105
|
|
byte 1 108
|
|
byte 1 101
|
|
byte 1 100
|
|
byte 1 32
|
|
byte 1 116
|
|
byte 1 111
|
|
byte 1 32
|
|
byte 1 108
|
|
byte 1 111
|
|
byte 1 97
|
|
byte 1 100
|
|
byte 1 32
|
|
byte 1 115
|
|
byte 1 107
|
|
byte 1 105
|
|
byte 1 110
|
|
byte 1 32
|
|
byte 1 102
|
|
byte 1 105
|
|
byte 1 108
|
|
byte 1 101
|
|
byte 1 58
|
|
byte 1 32
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 32
|
|
byte 1 58
|
|
byte 1 32
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 10
|
|
byte 1 0
|
|
align 1
|
|
LABELV $547
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 104
|
|
byte 1 101
|
|
byte 1 97
|
|
byte 1 100
|
|
byte 1 46
|
|
byte 1 109
|
|
byte 1 100
|
|
byte 1 51
|
|
byte 1 0
|
|
align 1
|
|
LABELV $544
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 104
|
|
byte 1 101
|
|
byte 1 97
|
|
byte 1 100
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 46
|
|
byte 1 109
|
|
byte 1 100
|
|
byte 1 51
|
|
byte 1 0
|
|
align 1
|
|
LABELV $539
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 99
|
|
byte 1 104
|
|
byte 1 97
|
|
byte 1 114
|
|
byte 1 97
|
|
byte 1 99
|
|
byte 1 116
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 117
|
|
byte 1 112
|
|
byte 1 112
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 46
|
|
byte 1 109
|
|
byte 1 100
|
|
byte 1 51
|
|
byte 1 0
|
|
align 1
|
|
LABELV $536
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 117
|
|
byte 1 112
|
|
byte 1 112
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 46
|
|
byte 1 109
|
|
byte 1 100
|
|
byte 1 51
|
|
byte 1 0
|
|
align 1
|
|
LABELV $535
|
|
byte 1 70
|
|
byte 1 97
|
|
byte 1 105
|
|
byte 1 108
|
|
byte 1 101
|
|
byte 1 100
|
|
byte 1 32
|
|
byte 1 116
|
|
byte 1 111
|
|
byte 1 32
|
|
byte 1 108
|
|
byte 1 111
|
|
byte 1 97
|
|
byte 1 100
|
|
byte 1 32
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 32
|
|
byte 1 102
|
|
byte 1 105
|
|
byte 1 108
|
|
byte 1 101
|
|
byte 1 32
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 10
|
|
byte 1 0
|
|
align 1
|
|
LABELV $532
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 99
|
|
byte 1 104
|
|
byte 1 97
|
|
byte 1 114
|
|
byte 1 97
|
|
byte 1 99
|
|
byte 1 116
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 108
|
|
byte 1 111
|
|
byte 1 119
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 46
|
|
byte 1 109
|
|
byte 1 100
|
|
byte 1 51
|
|
byte 1 0
|
|
align 1
|
|
LABELV $529
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 108
|
|
byte 1 111
|
|
byte 1 119
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 46
|
|
byte 1 109
|
|
byte 1 100
|
|
byte 1 51
|
|
byte 1 0
|
|
align 1
|
|
LABELV $521
|
|
byte 1 69
|
|
byte 1 114
|
|
byte 1 114
|
|
byte 1 111
|
|
byte 1 114
|
|
byte 1 32
|
|
byte 1 112
|
|
byte 1 97
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 105
|
|
byte 1 110
|
|
byte 1 103
|
|
byte 1 32
|
|
byte 1 97
|
|
byte 1 110
|
|
byte 1 105
|
|
byte 1 109
|
|
byte 1 97
|
|
byte 1 116
|
|
byte 1 105
|
|
byte 1 111
|
|
byte 1 110
|
|
byte 1 32
|
|
byte 1 102
|
|
byte 1 105
|
|
byte 1 108
|
|
byte 1 101
|
|
byte 1 58
|
|
byte 1 32
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 0
|
|
align 1
|
|
LABELV $500
|
|
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 111
|
|
byte 1 107
|
|
byte 1 101
|
|
byte 1 110
|
|
byte 1 32
|
|
byte 1 39
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 39
|
|
byte 1 32
|
|
byte 1 105
|
|
byte 1 115
|
|
byte 1 32
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 10
|
|
byte 1 0
|
|
align 1
|
|
LABELV $495
|
|
byte 1 115
|
|
byte 1 101
|
|
byte 1 120
|
|
byte 1 0
|
|
align 1
|
|
LABELV $486
|
|
byte 1 104
|
|
byte 1 101
|
|
byte 1 97
|
|
byte 1 100
|
|
byte 1 111
|
|
byte 1 102
|
|
byte 1 102
|
|
byte 1 115
|
|
byte 1 101
|
|
byte 1 116
|
|
byte 1 0
|
|
align 1
|
|
LABELV $481
|
|
byte 1 102
|
|
byte 1 111
|
|
byte 1 111
|
|
byte 1 116
|
|
byte 1 115
|
|
byte 1 116
|
|
byte 1 101
|
|
byte 1 112
|
|
byte 1 115
|
|
byte 1 0
|
|
align 1
|
|
LABELV $473
|
|
byte 1 70
|
|
byte 1 105
|
|
byte 1 108
|
|
byte 1 101
|
|
byte 1 32
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 32
|
|
byte 1 116
|
|
byte 1 111
|
|
byte 1 111
|
|
byte 1 32
|
|
byte 1 108
|
|
byte 1 111
|
|
byte 1 110
|
|
byte 1 103
|
|
byte 1 10
|
|
byte 1 0
|
|
align 1
|
|
LABELV $463
|
|
byte 1 115
|
|
byte 1 107
|
|
byte 1 105
|
|
byte 1 110
|
|
byte 1 0
|
|
align 1
|
|
LABELV $462
|
|
byte 1 104
|
|
byte 1 101
|
|
byte 1 97
|
|
byte 1 100
|
|
byte 1 0
|
|
align 1
|
|
LABELV $459
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 99
|
|
byte 1 104
|
|
byte 1 97
|
|
byte 1 114
|
|
byte 1 97
|
|
byte 1 99
|
|
byte 1 116
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 117
|
|
byte 1 112
|
|
byte 1 112
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 95
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 46
|
|
byte 1 115
|
|
byte 1 107
|
|
byte 1 105
|
|
byte 1 110
|
|
byte 1 0
|
|
align 1
|
|
LABELV $458
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 99
|
|
byte 1 104
|
|
byte 1 97
|
|
byte 1 114
|
|
byte 1 97
|
|
byte 1 99
|
|
byte 1 116
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 117
|
|
byte 1 112
|
|
byte 1 112
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 95
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 46
|
|
byte 1 115
|
|
byte 1 107
|
|
byte 1 105
|
|
byte 1 110
|
|
byte 1 0
|
|
align 1
|
|
LABELV $453
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 117
|
|
byte 1 112
|
|
byte 1 112
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 95
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 46
|
|
byte 1 115
|
|
byte 1 107
|
|
byte 1 105
|
|
byte 1 110
|
|
byte 1 0
|
|
align 1
|
|
LABELV $452
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 117
|
|
byte 1 112
|
|
byte 1 112
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 95
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 46
|
|
byte 1 115
|
|
byte 1 107
|
|
byte 1 105
|
|
byte 1 110
|
|
byte 1 0
|
|
align 1
|
|
LABELV $449
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 99
|
|
byte 1 104
|
|
byte 1 97
|
|
byte 1 114
|
|
byte 1 97
|
|
byte 1 99
|
|
byte 1 116
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 108
|
|
byte 1 111
|
|
byte 1 119
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 95
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 46
|
|
byte 1 115
|
|
byte 1 107
|
|
byte 1 105
|
|
byte 1 110
|
|
byte 1 0
|
|
align 1
|
|
LABELV $448
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 99
|
|
byte 1 104
|
|
byte 1 97
|
|
byte 1 114
|
|
byte 1 97
|
|
byte 1 99
|
|
byte 1 116
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 108
|
|
byte 1 111
|
|
byte 1 119
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 95
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 46
|
|
byte 1 115
|
|
byte 1 107
|
|
byte 1 105
|
|
byte 1 110
|
|
byte 1 0
|
|
align 1
|
|
LABELV $443
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 108
|
|
byte 1 111
|
|
byte 1 119
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 95
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 46
|
|
byte 1 115
|
|
byte 1 107
|
|
byte 1 105
|
|
byte 1 110
|
|
byte 1 0
|
|
align 1
|
|
LABELV $442
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 108
|
|
byte 1 111
|
|
byte 1 119
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 95
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 46
|
|
byte 1 115
|
|
byte 1 107
|
|
byte 1 105
|
|
byte 1 110
|
|
byte 1 0
|
|
align 1
|
|
LABELV $431
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 95
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 46
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 0
|
|
align 1
|
|
LABELV $430
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 95
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 46
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 0
|
|
align 1
|
|
LABELV $425
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 95
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 46
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 0
|
|
align 1
|
|
LABELV $424
|
|
byte 1 109
|
|
byte 1 111
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 108
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 112
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 121
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 95
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 46
|
|
byte 1 37
|
|
byte 1 115
|
|
byte 1 0
|
|
align 1
|
|
LABELV $414
|
|
byte 1 0
|
|
align 1
|
|
LABELV $413
|
|
byte 1 104
|
|
byte 1 101
|
|
byte 1 97
|
|
byte 1 100
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 0
|
|
align 1
|
|
LABELV $410
|
|
byte 1 100
|
|
byte 1 101
|
|
byte 1 102
|
|
byte 1 97
|
|
byte 1 117
|
|
byte 1 108
|
|
byte 1 116
|
|
byte 1 0
|
|
align 1
|
|
LABELV $401
|
|
byte 1 115
|
|
byte 1 112
|
|
byte 1 114
|
|
byte 1 105
|
|
byte 1 116
|
|
byte 1 101
|
|
byte 1 115
|
|
byte 1 47
|
|
byte 1 98
|
|
byte 1 97
|
|
byte 1 108
|
|
byte 1 108
|
|
byte 1 111
|
|
byte 1 111
|
|
byte 1 110
|
|
byte 1 51
|
|
byte 1 0
|
|
align 1
|
|
LABELV $392
|
|
byte 1 116
|
|
byte 1 97
|
|
byte 1 103
|
|
byte 1 95
|
|
byte 1 102
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 115
|
|
byte 1 104
|
|
byte 1 0
|
|
align 1
|
|
LABELV $384
|
|
byte 1 116
|
|
byte 1 97
|
|
byte 1 103
|
|
byte 1 95
|
|
byte 1 119
|
|
byte 1 101
|
|
byte 1 97
|
|
byte 1 112
|
|
byte 1 111
|
|
byte 1 110
|
|
byte 1 0
|
|
align 1
|
|
LABELV $378
|
|
byte 1 116
|
|
byte 1 97
|
|
byte 1 103
|
|
byte 1 95
|
|
byte 1 104
|
|
byte 1 101
|
|
byte 1 97
|
|
byte 1 100
|
|
byte 1 0
|
|
align 1
|
|
LABELV $370
|
|
byte 1 116
|
|
byte 1 97
|
|
byte 1 103
|
|
byte 1 95
|
|
byte 1 116
|
|
byte 1 111
|
|
byte 1 114
|
|
byte 1 115
|
|
byte 1 111
|
|
byte 1 0
|
|
align 1
|
|
LABELV $180
|
|
byte 1 66
|
|
byte 1 97
|
|
byte 1 100
|
|
byte 1 32
|
|
byte 1 97
|
|
byte 1 110
|
|
byte 1 105
|
|
byte 1 109
|
|
byte 1 97
|
|
byte 1 116
|
|
byte 1 105
|
|
byte 1 111
|
|
byte 1 110
|
|
byte 1 32
|
|
byte 1 110
|
|
byte 1 117
|
|
byte 1 109
|
|
byte 1 98
|
|
byte 1 101
|
|
byte 1 114
|
|
byte 1 58
|
|
byte 1 32
|
|
byte 1 37
|
|
byte 1 105
|
|
byte 1 0
|
|
align 1
|
|
LABELV $109
|
|
byte 1 95
|
|
byte 1 102
|
|
byte 1 108
|
|
byte 1 97
|
|
byte 1 115
|
|
byte 1 104
|
|
byte 1 46
|
|
byte 1 109
|
|
byte 1 100
|
|
byte 1 51
|
|
byte 1 0
|