20600 lines
265 KiB
NASM
20600 lines
265 KiB
NASM
data
|
|
export gWPRenderTime
|
|
align 4
|
|
LABELV gWPRenderTime
|
|
byte 4 0
|
|
export gDeactivated
|
|
align 4
|
|
LABELV gDeactivated
|
|
byte 4 0
|
|
export gBotEdit
|
|
align 4
|
|
LABELV gBotEdit
|
|
byte 4 0
|
|
export gWPRenderedFrame
|
|
align 4
|
|
LABELV gWPRenderedFrame
|
|
byte 4 0
|
|
export gWPNum
|
|
align 4
|
|
LABELV gWPNum
|
|
byte 4 0
|
|
export gLastPrintedIndex
|
|
align 4
|
|
LABELV gLastPrintedIndex
|
|
byte 4 -1
|
|
export gLevelFlags
|
|
align 4
|
|
LABELV gLevelFlags
|
|
byte 4 0
|
|
export GetFlagStr
|
|
code
|
|
proc GetFlagStr 12 8
|
|
file "../ai_wpnav.c"
|
|
line 20
|
|
;1:#include "g_local.h"
|
|
;2:#include "q_shared.h"
|
|
;3:#include "botlib.h"
|
|
;4:#include "ai_main.h"
|
|
;5:
|
|
;6:float gWPRenderTime = 0;
|
|
;7:float gDeactivated = 0;
|
|
;8:float gBotEdit = 0;
|
|
;9:int gWPRenderedFrame = 0;
|
|
;10:wpobject_t *gWPArray[MAX_WPARRAY_SIZE];
|
|
;11:int gWPNum = 0;
|
|
;12:int gLastPrintedIndex = -1;
|
|
;13:
|
|
;14:nodeobject_t nodetable[MAX_NODETABLE_SIZE];
|
|
;15:int nodenum; //so we can connect broken trails
|
|
;16:
|
|
;17:int gLevelFlags = 0;
|
|
;18:
|
|
;19:char *GetFlagStr( int flags )
|
|
;20:{
|
|
line 24
|
|
;21: char *flagstr;
|
|
;22: int i;
|
|
;23:
|
|
;24: flagstr = (char *)B_TempAlloc(128);
|
|
CNSTI4 128
|
|
ARGI4
|
|
ADDRLP4 8
|
|
ADDRGP4 B_TempAlloc
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ASGNP4
|
|
line 25
|
|
;25: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 27
|
|
;26:
|
|
;27: if (!flags)
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $82
|
|
line 28
|
|
;28: {
|
|
line 29
|
|
;29: strcpy(flagstr, "none\0");
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $84
|
|
ARGP4
|
|
ADDRGP4 strcpy
|
|
CALLP4
|
|
pop
|
|
line 30
|
|
;30: goto fend;
|
|
ADDRGP4 $85
|
|
JUMPV
|
|
LABELV $82
|
|
line 33
|
|
;31: }
|
|
;32:
|
|
;33: if (flags & WPFLAG_JUMP)
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 16
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $86
|
|
line 34
|
|
;34: {
|
|
line 35
|
|
;35: flagstr[i] = 'j';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 106
|
|
ASGNI1
|
|
line 36
|
|
;36: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 37
|
|
;37: }
|
|
LABELV $86
|
|
line 39
|
|
;38:
|
|
;39: if (flags & WPFLAG_DUCK)
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 32
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $88
|
|
line 40
|
|
;40: {
|
|
line 41
|
|
;41: flagstr[i] = 'd';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 100
|
|
ASGNI1
|
|
line 42
|
|
;42: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 43
|
|
;43: }
|
|
LABELV $88
|
|
line 45
|
|
;44:
|
|
;45: if (flags & WPFLAG_SNIPEORCAMPSTAND)
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 2048
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $90
|
|
line 46
|
|
;46: {
|
|
line 47
|
|
;47: flagstr[i] = 'c';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 99
|
|
ASGNI1
|
|
line 48
|
|
;48: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 49
|
|
;49: }
|
|
LABELV $90
|
|
line 51
|
|
;50:
|
|
;51: if (flags & WPFLAG_WAITFORFUNC)
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 4096
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $92
|
|
line 52
|
|
;52: {
|
|
line 53
|
|
;53: flagstr[i] = 'f';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 102
|
|
ASGNI1
|
|
line 54
|
|
;54: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 55
|
|
;55: }
|
|
LABELV $92
|
|
line 57
|
|
;56:
|
|
;57: if (flags & WPFLAG_SNIPEORCAMP)
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 8192
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $94
|
|
line 58
|
|
;58: {
|
|
line 59
|
|
;59: flagstr[i] = 's';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 115
|
|
ASGNI1
|
|
line 60
|
|
;60: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 61
|
|
;61: }
|
|
LABELV $94
|
|
line 63
|
|
;62:
|
|
;63: if (flags & WPFLAG_ONEWAY_FWD)
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 16384
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $96
|
|
line 64
|
|
;64: {
|
|
line 65
|
|
;65: flagstr[i] = 'x';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 120
|
|
ASGNI1
|
|
line 66
|
|
;66: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 67
|
|
;67: }
|
|
LABELV $96
|
|
line 69
|
|
;68:
|
|
;69: if (flags & WPFLAG_ONEWAY_BACK)
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 32768
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $98
|
|
line 70
|
|
;70: {
|
|
line 71
|
|
;71: flagstr[i] = 'y';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 121
|
|
ASGNI1
|
|
line 72
|
|
;72: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 73
|
|
;73: }
|
|
LABELV $98
|
|
line 75
|
|
;74:
|
|
;75: if (flags & WPFLAG_GOALPOINT)
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 65536
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $100
|
|
line 76
|
|
;76: {
|
|
line 77
|
|
;77: flagstr[i] = 'g';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 103
|
|
ASGNI1
|
|
line 78
|
|
;78: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 79
|
|
;79: }
|
|
LABELV $100
|
|
line 81
|
|
;80:
|
|
;81: if (flags & WPFLAG_NOVIS)
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 1024
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $102
|
|
line 82
|
|
;82: {
|
|
line 83
|
|
;83: flagstr[i] = 'n';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 110
|
|
ASGNI1
|
|
line 84
|
|
;84: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 85
|
|
;85: }
|
|
LABELV $102
|
|
line 87
|
|
;86:
|
|
;87: if (flags & WPFLAG_NOMOVEFUNC)
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 2097152
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $104
|
|
line 88
|
|
;88: {
|
|
line 89
|
|
;89: flagstr[i] = 'm';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 109
|
|
ASGNI1
|
|
line 90
|
|
;90: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 91
|
|
;91: }
|
|
LABELV $104
|
|
line 93
|
|
;92:
|
|
;93: if (flags & WPFLAG_RED_FLAG)
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 131072
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $106
|
|
line 94
|
|
;94: {
|
|
line 95
|
|
;95: if (i)
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $108
|
|
line 96
|
|
;96: {
|
|
line 97
|
|
;97: flagstr[i] = ' ';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 32
|
|
ASGNI1
|
|
line 98
|
|
;98: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 99
|
|
;99: }
|
|
LABELV $108
|
|
line 100
|
|
;100: flagstr[i] = 'r';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 114
|
|
ASGNI1
|
|
line 101
|
|
;101: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 102
|
|
;102: flagstr[i] = 'e';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 101
|
|
ASGNI1
|
|
line 103
|
|
;103: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 104
|
|
;104: flagstr[i] = 'd';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 100
|
|
ASGNI1
|
|
line 105
|
|
;105: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 106
|
|
;106: flagstr[i] = ' ';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 32
|
|
ASGNI1
|
|
line 107
|
|
;107: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 108
|
|
;108: flagstr[i] = 'f';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 102
|
|
ASGNI1
|
|
line 109
|
|
;109: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 110
|
|
;110: flagstr[i] = 'l';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 108
|
|
ASGNI1
|
|
line 111
|
|
;111: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 112
|
|
;112: flagstr[i] = 'a';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 97
|
|
ASGNI1
|
|
line 113
|
|
;113: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 114
|
|
;114: flagstr[i] = 'g';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 103
|
|
ASGNI1
|
|
line 115
|
|
;115: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 116
|
|
;116: }
|
|
LABELV $106
|
|
line 118
|
|
;117:
|
|
;118: if (flags & WPFLAG_BLUE_FLAG)
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 262144
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $110
|
|
line 119
|
|
;119: {
|
|
line 120
|
|
;120: if (i)
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $112
|
|
line 121
|
|
;121: {
|
|
line 122
|
|
;122: flagstr[i] = ' ';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 32
|
|
ASGNI1
|
|
line 123
|
|
;123: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 124
|
|
;124: }
|
|
LABELV $112
|
|
line 125
|
|
;125: flagstr[i] = 'b';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 98
|
|
ASGNI1
|
|
line 126
|
|
;126: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 127
|
|
;127: flagstr[i] = 'l';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 108
|
|
ASGNI1
|
|
line 128
|
|
;128: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 129
|
|
;129: flagstr[i] = 'u';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 117
|
|
ASGNI1
|
|
line 130
|
|
;130: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 131
|
|
;131: flagstr[i] = 'e';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 101
|
|
ASGNI1
|
|
line 132
|
|
;132: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 133
|
|
;133: flagstr[i] = ' ';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 32
|
|
ASGNI1
|
|
line 134
|
|
;134: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 135
|
|
;135: flagstr[i] = 'f';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 102
|
|
ASGNI1
|
|
line 136
|
|
;136: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 137
|
|
;137: flagstr[i] = 'l';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 108
|
|
ASGNI1
|
|
line 138
|
|
;138: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 139
|
|
;139: flagstr[i] = 'a';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 97
|
|
ASGNI1
|
|
line 140
|
|
;140: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 141
|
|
;141: flagstr[i] = 'g';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 103
|
|
ASGNI1
|
|
line 142
|
|
;142: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 143
|
|
;143: }
|
|
LABELV $110
|
|
line 145
|
|
;144:
|
|
;145: if (flags & WPFLAG_SAGA_IMPERIALOBJ)
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 1048576
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $114
|
|
line 146
|
|
;146: {
|
|
line 147
|
|
;147: if (i)
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $116
|
|
line 148
|
|
;148: {
|
|
line 149
|
|
;149: flagstr[i] = ' ';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 32
|
|
ASGNI1
|
|
line 150
|
|
;150: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 151
|
|
;151: }
|
|
LABELV $116
|
|
line 152
|
|
;152: flagstr[i] = 's';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 115
|
|
ASGNI1
|
|
line 153
|
|
;153: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 154
|
|
;154: flagstr[i] = 'a';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 97
|
|
ASGNI1
|
|
line 155
|
|
;155: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 156
|
|
;156: flagstr[i] = 'g';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 103
|
|
ASGNI1
|
|
line 157
|
|
;157: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 158
|
|
;158: flagstr[i] = 'a';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 97
|
|
ASGNI1
|
|
line 159
|
|
;159: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 160
|
|
;160: flagstr[i] = '_';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 95
|
|
ASGNI1
|
|
line 161
|
|
;161: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 162
|
|
;162: flagstr[i] = 'i';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 105
|
|
ASGNI1
|
|
line 163
|
|
;163: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 164
|
|
;164: flagstr[i] = 'm';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 109
|
|
ASGNI1
|
|
line 165
|
|
;165: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 166
|
|
;166: flagstr[i] = 'p';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 112
|
|
ASGNI1
|
|
line 167
|
|
;167: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 168
|
|
;168: }
|
|
LABELV $114
|
|
line 170
|
|
;169:
|
|
;170: if (flags & WPFLAG_SAGA_REBELOBJ)
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 524288
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $118
|
|
line 171
|
|
;171: {
|
|
line 172
|
|
;172: if (i)
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $120
|
|
line 173
|
|
;173: {
|
|
line 174
|
|
;174: flagstr[i] = ' ';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 32
|
|
ASGNI1
|
|
line 175
|
|
;175: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 176
|
|
;176: }
|
|
LABELV $120
|
|
line 177
|
|
;177: flagstr[i] = 's';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 115
|
|
ASGNI1
|
|
line 178
|
|
;178: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 179
|
|
;179: flagstr[i] = 'a';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 97
|
|
ASGNI1
|
|
line 180
|
|
;180: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 181
|
|
;181: flagstr[i] = 'g';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 103
|
|
ASGNI1
|
|
line 182
|
|
;182: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 183
|
|
;183: flagstr[i] = 'a';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 97
|
|
ASGNI1
|
|
line 184
|
|
;184: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 185
|
|
;185: flagstr[i] = '_';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 95
|
|
ASGNI1
|
|
line 186
|
|
;186: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 187
|
|
;187: flagstr[i] = 'r';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 114
|
|
ASGNI1
|
|
line 188
|
|
;188: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 189
|
|
;189: flagstr[i] = 'e';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 101
|
|
ASGNI1
|
|
line 190
|
|
;190: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 191
|
|
;191: flagstr[i] = 'b';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 98
|
|
ASGNI1
|
|
line 192
|
|
;192: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 193
|
|
;193: }
|
|
LABELV $118
|
|
line 195
|
|
;194:
|
|
;195: flagstr[i] = '\0';
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 0
|
|
ASGNI1
|
|
line 197
|
|
;196:
|
|
;197: if (i == 0)
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $122
|
|
line 198
|
|
;198: {
|
|
line 199
|
|
;199: strcpy(flagstr, "unknown\0");
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $124
|
|
ARGP4
|
|
ADDRGP4 strcpy
|
|
CALLP4
|
|
pop
|
|
line 200
|
|
;200: }
|
|
LABELV $122
|
|
LABELV $85
|
|
line 203
|
|
;201:
|
|
;202:fend:
|
|
;203: return flagstr;
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
RETP4
|
|
LABELV $81
|
|
endproc GetFlagStr 12 8
|
|
export G_TestLine
|
|
proc G_TestLine 12 8
|
|
line 207
|
|
;204:}
|
|
;205:
|
|
;206:void G_TestLine(vec3_t start, vec3_t end, int color, int time)
|
|
;207:{
|
|
line 210
|
|
;208: gentity_t *te;
|
|
;209:
|
|
;210: te = G_TempEntity( start, EV_TESTLINE );
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 99
|
|
ARGI4
|
|
ADDRLP4 4
|
|
ADDRGP4 G_TempEntity
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
line 211
|
|
;211: VectorCopy(start, te->s.origin);
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 92
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 212
|
|
;212: VectorCopy(end, te->s.origin2);
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 104
|
|
ADDP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 213
|
|
;213: te->s.time2 = time;
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 88
|
|
ADDP4
|
|
ADDRFP4 12
|
|
INDIRI4
|
|
ASGNI4
|
|
line 214
|
|
;214: te->s.weapon = color;
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 276
|
|
ADDP4
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ASGNI4
|
|
line 215
|
|
;215: te->r.svFlags |= SVF_BROADCAST;
|
|
ADDRLP4 8
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 304
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 32
|
|
BORI4
|
|
ASGNI4
|
|
line 216
|
|
;216:}
|
|
LABELV $125
|
|
endproc G_TestLine 12 8
|
|
export BotWaypointRender
|
|
proc BotWaypointRender 88 32
|
|
line 219
|
|
;217:
|
|
;218:void BotWaypointRender(void)
|
|
;219:{
|
|
line 231
|
|
;220: int i, n;
|
|
;221: int inc_checker;
|
|
;222: int bestindex;
|
|
;223: int gotbestindex;
|
|
;224: float bestdist;
|
|
;225: float checkdist;
|
|
;226: gentity_t *plum;
|
|
;227: gentity_t *viewent;
|
|
;228: char *flagstr;
|
|
;229: vec3_t a;
|
|
;230:
|
|
;231: if (!gBotEdit)
|
|
ADDRGP4 gBotEdit
|
|
INDIRF4
|
|
CNSTF4 0
|
|
NEF4 $127
|
|
line 232
|
|
;232: {
|
|
line 233
|
|
;233: return;
|
|
ADDRGP4 $126
|
|
JUMPV
|
|
LABELV $127
|
|
line 236
|
|
;234: }
|
|
;235:
|
|
;236: bestindex = 0;
|
|
ADDRLP4 36
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 238
|
|
;237:
|
|
;238: if (gWPRenderTime > level.time)
|
|
ADDRGP4 gWPRenderTime
|
|
INDIRF4
|
|
ADDRGP4 level+32
|
|
INDIRI4
|
|
CVIF4 4
|
|
LEF4 $129
|
|
line 239
|
|
;239: {
|
|
line 240
|
|
;240: goto checkprint;
|
|
ADDRGP4 $132
|
|
JUMPV
|
|
LABELV $129
|
|
line 243
|
|
;241: }
|
|
;242:
|
|
;243: gWPRenderTime = level.time + 100;
|
|
ADDRGP4 gWPRenderTime
|
|
ADDRGP4 level+32
|
|
INDIRI4
|
|
CNSTI4 100
|
|
ADDI4
|
|
CVIF4 4
|
|
ASGNF4
|
|
line 245
|
|
;244:
|
|
;245: i = gWPRenderedFrame;
|
|
ADDRLP4 0
|
|
ADDRGP4 gWPRenderedFrame
|
|
INDIRI4
|
|
ASGNI4
|
|
line 246
|
|
;246: inc_checker = gWPRenderedFrame;
|
|
ADDRLP4 32
|
|
ADDRGP4 gWPRenderedFrame
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRGP4 $135
|
|
JUMPV
|
|
LABELV $134
|
|
line 249
|
|
;247:
|
|
;248: while (i < gWPNum)
|
|
;249: {
|
|
line 250
|
|
;250: if (gWPArray[i] && gWPArray[i]->inuse)
|
|
ADDRLP4 52
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $137
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $137
|
|
line 251
|
|
;251: {
|
|
line 252
|
|
;252: plum = G_TempEntity( gWPArray[i]->origin, EV_SCOREPLUM );
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 86
|
|
ARGI4
|
|
ADDRLP4 56
|
|
ADDRGP4 G_TempEntity
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 24
|
|
ADDRLP4 56
|
|
INDIRP4
|
|
ASGNP4
|
|
line 253
|
|
;253: plum->r.svFlags |= SVF_BROADCAST;
|
|
ADDRLP4 60
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 304
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 32
|
|
BORI4
|
|
ASGNI4
|
|
line 254
|
|
;254: plum->s.time = i;
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 84
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 256
|
|
;255:
|
|
;256: n = 0;
|
|
ADDRLP4 4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $140
|
|
JUMPV
|
|
LABELV $139
|
|
line 259
|
|
;257:
|
|
;258: while (n < gWPArray[i]->neighbornum)
|
|
;259: {
|
|
line 260
|
|
;260: if (gWPArray[i]->neighbors[n].forceJumpTo && gWPArray[gWPArray[i]->neighbors[n].num])
|
|
ADDRLP4 64
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 68
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRLP4 72
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 64
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 44
|
|
ADDP4
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 72
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $142
|
|
ADDRLP4 72
|
|
INDIRP4
|
|
INDIRI4
|
|
ADDRLP4 64
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $142
|
|
line 261
|
|
;261: {
|
|
line 262
|
|
;262: G_TestLine(gWPArray[i]->origin, gWPArray[gWPArray[i]->neighbors[n].num]->origin, 0x0000ff, 5000);
|
|
ADDRLP4 76
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 80
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRLP4 84
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 76
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 80
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 84
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 84
|
|
INDIRP4
|
|
CNSTI4 44
|
|
ADDP4
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 76
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 80
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 255
|
|
ARGI4
|
|
CNSTI4 5000
|
|
ARGI4
|
|
ADDRGP4 G_TestLine
|
|
CALLV
|
|
pop
|
|
line 263
|
|
;263: }
|
|
LABELV $142
|
|
line 264
|
|
;264: n++;
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 265
|
|
;265: }
|
|
LABELV $140
|
|
line 258
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
INDIRI4
|
|
LTI4 $139
|
|
line 267
|
|
;266:
|
|
;267: gWPRenderedFrame++;
|
|
ADDRLP4 64
|
|
ADDRGP4 gWPRenderedFrame
|
|
ASGNP4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 268
|
|
;268: }
|
|
ADDRGP4 $138
|
|
JUMPV
|
|
LABELV $137
|
|
line 270
|
|
;269: else
|
|
;270: {
|
|
line 271
|
|
;271: gWPRenderedFrame = 0;
|
|
ADDRGP4 gWPRenderedFrame
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 272
|
|
;272: break;
|
|
ADDRGP4 $136
|
|
JUMPV
|
|
LABELV $138
|
|
line 275
|
|
;273: }
|
|
;274:
|
|
;275: if ((i - inc_checker) > 4)
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
SUBI4
|
|
CNSTI4 4
|
|
LEI4 $144
|
|
line 276
|
|
;276: {
|
|
line 277
|
|
;277: break; //don't render too many at once
|
|
ADDRGP4 $136
|
|
JUMPV
|
|
LABELV $144
|
|
line 279
|
|
;278: }
|
|
;279: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 280
|
|
;280: }
|
|
LABELV $135
|
|
line 248
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $134
|
|
LABELV $136
|
|
line 282
|
|
;281:
|
|
;282: if (i >= gWPNum)
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $146
|
|
line 283
|
|
;283: {
|
|
line 284
|
|
;284: gWPRenderTime = level.time + 1500; //wait a bit after we finish doing the whole trail
|
|
ADDRGP4 gWPRenderTime
|
|
ADDRGP4 level+32
|
|
INDIRI4
|
|
CNSTI4 1500
|
|
ADDI4
|
|
CVIF4 4
|
|
ASGNF4
|
|
line 285
|
|
;285: gWPRenderedFrame = 0;
|
|
ADDRGP4 gWPRenderedFrame
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 286
|
|
;286: }
|
|
LABELV $146
|
|
LABELV $132
|
|
line 290
|
|
;287:
|
|
;288:checkprint:
|
|
;289:
|
|
;290: if (!bot_wp_info.value)
|
|
ADDRGP4 bot_wp_info+8
|
|
INDIRF4
|
|
CNSTF4 0
|
|
NEF4 $149
|
|
line 291
|
|
;291: {
|
|
line 292
|
|
;292: return;
|
|
ADDRGP4 $126
|
|
JUMPV
|
|
LABELV $149
|
|
line 295
|
|
;293: }
|
|
;294:
|
|
;295: viewent = &g_entities[0]; //only show info to the first client
|
|
ADDRLP4 20
|
|
ADDRGP4 g_entities
|
|
ASGNP4
|
|
line 297
|
|
;296:
|
|
;297: if (!viewent || !viewent->client)
|
|
ADDRLP4 56
|
|
CNSTU4 0
|
|
ASGNU4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 56
|
|
INDIRU4
|
|
EQU4 $154
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 408
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 56
|
|
INDIRU4
|
|
NEU4 $152
|
|
LABELV $154
|
|
line 298
|
|
;298: { //client isn't in the game yet?
|
|
line 299
|
|
;299: return;
|
|
ADDRGP4 $126
|
|
JUMPV
|
|
LABELV $152
|
|
line 302
|
|
;300: }
|
|
;301:
|
|
;302: bestdist = 256; //max distance for showing point info
|
|
ADDRLP4 40
|
|
CNSTF4 1132462080
|
|
ASGNF4
|
|
line 303
|
|
;303: gotbestindex = 0;
|
|
ADDRLP4 44
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 305
|
|
;304:
|
|
;305: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $156
|
|
JUMPV
|
|
LABELV $155
|
|
line 308
|
|
;306:
|
|
;307: while (i < gWPNum)
|
|
;308: {
|
|
line 309
|
|
;309: if (gWPArray[i] && gWPArray[i]->inuse)
|
|
ADDRLP4 60
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $158
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $158
|
|
line 310
|
|
;310: {
|
|
line 311
|
|
;311: VectorSubtract(viewent->client->ps.origin, gWPArray[i]->origin, a);
|
|
ADDRLP4 64
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 408
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 68
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
INDIRP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 8+4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 8+8
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 408
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 313
|
|
;312:
|
|
;313: checkdist = VectorLength(a);
|
|
ADDRLP4 8
|
|
ARGP4
|
|
ADDRLP4 72
|
|
ADDRGP4 VectorLength
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 28
|
|
ADDRLP4 72
|
|
INDIRF4
|
|
ASGNF4
|
|
line 315
|
|
;314:
|
|
;315: if (checkdist < bestdist)
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
ADDRLP4 40
|
|
INDIRF4
|
|
GEF4 $162
|
|
line 316
|
|
;316: {
|
|
line 317
|
|
;317: bestdist = checkdist;
|
|
ADDRLP4 40
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
ASGNF4
|
|
line 318
|
|
;318: bestindex = i;
|
|
ADDRLP4 36
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 319
|
|
;319: gotbestindex = 1;
|
|
ADDRLP4 44
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 320
|
|
;320: }
|
|
LABELV $162
|
|
line 321
|
|
;321: }
|
|
LABELV $158
|
|
line 322
|
|
;322: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 323
|
|
;323: }
|
|
LABELV $156
|
|
line 307
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $155
|
|
line 325
|
|
;324:
|
|
;325: if (gotbestindex && bestindex != gLastPrintedIndex)
|
|
ADDRLP4 44
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $164
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
ADDRGP4 gLastPrintedIndex
|
|
INDIRI4
|
|
EQI4 $164
|
|
line 326
|
|
;326: {
|
|
line 327
|
|
;327: flagstr = GetFlagStr(gWPArray[bestindex]->flags);
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 60
|
|
ADDRGP4 GetFlagStr
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 48
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
ASGNP4
|
|
line 328
|
|
;328: gLastPrintedIndex = bestindex;
|
|
ADDRGP4 gLastPrintedIndex
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
ASGNI4
|
|
line 329
|
|
;329: G_Printf(S_COLOR_YELLOW "Waypoint %i\nFlags - %i (%s) (w%f)\nOrigin - (%i %i %i)\n", (int)(gWPArray[bestindex]->index), (int)(gWPArray[bestindex]->flags), flagstr, gWPArray[bestindex]->weight, (int)(gWPArray[bestindex]->origin[0]), (int)(gWPArray[bestindex]->origin[1]), (int)(gWPArray[bestindex]->origin[2]));
|
|
ADDRGP4 $166
|
|
ARGP4
|
|
ADDRLP4 64
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 48
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
ARGI4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
ARGI4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
ARGI4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 331
|
|
;330: //GetFlagStr allocates 128 bytes for this, if it's changed then obviously this must be as well
|
|
;331: B_TempFree(128); //flagstr
|
|
CNSTI4 128
|
|
ARGI4
|
|
ADDRGP4 B_TempFree
|
|
CALLV
|
|
pop
|
|
line 333
|
|
;332:
|
|
;333: plum = G_TempEntity( gWPArray[bestindex]->origin, EV_SCOREPLUM );
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 86
|
|
ARGI4
|
|
ADDRLP4 68
|
|
ADDRGP4 G_TempEntity
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 24
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
ASGNP4
|
|
line 334
|
|
;334: plum->r.svFlags |= SVF_BROADCAST;
|
|
ADDRLP4 72
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 304
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 72
|
|
INDIRP4
|
|
ADDRLP4 72
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 32
|
|
BORI4
|
|
ASGNI4
|
|
line 335
|
|
;335: plum->s.time = bestindex; //render it once
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 84
|
|
ADDP4
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
ASGNI4
|
|
line 336
|
|
;336: }
|
|
ADDRGP4 $165
|
|
JUMPV
|
|
LABELV $164
|
|
line 337
|
|
;337: else if (!gotbestindex)
|
|
ADDRLP4 44
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $167
|
|
line 338
|
|
;338: {
|
|
line 339
|
|
;339: gLastPrintedIndex = -1;
|
|
ADDRGP4 gLastPrintedIndex
|
|
CNSTI4 -1
|
|
ASGNI4
|
|
line 340
|
|
;340: }
|
|
LABELV $167
|
|
LABELV $165
|
|
line 341
|
|
;341:}
|
|
LABELV $126
|
|
endproc BotWaypointRender 88 32
|
|
export TransferWPData
|
|
proc TransferWPData 84 4
|
|
line 344
|
|
;342:
|
|
;343:void TransferWPData(int from, int to)
|
|
;344:{
|
|
line 345
|
|
;345: if (!gWPArray[to])
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $170
|
|
line 346
|
|
;346: {
|
|
line 347
|
|
;347: gWPArray[to] = (wpobject_t *)B_Alloc(sizeof(wpobject_t));
|
|
CNSTI4 300
|
|
ARGI4
|
|
ADDRLP4 0
|
|
ADDRGP4 B_Alloc
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
line 348
|
|
;348: }
|
|
LABELV $170
|
|
line 350
|
|
;349:
|
|
;350: if (!gWPArray[to])
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $172
|
|
line 351
|
|
;351: {
|
|
line 352
|
|
;352: G_Printf(S_COLOR_RED "FATAL ERROR: Could not allocated memory for waypoint\n");
|
|
ADDRGP4 $174
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 353
|
|
;353: }
|
|
LABELV $172
|
|
line 355
|
|
;354:
|
|
;355: gWPArray[to]->flags = gWPArray[from]->flags;
|
|
ADDRLP4 0
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
CNSTI4 28
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 356
|
|
;356: gWPArray[to]->weight = gWPArray[from]->weight;
|
|
ADDRLP4 12
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRLP4 20
|
|
CNSTI4 20
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 357
|
|
;357: gWPArray[to]->associated_entity = gWPArray[from]->associated_entity;
|
|
ADDRLP4 24
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 28
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRLP4 32
|
|
CNSTI4 32
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 358
|
|
;358: gWPArray[to]->disttonext = gWPArray[from]->disttonext;
|
|
ADDRLP4 36
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 40
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRLP4 44
|
|
CNSTI4 24
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 40
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 44
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 40
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 44
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 359
|
|
;359: gWPArray[to]->forceJumpTo = gWPArray[from]->forceJumpTo;
|
|
ADDRLP4 48
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 52
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRLP4 56
|
|
CNSTI4 36
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ADDRLP4 48
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 56
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ADDRLP4 48
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 56
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 360
|
|
;360: gWPArray[to]->index = to;
|
|
ADDRLP4 60
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 60
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
ADDRLP4 60
|
|
INDIRI4
|
|
ASGNI4
|
|
line 361
|
|
;361: gWPArray[to]->inuse = gWPArray[from]->inuse;
|
|
ADDRLP4 64
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 68
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRLP4 72
|
|
CNSTI4 12
|
|
ASGNI4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ADDRLP4 64
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 72
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ADDRLP4 64
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 72
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 362
|
|
;362: VectorCopy(gWPArray[from]->origin, gWPArray[to]->origin);
|
|
ADDRLP4 76
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 80
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ADDRLP4 76
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 80
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ADDRLP4 76
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 80
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 363
|
|
;363:}
|
|
LABELV $169
|
|
endproc TransferWPData 84 4
|
|
export CreateNewWP
|
|
proc CreateNewWP 8 8
|
|
line 366
|
|
;364:
|
|
;365:void CreateNewWP(vec3_t origin, int flags)
|
|
;366:{
|
|
line 367
|
|
;367: if (gWPNum >= MAX_WPARRAY_SIZE)
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 4096
|
|
LTI4 $176
|
|
line 368
|
|
;368: {
|
|
line 369
|
|
;369: G_Printf(S_COLOR_YELLOW "Warning: Waypoint limit hit (%i)\n", MAX_WPARRAY_SIZE);
|
|
ADDRGP4 $178
|
|
ARGP4
|
|
CNSTI4 4096
|
|
ARGI4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 370
|
|
;370: return;
|
|
ADDRGP4 $175
|
|
JUMPV
|
|
LABELV $176
|
|
line 373
|
|
;371: }
|
|
;372:
|
|
;373: if (!gWPArray[gWPNum])
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $179
|
|
line 374
|
|
;374: {
|
|
line 375
|
|
;375: gWPArray[gWPNum] = (wpobject_t *)B_Alloc(sizeof(wpobject_t));
|
|
CNSTI4 300
|
|
ARGI4
|
|
ADDRLP4 0
|
|
ADDRGP4 B_Alloc
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
line 376
|
|
;376: }
|
|
LABELV $179
|
|
line 378
|
|
;377:
|
|
;378: if (!gWPArray[gWPNum])
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $181
|
|
line 379
|
|
;379: {
|
|
line 380
|
|
;380: G_Printf(S_COLOR_RED "ERROR: Could not allocated memory for waypoint\n");
|
|
ADDRGP4 $183
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 381
|
|
;381: }
|
|
LABELV $181
|
|
line 383
|
|
;382:
|
|
;383: gWPArray[gWPNum]->flags = flags;
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 384
|
|
;384: gWPArray[gWPNum]->weight = 0; //calculated elsewhere
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 385
|
|
;385: gWPArray[gWPNum]->associated_entity = ENTITYNUM_NONE; //set elsewhere
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 32
|
|
ADDP4
|
|
CNSTI4 1023
|
|
ASGNI4
|
|
line 386
|
|
;386: gWPArray[gWPNum]->forceJumpTo = 0;
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 36
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 387
|
|
;387: gWPArray[gWPNum]->disttonext = 0; //calculated elsewhere
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 388
|
|
;388: gWPArray[gWPNum]->index = gWPNum;
|
|
ADDRLP4 0
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 389
|
|
;389: gWPArray[gWPNum]->inuse = 1;
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 390
|
|
;390: VectorCopy(origin, gWPArray[gWPNum]->origin);
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 391
|
|
;391: gWPNum++;
|
|
ADDRLP4 4
|
|
ADDRGP4 gWPNum
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 392
|
|
;392:}
|
|
LABELV $175
|
|
endproc CreateNewWP 8 8
|
|
export CreateNewWP_FromObject
|
|
proc CreateNewWP_FromObject 52 4
|
|
line 395
|
|
;393:
|
|
;394:void CreateNewWP_FromObject(wpobject_t *wp)
|
|
;395:{
|
|
line 398
|
|
;396: int i;
|
|
;397:
|
|
;398: if (gWPNum >= MAX_WPARRAY_SIZE)
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 4096
|
|
LTI4 $185
|
|
line 399
|
|
;399: {
|
|
line 400
|
|
;400: return;
|
|
ADDRGP4 $184
|
|
JUMPV
|
|
LABELV $185
|
|
line 403
|
|
;401: }
|
|
;402:
|
|
;403: if (!gWPArray[gWPNum])
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $187
|
|
line 404
|
|
;404: {
|
|
line 405
|
|
;405: gWPArray[gWPNum] = (wpobject_t *)B_Alloc(sizeof(wpobject_t));
|
|
CNSTI4 300
|
|
ARGI4
|
|
ADDRLP4 4
|
|
ADDRGP4 B_Alloc
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
line 406
|
|
;406: }
|
|
LABELV $187
|
|
line 408
|
|
;407:
|
|
;408: if (!gWPArray[gWPNum])
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $189
|
|
line 409
|
|
;409: {
|
|
line 410
|
|
;410: G_Printf(S_COLOR_RED "ERROR: Could not allocated memory for waypoint\n");
|
|
ADDRGP4 $183
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 411
|
|
;411: }
|
|
LABELV $189
|
|
line 413
|
|
;412:
|
|
;413: gWPArray[gWPNum]->flags = wp->flags;
|
|
ADDRLP4 4
|
|
CNSTI4 28
|
|
ASGNI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 414
|
|
;414: gWPArray[gWPNum]->weight = wp->weight;
|
|
ADDRLP4 8
|
|
CNSTI4 20
|
|
ASGNI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 415
|
|
;415: gWPArray[gWPNum]->associated_entity = wp->associated_entity;
|
|
ADDRLP4 12
|
|
CNSTI4 32
|
|
ASGNI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 416
|
|
;416: gWPArray[gWPNum]->disttonext = wp->disttonext;
|
|
ADDRLP4 16
|
|
CNSTI4 24
|
|
ASGNI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 417
|
|
;417: gWPArray[gWPNum]->forceJumpTo = wp->forceJumpTo;
|
|
ADDRLP4 20
|
|
CNSTI4 36
|
|
ASGNI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 418
|
|
;418: gWPArray[gWPNum]->index = gWPNum;
|
|
ADDRLP4 24
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ASGNI4
|
|
line 419
|
|
;419: gWPArray[gWPNum]->inuse = 1;
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 420
|
|
;420: VectorCopy(wp->origin, gWPArray[gWPNum]->origin);
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 421
|
|
;421: gWPArray[gWPNum]->neighbornum = wp->neighbornum;
|
|
ADDRLP4 28
|
|
CNSTI4 40
|
|
ASGNI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 423
|
|
;422:
|
|
;423: i = wp->neighbornum;
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRGP4 $192
|
|
JUMPV
|
|
LABELV $191
|
|
line 426
|
|
;424:
|
|
;425: while (i >= 0)
|
|
;426: {
|
|
line 427
|
|
;427: gWPArray[gWPNum]->neighbors[i].num = wp->neighbors[i].num;
|
|
ADDRLP4 32
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 36
|
|
CNSTI4 44
|
|
ASGNI4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
ADDP4
|
|
ADDP4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
ADDP4
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 428
|
|
;428: gWPArray[gWPNum]->neighbors[i].forceJumpTo = wp->neighbors[i].forceJumpTo;
|
|
ADDRLP4 40
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 44
|
|
CNSTI4 44
|
|
ASGNI4
|
|
ADDRLP4 48
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 40
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 44
|
|
INDIRI4
|
|
ADDP4
|
|
ADDP4
|
|
ADDRLP4 48
|
|
INDIRI4
|
|
ADDP4
|
|
ADDRLP4 40
|
|
INDIRI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 44
|
|
INDIRI4
|
|
ADDP4
|
|
ADDP4
|
|
ADDRLP4 48
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 430
|
|
;429:
|
|
;430: i--;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
SUBI4
|
|
ASGNI4
|
|
line 431
|
|
;431: }
|
|
LABELV $192
|
|
line 425
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 0
|
|
GEI4 $191
|
|
line 433
|
|
;432:
|
|
;433: if (gWPArray[gWPNum]->flags & WPFLAG_RED_FLAG)
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 131072
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $194
|
|
line 434
|
|
;434: {
|
|
line 435
|
|
;435: flagRed = gWPArray[gWPNum];
|
|
ADDRGP4 flagRed
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
line 436
|
|
;436: oFlagRed = flagRed;
|
|
ADDRGP4 oFlagRed
|
|
ADDRGP4 flagRed
|
|
INDIRP4
|
|
ASGNP4
|
|
line 437
|
|
;437: }
|
|
ADDRGP4 $195
|
|
JUMPV
|
|
LABELV $194
|
|
line 438
|
|
;438: else if (gWPArray[gWPNum]->flags & WPFLAG_BLUE_FLAG)
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 262144
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $196
|
|
line 439
|
|
;439: {
|
|
line 440
|
|
;440: flagBlue = gWPArray[gWPNum];
|
|
ADDRGP4 flagBlue
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
line 441
|
|
;441: oFlagBlue = flagBlue;
|
|
ADDRGP4 oFlagBlue
|
|
ADDRGP4 flagBlue
|
|
INDIRP4
|
|
ASGNP4
|
|
line 442
|
|
;442: }
|
|
LABELV $196
|
|
LABELV $195
|
|
line 444
|
|
;443:
|
|
;444: gWPNum++;
|
|
ADDRLP4 32
|
|
ADDRGP4 gWPNum
|
|
ASGNP4
|
|
ADDRLP4 32
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 445
|
|
;445:}
|
|
LABELV $184
|
|
endproc CreateNewWP_FromObject 52 4
|
|
export RemoveWP
|
|
proc RemoveWP 8 12
|
|
line 448
|
|
;446:
|
|
;447:void RemoveWP(void)
|
|
;448:{
|
|
line 449
|
|
;449: if (gWPNum <= 0)
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 0
|
|
GTI4 $199
|
|
line 450
|
|
;450: {
|
|
line 451
|
|
;451: return;
|
|
ADDRGP4 $198
|
|
JUMPV
|
|
LABELV $199
|
|
line 454
|
|
;452: }
|
|
;453:
|
|
;454: gWPNum--;
|
|
ADDRLP4 0
|
|
ADDRGP4 gWPNum
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
SUBI4
|
|
ASGNI4
|
|
line 456
|
|
;455:
|
|
;456: if (!gWPArray[gWPNum] || !gWPArray[gWPNum]->inuse)
|
|
ADDRLP4 4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $203
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $201
|
|
LABELV $203
|
|
line 457
|
|
;457: {
|
|
line 458
|
|
;458: return;
|
|
ADDRGP4 $198
|
|
JUMPV
|
|
LABELV $201
|
|
line 462
|
|
;459: }
|
|
;460:
|
|
;461: //B_Free((wpobject_t *)gWPArray[gWPNum]);
|
|
;462: if (gWPArray[gWPNum])
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $204
|
|
line 463
|
|
;463: {
|
|
line 464
|
|
;464: memset( gWPArray[gWPNum], 0, sizeof(gWPArray[gWPNum]) );
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
CNSTI4 4
|
|
ARGI4
|
|
ADDRGP4 memset
|
|
CALLP4
|
|
pop
|
|
line 465
|
|
;465: }
|
|
LABELV $204
|
|
line 469
|
|
;466:
|
|
;467: //gWPArray[gWPNum] = NULL;
|
|
;468:
|
|
;469: if (gWPArray[gWPNum])
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $206
|
|
line 470
|
|
;470: {
|
|
line 471
|
|
;471: gWPArray[gWPNum]->inuse = 0;
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 472
|
|
;472: }
|
|
LABELV $206
|
|
line 473
|
|
;473:}
|
|
LABELV $198
|
|
endproc RemoveWP 8 12
|
|
export RemoveWP_InTrail
|
|
proc RemoveWP_InTrail 28 12
|
|
line 476
|
|
;474:
|
|
;475:void RemoveWP_InTrail(int afterindex)
|
|
;476:{
|
|
line 482
|
|
;477: int foundindex;
|
|
;478: int foundanindex;
|
|
;479: int didchange;
|
|
;480: int i;
|
|
;481:
|
|
;482: foundindex = 0;
|
|
ADDRLP4 4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 483
|
|
;483: foundanindex = 0;
|
|
ADDRLP4 12
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 484
|
|
;484: didchange = 0;
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 485
|
|
;485: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 487
|
|
;486:
|
|
;487: if (afterindex < 0 || afterindex >= gWPNum)
|
|
ADDRLP4 16
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
CNSTI4 0
|
|
LTI4 $211
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $214
|
|
LABELV $211
|
|
line 488
|
|
;488: {
|
|
line 489
|
|
;489: G_Printf(S_COLOR_YELLOW "Waypoint number %i does not exist\n", afterindex);
|
|
ADDRGP4 $212
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 490
|
|
;490: return;
|
|
ADDRGP4 $208
|
|
JUMPV
|
|
LABELV $213
|
|
line 494
|
|
;491: }
|
|
;492:
|
|
;493: while (i < gWPNum)
|
|
;494: {
|
|
line 495
|
|
;495: if (gWPArray[i] && gWPArray[i]->inuse && gWPArray[i]->index == afterindex)
|
|
ADDRLP4 20
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $216
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $216
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
NEI4 $216
|
|
line 496
|
|
;496: {
|
|
line 497
|
|
;497: foundindex = i;
|
|
ADDRLP4 4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 498
|
|
;498: foundanindex = 1;
|
|
ADDRLP4 12
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 499
|
|
;499: break;
|
|
ADDRGP4 $215
|
|
JUMPV
|
|
LABELV $216
|
|
line 502
|
|
;500: }
|
|
;501:
|
|
;502: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 503
|
|
;503: }
|
|
LABELV $214
|
|
line 493
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $213
|
|
LABELV $215
|
|
line 505
|
|
;504:
|
|
;505: if (!foundanindex)
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $218
|
|
line 506
|
|
;506: {
|
|
line 507
|
|
;507: G_Printf(S_COLOR_YELLOW "Waypoint index %i should exist, but does not (?)\n", afterindex);
|
|
ADDRGP4 $220
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 508
|
|
;508: return;
|
|
ADDRGP4 $208
|
|
JUMPV
|
|
LABELV $218
|
|
line 511
|
|
;509: }
|
|
;510:
|
|
;511: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $222
|
|
JUMPV
|
|
LABELV $221
|
|
line 514
|
|
;512:
|
|
;513: while (i <= gWPNum)
|
|
;514: {
|
|
line 515
|
|
;515: if (gWPArray[i] && gWPArray[i]->index == foundindex)
|
|
ADDRLP4 20
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $224
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
NEI4 $224
|
|
line 516
|
|
;516: {
|
|
line 520
|
|
;517: //B_Free(gWPArray[i]);
|
|
;518:
|
|
;519: //Keep reusing the memory
|
|
;520: memset( gWPArray[i], 0, sizeof(gWPArray[i]) );
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
CNSTI4 4
|
|
ARGI4
|
|
ADDRGP4 memset
|
|
CALLP4
|
|
pop
|
|
line 523
|
|
;521:
|
|
;522: //gWPArray[i] = NULL;
|
|
;523: gWPArray[i]->inuse = 0;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 524
|
|
;524: didchange = 1;
|
|
ADDRLP4 8
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 525
|
|
;525: }
|
|
ADDRGP4 $225
|
|
JUMPV
|
|
LABELV $224
|
|
line 526
|
|
;526: else if (gWPArray[i] && didchange)
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $226
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $226
|
|
line 527
|
|
;527: {
|
|
line 528
|
|
;528: TransferWPData(i, i-1);
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
SUBI4
|
|
ARGI4
|
|
ADDRGP4 TransferWPData
|
|
CALLV
|
|
pop
|
|
line 532
|
|
;529: //B_Free(gWPArray[i]);
|
|
;530:
|
|
;531: //Keep reusing the memory
|
|
;532: memset( gWPArray[i], 0, sizeof(gWPArray[i]) );
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
CNSTI4 4
|
|
ARGI4
|
|
ADDRGP4 memset
|
|
CALLP4
|
|
pop
|
|
line 535
|
|
;533:
|
|
;534: //gWPArray[i] = NULL;
|
|
;535: gWPArray[i]->inuse = 0;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 536
|
|
;536: }
|
|
LABELV $226
|
|
LABELV $225
|
|
line 538
|
|
;537:
|
|
;538: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 539
|
|
;539: }
|
|
LABELV $222
|
|
line 513
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LEI4 $221
|
|
line 540
|
|
;540: gWPNum--;
|
|
ADDRLP4 20
|
|
ADDRGP4 gWPNum
|
|
ASGNP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
SUBI4
|
|
ASGNI4
|
|
line 541
|
|
;541:}
|
|
LABELV $208
|
|
endproc RemoveWP_InTrail 28 12
|
|
export CreateNewWP_InTrail
|
|
proc CreateNewWP_InTrail 32 8
|
|
line 544
|
|
;542:
|
|
;543:int CreateNewWP_InTrail(vec3_t origin, int flags, int afterindex)
|
|
;544:{
|
|
line 549
|
|
;545: int foundindex;
|
|
;546: int foundanindex;
|
|
;547: int i;
|
|
;548:
|
|
;549: foundindex = 0;
|
|
ADDRLP4 4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 550
|
|
;550: foundanindex = 0;
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 551
|
|
;551: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 553
|
|
;552:
|
|
;553: if (gWPNum >= MAX_WPARRAY_SIZE)
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 4096
|
|
LTI4 $229
|
|
line 554
|
|
;554: {
|
|
line 555
|
|
;555: G_Printf(S_COLOR_YELLOW "Warning: Waypoint limit hit (%i)\n", MAX_WPARRAY_SIZE);
|
|
ADDRGP4 $178
|
|
ARGP4
|
|
CNSTI4 4096
|
|
ARGI4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 556
|
|
;556: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $228
|
|
JUMPV
|
|
LABELV $229
|
|
line 559
|
|
;557: }
|
|
;558:
|
|
;559: if (afterindex < 0 || afterindex >= gWPNum)
|
|
ADDRLP4 12
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 0
|
|
LTI4 $233
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $235
|
|
LABELV $233
|
|
line 560
|
|
;560: {
|
|
line 561
|
|
;561: G_Printf(S_COLOR_YELLOW "Waypoint number %i does not exist\n", afterindex);
|
|
ADDRGP4 $212
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 562
|
|
;562: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $228
|
|
JUMPV
|
|
LABELV $234
|
|
line 566
|
|
;563: }
|
|
;564:
|
|
;565: while (i < gWPNum)
|
|
;566: {
|
|
line 567
|
|
;567: if (gWPArray[i] && gWPArray[i]->inuse && gWPArray[i]->index == afterindex)
|
|
ADDRLP4 16
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $237
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $237
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
NEI4 $237
|
|
line 568
|
|
;568: {
|
|
line 569
|
|
;569: foundindex = i;
|
|
ADDRLP4 4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 570
|
|
;570: foundanindex = 1;
|
|
ADDRLP4 8
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 571
|
|
;571: break;
|
|
ADDRGP4 $236
|
|
JUMPV
|
|
LABELV $237
|
|
line 574
|
|
;572: }
|
|
;573:
|
|
;574: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 575
|
|
;575: }
|
|
LABELV $235
|
|
line 565
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $234
|
|
LABELV $236
|
|
line 577
|
|
;576:
|
|
;577: if (!foundanindex)
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $239
|
|
line 578
|
|
;578: {
|
|
line 579
|
|
;579: G_Printf(S_COLOR_YELLOW "Waypoint index %i should exist, but does not (?)\n", afterindex);
|
|
ADDRGP4 $220
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 580
|
|
;580: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $228
|
|
JUMPV
|
|
LABELV $239
|
|
line 583
|
|
;581: }
|
|
;582:
|
|
;583: i = gWPNum;
|
|
ADDRLP4 0
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRGP4 $242
|
|
JUMPV
|
|
LABELV $241
|
|
line 586
|
|
;584:
|
|
;585: while (i >= 0)
|
|
;586: {
|
|
line 587
|
|
;587: if (gWPArray[i] && gWPArray[i]->inuse && gWPArray[i]->index != foundindex)
|
|
ADDRLP4 16
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $244
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $244
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
EQI4 $244
|
|
line 588
|
|
;588: {
|
|
line 589
|
|
;589: TransferWPData(i, i+1);
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ARGI4
|
|
ADDRGP4 TransferWPData
|
|
CALLV
|
|
pop
|
|
line 590
|
|
;590: }
|
|
ADDRGP4 $245
|
|
JUMPV
|
|
LABELV $244
|
|
line 591
|
|
;591: else if (gWPArray[i] && gWPArray[i]->inuse && gWPArray[i]->index == foundindex)
|
|
ADDRLP4 20
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $246
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $246
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
NEI4 $246
|
|
line 592
|
|
;592: {
|
|
line 593
|
|
;593: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 595
|
|
;594:
|
|
;595: if (!gWPArray[i])
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $248
|
|
line 596
|
|
;596: {
|
|
line 597
|
|
;597: gWPArray[i] = (wpobject_t *)B_Alloc(sizeof(wpobject_t));
|
|
CNSTI4 300
|
|
ARGI4
|
|
ADDRLP4 24
|
|
ADDRGP4 B_Alloc
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
ASGNP4
|
|
line 598
|
|
;598: }
|
|
LABELV $248
|
|
line 600
|
|
;599:
|
|
;600: gWPArray[i]->flags = flags;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 601
|
|
;601: gWPArray[i]->weight = 0; //calculated elsewhere
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 602
|
|
;602: gWPArray[i]->associated_entity = ENTITYNUM_NONE; //set elsewhere
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 32
|
|
ADDP4
|
|
CNSTI4 1023
|
|
ASGNI4
|
|
line 603
|
|
;603: gWPArray[i]->disttonext = 0; //calculated elsewhere
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 604
|
|
;604: gWPArray[i]->forceJumpTo = 0;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 36
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 605
|
|
;605: gWPArray[i]->index = i;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 606
|
|
;606: gWPArray[i]->inuse = 1;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 607
|
|
;607: VectorCopy(origin, gWPArray[i]->origin);
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 608
|
|
;608: gWPNum++;
|
|
ADDRLP4 28
|
|
ADDRGP4 gWPNum
|
|
ASGNP4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 609
|
|
;609: break;
|
|
ADDRGP4 $243
|
|
JUMPV
|
|
LABELV $246
|
|
LABELV $245
|
|
line 612
|
|
;610: }
|
|
;611:
|
|
;612: i--;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
SUBI4
|
|
ASGNI4
|
|
line 613
|
|
;613: }
|
|
LABELV $242
|
|
line 585
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 0
|
|
GEI4 $241
|
|
LABELV $243
|
|
line 615
|
|
;614:
|
|
;615: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
LABELV $228
|
|
endproc CreateNewWP_InTrail 32 8
|
|
export TeleportToWP
|
|
proc TeleportToWP 28 8
|
|
line 619
|
|
;616:}
|
|
;617:
|
|
;618:void TeleportToWP(gentity_t *pl, int afterindex)
|
|
;619:{
|
|
line 624
|
|
;620: int foundindex;
|
|
;621: int foundanindex;
|
|
;622: int i;
|
|
;623:
|
|
;624: if (!pl || !pl->client)
|
|
ADDRLP4 12
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 16
|
|
CNSTU4 0
|
|
ASGNU4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 16
|
|
INDIRU4
|
|
EQU4 $253
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CNSTI4 408
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 16
|
|
INDIRU4
|
|
NEU4 $251
|
|
LABELV $253
|
|
line 625
|
|
;625: {
|
|
line 626
|
|
;626: return;
|
|
ADDRGP4 $250
|
|
JUMPV
|
|
LABELV $251
|
|
line 629
|
|
;627: }
|
|
;628:
|
|
;629: foundindex = 0;
|
|
ADDRLP4 4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 630
|
|
;630: foundanindex = 0;
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 631
|
|
;631: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 633
|
|
;632:
|
|
;633: if (afterindex < 0 || afterindex >= gWPNum)
|
|
ADDRLP4 20
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
CNSTI4 0
|
|
LTI4 $256
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $258
|
|
LABELV $256
|
|
line 634
|
|
;634: {
|
|
line 635
|
|
;635: G_Printf(S_COLOR_YELLOW "Waypoint number %i does not exist\n", afterindex);
|
|
ADDRGP4 $212
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 636
|
|
;636: return;
|
|
ADDRGP4 $250
|
|
JUMPV
|
|
LABELV $257
|
|
line 640
|
|
;637: }
|
|
;638:
|
|
;639: while (i < gWPNum)
|
|
;640: {
|
|
line 641
|
|
;641: if (gWPArray[i] && gWPArray[i]->inuse && gWPArray[i]->index == afterindex)
|
|
ADDRLP4 24
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $260
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $260
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
NEI4 $260
|
|
line 642
|
|
;642: {
|
|
line 643
|
|
;643: foundindex = i;
|
|
ADDRLP4 4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 644
|
|
;644: foundanindex = 1;
|
|
ADDRLP4 8
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 645
|
|
;645: break;
|
|
ADDRGP4 $259
|
|
JUMPV
|
|
LABELV $260
|
|
line 648
|
|
;646: }
|
|
;647:
|
|
;648: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 649
|
|
;649: }
|
|
LABELV $258
|
|
line 639
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $257
|
|
LABELV $259
|
|
line 651
|
|
;650:
|
|
;651: if (!foundanindex)
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $262
|
|
line 652
|
|
;652: {
|
|
line 653
|
|
;653: G_Printf(S_COLOR_YELLOW "Waypoint index %i should exist, but does not (?)\n", afterindex);
|
|
ADDRGP4 $220
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 654
|
|
;654: return;
|
|
ADDRGP4 $250
|
|
JUMPV
|
|
LABELV $262
|
|
line 657
|
|
;655: }
|
|
;656:
|
|
;657: VectorCopy(gWPArray[foundindex]->origin, pl->client->ps.origin);
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 408
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 659
|
|
;658:
|
|
;659: return;
|
|
LABELV $250
|
|
endproc TeleportToWP 28 8
|
|
export WPFlagsModify
|
|
proc WPFlagsModify 12 8
|
|
line 663
|
|
;660:}
|
|
;661:
|
|
;662:void WPFlagsModify(int wpnum, int flags)
|
|
;663:{
|
|
line 664
|
|
;664: if (wpnum < 0 || wpnum >= gWPNum || !gWPArray[wpnum] || !gWPArray[wpnum]->inuse)
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
LTI4 $269
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
GEI4 $269
|
|
ADDRLP4 8
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $269
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
NEI4 $265
|
|
LABELV $269
|
|
line 665
|
|
;665: {
|
|
line 666
|
|
;666: G_Printf(S_COLOR_YELLOW "WPFlagsModify: Waypoint %i does not exist\n", wpnum);
|
|
ADDRGP4 $270
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 667
|
|
;667: return;
|
|
ADDRGP4 $264
|
|
JUMPV
|
|
LABELV $265
|
|
line 670
|
|
;668: }
|
|
;669:
|
|
;670: gWPArray[wpnum]->flags = flags;
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 671
|
|
;671:}
|
|
LABELV $264
|
|
endproc WPFlagsModify 12 8
|
|
export NotWithinRange
|
|
proc NotWithinRange 16 0
|
|
line 674
|
|
;672:
|
|
;673:int NotWithinRange(int base, int extent)
|
|
;674:{
|
|
line 675
|
|
;675: if (extent > base && base+5 >= extent)
|
|
ADDRLP4 0
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
LEI4 $272
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 5
|
|
ADDI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
LTI4 $272
|
|
line 676
|
|
;676: {
|
|
line 677
|
|
;677: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $271
|
|
JUMPV
|
|
LABELV $272
|
|
line 680
|
|
;678: }
|
|
;679:
|
|
;680: if (extent < base && base-5 <= extent)
|
|
ADDRLP4 8
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 12
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
GEI4 $274
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 5
|
|
SUBI4
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
GTI4 $274
|
|
line 681
|
|
;681: {
|
|
line 682
|
|
;682: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $271
|
|
JUMPV
|
|
LABELV $274
|
|
line 685
|
|
;683: }
|
|
;684:
|
|
;685: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
LABELV $271
|
|
endproc NotWithinRange 16 0
|
|
export NodeHere
|
|
proc NodeHere 36 0
|
|
line 689
|
|
;686:}
|
|
;687:
|
|
;688:int NodeHere(vec3_t spot)
|
|
;689:{
|
|
line 692
|
|
;690: int i;
|
|
;691:
|
|
;692: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $278
|
|
JUMPV
|
|
LABELV $277
|
|
line 695
|
|
;693:
|
|
;694: while (i < nodenum)
|
|
;695: {
|
|
line 696
|
|
;696: if ((int)nodetable[i].origin[0] == (int)spot[0] &&
|
|
ADDRLP4 4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 8
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
NEI4 $280
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDRGP4 nodetable+4
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
NEI4 $280
|
|
line 698
|
|
;697: (int)nodetable[i].origin[1] == (int)spot[1])
|
|
;698: {
|
|
line 699
|
|
;699: if ((int)nodetable[i].origin[2] == (int)spot[2] ||
|
|
ADDRLP4 12
|
|
CNSTI4 5
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 20
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDRGP4 nodetable+8
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
EQI4 $291
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDRGP4 nodetable+8
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
GEI4 $292
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDRGP4 nodetable+8
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ADDI4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
GTI4 $291
|
|
LABELV $292
|
|
ADDRLP4 24
|
|
CNSTI4 5
|
|
ASGNI4
|
|
ADDRLP4 28
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 32
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
ASGNI4
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
ADDRGP4 nodetable+8
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
LEI4 $283
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
ADDRGP4 nodetable+8
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
SUBI4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
GEI4 $283
|
|
LABELV $291
|
|
line 702
|
|
;700: ((int)nodetable[i].origin[2] < (int)spot[2] && (int)nodetable[i].origin[2]+5 > (int)spot[2]) ||
|
|
;701: ((int)nodetable[i].origin[2] > (int)spot[2] && (int)nodetable[i].origin[2]-5 < (int)spot[2]))
|
|
;702: {
|
|
line 703
|
|
;703: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $276
|
|
JUMPV
|
|
LABELV $283
|
|
line 705
|
|
;704: }
|
|
;705: }
|
|
LABELV $280
|
|
line 706
|
|
;706: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 707
|
|
;707: }
|
|
LABELV $278
|
|
line 694
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
LTI4 $277
|
|
line 709
|
|
;708:
|
|
;709: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
LABELV $276
|
|
endproc NodeHere 36 0
|
|
export CanGetToVector
|
|
proc CanGetToVector 1084 28
|
|
line 713
|
|
;710:}
|
|
;711:
|
|
;712:int CanGetToVector(vec3_t org1, vec3_t org2, vec3_t mins, vec3_t maxs)
|
|
;713:{
|
|
line 716
|
|
;714: trace_t tr;
|
|
;715:
|
|
;716: trap_Trace(&tr, org1, mins, maxs, org2, -1, MASK_SOLID);
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 -1
|
|
ARGI4
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRGP4 trap_Trace
|
|
CALLV
|
|
pop
|
|
line 718
|
|
;717:
|
|
;718: if (tr.fraction == 1 && !tr.startsolid && !tr.allsolid)
|
|
ADDRLP4 0+8
|
|
INDIRF4
|
|
CNSTF4 1065353216
|
|
NEF4 $294
|
|
ADDRLP4 1080
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 0+4
|
|
INDIRI4
|
|
ADDRLP4 1080
|
|
INDIRI4
|
|
NEI4 $294
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 1080
|
|
INDIRI4
|
|
NEI4 $294
|
|
line 719
|
|
;719: {
|
|
line 720
|
|
;720: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $293
|
|
JUMPV
|
|
LABELV $294
|
|
line 723
|
|
;721: }
|
|
;722:
|
|
;723: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
LABELV $293
|
|
endproc CanGetToVector 1084 28
|
|
export CanGetToVectorTravel
|
|
proc CanGetToVectorTravel 1192 28
|
|
line 727
|
|
;724:}
|
|
;725:
|
|
;726:int CanGetToVectorTravel(vec3_t org1, vec3_t org2, vec3_t mins, vec3_t maxs)
|
|
;727:{
|
|
line 733
|
|
;728: trace_t tr;
|
|
;729: vec3_t a, ang, fwd;
|
|
;730: vec3_t midpos, dmid;
|
|
;731: float startheight, midheight, fLen;
|
|
;732:
|
|
;733: mins[2] = -13;
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
CNSTF4 3243245568
|
|
ASGNF4
|
|
line 734
|
|
;734: maxs[2] = 13;
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
CNSTF4 1095761920
|
|
ASGNF4
|
|
line 736
|
|
;735:
|
|
;736: trap_Trace(&tr, org1, mins, maxs, org2, -1, MASK_SOLID);
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 -1
|
|
ARGI4
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRGP4 trap_Trace
|
|
CALLV
|
|
pop
|
|
line 738
|
|
;737:
|
|
;738: if (tr.fraction != 1 || tr.startsolid || tr.allsolid)
|
|
ADDRLP4 0+8
|
|
INDIRF4
|
|
CNSTF4 1065353216
|
|
NEF4 $304
|
|
ADDRLP4 1152
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 0+4
|
|
INDIRI4
|
|
ADDRLP4 1152
|
|
INDIRI4
|
|
NEI4 $304
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 1152
|
|
INDIRI4
|
|
EQI4 $299
|
|
LABELV $304
|
|
line 739
|
|
;739: {
|
|
line 740
|
|
;740: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $298
|
|
JUMPV
|
|
LABELV $299
|
|
line 743
|
|
;741: }
|
|
;742:
|
|
;743: VectorSubtract(org2, org1, a);
|
|
ADDRLP4 1156
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 1160
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 1104
|
|
ADDRLP4 1156
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 1160
|
|
INDIRP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 1164
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 1104+4
|
|
ADDRLP4 1156
|
|
INDIRP4
|
|
ADDRLP4 1164
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 1160
|
|
INDIRP4
|
|
ADDRLP4 1164
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 1168
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 1104+8
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ADDRLP4 1168
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 1168
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 745
|
|
;744:
|
|
;745: vectoangles(a, ang);
|
|
ADDRLP4 1104
|
|
ARGP4
|
|
ADDRLP4 1132
|
|
ARGP4
|
|
ADDRGP4 vectoangles
|
|
CALLV
|
|
pop
|
|
line 747
|
|
;746:
|
|
;747: AngleVectors(ang, fwd, NULL, NULL);
|
|
ADDRLP4 1132
|
|
ARGP4
|
|
ADDRLP4 1116
|
|
ARGP4
|
|
ADDRLP4 1172
|
|
CNSTP4 0
|
|
ASGNP4
|
|
ADDRLP4 1172
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 1172
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 AngleVectors
|
|
CALLV
|
|
pop
|
|
line 749
|
|
;748:
|
|
;749: fLen = VectorLength(a)/2;
|
|
ADDRLP4 1104
|
|
ARGP4
|
|
ADDRLP4 1176
|
|
ADDRGP4 VectorLength
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 1128
|
|
ADDRLP4 1176
|
|
INDIRF4
|
|
CNSTF4 1073741824
|
|
DIVF4
|
|
ASGNF4
|
|
line 751
|
|
;750:
|
|
;751: midpos[0] = org1[0] + fwd[0]*fLen;
|
|
ADDRLP4 1080
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 1116
|
|
INDIRF4
|
|
ADDRLP4 1128
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 752
|
|
;752: midpos[1] = org1[1] + fwd[1]*fLen;
|
|
ADDRLP4 1080+4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 1116+4
|
|
INDIRF4
|
|
ADDRLP4 1128
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 753
|
|
;753: midpos[2] = org1[2] + fwd[2]*fLen;
|
|
ADDRLP4 1080+8
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 1116+8
|
|
INDIRF4
|
|
ADDRLP4 1128
|
|
INDIRF4
|
|
MULF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 755
|
|
;754:
|
|
;755: VectorCopy(org1, dmid);
|
|
ADDRLP4 1092
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 756
|
|
;756: dmid[2] -= 1024;
|
|
ADDRLP4 1092+8
|
|
ADDRLP4 1092+8
|
|
INDIRF4
|
|
CNSTF4 1149239296
|
|
SUBF4
|
|
ASGNF4
|
|
line 758
|
|
;757:
|
|
;758: trap_Trace(&tr, midpos, NULL, NULL, dmid, -1, MASK_SOLID);
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 1080
|
|
ARGP4
|
|
ADDRLP4 1180
|
|
CNSTP4 0
|
|
ASGNP4
|
|
ADDRLP4 1180
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 1180
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 1092
|
|
ARGP4
|
|
CNSTI4 -1
|
|
ARGI4
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRGP4 trap_Trace
|
|
CALLV
|
|
pop
|
|
line 760
|
|
;759:
|
|
;760: startheight = org1[2] - tr.endpos[2];
|
|
ADDRLP4 1144
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0+12+8
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 762
|
|
;761:
|
|
;762: VectorCopy(midpos, dmid);
|
|
ADDRLP4 1092
|
|
ADDRLP4 1080
|
|
INDIRB
|
|
ASGNB 12
|
|
line 763
|
|
;763: dmid[2] -= 1024;
|
|
ADDRLP4 1092+8
|
|
ADDRLP4 1092+8
|
|
INDIRF4
|
|
CNSTF4 1149239296
|
|
SUBF4
|
|
ASGNF4
|
|
line 765
|
|
;764:
|
|
;765: trap_Trace(&tr, midpos, NULL, NULL, dmid, -1, MASK_SOLID);
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 1080
|
|
ARGP4
|
|
ADDRLP4 1184
|
|
CNSTP4 0
|
|
ASGNP4
|
|
ADDRLP4 1184
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 1184
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 1092
|
|
ARGP4
|
|
CNSTI4 -1
|
|
ARGI4
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRGP4 trap_Trace
|
|
CALLV
|
|
pop
|
|
line 767
|
|
;766:
|
|
;767: if (tr.startsolid || tr.allsolid)
|
|
ADDRLP4 1188
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 0+4
|
|
INDIRI4
|
|
ADDRLP4 1188
|
|
INDIRI4
|
|
NEI4 $318
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 1188
|
|
INDIRI4
|
|
EQI4 $315
|
|
LABELV $318
|
|
line 768
|
|
;768: {
|
|
line 769
|
|
;769: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $298
|
|
JUMPV
|
|
LABELV $315
|
|
line 772
|
|
;770: }
|
|
;771:
|
|
;772: midheight = midpos[2] - tr.endpos[2];
|
|
ADDRLP4 1148
|
|
ADDRLP4 1080+8
|
|
INDIRF4
|
|
ADDRLP4 0+12+8
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 774
|
|
;773:
|
|
;774: if (midheight > startheight*2)
|
|
ADDRLP4 1148
|
|
INDIRF4
|
|
CNSTF4 1073741824
|
|
ADDRLP4 1144
|
|
INDIRF4
|
|
MULF4
|
|
LEF4 $322
|
|
line 775
|
|
;775: {
|
|
line 776
|
|
;776: return 0; //too steep of a drop.. can't go on
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $298
|
|
JUMPV
|
|
LABELV $322
|
|
line 779
|
|
;777: }
|
|
;778:
|
|
;779: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
LABELV $298
|
|
endproc CanGetToVectorTravel 1192 28
|
|
export ConnectTrail
|
|
proc ConnectTrail 17692 28
|
|
line 783
|
|
;780:}
|
|
;781:
|
|
;782:int ConnectTrail(int startindex, int endindex)
|
|
;783:{
|
|
line 801
|
|
;784: int foundit;
|
|
;785: int cancontinue;
|
|
;786: int i;
|
|
;787: int failsafe;
|
|
;788: int successnodeindex;
|
|
;789: int insertindex;
|
|
;790: int prenodestart;
|
|
;791: int extendednodes[MAX_NODETABLE_SIZE]; //for storing checked nodes and not trying to extend them each a bazillion times
|
|
;792: float fvecmeas;
|
|
;793: float baseheight;
|
|
;794: vec3_t a;
|
|
;795: vec3_t startplace, starttrace;
|
|
;796: vec3_t mins, maxs;
|
|
;797: vec3_t testspot;
|
|
;798: vec3_t validspotpos;
|
|
;799: trace_t tr;
|
|
;800:
|
|
;801: mins[0] = -15;
|
|
ADDRLP4 1108
|
|
CNSTF4 3245342720
|
|
ASGNF4
|
|
line 802
|
|
;802: mins[1] = -15;
|
|
ADDRLP4 1108+4
|
|
CNSTF4 3245342720
|
|
ASGNF4
|
|
line 803
|
|
;803: mins[2] = 0;
|
|
ADDRLP4 1108+8
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 804
|
|
;804: maxs[0] = 15;
|
|
ADDRLP4 1120
|
|
CNSTF4 1097859072
|
|
ASGNF4
|
|
line 805
|
|
;805: maxs[1] = 15;
|
|
ADDRLP4 1120+4
|
|
CNSTF4 1097859072
|
|
ASGNF4
|
|
line 806
|
|
;806: maxs[2] = 0;
|
|
ADDRLP4 1120+8
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 808
|
|
;807:
|
|
;808: nodenum = 0;
|
|
ADDRGP4 nodenum
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 809
|
|
;809: foundit = 0;
|
|
ADDRLP4 17556
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 811
|
|
;810:
|
|
;811: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 813
|
|
;812:
|
|
;813: successnodeindex = 0;
|
|
ADDRLP4 17560
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $330
|
|
JUMPV
|
|
LABELV $329
|
|
line 816
|
|
;814:
|
|
;815: while (i < MAX_NODETABLE_SIZE) //clear it out before using it
|
|
;816: {
|
|
line 817
|
|
;817: nodetable[i].flags = 0;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+24
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 818
|
|
;818: nodetable[i].index = 0;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+16
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 819
|
|
;819: nodetable[i].inuse = 0;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+12
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 820
|
|
;820: nodetable[i].neighbornum = 0;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+28
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 821
|
|
;821: nodetable[i].origin[0] = 0;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 822
|
|
;822: nodetable[i].origin[1] = 0;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+4
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 823
|
|
;823: nodetable[i].origin[2] = 0;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+8
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 824
|
|
;824: nodetable[i].weight = 0;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+20
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 826
|
|
;825:
|
|
;826: extendednodes[i] = 0;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRLP4 1148
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 828
|
|
;827:
|
|
;828: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 829
|
|
;829: }
|
|
LABELV $330
|
|
line 815
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 4096
|
|
LTI4 $329
|
|
line 831
|
|
;830:
|
|
;831: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 833
|
|
;832:
|
|
;833: G_Printf(S_COLOR_YELLOW "Point %i is not connected to %i - Repairing...\n", startindex, endindex);
|
|
ADDRGP4 $339
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 835
|
|
;834:
|
|
;835: VectorCopy(gWPArray[startindex]->origin, startplace);
|
|
ADDRLP4 17572
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 837
|
|
;836:
|
|
;837: VectorCopy(startplace, starttrace);
|
|
ADDRLP4 1096
|
|
ADDRLP4 17572
|
|
INDIRB
|
|
ASGNB 12
|
|
line 839
|
|
;838:
|
|
;839: starttrace[2] -= 4096;
|
|
ADDRLP4 1096+8
|
|
ADDRLP4 1096+8
|
|
INDIRF4
|
|
CNSTF4 1166016512
|
|
SUBF4
|
|
ASGNF4
|
|
line 841
|
|
;840:
|
|
;841: trap_Trace(&tr, startplace, NULL, NULL, starttrace, -1, MASK_SOLID);
|
|
ADDRLP4 16
|
|
ARGP4
|
|
ADDRLP4 17572
|
|
ARGP4
|
|
ADDRLP4 17584
|
|
CNSTP4 0
|
|
ASGNP4
|
|
ADDRLP4 17584
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 17584
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 1096
|
|
ARGP4
|
|
CNSTI4 -1
|
|
ARGI4
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRGP4 trap_Trace
|
|
CALLV
|
|
pop
|
|
line 843
|
|
;842:
|
|
;843: baseheight = startplace[2] - tr.endpos[2];
|
|
ADDRLP4 1144
|
|
ADDRLP4 17572+8
|
|
INDIRF4
|
|
ADDRLP4 16+12+8
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 845
|
|
;844:
|
|
;845: cancontinue = 1;
|
|
ADDRLP4 17532
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 847
|
|
;846:
|
|
;847: VectorCopy(startplace, nodetable[nodenum].origin);
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
ADDRLP4 17572
|
|
INDIRB
|
|
ASGNB 12
|
|
line 848
|
|
;848: nodetable[nodenum].weight = 1;
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+20
|
|
ADDP4
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 849
|
|
;849: nodetable[nodenum].inuse = 1;
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+12
|
|
ADDP4
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 850
|
|
;850: nodetable[nodenum].index = nodenum;
|
|
ADDRLP4 17588
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 17588
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+16
|
|
ADDP4
|
|
ADDRLP4 17588
|
|
INDIRI4
|
|
ASGNI4
|
|
line 851
|
|
;851: nodenum++;
|
|
ADDRLP4 17592
|
|
ADDRGP4 nodenum
|
|
ASGNP4
|
|
ADDRLP4 17592
|
|
INDIRP4
|
|
ADDRLP4 17592
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRGP4 $348
|
|
JUMPV
|
|
LABELV $347
|
|
line 854
|
|
;852:
|
|
;853: while (nodenum < MAX_NODETABLE_SIZE && !foundit && cancontinue)
|
|
;854: {
|
|
line 855
|
|
;855: cancontinue = 0;
|
|
ADDRLP4 17532
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 856
|
|
;856: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 857
|
|
;857: prenodestart = nodenum;
|
|
ADDRLP4 17536
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRGP4 $351
|
|
JUMPV
|
|
LABELV $350
|
|
line 860
|
|
;858:
|
|
;859: while (i < prenodestart)
|
|
;860: {
|
|
line 861
|
|
;861: if (extendednodes[i] != 1)
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRLP4 1148
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
EQI4 $353
|
|
line 862
|
|
;862: {
|
|
line 863
|
|
;863: VectorSubtract(gWPArray[endindex]->origin, nodetable[i].origin, a);
|
|
ADDRLP4 17596
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 17600
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 1132
|
|
ADDRLP4 17596
|
|
INDIRP4
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 17600
|
|
INDIRI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 1132+4
|
|
ADDRLP4 17596
|
|
INDIRP4
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 17600
|
|
INDIRI4
|
|
ADDRGP4 nodetable+4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 1132+8
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+8
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 864
|
|
;864: fvecmeas = VectorLength(a);
|
|
ADDRLP4 1132
|
|
ARGP4
|
|
ADDRLP4 17604
|
|
ADDRGP4 VectorLength
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 17540
|
|
ADDRLP4 17604
|
|
INDIRF4
|
|
ASGNF4
|
|
line 866
|
|
;865:
|
|
;866: if (fvecmeas < 128 && CanGetToVector(gWPArray[endindex]->origin, nodetable[i].origin, mins, maxs))
|
|
ADDRLP4 17540
|
|
INDIRF4
|
|
CNSTF4 1124073472
|
|
GEF4 $359
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 1108
|
|
ARGP4
|
|
ADDRLP4 1120
|
|
ARGP4
|
|
ADDRLP4 17608
|
|
ADDRGP4 CanGetToVector
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 17608
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $359
|
|
line 867
|
|
;867: {
|
|
line 868
|
|
;868: foundit = 1;
|
|
ADDRLP4 17556
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 869
|
|
;869: successnodeindex = i;
|
|
ADDRLP4 17560
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 870
|
|
;870: break;
|
|
ADDRGP4 $352
|
|
JUMPV
|
|
LABELV $359
|
|
line 873
|
|
;871: }
|
|
;872:
|
|
;873: VectorCopy(nodetable[i].origin, testspot);
|
|
ADDRLP4 4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 874
|
|
;874: testspot[0] += TABLE_BRANCH_DISTANCE;
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
CNSTF4 1107296256
|
|
ADDF4
|
|
ASGNF4
|
|
line 876
|
|
;875:
|
|
;876: VectorCopy(testspot, starttrace);
|
|
ADDRLP4 1096
|
|
ADDRLP4 4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 878
|
|
;877:
|
|
;878: starttrace[2] -= 4096;
|
|
ADDRLP4 1096+8
|
|
ADDRLP4 1096+8
|
|
INDIRF4
|
|
CNSTF4 1166016512
|
|
SUBF4
|
|
ASGNF4
|
|
line 880
|
|
;879:
|
|
;880: trap_Trace(&tr, testspot, NULL, NULL, starttrace, -1, MASK_SOLID);
|
|
ADDRLP4 16
|
|
ARGP4
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRLP4 17612
|
|
CNSTP4 0
|
|
ASGNP4
|
|
ADDRLP4 17612
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 17612
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 1096
|
|
ARGP4
|
|
CNSTI4 -1
|
|
ARGI4
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRGP4 trap_Trace
|
|
CALLV
|
|
pop
|
|
line 882
|
|
;881:
|
|
;882: testspot[2] = tr.endpos[2]+baseheight;
|
|
ADDRLP4 4+8
|
|
ADDRLP4 16+12+8
|
|
INDIRF4
|
|
ADDRLP4 1144
|
|
INDIRF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 884
|
|
;883:
|
|
;884: if (!NodeHere(testspot) && !tr.startsolid && !tr.allsolid && CanGetToVector(nodetable[i].origin, testspot, mins, maxs))
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRLP4 17616
|
|
ADDRGP4 NodeHere
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 17620
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 17616
|
|
INDIRI4
|
|
ADDRLP4 17620
|
|
INDIRI4
|
|
NEI4 $365
|
|
ADDRLP4 16+4
|
|
INDIRI4
|
|
ADDRLP4 17620
|
|
INDIRI4
|
|
NEI4 $365
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDRLP4 17620
|
|
INDIRI4
|
|
NEI4 $365
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRLP4 1108
|
|
ARGP4
|
|
ADDRLP4 1120
|
|
ARGP4
|
|
ADDRLP4 17624
|
|
ADDRGP4 CanGetToVector
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 17624
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $365
|
|
line 885
|
|
;885: {
|
|
line 886
|
|
;886: VectorCopy(testspot, nodetable[nodenum].origin);
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
ADDRLP4 4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 887
|
|
;887: nodetable[nodenum].inuse = 1;
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+12
|
|
ADDP4
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 888
|
|
;888: nodetable[nodenum].index = nodenum;
|
|
ADDRLP4 17628
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 17628
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+16
|
|
ADDP4
|
|
ADDRLP4 17628
|
|
INDIRI4
|
|
ASGNI4
|
|
line 889
|
|
;889: nodetable[nodenum].weight = nodetable[i].weight+1;
|
|
ADDRLP4 17632
|
|
CNSTI4 5
|
|
ASGNI4
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
ADDRLP4 17632
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRGP4 nodetable+20
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 17632
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRGP4 nodetable+20
|
|
ADDP4
|
|
INDIRF4
|
|
CNSTF4 1065353216
|
|
ADDF4
|
|
ASGNF4
|
|
line 890
|
|
;890: nodetable[nodenum].neighbornum = i;
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+28
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 891
|
|
;891: if ((nodetable[i].origin[2] - nodetable[nodenum].origin[2]) > 50)
|
|
ADDRLP4 17636
|
|
CNSTI4 5
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 17636
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRGP4 nodetable+8
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
ADDRLP4 17636
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRGP4 nodetable+8
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
CNSTF4 1112014848
|
|
LEF4 $373
|
|
line 892
|
|
;892: { //if there's a big drop, make sure we know we can't just magically fly back up
|
|
line 893
|
|
;893: nodetable[nodenum].flags = WPFLAG_ONEWAY_FWD;
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+24
|
|
ADDP4
|
|
CNSTI4 16384
|
|
ASGNI4
|
|
line 894
|
|
;894: }
|
|
LABELV $373
|
|
line 895
|
|
;895: nodenum++;
|
|
ADDRLP4 17640
|
|
ADDRGP4 nodenum
|
|
ASGNP4
|
|
ADDRLP4 17640
|
|
INDIRP4
|
|
ADDRLP4 17640
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 896
|
|
;896: cancontinue = 1;
|
|
ADDRLP4 17532
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 897
|
|
;897: }
|
|
LABELV $365
|
|
line 899
|
|
;898:
|
|
;899: if (nodenum >= MAX_NODETABLE_SIZE)
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 4096
|
|
LTI4 $378
|
|
line 900
|
|
;900: {
|
|
line 901
|
|
;901: break; //failure
|
|
ADDRGP4 $352
|
|
JUMPV
|
|
LABELV $378
|
|
line 904
|
|
;902: }
|
|
;903:
|
|
;904: VectorCopy(nodetable[i].origin, testspot);
|
|
ADDRLP4 4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 905
|
|
;905: testspot[0] -= TABLE_BRANCH_DISTANCE;
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
CNSTF4 1107296256
|
|
SUBF4
|
|
ASGNF4
|
|
line 907
|
|
;906:
|
|
;907: VectorCopy(testspot, starttrace);
|
|
ADDRLP4 1096
|
|
ADDRLP4 4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 909
|
|
;908:
|
|
;909: starttrace[2] -= 4096;
|
|
ADDRLP4 1096+8
|
|
ADDRLP4 1096+8
|
|
INDIRF4
|
|
CNSTF4 1166016512
|
|
SUBF4
|
|
ASGNF4
|
|
line 911
|
|
;910:
|
|
;911: trap_Trace(&tr, testspot, NULL, NULL, starttrace, -1, MASK_SOLID);
|
|
ADDRLP4 16
|
|
ARGP4
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRLP4 17628
|
|
CNSTP4 0
|
|
ASGNP4
|
|
ADDRLP4 17628
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 17628
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 1096
|
|
ARGP4
|
|
CNSTI4 -1
|
|
ARGI4
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRGP4 trap_Trace
|
|
CALLV
|
|
pop
|
|
line 913
|
|
;912:
|
|
;913: testspot[2] = tr.endpos[2]+baseheight;
|
|
ADDRLP4 4+8
|
|
ADDRLP4 16+12+8
|
|
INDIRF4
|
|
ADDRLP4 1144
|
|
INDIRF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 915
|
|
;914:
|
|
;915: if (!NodeHere(testspot) && !tr.startsolid && !tr.allsolid && CanGetToVector(nodetable[i].origin, testspot, mins, maxs))
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRLP4 17632
|
|
ADDRGP4 NodeHere
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 17636
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 17632
|
|
INDIRI4
|
|
ADDRLP4 17636
|
|
INDIRI4
|
|
NEI4 $384
|
|
ADDRLP4 16+4
|
|
INDIRI4
|
|
ADDRLP4 17636
|
|
INDIRI4
|
|
NEI4 $384
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDRLP4 17636
|
|
INDIRI4
|
|
NEI4 $384
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRLP4 1108
|
|
ARGP4
|
|
ADDRLP4 1120
|
|
ARGP4
|
|
ADDRLP4 17640
|
|
ADDRGP4 CanGetToVector
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 17640
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $384
|
|
line 916
|
|
;916: {
|
|
line 917
|
|
;917: VectorCopy(testspot, nodetable[nodenum].origin);
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
ADDRLP4 4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 918
|
|
;918: nodetable[nodenum].inuse = 1;
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+12
|
|
ADDP4
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 919
|
|
;919: nodetable[nodenum].index = nodenum;
|
|
ADDRLP4 17644
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 17644
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+16
|
|
ADDP4
|
|
ADDRLP4 17644
|
|
INDIRI4
|
|
ASGNI4
|
|
line 920
|
|
;920: nodetable[nodenum].weight = nodetable[i].weight+1;
|
|
ADDRLP4 17648
|
|
CNSTI4 5
|
|
ASGNI4
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
ADDRLP4 17648
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRGP4 nodetable+20
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 17648
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRGP4 nodetable+20
|
|
ADDP4
|
|
INDIRF4
|
|
CNSTF4 1065353216
|
|
ADDF4
|
|
ASGNF4
|
|
line 921
|
|
;921: nodetable[nodenum].neighbornum = i;
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+28
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 922
|
|
;922: if ((nodetable[i].origin[2] - nodetable[nodenum].origin[2]) > 50)
|
|
ADDRLP4 17652
|
|
CNSTI4 5
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 17652
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRGP4 nodetable+8
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
ADDRLP4 17652
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRGP4 nodetable+8
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
CNSTF4 1112014848
|
|
LEF4 $392
|
|
line 923
|
|
;923: { //if there's a big drop, make sure we know we can't just magically fly back up
|
|
line 924
|
|
;924: nodetable[nodenum].flags = WPFLAG_ONEWAY_FWD;
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+24
|
|
ADDP4
|
|
CNSTI4 16384
|
|
ASGNI4
|
|
line 925
|
|
;925: }
|
|
LABELV $392
|
|
line 926
|
|
;926: nodenum++;
|
|
ADDRLP4 17656
|
|
ADDRGP4 nodenum
|
|
ASGNP4
|
|
ADDRLP4 17656
|
|
INDIRP4
|
|
ADDRLP4 17656
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 927
|
|
;927: cancontinue = 1;
|
|
ADDRLP4 17532
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 928
|
|
;928: }
|
|
LABELV $384
|
|
line 930
|
|
;929:
|
|
;930: if (nodenum >= MAX_NODETABLE_SIZE)
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 4096
|
|
LTI4 $397
|
|
line 931
|
|
;931: {
|
|
line 932
|
|
;932: break; //failure
|
|
ADDRGP4 $352
|
|
JUMPV
|
|
LABELV $397
|
|
line 935
|
|
;933: }
|
|
;934:
|
|
;935: VectorCopy(nodetable[i].origin, testspot);
|
|
ADDRLP4 4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 936
|
|
;936: testspot[1] += TABLE_BRANCH_DISTANCE;
|
|
ADDRLP4 4+4
|
|
ADDRLP4 4+4
|
|
INDIRF4
|
|
CNSTF4 1107296256
|
|
ADDF4
|
|
ASGNF4
|
|
line 938
|
|
;937:
|
|
;938: VectorCopy(testspot, starttrace);
|
|
ADDRLP4 1096
|
|
ADDRLP4 4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 940
|
|
;939:
|
|
;940: starttrace[2] -= 4096;
|
|
ADDRLP4 1096+8
|
|
ADDRLP4 1096+8
|
|
INDIRF4
|
|
CNSTF4 1166016512
|
|
SUBF4
|
|
ASGNF4
|
|
line 942
|
|
;941:
|
|
;942: trap_Trace(&tr, testspot, NULL, NULL, starttrace, -1, MASK_SOLID);
|
|
ADDRLP4 16
|
|
ARGP4
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRLP4 17644
|
|
CNSTP4 0
|
|
ASGNP4
|
|
ADDRLP4 17644
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 17644
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 1096
|
|
ARGP4
|
|
CNSTI4 -1
|
|
ARGI4
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRGP4 trap_Trace
|
|
CALLV
|
|
pop
|
|
line 944
|
|
;943:
|
|
;944: testspot[2] = tr.endpos[2]+baseheight;
|
|
ADDRLP4 4+8
|
|
ADDRLP4 16+12+8
|
|
INDIRF4
|
|
ADDRLP4 1144
|
|
INDIRF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 946
|
|
;945:
|
|
;946: if (!NodeHere(testspot) && !tr.startsolid && !tr.allsolid && CanGetToVector(nodetable[i].origin, testspot, mins, maxs))
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRLP4 17648
|
|
ADDRGP4 NodeHere
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 17652
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 17648
|
|
INDIRI4
|
|
ADDRLP4 17652
|
|
INDIRI4
|
|
NEI4 $404
|
|
ADDRLP4 16+4
|
|
INDIRI4
|
|
ADDRLP4 17652
|
|
INDIRI4
|
|
NEI4 $404
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDRLP4 17652
|
|
INDIRI4
|
|
NEI4 $404
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRLP4 1108
|
|
ARGP4
|
|
ADDRLP4 1120
|
|
ARGP4
|
|
ADDRLP4 17656
|
|
ADDRGP4 CanGetToVector
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 17656
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $404
|
|
line 947
|
|
;947: {
|
|
line 948
|
|
;948: VectorCopy(testspot, nodetable[nodenum].origin);
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
ADDRLP4 4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 949
|
|
;949: nodetable[nodenum].inuse = 1;
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+12
|
|
ADDP4
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 950
|
|
;950: nodetable[nodenum].index = nodenum;
|
|
ADDRLP4 17660
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 17660
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+16
|
|
ADDP4
|
|
ADDRLP4 17660
|
|
INDIRI4
|
|
ASGNI4
|
|
line 951
|
|
;951: nodetable[nodenum].weight = nodetable[i].weight+1;
|
|
ADDRLP4 17664
|
|
CNSTI4 5
|
|
ASGNI4
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
ADDRLP4 17664
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRGP4 nodetable+20
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 17664
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRGP4 nodetable+20
|
|
ADDP4
|
|
INDIRF4
|
|
CNSTF4 1065353216
|
|
ADDF4
|
|
ASGNF4
|
|
line 952
|
|
;952: nodetable[nodenum].neighbornum = i;
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+28
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 953
|
|
;953: if ((nodetable[i].origin[2] - nodetable[nodenum].origin[2]) > 50)
|
|
ADDRLP4 17668
|
|
CNSTI4 5
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 17668
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRGP4 nodetable+8
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
ADDRLP4 17668
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRGP4 nodetable+8
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
CNSTF4 1112014848
|
|
LEF4 $412
|
|
line 954
|
|
;954: { //if there's a big drop, make sure we know we can't just magically fly back up
|
|
line 955
|
|
;955: nodetable[nodenum].flags = WPFLAG_ONEWAY_FWD;
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+24
|
|
ADDP4
|
|
CNSTI4 16384
|
|
ASGNI4
|
|
line 956
|
|
;956: }
|
|
LABELV $412
|
|
line 957
|
|
;957: nodenum++;
|
|
ADDRLP4 17672
|
|
ADDRGP4 nodenum
|
|
ASGNP4
|
|
ADDRLP4 17672
|
|
INDIRP4
|
|
ADDRLP4 17672
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 958
|
|
;958: cancontinue = 1;
|
|
ADDRLP4 17532
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 959
|
|
;959: }
|
|
LABELV $404
|
|
line 961
|
|
;960:
|
|
;961: if (nodenum >= MAX_NODETABLE_SIZE)
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 4096
|
|
LTI4 $417
|
|
line 962
|
|
;962: {
|
|
line 963
|
|
;963: break; //failure
|
|
ADDRGP4 $352
|
|
JUMPV
|
|
LABELV $417
|
|
line 966
|
|
;964: }
|
|
;965:
|
|
;966: VectorCopy(nodetable[i].origin, testspot);
|
|
ADDRLP4 4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 967
|
|
;967: testspot[1] -= TABLE_BRANCH_DISTANCE;
|
|
ADDRLP4 4+4
|
|
ADDRLP4 4+4
|
|
INDIRF4
|
|
CNSTF4 1107296256
|
|
SUBF4
|
|
ASGNF4
|
|
line 969
|
|
;968:
|
|
;969: VectorCopy(testspot, starttrace);
|
|
ADDRLP4 1096
|
|
ADDRLP4 4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 971
|
|
;970:
|
|
;971: starttrace[2] -= 4096;
|
|
ADDRLP4 1096+8
|
|
ADDRLP4 1096+8
|
|
INDIRF4
|
|
CNSTF4 1166016512
|
|
SUBF4
|
|
ASGNF4
|
|
line 973
|
|
;972:
|
|
;973: trap_Trace(&tr, testspot, NULL, NULL, starttrace, -1, MASK_SOLID);
|
|
ADDRLP4 16
|
|
ARGP4
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRLP4 17660
|
|
CNSTP4 0
|
|
ASGNP4
|
|
ADDRLP4 17660
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 17660
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 1096
|
|
ARGP4
|
|
CNSTI4 -1
|
|
ARGI4
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRGP4 trap_Trace
|
|
CALLV
|
|
pop
|
|
line 975
|
|
;974:
|
|
;975: testspot[2] = tr.endpos[2]+baseheight;
|
|
ADDRLP4 4+8
|
|
ADDRLP4 16+12+8
|
|
INDIRF4
|
|
ADDRLP4 1144
|
|
INDIRF4
|
|
ADDF4
|
|
ASGNF4
|
|
line 977
|
|
;976:
|
|
;977: if (!NodeHere(testspot) && !tr.startsolid && !tr.allsolid && CanGetToVector(nodetable[i].origin, testspot, mins, maxs))
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRLP4 17664
|
|
ADDRGP4 NodeHere
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 17668
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 17664
|
|
INDIRI4
|
|
ADDRLP4 17668
|
|
INDIRI4
|
|
NEI4 $424
|
|
ADDRLP4 16+4
|
|
INDIRI4
|
|
ADDRLP4 17668
|
|
INDIRI4
|
|
NEI4 $424
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDRLP4 17668
|
|
INDIRI4
|
|
NEI4 $424
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRLP4 1108
|
|
ARGP4
|
|
ADDRLP4 1120
|
|
ARGP4
|
|
ADDRLP4 17672
|
|
ADDRGP4 CanGetToVector
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 17672
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $424
|
|
line 978
|
|
;978: {
|
|
line 979
|
|
;979: VectorCopy(testspot, nodetable[nodenum].origin);
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
ADDRLP4 4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 980
|
|
;980: nodetable[nodenum].inuse = 1;
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+12
|
|
ADDP4
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 981
|
|
;981: nodetable[nodenum].index = nodenum;
|
|
ADDRLP4 17676
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
ASGNI4
|
|
ADDRLP4 17676
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+16
|
|
ADDP4
|
|
ADDRLP4 17676
|
|
INDIRI4
|
|
ASGNI4
|
|
line 982
|
|
;982: nodetable[nodenum].weight = nodetable[i].weight+1;
|
|
ADDRLP4 17680
|
|
CNSTI4 5
|
|
ASGNI4
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
ADDRLP4 17680
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRGP4 nodetable+20
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 17680
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRGP4 nodetable+20
|
|
ADDP4
|
|
INDIRF4
|
|
CNSTF4 1065353216
|
|
ADDF4
|
|
ASGNF4
|
|
line 983
|
|
;983: nodetable[nodenum].neighbornum = i;
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+28
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 984
|
|
;984: if ((nodetable[i].origin[2] - nodetable[nodenum].origin[2]) > 50)
|
|
ADDRLP4 17684
|
|
CNSTI4 5
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 17684
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRGP4 nodetable+8
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
ADDRLP4 17684
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRGP4 nodetable+8
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
CNSTF4 1112014848
|
|
LEF4 $432
|
|
line 985
|
|
;985: { //if there's a big drop, make sure we know we can't just magically fly back up
|
|
line 986
|
|
;986: nodetable[nodenum].flags = WPFLAG_ONEWAY_FWD;
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+24
|
|
ADDP4
|
|
CNSTI4 16384
|
|
ASGNI4
|
|
line 987
|
|
;987: }
|
|
LABELV $432
|
|
line 988
|
|
;988: nodenum++;
|
|
ADDRLP4 17688
|
|
ADDRGP4 nodenum
|
|
ASGNP4
|
|
ADDRLP4 17688
|
|
INDIRP4
|
|
ADDRLP4 17688
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 989
|
|
;989: cancontinue = 1;
|
|
ADDRLP4 17532
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 990
|
|
;990: }
|
|
LABELV $424
|
|
line 992
|
|
;991:
|
|
;992: if (nodenum >= MAX_NODETABLE_SIZE)
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 4096
|
|
LTI4 $437
|
|
line 993
|
|
;993: {
|
|
line 994
|
|
;994: break; //failure
|
|
ADDRGP4 $352
|
|
JUMPV
|
|
LABELV $437
|
|
line 997
|
|
;995: }
|
|
;996:
|
|
;997: extendednodes[i] = 1;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRLP4 1148
|
|
ADDP4
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 998
|
|
;998: }
|
|
LABELV $353
|
|
line 1000
|
|
;999:
|
|
;1000: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1001
|
|
;1001: }
|
|
LABELV $351
|
|
line 859
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 17536
|
|
INDIRI4
|
|
LTI4 $350
|
|
LABELV $352
|
|
line 1002
|
|
;1002: }
|
|
LABELV $348
|
|
line 853
|
|
ADDRGP4 nodenum
|
|
INDIRI4
|
|
CNSTI4 4096
|
|
GEI4 $440
|
|
ADDRLP4 17596
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 17556
|
|
INDIRI4
|
|
ADDRLP4 17596
|
|
INDIRI4
|
|
NEI4 $440
|
|
ADDRLP4 17532
|
|
INDIRI4
|
|
ADDRLP4 17596
|
|
INDIRI4
|
|
NEI4 $347
|
|
LABELV $440
|
|
line 1004
|
|
;1003:
|
|
;1004: if (!foundit)
|
|
ADDRLP4 17556
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $441
|
|
line 1005
|
|
;1005: {
|
|
line 1006
|
|
;1006: G_Printf(S_COLOR_RED "Could not link %i to %i, unreachable by node branching.\n", startindex, endindex);
|
|
ADDRGP4 $443
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 1007
|
|
;1007: gWPArray[startindex]->flags |= WPFLAG_ONEWAY_FWD;
|
|
ADDRLP4 17600
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 17600
|
|
INDIRP4
|
|
ADDRLP4 17600
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 16384
|
|
BORI4
|
|
ASGNI4
|
|
line 1008
|
|
;1008: gWPArray[endindex]->flags |= WPFLAG_ONEWAY_BACK;
|
|
ADDRLP4 17604
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 17604
|
|
INDIRP4
|
|
ADDRLP4 17604
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 32768
|
|
BORI4
|
|
ASGNI4
|
|
line 1009
|
|
;1009: G_Printf(S_COLOR_YELLOW "Since points cannot be connected, point %i has been flagged as only-forward and point %i has been flagged as only-backward.\n", startindex, endindex);
|
|
ADDRGP4 $444
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 1022
|
|
;1010:
|
|
;1011: /*while (nodenum >= 0)
|
|
;1012: {
|
|
;1013: if (nodetable[nodenum].origin[0] || nodetable[nodenum].origin[1] || nodetable[nodenum].origin[2])
|
|
;1014: {
|
|
;1015: CreateNewWP(nodetable[nodenum].origin, nodetable[nodenum].flags);
|
|
;1016: }
|
|
;1017:
|
|
;1018: nodenum--;
|
|
;1019: }*/
|
|
;1020: //The above code transfers nodes into the "rendered" waypoint array. Strictly for debugging.
|
|
;1021:
|
|
;1022: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $324
|
|
JUMPV
|
|
LABELV $441
|
|
line 1025
|
|
;1023: }
|
|
;1024:
|
|
;1025: i = successnodeindex;
|
|
ADDRLP4 0
|
|
ADDRLP4 17560
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1026
|
|
;1026: insertindex = startindex;
|
|
ADDRLP4 17568
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1027
|
|
;1027: failsafe = 0;
|
|
ADDRLP4 17564
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1028
|
|
;1028: VectorCopy(gWPArray[startindex]->origin, validspotpos);
|
|
ADDRLP4 17544
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
INDIRB
|
|
ASGNB 12
|
|
ADDRGP4 $446
|
|
JUMPV
|
|
LABELV $445
|
|
line 1031
|
|
;1029:
|
|
;1030: while (failsafe < MAX_NODETABLE_SIZE && i < MAX_NODETABLE_SIZE && i >= 0)
|
|
;1031: {
|
|
line 1032
|
|
;1032: VectorSubtract(validspotpos, nodetable[i].origin, a);
|
|
ADDRLP4 17600
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 1132
|
|
ADDRLP4 17544
|
|
INDIRF4
|
|
ADDRLP4 17600
|
|
INDIRI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 1132+4
|
|
ADDRLP4 17544+4
|
|
INDIRF4
|
|
ADDRLP4 17600
|
|
INDIRI4
|
|
ADDRGP4 nodetable+4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 1132+8
|
|
ADDRLP4 17544+8
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+8
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 1033
|
|
;1033: if (!nodetable[nodetable[i].neighbornum].inuse || !CanGetToVectorTravel(validspotpos, /*nodetable[nodetable[i].neighbornum].origin*/nodetable[i].origin, mins, maxs) || VectorLength(a) > 256 || (!CanGetToVectorTravel(validspotpos, gWPArray[endindex]->origin, mins, maxs) && CanGetToVectorTravel(nodetable[i].origin, gWPArray[endindex]->origin, mins, maxs)) )
|
|
ADDRLP4 17604
|
|
CNSTI4 5
|
|
ASGNI4
|
|
ADDRLP4 17608
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 17604
|
|
INDIRI4
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 17608
|
|
INDIRI4
|
|
ADDRGP4 nodetable+28
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 17604
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRGP4 nodetable+12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $460
|
|
ADDRLP4 17544
|
|
ARGP4
|
|
ADDRLP4 17608
|
|
INDIRI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 1108
|
|
ARGP4
|
|
ADDRLP4 1120
|
|
ARGP4
|
|
ADDRLP4 17612
|
|
ADDRGP4 CanGetToVectorTravel
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 17612
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $460
|
|
ADDRLP4 1132
|
|
ARGP4
|
|
ADDRLP4 17616
|
|
ADDRGP4 VectorLength
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 17616
|
|
INDIRF4
|
|
CNSTF4 1132462080
|
|
GTF4 $460
|
|
ADDRLP4 17544
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 1108
|
|
ARGP4
|
|
ADDRLP4 1120
|
|
ARGP4
|
|
ADDRLP4 17620
|
|
ADDRGP4 CanGetToVectorTravel
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 17620
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $454
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 1108
|
|
ARGP4
|
|
ADDRLP4 1120
|
|
ARGP4
|
|
ADDRLP4 17624
|
|
ADDRGP4 CanGetToVectorTravel
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 17624
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $454
|
|
LABELV $460
|
|
line 1034
|
|
;1034: {
|
|
line 1035
|
|
;1035: if (!CreateNewWP_InTrail(nodetable[i].origin, nodetable[i].flags, insertindex))
|
|
ADDRLP4 17628
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 17628
|
|
INDIRI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 17628
|
|
INDIRI4
|
|
ADDRGP4 nodetable+24
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 17568
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 17632
|
|
ADDRGP4 CreateNewWP_InTrail
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 17632
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $461
|
|
line 1036
|
|
;1036: {
|
|
line 1037
|
|
;1037: G_Printf(S_COLOR_RED "Could not link %i to %i, waypoint limit hit.\n", startindex, endindex);
|
|
ADDRGP4 $464
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 1038
|
|
;1038: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $324
|
|
JUMPV
|
|
LABELV $461
|
|
line 1041
|
|
;1039: }
|
|
;1040:
|
|
;1041: VectorCopy(nodetable[i].origin, validspotpos);
|
|
ADDRLP4 17544
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable
|
|
ADDP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 1042
|
|
;1042: }
|
|
LABELV $454
|
|
line 1044
|
|
;1043:
|
|
;1044: if (i == 0)
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $465
|
|
line 1045
|
|
;1045: {
|
|
line 1046
|
|
;1046: break;
|
|
ADDRGP4 $447
|
|
JUMPV
|
|
LABELV $465
|
|
line 1049
|
|
;1047: }
|
|
;1048:
|
|
;1049: i = nodetable[i].neighbornum;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 5
|
|
LSHI4
|
|
ADDRGP4 nodetable+28
|
|
ADDP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1051
|
|
;1050:
|
|
;1051: failsafe++;
|
|
ADDRLP4 17564
|
|
ADDRLP4 17564
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1052
|
|
;1052: }
|
|
LABELV $446
|
|
line 1030
|
|
ADDRLP4 17600
|
|
CNSTI4 4096
|
|
ASGNI4
|
|
ADDRLP4 17564
|
|
INDIRI4
|
|
ADDRLP4 17600
|
|
INDIRI4
|
|
GEI4 $469
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 17600
|
|
INDIRI4
|
|
GEI4 $469
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 0
|
|
GEI4 $445
|
|
LABELV $469
|
|
LABELV $447
|
|
line 1054
|
|
;1053:
|
|
;1054: G_Printf(S_COLOR_YELLOW "Finished connecting %i to %i.\n", startindex, endindex);
|
|
ADDRGP4 $470
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 1056
|
|
;1055:
|
|
;1056: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
LABELV $324
|
|
endproc ConnectTrail 17692 28
|
|
export OpposingEnds
|
|
proc OpposingEnds 44 0
|
|
line 1060
|
|
;1057:}
|
|
;1058:
|
|
;1059:int OpposingEnds(int start, int end)
|
|
;1060:{
|
|
line 1061
|
|
;1061: if (!gWPArray[start] || !gWPArray[start]->inuse || !gWPArray[end] || !gWPArray[end]->inuse)
|
|
ADDRLP4 0
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 12
|
|
CNSTU4 0
|
|
ASGNU4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 12
|
|
INDIRU4
|
|
EQU4 $476
|
|
ADDRLP4 16
|
|
CNSTI4 12
|
|
ASGNI4
|
|
ADDRLP4 20
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
EQI4 $476
|
|
ADDRLP4 24
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 12
|
|
INDIRU4
|
|
EQU4 $476
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
NEI4 $472
|
|
LABELV $476
|
|
line 1062
|
|
;1062: {
|
|
line 1063
|
|
;1063: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $471
|
|
JUMPV
|
|
LABELV $472
|
|
line 1066
|
|
;1064: }
|
|
;1065:
|
|
;1066: if ((gWPArray[start]->flags & WPFLAG_ONEWAY_FWD) &&
|
|
ADDRLP4 28
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 32
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRLP4 36
|
|
CNSTI4 28
|
|
ASGNI4
|
|
ADDRLP4 40
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 32
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 16384
|
|
BANDI4
|
|
ADDRLP4 40
|
|
INDIRI4
|
|
EQI4 $477
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 32
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 32768
|
|
BANDI4
|
|
ADDRLP4 40
|
|
INDIRI4
|
|
EQI4 $477
|
|
line 1068
|
|
;1067: (gWPArray[end]->flags & WPFLAG_ONEWAY_BACK))
|
|
;1068: {
|
|
line 1069
|
|
;1069: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $471
|
|
JUMPV
|
|
LABELV $477
|
|
line 1072
|
|
;1070: }
|
|
;1071:
|
|
;1072: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
LABELV $471
|
|
endproc OpposingEnds 44 0
|
|
export DoorBlockingSection
|
|
proc DoorBlockingSection 1144 28
|
|
line 1076
|
|
;1073:}
|
|
;1074:
|
|
;1075:int DoorBlockingSection(int start, int end)
|
|
;1076:{ //if a door blocks the trail, we'll just have to assume the points on each side are in visibility when it's open
|
|
line 1081
|
|
;1077: trace_t tr;
|
|
;1078: gentity_t *testdoor;
|
|
;1079: int start_trace_index;
|
|
;1080:
|
|
;1081: if (!gWPArray[start] || !gWPArray[start]->inuse || !gWPArray[end] || !gWPArray[end]->inuse)
|
|
ADDRLP4 1088
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 1092
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRLP4 1096
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ADDRLP4 1088
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 1092
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 1100
|
|
CNSTU4 0
|
|
ASGNU4
|
|
ADDRLP4 1096
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 1100
|
|
INDIRU4
|
|
EQU4 $484
|
|
ADDRLP4 1104
|
|
CNSTI4 12
|
|
ASGNI4
|
|
ADDRLP4 1108
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 1096
|
|
INDIRP4
|
|
ADDRLP4 1104
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 1108
|
|
INDIRI4
|
|
EQI4 $484
|
|
ADDRLP4 1112
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ADDRLP4 1088
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 1092
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 1112
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 1100
|
|
INDIRU4
|
|
EQU4 $484
|
|
ADDRLP4 1112
|
|
INDIRP4
|
|
ADDRLP4 1104
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 1108
|
|
INDIRI4
|
|
NEI4 $480
|
|
LABELV $484
|
|
line 1082
|
|
;1082: {
|
|
line 1083
|
|
;1083: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $479
|
|
JUMPV
|
|
LABELV $480
|
|
line 1086
|
|
;1084: }
|
|
;1085:
|
|
;1086: trap_Trace(&tr, gWPArray[start]->origin, NULL, NULL, gWPArray[end]->origin, -1, MASK_SOLID);
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 1116
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 1120
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ADDRLP4 1116
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 1120
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 1124
|
|
CNSTP4 0
|
|
ASGNP4
|
|
ADDRLP4 1124
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 1124
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ADDRLP4 1116
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 1120
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 -1
|
|
ARGI4
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRGP4 trap_Trace
|
|
CALLV
|
|
pop
|
|
line 1088
|
|
;1087:
|
|
;1088: if (tr.fraction == 1)
|
|
ADDRLP4 0+8
|
|
INDIRF4
|
|
CNSTF4 1065353216
|
|
NEF4 $485
|
|
line 1089
|
|
;1089: {
|
|
line 1090
|
|
;1090: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $479
|
|
JUMPV
|
|
LABELV $485
|
|
line 1093
|
|
;1091: }
|
|
;1092:
|
|
;1093: testdoor = &g_entities[tr.entityNum];
|
|
ADDRLP4 1080
|
|
CNSTI4 828
|
|
ADDRLP4 0+52
|
|
INDIRI4
|
|
MULI4
|
|
ADDRGP4 g_entities
|
|
ADDP4
|
|
ASGNP4
|
|
line 1095
|
|
;1094:
|
|
;1095: if (!testdoor)
|
|
ADDRLP4 1080
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $489
|
|
line 1096
|
|
;1096: {
|
|
line 1097
|
|
;1097: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $479
|
|
JUMPV
|
|
LABELV $489
|
|
line 1100
|
|
;1098: }
|
|
;1099:
|
|
;1100: if (!strstr(testdoor->classname, "func_"))
|
|
ADDRLP4 1080
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $493
|
|
ARGP4
|
|
ADDRLP4 1128
|
|
ADDRGP4 strstr
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 1128
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $491
|
|
line 1101
|
|
;1101: {
|
|
line 1102
|
|
;1102: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $479
|
|
JUMPV
|
|
LABELV $491
|
|
line 1105
|
|
;1103: }
|
|
;1104:
|
|
;1105: start_trace_index = tr.entityNum;
|
|
ADDRLP4 1084
|
|
ADDRLP4 0+52
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1107
|
|
;1106:
|
|
;1107: trap_Trace(&tr, gWPArray[end]->origin, NULL, NULL, gWPArray[start]->origin, -1, MASK_SOLID);
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 1132
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 1136
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ADDRLP4 1132
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 1136
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 1140
|
|
CNSTP4 0
|
|
ASGNP4
|
|
ADDRLP4 1140
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 1140
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
ADDRLP4 1132
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 1136
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 -1
|
|
ARGI4
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRGP4 trap_Trace
|
|
CALLV
|
|
pop
|
|
line 1109
|
|
;1108:
|
|
;1109: if (tr.fraction == 1)
|
|
ADDRLP4 0+8
|
|
INDIRF4
|
|
CNSTF4 1065353216
|
|
NEF4 $495
|
|
line 1110
|
|
;1110: {
|
|
line 1111
|
|
;1111: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $479
|
|
JUMPV
|
|
LABELV $495
|
|
line 1114
|
|
;1112: }
|
|
;1113:
|
|
;1114: if (start_trace_index == tr.entityNum)
|
|
ADDRLP4 1084
|
|
INDIRI4
|
|
ADDRLP4 0+52
|
|
INDIRI4
|
|
NEI4 $498
|
|
line 1115
|
|
;1115: {
|
|
line 1116
|
|
;1116: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $479
|
|
JUMPV
|
|
LABELV $498
|
|
line 1119
|
|
;1117: }
|
|
;1118:
|
|
;1119: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
LABELV $479
|
|
endproc DoorBlockingSection 1144 28
|
|
export RepairPaths
|
|
proc RepairPaths 108 12
|
|
line 1123
|
|
;1120:}
|
|
;1121:
|
|
;1122:int RepairPaths(void)
|
|
;1123:{
|
|
line 1128
|
|
;1124: int i;
|
|
;1125: int ctRet;
|
|
;1126: vec3_t a;
|
|
;1127:
|
|
;1128: if (!gWPNum)
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $502
|
|
line 1129
|
|
;1129: {
|
|
line 1130
|
|
;1130: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $501
|
|
JUMPV
|
|
LABELV $502
|
|
line 1133
|
|
;1131: }
|
|
;1132:
|
|
;1133: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1135
|
|
;1134:
|
|
;1135: trap_Cvar_Update(&bot_wp_distconnect);
|
|
ADDRGP4 bot_wp_distconnect
|
|
ARGP4
|
|
ADDRGP4 trap_Cvar_Update
|
|
CALLV
|
|
pop
|
|
line 1136
|
|
;1136: trap_Cvar_Update(&bot_wp_visconnect);
|
|
ADDRGP4 bot_wp_visconnect
|
|
ARGP4
|
|
ADDRGP4 trap_Cvar_Update
|
|
CALLV
|
|
pop
|
|
ADDRGP4 $505
|
|
JUMPV
|
|
LABELV $504
|
|
line 1139
|
|
;1137:
|
|
;1138: while (i < gWPNum)
|
|
;1139: {
|
|
line 1140
|
|
;1140: if (gWPArray[i] && gWPArray[i]->inuse && gWPArray[i+1] && gWPArray[i+1]->inuse)
|
|
ADDRLP4 20
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 24
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 28
|
|
CNSTU4 0
|
|
ASGNU4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 28
|
|
INDIRU4
|
|
EQU4 $507
|
|
ADDRLP4 32
|
|
CNSTI4 12
|
|
ASGNI4
|
|
ADDRLP4 36
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
EQI4 $507
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 28
|
|
INDIRU4
|
|
EQU4 $507
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
EQI4 $507
|
|
line 1141
|
|
;1141: {
|
|
line 1142
|
|
;1142: VectorSubtract(gWPArray[i]->origin, gWPArray[i+1]->origin, a);
|
|
ADDRLP4 40
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 44
|
|
ADDRLP4 40
|
|
INDIRI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
ADDRLP4 44
|
|
INDIRP4
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 40
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 48
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 4+4
|
|
ADDRLP4 44
|
|
INDIRP4
|
|
INDIRP4
|
|
ADDRLP4 48
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 40
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 48
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 52
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 56
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 4+8
|
|
ADDRLP4 52
|
|
INDIRI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 56
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 52
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 56
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 1144
|
|
;1143:
|
|
;1144: if (!(gWPArray[i+1]->flags & WPFLAG_NOVIS) &&
|
|
ADDRLP4 64
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 68
|
|
CNSTI4 28
|
|
ASGNI4
|
|
ADDRLP4 72
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 64
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 68
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 1024
|
|
BANDI4
|
|
ADDRLP4 72
|
|
INDIRI4
|
|
NEI4 $516
|
|
ADDRLP4 64
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 68
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 16
|
|
BANDI4
|
|
ADDRLP4 72
|
|
INDIRI4
|
|
NEI4 $516
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ARGI4
|
|
ADDRLP4 76
|
|
ADDRGP4 OpposingEnds
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 76
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $516
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRLP4 80
|
|
ADDRGP4 VectorLength
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 80
|
|
INDIRF4
|
|
CNSTF4 1137180672
|
|
LEF4 $524
|
|
ADDRGP4 bot_wp_distconnect+8
|
|
INDIRF4
|
|
CNSTF4 0
|
|
NEF4 $523
|
|
LABELV $524
|
|
ADDRLP4 84
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 84
|
|
INDIRI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 84
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 -1
|
|
ARGI4
|
|
ADDRLP4 88
|
|
ADDRGP4 OrgVisible
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 88
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $516
|
|
ADDRGP4 bot_wp_visconnect+8
|
|
INDIRF4
|
|
CNSTF4 0
|
|
EQF4 $516
|
|
LABELV $523
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ARGI4
|
|
ADDRLP4 96
|
|
ADDRGP4 DoorBlockingSection
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 96
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $516
|
|
line 1149
|
|
;1145: !(gWPArray[i+1]->flags & WPFLAG_JUMP) && //don't calculate on jump points because they might not always want to be visible (in cases of force jumping)
|
|
;1146: !OpposingEnds(i, i+1) &&
|
|
;1147: ((VectorLength(a) > 400 && bot_wp_distconnect.value) || (!OrgVisible(gWPArray[i]->origin, gWPArray[i+1]->origin, -1) && bot_wp_visconnect.value) ) &&
|
|
;1148: !DoorBlockingSection(i, i+1))
|
|
;1149: {
|
|
line 1150
|
|
;1150: ctRet = ConnectTrail(i, i+1);
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ARGI4
|
|
ADDRLP4 104
|
|
ADDRGP4 ConnectTrail
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
ADDRLP4 104
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1155
|
|
;1151: /*if (!ctRet)
|
|
;1152: {
|
|
;1153: return 0;
|
|
;1154: }*/ //we still want to write it..
|
|
;1155: }
|
|
LABELV $516
|
|
line 1156
|
|
;1156: }
|
|
LABELV $507
|
|
line 1158
|
|
;1157:
|
|
;1158: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1159
|
|
;1159: }
|
|
LABELV $505
|
|
line 1138
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $504
|
|
line 1161
|
|
;1160:
|
|
;1161: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
LABELV $501
|
|
endproc RepairPaths 108 12
|
|
export OrgVisibleCurve
|
|
proc OrgVisibleCurve 1100 28
|
|
line 1165
|
|
;1162:}
|
|
;1163:
|
|
;1164:int OrgVisibleCurve(vec3_t org1, vec3_t mins, vec3_t maxs, vec3_t org2, int ignore)
|
|
;1165:{
|
|
line 1169
|
|
;1166: trace_t tr;
|
|
;1167: vec3_t evenorg1;
|
|
;1168:
|
|
;1169: VectorCopy(org1, evenorg1);
|
|
ADDRLP4 1080
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 1170
|
|
;1170: evenorg1[2] = org2[2];
|
|
ADDRLP4 1080+8
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1172
|
|
;1171:
|
|
;1172: trap_Trace(&tr, evenorg1, mins, maxs, org2, ignore, MASK_SOLID);
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 1080
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 16
|
|
INDIRI4
|
|
ARGI4
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRGP4 trap_Trace
|
|
CALLV
|
|
pop
|
|
line 1174
|
|
;1173:
|
|
;1174: if (tr.fraction == 1 && !tr.startsolid && !tr.allsolid)
|
|
ADDRLP4 0+8
|
|
INDIRF4
|
|
CNSTF4 1065353216
|
|
NEF4 $527
|
|
ADDRLP4 1092
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 0+4
|
|
INDIRI4
|
|
ADDRLP4 1092
|
|
INDIRI4
|
|
NEI4 $527
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 1092
|
|
INDIRI4
|
|
NEI4 $527
|
|
line 1175
|
|
;1175: {
|
|
line 1176
|
|
;1176: trap_Trace(&tr, evenorg1, mins, maxs, org1, ignore, MASK_SOLID);
|
|
ADDRLP4 0
|
|
ARGP4
|
|
ADDRLP4 1080
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 16
|
|
INDIRI4
|
|
ARGI4
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRGP4 trap_Trace
|
|
CALLV
|
|
pop
|
|
line 1178
|
|
;1177:
|
|
;1178: if (tr.fraction == 1 && !tr.startsolid && !tr.allsolid)
|
|
ADDRLP4 0+8
|
|
INDIRF4
|
|
CNSTF4 1065353216
|
|
NEF4 $531
|
|
ADDRLP4 1096
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 0+4
|
|
INDIRI4
|
|
ADDRLP4 1096
|
|
INDIRI4
|
|
NEI4 $531
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 1096
|
|
INDIRI4
|
|
NEI4 $531
|
|
line 1179
|
|
;1179: {
|
|
line 1180
|
|
;1180: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $525
|
|
JUMPV
|
|
LABELV $531
|
|
line 1182
|
|
;1181: }
|
|
;1182: }
|
|
LABELV $527
|
|
line 1184
|
|
;1183:
|
|
;1184: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
LABELV $525
|
|
endproc OrgVisibleCurve 1100 28
|
|
export CanForceJumpTo
|
|
proc CanForceJumpTo 104 20
|
|
line 1188
|
|
;1185:}
|
|
;1186:
|
|
;1187:int CanForceJumpTo(int baseindex, int testingindex, float distance)
|
|
;1188:{
|
|
line 1191
|
|
;1189: float heightdif;
|
|
;1190: vec3_t xy_base, xy_test, v, mins, maxs;
|
|
;1191: wpobject_t *wpBase = gWPArray[baseindex];
|
|
ADDRLP4 0
|
|
ADDRFP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1192
|
|
;1192: wpobject_t *wpTest = gWPArray[testingindex];
|
|
ADDRLP4 4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1194
|
|
;1193:
|
|
;1194: mins[0] = -15;
|
|
ADDRLP4 48
|
|
CNSTF4 3245342720
|
|
ASGNF4
|
|
line 1195
|
|
;1195: mins[1] = -15;
|
|
ADDRLP4 48+4
|
|
CNSTF4 3245342720
|
|
ASGNF4
|
|
line 1196
|
|
;1196: mins[2] = -15; //-1
|
|
ADDRLP4 48+8
|
|
CNSTF4 3245342720
|
|
ASGNF4
|
|
line 1197
|
|
;1197: maxs[0] = 15;
|
|
ADDRLP4 60
|
|
CNSTF4 1097859072
|
|
ASGNF4
|
|
line 1198
|
|
;1198: maxs[1] = 15;
|
|
ADDRLP4 60+4
|
|
CNSTF4 1097859072
|
|
ASGNF4
|
|
line 1199
|
|
;1199: maxs[2] = 15; //1
|
|
ADDRLP4 60+8
|
|
CNSTF4 1097859072
|
|
ASGNF4
|
|
line 1201
|
|
;1200:
|
|
;1201: if (!wpBase || !wpBase->inuse || !wpTest || !wpTest->inuse)
|
|
ADDRLP4 76
|
|
CNSTU4 0
|
|
ASGNU4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 76
|
|
INDIRU4
|
|
EQU4 $544
|
|
ADDRLP4 80
|
|
CNSTI4 12
|
|
ASGNI4
|
|
ADDRLP4 84
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 80
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 84
|
|
INDIRI4
|
|
EQI4 $544
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 76
|
|
INDIRU4
|
|
EQU4 $544
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDRLP4 80
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 84
|
|
INDIRI4
|
|
NEI4 $540
|
|
LABELV $544
|
|
line 1202
|
|
;1202: {
|
|
line 1203
|
|
;1203: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $535
|
|
JUMPV
|
|
LABELV $540
|
|
line 1206
|
|
;1204: }
|
|
;1205:
|
|
;1206: if (distance > 400)
|
|
ADDRFP4 8
|
|
INDIRF4
|
|
CNSTF4 1137180672
|
|
LEF4 $545
|
|
line 1207
|
|
;1207: {
|
|
line 1208
|
|
;1208: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $535
|
|
JUMPV
|
|
LABELV $545
|
|
line 1211
|
|
;1209: }
|
|
;1210:
|
|
;1211: VectorCopy(wpBase->origin, xy_base);
|
|
ADDRLP4 8
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 1212
|
|
;1212: VectorCopy(wpTest->origin, xy_test);
|
|
ADDRLP4 20
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 1214
|
|
;1213:
|
|
;1214: xy_base[2] = xy_test[2];
|
|
ADDRLP4 8+8
|
|
ADDRLP4 20+8
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1216
|
|
;1215:
|
|
;1216: VectorSubtract(xy_base, xy_test, v);
|
|
ADDRLP4 36
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 36+4
|
|
ADDRLP4 8+4
|
|
INDIRF4
|
|
ADDRLP4 20+4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 36+8
|
|
ADDRLP4 8+8
|
|
INDIRF4
|
|
ADDRLP4 20+8
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 1218
|
|
;1217:
|
|
;1218: if (VectorLength(v) > MAX_NEIGHBOR_LINK_DISTANCE)
|
|
ADDRLP4 36
|
|
ARGP4
|
|
ADDRLP4 92
|
|
ADDRGP4 VectorLength
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 92
|
|
INDIRF4
|
|
CNSTF4 1124073472
|
|
LEF4 $555
|
|
line 1219
|
|
;1219: {
|
|
line 1220
|
|
;1220: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $535
|
|
JUMPV
|
|
LABELV $555
|
|
line 1223
|
|
;1221: }
|
|
;1222:
|
|
;1223: if ((int)wpBase->origin[2] < (int)wpTest->origin[2])
|
|
ADDRLP4 96
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 96
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDRLP4 96
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
GEI4 $557
|
|
line 1224
|
|
;1224: {
|
|
line 1225
|
|
;1225: heightdif = wpTest->origin[2] - wpBase->origin[2];
|
|
ADDRLP4 100
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 32
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDRLP4 100
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ADDRLP4 100
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 1226
|
|
;1226: }
|
|
ADDRGP4 $558
|
|
JUMPV
|
|
LABELV $557
|
|
line 1228
|
|
;1227: else
|
|
;1228: {
|
|
line 1229
|
|
;1229: return 0; //err..
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $535
|
|
JUMPV
|
|
LABELV $558
|
|
line 1232
|
|
;1230: }
|
|
;1231:
|
|
;1232: if (heightdif < 128)
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
CNSTF4 1124073472
|
|
GEF4 $559
|
|
line 1233
|
|
;1233: { //don't bother..
|
|
line 1234
|
|
;1234: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $535
|
|
JUMPV
|
|
LABELV $559
|
|
line 1237
|
|
;1235: }
|
|
;1236:
|
|
;1237: if (heightdif > 512)
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
CNSTF4 1140850688
|
|
LEF4 $561
|
|
line 1238
|
|
;1238: { //too high
|
|
line 1239
|
|
;1239: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $535
|
|
JUMPV
|
|
LABELV $561
|
|
line 1242
|
|
;1240: }
|
|
;1241:
|
|
;1242: if (!OrgVisibleCurve(wpBase->origin, mins, maxs, wpTest->origin, -1))
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 48
|
|
ARGP4
|
|
ADDRLP4 60
|
|
ARGP4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 -1
|
|
ARGI4
|
|
ADDRLP4 100
|
|
ADDRGP4 OrgVisibleCurve
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 100
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $563
|
|
line 1243
|
|
;1243: {
|
|
line 1244
|
|
;1244: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $535
|
|
JUMPV
|
|
LABELV $563
|
|
line 1247
|
|
;1245: }
|
|
;1246:
|
|
;1247: if (heightdif > 400)
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
CNSTF4 1137180672
|
|
LEF4 $565
|
|
line 1248
|
|
;1248: {
|
|
line 1249
|
|
;1249: return 3;
|
|
CNSTI4 3
|
|
RETI4
|
|
ADDRGP4 $535
|
|
JUMPV
|
|
LABELV $565
|
|
line 1251
|
|
;1250: }
|
|
;1251: else if (heightdif > 256)
|
|
ADDRLP4 32
|
|
INDIRF4
|
|
CNSTF4 1132462080
|
|
LEF4 $567
|
|
line 1252
|
|
;1252: {
|
|
line 1253
|
|
;1253: return 2;
|
|
CNSTI4 2
|
|
RETI4
|
|
ADDRGP4 $535
|
|
JUMPV
|
|
LABELV $567
|
|
line 1256
|
|
;1254: }
|
|
;1255: else
|
|
;1256: {
|
|
line 1257
|
|
;1257: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
LABELV $535
|
|
endproc CanForceJumpTo 104 20
|
|
export CalculatePaths
|
|
proc CalculatePaths 160 20
|
|
line 1262
|
|
;1258: }
|
|
;1259:}
|
|
;1260:
|
|
;1261:void CalculatePaths(void)
|
|
;1262:{
|
|
line 1270
|
|
;1263: int i;
|
|
;1264: int c;
|
|
;1265: int forceJumpable;
|
|
;1266: float nLDist;
|
|
;1267: vec3_t a;
|
|
;1268: vec3_t mins, maxs;
|
|
;1269:
|
|
;1270: if (!gWPNum)
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $570
|
|
line 1271
|
|
;1271: {
|
|
line 1272
|
|
;1272: return;
|
|
ADDRGP4 $569
|
|
JUMPV
|
|
LABELV $570
|
|
line 1275
|
|
;1273: }
|
|
;1274:
|
|
;1275: mins[0] = -15;
|
|
ADDRLP4 28
|
|
CNSTF4 3245342720
|
|
ASGNF4
|
|
line 1276
|
|
;1276: mins[1] = -15;
|
|
ADDRLP4 28+4
|
|
CNSTF4 3245342720
|
|
ASGNF4
|
|
line 1277
|
|
;1277: mins[2] = -15; //-1
|
|
ADDRLP4 28+8
|
|
CNSTF4 3245342720
|
|
ASGNF4
|
|
line 1278
|
|
;1278: maxs[0] = 15;
|
|
ADDRLP4 40
|
|
CNSTF4 1097859072
|
|
ASGNF4
|
|
line 1279
|
|
;1279: maxs[1] = 15;
|
|
ADDRLP4 40+4
|
|
CNSTF4 1097859072
|
|
ASGNF4
|
|
line 1280
|
|
;1280: maxs[2] = 15; //1
|
|
ADDRLP4 40+8
|
|
CNSTF4 1097859072
|
|
ASGNF4
|
|
line 1283
|
|
;1281:
|
|
;1282: //now clear out all the neighbor data before we recalculate
|
|
;1283: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $577
|
|
JUMPV
|
|
LABELV $576
|
|
line 1286
|
|
;1284:
|
|
;1285: while (i < gWPNum)
|
|
;1286: {
|
|
line 1287
|
|
;1287: if (gWPArray[i] && gWPArray[i]->inuse && gWPArray[i]->neighbornum)
|
|
ADDRLP4 52
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $579
|
|
ADDRLP4 56
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 56
|
|
INDIRI4
|
|
EQI4 $579
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 56
|
|
INDIRI4
|
|
EQI4 $579
|
|
line 1288
|
|
;1288: {
|
|
ADDRGP4 $582
|
|
JUMPV
|
|
LABELV $581
|
|
line 1290
|
|
;1289: while (gWPArray[i]->neighbornum >= 0)
|
|
;1290: {
|
|
line 1291
|
|
;1291: gWPArray[i]->neighbors[gWPArray[i]->neighbornum].num = 0;
|
|
ADDRLP4 60
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
CNSTI4 44
|
|
ADDP4
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1292
|
|
;1292: gWPArray[i]->neighbors[gWPArray[i]->neighbornum].forceJumpTo = 0;
|
|
ADDRLP4 64
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
CNSTI4 44
|
|
ADDP4
|
|
ADDP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1293
|
|
;1293: gWPArray[i]->neighbornum--;
|
|
ADDRLP4 68
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
SUBI4
|
|
ASGNI4
|
|
line 1294
|
|
;1294: }
|
|
LABELV $582
|
|
line 1289
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
GEI4 $581
|
|
line 1295
|
|
;1295: gWPArray[i]->neighbornum = 0;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1296
|
|
;1296: }
|
|
LABELV $579
|
|
line 1298
|
|
;1297:
|
|
;1298: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1299
|
|
;1299: }
|
|
LABELV $577
|
|
line 1285
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $576
|
|
line 1301
|
|
;1300:
|
|
;1301: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $585
|
|
JUMPV
|
|
LABELV $584
|
|
line 1304
|
|
;1302:
|
|
;1303: while (i < gWPNum)
|
|
;1304: {
|
|
line 1305
|
|
;1305: if (gWPArray[i] && gWPArray[i]->inuse)
|
|
ADDRLP4 52
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $587
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $587
|
|
line 1306
|
|
;1306: {
|
|
line 1307
|
|
;1307: c = 0;
|
|
ADDRLP4 4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $590
|
|
JUMPV
|
|
LABELV $589
|
|
line 1310
|
|
;1308:
|
|
;1309: while (c < gWPNum)
|
|
;1310: {
|
|
line 1311
|
|
;1311: if (gWPArray[c] && gWPArray[c]->inuse && i != c &&
|
|
ADDRLP4 60
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $592
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $592
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
EQI4 $592
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 68
|
|
ADDRGP4 NotWithinRange
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 68
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $592
|
|
line 1313
|
|
;1312: NotWithinRange(i, c))
|
|
;1313: {
|
|
line 1314
|
|
;1314: VectorSubtract(gWPArray[i]->origin, gWPArray[c]->origin, a);
|
|
ADDRLP4 72
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 76
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRLP4 80
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 72
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 84
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDRLP4 72
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 12
|
|
ADDRLP4 80
|
|
INDIRP4
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 84
|
|
INDIRP4
|
|
INDIRP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 88
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 12+4
|
|
ADDRLP4 80
|
|
INDIRP4
|
|
INDIRP4
|
|
ADDRLP4 88
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 84
|
|
INDIRP4
|
|
INDIRP4
|
|
ADDRLP4 88
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 92
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 96
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRLP4 100
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 12+8
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 92
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 96
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 100
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDRLP4 92
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 96
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 100
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 1316
|
|
;1315:
|
|
;1316: nLDist = VectorLength(a);
|
|
ADDRLP4 12
|
|
ARGP4
|
|
ADDRLP4 104
|
|
ADDRGP4 VectorLength
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 24
|
|
ADDRLP4 104
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1317
|
|
;1317: forceJumpable = CanForceJumpTo(i, c, nLDist);
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 108
|
|
ADDRGP4 CanForceJumpTo
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 8
|
|
ADDRLP4 108
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1319
|
|
;1318:
|
|
;1319: if ((nLDist < MAX_NEIGHBOR_LINK_DISTANCE || forceJumpable) &&
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
CNSTF4 1124073472
|
|
LTF4 $598
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $596
|
|
LABELV $598
|
|
ADDRLP4 112
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 116
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRLP4 120
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 112
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 116
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 120
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDRLP4 112
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 116
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 120
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
EQI4 $599
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $596
|
|
LABELV $599
|
|
ADDRLP4 124
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 128
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 124
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 128
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 28
|
|
ARGP4
|
|
ADDRLP4 40
|
|
ARGP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDRLP4 124
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 128
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 -1
|
|
ARGI4
|
|
ADDRLP4 132
|
|
ADDRGP4 OrgVisibleBox
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 136
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 132
|
|
INDIRI4
|
|
ADDRLP4 136
|
|
INDIRI4
|
|
NEI4 $600
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 136
|
|
INDIRI4
|
|
EQI4 $596
|
|
LABELV $600
|
|
line 1322
|
|
;1320: ((int)gWPArray[i]->origin[2] == (int)gWPArray[c]->origin[2] || forceJumpable) &&
|
|
;1321: (OrgVisibleBox(gWPArray[i]->origin, mins, maxs, gWPArray[c]->origin, -1) || forceJumpable))
|
|
;1322: {
|
|
line 1323
|
|
;1323: gWPArray[i]->neighbors[gWPArray[i]->neighbornum].num = c;
|
|
ADDRLP4 140
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 140
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 140
|
|
INDIRP4
|
|
CNSTI4 44
|
|
ADDP4
|
|
ADDP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1324
|
|
;1324: if (forceJumpable && ((int)gWPArray[i]->origin[2] != (int)gWPArray[c]->origin[2] || nLDist < MAX_NEIGHBOR_LINK_DISTANCE))
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $601
|
|
ADDRLP4 144
|
|
CNSTI4 2
|
|
ASGNI4
|
|
ADDRLP4 148
|
|
ADDRGP4 gWPArray
|
|
ASGNP4
|
|
ADDRLP4 152
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 144
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 148
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 152
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDRLP4 144
|
|
INDIRI4
|
|
LSHI4
|
|
ADDRLP4 148
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 152
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
CVFI4 4
|
|
NEI4 $603
|
|
ADDRLP4 24
|
|
INDIRF4
|
|
CNSTF4 1124073472
|
|
GEF4 $601
|
|
LABELV $603
|
|
line 1325
|
|
;1325: {
|
|
line 1326
|
|
;1326: gWPArray[i]->neighbors[gWPArray[i]->neighbornum].forceJumpTo = 999;//forceJumpable; //FJSR
|
|
ADDRLP4 156
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 156
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 156
|
|
INDIRP4
|
|
CNSTI4 44
|
|
ADDP4
|
|
ADDP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
CNSTI4 999
|
|
ASGNI4
|
|
line 1327
|
|
;1327: }
|
|
ADDRGP4 $602
|
|
JUMPV
|
|
LABELV $601
|
|
line 1329
|
|
;1328: else
|
|
;1329: {
|
|
line 1330
|
|
;1330: gWPArray[i]->neighbors[gWPArray[i]->neighbornum].forceJumpTo = 0;
|
|
ADDRLP4 156
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 156
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 156
|
|
INDIRP4
|
|
CNSTI4 44
|
|
ADDP4
|
|
ADDP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1331
|
|
;1331: }
|
|
LABELV $602
|
|
line 1332
|
|
;1332: gWPArray[i]->neighbornum++;
|
|
ADDRLP4 156
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 156
|
|
INDIRP4
|
|
ADDRLP4 156
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1333
|
|
;1333: }
|
|
LABELV $596
|
|
line 1335
|
|
;1334:
|
|
;1335: if (gWPArray[i]->neighbornum >= MAX_NEIGHBOR_SIZE)
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 32
|
|
LTI4 $604
|
|
line 1336
|
|
;1336: {
|
|
line 1337
|
|
;1337: break;
|
|
ADDRGP4 $591
|
|
JUMPV
|
|
LABELV $604
|
|
line 1339
|
|
;1338: }
|
|
;1339: }
|
|
LABELV $592
|
|
line 1340
|
|
;1340: c++;
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1341
|
|
;1341: }
|
|
LABELV $590
|
|
line 1309
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $589
|
|
LABELV $591
|
|
line 1342
|
|
;1342: }
|
|
LABELV $587
|
|
line 1343
|
|
;1343: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1344
|
|
;1344: }
|
|
LABELV $585
|
|
line 1303
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $584
|
|
line 1345
|
|
;1345:}
|
|
LABELV $569
|
|
endproc CalculatePaths 160 20
|
|
export GetObjectThatTargets
|
|
proc GetObjectThatTargets 8 12
|
|
line 1348
|
|
;1346:
|
|
;1347:gentity_t *GetObjectThatTargets(gentity_t *ent)
|
|
;1348:{
|
|
line 1349
|
|
;1349: gentity_t *next = NULL;
|
|
ADDRLP4 0
|
|
CNSTP4 0
|
|
ASGNP4
|
|
line 1351
|
|
;1350:
|
|
;1351: if (!ent->targetname)
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 588
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $607
|
|
line 1352
|
|
;1352: {
|
|
line 1353
|
|
;1353: return NULL;
|
|
CNSTP4 0
|
|
RETP4
|
|
ADDRGP4 $606
|
|
JUMPV
|
|
LABELV $607
|
|
line 1356
|
|
;1354: }
|
|
;1355:
|
|
;1356: next = G_Find( next, FOFS(target), ent->targetname );
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 584
|
|
ARGI4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 588
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 4
|
|
ADDRGP4 G_Find
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 0
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1358
|
|
;1357:
|
|
;1358: if (next)
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $609
|
|
line 1359
|
|
;1359: {
|
|
line 1360
|
|
;1360: return next;
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
RETP4
|
|
ADDRGP4 $606
|
|
JUMPV
|
|
LABELV $609
|
|
line 1363
|
|
;1361: }
|
|
;1362:
|
|
;1363: return NULL;
|
|
CNSTP4 0
|
|
RETP4
|
|
LABELV $606
|
|
endproc GetObjectThatTargets 8 12
|
|
export CalculateSagaGoals
|
|
proc CalculateSagaGoals 92 8
|
|
line 1367
|
|
;1364:}
|
|
;1365:
|
|
;1366:void CalculateSagaGoals(void)
|
|
;1367:{
|
|
line 1368
|
|
;1368: int i = 0;
|
|
ADDRLP4 16
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1369
|
|
;1369: int looptracker = 0;
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1370
|
|
;1370: int wpindex = 0;
|
|
ADDRLP4 20
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1373
|
|
;1371: vec3_t dif;
|
|
;1372: gentity_t *ent;
|
|
;1373: gentity_t *tent = NULL, *t2ent = NULL;
|
|
ADDRLP4 0
|
|
CNSTP4 0
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
CNSTP4 0
|
|
ASGNP4
|
|
ADDRGP4 $613
|
|
JUMPV
|
|
LABELV $612
|
|
line 1376
|
|
;1374:
|
|
;1375: while (i < MAX_GENTITIES)
|
|
;1376: {
|
|
line 1377
|
|
;1377: ent = &g_entities[i];
|
|
ADDRLP4 12
|
|
CNSTI4 828
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
MULI4
|
|
ADDRGP4 g_entities
|
|
ADDP4
|
|
ASGNP4
|
|
line 1379
|
|
;1378:
|
|
;1379: tent = NULL;
|
|
ADDRLP4 0
|
|
CNSTP4 0
|
|
ASGNP4
|
|
line 1381
|
|
;1380:
|
|
;1381: if (ent && ent->classname && strcmp(ent->classname, "info_saga_objective") == 0)
|
|
ADDRLP4 40
|
|
CNSTU4 0
|
|
ASGNU4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 40
|
|
INDIRU4
|
|
EQU4 $615
|
|
ADDRLP4 44
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 44
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 40
|
|
INDIRU4
|
|
EQU4 $615
|
|
ADDRLP4 44
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $617
|
|
ARGP4
|
|
ADDRLP4 48
|
|
ADDRGP4 strcmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 48
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $615
|
|
line 1382
|
|
;1382: {
|
|
line 1383
|
|
;1383: tent = ent;
|
|
ADDRLP4 0
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1384
|
|
;1384: t2ent = GetObjectThatTargets(tent);
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 52
|
|
ADDRGP4 GetObjectThatTargets
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1385
|
|
;1385: looptracker = 0;
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $619
|
|
JUMPV
|
|
LABELV $618
|
|
line 1388
|
|
;1386:
|
|
;1387: while (t2ent && looptracker < 2048)
|
|
;1388: { //looptracker keeps us from getting stuck in case something is set up weird on this map
|
|
line 1389
|
|
;1389: tent = t2ent;
|
|
ADDRLP4 0
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1390
|
|
;1390: t2ent = GetObjectThatTargets(tent);
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 56
|
|
ADDRGP4 GetObjectThatTargets
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
ADDRLP4 56
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1391
|
|
;1391: looptracker++;
|
|
ADDRLP4 8
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1392
|
|
;1392: }
|
|
LABELV $619
|
|
line 1387
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $621
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 2048
|
|
LTI4 $618
|
|
LABELV $621
|
|
line 1394
|
|
;1393:
|
|
;1394: if (looptracker >= 2048)
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 2048
|
|
LTI4 $622
|
|
line 1395
|
|
;1395: { //something unpleasent has happened
|
|
line 1396
|
|
;1396: tent = NULL;
|
|
ADDRLP4 0
|
|
CNSTP4 0
|
|
ASGNP4
|
|
line 1397
|
|
;1397: break;
|
|
ADDRGP4 $614
|
|
JUMPV
|
|
LABELV $622
|
|
line 1399
|
|
;1398: }
|
|
;1399: }
|
|
LABELV $615
|
|
line 1401
|
|
;1400:
|
|
;1401: if (tent && ent && tent != ent)
|
|
ADDRLP4 52
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
ASGNU4
|
|
ADDRLP4 56
|
|
CNSTU4 0
|
|
ASGNU4
|
|
ADDRLP4 52
|
|
INDIRU4
|
|
ADDRLP4 56
|
|
INDIRU4
|
|
EQU4 $624
|
|
ADDRLP4 60
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CVPU4 4
|
|
ASGNU4
|
|
ADDRLP4 60
|
|
INDIRU4
|
|
ADDRLP4 56
|
|
INDIRU4
|
|
EQU4 $624
|
|
ADDRLP4 52
|
|
INDIRU4
|
|
ADDRLP4 60
|
|
INDIRU4
|
|
EQU4 $624
|
|
line 1402
|
|
;1402: { //tent should now be the object attached to the mission objective
|
|
line 1403
|
|
;1403: dif[0] = (tent->r.absmax[0]+tent->r.absmin[0])/2;
|
|
ADDRLP4 24
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 356
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 344
|
|
ADDP4
|
|
INDIRF4
|
|
ADDF4
|
|
CNSTF4 1073741824
|
|
DIVF4
|
|
ASGNF4
|
|
line 1404
|
|
;1404: dif[1] = (tent->r.absmax[1]+tent->r.absmin[1])/2;
|
|
ADDRLP4 24+4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 360
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 348
|
|
ADDP4
|
|
INDIRF4
|
|
ADDF4
|
|
CNSTF4 1073741824
|
|
DIVF4
|
|
ASGNF4
|
|
line 1405
|
|
;1405: dif[2] = (tent->r.absmax[2]+tent->r.absmin[2])/2;
|
|
ADDRLP4 24+8
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 364
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 352
|
|
ADDP4
|
|
INDIRF4
|
|
ADDF4
|
|
CNSTF4 1073741824
|
|
DIVF4
|
|
ASGNF4
|
|
line 1407
|
|
;1406:
|
|
;1407: wpindex = GetNearestVisibleWP(dif, tent->s.number);
|
|
ADDRLP4 24
|
|
ARGP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 76
|
|
ADDRGP4 GetNearestVisibleWP
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 20
|
|
ADDRLP4 76
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1409
|
|
;1408:
|
|
;1409: if (wpindex != -1 && gWPArray[wpindex] && gWPArray[wpindex]->inuse)
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
CNSTI4 -1
|
|
EQI4 $628
|
|
ADDRLP4 84
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 84
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $628
|
|
ADDRLP4 84
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $628
|
|
line 1410
|
|
;1410: { //found the waypoint nearest the center of this objective-related object
|
|
line 1411
|
|
;1411: if (ent->side == SAGATEAM_IMPERIAL)
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CNSTI4 440
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
NEI4 $630
|
|
line 1412
|
|
;1412: {
|
|
line 1413
|
|
;1413: gWPArray[wpindex]->flags |= WPFLAG_SAGA_IMPERIALOBJ;
|
|
ADDRLP4 88
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 88
|
|
INDIRP4
|
|
ADDRLP4 88
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 1048576
|
|
BORI4
|
|
ASGNI4
|
|
line 1414
|
|
;1414: }
|
|
ADDRGP4 $631
|
|
JUMPV
|
|
LABELV $630
|
|
line 1416
|
|
;1415: else
|
|
;1416: {
|
|
line 1417
|
|
;1417: gWPArray[wpindex]->flags |= WPFLAG_SAGA_REBELOBJ;
|
|
ADDRLP4 88
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 88
|
|
INDIRP4
|
|
ADDRLP4 88
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 524288
|
|
BORI4
|
|
ASGNI4
|
|
line 1418
|
|
;1418: }
|
|
LABELV $631
|
|
line 1420
|
|
;1419:
|
|
;1420: gWPArray[wpindex]->associated_entity = tent->s.number;
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 32
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1421
|
|
;1421: }
|
|
LABELV $628
|
|
line 1422
|
|
;1422: }
|
|
LABELV $624
|
|
line 1424
|
|
;1423:
|
|
;1424: i++;
|
|
ADDRLP4 16
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1425
|
|
;1425: }
|
|
LABELV $613
|
|
line 1375
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
CNSTI4 1024
|
|
LTI4 $612
|
|
LABELV $614
|
|
line 1426
|
|
;1426:}
|
|
LABELV $611
|
|
endproc CalculateSagaGoals 92 8
|
|
data
|
|
export botGlobalNavWeaponWeights
|
|
align 4
|
|
LABELV botGlobalNavWeaponWeights
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 0
|
|
byte 4 1077936128
|
|
byte 4 1084227584
|
|
byte 4 1082130432
|
|
byte 4 1086324736
|
|
byte 4 1088421888
|
|
byte 4 1090519040
|
|
byte 4 1091567616
|
|
byte 4 1077936128
|
|
byte 4 1077936128
|
|
byte 4 1077936128
|
|
byte 4 0
|
|
skip 4
|
|
export GetNearestVisibleWPToItem
|
|
code
|
|
proc GetNearestVisibleWPToItem 100 20
|
|
line 1449
|
|
;1427:
|
|
;1428:float botGlobalNavWeaponWeights[WP_NUM_WEAPONS] =
|
|
;1429:{
|
|
;1430: 0,//WP_NONE,
|
|
;1431:
|
|
;1432: 0,//WP_STUN_BATON,
|
|
;1433: 0,//WP_SABER, // NOTE: lots of code assumes this is the first weapon (... which is crap) so be careful -Ste.
|
|
;1434: 0,//WP_BRYAR_PISTOL,
|
|
;1435: 3,//WP_BLASTER,
|
|
;1436: 5,//WP_DISRUPTOR,
|
|
;1437: 4,//WP_BOWCASTER,
|
|
;1438: 6,//WP_REPEATER,
|
|
;1439: 7,//WP_DEMP2,
|
|
;1440: 8,//WP_FLECHETTE,
|
|
;1441: 9,//WP_ROCKET_LAUNCHER,
|
|
;1442: 3,//WP_THERMAL,
|
|
;1443: 3,//WP_TRIP_MINE,
|
|
;1444: 3,//WP_DET_PACK,
|
|
;1445: 0//WP_EMPLACED_GUN,
|
|
;1446:};
|
|
;1447:
|
|
;1448:int GetNearestVisibleWPToItem(vec3_t org, int ignore)
|
|
;1449:{
|
|
line 1456
|
|
;1450: int i;
|
|
;1451: float bestdist;
|
|
;1452: float flLen;
|
|
;1453: int bestindex;
|
|
;1454: vec3_t a, mins, maxs;
|
|
;1455:
|
|
;1456: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1457
|
|
;1457: bestdist = 64; //has to be less than 64 units to the item or it isn't safe enough
|
|
ADDRLP4 20
|
|
CNSTF4 1115684864
|
|
ASGNF4
|
|
line 1458
|
|
;1458: bestindex = -1;
|
|
ADDRLP4 48
|
|
CNSTI4 -1
|
|
ASGNI4
|
|
line 1460
|
|
;1459:
|
|
;1460: mins[0] = -15;
|
|
ADDRLP4 24
|
|
CNSTF4 3245342720
|
|
ASGNF4
|
|
line 1461
|
|
;1461: mins[1] = -15;
|
|
ADDRLP4 24+4
|
|
CNSTF4 3245342720
|
|
ASGNF4
|
|
line 1462
|
|
;1462: mins[2] = 0;
|
|
ADDRLP4 24+8
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 1463
|
|
;1463: maxs[0] = 15;
|
|
ADDRLP4 36
|
|
CNSTF4 1097859072
|
|
ASGNF4
|
|
line 1464
|
|
;1464: maxs[1] = 15;
|
|
ADDRLP4 36+4
|
|
CNSTF4 1097859072
|
|
ASGNF4
|
|
line 1465
|
|
;1465: maxs[2] = 0;
|
|
ADDRLP4 36+8
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRGP4 $638
|
|
JUMPV
|
|
LABELV $637
|
|
line 1468
|
|
;1466:
|
|
;1467: while (i < gWPNum)
|
|
;1468: {
|
|
line 1469
|
|
;1469: if (gWPArray[i] && gWPArray[i]->inuse &&
|
|
ADDRLP4 52
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $640
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $640
|
|
ADDRLP4 56
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 60
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
ADDRLP4 56
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 64
|
|
CNSTF4 1097859072
|
|
ASGNF4
|
|
ADDRLP4 68
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 56
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
ADDRLP4 60
|
|
INDIRF4
|
|
ADDRLP4 64
|
|
INDIRF4
|
|
SUBF4
|
|
ADDRLP4 68
|
|
INDIRF4
|
|
GEF4 $640
|
|
ADDRLP4 60
|
|
INDIRF4
|
|
ADDRLP4 64
|
|
INDIRF4
|
|
ADDF4
|
|
ADDRLP4 68
|
|
INDIRF4
|
|
LEF4 $640
|
|
line 1472
|
|
;1470: gWPArray[i]->origin[2]-15 < org[2] &&
|
|
;1471: gWPArray[i]->origin[2]+15 > org[2])
|
|
;1472: {
|
|
line 1473
|
|
;1473: VectorSubtract(org, gWPArray[i]->origin, a);
|
|
ADDRLP4 72
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 76
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
ADDRLP4 72
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
INDIRP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 80
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 4+4
|
|
ADDRLP4 72
|
|
INDIRP4
|
|
ADDRLP4 80
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
INDIRP4
|
|
ADDRLP4 80
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 84
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 4+8
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ADDRLP4 84
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 84
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 1474
|
|
;1474: flLen = VectorLength(a);
|
|
ADDRLP4 4
|
|
ARGP4
|
|
ADDRLP4 88
|
|
ADDRGP4 VectorLength
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 16
|
|
ADDRLP4 88
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1476
|
|
;1475:
|
|
;1476: if (flLen < bestdist && trap_InPVS(org, gWPArray[i]->origin) && OrgVisibleBox(org, mins, maxs, gWPArray[i]->origin, ignore))
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
ADDRLP4 20
|
|
INDIRF4
|
|
GEF4 $644
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 92
|
|
ADDRGP4 trap_InPVS
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 92
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $644
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 24
|
|
ARGP4
|
|
ADDRLP4 36
|
|
ARGP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRFP4 4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 96
|
|
ADDRGP4 OrgVisibleBox
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 96
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $644
|
|
line 1477
|
|
;1477: {
|
|
line 1478
|
|
;1478: bestdist = flLen;
|
|
ADDRLP4 20
|
|
ADDRLP4 16
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1479
|
|
;1479: bestindex = i;
|
|
ADDRLP4 48
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1480
|
|
;1480: }
|
|
LABELV $644
|
|
line 1481
|
|
;1481: }
|
|
LABELV $640
|
|
line 1483
|
|
;1482:
|
|
;1483: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1484
|
|
;1484: }
|
|
LABELV $638
|
|
line 1467
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $637
|
|
line 1486
|
|
;1485:
|
|
;1486: return bestindex;
|
|
ADDRLP4 48
|
|
INDIRI4
|
|
RETI4
|
|
LABELV $632
|
|
endproc GetNearestVisibleWPToItem 100 20
|
|
export CalculateWeightGoals
|
|
proc CalculateWeightGoals 68 8
|
|
line 1490
|
|
;1487:}
|
|
;1488:
|
|
;1489:void CalculateWeightGoals(void)
|
|
;1490:{ //set waypoint weights depending on weapon and item placement
|
|
line 1491
|
|
;1491: int i = 0;
|
|
ADDRLP4 4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1492
|
|
;1492: int wpindex = 0;
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1496
|
|
;1493: gentity_t *ent;
|
|
;1494: float weight;
|
|
;1495:
|
|
;1496: trap_Cvar_Update(&bot_wp_clearweight);
|
|
ADDRGP4 bot_wp_clearweight
|
|
ARGP4
|
|
ADDRGP4 trap_Cvar_Update
|
|
CALLV
|
|
pop
|
|
line 1498
|
|
;1497:
|
|
;1498: if (bot_wp_clearweight.integer)
|
|
ADDRGP4 bot_wp_clearweight+12
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $647
|
|
line 1499
|
|
;1499: { //if set then flush out all weight/goal values before calculating them again
|
|
ADDRGP4 $651
|
|
JUMPV
|
|
LABELV $650
|
|
line 1501
|
|
;1500: while (i < gWPNum)
|
|
;1501: {
|
|
line 1502
|
|
;1502: if (gWPArray[i] && gWPArray[i]->inuse)
|
|
ADDRLP4 16
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $653
|
|
ADDRLP4 16
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $653
|
|
line 1503
|
|
;1503: {
|
|
line 1504
|
|
;1504: gWPArray[i]->weight = 0;
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 1506
|
|
;1505:
|
|
;1506: if (gWPArray[i]->flags & WPFLAG_GOALPOINT)
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 65536
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $655
|
|
line 1507
|
|
;1507: {
|
|
line 1508
|
|
;1508: gWPArray[i]->flags -= WPFLAG_GOALPOINT;
|
|
ADDRLP4 20
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 65536
|
|
SUBI4
|
|
ASGNI4
|
|
line 1509
|
|
;1509: }
|
|
LABELV $655
|
|
line 1510
|
|
;1510: }
|
|
LABELV $653
|
|
line 1512
|
|
;1511:
|
|
;1512: i++;
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1513
|
|
;1513: }
|
|
LABELV $651
|
|
line 1500
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $650
|
|
line 1514
|
|
;1514: }
|
|
LABELV $647
|
|
line 1516
|
|
;1515:
|
|
;1516: i = 0;
|
|
ADDRLP4 4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $658
|
|
JUMPV
|
|
LABELV $657
|
|
line 1519
|
|
;1517:
|
|
;1518: while (i < MAX_GENTITIES)
|
|
;1519: {
|
|
line 1520
|
|
;1520: ent = &g_entities[i];
|
|
ADDRLP4 0
|
|
CNSTI4 828
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
MULI4
|
|
ADDRGP4 g_entities
|
|
ADDP4
|
|
ASGNP4
|
|
line 1522
|
|
;1521:
|
|
;1522: weight = 0;
|
|
ADDRLP4 12
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 1524
|
|
;1523:
|
|
;1524: if (ent && ent->classname)
|
|
ADDRLP4 20
|
|
CNSTU4 0
|
|
ASGNU4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 20
|
|
INDIRU4
|
|
EQU4 $660
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 20
|
|
INDIRU4
|
|
EQU4 $660
|
|
line 1525
|
|
;1525: {
|
|
line 1526
|
|
;1526: if (strcmp(ent->classname, "item_seeker") == 0)
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $664
|
|
ARGP4
|
|
ADDRLP4 24
|
|
ADDRGP4 strcmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $662
|
|
line 1527
|
|
;1527: {
|
|
line 1528
|
|
;1528: weight = 2;
|
|
ADDRLP4 12
|
|
CNSTF4 1073741824
|
|
ASGNF4
|
|
line 1529
|
|
;1529: }
|
|
ADDRGP4 $663
|
|
JUMPV
|
|
LABELV $662
|
|
line 1530
|
|
;1530: else if (strcmp(ent->classname, "item_shield") == 0)
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $667
|
|
ARGP4
|
|
ADDRLP4 28
|
|
ADDRGP4 strcmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $665
|
|
line 1531
|
|
;1531: {
|
|
line 1532
|
|
;1532: weight = 2;
|
|
ADDRLP4 12
|
|
CNSTF4 1073741824
|
|
ASGNF4
|
|
line 1533
|
|
;1533: }
|
|
ADDRGP4 $666
|
|
JUMPV
|
|
LABELV $665
|
|
line 1534
|
|
;1534: else if (strcmp(ent->classname, "item_medpac") == 0)
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $670
|
|
ARGP4
|
|
ADDRLP4 32
|
|
ADDRGP4 strcmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $668
|
|
line 1535
|
|
;1535: {
|
|
line 1536
|
|
;1536: weight = 2;
|
|
ADDRLP4 12
|
|
CNSTF4 1073741824
|
|
ASGNF4
|
|
line 1537
|
|
;1537: }
|
|
ADDRGP4 $669
|
|
JUMPV
|
|
LABELV $668
|
|
line 1538
|
|
;1538: else if (strcmp(ent->classname, "item_sentry_gun") == 0)
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $673
|
|
ARGP4
|
|
ADDRLP4 36
|
|
ADDRGP4 strcmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $671
|
|
line 1539
|
|
;1539: {
|
|
line 1540
|
|
;1540: weight = 2;
|
|
ADDRLP4 12
|
|
CNSTF4 1073741824
|
|
ASGNF4
|
|
line 1541
|
|
;1541: }
|
|
ADDRGP4 $672
|
|
JUMPV
|
|
LABELV $671
|
|
line 1542
|
|
;1542: else if (strcmp(ent->classname, "item_force_enlighten_dark") == 0)
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $676
|
|
ARGP4
|
|
ADDRLP4 40
|
|
ADDRGP4 strcmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 40
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $674
|
|
line 1543
|
|
;1543: {
|
|
line 1544
|
|
;1544: weight = 5;
|
|
ADDRLP4 12
|
|
CNSTF4 1084227584
|
|
ASGNF4
|
|
line 1545
|
|
;1545: }
|
|
ADDRGP4 $675
|
|
JUMPV
|
|
LABELV $674
|
|
line 1546
|
|
;1546: else if (strcmp(ent->classname, "item_force_enlighten_light") == 0)
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $679
|
|
ARGP4
|
|
ADDRLP4 44
|
|
ADDRGP4 strcmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 44
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $677
|
|
line 1547
|
|
;1547: {
|
|
line 1548
|
|
;1548: weight = 5;
|
|
ADDRLP4 12
|
|
CNSTF4 1084227584
|
|
ASGNF4
|
|
line 1549
|
|
;1549: }
|
|
ADDRGP4 $678
|
|
JUMPV
|
|
LABELV $677
|
|
line 1550
|
|
;1550: else if (strcmp(ent->classname, "item_force_boon") == 0)
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $682
|
|
ARGP4
|
|
ADDRLP4 48
|
|
ADDRGP4 strcmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 48
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $680
|
|
line 1551
|
|
;1551: {
|
|
line 1552
|
|
;1552: weight = 5;
|
|
ADDRLP4 12
|
|
CNSTF4 1084227584
|
|
ASGNF4
|
|
line 1553
|
|
;1553: }
|
|
ADDRGP4 $681
|
|
JUMPV
|
|
LABELV $680
|
|
line 1554
|
|
;1554: else if (strcmp(ent->classname, "item_ysalimari") == 0)
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $685
|
|
ARGP4
|
|
ADDRLP4 52
|
|
ADDRGP4 strcmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 52
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $683
|
|
line 1555
|
|
;1555: {
|
|
line 1556
|
|
;1556: weight = 2;
|
|
ADDRLP4 12
|
|
CNSTF4 1073741824
|
|
ASGNF4
|
|
line 1557
|
|
;1557: }
|
|
ADDRGP4 $684
|
|
JUMPV
|
|
LABELV $683
|
|
line 1558
|
|
;1558: else if (strstr(ent->classname, "weapon_") && ent->item)
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $688
|
|
ARGP4
|
|
ADDRLP4 56
|
|
ADDRGP4 strstr
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 60
|
|
CNSTU4 0
|
|
ASGNU4
|
|
ADDRLP4 56
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 60
|
|
INDIRU4
|
|
EQU4 $686
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 824
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 60
|
|
INDIRU4
|
|
EQU4 $686
|
|
line 1559
|
|
;1559: {
|
|
line 1560
|
|
;1560: weight = botGlobalNavWeaponWeights[ent->item->giTag];
|
|
ADDRLP4 12
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 824
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 botGlobalNavWeaponWeights
|
|
ADDP4
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1561
|
|
;1561: }
|
|
ADDRGP4 $687
|
|
JUMPV
|
|
LABELV $686
|
|
line 1562
|
|
;1562: else if (ent->item && ent->item->giType == IT_AMMO)
|
|
ADDRLP4 64
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 824
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $689
|
|
ADDRLP4 64
|
|
INDIRP4
|
|
CNSTI4 36
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 2
|
|
NEI4 $689
|
|
line 1563
|
|
;1563: {
|
|
line 1564
|
|
;1564: weight = 3;
|
|
ADDRLP4 12
|
|
CNSTF4 1077936128
|
|
ASGNF4
|
|
line 1565
|
|
;1565: }
|
|
LABELV $689
|
|
LABELV $687
|
|
LABELV $684
|
|
LABELV $681
|
|
LABELV $678
|
|
LABELV $675
|
|
LABELV $672
|
|
LABELV $669
|
|
LABELV $666
|
|
LABELV $663
|
|
line 1566
|
|
;1566: }
|
|
LABELV $660
|
|
line 1568
|
|
;1567:
|
|
;1568: if (ent && weight)
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $691
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
CNSTF4 0
|
|
EQF4 $691
|
|
line 1569
|
|
;1569: {
|
|
line 1570
|
|
;1570: wpindex = GetNearestVisibleWPToItem(ent->s.pos.trBase, ent->s.number);
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 28
|
|
ADDRGP4 GetNearestVisibleWPToItem
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 8
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1572
|
|
;1571:
|
|
;1572: if (wpindex != -1 && gWPArray[wpindex] && gWPArray[wpindex]->inuse)
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 -1
|
|
EQI4 $693
|
|
ADDRLP4 36
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $693
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $693
|
|
line 1573
|
|
;1573: { //found the waypoint nearest the center of this object
|
|
line 1574
|
|
;1574: gWPArray[wpindex]->weight = weight;
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1575
|
|
;1575: gWPArray[wpindex]->flags |= WPFLAG_GOALPOINT;
|
|
ADDRLP4 40
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 40
|
|
INDIRP4
|
|
ADDRLP4 40
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 65536
|
|
BORI4
|
|
ASGNI4
|
|
line 1576
|
|
;1576: gWPArray[wpindex]->associated_entity = ent->s.number;
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 32
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1577
|
|
;1577: }
|
|
LABELV $693
|
|
line 1578
|
|
;1578: }
|
|
LABELV $691
|
|
line 1580
|
|
;1579:
|
|
;1580: i++;
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1581
|
|
;1581: }
|
|
LABELV $658
|
|
line 1518
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1024
|
|
LTI4 $657
|
|
line 1582
|
|
;1582:}
|
|
LABELV $646
|
|
endproc CalculateWeightGoals 68 8
|
|
export CalculateJumpRoutes
|
|
proc CalculateJumpRoutes 40 0
|
|
line 1585
|
|
;1583:
|
|
;1584:void CalculateJumpRoutes(void)
|
|
;1585:{
|
|
line 1586
|
|
;1586: int i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1587
|
|
;1587: float nheightdif = 0;
|
|
ADDRLP4 8
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 1588
|
|
;1588: float pheightdif = 0;
|
|
ADDRLP4 4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
ADDRGP4 $697
|
|
JUMPV
|
|
LABELV $696
|
|
line 1591
|
|
;1589:
|
|
;1590: while (i < gWPNum)
|
|
;1591: {
|
|
line 1592
|
|
;1592: if (gWPArray[i] && gWPArray[i]->inuse)
|
|
ADDRLP4 12
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $699
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $699
|
|
line 1593
|
|
;1593: {
|
|
line 1594
|
|
;1594: if (gWPArray[i]->flags & WPFLAG_JUMP)
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 16
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $701
|
|
line 1595
|
|
;1595: {
|
|
line 1596
|
|
;1596: nheightdif = 0;
|
|
ADDRLP4 8
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 1597
|
|
;1597: pheightdif = 0;
|
|
ADDRLP4 4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 1599
|
|
;1598:
|
|
;1599: gWPArray[i]->forceJumpTo = 0;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 36
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1601
|
|
;1600:
|
|
;1601: if (gWPArray[i-1] && gWPArray[i-1]->inuse && (gWPArray[i-1]->origin[2]+16) < gWPArray[i]->origin[2])
|
|
ADDRLP4 16
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDRGP4 gWPArray-4
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $703
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDRGP4 gWPArray-4
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $703
|
|
ADDRLP4 20
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDRGP4 gWPArray-4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
CNSTF4 1098907648
|
|
ADDF4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
GEF4 $703
|
|
line 1602
|
|
;1602: {
|
|
line 1603
|
|
;1603: nheightdif = (gWPArray[i]->origin[2] - gWPArray[i-1]->origin[2]);
|
|
ADDRLP4 24
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 28
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 8
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ADDRGP4 gWPArray-4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 1604
|
|
;1604: }
|
|
LABELV $703
|
|
line 1606
|
|
;1605:
|
|
;1606: if (gWPArray[i+1] && gWPArray[i+1]->inuse && (gWPArray[i+1]->origin[2]+16) < gWPArray[i]->origin[2])
|
|
ADDRLP4 24
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $709
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $709
|
|
ADDRLP4 28
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
CNSTF4 1098907648
|
|
ADDF4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 28
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
GEF4 $709
|
|
line 1607
|
|
;1607: {
|
|
line 1608
|
|
;1608: pheightdif = (gWPArray[i]->origin[2] - gWPArray[i+1]->origin[2]);
|
|
ADDRLP4 32
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 36
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 36
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 1609
|
|
;1609: }
|
|
LABELV $709
|
|
line 1611
|
|
;1610:
|
|
;1611: if (nheightdif > pheightdif)
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
LEF4 $715
|
|
line 1612
|
|
;1612: {
|
|
line 1613
|
|
;1613: pheightdif = nheightdif;
|
|
ADDRLP4 4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1614
|
|
;1614: }
|
|
LABELV $715
|
|
line 1616
|
|
;1615:
|
|
;1616: if (pheightdif)
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
CNSTF4 0
|
|
EQF4 $717
|
|
line 1617
|
|
;1617: {
|
|
line 1618
|
|
;1618: if (pheightdif > 500)
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
CNSTF4 1140457472
|
|
LEF4 $719
|
|
line 1619
|
|
;1619: {
|
|
line 1620
|
|
;1620: gWPArray[i]->forceJumpTo = 999; //FORCE_LEVEL_3; //FJSR
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 36
|
|
ADDP4
|
|
CNSTI4 999
|
|
ASGNI4
|
|
line 1621
|
|
;1621: }
|
|
ADDRGP4 $720
|
|
JUMPV
|
|
LABELV $719
|
|
line 1622
|
|
;1622: else if (pheightdif > 256)
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
CNSTF4 1132462080
|
|
LEF4 $721
|
|
line 1623
|
|
;1623: {
|
|
line 1624
|
|
;1624: gWPArray[i]->forceJumpTo = 999; //FORCE_LEVEL_2; //FJSR
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 36
|
|
ADDP4
|
|
CNSTI4 999
|
|
ASGNI4
|
|
line 1625
|
|
;1625: }
|
|
ADDRGP4 $722
|
|
JUMPV
|
|
LABELV $721
|
|
line 1626
|
|
;1626: else if (pheightdif > 128)
|
|
ADDRLP4 4
|
|
INDIRF4
|
|
CNSTF4 1124073472
|
|
LEF4 $723
|
|
line 1627
|
|
;1627: {
|
|
line 1628
|
|
;1628: gWPArray[i]->forceJumpTo = 999; //FORCE_LEVEL_1; //FJSR
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 36
|
|
ADDP4
|
|
CNSTI4 999
|
|
ASGNI4
|
|
line 1629
|
|
;1629: }
|
|
LABELV $723
|
|
LABELV $722
|
|
LABELV $720
|
|
line 1630
|
|
;1630: }
|
|
LABELV $717
|
|
line 1631
|
|
;1631: }
|
|
LABELV $701
|
|
line 1632
|
|
;1632: }
|
|
LABELV $699
|
|
line 1634
|
|
;1633:
|
|
;1634: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1635
|
|
;1635: }
|
|
LABELV $697
|
|
line 1590
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $696
|
|
line 1636
|
|
;1636:}
|
|
LABELV $695
|
|
endproc CalculateJumpRoutes 40 0
|
|
export LoadPathData
|
|
proc LoadPathData 416 16
|
|
line 1639
|
|
;1637:
|
|
;1638:int LoadPathData(const char *filename)
|
|
;1639:{
|
|
line 1649
|
|
;1640: fileHandle_t f;
|
|
;1641: char *fileString;
|
|
;1642: char *currentVar;
|
|
;1643: char *routePath;
|
|
;1644: wpobject_t thiswp;
|
|
;1645: int len;
|
|
;1646: int i, i_cv;
|
|
;1647: int nei_num;
|
|
;1648:
|
|
;1649: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1650
|
|
;1650: i_cv = 0;
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1652
|
|
;1651:
|
|
;1652: routePath = (char *)B_TempAlloc(1024);
|
|
CNSTI4 1024
|
|
ARGI4
|
|
ADDRLP4 332
|
|
ADDRGP4 B_TempAlloc
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 328
|
|
ADDRLP4 332
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1654
|
|
;1653:
|
|
;1654: Com_sprintf(routePath, 1024, "botroutes/%s.wnt\0", filename);
|
|
ADDRLP4 328
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 1024
|
|
ARGI4
|
|
ADDRGP4 $726
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 1656
|
|
;1655:
|
|
;1656: len = trap_FS_FOpenFile(routePath, &f, FS_READ);
|
|
ADDRLP4 328
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 324
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
ADDRLP4 336
|
|
ADDRGP4 trap_FS_FOpenFile
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 320
|
|
ADDRLP4 336
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1658
|
|
;1657:
|
|
;1658: B_TempFree(1024); //routePath
|
|
CNSTI4 1024
|
|
ARGI4
|
|
ADDRGP4 B_TempFree
|
|
CALLV
|
|
pop
|
|
line 1660
|
|
;1659:
|
|
;1660: if (!f)
|
|
ADDRLP4 324
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $727
|
|
line 1661
|
|
;1661: {
|
|
line 1662
|
|
;1662: G_Printf(S_COLOR_YELLOW "Bot route data not found\n");
|
|
ADDRGP4 $729
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 1663
|
|
;1663: return 2;
|
|
CNSTI4 2
|
|
RETI4
|
|
ADDRGP4 $725
|
|
JUMPV
|
|
LABELV $727
|
|
line 1666
|
|
;1664: }
|
|
;1665:
|
|
;1666: if (len >= 524288)
|
|
ADDRLP4 320
|
|
INDIRI4
|
|
CNSTI4 524288
|
|
LTI4 $730
|
|
line 1667
|
|
;1667: {
|
|
line 1668
|
|
;1668: G_Printf(S_COLOR_RED "Route file exceeds maximum length\n");
|
|
ADDRGP4 $732
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 1669
|
|
;1669: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $725
|
|
JUMPV
|
|
LABELV $730
|
|
line 1672
|
|
;1670: }
|
|
;1671:
|
|
;1672: fileString = (char *)B_TempAlloc(524288);
|
|
CNSTI4 524288
|
|
ARGI4
|
|
ADDRLP4 340
|
|
ADDRGP4 B_TempAlloc
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
ADDRLP4 340
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1673
|
|
;1673: currentVar = (char *)B_TempAlloc(2048);
|
|
CNSTI4 2048
|
|
ARGI4
|
|
ADDRLP4 344
|
|
ADDRGP4 B_TempAlloc
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 12
|
|
ADDRLP4 344
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1675
|
|
;1674:
|
|
;1675: trap_FS_Read(fileString, len, f);
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 320
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 324
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 trap_FS_Read
|
|
CALLV
|
|
pop
|
|
line 1677
|
|
;1676:
|
|
;1677: if (fileString[i] == 'l')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 108
|
|
NEI4 $733
|
|
line 1678
|
|
;1678: { //contains a "levelflags" entry..
|
|
line 1680
|
|
;1679: char readLFlags[64];
|
|
;1680: i_cv = 0;
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $736
|
|
JUMPV
|
|
LABELV $735
|
|
line 1683
|
|
;1681:
|
|
;1682: while (fileString[i] != ' ')
|
|
;1683: {
|
|
line 1684
|
|
;1684: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1685
|
|
;1685: }
|
|
LABELV $736
|
|
line 1682
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 32
|
|
NEI4 $735
|
|
line 1686
|
|
;1686: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRGP4 $739
|
|
JUMPV
|
|
LABELV $738
|
|
line 1688
|
|
;1687: while (fileString[i] != '\n')
|
|
;1688: {
|
|
line 1689
|
|
;1689: readLFlags[i_cv] = fileString[i];
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 348
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
ASGNI1
|
|
line 1690
|
|
;1690: i_cv++;
|
|
ADDRLP4 8
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1691
|
|
;1691: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1692
|
|
;1692: }
|
|
LABELV $739
|
|
line 1687
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 10
|
|
NEI4 $738
|
|
line 1693
|
|
;1693: readLFlags[i_cv] = 0;
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 348
|
|
ADDP4
|
|
CNSTI1 0
|
|
ASGNI1
|
|
line 1694
|
|
;1694: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1696
|
|
;1695:
|
|
;1696: gLevelFlags = atoi(readLFlags);
|
|
ADDRLP4 348
|
|
ARGP4
|
|
ADDRLP4 412
|
|
ADDRGP4 atoi
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRGP4 gLevelFlags
|
|
ADDRLP4 412
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1697
|
|
;1697: }
|
|
ADDRGP4 $742
|
|
JUMPV
|
|
LABELV $733
|
|
line 1699
|
|
;1698: else
|
|
;1699: {
|
|
line 1700
|
|
;1700: gLevelFlags = 0;
|
|
ADDRGP4 gLevelFlags
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1701
|
|
;1701: }
|
|
ADDRGP4 $742
|
|
JUMPV
|
|
LABELV $741
|
|
line 1704
|
|
;1702:
|
|
;1703: while (i < len)
|
|
;1704: {
|
|
line 1705
|
|
;1705: i_cv = 0;
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1707
|
|
;1706:
|
|
;1707: thiswp.index = 0;
|
|
ADDRLP4 16+16
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1708
|
|
;1708: thiswp.flags = 0;
|
|
ADDRLP4 16+28
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1709
|
|
;1709: thiswp.inuse = 0;
|
|
ADDRLP4 16+12
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1710
|
|
;1710: thiswp.neighbornum = 0;
|
|
ADDRLP4 16+40
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1711
|
|
;1711: thiswp.origin[0] = 0;
|
|
ADDRLP4 16
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 1712
|
|
;1712: thiswp.origin[1] = 0;
|
|
ADDRLP4 16+4
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 1713
|
|
;1713: thiswp.origin[2] = 0;
|
|
ADDRLP4 16+8
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 1714
|
|
;1714: thiswp.weight = 0;
|
|
ADDRLP4 16+20
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 1715
|
|
;1715: thiswp.associated_entity = ENTITYNUM_NONE;
|
|
ADDRLP4 16+32
|
|
CNSTI4 1023
|
|
ASGNI4
|
|
line 1716
|
|
;1716: thiswp.forceJumpTo = 0;
|
|
ADDRLP4 16+36
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1717
|
|
;1717: thiswp.disttonext = 0;
|
|
ADDRLP4 16+24
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 1718
|
|
;1718: nei_num = 0;
|
|
ADDRLP4 316
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $755
|
|
JUMPV
|
|
LABELV $754
|
|
line 1721
|
|
;1719:
|
|
;1720: while (nei_num < MAX_NEIGHBOR_SIZE)
|
|
;1721: {
|
|
line 1722
|
|
;1722: thiswp.neighbors[nei_num].num = 0;
|
|
ADDRLP4 316
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 16+44
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1723
|
|
;1723: thiswp.neighbors[nei_num].forceJumpTo = 0;
|
|
ADDRLP4 316
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 16+44+4
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1725
|
|
;1724:
|
|
;1725: nei_num++;
|
|
ADDRLP4 316
|
|
ADDRLP4 316
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1726
|
|
;1726: }
|
|
LABELV $755
|
|
line 1720
|
|
ADDRLP4 316
|
|
INDIRI4
|
|
CNSTI4 32
|
|
LTI4 $754
|
|
ADDRGP4 $761
|
|
JUMPV
|
|
LABELV $760
|
|
line 1729
|
|
;1727:
|
|
;1728: while (fileString[i] != ' ')
|
|
;1729: {
|
|
line 1730
|
|
;1730: currentVar[i_cv] = fileString[i];
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
ASGNI1
|
|
line 1731
|
|
;1731: i_cv++;
|
|
ADDRLP4 8
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1732
|
|
;1732: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1733
|
|
;1733: }
|
|
LABELV $761
|
|
line 1728
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 32
|
|
NEI4 $760
|
|
line 1734
|
|
;1734: currentVar[i_cv] = '\0';
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 0
|
|
ASGNI1
|
|
line 1736
|
|
;1735:
|
|
;1736: thiswp.index = atoi(currentVar);
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 348
|
|
ADDRGP4 atoi
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 16+16
|
|
ADDRLP4 348
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1738
|
|
;1737:
|
|
;1738: i_cv = 0;
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1739
|
|
;1739: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRGP4 $765
|
|
JUMPV
|
|
LABELV $764
|
|
line 1742
|
|
;1740:
|
|
;1741: while (fileString[i] != ' ')
|
|
;1742: {
|
|
line 1743
|
|
;1743: currentVar[i_cv] = fileString[i];
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
ASGNI1
|
|
line 1744
|
|
;1744: i_cv++;
|
|
ADDRLP4 8
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1745
|
|
;1745: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1746
|
|
;1746: }
|
|
LABELV $765
|
|
line 1741
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 32
|
|
NEI4 $764
|
|
line 1747
|
|
;1747: currentVar[i_cv] = '\0';
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 0
|
|
ASGNI1
|
|
line 1749
|
|
;1748:
|
|
;1749: thiswp.flags = atoi(currentVar);
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 352
|
|
ADDRGP4 atoi
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 16+28
|
|
ADDRLP4 352
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1751
|
|
;1750:
|
|
;1751: i_cv = 0;
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1752
|
|
;1752: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRGP4 $769
|
|
JUMPV
|
|
LABELV $768
|
|
line 1755
|
|
;1753:
|
|
;1754: while (fileString[i] != ' ')
|
|
;1755: {
|
|
line 1756
|
|
;1756: currentVar[i_cv] = fileString[i];
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
ASGNI1
|
|
line 1757
|
|
;1757: i_cv++;
|
|
ADDRLP4 8
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1758
|
|
;1758: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1759
|
|
;1759: }
|
|
LABELV $769
|
|
line 1754
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 32
|
|
NEI4 $768
|
|
line 1760
|
|
;1760: currentVar[i_cv] = '\0';
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 0
|
|
ASGNI1
|
|
line 1762
|
|
;1761:
|
|
;1762: thiswp.weight = atof(currentVar);
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 356
|
|
ADDRGP4 atof
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 16+20
|
|
ADDRLP4 356
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1764
|
|
;1763:
|
|
;1764: i_cv = 0;
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1765
|
|
;1765: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1766
|
|
;1766: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRGP4 $773
|
|
JUMPV
|
|
LABELV $772
|
|
line 1769
|
|
;1767:
|
|
;1768: while (fileString[i] != ' ')
|
|
;1769: {
|
|
line 1770
|
|
;1770: currentVar[i_cv] = fileString[i];
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
ASGNI1
|
|
line 1771
|
|
;1771: i_cv++;
|
|
ADDRLP4 8
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1772
|
|
;1772: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1773
|
|
;1773: }
|
|
LABELV $773
|
|
line 1768
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 32
|
|
NEI4 $772
|
|
line 1774
|
|
;1774: currentVar[i_cv] = '\0';
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 0
|
|
ASGNI1
|
|
line 1776
|
|
;1775:
|
|
;1776: thiswp.origin[0] = atof(currentVar);
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 360
|
|
ADDRGP4 atof
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 16
|
|
ADDRLP4 360
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1778
|
|
;1777:
|
|
;1778: i_cv = 0;
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1779
|
|
;1779: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRGP4 $776
|
|
JUMPV
|
|
LABELV $775
|
|
line 1782
|
|
;1780:
|
|
;1781: while (fileString[i] != ' ')
|
|
;1782: {
|
|
line 1783
|
|
;1783: currentVar[i_cv] = fileString[i];
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
ASGNI1
|
|
line 1784
|
|
;1784: i_cv++;
|
|
ADDRLP4 8
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1785
|
|
;1785: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1786
|
|
;1786: }
|
|
LABELV $776
|
|
line 1781
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 32
|
|
NEI4 $775
|
|
line 1787
|
|
;1787: currentVar[i_cv] = '\0';
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 0
|
|
ASGNI1
|
|
line 1789
|
|
;1788:
|
|
;1789: thiswp.origin[1] = atof(currentVar);
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 364
|
|
ADDRGP4 atof
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 16+4
|
|
ADDRLP4 364
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1791
|
|
;1790:
|
|
;1791: i_cv = 0;
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1792
|
|
;1792: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRGP4 $780
|
|
JUMPV
|
|
LABELV $779
|
|
line 1795
|
|
;1793:
|
|
;1794: while (fileString[i] != ')')
|
|
;1795: {
|
|
line 1796
|
|
;1796: currentVar[i_cv] = fileString[i];
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
ASGNI1
|
|
line 1797
|
|
;1797: i_cv++;
|
|
ADDRLP4 8
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1798
|
|
;1798: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1799
|
|
;1799: }
|
|
LABELV $780
|
|
line 1794
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 41
|
|
NEI4 $779
|
|
line 1800
|
|
;1800: currentVar[i_cv] = '\0';
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 0
|
|
ASGNI1
|
|
line 1802
|
|
;1801:
|
|
;1802: thiswp.origin[2] = atof(currentVar);
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 368
|
|
ADDRGP4 atof
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 16+8
|
|
ADDRLP4 368
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1804
|
|
;1803:
|
|
;1804: i += 4;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 4
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRGP4 $784
|
|
JUMPV
|
|
LABELV $783
|
|
line 1807
|
|
;1805:
|
|
;1806: while (fileString[i] != '}')
|
|
;1807: {
|
|
line 1808
|
|
;1808: i_cv = 0;
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $787
|
|
JUMPV
|
|
LABELV $786
|
|
line 1810
|
|
;1809: while (fileString[i] != ' ' && fileString[i] != '-')
|
|
;1810: {
|
|
line 1811
|
|
;1811: currentVar[i_cv] = fileString[i];
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
ASGNI1
|
|
line 1812
|
|
;1812: i_cv++;
|
|
ADDRLP4 8
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1813
|
|
;1813: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1814
|
|
;1814: }
|
|
LABELV $787
|
|
line 1809
|
|
ADDRLP4 372
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
ASGNI4
|
|
ADDRLP4 372
|
|
INDIRI4
|
|
CNSTI4 32
|
|
EQI4 $789
|
|
ADDRLP4 372
|
|
INDIRI4
|
|
CNSTI4 45
|
|
NEI4 $786
|
|
LABELV $789
|
|
line 1815
|
|
;1815: currentVar[i_cv] = '\0';
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 0
|
|
ASGNI1
|
|
line 1817
|
|
;1816:
|
|
;1817: thiswp.neighbors[thiswp.neighbornum].num = atoi(currentVar);
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 376
|
|
ADDRGP4 atoi
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 16+40
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 16+44
|
|
ADDP4
|
|
ADDRLP4 376
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1819
|
|
;1818:
|
|
;1819: if (fileString[i] == '-')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 45
|
|
NEI4 $792
|
|
line 1820
|
|
;1820: {
|
|
line 1821
|
|
;1821: i_cv = 0;
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1822
|
|
;1822: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRGP4 $795
|
|
JUMPV
|
|
LABELV $794
|
|
line 1825
|
|
;1823:
|
|
;1824: while (fileString[i] != ' ')
|
|
;1825: {
|
|
line 1826
|
|
;1826: currentVar[i_cv] = fileString[i];
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
ASGNI1
|
|
line 1827
|
|
;1827: i_cv++;
|
|
ADDRLP4 8
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1828
|
|
;1828: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1829
|
|
;1829: }
|
|
LABELV $795
|
|
line 1824
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 32
|
|
NEI4 $794
|
|
line 1830
|
|
;1830: currentVar[i_cv] = '\0';
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 0
|
|
ASGNI1
|
|
line 1832
|
|
;1831:
|
|
;1832: thiswp.neighbors[thiswp.neighbornum].forceJumpTo = 999; //atoi(currentVar); //FJSR
|
|
ADDRLP4 16+40
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 16+44+4
|
|
ADDP4
|
|
CNSTI4 999
|
|
ASGNI4
|
|
line 1833
|
|
;1833: }
|
|
ADDRGP4 $793
|
|
JUMPV
|
|
LABELV $792
|
|
line 1835
|
|
;1834: else
|
|
;1835: {
|
|
line 1836
|
|
;1836: thiswp.neighbors[thiswp.neighbornum].forceJumpTo = 0;
|
|
ADDRLP4 16+40
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 16+44+4
|
|
ADDP4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1837
|
|
;1837: }
|
|
LABELV $793
|
|
line 1839
|
|
;1838:
|
|
;1839: thiswp.neighbornum++;
|
|
ADDRLP4 16+40
|
|
ADDRLP4 16+40
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1841
|
|
;1840:
|
|
;1841: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1842
|
|
;1842: }
|
|
LABELV $784
|
|
line 1806
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 125
|
|
NEI4 $783
|
|
line 1844
|
|
;1843:
|
|
;1844: i_cv = 0;
|
|
ADDRLP4 8
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1845
|
|
;1845: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1846
|
|
;1846: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRGP4 $805
|
|
JUMPV
|
|
LABELV $804
|
|
line 1849
|
|
;1847:
|
|
;1848: while (fileString[i] != '\n')
|
|
;1849: {
|
|
line 1850
|
|
;1850: currentVar[i_cv] = fileString[i];
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
ASGNI1
|
|
line 1851
|
|
;1851: i_cv++;
|
|
ADDRLP4 8
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1852
|
|
;1852: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1853
|
|
;1853: }
|
|
LABELV $805
|
|
line 1848
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 10
|
|
NEI4 $804
|
|
line 1854
|
|
;1854: currentVar[i_cv] = '\0';
|
|
ADDRLP4 8
|
|
INDIRI4
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ADDP4
|
|
CNSTI1 0
|
|
ASGNI1
|
|
line 1856
|
|
;1855:
|
|
;1856: thiswp.disttonext = atof(currentVar);
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 372
|
|
ADDRGP4 atof
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 16+24
|
|
ADDRLP4 372
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1858
|
|
;1857:
|
|
;1858: CreateNewWP_FromObject(&thiswp);
|
|
ADDRLP4 16
|
|
ARGP4
|
|
ADDRGP4 CreateNewWP_FromObject
|
|
CALLV
|
|
pop
|
|
line 1859
|
|
;1859: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1860
|
|
;1860: }
|
|
LABELV $742
|
|
line 1703
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 320
|
|
INDIRI4
|
|
LTI4 $741
|
|
line 1862
|
|
;1861:
|
|
;1862: B_TempFree(524288); //fileString
|
|
CNSTI4 524288
|
|
ARGI4
|
|
ADDRGP4 B_TempFree
|
|
CALLV
|
|
pop
|
|
line 1863
|
|
;1863: B_TempFree(2048); //currentVar
|
|
CNSTI4 2048
|
|
ARGI4
|
|
ADDRGP4 B_TempFree
|
|
CALLV
|
|
pop
|
|
line 1865
|
|
;1864:
|
|
;1865: trap_FS_FCloseFile(f);
|
|
ADDRLP4 324
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 trap_FS_FCloseFile
|
|
CALLV
|
|
pop
|
|
line 1867
|
|
;1866:
|
|
;1867: if (g_gametype.integer == GT_SAGA)
|
|
ADDRGP4 g_gametype+12
|
|
INDIRI4
|
|
CNSTI4 6
|
|
NEI4 $808
|
|
line 1868
|
|
;1868: {
|
|
line 1869
|
|
;1869: CalculateSagaGoals();
|
|
ADDRGP4 CalculateSagaGoals
|
|
CALLV
|
|
pop
|
|
line 1870
|
|
;1870: }
|
|
LABELV $808
|
|
line 1872
|
|
;1871:
|
|
;1872: CalculateWeightGoals();
|
|
ADDRGP4 CalculateWeightGoals
|
|
CALLV
|
|
pop
|
|
line 1876
|
|
;1873: //calculate weights for idle activity goals when
|
|
;1874: //the bot has absolutely nothing else to do
|
|
;1875:
|
|
;1876: CalculateJumpRoutes();
|
|
ADDRGP4 CalculateJumpRoutes
|
|
CALLV
|
|
pop
|
|
line 1880
|
|
;1877: //Look at jump points and mark them as requiring
|
|
;1878: //force jumping as needed
|
|
;1879:
|
|
;1880: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
LABELV $725
|
|
endproc LoadPathData 416 16
|
|
export FlagObjects
|
|
proc FlagObjects 1172 28
|
|
line 1884
|
|
;1881:}
|
|
;1882:
|
|
;1883:void FlagObjects(void)
|
|
;1884:{
|
|
line 1885
|
|
;1885: int i = 0, bestindex = 0, found = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 1140
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 1144
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1886
|
|
;1886: float bestdist = 999999, tlen = 0;
|
|
ADDRLP4 1112
|
|
CNSTF4 1232348144
|
|
ASGNF4
|
|
ADDRLP4 28
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 1891
|
|
;1887: gentity_t *flag_red, *flag_blue, *ent;
|
|
;1888: vec3_t a, mins, maxs;
|
|
;1889: trace_t tr;
|
|
;1890:
|
|
;1891: flag_red = NULL;
|
|
ADDRLP4 20
|
|
CNSTP4 0
|
|
ASGNP4
|
|
line 1892
|
|
;1892: flag_blue = NULL;
|
|
ADDRLP4 24
|
|
CNSTP4 0
|
|
ASGNP4
|
|
line 1894
|
|
;1893:
|
|
;1894: mins[0] = -15;
|
|
ADDRLP4 1116
|
|
CNSTF4 3245342720
|
|
ASGNF4
|
|
line 1895
|
|
;1895: mins[1] = -15;
|
|
ADDRLP4 1116+4
|
|
CNSTF4 3245342720
|
|
ASGNF4
|
|
line 1896
|
|
;1896: mins[2] = -5;
|
|
ADDRLP4 1116+8
|
|
CNSTF4 3231711232
|
|
ASGNF4
|
|
line 1897
|
|
;1897: maxs[0] = 15;
|
|
ADDRLP4 1128
|
|
CNSTF4 1097859072
|
|
ASGNF4
|
|
line 1898
|
|
;1898: maxs[1] = 15;
|
|
ADDRLP4 1128+4
|
|
CNSTF4 1097859072
|
|
ASGNF4
|
|
line 1899
|
|
;1899: maxs[2] = 5;
|
|
ADDRLP4 1128+8
|
|
CNSTF4 1084227584
|
|
ASGNF4
|
|
ADDRGP4 $817
|
|
JUMPV
|
|
LABELV $816
|
|
line 1902
|
|
;1900:
|
|
;1901: while (i < MAX_GENTITIES)
|
|
;1902: {
|
|
line 1903
|
|
;1903: ent = &g_entities[i];
|
|
ADDRLP4 4
|
|
CNSTI4 828
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
MULI4
|
|
ADDRGP4 g_entities
|
|
ADDP4
|
|
ASGNP4
|
|
line 1905
|
|
;1904:
|
|
;1905: if (ent && ent->inuse && ent->classname)
|
|
ADDRLP4 1152
|
|
CNSTU4 0
|
|
ASGNU4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 1152
|
|
INDIRU4
|
|
EQU4 $819
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 412
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $819
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 1152
|
|
INDIRU4
|
|
EQU4 $819
|
|
line 1906
|
|
;1906: {
|
|
line 1907
|
|
;1907: if (!flag_red && strcmp(ent->classname, "team_CTF_redflag") == 0)
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $821
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $823
|
|
ARGP4
|
|
ADDRLP4 1156
|
|
ADDRGP4 strcmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 1156
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $821
|
|
line 1908
|
|
;1908: {
|
|
line 1909
|
|
;1909: flag_red = ent;
|
|
ADDRLP4 20
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1910
|
|
;1910: }
|
|
ADDRGP4 $822
|
|
JUMPV
|
|
LABELV $821
|
|
line 1911
|
|
;1911: else if (!flag_blue && strcmp(ent->classname, "team_CTF_blueflag") == 0)
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $824
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $826
|
|
ARGP4
|
|
ADDRLP4 1160
|
|
ADDRGP4 strcmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 1160
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $824
|
|
line 1912
|
|
;1912: {
|
|
line 1913
|
|
;1913: flag_blue = ent;
|
|
ADDRLP4 24
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1914
|
|
;1914: }
|
|
LABELV $824
|
|
LABELV $822
|
|
line 1916
|
|
;1915:
|
|
;1916: if (flag_red && flag_blue)
|
|
ADDRLP4 1164
|
|
CNSTU4 0
|
|
ASGNU4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 1164
|
|
INDIRU4
|
|
EQU4 $827
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 1164
|
|
INDIRU4
|
|
EQU4 $827
|
|
line 1917
|
|
;1917: {
|
|
line 1918
|
|
;1918: break;
|
|
ADDRGP4 $818
|
|
JUMPV
|
|
LABELV $827
|
|
line 1920
|
|
;1919: }
|
|
;1920: }
|
|
LABELV $819
|
|
line 1922
|
|
;1921:
|
|
;1922: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1923
|
|
;1923: }
|
|
LABELV $817
|
|
line 1901
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1024
|
|
LTI4 $816
|
|
LABELV $818
|
|
line 1925
|
|
;1924:
|
|
;1925: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1927
|
|
;1926:
|
|
;1927: if (!flag_red || !flag_blue)
|
|
ADDRLP4 1148
|
|
CNSTU4 0
|
|
ASGNU4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 1148
|
|
INDIRU4
|
|
EQU4 $831
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 1148
|
|
INDIRU4
|
|
NEU4 $833
|
|
LABELV $831
|
|
line 1928
|
|
;1928: {
|
|
line 1929
|
|
;1929: return;
|
|
ADDRGP4 $811
|
|
JUMPV
|
|
LABELV $832
|
|
line 1933
|
|
;1930: }
|
|
;1931:
|
|
;1932: while (i < gWPNum)
|
|
;1933: {
|
|
line 1934
|
|
;1934: if (gWPArray[i] && gWPArray[i]->inuse)
|
|
ADDRLP4 1152
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 1152
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $835
|
|
ADDRLP4 1152
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $835
|
|
line 1935
|
|
;1935: {
|
|
line 1936
|
|
;1936: VectorSubtract(flag_red->s.pos.trBase, gWPArray[i]->origin, a);
|
|
ADDRLP4 1160
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 1160
|
|
INDIRP4
|
|
INDIRP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 8+4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 1160
|
|
INDIRP4
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 8+8
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 32
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 1937
|
|
;1937: tlen = VectorLength(a);
|
|
ADDRLP4 8
|
|
ARGP4
|
|
ADDRLP4 1164
|
|
ADDRGP4 VectorLength
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 28
|
|
ADDRLP4 1164
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1939
|
|
;1938:
|
|
;1939: if (tlen < bestdist)
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
ADDRLP4 1112
|
|
INDIRF4
|
|
GEF4 $839
|
|
line 1940
|
|
;1940: {
|
|
line 1941
|
|
;1941: trap_Trace(&tr, flag_red->s.pos.trBase, mins, maxs, gWPArray[i]->origin, flag_red->s.number, MASK_SOLID);
|
|
ADDRLP4 32
|
|
ARGP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 1116
|
|
ARGP4
|
|
ADDRLP4 1128
|
|
ARGP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
INDIRI4
|
|
ARGI4
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRGP4 trap_Trace
|
|
CALLV
|
|
pop
|
|
line 1943
|
|
;1942:
|
|
;1943: if (tr.fraction == 1 || tr.entityNum == flag_red->s.number)
|
|
ADDRLP4 32+8
|
|
INDIRF4
|
|
CNSTF4 1065353216
|
|
EQF4 $845
|
|
ADDRLP4 32+52
|
|
INDIRI4
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
INDIRI4
|
|
NEI4 $841
|
|
LABELV $845
|
|
line 1944
|
|
;1944: {
|
|
line 1945
|
|
;1945: bestdist = tlen;
|
|
ADDRLP4 1112
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1946
|
|
;1946: bestindex = i;
|
|
ADDRLP4 1140
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1947
|
|
;1947: found = 1;
|
|
ADDRLP4 1144
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 1948
|
|
;1948: }
|
|
LABELV $841
|
|
line 1949
|
|
;1949: }
|
|
LABELV $839
|
|
line 1951
|
|
;1950:
|
|
;1951: }
|
|
LABELV $835
|
|
line 1953
|
|
;1952:
|
|
;1953: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1954
|
|
;1954: }
|
|
LABELV $833
|
|
line 1932
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $832
|
|
line 1956
|
|
;1955:
|
|
;1956: if (found)
|
|
ADDRLP4 1144
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $846
|
|
line 1957
|
|
;1957: {
|
|
line 1958
|
|
;1958: gWPArray[bestindex]->flags |= WPFLAG_RED_FLAG;
|
|
ADDRLP4 1152
|
|
ADDRLP4 1140
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 1152
|
|
INDIRP4
|
|
ADDRLP4 1152
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 131072
|
|
BORI4
|
|
ASGNI4
|
|
line 1959
|
|
;1959: flagRed = gWPArray[bestindex];
|
|
ADDRGP4 flagRed
|
|
ADDRLP4 1140
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1960
|
|
;1960: oFlagRed = flagRed;
|
|
ADDRGP4 oFlagRed
|
|
ADDRGP4 flagRed
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1961
|
|
;1961: eFlagRed = flag_red;
|
|
ADDRGP4 eFlagRed
|
|
ADDRLP4 20
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1962
|
|
;1962: }
|
|
LABELV $846
|
|
line 1964
|
|
;1963:
|
|
;1964: bestdist = 999999;
|
|
ADDRLP4 1112
|
|
CNSTF4 1232348144
|
|
ASGNF4
|
|
line 1965
|
|
;1965: bestindex = 0;
|
|
ADDRLP4 1140
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1966
|
|
;1966: found = 0;
|
|
ADDRLP4 1144
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 1967
|
|
;1967: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $849
|
|
JUMPV
|
|
LABELV $848
|
|
line 1970
|
|
;1968:
|
|
;1969: while (i < gWPNum)
|
|
;1970: {
|
|
line 1971
|
|
;1971: if (gWPArray[i] && gWPArray[i]->inuse)
|
|
ADDRLP4 1152
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 1152
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $851
|
|
ADDRLP4 1152
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $851
|
|
line 1972
|
|
;1972: {
|
|
line 1973
|
|
;1973: VectorSubtract(flag_blue->s.pos.trBase, gWPArray[i]->origin, a);
|
|
ADDRLP4 1160
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 1160
|
|
INDIRP4
|
|
INDIRP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 8+4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 1160
|
|
INDIRP4
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 8+8
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 32
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 1974
|
|
;1974: tlen = VectorLength(a);
|
|
ADDRLP4 8
|
|
ARGP4
|
|
ADDRLP4 1164
|
|
ADDRGP4 VectorLength
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 28
|
|
ADDRLP4 1164
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1976
|
|
;1975:
|
|
;1976: if (tlen < bestdist)
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
ADDRLP4 1112
|
|
INDIRF4
|
|
GEF4 $855
|
|
line 1977
|
|
;1977: {
|
|
line 1978
|
|
;1978: trap_Trace(&tr, flag_blue->s.pos.trBase, mins, maxs, gWPArray[i]->origin, flag_blue->s.number, MASK_SOLID);
|
|
ADDRLP4 32
|
|
ARGP4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 1116
|
|
ARGP4
|
|
ADDRLP4 1128
|
|
ARGP4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
INDIRI4
|
|
ARGI4
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRGP4 trap_Trace
|
|
CALLV
|
|
pop
|
|
line 1980
|
|
;1979:
|
|
;1980: if (tr.fraction == 1 || tr.entityNum == flag_blue->s.number)
|
|
ADDRLP4 32+8
|
|
INDIRF4
|
|
CNSTF4 1065353216
|
|
EQF4 $861
|
|
ADDRLP4 32+52
|
|
INDIRI4
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
INDIRI4
|
|
NEI4 $857
|
|
LABELV $861
|
|
line 1981
|
|
;1981: {
|
|
line 1982
|
|
;1982: bestdist = tlen;
|
|
ADDRLP4 1112
|
|
ADDRLP4 28
|
|
INDIRF4
|
|
ASGNF4
|
|
line 1983
|
|
;1983: bestindex = i;
|
|
ADDRLP4 1140
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ASGNI4
|
|
line 1984
|
|
;1984: found = 1;
|
|
ADDRLP4 1144
|
|
CNSTI4 1
|
|
ASGNI4
|
|
line 1985
|
|
;1985: }
|
|
LABELV $857
|
|
line 1986
|
|
;1986: }
|
|
LABELV $855
|
|
line 1988
|
|
;1987:
|
|
;1988: }
|
|
LABELV $851
|
|
line 1990
|
|
;1989:
|
|
;1990: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 1991
|
|
;1991: }
|
|
LABELV $849
|
|
line 1969
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $848
|
|
line 1993
|
|
;1992:
|
|
;1993: if (found)
|
|
ADDRLP4 1144
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $862
|
|
line 1994
|
|
;1994: {
|
|
line 1995
|
|
;1995: gWPArray[bestindex]->flags |= WPFLAG_BLUE_FLAG;
|
|
ADDRLP4 1152
|
|
ADDRLP4 1140
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 1152
|
|
INDIRP4
|
|
ADDRLP4 1152
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 262144
|
|
BORI4
|
|
ASGNI4
|
|
line 1996
|
|
;1996: flagBlue = gWPArray[bestindex];
|
|
ADDRGP4 flagBlue
|
|
ADDRLP4 1140
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1997
|
|
;1997: oFlagBlue = flagBlue;
|
|
ADDRGP4 oFlagBlue
|
|
ADDRGP4 flagBlue
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1998
|
|
;1998: eFlagBlue = flag_blue;
|
|
ADDRGP4 eFlagBlue
|
|
ADDRLP4 24
|
|
INDIRP4
|
|
ASGNP4
|
|
line 1999
|
|
;1999: }
|
|
LABELV $862
|
|
line 2000
|
|
;2000:}
|
|
LABELV $811
|
|
endproc FlagObjects 1172 28
|
|
export SavePathData
|
|
proc SavePathData 112 36
|
|
line 2003
|
|
;2001:
|
|
;2002:int SavePathData(const char *filename)
|
|
;2003:{
|
|
line 2012
|
|
;2004: fileHandle_t f;
|
|
;2005: char *fileString;
|
|
;2006: char *storeString;
|
|
;2007: char *routePath;
|
|
;2008: vec3_t a;
|
|
;2009: float flLen;
|
|
;2010: int i, s, n;
|
|
;2011:
|
|
;2012: fileString = NULL;
|
|
ADDRLP4 28
|
|
CNSTP4 0
|
|
ASGNP4
|
|
line 2013
|
|
;2013: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 2014
|
|
;2014: s = 0;
|
|
ADDRLP4 40
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 2016
|
|
;2015:
|
|
;2016: if (!gWPNum)
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $865
|
|
line 2017
|
|
;2017: {
|
|
line 2018
|
|
;2018: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $864
|
|
JUMPV
|
|
LABELV $865
|
|
line 2021
|
|
;2019: }
|
|
;2020:
|
|
;2021: routePath = (char *)B_TempAlloc(1024);
|
|
CNSTI4 1024
|
|
ARGI4
|
|
ADDRLP4 44
|
|
ADDRGP4 B_TempAlloc
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 36
|
|
ADDRLP4 44
|
|
INDIRP4
|
|
ASGNP4
|
|
line 2023
|
|
;2022:
|
|
;2023: Com_sprintf(routePath, 1024, "botroutes/%s.wnt\0", filename);
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 1024
|
|
ARGI4
|
|
ADDRGP4 $726
|
|
ARGP4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 2025
|
|
;2024:
|
|
;2025: trap_FS_FOpenFile(routePath, &f, FS_WRITE);
|
|
ADDRLP4 36
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 32
|
|
ARGP4
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRGP4 trap_FS_FOpenFile
|
|
CALLI4
|
|
pop
|
|
line 2027
|
|
;2026:
|
|
;2027: B_TempFree(1024); //routePath
|
|
CNSTI4 1024
|
|
ARGI4
|
|
ADDRGP4 B_TempFree
|
|
CALLV
|
|
pop
|
|
line 2029
|
|
;2028:
|
|
;2029: if (!f)
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $867
|
|
line 2030
|
|
;2030: {
|
|
line 2031
|
|
;2031: G_Printf(S_COLOR_RED "ERROR: Could not open file to write path data\n");
|
|
ADDRGP4 $869
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 2032
|
|
;2032: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $864
|
|
JUMPV
|
|
LABELV $867
|
|
line 2035
|
|
;2033: }
|
|
;2034:
|
|
;2035: if (!RepairPaths()) //check if we can see all waypoints from the last. If not, try to branch over.
|
|
ADDRLP4 48
|
|
ADDRGP4 RepairPaths
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 48
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $870
|
|
line 2036
|
|
;2036: {
|
|
line 2037
|
|
;2037: trap_FS_FCloseFile(f);
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 trap_FS_FCloseFile
|
|
CALLV
|
|
pop
|
|
line 2038
|
|
;2038: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $864
|
|
JUMPV
|
|
LABELV $870
|
|
line 2041
|
|
;2039: }
|
|
;2040:
|
|
;2041: CalculatePaths(); //make everything nice and connected before saving
|
|
ADDRGP4 CalculatePaths
|
|
CALLV
|
|
pop
|
|
line 2043
|
|
;2042:
|
|
;2043: FlagObjects(); //currently only used for flagging waypoints nearest CTF flags
|
|
ADDRGP4 FlagObjects
|
|
CALLV
|
|
pop
|
|
line 2045
|
|
;2044:
|
|
;2045: fileString = (char *)B_TempAlloc(524288);
|
|
CNSTI4 524288
|
|
ARGI4
|
|
ADDRLP4 52
|
|
ADDRGP4 B_TempAlloc
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 28
|
|
ADDRLP4 52
|
|
INDIRP4
|
|
ASGNP4
|
|
line 2046
|
|
;2046: storeString = (char *)B_TempAlloc(4096);
|
|
CNSTI4 4096
|
|
ARGI4
|
|
ADDRLP4 56
|
|
ADDRGP4 B_TempAlloc
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
ADDRLP4 56
|
|
INDIRP4
|
|
ASGNP4
|
|
line 2048
|
|
;2047:
|
|
;2048: Com_sprintf(fileString, 524288, "%i %i %f (%f %f %f) { ", gWPArray[i]->index, gWPArray[i]->flags, gWPArray[i]->weight, gWPArray[i]->origin[0], gWPArray[i]->origin[1], gWPArray[i]->origin[2]);
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 524288
|
|
ARGI4
|
|
ADDRGP4 $872
|
|
ARGP4
|
|
ADDRLP4 60
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 60
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 2050
|
|
;2049:
|
|
;2050: n = 0;
|
|
ADDRLP4 4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $874
|
|
JUMPV
|
|
LABELV $873
|
|
line 2053
|
|
;2051:
|
|
;2052: while (n < gWPArray[i]->neighbornum)
|
|
;2053: {
|
|
line 2054
|
|
;2054: if (gWPArray[i]->neighbors[n].forceJumpTo)
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 44
|
|
ADDP4
|
|
ADDP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $876
|
|
line 2055
|
|
;2055: {
|
|
line 2056
|
|
;2056: Com_sprintf(storeString, 4096, "%s%i-%i ", storeString, gWPArray[i]->neighbors[n].num, gWPArray[i]->neighbors[n].forceJumpTo);
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 4096
|
|
ARGI4
|
|
ADDRGP4 $878
|
|
ARGP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 68
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 44
|
|
ADDP4
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 68
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 2057
|
|
;2057: }
|
|
ADDRGP4 $877
|
|
JUMPV
|
|
LABELV $876
|
|
line 2059
|
|
;2058: else
|
|
;2059: {
|
|
line 2060
|
|
;2060: Com_sprintf(storeString, 4096, "%s%i ", storeString, gWPArray[i]->neighbors[n].num);
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 4096
|
|
ARGI4
|
|
ADDRGP4 $879
|
|
ARGP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 44
|
|
ADDP4
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 2061
|
|
;2061: }
|
|
LABELV $877
|
|
line 2062
|
|
;2062: n++;
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 2063
|
|
;2063: }
|
|
LABELV $874
|
|
line 2052
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
INDIRI4
|
|
LTI4 $873
|
|
line 2065
|
|
;2064:
|
|
;2065: if (gWPArray[i+1] && gWPArray[i+1]->inuse && gWPArray[i+1]->index)
|
|
ADDRLP4 64
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 64
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $880
|
|
ADDRLP4 68
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 64
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 68
|
|
INDIRI4
|
|
EQI4 $880
|
|
ADDRLP4 64
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 68
|
|
INDIRI4
|
|
EQI4 $880
|
|
line 2066
|
|
;2066: {
|
|
line 2067
|
|
;2067: VectorSubtract(gWPArray[i]->origin, gWPArray[i+1]->origin, a);
|
|
ADDRLP4 72
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 76
|
|
ADDRLP4 72
|
|
INDIRI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 16
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 72
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 80
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 16+4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
INDIRP4
|
|
ADDRLP4 80
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 72
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 80
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 84
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 88
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 16+8
|
|
ADDRLP4 84
|
|
INDIRI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 88
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 84
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 88
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 2068
|
|
;2068: flLen = VectorLength(a);
|
|
ADDRLP4 16
|
|
ARGP4
|
|
ADDRLP4 92
|
|
ADDRGP4 VectorLength
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 12
|
|
ADDRLP4 92
|
|
INDIRF4
|
|
ASGNF4
|
|
line 2069
|
|
;2069: }
|
|
ADDRGP4 $881
|
|
JUMPV
|
|
LABELV $880
|
|
line 2071
|
|
;2070: else
|
|
;2071: {
|
|
line 2072
|
|
;2072: flLen = 0;
|
|
ADDRLP4 12
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 2073
|
|
;2073: }
|
|
LABELV $881
|
|
line 2075
|
|
;2074:
|
|
;2075: gWPArray[i]->disttonext = flLen;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ASGNF4
|
|
line 2077
|
|
;2076:
|
|
;2077: Com_sprintf(fileString, 524288, "%s} %f\n", fileString, flLen);
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 524288
|
|
ARGI4
|
|
ADDRGP4 $890
|
|
ARGP4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 2079
|
|
;2078:
|
|
;2079: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
ADDRGP4 $892
|
|
JUMPV
|
|
LABELV $891
|
|
line 2082
|
|
;2080:
|
|
;2081: while (i < gWPNum)
|
|
;2082: {
|
|
line 2084
|
|
;2083: //sprintf(fileString, "%s%i %i %f (%f %f %f) { ", fileString, gWPArray[i]->index, gWPArray[i]->flags, gWPArray[i]->weight, gWPArray[i]->origin[0], gWPArray[i]->origin[1], gWPArray[i]->origin[2]);
|
|
;2084: Com_sprintf(storeString, 4096, "%i %i %f (%f %f %f) { ", gWPArray[i]->index, gWPArray[i]->flags, gWPArray[i]->weight, gWPArray[i]->origin[0], gWPArray[i]->origin[1], gWPArray[i]->origin[2]);
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 4096
|
|
ARGI4
|
|
ADDRGP4 $872
|
|
ARGP4
|
|
ADDRLP4 76
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRLP4 76
|
|
INDIRP4
|
|
CNSTI4 8
|
|
ADDP4
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 2086
|
|
;2085:
|
|
;2086: n = 0;
|
|
ADDRLP4 4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $895
|
|
JUMPV
|
|
LABELV $894
|
|
line 2089
|
|
;2087:
|
|
;2088: while (n < gWPArray[i]->neighbornum)
|
|
;2089: {
|
|
line 2090
|
|
;2090: if (gWPArray[i]->neighbors[n].forceJumpTo)
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 44
|
|
ADDP4
|
|
ADDP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $897
|
|
line 2091
|
|
;2091: {
|
|
line 2092
|
|
;2092: Com_sprintf(storeString, 4096, "%s%i-%i ", storeString, gWPArray[i]->neighbors[n].num, gWPArray[i]->neighbors[n].forceJumpTo);
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 4096
|
|
ARGI4
|
|
ADDRGP4 $878
|
|
ARGP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 84
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 44
|
|
ADDP4
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 84
|
|
INDIRP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 84
|
|
INDIRP4
|
|
CNSTI4 4
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 2093
|
|
;2093: }
|
|
ADDRGP4 $898
|
|
JUMPV
|
|
LABELV $897
|
|
line 2095
|
|
;2094: else
|
|
;2095: {
|
|
line 2096
|
|
;2096: Com_sprintf(storeString, 4096, "%s%i ", storeString, gWPArray[i]->neighbors[n].num);
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 4096
|
|
ARGI4
|
|
ADDRGP4 $879
|
|
ARGP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 3
|
|
LSHI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 44
|
|
ADDP4
|
|
ADDP4
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 2097
|
|
;2097: }
|
|
LABELV $898
|
|
line 2098
|
|
;2098: n++;
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 2099
|
|
;2099: }
|
|
LABELV $895
|
|
line 2088
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 40
|
|
ADDP4
|
|
INDIRI4
|
|
LTI4 $894
|
|
line 2101
|
|
;2100:
|
|
;2101: if (gWPArray[i+1] && gWPArray[i+1]->inuse && gWPArray[i+1]->index)
|
|
ADDRLP4 80
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 80
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $899
|
|
ADDRLP4 84
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRLP4 80
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 84
|
|
INDIRI4
|
|
EQI4 $899
|
|
ADDRLP4 80
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 16
|
|
ADDP4
|
|
INDIRI4
|
|
ADDRLP4 84
|
|
INDIRI4
|
|
EQI4 $899
|
|
line 2102
|
|
;2102: {
|
|
line 2103
|
|
;2103: VectorSubtract(gWPArray[i]->origin, gWPArray[i+1]->origin, a);
|
|
ADDRLP4 88
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 92
|
|
ADDRLP4 88
|
|
INDIRI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 16
|
|
ADDRLP4 92
|
|
INDIRP4
|
|
INDIRP4
|
|
INDIRF4
|
|
ADDRLP4 88
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 96
|
|
CNSTI4 4
|
|
ASGNI4
|
|
ADDRLP4 16+4
|
|
ADDRLP4 92
|
|
INDIRP4
|
|
INDIRP4
|
|
ADDRLP4 96
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 88
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 96
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 100
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ASGNI4
|
|
ADDRLP4 104
|
|
CNSTI4 8
|
|
ASGNI4
|
|
ADDRLP4 16+8
|
|
ADDRLP4 100
|
|
INDIRI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 104
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 100
|
|
INDIRI4
|
|
ADDRGP4 gWPArray+4
|
|
ADDP4
|
|
INDIRP4
|
|
ADDRLP4 104
|
|
INDIRI4
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 2104
|
|
;2104: flLen = VectorLength(a);
|
|
ADDRLP4 16
|
|
ARGP4
|
|
ADDRLP4 108
|
|
ADDRGP4 VectorLength
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 12
|
|
ADDRLP4 108
|
|
INDIRF4
|
|
ASGNF4
|
|
line 2105
|
|
;2105: }
|
|
ADDRGP4 $900
|
|
JUMPV
|
|
LABELV $899
|
|
line 2107
|
|
;2106: else
|
|
;2107: {
|
|
line 2108
|
|
;2108: flLen = 0;
|
|
ADDRLP4 12
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 2109
|
|
;2109: }
|
|
LABELV $900
|
|
line 2111
|
|
;2110:
|
|
;2111: gWPArray[i]->disttonext = flLen;
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ASGNF4
|
|
line 2113
|
|
;2112:
|
|
;2113: Com_sprintf(storeString, 4096, "%s} %f\n", storeString, flLen);
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
CNSTI4 4096
|
|
ARGI4
|
|
ADDRGP4 $890
|
|
ARGP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 12
|
|
INDIRF4
|
|
ARGF4
|
|
ADDRGP4 Com_sprintf
|
|
CALLV
|
|
pop
|
|
line 2115
|
|
;2114:
|
|
;2115: strcat(fileString, storeString);
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 strcat
|
|
CALLP4
|
|
pop
|
|
line 2117
|
|
;2116:
|
|
;2117: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 2118
|
|
;2118: }
|
|
LABELV $892
|
|
line 2081
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $891
|
|
line 2120
|
|
;2119:
|
|
;2120: trap_FS_Write(fileString, strlen(fileString), f);
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 76
|
|
ADDRGP4 strlen
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 28
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 76
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 trap_FS_Write
|
|
CALLV
|
|
pop
|
|
line 2122
|
|
;2121:
|
|
;2122: B_TempFree(524288); //fileString
|
|
CNSTI4 524288
|
|
ARGI4
|
|
ADDRGP4 B_TempFree
|
|
CALLV
|
|
pop
|
|
line 2123
|
|
;2123: B_TempFree(4096); //storeString
|
|
CNSTI4 4096
|
|
ARGI4
|
|
ADDRGP4 B_TempFree
|
|
CALLV
|
|
pop
|
|
line 2125
|
|
;2124:
|
|
;2125: trap_FS_FCloseFile(f);
|
|
ADDRLP4 32
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 trap_FS_FCloseFile
|
|
CALLV
|
|
pop
|
|
line 2127
|
|
;2126:
|
|
;2127: G_Printf("Path data has been saved and updated. You may need to restart the level for some things to be properly calculated.\n");
|
|
ADDRGP4 $909
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 2129
|
|
;2128:
|
|
;2129: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
LABELV $864
|
|
endproc SavePathData 112 36
|
|
export LoadPath_ThisLevel
|
|
proc LoadPath_ThisLevel 304 16
|
|
line 2133
|
|
;2130:}
|
|
;2131:
|
|
;2132:void LoadPath_ThisLevel(void)
|
|
;2133:{
|
|
line 2135
|
|
;2134: vmCvar_t mapname;
|
|
;2135: int i = 0;
|
|
ADDRLP4 4
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 2136
|
|
;2136: gentity_t *ent = NULL;
|
|
ADDRLP4 0
|
|
CNSTP4 0
|
|
ASGNP4
|
|
line 2138
|
|
;2137:
|
|
;2138: trap_Cvar_Register( &mapname, "mapname", "", CVAR_SERVERINFO | CVAR_ROM );
|
|
ADDRLP4 8
|
|
ARGP4
|
|
ADDRGP4 $911
|
|
ARGP4
|
|
ADDRGP4 $912
|
|
ARGP4
|
|
CNSTI4 68
|
|
ARGI4
|
|
ADDRGP4 trap_Cvar_Register
|
|
CALLV
|
|
pop
|
|
line 2140
|
|
;2139:
|
|
;2140: if (LoadPathData(mapname.string) == 2)
|
|
ADDRLP4 8+16
|
|
ARGP4
|
|
ADDRLP4 280
|
|
ADDRGP4 LoadPathData
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 280
|
|
INDIRI4
|
|
CNSTI4 2
|
|
NEI4 $913
|
|
line 2141
|
|
;2141: {
|
|
line 2143
|
|
;2142: //enter "edit" mode if cheats enabled?
|
|
;2143: }
|
|
LABELV $913
|
|
line 2145
|
|
;2144:
|
|
;2145: trap_Cvar_Update(&bot_wp_edit);
|
|
ADDRGP4 bot_wp_edit
|
|
ARGP4
|
|
ADDRGP4 trap_Cvar_Update
|
|
CALLV
|
|
pop
|
|
line 2147
|
|
;2146:
|
|
;2147: if (bot_wp_edit.value)
|
|
ADDRGP4 bot_wp_edit+8
|
|
INDIRF4
|
|
CNSTF4 0
|
|
EQF4 $916
|
|
line 2148
|
|
;2148: {
|
|
line 2149
|
|
;2149: gBotEdit = 1;
|
|
ADDRGP4 gBotEdit
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 2150
|
|
;2150: }
|
|
ADDRGP4 $920
|
|
JUMPV
|
|
LABELV $916
|
|
line 2152
|
|
;2151: else
|
|
;2152: {
|
|
line 2153
|
|
;2153: gBotEdit = 0;
|
|
ADDRGP4 gBotEdit
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 2154
|
|
;2154: }
|
|
ADDRGP4 $920
|
|
JUMPV
|
|
LABELV $919
|
|
line 2158
|
|
;2155:
|
|
;2156: //set the flag entities
|
|
;2157: while (i < MAX_GENTITIES)
|
|
;2158: {
|
|
line 2159
|
|
;2159: ent = &g_entities[i];
|
|
ADDRLP4 0
|
|
CNSTI4 828
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
MULI4
|
|
ADDRGP4 g_entities
|
|
ADDP4
|
|
ASGNP4
|
|
line 2161
|
|
;2160:
|
|
;2161: if (ent && ent->inuse && ent->classname)
|
|
ADDRLP4 288
|
|
CNSTU4 0
|
|
ASGNU4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 288
|
|
INDIRU4
|
|
EQU4 $922
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 412
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $922
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 288
|
|
INDIRU4
|
|
EQU4 $922
|
|
line 2162
|
|
;2162: {
|
|
line 2163
|
|
;2163: if (!eFlagRed && strcmp(ent->classname, "team_CTF_redflag") == 0)
|
|
ADDRGP4 eFlagRed
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $924
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $823
|
|
ARGP4
|
|
ADDRLP4 292
|
|
ADDRGP4 strcmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 292
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $924
|
|
line 2164
|
|
;2164: {
|
|
line 2165
|
|
;2165: eFlagRed = ent;
|
|
ADDRGP4 eFlagRed
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
line 2166
|
|
;2166: }
|
|
ADDRGP4 $925
|
|
JUMPV
|
|
LABELV $924
|
|
line 2167
|
|
;2167: else if (!eFlagBlue && strcmp(ent->classname, "team_CTF_blueflag") == 0)
|
|
ADDRGP4 eFlagBlue
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $926
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $826
|
|
ARGP4
|
|
ADDRLP4 296
|
|
ADDRGP4 strcmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 296
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $926
|
|
line 2168
|
|
;2168: {
|
|
line 2169
|
|
;2169: eFlagBlue = ent;
|
|
ADDRGP4 eFlagBlue
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
line 2170
|
|
;2170: }
|
|
LABELV $926
|
|
LABELV $925
|
|
line 2172
|
|
;2171:
|
|
;2172: if (eFlagRed && eFlagBlue)
|
|
ADDRLP4 300
|
|
CNSTU4 0
|
|
ASGNU4
|
|
ADDRGP4 eFlagRed
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 300
|
|
INDIRU4
|
|
EQU4 $928
|
|
ADDRGP4 eFlagBlue
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 300
|
|
INDIRU4
|
|
EQU4 $928
|
|
line 2173
|
|
;2173: {
|
|
line 2174
|
|
;2174: break;
|
|
ADDRGP4 $921
|
|
JUMPV
|
|
LABELV $928
|
|
line 2176
|
|
;2175: }
|
|
;2176: }
|
|
LABELV $922
|
|
line 2178
|
|
;2177:
|
|
;2178: i++;
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 2179
|
|
;2179: }
|
|
LABELV $920
|
|
line 2157
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1024
|
|
LTI4 $919
|
|
LABELV $921
|
|
line 2180
|
|
;2180:}
|
|
LABELV $910
|
|
endproc LoadPath_ThisLevel 304 16
|
|
export GetClosestSpawn
|
|
proc GetClosestSpawn 60 8
|
|
line 2183
|
|
;2181:
|
|
;2182:gentity_t *GetClosestSpawn(gentity_t *ent)
|
|
;2183:{
|
|
line 2185
|
|
;2184: gentity_t *spawn;
|
|
;2185: gentity_t *closestSpawn = NULL;
|
|
ADDRLP4 12
|
|
CNSTP4 0
|
|
ASGNP4
|
|
line 2186
|
|
;2186: float closestDist = -1;
|
|
ADDRLP4 8
|
|
CNSTF4 3212836864
|
|
ASGNF4
|
|
line 2187
|
|
;2187: int i = MAX_CLIENTS;
|
|
ADDRLP4 4
|
|
CNSTI4 32
|
|
ASGNI4
|
|
line 2189
|
|
;2188:
|
|
;2189: spawn = NULL;
|
|
ADDRLP4 0
|
|
CNSTP4 0
|
|
ASGNP4
|
|
ADDRGP4 $932
|
|
JUMPV
|
|
LABELV $931
|
|
line 2192
|
|
;2190:
|
|
;2191: while (i < MAX_GENTITIES)
|
|
;2192: {
|
|
line 2193
|
|
;2193: spawn = &g_entities[i];
|
|
ADDRLP4 0
|
|
CNSTI4 828
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
MULI4
|
|
ADDRGP4 g_entities
|
|
ADDP4
|
|
ASGNP4
|
|
line 2195
|
|
;2194:
|
|
;2195: if (spawn && spawn->inuse && (!Q_stricmp(spawn->classname, "info_player_start") || !Q_stricmp(spawn->classname, "info_player_deathmatch")) )
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $934
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 412
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $934
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $936
|
|
ARGP4
|
|
ADDRLP4 20
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $938
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $937
|
|
ARGP4
|
|
ADDRLP4 24
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 24
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $934
|
|
LABELV $938
|
|
line 2196
|
|
;2196: {
|
|
line 2200
|
|
;2197: float checkDist;
|
|
;2198: vec3_t vSub;
|
|
;2199:
|
|
;2200: VectorSubtract(ent->client->ps.origin, spawn->r.currentOrigin, vSub);
|
|
ADDRLP4 44
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 408
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 28
|
|
ADDRLP4 44
|
|
INDIRP4
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 368
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 28+4
|
|
ADDRLP4 44
|
|
INDIRP4
|
|
INDIRP4
|
|
CNSTI4 24
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 372
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
ADDRLP4 28+8
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
CNSTI4 408
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRF4
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 376
|
|
ADDP4
|
|
INDIRF4
|
|
SUBF4
|
|
ASGNF4
|
|
line 2201
|
|
;2201: checkDist = VectorLength(vSub);
|
|
ADDRLP4 28
|
|
ARGP4
|
|
ADDRLP4 52
|
|
ADDRGP4 VectorLength
|
|
CALLF4
|
|
ASGNF4
|
|
ADDRLP4 40
|
|
ADDRLP4 52
|
|
INDIRF4
|
|
ASGNF4
|
|
line 2203
|
|
;2202:
|
|
;2203: if (closestDist == -1 || checkDist < closestDist)
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
CNSTF4 3212836864
|
|
EQF4 $943
|
|
ADDRLP4 40
|
|
INDIRF4
|
|
ADDRLP4 8
|
|
INDIRF4
|
|
GEF4 $941
|
|
LABELV $943
|
|
line 2204
|
|
;2204: {
|
|
line 2205
|
|
;2205: closestSpawn = spawn;
|
|
ADDRLP4 12
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
line 2206
|
|
;2206: closestDist = checkDist;
|
|
ADDRLP4 8
|
|
ADDRLP4 40
|
|
INDIRF4
|
|
ASGNF4
|
|
line 2207
|
|
;2207: }
|
|
LABELV $941
|
|
line 2208
|
|
;2208: }
|
|
LABELV $934
|
|
line 2210
|
|
;2209:
|
|
;2210: i++;
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 2211
|
|
;2211: }
|
|
LABELV $932
|
|
line 2191
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1024
|
|
LTI4 $931
|
|
line 2213
|
|
;2212:
|
|
;2213: return closestSpawn;
|
|
ADDRLP4 12
|
|
INDIRP4
|
|
RETP4
|
|
LABELV $930
|
|
endproc GetClosestSpawn 60 8
|
|
export GetNextSpawnInIndex
|
|
proc GetNextSpawnInIndex 24 8
|
|
line 2217
|
|
;2214:}
|
|
;2215:
|
|
;2216:gentity_t *GetNextSpawnInIndex(gentity_t *currentSpawn)
|
|
;2217:{
|
|
line 2219
|
|
;2218: gentity_t *spawn;
|
|
;2219: gentity_t *nextSpawn = NULL;
|
|
ADDRLP4 8
|
|
CNSTP4 0
|
|
ASGNP4
|
|
line 2220
|
|
;2220: int i = currentSpawn->s.number+1;
|
|
ADDRLP4 4
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 2222
|
|
;2221:
|
|
;2222: spawn = NULL;
|
|
ADDRLP4 0
|
|
CNSTP4 0
|
|
ASGNP4
|
|
ADDRGP4 $946
|
|
JUMPV
|
|
LABELV $945
|
|
line 2225
|
|
;2223:
|
|
;2224: while (i < MAX_GENTITIES)
|
|
;2225: {
|
|
line 2226
|
|
;2226: spawn = &g_entities[i];
|
|
ADDRLP4 0
|
|
CNSTI4 828
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
MULI4
|
|
ADDRGP4 g_entities
|
|
ADDP4
|
|
ASGNP4
|
|
line 2228
|
|
;2227:
|
|
;2228: if (spawn && spawn->inuse && (!Q_stricmp(spawn->classname, "info_player_start") || !Q_stricmp(spawn->classname, "info_player_deathmatch")) )
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $948
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 412
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $948
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $936
|
|
ARGP4
|
|
ADDRLP4 16
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $950
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $937
|
|
ARGP4
|
|
ADDRLP4 20
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $948
|
|
LABELV $950
|
|
line 2229
|
|
;2229: {
|
|
line 2230
|
|
;2230: nextSpawn = spawn;
|
|
ADDRLP4 8
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
line 2231
|
|
;2231: break;
|
|
ADDRGP4 $947
|
|
JUMPV
|
|
LABELV $948
|
|
line 2234
|
|
;2232: }
|
|
;2233:
|
|
;2234: i++;
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 2235
|
|
;2235: }
|
|
LABELV $946
|
|
line 2224
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1024
|
|
LTI4 $945
|
|
LABELV $947
|
|
line 2237
|
|
;2236:
|
|
;2237: if (!nextSpawn)
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $951
|
|
line 2238
|
|
;2238: { //loop back around to 0
|
|
line 2239
|
|
;2239: i = MAX_CLIENTS;
|
|
ADDRLP4 4
|
|
CNSTI4 32
|
|
ASGNI4
|
|
ADDRGP4 $954
|
|
JUMPV
|
|
LABELV $953
|
|
line 2242
|
|
;2240:
|
|
;2241: while (i < MAX_GENTITIES)
|
|
;2242: {
|
|
line 2243
|
|
;2243: spawn = &g_entities[i];
|
|
ADDRLP4 0
|
|
CNSTI4 828
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
MULI4
|
|
ADDRGP4 g_entities
|
|
ADDP4
|
|
ASGNP4
|
|
line 2245
|
|
;2244:
|
|
;2245: if (spawn && spawn->inuse && (!Q_stricmp(spawn->classname, "info_player_start") || !Q_stricmp(spawn->classname, "info_player_deathmatch")) )
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $956
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 412
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $956
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $936
|
|
ARGP4
|
|
ADDRLP4 16
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $958
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
CNSTI4 416
|
|
ADDP4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $937
|
|
ARGP4
|
|
ADDRLP4 20
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 20
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $956
|
|
LABELV $958
|
|
line 2246
|
|
;2246: {
|
|
line 2247
|
|
;2247: nextSpawn = spawn;
|
|
ADDRLP4 8
|
|
ADDRLP4 0
|
|
INDIRP4
|
|
ASGNP4
|
|
line 2248
|
|
;2248: break;
|
|
ADDRGP4 $955
|
|
JUMPV
|
|
LABELV $956
|
|
line 2251
|
|
;2249: }
|
|
;2250:
|
|
;2251: i++;
|
|
ADDRLP4 4
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 2252
|
|
;2252: }
|
|
LABELV $954
|
|
line 2241
|
|
ADDRLP4 4
|
|
INDIRI4
|
|
CNSTI4 1024
|
|
LTI4 $953
|
|
LABELV $955
|
|
line 2253
|
|
;2253: }
|
|
LABELV $951
|
|
line 2255
|
|
;2254:
|
|
;2255: return nextSpawn;
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
RETP4
|
|
LABELV $944
|
|
endproc GetNextSpawnInIndex 24 8
|
|
export AcceptBotCommand
|
|
proc AcceptBotCommand 344 16
|
|
line 2259
|
|
;2256:}
|
|
;2257:
|
|
;2258:int AcceptBotCommand(char *cmd, gentity_t *pl)
|
|
;2259:{
|
|
line 2265
|
|
;2260: int OptionalArgument, i;
|
|
;2261: int FlagsFromArgument;
|
|
;2262: char *OptionalSArgument, *RequiredSArgument;
|
|
;2263: vmCvar_t mapname;
|
|
;2264:
|
|
;2265: if (!gBotEdit)
|
|
ADDRGP4 gBotEdit
|
|
INDIRF4
|
|
CNSTF4 0
|
|
NEF4 $960
|
|
line 2266
|
|
;2266: {
|
|
line 2267
|
|
;2267: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $959
|
|
JUMPV
|
|
LABELV $960
|
|
line 2270
|
|
;2268: }
|
|
;2269:
|
|
;2270: OptionalArgument = 0;
|
|
ADDRLP4 16
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 2271
|
|
;2271: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 2272
|
|
;2272: FlagsFromArgument = 0;
|
|
ADDRLP4 12
|
|
CNSTI4 0
|
|
ASGNI4
|
|
line 2273
|
|
;2273: OptionalSArgument = NULL;
|
|
ADDRLP4 8
|
|
CNSTP4 0
|
|
ASGNP4
|
|
line 2274
|
|
;2274: RequiredSArgument = NULL;
|
|
ADDRLP4 4
|
|
CNSTP4 0
|
|
ASGNP4
|
|
line 2279
|
|
;2275:
|
|
;2276: //if a waypoint editing related command is issued, bots will deactivate.
|
|
;2277: //once bot_wp_save is issued and the trail is recalculated, bots will activate again.
|
|
;2278:
|
|
;2279: if (!pl || !pl->client)
|
|
ADDRLP4 292
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 296
|
|
CNSTU4 0
|
|
ASGNU4
|
|
ADDRLP4 292
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 296
|
|
INDIRU4
|
|
EQU4 $964
|
|
ADDRLP4 292
|
|
INDIRP4
|
|
CNSTI4 408
|
|
ADDP4
|
|
INDIRP4
|
|
CVPU4 4
|
|
ADDRLP4 296
|
|
INDIRU4
|
|
NEU4 $962
|
|
LABELV $964
|
|
line 2280
|
|
;2280: {
|
|
line 2281
|
|
;2281: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
ADDRGP4 $959
|
|
JUMPV
|
|
LABELV $962
|
|
line 2284
|
|
;2282: }
|
|
;2283:
|
|
;2284: if (Q_stricmp (cmd, "bot_wp_cmdlist") == 0) //lists all the bot waypoint commands.
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $967
|
|
ARGP4
|
|
ADDRLP4 300
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 300
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $965
|
|
line 2285
|
|
;2285: {
|
|
line 2286
|
|
;2286: G_Printf(S_COLOR_YELLOW "bot_wp_add" S_COLOR_WHITE " - Add a waypoint (optional int parameter will insert the point after the specified waypoint index in a trail)\n\n");
|
|
ADDRGP4 $968
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 2287
|
|
;2287: G_Printf(S_COLOR_YELLOW "bot_wp_rem" S_COLOR_WHITE " - Remove a waypoint (removes last unless waypoint index is specified as a parameter)\n\n");
|
|
ADDRGP4 $969
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 2288
|
|
;2288: G_Printf(S_COLOR_YELLOW "bot_wp_addflagged" S_COLOR_WHITE " - Same as wp_add, but adds a flagged point (type bot_wp_addflagged for help)\n\n");
|
|
ADDRGP4 $970
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 2289
|
|
;2289: G_Printf(S_COLOR_YELLOW "bot_wp_switchflags" S_COLOR_WHITE " - Switches flags on an existing waypoint (type bot_wp_switchflags for help)\n\n");
|
|
ADDRGP4 $971
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 2290
|
|
;2290: G_Printf(S_COLOR_YELLOW "bot_wp_tele" S_COLOR_WHITE " - Teleport yourself to the specified waypoint's location\n");
|
|
ADDRGP4 $972
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 2291
|
|
;2291: G_Printf(S_COLOR_YELLOW "bot_wp_killoneways" S_COLOR_WHITE " - Removes oneway (backward and forward) flags on all waypoints in the level\n\n");
|
|
ADDRGP4 $973
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 2292
|
|
;2292: G_Printf(S_COLOR_YELLOW "bot_wp_save" S_COLOR_WHITE " - Saves all waypoint data into a file for later use\n");
|
|
ADDRGP4 $974
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 2294
|
|
;2293:
|
|
;2294: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $959
|
|
JUMPV
|
|
LABELV $965
|
|
line 2297
|
|
;2295: }
|
|
;2296:
|
|
;2297: if (Q_stricmp (cmd, "bot_wp_add") == 0)
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $977
|
|
ARGP4
|
|
ADDRLP4 304
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 304
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $975
|
|
line 2298
|
|
;2298: {
|
|
line 2299
|
|
;2299: gDeactivated = 1;
|
|
ADDRGP4 gDeactivated
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 2300
|
|
;2300: OptionalSArgument = ConcatArgs( 1 );
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRLP4 308
|
|
ADDRGP4 ConcatArgs
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
ADDRLP4 308
|
|
INDIRP4
|
|
ASGNP4
|
|
line 2302
|
|
;2301:
|
|
;2302: if (OptionalSArgument)
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $978
|
|
line 2303
|
|
;2303: {
|
|
line 2304
|
|
;2304: OptionalArgument = atoi(OptionalSArgument);
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 312
|
|
ADDRGP4 atoi
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
ADDRLP4 312
|
|
INDIRI4
|
|
ASGNI4
|
|
line 2305
|
|
;2305: }
|
|
LABELV $978
|
|
line 2307
|
|
;2306:
|
|
;2307: if (OptionalSArgument && OptionalSArgument[0])
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $980
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 0
|
|
EQI4 $980
|
|
line 2308
|
|
;2308: {
|
|
line 2309
|
|
;2309: CreateNewWP_InTrail(pl->client->ps.origin, 0, OptionalArgument);
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 408
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 CreateNewWP_InTrail
|
|
CALLI4
|
|
pop
|
|
line 2310
|
|
;2310: }
|
|
ADDRGP4 $981
|
|
JUMPV
|
|
LABELV $980
|
|
line 2312
|
|
;2311: else
|
|
;2312: {
|
|
line 2313
|
|
;2313: CreateNewWP(pl->client->ps.origin, 0);
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 408
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
ARGP4
|
|
CNSTI4 0
|
|
ARGI4
|
|
ADDRGP4 CreateNewWP
|
|
CALLV
|
|
pop
|
|
line 2314
|
|
;2314: }
|
|
LABELV $981
|
|
line 2315
|
|
;2315: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $959
|
|
JUMPV
|
|
LABELV $975
|
|
line 2318
|
|
;2316: }
|
|
;2317:
|
|
;2318: if (Q_stricmp (cmd, "bot_wp_rem") == 0)
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $984
|
|
ARGP4
|
|
ADDRLP4 308
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 308
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $982
|
|
line 2319
|
|
;2319: {
|
|
line 2320
|
|
;2320: gDeactivated = 1;
|
|
ADDRGP4 gDeactivated
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 2322
|
|
;2321:
|
|
;2322: OptionalSArgument = ConcatArgs( 1 );
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRLP4 312
|
|
ADDRGP4 ConcatArgs
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
ADDRLP4 312
|
|
INDIRP4
|
|
ASGNP4
|
|
line 2324
|
|
;2323:
|
|
;2324: if (OptionalSArgument)
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $985
|
|
line 2325
|
|
;2325: {
|
|
line 2326
|
|
;2326: OptionalArgument = atoi(OptionalSArgument);
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 316
|
|
ADDRGP4 atoi
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
ADDRLP4 316
|
|
INDIRI4
|
|
ASGNI4
|
|
line 2327
|
|
;2327: }
|
|
LABELV $985
|
|
line 2329
|
|
;2328:
|
|
;2329: if (OptionalSArgument && OptionalSArgument[0])
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $987
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 0
|
|
EQI4 $987
|
|
line 2330
|
|
;2330: {
|
|
line 2331
|
|
;2331: RemoveWP_InTrail(OptionalArgument);
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 RemoveWP_InTrail
|
|
CALLV
|
|
pop
|
|
line 2332
|
|
;2332: }
|
|
ADDRGP4 $988
|
|
JUMPV
|
|
LABELV $987
|
|
line 2334
|
|
;2333: else
|
|
;2334: {
|
|
line 2335
|
|
;2335: RemoveWP();
|
|
ADDRGP4 RemoveWP
|
|
CALLV
|
|
pop
|
|
line 2336
|
|
;2336: }
|
|
LABELV $988
|
|
line 2338
|
|
;2337:
|
|
;2338: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $959
|
|
JUMPV
|
|
LABELV $982
|
|
line 2341
|
|
;2339: }
|
|
;2340:
|
|
;2341: if (Q_stricmp (cmd, "bot_wp_tele") == 0)
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $991
|
|
ARGP4
|
|
ADDRLP4 312
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 312
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $989
|
|
line 2342
|
|
;2342: {
|
|
line 2343
|
|
;2343: gDeactivated = 1;
|
|
ADDRGP4 gDeactivated
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 2344
|
|
;2344: OptionalSArgument = ConcatArgs( 1 );
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRLP4 316
|
|
ADDRGP4 ConcatArgs
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
ADDRLP4 316
|
|
INDIRP4
|
|
ASGNP4
|
|
line 2346
|
|
;2345:
|
|
;2346: if (OptionalSArgument)
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $992
|
|
line 2347
|
|
;2347: {
|
|
line 2348
|
|
;2348: OptionalArgument = atoi(OptionalSArgument);
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 320
|
|
ADDRGP4 atoi
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
ADDRLP4 320
|
|
INDIRI4
|
|
ASGNI4
|
|
line 2349
|
|
;2349: }
|
|
LABELV $992
|
|
line 2351
|
|
;2350:
|
|
;2351: if (OptionalSArgument && OptionalSArgument[0])
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $994
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 0
|
|
EQI4 $994
|
|
line 2352
|
|
;2352: {
|
|
line 2353
|
|
;2353: TeleportToWP(pl, OptionalArgument);
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 TeleportToWP
|
|
CALLV
|
|
pop
|
|
line 2354
|
|
;2354: }
|
|
ADDRGP4 $995
|
|
JUMPV
|
|
LABELV $994
|
|
line 2356
|
|
;2355: else
|
|
;2356: {
|
|
line 2357
|
|
;2357: G_Printf(S_COLOR_YELLOW "You didn't specify an index. Assuming last.\n");
|
|
ADDRGP4 $996
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 2358
|
|
;2358: TeleportToWP(pl, gWPNum-1);
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
CNSTI4 1
|
|
SUBI4
|
|
ARGI4
|
|
ADDRGP4 TeleportToWP
|
|
CALLV
|
|
pop
|
|
line 2359
|
|
;2359: }
|
|
LABELV $995
|
|
line 2360
|
|
;2360: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $959
|
|
JUMPV
|
|
LABELV $989
|
|
line 2363
|
|
;2361: }
|
|
;2362:
|
|
;2363: if (Q_stricmp (cmd, "bot_wp_spawntele") == 0)
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $999
|
|
ARGP4
|
|
ADDRLP4 316
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 316
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $997
|
|
line 2364
|
|
;2364: {
|
|
line 2365
|
|
;2365: gentity_t *closestSpawn = GetClosestSpawn(pl);
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 324
|
|
ADDRGP4 GetClosestSpawn
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 320
|
|
ADDRLP4 324
|
|
INDIRP4
|
|
ASGNP4
|
|
line 2367
|
|
;2366:
|
|
;2367: if (!closestSpawn)
|
|
ADDRLP4 320
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
NEU4 $1000
|
|
line 2368
|
|
;2368: { //There should always be a spawn point..
|
|
line 2369
|
|
;2369: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $959
|
|
JUMPV
|
|
LABELV $1000
|
|
line 2372
|
|
;2370: }
|
|
;2371:
|
|
;2372: closestSpawn = GetNextSpawnInIndex(closestSpawn);
|
|
ADDRLP4 320
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 328
|
|
ADDRGP4 GetNextSpawnInIndex
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 320
|
|
ADDRLP4 328
|
|
INDIRP4
|
|
ASGNP4
|
|
line 2374
|
|
;2373:
|
|
;2374: if (closestSpawn)
|
|
ADDRLP4 320
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $1002
|
|
line 2375
|
|
;2375: {
|
|
line 2376
|
|
;2376: VectorCopy(closestSpawn->r.currentOrigin, pl->client->ps.origin);
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 408
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
ADDRLP4 320
|
|
INDIRP4
|
|
CNSTI4 368
|
|
ADDP4
|
|
INDIRB
|
|
ASGNB 12
|
|
line 2377
|
|
;2377: }
|
|
LABELV $1002
|
|
line 2378
|
|
;2378: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $959
|
|
JUMPV
|
|
LABELV $997
|
|
line 2381
|
|
;2379: }
|
|
;2380:
|
|
;2381: if (Q_stricmp (cmd, "bot_wp_addflagged") == 0)
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $1006
|
|
ARGP4
|
|
ADDRLP4 320
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 320
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $1004
|
|
line 2382
|
|
;2382: {
|
|
line 2383
|
|
;2383: gDeactivated = 1;
|
|
ADDRGP4 gDeactivated
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 2385
|
|
;2384:
|
|
;2385: RequiredSArgument = ConcatArgs( 1 );
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRLP4 324
|
|
ADDRGP4 ConcatArgs
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
ADDRLP4 324
|
|
INDIRP4
|
|
ASGNP4
|
|
line 2387
|
|
;2386:
|
|
;2387: if (!RequiredSArgument || !RequiredSArgument[0])
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $1009
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 0
|
|
NEI4 $1012
|
|
LABELV $1009
|
|
line 2388
|
|
;2388: {
|
|
line 2389
|
|
;2389: G_Printf(S_COLOR_YELLOW "Flag string needed for bot_wp_addflagged\nj - Jump point\nd - Duck point\nc - Snipe or camp standing\nf - Wait for func\nm - Do not move to when func is under\ns - Snipe or camp\nx - Oneway, forward\ny - Oneway, back\ng - Mission goal\nn - No visibility\nExample (for a point the bot would jump at, and reverse on when traveling a trail backwards):\nbot_wp_addflagged jx\n");
|
|
ADDRGP4 $1010
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 2390
|
|
;2390: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $959
|
|
JUMPV
|
|
LABELV $1011
|
|
line 2394
|
|
;2391: }
|
|
;2392:
|
|
;2393: while (RequiredSArgument[i])
|
|
;2394: {
|
|
line 2395
|
|
;2395: if (RequiredSArgument[i] == 'j')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 106
|
|
NEI4 $1014
|
|
line 2396
|
|
;2396: {
|
|
line 2397
|
|
;2397: FlagsFromArgument |= WPFLAG_JUMP;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 16
|
|
BORI4
|
|
ASGNI4
|
|
line 2398
|
|
;2398: }
|
|
ADDRGP4 $1015
|
|
JUMPV
|
|
LABELV $1014
|
|
line 2399
|
|
;2399: else if (RequiredSArgument[i] == 'd')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 100
|
|
NEI4 $1016
|
|
line 2400
|
|
;2400: {
|
|
line 2401
|
|
;2401: FlagsFromArgument |= WPFLAG_DUCK;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 32
|
|
BORI4
|
|
ASGNI4
|
|
line 2402
|
|
;2402: }
|
|
ADDRGP4 $1017
|
|
JUMPV
|
|
LABELV $1016
|
|
line 2403
|
|
;2403: else if (RequiredSArgument[i] == 'c')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 99
|
|
NEI4 $1018
|
|
line 2404
|
|
;2404: {
|
|
line 2405
|
|
;2405: FlagsFromArgument |= WPFLAG_SNIPEORCAMPSTAND;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 2048
|
|
BORI4
|
|
ASGNI4
|
|
line 2406
|
|
;2406: }
|
|
ADDRGP4 $1019
|
|
JUMPV
|
|
LABELV $1018
|
|
line 2407
|
|
;2407: else if (RequiredSArgument[i] == 'f')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 102
|
|
NEI4 $1020
|
|
line 2408
|
|
;2408: {
|
|
line 2409
|
|
;2409: FlagsFromArgument |= WPFLAG_WAITFORFUNC;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 4096
|
|
BORI4
|
|
ASGNI4
|
|
line 2410
|
|
;2410: }
|
|
ADDRGP4 $1021
|
|
JUMPV
|
|
LABELV $1020
|
|
line 2411
|
|
;2411: else if (RequiredSArgument[i] == 's')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 115
|
|
NEI4 $1022
|
|
line 2412
|
|
;2412: {
|
|
line 2413
|
|
;2413: FlagsFromArgument |= WPFLAG_SNIPEORCAMP;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 8192
|
|
BORI4
|
|
ASGNI4
|
|
line 2414
|
|
;2414: }
|
|
ADDRGP4 $1023
|
|
JUMPV
|
|
LABELV $1022
|
|
line 2415
|
|
;2415: else if (RequiredSArgument[i] == 'x')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 120
|
|
NEI4 $1024
|
|
line 2416
|
|
;2416: {
|
|
line 2417
|
|
;2417: FlagsFromArgument |= WPFLAG_ONEWAY_FWD;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 16384
|
|
BORI4
|
|
ASGNI4
|
|
line 2418
|
|
;2418: }
|
|
ADDRGP4 $1025
|
|
JUMPV
|
|
LABELV $1024
|
|
line 2419
|
|
;2419: else if (RequiredSArgument[i] == 'y')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 121
|
|
NEI4 $1026
|
|
line 2420
|
|
;2420: {
|
|
line 2421
|
|
;2421: FlagsFromArgument |= WPFLAG_ONEWAY_BACK;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 32768
|
|
BORI4
|
|
ASGNI4
|
|
line 2422
|
|
;2422: }
|
|
ADDRGP4 $1027
|
|
JUMPV
|
|
LABELV $1026
|
|
line 2423
|
|
;2423: else if (RequiredSArgument[i] == 'g')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 103
|
|
NEI4 $1028
|
|
line 2424
|
|
;2424: {
|
|
line 2425
|
|
;2425: FlagsFromArgument |= WPFLAG_GOALPOINT;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 65536
|
|
BORI4
|
|
ASGNI4
|
|
line 2426
|
|
;2426: }
|
|
ADDRGP4 $1029
|
|
JUMPV
|
|
LABELV $1028
|
|
line 2427
|
|
;2427: else if (RequiredSArgument[i] == 'n')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 110
|
|
NEI4 $1030
|
|
line 2428
|
|
;2428: {
|
|
line 2429
|
|
;2429: FlagsFromArgument |= WPFLAG_NOVIS;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 1024
|
|
BORI4
|
|
ASGNI4
|
|
line 2430
|
|
;2430: }
|
|
ADDRGP4 $1031
|
|
JUMPV
|
|
LABELV $1030
|
|
line 2431
|
|
;2431: else if (RequiredSArgument[i] == 'm')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 109
|
|
NEI4 $1032
|
|
line 2432
|
|
;2432: {
|
|
line 2433
|
|
;2433: FlagsFromArgument |= WPFLAG_NOMOVEFUNC;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 2097152
|
|
BORI4
|
|
ASGNI4
|
|
line 2434
|
|
;2434: }
|
|
LABELV $1032
|
|
LABELV $1031
|
|
LABELV $1029
|
|
LABELV $1027
|
|
LABELV $1025
|
|
LABELV $1023
|
|
LABELV $1021
|
|
LABELV $1019
|
|
LABELV $1017
|
|
LABELV $1015
|
|
line 2436
|
|
;2435:
|
|
;2436: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 2437
|
|
;2437: }
|
|
LABELV $1012
|
|
line 2393
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 0
|
|
NEI4 $1011
|
|
line 2439
|
|
;2438:
|
|
;2439: OptionalSArgument = ConcatArgs( 2 );
|
|
CNSTI4 2
|
|
ARGI4
|
|
ADDRLP4 332
|
|
ADDRGP4 ConcatArgs
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
ADDRLP4 332
|
|
INDIRP4
|
|
ASGNP4
|
|
line 2441
|
|
;2440:
|
|
;2441: if (OptionalSArgument)
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $1034
|
|
line 2442
|
|
;2442: {
|
|
line 2443
|
|
;2443: OptionalArgument = atoi(OptionalSArgument);
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 336
|
|
ADDRGP4 atoi
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
ADDRLP4 336
|
|
INDIRI4
|
|
ASGNI4
|
|
line 2444
|
|
;2444: }
|
|
LABELV $1034
|
|
line 2446
|
|
;2445:
|
|
;2446: if (OptionalSArgument && OptionalSArgument[0])
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $1036
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 0
|
|
EQI4 $1036
|
|
line 2447
|
|
;2447: {
|
|
line 2448
|
|
;2448: CreateNewWP_InTrail(pl->client->ps.origin, FlagsFromArgument, OptionalArgument);
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 408
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 CreateNewWP_InTrail
|
|
CALLI4
|
|
pop
|
|
line 2449
|
|
;2449: }
|
|
ADDRGP4 $1037
|
|
JUMPV
|
|
LABELV $1036
|
|
line 2451
|
|
;2450: else
|
|
;2451: {
|
|
line 2452
|
|
;2452: CreateNewWP(pl->client->ps.origin, FlagsFromArgument);
|
|
ADDRFP4 4
|
|
INDIRP4
|
|
CNSTI4 408
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 20
|
|
ADDP4
|
|
ARGP4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 CreateNewWP
|
|
CALLV
|
|
pop
|
|
line 2453
|
|
;2453: }
|
|
LABELV $1037
|
|
line 2454
|
|
;2454: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $959
|
|
JUMPV
|
|
LABELV $1004
|
|
line 2457
|
|
;2455: }
|
|
;2456:
|
|
;2457: if (Q_stricmp (cmd, "bot_wp_switchflags") == 0)
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $1040
|
|
ARGP4
|
|
ADDRLP4 324
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 324
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $1038
|
|
line 2458
|
|
;2458: {
|
|
line 2459
|
|
;2459: gDeactivated = 1;
|
|
ADDRGP4 gDeactivated
|
|
CNSTF4 1065353216
|
|
ASGNF4
|
|
line 2461
|
|
;2460:
|
|
;2461: RequiredSArgument = ConcatArgs( 1 );
|
|
CNSTI4 1
|
|
ARGI4
|
|
ADDRLP4 328
|
|
ADDRGP4 ConcatArgs
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 4
|
|
ADDRLP4 328
|
|
INDIRP4
|
|
ASGNP4
|
|
line 2463
|
|
;2462:
|
|
;2463: if (!RequiredSArgument || !RequiredSArgument[0])
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $1043
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 0
|
|
NEI4 $1046
|
|
LABELV $1043
|
|
line 2464
|
|
;2464: {
|
|
line 2465
|
|
;2465: G_Printf(S_COLOR_YELLOW "Flag string needed for bot_wp_switchflags\nType bot_wp_addflagged for a list of flags and their corresponding characters, or use 0 for no flags.\nSyntax: bot_wp_switchflags <flags> <n>\n");
|
|
ADDRGP4 $1044
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 2466
|
|
;2466: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $959
|
|
JUMPV
|
|
LABELV $1045
|
|
line 2470
|
|
;2467: }
|
|
;2468:
|
|
;2469: while (RequiredSArgument[i])
|
|
;2470: {
|
|
line 2471
|
|
;2471: if (RequiredSArgument[i] == 'j')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 106
|
|
NEI4 $1048
|
|
line 2472
|
|
;2472: {
|
|
line 2473
|
|
;2473: FlagsFromArgument |= WPFLAG_JUMP;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 16
|
|
BORI4
|
|
ASGNI4
|
|
line 2474
|
|
;2474: }
|
|
ADDRGP4 $1049
|
|
JUMPV
|
|
LABELV $1048
|
|
line 2475
|
|
;2475: else if (RequiredSArgument[i] == 'd')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 100
|
|
NEI4 $1050
|
|
line 2476
|
|
;2476: {
|
|
line 2477
|
|
;2477: FlagsFromArgument |= WPFLAG_DUCK;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 32
|
|
BORI4
|
|
ASGNI4
|
|
line 2478
|
|
;2478: }
|
|
ADDRGP4 $1051
|
|
JUMPV
|
|
LABELV $1050
|
|
line 2479
|
|
;2479: else if (RequiredSArgument[i] == 'c')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 99
|
|
NEI4 $1052
|
|
line 2480
|
|
;2480: {
|
|
line 2481
|
|
;2481: FlagsFromArgument |= WPFLAG_SNIPEORCAMPSTAND;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 2048
|
|
BORI4
|
|
ASGNI4
|
|
line 2482
|
|
;2482: }
|
|
ADDRGP4 $1053
|
|
JUMPV
|
|
LABELV $1052
|
|
line 2483
|
|
;2483: else if (RequiredSArgument[i] == 'f')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 102
|
|
NEI4 $1054
|
|
line 2484
|
|
;2484: {
|
|
line 2485
|
|
;2485: FlagsFromArgument |= WPFLAG_WAITFORFUNC;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 4096
|
|
BORI4
|
|
ASGNI4
|
|
line 2486
|
|
;2486: }
|
|
ADDRGP4 $1055
|
|
JUMPV
|
|
LABELV $1054
|
|
line 2487
|
|
;2487: else if (RequiredSArgument[i] == 's')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 115
|
|
NEI4 $1056
|
|
line 2488
|
|
;2488: {
|
|
line 2489
|
|
;2489: FlagsFromArgument |= WPFLAG_SNIPEORCAMP;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 8192
|
|
BORI4
|
|
ASGNI4
|
|
line 2490
|
|
;2490: }
|
|
ADDRGP4 $1057
|
|
JUMPV
|
|
LABELV $1056
|
|
line 2491
|
|
;2491: else if (RequiredSArgument[i] == 'x')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 120
|
|
NEI4 $1058
|
|
line 2492
|
|
;2492: {
|
|
line 2493
|
|
;2493: FlagsFromArgument |= WPFLAG_ONEWAY_FWD;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 16384
|
|
BORI4
|
|
ASGNI4
|
|
line 2494
|
|
;2494: }
|
|
ADDRGP4 $1059
|
|
JUMPV
|
|
LABELV $1058
|
|
line 2495
|
|
;2495: else if (RequiredSArgument[i] == 'y')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 121
|
|
NEI4 $1060
|
|
line 2496
|
|
;2496: {
|
|
line 2497
|
|
;2497: FlagsFromArgument |= WPFLAG_ONEWAY_BACK;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 32768
|
|
BORI4
|
|
ASGNI4
|
|
line 2498
|
|
;2498: }
|
|
ADDRGP4 $1061
|
|
JUMPV
|
|
LABELV $1060
|
|
line 2499
|
|
;2499: else if (RequiredSArgument[i] == 'g')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 103
|
|
NEI4 $1062
|
|
line 2500
|
|
;2500: {
|
|
line 2501
|
|
;2501: FlagsFromArgument |= WPFLAG_GOALPOINT;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 65536
|
|
BORI4
|
|
ASGNI4
|
|
line 2502
|
|
;2502: }
|
|
ADDRGP4 $1063
|
|
JUMPV
|
|
LABELV $1062
|
|
line 2503
|
|
;2503: else if (RequiredSArgument[i] == 'n')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 110
|
|
NEI4 $1064
|
|
line 2504
|
|
;2504: {
|
|
line 2505
|
|
;2505: FlagsFromArgument |= WPFLAG_NOVIS;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 1024
|
|
BORI4
|
|
ASGNI4
|
|
line 2506
|
|
;2506: }
|
|
ADDRGP4 $1065
|
|
JUMPV
|
|
LABELV $1064
|
|
line 2507
|
|
;2507: else if (RequiredSArgument[i] == 'm')
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 109
|
|
NEI4 $1066
|
|
line 2508
|
|
;2508: {
|
|
line 2509
|
|
;2509: FlagsFromArgument |= WPFLAG_NOMOVEFUNC;
|
|
ADDRLP4 12
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
CNSTI4 2097152
|
|
BORI4
|
|
ASGNI4
|
|
line 2510
|
|
;2510: }
|
|
LABELV $1066
|
|
LABELV $1065
|
|
LABELV $1063
|
|
LABELV $1061
|
|
LABELV $1059
|
|
LABELV $1057
|
|
LABELV $1055
|
|
LABELV $1053
|
|
LABELV $1051
|
|
LABELV $1049
|
|
line 2512
|
|
;2511:
|
|
;2512: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 2513
|
|
;2513: }
|
|
LABELV $1046
|
|
line 2469
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRLP4 4
|
|
INDIRP4
|
|
ADDP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 0
|
|
NEI4 $1045
|
|
line 2515
|
|
;2514:
|
|
;2515: OptionalSArgument = ConcatArgs( 2 );
|
|
CNSTI4 2
|
|
ARGI4
|
|
ADDRLP4 336
|
|
ADDRGP4 ConcatArgs
|
|
CALLP4
|
|
ASGNP4
|
|
ADDRLP4 8
|
|
ADDRLP4 336
|
|
INDIRP4
|
|
ASGNP4
|
|
line 2517
|
|
;2516:
|
|
;2517: if (OptionalSArgument)
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $1068
|
|
line 2518
|
|
;2518: {
|
|
line 2519
|
|
;2519: OptionalArgument = atoi(OptionalSArgument);
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRLP4 340
|
|
ADDRGP4 atoi
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 16
|
|
ADDRLP4 340
|
|
INDIRI4
|
|
ASGNI4
|
|
line 2520
|
|
;2520: }
|
|
LABELV $1068
|
|
line 2522
|
|
;2521:
|
|
;2522: if (OptionalSArgument && OptionalSArgument[0])
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $1070
|
|
ADDRLP4 8
|
|
INDIRP4
|
|
INDIRI1
|
|
CVII4 1
|
|
CNSTI4 0
|
|
EQI4 $1070
|
|
line 2523
|
|
;2523: {
|
|
line 2524
|
|
;2524: WPFlagsModify(OptionalArgument, FlagsFromArgument);
|
|
ADDRLP4 16
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRLP4 12
|
|
INDIRI4
|
|
ARGI4
|
|
ADDRGP4 WPFlagsModify
|
|
CALLV
|
|
pop
|
|
line 2525
|
|
;2525: }
|
|
ADDRGP4 $1071
|
|
JUMPV
|
|
LABELV $1070
|
|
line 2527
|
|
;2526: else
|
|
;2527: {
|
|
line 2528
|
|
;2528: G_Printf(S_COLOR_YELLOW "Waypoint number (to modify) needed for bot_wp_switchflags\nSyntax: bot_wp_switchflags <flags> <n>\n");
|
|
ADDRGP4 $1072
|
|
ARGP4
|
|
ADDRGP4 G_Printf
|
|
CALLV
|
|
pop
|
|
line 2529
|
|
;2529: }
|
|
LABELV $1071
|
|
line 2530
|
|
;2530: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $959
|
|
JUMPV
|
|
LABELV $1038
|
|
line 2533
|
|
;2531: }
|
|
;2532:
|
|
;2533: if (Q_stricmp (cmd, "bot_wp_killoneways") == 0)
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $1075
|
|
ARGP4
|
|
ADDRLP4 328
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 328
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $1073
|
|
line 2534
|
|
;2534: {
|
|
line 2535
|
|
;2535: i = 0;
|
|
ADDRLP4 0
|
|
CNSTI4 0
|
|
ASGNI4
|
|
ADDRGP4 $1077
|
|
JUMPV
|
|
LABELV $1076
|
|
line 2538
|
|
;2536:
|
|
;2537: while (i < gWPNum)
|
|
;2538: {
|
|
line 2539
|
|
;2539: if (gWPArray[i] && gWPArray[i]->inuse)
|
|
ADDRLP4 332
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
ASGNP4
|
|
ADDRLP4 332
|
|
INDIRP4
|
|
CVPU4 4
|
|
CNSTU4 0
|
|
EQU4 $1079
|
|
ADDRLP4 332
|
|
INDIRP4
|
|
CNSTI4 12
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 0
|
|
EQI4 $1079
|
|
line 2540
|
|
;2540: {
|
|
line 2541
|
|
;2541: if (gWPArray[i]->flags & WPFLAG_ONEWAY_FWD)
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 16384
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $1081
|
|
line 2542
|
|
;2542: {
|
|
line 2543
|
|
;2543: gWPArray[i]->flags -= WPFLAG_ONEWAY_FWD;
|
|
ADDRLP4 336
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 336
|
|
INDIRP4
|
|
ADDRLP4 336
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 16384
|
|
SUBI4
|
|
ASGNI4
|
|
line 2544
|
|
;2544: }
|
|
LABELV $1081
|
|
line 2545
|
|
;2545: if (gWPArray[i]->flags & WPFLAG_ONEWAY_BACK)
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
INDIRI4
|
|
CNSTI4 32768
|
|
BANDI4
|
|
CNSTI4 0
|
|
EQI4 $1083
|
|
line 2546
|
|
;2546: {
|
|
line 2547
|
|
;2547: gWPArray[i]->flags -= WPFLAG_ONEWAY_BACK;
|
|
ADDRLP4 336
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 2
|
|
LSHI4
|
|
ADDRGP4 gWPArray
|
|
ADDP4
|
|
INDIRP4
|
|
CNSTI4 28
|
|
ADDP4
|
|
ASGNP4
|
|
ADDRLP4 336
|
|
INDIRP4
|
|
ADDRLP4 336
|
|
INDIRP4
|
|
INDIRI4
|
|
CNSTI4 32768
|
|
SUBI4
|
|
ASGNI4
|
|
line 2548
|
|
;2548: }
|
|
LABELV $1083
|
|
line 2549
|
|
;2549: }
|
|
LABELV $1079
|
|
line 2551
|
|
;2550:
|
|
;2551: i++;
|
|
ADDRLP4 0
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
CNSTI4 1
|
|
ADDI4
|
|
ASGNI4
|
|
line 2552
|
|
;2552: }
|
|
LABELV $1077
|
|
line 2537
|
|
ADDRLP4 0
|
|
INDIRI4
|
|
ADDRGP4 gWPNum
|
|
INDIRI4
|
|
LTI4 $1076
|
|
line 2554
|
|
;2553:
|
|
;2554: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $959
|
|
JUMPV
|
|
LABELV $1073
|
|
line 2557
|
|
;2555: }
|
|
;2556:
|
|
;2557: if (Q_stricmp (cmd, "bot_wp_save") == 0)
|
|
ADDRFP4 0
|
|
INDIRP4
|
|
ARGP4
|
|
ADDRGP4 $1087
|
|
ARGP4
|
|
ADDRLP4 332
|
|
ADDRGP4 Q_stricmp
|
|
CALLI4
|
|
ASGNI4
|
|
ADDRLP4 332
|
|
INDIRI4
|
|
CNSTI4 0
|
|
NEI4 $1085
|
|
line 2558
|
|
;2558: {
|
|
line 2559
|
|
;2559: gDeactivated = 0;
|
|
ADDRGP4 gDeactivated
|
|
CNSTF4 0
|
|
ASGNF4
|
|
line 2560
|
|
;2560: trap_Cvar_Register( &mapname, "mapname", "", CVAR_SERVERINFO | CVAR_ROM );
|
|
ADDRLP4 20
|
|
ARGP4
|
|
ADDRGP4 $911
|
|
ARGP4
|
|
ADDRGP4 $912
|
|
ARGP4
|
|
CNSTI4 68
|
|
ARGI4
|
|
ADDRGP4 trap_Cvar_Register
|
|
CALLV
|
|
pop
|
|
line 2561
|
|
;2561: SavePathData(mapname.string);
|
|
ADDRLP4 20+16
|
|
ARGP4
|
|
ADDRGP4 SavePathData
|
|
CALLI4
|
|
pop
|
|
line 2562
|
|
;2562: return 1;
|
|
CNSTI4 1
|
|
RETI4
|
|
ADDRGP4 $959
|
|
JUMPV
|
|
LABELV $1085
|
|
line 2565
|
|
;2563: }
|
|
;2564:
|
|
;2565: return 0;
|
|
CNSTI4 0
|
|
RETI4
|
|
LABELV $959
|
|
endproc AcceptBotCommand 344 16
|
|
import floattime
|
|
bss
|
|
export nodenum
|
|
align 4
|
|
LABELV nodenum
|
|
skip 4
|
|
export nodetable
|
|
align 4
|
|
LABELV nodetable
|
|
skip 131072
|
|
export gWPArray
|
|
align 4
|
|
LABELV gWPArray
|
|
skip 16384
|
|
import gBotChatBuffer
|
|
import eFlagBlue
|
|
import eFlagRed
|
|
import oFlagBlue
|
|
import flagBlue
|
|
import oFlagRed
|
|
import flagRed
|
|
import bot_wp_visconnect
|
|
import bot_wp_distconnect
|
|
import bot_wp_clearweight
|
|
import bot_wp_edit
|
|
import bot_wp_info
|
|
import bot_camp
|
|
import bot_attachments
|
|
import bot_forgimmick
|
|
import bot_forcepowers
|
|
import ConcatArgs
|
|
import GetBestIdleGoal
|
|
import GetNearestVisibleWP
|
|
import BotIsAChickenWuss
|
|
import OrgVisibleBox
|
|
import StandardBotAI
|
|
import BotDoChat
|
|
import BotUtilizePersonality
|
|
import NumBots
|
|
import BotResetState
|
|
import B_Free
|
|
import B_Alloc
|
|
import B_TempFree
|
|
import B_TempAlloc
|
|
import GetBotLibAPI
|
|
import trap_ROFF_Purge_Ent
|
|
import trap_ROFF_Play
|
|
import trap_ROFF_Cache
|
|
import trap_ROFF_UpdateEntities
|
|
import trap_ROFF_Clean
|
|
import trap_SP_GetStringTextString
|
|
import trap_SP_Register
|
|
import trap_SP_RegisterServer
|
|
import trap_SnapVector
|
|
import trap_GeneticParentsAndChildSelection
|
|
import trap_BotResetWeaponState
|
|
import trap_BotFreeWeaponState
|
|
import trap_BotAllocWeaponState
|
|
import trap_BotLoadWeaponWeights
|
|
import trap_BotGetWeaponInfo
|
|
import trap_BotChooseBestFightWeapon
|
|
import trap_BotAddAvoidSpot
|
|
import trap_BotInitMoveState
|
|
import trap_BotFreeMoveState
|
|
import trap_BotAllocMoveState
|
|
import trap_BotPredictVisiblePosition
|
|
import trap_BotMovementViewTarget
|
|
import trap_BotReachabilityArea
|
|
import trap_BotResetLastAvoidReach
|
|
import trap_BotResetAvoidReach
|
|
import trap_BotMoveInDirection
|
|
import trap_BotMoveToGoal
|
|
import trap_BotResetMoveState
|
|
import trap_BotFreeGoalState
|
|
import trap_BotAllocGoalState
|
|
import trap_BotMutateGoalFuzzyLogic
|
|
import trap_BotSaveGoalFuzzyLogic
|
|
import trap_BotInterbreedGoalFuzzyLogic
|
|
import trap_BotFreeItemWeights
|
|
import trap_BotLoadItemWeights
|
|
import trap_BotUpdateEntityItems
|
|
import trap_BotInitLevelItems
|
|
import trap_BotSetAvoidGoalTime
|
|
import trap_BotAvoidGoalTime
|
|
import trap_BotGetLevelItemGoal
|
|
import trap_BotGetMapLocationGoal
|
|
import trap_BotGetNextCampSpotGoal
|
|
import trap_BotItemGoalInVisButNotVisible
|
|
import trap_BotTouchingGoal
|
|
import trap_BotChooseNBGItem
|
|
import trap_BotChooseLTGItem
|
|
import trap_BotGetSecondGoal
|
|
import trap_BotGetTopGoal
|
|
import trap_BotGoalName
|
|
import trap_BotDumpGoalStack
|
|
import trap_BotDumpAvoidGoals
|
|
import trap_BotEmptyGoalStack
|
|
import trap_BotPopGoal
|
|
import trap_BotPushGoal
|
|
import trap_BotResetAvoidGoals
|
|
import trap_BotRemoveFromAvoidGoals
|
|
import trap_BotResetGoalState
|
|
import trap_BotSetChatName
|
|
import trap_BotSetChatGender
|
|
import trap_BotLoadChatFile
|
|
import trap_BotReplaceSynonyms
|
|
import trap_UnifyWhiteSpaces
|
|
import trap_BotMatchVariable
|
|
import trap_BotFindMatch
|
|
import trap_StringContains
|
|
import trap_BotGetChatMessage
|
|
import trap_BotEnterChat
|
|
import trap_BotChatLength
|
|
import trap_BotReplyChat
|
|
import trap_BotNumInitialChats
|
|
import trap_BotInitialChat
|
|
import trap_BotNumConsoleMessages
|
|
import trap_BotNextConsoleMessage
|
|
import trap_BotRemoveConsoleMessage
|
|
import trap_BotQueueConsoleMessage
|
|
import trap_BotFreeChatState
|
|
import trap_BotAllocChatState
|
|
import trap_Characteristic_String
|
|
import trap_Characteristic_BInteger
|
|
import trap_Characteristic_Integer
|
|
import trap_Characteristic_BFloat
|
|
import trap_Characteristic_Float
|
|
import trap_BotFreeCharacter
|
|
import trap_BotLoadCharacter
|
|
import trap_EA_ResetInput
|
|
import trap_EA_GetInput
|
|
import trap_EA_EndRegular
|
|
import trap_EA_ForcePower
|
|
import trap_EA_Alt_Attack
|
|
import trap_EA_View
|
|
import trap_EA_Move
|
|
import trap_EA_DelayedJump
|
|
import trap_EA_Jump
|
|
import trap_EA_SelectWeapon
|
|
import trap_EA_MoveRight
|
|
import trap_EA_MoveLeft
|
|
import trap_EA_MoveBack
|
|
import trap_EA_MoveForward
|
|
import trap_EA_MoveDown
|
|
import trap_EA_MoveUp
|
|
import trap_EA_Crouch
|
|
import trap_EA_Respawn
|
|
import trap_EA_Use
|
|
import trap_EA_Attack
|
|
import trap_EA_Talk
|
|
import trap_EA_Gesture
|
|
import trap_EA_Action
|
|
import trap_EA_Command
|
|
import trap_EA_SayTeam
|
|
import trap_EA_Say
|
|
import trap_AAS_PredictClientMovement
|
|
import trap_AAS_Swimming
|
|
import trap_AAS_AlternativeRouteGoals
|
|
import trap_AAS_PredictRoute
|
|
import trap_AAS_EnableRoutingArea
|
|
import trap_AAS_AreaTravelTimeToGoalArea
|
|
import trap_AAS_AreaReachability
|
|
import trap_AAS_IntForBSPEpairKey
|
|
import trap_AAS_FloatForBSPEpairKey
|
|
import trap_AAS_VectorForBSPEpairKey
|
|
import trap_AAS_ValueForBSPEpairKey
|
|
import trap_AAS_NextBSPEntity
|
|
import trap_AAS_PointContents
|
|
import trap_AAS_TraceAreas
|
|
import trap_AAS_PointReachabilityAreaIndex
|
|
import trap_AAS_PointAreaNum
|
|
import trap_AAS_Time
|
|
import trap_AAS_PresenceTypeBoundingBox
|
|
import trap_AAS_Initialized
|
|
import trap_AAS_EntityInfo
|
|
import trap_AAS_AreaInfo
|
|
import trap_AAS_BBoxAreas
|
|
import trap_BotUserCommand
|
|
import trap_BotGetServerCommand
|
|
import trap_BotGetSnapshotEntity
|
|
import trap_BotLibTest
|
|
import trap_BotLibUpdateEntity
|
|
import trap_BotLibLoadMap
|
|
import trap_BotLibStartFrame
|
|
import trap_BotLibDefine
|
|
import trap_BotLibVarGet
|
|
import trap_BotLibVarSet
|
|
import trap_BotLibShutdown
|
|
import trap_BotLibSetup
|
|
import trap_DebugPolygonDelete
|
|
import trap_DebugPolygonCreate
|
|
import trap_GetEntityToken
|
|
import trap_GetUsercmd
|
|
import trap_BotFreeClient
|
|
import trap_BotAllocateClient
|
|
import trap_EntityContact
|
|
import trap_EntitiesInBox
|
|
import trap_UnlinkEntity
|
|
import trap_LinkEntity
|
|
import trap_AreasConnected
|
|
import trap_AdjustAreaPortalState
|
|
import trap_InPVSIgnorePortals
|
|
import trap_InPVS
|
|
import trap_PointContents
|
|
import trap_Trace
|
|
import trap_SetBrushModel
|
|
import trap_GetServerinfo
|
|
import trap_SetUserinfo
|
|
import trap_GetUserinfo
|
|
import trap_GetConfigstring
|
|
import trap_SetConfigstring
|
|
import trap_SendServerCommand
|
|
import trap_DropClient
|
|
import trap_LocateGameData
|
|
import trap_Cvar_VariableStringBuffer
|
|
import trap_Cvar_VariableValue
|
|
import trap_Cvar_VariableIntegerValue
|
|
import trap_Cvar_Set
|
|
import trap_Cvar_Update
|
|
import trap_Cvar_Register
|
|
import trap_SendConsoleCommand
|
|
import trap_FS_GetFileList
|
|
import trap_FS_FCloseFile
|
|
import trap_FS_Write
|
|
import trap_FS_Read
|
|
import trap_FS_FOpenFile
|
|
import trap_Args
|
|
import trap_Argv
|
|
import trap_Argc
|
|
import trap_Milliseconds
|
|
import trap_Error
|
|
import trap_Printf
|
|
import g_timeouttospec
|
|
import g_forceDodge
|
|
import g_dismember
|
|
import g_singlePlayer
|
|
import g_enableBreath
|
|
import g_enableDust
|
|
import g_rankings
|
|
import pmove_msec
|
|
import pmove_fixed
|
|
import g_smoothClients
|
|
import g_blueteam
|
|
import g_redteam
|
|
import g_debugUp
|
|
import g_debugRight
|
|
import g_debugForward
|
|
import g_filterBan
|
|
import g_banIPs
|
|
import g_teamForceBalance
|
|
import g_teamAutoJoin
|
|
import g_allowVote
|
|
import g_blood
|
|
import g_doWarmup
|
|
import g_warmup
|
|
import g_motd
|
|
import g_synchronousClients
|
|
import g_adaptRespawn
|
|
import g_weaponTeamRespawn
|
|
import g_weaponRespawn
|
|
import g_debugDamage
|
|
import g_debugAlloc
|
|
import g_debugMove
|
|
import g_inactivity
|
|
import g_forcerespawn
|
|
import g_quadfactor
|
|
import g_knockback
|
|
import g_speed
|
|
import g_gravity
|
|
import g_needpass
|
|
import g_password
|
|
import g_friendlySaber
|
|
import g_friendlyFire
|
|
import g_saberInterpolate
|
|
import g_capturelimit
|
|
import g_timelimit
|
|
import g_duel_fraglimit
|
|
import g_fraglimit
|
|
import g_duelWeaponDisable
|
|
import g_weaponDisable
|
|
import g_forcePowerDisable
|
|
import g_spawnInvulnerability
|
|
import g_forceRegenTime
|
|
import g_saberLocking
|
|
import g_privateDuel
|
|
import g_forceBasedTeams
|
|
import g_maxForceRank
|
|
import g_dmflags
|
|
import g_autoMapCycle
|
|
import g_restarted
|
|
import g_maxGameClients
|
|
import g_maxclients
|
|
import g_cheats
|
|
import g_dedicated
|
|
import g_gametype
|
|
import g_entities
|
|
import level
|
|
import Pickup_Team
|
|
import CheckTeamStatus
|
|
import TeamplayInfoMessage
|
|
import Team_GetLocationMsg
|
|
import Team_GetLocation
|
|
import SelectSagaSpawnPoint
|
|
import SelectCTFSpawnPoint
|
|
import Team_FreeEntity
|
|
import Team_ReturnFlag
|
|
import Team_InitGame
|
|
import Team_CheckHurtCarrier
|
|
import Team_FragBonuses
|
|
import Team_DroppedFlagThink
|
|
import AddTeamScore
|
|
import TeamColorString
|
|
import OtherTeamName
|
|
import TeamName
|
|
import OtherTeam
|
|
import BotAIStartFrame
|
|
import BotAIShutdownClient
|
|
import BotAISetupClient
|
|
import BotAILoadMap
|
|
import BotAIShutdown
|
|
import BotAISetup
|
|
import B_CleanupAlloc
|
|
import B_InitAlloc
|
|
import InFieldOfVision
|
|
import BotOrder
|
|
import OrgVisible
|
|
import InitSagaMode
|
|
import G_ClearClientLog
|
|
import G_LogExit
|
|
import G_LogWeaponOutput
|
|
import G_LogWeaponInit
|
|
import G_LogWeaponItem
|
|
import G_LogWeaponPowerup
|
|
import G_LogWeaponFrag
|
|
import G_LogWeaponDeath
|
|
import G_LogWeaponKill
|
|
import G_LogWeaponDamage
|
|
import G_LogWeaponFire
|
|
import G_LogWeaponPickup
|
|
import Jedi_DodgeEvasion
|
|
import ForceTelepathy
|
|
import ForceThrow
|
|
import ForceSeeing
|
|
import ForceTeamForceReplenish
|
|
import ForceTeamHeal
|
|
import ForceAbsorb
|
|
import ForceProtect
|
|
import ForceGrip
|
|
import ForceRage
|
|
import ForceSpeed
|
|
import ForceHeal
|
|
import ForcePowerUsableOn
|
|
import WP_ForcePowersUpdate
|
|
import WP_SpawnInitForcePowers
|
|
import WP_InitForcePowers
|
|
import WP_SaberInitBladeData
|
|
import WP_SaberCanBlock
|
|
import WP_SaberPositionUpdate
|
|
import WP_ForcePowerStop
|
|
import HasSetSaberOnly
|
|
import G_PreDefSound
|
|
import G_RefreshNextMap
|
|
import G_DoesMapSupportGametype
|
|
import BotInterbreedEndMatch
|
|
import Svcmd_BotList_f
|
|
import Svcmd_AddBot_f
|
|
import G_BotConnect
|
|
import G_RemoveQueuedBotBegin
|
|
import G_CheckBotSpawn
|
|
import G_GetBotInfoByName
|
|
import G_GetBotInfoByNumber
|
|
import G_InitBots
|
|
import UpdateTournamentInfo
|
|
import G_WriteSessionData
|
|
import G_InitWorldSession
|
|
import G_InitSessionData
|
|
import G_ReadSessionData
|
|
import Svcmd_GameMem_f
|
|
import G_InitMemory
|
|
import G_Alloc
|
|
import Team_CheckDroppedItem
|
|
import OnSameTeam
|
|
import G_RunClient
|
|
import ClientEndFrame
|
|
import ClientThink
|
|
import G_CheckClientTimeouts
|
|
import ClientCommand
|
|
import ClientBegin
|
|
import ClientDisconnect
|
|
import ClientUserinfoChanged
|
|
import ClientConnect
|
|
import G_GetStripEdString
|
|
import G_Error
|
|
import G_Printf
|
|
import SendScoreboardMessageToAllClients
|
|
import G_LogPrintf
|
|
import G_RunThink
|
|
import CheckTeamLeader
|
|
import SetLeader
|
|
import FindIntermissionPoint
|
|
import g_ff_objectives
|
|
import DeathmatchScoreboardMessage
|
|
import G_SetStats
|
|
import MoveClientToIntermission
|
|
import BlowDetpacks
|
|
import FireWeapon
|
|
import G_FilterPacket
|
|
import G_ProcessIPBans
|
|
import ConsoleCommand
|
|
import gJMSaberEnt
|
|
import SpotWouldTelefrag
|
|
import CalculateRanks
|
|
import AddScore
|
|
import player_die
|
|
import ClientSpawn
|
|
import InitBodyQue
|
|
import BeginIntermission
|
|
import respawn
|
|
import CopyToBodyQue
|
|
import SelectSpawnPoint
|
|
import SetClientViewAngle
|
|
import PickTeam
|
|
import TeamLeader
|
|
import TeamCount
|
|
import CheckGauntletAttack
|
|
import SnapVectorTowards
|
|
import CalcMuzzlePoint
|
|
import LogAccuracyHit
|
|
import WP_FireGenericBlasterMissile
|
|
import WP_FireTurretMissile
|
|
import G_PlayerBecomeATST
|
|
import ATST_ManageDamageBoxes
|
|
import TeleportPlayer
|
|
import trigger_teleporter_touch
|
|
import Touch_DoorTrigger
|
|
import G_RunMover
|
|
import WP_FireBlasterMissile
|
|
import G_ExplodeMissile
|
|
import G_BounceProjectile
|
|
import CreateMissile
|
|
import G_RunMissile
|
|
import G_ReflectMissile
|
|
import ExplodeDeath
|
|
import TossClientCubes
|
|
import TossClientItems
|
|
import TossClientWeapon
|
|
import body_die
|
|
import G_RadiusDamage
|
|
import G_Damage
|
|
import CanDamage
|
|
import trap_G2API_SetBoneAnim
|
|
import trap_G2API_GetGLAName
|
|
import trap_G2API_SetBoneAngles
|
|
import trap_G2API_CleanGhoul2Models
|
|
import trap_G2API_RemoveGhoul2Model
|
|
import trap_G2API_HasGhoul2ModelOnIndex
|
|
import trap_G2API_DuplicateGhoul2Instance
|
|
import trap_G2API_CopySpecificGhoul2Model
|
|
import trap_G2API_CopyGhoul2Instance
|
|
import trap_G2API_SetBoltInfo
|
|
import trap_G2API_AddBolt
|
|
import trap_G2API_InitGhoul2Model
|
|
import trap_G2API_GetBoltMatrix_NoReconstruct
|
|
import trap_G2API_GetBoltMatrix
|
|
import trap_G2_HaveWeGhoul2Models
|
|
import trap_G2_SetGhoul2ModelIndexes
|
|
import trap_G2_ListModelBones
|
|
import trap_G2_ListModelSurfaces
|
|
import G_SkinIndex
|
|
import BuildShaderStateConfig
|
|
import AddRemap
|
|
import G_SetOrigin
|
|
import G_AddEvent
|
|
import G_AddPredictableEvent
|
|
import vtos
|
|
import tv
|
|
import G_RunObject
|
|
import G_TouchSolids
|
|
import G_TouchTriggers
|
|
import G_EntitiesFree
|
|
import G_FreeEntity
|
|
import G_KillG2Queue
|
|
import G_SendG2KillQueue
|
|
import TryUse
|
|
import G_EntitySound
|
|
import G_SoundAtLoc
|
|
import G_Sound
|
|
import G_MuteSound
|
|
import G_ScreenShake
|
|
import G_PlayEffect
|
|
import G_TempEntity
|
|
import G_Spawn
|
|
import G_InitGentity
|
|
import G_SetAngles
|
|
import G_SetMovedir
|
|
import G_UseTargets
|
|
import G_PickTarget
|
|
import G_RadiusList
|
|
import G_Find
|
|
import G_KillBox
|
|
import G_TeamCommand
|
|
import G_EffectIndex
|
|
import G_SoundIndex
|
|
import G_ModelIndex
|
|
import SaveRegisteredItems
|
|
import RegisterItem
|
|
import ClearRegisteredItems
|
|
import Touch_Item
|
|
import Add_Ammo
|
|
import ArmorIndex
|
|
import Think_Weapon
|
|
import FinishSpawningItem
|
|
import G_SpawnItem
|
|
import SetRespawn
|
|
import LaunchItem
|
|
import Drop_Item
|
|
import PrecacheItem
|
|
import UseHoldableItem
|
|
import RespawnItem
|
|
import G_RunItem
|
|
import G_CheckTeamItems
|
|
import ItemUse_MedPack
|
|
import ItemUse_Seeker
|
|
import ItemUse_Sentry
|
|
import ItemUse_Shield
|
|
import ItemUse_Binoculars
|
|
import G_GetDuelWinner
|
|
import Cmd_EngageDuel_f
|
|
import Cmd_ToggleSaber_f
|
|
import G_ItemUsable
|
|
import Cmd_SaberAttackCycle_f
|
|
import Cmd_FollowCycle_f
|
|
import SetTeam
|
|
import BroadcastTeamChange
|
|
import StopFollowing
|
|
import Cmd_Score_f
|
|
import G_NewString
|
|
import G_SpawnEntitiesFromString
|
|
import G_SpawnVector
|
|
import G_SpawnInt
|
|
import G_SpawnFloat
|
|
import G_SpawnString
|
|
import g2SaberInstance
|
|
import precachedKyle
|
|
import forcePowerDarkLight
|
|
import WeaponAttackAnim
|
|
import WeaponReadyAnim
|
|
import BG_OutOfMemory
|
|
import BG_StringAlloc
|
|
import BG_TempFree
|
|
import BG_TempAlloc
|
|
import BG_AllocUnaligned
|
|
import BG_Alloc
|
|
import BG_CanUseFPNow
|
|
import BG_HasYsalamiri
|
|
import BG_GetItemIndexByTag
|
|
import BG_ParseAnimationFile
|
|
import BG_PlayerTouchesItem
|
|
import BG_G2PlayerAngles
|
|
import BG_PlayerStateToEntityStateExtraPolate
|
|
import BG_PlayerStateToEntityState
|
|
import BG_TouchJumpPad
|
|
import BG_AddPredictableEventToPlayerstate
|
|
import BG_EvaluateTrajectoryDelta
|
|
import BG_EvaluateTrajectory
|
|
import BG_ForcePowerDrain
|
|
import BG_SaberStartTransAnim
|
|
import BG_InDeathAnim
|
|
import BG_InRoll
|
|
import BG_SaberInSpecialAttack
|
|
import BG_SpinningSaberAnim
|
|
import BG_FlippingAnim
|
|
import BG_SaberInIdle
|
|
import BG_SaberInSpecial
|
|
import BG_SaberInAttack
|
|
import BG_DirectFlippingAnim
|
|
import BG_InSaberStandAnim
|
|
import BG_InSpecialJump
|
|
import BG_LegalizedForcePowers
|
|
import saberMoveData
|
|
import BG_CanItemBeGrabbed
|
|
import BG_FindItemForHoldable
|
|
import BG_FindItemForPowerup
|
|
import BG_FindItemForWeapon
|
|
import BG_FindItem
|
|
import vectoyaw
|
|
import bg_numItems
|
|
import bg_itemlist
|
|
import Pmove
|
|
import PM_UpdateViewAngles
|
|
import pm
|
|
import bgForcePowerCost
|
|
import forceMasteryPoints
|
|
import forceMasteryLevels
|
|
import bgGlobalAnimations
|
|
import BGPAFtextLoaded
|
|
import forcePowerSorted
|
|
import WP_MuzzlePoint
|
|
import ammoData
|
|
import weaponData
|
|
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_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 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 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 $1087
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 115
|
|
char 1 97
|
|
char 1 118
|
|
char 1 101
|
|
char 1 0
|
|
align 1
|
|
LABELV $1075
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 107
|
|
char 1 105
|
|
char 1 108
|
|
char 1 108
|
|
char 1 111
|
|
char 1 110
|
|
char 1 101
|
|
char 1 119
|
|
char 1 97
|
|
char 1 121
|
|
char 1 115
|
|
char 1 0
|
|
align 1
|
|
LABELV $1072
|
|
char 1 94
|
|
char 1 51
|
|
char 1 87
|
|
char 1 97
|
|
char 1 121
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 110
|
|
char 1 117
|
|
char 1 109
|
|
char 1 98
|
|
char 1 101
|
|
char 1 114
|
|
char 1 32
|
|
char 1 40
|
|
char 1 116
|
|
char 1 111
|
|
char 1 32
|
|
char 1 109
|
|
char 1 111
|
|
char 1 100
|
|
char 1 105
|
|
char 1 102
|
|
char 1 121
|
|
char 1 41
|
|
char 1 32
|
|
char 1 110
|
|
char 1 101
|
|
char 1 101
|
|
char 1 100
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 32
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 115
|
|
char 1 119
|
|
char 1 105
|
|
char 1 116
|
|
char 1 99
|
|
char 1 104
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 115
|
|
char 1 10
|
|
char 1 83
|
|
char 1 121
|
|
char 1 110
|
|
char 1 116
|
|
char 1 97
|
|
char 1 120
|
|
char 1 58
|
|
char 1 32
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 115
|
|
char 1 119
|
|
char 1 105
|
|
char 1 116
|
|
char 1 99
|
|
char 1 104
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 115
|
|
char 1 32
|
|
char 1 60
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 115
|
|
char 1 62
|
|
char 1 32
|
|
char 1 60
|
|
char 1 110
|
|
char 1 62
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $1044
|
|
char 1 94
|
|
char 1 51
|
|
char 1 70
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 32
|
|
char 1 115
|
|
char 1 116
|
|
char 1 114
|
|
char 1 105
|
|
char 1 110
|
|
char 1 103
|
|
char 1 32
|
|
char 1 110
|
|
char 1 101
|
|
char 1 101
|
|
char 1 100
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 32
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 115
|
|
char 1 119
|
|
char 1 105
|
|
char 1 116
|
|
char 1 99
|
|
char 1 104
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 115
|
|
char 1 10
|
|
char 1 84
|
|
char 1 121
|
|
char 1 112
|
|
char 1 101
|
|
char 1 32
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 97
|
|
char 1 100
|
|
char 1 100
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 103
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 32
|
|
char 1 97
|
|
char 1 32
|
|
char 1 108
|
|
char 1 105
|
|
char 1 115
|
|
char 1 116
|
|
char 1 32
|
|
char 1 111
|
|
char 1 102
|
|
char 1 32
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 115
|
|
char 1 32
|
|
char 1 97
|
|
char 1 110
|
|
char 1 100
|
|
char 1 32
|
|
char 1 116
|
|
char 1 104
|
|
char 1 101
|
|
char 1 105
|
|
char 1 114
|
|
char 1 32
|
|
char 1 99
|
|
char 1 111
|
|
char 1 114
|
|
char 1 114
|
|
char 1 101
|
|
char 1 115
|
|
char 1 112
|
|
char 1 111
|
|
char 1 110
|
|
char 1 100
|
|
char 1 105
|
|
char 1 110
|
|
char 1 103
|
|
char 1 32
|
|
char 1 99
|
|
char 1 104
|
|
char 1 97
|
|
char 1 114
|
|
char 1 97
|
|
char 1 99
|
|
char 1 116
|
|
char 1 101
|
|
char 1 114
|
|
char 1 115
|
|
char 1 44
|
|
char 1 32
|
|
char 1 111
|
|
char 1 114
|
|
char 1 32
|
|
char 1 117
|
|
char 1 115
|
|
char 1 101
|
|
char 1 32
|
|
char 1 48
|
|
char 1 32
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 32
|
|
char 1 110
|
|
char 1 111
|
|
char 1 32
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 115
|
|
char 1 46
|
|
char 1 10
|
|
char 1 83
|
|
char 1 121
|
|
char 1 110
|
|
char 1 116
|
|
char 1 97
|
|
char 1 120
|
|
char 1 58
|
|
char 1 32
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 115
|
|
char 1 119
|
|
char 1 105
|
|
char 1 116
|
|
char 1 99
|
|
char 1 104
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 115
|
|
char 1 32
|
|
char 1 60
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 115
|
|
char 1 62
|
|
char 1 32
|
|
char 1 60
|
|
char 1 110
|
|
char 1 62
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $1040
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 115
|
|
char 1 119
|
|
char 1 105
|
|
char 1 116
|
|
char 1 99
|
|
char 1 104
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 115
|
|
char 1 0
|
|
align 1
|
|
LABELV $1010
|
|
char 1 94
|
|
char 1 51
|
|
char 1 70
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 32
|
|
char 1 115
|
|
char 1 116
|
|
char 1 114
|
|
char 1 105
|
|
char 1 110
|
|
char 1 103
|
|
char 1 32
|
|
char 1 110
|
|
char 1 101
|
|
char 1 101
|
|
char 1 100
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 32
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 97
|
|
char 1 100
|
|
char 1 100
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 103
|
|
char 1 101
|
|
char 1 100
|
|
char 1 10
|
|
char 1 106
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 74
|
|
char 1 117
|
|
char 1 109
|
|
char 1 112
|
|
char 1 32
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 10
|
|
char 1 100
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 68
|
|
char 1 117
|
|
char 1 99
|
|
char 1 107
|
|
char 1 32
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 10
|
|
char 1 99
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 83
|
|
char 1 110
|
|
char 1 105
|
|
char 1 112
|
|
char 1 101
|
|
char 1 32
|
|
char 1 111
|
|
char 1 114
|
|
char 1 32
|
|
char 1 99
|
|
char 1 97
|
|
char 1 109
|
|
char 1 112
|
|
char 1 32
|
|
char 1 115
|
|
char 1 116
|
|
char 1 97
|
|
char 1 110
|
|
char 1 100
|
|
char 1 105
|
|
char 1 110
|
|
char 1 103
|
|
char 1 10
|
|
char 1 102
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 87
|
|
char 1 97
|
|
char 1 105
|
|
char 1 116
|
|
char 1 32
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 32
|
|
char 1 102
|
|
char 1 117
|
|
char 1 110
|
|
char 1 99
|
|
char 1 10
|
|
char 1 109
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 68
|
|
char 1 111
|
|
char 1 32
|
|
char 1 110
|
|
char 1 111
|
|
char 1 116
|
|
char 1 32
|
|
char 1 109
|
|
char 1 111
|
|
char 1 118
|
|
char 1 101
|
|
char 1 32
|
|
char 1 116
|
|
char 1 111
|
|
char 1 32
|
|
char 1 119
|
|
char 1 104
|
|
char 1 101
|
|
char 1 110
|
|
char 1 32
|
|
char 1 102
|
|
char 1 117
|
|
char 1 110
|
|
char 1 99
|
|
char 1 32
|
|
char 1 105
|
|
char 1 115
|
|
char 1 32
|
|
char 1 117
|
|
char 1 110
|
|
char 1 100
|
|
char 1 101
|
|
char 1 114
|
|
char 1 10
|
|
char 1 115
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 83
|
|
char 1 110
|
|
char 1 105
|
|
char 1 112
|
|
char 1 101
|
|
char 1 32
|
|
char 1 111
|
|
char 1 114
|
|
char 1 32
|
|
char 1 99
|
|
char 1 97
|
|
char 1 109
|
|
char 1 112
|
|
char 1 10
|
|
char 1 120
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 79
|
|
char 1 110
|
|
char 1 101
|
|
char 1 119
|
|
char 1 97
|
|
char 1 121
|
|
char 1 44
|
|
char 1 32
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 119
|
|
char 1 97
|
|
char 1 114
|
|
char 1 100
|
|
char 1 10
|
|
char 1 121
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 79
|
|
char 1 110
|
|
char 1 101
|
|
char 1 119
|
|
char 1 97
|
|
char 1 121
|
|
char 1 44
|
|
char 1 32
|
|
char 1 98
|
|
char 1 97
|
|
char 1 99
|
|
char 1 107
|
|
char 1 10
|
|
char 1 103
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 77
|
|
char 1 105
|
|
char 1 115
|
|
char 1 115
|
|
char 1 105
|
|
char 1 111
|
|
char 1 110
|
|
char 1 32
|
|
char 1 103
|
|
char 1 111
|
|
char 1 97
|
|
char 1 108
|
|
char 1 10
|
|
char 1 110
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 78
|
|
char 1 111
|
|
char 1 32
|
|
char 1 118
|
|
char 1 105
|
|
char 1 115
|
|
char 1 105
|
|
char 1 98
|
|
char 1 105
|
|
char 1 108
|
|
char 1 105
|
|
char 1 116
|
|
char 1 121
|
|
char 1 10
|
|
char 1 69
|
|
char 1 120
|
|
char 1 97
|
|
char 1 109
|
|
char 1 112
|
|
char 1 108
|
|
char 1 101
|
|
char 1 32
|
|
char 1 40
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 32
|
|
char 1 97
|
|
char 1 32
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 116
|
|
char 1 104
|
|
char 1 101
|
|
char 1 32
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 32
|
|
char 1 119
|
|
char 1 111
|
|
char 1 117
|
|
char 1 108
|
|
char 1 100
|
|
char 1 32
|
|
char 1 106
|
|
char 1 117
|
|
char 1 109
|
|
char 1 112
|
|
char 1 32
|
|
char 1 97
|
|
char 1 116
|
|
char 1 44
|
|
char 1 32
|
|
char 1 97
|
|
char 1 110
|
|
char 1 100
|
|
char 1 32
|
|
char 1 114
|
|
char 1 101
|
|
char 1 118
|
|
char 1 101
|
|
char 1 114
|
|
char 1 115
|
|
char 1 101
|
|
char 1 32
|
|
char 1 111
|
|
char 1 110
|
|
char 1 32
|
|
char 1 119
|
|
char 1 104
|
|
char 1 101
|
|
char 1 110
|
|
char 1 32
|
|
char 1 116
|
|
char 1 114
|
|
char 1 97
|
|
char 1 118
|
|
char 1 101
|
|
char 1 108
|
|
char 1 105
|
|
char 1 110
|
|
char 1 103
|
|
char 1 32
|
|
char 1 97
|
|
char 1 32
|
|
char 1 116
|
|
char 1 114
|
|
char 1 97
|
|
char 1 105
|
|
char 1 108
|
|
char 1 32
|
|
char 1 98
|
|
char 1 97
|
|
char 1 99
|
|
char 1 107
|
|
char 1 119
|
|
char 1 97
|
|
char 1 114
|
|
char 1 100
|
|
char 1 115
|
|
char 1 41
|
|
char 1 58
|
|
char 1 10
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 97
|
|
char 1 100
|
|
char 1 100
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 103
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 106
|
|
char 1 120
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $1006
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 97
|
|
char 1 100
|
|
char 1 100
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 103
|
|
char 1 101
|
|
char 1 100
|
|
char 1 0
|
|
align 1
|
|
LABELV $999
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 115
|
|
char 1 112
|
|
char 1 97
|
|
char 1 119
|
|
char 1 110
|
|
char 1 116
|
|
char 1 101
|
|
char 1 108
|
|
char 1 101
|
|
char 1 0
|
|
align 1
|
|
LABELV $996
|
|
char 1 94
|
|
char 1 51
|
|
char 1 89
|
|
char 1 111
|
|
char 1 117
|
|
char 1 32
|
|
char 1 100
|
|
char 1 105
|
|
char 1 100
|
|
char 1 110
|
|
char 1 39
|
|
char 1 116
|
|
char 1 32
|
|
char 1 115
|
|
char 1 112
|
|
char 1 101
|
|
char 1 99
|
|
char 1 105
|
|
char 1 102
|
|
char 1 121
|
|
char 1 32
|
|
char 1 97
|
|
char 1 110
|
|
char 1 32
|
|
char 1 105
|
|
char 1 110
|
|
char 1 100
|
|
char 1 101
|
|
char 1 120
|
|
char 1 46
|
|
char 1 32
|
|
char 1 65
|
|
char 1 115
|
|
char 1 115
|
|
char 1 117
|
|
char 1 109
|
|
char 1 105
|
|
char 1 110
|
|
char 1 103
|
|
char 1 32
|
|
char 1 108
|
|
char 1 97
|
|
char 1 115
|
|
char 1 116
|
|
char 1 46
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $991
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 116
|
|
char 1 101
|
|
char 1 108
|
|
char 1 101
|
|
char 1 0
|
|
align 1
|
|
LABELV $984
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 114
|
|
char 1 101
|
|
char 1 109
|
|
char 1 0
|
|
align 1
|
|
LABELV $977
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 97
|
|
char 1 100
|
|
char 1 100
|
|
char 1 0
|
|
align 1
|
|
LABELV $974
|
|
char 1 94
|
|
char 1 51
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 115
|
|
char 1 97
|
|
char 1 118
|
|
char 1 101
|
|
char 1 94
|
|
char 1 55
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 83
|
|
char 1 97
|
|
char 1 118
|
|
char 1 101
|
|
char 1 115
|
|
char 1 32
|
|
char 1 97
|
|
char 1 108
|
|
char 1 108
|
|
char 1 32
|
|
char 1 119
|
|
char 1 97
|
|
char 1 121
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 100
|
|
char 1 97
|
|
char 1 116
|
|
char 1 97
|
|
char 1 32
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 111
|
|
char 1 32
|
|
char 1 97
|
|
char 1 32
|
|
char 1 102
|
|
char 1 105
|
|
char 1 108
|
|
char 1 101
|
|
char 1 32
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 32
|
|
char 1 108
|
|
char 1 97
|
|
char 1 116
|
|
char 1 101
|
|
char 1 114
|
|
char 1 32
|
|
char 1 117
|
|
char 1 115
|
|
char 1 101
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $973
|
|
char 1 94
|
|
char 1 51
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 107
|
|
char 1 105
|
|
char 1 108
|
|
char 1 108
|
|
char 1 111
|
|
char 1 110
|
|
char 1 101
|
|
char 1 119
|
|
char 1 97
|
|
char 1 121
|
|
char 1 115
|
|
char 1 94
|
|
char 1 55
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 82
|
|
char 1 101
|
|
char 1 109
|
|
char 1 111
|
|
char 1 118
|
|
char 1 101
|
|
char 1 115
|
|
char 1 32
|
|
char 1 111
|
|
char 1 110
|
|
char 1 101
|
|
char 1 119
|
|
char 1 97
|
|
char 1 121
|
|
char 1 32
|
|
char 1 40
|
|
char 1 98
|
|
char 1 97
|
|
char 1 99
|
|
char 1 107
|
|
char 1 119
|
|
char 1 97
|
|
char 1 114
|
|
char 1 100
|
|
char 1 32
|
|
char 1 97
|
|
char 1 110
|
|
char 1 100
|
|
char 1 32
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 119
|
|
char 1 97
|
|
char 1 114
|
|
char 1 100
|
|
char 1 41
|
|
char 1 32
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 115
|
|
char 1 32
|
|
char 1 111
|
|
char 1 110
|
|
char 1 32
|
|
char 1 97
|
|
char 1 108
|
|
char 1 108
|
|
char 1 32
|
|
char 1 119
|
|
char 1 97
|
|
char 1 121
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 115
|
|
char 1 32
|
|
char 1 105
|
|
char 1 110
|
|
char 1 32
|
|
char 1 116
|
|
char 1 104
|
|
char 1 101
|
|
char 1 32
|
|
char 1 108
|
|
char 1 101
|
|
char 1 118
|
|
char 1 101
|
|
char 1 108
|
|
char 1 10
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $972
|
|
char 1 94
|
|
char 1 51
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 116
|
|
char 1 101
|
|
char 1 108
|
|
char 1 101
|
|
char 1 94
|
|
char 1 55
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 84
|
|
char 1 101
|
|
char 1 108
|
|
char 1 101
|
|
char 1 112
|
|
char 1 111
|
|
char 1 114
|
|
char 1 116
|
|
char 1 32
|
|
char 1 121
|
|
char 1 111
|
|
char 1 117
|
|
char 1 114
|
|
char 1 115
|
|
char 1 101
|
|
char 1 108
|
|
char 1 102
|
|
char 1 32
|
|
char 1 116
|
|
char 1 111
|
|
char 1 32
|
|
char 1 116
|
|
char 1 104
|
|
char 1 101
|
|
char 1 32
|
|
char 1 115
|
|
char 1 112
|
|
char 1 101
|
|
char 1 99
|
|
char 1 105
|
|
char 1 102
|
|
char 1 105
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 119
|
|
char 1 97
|
|
char 1 121
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 39
|
|
char 1 115
|
|
char 1 32
|
|
char 1 108
|
|
char 1 111
|
|
char 1 99
|
|
char 1 97
|
|
char 1 116
|
|
char 1 105
|
|
char 1 111
|
|
char 1 110
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $971
|
|
char 1 94
|
|
char 1 51
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 115
|
|
char 1 119
|
|
char 1 105
|
|
char 1 116
|
|
char 1 99
|
|
char 1 104
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 115
|
|
char 1 94
|
|
char 1 55
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 83
|
|
char 1 119
|
|
char 1 105
|
|
char 1 116
|
|
char 1 99
|
|
char 1 104
|
|
char 1 101
|
|
char 1 115
|
|
char 1 32
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 115
|
|
char 1 32
|
|
char 1 111
|
|
char 1 110
|
|
char 1 32
|
|
char 1 97
|
|
char 1 110
|
|
char 1 32
|
|
char 1 101
|
|
char 1 120
|
|
char 1 105
|
|
char 1 115
|
|
char 1 116
|
|
char 1 105
|
|
char 1 110
|
|
char 1 103
|
|
char 1 32
|
|
char 1 119
|
|
char 1 97
|
|
char 1 121
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 40
|
|
char 1 116
|
|
char 1 121
|
|
char 1 112
|
|
char 1 101
|
|
char 1 32
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 115
|
|
char 1 119
|
|
char 1 105
|
|
char 1 116
|
|
char 1 99
|
|
char 1 104
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 115
|
|
char 1 32
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 32
|
|
char 1 104
|
|
char 1 101
|
|
char 1 108
|
|
char 1 112
|
|
char 1 41
|
|
char 1 10
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $970
|
|
char 1 94
|
|
char 1 51
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 97
|
|
char 1 100
|
|
char 1 100
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 103
|
|
char 1 101
|
|
char 1 100
|
|
char 1 94
|
|
char 1 55
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 83
|
|
char 1 97
|
|
char 1 109
|
|
char 1 101
|
|
char 1 32
|
|
char 1 97
|
|
char 1 115
|
|
char 1 32
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 97
|
|
char 1 100
|
|
char 1 100
|
|
char 1 44
|
|
char 1 32
|
|
char 1 98
|
|
char 1 117
|
|
char 1 116
|
|
char 1 32
|
|
char 1 97
|
|
char 1 100
|
|
char 1 100
|
|
char 1 115
|
|
char 1 32
|
|
char 1 97
|
|
char 1 32
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 103
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 40
|
|
char 1 116
|
|
char 1 121
|
|
char 1 112
|
|
char 1 101
|
|
char 1 32
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 97
|
|
char 1 100
|
|
char 1 100
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 103
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 32
|
|
char 1 104
|
|
char 1 101
|
|
char 1 108
|
|
char 1 112
|
|
char 1 41
|
|
char 1 10
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $969
|
|
char 1 94
|
|
char 1 51
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 114
|
|
char 1 101
|
|
char 1 109
|
|
char 1 94
|
|
char 1 55
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 82
|
|
char 1 101
|
|
char 1 109
|
|
char 1 111
|
|
char 1 118
|
|
char 1 101
|
|
char 1 32
|
|
char 1 97
|
|
char 1 32
|
|
char 1 119
|
|
char 1 97
|
|
char 1 121
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 40
|
|
char 1 114
|
|
char 1 101
|
|
char 1 109
|
|
char 1 111
|
|
char 1 118
|
|
char 1 101
|
|
char 1 115
|
|
char 1 32
|
|
char 1 108
|
|
char 1 97
|
|
char 1 115
|
|
char 1 116
|
|
char 1 32
|
|
char 1 117
|
|
char 1 110
|
|
char 1 108
|
|
char 1 101
|
|
char 1 115
|
|
char 1 115
|
|
char 1 32
|
|
char 1 119
|
|
char 1 97
|
|
char 1 121
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 105
|
|
char 1 110
|
|
char 1 100
|
|
char 1 101
|
|
char 1 120
|
|
char 1 32
|
|
char 1 105
|
|
char 1 115
|
|
char 1 32
|
|
char 1 115
|
|
char 1 112
|
|
char 1 101
|
|
char 1 99
|
|
char 1 105
|
|
char 1 102
|
|
char 1 105
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 97
|
|
char 1 115
|
|
char 1 32
|
|
char 1 97
|
|
char 1 32
|
|
char 1 112
|
|
char 1 97
|
|
char 1 114
|
|
char 1 97
|
|
char 1 109
|
|
char 1 101
|
|
char 1 116
|
|
char 1 101
|
|
char 1 114
|
|
char 1 41
|
|
char 1 10
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $968
|
|
char 1 94
|
|
char 1 51
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 97
|
|
char 1 100
|
|
char 1 100
|
|
char 1 94
|
|
char 1 55
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 65
|
|
char 1 100
|
|
char 1 100
|
|
char 1 32
|
|
char 1 97
|
|
char 1 32
|
|
char 1 119
|
|
char 1 97
|
|
char 1 121
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 40
|
|
char 1 111
|
|
char 1 112
|
|
char 1 116
|
|
char 1 105
|
|
char 1 111
|
|
char 1 110
|
|
char 1 97
|
|
char 1 108
|
|
char 1 32
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 112
|
|
char 1 97
|
|
char 1 114
|
|
char 1 97
|
|
char 1 109
|
|
char 1 101
|
|
char 1 116
|
|
char 1 101
|
|
char 1 114
|
|
char 1 32
|
|
char 1 119
|
|
char 1 105
|
|
char 1 108
|
|
char 1 108
|
|
char 1 32
|
|
char 1 105
|
|
char 1 110
|
|
char 1 115
|
|
char 1 101
|
|
char 1 114
|
|
char 1 116
|
|
char 1 32
|
|
char 1 116
|
|
char 1 104
|
|
char 1 101
|
|
char 1 32
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 97
|
|
char 1 102
|
|
char 1 116
|
|
char 1 101
|
|
char 1 114
|
|
char 1 32
|
|
char 1 116
|
|
char 1 104
|
|
char 1 101
|
|
char 1 32
|
|
char 1 115
|
|
char 1 112
|
|
char 1 101
|
|
char 1 99
|
|
char 1 105
|
|
char 1 102
|
|
char 1 105
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 119
|
|
char 1 97
|
|
char 1 121
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 105
|
|
char 1 110
|
|
char 1 100
|
|
char 1 101
|
|
char 1 120
|
|
char 1 32
|
|
char 1 105
|
|
char 1 110
|
|
char 1 32
|
|
char 1 97
|
|
char 1 32
|
|
char 1 116
|
|
char 1 114
|
|
char 1 97
|
|
char 1 105
|
|
char 1 108
|
|
char 1 41
|
|
char 1 10
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $967
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 95
|
|
char 1 119
|
|
char 1 112
|
|
char 1 95
|
|
char 1 99
|
|
char 1 109
|
|
char 1 100
|
|
char 1 108
|
|
char 1 105
|
|
char 1 115
|
|
char 1 116
|
|
char 1 0
|
|
align 1
|
|
LABELV $937
|
|
char 1 105
|
|
char 1 110
|
|
char 1 102
|
|
char 1 111
|
|
char 1 95
|
|
char 1 112
|
|
char 1 108
|
|
char 1 97
|
|
char 1 121
|
|
char 1 101
|
|
char 1 114
|
|
char 1 95
|
|
char 1 100
|
|
char 1 101
|
|
char 1 97
|
|
char 1 116
|
|
char 1 104
|
|
char 1 109
|
|
char 1 97
|
|
char 1 116
|
|
char 1 99
|
|
char 1 104
|
|
char 1 0
|
|
align 1
|
|
LABELV $936
|
|
char 1 105
|
|
char 1 110
|
|
char 1 102
|
|
char 1 111
|
|
char 1 95
|
|
char 1 112
|
|
char 1 108
|
|
char 1 97
|
|
char 1 121
|
|
char 1 101
|
|
char 1 114
|
|
char 1 95
|
|
char 1 115
|
|
char 1 116
|
|
char 1 97
|
|
char 1 114
|
|
char 1 116
|
|
char 1 0
|
|
align 1
|
|
LABELV $912
|
|
char 1 0
|
|
align 1
|
|
LABELV $911
|
|
char 1 109
|
|
char 1 97
|
|
char 1 112
|
|
char 1 110
|
|
char 1 97
|
|
char 1 109
|
|
char 1 101
|
|
char 1 0
|
|
align 1
|
|
LABELV $909
|
|
char 1 80
|
|
char 1 97
|
|
char 1 116
|
|
char 1 104
|
|
char 1 32
|
|
char 1 100
|
|
char 1 97
|
|
char 1 116
|
|
char 1 97
|
|
char 1 32
|
|
char 1 104
|
|
char 1 97
|
|
char 1 115
|
|
char 1 32
|
|
char 1 98
|
|
char 1 101
|
|
char 1 101
|
|
char 1 110
|
|
char 1 32
|
|
char 1 115
|
|
char 1 97
|
|
char 1 118
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 97
|
|
char 1 110
|
|
char 1 100
|
|
char 1 32
|
|
char 1 117
|
|
char 1 112
|
|
char 1 100
|
|
char 1 97
|
|
char 1 116
|
|
char 1 101
|
|
char 1 100
|
|
char 1 46
|
|
char 1 32
|
|
char 1 89
|
|
char 1 111
|
|
char 1 117
|
|
char 1 32
|
|
char 1 109
|
|
char 1 97
|
|
char 1 121
|
|
char 1 32
|
|
char 1 110
|
|
char 1 101
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 116
|
|
char 1 111
|
|
char 1 32
|
|
char 1 114
|
|
char 1 101
|
|
char 1 115
|
|
char 1 116
|
|
char 1 97
|
|
char 1 114
|
|
char 1 116
|
|
char 1 32
|
|
char 1 116
|
|
char 1 104
|
|
char 1 101
|
|
char 1 32
|
|
char 1 108
|
|
char 1 101
|
|
char 1 118
|
|
char 1 101
|
|
char 1 108
|
|
char 1 32
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 32
|
|
char 1 115
|
|
char 1 111
|
|
char 1 109
|
|
char 1 101
|
|
char 1 32
|
|
char 1 116
|
|
char 1 104
|
|
char 1 105
|
|
char 1 110
|
|
char 1 103
|
|
char 1 115
|
|
char 1 32
|
|
char 1 116
|
|
char 1 111
|
|
char 1 32
|
|
char 1 98
|
|
char 1 101
|
|
char 1 32
|
|
char 1 112
|
|
char 1 114
|
|
char 1 111
|
|
char 1 112
|
|
char 1 101
|
|
char 1 114
|
|
char 1 108
|
|
char 1 121
|
|
char 1 32
|
|
char 1 99
|
|
char 1 97
|
|
char 1 108
|
|
char 1 99
|
|
char 1 117
|
|
char 1 108
|
|
char 1 97
|
|
char 1 116
|
|
char 1 101
|
|
char 1 100
|
|
char 1 46
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $890
|
|
char 1 37
|
|
char 1 115
|
|
char 1 125
|
|
char 1 32
|
|
char 1 37
|
|
char 1 102
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $879
|
|
char 1 37
|
|
char 1 115
|
|
char 1 37
|
|
char 1 105
|
|
char 1 32
|
|
char 1 0
|
|
align 1
|
|
LABELV $878
|
|
char 1 37
|
|
char 1 115
|
|
char 1 37
|
|
char 1 105
|
|
char 1 45
|
|
char 1 37
|
|
char 1 105
|
|
char 1 32
|
|
char 1 0
|
|
align 1
|
|
LABELV $872
|
|
char 1 37
|
|
char 1 105
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 32
|
|
char 1 37
|
|
char 1 102
|
|
char 1 32
|
|
char 1 40
|
|
char 1 37
|
|
char 1 102
|
|
char 1 32
|
|
char 1 37
|
|
char 1 102
|
|
char 1 32
|
|
char 1 37
|
|
char 1 102
|
|
char 1 41
|
|
char 1 32
|
|
char 1 123
|
|
char 1 32
|
|
char 1 0
|
|
align 1
|
|
LABELV $869
|
|
char 1 94
|
|
char 1 49
|
|
char 1 69
|
|
char 1 82
|
|
char 1 82
|
|
char 1 79
|
|
char 1 82
|
|
char 1 58
|
|
char 1 32
|
|
char 1 67
|
|
char 1 111
|
|
char 1 117
|
|
char 1 108
|
|
char 1 100
|
|
char 1 32
|
|
char 1 110
|
|
char 1 111
|
|
char 1 116
|
|
char 1 32
|
|
char 1 111
|
|
char 1 112
|
|
char 1 101
|
|
char 1 110
|
|
char 1 32
|
|
char 1 102
|
|
char 1 105
|
|
char 1 108
|
|
char 1 101
|
|
char 1 32
|
|
char 1 116
|
|
char 1 111
|
|
char 1 32
|
|
char 1 119
|
|
char 1 114
|
|
char 1 105
|
|
char 1 116
|
|
char 1 101
|
|
char 1 32
|
|
char 1 112
|
|
char 1 97
|
|
char 1 116
|
|
char 1 104
|
|
char 1 32
|
|
char 1 100
|
|
char 1 97
|
|
char 1 116
|
|
char 1 97
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $826
|
|
char 1 116
|
|
char 1 101
|
|
char 1 97
|
|
char 1 109
|
|
char 1 95
|
|
char 1 67
|
|
char 1 84
|
|
char 1 70
|
|
char 1 95
|
|
char 1 98
|
|
char 1 108
|
|
char 1 117
|
|
char 1 101
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 0
|
|
align 1
|
|
LABELV $823
|
|
char 1 116
|
|
char 1 101
|
|
char 1 97
|
|
char 1 109
|
|
char 1 95
|
|
char 1 67
|
|
char 1 84
|
|
char 1 70
|
|
char 1 95
|
|
char 1 114
|
|
char 1 101
|
|
char 1 100
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 0
|
|
align 1
|
|
LABELV $732
|
|
char 1 94
|
|
char 1 49
|
|
char 1 82
|
|
char 1 111
|
|
char 1 117
|
|
char 1 116
|
|
char 1 101
|
|
char 1 32
|
|
char 1 102
|
|
char 1 105
|
|
char 1 108
|
|
char 1 101
|
|
char 1 32
|
|
char 1 101
|
|
char 1 120
|
|
char 1 99
|
|
char 1 101
|
|
char 1 101
|
|
char 1 100
|
|
char 1 115
|
|
char 1 32
|
|
char 1 109
|
|
char 1 97
|
|
char 1 120
|
|
char 1 105
|
|
char 1 109
|
|
char 1 117
|
|
char 1 109
|
|
char 1 32
|
|
char 1 108
|
|
char 1 101
|
|
char 1 110
|
|
char 1 103
|
|
char 1 116
|
|
char 1 104
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $729
|
|
char 1 94
|
|
char 1 51
|
|
char 1 66
|
|
char 1 111
|
|
char 1 116
|
|
char 1 32
|
|
char 1 114
|
|
char 1 111
|
|
char 1 117
|
|
char 1 116
|
|
char 1 101
|
|
char 1 32
|
|
char 1 100
|
|
char 1 97
|
|
char 1 116
|
|
char 1 97
|
|
char 1 32
|
|
char 1 110
|
|
char 1 111
|
|
char 1 116
|
|
char 1 32
|
|
char 1 102
|
|
char 1 111
|
|
char 1 117
|
|
char 1 110
|
|
char 1 100
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $726
|
|
char 1 98
|
|
char 1 111
|
|
char 1 116
|
|
char 1 114
|
|
char 1 111
|
|
char 1 117
|
|
char 1 116
|
|
char 1 101
|
|
char 1 115
|
|
char 1 47
|
|
char 1 37
|
|
char 1 115
|
|
char 1 46
|
|
char 1 119
|
|
char 1 110
|
|
char 1 116
|
|
char 1 0
|
|
char 1 0
|
|
align 1
|
|
LABELV $688
|
|
char 1 119
|
|
char 1 101
|
|
char 1 97
|
|
char 1 112
|
|
char 1 111
|
|
char 1 110
|
|
char 1 95
|
|
char 1 0
|
|
align 1
|
|
LABELV $685
|
|
char 1 105
|
|
char 1 116
|
|
char 1 101
|
|
char 1 109
|
|
char 1 95
|
|
char 1 121
|
|
char 1 115
|
|
char 1 97
|
|
char 1 108
|
|
char 1 105
|
|
char 1 109
|
|
char 1 97
|
|
char 1 114
|
|
char 1 105
|
|
char 1 0
|
|
align 1
|
|
LABELV $682
|
|
char 1 105
|
|
char 1 116
|
|
char 1 101
|
|
char 1 109
|
|
char 1 95
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 99
|
|
char 1 101
|
|
char 1 95
|
|
char 1 98
|
|
char 1 111
|
|
char 1 111
|
|
char 1 110
|
|
char 1 0
|
|
align 1
|
|
LABELV $679
|
|
char 1 105
|
|
char 1 116
|
|
char 1 101
|
|
char 1 109
|
|
char 1 95
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 99
|
|
char 1 101
|
|
char 1 95
|
|
char 1 101
|
|
char 1 110
|
|
char 1 108
|
|
char 1 105
|
|
char 1 103
|
|
char 1 104
|
|
char 1 116
|
|
char 1 101
|
|
char 1 110
|
|
char 1 95
|
|
char 1 108
|
|
char 1 105
|
|
char 1 103
|
|
char 1 104
|
|
char 1 116
|
|
char 1 0
|
|
align 1
|
|
LABELV $676
|
|
char 1 105
|
|
char 1 116
|
|
char 1 101
|
|
char 1 109
|
|
char 1 95
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 99
|
|
char 1 101
|
|
char 1 95
|
|
char 1 101
|
|
char 1 110
|
|
char 1 108
|
|
char 1 105
|
|
char 1 103
|
|
char 1 104
|
|
char 1 116
|
|
char 1 101
|
|
char 1 110
|
|
char 1 95
|
|
char 1 100
|
|
char 1 97
|
|
char 1 114
|
|
char 1 107
|
|
char 1 0
|
|
align 1
|
|
LABELV $673
|
|
char 1 105
|
|
char 1 116
|
|
char 1 101
|
|
char 1 109
|
|
char 1 95
|
|
char 1 115
|
|
char 1 101
|
|
char 1 110
|
|
char 1 116
|
|
char 1 114
|
|
char 1 121
|
|
char 1 95
|
|
char 1 103
|
|
char 1 117
|
|
char 1 110
|
|
char 1 0
|
|
align 1
|
|
LABELV $670
|
|
char 1 105
|
|
char 1 116
|
|
char 1 101
|
|
char 1 109
|
|
char 1 95
|
|
char 1 109
|
|
char 1 101
|
|
char 1 100
|
|
char 1 112
|
|
char 1 97
|
|
char 1 99
|
|
char 1 0
|
|
align 1
|
|
LABELV $667
|
|
char 1 105
|
|
char 1 116
|
|
char 1 101
|
|
char 1 109
|
|
char 1 95
|
|
char 1 115
|
|
char 1 104
|
|
char 1 105
|
|
char 1 101
|
|
char 1 108
|
|
char 1 100
|
|
char 1 0
|
|
align 1
|
|
LABELV $664
|
|
char 1 105
|
|
char 1 116
|
|
char 1 101
|
|
char 1 109
|
|
char 1 95
|
|
char 1 115
|
|
char 1 101
|
|
char 1 101
|
|
char 1 107
|
|
char 1 101
|
|
char 1 114
|
|
char 1 0
|
|
align 1
|
|
LABELV $617
|
|
char 1 105
|
|
char 1 110
|
|
char 1 102
|
|
char 1 111
|
|
char 1 95
|
|
char 1 115
|
|
char 1 97
|
|
char 1 103
|
|
char 1 97
|
|
char 1 95
|
|
char 1 111
|
|
char 1 98
|
|
char 1 106
|
|
char 1 101
|
|
char 1 99
|
|
char 1 116
|
|
char 1 105
|
|
char 1 118
|
|
char 1 101
|
|
char 1 0
|
|
align 1
|
|
LABELV $493
|
|
char 1 102
|
|
char 1 117
|
|
char 1 110
|
|
char 1 99
|
|
char 1 95
|
|
char 1 0
|
|
align 1
|
|
LABELV $470
|
|
char 1 94
|
|
char 1 51
|
|
char 1 70
|
|
char 1 105
|
|
char 1 110
|
|
char 1 105
|
|
char 1 115
|
|
char 1 104
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 99
|
|
char 1 111
|
|
char 1 110
|
|
char 1 110
|
|
char 1 101
|
|
char 1 99
|
|
char 1 116
|
|
char 1 105
|
|
char 1 110
|
|
char 1 103
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 32
|
|
char 1 116
|
|
char 1 111
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 46
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $464
|
|
char 1 94
|
|
char 1 49
|
|
char 1 67
|
|
char 1 111
|
|
char 1 117
|
|
char 1 108
|
|
char 1 100
|
|
char 1 32
|
|
char 1 110
|
|
char 1 111
|
|
char 1 116
|
|
char 1 32
|
|
char 1 108
|
|
char 1 105
|
|
char 1 110
|
|
char 1 107
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 32
|
|
char 1 116
|
|
char 1 111
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 44
|
|
char 1 32
|
|
char 1 119
|
|
char 1 97
|
|
char 1 121
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 108
|
|
char 1 105
|
|
char 1 109
|
|
char 1 105
|
|
char 1 116
|
|
char 1 32
|
|
char 1 104
|
|
char 1 105
|
|
char 1 116
|
|
char 1 46
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $444
|
|
char 1 94
|
|
char 1 51
|
|
char 1 83
|
|
char 1 105
|
|
char 1 110
|
|
char 1 99
|
|
char 1 101
|
|
char 1 32
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 115
|
|
char 1 32
|
|
char 1 99
|
|
char 1 97
|
|
char 1 110
|
|
char 1 110
|
|
char 1 111
|
|
char 1 116
|
|
char 1 32
|
|
char 1 98
|
|
char 1 101
|
|
char 1 32
|
|
char 1 99
|
|
char 1 111
|
|
char 1 110
|
|
char 1 110
|
|
char 1 101
|
|
char 1 99
|
|
char 1 116
|
|
char 1 101
|
|
char 1 100
|
|
char 1 44
|
|
char 1 32
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 32
|
|
char 1 104
|
|
char 1 97
|
|
char 1 115
|
|
char 1 32
|
|
char 1 98
|
|
char 1 101
|
|
char 1 101
|
|
char 1 110
|
|
char 1 32
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 103
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 97
|
|
char 1 115
|
|
char 1 32
|
|
char 1 111
|
|
char 1 110
|
|
char 1 108
|
|
char 1 121
|
|
char 1 45
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 119
|
|
char 1 97
|
|
char 1 114
|
|
char 1 100
|
|
char 1 32
|
|
char 1 97
|
|
char 1 110
|
|
char 1 100
|
|
char 1 32
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 32
|
|
char 1 104
|
|
char 1 97
|
|
char 1 115
|
|
char 1 32
|
|
char 1 98
|
|
char 1 101
|
|
char 1 101
|
|
char 1 110
|
|
char 1 32
|
|
char 1 102
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 103
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 97
|
|
char 1 115
|
|
char 1 32
|
|
char 1 111
|
|
char 1 110
|
|
char 1 108
|
|
char 1 121
|
|
char 1 45
|
|
char 1 98
|
|
char 1 97
|
|
char 1 99
|
|
char 1 107
|
|
char 1 119
|
|
char 1 97
|
|
char 1 114
|
|
char 1 100
|
|
char 1 46
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $443
|
|
char 1 94
|
|
char 1 49
|
|
char 1 67
|
|
char 1 111
|
|
char 1 117
|
|
char 1 108
|
|
char 1 100
|
|
char 1 32
|
|
char 1 110
|
|
char 1 111
|
|
char 1 116
|
|
char 1 32
|
|
char 1 108
|
|
char 1 105
|
|
char 1 110
|
|
char 1 107
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 32
|
|
char 1 116
|
|
char 1 111
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 44
|
|
char 1 32
|
|
char 1 117
|
|
char 1 110
|
|
char 1 114
|
|
char 1 101
|
|
char 1 97
|
|
char 1 99
|
|
char 1 104
|
|
char 1 97
|
|
char 1 98
|
|
char 1 108
|
|
char 1 101
|
|
char 1 32
|
|
char 1 98
|
|
char 1 121
|
|
char 1 32
|
|
char 1 110
|
|
char 1 111
|
|
char 1 100
|
|
char 1 101
|
|
char 1 32
|
|
char 1 98
|
|
char 1 114
|
|
char 1 97
|
|
char 1 110
|
|
char 1 99
|
|
char 1 104
|
|
char 1 105
|
|
char 1 110
|
|
char 1 103
|
|
char 1 46
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $339
|
|
char 1 94
|
|
char 1 51
|
|
char 1 80
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 32
|
|
char 1 105
|
|
char 1 115
|
|
char 1 32
|
|
char 1 110
|
|
char 1 111
|
|
char 1 116
|
|
char 1 32
|
|
char 1 99
|
|
char 1 111
|
|
char 1 110
|
|
char 1 110
|
|
char 1 101
|
|
char 1 99
|
|
char 1 116
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 116
|
|
char 1 111
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 82
|
|
char 1 101
|
|
char 1 112
|
|
char 1 97
|
|
char 1 105
|
|
char 1 114
|
|
char 1 105
|
|
char 1 110
|
|
char 1 103
|
|
char 1 46
|
|
char 1 46
|
|
char 1 46
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $270
|
|
char 1 94
|
|
char 1 51
|
|
char 1 87
|
|
char 1 80
|
|
char 1 70
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 115
|
|
char 1 77
|
|
char 1 111
|
|
char 1 100
|
|
char 1 105
|
|
char 1 102
|
|
char 1 121
|
|
char 1 58
|
|
char 1 32
|
|
char 1 87
|
|
char 1 97
|
|
char 1 121
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 32
|
|
char 1 100
|
|
char 1 111
|
|
char 1 101
|
|
char 1 115
|
|
char 1 32
|
|
char 1 110
|
|
char 1 111
|
|
char 1 116
|
|
char 1 32
|
|
char 1 101
|
|
char 1 120
|
|
char 1 105
|
|
char 1 115
|
|
char 1 116
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $220
|
|
char 1 94
|
|
char 1 51
|
|
char 1 87
|
|
char 1 97
|
|
char 1 121
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 105
|
|
char 1 110
|
|
char 1 100
|
|
char 1 101
|
|
char 1 120
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 32
|
|
char 1 115
|
|
char 1 104
|
|
char 1 111
|
|
char 1 117
|
|
char 1 108
|
|
char 1 100
|
|
char 1 32
|
|
char 1 101
|
|
char 1 120
|
|
char 1 105
|
|
char 1 115
|
|
char 1 116
|
|
char 1 44
|
|
char 1 32
|
|
char 1 98
|
|
char 1 117
|
|
char 1 116
|
|
char 1 32
|
|
char 1 100
|
|
char 1 111
|
|
char 1 101
|
|
char 1 115
|
|
char 1 32
|
|
char 1 110
|
|
char 1 111
|
|
char 1 116
|
|
char 1 32
|
|
char 1 40
|
|
char 1 63
|
|
char 1 41
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $212
|
|
char 1 94
|
|
char 1 51
|
|
char 1 87
|
|
char 1 97
|
|
char 1 121
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 110
|
|
char 1 117
|
|
char 1 109
|
|
char 1 98
|
|
char 1 101
|
|
char 1 114
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 32
|
|
char 1 100
|
|
char 1 111
|
|
char 1 101
|
|
char 1 115
|
|
char 1 32
|
|
char 1 110
|
|
char 1 111
|
|
char 1 116
|
|
char 1 32
|
|
char 1 101
|
|
char 1 120
|
|
char 1 105
|
|
char 1 115
|
|
char 1 116
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $183
|
|
char 1 94
|
|
char 1 49
|
|
char 1 69
|
|
char 1 82
|
|
char 1 82
|
|
char 1 79
|
|
char 1 82
|
|
char 1 58
|
|
char 1 32
|
|
char 1 67
|
|
char 1 111
|
|
char 1 117
|
|
char 1 108
|
|
char 1 100
|
|
char 1 32
|
|
char 1 110
|
|
char 1 111
|
|
char 1 116
|
|
char 1 32
|
|
char 1 97
|
|
char 1 108
|
|
char 1 108
|
|
char 1 111
|
|
char 1 99
|
|
char 1 97
|
|
char 1 116
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 109
|
|
char 1 101
|
|
char 1 109
|
|
char 1 111
|
|
char 1 114
|
|
char 1 121
|
|
char 1 32
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 32
|
|
char 1 119
|
|
char 1 97
|
|
char 1 121
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $178
|
|
char 1 94
|
|
char 1 51
|
|
char 1 87
|
|
char 1 97
|
|
char 1 114
|
|
char 1 110
|
|
char 1 105
|
|
char 1 110
|
|
char 1 103
|
|
char 1 58
|
|
char 1 32
|
|
char 1 87
|
|
char 1 97
|
|
char 1 121
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 108
|
|
char 1 105
|
|
char 1 109
|
|
char 1 105
|
|
char 1 116
|
|
char 1 32
|
|
char 1 104
|
|
char 1 105
|
|
char 1 116
|
|
char 1 32
|
|
char 1 40
|
|
char 1 37
|
|
char 1 105
|
|
char 1 41
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $174
|
|
char 1 94
|
|
char 1 49
|
|
char 1 70
|
|
char 1 65
|
|
char 1 84
|
|
char 1 65
|
|
char 1 76
|
|
char 1 32
|
|
char 1 69
|
|
char 1 82
|
|
char 1 82
|
|
char 1 79
|
|
char 1 82
|
|
char 1 58
|
|
char 1 32
|
|
char 1 67
|
|
char 1 111
|
|
char 1 117
|
|
char 1 108
|
|
char 1 100
|
|
char 1 32
|
|
char 1 110
|
|
char 1 111
|
|
char 1 116
|
|
char 1 32
|
|
char 1 97
|
|
char 1 108
|
|
char 1 108
|
|
char 1 111
|
|
char 1 99
|
|
char 1 97
|
|
char 1 116
|
|
char 1 101
|
|
char 1 100
|
|
char 1 32
|
|
char 1 109
|
|
char 1 101
|
|
char 1 109
|
|
char 1 111
|
|
char 1 114
|
|
char 1 121
|
|
char 1 32
|
|
char 1 102
|
|
char 1 111
|
|
char 1 114
|
|
char 1 32
|
|
char 1 119
|
|
char 1 97
|
|
char 1 121
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $166
|
|
char 1 94
|
|
char 1 51
|
|
char 1 87
|
|
char 1 97
|
|
char 1 121
|
|
char 1 112
|
|
char 1 111
|
|
char 1 105
|
|
char 1 110
|
|
char 1 116
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 10
|
|
char 1 70
|
|
char 1 108
|
|
char 1 97
|
|
char 1 103
|
|
char 1 115
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 32
|
|
char 1 40
|
|
char 1 37
|
|
char 1 115
|
|
char 1 41
|
|
char 1 32
|
|
char 1 40
|
|
char 1 119
|
|
char 1 37
|
|
char 1 102
|
|
char 1 41
|
|
char 1 10
|
|
char 1 79
|
|
char 1 114
|
|
char 1 105
|
|
char 1 103
|
|
char 1 105
|
|
char 1 110
|
|
char 1 32
|
|
char 1 45
|
|
char 1 32
|
|
char 1 40
|
|
char 1 37
|
|
char 1 105
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 32
|
|
char 1 37
|
|
char 1 105
|
|
char 1 41
|
|
char 1 10
|
|
char 1 0
|
|
align 1
|
|
LABELV $124
|
|
char 1 117
|
|
char 1 110
|
|
char 1 107
|
|
char 1 110
|
|
char 1 111
|
|
char 1 119
|
|
char 1 110
|
|
char 1 0
|
|
char 1 0
|
|
align 1
|
|
LABELV $84
|
|
char 1 110
|
|
char 1 111
|
|
char 1 110
|
|
char 1 101
|
|
char 1 0
|
|
char 1 0
|