. What does everything mean (especially the numbers)?
Code:
main <0:@X:\Homeworld2\Data\AI\classdef.lua> (293 instructions/1172 bytes at 00337648)
0 params, 23 stacks, 0 locals, 89 strings, 0 numbers, 2 functions, 268 lines
1 [11] GETGLOBAL 0 ; aitrace
2 [11] PUSHSTRING 1 ; "CPU: CLASSDEF LOADED"
3 [11] CALL 0 0
4 [15] CREATETABLE 0
5 [15] SETGLOBAL 2 ; squadclass
6 [18] GETGLOBAL 2 ; squadclass
7 [18] GETGLOBAL 3 ; eMotherShip
8 [18] CREATETABLE 3
9 [19] GETGLOBAL 4 ; HGN_MOTHERSHIP
10 [21] GETGLOBAL 5 ; VGR_MOTHERSHIP
11 [22] GETGLOBAL 6 ; VGR_MOTHERSHIP_MAKAAN
12 [22] SETLIST 0 3
13 [23] SETTABLE 3 3
14 [26] GETGLOBAL 2 ; squadclass
15 [26] GETGLOBAL 7 ; eCollector
16 [26] CREATETABLE 2
17 [27] GETGLOBAL 8 ; HGN_RESOURCECOLLECTOR
18 [29] GETGLOBAL 9 ; VGR_RESOURCECOLLECTOR
19 [29] SETLIST 0 2
20 [30] SETTABLE 3 3
21 [33] GETGLOBAL 2 ; squadclass
22 [33] GETGLOBAL 10 ; eScout
23 [33] CREATETABLE 8
24 [34] GETGLOBAL 11 ; HGN_SCOUT
25 [35] GETGLOBAL 12 ; HGN_PROBE
26 [36] GETGLOBAL 13 ; HGN_PROXIMITYSENSOR
27 [37] GETGLOBAL 14 ; HGN_ECMPROBE
28 [39] GETGLOBAL 15 ; VGR_SCOUT
29 [40] GETGLOBAL 16 ; VGR_PROBE
30 [41] GETGLOBAL 17 ; VGR_PROBE_PROX
31 [42] GETGLOBAL 18 ; VGR_PROBE_ECM
32 [42] SETLIST 0 8
33 [43] SETTABLE 3 3
34 [46] GETGLOBAL 2 ; squadclass
35 [46] GETGLOBAL 19 ; eRefinery
36 [46] CREATETABLE 2
37 [47] GETGLOBAL 20 ; HGN_RESOURCECONTROLLER
38 [49] GETGLOBAL 21 ; VGR_RESOURCECONTROLLER
39 [49] SETLIST 0 2
40 [50] SETTABLE 3 3
41 [53] GETGLOBAL 2 ; squadclass
42 [53] GETGLOBAL 22 ; eBuilder
43 [53] CREATETABLE 7
44 [54] GETGLOBAL 4 ; HGN_MOTHERSHIP
45 [55] GETGLOBAL 23 ; HGN_CARRIER
46 [56] GETGLOBAL 24 ; HGN_SHIPYARD
47 [58] GETGLOBAL 5 ; VGR_MOTHERSHIP
48 [59] GETGLOBAL 6 ; VGR_MOTHERSHIP_MAKAAN
49 [60] GETGLOBAL 25 ; VGR_CARRIER
50 [61] GETGLOBAL 26 ; VGR_SHIPYARD
51 [61] SETLIST 0 7
52 [62] SETTABLE 3 3
53 [65] GETGLOBAL 2 ; squadclass
54 [65] GETGLOBAL 27 ; eDropOff
55 [65] CREATETABLE 9
56 [66] GETGLOBAL 4 ; HGN_MOTHERSHIP
57 [67] GETGLOBAL 23 ; HGN_CARRIER
58 [68] GETGLOBAL 24 ; HGN_SHIPYARD
59 [69] GETGLOBAL 20 ; HGN_RESOURCECONTROLLER
60 [71] GETGLOBAL 5 ; VGR_MOTHERSHIP
61 [72] GETGLOBAL 6 ; VGR_MOTHERSHIP_MAKAAN
62 [73] GETGLOBAL 25 ; VGR_CARRIER
63 [74] GETGLOBAL 26 ; VGR_SHIPYARD
64 [75] GETGLOBAL 21 ; VGR_RESOURCECONTROLLER
65 [75] SETLIST 0 9
66 [76] SETTABLE 3 3
67 [79] GETGLOBAL 2 ; squadclass
68 [79] GETGLOBAL 28 ; eSalvageDropOff
69 [79] CREATETABLE 7
70 [80] GETGLOBAL 4 ; HGN_MOTHERSHIP
71 [81] GETGLOBAL 23 ; HGN_CARRIER
72 [82] GETGLOBAL 24 ; HGN_SHIPYARD
73 [83] GETGLOBAL 5 ; VGR_MOTHERSHIP
74 [84] GETGLOBAL 6 ; VGR_MOTHERSHIP_MAKAAN
75 [85] GETGLOBAL 25 ; VGR_CARRIER
76 [86] GETGLOBAL 26 ; VGR_SHIPYARD
77 [86] SETLIST 0 7
78 [87] SETTABLE 3 3
79 [90] GETGLOBAL 2 ; squadclass
80 [90] GETGLOBAL 29 ; eFighter
81 [90] CREATETABLE 6
82 [91] GETGLOBAL 30 ; HGN_INTERCEPTOR
83 [92] GETGLOBAL 31 ; HGN_ATTACKBOMBER
84 [93] GETGLOBAL 32 ; HGN_ATTACKBOMBERELITE
85 [95] GETGLOBAL 33 ; VGR_INTERCEPTOR
86 [96] GETGLOBAL 34 ; VGR_BOMBER
87 [97] GETGLOBAL 35 ; VGR_LANCEFIGHTER
88 [97] SETLIST 0 6
89 [98] SETTABLE 3 3
90 [101] GETGLOBAL 2 ; squadclass
91 [101] GETGLOBAL 36 ; eCorvette
92 [101] CREATETABLE 7
93 [102] GETGLOBAL 37 ; HGN_ASSAULTCORVETTE
94 [103] GETGLOBAL 38 ; HGN_PULSARCORVETTE
95 [104] GETGLOBAL 39 ; HGN_MINELAYERCORVETTE
96 [106] GETGLOBAL 40 ; VGR_MISSILECORVETTE
97 [107] GETGLOBAL 41 ; VGR_LASERCORVETTE
98 [108] GETGLOBAL 42 ; VGR_MINELAYERCORVETTE
99 [109] GETGLOBAL 43 ; VGR_COMMANDCORVETTE
100 [109] SETLIST 0 7
101 [110] SETTABLE 3 3
102 [113] GETGLOBAL 2 ; squadclass
103 [113] GETGLOBAL 44 ; eFrigate
104 [113] CREATETABLE 10
105 [114] GETGLOBAL 45 ; HGN_ASSAULTFRIGATE
106 [115] GETGLOBAL 46 ; HGN_DEFENSEFIELDFRIGATE
107 [116] GETGLOBAL 47 ; HGN_IONCANNONFRIGATE
108 [117] GETGLOBAL 48 ; HGN_MARINEFRIGATE
109 [118] GETGLOBAL 49 ; HGN_MARINEFRIGATE_SOBAN
110 [119] GETGLOBAL 50 ; HGN_TORPEDOFRIGATE
111 [120] GETGLOBAL 51 ; HGN_TORPEDOFRIGATEELITE
112 [122] GETGLOBAL 52 ; VGR_ASSAULTFRIGATE
113 [123] GETGLOBAL 53 ; VGR_HEAVYMISSILEFRIGATE
114 [124] GETGLOBAL 54 ; VGR_INFILTRATORFRIGATE
115 [124] SETLIST 0 10
116 [126] SETTABLE 3 3
117 [129] GETGLOBAL 2 ; squadclass
118 [129] GETGLOBAL 55 ; eCapture
119 [129] CREATETABLE 3
120 [130] GETGLOBAL 48 ; HGN_MARINEFRIGATE
121 [131] GETGLOBAL 49 ; HGN_MARINEFRIGATE_SOBAN
122 [132] GETGLOBAL 54 ; VGR_INFILTRATORFRIGATE
123 [132] SETLIST 0 3
124 [133] SETTABLE 3 3
125 [136] GETGLOBAL 2 ; squadclass
126 [136] GETGLOBAL 56 ; eShield
127 [136] CREATETABLE 1
128 [137] GETGLOBAL 46 ; HGN_DEFENSEFIELDFRIGATE
129 [137] SETLIST 0 1
130 [138] SETTABLE 3 3
131 [141] GETGLOBAL 2 ; squadclass
132 [141] GETGLOBAL 57 ; ePlatform
133 [141] CREATETABLE 5
134 [142] GETGLOBAL 58 ; HGN_GUNTURRET
135 [143] GETGLOBAL 59 ; HGN_IONTURRET
136 [145] GETGLOBAL 60 ; VGR_WEAPONPLATFORM_GUN
137 [146] GETGLOBAL 61 ; VGR_WEAPONPLATFORM_MISSILE
138 [147] GETGLOBAL 62 ; VGR_HYPERSPACE_PLATFORM
139 [147] SETLIST 0 5
140 [148] SETTABLE 3 3
141 [151] GETGLOBAL 2 ; squadclass
142 [151] GETGLOBAL 63 ; eAntiFighter
143 [151] CREATETABLE 7
144 [152] GETGLOBAL 30 ; HGN_INTERCEPTOR
145 [153] GETGLOBAL 37 ; HGN_ASSAULTCORVETTE
146 [154] GETGLOBAL 45 ; HGN_ASSAULTFRIGATE
147 [155] GETGLOBAL 58 ; HGN_GUNTURRET
148 [157] GETGLOBAL 33 ; VGR_INTERCEPTOR
149 [158] GETGLOBAL 52 ; VGR_ASSAULTFRIGATE
150 [159] GETGLOBAL 60 ; VGR_WEAPONPLATFORM_GUN
151 [159] SETLIST 0 7
152 [160] SETTABLE 3 3
153 [163] GETGLOBAL 2 ; squadclass
154 [163] GETGLOBAL 64 ; eAntiCorvette
155 [163] CREATETABLE 7
156 [164] GETGLOBAL 38 ; HGN_PULSARCORVETTE
157 [165] GETGLOBAL 50 ; HGN_TORPEDOFRIGATE
158 [166] GETGLOBAL 51 ; HGN_TORPEDOFRIGATEELITE
159 [167] GETGLOBAL 65 ; HGN_DESTROYER
160 [169] GETGLOBAL 35 ; VGR_LANCEFIGHTER
161 [170] GETGLOBAL 66 ; VGR_LAZERCORVETTE
162 [171] GETGLOBAL 67 ; VGR_DESTROYER
163 [171] SETLIST 0 7
164 [172] SETTABLE 3 3
165 [175] GETGLOBAL 2 ; squadclass
166 [175] GETGLOBAL 68 ; eAntiFrigate
167 [175] CREATETABLE 15
168 [176] GETGLOBAL 59 ; HGN_IONTURRET
169 [177] GETGLOBAL 31 ; HGN_ATTACKBOMBER
170 [178] GETGLOBAL 32 ; HGN_ATTACKBOMBERELITE
171 [179] GETGLOBAL 47 ; HGN_IONCANNONFRIGATE
172 [180] GETGLOBAL 48 ; HGN_MARINEFRIGATE
173 [181] GETGLOBAL 49 ; HGN_MARINEFRIGATE_SOBAN
174 [182] GETGLOBAL 46 ; HGN_DEFENSEFIELDFRIGATE
175 [183] GETGLOBAL 65 ; HGN_DESTROYER
176 [184] GETGLOBAL 69 ; HGN_BATTLECRUISER
177 [186] GETGLOBAL 34 ; VGR_BOMBER
178 [187] GETGLOBAL 53 ; VGR_HEAVYMISSILEFRIGATE
179 [188] GETGLOBAL 54 ; VGR_INFILTRATORFRIGATE
180 [189] GETGLOBAL 67 ; VGR_DESTROYER
181 [190] GETGLOBAL 70 ; VGR_BATTLECRUISER
182 [191] GETGLOBAL 61 ; VGR_WEAPONPLATFORM_MISSILE
183 [191] SETLIST 0 15
184 [192] SETTABLE 3 3
185 [195] GETGLOBAL 2 ; squadclass
186 [195] GETGLOBAL 71 ; eCapital
187 [195] CREATETABLE 12
188 [196] GETGLOBAL 23 ; HGN_CARRIER
189 [197] GETGLOBAL 4 ; HGN_MOTHERSHIP
190 [198] GETGLOBAL 24 ; HGN_SHIPYARD
191 [199] GETGLOBAL 65 ; HGN_DESTROYER
192 [200] GETGLOBAL 69 ; HGN_BATTLECRUISER
193 [201] GETGLOBAL 72 ; HGN_DREADNAUGHT
194 [203] GETGLOBAL 25 ; VGR_CARRIER
195 [204] GETGLOBAL 5 ; VGR_MOTHERSHIP
196 [205] GETGLOBAL 6 ; VGR_MOTHERSHIP_MAKAAN
197 [206] GETGLOBAL 26 ; VGR_SHIPYARD
198 [207] GETGLOBAL 67 ; VGR_DESTROYER
199 [208] GETGLOBAL 70 ; VGR_BATTLECRUISER
200 [208] SETLIST 0 12
201 [209] SETTABLE 3 3
202 [213] GETGLOBAL 2 ; squadclass
203 [213] GETGLOBAL 73 ; eNonThreat
204 [213] CREATETABLE 20
205 [214] GETGLOBAL 8 ; HGN_RESOURCECOLLECTOR
206 [215] GETGLOBAL 9 ; VGR_RESOURCECOLLECTOR
207 [216] GETGLOBAL 20 ; HGN_RESOURCECONTROLLER
208 [217] GETGLOBAL 21 ; VGR_RESOURCECONTROLLER
209 [219] GETGLOBAL 23 ; HGN_CARRIER
210 [220] GETGLOBAL 4 ; HGN_MOTHERSHIP
211 [221] GETGLOBAL 24 ; HGN_SHIPYARD
212 [222] GETGLOBAL 25 ; VGR_CARRIER
213 [223] GETGLOBAL 5 ; VGR_MOTHERSHIP
214 [224] GETGLOBAL 6 ; VGR_MOTHERSHIP_MAKAAN
215 [225] GETGLOBAL 26 ; VGR_SHIPYARD
216 [227] GETGLOBAL 11 ; HGN_SCOUT
217 [228] GETGLOBAL 12 ; HGN_PROBE
218 [229] GETGLOBAL 13 ; HGN_PROXIMITYSENSOR
219 [230] GETGLOBAL 14 ; HGN_ECMPROBE
220 [232] GETGLOBAL 15 ; VGR_SCOUT
221 [233] GETGLOBAL 16 ; VGR_PROBE
222 [234] GETGLOBAL 17 ; VGR_PROBE_PROX
223 [235] GETGLOBAL 18 ; VGR_PROBE_ECM
224 [237] GETGLOBAL 62 ; VGR_HYPERSPACE_PLATFORM
225 [237] SETLIST 0 20
226 [238] SETTABLE 3 3
227 [241] GETGLOBAL 2 ; squadclass
228 [241] GETGLOBAL 74 ; eHyperspaceGate
229 [241] CREATETABLE 1
230 [244] GETGLOBAL 62 ; VGR_HYPERSPACE_PLATFORM
231 [244] SETLIST 0 1
232 [244] SETTABLE 3 3
233 [247] GETGLOBAL 2 ; squadclass
234 [247] GETGLOBAL 75 ; eSubSystemAttackers
235 [247] CREATETABLE 3
236 [249] GETGLOBAL 31 ; HGN_ATTACKBOMBER
237 [250] GETGLOBAL 32 ; HGN_ATTACKBOMBERELITE
238 [251] GETGLOBAL 34 ; VGR_BOMBER
239 [251] SETLIST 0 3
240 [252] SETTABLE 3 3
241 [255] GETGLOBAL 2 ; squadclass
242 [255] GETGLOBAL 76 ; eNonCriticalSubSys
243 [255] CREATETABLE 5
244 [257] GETGLOBAL 77 ; CLOAKGENERATOR
245 [258] GETGLOBAL 78 ; FIRECONTROLTOWER
246 [259] GETGLOBAL 79 ; HYPERSPACEINHIBITOR
247 [260] GETGLOBAL 80 ; ADVANCEDARRAY
248 [261] GETGLOBAL 81 ; CLOAKSENSOR
249 [261] SETLIST 0 5
250 [262] SETTABLE 3 3
251 [265] GETGLOBAL 2 ; squadclass
252 [265] GETGLOBAL 82 ; eGoodRepairAttackers
253 [265] CREATETABLE 10
254 [267] GETGLOBAL 30 ; HGN_INTERCEPTOR
255 [268] GETGLOBAL 45 ; HGN_ASSAULTFRIGATE
256 [269] GETGLOBAL 47 ; HGN_IONCANNONFRIGATE
257 [270] GETGLOBAL 65 ; HGN_DESTROYER
258 [271] GETGLOBAL 69 ; HGN_BATTLECRUISER
259 [273] GETGLOBAL 33 ; VGR_INTERCEPTOR
260 [274] GETGLOBAL 40 ; VGR_MISSILECORVETTE
261 [275] GETGLOBAL 52 ; VGR_ASSAULTFRIGATE
262 [276] GETGLOBAL 67 ; VGR_DESTROYER
263 [277] GETGLOBAL 70 ; VGR_BATTLECRUISER
264 [277] SETLIST 0 10
265 [279] SETTABLE 3 3
266 [286] GETGLOBAL 84 ; eMaxCount
267 [286] SETGLOBAL 83 ; eUselessShips
268 [287] GETGLOBAL 84 ; eMaxCount
269 [287] ADDI 1
270 [287] SETGLOBAL 85 ; eBattleCruiser
271 [289] GETGLOBAL 85 ; eBattleCruiser
272 [289] ADDI 1
273 [289] SETGLOBAL 86 ; sg_maxClasses
274 [292] GETGLOBAL 2 ; squadclass
275 [292] GETGLOBAL 83 ; eUselessShips
276 [292] CREATETABLE 3
277 [294] GETGLOBAL 39 ; HGN_MINELAYERCORVETTE
278 [296] GETGLOBAL 42 ; VGR_MINELAYERCORVETTE
279 [297] GETGLOBAL 43 ; VGR_COMMANDCORVETTE
280 [297] SETLIST 0 3
281 [298] SETTABLE 3 3
282 [301] GETGLOBAL 2 ; squadclass
283 [301] GETGLOBAL 85 ; eBattleCruiser
284 [301] CREATETABLE 2
285 [303] GETGLOBAL 69 ; HGN_BATTLECRUISER
286 [304] GETGLOBAL 70 ; VGR_BATTLECRUISER
287 [304] SETLIST 0 2
288 [305] SETTABLE 3 3
289 [315] CLOSURE 0 0 ; 00337C50
290 [315] SETGLOBAL 87 ; FastAddToClass
291 [345] CLOSURE 1 0 ; 00337D40
292 [345] SETGLOBAL 88 ; ClassInitialize
293 [345] END
function <311:@X:\Homeworld2\Data\AI\classdef.lua> (8 instructions/32 bytes at 00337C50)
2 params, 8 stacks, 5 locals, 1 string, 0 numbers, 0 functions, 6 lines
1 [312] GETLOCAL 0 ; tbl
2 [312] LFORPREP 5 ; to 8
3 [313] GETGLOBAL 0 ; AddToClass
4 [313] GETLOCAL 4 ; b
5 [313] GETLOCAL 1 ; classid
6 [313] CALL 5 0
7 [313] LFORLOOP -5 ; to 3
8 [315] END
function <317:@X:\Homeworld2\Data\AI\classdef.lua> (82 instructions/328 bytes at 00337D40)
0 params, 6 stacks, 3 locals, 38 strings, 0 numbers, 0 functions, 26 lines
1 [319] PUSHINT 0
2 [319] GETGLOBAL 0 ; sg_maxClasses
3 [319] PUSHINT 1
4 [319] FORPREP 9 ; to 14
5 [320] GETGLOBAL 1 ; squadclass
6 [320] GETINDEXED 0 ; i
7 [320] JMPF 5 ; to 13
8 [321] GETGLOBAL 2 ; FastAddToClass
9 [321] GETGLOBAL 1 ; squadclass
10 [321] GETINDEXED 0 ; i
11 [321] GETLOCAL 0 ; i
12 [321] CALL 3 0
13 [322] FORLOOP -9 ; to 5
14 [326] GETGLOBAL 3 ; AddClassName
15 [326] GETGLOBAL 4 ; eMotherShip
16 [326] PUSHSTRING 5 ; "Motherships"
17 [326] CALL 0 0
18 [327] GETGLOBAL 3 ; AddClassName
19 [327] GETGLOBAL 6 ; eCollector
20 [327] PUSHSTRING 7 ; "Collectors"
21 [327] CALL 0 0
22 [328] GETGLOBAL 3 ; AddClassName
23 [328] GETGLOBAL 8 ; eDropOff
24 [328] PUSHSTRING 9 ; "DropOffs"
25 [328] CALL 0 0
26 [329] GETGLOBAL 3 ; AddClassName
27 [329] GETGLOBAL 10 ; eFighter
28 [329] PUSHSTRING 11 ; "Fighters"
29 [329] CALL 0 0
30 [330] GETGLOBAL 3 ; AddClassName
31 [330] GETGLOBAL 12 ; eFrigate
32 [330] PUSHSTRING 13 ; "Frigates"
33 [330] CALL 0 0
34 [331] GETGLOBAL 3 ; AddClassName
35 [331] GETGLOBAL 14 ; eCorvette
36 [331] PUSHSTRING 15 ; "Corvettes"
37 [331] CALL 0 0
38 [332] GETGLOBAL 3 ; AddClassName
39 [332] GETGLOBAL 16 ; eCapital
40 [332] PUSHSTRING 17 ; "Capital"
41 [332] CALL 0 0
42 [333] GETGLOBAL 3 ; AddClassName
43 [333] GETGLOBAL 18 ; eAntiFighter
44 [333] PUSHSTRING 19 ; "AntiFighter"
45 [333] CALL 0 0
46 [334] GETGLOBAL 3 ; AddClassName
47 [334] GETGLOBAL 20 ; eAntiCorvette
48 [334] PUSHSTRING 21 ; "AntiCorvette"
49 [334] CALL 0 0
50 [335] GETGLOBAL 3 ; AddClassName
51 [335] GETGLOBAL 22 ; eAntiFrigate
52 [335] PUSHSTRING 23 ; "AntiFrigate"
53 [335] CALL 0 0
54 [336] GETGLOBAL 3 ; AddClassName
55 [336] GETGLOBAL 24 ; ePlatform
56 [336] PUSHSTRING 25 ; "Platform"
57 [336] CALL 0 0
58 [337] GETGLOBAL 3 ; AddClassName
59 [337] GETGLOBAL 26 ; eRefinery
60 [337] PUSHSTRING 27 ; "Refinery"
61 [337] CALL 0 0
62 [338] GETGLOBAL 3 ; AddClassName
63 [338] GETGLOBAL 28 ; eHyperspaceGate
64 [338] PUSHSTRING 29 ; "HypGates"
65 [338] CALL 0 0
66 [339] GETGLOBAL 3 ; AddClassName
67 [339] GETGLOBAL 30 ; eShield
68 [339] PUSHSTRING 31 ; "Shields"
69 [339] CALL 0 0
70 [340] GETGLOBAL 3 ; AddClassName
71 [340] GETGLOBAL 32 ; eCapture
72 [340] PUSHSTRING 33 ; "Capture"
73 [340] CALL 0 0
74 [341] GETGLOBAL 3 ; AddClassName
75 [341] GETGLOBAL 34 ; eSubSystemAttackers
76 [341] PUSHSTRING 35 ; "SubSysKillas"
77 [341] CALL 0 0
78 [342] GETGLOBAL 3 ; AddClassName
79 [342] GETGLOBAL 36 ; eBattleCruiser
80 [342] PUSHSTRING 37 ; "BattleCruiser"
81 [342] CALL 0 0
82 [345] END