ADATA.CPP (107389B)
1 // 2 // Copyright 2020 Electronic Arts Inc. 3 // 4 // TiberianDawn.DLL and RedAlert.dll and corresponding source code is free 5 // software: you can redistribute it and/or modify it under the terms of 6 // the GNU General Public License as published by the Free Software Foundation, 7 // either version 3 of the License, or (at your option) any later version. 8 9 // TiberianDawn.DLL and RedAlert.dll and corresponding source code is distributed 10 // in the hope that it will be useful, but with permitted additional restrictions 11 // under Section 7 of the GPL. See the GNU General Public License in LICENSE.TXT 12 // distributed with this program. You should have received a copy of the 13 // GNU General Public License along with permitted additional restrictions 14 // with this program. If not, see https://github.com/electronicarts/CnC_Remastered_Collection 15 16 /* $Header: F:\projects\c&c\vcs\code\adata.cpv 2.18 16 Oct 1995 16:49:32 JOE_BOSTIC $ */ 17 /*********************************************************************************************** 18 *** C O N F I D E N T I A L --- W E S T W O O D S T U D I O S *** 19 *********************************************************************************************** 20 * * 21 * Project Name : Command & Conquer * 22 * * 23 * File Name : ADATA.CPP * 24 * * 25 * Programmer : Joe L. Bostic * 26 * * 27 * Start Date : May 30, 1994 * 28 * * 29 * Last Update : August 23, 1994 [JLB] * 30 * * 31 *---------------------------------------------------------------------------------------------* 32 * Functions: * 33 * AnimTypeClass::One_Time -- Performs one time action for animation types. * 34 * AnimTypeClass::AnimTypeClass -- Constructor for animation types. * 35 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ 36 37 #include "function.h" 38 39 // Dinosaur death animations 40 static AnimTypeClass const TricDie( 41 ANIM_TRIC_DIE, // Animation number. 42 "TRIC", // Data name of animation. 43 32, // Maximum dimension of animation. 44 4, // Biggest animation stage. 45 true, // Normalized animation rate? 46 false, // Uses white translucent table? 47 false, // Scorches the ground? 48 false, // Forms a crater? 49 false, // Sticks to unit in square? 50 true, // Ground level animation? 51 true, // Translucent colors in this animation? 52 false, // Is this a flame thrower animation? 53 0x0000, // Damage to apply per tick (fixed point). 54 2, // Delay between frames. 55 176, // Starting frame number. 56 0, // Loop start frame number. 57 0, // Ending frame of loop back. 58 20, // Number of animation stages. 59 0, // Number of times the animation loops. 60 VOC_NONE, // Sound effect to play. 61 ANIM_NONE 62 ); 63 64 static AnimTypeClass const TRexDie( 65 ANIM_TREX_DIE, // Animation number. 66 "TREX", // Data name of animation. 67 48, // Maximum dimension of animation. 68 4, // Biggest animation stage. 69 true, // Normalized animation rate? 70 false, // Uses white translucent table? 71 false, // Scorches the ground? 72 false, // Forms a crater? 73 false, // Sticks to unit in square? 74 true, // Ground level animation? 75 true, // Translucent colors in this animation? 76 false, // Is this a flame thrower animation? 77 0x0000, // Damage to apply per tick (fixed point). 78 2, // Delay between frames. 79 144, // Starting frame number. 80 0, // Loop start frame number. 81 0, // Ending frame of loop back. 82 40, // Number of animation stages. 83 0, // Number of times the animation loops. 84 VOC_NONE, // Sound effect to play. 85 ANIM_NONE 86 ); 87 88 static AnimTypeClass const StegDie( 89 ANIM_STEG_DIE, // Animation number. 90 "STEG", // Data name of animation. 91 33, // Maximum dimension of animation. 92 4, // Biggest animation stage. 93 true, // Normalized animation rate? 94 false, // Uses white translucent table? 95 false, // Scorches the ground? 96 false, // Forms a crater? 97 false, // Sticks to unit in square? 98 true, // Ground level animation? 99 true, // Translucent colors in this animation? 100 false, // Is this a flame thrower animation? 101 0x0000, // Damage to apply per tick (fixed point). 102 2, // Delay between frames. 103 176, // Starting frame number. 104 0, // Loop start frame number. 105 0, // Ending frame of loop back. 106 22, // Number of animation stages. 107 0, // Number of times the animation loops. 108 VOC_NONE, // Sound effect to play. 109 ANIM_NONE 110 ); 111 112 static AnimTypeClass const RaptDie( 113 ANIM_RAPT_DIE, // Animation number. 114 "RAPT", // Data name of animation. 115 24, // Maximum dimension of animation. 116 4, // Biggest animation stage. 117 true, // Normalized animation rate? 118 false, // Uses white translucent table? 119 false, // Scorches the ground? 120 false, // Forms a crater? 121 false, // Sticks to unit in square? 122 true, // Ground level animation? 123 true, // Translucent colors in this animation? 124 false, // Is this a flame thrower animation? 125 0x0000, // Damage to apply per tick (fixed point). 126 2, // Delay between frames. 127 144, // Starting frame number. 128 0, // Loop start frame number. 129 0, // Ending frame of loop back. 130 40, // Number of animation stages. 131 0, // Number of times the animation loops. 132 VOC_NONE, // Sound effect to play. 133 ANIM_NONE 134 ); 135 136 static AnimTypeClass const SAMN( 137 ANIM_SAM_N, // Animation number. 138 "SAMFIRE", // Data name of animation. 139 55, // Maximum dimension of animation. 140 4, // Biggest animation stage. 141 false, // Normalized animation rate? 142 false, // Uses white translucent table? 143 false, // Scorches the ground? 144 false, // Forms a crater? 145 false, // Sticks to unit in square? 146 false, // Ground level animation? 147 false, // Translucent colors in this animation? 148 false, // Is this a flame thrower animation? 149 0x0000, // Damage to apply per tick (fixed point). 150 1, // Delay between frames. 151 18*0, // Starting frame number. 152 0, // Loop start frame number. 153 0, // Ending frame of loop back. 154 18, // Number of animation stages. 155 0, // Number of times the animation loops. 156 VOC_NONE, // Sound effect to play. 157 ANIM_NONE 158 ); 159 static AnimTypeClass const SAMNW( 160 ANIM_SAM_NW, // Animation number. 161 "SAMFIRE", // Data name of animation. 162 55, // Maximum dimension of animation. 163 22, // Biggest animation stage. 164 false, // Normalized animation rate? 165 false, // Uses white translucent table? 166 false, // Scorches the ground? 167 false, // Forms a crater? 168 false, // Sticks to unit in square? 169 false, // Ground level animation? 170 false, // Translucent colors in this animation? 171 false, // Is this a flame thrower animation? 172 0x0000, // Damage to apply per tick (fixed point). 173 1, // Delay between frames. 174 18*1, // Starting frame number. 175 0, // Loop start frame number. 176 0, // Ending frame of loop back. 177 18, // Number of animation stages. 178 0, // Number of times the animation loops. 179 VOC_NONE, // Sound effect to play. 180 ANIM_NONE 181 ); 182 static AnimTypeClass const SAMW( 183 ANIM_SAM_W, // Animation number. 184 "SAMFIRE", // Data name of animation. 185 55, // Maximum dimension of animation. 186 40, // Biggest animation stage. 187 false, // Normalized animation rate? 188 false, // Uses white translucent table? 189 false, // Scorches the ground? 190 false, // Forms a crater? 191 false, // Sticks to unit in square? 192 false, // Ground level animation? 193 false, // Translucent colors in this animation? 194 false, // Is this a flame thrower animation? 195 0x0000, // Damage to apply per tick (fixed point). 196 1, // Delay between frames. 197 18*2, // Starting frame number. 198 0, // Loop start frame number. 199 0, // Ending frame of loop back. 200 18, // Number of animation stages. 201 0, // Number of times the animation loops. 202 VOC_NONE, // Sound effect to play. 203 ANIM_NONE 204 ); 205 static AnimTypeClass const SAMSW( 206 ANIM_SAM_SW, // Animation number. 207 "SAMFIRE", // Data name of animation. 208 55, // Maximum dimension of animation. 209 58, // Biggest animation stage. 210 false, // Normalized animation rate? 211 false, // Uses white translucent table? 212 false, // Scorches the ground? 213 false, // Forms a crater? 214 false, // Sticks to unit in square? 215 false, // Ground level animation? 216 false, // Translucent colors in this animation? 217 false, // Is this a flame thrower animation? 218 0x0000, // Damage to apply per tick (fixed point). 219 1, // Delay between frames. 220 18*3, // Starting frame number. 221 0, // Loop start frame number. 222 0, // Ending frame of loop back. 223 18, // Number of animation stages. 224 0, // Number of times the animation loops. 225 VOC_NONE, // Sound effect to play. 226 ANIM_NONE 227 ); 228 static AnimTypeClass const SAMS( 229 ANIM_SAM_S, // Animation number. 230 "SAMFIRE", // Data name of animation. 231 55, // Maximum dimension of animation. 232 76, // Biggest animation stage. 233 false, // Normalized animation rate? 234 false, // Uses white translucent table? 235 false, // Scorches the ground? 236 false, // Forms a crater? 237 false, // Sticks to unit in square? 238 false, // Ground level animation? 239 false, // Translucent colors in this animation? 240 false, // Is this a flame thrower animation? 241 0x0000, // Damage to apply per tick (fixed point). 242 1, // Delay between frames. 243 18*4, // Starting frame number. 244 0, // Loop start frame number. 245 0, // Ending frame of loop back. 246 18, // Number of animation stages. 247 0, // Number of times the animation loops. 248 VOC_NONE, // Sound effect to play. 249 ANIM_NONE 250 ); 251 static AnimTypeClass const SAMSE( 252 ANIM_SAM_SE, // Animation number. 253 "SAMFIRE", // Data name of animation. 254 55, // Maximum dimension of animation. 255 94, // Biggest animation stage. 256 false, // Normalized animation rate? 257 false, // Uses white translucent table? 258 false, // Scorches the ground? 259 false, // Forms a crater? 260 false, // Sticks to unit in square? 261 false, // Ground level animation? 262 false, // Translucent colors in this animation? 263 false, // Is this a flame thrower animation? 264 0x0000, // Damage to apply per tick (fixed point). 265 1, // Delay between frames. 266 18*5, // Starting frame number. 267 0, // Loop start frame number. 268 0, // Ending frame of loop back. 269 18, // Number of animation stages. 270 0, // Number of times the animation loops. 271 VOC_NONE, // Sound effect to play. 272 ANIM_NONE 273 ); 274 static AnimTypeClass const SAME( 275 ANIM_SAM_E, // Animation number. 276 "SAMFIRE", // Data name of animation. 277 55, // Maximum dimension of animation. 278 112, // Biggest animation stage. 279 false, // Normalized animation rate? 280 false, // Uses white translucent table? 281 false, // Scorches the ground? 282 false, // Forms a crater? 283 false, // Sticks to unit in square? 284 false, // Ground level animation? 285 false, // Translucent colors in this animation? 286 false, // Is this a flame thrower animation? 287 0x0000, // Damage to apply per tick (fixed point). 288 1, // Delay between frames. 289 18*6, // Starting frame number. 290 0, // Loop start frame number. 291 0, // Ending frame of loop back. 292 18, // Number of animation stages. 293 0, // Number of times the animation loops. 294 VOC_NONE, // Sound effect to play. 295 ANIM_NONE 296 ); 297 static AnimTypeClass const SAMNE( 298 ANIM_SAM_NE, // Animation number. 299 "SAMFIRE", // Data name of animation. 300 55, // Maximum dimension of animation. 301 130, // Biggest animation stage. 302 false, // Normalized animation rate? 303 false, // Uses white translucent table? 304 false, // Scorches the ground? 305 false, // Forms a crater? 306 false, // Sticks to unit in square? 307 false, // Ground level animation? 308 false, // Translucent colors in this animation? 309 false, // Is this a flame thrower animation? 310 0x0000, // Damage to apply per tick (fixed point). 311 1, // Delay between frames. 312 18*7, // Starting frame number. 313 0, // Loop start frame number. 314 0, // Ending frame of loop back. 315 18, // Number of animation stages. 316 0, // Number of times the animation loops. 317 VOC_NONE, // Sound effect to play. 318 ANIM_NONE 319 ); 320 321 static AnimTypeClass const LZSmoke( 322 ANIM_LZ_SMOKE, // Animation number. 323 "SMOKLAND", // Data name of animation. 324 32, // Maximum dimension of animation. 325 72, // Biggest animation stage. 326 true, // Normalized animation rate? 327 false, // Uses white translucent table? 328 false, // Scorches the ground? 329 false, // Forms a crater? 330 false, // Sticks to unit in square? 331 true, // Ground level animation? 332 false, // Translucent colors in this animation? 333 false, // Is this a flame thrower animation? 334 0x0000, // Damage to apply per tick (fixed point). 335 1, // Delay between frames. 336 0, // Starting frame number. 337 72, // Loop start frame number. 338 91, // Ending frame of loop back. 339 -1, // Number of animation stages. 340 127, // Number of times the animation loops. 341 VOC_NONE, // Sound effect to play. 342 ANIM_NONE 343 ); 344 345 /* 346 ** Flammable object burning animations. Primarily used on trees and buildings. 347 */ 348 static AnimTypeClass const BurnSmall( 349 ANIM_BURN_SMALL, // Animation number. 350 "BURN-S", // Data name of animation. 351 11, // Maximum dimension of animation. 352 13, // Biggest animation stage. 353 false, // Normalized animation rate? 354 false, // Uses white translucent table? 355 false, // Scorches the ground? 356 false, // Forms a crater? 357 false, // Sticks to unit in square? 358 true, // Ground level animation? 359 false, // Translucent colors in this animation? 360 false, // Is this a flame thrower animation? 361 0x0008, // Damage to apply per tick (fixed point). 362 1, // Delay between frames. 363 0, // Starting frame number. 364 30, // Loop start frame number. 365 62, // Ending frame of loop back. 366 -1, // Number of animation stages. 367 4, // Number of times the animation loops. 368 VOC_NONE, // Sound effect to play. 369 ANIM_NONE 370 ); 371 static AnimTypeClass const BurnMed( 372 ANIM_BURN_MED, // Animation number. 373 "BURN-M", // Data name of animation. 374 14, // Maximum dimension of animation. 375 13, // Biggest animation stage. 376 false, // Normalized animation rate? 377 false, // Uses white translucent table? 378 false, // Scorches the ground? 379 false, // Forms a crater? 380 false, // Sticks to unit in square? 381 true, // Ground level animation? 382 false, // Translucent colors in this animation? 383 false, // Is this a flame thrower animation? 384 0x0010, // Damage to apply per tick (fixed point). 385 1, // Delay between frames. 386 0, // Starting frame number. 387 30, // Loop start frame number. 388 62, // Ending frame of loop back. 389 -1, // Number of animation stages. 390 4, // Number of times the animation loops. 391 VOC_NONE, // Sound effect to play. 392 ANIM_NONE 393 ); 394 static AnimTypeClass const BurnBig( 395 ANIM_BURN_BIG, // Animation number. 396 "BURN-L", // Data name of animation. 397 23, // Maximum dimension of animation. 398 13, // Biggest animation stage. 399 false, // Normalized animation rate? 400 false, // Uses white translucent table? 401 true, // Scorches the ground? 402 false, // Forms a crater? 403 false, // Sticks to unit in square? 404 true, // Ground level animation? 405 false, // Translucent colors in this animation? 406 false, // Is this a flame thrower animation? 407 0x0018, // Damage to apply per tick (fixed point). 408 1, // Delay between frames. 409 0, // Starting frame number. 410 30, // Loop start frame number. 411 62, // Ending frame of loop back. 412 -1, // Number of animation stages. 413 4, // Number of times the animation loops. 414 VOC_NONE, // Sound effect to play. 415 ANIM_NONE 416 ); 417 418 /* 419 ** Flammable object burning animations that trail into smoke. Used for 420 ** buildings and the gunboat. 421 */ 422 static AnimTypeClass const OnFireSmall( 423 ANIM_ON_FIRE_SMALL, // Animation number. 424 "BURN-S", // Data name of animation. 425 11, // Maximum dimension of animation. 426 13, // Biggest animation stage. 427 false, // Normalized animation rate? 428 false, // Uses white translucent table? 429 false, // Scorches the ground? 430 false, // Forms a crater? 431 false, // Sticks to unit in square? 432 true, // Ground level animation? 433 false, // Translucent colors in this animation? 434 false, // Is this a flame thrower animation? 435 0x0008, // Damage to apply per tick (fixed point). 436 1, // Delay between frames. 437 0, // Starting frame number. 438 30, // Loop start frame number. 439 62, // Ending frame of loop back. 440 -1, // Number of animation stages. 441 4, // Number of times the animation loops. 442 VOC_NONE, // Sound effect to play. 443 ANIM_SMOKE_M 444 ); 445 static AnimTypeClass const OnFireMed( 446 ANIM_ON_FIRE_MED, // Animation number. 447 "BURN-M", // Data name of animation. 448 14, // Maximum dimension of animation. 449 13, // Biggest animation stage. 450 false, // Normalized animation rate? 451 false, // Uses white translucent table? 452 false, // Scorches the ground? 453 false, // Forms a crater? 454 false, // Sticks to unit in square? 455 true, // Ground level animation? 456 false, // Translucent colors in this animation? 457 false, // Is this a flame thrower animation? 458 0x0010, // Damage to apply per tick (fixed point). 459 1, // Delay between frames. 460 0, // Starting frame number. 461 30, // Loop start frame number. 462 62, // Ending frame of loop back. 463 -1, // Number of animation stages. 464 4, // Number of times the animation loops. 465 VOC_NONE, // Sound effect to play. 466 ANIM_ON_FIRE_SMALL 467 ); 468 static AnimTypeClass const OnFireBig( 469 ANIM_ON_FIRE_BIG, // Animation number. 470 "BURN-L", // Data name of animation. 471 23, // Maximum dimension of animation. 472 13, // Biggest animation stage. 473 false, // Normalized animation rate? 474 false, // Uses white translucent table? 475 true, // Scorches the ground? 476 false, // Forms a crater? 477 false, // Sticks to unit in square? 478 true, // Ground level animation? 479 false, // Translucent colors in this animation? 480 false, // Is this a flame thrower animation? 481 0x0018, // Damage to apply per tick (fixed point). 482 1, // Delay between frames. 483 0, // Starting frame number. 484 30, // Loop start frame number. 485 62, // Ending frame of loop back. 486 -1, // Number of animation stages. 487 4, // Number of times the animation loops. 488 VOC_NONE, // Sound effect to play. 489 ANIM_ON_FIRE_MED 490 ); 491 492 /* 493 ** Flame thrower animations. These are direction specific. 494 */ 495 static AnimTypeClass const FlameN( 496 ANIM_FLAME_N, // Animation number. 497 "FLAME-N", // Data name of animation. 498 0, // Maximum dimension of animation. 499 9, // Biggest animation stage. 500 false, // Normalized animation rate? 501 false, // Uses white translucent table? 502 false, // Scorches the ground? 503 false, // Forms a crater? 504 false, // Sticks to unit in square? 505 false, // Ground level animation? 506 false, // Translucent colors in this animation? 507 true, // Is this a flame thrower animation? 508 0x0000, // Damage to apply per tick (fixed point). 509 1, // Delay between frames. 510 0, // Starting frame number. 511 0, // Loop start frame number. 512 -1, // Ending frame of loop back. 513 -1, // Number of animation stages. 514 1, // Number of times the animation loops. 515 VOC_NONE, // Sound effect to play. 516 ANIM_NONE 517 ); 518 static AnimTypeClass const FlameNW( 519 ANIM_FLAME_NW, // Animation number. 520 "FLAME-NW", // Data name of animation. 521 0, // Maximum dimension of animation. 522 9, // Biggest animation stage. 523 false, // Normalized animation rate? 524 false, // Uses white translucent table? 525 false, // Scorches the ground? 526 false, // Forms a crater? 527 false, // Sticks to unit in square? 528 false, // Ground level animation? 529 false, // Translucent colors in this animation? 530 true, // Is this a flame thrower animation? 531 0x0000, // Damage to apply per tick (fixed point). 532 1, // Delay between frames. 533 0, // Starting frame number. 534 0, // Loop start frame number. 535 -1, // Ending frame of loop back. 536 -1, // Number of animation stages. 537 1, // Number of times the animation loops. 538 VOC_NONE, // Sound effect to play. 539 ANIM_NONE 540 ); 541 static AnimTypeClass const FlameW( 542 ANIM_FLAME_W, // Animation number. 543 "FLAME-W", // Data name of animation. 544 0, // Maximum dimension of animation. 545 9, // Biggest animation stage. 546 false, // Normalized animation rate? 547 false, // Uses white translucent table? 548 false, // Scorches the ground? 549 false, // Forms a crater? 550 false, // Sticks to unit in square? 551 false, // Ground level animation? 552 false, // Translucent colors in this animation? 553 true, // Is this a flame thrower animation? 554 0x0000, // Damage to apply per tick (fixed point). 555 1, // Delay between frames. 556 0, // Starting frame number. 557 0, // Loop start frame number. 558 -1, // Ending frame of loop back. 559 -1, // Number of animation stages. 560 1, // Number of times the animation loops. 561 VOC_NONE, // Sound effect to play. 562 ANIM_NONE 563 ); 564 static AnimTypeClass const FlameSW( 565 ANIM_FLAME_SW, // Animation number. 566 "FLAME-SW", // Data name of animation. 567 0, // Maximum dimension of animation. 568 9, // Biggest animation stage. 569 false, // Normalized animation rate? 570 false, // Uses white translucent table? 571 false, // Scorches the ground? 572 false, // Forms a crater? 573 false, // Sticks to unit in square? 574 false, // Ground level animation? 575 false, // Translucent colors in this animation? 576 true, // Is this a flame thrower animation? 577 0x0000, // Damage to apply per tick (fixed point). 578 1, // Delay between frames. 579 0, // Starting frame number. 580 0, // Loop start frame number. 581 -1, // Ending frame of loop back. 582 -1, // Number of animation stages. 583 1, // Number of times the animation loops. 584 VOC_NONE, // Sound effect to play. 585 ANIM_NONE 586 ); 587 static AnimTypeClass const FlameS( 588 ANIM_FLAME_S, // Animation number. 589 "FLAME-S", // Data name of animation. 590 0, // Maximum dimension of animation. 591 9, // Biggest animation stage. 592 false, // Normalized animation rate? 593 false, // Uses white translucent table? 594 false, // Scorches the ground? 595 false, // Forms a crater? 596 false, // Sticks to unit in square? 597 false, // Ground level animation? 598 false, // Translucent colors in this animation? 599 true, // Is this a flame thrower animation? 600 0x0000, // Damage to apply per tick (fixed point). 601 1, // Delay between frames. 602 0, // Starting frame number. 603 0, // Loop start frame number. 604 -1, // Ending frame of loop back. 605 -1, // Number of animation stages. 606 1, // Number of times the animation loops. 607 VOC_NONE, // Sound effect to play. 608 ANIM_NONE 609 ); 610 static AnimTypeClass const FlameSE( 611 ANIM_FLAME_SE, // Animation number. 612 "FLAME-SE", // Data name of animation. 613 0, // Maximum dimension of animation. 614 9, // Biggest animation stage. 615 false, // Normalized animation rate? 616 false, // Uses white translucent table? 617 false, // Scorches the ground? 618 false, // Forms a crater? 619 false, // Sticks to unit in square? 620 false, // Ground level animation? 621 false, // Translucent colors in this animation? 622 true, // Is this a flame thrower animation? 623 0x0000, // Damage to apply per tick (fixed point). 624 1, // Delay between frames. 625 0, // Starting frame number. 626 0, // Loop start frame number. 627 -1, // Ending frame of loop back. 628 -1, // Number of animation stages. 629 1, // Number of times the animation loops. 630 VOC_NONE, // Sound effect to play. 631 ANIM_NONE 632 ); 633 static AnimTypeClass const FlameE( 634 ANIM_FLAME_E, // Animation number. 635 "FLAME-E", // Data name of animation. 636 0, // Maximum dimension of animation. 637 9, // Biggest animation stage. 638 false, // Normalized animation rate? 639 false, // Uses white translucent table? 640 false, // Scorches the ground? 641 false, // Forms a crater? 642 false, // Sticks to unit in square? 643 false, // Ground level animation? 644 false, // Translucent colors in this animation? 645 true, // Is this a flame thrower animation? 646 0x0000, // Damage to apply per tick (fixed point). 647 1, // Delay between frames. 648 0, // Starting frame number. 649 0, // Loop start frame number. 650 -1, // Ending frame of loop back. 651 -1, // Number of animation stages. 652 1, // Number of times the animation loops. 653 VOC_NONE, // Sound effect to play. 654 ANIM_NONE 655 ); 656 static AnimTypeClass const FlameNE( 657 ANIM_FLAME_NE, // Animation number. 658 "FLAME-NE", // Data name of animation. 659 0, // Maximum dimension of animation. 660 9, // Biggest animation stage. 661 false, // Normalized animation rate? 662 false, // Uses white translucent table? 663 false, // Scorches the ground? 664 false, // Forms a crater? 665 false, // Sticks to unit in square? 666 false, // Ground level animation? 667 false, // Translucent colors in this animation? 668 true, // Is this a flame thrower animation? 669 0x0000, // Damage to apply per tick (fixed point). 670 1, // Delay between frames. 671 0, // Starting frame number. 672 0, // Loop start frame number. 673 -1, // Ending frame of loop back. 674 -1, // Number of animation stages. 675 1, // Number of times the animation loops. 676 VOC_NONE, // Sound effect to play. 677 ANIM_NONE 678 ); 679 680 /* 681 ** Chem sprayer animations. These are direction specific. 682 */ 683 static AnimTypeClass const ChemN( 684 ANIM_CHEM_N, // Animation number. 685 "CHEM-N", // Data name of animation. 686 0, // Maximum dimension of animation. 687 9, // Biggest animation stage. 688 false, // Normalized animation rate? 689 false, // Uses white translucent table? 690 false, // Scorches the ground? 691 false, // Forms a crater? 692 false, // Sticks to unit in square? 693 false, // Ground level animation? 694 false, // Translucent colors in this animation? 695 false, // Is this a flame thrower animation? 696 0x0000, // Damage to apply per tick (fixed point). 697 1, // Delay between frames. 698 0, // Starting frame number. 699 0, // Loop start frame number. 700 -1, // Ending frame of loop back. 701 -1, // Number of animation stages. 702 1, // Number of times the animation loops. 703 VOC_NONE, // Sound effect to play. 704 ANIM_NONE 705 ); 706 static AnimTypeClass const ChemNW( 707 ANIM_CHEM_NW, // Animation number. 708 "CHEM-NW", // Data name of animation. 709 0, // Maximum dimension of animation. 710 9, // Biggest animation stage. 711 false, // Normalized animation rate? 712 false, // Uses white translucent table? 713 false, // Scorches the ground? 714 false, // Forms a crater? 715 false, // Sticks to unit in square? 716 false, // Ground level animation? 717 false, // Translucent colors in this animation? 718 false, // Is this a flame thrower animation? 719 0x0000, // Damage to apply per tick (fixed point). 720 1, // Delay between frames. 721 0, // Starting frame number. 722 0, // Loop start frame number. 723 -1, // Ending frame of loop back. 724 -1, // Number of animation stages. 725 1, // Number of times the animation loops. 726 VOC_NONE, // Sound effect to play. 727 ANIM_NONE 728 ); 729 static AnimTypeClass const ChemW( 730 ANIM_CHEM_W, // Animation number. 731 "CHEM-W", // Data name of animation. 732 0, // Maximum dimension of animation. 733 9, // Biggest animation stage. 734 false, // Normalized animation rate? 735 false, // Uses white translucent table? 736 false, // Scorches the ground? 737 false, // Forms a crater? 738 false, // Sticks to unit in square? 739 false, // Ground level animation? 740 false, // Translucent colors in this animation? 741 false, // Is this a flame thrower animation? 742 0x0000, // Damage to apply per tick (fixed point). 743 1, // Delay between frames. 744 0, // Starting frame number. 745 0, // Loop start frame number. 746 -1, // Ending frame of loop back. 747 -1, // Number of animation stages. 748 1, // Number of times the animation loops. 749 VOC_NONE, // Sound effect to play. 750 ANIM_NONE 751 ); 752 static AnimTypeClass const ChemSW( 753 ANIM_CHEM_SW, // Animation number. 754 "CHEM-SW", // Data name of animation. 755 0, // Maximum dimension of animation. 756 9, // Biggest animation stage. 757 false, // Normalized animation rate? 758 false, // Uses white translucent table? 759 false, // Scorches the ground? 760 false, // Forms a crater? 761 false, // Sticks to unit in square? 762 false, // Ground level animation? 763 false, // Translucent colors in this animation? 764 false, // Is this a flame thrower animation? 765 0x0000, // Damage to apply per tick (fixed point). 766 1, // Delay between frames. 767 0, // Starting frame number. 768 0, // Loop start frame number. 769 -1, // Ending frame of loop back. 770 -1, // Number of animation stages. 771 1, // Number of times the animation loops. 772 VOC_NONE, // Sound effect to play. 773 ANIM_NONE 774 ); 775 static AnimTypeClass const ChemS( 776 ANIM_CHEM_S, // Animation number. 777 "CHEM-S", // Data name of animation. 778 0, // Maximum dimension of animation. 779 9, // Biggest animation stage. 780 false, // Normalized animation rate? 781 false, // Uses white translucent table? 782 false, // Scorches the ground? 783 false, // Forms a crater? 784 false, // Sticks to unit in square? 785 false, // Ground level animation? 786 false, // Translucent colors in this animation? 787 false, // Is this a flame thrower animation? 788 0x0000, // Damage to apply per tick (fixed point). 789 1, // Delay between frames. 790 0, // Starting frame number. 791 0, // Loop start frame number. 792 -1, // Ending frame of loop back. 793 -1, // Number of animation stages. 794 1, // Number of times the animation loops. 795 VOC_NONE, // Sound effect to play. 796 ANIM_NONE 797 ); 798 static AnimTypeClass const ChemSE( 799 ANIM_CHEM_SE, // Animation number. 800 "CHEM-SE", // Data name of animation. 801 0, // Maximum dimension of animation. 802 9, // Biggest animation stage. 803 false, // Normalized animation rate? 804 false, // Uses white translucent table? 805 false, // Scorches the ground? 806 false, // Forms a crater? 807 false, // Sticks to unit in square? 808 false, // Ground level animation? 809 false, // Translucent colors in this animation? 810 false, // Is this a flame thrower animation? 811 0x0000, // Damage to apply per tick (fixed point). 812 1, // Delay between frames. 813 0, // Starting frame number. 814 0, // Loop start frame number. 815 -1, // Ending frame of loop back. 816 -1, // Number of animation stages. 817 1, // Number of times the animation loops. 818 VOC_NONE, // Sound effect to play. 819 ANIM_NONE 820 ); 821 static AnimTypeClass const ChemE( 822 ANIM_CHEM_E, // Animation number. 823 "CHEM-E", // Data name of animation. 824 0, // Maximum dimension of animation. 825 9, // Biggest animation stage. 826 false, // Normalized animation rate? 827 false, // Uses white translucent table? 828 false, // Scorches the ground? 829 false, // Forms a crater? 830 false, // Sticks to unit in square? 831 false, // Ground level animation? 832 false, // Translucent colors in this animation? 833 false, // Is this a flame thrower animation? 834 0x0000, // Damage to apply per tick (fixed point). 835 1, // Delay between frames. 836 0, // Starting frame number. 837 0, // Loop start frame number. 838 -1, // Ending frame of loop back. 839 -1, // Number of animation stages. 840 1, // Number of times the animation loops. 841 VOC_NONE, // Sound effect to play. 842 ANIM_NONE 843 ); 844 static AnimTypeClass const ChemNE( 845 ANIM_CHEM_NE, // Animation number. 846 "CHEM-NE", // Data name of animation. 847 0, // Maximum dimension of animation. 848 9, // Biggest animation stage. 849 false, // Normalized animation rate? 850 false, // Uses white translucent table? 851 false, // Scorches the ground? 852 false, // Forms a crater? 853 false, // Sticks to unit in square? 854 false, // Ground level animation? 855 false, // Translucent colors in this animation? 856 false, // Is this a flame thrower animation? 857 0x0000, // Damage to apply per tick (fixed point). 858 1, // Delay between frames. 859 0, // Starting frame number. 860 0, // Loop start frame number. 861 -1, // Ending frame of loop back. 862 -1, // Number of animation stages. 863 1, // Number of times the animation loops. 864 VOC_NONE, // Sound effect to play. 865 ANIM_NONE 866 ); 867 868 static AnimTypeClass const Grenade( 869 ANIM_GRENADE, // Animation number. 870 "VEH-HIT2", // Data name of animation. 871 21, // Maximum dimension of animation. 872 1, // Biggest animation stage. 873 true, // Normalized animation rate? 874 false, // Uses white translucent table? 875 false, // Scorches the ground? 876 true, // Forms a crater? 877 false, // Sticks to unit in square? 878 true, // Ground level animation? 879 false, // Translucent colors in this animation? 880 false, // Is this a flame thrower animation? 881 0x0000, // Damage to apply per tick (fixed point). 882 1, // Delay between frames. 883 0, // Starting frame number. 884 0, // Loop start frame number. 885 -1, // Ending frame of loop back. 886 -1, // Number of animation stages. 887 1, // Number of times the animation loops. 888 VOC_GUN20, // Sound effect to play. 889 ANIM_NONE 890 ); 891 892 static AnimTypeClass const FBall1( 893 ANIM_FBALL1, // Animation number. 894 "FBALL1", // Data name of animation. 895 67, // Maximum dimension of animation. 896 6, // Biggest animation stage. 897 true, // Normalized animation rate? 898 false, // Uses white translucent table? 899 false, // Scorches the ground? 900 true, // Forms a crater? 901 false, // Sticks to unit in square? 902 false, // Ground level animation? 903 false, // Translucent colors in this animation? 904 false, // Is this a flame thrower animation? 905 0x0000, // Damage to apply per tick (fixed point). 906 1, // Delay between frames. 907 0, // Starting frame number. 908 0, // Loop start frame number. 909 -1, // Ending frame of loop back. 910 -1, // Number of animation stages. 911 1, // Number of times the animation loops. 912 VOC_XPLOS, // Sound effect to play. 913 ANIM_NONE 914 ); 915 916 static AnimTypeClass const Frag1( 917 ANIM_FRAG1, // Animation number. 918 "FRAG1", // Data name of animation. 919 45, // Maximum dimension of animation. 920 3, // Biggest animation stage. 921 true, // Normalized animation rate? 922 false, // Uses white translucent table? 923 false, // Scorches the ground? 924 true, // Forms a crater? 925 true, // Sticks to unit in square? 926 true, // Ground level animation? 927 false, // Translucent colors in this animation? 928 false, // Is this a flame thrower animation? 929 0x0000, // Damage to apply per tick (fixed point). 930 1, // Delay between frames. 931 0, // Starting frame number. 932 0, // Loop start frame number. 933 -1, // Ending frame of loop back. 934 -1, // Number of animation stages. 935 1, // Number of times the animation loops. 936 VOC_XPLOBIG4, // Sound effect to play. 937 ANIM_NONE, 938 29 // Virtual stages 939 ); 940 941 static AnimTypeClass const Frag3( 942 ANIM_FRAG2, // Animation number. 943 "FRAG3", // Data name of animation. 944 41, // Maximum dimension of animation. 945 3, // Biggest animation stage. 946 true, // Normalized animation rate? 947 false, // Uses white translucent table? 948 false, // Scorches the ground? 949 true, // Forms a crater? 950 false, // Sticks to unit in square? 951 true, // Ground level animation? 952 false, // Translucent colors in this animation? 953 false, // Is this a flame thrower animation? 954 0x0000, // Damage to apply per tick (fixed point). 955 1, // Delay between frames. 956 0, // Starting frame number. 957 0, // Loop start frame number. 958 -1, // Ending frame of loop back. 959 -1, // Number of animation stages. 960 1, // Number of times the animation loops. 961 VOC_XPLOBIG6, // Sound effect to play. 962 ANIM_NONE, 963 29 // Virtual stages 964 ); 965 966 static AnimTypeClass const VehHit1( 967 ANIM_VEH_HIT1, // Animation number. 968 "VEH-HIT1", // Data name of animation. 969 30, // Maximum dimension of animation. 970 4, // Biggest animation stage. 971 true, // Normalized animation rate? 972 false, // Uses white translucent table? 973 false, // Scorches the ground? 974 false, // Forms a crater? 975 true, // Sticks to unit in square? 976 false, // Ground level animation? 977 false, // Translucent colors in this animation? 978 false, // Is this a flame thrower animation? 979 0x0000, // Damage to apply per tick (fixed point). 980 1, // Delay between frames. 981 0, // Starting frame number. 982 0, // Loop start frame number. 983 -1, // Ending frame of loop back. 984 -1, // Number of animation stages. 985 1, // Number of times the animation loops. 986 VOC_XPLOS, // Sound effect to play. 987 ANIM_NONE 988 ); 989 990 static AnimTypeClass const VehHit2( 991 ANIM_VEH_HIT2, // Animation number. 992 "VEH-HIT2", // Data name of animation. 993 21, // Maximum dimension of animation. 994 1, // Biggest animation stage. 995 true, // Normalized animation rate? 996 false, // Uses white translucent table? 997 false, // Scorches the ground? 998 false, // Forms a crater? 999 true, // Sticks to unit in square? 1000 false, // Ground level animation? 1001 false, // Translucent colors in this animation? 1002 false, // Is this a flame thrower animation? 1003 0x0000, // Damage to apply per tick (fixed point). 1004 1, // Delay between frames. 1005 0, // Starting frame number. 1006 0, // Loop start frame number. 1007 -1, // Ending frame of loop back. 1008 -1, // Number of animation stages. 1009 1, // Number of times the animation loops. 1010 VOC_XPLOS, // Sound effect to play. 1011 ANIM_NONE 1012 ); 1013 1014 static AnimTypeClass const VehHit3( 1015 ANIM_VEH_HIT3, // Animation number. 1016 "VEH-HIT3", // Data name of animation. 1017 19, // Maximum dimension of animation. 1018 3, // Biggest animation stage. 1019 true, // Normalized animation rate? 1020 false, // Uses white translucent table? 1021 false, // Scorches the ground? 1022 false, // Forms a crater? 1023 true, // Sticks to unit in square? 1024 false, // Ground level animation? 1025 false, // Translucent colors in this animation? 1026 false, // Is this a flame thrower animation? 1027 0x0000, // Damage to apply per tick (fixed point). 1028 1, // Delay between frames. 1029 0, // Starting frame number. 1030 0, // Loop start frame number. 1031 -1, // Ending frame of loop back. 1032 -1, // Number of animation stages. 1033 1, // Number of times the animation loops. 1034 VOC_XPLOS, // Sound effect to play. 1035 ANIM_NONE 1036 ); 1037 1038 static AnimTypeClass const ArtExp1( 1039 ANIM_ART_EXP1, // Animation number. 1040 "ART-EXP1", // Data name of animation. 1041 41, // Maximum dimension of animation. 1042 1, // Biggest animation stage. 1043 true, // Normalized animation rate? 1044 false, // Uses white translucent table? 1045 false, // Scorches the ground? 1046 true, // Forms a crater? 1047 false, // Sticks to unit in square? 1048 false, // Ground level animation? 1049 false, // Translucent colors in this animation? 1050 false, // Is this a flame thrower animation? 1051 0x0000, // Damage to apply per tick (fixed point). 1052 1, // Delay between frames. 1053 0, // Starting frame number. 1054 0, // Loop start frame number. 1055 -1, // Ending frame of loop back. 1056 -1, // Number of animation stages. 1057 1, // Number of times the animation loops. 1058 VOC_XPLOSML2, // Sound effect to play. 1059 ANIM_NONE 1060 ); 1061 1062 static AnimTypeClass const Napalm1( 1063 ANIM_NAPALM1, // Animation number. 1064 "NAPALM1", // Data name of animation. 1065 21, // Maximum dimension of animation. 1066 5, // Biggest animation stage. 1067 false, // Normalized animation rate? 1068 false, // Uses white translucent table? 1069 true, // Scorches the ground? 1070 false, // Forms a crater? 1071 false, // Sticks to unit in square? 1072 false, // Ground level animation? 1073 false, // Translucent colors in this animation? 1074 false, // Is this a flame thrower animation? 1075 0x0000, // Damage to apply per tick (fixed point). 1076 1, // Delay between frames. 1077 0, // Starting frame number. 1078 0, // Loop start frame number. 1079 -1, // Ending frame of loop back. 1080 -1, // Number of animation stages. 1081 1, // Number of times the animation loops. 1082 VOC_FLAMER1, // Sound effect to play. 1083 ANIM_NONE 1084 ); 1085 1086 static AnimTypeClass const Napalm2( 1087 ANIM_NAPALM2, // Animation number. 1088 "NAPALM2", // Data name of animation. 1089 41, // Maximum dimension of animation. 1090 5, // Biggest animation stage. 1091 false, // Normalized animation rate? 1092 false, // Uses white translucent table? 1093 true, // Scorches the ground? 1094 false, // Forms a crater? 1095 false, // Sticks to unit in square? 1096 false, // Ground level animation? 1097 false, // Translucent colors in this animation? 1098 false, // Is this a flame thrower animation? 1099 0x0000, // Damage to apply per tick (fixed point). 1100 1, // Delay between frames. 1101 0, // Starting frame number. 1102 0, // Loop start frame number. 1103 -1, // Ending frame of loop back. 1104 -1, // Number of animation stages. 1105 1, // Number of times the animation loops. 1106 VOC_FLAMER1, // Sound effect to play. 1107 ANIM_NONE 1108 ); 1109 1110 static AnimTypeClass const Napalm3( 1111 ANIM_NAPALM3, // Animation number. 1112 "NAPALM3", // Data name of animation. 1113 78, // Maximum dimension of animation. 1114 5, // Biggest animation stage. 1115 false, // Normalized animation rate? 1116 false, // Uses white translucent table? 1117 true, // Scorches the ground? 1118 false, // Forms a crater? 1119 false, // Sticks to unit in square? 1120 false, // Ground level animation? 1121 false, // Translucent colors in this animation? 1122 false, // Is this a flame thrower animation? 1123 0x0000, // Damage to apply per tick (fixed point). 1124 1, // Delay between frames. 1125 0, // Starting frame number. 1126 0, // Loop start frame number. 1127 -1, // Ending frame of loop back. 1128 -1, // Number of animation stages. 1129 1, // Number of times the animation loops. 1130 VOC_FLAMER1, // Sound effect to play. 1131 ANIM_NONE 1132 ); 1133 1134 static AnimTypeClass const SmokePuff( 1135 ANIM_SMOKE_PUFF, // Animation number. 1136 "SMOKEY", // Data name of animation. 1137 24, // Maximum dimension of animation. 1138 2, // Biggest animation stage. 1139 true, // Normalized animation rate? 1140 false, // Uses white translucent table? 1141 false, // Scorches the ground? 1142 false, // Forms a crater? 1143 false, // Sticks to unit in square? 1144 false, // Ground level animation? 1145 true, // Translucent colors in this animation? 1146 false, // Is this a flame thrower animation? 1147 0x0000, // Damage to apply per tick (fixed point). 1148 1, // Delay between frames. 1149 0, // Starting frame number. 1150 0, // Loop start frame number. 1151 -1, // Ending frame of loop back. 1152 -1, // Number of animation stages. 1153 1, // Number of times the animation loops. 1154 VOC_NONE, // Sound effect to play. 1155 ANIM_NONE 1156 ); 1157 1158 static AnimTypeClass const Piff( 1159 ANIM_PIFF, // Animation number. 1160 "PIFF", // Data name of animation. 1161 13, // Maximum dimension of animation. 1162 1, // Biggest animation stage. 1163 true, // Normalized animation rate? 1164 false, // Uses white translucent table? 1165 false, // Scorches the ground? 1166 false, // Forms a crater? 1167 false, // Sticks to unit in square? 1168 false, // Ground level animation? 1169 false, // Translucent colors in this animation? 1170 false, // Is this a flame thrower animation? 1171 0x0000, // Damage to apply per tick (fixed point). 1172 1, // Delay between frames. 1173 0, // Starting frame number. 1174 0, // Loop start frame number. 1175 -1, // Ending frame of loop back. 1176 -1, // Number of animation stages. 1177 1, // Number of times the animation loops. 1178 VOC_NONE, // Sound effect to play. 1179 ANIM_NONE 1180 ); 1181 1182 static AnimTypeClass const PiffPiff( 1183 ANIM_PIFFPIFF, // Animation number. 1184 "PIFFPIFF", // Data name of animation. 1185 20, // Maximum dimension of animation. 1186 2, // Biggest animation stage. 1187 true, // Normalized animation rate? 1188 false, // Uses white translucent table? 1189 false, // Scorches the ground? 1190 false, // Forms a crater? 1191 false, // Sticks to unit in square? 1192 false, // Ground level animation? 1193 false, // Translucent colors in this animation? 1194 false, // Is this a flame thrower animation? 1195 0x0000, // Damage to apply per tick (fixed point). 1196 1, // Delay between frames. 1197 0, // Starting frame number. 1198 0, // Loop start frame number. 1199 -1, // Ending frame of loop back. 1200 -1, // Number of animation stages. 1201 1, // Number of times the animation loops. 1202 VOC_NONE, // Sound effect to play. 1203 ANIM_NONE 1204 ); 1205 1206 static AnimTypeClass const Fire3( 1207 ANIM_FIRE_SMALL, // Animation number. 1208 "FIRE3", // Data name of animation. 1209 23, // Maximum dimension of animation. 1210 0, // Biggest animation stage. 1211 false, // Normalized animation rate? 1212 false, // Uses white translucent table? 1213 false, // Scorches the ground? 1214 false, // Forms a crater? 1215 false, // Sticks to unit in square? 1216 true, // Ground level animation? 1217 false, // Translucent colors in this animation? 1218 false, // Is this a flame thrower animation? 1219 0x0008, // Damage to apply per tick (fixed point). 1220 1, // Delay between frames. 1221 0, // Starting frame number. 1222 0, // Loop start frame number. 1223 -1, // Ending frame of loop back. 1224 -1, // Number of animation stages. 1225 2, // Number of times the animation loops. 1226 VOC_NONE, // Sound effect to play. 1227 ANIM_NONE, 1228 -1, // Virtual stages 1229 0x100, // Virtual scale 1230 ANIM_FIRE_SMALL_VIRTUAL // Virtual anim 1231 ); 1232 1233 static AnimTypeClass const Fire3Virtual( 1234 ANIM_FIRE_SMALL_VIRTUAL, // Animation number. 1235 "FIRE3", // Data name of animation. 1236 23, // Maximum dimension of animation. 1237 0, // Biggest animation stage. 1238 false, // Normalized animation rate? 1239 false, // Uses white translucent table? 1240 false, // Scorches the ground? 1241 false, // Forms a crater? 1242 false, // Sticks to unit in square? 1243 true, // Ground level animation? 1244 false, // Translucent colors in this animation? 1245 false, // Is this a flame thrower animation? 1246 0x0000, // Damage to apply per tick (fixed point). 1247 1, // Delay between frames. 1248 0, // Starting frame number. 1249 10, // Loop start frame number. 1250 21, // Ending frame of loop back. 1251 29, // Number of animation stages. 1252 2, // Number of times the animation loops. 1253 VOC_NONE, // Sound effect to play. 1254 ANIM_NONE 1255 ); 1256 1257 static AnimTypeClass const Fire1( 1258 ANIM_FIRE_MED2, // Animation number. 1259 "FIRE1", // Data name of animation. 1260 23, // Maximum dimension of animation. 1261 0, // Biggest animation stage. 1262 false, // Normalized animation rate? 1263 false, // Uses white translucent table? 1264 true, // Scorches the ground? 1265 false, // Forms a crater? 1266 false, // Sticks to unit in square? 1267 true, // Ground level animation? 1268 false, // Translucent colors in this animation? 1269 false, // Is this a flame thrower animation? 1270 0x0010, // Damage to apply per tick (fixed point). 1271 1, // Delay between frames. 1272 0, // Starting frame number. 1273 0, // Loop start frame number. 1274 -1, // Ending frame of loop back. 1275 -1, // Number of animation stages. 1276 3, // Number of times the animation loops. 1277 VOC_NONE, // Sound effect to play. 1278 ANIM_NONE, 1279 -1, // Virtual stages 1280 0x100, // Virtual scale 1281 ANIM_FIRE_MED2_VIRTUAL // Virtual anim 1282 ); 1283 1284 static AnimTypeClass const Fire1Virtual( 1285 ANIM_FIRE_MED2_VIRTUAL, // Animation number. 1286 "FIRE1", // Data name of animation. 1287 23, // Maximum dimension of animation. 1288 0, // Biggest animation stage. 1289 false, // Normalized animation rate? 1290 false, // Uses white translucent table? 1291 true, // Scorches the ground? 1292 false, // Forms a crater? 1293 false, // Sticks to unit in square? 1294 true, // Ground level animation? 1295 false, // Translucent colors in this animation? 1296 false, // Is this a flame thrower animation? 1297 0x0000, // Damage to apply per tick (fixed point). 1298 1, // Delay between frames. 1299 0, // Starting frame number. 1300 10, // Loop start frame number. 1301 21, // Ending frame of loop back. 1302 29, // Number of animation stages. 1303 3, // Number of times the animation loops. 1304 VOC_NONE, // Sound effect to play. 1305 ANIM_NONE 1306 ); 1307 1308 static AnimTypeClass const Fire4( 1309 ANIM_FIRE_TINY, // Animation number. 1310 "FIRE4", // Data name of animation. 1311 7, // Maximum dimension of animation. 1312 0, // Biggest animation stage. 1313 false, // Normalized animation rate? 1314 false, // Uses white translucent table? 1315 false, // Scorches the ground? 1316 false, // Forms a crater? 1317 false, // Sticks to unit in square? 1318 true, // Ground level animation? 1319 false, // Translucent colors in this animation? 1320 false, // Is this a flame thrower animation? 1321 0x0008, // Damage to apply per tick (fixed point). 1322 1, // Delay between frames. 1323 0, // Starting frame number. 1324 0, // Loop start frame number. 1325 -1, // Ending frame of loop back. 1326 -1, // Number of animation stages. 1327 3, // Number of times the animation loops. 1328 VOC_NONE, // Sound effect to play. 1329 ANIM_NONE, 1330 -1, // Virtual stages 1331 0x100, // Virtual scale 1332 ANIM_FIRE_TINY_VIRTUAL // Virtual anim 1333 ); 1334 1335 static AnimTypeClass const Fire4Virtual( 1336 ANIM_FIRE_TINY_VIRTUAL, // Animation number. 1337 "FIRE4", // Data name of animation. 1338 7, // Maximum dimension of animation. 1339 0, // Biggest animation stage. 1340 false, // Normalized animation rate? 1341 false, // Uses white translucent table? 1342 false, // Scorches the ground? 1343 false, // Forms a crater? 1344 false, // Sticks to unit in square? 1345 true, // Ground level animation? 1346 false, // Translucent colors in this animation? 1347 false, // Is this a flame thrower animation? 1348 0x0000, // Damage to apply per tick (fixed point). 1349 1, // Delay between frames. 1350 0, // Starting frame number. 1351 10, // Loop start frame number. 1352 21, // Ending frame of loop back. 1353 29, // Number of animation stages. 1354 3, // Number of times the animation loops. 1355 VOC_NONE, // Sound effect to play. 1356 ANIM_NONE, 1357 30 // Virtual stages 1358 ); 1359 1360 static AnimTypeClass const Fire2( 1361 ANIM_FIRE_MED, // Animation number. 1362 "FIRE2", // Data name of animation. 1363 23, // Maximum dimension of animation. 1364 0, // Biggest animation stage. 1365 false, // Normalized animation rate? 1366 false, // Uses white translucent table? 1367 true, // Scorches the ground? 1368 false, // Forms a crater? 1369 false, // Sticks to unit in square? 1370 true, // Ground level animation? 1371 false, // Translucent colors in this animation? 1372 false, // Is this a flame thrower animation? 1373 0x0010, // Damage to apply per tick (fixed point). 1374 1, // Delay between frames. 1375 0, // Starting frame number. 1376 0, // Loop start frame number. 1377 -1, // Ending frame of loop back. 1378 -1, // Number of animation stages. 1379 3, // Number of times the animation loops. 1380 VOC_NONE, // Sound effect to play. 1381 ANIM_NONE, 1382 -1, // Virtual stages 1383 0x100, // Virtual scale 1384 ANIM_FIRE_MED_VIRTUAL // Virtual anim 1385 ); 1386 1387 static AnimTypeClass const Fire2Virtual( 1388 ANIM_FIRE_MED_VIRTUAL, // Animation number. 1389 "FIRE2", // Data name of animation. 1390 23, // Maximum dimension of animation. 1391 0, // Biggest animation stage. 1392 false, // Normalized animation rate? 1393 false, // Uses white translucent table? 1394 true, // Scorches the ground? 1395 false, // Forms a crater? 1396 false, // Sticks to unit in square? 1397 true, // Ground level animation? 1398 false, // Translucent colors in this animation? 1399 false, // Is this a flame thrower animation? 1400 0x0000, // Damage to apply per tick (fixed point). 1401 1, // Delay between frames. 1402 0, // Starting frame number. 1403 10, // Loop start frame number. 1404 21, // Ending frame of loop back. 1405 29, // Number of animation stages. 1406 3, // Number of times the animation loops. 1407 VOC_NONE, // Sound effect to play. 1408 ANIM_NONE 1409 ); 1410 1411 static AnimTypeClass const OilFieldBurn( 1412 ANIM_OILFIELD_BURN, // Animation number. 1413 "FLMSPT", // Data name of animation. 1414 42, // Maximum dimension of animation. 1415 58, // Biggest animation stage. 1416 true, // Normalized animation rate? 1417 false, // Uses white translucent table? 1418 false, // Scorches the ground? 1419 false, // Forms a crater? 1420 false, // Sticks to unit in square? 1421 true, // Ground level animation? 1422 false, // Translucent colors in this animation? 1423 false, // Is this a flame thrower animation? 1424 0x0000, // Damage to apply per tick (fixed point). 1425 1, // Delay between frames. 1426 0, // Starting frame number. 1427 33, // Loop start frame number. 1428 99, // Ending frame of loop back. 1429 66, // Number of animation stages. 1430 127, // Number of times the animation loops. 1431 VOC_NONE, // Sound effect to play. 1432 ANIM_NONE 1433 ); 1434 1435 static AnimTypeClass const Gunfire( 1436 ANIM_MUZZLE_FLASH, // Animation number. 1437 "GUNFIRE", // Data name of animation. 1438 16, // Maximum dimension of animation. 1439 0, // Biggest animation stage. 1440 false, // Normalized animation rate? 1441 false, // Uses white translucent table? 1442 false, // Scorches the ground? 1443 false, // Forms a crater? 1444 false, // Sticks to unit in square? 1445 true, // Ground level animation? 1446 true, // Translucent colors in this animation? 1447 false, // Is this a flame thrower animation? 1448 0x0000, // Damage to apply per tick (fixed point). 1449 1, // Delay between frames. 1450 0, // Starting frame number. 1451 0, // Loop start frame number. 1452 0, // Number of times the animation loops. 1453 // 2, // Number of times the animation loops. 1454 1, // Number of animation stages. 1455 // 2, // Number of animation stages. 1456 1, // Ending frame of loop back. 1457 VOC_NONE, // Sound effect to play. 1458 ANIM_NONE, 1459 10 // Virtual stages 1460 ); 1461 1462 #ifdef NEVER 1463 static AnimTypeClass const E1RotFire( 1464 ANIM_E1_ROT_FIRE, // Animation number. 1465 "E1ROT", // Data name of animation. 1466 false, // Normalized animation rate? 1467 false, // Uses white translucent table? 1468 false, // Scorches the ground? 1469 false, // Forms a crater? 1470 false, // Sticks to unit in square? 1471 true, // Is a flat on the ground animation? 1472 true, // Ground level animation? 1473 false, // Translucent colors in this animation? 1474 false, // Is this a flame thrower animation? 1475 0x0000, // Damage to apply per tick (fixed point). 1476 30, // Delay between frames. 1477 28, // Starting frame number. 1478 0, // Loop start frame number. 1479 0, // Ending frame of loop back. 1480 4, // Number of animation stages. 1481 1, // Number of times the animation loops. 1482 VOC_NONE, // Sound effect to play. 1483 ANIM_NONE 1484 ); 1485 static AnimTypeClass const E1RotGrenade( 1486 ANIM_E1_ROT_GRENADE, // Animation number. 1487 "E1ROT", // Data name of animation. 1488 false, // Normalized animation rate? 1489 false, // Uses white translucent table? 1490 false, // Scorches the ground? 1491 false, // Forms a crater? 1492 false, // Sticks to unit in square? 1493 true, // Is a flat on the ground animation? 1494 true, // Ground level animation? 1495 false, // Translucent colors in this animation? 1496 false, // Is this a flame thrower animation? 1497 0x0000, // Damage to apply per tick (fixed point). 1498 30, // Delay between frames. 1499 24, // Starting frame number. 1500 0, // Loop start frame number. 1501 0, // Loopback frame number. 1502 4, // Number of animation stages. 1503 1, // Number of times the animation loops. 1504 VOC_NONE, // Sound effect to play. 1505 ANIM_NONE 1506 ); 1507 static AnimTypeClass const E1RotGun( 1508 ANIM_E1_ROT_GUN, // Animation number. 1509 "E1ROT", // Data name of animation. 1510 false, // Normalized animation rate? 1511 false, // Uses white translucent table? 1512 false, // Scorches the ground? 1513 false, // Forms a crater? 1514 false, // Sticks to unit in square? 1515 true, // Is a flat on the ground animation? 1516 true, // Ground level animation? 1517 false, // Translucent colors in this animation? 1518 false, // Is this a flame thrower animation? 1519 0x0000, // Damage to apply per tick (fixed point). 1520 30, // Delay between frames. 1521 16, // Starting frame number. 1522 0, // Loop start frame number. 1523 0, // Loopback frame number. 1524 4, // Number of animation stages. 1525 1, // Number of times the animation loops. 1526 VOC_NONE, // Sound effect to play. 1527 ANIM_NONE 1528 ); 1529 static AnimTypeClass const E1RotExp( 1530 ANIM_E1_ROT_EXP, // Animation number. 1531 "E1ROT", // Data name of animation. 1532 false, // Normalized animation rate? 1533 false, // Uses white translucent table? 1534 false, // Scorches the ground? 1535 false, // Forms a crater? 1536 false, // Sticks to unit in square? 1537 true, // Is a flat on the ground animation? 1538 true, // Ground level animation? 1539 false, // Translucent colors in this animation? 1540 false, // Is this a flame thrower animation? 1541 0x0000, // Damage to apply per tick (fixed point). 1542 30, // Delay between frames. 1543 20, // Starting frame number. 1544 0, // Loop start frame number. 1545 0, // Loopback frame number. 1546 4, // Number of animation stages. 1547 1, // Number of times the animation loops. 1548 VOC_NONE, // Sound effect to play. 1549 ANIM_NONE 1550 ); 1551 1552 static AnimTypeClass const E2RotFire( 1553 ANIM_E2_ROT_FIRE, // Animation number. 1554 "E2ROT", // Data name of animation. 1555 false, // Normalized animation rate? 1556 false, // Uses white translucent table? 1557 false, // Scorches the ground? 1558 false, // Forms a crater? 1559 false, // Sticks to unit in square? 1560 true, // Is a flat on the ground animation? 1561 true, // Ground level animation? 1562 false, // Translucent colors in this animation? 1563 false, // Is this a flame thrower animation? 1564 0x0000, // Damage to apply per tick (fixed point). 1565 30, // Delay between frames. 1566 28, // Starting frame number. 1567 0, // Loop start frame number. 1568 0, // Loopback frame number. 1569 4, // Number of animation stages. 1570 1, // Number of times the animation loops. 1571 VOC_NONE, // Sound effect to play. 1572 ANIM_NONE 1573 ); 1574 static AnimTypeClass const E2RotGrenade( 1575 ANIM_E2_ROT_GRENADE, // Animation number. 1576 "E2ROT", // Data name of animation. 1577 false, // Normalized animation rate? 1578 false, // Uses white translucent table? 1579 false, // Scorches the ground? 1580 false, // Forms a crater? 1581 false, // Sticks to unit in square? 1582 true, // Is a flat on the ground animation? 1583 true, // Ground level animation? 1584 false, // Translucent colors in this animation? 1585 false, // Is this a flame thrower animation? 1586 0x0000, // Damage to apply per tick (fixed point). 1587 30, // Delay between frames. 1588 24, // Starting frame number. 1589 0, // Loop start frame number. 1590 0, // Loopback frame number. 1591 4, // Number of animation stages. 1592 1, // Number of times the animation loops. 1593 VOC_NONE, // Sound effect to play. 1594 ANIM_NONE 1595 ); 1596 static AnimTypeClass const E2RotGun( 1597 ANIM_E2_ROT_GUN, // Animation number. 1598 "E2ROT", // Data name of animation. 1599 false, // Normalized animation rate? 1600 false, // Uses white translucent table? 1601 false, // Scorches the ground? 1602 false, // Forms a crater? 1603 false, // Sticks to unit in square? 1604 true, // Is a flat on the ground animation? 1605 true, // Ground level animation? 1606 false, // Translucent colors in this animation? 1607 false, // Is this a flame thrower animation? 1608 0x0000, // Damage to apply per tick (fixed point). 1609 30, // Delay between frames. 1610 16, // Starting frame number. 1611 0, // Loop start frame number. 1612 0, // Loopback frame number. 1613 4, // Number of animation stages. 1614 1, // Number of times the animation loops. 1615 VOC_NONE, // Sound effect to play. 1616 ANIM_NONE 1617 ); 1618 static AnimTypeClass const E2RotExp( 1619 ANIM_E2_ROT_EXP, // Animation number. 1620 "E2ROT", // Data name of animation. 1621 false, // Normalized animation rate? 1622 false, // Uses white translucent table? 1623 false, // Scorches the ground? 1624 false, // Forms a crater? 1625 false, // Sticks to unit in square? 1626 true, // Is a flat on the ground animation? 1627 true, // Ground level animation? 1628 false, // Translucent colors in this animation? 1629 false, // Is this a flame thrower animation? 1630 0x0000, // Damage to apply per tick (fixed point). 1631 30, // Delay between frames. 1632 20, // Starting frame number. 1633 0, // Loop start frame number. 1634 0, // Loopback frame number. 1635 4, // Number of animation stages. 1636 1, // Number of times the animation loops. 1637 VOC_NONE, // Sound effect to play. 1638 ANIM_NONE 1639 ); 1640 1641 static AnimTypeClass const E3RotFire( 1642 ANIM_E3_ROT_FIRE, // Animation number. 1643 "E3ROT", // Data name of animation. 1644 false, // Normalized animation rate? 1645 false, // Uses white translucent table? 1646 false, // Scorches the ground? 1647 false, // Forms a crater? 1648 false, // Sticks to unit in square? 1649 true, // Is a flat on the ground animation? 1650 true, // Ground level animation? 1651 false, // Translucent colors in this animation? 1652 false, // Is this a flame thrower animation? 1653 0x0000, // Damage to apply per tick (fixed point). 1654 30, // Delay between frames. 1655 28, // Starting frame number. 1656 0, // Loop start frame number. 1657 0, // Loopback frame number. 1658 4, // Number of animation stages. 1659 1, // Number of times the animation loops. 1660 VOC_NONE, // Sound effect to play. 1661 ANIM_NONE 1662 ); 1663 static AnimTypeClass const E3RotGrenade( 1664 ANIM_E3_ROT_GRENADE, // Animation number. 1665 "E3ROT", // Data name of animation. 1666 false, // Normalized animation rate? 1667 false, // Uses white translucent table? 1668 false, // Scorches the ground? 1669 false, // Forms a crater? 1670 false, // Sticks to unit in square? 1671 true, // Is a flat on the ground animation? 1672 true, // Ground level animation? 1673 false, // Translucent colors in this animation? 1674 false, // Is this a flame thrower animation? 1675 0x0000, // Damage to apply per tick (fixed point). 1676 30, // Delay between frames. 1677 24, // Starting frame number. 1678 0, // Loop start frame number. 1679 0, // Loopback frame number. 1680 4, // Number of animation stages. 1681 1, // Number of times the animation loops. 1682 VOC_NONE, // Sound effect to play. 1683 ANIM_NONE 1684 ); 1685 static AnimTypeClass const E3RotGun( 1686 ANIM_E3_ROT_GUN, // Animation number. 1687 "E3ROT", // Data name of animation. 1688 false, // Normalized animation rate? 1689 false, // Uses white translucent table? 1690 false, // Scorches the ground? 1691 false, // Forms a crater? 1692 false, // Sticks to unit in square? 1693 true, // Is a flat on the ground animation? 1694 true, // Ground level animation? 1695 false, // Translucent colors in this animation? 1696 false, // Is this a flame thrower animation? 1697 0x0000, // Damage to apply per tick (fixed point). 1698 30, // Delay between frames. 1699 16, // Starting frame number. 1700 0, // Loop start frame number. 1701 0, // Loopback frame number. 1702 4, // Number of animation stages. 1703 1, // Number of times the animation loops. 1704 VOC_NONE, // Sound effect to play. 1705 ANIM_NONE 1706 ); 1707 static AnimTypeClass const E3RotExp( 1708 ANIM_E3_ROT_EXP, // Animation number. 1709 "E3ROT", // Data name of animation. 1710 false, // Normalized animation rate? 1711 false, // Uses white translucent table? 1712 false, // Scorches the ground? 1713 false, // Forms a crater? 1714 false, // Sticks to unit in square? 1715 true, // Is a flat on the ground animation? 1716 true, // Ground level animation? 1717 false, // Translucent colors in this animation? 1718 false, // Is this a flame thrower animation? 1719 0x0000, // Damage to apply per tick (fixed point). 1720 30, // Delay between frames. 1721 20, // Starting frame number. 1722 0, // Loop start frame number. 1723 0, // Loopback frame number. 1724 4, // Number of animation stages. 1725 1, // Number of times the animation loops. 1726 VOC_NONE, // Sound effect to play. 1727 ANIM_NONE 1728 ); 1729 1730 static AnimTypeClass const E4RotFire( 1731 ANIM_E4_ROT_FIRE, // Animation number. 1732 "E4ROT", // Data name of animation. 1733 false, // Normalized animation rate? 1734 false, // Uses white translucent table? 1735 false, // Scorches the ground? 1736 false, // Forms a crater? 1737 false, // Sticks to unit in square? 1738 true, // Is a flat on the ground animation? 1739 true, // Ground level animation? 1740 false, // Translucent colors in this animation? 1741 false, // Is this a flame thrower animation? 1742 0x0000, // Damage to apply per tick (fixed point). 1743 30, // Delay between frames. 1744 28, // Starting frame number. 1745 0, // Loop start frame number. 1746 0, // Loopback frame number. 1747 4, // Number of animation stages. 1748 1, // Number of times the animation loops. 1749 VOC_NONE, // Sound effect to play. 1750 ANIM_NONE 1751 ); 1752 static AnimTypeClass const E4RotGrenade( 1753 ANIM_E4_ROT_GRENADE, // Animation number. 1754 "E4ROT", // Data name of animation. 1755 false, // Normalized animation rate? 1756 false, // Uses white translucent table? 1757 false, // Scorches the ground? 1758 false, // Forms a crater? 1759 false, // Sticks to unit in square? 1760 true, // Is a flat on the ground animation? 1761 true, // Ground level animation? 1762 false, // Translucent colors in this animation? 1763 false, // Is this a flame thrower animation? 1764 0x0000, // Damage to apply per tick (fixed point). 1765 30, // Delay between frames. 1766 24, // Starting frame number. 1767 0, // Loop start frame number. 1768 0, // Loopback frame number. 1769 4, // Number of animation stages. 1770 1, // Number of times the animation loops. 1771 VOC_NONE, // Sound effect to play. 1772 ANIM_NONE 1773 ); 1774 static AnimTypeClass const E4RotGun( 1775 ANIM_E4_ROT_GUN, // Animation number. 1776 "E4ROT", // Data name of animation. 1777 false, // Normalized animation rate? 1778 false, // Uses white translucent table? 1779 false, // Scorches the ground? 1780 false, // Forms a crater? 1781 false, // Sticks to unit in square? 1782 true, // Is a flat on the ground animation? 1783 true, // Ground level animation? 1784 false, // Translucent colors in this animation? 1785 false, // Is this a flame thrower animation? 1786 0x0000, // Damage to apply per tick (fixed point). 1787 30, // Delay between frames. 1788 16, // Starting frame number. 1789 0, // Loop start frame number. 1790 0, // Loopback frame number. 1791 4, // Number of animation stages. 1792 1, // Number of times the animation loops. 1793 VOC_NONE, // Sound effect to play. 1794 ANIM_NONE 1795 ); 1796 static AnimTypeClass const E4RotExp( 1797 ANIM_E4_ROT_EXP, // Animation number. 1798 "E4ROT", // Data name of animation. 1799 false, // Normalized animation rate? 1800 false, // Uses white translucent table? 1801 false, // Scorches the ground? 1802 false, // Forms a crater? 1803 false, // Sticks to unit in square? 1804 true, // Is a flat on the ground animation? 1805 true, // Ground level animation? 1806 false, // Translucent colors in this animation? 1807 false, // Is this a flame thrower animation? 1808 0x0000, // Damage to apply per tick (fixed point). 1809 30, // Delay between frames. 1810 20, // Starting frame number. 1811 0, // Loop start frame number. 1812 0, // Loopback frame number. 1813 4, // Number of animation stages. 1814 1, // Number of times the animation loops. 1815 VOC_NONE, // Sound effect to play. 1816 ANIM_NONE 1817 ); 1818 #endif 1819 1820 static AnimTypeClass const SmokeM( 1821 ANIM_SMOKE_M, // Animation number. 1822 "SMOKE_M", // Data name of animation. 1823 28, // Maximum dimension of animation. 1824 30, // Biggest animation stage. 1825 true, // Normalized animation rate? 1826 false, // Uses white translucent table? 1827 false, // Scorches the ground? 1828 false, // Forms a crater? 1829 false, // Sticks to unit in square? 1830 true, // Ground level animation? 1831 false, // Translucent colors in this animation? 1832 false, // Is this a flame thrower animation? 1833 0x0000, // Damage to apply per tick (fixed point). 1834 1, // Delay between frames. 1835 0, // Starting frame number. 1836 67, // Loop start frame number. 1837 -1, // Loopback frame number. 1838 -1, // Number of animation stages. 1839 6, // Number of times the animation loops. 1840 VOC_NONE, // Sound effect to play. 1841 ANIM_NONE, 1842 105 // Virtual stages 1843 ); 1844 1845 /* 1846 ** Mini-gun fire effect -- used by guard towers. 1847 */ 1848 static AnimTypeClass const GUNN( 1849 ANIM_GUN_N, // Animation number. 1850 "MINIGUN", // Data name of animation. 1851 18, // Maximum dimension of animation. 1852 0, // Biggest animation stage. 1853 false, // Normalized animation rate? 1854 false, // Uses white translucent table? 1855 false, // Scorches the ground? 1856 false, // Forms a crater? 1857 false, // Sticks to unit in square? 1858 false, // Ground level animation? 1859 false, // Translucent colors in this animation? 1860 false, // Is this a flame thrower animation? 1861 0x0000, // Damage to apply per tick (fixed point). 1862 1, // Delay between frames. 1863 0, // Starting frame number. 1864 0, // Loop start frame number. 1865 0, // Number of times the animation loops. 1866 6, // Number of animation stages. 1867 0, // Ending frame of loop back. 1868 VOC_NONE, // Sound effect to play. 1869 ANIM_NONE 1870 ); 1871 static AnimTypeClass const GUNNW( 1872 ANIM_GUN_NW, // Animation number. 1873 "MINIGUN", // Data name of animation. 1874 18, // Maximum dimension of animation. 1875 0, // Biggest animation stage. 1876 false, // Normalized animation rate? 1877 false, // Uses white translucent table? 1878 false, // Scorches the ground? 1879 false, // Forms a crater? 1880 false, // Sticks to unit in square? 1881 false, // Ground level animation? 1882 false, // Translucent colors in this animation? 1883 false, // Is this a flame thrower animation? 1884 0x0000, // Damage to apply per tick (fixed point). 1885 1, // Delay between frames. 1886 6, // Starting frame number. 1887 0, // Loop start frame number. 1888 0, // Number of times the animation loops. 1889 6, // Number of animation stages. 1890 0, // Ending frame of loop back. 1891 VOC_NONE, // Sound effect to play. 1892 ANIM_NONE 1893 ); 1894 static AnimTypeClass const GUNW( 1895 ANIM_GUN_W, // Animation number. 1896 "MINIGUN", // Data name of animation. 1897 18, // Maximum dimension of animation. 1898 0, // Biggest animation stage. 1899 false, // Normalized animation rate? 1900 false, // Uses white translucent table? 1901 false, // Scorches the ground? 1902 false, // Forms a crater? 1903 false, // Sticks to unit in square? 1904 false, // Ground level animation? 1905 false, // Translucent colors in this animation? 1906 false, // Is this a flame thrower animation? 1907 0x0000, // Damage to apply per tick (fixed point). 1908 1, // Delay between frames. 1909 12, // Starting frame number. 1910 0, // Loop start frame number. 1911 0, // Number of times the animation loops. 1912 6, // Number of animation stages. 1913 0, // Ending frame of loop back. 1914 VOC_NONE, // Sound effect to play. 1915 ANIM_NONE 1916 ); 1917 static AnimTypeClass const GUNSW( 1918 ANIM_GUN_SW, // Animation number. 1919 "MINIGUN", // Data name of animation. 1920 18, // Maximum dimension of animation. 1921 0, // Biggest animation stage. 1922 false, // Normalized animation rate? 1923 false, // Uses white translucent table? 1924 false, // Scorches the ground? 1925 false, // Forms a crater? 1926 false, // Sticks to unit in square? 1927 false, // Ground level animation? 1928 false, // Translucent colors in this animation? 1929 false, // Is this a flame thrower animation? 1930 0x0000, // Damage to apply per tick (fixed point). 1931 1, // Delay between frames. 1932 18, // Starting frame number. 1933 0, // Loop start frame number. 1934 0, // Number of times the animation loops. 1935 6, // Number of animation stages. 1936 0, // Ending frame of loop back. 1937 VOC_NONE, // Sound effect to play. 1938 ANIM_NONE 1939 ); 1940 static AnimTypeClass const GUNS( 1941 ANIM_GUN_S, // Animation number. 1942 "MINIGUN", // Data name of animation. 1943 18, // Maximum dimension of animation. 1944 0, // Biggest animation stage. 1945 false, // Normalized animation rate? 1946 false, // Uses white translucent table? 1947 false, // Scorches the ground? 1948 false, // Forms a crater? 1949 false, // Sticks to unit in square? 1950 false, // Ground level animation? 1951 false, // Translucent colors in this animation? 1952 false, // Is this a flame thrower animation? 1953 0x0000, // Damage to apply per tick (fixed point). 1954 1, // Delay between frames. 1955 24, // Starting frame number. 1956 0, // Loop start frame number. 1957 0, // Number of times the animation loops. 1958 6, // Number of animation stages. 1959 0, // Ending frame of loop back. 1960 VOC_NONE, // Sound effect to play. 1961 ANIM_NONE 1962 ); 1963 static AnimTypeClass const GUNSE( 1964 ANIM_GUN_SE, // Animation number. 1965 "MINIGUN", // Data name of animation. 1966 18, // Maximum dimension of animation. 1967 0, // Biggest animation stage. 1968 false, // Normalized animation rate? 1969 false, // Uses white translucent table? 1970 false, // Scorches the ground? 1971 false, // Forms a crater? 1972 false, // Sticks to unit in square? 1973 false, // Ground level animation? 1974 false, // Translucent colors in this animation? 1975 false, // Is this a flame thrower animation? 1976 0x0000, // Damage to apply per tick (fixed point). 1977 1, // Delay between frames. 1978 30, // Starting frame number. 1979 0, // Loop start frame number. 1980 0, // Number of times the animation loops. 1981 6, // Number of animation stages. 1982 0, // Ending frame of loop back. 1983 VOC_NONE, // Sound effect to play. 1984 ANIM_NONE 1985 ); 1986 static AnimTypeClass const GUNE( 1987 ANIM_GUN_E, // Animation number. 1988 "MINIGUN", // Data name of animation. 1989 18, // Maximum dimension of animation. 1990 0, // Biggest animation stage. 1991 false, // Normalized animation rate? 1992 false, // Uses white translucent table? 1993 false, // Scorches the ground? 1994 false, // Forms a crater? 1995 false, // Sticks to unit in square? 1996 false, // Ground level animation? 1997 false, // Translucent colors in this animation? 1998 false, // Is this a flame thrower animation? 1999 0x0000, // Damage to apply per tick (fixed point). 2000 1, // Delay between frames. 2001 36, // Starting frame number. 2002 0, // Loop start frame number. 2003 0, // Number of times the animation loops. 2004 6, // Number of animation stages. 2005 0, // Ending frame of loop back. 2006 VOC_NONE, // Sound effect to play. 2007 ANIM_NONE 2008 ); 2009 static AnimTypeClass const GUNNE( 2010 ANIM_GUN_NE, // Animation number. 2011 "MINIGUN", // Data name of animation. 2012 18, // Maximum dimension of animation. 2013 0, // Biggest animation stage. 2014 false, // Normalized animation rate? 2015 false, // Uses white translucent table? 2016 false, // Scorches the ground? 2017 false, // Forms a crater? 2018 false, // Sticks to unit in square? 2019 false, // Ground level animation? 2020 false, // Translucent colors in this animation? 2021 false, // Is this a flame thrower animation? 2022 0x0000, // Damage to apply per tick (fixed point). 2023 1, // Delay between frames. 2024 42, // Starting frame number. 2025 0, // Loop start frame number. 2026 0, // Number of times the animation loops. 2027 6, // Number of animation stages. 2028 0, // Ending frame of loop back. 2029 VOC_NONE, // Sound effect to play. 2030 ANIM_NONE 2031 ); 2032 static AnimTypeClass const IonCannon( 2033 ANIM_ION_CANNON, // Animation number. 2034 "IONSFX", // Data name of animation. 2035 48, // Maximum dimension of animation. 2036 11, // Biggest animation stage. 2037 false, // Normalized animation rate? 2038 false, // Uses white translucent table? 2039 true, // Scorches the ground? 2040 true, // Forms a crater? 2041 false, // Sticks to unit in square? 2042 false, // Ground level animation? 2043 false, // Translucent colors in this animation? 2044 false, // Is this a flame thrower animation? 2045 0x0000, // Damage to apply per tick (fixed point). 2046 1, // Delay between frames. 2047 0, // Starting frame number. 2048 0, // Loop start frame number. 2049 0, // Ending frame of loop back. 2050 15, // Number of animation stages. 2051 0, // Number of times the animation loops. 2052 VOC_ION_CANNON, // Sound effect to play. 2053 ANIM_ART_EXP1, 2054 32, // Virtual stages 2055 0x200 // Virtual scale 2056 ); 2057 2058 static AnimTypeClass const AtomBomb( 2059 ANIM_ATOM_BLAST, // Animation number. 2060 "ATOMSFX", // Data name of animation. 2061 72, // Maximum dimension of animation. 2062 19, // Biggest animation stage. 2063 false, // Normalized animation rate? 2064 false, // Uses white translucent table? 2065 true, // Scorches the ground? 2066 true, // Forms a crater? 2067 false, // Sticks to unit in square? 2068 false, // Ground level animation? 2069 false, // Translucent colors in this animation? 2070 false, // Is this a flame thrower animation? 2071 0x0000, // Damage to apply per tick (fixed point). 2072 1, // Delay between frames. 2073 0, // Starting frame number. 2074 0, // Loop start frame number. 2075 0, // Ending frame of loop back. 2076 -1, // Number of animation stages. 2077 0, // Number of times the animation loops. 2078 VOC_NUKE_EXPLODE, // Sound effect to play. 2079 ANIM_NONE, 2080 75, // Virtual stages 2081 0x300 // Virtual scale 2082 ); 2083 static AnimTypeClass const AtomDoor( 2084 ANIM_ATOM_DOOR, // Animation number. 2085 "ATOMDOOR", // Data name of animation. 2086 48, // Maximum dimension of animation. 2087 19, // Biggest animation stage. 2088 false, // Normalized animation rate? 2089 false, // Uses white translucent table? 2090 true, // Scorches the ground? 2091 true, // Forms a crater? 2092 true, // Sticks to unit in square? 2093 false, // Ground level animation? 2094 false, // Translucent colors in this animation? 2095 false, // Is this a flame thrower animation? 2096 0x0000, // Damage to apply per tick (fixed point). 2097 1, // Delay between frames. 2098 0, // Starting frame number. 2099 0, // Loop start frame number. 2100 0, // Ending frame of loop back. 2101 -1, // Number of animation stages. 2102 0, // Number of times the animation loops. 2103 VOC_NONE, // Sound effect to play. 2104 ANIM_NONE 2105 ); 2106 2107 static AnimTypeClass const CDeviator( 2108 ANIM_CRATE_DEVIATOR, // Animation number. 2109 "DEVIATOR", // Data name of animation. 2110 48, // Maximum dimension of animation. 2111 0, // Biggest animation stage. 2112 true, // Normalized animation rate? 2113 false, // Uses white translucent table? 2114 false, // Scorches the ground? 2115 false, // Forms a crater? 2116 false, // Sticks to unit in square? 2117 false, // Ground level animation? 2118 false, // Translucent colors in this animation? 2119 false, // Is this a flame thrower animation? 2120 0x0000, // Damage to apply per tick (fixed point). 2121 2, // Delay between frames. 2122 0, // Starting frame number. 2123 0, // Loop start frame number. 2124 0, // Ending frame of loop back. 2125 -1, // Number of animation stages. 2126 0, // Number of times the animation loops. 2127 VOC_NONE, // Sound effect to play. 2128 ANIM_NONE // Follow up animation. 2129 ); 2130 static AnimTypeClass const CDollar( 2131 ANIM_CRATE_DOLLAR, // Animation number. 2132 "DOLLAR", // Data name of animation. 2133 48, // Maximum dimension of animation. 2134 0, // Biggest animation stage. 2135 true, // Normalized animation rate? 2136 false, // Uses white translucent table? 2137 false, // Scorches the ground? 2138 false, // Forms a crater? 2139 false, // Sticks to unit in square? 2140 false, // Ground level animation? 2141 false, // Translucent colors in this animation? 2142 false, // Is this a flame thrower animation? 2143 0x0000, // Damage to apply per tick (fixed point). 2144 2, // Delay between frames. 2145 0, // Starting frame number. 2146 0, // Loop start frame number. 2147 0, // Ending frame of loop back. 2148 -1, // Number of animation stages. 2149 0, // Number of times the animation loops. 2150 VOC_NONE, // Sound effect to play. 2151 ANIM_NONE // Follow up animation. 2152 ); 2153 static AnimTypeClass const CEarth( 2154 ANIM_CRATE_EARTH, // Animation number. 2155 "EARTH", // Data name of animation. 2156 48, // Maximum dimension of animation. 2157 0, // Biggest animation stage. 2158 true, // Normalized animation rate? 2159 false, // Uses white translucent table? 2160 false, // Scorches the ground? 2161 false, // Forms a crater? 2162 false, // Sticks to unit in square? 2163 false, // Ground level animation? 2164 false, // Translucent colors in this animation? 2165 false, // Is this a flame thrower animation? 2166 0x0000, // Damage to apply per tick (fixed point). 2167 2, // Delay between frames. 2168 0, // Starting frame number. 2169 0, // Loop start frame number. 2170 0, // Ending frame of loop back. 2171 -1, // Number of animation stages. 2172 0, // Number of times the animation loops. 2173 VOC_NONE, // Sound effect to play. 2174 ANIM_NONE // Follow up animation. 2175 ); 2176 static AnimTypeClass const CEmpulse( 2177 ANIM_CRATE_EMPULSE, // Animation number. 2178 "EMPULSE", // Data name of animation. 2179 48, // Maximum dimension of animation. 2180 0, // Biggest animation stage. 2181 true, // Normalized animation rate? 2182 false, // Uses white translucent table? 2183 false, // Scorches the ground? 2184 false, // Forms a crater? 2185 false, // Sticks to unit in square? 2186 false, // Ground level animation? 2187 false, // Translucent colors in this animation? 2188 false, // Is this a flame thrower animation? 2189 0x0000, // Damage to apply per tick (fixed point). 2190 2, // Delay between frames. 2191 0, // Starting frame number. 2192 0, // Loop start frame number. 2193 0, // Ending frame of loop back. 2194 -1, // Number of animation stages. 2195 0, // Number of times the animation loops. 2196 VOC_NONE, // Sound effect to play. 2197 ANIM_NONE // Follow up animation. 2198 ); 2199 static AnimTypeClass const CInvun( 2200 ANIM_CRATE_INVUN, // Animation number. 2201 "INVUN", // Data name of animation. 2202 48, // Maximum dimension of animation. 2203 0, // Biggest animation stage. 2204 true, // Normalized animation rate? 2205 false, // Uses white translucent table? 2206 false, // Scorches the ground? 2207 false, // Forms a crater? 2208 false, // Sticks to unit in square? 2209 false, // Ground level animation? 2210 false, // Translucent colors in this animation? 2211 false, // Is this a flame thrower animation? 2212 0x0000, // Damage to apply per tick (fixed point). 2213 2, // Delay between frames. 2214 0, // Starting frame number. 2215 0, // Loop start frame number. 2216 0, // Ending frame of loop back. 2217 -1, // Number of animation stages. 2218 0, // Number of times the animation loops. 2219 VOC_NONE, // Sound effect to play. 2220 ANIM_NONE // Follow up animation. 2221 ); 2222 static AnimTypeClass const CMine( 2223 ANIM_CRATE_MINE, // Animation number. 2224 "MINE", // Data name of animation. 2225 48, // Maximum dimension of animation. 2226 0, // Biggest animation stage. 2227 true, // Normalized animation rate? 2228 false, // Uses white translucent table? 2229 false, // Scorches the ground? 2230 false, // Forms a crater? 2231 false, // Sticks to unit in square? 2232 false, // Ground level animation? 2233 false, // Translucent colors in this animation? 2234 false, // Is this a flame thrower animation? 2235 0x0000, // Damage to apply per tick (fixed point). 2236 2, // Delay between frames. 2237 0, // Starting frame number. 2238 0, // Loop start frame number. 2239 0, // Ending frame of loop back. 2240 -1, // Number of animation stages. 2241 0, // Number of times the animation loops. 2242 VOC_NONE, // Sound effect to play. 2243 ANIM_NONE // Follow up animation. 2244 ); 2245 static AnimTypeClass const CRapid( 2246 ANIM_CRATE_RAPID, // Animation number. 2247 "RAPID", // Data name of animation. 2248 48, // Maximum dimension of animation. 2249 0, // Biggest animation stage. 2250 true, // Normalized animation rate? 2251 false, // Uses white translucent table? 2252 false, // Scorches the ground? 2253 false, // Forms a crater? 2254 false, // Sticks to unit in square? 2255 false, // Ground level animation? 2256 false, // Translucent colors in this animation? 2257 false, // Is this a flame thrower animation? 2258 0x0000, // Damage to apply per tick (fixed point). 2259 2, // Delay between frames. 2260 0, // Starting frame number. 2261 0, // Loop start frame number. 2262 0, // Ending frame of loop back. 2263 -1, // Number of animation stages. 2264 0, // Number of times the animation loops. 2265 VOC_NONE, // Sound effect to play. 2266 ANIM_NONE // Follow up animation. 2267 ); 2268 static AnimTypeClass const CStealth( 2269 ANIM_CRATE_STEALTH, // Animation number. 2270 "STEALTH2", // Data name of animation. 2271 48, // Maximum dimension of animation. 2272 0, // Biggest animation stage. 2273 true, // Normalized animation rate? 2274 false, // Uses white translucent table? 2275 false, // Scorches the ground? 2276 false, // Forms a crater? 2277 false, // Sticks to unit in square? 2278 false, // Ground level animation? 2279 false, // Translucent colors in this animation? 2280 false, // Is this a flame thrower animation? 2281 0x0000, // Damage to apply per tick (fixed point). 2282 2, // Delay between frames. 2283 0, // Starting frame number. 2284 0, // Loop start frame number. 2285 0, // Ending frame of loop back. 2286 -1, // Number of animation stages. 2287 0, // Number of times the animation loops. 2288 VOC_NONE, // Sound effect to play. 2289 ANIM_NONE // Follow up animation. 2290 ); 2291 static AnimTypeClass const CMissile( 2292 ANIM_CRATE_MISSILE, // Animation number. 2293 "MISSILE2", // Data name of animation. 2294 48, // Maximum dimension of animation. 2295 0, // Biggest animation stage. 2296 true, // Normalized animation rate? 2297 false, // Uses white translucent table? 2298 false, // Scorches the ground? 2299 false, // Forms a crater? 2300 false, // Sticks to unit in square? 2301 false, // Ground level animation? 2302 false, // Translucent colors in this animation? 2303 false, // Is this a flame thrower animation? 2304 0x0000, // Damage to apply per tick (fixed point). 2305 2, // Delay between frames. 2306 0, // Starting frame number. 2307 0, // Loop start frame number. 2308 0, // Ending frame of loop back. 2309 -1, // Number of animation stages. 2310 0, // Number of times the animation loops. 2311 VOC_NONE, // Sound effect to play. 2312 ANIM_NONE // Follow up animation. 2313 ); 2314 2315 static AnimTypeClass const MoveFlash( 2316 ANIM_MOVE_FLASH, // Animation number. 2317 "MOVEFLSH", // Data name of animation. 2318 24, // Maximum dimension of animation. 2319 0, // Biggest animation stage. 2320 true, // Normalized animation rate? 2321 true, // Uses white translucent table? 2322 false, // Scorches the ground? 2323 false, // Forms a crater? 2324 false, // Sticks to unit in square? 2325 true, // Ground level animation? 2326 false, // Translucent colors in this animation? 2327 false, // Is this a flame thrower animation? 2328 0x0000, // Damage to apply per tick (fixed point). 2329 1, // Delay between frames. 2330 0, // Starting frame number. 2331 0, // Loop start frame number. 2332 0, // Ending frame of loop back. 2333 -1, // Number of animation stages. 2334 0, // Number of times the animation loops. 2335 VOC_NONE, // Sound effect to play. 2336 ANIM_NONE // Follow up animation. 2337 ); 2338 2339 static AnimTypeClass const ChemBall( 2340 ANIM_CHEM_BALL, // Animation number. 2341 "CHEMBALL", // Data name of animation. 2342 21, // Maximum dimension of animation. 2343 5, // Biggest animation stage. 2344 false, // Normalized animation rate? 2345 false, // Uses white translucent table? 2346 false, // Scorches the ground? 2347 false, // Forms a crater? 2348 false, // Sticks to unit in square? 2349 false, // Ground level animation? 2350 false, // Translucent colors in this animation? 2351 false, // Is this a flame thrower animation? 2352 0x0000, // Damage to apply per tick (fixed point). 2353 1, // Delay between frames. 2354 0, // Starting frame number. 2355 0, // Loop start frame number. 2356 -1, // Ending frame of loop back. 2357 -1, // Number of animation stages. 2358 1, // Number of times the animation loops. 2359 VOC_FLAMER1, // Sound effect to play. 2360 ANIM_NONE 2361 ); 2362 2363 static AnimTypeClass const Flag( 2364 ANIM_FLAG, // Animation number. 2365 "FLAGFLY", // Data name of animation. 2366 21, // Maximum dimension of animation. 2367 0, // Biggest animation stage. 2368 false, // Normalized animation rate? 2369 false, // Uses white translucent table? 2370 false, // Scorches the ground? 2371 false, // Forms a crater? 2372 false, // Sticks to unit in square? 2373 false, // Ground level animation? 2374 false, // Translucent colors in this animation? 2375 false, // Is this a flame thrower animation? 2376 0x0000, // Damage to apply per tick (fixed point). 2377 1, // Delay between frames. 2378 0, // Starting frame number. 2379 0, // Loop start frame number. 2380 -1, // Ending frame of loop back. 2381 -1, // Number of animation stages. 2382 -1, // Number of times the animation loops. 2383 VOC_NONE, // Sound effect to play. 2384 ANIM_NONE 2385 ); 2386 2387 static AnimTypeClass const Beacon( 2388 ANIM_BEACON, // Animation number. 2389 "MOVEFLSH", // Data name of animation. 2390 21, // Maximum dimension of animation. 2391 0, // Biggest animation stage. 2392 false, // Normalized animation rate? 2393 false, // Uses white translucent table? 2394 false, // Scorches the ground? 2395 false, // Forms a crater? 2396 false, // Sticks to unit in square? 2397 false, // Ground level animation? 2398 false, // Translucent colors in this animation? 2399 false, // Is this a flame thrower animation? 2400 0x0000, // Damage to apply per tick (fixed point). 2401 1, // Delay between frames. 2402 0, // Starting frame number. 2403 0, // Loop start frame number. 2404 -1, // Ending frame of loop back. 2405 1, // Number of animation stages. 2406 -1, // Number of times the animation loops. 2407 VOC_NONE, // Sound effect to play. 2408 ANIM_NONE, 2409 -1, // Virtual stages 2410 0x100, // Virtual scale 2411 ANIM_BEACON_VIRTUAL // Virtual anim 2412 ); 2413 2414 static AnimTypeClass const BeaconVirtual( 2415 ANIM_BEACON_VIRTUAL, // Animation number. 2416 "BEACON", // Data name of animation. 2417 21, // Maximum dimension of animation. 2418 0, // Biggest animation stage. 2419 false, // Normalized animation rate? 2420 false, // Uses white translucent table? 2421 false, // Scorches the ground? 2422 false, // Forms a crater? 2423 false, // Sticks to unit in square? 2424 false, // Ground level animation? 2425 false, // Translucent colors in this animation? 2426 false, // Is this a flame thrower animation? 2427 0x0000, // Damage to apply per tick (fixed point). 2428 1, // Delay between frames. 2429 0, // Starting frame number. 2430 0, // Loop start frame number. 2431 -1, // Ending frame of loop back. 2432 1, // Number of animation stages. 2433 -1, // Number of times the animation loops. 2434 VOC_NONE, // Sound effect to play. 2435 ANIM_NONE 2436 ); 2437 2438 2439 2440 AnimTypeClass const * const AnimTypeClass::Pointers[ANIM_COUNT] = { 2441 &FBall1, 2442 &Grenade, 2443 &Frag1, 2444 &Frag3, 2445 &VehHit1, 2446 &VehHit2, 2447 &VehHit3, 2448 &ArtExp1, 2449 &Napalm1, 2450 &Napalm2, 2451 &Napalm3, 2452 &SmokePuff, 2453 &Piff, 2454 &PiffPiff, 2455 &FlameN, 2456 &FlameNE, 2457 &FlameE, 2458 &FlameSE, 2459 &FlameS, 2460 &FlameSW, 2461 &FlameW, 2462 &FlameNW, 2463 &ChemN, 2464 &ChemNE, 2465 &ChemE, 2466 &ChemSE, 2467 &ChemS, 2468 &ChemSW, 2469 &ChemW, 2470 &ChemNW, 2471 &Fire3, 2472 &Fire2, 2473 &Fire1, 2474 &Fire4, 2475 &Gunfire, 2476 #ifdef NEVER 2477 &E1RotFire, 2478 &E1RotGrenade, 2479 &E1RotGun, 2480 &E1RotExp, 2481 &E2RotFire, 2482 &E2RotGrenade, 2483 &E2RotGun, 2484 &E2RotExp, 2485 &E3RotFire, 2486 &E3RotGrenade, 2487 &E3RotGun, 2488 &E3RotExp, 2489 &E4RotFire, 2490 &E4RotGrenade, 2491 &E4RotGun, 2492 &E4RotExp, 2493 #endif 2494 &SmokeM, 2495 &BurnSmall, 2496 &BurnMed, 2497 &BurnBig, 2498 &OnFireSmall, 2499 &OnFireMed, 2500 &OnFireBig, 2501 &SAMN, 2502 &SAMNE, 2503 &SAME, 2504 &SAMSE, 2505 &SAMS, 2506 &SAMSW, 2507 &SAMW, 2508 &SAMNW, 2509 &GUNN, 2510 &GUNNE, 2511 &GUNE, 2512 &GUNSE, 2513 &GUNS, 2514 &GUNSW, 2515 &GUNW, 2516 &GUNNW, 2517 &LZSmoke, 2518 &IonCannon, 2519 &AtomBomb, 2520 &CDeviator, 2521 &CDollar, 2522 &CEarth, 2523 &CEmpulse, 2524 &CInvun, 2525 &CMine, 2526 &CRapid, 2527 &CStealth, 2528 &CMissile, 2529 &AtomDoor, 2530 &MoveFlash, 2531 &OilFieldBurn, 2532 &TricDie, 2533 &TRexDie, 2534 &StegDie, 2535 &RaptDie, 2536 &ChemBall, 2537 &Flag, 2538 &Beacon, 2539 &Fire3Virtual, 2540 &Fire2Virtual, 2541 &Fire1Virtual, 2542 &Fire4Virtual, 2543 &BeaconVirtual 2544 }; 2545 2546 2547 /*********************************************************************************************** 2548 * AnimTypeClass::AnimTypeClass -- Constructor for animation types. * 2549 * * 2550 * This is the constructor for static objects that elaborate the various animation types * 2551 * allowed in the game. Each animation in the game is of one of these types. * 2552 * * 2553 * INPUT: see below... * 2554 * * 2555 * OUTPUT: none * 2556 * * 2557 * WARNINGS: none * 2558 * * 2559 * HISTORY: * 2560 * 08/23/1994 JLB : Created. * 2561 *=============================================================================================*/ 2562 AnimTypeClass::AnimTypeClass(AnimType anim, char const *name, int size, int biggest, 2563 bool isnormal, bool iswhitetrans, bool isscorcher, bool iscrater, bool issticky, bool ground, 2564 bool istrans, bool isflame, unsigned int damage, 2565 int delaytime, int start, int loopstart, int loopend, int stages, int loops, 2566 VocType sound, AnimType chainto, int virtualstages, int virtualscale, AnimType virtualanim) : 2567 ObjectTypeClass(true, false, false, true, false, false, true, true, TXT_NONE, name, ARMOR_NONE, 0) 2568 { 2569 Biggest = biggest; 2570 ChainTo = chainto; 2571 Damage = damage; 2572 Delay = (unsigned char)delaytime; 2573 IsCraterForming = iscrater; 2574 IsFlameThrower = isflame; 2575 IsGroundLayer = ground; 2576 IsNormalized = isnormal; 2577 IsScorcher = isscorcher; 2578 IsSticky = issticky; 2579 IsTranslucent = istrans; 2580 IsWhiteTrans = iswhitetrans; 2581 LoopEnd = loopend; 2582 LoopStart = loopstart; 2583 Loops = (char)loops; 2584 Size = size; 2585 Sound = sound; 2586 Stages = stages; 2587 Start = start; 2588 Type = anim; 2589 VirtualStages = virtualstages; 2590 VirtualScale = virtualscale; 2591 VirtualAnim = virtualanim; 2592 } 2593 2594 2595 /*********************************************************************************************** 2596 * AnimTypeClass::One_Time -- Performs one time action for animation types. * 2597 * * 2598 * This will load the animation shape data. It is called by the game initialization * 2599 * process. * 2600 * * 2601 * INPUT: none * 2602 * * 2603 * OUTPUT: none * 2604 * * 2605 * WARNINGS: This routine should be called ONLY once. * 2606 * * 2607 * HISTORY: * 2608 * 06/02/1994 JLB : Created. * 2609 *=============================================================================================*/ 2610 void AnimTypeClass::One_Time(void) 2611 { 2612 AnimType index; 2613 2614 for (index = ANIM_FIRST; index < ANIM_COUNT; index++) { 2615 char fullname[_MAX_FNAME+_MAX_EXT]; 2616 2617 _makepath(fullname, NULL, NULL, As_Reference(index).IniName, ".SHP"); 2618 2619 RawFileClass file(fullname); 2620 if (file.Is_Available()) { 2621 ((void const *&)As_Reference(index).ImageData) = Load_Alloc_Data(file); 2622 } else { 2623 ((void const *&)As_Reference(index).ImageData) = MixFileClass::Retrieve(fullname); 2624 } 2625 } 2626 2627 // Set up beacon image data manually since they're new animations only available in the virtual renderer 2628 ((void const *&)As_Reference(ANIM_BEACON_VIRTUAL).ImageData) = As_Reference(ANIM_BEACON).ImageData; 2629 } 2630 2631