Wing Commander
Reconstructed Win32 source (1996)
Loading...
Searching...
No Matches
objdata.c
Go to the documentation of this file.
1/**
2 * @file
3 * @ingroup data
4 * @brief Object definitions, animation streams and weapon display coordinates.
5 *
6 * Data only. The initialized tables precede their name literals, between the
7 * pilot-speech diagnostic and the navigation state. The original object
8 * name, and any code it had, are unknown.
9 */
10#include "wc1.h"
11
12/* Embedded animation command streams. Each command occupies the low word
13 * of a four-byte source record. The 21 arrays form one contiguous data run. */
14static unsigned int anAnimExplosion0[12] = {
15 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa000, 0
16}; /* 0x00466030 */
17static unsigned int anAnimExplosion1[22] = {
18 0, 0x406, 1, 0x406, 2, 0x406, 0x406, 3, 0x406, 0x406,
19 4, 0x406, 0x406, 0x406, 5, 0x406, 0x406, 0x406, 0x406,
20 0x406, 0xa000, 0
21}; /* 0x00466060 */
22static unsigned int anAnimExplosion2[14] = {
23 0, 0x406, 1, 0x406, 2, 0x406, 3, 0x406, 4, 0x406, 5,
24 6, 7, 0xa000
25}; /* 0x004660b8 */
26static unsigned int anAnimLaserSpark[8] = {
27 0, 1, 2, 3, 4, 5, 0xa000, 0
28}; /* 0x004660f0 */
29static unsigned int anAnimBlueSpark[6] = {
30 0, 1, 2, 3, 0xa000, 0
31}; /* 0x00466110 */
32static unsigned int anAnimRedSpark[6] = {
33 0, 1, 2, 3, 0xa000, 0
34}; /* 0x00466128 */
35static unsigned int anAnimSparkTrail[6] = {
36 0, 1, 2, 3, 0xa000, 0
37}; /* 0x00466140 */
38static unsigned int anAnimGirder[8] = {
39 0, 1, 2, 3, 4, 5, 0x9000, 0
40}; /* 0x00466158 */
41static unsigned int anAnimTubing[8] = {
42 6, 7, 8, 9, 10, 11, 0x9000, 0
43}; /* 0x00466178 */
44static unsigned int anAnimGlass[18] = {
45 12, 13, 14, 15, 16, 17, 18, 19, 0x92, 0x91, 0x90,
46 0x8f, 0x8e, 0x8d, 0x8c, 20, 0x9000, 0
47}; /* 0x00466198 */
48static unsigned int anAnimORing[8] = {
49 21, 22, 23, 24, 25, 26, 0x9000, 0
50}; /* 0x004661e0 */
51static unsigned int anAnimPipe[8] = {
52 27, 28, 29, 30, 31, 32, 0x9000, 0
53}; /* 0x00466200 */
54static unsigned int anAnimMetalSheet[14] = {
55 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0x9000
56}; /* 0x00466220 */
57static unsigned int anAnimWing[18] = {
58 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
59 27, 28, 0x9000, 0
60}; /* 0x00466258 */
61static unsigned int anAnimMine[14] = {
62 0, 1, 2, 0x41, 0x9000, 0, 0, 1, 2, 3, 4, 5, 0x9000, 0
63}; /* 0x004662a0 */
64static unsigned int anAnimAsteroidForward[16] = {
65 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0x9000, 0
66}; /* 0x004662d8 */
67static unsigned int anAnimAsteroidShortForward[14] = {
68 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0x9000
69}; /* 0x00466318 */
70static unsigned int anAnimAsteroidReverse[16] = {
71 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0x9000, 0
72}; /* 0x00466350 */
73static unsigned int anAnimAsteroidShortReverse[14] = {
74 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0x9000
75}; /* 0x00466390 */
76static unsigned int anAnimEjectedPilot[14] = {
77 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0x9000
78}; /* 0x004663c8 */
79static unsigned int anAnimHyperspaceJumpFlash[22] = {
80 0, 0x402, 0x404, 0x404, 0x408, 0x408, 0x408, 0x410,
81 0x410, 0x410, 0x410, 0x820, 0x820, 0x810, 0x808, 0x804,
82 1, 0x804, 0x804, 0x804, 0x804, 0xa000
83}; /* 0x00466400 */
84
85/* 0x00466458 */
87 /* 0: Hornet */
88 {
89 "Hornet",
90 OBJECT_CLASS_SHIP, 100, 125, 1024, 5, 200000, 5, 4000,
91 42, 30, 0, 819, 8, 9, 8, 900,
92 {
93 5,
94 24, 0, 0, 0, 0, 0, 0,
95 24, 0, 0, 0, 1, 0, 0,
96 28, 0, 0, 0, 2, 0, 0,
97 28, 0, 0, 0, 3, 0, 1,
98 29, 0, 0, 0, 4, 0, 1
99 },
100 40, 40, 45, 40, 30, 30, 0, 0
101 },
102 /* 1: Rapier */
103 {
104 "Rapier",
105 OBJECT_CLASS_SHIP, 120, 135, 1024, 3, 250000, 6, 6000,
106 45, 25, 0, 1075, 10, 10, 10, 1000,
107 {
108 9,
109 24, 0, 0, 0, 14, 0, 1,
110 24, 0, 0, 0, 18, 0, 1,
111 25, 0, 0, 0, 12, 0, 0,
112 25, 0, 0, 0, 20, 0, 0,
113 31, 0, 0, 0, 16, 0, 1,
114 30, 0, 0, 0, 15, 0, 0,
115 30, 0, 0, 0, 17, 0, 1,
116 28, 0, 0, 0, 13, 0, 1,
117 28, 0, 0, 0, 19, 0, 1
118 },
119 80, 75, 60, 55, 50, 50, 0, 0
120 },
121 /* 2: Scimitar */
122 {
123 "Scimitar",
124 OBJECT_CLASS_SHIP, 165, 160, 1152, 6, 280000, 7, 6000,
125 36, 15, 0, 614, 6, 6, 7, 1300,
126 {
127 7,
128 26, 0, 0, 0, 6, 0, 0,
129 26, 0, 0, 0, 11, 0, 0,
130 28, 0, 0, 0, 5, 0, 0,
131 28, 0, 0, 0, 10, 0, 1,
132 29, 0, 0, 0, 7, 0, 1,
133 29, 0, 0, 0, 8, 0, 1,
134 29, 0, 0, 0, 9, 0, 1
135 },
136 60, 50, 85, 80, 65, 65, 0, 0
137 },
138 /* 3: Raptor */
139 {
140 "Raptor",
141 OBJECT_CLASS_SHIP, 180, 200, 1152, 3, 300000, 8, 8000,
142 40, 25, 0, 588, 6, 5, 6, 2000,
143 {
144 10,
145 25, 0, 0, 0, 23, 0, 0,
146 25, 0, 0, 0, 28, 0, 0,
147 26, 0, 0, 0, 21, 0, 1,
148 26, 0, 0, 0, 30, 0, 1,
149 29, 0, 0, 0, 22, 0, 0,
150 29, 0, 0, 0, 29, 0, 1,
151 31, 0, 0, 0, 24, 0, 1,
152 31, 0, 0, 0, 27, 0, 1,
153 30, 0, 0, 0, 26, 0, 1,
154 33, 0, 0, 0, 25, 0, 1
155 },
156 70, 70, 100, 90, 80, 80, 0, 0
157 },
158 /* 4: Venture */
159 {
160 "Venture",
161 OBJECT_CLASS_CAPITAL_SHIP, 240, 400, 1024, 5, 200000, 70,
162 20000, 25, 10, 0, 256, 3, 3, 3, 4000,
163 {
164 2,
165 27, 0, 0, 0, 51, 0, 0,
166 27, 0, 0, 0, 50, 0, 0
167 },
168 150, 150, 110, 100, 100, 110, 0, 0
169 },
170 /* 5: Dilligent */
171 {
172 "Dilligent",
173 OBJECT_CLASS_CAPITAL_SHIP, 240, 400, 1024, 4, 200000, 60,
174 20000, 15, 10, 0, 128, 2, 2, 2, 10000,
175 {
176 1,
177 27, 0, 0, 0, 54, 0, 0
178 },
179 120, 120, 80, 80, 60, 60, 0, 0
180 },
181 /* 6: Drayman */
182 {
183 "Drayman",
184 OBJECT_CLASS_CAPITAL_SHIP, 240, 400, 1024, 4, 200000, 60,
185 10000, 15, 10, 0, 128, 2, 2, 2, 20000,
186 {
187 1,
188 27, 0, 0, 0, 54, 0, 0
189 },
190 120, 120, 80, 80, 60, 60, 0, 0
191 },
192 /* 7: Exeter */
193 {
194 "Exeter",
195 OBJECT_CLASS_CAPITAL_SHIP, 500, 5000, 2048, 2, 200000, 200,
196 30000, 20, 15, 0, 256, 2, 2, 2, 20000,
197 {
198 5,
199 31, 0, 0, 0, 47, 0, 0,
200 27, 0, 0, 0, 48, 0, 0,
201 27, 0, 0, 0, 49, 0, 0,
202 27, 0, 0, 0, 50, 0, 0,
203 27, 0, 0, 0, 51, 0, 0
204 },
205 240, 240, 220, 200, 200, 200, 0, 0
206 },
207 /* 8: Tiger's Claw */
208 {
209 "Tiger's Claw",
210 OBJECT_CLASS_CAPITAL_SHIP, 700, 10000, 4096, 1, 200000,
211 560, 30000, 0, 0, 0, 256, 1, 1, 1, 20000,
212 {
213 8,
214 27, 0, 0, 0, 33, 0, 0,
215 27, 0, 0, 0, 34, 0, 0,
216 27, 0, 0, 0, 35, 0, 0,
217 27, 0, 0, 0, 36, 0, 0,
218 27, 0, 0, 0, 37, 0, 0,
219 27, 0, 0, 0, 38, 0, 0,
220 27, 0, 0, 0, 39, 0, 0,
221 27, 0, 0, 0, 40, 0, 0
222 },
223 300, 300, 240, 200, 250, 250, 0, 0
224 },
225 /* 9: Salthi */
226 {
227 "Salthi",
228 OBJECT_CLASS_SHIP, 120, 120, 1024, 10, 200000, 5, 4000,
229 48, 30, 0, 972, 14, 12, 22, 1000,
230 {
231 3,
232 24, 0, 0, 0, 0, 0, 0,
233 24, 0, 0, 0, 1, 0, 0,
234 28, 0, 0, 0, 31, 0, 1
235 },
236 35, 35, 30, 20, 15, 15, 0, 0
237 },
238 /* 10: Dralthi */
239 {
240 "Dralthi",
241 OBJECT_CLASS_SHIP, 160, 140, 1024, 6, 200000, 7, 6000,
242 40, 23, 0, 768, 10, 14, 10, 1200,
243 {
244 7,
245 24, 0, 0, 0, 0, 0, 0,
246 24, 0, 0, 0, 1, 0, 0,
247 33, 0, 0, 0, 32, 0, 0,
248 33, 0, 0, 0, 32, 0, 1,
249 33, 0, 0, 0, 32, 0, 1,
250 29, 0, 0, 0, 31, 0, 0,
251 29, 0, 0, 0, 31, 0, 1
252 },
253 50, 50, 45, 35, 30, 30, 0, 0
254 },
255 /* 11: Krant */
256 {
257 "Krant",
258 OBJECT_CLASS_SHIP, 140, 126, 1024, 5, 200000, 6, 6000,
259 36, 20, 0, 716, 7, 10, 7, 1200,
260 {
261 6,
262 24, 0, 0, 0, 0, 0, 0,
263 24, 0, 0, 0, 1, 0, 0,
264 30, 0, 0, 0, 31, 0, 1,
265 29, 0, 0, 0, 31, 0, 0,
266 29, 0, 0, 0, 31, 0, 1,
267 29, 0, 0, 0, 31, 0, 1
268 },
269 80, 80, 90, 100, 80, 80, 0, 0
270 },
271 /* 12: Gratha */
272 {
273 "Gratha",
274 OBJECT_CLASS_SHIP, 140, 126, 1024, 4, 200000, 7, 7000,
275 32, 20, 0, 614, 6, 6, 14, 1400,
276 {
277 10,
278 24, 0, 0, 0, 0, 0, 0,
279 24, 0, 0, 0, 1, 0, 0,
280 26, 0, 0, 0, 21, 0, 0,
281 26, 0, 0, 0, 30, 0, 0,
282 31, 0, 0, 0, 31, 0, 1,
283 29, 0, 0, 0, 31, 0, 0,
284 29, 0, 0, 0, 31, 0, 1,
285 33, 0, 0, 0, 32, 0, 1,
286 33, 0, 0, 0, 32, 0, 1,
287 33, 0, 0, 0, 32, 0, 1
288 },
289 100, 95, 140, 120, 100, 100, 0, 0
290 },
291 /* 13: Jalthi */
292 {
293 "Jalthi",
294 OBJECT_CLASS_SHIP, 160, 180, 1024, 7, 200000, 7, 8000,
295 28, 20, 0, 512, 5, 5, 5, 1600,
296 {
297 8,
298 25, 0, 0, 0, 41, 0, 0,
299 25, 0, 0, 0, 44, 0, 0,
300 24, 0, 0, 0, 42, 0, 0,
301 24, 0, 0, 0, 43, 0, 0,
302 24, 0, 0, 0, 45, 0, 0,
303 24, 0, 0, 0, 46, 0, 0,
304 30, 0, 0, 0, 31, 0, 1,
305 29, 0, 0, 0, 31, 0, 0
306 },
307 160, 160, 200, 100, 170, 170, 0, 0
308 },
309 /* 14: Spikeri */
310 {
311 "Spikeri",
312 OBJECT_CLASS_CAPITAL_SHIP, 200, 200, 1536, 4, 200000, 45,
313 12000, 15, 10, 0, 460, 4, 4, 4, 4000,
314 { 0 },
315 70, 70, 80, 80, 60, 60, 0, 0
316 },
317 /* 15: Dorkir */
318 {
319 "Dorkir",
320 OBJECT_CLASS_CAPITAL_SHIP, 260, 400, 2048, 5, 200000, 35,
321 24000, 15, 10, 0, 204, 2, 2, 2, 5000,
322 {
323 4,
324 27, 0, 0, 0, 54, 0, 0,
325 33, 0, 0, 0, 55, 0, 1,
326 33, 0, 0, 0, 55, 0, 1,
327 33, 0, 0, 0, 55, 0, 1
328 },
329 170, 100, 90, 60, 90, 90, 0, 0
330 },
331 /* 16: Lumbari */
332 {
333 "Lumbari",
334 OBJECT_CLASS_CAPITAL_SHIP, 260, 400, 2048, 5, 200000, 35,
335 16000, 15, 10, 0, 204, 2, 2, 2, 5000,
336 {
337 4,
338 27, 0, 0, 0, 54, 0, 0,
339 33, 0, 0, 0, 55, 0, 1,
340 33, 0, 0, 0, 55, 0, 1,
341 33, 0, 0, 0, 55, 0, 1
342 },
343 70, 70, 80, 80, 60, 60, 0, 0
344 },
345 /* 17: Ralari */
346 {
347 "Ralari",
348 OBJECT_CLASS_CAPITAL_SHIP, 325, 3000, 4096, 3, 200000, 90,
349 20000, 15, 10, 0, 256, 2, 2, 2, 18000,
350 {
351 7,
352 31, 0, 0, 0, 47, 0, 0,
353 27, 0, 0, 0, 48, 0, 0,
354 27, 0, 0, 0, 49, 0, 0,
355 27, 0, 0, 0, 50, 0, 0,
356 27, 0, 0, 0, 51, 0, 0,
357 27, 0, 0, 0, 52, 0, 0,
358 27, 0, 0, 0, 53, 0, 0
359 },
360 200, 120, 200, 90, 180, 180, 0, 0
361 },
362 /* 18: Fralthi */
363 {
364 "Fralthi",
365 OBJECT_CLASS_CAPITAL_SHIP, 450, 10000, 4096, 2, 200000, 110,
366 30000, 15, 10, 0, 256, 2, 2, 2, 10000,
367 {
368 8,
369 31, 0, 0, 0, 47, 0, 0,
370 31, 0, 0, 0, 47, 0, 0,
371 27, 0, 0, 0, 48, 0, 0,
372 27, 0, 0, 0, 49, 0, 0,
373 27, 0, 0, 0, 50, 0, 0,
374 27, 0, 0, 0, 51, 0, 0,
375 27, 0, 0, 0, 52, 0, 0,
376 27, 0, 0, 0, 53, 0, 0
377 },
378 270, 170, 280, 140, 260, 260, 0, 0
379 },
380 /* 19: Snakeir */
381 {
382 "Snakeir",
383 OBJECT_CLASS_CAPITAL_SHIP, 600, 10000, 2048, 1, 200000, 320,
384 30000, 15, 10, 0, 204, 1, 1, 1, 10000,
385 { 0 },
386 70, 70, 80, 80, 60, 60, 0, 0
387 },
388 /* 20: Sivar */
389 {
390 "Sivar",
391 OBJECT_CLASS_CAPITAL_SHIP, 400, 12000, 4096, 1, 200000, 200,
392 32000, 20, 15, 0, 179, 1, 1, 1, 15000,
393 {
394 8,
395 31, 0, 0, 0, 47, 0, 0,
396 31, 0, 0, 0, 47, 0, 0,
397 27, 0, 0, 0, 48, 0, 0,
398 27, 0, 0, 0, 49, 0, 0,
399 27, 0, 0, 0, 50, 0, 0,
400 27, 0, 0, 0, 51, 0, 0,
401 27, 0, 0, 0, 52, 0, 0,
402 27, 0, 0, 0, 53, 0, 0
403 },
404 270, 170, 280, 140, 260, 260, 0, 0
405 },
406 /* 21: Kilrathi base */
407 {
408 "Star post",
409 OBJECT_CLASS_CAPITAL_SHIP, 400, 20000, 2048, 4, 200000, 120,
410 32000, 0, 0, 0, 0, 0, 0, 0, 10000,
411 {
412 8,
413 27, 0, 0, 0, 33, 0, 0,
414 27, 0, 0, 0, 36, 0, 0,
415 27, 0, 0, 0, 37, 0, 0,
416 27, 0, 0, 0, 40, 0, 0,
417 30, 0, 0, 0, 33, 0, 0,
418 30, 0, 0, 0, 36, 0, 0,
419 30, 0, 0, 0, 37, 0, 0,
420 30, 0, 0, 0, 40, 0, 0
421 },
422 200, 200, 180, 180, 180, 180, 0, 0
423 },
424 { 0 }, /* 22: asteroid field */
425 { 0 }, /* 23: mine field */
426 /* 24: laser cannon bolt */
427 {
428 "Laser cannon",
429 OBJECT_CLASS_PROJECTILE, 10, 0, 512, 7, 30, 25, 0,
430 160, 0, 0, 0, 0, 0, 0, 0, { 0 },
431 0, 0, 0, 0, 0, 0, 0, 0
432 },
433 { "Neutron gun",
434 OBJECT_CLASS_PROJECTILE, 10, 1, 832, 14, 20, 40, 0,
435 140, 0 }, /* 25: neutron particle gun */
436 { "Mass driver",
437 OBJECT_CLASS_PROJECTILE, 10, 0, 512, 9, 25, 30, 0,
438 120, 0 }, /* 26: mass driver cannon */
439 { "",
440 OBJECT_CLASS_PROJECTILE, 15, 0, 832, 15, 40, 50, 1000,
441 150, 0 }, /* 27: turret bolt; resources alias laser */
442 { "Dart DF",
443 OBJECT_CLASS_MISSILE, 20, 5, 768, 500, 120, 4, 14500,
444 130, 0, 0, 1433, 15, 15, 15, 100 }, /* 28 */
445 { "Javelin HS",
446 OBJECT_CLASS_MISSILE, 20, 5, 768, 400, 140, 4, 13500,
447 110, 0, 0, 1689, 11, 11, 11, 100 }, /* 29 */
448 { "Pilum FF",
449 OBJECT_CLASS_MISSILE, 20, 5, 768, 400, 160, 4, 10500,
450 90, 0, 0, 1689, 11, 11, 11, 100 }, /* 30 */
451 { "Spiculum IR",
452 OBJECT_CLASS_MISSILE, 20, 5, 768, 400, 110, 4, 11500,
453 110, 0, 0, 1689, 11, 11, 11, 100 }, /* 31 */
454 { "",
455 OBJECT_CLASS_MISSILE, 25, 10, 768, 400, 200, 4, 30000,
456 50, 0, 0, 1280, 10, 10, 10, 100 }, /* 32 */
457 { "Porcupine",
458 OBJECT_CLASS_MINE, 20, 5, 768, 110, 120, 4, 10000,
459 20, 20, (unsigned char *)anAnimMine,
460 0, 0, 2, 2 },
461 { "",
462 OBJECT_CLASS_ASTEROID, 100, 300, 640, 0, 0, -1, 0,
463 0, 0, (unsigned char *)anAnimAsteroidForward,
464 0, 0, 1, 13 },
465 { "",
466 OBJECT_CLASS_ASTEROID, 100, 300, 640, 0, 0, -1, 0,
467 0, 0, (unsigned char *)anAnimAsteroidShortForward,
468 0, 0, 1, 12 },
469 { "",
470 OBJECT_CLASS_ASTEROID, 100, 300, 640, 0, 0, -1, 0,
471 0, 0, (unsigned char *)anAnimAsteroidReverse,
472 0, 0, 1, 13 },
473 { "",
474 OBJECT_CLASS_ASTEROID, 100, 300, 640, 0, 0, -1, 0,
475 0, 0, (unsigned char *)anAnimAsteroidShortReverse,
476 0, 0, 1, 12 },
477 { "",
478 OBJECT_CLASS_ASTEROID, 100, 300, 640, 0, 0, -1, 0,
479 0, 0, (unsigned char *)anAnimAsteroidForward,
480 0, 0, 2, 13 },
481 { "",
482 OBJECT_CLASS_ASTEROID, 100, 300, 640, 0, 0, -1, 0,
483 0, 0, (unsigned char *)anAnimAsteroidShortForward,
484 0, 0, 2, 12 },
485 { "",
486 OBJECT_CLASS_DEBRIS, 10, 4, 192, 0, 0, -1, 0,
487 0, 0, (unsigned char *)anAnimAsteroidForward,
488 0, 0, 2, 13 },
489 { "",
490 OBJECT_CLASS_DEBRIS, 10, 1, 2048, 0, 0, 0, 0,
491 0, 0, (unsigned char *)anAnimGirder,
492 0, 0, 2, 5 },
493 { "",
494 OBJECT_CLASS_DEBRIS, 10, 1, 2048, 0, 0, 0, 0,
495 0, 0, (unsigned char *)anAnimTubing,
496 0, 0, 2, 5 },
497 { "",
498 OBJECT_CLASS_DEBRIS, 20, 2, 1280, 0, 0, 0, 0,
499 0, 0, (unsigned char *)anAnimMetalSheet,
500 0, 0, 1, 11 },
501 { "",
502 OBJECT_CLASS_DEBRIS, 20, 2, 1280, 0, 0, 0, 0,
503 0, 0, (unsigned char *)anAnimWing,
504 0, 0, 1, 15 },
505 { "",
506 OBJECT_CLASS_DEBRIS, 20, 2, 768, 0, 0, 0, 0,
507 0, 0, (unsigned char *)anAnimGlass,
508 0, 0, 1, 15 },
509 { "",
510 OBJECT_CLASS_DEBRIS, 2, 1, 1792, 0, 0, 0, 0,
511 0, 0, (unsigned char *)anAnimORing,
512 0, 0, 1, 5 },
513 { "",
514 OBJECT_CLASS_DEBRIS, 6, 1, 1536, 0, 0, 0, 0,
515 0, 0, (unsigned char *)anAnimPipe,
516 0, 0, 1, 5 },
517 { "",
518 OBJECT_CLASS_EXPLOSION, 0, 0, 768, 0, 0, -1, 6000,
519 0, 0, (unsigned char *)anAnimExplosion0,
520 0, 0, 1, 0 },
521 { "",
522 OBJECT_CLASS_EXPLOSION, 0, 0, 256, 0, 0, -1, 6000,
523 0, 0, (unsigned char *)anAnimExplosion1,
524 0, 0, 1, 0 },
525 { "",
526 OBJECT_CLASS_EXPLOSION, 0, 0, 256, 0, 0, -1, 6000,
527 0, 0, (unsigned char *)anAnimExplosion2,
528 0, 0, 1, 0 },
529 { "",
530 OBJECT_CLASS_EXPLOSION, 0, 0, 256, 0, 0, 0, 0,
531 0, 0, (unsigned char *)anAnimLaserSpark,
532 0, 0, 1, 0 },
533 { "",
534 OBJECT_CLASS_EXPLOSION, 0, 0, 256, 0, 0, 0, 0,
535 0, 0, (unsigned char *)anAnimRedSpark,
536 0, 0, 2, 3 },
537 { "",
538 OBJECT_CLASS_EXPLOSION, 0, 0, 256, 0, 0, 0, 0,
539 0, 0, (unsigned char *)anAnimBlueSpark,
540 0, 0, 2, 3 },
541 { "",
542 OBJECT_CLASS_EXPLOSION, 1, 1, 256, 0, 0, 0, 0,
543 0, 0, (unsigned char *)anAnimSparkTrail,
544 0, 0, 2, 3 },
545 { "",
546 OBJECT_CLASS_FIXED_OBJECT, 0, 0, 256, 0, 0, 0 },
547 { "",
548 OBJECT_CLASS_DEBRIS, 6, 1, 512, 0, 0, 0, 0,
549 0, 0, (unsigned char *)anAnimEjectedPilot,
550 0, 0, 1, 12 },
551 { "",
552 OBJECT_CLASS_EXPLOSION, 0, 0, 1024, 0, 0, 0, 0,
553 0, 0, (unsigned char *)anAnimHyperspaceJumpFlash,
554 0, 0, 1, 0 }
555};
556
557/* Child/hardpoint offsets. */
558/* 0x004682f0 */
560 { 120, 10, 20 }, { -120, 10, 20 }, { 75, 45, -30 },
561 { -75, 45, -30 }, { 0, 50, 10 }, { -100, 10, -40 },
562 { -90, 0, 30 }, { -30, -40, -30 }, { 0, 0, 0 },
563 { 30, -40, -30 }, { 100, 10, -40 }, { 90, 0, 30 },
564 { -140, 10, 30 }, { -100, 10, 0 }, { -75, 0, -40 },
565 { -30, 10, -20 }, { 0, 10, 10 }, { 30, 10, -20 },
566 { 75, 0, -40 }, { 100, 10, 0 }, { 140, 10, 30 },
567 { -120, -10, 0 }, { -100, 10, -20 }, { -90, 0, 40 },
568 { -30, 20, -20 }, { 0, 10, -80 }, { 0, 10, 10 },
569 { 30, 20, -20 }, { 90, 0, 40 }, { 100, 10, -20 },
570 { 120, -10, 0 }, { 0, 10, 10 }, { 0, 0, -60 },
571 { 0, 0, 500 }, { -200, 0, 250 }, { 200, 0, 250 },
572 { -300, 0, 0 }, { 300, 0, 0 }, { -200, 0, -250 },
573 { 200, 0, -250 }, { 0, 0, -500 }, { -130, 40, 20 },
574 { -110, 20, 20 }, { -90, 0, 20 }, { 130, 40, 20 },
575 { 110, 20, 20 }, { 90, 0, 20 }, { 0, 0, 400 },
576 { -50, -20, 350 }, { 50, 20, 350 }, { -150, 20, 0 },
577 { 150, -20, 0 }, { -75, -20, -350 }, { 75, 20, -350 },
578 { 0, 100, 350 }, { 0, 0, -300 }
579};
580
581/* 0x00468440 */
583 {64, 28}, {8, 28}, {45, 25}, {27, 25}, {36, 23},
584 {20, 32}, {27, 24}, {31, 31}, {36, 22}, {41, 31},
585 {51, 32}, {45, 24}, {8, 32}, {18, 32}, {25, 11},
586 {26, 32}, {36, 28}, {46, 32}, {47, 11}, {54, 32},
587 {64, 32}, {12, 35}, {17, 37}, {26, 16}, {28, 31},
588 {37, 41}, {37, 29}, {45, 31}, {47, 16}, {56, 37},
589 {61, 35}, {0, 0}
590};
591
592/* 0x004684c0 */
594 {0, 16}, {0, 16}, {0, 16}, {0, 16}, {0, 16}
595};
596/* Linker commons defined here; LINK orders them by identifier hash. */
597short nMenuInputRepeatDelay; /* 0x005a8208 */
598unsigned char abMissionAuxData[0x28]; /* 0x005a8210 */
599
ObjectTypeData aObjectTypeData[OBJECT_TYPE_COUNT]
Definition objdata.c:86
ShortPoint aWeaponDisplayOrigins[5]
Definition objdata.c:593
ShortPoint aWeaponDisplayPositions[32]
Definition objdata.c:582
short nMenuInputRepeatDelay
Definition objdata.c:597
ShortVector aChildOffsets[56]
Definition objdata.c:559
unsigned char abMissionAuxData[0x28]
Definition objdata.c:598
static unsigned int anAnimTubing[8]
Definition objdata.c:41
static unsigned int anAnimExplosion1[22]
Definition objdata.c:17
static unsigned int anAnimLaserSpark[8]
Definition objdata.c:26
static unsigned int anAnimExplosion2[14]
Definition objdata.c:22
static unsigned int anAnimRedSpark[6]
Definition objdata.c:32
static unsigned int anAnimAsteroidReverse[16]
Definition objdata.c:70
static unsigned int anAnimSparkTrail[6]
Definition objdata.c:35
static unsigned int anAnimBlueSpark[6]
Definition objdata.c:29
static unsigned int anAnimAsteroidForward[16]
Definition objdata.c:64
static unsigned int anAnimPipe[8]
Definition objdata.c:51
static unsigned int anAnimHyperspaceJumpFlash[22]
Definition objdata.c:79
static unsigned int anAnimEjectedPilot[14]
Definition objdata.c:76
static unsigned int anAnimORing[8]
Definition objdata.c:48
static unsigned int anAnimAsteroidShortForward[14]
Definition objdata.c:67
static unsigned int anAnimMetalSheet[14]
Definition objdata.c:54
static unsigned int anAnimGlass[18]
Definition objdata.c:44
static unsigned int anAnimGirder[8]
Definition objdata.c:38
static unsigned int anAnimWing[18]
Definition objdata.c:57
static unsigned int anAnimExplosion0[12]
Definition objdata.c:14
static unsigned int anAnimAsteroidShortReverse[14]
Definition objdata.c:73
static unsigned int anAnimMine[14]
Definition objdata.c:61
Umbrella header for the game core.
@ OBJECT_TYPE_COUNT
Definition wcdata.h:114
@ OBJECT_CLASS_FIXED_OBJECT
Definition wcdata.h:45
@ OBJECT_CLASS_MISSILE
Definition wcdata.h:49
@ OBJECT_CLASS_SHIP
Definition wcdata.h:50
@ OBJECT_CLASS_DEBRIS
Definition wcdata.h:44
@ OBJECT_CLASS_CAPITAL_SHIP
Definition wcdata.h:51
@ OBJECT_CLASS_ASTEROID
Definition wcdata.h:47
@ OBJECT_CLASS_PROJECTILE
Definition wcdata.h:46
@ OBJECT_CLASS_MINE
Definition wcdata.h:48
@ OBJECT_CLASS_EXPLOSION
Definition wcdata.h:43