export Vehicle_InitVehicle
code
proc Vehicle_InitVehicle 4 8
file "../bg_vehicles.c"
line 8
;1:
;2:
;3:#include "bg_vehicles.h"
;4:
;5://////////////////////////////
;6:// vehicle helper functions //
;7://////////////////////////////
;8:int Vehicle_InitVehicle(vehicle_t *vehicle) {
line 11
;9:   int i;
;10:
;11:   if(vehicle) {
ADDRFP4 0
INDIRP4
CVPU4 4
CNSTU4 0
EQU4 $48
line 12
;12:      vehicle->vehicleId = -1;
ADDRFP4 0
INDIRP4
CNSTI4 -1
ASGNI4
line 13
;13:      vehicle->entityId = -1;
ADDRFP4 0
INDIRP4
CNSTI4 4
ADDP4
CNSTI4 -1
ASGNI4
line 14
;14:      vehicle->templateNum = -1;
ADDRFP4 0
INDIRP4
CNSTI4 8
ADDP4
CNSTI4 -1
ASGNI4
line 16
;15:
;16:      strcpy(vehicle->vehicleInfo.vehicleName, "");
ADDRFP4 0
INDIRP4
CNSTI4 16
ADDP4
ARGP4
ADDRGP4 $50
ARGP4
ADDRGP4 strcpy
CALLP4
pop
line 18
;17:
;18:      vehicle->vehicleInfo.vehicleType = 0;
ADDRFP4 0
INDIRP4
CNSTI4 12
ADDP4
CNSTI4 0
ASGNI4
line 20
;19:
;20:      vehicle->vehicleInfo.vehicleStats.health = 0;
ADDRFP4 0
INDIRP4
CNSTI4 32
ADDP4
CNSTU1 0
ASGNU1
line 21
;21:      vehicle->vehicleInfo.vehicleStats.armor = 0;
ADDRFP4 0
INDIRP4
CNSTI4 33
ADDP4
CNSTU1 0
ASGNU1
line 23
;22:      
;23:      vehicle->vehicleInfo.weaponInfo.baseWeapon = 0;
ADDRFP4 0
INDIRP4
CNSTI4 44
ADDP4
CNSTI1 0
ASGNI1
line 24
;24:      vehicle->vehicleInfo.weaponInfo.weapons = 0;
ADDRFP4 0
INDIRP4
CNSTI4 36
ADDP4
CNSTI4 0
ASGNI4
line 26
;25:
;26:      vehicle->vehicleInfo.displayInfo.turretmodel = 0;
ADDRFP4 0
INDIRP4
CNSTI4 48
ADDP4
CNSTI4 0
ASGNI4
line 27
;27:      vehicle->vehicleInfo.displayInfo.basemodel = 0;
ADDRFP4 0
INDIRP4
CNSTI4 52
ADDP4
CNSTI4 0
ASGNI4
line 28
;28:      vehicle->vehicleInfo.displayInfo.turretshader = 0;
ADDRFP4 0
INDIRP4
CNSTI4 56
ADDP4
CNSTI4 0
ASGNI4
line 29
;29:      vehicle->vehicleInfo.displayInfo.baseshader = 0;
ADDRFP4 0
INDIRP4
CNSTI4 60
ADDP4
CNSTI4 0
ASGNI4
line 31
;30:
;31:      vehicle->vehicleInfo.soundInfo.movesound1 = 0;
ADDRFP4 0
INDIRP4
CNSTI4 64
ADDP4
CNSTI4 0
ASGNI4
line 32
;32:      vehicle->vehicleInfo.soundInfo.movesound2 = 0;
ADDRFP4 0
INDIRP4
CNSTI4 68
ADDP4
CNSTI4 0
ASGNI4
line 34
;33:
;34:      vehicle->vehicleInfo.physicsInfo.maxSpeed = 0;
ADDRFP4 0
INDIRP4
CNSTI4 76
ADDP4
CNSTI4 0
ASGNI4
line 35
;35:      vehicle->vehicleInfo.physicsInfo.movementType = 0;
ADDRFP4 0
INDIRP4
CNSTI4 72
ADDP4
CNSTU1 0
ASGNU1
line 36
;36:      vehicle->vehicleInfo.physicsInfo.width = 0;
ADDRFP4 0
INDIRP4
CNSTI4 73
ADDP4
CNSTU1 0
ASGNU1
line 37
;37:      vehicle->vehicleInfo.physicsInfo.height = 0;
ADDRFP4 0
INDIRP4
CNSTI4 74
ADDP4
CNSTU1 0
ASGNU1
line 39
;38:      
;39:      return 1;
CNSTI4 1
RETI4
ADDRGP4 $47
JUMPV
LABELV $48
line 41
;40:   }
;41:   return 0;
CNSTI4 0
RETI4
LABELV $47
endproc Vehicle_InitVehicle 4 8
export Vehicle_CopyVehicle
proc Vehicle_CopyVehicle 84 0
line 44
;42:}
;43:
;44:int Vehicle_CopyVehicle(vehicle_t *target, const vehicle_t *source) {
line 47
;45:   int i;
;46:
;47:   if(source && target) {
ADDRLP4 4
CNSTU4 0
ASGNU4
ADDRFP4 4
INDIRP4
CVPU4 4
ADDRLP4 4
INDIRU4
EQU4 $52
ADDRFP4 0
INDIRP4
CVPU4 4
ADDRLP4 4
INDIRU4
EQU4 $52
line 48
;48:      target->vehicleId = source->vehicleId;
ADDRFP4 0
INDIRP4
ADDRFP4 4
INDIRP4
INDIRI4
ASGNI4
line 49
;49:      target->entityId = source->entityId;
ADDRLP4 8
CNSTI4 4
ASGNI4
ADDRFP4 0
INDIRP4
ADDRLP4 8
INDIRI4
ADDP4
ADDRFP4 4
INDIRP4
ADDRLP4 8
INDIRI4
ADDP4
INDIRI4
ASGNI4
line 50
;50:      target->templateNum = source->templateNum;
ADDRLP4 12
CNSTI4 8
ASGNI4
ADDRFP4 0
INDIRP4
ADDRLP4 12
INDIRI4
ADDP4
ADDRFP4 4
INDIRP4
ADDRLP4 12
INDIRI4
ADDP4
INDIRI4
ASGNI4
line 52
;51:
;52:      for(i = 0; i < 64; i++)
ADDRLP4 0
CNSTI4 0
ASGNI4
LABELV $54
line 53
;53:         target->vehicleInfo.vehicleName[i] = source->vehicleInfo.vehicleName[i];
ADDRLP4 20
CNSTI4 16
ASGNI4
ADDRLP4 0
INDIRI4
ADDRFP4 0
INDIRP4
ADDRLP4 20
INDIRI4
ADDP4
ADDP4
ADDRLP4 0
INDIRI4
ADDRFP4 4
INDIRP4
ADDRLP4 20
INDIRI4
ADDP4
ADDP4
INDIRI1
ASGNI1
LABELV $55
line 52
ADDRLP4 0
ADDRLP4 0
INDIRI4
CNSTI4 1
ADDI4
ASGNI4
ADDRLP4 0
INDIRI4
CNSTI4 64
LTI4 $54
line 56
;54:      //strcpy(target->vehicleInfo.vehicleName, source->vehicleInfo.vehicleName);
;55:
;56:      target->vehicleInfo.vehicleType = source->vehicleInfo.vehicleType;
ADDRLP4 24
CNSTI4 12
ASGNI4
ADDRFP4 0
INDIRP4
ADDRLP4 24
INDIRI4
ADDP4
ADDRFP4 4
INDIRP4
ADDRLP4 24
INDIRI4
ADDP4
INDIRI4
ASGNI4
line 58
;57:
;58:      target->vehicleInfo.vehicleStats.health = source->vehicleInfo.vehicleStats.health;
ADDRLP4 28
CNSTI4 32
ASGNI4
ADDRFP4 0
INDIRP4
ADDRLP4 28
INDIRI4
ADDP4
ADDRFP4 4
INDIRP4
ADDRLP4 28
INDIRI4
ADDP4
INDIRU1
ASGNU1
line 59
;59:      target->vehicleInfo.vehicleStats.armor = source->vehicleInfo.vehicleStats.armor;
ADDRLP4 32
CNSTI4 33
ASGNI4
ADDRFP4 0
INDIRP4
ADDRLP4 32
INDIRI4
ADDP4
ADDRFP4 4
INDIRP4
ADDRLP4 32
INDIRI4
ADDP4
INDIRU1
ASGNU1
line 61
;60:      
;61:      target->vehicleInfo.weaponInfo.baseWeapon = source->vehicleInfo.weaponInfo.baseWeapon;
ADDRLP4 36
CNSTI4 44
ASGNI4
ADDRFP4 0
INDIRP4
ADDRLP4 36
INDIRI4
ADDP4
ADDRFP4 4
INDIRP4
ADDRLP4 36
INDIRI4
ADDP4
INDIRI1
ASGNI1
line 62
;62:      target->vehicleInfo.weaponInfo.weapons = source->vehicleInfo.weaponInfo.weapons;
ADDRLP4 40
CNSTI4 36
ASGNI4
ADDRFP4 0
INDIRP4
ADDRLP4 40
INDIRI4
ADDP4
ADDRFP4 4
INDIRP4
ADDRLP4 40
INDIRI4
ADDP4
INDIRI4
ASGNI4
line 64
;63:
;64:      target->vehicleInfo.displayInfo.turretmodel = source->vehicleInfo.displayInfo.turretmodel;
ADDRLP4 44
CNSTI4 48
ASGNI4
ADDRFP4 0
INDIRP4
ADDRLP4 44
INDIRI4
ADDP4
ADDRFP4 4
INDIRP4
ADDRLP4 44
INDIRI4
ADDP4
INDIRI4
ASGNI4
line 65
;65:      target->vehicleInfo.displayInfo.basemodel = source->vehicleInfo.displayInfo.basemodel;
ADDRLP4 48
CNSTI4 52
ASGNI4
ADDRFP4 0
INDIRP4
ADDRLP4 48
INDIRI4
ADDP4
ADDRFP4 4
INDIRP4
ADDRLP4 48
INDIRI4
ADDP4
INDIRI4
ASGNI4
line 66
;66:      target->vehicleInfo.displayInfo.turretshader = source->vehicleInfo.displayInfo.turretshader;
ADDRLP4 52
CNSTI4 56
ASGNI4
ADDRFP4 0
INDIRP4
ADDRLP4 52
INDIRI4
ADDP4
ADDRFP4 4
INDIRP4
ADDRLP4 52
INDIRI4
ADDP4
INDIRI4
ASGNI4
line 67
;67:      target->vehicleInfo.displayInfo.baseshader = source->vehicleInfo.displayInfo.baseshader;
ADDRLP4 56
CNSTI4 60
ASGNI4
ADDRFP4 0
INDIRP4
ADDRLP4 56
INDIRI4
ADDP4
ADDRFP4 4
INDIRP4
ADDRLP4 56
INDIRI4
ADDP4
INDIRI4
ASGNI4
line 69
;68:
;69:      target->vehicleInfo.soundInfo.movesound1 = source->vehicleInfo.soundInfo.movesound1;
ADDRLP4 60
CNSTI4 64
ASGNI4
ADDRFP4 0
INDIRP4
ADDRLP4 60
INDIRI4
ADDP4
ADDRFP4 4
INDIRP4
ADDRLP4 60
INDIRI4
ADDP4
INDIRI4
ASGNI4
line 70
;70:      target->vehicleInfo.soundInfo.movesound2 = source->vehicleInfo.soundInfo.movesound2;
ADDRLP4 64
CNSTI4 68
ASGNI4
ADDRFP4 0
INDIRP4
ADDRLP4 64
INDIRI4
ADDP4
ADDRFP4 4
INDIRP4
ADDRLP4 64
INDIRI4
ADDP4
INDIRI4
ASGNI4
line 72
;71:
;72:      target->vehicleInfo.physicsInfo.maxSpeed = source->vehicleInfo.physicsInfo.maxSpeed;
ADDRLP4 68
CNSTI4 76
ASGNI4
ADDRFP4 0
INDIRP4
ADDRLP4 68
INDIRI4
ADDP4
ADDRFP4 4
INDIRP4
ADDRLP4 68
INDIRI4
ADDP4
INDIRI4
ASGNI4
line 73
;73:      target->vehicleInfo.physicsInfo.movementType = source->vehicleInfo.physicsInfo.movementType;
ADDRLP4 72
CNSTI4 72
ASGNI4
ADDRFP4 0
INDIRP4
ADDRLP4 72
INDIRI4
ADDP4
ADDRFP4 4
INDIRP4
ADDRLP4 72
INDIRI4
ADDP4
INDIRU1
ASGNU1
line 74
;74:      target->vehicleInfo.physicsInfo.width = source->vehicleInfo.physicsInfo.width;
ADDRLP4 76
CNSTI4 73
ASGNI4
ADDRFP4 0
INDIRP4
ADDRLP4 76
INDIRI4
ADDP4
ADDRFP4 4
INDIRP4
ADDRLP4 76
INDIRI4
ADDP4
INDIRU1
ASGNU1
line 75
;75:      target->vehicleInfo.physicsInfo.height = source->vehicleInfo.physicsInfo.height;
ADDRLP4 80
CNSTI4 74
ASGNI4
ADDRFP4 0
INDIRP4
ADDRLP4 80
INDIRI4
ADDP4
ADDRFP4 4
INDIRP4
ADDRLP4 80
INDIRI4
ADDP4
INDIRU1
ASGNU1
line 77
;76:
;77:      return 1;
CNSTI4 1
RETI4
ADDRGP4 $51
JUMPV
LABELV $52
line 79
;78:   }
;79:   return 0;
CNSTI4 0
RETI4
LABELV $51
endproc Vehicle_CopyVehicle 84 0
export VehicleInfo_GetBitForVehicleType
proc VehicleInfo_GetBitForVehicleType 4 8
line 85
;80:}
;81:
;82://////////////////////////
;83:// info lookup routines //
;84://////////////////////////
;85:int VehicleInfo_GetBitForVehicleType(char *name) {
line 86
;86:   if(strcmp(name, "tank") == 0) {
ADDRFP4 0
INDIRP4
ARGP4
ADDRGP4 $61
ARGP4
ADDRLP4 0
ADDRGP4 strcmp
CALLI4
ASGNI4
ADDRLP4 0
INDIRI4
CNSTI4 0
NEI4 $59
line 87
;87:      return VEHICLE_TANK;
CNSTI4 0
RETI4
ADDRGP4 $58
JUMPV
LABELV $59
line 88
;88:   } else {
line 89
;89:      return -1;
CNSTI4 -1
RETI4
LABELV $58
endproc VehicleInfo_GetBitForVehicleType 4 8
export VehicleInfo_GetBitForWeapon
proc VehicleInfo_GetBitForWeapon 16 8
line 94
;90:   }
;91:}
;92:
;93:
;94:int VehicleInfo_GetBitForWeapon(char *name) {
line 95
;95:   if(strcmp(name, "wp_knife") == 0) {
ADDRFP4 0
INDIRP4
ARGP4
ADDRGP4 $65
ARGP4
ADDRLP4 0
ADDRGP4 strcmp
CALLI4
ASGNI4
ADDRLP4 0
INDIRI4
CNSTI4 0
NEI4 $63
line 96
;96:      return WEAPON_KNIFE;
CNSTI4 1
RETI4
ADDRGP4 $62
JUMPV
LABELV $63
line 97
;97:   } else if (strcmp(name, "wp_venom") == 0) {
ADDRFP4 0
INDIRP4
ARGP4
ADDRGP4 $68
ARGP4
ADDRLP4 4
ADDRGP4 strcmp
CALLI4
ASGNI4
ADDRLP4 4
INDIRI4
CNSTI4 0
NEI4 $66
line 98
;98:      return WEAPON_VENOM;
CNSTI4 2
RETI4
ADDRGP4 $62
JUMPV
LABELV $66
line 99
;99:   } else if (strcmp(name, "wp_panzerfaust") == 0) {
ADDRFP4 0
INDIRP4
ARGP4
ADDRGP4 $71
ARGP4
ADDRLP4 8
ADDRGP4 strcmp
CALLI4
ASGNI4
ADDRLP4 8
INDIRI4
CNSTI4 0
NEI4 $69
line 100
;100:      return WEAPON_PANZERFAUST;
CNSTI4 4
RETI4
ADDRGP4 $62
JUMPV
LABELV $69
line 101
;101:   } else if (strcmp(name, "wp_mp40") == 0) {
ADDRFP4 0
INDIRP4
ARGP4
ADDRGP4 $74
ARGP4
ADDRLP4 12
ADDRGP4 strcmp
CALLI4
ASGNI4
ADDRLP4 12
INDIRI4
CNSTI4 0
NEI4 $72
line 102
;102:      return WEAPON_MP40;
CNSTI4 8
RETI4
ADDRGP4 $62
JUMPV
LABELV $72
line 103
;103:   } else {
line 104
;104:      return 0;
CNSTI4 0
RETI4
LABELV $62
endproc VehicleInfo_GetBitForWeapon 16 8
export VehicleInfo_GetNameForWeapon
proc VehicleInfo_GetNameForWeapon 0 0
line 108
;105:   }
;106:}
;107:
;108:char *VehicleInfo_GetNameForWeapon(int bit) {
line 109
;109:   if (bit == WEAPON_KNIFE)
ADDRFP4 0
INDIRI4
CNSTI4 1
NEI4 $76
line 110
;110:      return "wp_knife";
ADDRGP4 $65
RETP4
ADDRGP4 $75
JUMPV
LABELV $76
line 111
;111:   else if (bit == WEAPON_VENOM)
ADDRFP4 0
INDIRI4
CNSTI4 2
NEI4 $78
line 112
;112:      return "wp_venom";
ADDRGP4 $68
RETP4
ADDRGP4 $75
JUMPV
LABELV $78
line 113
;113:   else if (bit == WEAPON_PANZERFAUST)
ADDRFP4 0
INDIRI4
CNSTI4 4
NEI4 $80
line 114
;114:      return "wp_panzerfaust";
ADDRGP4 $71
RETP4
ADDRGP4 $75
JUMPV
LABELV $80
line 115
;115:   else if (bit == WEAPON_MP40)
ADDRFP4 0
INDIRI4
CNSTI4 8
NEI4 $82
line 116
;116:      return "wp_mp40";
ADDRGP4 $74
RETP4
ADDRGP4 $75
JUMPV
LABELV $82
line 118
;117:   else
;118:      return 0;
CNSTP4 0
RETP4
LABELV $75
endproc VehicleInfo_GetNameForWeapon 0 0
export VehicleInfo_GetIndexForWeapon
proc VehicleInfo_GetIndexForWeapon 4 0
line 121
;119:}
;120:
;121:int VehicleInfo_GetIndexForWeapon(int weapon) {
line 122
;122:   switch(weapon) {
ADDRLP4 0
ADDRFP4 0
INDIRI4
ASGNI4
ADDRLP4 0
INDIRI4
CNSTI4 1
LTI4 $85
ADDRLP4 0
INDIRI4
CNSTI4 8
GTI4 $85
ADDRLP4 0
INDIRI4
CNSTI4 2
LSHI4
ADDRGP4 $91-4
ADDP4
INDIRP4
JUMPV
lit
align 4
LABELV $91
address $87
address $88
address $85
address $89
address $85
address $85
address $85
address $90
code
LABELV $87
line 124
;123:      case WEAPON_KNIFE:
;124:         return 0;
CNSTI4 0
RETI4
ADDRGP4 $84
JUMPV
LABELV $88
line 126
;125:      case WEAPON_VENOM:
;126:         return 1;
CNSTI4 1
RETI4
ADDRGP4 $84
JUMPV
LABELV $89
line 128
;127:      case WEAPON_PANZERFAUST:
;128:         return 2;
CNSTI4 2
RETI4
ADDRGP4 $84
JUMPV
LABELV $90
line 130
;129:      case WEAPON_MP40:
;130:         return 3;
CNSTI4 3
RETI4
ADDRGP4 $84
JUMPV
LABELV $85
line 132
;131:      default: 
;132:         return -1;
CNSTI4 -1
RETI4
ADDRGP4 $84
JUMPV
line 134
;133:   }
;134:   return -1;
CNSTI4 -1
RETI4
LABELV $84
endproc VehicleInfo_GetIndexForWeapon 4 0
export VehicleInfo_GetNameForVehicleType
proc VehicleInfo_GetNameForVehicleType 0 0
line 137
;135:}
;136:
;137:char *VehicleInfo_GetNameForVehicleType(int bit) {
line 138
;138:   if(bit == VEHICLE_TANK)
ADDRFP4 0
INDIRI4
CNSTI4 0
NEI4 $94
line 139
;139:      return "tank";
ADDRGP4 $61
RETP4
ADDRGP4 $93
JUMPV
LABELV $94
line 141
;140:   else
;141:      return 0;
CNSTP4 0
RETP4
LABELV $93
endproc VehicleInfo_GetNameForVehicleType 0 0
export VehicleInfo_GetBitForMovementType
proc VehicleInfo_GetBitForMovementType 4 8
line 144
;142:}
;143:
;144:int VehicleInfo_GetBitForMovementType(char *name) {
line 145
;145:   if(strcmp(name, "treads") == 0) {
ADDRFP4 0
INDIRP4
ARGP4
ADDRGP4 $99
ARGP4
ADDRLP4 0
ADDRGP4 strcmp
CALLI4
ASGNI4
ADDRLP4 0
INDIRI4
CNSTI4 0
NEI4 $97
line 146
;146:      return VEHICLE_TANK;
CNSTI4 0
RETI4
ADDRGP4 $96
JUMPV
LABELV $97
line 147
;147:   } else {
line 148
;148:      return -1;
CNSTI4 -1
RETI4
LABELV $96
endproc VehicleInfo_GetBitForMovementType 4 8
import VehicleInfo_GetNameForMovementType
import GetStringForID
import GetIDForString
import Q_irand
import irand
import flrand
import Rand_Init
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_ParseVec4
import COM_ParseFloat
import COM_ParseInt
import COM_ParseString
import COM_ParseWarning
import COM_ParseError
import COM_Compress
import COM_ParseExt
import COM_Parse
import SkipWhitespace
import COM_GetCurrentParseLine
import COM_BeginParseSession
import COM_DefaultExtension
import COM_StripExtension
import COM_SkipPath
import Com_Clamp
import MatrixToEuler
import QuatToAngles
import QuatMul
import AnglesToQuat
import AxisToQuaternion
import QuaternionToAxis
import QuaternionToEuler
import QuatToAxis
import QuaternionMultiply
import QuaternionNormalize
import QuaternionMagnitude
import QuaternionFromString
import AnglesToTieFloats
import AnglesFromTieFloats
import QuaternionToTieFloats
import QuaternionFromTieFloats
import QuaternionCopy
import PerpendicularVector
import AngleVectors
import RotationMatrixAroundDir
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 powf
import ClampShort
import ClampChar
import Q_rsqrt
import Q_fabs
import axisDefault
import vec3_origin
import g_color_table
import colorDkBlue
import colorLtBlue
import colorDkGrey
import colorMdGrey
import colorLtGrey
import colorWhite
import colorCyan
import colorMagenta
import colorYellow
import colorBlue
import colorGreen
import colorRed
import colorBlack
import colorTable
import bytedirs
import Com_Memcpy
import Com_Memset
import Hunk_Alloc
import forceSpeedLevels
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 $99
byte 1 116
byte 1 114
byte 1 101
byte 1 97
byte 1 100
byte 1 115
byte 1 0
align 1
LABELV $74
byte 1 119
byte 1 112
byte 1 95
byte 1 109
byte 1 112
byte 1 52
byte 1 48
byte 1 0
align 1
LABELV $71
byte 1 119
byte 1 112
byte 1 95
byte 1 112
byte 1 97
byte 1 110
byte 1 122
byte 1 101
byte 1 114
byte 1 102
byte 1 97
byte 1 117
byte 1 115
byte 1 116
byte 1 0
align 1
LABELV $68
byte 1 119
byte 1 112
byte 1 95
byte 1 118
byte 1 101
byte 1 110
byte 1 111
byte 1 109
byte 1 0
align 1
LABELV $65
byte 1 119
byte 1 112
byte 1 95
byte 1 107
byte 1 110
byte 1 105
byte 1 102
byte 1 101
byte 1 0
align 1
LABELV $61
byte 1 116
byte 1 97
byte 1 110
byte 1 107
byte 1 0
align 1
LABELV $50
byte 1 0
