diff -r 803b277e4894 -r 3f21a9dc93d0 hedgewars/uConsts.pas --- a/hedgewars/uConsts.pas Sat Mar 06 10:54:24 2010 +0000 +++ b/hedgewars/uConsts.pas Sat Mar 06 10:59:20 2010 +0000 @@ -21,11 +21,11 @@ unit uConsts; interface -uses SDLh, uFloat, uLocale, +uses SDLh, uFloat, uLocale, {$IFDEF GLES11} - gles11; + gles11; {$ELSE} - GL; + GL; {$ENDIF} @@ -35,354 +35,354 @@ // in freepascal you may actually use var for the same purpose type - HwColor4f = record - r, g, b, a: byte - end; - - TGameState = (gsLandGen, gsStart, gsGame, gsChat, gsConfirm, gsExit); + HwColor4f = record + r, g, b, a: byte + end; + + TGameState = (gsLandGen, gsStart, gsGame, gsChat, gsConfirm, gsExit); - TGameType = (gmtLocal, gmtDemo, gmtNet, gmtSave, gmtLandPreview, gmtSyntax); + TGameType = (gmtLocal, gmtDemo, gmtNet, gmtSave, gmtLandPreview, gmtSyntax); - TPathType = (ptNone, ptData, ptGraphics, ptThemes, ptCurrTheme, ptTeams, ptMaps, - ptMapCurrent, ptDemos, ptSounds, ptGraves, ptFonts, ptForts, - ptLocale, ptAmmoMenu, ptHedgehog, ptVoices, ptHats, ptFlags); + TPathType = (ptNone, ptData, ptGraphics, ptThemes, ptCurrTheme, ptTeams, ptMaps, + ptMapCurrent, ptDemos, ptSounds, ptGraves, ptFonts, ptForts, + ptLocale, ptAmmoMenu, ptHedgehog, ptVoices, ptHats, ptFlags); - TSprite = (sprWater, sprCloud, sprBomb, sprBigDigit, sprFrame, - sprLag, sprArrow, sprGrenade, sprTargetP, sprUFO, - sprSmokeTrace, sprRopeHook, sprExplosion50, sprMineOff, - sprMineOn, sprMineDead, sprCase, sprFAid, sprDynamite, sprPower, - sprClusterBomb, sprClusterParticle, sprFlame, sprHorizont, - sprHorizontL, sprHorizontR, sprSky, sprSkyL, - sprSkyR, sprAMBorders, sprAMSlot, sprAMSlotName, sprAMAmmos, - sprAMSlotKeys, sprAMSelection, sprFinger, sprAirBomb, - sprAirplane, sprAmAirplane, sprAmGirder, sprHHTelepMask, - sprSwitch, sprParachute, sprTarget, sprRopeNode, - sprQuestion, sprPowerBar, sprWindBar, sprWindL, sprWindR, - sprFlake, sprHandRope, sprHandBazooka, sprHandShotgun, - sprHandDEagle, sprHandAirAttack, sprHandBaseball, sprPHammer, - sprHandBlowTorch, sprBlowTorch, sprTeleport, sprHHDeath, - sprShotgun, sprDEagle, sprHHIdle, sprMortar, sprTurnsLeft, - sprKamikaze, sprWhip, sprKowtow, sprSad, sprWave, - sprHurrah, sprLemonade, sprShrug, sprJuggle, sprExplPart, sprExplPart2, - sprCakeWalk, sprCakeDown, sprAMAmmosBW, sprWatermelon, - sprEvilTrace, sprHellishBomb, sprSeduction, sprDress, - sprCensored, sprDrill, sprHandDrill, sprHandBallgun, sprBalls, - sprPlane, sprHandPlane, sprUtility, sprInvulnerable, sprVampiric, sprGirder, - sprSpeechCorner, sprSpeechEdge, sprSpeechTail, - sprThoughtCorner, sprThoughtEdge, sprThoughtTail, - sprShoutCorner, sprShoutEdge, sprShoutTail, - sprSniperRifle, sprBubbles, sprJetpack, sprHealth, sprHandMolotov, sprMolotov, - sprSmoke, sprSmokeWhite, sprShell, sprDust, sprExplosives, sprExplosivesRoll, sprAmTeleport); + TSprite = (sprWater, sprCloud, sprBomb, sprBigDigit, sprFrame, + sprLag, sprArrow, sprGrenade, sprTargetP, sprUFO, + sprSmokeTrace, sprRopeHook, sprExplosion50, sprMineOff, + sprMineOn, sprMineDead, sprCase, sprFAid, sprDynamite, sprPower, + sprClusterBomb, sprClusterParticle, sprFlame, sprHorizont, + sprHorizontL, sprHorizontR, sprSky, sprSkyL, + sprSkyR, sprAMBorders, sprAMSlot, sprAMSlotName, sprAMAmmos, + sprAMSlotKeys, sprAMSelection, sprFinger, sprAirBomb, + sprAirplane, sprAmAirplane, sprAmGirder, sprHHTelepMask, + sprSwitch, sprParachute, sprTarget, sprRopeNode, + sprQuestion, sprPowerBar, sprWindBar, sprWindL, sprWindR, + sprFlake, sprHandRope, sprHandBazooka, sprHandShotgun, + sprHandDEagle, sprHandAirAttack, sprHandBaseball, sprPHammer, + sprHandBlowTorch, sprBlowTorch, sprTeleport, sprHHDeath, + sprShotgun, sprDEagle, sprHHIdle, sprMortar, sprTurnsLeft, + sprKamikaze, sprWhip, sprKowtow, sprSad, sprWave, + sprHurrah, sprLemonade, sprShrug, sprJuggle, sprExplPart, sprExplPart2, + sprCakeWalk, sprCakeDown, sprAMAmmosBW, sprWatermelon, + sprEvilTrace, sprHellishBomb, sprSeduction, sprDress, + sprCensored, sprDrill, sprHandDrill, sprHandBallgun, sprBalls, + sprPlane, sprHandPlane, sprUtility, sprInvulnerable, sprVampiric, sprGirder, + sprSpeechCorner, sprSpeechEdge, sprSpeechTail, + sprThoughtCorner, sprThoughtEdge, sprThoughtTail, + sprShoutCorner, sprShoutEdge, sprShoutTail, + sprSniperRifle, sprBubbles, sprJetpack, sprHealth, sprHandMolotov, sprMolotov, + sprSmoke, sprSmokeWhite, sprShell, sprDust, sprExplosives, sprExplosivesRoll, sprAmTeleport); - TGearType = (gtAmmo_Bomb, gtHedgehog, gtAmmo_Grenade, gtHealthTag, // 3 - gtGrave, gtUFO, gtShotgunShot, gtPickHammer, gtRope, // 8 - gtSmokeTrace, gtExplosion, gtMine, gtCase, gtDEagleShot, gtDynamite, // 14 - gtClusterBomb, gtCluster, gtShover, gtFlame, // 18 - gtFirePunch, gtATStartGame, gtATSmoothWindCh, gtATFinishGame, // 24 - gtParachute, gtAirAttack, gtAirBomb, gtBlowTorch, gtGirder, // 27 - gtTeleport, gtSwitcher, gtTarget, gtMortar, // 31 - gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 37 - gtHellishBomb, gtEvilTrace, gtWaterUp, gtDrill, gtBallGun, gtBall,gtRCPlane, - gtSniperRifleShot, gtJetpack, gtMolotov, gtExplosives); + TGearType = (gtAmmo_Bomb, gtHedgehog, gtAmmo_Grenade, gtHealthTag, // 3 + gtGrave, gtUFO, gtShotgunShot, gtPickHammer, gtRope, // 8 + gtSmokeTrace, gtExplosion, gtMine, gtCase, gtDEagleShot, gtDynamite, // 14 + gtClusterBomb, gtCluster, gtShover, gtFlame, // 18 + gtFirePunch, gtATStartGame, gtATSmoothWindCh, gtATFinishGame, // 24 + gtParachute, gtAirAttack, gtAirBomb, gtBlowTorch, gtGirder, // 27 + gtTeleport, gtSwitcher, gtTarget, gtMortar, // 31 + gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 37 + gtHellishBomb, gtEvilTrace, gtWaterUp, gtDrill, gtBallGun, gtBall,gtRCPlane, + gtSniperRifleShot, gtJetpack, gtMolotov, gtExplosives); - TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire, - vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble, - vgtSteam, vgtSmoke, vgtSmokeWhite, vgtHealth, vgtShell, vgtDust); + TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire, + vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble, + vgtSteam, vgtSmoke, vgtSmokeWhite, vgtHealth, vgtShell, vgtDust); - TGearsType = set of TGearType; + TGearsType = set of TGearType; - TSound = (sndNone, - sndGrenadeImpact, sndExplosion, sndThrowPowerUp, sndThrowRelease, - sndSplash, sndShotgunReload, sndShotgunFire, sndGraveImpact, - sndMineTick, sndPickhammer, sndGun, sndUFO, sndJump1, sndJump2, - sndJump3, sndYesSir, sndLaugh, sndIllGetYou, sndIncoming, - sndMissed, sndStupid, sndFirstBlood, sndBoring, sndByeBye, - sndSameTeam, sndNutter, sndReinforce, sndTraitor, sndRegret, - sndEnemyDown, sndCoward, sndHurry, sndWatchIt, sndKamikaze, - sndCake, sndOw1, sndOw4, sndFirePunch1, sndFirePunch2, - sndFirePunch3, sndFirePunch4, sndFirePunch5, sndFirePunch6, - sndMelon, sndHellish, sndYoohoo, sndRCPlane, sndWhipCrack, - sndRideOfTheValkyries, sndDenied, sndPlaced, sndBaseballBat, - sndVaporize, sndWarp, sndSuddenDeath, sndMortar, sndShutter, - sndHomerun, sndMolotov, sndCover, sndUhOh, sndOops, - sndNooo, sndHello, sndRopeShot, sndRopeAttach, sndRopeRelease, - sndSwitchHog, sndVictory, sndSniperReload, sndSteps, sndLowGravity); + TSound = (sndNone, + sndGrenadeImpact, sndExplosion, sndThrowPowerUp, sndThrowRelease, + sndSplash, sndShotgunReload, sndShotgunFire, sndGraveImpact, + sndMineTick, sndPickhammer, sndGun, sndUFO, sndJump1, sndJump2, + sndJump3, sndYesSir, sndLaugh, sndIllGetYou, sndIncoming, + sndMissed, sndStupid, sndFirstBlood, sndBoring, sndByeBye, + sndSameTeam, sndNutter, sndReinforce, sndTraitor, sndRegret, + sndEnemyDown, sndCoward, sndHurry, sndWatchIt, sndKamikaze, + sndCake, sndOw1, sndOw4, sndFirePunch1, sndFirePunch2, + sndFirePunch3, sndFirePunch4, sndFirePunch5, sndFirePunch6, + sndMelon, sndHellish, sndYoohoo, sndRCPlane, sndWhipCrack, + sndRideOfTheValkyries, sndDenied, sndPlaced, sndBaseballBat, + sndVaporize, sndWarp, sndSuddenDeath, sndMortar, sndShutter, + sndHomerun, sndMolotov, sndCover, sndUhOh, sndOops, + sndNooo, sndHello, sndRopeShot, sndRopeAttach, sndRopeRelease, + sndSwitchHog, sndVictory, sndSniperReload, sndSteps, sndLowGravity); - TAmmoType = (amNothing, amGrenade, amClusterBomb, amBazooka, amUFO, amShotgun, amPickHammer, - amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch, amWhip, - amBaseballBat, amParachute, amAirAttack, amMineStrike, amBlowTorch, - amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake, - amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun, - amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime, - amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov); + TAmmoType = (amNothing, amGrenade, amClusterBomb, amBazooka, amUFO, amShotgun, amPickHammer, + amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch, amWhip, + amBaseballBat, amParachute, amAirAttack, amMineStrike, amBlowTorch, + amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake, + amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun, + amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime, + amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov); - THWFont = (fnt16, fntBig, fntSmall, CJKfnt16, CJKfntBig, CJKfntSmall); + THWFont = (fnt16, fntBig, fntSmall, CJKfnt16, CJKfntBig, CJKfntSmall); - TCapGroup = (capgrpGameState, capgrpAmmoinfo, capgrpVolume, - capgrpMessage, capgrpAmmostate); + TCapGroup = (capgrpGameState, capgrpAmmoinfo, capgrpVolume, + capgrpMessage, capgrpAmmostate); - TStatInfoType = (siGameResult, siMaxStepDamage, siMaxStepKills, siKilledHHs, - siClanHealth); + TStatInfoType = (siGameResult, siMaxStepDamage, siMaxStepKills, siKilledHHs, + siClanHealth); - TWave = (waveRollup, waveSad, waveWave, waveHurrah, waveLemonade, waveShrug, waveJuggle); + TWave = (waveRollup, waveSad, waveWave, waveHurrah, waveLemonade, waveShrug, waveJuggle); - THHFont = record - Handle: PTTF_Font; - Height: LongInt; - style: LongInt; - Name: string[21]; - end; + THHFont = record + Handle: PTTF_Font; + Height: LongInt; + style: LongInt; + Name: string[21]; + end; - PAmmo = ^TAmmo; - TAmmo = record - Propz: LongWord; - Count: LongWord; + PAmmo = ^TAmmo; + TAmmo = record + Propz: LongWord; + Count: LongWord; (* Using for place hedgehogs mode, but for any other situation where the initial count would be needed I guess. For example, say, a mode where the weaponset is reset each turn, or on sudden death *) - InitialCount: LongWord; - NumPerTurn: LongWord; - Timer: LongWord; - Pos: LongWord; - AmmoType: TAmmoType; - AttackVoice: TSound; - end; + InitialCount: LongWord; + NumPerTurn: LongWord; + Timer: LongWord; + Pos: LongWord; + AmmoType: TAmmoType; + AttackVoice: TSound; + end; - TVertex2f = record - X, Y: GLfloat; - end; + TVertex2f = record + X, Y: GLfloat; + end; - TVertex2i = record - X, Y: GLint; - end; + TVertex2i = record + X, Y: GLint; + end; - PTexture = ^TTexture; - TTexture = record - id: GLuint; - w, h: LongInt; - rx, ry: GLfloat; - vb, tb: array [0..3] of TVertex2f; + PTexture = ^TTexture; + TTexture = record + id: GLuint; + w, h: LongInt; + rx, ry: GLfloat; + vb, tb: array [0..3] of TVertex2f; PrevTexture, NextTexture: PTexture; - end; + end; const - // message constants - errmsgCreateSurface = 'Error creating SDL surface'; - errmsgTransparentSet = 'Error setting transparent color'; - errmsgUnknownCommand = 'Unknown command'; - errmsgUnknownVariable = 'Unknown variable'; - errmsgIncorrectUse = 'Incorrect use'; - errmsgShouldntRun = 'This program shouldn''t be run manually'; - errmsgWrongNumber = 'Wrong parameters number'; - errmsgSlotsOverflow = 'CurSlot overflowed'; + // message constants + errmsgCreateSurface = 'Error creating SDL surface'; + errmsgTransparentSet = 'Error setting transparent color'; + errmsgUnknownCommand = 'Unknown command'; + errmsgUnknownVariable = 'Unknown variable'; + errmsgIncorrectUse = 'Incorrect use'; + errmsgShouldntRun = 'This program shouldn''t be run manually'; + errmsgWrongNumber = 'Wrong parameters number'; + errmsgSlotsOverflow = 'CurSlot overflowed'; - msgLoading = 'Loading '; - msgOK = 'ok'; - msgFailed = 'failed'; - msgFailedSize = 'failed due to size'; - msgGettingConfig = 'Getting game config...'; + msgLoading = 'Loading '; + msgOK = 'ok'; + msgFailed = 'failed'; + msgFailedSize = 'failed due to size'; + msgGettingConfig = 'Getting game config...'; - // color constants - cWhiteColorChannels : TSDL_Color = (r:$FF; g:$FF; b:$FF; unused:$FF); - cNearBlackColorChannels : TSDL_Color = (r:$00; g:$00; b:$10; unused:$FF); + // color constants + cWhiteColorChannels : TSDL_Color = (r:$FF; g:$FF; b:$FF; unused:$FF); + cNearBlackColorChannels : TSDL_Color = (r:$00; g:$00; b:$10; unused:$FF); - cWhiteColor : Longword = $FFFFFFFF; - cYellowColor : Longword = $FFFFFF00; - cNearBlackColor : Longword = $FF000010; - cExplosionBorderColor : LongWord = $FF808080; + cWhiteColor : Longword = $FFFFFFFF; + cYellowColor : Longword = $FFFFFF00; + cNearBlackColor : Longword = $FF000010; + cExplosionBorderColor : LongWord = $FF808080; {$WARNINGS OFF} - cAirPlaneSpeed: hwFloat = (isNegative: false; QWordValue: 3006477107); // 1.4 - cBombsSpeed : hwFloat = (isNegative: false; QWordValue: 429496729); + cAirPlaneSpeed: hwFloat = (isNegative: false; QWordValue: 3006477107); // 1.4 + cBombsSpeed : hwFloat = (isNegative: false; QWordValue: 429496729); {$WARNINGS ON} - // image flags (for LoadImage()) - ifNone = $00000000; // nothing special - ifAlpha = $00000001; // use alpha channel (unused right now?) - ifCritical = $00000002; // image is critical for gameplay (exit game if unable to load) - ifTransparent = $00000004; // image uses transparent pixels (color keying) - ifIgnoreCaps = $00000008; // ignore hardware capabilities when loading (i.e. image will not be drawn using OpenGL) - ifLowRes = $00000010; // try loading a low resolution image when it is critical + // image flags (for LoadImage()) + ifNone = $00000000; // nothing special + ifAlpha = $00000001; // use alpha channel (unused right now?) + ifCritical = $00000002; // image is critical for gameplay (exit game if unable to load) + ifTransparent = $00000004; // image uses transparent pixels (color keying) + ifIgnoreCaps = $00000008; // ignore hardware capabilities when loading (i.e. image will not be drawn using OpenGL) + ifLowRes = $00000010; // try loading a low resolution image when it is critical - {* REFERENCE + {* REFERENCE 4096 -> $FFFFF000 2048 -> $FFFFF800 1024 -> $FFFFFC00 512 -> $FFFFFE00 *} {$IFDEF LOWRES} - // default for iphone pre 3gs - LAND_WIDTH = 2048; - LAND_HEIGHT = 1024; - LAND_WIDTH_MASK = $FFFFF800; - LAND_HEIGHT_MASK = $FFFFFC00; + // default for iphone pre 3gs + LAND_WIDTH = 2048; + LAND_HEIGHT = 1024; + LAND_WIDTH_MASK = $FFFFF800; + LAND_HEIGHT_MASK = $FFFFFC00; {$ELSE} - LAND_WIDTH = 4096; - LAND_HEIGHT = 2048; - LAND_WIDTH_MASK = $FFFFF000; - LAND_HEIGHT_MASK = $FFFFF800; + LAND_WIDTH = 4096; + LAND_HEIGHT = 2048; + LAND_WIDTH_MASK = $FFFFF000; + LAND_HEIGHT_MASK = $FFFFF800; {$ENDIF} - COLOR_LAND = $FFFF; // white - COLOR_INDESTRUCTIBLE = $88FF; // red - COLOR_OBJECT = $44FF; // no idea + COLOR_LAND = $FFFF; // white + COLOR_INDESTRUCTIBLE = $88FF; // red + COLOR_OBJECT = $44FF; // no idea - cMaxPower = 1500; - cMaxAngle = 2048; - cPowerDivisor = 1500; + cMaxPower = 1500; + cMaxAngle = 2048; + cPowerDivisor = 1500; - MAXNAMELEN = 192; - - // some opengl headers do not have these macros - GL_BGR = $80E0; - GL_BGRA = $80E1; - GL_CLAMP_TO_EDGE = $812F; + MAXNAMELEN = 192; + + // some opengl headers do not have these macros + GL_BGR = $80E0; + GL_BGRA = $80E1; + GL_CLAMP_TO_EDGE = $812F; - cSendCursorPosTime : LongWord = 50; - cVisibleWater : LongInt = 128; - cCursorEdgesDist : LongInt = 100; - cTeamHealthWidth : LongInt = 128; - cWaterOpacity : byte = $80; + cSendCursorPosTime : LongWord = 50; + cVisibleWater : LongInt = 128; + cCursorEdgesDist : LongInt = 100; + cTeamHealthWidth : LongInt = 128; + cWaterOpacity : byte = $80; - cifRandomize = $00000001; - cifTheme = $00000002; - cifMap = $00000002; // either theme or map (or map+theme) - cifAllInited = cifRandomize or cifTheme or cifMap; + cifRandomize = $00000001; + cifTheme = $00000002; + cifMap = $00000002; // either theme or map (or map+theme) + cifAllInited = cifRandomize or cifTheme or cifMap; - cTransparentColor: Longword = $00000000; + cTransparentColor: Longword = $00000000; - cMaxTeams = 6; - cMaxHHIndex = 7; - cMaxHHs = 48; - cMaxSpawnPoints = 1024; + cMaxTeams = 6; + cMaxHHIndex = 7; + cMaxHHs = 48; + cMaxSpawnPoints = 1024; - cMaxEdgePoints = 16384; + cMaxEdgePoints = 16384; - cHHRadius = 9; - cHHStepTicks = 29; + cHHRadius = 9; + cHHStepTicks = 29; - cUsualZ = 500; - cSmokeZ = 499; - cHHZ = 1000; - cCurrHHZ = Succ(cHHZ); - cOnHHZ = 2000; + cUsualZ = 500; + cSmokeZ = 499; + cHHZ = 1000; + cCurrHHZ = Succ(cHHZ); + cOnHHZ = 2000; - cBarrelHealth = 60; - cShotgunRadius = 22; - cBlowTorchC = 6; + cBarrelHealth = 60; + cShotgunRadius = 22; + cBlowTorchC = 6; - cKeyMaxIndex = 1023; + cKeyMaxIndex = 1023; {$IFDEF IPHONEOS} - cMaxCaptions = 3; + cMaxCaptions = 3; {$ELSE} - cMaxCaptions = 4; + cMaxCaptions = 4; {$ENDIF} - cSendEmptyPacketTime = 1000; + cSendEmptyPacketTime = 1000; - // from uTriggers - trigTurns = $80000001; + // from uTriggers + trigTurns = $80000001; - // Training Flags - tfNone = $00000000; - tfTimeTrial = $00000001; - tfRCPlane = $00000002; - tfSpawnTargets = $00000004; - tfIgnoreDelays = $00000008; - tfTargetRespawn = $00000010; - - gfAny = $FFFFFFFF; - gfForts = $00000001; - gfMultiWeapon = $00000002; - gfSolidLand = $00000004; - gfBorder = $00000008; - gfDivideTeams = $00000010; - gfLowGravity = $00000020; - gfLaserSight = $00000040; - gfInvulnerable = $00000080; - gfMines = $00000100; - gfVampiric = $00000200; - gfKarma = $00000400; - gfArtillery = $00000800; - gfOneClanMode = $00001000; - gfRandomOrder = $00002000; - gfKing = $00004000; - gfPlaceHog = $00008000; - gfSharedAmmo = $00010000; - gfDisableGirders = $00020000; - gfExplosives = $00040000; - // NOTE: When adding new game flags, ask yourself - // if a "game start notice" would be useful. If so, - // add one in uWorld.pas - look for "AddGoal". + // Training Flags + tfNone = $00000000; + tfTimeTrial = $00000001; + tfRCPlane = $00000002; + tfSpawnTargets = $00000004; + tfIgnoreDelays = $00000008; + tfTargetRespawn = $00000010; + + gfAny = $FFFFFFFF; + gfForts = $00000001; + gfMultiWeapon = $00000002; + gfSolidLand = $00000004; + gfBorder = $00000008; + gfDivideTeams = $00000010; + gfLowGravity = $00000020; + gfLaserSight = $00000040; + gfInvulnerable = $00000080; + gfMines = $00000100; + gfVampiric = $00000200; + gfKarma = $00000400; + gfArtillery = $00000800; + gfOneClanMode = $00001000; + gfRandomOrder = $00002000; + gfKing = $00004000; + gfPlaceHog = $00008000; + gfSharedAmmo = $00010000; + gfDisableGirders = $00020000; + gfExplosives = $00040000; + // NOTE: When adding new game flags, ask yourself + // if a "game start notice" would be useful. If so, + // add one in uWorld.pas - look for "AddGoal". - gstDrowning = $00000001; - gstHHDriven = $00000002; - gstMoving = $00000004; - gstAttacked = $00000008; - gstAttacking = $00000010; - gstCollision = $00000020; - gstHHChooseTarget = $00000040; - gstHHJumping = $00000100; - gsttmpFlag = $00000200; - gstHHThinking = $00000800; - gstNoDamage = $00001000; - gstHHHJump = $00002000; - gstAnimation = $00004000; - gstHHDeath = $00008000; - gstWinner = $00010000; // this, along with gstLoser, is good for indicating hedgies know they screwed up - gstWait = $00020000; - gstNotKickable = $00040000; - gstLoser = $00080000; + gstDrowning = $00000001; + gstHHDriven = $00000002; + gstMoving = $00000004; + gstAttacked = $00000008; + gstAttacking = $00000010; + gstCollision = $00000020; + gstHHChooseTarget = $00000040; + gstHHJumping = $00000100; + gsttmpFlag = $00000200; + gstHHThinking = $00000800; + gstNoDamage = $00001000; + gstHHHJump = $00002000; + gstAnimation = $00004000; + gstHHDeath = $00008000; + gstWinner = $00010000; // this, along with gstLoser, is good for indicating hedgies know they screwed up + gstWait = $00020000; + gstNotKickable = $00040000; + gstLoser = $00080000; - gm_Left = $00000001; - gm_Right = $00000002; - gm_Up = $00000004; - gm_Down = $00000008; - gm_Switch = $00000010; - gm_Attack = $00000020; - gm_LJump = $00000040; - gm_HJump = $00000080; - gm_Destroy= $00000100; - gm_Slot = $00000200; // with param - gm_Weapon = $00000400; // with param - gm_Timer = $00000800; // with param - gm_Animate= $00001000; // with param - gm_Precise= $00002000; - gmAllStoppable = gm_Left or gm_Right or gm_Up or gm_Down or gm_Attack or gm_Precise; + gm_Left = $00000001; + gm_Right = $00000002; + gm_Up = $00000004; + gm_Down = $00000008; + gm_Switch = $00000010; + gm_Attack = $00000020; + gm_LJump = $00000040; + gm_HJump = $00000080; + gm_Destroy= $00000100; + gm_Slot = $00000200; // with param + gm_Weapon = $00000400; // with param + gm_Timer = $00000800; // with param + gm_Animate= $00001000; // with param + gm_Precise= $00002000; + gmAllStoppable = gm_Left or gm_Right or gm_Up or gm_Down or gm_Attack or gm_Precise; - cMaxSlotIndex = 8; - cMaxSlotAmmoIndex = 5; + cMaxSlotIndex = 8; + cMaxSlotAmmoIndex = 5; - ammoprop_Timerable = $00000001; - ammoprop_Power = $00000002; - ammoprop_NeedTarget = $00000004; - ammoprop_ForwMsgs = $00000008; - ammoprop_AttackInMove = $00000010; - ammoprop_NoCrosshair = $00000040; - ammoprop_AttackingPut = $00000080; - ammoprop_DontHold = $00000100; - ammoprop_AltAttack = $00000200; - ammoprop_AltUse = $00000400; - ammoprop_NotBorder = $00000800; - ammoprop_Utility = $00001000; - ammoprop_NoRoundEndHint=$10000000; - - AMMO_INFINITE = 100; + ammoprop_Timerable = $00000001; + ammoprop_Power = $00000002; + ammoprop_NeedTarget = $00000004; + ammoprop_ForwMsgs = $00000008; + ammoprop_AttackInMove = $00000010; + ammoprop_NoCrosshair = $00000040; + ammoprop_AttackingPut = $00000080; + ammoprop_DontHold = $00000100; + ammoprop_AltAttack = $00000200; + ammoprop_AltUse = $00000400; + ammoprop_NotBorder = $00000800; + ammoprop_Utility = $00001000; + ammoprop_NoRoundEndHint=$10000000; + + AMMO_INFINITE = 100; - EXPLAllDamageInRadius = $00000001; - EXPLAutoSound = $00000002; - EXPLNoDamage = $00000004; - EXPLDoNotTouchHH = $00000008; - EXPLDontDraw = $00000010; + EXPLAllDamageInRadius = $00000001; + EXPLAutoSound = $00000002; + EXPLNoDamage = $00000004; + EXPLDoNotTouchHH = $00000008; + EXPLDontDraw = $00000010; - posCaseAmmo = $00000001; - posCaseHealth = $00000002; - posCaseUtility = $00000004; + posCaseAmmo = $00000001; + posCaseHealth = $00000002; + posCaseUtility = $00000004; - NoPointX = Low(LongInt); - cTargetPointRef : TPoint = (X: NoPointX; Y: 0); + NoPointX = Low(LongInt); + cTargetPointRef : TPoint = (X: NoPointX; Y: 0); - // hog tag mask + // hog tag mask // hog tag mask htNone = $00; htTeamName = $01; @@ -403,1301 +403,1301 @@ cTagsMasks : array[0..15] of byte = (7, 0, 0, 0, 15, 6, 4, 5, 0, 0, 0, 0, 0, 14, 12, 13); cTagsMasksNoHealth: array[0..15] of byte = (3, 2, 11, 1, 0, 0, 0, 0, 0, 10, 0, 9, 0, 0, 0, 0); - Fontz: array[THWFont] of THHFont = ( - (Handle: nil; - Height: 12; - style: TTF_STYLE_NORMAL; - Name: 'DejaVuSans-Bold.ttf'), - (Handle: nil; - Height: 24; - style: TTF_STYLE_NORMAL; - Name: 'DejaVuSans-Bold.ttf'), - (Handle: nil; - Height: 10; - style: TTF_STYLE_NORMAL; - Name: 'DejaVuSans-Bold.ttf'), - (Handle: nil; - Height: 12; - style: TTF_STYLE_NORMAL; - Name: 'wqy-zenhei.ttc'), - (Handle: nil; - Height: 24; - style: TTF_STYLE_NORMAL; - Name: 'wqy-zenhei.ttc'), - (Handle: nil; - Height: 10; - style: TTF_STYLE_NORMAL; - Name: 'wqy-zenhei.ttc') - ); + Fontz: array[THWFont] of THHFont = ( + (Handle: nil; + Height: 12; + style: TTF_STYLE_NORMAL; + Name: 'DejaVuSans-Bold.ttf'), + (Handle: nil; + Height: 24; + style: TTF_STYLE_NORMAL; + Name: 'DejaVuSans-Bold.ttf'), + (Handle: nil; + Height: 10; + style: TTF_STYLE_NORMAL; + Name: 'DejaVuSans-Bold.ttf'), + (Handle: nil; + Height: 12; + style: TTF_STYLE_NORMAL; + Name: 'wqy-zenhei.ttc'), + (Handle: nil; + Height: 24; + style: TTF_STYLE_NORMAL; + Name: 'wqy-zenhei.ttc'), + (Handle: nil; + Height: 10; + style: TTF_STYLE_NORMAL; + Name: 'wqy-zenhei.ttc') + ); - SpritesData: array[TSprite] of record - FileName: String[14]; - Path, AltPath: TPathType; - Texture: PTexture; - Surface: PSDL_Surface; - Width, Height, imageWidth, imageHeight: LongInt; - saveSurf: boolean; - end = ( - (FileName: 'BlueWater'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil; - Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWater - (FileName: 'Clouds'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil; - Width: 256; Height:128; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCloud - (FileName: 'Bomb'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 8; Height: 8; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprBomb - (FileName: 'BigDigits'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprBigDigit - (FileName: 'Frame'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 4; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFrame - (FileName: 'Lag'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 65; Height: 65; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprLag - (FileName: 'Arrow'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCursor - (FileName: 'Grenade'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprGrenade - (FileName: 'Targetp'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprTargetP - (FileName: 'UFO'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprUFO - (FileName: 'SmokeTrace'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSmokeTrace - (FileName: 'RopeHook'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprRopeHook - (FileName: 'Expl50'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplosion50 - (FileName: 'MineOff'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 8; Height: 8; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprMineOff - (FileName: 'MineOn'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 8; Height: 8; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprMineOn - (FileName: 'MineDead'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 8; Height: 8; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprMineDead - (FileName: 'Case'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCase - (FileName: 'FirstAid'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFAid - (FileName: 'dynamite'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDynamite - (FileName: 'Power'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprPower - (FileName: 'ClBomb'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprClusterBomb - (FileName: 'ClParticle'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprClusterParticle - (FileName: 'Flame'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFlame - (FileName: 'horizont'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil; - Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHorizont - (FileName: 'horizontL'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil; - Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHorizont - (FileName: 'horizontR'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil; - Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHorizont - (FileName: 'Sky'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil; - Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSky - (FileName: 'SkyL'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil; - Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSky - (FileName: 'SkyR'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil; - Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSky - (FileName: 'BrdrLines'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 202; Height: 1; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMBorders - (FileName: 'Slot'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 202; Height: 33; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMSlot - (FileName: 'AmmoName'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 202; Height: 33; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMSlotName - (FileName: 'Ammos'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: true),// sprAMAmmos - (FileName: 'SlotKeys'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMSlotKeys - (FileName: 'Selection'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMSelection - (FileName: 'Finger'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFinger - (FileName: 'AirBomb'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAirBomb - (FileName: 'Airplane'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 254; Height: 101; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAirplane - (FileName: 'amAirplane'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAmAirplane - (FileName: 'amGirder'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 160; Height:160; imageWidth: 0; imageHeight: 0; saveSurf: true),// sprAmGirder - (FileName: 'hhMask'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: true),// sprHHTelepMask - (FileName: 'Switch'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSwitch - (FileName: 'Parachute'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprParachute - (FileName: 'Target'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprTarget - (FileName: 'RopeNode'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 6; Height: 6; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprRopeNode - (FileName: 'thinking'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprQuestion - (FileName: 'PowerBar'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 256; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprPowerBar - (FileName: 'WindBar'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 151; Height: 17; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWindBar - (FileName: 'WindL'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 80; Height: 13; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWindL - (FileName: 'WindR'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 80; Height: 13; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWindR - (FileName: 'Flake'; Path:ptCurrTheme; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFlake - (FileName: 'amRope'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandRope - (FileName: 'amBazooka'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandBazooka - (FileName: 'amShotgun'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandShotgun - (FileName: 'amDEagle'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandDEagle - (FileName:'amAirAttack'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandAirAttack - (FileName: 'amBaseball'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandBaseball - (FileName: 'Hammer'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprPHammer - (FileName: 'amBTorch_i'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandBlowTorch - (FileName: 'amBTorch_w'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprBlowTorch - (FileName: 'Teleport'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprTeleport - (FileName: 'HHDeath'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHHDeath - (FileName:'amShotgun_w'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprShotgun - (FileName: 'amDEagle_w'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDEagle - (FileName: 'Idle'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHHIdle - (FileName: 'Mortar'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprMortar - (FileName: 'TurnsLeft'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprTurnsLeft - (FileName: 'amKamikaze'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 256; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprKamikaze - (FileName: 'amWhip'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 128; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWhip - (FileName: 'Kowtow'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprKowtow - (FileName: 'Sad'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSad - (FileName: 'Wave'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWave - (FileName: 'Hurrah'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHurrah - (FileName:'ILoveLemonade';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 128; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprLemonade - (FileName: 'Shrug'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprShrug - (FileName: 'Juggle'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprJuggle - (FileName: 'ExplPart'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplPart - (FileName: 'ExplPart2'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplPart2 - (FileName: 'Cake_walk'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCakeWalk - (FileName: 'Cake_down'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCakeDown - (FileName: 'Ammos_bw'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMAmmosBW - (FileName: 'Watermelon'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWatermelon - (FileName: 'EvilTrace'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprEvilTrace - (FileName:'HellishBomb'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHellishBomb - (FileName: 'Seduction'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSeduction - (FileName: 'HHDress'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDress - (FileName: 'Censored'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 64; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCensored - (FileName: 'Drill'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDrill - (FileName: 'amDrill'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandDrill - (FileName: 'amBallgun'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandBallgun - (FileName: 'Balls'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 20; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprBalls - (FileName: 'RCPlane'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprPlane - (FileName: 'amRCPlane'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprHandPlane - (FileName: 'Utility'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprUtility - (FileName:'Invulnerable';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprInvulnerable - (FileName: 'Vampiric'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprVampiric - (FileName: 'amGirder'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 512; Height:512; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprGirder - (FileName:'SpeechCorner';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 12; Height: 9; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprSpeechCorner - (FileName: 'SpeechEdge'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 25; Height: 9; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprSpeechEdge - (FileName: 'SpeechTail'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 25; Height: 26; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprSpeechTail - (FileName:'ThoughtCorner';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 49; Height: 37; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprThoughtCorner - (FileName:'ThoughtEdge'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 23; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprThoughtEdge - (FileName:'ThoughtTail'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 45; Height: 65; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprThoughtTail - (FileName:'ShoutCorner'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 34; Height: 23; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprShoutCorner - (FileName: 'ShoutEdge'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 30; Height: 20; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprShoutEdge - (FileName: 'ShoutTail'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 30; Height: 37; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprShoutTail - (FileName:'amSniperRifle';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 128; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprSniperRifle - (FileName: 'Bubbles'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprBubbles - (FileName: 'amJetpack'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprJetpack - (FileName: 'Health'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprHealth - (FileName: 'amMolotov'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false), //sprHandMolotov - (FileName: 'Molotov'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprMolotov - (FileName: 'Smoke'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 22; Height: 22; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSmoke - (FileName: 'SmokeWhite'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 22; Height: 22; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSmokeWhite - (FileName: 'Shells'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 8; Height: 8; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprShell - (FileName: 'Dust'; Path: ptCurrTheme; AltPath: ptGraphics; Texture: nil; Surface: nil; - Width: 22; Height: 22; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDust - (FileName: 'Explosives'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplosives - (FileName: 'ExplosivesRoll'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplosivesRoll - (FileName: 'amTeleport'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false) // sprAmTeleport - ); + SpritesData: array[TSprite] of record + FileName: String[14]; + Path, AltPath: TPathType; + Texture: PTexture; + Surface: PSDL_Surface; + Width, Height, imageWidth, imageHeight: LongInt; + saveSurf: boolean; + end = ( + (FileName: 'BlueWater'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil; + Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWater + (FileName: 'Clouds'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil; + Width: 256; Height:128; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCloud + (FileName: 'Bomb'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 8; Height: 8; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprBomb + (FileName: 'BigDigits'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprBigDigit + (FileName: 'Frame'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 4; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFrame + (FileName: 'Lag'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 65; Height: 65; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprLag + (FileName: 'Arrow'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCursor + (FileName: 'Grenade'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprGrenade + (FileName: 'Targetp'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprTargetP + (FileName: 'UFO'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprUFO + (FileName: 'SmokeTrace'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSmokeTrace + (FileName: 'RopeHook'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprRopeHook + (FileName: 'Expl50'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplosion50 + (FileName: 'MineOff'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 8; Height: 8; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprMineOff + (FileName: 'MineOn'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 8; Height: 8; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprMineOn + (FileName: 'MineDead'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 8; Height: 8; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprMineDead + (FileName: 'Case'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCase + (FileName: 'FirstAid'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFAid + (FileName: 'dynamite'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDynamite + (FileName: 'Power'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprPower + (FileName: 'ClBomb'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprClusterBomb + (FileName: 'ClParticle'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprClusterParticle + (FileName: 'Flame'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFlame + (FileName: 'horizont'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil; + Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHorizont + (FileName: 'horizontL'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil; + Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHorizont + (FileName: 'horizontR'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil; + Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHorizont + (FileName: 'Sky'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil; + Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSky + (FileName: 'SkyL'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil; + Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSky + (FileName: 'SkyR'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil; + Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSky + (FileName: 'BrdrLines'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 202; Height: 1; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMBorders + (FileName: 'Slot'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 202; Height: 33; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMSlot + (FileName: 'AmmoName'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 202; Height: 33; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMSlotName + (FileName: 'Ammos'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: true),// sprAMAmmos + (FileName: 'SlotKeys'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMSlotKeys + (FileName: 'Selection'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMSelection + (FileName: 'Finger'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFinger + (FileName: 'AirBomb'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAirBomb + (FileName: 'Airplane'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 254; Height: 101; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAirplane + (FileName: 'amAirplane'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAmAirplane + (FileName: 'amGirder'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 160; Height:160; imageWidth: 0; imageHeight: 0; saveSurf: true),// sprAmGirder + (FileName: 'hhMask'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: true),// sprHHTelepMask + (FileName: 'Switch'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSwitch + (FileName: 'Parachute'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprParachute + (FileName: 'Target'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprTarget + (FileName: 'RopeNode'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 6; Height: 6; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprRopeNode + (FileName: 'thinking'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprQuestion + (FileName: 'PowerBar'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 256; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprPowerBar + (FileName: 'WindBar'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 151; Height: 17; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWindBar + (FileName: 'WindL'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 80; Height: 13; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWindL + (FileName: 'WindR'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 80; Height: 13; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWindR + (FileName: 'Flake'; Path:ptCurrTheme; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFlake + (FileName: 'amRope'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandRope + (FileName: 'amBazooka'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandBazooka + (FileName: 'amShotgun'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandShotgun + (FileName: 'amDEagle'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandDEagle + (FileName:'amAirAttack'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandAirAttack + (FileName: 'amBaseball'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandBaseball + (FileName: 'Hammer'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprPHammer + (FileName: 'amBTorch_i'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandBlowTorch + (FileName: 'amBTorch_w'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprBlowTorch + (FileName: 'Teleport'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprTeleport + (FileName: 'HHDeath'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHHDeath + (FileName:'amShotgun_w'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprShotgun + (FileName: 'amDEagle_w'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDEagle + (FileName: 'Idle'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHHIdle + (FileName: 'Mortar'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprMortar + (FileName: 'TurnsLeft'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprTurnsLeft + (FileName: 'amKamikaze'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 256; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprKamikaze + (FileName: 'amWhip'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 128; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWhip + (FileName: 'Kowtow'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprKowtow + (FileName: 'Sad'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSad + (FileName: 'Wave'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWave + (FileName: 'Hurrah'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHurrah + (FileName:'ILoveLemonade';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 128; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprLemonade + (FileName: 'Shrug'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprShrug + (FileName: 'Juggle'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprJuggle + (FileName: 'ExplPart'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplPart + (FileName: 'ExplPart2'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplPart2 + (FileName: 'Cake_walk'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCakeWalk + (FileName: 'Cake_down'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCakeDown + (FileName: 'Ammos_bw'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMAmmosBW + (FileName: 'Watermelon'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWatermelon + (FileName: 'EvilTrace'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprEvilTrace + (FileName:'HellishBomb'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHellishBomb + (FileName: 'Seduction'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSeduction + (FileName: 'HHDress'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDress + (FileName: 'Censored'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 64; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCensored + (FileName: 'Drill'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDrill + (FileName: 'amDrill'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandDrill + (FileName: 'amBallgun'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandBallgun + (FileName: 'Balls'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 20; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprBalls + (FileName: 'RCPlane'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprPlane + (FileName: 'amRCPlane'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprHandPlane + (FileName: 'Utility'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprUtility + (FileName:'Invulnerable';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprInvulnerable + (FileName: 'Vampiric'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprVampiric + (FileName: 'amGirder'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 512; Height:512; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprGirder + (FileName:'SpeechCorner';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 12; Height: 9; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprSpeechCorner + (FileName: 'SpeechEdge'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 25; Height: 9; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprSpeechEdge + (FileName: 'SpeechTail'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 25; Height: 26; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprSpeechTail + (FileName:'ThoughtCorner';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 49; Height: 37; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprThoughtCorner + (FileName:'ThoughtEdge'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 23; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprThoughtEdge + (FileName:'ThoughtTail'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 45; Height: 65; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprThoughtTail + (FileName:'ShoutCorner'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 34; Height: 23; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprShoutCorner + (FileName: 'ShoutEdge'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 30; Height: 20; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprShoutEdge + (FileName: 'ShoutTail'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 30; Height: 37; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprShoutTail + (FileName:'amSniperRifle';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 128; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprSniperRifle + (FileName: 'Bubbles'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprBubbles + (FileName: 'amJetpack'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprJetpack + (FileName: 'Health'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprHealth + (FileName: 'amMolotov'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false), //sprHandMolotov + (FileName: 'Molotov'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprMolotov + (FileName: 'Smoke'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 22; Height: 22; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSmoke + (FileName: 'SmokeWhite'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 22; Height: 22; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSmokeWhite + (FileName: 'Shells'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 8; Height: 8; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprShell + (FileName: 'Dust'; Path: ptCurrTheme; AltPath: ptGraphics; Texture: nil; Surface: nil; + Width: 22; Height: 22; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDust + (FileName: 'Explosives'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplosives + (FileName: 'ExplosivesRoll'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplosivesRoll + (FileName: 'amTeleport'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false) // sprAmTeleport + ); - Wavez: array [TWave] of record - Sprite: TSprite; - FramesCount: Longword; - Interval: Longword; - cmd: String[20]; - Voice: TSound; - VoiceDelay: LongWord; - end = ( - (Sprite: sprKowtow; FramesCount: 12; Interval: 125; cmd: '/rollup'; Voice: sndNone; VoiceDelay: 0), - (Sprite: sprSad; FramesCount: 14; Interval: 125; cmd: '/sad'; Voice: sndNone; VoiceDelay: 0), - (Sprite: sprWave; FramesCount: 16; Interval: 125; cmd: '/wave'; Voice: sndHello; VoiceDelay: 5), - (Sprite: sprHurrah; FramesCount: 14; Interval: 125; cmd: '/hurrah'; Voice: sndNone; VoiceDelay: 0), - (Sprite: sprLemonade; FramesCount: 24; Interval: 125; cmd: '/ilovelotsoflemonade'; Voice: sndNone; VoiceDelay: 0), - (Sprite: sprShrug; FramesCount: 24; Interval: 125; cmd: '/shrug'; Voice: sndNone; VoiceDelay: 0), - (Sprite: sprJuggle; FramesCount: 49; Interval: 38; cmd: '/juggle'; Voice: sndNone; VoiceDelay: 0) - ); + Wavez: array [TWave] of record + Sprite: TSprite; + FramesCount: Longword; + Interval: Longword; + cmd: String[20]; + Voice: TSound; + VoiceDelay: LongWord; + end = ( + (Sprite: sprKowtow; FramesCount: 12; Interval: 125; cmd: '/rollup'; Voice: sndNone; VoiceDelay: 0), + (Sprite: sprSad; FramesCount: 14; Interval: 125; cmd: '/sad'; Voice: sndNone; VoiceDelay: 0), + (Sprite: sprWave; FramesCount: 16; Interval: 125; cmd: '/wave'; Voice: sndHello; VoiceDelay: 5), + (Sprite: sprHurrah; FramesCount: 14; Interval: 125; cmd: '/hurrah'; Voice: sndNone; VoiceDelay: 0), + (Sprite: sprLemonade; FramesCount: 24; Interval: 125; cmd: '/ilovelotsoflemonade'; Voice: sndNone; VoiceDelay: 0), + (Sprite: sprShrug; FramesCount: 24; Interval: 125; cmd: '/shrug'; Voice: sndNone; VoiceDelay: 0), + (Sprite: sprJuggle; FramesCount: 49; Interval: 38; cmd: '/juggle'; Voice: sndNone; VoiceDelay: 0) + ); - Soundz: array[TSound] of record - FileName: String[25]; - Path : TPathType; - end = ( - (FileName: ''; Path: ptNone ),// sndNone - (FileName: 'grenadeimpact.ogg'; Path: ptSounds),// sndGrenadeImpact - (FileName: 'explosion.ogg'; Path: ptSounds),// sndExplosion - (FileName: 'throwpowerup.ogg'; Path: ptSounds),// sndThrowPowerUp - (FileName: 'throwrelease.ogg'; Path: ptSounds),// sndThrowRelease - (FileName: 'splash.ogg'; Path: ptSounds),// sndSplash - (FileName: 'shotgunreload.ogg'; Path: ptSounds),// sndShotgunReload - (FileName: 'shotgunfire.ogg'; Path: ptSounds),// sndShotgunFire - (FileName: 'graveimpact.ogg'; Path: ptSounds),// sndGraveImpact - (FileName: 'minetick.ogg'; Path: ptSounds),// sndMineTicks - (FileName: 'pickhammer.ogg'; Path: ptSounds),// sndPickhammer - (FileName: 'gun.ogg'; Path: ptSounds),// sndGun - (FileName: 'ufo.ogg'; Path: ptSounds),// sndUFO - (FileName: 'Jump1.ogg'; Path: ptVoices),// sndJump1 - (FileName: 'Jump2.ogg'; Path: ptVoices),// sndJump2 - (FileName: 'Jump3.ogg'; Path: ptVoices),// sndJump3 - (FileName: 'Yessir.ogg'; Path: ptVoices),// sndYesSir - (FileName: 'Laugh.ogg'; Path: ptVoices),// sndLaugh - (FileName: 'Illgetyou.ogg'; Path: ptVoices),// sndIllGetYou - (FileName: 'Incoming.ogg'; Path: ptVoices),// sndIncoming - (FileName: 'Missed.ogg'; Path: ptVoices),// sndMissed - (FileName: 'Stupid.ogg'; Path: ptVoices),// sndStupid - (FileName: 'Firstblood.ogg'; Path: ptVoices),// sndFirstBlood - (FileName: 'Boring.ogg'; Path: ptVoices),// sndBoring - (FileName: 'Byebye.ogg'; Path: ptVoices),// sndByeBye - (FileName: 'Sameteam.ogg'; Path: ptVoices),// sndSameTeam - (FileName: 'Nutter.ogg'; Path: ptVoices),// sndNutter - (FileName: 'Reinforcements.ogg'; Path: ptVoices),// sndReinforce - (FileName: 'Traitor.ogg'; Path: ptVoices),// sndTraitor - (FileName: 'Youllregretthat.ogg'; Path: ptVoices),// sndRegret - (FileName: 'Enemydown.ogg'; Path: ptVoices),// sndEnemyDown - (FileName: 'Coward.ogg'; Path: ptVoices),// sndCoward - (FileName: 'Hurry.ogg'; Path: ptVoices),// sndHurry - (FileName: 'Watchit.ogg'; Path: ptVoices),// sndWatchIt - (FileName: 'Kamikaze.ogg'; Path: ptVoices),// sndKamikaze - (FileName: 'cake2.ogg'; Path: ptSounds),// sndCake - (FileName: 'Ow1.ogg'; Path: ptVoices),// sndOw1 - (FileName: 'Ow4.ogg'; Path: ptVoices),// sndOw4 - (FileName: 'Firepunch1.ogg'; Path: ptVoices),// sndFirepunch1 - (FileName: 'Firepunch2.ogg'; Path: ptVoices),// sndFirepunch2 - (FileName: 'Firepunch3.ogg'; Path: ptVoices),// sndFirepunch3 - (FileName: 'Firepunch4.ogg'; Path: ptVoices),// sndFirepunch4 - (FileName: 'Firepunch5.ogg'; Path: ptVoices),// sndFirepunch5 - (FileName: 'Firepunch6.ogg'; Path: ptVoices),// sndFirepunch6 - (FileName: 'Melon.ogg'; Path: ptSounds),// sndMelon - (FileName: 'Hellish.ogg'; Path: ptSounds),// sndHellish - (FileName: 'Yoohoo.ogg'; Path: ptSounds),// sndYoohoo - (FileName: 'rcplane.ogg'; Path: ptSounds),// sndRCPlane - (FileName: 'whipcrack.ogg'; Path: ptSounds),// sndWhipCrack - (FileName:'ride_of_the_valkyries.ogg'; Path: ptSounds),// sndRideOfTheValkyries - (FileName: 'denied.ogg'; Path: ptSounds),// sndDenied - (FileName: 'placed.ogg'; Path: ptSounds),// sndPlaced - (FileName: 'baseballbat.ogg'; Path: ptSounds),// sndBaseballBat - (FileName: 'steam.ogg'; Path: ptSounds),// sndVaporize - (FileName: 'warp.ogg'; Path: ptSounds),// sndWarp - (FileName: 'suddendeath.ogg'; Path: ptSounds),// sndSuddenDeath - (FileName: 'mortar.ogg'; Path: ptSounds),// sndMortar - (FileName: 'shutterclick.ogg'; Path: ptSounds),// sndShutter - (FileName: 'homerun.ogg'; Path: ptSounds),// sndHomerun - (FileName: 'molotov.ogg'; Path: ptSounds),// sndMolotov - (FileName: 'Takecover.ogg'; Path: ptVoices),// sndCover - (FileName: 'Uh-oh.ogg'; Path: ptVoices),// sndUhOh - (FileName: 'Oops.ogg'; Path: ptVoices),// sndOops - (FileName: 'Nooo.ogg'; Path: ptVoices),// sndNooo - (FileName: 'Hello.ogg'; Path: ptVoices),// sndHello - (FileName: ''; Path: ptSounds),// sndRopeShot - (FileName: ''; Path: ptSounds),// sndRopeAttach - (FileName: ''; Path: ptSounds),// sndRopeRelease - (FileName: 'switchhog.ogg'; Path: ptSounds),// sndSwitchHog - (FileName: 'victory.ogg'; Path: ptVoices),// sndVictory - (FileName: 'sniperreload.ogg'; Path: ptSounds),// sndSniperReload - (FileName: 'steps.ogg'; Path: ptSounds),// sndSteps - (FileName: 'lowgravity.ogg'; Path: ptSounds) // sndLowGravity - ); + Soundz: array[TSound] of record + FileName: String[25]; + Path : TPathType; + end = ( + (FileName: ''; Path: ptNone ),// sndNone + (FileName: 'grenadeimpact.ogg'; Path: ptSounds),// sndGrenadeImpact + (FileName: 'explosion.ogg'; Path: ptSounds),// sndExplosion + (FileName: 'throwpowerup.ogg'; Path: ptSounds),// sndThrowPowerUp + (FileName: 'throwrelease.ogg'; Path: ptSounds),// sndThrowRelease + (FileName: 'splash.ogg'; Path: ptSounds),// sndSplash + (FileName: 'shotgunreload.ogg'; Path: ptSounds),// sndShotgunReload + (FileName: 'shotgunfire.ogg'; Path: ptSounds),// sndShotgunFire + (FileName: 'graveimpact.ogg'; Path: ptSounds),// sndGraveImpact + (FileName: 'minetick.ogg'; Path: ptSounds),// sndMineTicks + (FileName: 'pickhammer.ogg'; Path: ptSounds),// sndPickhammer + (FileName: 'gun.ogg'; Path: ptSounds),// sndGun + (FileName: 'ufo.ogg'; Path: ptSounds),// sndUFO + (FileName: 'Jump1.ogg'; Path: ptVoices),// sndJump1 + (FileName: 'Jump2.ogg'; Path: ptVoices),// sndJump2 + (FileName: 'Jump3.ogg'; Path: ptVoices),// sndJump3 + (FileName: 'Yessir.ogg'; Path: ptVoices),// sndYesSir + (FileName: 'Laugh.ogg'; Path: ptVoices),// sndLaugh + (FileName: 'Illgetyou.ogg'; Path: ptVoices),// sndIllGetYou + (FileName: 'Incoming.ogg'; Path: ptVoices),// sndIncoming + (FileName: 'Missed.ogg'; Path: ptVoices),// sndMissed + (FileName: 'Stupid.ogg'; Path: ptVoices),// sndStupid + (FileName: 'Firstblood.ogg'; Path: ptVoices),// sndFirstBlood + (FileName: 'Boring.ogg'; Path: ptVoices),// sndBoring + (FileName: 'Byebye.ogg'; Path: ptVoices),// sndByeBye + (FileName: 'Sameteam.ogg'; Path: ptVoices),// sndSameTeam + (FileName: 'Nutter.ogg'; Path: ptVoices),// sndNutter + (FileName: 'Reinforcements.ogg'; Path: ptVoices),// sndReinforce + (FileName: 'Traitor.ogg'; Path: ptVoices),// sndTraitor + (FileName: 'Youllregretthat.ogg'; Path: ptVoices),// sndRegret + (FileName: 'Enemydown.ogg'; Path: ptVoices),// sndEnemyDown + (FileName: 'Coward.ogg'; Path: ptVoices),// sndCoward + (FileName: 'Hurry.ogg'; Path: ptVoices),// sndHurry + (FileName: 'Watchit.ogg'; Path: ptVoices),// sndWatchIt + (FileName: 'Kamikaze.ogg'; Path: ptVoices),// sndKamikaze + (FileName: 'cake2.ogg'; Path: ptSounds),// sndCake + (FileName: 'Ow1.ogg'; Path: ptVoices),// sndOw1 + (FileName: 'Ow4.ogg'; Path: ptVoices),// sndOw4 + (FileName: 'Firepunch1.ogg'; Path: ptVoices),// sndFirepunch1 + (FileName: 'Firepunch2.ogg'; Path: ptVoices),// sndFirepunch2 + (FileName: 'Firepunch3.ogg'; Path: ptVoices),// sndFirepunch3 + (FileName: 'Firepunch4.ogg'; Path: ptVoices),// sndFirepunch4 + (FileName: 'Firepunch5.ogg'; Path: ptVoices),// sndFirepunch5 + (FileName: 'Firepunch6.ogg'; Path: ptVoices),// sndFirepunch6 + (FileName: 'Melon.ogg'; Path: ptSounds),// sndMelon + (FileName: 'Hellish.ogg'; Path: ptSounds),// sndHellish + (FileName: 'Yoohoo.ogg'; Path: ptSounds),// sndYoohoo + (FileName: 'rcplane.ogg'; Path: ptSounds),// sndRCPlane + (FileName: 'whipcrack.ogg'; Path: ptSounds),// sndWhipCrack + (FileName:'ride_of_the_valkyries.ogg'; Path: ptSounds),// sndRideOfTheValkyries + (FileName: 'denied.ogg'; Path: ptSounds),// sndDenied + (FileName: 'placed.ogg'; Path: ptSounds),// sndPlaced + (FileName: 'baseballbat.ogg'; Path: ptSounds),// sndBaseballBat + (FileName: 'steam.ogg'; Path: ptSounds),// sndVaporize + (FileName: 'warp.ogg'; Path: ptSounds),// sndWarp + (FileName: 'suddendeath.ogg'; Path: ptSounds),// sndSuddenDeath + (FileName: 'mortar.ogg'; Path: ptSounds),// sndMortar + (FileName: 'shutterclick.ogg'; Path: ptSounds),// sndShutter + (FileName: 'homerun.ogg'; Path: ptSounds),// sndHomerun + (FileName: 'molotov.ogg'; Path: ptSounds),// sndMolotov + (FileName: 'Takecover.ogg'; Path: ptVoices),// sndCover + (FileName: 'Uh-oh.ogg'; Path: ptVoices),// sndUhOh + (FileName: 'Oops.ogg'; Path: ptVoices),// sndOops + (FileName: 'Nooo.ogg'; Path: ptVoices),// sndNooo + (FileName: 'Hello.ogg'; Path: ptVoices),// sndHello + (FileName: ''; Path: ptSounds),// sndRopeShot + (FileName: ''; Path: ptSounds),// sndRopeAttach + (FileName: ''; Path: ptSounds),// sndRopeRelease + (FileName: 'switchhog.ogg'; Path: ptSounds),// sndSwitchHog + (FileName: 'victory.ogg'; Path: ptVoices),// sndVictory + (FileName: 'sniperreload.ogg'; Path: ptSounds),// sndSniperReload + (FileName: 'steps.ogg'; Path: ptSounds),// sndSteps + (FileName: 'lowgravity.ogg'; Path: ptSounds) // sndLowGravity + ); - Ammoz: array [TAmmoType] of record - NameId: TAmmoStrId; - NameTex: PTexture; - Probability, NumberInCase: Longword; - Ammo: TAmmo; - Slot: 0..cMaxSlotIndex; - TimeAfterTurn: Longword; - minAngle, maxAngle: Longword; - isDamaging: boolean; - SkipTurns: Longword; - PosCount: Longword; - PosSprite: TSprite; - end = ( - (NameId: sidNothing; - NameTex: nil; - Probability: 0; - NumberInCase: 0; - Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_DontHold or ammoprop_Utility; - Count: AMMO_INFINITE; - InitialCount: AMMO_INFINITE; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amNothing; - AttackVoice: sndNone); - Slot: 0; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: false; - SkipTurns: 9999; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidGrenade; - NameTex: nil; - Probability: 0; - NumberInCase: 1; - Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse; - Count: AMMO_INFINITE; - InitialCount: AMMO_INFINITE; - NumPerTurn: 0; - Timer: 3000; - Pos: 0; - AmmoType: amGrenade; - AttackVoice: sndCover); - Slot: 1; - TimeAfterTurn: 3000; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidClusterBomb; - NameTex: nil; - Probability: 100; - NumberInCase: 3; - Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse; - Count: 5; - InitialCount: 5; - NumPerTurn: 0; - Timer: 3000; - Pos: 0; - AmmoType: amClusterBomb; - AttackVoice: sndCover); - Slot: 1; - TimeAfterTurn: 3000; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidBazooka; - NameTex: nil; - Probability: 0; - NumberInCase: 1; - Ammo: (Propz: ammoprop_Power or ammoprop_AltUse; - Count: AMMO_INFINITE; - InitialCount: AMMO_INFINITE; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amBazooka; - AttackVoice: sndNone); - Slot: 0; - TimeAfterTurn: 3000; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidUFO; - NameTex: nil; - Probability: 100; - NumberInCase: 1; - Ammo: (Propz: ammoprop_Power or ammoprop_NeedTarget or ammoprop_DontHold; - Count: 2; - InitialCount: 2; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amUFO; - AttackVoice: sndNone); - Slot: 0; - TimeAfterTurn: 3000; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidShotgun; - NameTex: nil; - Probability: 0; - NumberInCase: 1; - Ammo: (Propz: ammoprop_ForwMsgs; - Count: AMMO_INFINITE; - InitialCount: AMMO_INFINITE; - NumPerTurn: 1; - Timer: 0; - Pos: 0; - AmmoType: amShotgun; - AttackVoice: sndNone); - Slot: 2; - TimeAfterTurn: 3000; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidPickHammer; - NameTex: nil; - Probability: 0; - NumberInCase: 1; - Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_AttackInMove or ammoprop_NoCrosshair or ammoprop_DontHold; - Count: 2; - InitialCount: 2; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amPickHammer; - AttackVoice: sndNone); - Slot: 6; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: false; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidSkip; - NameTex: nil; - Probability: 0; - NumberInCase: 1; - Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_DontHold; - Count: AMMO_INFINITE; - InitialCount: AMMO_INFINITE; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amSkip; - AttackVoice: sndNone); - Slot: 8; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: false; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidRope; - NameTex: nil; - Probability: 100; - NumberInCase: 3; - Ammo: (Propz: ammoprop_NoRoundEndHint or - ammoprop_ForwMsgs or - ammoprop_AttackInMove or - ammoprop_AltAttack; - Count: 5; - InitialCount: 5; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amRope; - AttackVoice: sndNone); - Slot: 7; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: cMaxAngle div 2; - isDamaging: false; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidMine; - NameTex: nil; - Probability: 100; - NumberInCase: 1; - Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_AttackInMove or ammoprop_DontHold or ammoprop_AltUse; - Count: 2; - InitialCount: 2; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amMine; - AttackVoice: sndLaugh); - Slot: 4; - TimeAfterTurn: 5000; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidDEagle; - NameTex: nil; - Probability: 20; - NumberInCase: 2; - Ammo: (Propz: 0; - Count: 3; - InitialCount: 3; - NumPerTurn: 3; - Timer: 0; - Pos: 0; - AmmoType: amDEagle; - AttackVoice: sndNone); - Slot: 2; - TimeAfterTurn: 3000; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidDynamite; - NameTex: nil; - Probability: 100; - NumberInCase: 1; - Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_AttackInMove or ammoprop_DontHold or ammoprop_AltUse; - Count: 1; - InitialCount: 1; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amDynamite; - AttackVoice: sndLaugh); - Slot: 4; - TimeAfterTurn: 5000; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidFirePunch; - NameTex: nil; - Probability: 0; - NumberInCase: 1; - Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_ForwMsgs or ammoprop_AttackInMove; - Count: AMMO_INFINITE; - InitialCount: AMMO_INFINITE; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amFirePunch; - AttackVoice: sndNone); - Slot: 3; - TimeAfterTurn: 3000; - MinAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidWhip; - NameTex: nil; - Probability: 0; - NumberInCase: 1; - Ammo: (Propz: ammoprop_NoCrosshair; - Count: AMMO_INFINITE; - InitialCount: AMMO_INFINITE; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amWhip; - AttackVoice: sndNone); - Slot: 3; - TimeAfterTurn: 3000; - MinAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidBaseballBat; - NameTex: nil; - Probability: 100; - NumberInCase: 1; - Ammo: (Propz: ammoprop_DontHold; - Count: 1; - InitialCount: 1; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amBaseballBat; - AttackVoice: sndNone); - Slot: 3; - TimeAfterTurn: 5000; - minAngle: 0; - maxAngle: cMaxAngle div 2; - isDamaging: true; - SkipTurns: 2; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidParachute; - NameTex: nil; - Probability: 100; - NumberInCase: 1; - Ammo: (Propz: ammoprop_NoRoundEndHint or - ammoprop_ForwMsgs or - ammoprop_AttackInMove or - ammoprop_NoCrosshair or - ammoprop_DontHold or - ammoprop_AltAttack; - Count: 2; - InitialCount: 2; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amParachute; - AttackVoice: sndNone); - Slot: 7; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: false; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidAirAttack; - NameTex: nil; - Probability: 100; - NumberInCase: 1; - Ammo: (Propz: ammoprop_NoCrosshair or - ammoprop_NeedTarget or - ammoprop_AttackingPut or - ammoprop_DontHold or - ammoprop_NotBorder; - Count: 1; - InitialCount: 1; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amAirAttack; - AttackVoice: sndIncoming); - Slot: 5; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 5; - PosCount: 2; - PosSprite: sprAmAirplane), - (NameId: sidMineStrike; - NameTex: nil; - Probability: 200; - NumberInCase: 1; - Ammo: (Propz: ammoprop_NoCrosshair or - ammoprop_NeedTarget or - ammoprop_AttackingPut or - ammoprop_DontHold or - ammoprop_NotBorder; - Count: 1; - InitialCount: 1; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amMineStrike; - AttackVoice: sndNone); - Slot: 5; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 5; - PosCount: 2; - PosSprite: sprAmAirplane), - (NameId: sidBlowTorch; - NameTex: nil; - Probability: 100; - NumberInCase: 2; - Ammo: (Propz: ammoprop_ForwMsgs; - Count: 1; - InitialCount: 1; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amBlowTorch; - AttackVoice: sndNone); - Slot: 6; - TimeAfterTurn: 3000; - minAngle: 768; - maxAngle: 1280; - isDamaging: false; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidGirder; - NameTex: nil; - Probability: 150; - NumberInCase: 3; - Ammo: (Propz: ammoprop_NoRoundEndHint or - ammoprop_NoCrosshair or - ammoprop_NeedTarget or - ammoprop_AttackingPut; - Count: 1; - InitialCount: 1; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amGirder; - AttackVoice: sndNone); - Slot: 6; - TimeAfterTurn: 3000; - minAngle: 0; - maxAngle: 0; - isDamaging: false; - SkipTurns: 0; - PosCount: 8; - PosSprite: sprAmGirder), - (NameId: sidTeleport; - NameTex: nil; - Probability: 200; - NumberInCase: 1; - Ammo: (Propz: ammoprop_ForwMsgs or - ammoprop_NoCrosshair or - ammoprop_NeedTarget or - ammoprop_AttackingPut or - ammoprop_DontHold; - Count: 2; - InitialCount: 2; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amTeleport; - AttackVoice: sndNone); - Slot: 7; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: false; - SkipTurns: 0; - PosCount: 2; - PosSprite: sprAmTeleport), - (NameId: sidSwitch; - NameTex: nil; - Probability: 100; - NumberInCase: 1; - Ammo: (Propz: ammoprop_NoRoundEndHint or - ammoprop_ForwMsgs or - ammoprop_NoCrosshair or - ammoprop_DontHold; - Count: 3; - InitialCount: 3; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amSwitch; - AttackVoice: sndNone); - Slot: 8; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: false; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidMortar; - NameTex: nil; - Probability: 100; - NumberInCase: 4; - Ammo: (Propz: 0; - Count: 4; - InitialCount: 4; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amMortar; - AttackVoice: sndNone); - Slot: 1; - TimeAfterTurn: 3000; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidKamikaze; - NameTex: nil; - Probability: 100; - NumberInCase: 1; - Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold or ammoprop_AttackInMove; - Count: 1; - InitialCount: 1; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amKamikaze; - AttackVoice: sndNone); - Slot: 3; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidCake; - NameTex: nil; - Probability: 100; - NumberInCase: 1; - Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_NoCrosshair or ammoprop_DontHold; - Count: 1; - InitialCount: 1; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amCake; - AttackVoice: sndLaugh); - Slot: 4; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 4; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidSeduction; - NameTex: nil; - Probability: 100; - NumberInCase: 1; - Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold; - Count: 1; + Ammoz: array [TAmmoType] of record + NameId: TAmmoStrId; + NameTex: PTexture; + Probability, NumberInCase: Longword; + Ammo: TAmmo; + Slot: 0..cMaxSlotIndex; + TimeAfterTurn: Longword; + minAngle, maxAngle: Longword; + isDamaging: boolean; + SkipTurns: Longword; + PosCount: Longword; + PosSprite: TSprite; + end = ( + (NameId: sidNothing; + NameTex: nil; + Probability: 0; + NumberInCase: 0; + Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_DontHold or ammoprop_Utility; + Count: AMMO_INFINITE; + InitialCount: AMMO_INFINITE; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amNothing; + AttackVoice: sndNone); + Slot: 0; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: false; + SkipTurns: 9999; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidGrenade; + NameTex: nil; + Probability: 0; + NumberInCase: 1; + Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse; + Count: AMMO_INFINITE; + InitialCount: AMMO_INFINITE; + NumPerTurn: 0; + Timer: 3000; + Pos: 0; + AmmoType: amGrenade; + AttackVoice: sndCover); + Slot: 1; + TimeAfterTurn: 3000; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidClusterBomb; + NameTex: nil; + Probability: 100; + NumberInCase: 3; + Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse; + Count: 5; + InitialCount: 5; + NumPerTurn: 0; + Timer: 3000; + Pos: 0; + AmmoType: amClusterBomb; + AttackVoice: sndCover); + Slot: 1; + TimeAfterTurn: 3000; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidBazooka; + NameTex: nil; + Probability: 0; + NumberInCase: 1; + Ammo: (Propz: ammoprop_Power or ammoprop_AltUse; + Count: AMMO_INFINITE; + InitialCount: AMMO_INFINITE; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amBazooka; + AttackVoice: sndNone); + Slot: 0; + TimeAfterTurn: 3000; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidUFO; + NameTex: nil; + Probability: 100; + NumberInCase: 1; + Ammo: (Propz: ammoprop_Power or ammoprop_NeedTarget or ammoprop_DontHold; + Count: 2; + InitialCount: 2; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amUFO; + AttackVoice: sndNone); + Slot: 0; + TimeAfterTurn: 3000; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidShotgun; + NameTex: nil; + Probability: 0; + NumberInCase: 1; + Ammo: (Propz: ammoprop_ForwMsgs; + Count: AMMO_INFINITE; + InitialCount: AMMO_INFINITE; + NumPerTurn: 1; + Timer: 0; + Pos: 0; + AmmoType: amShotgun; + AttackVoice: sndNone); + Slot: 2; + TimeAfterTurn: 3000; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidPickHammer; + NameTex: nil; + Probability: 0; + NumberInCase: 1; + Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_AttackInMove or ammoprop_NoCrosshair or ammoprop_DontHold; + Count: 2; + InitialCount: 2; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amPickHammer; + AttackVoice: sndNone); + Slot: 6; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: false; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidSkip; + NameTex: nil; + Probability: 0; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_DontHold; + Count: AMMO_INFINITE; + InitialCount: AMMO_INFINITE; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amSkip; + AttackVoice: sndNone); + Slot: 8; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: false; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidRope; + NameTex: nil; + Probability: 100; + NumberInCase: 3; + Ammo: (Propz: ammoprop_NoRoundEndHint or + ammoprop_ForwMsgs or + ammoprop_AttackInMove or + ammoprop_AltAttack; + Count: 5; + InitialCount: 5; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amRope; + AttackVoice: sndNone); + Slot: 7; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: cMaxAngle div 2; + isDamaging: false; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidMine; + NameTex: nil; + Probability: 100; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_AttackInMove or ammoprop_DontHold or ammoprop_AltUse; + Count: 2; + InitialCount: 2; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amMine; + AttackVoice: sndLaugh); + Slot: 4; + TimeAfterTurn: 5000; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidDEagle; + NameTex: nil; + Probability: 20; + NumberInCase: 2; + Ammo: (Propz: 0; + Count: 3; + InitialCount: 3; + NumPerTurn: 3; + Timer: 0; + Pos: 0; + AmmoType: amDEagle; + AttackVoice: sndNone); + Slot: 2; + TimeAfterTurn: 3000; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidDynamite; + NameTex: nil; + Probability: 100; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_AttackInMove or ammoprop_DontHold or ammoprop_AltUse; + Count: 1; + InitialCount: 1; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amDynamite; + AttackVoice: sndLaugh); + Slot: 4; + TimeAfterTurn: 5000; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidFirePunch; + NameTex: nil; + Probability: 0; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_ForwMsgs or ammoprop_AttackInMove; + Count: AMMO_INFINITE; + InitialCount: AMMO_INFINITE; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amFirePunch; + AttackVoice: sndNone); + Slot: 3; + TimeAfterTurn: 3000; + MinAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidWhip; + NameTex: nil; + Probability: 0; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NoCrosshair; + Count: AMMO_INFINITE; + InitialCount: AMMO_INFINITE; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amWhip; + AttackVoice: sndNone); + Slot: 3; + TimeAfterTurn: 3000; + MinAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidBaseballBat; + NameTex: nil; + Probability: 100; + NumberInCase: 1; + Ammo: (Propz: ammoprop_DontHold; + Count: 1; + InitialCount: 1; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amBaseballBat; + AttackVoice: sndNone); + Slot: 3; + TimeAfterTurn: 5000; + minAngle: 0; + maxAngle: cMaxAngle div 2; + isDamaging: true; + SkipTurns: 2; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidParachute; + NameTex: nil; + Probability: 100; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NoRoundEndHint or + ammoprop_ForwMsgs or + ammoprop_AttackInMove or + ammoprop_NoCrosshair or + ammoprop_DontHold or + ammoprop_AltAttack; + Count: 2; + InitialCount: 2; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amParachute; + AttackVoice: sndNone); + Slot: 7; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: false; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidAirAttack; + NameTex: nil; + Probability: 100; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NoCrosshair or + ammoprop_NeedTarget or + ammoprop_AttackingPut or + ammoprop_DontHold or + ammoprop_NotBorder; + Count: 1; + InitialCount: 1; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amAirAttack; + AttackVoice: sndIncoming); + Slot: 5; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 5; + PosCount: 2; + PosSprite: sprAmAirplane), + (NameId: sidMineStrike; + NameTex: nil; + Probability: 200; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NoCrosshair or + ammoprop_NeedTarget or + ammoprop_AttackingPut or + ammoprop_DontHold or + ammoprop_NotBorder; + Count: 1; + InitialCount: 1; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amMineStrike; + AttackVoice: sndNone); + Slot: 5; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 5; + PosCount: 2; + PosSprite: sprAmAirplane), + (NameId: sidBlowTorch; + NameTex: nil; + Probability: 100; + NumberInCase: 2; + Ammo: (Propz: ammoprop_ForwMsgs; + Count: 1; InitialCount: 1; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amSeduction; - AttackVoice: sndNone); - Slot: 2; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: false; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidWatermelon; - NameTex: nil; - Probability: 400; - NumberInCase: 1; - Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse; - Count: 0; - InitialCount: 0; - NumPerTurn: 0; - Timer: 3000; - Pos: 0; - AmmoType: amWatermelon; - AttackVoice: sndMelon); - Slot: 1; - TimeAfterTurn: 3000; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidHellishBomb; - NameTex: nil; - Probability: 400; - NumberInCase: 1; - Ammo: (Propz: ammoprop_Power or ammoprop_AltUse; - Count: 0; - InitialCount: 0; - NumPerTurn: 0; - Timer: 5000; - Pos: 0; - AmmoType: amHellishBomb; - AttackVoice: sndNone); - Slot: 4; - TimeAfterTurn: 3000; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidNapalm; - NameTex: nil; - Probability: 100; - NumberInCase: 1; - Ammo: (Propz: ammoprop_NoCrosshair or - ammoprop_NeedTarget or - ammoprop_AttackingPut or - ammoprop_DontHold or - ammoprop_NotBorder; - Count: 1; - InitialCount: 1; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amNapalm; - AttackVoice: sndNone); - Slot: 5; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 7; - PosCount: 2; - PosSprite: sprAmAirplane), - (NameId: sidDrill; - NameTex: nil; - Probability: 300; - NumberInCase: 1; - Ammo: (Propz: ammoprop_Power or ammoprop_AltUse; - Count: AMMO_INFINITE; - InitialCount: AMMO_INFINITE; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amDrill; - AttackVoice: sndNone); - Slot: 0; - TimeAfterTurn: 3000; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprDrill), - (NameId: sidBallgun; - NameTex: nil; - Probability: 400; - NumberInCase: 1; - Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold; - Count: AMMO_INFINITE; - InitialCount: AMMO_INFINITE; - NumPerTurn: 0; - Timer: 5001; - Pos: 0; - AmmoType: amBallgun; - AttackVoice: sndNone); - Slot: 2; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidRCPlane; - NameTex: nil; - Probability: 200; - NumberInCase: 1; - Ammo: (Propz: ammoprop_ForwMsgs{ or - ammoprop_DontHold or - ammoprop_AltAttack}; - Count: 1; - InitialCount: 1; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amRCPlane; - AttackVoice: sndNone); - Slot: 6; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 4; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidLowGravity; - NameTex: nil; - Probability: 20; - NumberInCase: 1; - Ammo: (Propz: ammoprop_NoRoundEndHint or - ammoprop_NoCrosshair or - ammoprop_DontHold or - ammoprop_AltUse or - ammoprop_Utility; - Count: 1; - InitialCount: 1; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amLowGravity; - AttackVoice: sndNone); - Slot: 8; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: false; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidExtraDamage; - NameTex: nil; - Probability: 15; - NumberInCase: 1; - Ammo: (Propz: ammoprop_NoRoundEndHint or - ammoprop_NoCrosshair or - ammoprop_DontHold or - ammoprop_AltUse or - ammoprop_Utility; - Count: 1; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amBlowTorch; + AttackVoice: sndNone); + Slot: 6; + TimeAfterTurn: 3000; + minAngle: 768; + maxAngle: 1280; + isDamaging: false; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidGirder; + NameTex: nil; + Probability: 150; + NumberInCase: 3; + Ammo: (Propz: ammoprop_NoRoundEndHint or + ammoprop_NoCrosshair or + ammoprop_NeedTarget or + ammoprop_AttackingPut; + Count: 1; InitialCount: 1; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amExtraDamage; - AttackVoice: sndNone); - Slot: 8; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: false; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidInvulnerable; - NameTex: nil; - Probability: 20; - NumberInCase: 1; - Ammo: (Propz: ammoprop_NoRoundEndHint or - ammoprop_NoCrosshair or - ammoprop_DontHold or - ammoprop_AltUse or + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amGirder; + AttackVoice: sndNone); + Slot: 6; + TimeAfterTurn: 3000; + minAngle: 0; + maxAngle: 0; + isDamaging: false; + SkipTurns: 0; + PosCount: 8; + PosSprite: sprAmGirder), + (NameId: sidTeleport; + NameTex: nil; + Probability: 200; + NumberInCase: 1; + Ammo: (Propz: ammoprop_ForwMsgs or + ammoprop_NoCrosshair or + ammoprop_NeedTarget or + ammoprop_AttackingPut or + ammoprop_DontHold; + Count: 2; + InitialCount: 2; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amTeleport; + AttackVoice: sndNone); + Slot: 7; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: false; + SkipTurns: 0; + PosCount: 2; + PosSprite: sprAmTeleport), + (NameId: sidSwitch; + NameTex: nil; + Probability: 100; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NoRoundEndHint or + ammoprop_ForwMsgs or + ammoprop_NoCrosshair or + ammoprop_DontHold; + Count: 3; + InitialCount: 3; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amSwitch; + AttackVoice: sndNone); + Slot: 8; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: false; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidMortar; + NameTex: nil; + Probability: 100; + NumberInCase: 4; + Ammo: (Propz: 0; + Count: 4; + InitialCount: 4; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amMortar; + AttackVoice: sndNone); + Slot: 1; + TimeAfterTurn: 3000; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidKamikaze; + NameTex: nil; + Probability: 100; + NumberInCase: 1; + Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold or ammoprop_AttackInMove; + Count: 1; + InitialCount: 1; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amKamikaze; + AttackVoice: sndNone); + Slot: 3; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidCake; + NameTex: nil; + Probability: 100; + NumberInCase: 1; + Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_NoCrosshair or ammoprop_DontHold; + Count: 1; + InitialCount: 1; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amCake; + AttackVoice: sndLaugh); + Slot: 4; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 4; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidSeduction; + NameTex: nil; + Probability: 100; + NumberInCase: 1; + Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold; + Count: 1; + InitialCount: 1; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amSeduction; + AttackVoice: sndNone); + Slot: 2; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: false; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidWatermelon; + NameTex: nil; + Probability: 400; + NumberInCase: 1; + Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse; + Count: 0; + InitialCount: 0; + NumPerTurn: 0; + Timer: 3000; + Pos: 0; + AmmoType: amWatermelon; + AttackVoice: sndMelon); + Slot: 1; + TimeAfterTurn: 3000; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidHellishBomb; + NameTex: nil; + Probability: 400; + NumberInCase: 1; + Ammo: (Propz: ammoprop_Power or ammoprop_AltUse; + Count: 0; + InitialCount: 0; + NumPerTurn: 0; + Timer: 5000; + Pos: 0; + AmmoType: amHellishBomb; + AttackVoice: sndNone); + Slot: 4; + TimeAfterTurn: 3000; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidNapalm; + NameTex: nil; + Probability: 100; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NoCrosshair or + ammoprop_NeedTarget or + ammoprop_AttackingPut or + ammoprop_DontHold or + ammoprop_NotBorder; + Count: 1; + InitialCount: 1; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amNapalm; + AttackVoice: sndNone); + Slot: 5; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 7; + PosCount: 2; + PosSprite: sprAmAirplane), + (NameId: sidDrill; + NameTex: nil; + Probability: 300; + NumberInCase: 1; + Ammo: (Propz: ammoprop_Power or ammoprop_AltUse; + Count: AMMO_INFINITE; + InitialCount: AMMO_INFINITE; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amDrill; + AttackVoice: sndNone); + Slot: 0; + TimeAfterTurn: 3000; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprDrill), + (NameId: sidBallgun; + NameTex: nil; + Probability: 400; + NumberInCase: 1; + Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold; + Count: AMMO_INFINITE; + InitialCount: AMMO_INFINITE; + NumPerTurn: 0; + Timer: 5001; + Pos: 0; + AmmoType: amBallgun; + AttackVoice: sndNone); + Slot: 2; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidRCPlane; + NameTex: nil; + Probability: 200; + NumberInCase: 1; + Ammo: (Propz: ammoprop_ForwMsgs{ or + ammoprop_DontHold or + ammoprop_AltAttack}; + Count: 1; + InitialCount: 1; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amRCPlane; + AttackVoice: sndNone); + Slot: 6; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 4; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidLowGravity; + NameTex: nil; + Probability: 20; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NoRoundEndHint or + ammoprop_NoCrosshair or + ammoprop_DontHold or + ammoprop_AltUse or ammoprop_Utility; - Count: 1; - InitialCount: 1; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amInvulnerable; - AttackVoice: sndNone); - Slot: 8; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: false; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidExtraTime; - NameTex: nil; - Probability: 30; - NumberInCase: 1; - Ammo: (Propz: ammoprop_NoRoundEndHint or - ammoprop_NoCrosshair or - ammoprop_DontHold or - ammoprop_AltUse or - ammoprop_Utility; - Count: 1; - InitialCount: 1; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amExtraTime; - AttackVoice: sndNone); - Slot: 7; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: false; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidLaserSight; - NameTex: nil; - Probability: 15; - NumberInCase: 1; - Ammo: (Propz: ammoprop_NoRoundEndHint or - ammoprop_NoCrosshair or - ammoprop_DontHold or - ammoprop_AltUse or - ammoprop_Utility; - Count: 1; + Count: 1; InitialCount: 1; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amLaserSight; - AttackVoice: sndNone); - Slot: 7; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: false; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidVampiric; - NameTex: nil; - Probability: 15; - NumberInCase: 1; - Ammo: (Propz: ammoprop_NoRoundEndHint or - ammoprop_NoCrosshair or - ammoprop_DontHold or - ammoprop_AltUse or + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amLowGravity; + AttackVoice: sndNone); + Slot: 8; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: false; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidExtraDamage; + NameTex: nil; + Probability: 15; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NoRoundEndHint or + ammoprop_NoCrosshair or + ammoprop_DontHold or + ammoprop_AltUse or + ammoprop_Utility; + Count: 1; + InitialCount: 1; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amExtraDamage; + AttackVoice: sndNone); + Slot: 8; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: false; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidInvulnerable; + NameTex: nil; + Probability: 20; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NoRoundEndHint or + ammoprop_NoCrosshair or + ammoprop_DontHold or + ammoprop_AltUse or + ammoprop_Utility; + Count: 1; + InitialCount: 1; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amInvulnerable; + AttackVoice: sndNone); + Slot: 8; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: false; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidExtraTime; + NameTex: nil; + Probability: 30; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NoRoundEndHint or + ammoprop_NoCrosshair or + ammoprop_DontHold or + ammoprop_AltUse or ammoprop_Utility; - Count: 1; + Count: 1; + InitialCount: 1; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amExtraTime; + AttackVoice: sndNone); + Slot: 7; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: false; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidLaserSight; + NameTex: nil; + Probability: 15; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NoRoundEndHint or + ammoprop_NoCrosshair or + ammoprop_DontHold or + ammoprop_AltUse or + ammoprop_Utility; + Count: 1; InitialCount: 1; - NumPerTurn: 0; - Timer: 0; - Pos: 0; - AmmoType: amVampiric; - AttackVoice: sndNone); - Slot: 6; - TimeAfterTurn: 0; - minAngle: 0; - maxAngle: 0; - isDamaging: false; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidSniperRifle; - NameTex: nil; - Probability: 20; - NumberInCase: 2; - Ammo: (Propz: 0; - Count: 2; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amLaserSight; + AttackVoice: sndNone); + Slot: 7; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: false; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidVampiric; + NameTex: nil; + Probability: 15; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NoRoundEndHint or + ammoprop_NoCrosshair or + ammoprop_DontHold or + ammoprop_AltUse or + ammoprop_Utility; + Count: 1; + InitialCount: 1; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amVampiric; + AttackVoice: sndNone); + Slot: 6; + TimeAfterTurn: 0; + minAngle: 0; + maxAngle: 0; + isDamaging: false; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidSniperRifle; + NameTex: nil; + Probability: 20; + NumberInCase: 2; + Ammo: (Propz: 0; + Count: 2; InitialCount: 2; - NumPerTurn: 1; - Timer: 0; - Pos: 0; - AmmoType: amSniperRifle; - AttackVoice: sndNone); - Slot: 2; - TimeAfterTurn: 3000; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidJetpack; - NameTex: nil; - Probability: 20; - NumberInCase: 1; - Ammo: (Propz: ammoprop_NoRoundEndHint or - ammoprop_ForwMsgs or - ammoprop_AttackInMove or - ammoprop_NoCrosshair or - ammoprop_DontHold or - ammoprop_AltAttack; - Count: 1; + NumPerTurn: 1; + Timer: 0; + Pos: 0; + AmmoType: amSniperRifle; + AttackVoice: sndNone); + Slot: 2; + TimeAfterTurn: 3000; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidJetpack; + NameTex: nil; + Probability: 20; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NoRoundEndHint or + ammoprop_ForwMsgs or + ammoprop_AttackInMove or + ammoprop_NoCrosshair or + ammoprop_DontHold or + ammoprop_AltAttack; + Count: 1; InitialCount: 1; - NumPerTurn: 1; - Timer: 0; - Pos: 0; - AmmoType: amJetpack; - AttackVoice: sndNone); - Slot: 3; - TimeAfterTurn: 3000; - minAngle: 0; - maxAngle: 0; - isDamaging: false; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater), - (NameId: sidMolotov; - NameTex: nil; - Probability: 0; - NumberInCase: 1; - Ammo: (Propz: ammoprop_Power or ammoprop_AltUse; - Count: AMMO_INFINITE; + NumPerTurn: 1; + Timer: 0; + Pos: 0; + AmmoType: amJetpack; + AttackVoice: sndNone); + Slot: 3; + TimeAfterTurn: 3000; + minAngle: 0; + maxAngle: 0; + isDamaging: false; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater), + (NameId: sidMolotov; + NameTex: nil; + Probability: 0; + NumberInCase: 1; + Ammo: (Propz: ammoprop_Power or ammoprop_AltUse; + Count: AMMO_INFINITE; InitialCount: AMMO_INFINITE; - NumPerTurn: 0; - Timer: 3000; - Pos: 0; - AmmoType: amMolotov; - AttackVoice: sndNone); - Slot: 1; - TimeAfterTurn: 3000; - minAngle: 0; - maxAngle: 0; - isDamaging: true; - SkipTurns: 0; - PosCount: 1; - PosSprite: sprWater) - ); + NumPerTurn: 0; + Timer: 3000; + Pos: 0; + AmmoType: amMolotov; + AttackVoice: sndNone); + Slot: 1; + TimeAfterTurn: 3000; + minAngle: 0; + maxAngle: 0; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater) + ); - conversionFormat: TSDL_PixelFormat = ( - palette: nil; - BitsPerPixel : 32; - BytesPerPixel: 4; - Rloss : 0; - Gloss : 0; - Bloss : 0; - Aloss : 0; + conversionFormat: TSDL_PixelFormat = ( + palette: nil; + BitsPerPixel : 32; + BytesPerPixel: 4; + Rloss : 0; + Gloss : 0; + Bloss : 0; + Aloss : 0; {$IFDEF ENDIAN_LITTLE} - Rshift: 0; - Gshift: 8; - Bshift: 16; - Ashift: 24; + Rshift: 0; + Gshift: 8; + Bshift: 16; + Ashift: 24; {$ELSE} - Rshift: 24; - Gshift: 16; - Bshift: 8; - Ashift: 0; + Rshift: 24; + Gshift: 16; + Bshift: 8; + Ashift: 0; {$ENDIF} - RMask : RMask; - GMask : GMask; - BMask : BMask; - AMask : AMask; - colorkey: 0; - alpha : 255 - ); - + RMask : RMask; + GMask : GMask; + BMask : BMask; + AMask : AMask; + colorkey: 0; + alpha : 255 + ); + procedure init_uConsts; procedure free_uConsts; @@ -1706,29 +1706,29 @@ procedure init_uConsts; var cPathz: array[TPathType] of shortstring = ( - '', // ptNone - '', // ptData - 'Graphics', // ptGraphics - 'Themes', // ptThemes - 'Themes/avematan', // ptCurrTheme - 'Teams', // ptTeams - 'Maps', // ptMaps - '', // ptMapCurrent - 'Demos', // ptDemos - 'Sounds', // ptSounds - 'Graphics/Graves', // ptGraves - 'Fonts', // ptFonts - 'Forts', // ptForts - 'Locale', // ptLocale - 'Graphics/AmmoMenu', // ptAmmoMenu - 'Graphics/Hedgehog', // ptHedgehog - 'Sounds/voices', // ptVoices - 'Graphics/Hats', // ptHats - 'Graphics/Flags' // ptFlags - ); + '', // ptNone + '', // ptData + 'Graphics', // ptGraphics + 'Themes', // ptThemes + 'Themes/avematan', // ptCurrTheme + 'Teams', // ptTeams + 'Maps', // ptMaps + '', // ptMapCurrent + 'Demos', // ptDemos + 'Sounds', // ptSounds + 'Graphics/Graves', // ptGraves + 'Fonts', // ptFonts + 'Forts', // ptForts + 'Locale', // ptLocale + 'Graphics/AmmoMenu', // ptAmmoMenu + 'Graphics/Hedgehog', // ptHedgehog + 'Sounds/voices', // ptVoices + 'Graphics/Hats', // ptHats + 'Graphics/Flags' // ptFlags + ); begin - PathPrefix := './'; - Pathz:= cPathz; + PathPrefix := './'; + Pathz:= cPathz; end; procedure free_uConsts;