71 sprAmTeleport, sprSplash, sprDroplet, sprBirdy, sprHandCake, sprHandConstruction, |
71 sprAmTeleport, sprSplash, sprDroplet, sprBirdy, sprHandCake, sprHandConstruction, |
72 sprHandGrenade, sprHandMelon, sprHandMortar, sprHandSkip, sprHandCluster, |
72 sprHandGrenade, sprHandMelon, sprHandMortar, sprHandSkip, sprHandCluster, |
73 sprHandDynamite, sprHandHellish, sprHandMine, sprHandSeduction, sprHandVamp, |
73 sprHandDynamite, sprHandHellish, sprHandMine, sprHandSeduction, sprHandVamp, |
74 sprBigExplosion, sprSmokeRing, sprBeeTrace, sprEgg, sprTargetBee, sprHandBee, |
74 sprBigExplosion, sprSmokeRing, sprBeeTrace, sprEgg, sprTargetBee, sprHandBee, |
75 sprFeather, sprPiano, sprHandSineGun, sprPortalGun, sprPortal, |
75 sprFeather, sprPiano, sprHandSineGun, sprPortalGun, sprPortal, |
76 sprCheese, sprHandCheese, sprHandFlamethrower, sprChunk |
76 sprCheese, sprHandCheese, sprHandFlamethrower, sprChunk, sprNote, |
|
77 sprSMineOff, sprSMineOn, sprHandSMine |
77 ); |
78 ); |
78 |
79 |
79 // Gears that interact with other Gears and/or Land |
80 // Gears that interact with other Gears and/or Land |
80 TGearType = (gtAmmo_Bomb, gtHedgehog, gtAmmo_Grenade, gtGrave, gtBee, // 4 |
81 TGearType = (gtAmmo_Bomb, gtHedgehog, gtAmmo_Grenade, gtGrave, gtBee, // 4 |
81 gtShotgunShot, gtPickHammer, gtRope, gtMine, gtCase, // 9 |
82 gtShotgunShot, gtPickHammer, gtRope, gtMine, gtCase, // 9 |
84 gtATFinishGame, gtParachute, gtAirAttack, gtAirBomb, gtBlowTorch, // 23 |
85 gtATFinishGame, gtParachute, gtAirAttack, gtAirBomb, gtBlowTorch, // 23 |
85 gtGirder, gtTeleport, gtSwitcher, gtTarget, gtMortar, // 28 |
86 gtGirder, gtTeleport, gtSwitcher, gtTarget, gtMortar, // 28 |
86 gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 34 |
87 gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 34 |
87 gtHellishBomb, gtWaterUp, gtDrill, gtBallGun, gtBall, gtRCPlane, // 40 |
88 gtHellishBomb, gtWaterUp, gtDrill, gtBallGun, gtBall, gtRCPlane, // 40 |
88 gtSniperRifleShot, gtJetpack, gtMolotov, gtExplosives, gtBirdy, // 45 |
89 gtSniperRifleShot, gtJetpack, gtMolotov, gtExplosives, gtBirdy, // 45 |
89 gtEgg, gtPortal, gtPiano, gtGasBomb, gtSineGunShot, gtFlamethrower); // 51 |
90 gtEgg, gtPortal, gtPiano, gtGasBomb, gtSineGunShot, gtFlamethrower, // 51 |
|
91 gtSMine); |
90 |
92 |
91 // Gears that are _only_ of visual nature (e.g. background stuff, visual effects, speechbubbles, etc.) |
93 // Gears that are _only_ of visual nature (e.g. background stuff, visual effects, speechbubbles, etc.) |
92 TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire, |
94 TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire, |
93 vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble, |
95 vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble, |
94 vgtSteam, vgtAmmo, vgtSmoke, vgtSmokeWhite, vgtHealth, vgtShell, |
96 vgtSteam, vgtAmmo, vgtSmoke, vgtSmokeWhite, vgtHealth, vgtShell, |
95 vgtDust, vgtSplash, vgtDroplet, vgtSmokeRing, vgtBeeTrace, vgtEgg, |
97 vgtDust, vgtSplash, vgtDroplet, vgtSmokeRing, vgtBeeTrace, vgtEgg, |
96 vgtFeather, vgtHealthTag, vgtSmokeTrace, vgtEvilTrace, vgtExplosion, |
98 vgtFeather, vgtHealthTag, vgtSmokeTrace, vgtEvilTrace, vgtExplosion, |
97 vgtBigExplosion, vgtChunk); |
99 vgtBigExplosion, vgtChunk, vgtNote); |
98 |
100 |
99 TGearsType = set of TGearType; |
101 TGearsType = set of TGearType; |
100 |
102 |
101 TDamageSource = (dsUnknown, dsFall, dsBullet, dsExplosion, dsShove, dsPoison); |
103 TDamageSource = (dsUnknown, dsFall, dsBullet, dsExplosion, dsShove, dsPoison); |
102 |
104 |
127 amBaseballBat, amParachute, amAirAttack, amMineStrike, amBlowTorch, |
129 amBaseballBat, amParachute, amAirAttack, amMineStrike, amBlowTorch, |
128 amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake, |
130 amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake, |
129 amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun, |
131 amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun, |
130 amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime, |
132 amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime, |
131 amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov, amBirdy, amPortalGun, |
133 amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov, amBirdy, amPortalGun, |
132 amPiano, amGasBomb, amSineGun, amFlamethrower); |
134 amPiano, amGasBomb, amSineGun, amFlamethrower, amSMine); |
133 |
135 |
134 THWFont = (fnt16, fntBig, fntSmall, CJKfnt16, CJKfntBig, CJKfntSmall); |
136 THWFont = (fnt16, fntBig, fntSmall, CJKfnt16, CJKfntBig, CJKfntSmall); |
135 |
137 |
136 TCapGroup = (capgrpGameState, capgrpAmmoinfo, capgrpVolume, |
138 TCapGroup = (capgrpGameState, capgrpAmmoinfo, capgrpVolume, |
137 capgrpMessage, capgrpAmmostate); |
139 capgrpMessage, capgrpAmmostate); |
450 'Sounds/voices', // ptVoices |
454 'Sounds/voices', // ptVoices |
451 'Graphics/Hats', // ptHats |
455 'Graphics/Hats', // ptHats |
452 'Graphics/Flags' // ptFlags |
456 'Graphics/Flags' // ptFlags |
453 ); |
457 ); |
454 |
458 |
455 var PathPrefix: shortstring = './'; |
|
456 Pathz: array[TPathType] of shortstring; |
|
457 CountTexz: array[1..Pred(AMMO_INFINITE)] of PTexture; |
|
458 LAND_WIDTH :longint; |
|
459 LAND_HEIGHT :longint; |
|
460 LAND_WIDTH_MASK :longWord; |
|
461 LAND_HEIGHT_MASK :longWord; |
|
462 cMaxCaptions : LongInt; |
|
463 |
|
464 const |
|
465 cTagsMasks : array[0..15] of byte = (7, 0, 0, 0, 15, 6, 4, 5, 0, 0, 0, 0, 0, 14, 12, 13); |
459 cTagsMasks : array[0..15] of byte = (7, 0, 0, 0, 15, 6, 4, 5, 0, 0, 0, 0, 0, 14, 12, 13); |
466 cTagsMasksNoHealth: array[0..15] of byte = (3, 2, 11, 1, 0, 0, 0, 0, 0, 10, 0, 9, 0, 0, 0, 0); |
460 cTagsMasksNoHealth: array[0..15] of byte = (3, 2, 11, 1, 0, 0, 0, 0, 0, 10, 0, 9, 0, 0, 0, 0); |
467 |
461 |
468 Fontz: array[THWFont] of THHFont = ( |
462 Fontz: array[THWFont] of THHFont = ( |
469 (Handle: nil; |
463 (Handle: nil; |
797 (FileName: 'amCheese'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
791 (FileName: 'amCheese'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
798 Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprHandCheese |
792 Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprHandCheese |
799 (FileName: 'amFlamethrower'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
793 (FileName: 'amFlamethrower'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
800 Width: 128; Height: 128; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprHandFlamethrower |
794 Width: 128; Height: 128; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprHandFlamethrower |
801 (FileName: 'Chunk'; Path: ptCurrTheme; AltPath: ptGraphics; Texture: nil; Surface: nil; |
795 (FileName: 'Chunk'; Path: ptCurrTheme; AltPath: ptGraphics; Texture: nil; Surface: nil; |
802 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true) // sprChunk |
796 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprChunk |
|
797 (FileName: 'Note'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
798 Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprNote |
|
799 (FileName: 'SMineOff'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
800 Width: 8; Height: 8; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprSMineOff |
|
801 (FileName: 'SMineOn'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; |
|
802 Width: 8; Height: 8; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprSMineOn |
|
803 (FileName: 'amSMine'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; |
|
804 Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true) // sprHandSMine |
803 ); |
805 ); |
804 |
806 |
805 Wavez: array [TWave] of record |
807 Wavez: array [TWave] of record |
806 Sprite: TSprite; |
808 Sprite: TSprite; |
807 FramesCount: Longword; |
809 FramesCount: Longword; |