hedgewars/uConsts.pas
changeset 2948 3f21a9dc93d0
parent 2947 803b277e4894
child 2972 82828fd23dea
equal deleted inserted replaced
2947:803b277e4894 2948:3f21a9dc93d0
    19 {$INCLUDE "options.inc"}
    19 {$INCLUDE "options.inc"}
    20 
    20 
    21 unit uConsts;
    21 unit uConsts;
    22 interface
    22 interface
    23 
    23 
    24 uses	SDLh, uFloat, uLocale,
    24 uses    SDLh, uFloat, uLocale,
    25 {$IFDEF GLES11}
    25 {$IFDEF GLES11}
    26 	gles11;
    26     gles11;
    27 {$ELSE}
    27 {$ELSE}
    28 	GL;
    28     GL;
    29 {$ENDIF}
    29 {$ENDIF}
    30 
    30 
    31 
    31 
    32 {$INCLUDE "config.inc"}
    32 {$INCLUDE "config.inc"}
    33 
    33 
    34 // typed const is a variable despite const qualifier
    34 // typed const is a variable despite const qualifier
    35 // in freepascal you may actually use var for the same purpose
    35 // in freepascal you may actually use var for the same purpose
    36 
    36 
    37 type
    37 type
    38 	HwColor4f = record
    38     HwColor4f = record
    39 		r, g, b, a: byte
    39         r, g, b, a: byte
    40 		end;
    40         end;
    41 		
    41         
    42 	TGameState = (gsLandGen, gsStart, gsGame, gsChat, gsConfirm, gsExit);
    42     TGameState = (gsLandGen, gsStart, gsGame, gsChat, gsConfirm, gsExit);
    43 
    43 
    44 	TGameType = (gmtLocal, gmtDemo, gmtNet, gmtSave, gmtLandPreview, gmtSyntax);
    44     TGameType = (gmtLocal, gmtDemo, gmtNet, gmtSave, gmtLandPreview, gmtSyntax);
    45 
    45 
    46 	TPathType = (ptNone, ptData, ptGraphics, ptThemes, ptCurrTheme, ptTeams, ptMaps,
    46     TPathType = (ptNone, ptData, ptGraphics, ptThemes, ptCurrTheme, ptTeams, ptMaps,
    47 			ptMapCurrent, ptDemos, ptSounds, ptGraves, ptFonts, ptForts,
    47             ptMapCurrent, ptDemos, ptSounds, ptGraves, ptFonts, ptForts,
    48 			ptLocale, ptAmmoMenu, ptHedgehog, ptVoices, ptHats, ptFlags);
    48             ptLocale, ptAmmoMenu, ptHedgehog, ptVoices, ptHats, ptFlags);
    49 
    49 
    50 	TSprite = (sprWater, sprCloud, sprBomb, sprBigDigit, sprFrame,
    50     TSprite = (sprWater, sprCloud, sprBomb, sprBigDigit, sprFrame,
    51 			sprLag, sprArrow, sprGrenade, sprTargetP, sprUFO,
    51             sprLag, sprArrow, sprGrenade, sprTargetP, sprUFO,
    52 			sprSmokeTrace, sprRopeHook, sprExplosion50, sprMineOff,
    52             sprSmokeTrace, sprRopeHook, sprExplosion50, sprMineOff,
    53 			sprMineOn, sprMineDead, sprCase, sprFAid, sprDynamite, sprPower,
    53             sprMineOn, sprMineDead, sprCase, sprFAid, sprDynamite, sprPower,
    54 			sprClusterBomb, sprClusterParticle, sprFlame, sprHorizont,
    54             sprClusterBomb, sprClusterParticle, sprFlame, sprHorizont,
    55 			sprHorizontL, sprHorizontR, sprSky, sprSkyL,
    55             sprHorizontL, sprHorizontR, sprSky, sprSkyL,
    56 			sprSkyR, sprAMBorders, sprAMSlot, sprAMSlotName, sprAMAmmos,
    56             sprSkyR, sprAMBorders, sprAMSlot, sprAMSlotName, sprAMAmmos,
    57 			sprAMSlotKeys, sprAMSelection, sprFinger, sprAirBomb,
    57             sprAMSlotKeys, sprAMSelection, sprFinger, sprAirBomb,
    58 			sprAirplane, sprAmAirplane, sprAmGirder, sprHHTelepMask,
    58             sprAirplane, sprAmAirplane, sprAmGirder, sprHHTelepMask,
    59 			sprSwitch, sprParachute, sprTarget, sprRopeNode,
    59             sprSwitch, sprParachute, sprTarget, sprRopeNode,
    60 			sprQuestion, sprPowerBar, sprWindBar, sprWindL, sprWindR,
    60             sprQuestion, sprPowerBar, sprWindBar, sprWindL, sprWindR,
    61 			sprFlake, sprHandRope, sprHandBazooka, sprHandShotgun,
    61             sprFlake, sprHandRope, sprHandBazooka, sprHandShotgun,
    62 			sprHandDEagle, sprHandAirAttack, sprHandBaseball, sprPHammer,
    62             sprHandDEagle, sprHandAirAttack, sprHandBaseball, sprPHammer,
    63 			sprHandBlowTorch, sprBlowTorch, sprTeleport, sprHHDeath,
    63             sprHandBlowTorch, sprBlowTorch, sprTeleport, sprHHDeath,
    64 			sprShotgun, sprDEagle, sprHHIdle, sprMortar, sprTurnsLeft,
    64             sprShotgun, sprDEagle, sprHHIdle, sprMortar, sprTurnsLeft,
    65 			sprKamikaze, sprWhip, sprKowtow, sprSad, sprWave,
    65             sprKamikaze, sprWhip, sprKowtow, sprSad, sprWave,
    66 			sprHurrah, sprLemonade, sprShrug, sprJuggle, sprExplPart, sprExplPart2,
    66             sprHurrah, sprLemonade, sprShrug, sprJuggle, sprExplPart, sprExplPart2,
    67 			sprCakeWalk, sprCakeDown, sprAMAmmosBW, sprWatermelon,
    67             sprCakeWalk, sprCakeDown, sprAMAmmosBW, sprWatermelon,
    68 			sprEvilTrace, sprHellishBomb, sprSeduction, sprDress,
    68             sprEvilTrace, sprHellishBomb, sprSeduction, sprDress,
    69 			sprCensored, sprDrill, sprHandDrill, sprHandBallgun, sprBalls,
    69             sprCensored, sprDrill, sprHandDrill, sprHandBallgun, sprBalls,
    70 			sprPlane, sprHandPlane, sprUtility, sprInvulnerable, sprVampiric, sprGirder,
    70             sprPlane, sprHandPlane, sprUtility, sprInvulnerable, sprVampiric, sprGirder,
    71 			sprSpeechCorner, sprSpeechEdge, sprSpeechTail,
    71             sprSpeechCorner, sprSpeechEdge, sprSpeechTail,
    72 			sprThoughtCorner, sprThoughtEdge, sprThoughtTail,
    72             sprThoughtCorner, sprThoughtEdge, sprThoughtTail,
    73 			sprShoutCorner, sprShoutEdge, sprShoutTail,
    73             sprShoutCorner, sprShoutEdge, sprShoutTail,
    74 			sprSniperRifle, sprBubbles, sprJetpack, sprHealth, sprHandMolotov, sprMolotov,
    74             sprSniperRifle, sprBubbles, sprJetpack, sprHealth, sprHandMolotov, sprMolotov,
    75 			sprSmoke, sprSmokeWhite, sprShell, sprDust, sprExplosives, sprExplosivesRoll, sprAmTeleport);
    75             sprSmoke, sprSmokeWhite, sprShell, sprDust, sprExplosives, sprExplosivesRoll, sprAmTeleport);
    76 
    76 
    77 	TGearType = (gtAmmo_Bomb, gtHedgehog, gtAmmo_Grenade, gtHealthTag, // 3
    77     TGearType = (gtAmmo_Bomb, gtHedgehog, gtAmmo_Grenade, gtHealthTag, // 3
    78 			gtGrave, gtUFO, gtShotgunShot, gtPickHammer, gtRope, // 8
    78             gtGrave, gtUFO, gtShotgunShot, gtPickHammer, gtRope, // 8
    79 			gtSmokeTrace, gtExplosion, gtMine, gtCase, gtDEagleShot, gtDynamite, // 14
    79             gtSmokeTrace, gtExplosion, gtMine, gtCase, gtDEagleShot, gtDynamite, // 14
    80 			gtClusterBomb, gtCluster, gtShover, gtFlame, // 18
    80             gtClusterBomb, gtCluster, gtShover, gtFlame, // 18
    81 			gtFirePunch, gtATStartGame, gtATSmoothWindCh, gtATFinishGame, // 24
    81             gtFirePunch, gtATStartGame, gtATSmoothWindCh, gtATFinishGame, // 24
    82 			gtParachute, gtAirAttack, gtAirBomb, gtBlowTorch, gtGirder, // 27
    82             gtParachute, gtAirAttack, gtAirBomb, gtBlowTorch, gtGirder, // 27
    83 			gtTeleport, gtSwitcher, gtTarget, gtMortar, // 31
    83             gtTeleport, gtSwitcher, gtTarget, gtMortar, // 31
    84 			gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 37
    84             gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 37
    85 			gtHellishBomb, gtEvilTrace, gtWaterUp, gtDrill, gtBallGun, gtBall,gtRCPlane,
    85             gtHellishBomb, gtEvilTrace, gtWaterUp, gtDrill, gtBallGun, gtBall,gtRCPlane,
    86 			gtSniperRifleShot, gtJetpack, gtMolotov, gtExplosives);
    86             gtSniperRifleShot, gtJetpack, gtMolotov, gtExplosives);
    87 
    87 
    88 	TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire,
    88     TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire,
    89 			vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble,
    89             vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble,
    90 			vgtSteam, vgtSmoke, vgtSmokeWhite, vgtHealth, vgtShell, vgtDust);
    90             vgtSteam, vgtSmoke, vgtSmokeWhite, vgtHealth, vgtShell, vgtDust);
    91 
    91 
    92 	TGearsType = set of TGearType;
    92     TGearsType = set of TGearType;
    93 
    93 
    94 	TSound = (sndNone,
    94     TSound = (sndNone,
    95 			sndGrenadeImpact, sndExplosion, sndThrowPowerUp, sndThrowRelease,
    95             sndGrenadeImpact, sndExplosion, sndThrowPowerUp, sndThrowRelease,
    96 			sndSplash, sndShotgunReload, sndShotgunFire, sndGraveImpact,
    96             sndSplash, sndShotgunReload, sndShotgunFire, sndGraveImpact,
    97 			sndMineTick, sndPickhammer, sndGun, sndUFO, sndJump1, sndJump2,
    97             sndMineTick, sndPickhammer, sndGun, sndUFO, sndJump1, sndJump2,
    98 			sndJump3, sndYesSir, sndLaugh, sndIllGetYou, sndIncoming,
    98             sndJump3, sndYesSir, sndLaugh, sndIllGetYou, sndIncoming,
    99 			sndMissed, sndStupid, sndFirstBlood, sndBoring, sndByeBye,
    99             sndMissed, sndStupid, sndFirstBlood, sndBoring, sndByeBye,
   100 			sndSameTeam, sndNutter, sndReinforce, sndTraitor, sndRegret,
   100             sndSameTeam, sndNutter, sndReinforce, sndTraitor, sndRegret,
   101 			sndEnemyDown, sndCoward, sndHurry, sndWatchIt, sndKamikaze,
   101             sndEnemyDown, sndCoward, sndHurry, sndWatchIt, sndKamikaze,
   102 			sndCake, sndOw1, sndOw4, sndFirePunch1, sndFirePunch2,
   102             sndCake, sndOw1, sndOw4, sndFirePunch1, sndFirePunch2,
   103 			sndFirePunch3, sndFirePunch4, sndFirePunch5, sndFirePunch6,
   103             sndFirePunch3, sndFirePunch4, sndFirePunch5, sndFirePunch6,
   104 			sndMelon, sndHellish, sndYoohoo, sndRCPlane, sndWhipCrack,
   104             sndMelon, sndHellish, sndYoohoo, sndRCPlane, sndWhipCrack,
   105 			sndRideOfTheValkyries, sndDenied, sndPlaced, sndBaseballBat,
   105             sndRideOfTheValkyries, sndDenied, sndPlaced, sndBaseballBat,
   106 			sndVaporize, sndWarp, sndSuddenDeath, sndMortar, sndShutter,
   106             sndVaporize, sndWarp, sndSuddenDeath, sndMortar, sndShutter,
   107 			sndHomerun, sndMolotov, sndCover, sndUhOh, sndOops,
   107             sndHomerun, sndMolotov, sndCover, sndUhOh, sndOops,
   108 			sndNooo, sndHello, sndRopeShot, sndRopeAttach, sndRopeRelease,
   108             sndNooo, sndHello, sndRopeShot, sndRopeAttach, sndRopeRelease,
   109 			sndSwitchHog, sndVictory, sndSniperReload, sndSteps, sndLowGravity);
   109             sndSwitchHog, sndVictory, sndSniperReload, sndSteps, sndLowGravity);
   110 
   110 
   111 	TAmmoType  = (amNothing, amGrenade, amClusterBomb, amBazooka, amUFO, amShotgun, amPickHammer,
   111     TAmmoType  = (amNothing, amGrenade, amClusterBomb, amBazooka, amUFO, amShotgun, amPickHammer,
   112 			amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch, amWhip,
   112             amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch, amWhip,
   113 			amBaseballBat, amParachute, amAirAttack, amMineStrike, amBlowTorch,
   113             amBaseballBat, amParachute, amAirAttack, amMineStrike, amBlowTorch,
   114 			amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake,
   114             amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake,
   115 			amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun,
   115             amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun,
   116 			amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime,
   116             amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime,
   117 			amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov);
   117             amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov);
   118 
   118 
   119 	THWFont = (fnt16, fntBig, fntSmall, CJKfnt16, CJKfntBig, CJKfntSmall);
   119     THWFont = (fnt16, fntBig, fntSmall, CJKfnt16, CJKfntBig, CJKfntSmall);
   120 
   120 
   121 	TCapGroup = (capgrpGameState, capgrpAmmoinfo, capgrpVolume,
   121     TCapGroup = (capgrpGameState, capgrpAmmoinfo, capgrpVolume,
   122 			capgrpMessage, capgrpAmmostate);
   122             capgrpMessage, capgrpAmmostate);
   123 
   123 
   124 	TStatInfoType = (siGameResult, siMaxStepDamage, siMaxStepKills, siKilledHHs,
   124     TStatInfoType = (siGameResult, siMaxStepDamage, siMaxStepKills, siKilledHHs,
   125 			siClanHealth);
   125             siClanHealth);
   126 
   126 
   127 	TWave = (waveRollup, waveSad, waveWave, waveHurrah, waveLemonade, waveShrug, waveJuggle);
   127     TWave = (waveRollup, waveSad, waveWave, waveHurrah, waveLemonade, waveShrug, waveJuggle);
   128 
   128 
   129 	THHFont = record
   129     THHFont = record
   130 			Handle: PTTF_Font;
   130             Handle: PTTF_Font;
   131 			Height: LongInt;
   131             Height: LongInt;
   132 			style: LongInt;
   132             style: LongInt;
   133 			Name: string[21];
   133             Name: string[21];
   134 			end;
   134             end;
   135 
   135 
   136 	PAmmo = ^TAmmo;
   136     PAmmo = ^TAmmo;
   137 	TAmmo = record
   137     TAmmo = record
   138 			Propz: LongWord;
   138             Propz: LongWord;
   139 			Count: LongWord;
   139             Count: LongWord;
   140 (* Using for place hedgehogs mode, but for any other situation where the initial count would be needed I guess.
   140 (* Using for place hedgehogs mode, but for any other situation where the initial count would be needed I guess.
   141 For example, say, a mode where the weaponset is reset each turn, or on sudden death *)
   141 For example, say, a mode where the weaponset is reset each turn, or on sudden death *)
   142 			InitialCount: LongWord; 
   142             InitialCount: LongWord; 
   143 			NumPerTurn: LongWord;
   143             NumPerTurn: LongWord;
   144 			Timer: LongWord;
   144             Timer: LongWord;
   145 			Pos: LongWord;
   145             Pos: LongWord;
   146 			AmmoType: TAmmoType;
   146             AmmoType: TAmmoType;
   147 			AttackVoice: TSound;
   147             AttackVoice: TSound;
   148 			end;
   148             end;
   149 
   149 
   150 	TVertex2f = record
   150     TVertex2f = record
   151 		X, Y: GLfloat;
   151         X, Y: GLfloat;
   152 		end;
   152         end;
   153 
   153 
   154 	TVertex2i = record
   154     TVertex2i = record
   155 		X, Y: GLint;
   155         X, Y: GLint;
   156 		end;
   156         end;
   157 
   157 
   158 	PTexture = ^TTexture;
   158     PTexture = ^TTexture;
   159 	TTexture = record
   159     TTexture = record
   160 			id: GLuint;
   160             id: GLuint;
   161 			w, h: LongInt;
   161             w, h: LongInt;
   162 			rx, ry: GLfloat;
   162             rx, ry: GLfloat;
   163 			vb, tb: array [0..3] of TVertex2f;
   163             vb, tb: array [0..3] of TVertex2f;
   164             PrevTexture, NextTexture: PTexture;
   164             PrevTexture, NextTexture: PTexture;
   165 			end;
   165             end;
   166 
   166 
   167 const
   167 const
   168 	// message constants
   168     // message constants
   169 	errmsgCreateSurface   = 'Error creating SDL surface';
   169     errmsgCreateSurface   = 'Error creating SDL surface';
   170 	errmsgTransparentSet  = 'Error setting transparent color';
   170     errmsgTransparentSet  = 'Error setting transparent color';
   171 	errmsgUnknownCommand  = 'Unknown command';
   171     errmsgUnknownCommand  = 'Unknown command';
   172 	errmsgUnknownVariable = 'Unknown variable';
   172     errmsgUnknownVariable = 'Unknown variable';
   173 	errmsgIncorrectUse    = 'Incorrect use';
   173     errmsgIncorrectUse    = 'Incorrect use';
   174 	errmsgShouldntRun     = 'This program shouldn''t be run manually';
   174     errmsgShouldntRun     = 'This program shouldn''t be run manually';
   175 	errmsgWrongNumber     = 'Wrong parameters number';
   175     errmsgWrongNumber     = 'Wrong parameters number';
   176 	errmsgSlotsOverflow   = 'CurSlot overflowed';
   176     errmsgSlotsOverflow   = 'CurSlot overflowed';
   177 
   177 
   178 	msgLoading           = 'Loading ';
   178     msgLoading           = 'Loading ';
   179 	msgOK                = 'ok';
   179     msgOK                = 'ok';
   180 	msgFailed            = 'failed';
   180     msgFailed            = 'failed';
   181 	msgFailedSize        = 'failed due to size';
   181     msgFailedSize        = 'failed due to size';
   182 	msgGettingConfig     = 'Getting game config...';
   182     msgGettingConfig     = 'Getting game config...';
   183 
   183 
   184 	// color constants
   184     // color constants
   185 	cWhiteColorChannels	: TSDL_Color = (r:$FF; g:$FF; b:$FF; unused:$FF);
   185     cWhiteColorChannels : TSDL_Color = (r:$FF; g:$FF; b:$FF; unused:$FF);
   186 	cNearBlackColorChannels	: TSDL_Color = (r:$00; g:$00; b:$10; unused:$FF);
   186     cNearBlackColorChannels : TSDL_Color = (r:$00; g:$00; b:$10; unused:$FF);
   187 
   187 
   188 	cWhiteColor		      : Longword = $FFFFFFFF;
   188     cWhiteColor           : Longword = $FFFFFFFF;
   189 	cYellowColor		  : Longword = $FFFFFF00;
   189     cYellowColor          : Longword = $FFFFFF00;
   190 	cNearBlackColor       : Longword = $FF000010;
   190     cNearBlackColor       : Longword = $FF000010;
   191 	cExplosionBorderColor : LongWord = $FF808080;
   191     cExplosionBorderColor : LongWord = $FF808080;
   192 
   192 
   193 {$WARNINGS OFF}
   193 {$WARNINGS OFF}
   194 	cAirPlaneSpeed: hwFloat = (isNegative: false; QWordValue:   3006477107); // 1.4
   194     cAirPlaneSpeed: hwFloat = (isNegative: false; QWordValue:   3006477107); // 1.4
   195 	cBombsSpeed   : hwFloat = (isNegative: false; QWordValue:    429496729);
   195     cBombsSpeed   : hwFloat = (isNegative: false; QWordValue:    429496729);
   196 {$WARNINGS ON}
   196 {$WARNINGS ON}
   197 
   197 
   198 	// image flags (for LoadImage())
   198     // image flags (for LoadImage())
   199 	ifNone        = $00000000;	// nothing special
   199     ifNone        = $00000000;  // nothing special
   200 	ifAlpha       = $00000001;	// use alpha channel (unused right now?)
   200     ifAlpha       = $00000001;  // use alpha channel (unused right now?)
   201 	ifCritical    = $00000002;	// image is critical for gameplay (exit game if unable to load)
   201     ifCritical    = $00000002;  // image is critical for gameplay (exit game if unable to load)
   202 	ifTransparent = $00000004;	// image uses transparent pixels (color keying)
   202     ifTransparent = $00000004;  // image uses transparent pixels (color keying)
   203 	ifIgnoreCaps  = $00000008;	// ignore hardware capabilities when loading (i.e. image will not be drawn using OpenGL)
   203     ifIgnoreCaps  = $00000008;  // ignore hardware capabilities when loading (i.e. image will not be drawn using OpenGL)
   204 	ifLowRes      = $00000010;	// try loading a low resolution image when it is critical
   204     ifLowRes      = $00000010;  // try loading a low resolution image when it is critical
   205 
   205 
   206 	{*  REFERENCE
   206     {*  REFERENCE
   207       4096 -> $FFFFF000
   207       4096 -> $FFFFF000
   208       2048 -> $FFFFF800
   208       2048 -> $FFFFF800
   209       1024 -> $FFFFFC00
   209       1024 -> $FFFFFC00
   210        512 -> $FFFFFE00  *}
   210        512 -> $FFFFFE00  *}
   211 
   211 
   212 {$IFDEF LOWRES}
   212 {$IFDEF LOWRES}
   213 	// default for iphone pre 3gs
   213     // default for iphone pre 3gs
   214 	LAND_WIDTH  = 2048;
   214     LAND_WIDTH  = 2048;
   215 	LAND_HEIGHT = 1024;
   215     LAND_HEIGHT = 1024;
   216 	LAND_WIDTH_MASK  = $FFFFF800;
   216     LAND_WIDTH_MASK  = $FFFFF800;
   217 	LAND_HEIGHT_MASK = $FFFFFC00;
   217     LAND_HEIGHT_MASK = $FFFFFC00;
   218 {$ELSE}
   218 {$ELSE}
   219 	LAND_WIDTH  = 4096;
   219     LAND_WIDTH  = 4096;
   220 	LAND_HEIGHT = 2048;
   220     LAND_HEIGHT = 2048;
   221 	LAND_WIDTH_MASK  = $FFFFF000;
   221     LAND_WIDTH_MASK  = $FFFFF000;
   222 	LAND_HEIGHT_MASK = $FFFFF800;
   222     LAND_HEIGHT_MASK = $FFFFF800;
   223 {$ENDIF}
   223 {$ENDIF}
   224 
   224 
   225 	COLOR_LAND           = $FFFF;  // white
   225     COLOR_LAND           = $FFFF;  // white
   226 	COLOR_INDESTRUCTIBLE = $88FF;  // red
   226     COLOR_INDESTRUCTIBLE = $88FF;  // red
   227 	COLOR_OBJECT         = $44FF;  // no idea
   227     COLOR_OBJECT         = $44FF;  // no idea
   228 
   228 
   229 	cMaxPower     = 1500;
   229     cMaxPower     = 1500;
   230 	cMaxAngle     = 2048;
   230     cMaxAngle     = 2048;
   231 	cPowerDivisor = 1500;
   231     cPowerDivisor = 1500;
   232 
   232 
   233 	MAXNAMELEN = 192;
   233     MAXNAMELEN = 192;
   234 	
   234     
   235 	// some opengl headers do not have these macros
   235     // some opengl headers do not have these macros
   236 	GL_BGR		 = $80E0;
   236     GL_BGR       = $80E0;
   237 	GL_BGRA		 = $80E1;
   237     GL_BGRA      = $80E1;
   238 	GL_CLAMP_TO_EDGE = $812F;
   238     GL_CLAMP_TO_EDGE = $812F;
   239 
   239 
   240 	cSendCursorPosTime	: LongWord = 50;
   240     cSendCursorPosTime  : LongWord = 50;
   241 	cVisibleWater		: LongInt = 128;
   241     cVisibleWater       : LongInt = 128;
   242 	cCursorEdgesDist	: LongInt = 100;
   242     cCursorEdgesDist    : LongInt = 100;
   243 	cTeamHealthWidth	: LongInt = 128;
   243     cTeamHealthWidth    : LongInt = 128;
   244 	cWaterOpacity		: byte = $80;
   244     cWaterOpacity       : byte = $80;
   245 
   245 
   246 	cifRandomize = $00000001;
   246     cifRandomize = $00000001;
   247 	cifTheme     = $00000002;
   247     cifTheme     = $00000002;
   248 	cifMap       = $00000002; // either theme or map (or map+theme)
   248     cifMap       = $00000002; // either theme or map (or map+theme)
   249 	cifAllInited = cifRandomize or cifTheme or cifMap;
   249     cifAllInited = cifRandomize or cifTheme or cifMap;
   250 
   250 
   251 	cTransparentColor: Longword = $00000000;
   251     cTransparentColor: Longword = $00000000;
   252 
   252 
   253 	cMaxTeams        = 6;
   253     cMaxTeams        = 6;
   254 	cMaxHHIndex      = 7;
   254     cMaxHHIndex      = 7;
   255 	cMaxHHs          = 48;
   255     cMaxHHs          = 48;
   256 	cMaxSpawnPoints  = 1024;
   256     cMaxSpawnPoints  = 1024;
   257 
   257 
   258 	cMaxEdgePoints = 16384;
   258     cMaxEdgePoints = 16384;
   259 
   259 
   260 	cHHRadius = 9;
   260     cHHRadius = 9;
   261 	cHHStepTicks = 29;
   261     cHHStepTicks = 29;
   262 
   262 
   263 	cUsualZ = 500;
   263     cUsualZ = 500;
   264 	cSmokeZ = 499;
   264     cSmokeZ = 499;
   265 	cHHZ = 1000;
   265     cHHZ = 1000;
   266 	cCurrHHZ = Succ(cHHZ);
   266     cCurrHHZ = Succ(cHHZ);
   267 	cOnHHZ = 2000;
   267     cOnHHZ = 2000;
   268 
   268 
   269 	cBarrelHealth = 60;
   269     cBarrelHealth = 60;
   270 	cShotgunRadius = 22;
   270     cShotgunRadius = 22;
   271 	cBlowTorchC    = 6;
   271     cBlowTorchC    = 6;
   272 
   272 
   273 	cKeyMaxIndex = 1023;
   273     cKeyMaxIndex = 1023;
   274 
   274 
   275 {$IFDEF IPHONEOS}
   275 {$IFDEF IPHONEOS}
   276 	cMaxCaptions = 3;
   276     cMaxCaptions = 3;
   277 {$ELSE}
   277 {$ELSE}
   278 	cMaxCaptions = 4;
   278     cMaxCaptions = 4;
   279 {$ENDIF}
   279 {$ENDIF}
   280 
   280 
   281 	cSendEmptyPacketTime = 1000;
   281     cSendEmptyPacketTime = 1000;
   282 
   282 
   283 	// from uTriggers
   283     // from uTriggers
   284 	trigTurns = $80000001;
   284     trigTurns = $80000001;
   285 
   285 
   286 	// Training Flags
   286     // Training Flags
   287 	tfNone          = $00000000;
   287     tfNone          = $00000000;
   288 	tfTimeTrial     = $00000001;
   288     tfTimeTrial     = $00000001;
   289 	tfRCPlane       = $00000002;
   289     tfRCPlane       = $00000002;
   290 	tfSpawnTargets  = $00000004;
   290     tfSpawnTargets  = $00000004;
   291 	tfIgnoreDelays  = $00000008;
   291     tfIgnoreDelays  = $00000008;
   292 	tfTargetRespawn = $00000010;
   292     tfTargetRespawn = $00000010;
   293 	
   293     
   294 	gfAny            = $FFFFFFFF;
   294     gfAny            = $FFFFFFFF;
   295 	gfForts          = $00000001;
   295     gfForts          = $00000001;
   296 	gfMultiWeapon    = $00000002;
   296     gfMultiWeapon    = $00000002;
   297 	gfSolidLand      = $00000004;
   297     gfSolidLand      = $00000004;
   298 	gfBorder         = $00000008;
   298     gfBorder         = $00000008;
   299 	gfDivideTeams    = $00000010;
   299     gfDivideTeams    = $00000010;
   300 	gfLowGravity     = $00000020;
   300     gfLowGravity     = $00000020;
   301 	gfLaserSight     = $00000040;
   301     gfLaserSight     = $00000040;
   302 	gfInvulnerable   = $00000080;
   302     gfInvulnerable   = $00000080;
   303 	gfMines          = $00000100;
   303     gfMines          = $00000100;
   304 	gfVampiric       = $00000200;
   304     gfVampiric       = $00000200;
   305 	gfKarma          = $00000400;
   305     gfKarma          = $00000400;
   306 	gfArtillery      = $00000800;
   306     gfArtillery      = $00000800;
   307 	gfOneClanMode    = $00001000;
   307     gfOneClanMode    = $00001000;
   308 	gfRandomOrder    = $00002000;
   308     gfRandomOrder    = $00002000;
   309 	gfKing           = $00004000;
   309     gfKing           = $00004000;
   310 	gfPlaceHog       = $00008000;
   310     gfPlaceHog       = $00008000;
   311 	gfSharedAmmo     = $00010000;
   311     gfSharedAmmo     = $00010000;
   312 	gfDisableGirders = $00020000;
   312     gfDisableGirders = $00020000;
   313 	gfExplosives     = $00040000;
   313     gfExplosives     = $00040000;
   314 	// NOTE: When adding new game flags, ask yourself
   314     // NOTE: When adding new game flags, ask yourself
   315 	// if a "game start notice" would be useful. If so,
   315     // if a "game start notice" would be useful. If so,
   316 	// add one in uWorld.pas - look for "AddGoal".
   316     // add one in uWorld.pas - look for "AddGoal".
   317 
   317 
   318 	gstDrowning       = $00000001;
   318     gstDrowning       = $00000001;
   319 	gstHHDriven       = $00000002;
   319     gstHHDriven       = $00000002;
   320 	gstMoving         = $00000004;
   320     gstMoving         = $00000004;
   321 	gstAttacked       = $00000008;
   321     gstAttacked       = $00000008;
   322 	gstAttacking      = $00000010;
   322     gstAttacking      = $00000010;
   323 	gstCollision      = $00000020;
   323     gstCollision      = $00000020;
   324 	gstHHChooseTarget = $00000040;
   324     gstHHChooseTarget = $00000040;
   325 	gstHHJumping      = $00000100;
   325     gstHHJumping      = $00000100;
   326 	gsttmpFlag        = $00000200;
   326     gsttmpFlag        = $00000200;
   327 	gstHHThinking     = $00000800;
   327     gstHHThinking     = $00000800;
   328 	gstNoDamage       = $00001000;
   328     gstNoDamage       = $00001000;
   329 	gstHHHJump        = $00002000;
   329     gstHHHJump        = $00002000;
   330 	gstAnimation      = $00004000;
   330     gstAnimation      = $00004000;
   331 	gstHHDeath        = $00008000;
   331     gstHHDeath        = $00008000;
   332 	gstWinner         = $00010000;  // this, along with gstLoser, is good for indicating hedgies know they screwed up
   332     gstWinner         = $00010000;  // this, along with gstLoser, is good for indicating hedgies know they screwed up
   333 	gstWait           = $00020000;
   333     gstWait           = $00020000;
   334 	gstNotKickable    = $00040000;
   334     gstNotKickable    = $00040000;
   335 	gstLoser          = $00080000;
   335     gstLoser          = $00080000;
   336 
   336 
   337 	gm_Left   = $00000001;
   337     gm_Left   = $00000001;
   338 	gm_Right  = $00000002;
   338     gm_Right  = $00000002;
   339 	gm_Up     = $00000004;
   339     gm_Up     = $00000004;
   340 	gm_Down   = $00000008;
   340     gm_Down   = $00000008;
   341 	gm_Switch = $00000010;
   341     gm_Switch = $00000010;
   342 	gm_Attack = $00000020;
   342     gm_Attack = $00000020;
   343 	gm_LJump  = $00000040;
   343     gm_LJump  = $00000040;
   344 	gm_HJump  = $00000080;
   344     gm_HJump  = $00000080;
   345 	gm_Destroy= $00000100;
   345     gm_Destroy= $00000100;
   346 	gm_Slot   = $00000200; // with param
   346     gm_Slot   = $00000200; // with param
   347 	gm_Weapon = $00000400; // with param
   347     gm_Weapon = $00000400; // with param
   348 	gm_Timer  = $00000800; // with param
   348     gm_Timer  = $00000800; // with param
   349 	gm_Animate= $00001000; // with param
   349     gm_Animate= $00001000; // with param
   350 	gm_Precise= $00002000;
   350     gm_Precise= $00002000;
   351 	gmAllStoppable = gm_Left or gm_Right or gm_Up or gm_Down or gm_Attack or gm_Precise;
   351     gmAllStoppable = gm_Left or gm_Right or gm_Up or gm_Down or gm_Attack or gm_Precise;
   352 
   352 
   353 	cMaxSlotIndex       = 8;
   353     cMaxSlotIndex       = 8;
   354 	cMaxSlotAmmoIndex   = 5;
   354     cMaxSlotAmmoIndex   = 5;
   355 
   355 
   356 	ammoprop_Timerable    = $00000001;
   356     ammoprop_Timerable    = $00000001;
   357 	ammoprop_Power        = $00000002;
   357     ammoprop_Power        = $00000002;
   358 	ammoprop_NeedTarget   = $00000004;
   358     ammoprop_NeedTarget   = $00000004;
   359 	ammoprop_ForwMsgs     = $00000008;
   359     ammoprop_ForwMsgs     = $00000008;
   360 	ammoprop_AttackInMove = $00000010;
   360     ammoprop_AttackInMove = $00000010;
   361 	ammoprop_NoCrosshair  = $00000040;
   361     ammoprop_NoCrosshair  = $00000040;
   362 	ammoprop_AttackingPut = $00000080;
   362     ammoprop_AttackingPut = $00000080;
   363 	ammoprop_DontHold     = $00000100;
   363     ammoprop_DontHold     = $00000100;
   364 	ammoprop_AltAttack    = $00000200;
   364     ammoprop_AltAttack    = $00000200;
   365 	ammoprop_AltUse       = $00000400;
   365     ammoprop_AltUse       = $00000400;
   366 	ammoprop_NotBorder    = $00000800;
   366     ammoprop_NotBorder    = $00000800;
   367 	ammoprop_Utility      = $00001000;
   367     ammoprop_Utility      = $00001000;
   368 	ammoprop_NoRoundEndHint=$10000000;
   368     ammoprop_NoRoundEndHint=$10000000;
   369 	
   369     
   370 	AMMO_INFINITE = 100;
   370     AMMO_INFINITE = 100;
   371 
   371 
   372 	EXPLAllDamageInRadius = $00000001;
   372     EXPLAllDamageInRadius = $00000001;
   373 	EXPLAutoSound         = $00000002;
   373     EXPLAutoSound         = $00000002;
   374 	EXPLNoDamage          = $00000004;
   374     EXPLNoDamage          = $00000004;
   375 	EXPLDoNotTouchHH      = $00000008;
   375     EXPLDoNotTouchHH      = $00000008;
   376 	EXPLDontDraw          = $00000010;
   376     EXPLDontDraw          = $00000010;
   377 
   377 
   378 	posCaseAmmo    = $00000001;
   378     posCaseAmmo    = $00000001;
   379 	posCaseHealth  = $00000002;
   379     posCaseHealth  = $00000002;
   380 	posCaseUtility = $00000004;
   380     posCaseUtility = $00000004;
   381 
   381 
   382 	NoPointX = Low(LongInt);
   382     NoPointX = Low(LongInt);
   383 	cTargetPointRef	: TPoint = (X: NoPointX; Y: 0);
   383     cTargetPointRef : TPoint = (X: NoPointX; Y: 0);
   384 
   384 
   385 	// hog tag mask
   385     // hog tag mask
   386     // hog tag mask
   386     // hog tag mask
   387     htNone        = $00;
   387     htNone        = $00;
   388     htTeamName    = $01;
   388     htTeamName    = $01;
   389     htName        = $02;
   389     htName        = $02;
   390     htHealth      = $04;
   390     htHealth      = $04;
   401 
   401 
   402 const
   402 const
   403     cTagsMasks : array[0..15] of byte = (7, 0, 0, 0, 15, 6, 4, 5, 0, 0, 0, 0, 0, 14, 12, 13);
   403     cTagsMasks : array[0..15] of byte = (7, 0, 0, 0, 15, 6, 4, 5, 0, 0, 0, 0, 0, 14, 12, 13);
   404     cTagsMasksNoHealth: array[0..15] of byte = (3, 2, 11, 1, 0, 0, 0, 0, 0, 10, 0, 9, 0, 0, 0, 0);
   404     cTagsMasksNoHealth: array[0..15] of byte = (3, 2, 11, 1, 0, 0, 0, 0, 0, 10, 0, 9, 0, 0, 0, 0);
   405 
   405 
   406 	Fontz: array[THWFont] of THHFont = (
   406     Fontz: array[THWFont] of THHFont = (
   407 			(Handle: nil;
   407             (Handle: nil;
   408 			Height: 12;
   408             Height: 12;
   409 			style: TTF_STYLE_NORMAL;
   409             style: TTF_STYLE_NORMAL;
   410 			Name: 'DejaVuSans-Bold.ttf'),
   410             Name: 'DejaVuSans-Bold.ttf'),
   411 			(Handle: nil;
   411             (Handle: nil;
   412 			Height: 24;
   412             Height: 24;
   413 			style: TTF_STYLE_NORMAL;
   413             style: TTF_STYLE_NORMAL;
   414 			Name: 'DejaVuSans-Bold.ttf'),
   414             Name: 'DejaVuSans-Bold.ttf'),
   415 			(Handle: nil;
   415             (Handle: nil;
   416 			Height: 10;
   416             Height: 10;
   417 			style: TTF_STYLE_NORMAL;
   417             style: TTF_STYLE_NORMAL;
   418 			Name: 'DejaVuSans-Bold.ttf'),
   418             Name: 'DejaVuSans-Bold.ttf'),
   419 			(Handle: nil;
   419             (Handle: nil;
   420 			Height: 12;
   420             Height: 12;
   421 			style: TTF_STYLE_NORMAL;
   421             style: TTF_STYLE_NORMAL;
   422 			Name: 'wqy-zenhei.ttc'),
   422             Name: 'wqy-zenhei.ttc'),
   423 			(Handle: nil;
   423             (Handle: nil;
   424 			Height: 24;
   424             Height: 24;
   425 			style: TTF_STYLE_NORMAL;
   425             style: TTF_STYLE_NORMAL;
   426 			Name: 'wqy-zenhei.ttc'),
   426             Name: 'wqy-zenhei.ttc'),
   427 			(Handle: nil;
   427             (Handle: nil;
   428 			Height: 10;
   428             Height: 10;
   429 			style: TTF_STYLE_NORMAL;
   429             style: TTF_STYLE_NORMAL;
   430 			Name: 'wqy-zenhei.ttc')
   430             Name: 'wqy-zenhei.ttc')
   431 			);
   431             );
   432 
   432 
   433 	SpritesData: array[TSprite] of record
   433     SpritesData: array[TSprite] of record
   434 			FileName: String[14];
   434             FileName: String[14];
   435 			Path, AltPath: TPathType;
   435             Path, AltPath: TPathType;
   436 			Texture: PTexture;
   436             Texture: PTexture;
   437 			Surface: PSDL_Surface;
   437             Surface: PSDL_Surface;
   438 			Width, Height, imageWidth, imageHeight: LongInt;
   438             Width, Height, imageWidth, imageHeight: LongInt;
   439 			saveSurf: boolean;
   439             saveSurf: boolean;
   440 			end = (
   440             end = (
   441 			(FileName:  'BlueWater'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil;
   441             (FileName:  'BlueWater'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil;
   442 			Width:   0; Height:  0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWater
   442             Width:   0; Height:  0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWater
   443 			(FileName:     'Clouds'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil;
   443             (FileName:     'Clouds'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil;
   444 			Width: 256; Height:128; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCloud
   444             Width: 256; Height:128; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCloud
   445 			(FileName:       'Bomb'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   445             (FileName:       'Bomb'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   446 			Width:   8; Height:  8; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprBomb
   446             Width:   8; Height:  8; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprBomb
   447 			(FileName:  'BigDigits'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   447             (FileName:  'BigDigits'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   448 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprBigDigit
   448             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprBigDigit
   449 			(FileName:      'Frame'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   449             (FileName:      'Frame'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   450 			Width:   4; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFrame
   450             Width:   4; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFrame
   451 			(FileName:        'Lag'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   451             (FileName:        'Lag'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   452 			Width:  65; Height: 65; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprLag
   452             Width:  65; Height: 65; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprLag
   453 			(FileName:      'Arrow'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   453             (FileName:      'Arrow'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   454 			Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCursor
   454             Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCursor
   455 			(FileName:    'Grenade'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   455             (FileName:    'Grenade'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   456 			Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprGrenade
   456             Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprGrenade
   457 			(FileName:    'Targetp'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   457             (FileName:    'Targetp'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   458 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprTargetP
   458             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprTargetP
   459 			(FileName:        'UFO'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   459             (FileName:        'UFO'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   460 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprUFO
   460             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprUFO
   461 			(FileName: 'SmokeTrace'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   461             (FileName: 'SmokeTrace'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   462 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSmokeTrace
   462             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSmokeTrace
   463 			(FileName:   'RopeHook'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   463             (FileName:   'RopeHook'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   464 			Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprRopeHook
   464             Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprRopeHook
   465 			(FileName:     'Expl50'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   465             (FileName:     'Expl50'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   466 			Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplosion50
   466             Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplosion50
   467 			(FileName:    'MineOff'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   467             (FileName:    'MineOff'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   468 			Width:   8; Height:  8; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprMineOff
   468             Width:   8; Height:  8; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprMineOff
   469 			(FileName:     'MineOn'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   469             (FileName:     'MineOn'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   470 			Width:   8; Height:  8; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprMineOn
   470             Width:   8; Height:  8; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprMineOn
   471 			(FileName:     'MineDead'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   471             (FileName:     'MineDead'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   472 			Width:   8; Height:  8; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprMineDead
   472             Width:   8; Height:  8; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprMineDead
   473 			(FileName:       'Case'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   473             (FileName:       'Case'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   474 			Width:  48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCase
   474             Width:  48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCase
   475 			(FileName:   'FirstAid'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   475             (FileName:   'FirstAid'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   476 			Width:  48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFAid
   476             Width:  48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFAid
   477 			(FileName:   'dynamite'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   477             (FileName:   'dynamite'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   478 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDynamite
   478             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDynamite
   479 			(FileName:      'Power'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   479             (FileName:      'Power'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   480 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprPower
   480             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprPower
   481 			(FileName:     'ClBomb'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   481             (FileName:     'ClBomb'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   482 			Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprClusterBomb
   482             Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprClusterBomb
   483 			(FileName: 'ClParticle'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   483             (FileName: 'ClParticle'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   484 			Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprClusterParticle
   484             Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprClusterParticle
   485 			(FileName:      'Flame'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   485             (FileName:      'Flame'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   486 			Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFlame
   486             Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFlame
   487 			(FileName:   'horizont'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil;
   487             (FileName:   'horizont'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil;
   488 			Width:   0; Height:  0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHorizont
   488             Width:   0; Height:  0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHorizont
   489 			(FileName:  'horizontL'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil;
   489             (FileName:  'horizontL'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil;
   490 			Width:   0; Height:  0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHorizont
   490             Width:   0; Height:  0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHorizont
   491 			(FileName:  'horizontR'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil;
   491             (FileName:  'horizontR'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil;
   492 			Width:   0; Height:  0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHorizont
   492             Width:   0; Height:  0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHorizont
   493 			(FileName:        'Sky'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil;
   493             (FileName:        'Sky'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil;
   494 			Width:   0; Height:  0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSky
   494             Width:   0; Height:  0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSky
   495 			(FileName:       'SkyL'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil;
   495             (FileName:       'SkyL'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil;
   496 			Width:   0; Height:  0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSky
   496             Width:   0; Height:  0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSky
   497 			(FileName:       'SkyR'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil;
   497             (FileName:       'SkyR'; Path: ptCurrTheme;AltPath: ptNone; Texture: nil; Surface: nil;
   498 			Width:   0; Height:  0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSky
   498             Width:   0; Height:  0; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSky
   499 			(FileName:  'BrdrLines'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil;
   499             (FileName:  'BrdrLines'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil;
   500 			Width: 202; Height:  1; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMBorders
   500             Width: 202; Height:  1; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMBorders
   501 			(FileName:       'Slot'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil;
   501             (FileName:       'Slot'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil;
   502 			Width: 202; Height: 33; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMSlot
   502             Width: 202; Height: 33; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMSlot
   503 			(FileName:   'AmmoName'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil;
   503             (FileName:   'AmmoName'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil;
   504 			Width: 202; Height: 33; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMSlotName
   504             Width: 202; Height: 33; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMSlotName
   505 			(FileName:      'Ammos'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil;
   505             (FileName:      'Ammos'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil;
   506 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: true),// sprAMAmmos
   506             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: true),// sprAMAmmos
   507 			(FileName:   'SlotKeys'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil;
   507             (FileName:   'SlotKeys'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil;
   508 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMSlotKeys
   508             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMSlotKeys
   509 			(FileName:  'Selection'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil;
   509             (FileName:  'Selection'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil;
   510 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMSelection
   510             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMSelection
   511 			(FileName:     'Finger'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   511             (FileName:     'Finger'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   512 			Width:  32; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFinger
   512             Width:  32; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFinger
   513 			(FileName:    'AirBomb'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   513             (FileName:    'AirBomb'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   514 			Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAirBomb
   514             Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAirBomb
   515 			(FileName:   'Airplane'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   515             (FileName:   'Airplane'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   516 			Width: 254; Height: 101; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAirplane
   516             Width: 254; Height: 101; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAirplane
   517 			(FileName: 'amAirplane'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   517             (FileName: 'amAirplane'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   518 			Width:  64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAmAirplane
   518             Width:  64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAmAirplane
   519 			(FileName:   'amGirder'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   519             (FileName:   'amGirder'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   520 			Width: 160; Height:160; imageWidth: 0; imageHeight: 0; saveSurf:  true),// sprAmGirder
   520             Width: 160; Height:160; imageWidth: 0; imageHeight: 0; saveSurf:  true),// sprAmGirder
   521 			(FileName:     'hhMask'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   521             (FileName:     'hhMask'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   522 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf:  true),// sprHHTelepMask
   522             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf:  true),// sprHHTelepMask
   523 			(FileName:     'Switch'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   523             (FileName:     'Switch'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   524 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSwitch
   524             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSwitch
   525 			(FileName:  'Parachute'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   525             (FileName:  'Parachute'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   526 			Width:  48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprParachute
   526             Width:  48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprParachute
   527 			(FileName:     'Target'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   527             (FileName:     'Target'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   528 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprTarget
   528             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprTarget
   529 			(FileName:   'RopeNode'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   529             (FileName:   'RopeNode'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   530 			Width:   6; Height:  6; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprRopeNode
   530             Width:   6; Height:  6; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprRopeNode
   531 			(FileName:   'thinking'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   531             (FileName:   'thinking'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   532 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprQuestion
   532             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprQuestion
   533 			(FileName:   'PowerBar'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   533             (FileName:   'PowerBar'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   534 			Width: 256; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprPowerBar
   534             Width: 256; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprPowerBar
   535 			(FileName:    'WindBar'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   535             (FileName:    'WindBar'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   536 			Width: 151; Height: 17; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWindBar
   536             Width: 151; Height: 17; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWindBar
   537 			(FileName:      'WindL'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   537             (FileName:      'WindL'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   538 			Width:  80; Height: 13; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWindL
   538             Width:  80; Height: 13; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWindL
   539 			(FileName:      'WindR'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   539             (FileName:      'WindR'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   540 			Width:  80; Height: 13; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWindR
   540             Width:  80; Height: 13; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWindR
   541 			(FileName:      'Flake'; Path:ptCurrTheme; AltPath: ptNone; Texture: nil; Surface: nil;
   541             (FileName:      'Flake'; Path:ptCurrTheme; AltPath: ptNone; Texture: nil; Surface: nil;
   542 			Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFlake
   542             Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprFlake
   543 			(FileName:     'amRope'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   543             (FileName:     'amRope'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   544 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandRope
   544             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandRope
   545 			(FileName:  'amBazooka'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   545             (FileName:  'amBazooka'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   546 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandBazooka
   546             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandBazooka
   547 			(FileName:  'amShotgun'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   547             (FileName:  'amShotgun'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   548 			Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandShotgun
   548             Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandShotgun
   549 			(FileName:   'amDEagle'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   549             (FileName:   'amDEagle'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   550 			Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandDEagle
   550             Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandDEagle
   551 			(FileName:'amAirAttack'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   551             (FileName:'amAirAttack'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   552 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandAirAttack
   552             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandAirAttack
   553 			(FileName: 'amBaseball'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   553             (FileName: 'amBaseball'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   554 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandBaseball
   554             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandBaseball
   555 			(FileName:     'Hammer'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   555             (FileName:     'Hammer'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   556 			Width:  32; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprPHammer
   556             Width:  32; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprPHammer
   557 			(FileName: 'amBTorch_i'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   557             (FileName: 'amBTorch_i'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   558 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandBlowTorch
   558             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandBlowTorch
   559 			(FileName: 'amBTorch_w'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   559             (FileName: 'amBTorch_w'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   560 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprBlowTorch
   560             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprBlowTorch
   561 			(FileName:   'Teleport'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   561             (FileName:   'Teleport'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   562 			Width:  64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprTeleport
   562             Width:  64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprTeleport
   563 			(FileName:    'HHDeath'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   563             (FileName:    'HHDeath'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   564 			Width:  32; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHHDeath
   564             Width:  32; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHHDeath
   565 			(FileName:'amShotgun_w'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   565             (FileName:'amShotgun_w'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   566 			Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprShotgun
   566             Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprShotgun
   567 			(FileName: 'amDEagle_w'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   567             (FileName: 'amDEagle_w'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   568 			Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDEagle
   568             Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDEagle
   569 			(FileName:       'Idle'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   569             (FileName:       'Idle'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   570 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHHIdle
   570             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHHIdle
   571 			(FileName:     'Mortar'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   571             (FileName:     'Mortar'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   572 			Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprMortar
   572             Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprMortar
   573 			(FileName:  'TurnsLeft'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil;
   573             (FileName:  'TurnsLeft'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil;
   574 			Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprTurnsLeft
   574             Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprTurnsLeft
   575 			(FileName: 'amKamikaze'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   575             (FileName: 'amKamikaze'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   576 			Width: 256; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprKamikaze
   576             Width: 256; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprKamikaze
   577 			(FileName:     'amWhip'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   577             (FileName:     'amWhip'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   578 			Width: 128; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWhip
   578             Width: 128; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWhip
   579 			(FileName:     'Kowtow'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   579             (FileName:     'Kowtow'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   580 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprKowtow
   580             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprKowtow
   581 			(FileName:        'Sad'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   581             (FileName:        'Sad'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   582 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSad
   582             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSad
   583 			(FileName:       'Wave'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   583             (FileName:       'Wave'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   584 			Width:  64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWave
   584             Width:  64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWave
   585 			(FileName:     'Hurrah'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   585             (FileName:     'Hurrah'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   586 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHurrah
   586             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHurrah
   587 			(FileName:'ILoveLemonade';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   587             (FileName:'ILoveLemonade';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   588 			Width: 128; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprLemonade
   588             Width: 128; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprLemonade
   589 			(FileName:      'Shrug'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   589             (FileName:      'Shrug'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   590 			Width: 32;  Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprShrug
   590             Width: 32;  Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprShrug
   591 			(FileName:     'Juggle'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   591             (FileName:     'Juggle'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   592 			Width: 32;  Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprJuggle
   592             Width: 32;  Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprJuggle
   593 			(FileName:   'ExplPart'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   593             (FileName:   'ExplPart'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   594 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplPart
   594             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplPart
   595 			(FileName:  'ExplPart2'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   595             (FileName:  'ExplPart2'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   596 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplPart2
   596             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplPart2
   597 			(FileName:  'Cake_walk'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   597             (FileName:  'Cake_walk'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   598 			Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCakeWalk
   598             Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCakeWalk
   599 			(FileName:  'Cake_down'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   599             (FileName:  'Cake_down'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   600 			Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCakeDown
   600             Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCakeDown
   601 			(FileName:   'Ammos_bw'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil;
   601             (FileName:   'Ammos_bw'; Path: ptAmmoMenu; AltPath: ptNone; Texture: nil; Surface: nil;
   602 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMAmmosBW
   602             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprAMAmmosBW
   603 			(FileName: 'Watermelon'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   603             (FileName: 'Watermelon'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   604 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWatermelon
   604             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprWatermelon
   605 			(FileName:  'EvilTrace'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   605             (FileName:  'EvilTrace'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   606 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprEvilTrace
   606             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprEvilTrace
   607 			(FileName:'HellishBomb'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   607             (FileName:'HellishBomb'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   608 			Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHellishBomb
   608             Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHellishBomb
   609 			(FileName:  'Seduction'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   609             (FileName:  'Seduction'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   610 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSeduction
   610             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSeduction
   611 			(FileName:    'HHDress'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   611             (FileName:    'HHDress'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   612 			Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDress
   612             Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDress
   613 			(FileName:   'Censored'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   613             (FileName:   'Censored'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   614 			Width:  64; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCensored
   614             Width:  64; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprCensored
   615 			(FileName:      'Drill'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   615             (FileName:      'Drill'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   616 			Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDrill
   616             Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDrill
   617 			(FileName:    'amDrill'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   617             (FileName:    'amDrill'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   618 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandDrill
   618             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandDrill
   619 			(FileName:  'amBallgun'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   619             (FileName:  'amBallgun'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   620 			Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandBallgun
   620             Width:  64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprHandBallgun
   621 			(FileName:      'Balls'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   621             (FileName:      'Balls'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   622 			Width:  32; Height: 20; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprBalls
   622             Width:  32; Height: 20; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprBalls
   623 			(FileName:    'RCPlane'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   623             (FileName:    'RCPlane'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   624 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprPlane
   624             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprPlane
   625 			(FileName:  'amRCPlane'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   625             (FileName:  'amRCPlane'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   626 			Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprHandPlane
   626             Width:  32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprHandPlane
   627 			(FileName:    'Utility'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   627             (FileName:    'Utility'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   628 			Width:  48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprUtility
   628             Width:  48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprUtility
   629 			(FileName:'Invulnerable';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   629             (FileName:'Invulnerable';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   630 			Width:  48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprInvulnerable
   630             Width:  48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprInvulnerable
   631 			(FileName:   'Vampiric'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   631             (FileName:   'Vampiric'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   632 			Width:  48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprVampiric
   632             Width:  48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprVampiric
   633 			(FileName:   'amGirder'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   633             (FileName:   'amGirder'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   634 			Width: 512; Height:512; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprGirder
   634             Width: 512; Height:512; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprGirder
   635 			(FileName:'SpeechCorner';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   635             (FileName:'SpeechCorner';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   636 			Width:  12; Height: 9; imageWidth: 0; imageHeight: 0; saveSurf:  true), // sprSpeechCorner
   636             Width:  12; Height: 9; imageWidth: 0; imageHeight: 0; saveSurf:  true), // sprSpeechCorner
   637 			(FileName: 'SpeechEdge'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   637             (FileName: 'SpeechEdge'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   638 			Width:  25; Height: 9; imageWidth: 0; imageHeight: 0; saveSurf:  true), // sprSpeechEdge
   638             Width:  25; Height: 9; imageWidth: 0; imageHeight: 0; saveSurf:  true), // sprSpeechEdge
   639 			(FileName: 'SpeechTail'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   639             (FileName: 'SpeechTail'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   640 			Width:  25; Height: 26; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprSpeechTail
   640             Width:  25; Height: 26; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprSpeechTail
   641 			(FileName:'ThoughtCorner';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   641             (FileName:'ThoughtCorner';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   642 			Width:  49; Height: 37; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprThoughtCorner
   642             Width:  49; Height: 37; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprThoughtCorner
   643 			(FileName:'ThoughtEdge'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   643             (FileName:'ThoughtEdge'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   644 			Width:  23; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprThoughtEdge
   644             Width:  23; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprThoughtEdge
   645 			(FileName:'ThoughtTail'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   645             (FileName:'ThoughtTail'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   646 			Width:  45; Height: 65; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprThoughtTail
   646             Width:  45; Height: 65; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprThoughtTail
   647 			(FileName:'ShoutCorner'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   647             (FileName:'ShoutCorner'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   648 			Width:  34; Height: 23; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprShoutCorner
   648             Width:  34; Height: 23; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprShoutCorner
   649 			(FileName:  'ShoutEdge'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   649             (FileName:  'ShoutEdge'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   650 			Width:  30; Height: 20; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprShoutEdge
   650             Width:  30; Height: 20; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprShoutEdge
   651 			(FileName:  'ShoutTail'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   651             (FileName:  'ShoutTail'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   652 			Width:  30; Height: 37; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprShoutTail
   652             Width:  30; Height: 37; imageWidth: 0; imageHeight: 0; saveSurf: true), // sprShoutTail
   653 			(FileName:'amSniperRifle';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   653             (FileName:'amSniperRifle';Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   654 			Width: 128; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprSniperRifle
   654             Width: 128; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprSniperRifle
   655 			(FileName:    'Bubbles'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   655             (FileName:    'Bubbles'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   656 			Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprBubbles
   656             Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprBubbles
   657 			(FileName:  'amJetpack'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   657             (FileName:  'amJetpack'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
   658 			Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprJetpack
   658             Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprJetpack
   659 			(FileName:  'Health'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   659             (FileName:  'Health'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   660 			Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprHealth
   660             Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprHealth
   661 			(FileName:  'amMolotov'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; 
   661             (FileName:  'amMolotov'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; 
   662 			Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false), //sprHandMolotov
   662             Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false), //sprHandMolotov
   663 			(FileName:  'Molotov'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   663             (FileName:  'Molotov'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   664 			Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprMolotov
   664             Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprMolotov
   665 			(FileName: 'Smoke'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   665             (FileName: 'Smoke'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   666 			Width:  22; Height: 22; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSmoke
   666             Width:  22; Height: 22; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSmoke
   667 			(FileName: 'SmokeWhite'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   667             (FileName: 'SmokeWhite'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   668 			Width:  22; Height: 22; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSmokeWhite
   668             Width:  22; Height: 22; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprSmokeWhite
   669 			(FileName: 'Shells'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   669             (FileName: 'Shells'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   670 			Width:  8; Height: 8; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprShell
   670             Width:  8; Height: 8; imageWidth: 0; imageHeight: 0; saveSurf: false), // sprShell
   671 			(FileName: 'Dust'; Path: ptCurrTheme; AltPath: ptGraphics; Texture: nil; Surface: nil;
   671             (FileName: 'Dust'; Path: ptCurrTheme; AltPath: ptGraphics; Texture: nil; Surface: nil;
   672 			Width:  22; Height: 22; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDust
   672             Width:  22; Height: 22; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprDust
   673 			(FileName: 'Explosives'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   673             (FileName: 'Explosives'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   674 			Width:  48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplosives
   674             Width:  48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplosives
   675 			(FileName: 'ExplosivesRoll'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   675             (FileName: 'ExplosivesRoll'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   676 			Width:  48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplosivesRoll
   676             Width:  48; Height: 48; imageWidth: 0; imageHeight: 0; saveSurf: false),// sprExplosivesRoll
   677 			(FileName: 'amTeleport'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   677             (FileName: 'amTeleport'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
   678 			Width:  64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false) // sprAmTeleport
   678             Width:  64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false) // sprAmTeleport
   679 			);
   679             );
   680 
   680 
   681 	Wavez: array [TWave] of record
   681     Wavez: array [TWave] of record
   682 			Sprite: TSprite;
   682             Sprite: TSprite;
   683 			FramesCount: Longword;
   683             FramesCount: Longword;
   684 			Interval: Longword;
   684             Interval: Longword;
   685 			cmd: String[20];
   685             cmd: String[20];
   686 			Voice: TSound;
   686             Voice: TSound;
   687 			VoiceDelay: LongWord;
   687             VoiceDelay: LongWord;
   688 			end = (
   688             end = (
   689 			(Sprite:   sprKowtow; FramesCount: 12; Interval: 125; cmd: '/rollup'; Voice: sndNone; VoiceDelay: 0),
   689             (Sprite:   sprKowtow; FramesCount: 12; Interval: 125; cmd: '/rollup'; Voice: sndNone; VoiceDelay: 0),
   690 			(Sprite:      sprSad; FramesCount: 14; Interval: 125; cmd: '/sad'; Voice: sndNone; VoiceDelay: 0),
   690             (Sprite:      sprSad; FramesCount: 14; Interval: 125; cmd: '/sad'; Voice: sndNone; VoiceDelay: 0),
   691 			(Sprite:     sprWave; FramesCount: 16; Interval: 125; cmd: '/wave'; Voice: sndHello; VoiceDelay: 5),
   691             (Sprite:     sprWave; FramesCount: 16; Interval: 125; cmd: '/wave'; Voice: sndHello; VoiceDelay: 5),
   692 			(Sprite:   sprHurrah; FramesCount: 14; Interval: 125; cmd: '/hurrah'; Voice: sndNone; VoiceDelay: 0),
   692             (Sprite:   sprHurrah; FramesCount: 14; Interval: 125; cmd: '/hurrah'; Voice: sndNone; VoiceDelay: 0),
   693 			(Sprite: sprLemonade; FramesCount: 24; Interval: 125; cmd: '/ilovelotsoflemonade'; Voice: sndNone; VoiceDelay: 0),
   693             (Sprite: sprLemonade; FramesCount: 24; Interval: 125; cmd: '/ilovelotsoflemonade'; Voice: sndNone; VoiceDelay: 0),
   694 			(Sprite:    sprShrug; FramesCount: 24; Interval: 125; cmd: '/shrug'; Voice: sndNone; VoiceDelay: 0),
   694             (Sprite:    sprShrug; FramesCount: 24; Interval: 125; cmd: '/shrug'; Voice: sndNone; VoiceDelay: 0),
   695 			(Sprite:   sprJuggle; FramesCount: 49; Interval:  38; cmd: '/juggle'; Voice: sndNone; VoiceDelay: 0)
   695             (Sprite:   sprJuggle; FramesCount: 49; Interval:  38; cmd: '/juggle'; Voice: sndNone; VoiceDelay: 0)
   696 			);
   696             );
   697 
   697 
   698 	Soundz: array[TSound] of record
   698     Soundz: array[TSound] of record
   699 			FileName: String[25];
   699             FileName: String[25];
   700 			Path    : TPathType;
   700             Path    : TPathType;
   701 			end = (
   701             end = (
   702 			(FileName:                         ''; Path: ptNone  ),// sndNone
   702             (FileName:                         ''; Path: ptNone  ),// sndNone
   703 			(FileName:        'grenadeimpact.ogg'; Path: ptSounds),// sndGrenadeImpact
   703             (FileName:        'grenadeimpact.ogg'; Path: ptSounds),// sndGrenadeImpact
   704 			(FileName:            'explosion.ogg'; Path: ptSounds),// sndExplosion
   704             (FileName:            'explosion.ogg'; Path: ptSounds),// sndExplosion
   705 			(FileName:         'throwpowerup.ogg'; Path: ptSounds),// sndThrowPowerUp
   705             (FileName:         'throwpowerup.ogg'; Path: ptSounds),// sndThrowPowerUp
   706 			(FileName:         'throwrelease.ogg'; Path: ptSounds),// sndThrowRelease
   706             (FileName:         'throwrelease.ogg'; Path: ptSounds),// sndThrowRelease
   707 			(FileName:               'splash.ogg'; Path: ptSounds),// sndSplash
   707             (FileName:               'splash.ogg'; Path: ptSounds),// sndSplash
   708 			(FileName:        'shotgunreload.ogg'; Path: ptSounds),// sndShotgunReload
   708             (FileName:        'shotgunreload.ogg'; Path: ptSounds),// sndShotgunReload
   709 			(FileName:          'shotgunfire.ogg'; Path: ptSounds),// sndShotgunFire
   709             (FileName:          'shotgunfire.ogg'; Path: ptSounds),// sndShotgunFire
   710 			(FileName:          'graveimpact.ogg'; Path: ptSounds),// sndGraveImpact
   710             (FileName:          'graveimpact.ogg'; Path: ptSounds),// sndGraveImpact
   711 			(FileName:             'minetick.ogg'; Path: ptSounds),// sndMineTicks
   711             (FileName:             'minetick.ogg'; Path: ptSounds),// sndMineTicks
   712 			(FileName:           'pickhammer.ogg'; Path: ptSounds),// sndPickhammer
   712             (FileName:           'pickhammer.ogg'; Path: ptSounds),// sndPickhammer
   713 			(FileName:                  'gun.ogg'; Path: ptSounds),// sndGun
   713             (FileName:                  'gun.ogg'; Path: ptSounds),// sndGun
   714 			(FileName:                  'ufo.ogg'; Path: ptSounds),// sndUFO
   714             (FileName:                  'ufo.ogg'; Path: ptSounds),// sndUFO
   715 			(FileName:                'Jump1.ogg'; Path: ptVoices),// sndJump1
   715             (FileName:                'Jump1.ogg'; Path: ptVoices),// sndJump1
   716 			(FileName:                'Jump2.ogg'; Path: ptVoices),// sndJump2
   716             (FileName:                'Jump2.ogg'; Path: ptVoices),// sndJump2
   717 			(FileName:                'Jump3.ogg'; Path: ptVoices),// sndJump3
   717             (FileName:                'Jump3.ogg'; Path: ptVoices),// sndJump3
   718 			(FileName:               'Yessir.ogg'; Path: ptVoices),// sndYesSir
   718             (FileName:               'Yessir.ogg'; Path: ptVoices),// sndYesSir
   719 			(FileName:                'Laugh.ogg'; Path: ptVoices),// sndLaugh
   719             (FileName:                'Laugh.ogg'; Path: ptVoices),// sndLaugh
   720 			(FileName:            'Illgetyou.ogg'; Path: ptVoices),// sndIllGetYou
   720             (FileName:            'Illgetyou.ogg'; Path: ptVoices),// sndIllGetYou
   721 			(FileName:             'Incoming.ogg'; Path: ptVoices),// sndIncoming
   721             (FileName:             'Incoming.ogg'; Path: ptVoices),// sndIncoming
   722 			(FileName:               'Missed.ogg'; Path: ptVoices),// sndMissed
   722             (FileName:               'Missed.ogg'; Path: ptVoices),// sndMissed
   723 			(FileName:               'Stupid.ogg'; Path: ptVoices),// sndStupid
   723             (FileName:               'Stupid.ogg'; Path: ptVoices),// sndStupid
   724 			(FileName:           'Firstblood.ogg'; Path: ptVoices),// sndFirstBlood
   724             (FileName:           'Firstblood.ogg'; Path: ptVoices),// sndFirstBlood
   725 			(FileName:               'Boring.ogg'; Path: ptVoices),// sndBoring
   725             (FileName:               'Boring.ogg'; Path: ptVoices),// sndBoring
   726 			(FileName:               'Byebye.ogg'; Path: ptVoices),// sndByeBye
   726             (FileName:               'Byebye.ogg'; Path: ptVoices),// sndByeBye
   727 			(FileName:             'Sameteam.ogg'; Path: ptVoices),// sndSameTeam
   727             (FileName:             'Sameteam.ogg'; Path: ptVoices),// sndSameTeam
   728 			(FileName:               'Nutter.ogg'; Path: ptVoices),// sndNutter
   728             (FileName:               'Nutter.ogg'; Path: ptVoices),// sndNutter
   729 			(FileName:       'Reinforcements.ogg'; Path: ptVoices),// sndReinforce
   729             (FileName:       'Reinforcements.ogg'; Path: ptVoices),// sndReinforce
   730 			(FileName:              'Traitor.ogg'; Path: ptVoices),// sndTraitor
   730             (FileName:              'Traitor.ogg'; Path: ptVoices),// sndTraitor
   731 			(FileName:      'Youllregretthat.ogg'; Path: ptVoices),// sndRegret
   731             (FileName:      'Youllregretthat.ogg'; Path: ptVoices),// sndRegret
   732 			(FileName:            'Enemydown.ogg'; Path: ptVoices),// sndEnemyDown
   732             (FileName:            'Enemydown.ogg'; Path: ptVoices),// sndEnemyDown
   733 			(FileName:               'Coward.ogg'; Path: ptVoices),// sndCoward
   733             (FileName:               'Coward.ogg'; Path: ptVoices),// sndCoward
   734 			(FileName:                'Hurry.ogg'; Path: ptVoices),// sndHurry
   734             (FileName:                'Hurry.ogg'; Path: ptVoices),// sndHurry
   735 			(FileName:              'Watchit.ogg'; Path: ptVoices),// sndWatchIt
   735             (FileName:              'Watchit.ogg'; Path: ptVoices),// sndWatchIt
   736 			(FileName:             'Kamikaze.ogg'; Path: ptVoices),// sndKamikaze
   736             (FileName:             'Kamikaze.ogg'; Path: ptVoices),// sndKamikaze
   737 			(FileName:                'cake2.ogg'; Path: ptSounds),// sndCake
   737             (FileName:                'cake2.ogg'; Path: ptSounds),// sndCake
   738 			(FileName:                  'Ow1.ogg'; Path: ptVoices),// sndOw1
   738             (FileName:                  'Ow1.ogg'; Path: ptVoices),// sndOw1
   739 			(FileName:                  'Ow4.ogg'; Path: ptVoices),// sndOw4
   739             (FileName:                  'Ow4.ogg'; Path: ptVoices),// sndOw4
   740 			(FileName:           'Firepunch1.ogg'; Path: ptVoices),// sndFirepunch1
   740             (FileName:           'Firepunch1.ogg'; Path: ptVoices),// sndFirepunch1
   741 			(FileName:           'Firepunch2.ogg'; Path: ptVoices),// sndFirepunch2
   741             (FileName:           'Firepunch2.ogg'; Path: ptVoices),// sndFirepunch2
   742 			(FileName:           'Firepunch3.ogg'; Path: ptVoices),// sndFirepunch3
   742             (FileName:           'Firepunch3.ogg'; Path: ptVoices),// sndFirepunch3
   743 			(FileName:           'Firepunch4.ogg'; Path: ptVoices),// sndFirepunch4
   743             (FileName:           'Firepunch4.ogg'; Path: ptVoices),// sndFirepunch4
   744 			(FileName:           'Firepunch5.ogg'; Path: ptVoices),// sndFirepunch5
   744             (FileName:           'Firepunch5.ogg'; Path: ptVoices),// sndFirepunch5
   745 			(FileName:           'Firepunch6.ogg'; Path: ptVoices),// sndFirepunch6
   745             (FileName:           'Firepunch6.ogg'; Path: ptVoices),// sndFirepunch6
   746 			(FileName:                'Melon.ogg'; Path: ptSounds),// sndMelon
   746             (FileName:                'Melon.ogg'; Path: ptSounds),// sndMelon
   747 			(FileName:              'Hellish.ogg'; Path: ptSounds),// sndHellish
   747             (FileName:              'Hellish.ogg'; Path: ptSounds),// sndHellish
   748 			(FileName:               'Yoohoo.ogg'; Path: ptSounds),// sndYoohoo
   748             (FileName:               'Yoohoo.ogg'; Path: ptSounds),// sndYoohoo
   749 			(FileName:              'rcplane.ogg'; Path: ptSounds),// sndRCPlane
   749             (FileName:              'rcplane.ogg'; Path: ptSounds),// sndRCPlane
   750 			(FileName:            'whipcrack.ogg'; Path: ptSounds),// sndWhipCrack
   750             (FileName:            'whipcrack.ogg'; Path: ptSounds),// sndWhipCrack
   751 			(FileName:'ride_of_the_valkyries.ogg'; Path: ptSounds),// sndRideOfTheValkyries
   751             (FileName:'ride_of_the_valkyries.ogg'; Path: ptSounds),// sndRideOfTheValkyries
   752 			(FileName:               'denied.ogg'; Path: ptSounds),// sndDenied
   752             (FileName:               'denied.ogg'; Path: ptSounds),// sndDenied
   753 			(FileName:               'placed.ogg'; Path: ptSounds),// sndPlaced
   753             (FileName:               'placed.ogg'; Path: ptSounds),// sndPlaced
   754 			(FileName:          'baseballbat.ogg'; Path: ptSounds),// sndBaseballBat
   754             (FileName:          'baseballbat.ogg'; Path: ptSounds),// sndBaseballBat
   755 			(FileName:                'steam.ogg'; Path: ptSounds),// sndVaporize
   755             (FileName:                'steam.ogg'; Path: ptSounds),// sndVaporize
   756 			(FileName:                 'warp.ogg'; Path: ptSounds),// sndWarp
   756             (FileName:                 'warp.ogg'; Path: ptSounds),// sndWarp
   757 			(FileName:          'suddendeath.ogg'; Path: ptSounds),// sndSuddenDeath
   757             (FileName:          'suddendeath.ogg'; Path: ptSounds),// sndSuddenDeath
   758 			(FileName:               'mortar.ogg'; Path: ptSounds),// sndMortar
   758             (FileName:               'mortar.ogg'; Path: ptSounds),// sndMortar
   759 			(FileName:         'shutterclick.ogg'; Path: ptSounds),// sndShutter
   759             (FileName:         'shutterclick.ogg'; Path: ptSounds),// sndShutter
   760 			(FileName:              'homerun.ogg'; Path: ptSounds),// sndHomerun
   760             (FileName:              'homerun.ogg'; Path: ptSounds),// sndHomerun
   761 			(FileName:              'molotov.ogg'; Path: ptSounds),// sndMolotov
   761             (FileName:              'molotov.ogg'; Path: ptSounds),// sndMolotov
   762 			(FileName:            'Takecover.ogg'; Path: ptVoices),// sndCover
   762             (FileName:            'Takecover.ogg'; Path: ptVoices),// sndCover
   763 			(FileName:                'Uh-oh.ogg'; Path: ptVoices),// sndUhOh
   763             (FileName:                'Uh-oh.ogg'; Path: ptVoices),// sndUhOh
   764 			(FileName:                 'Oops.ogg'; Path: ptVoices),// sndOops
   764             (FileName:                 'Oops.ogg'; Path: ptVoices),// sndOops
   765 			(FileName:                 'Nooo.ogg'; Path: ptVoices),// sndNooo
   765             (FileName:                 'Nooo.ogg'; Path: ptVoices),// sndNooo
   766 			(FileName:                'Hello.ogg'; Path: ptVoices),// sndHello
   766             (FileName:                'Hello.ogg'; Path: ptVoices),// sndHello
   767 			(FileName:                         ''; Path: ptSounds),// sndRopeShot
   767             (FileName:                         ''; Path: ptSounds),// sndRopeShot
   768 			(FileName:                         ''; Path: ptSounds),// sndRopeAttach
   768             (FileName:                         ''; Path: ptSounds),// sndRopeAttach
   769 			(FileName:                         ''; Path: ptSounds),// sndRopeRelease
   769             (FileName:                         ''; Path: ptSounds),// sndRopeRelease
   770 			(FileName:            'switchhog.ogg'; Path: ptSounds),// sndSwitchHog
   770             (FileName:            'switchhog.ogg'; Path: ptSounds),// sndSwitchHog
   771 			(FileName:              'victory.ogg'; Path: ptVoices),// sndVictory
   771             (FileName:              'victory.ogg'; Path: ptVoices),// sndVictory
   772 			(FileName:         'sniperreload.ogg'; Path: ptSounds),// sndSniperReload
   772             (FileName:         'sniperreload.ogg'; Path: ptSounds),// sndSniperReload
   773 			(FileName:                'steps.ogg'; Path: ptSounds),// sndSteps
   773             (FileName:                'steps.ogg'; Path: ptSounds),// sndSteps
   774 			(FileName:           'lowgravity.ogg'; Path: ptSounds) // sndLowGravity
   774             (FileName:           'lowgravity.ogg'; Path: ptSounds) // sndLowGravity
   775 			);
   775             );
   776 
   776 
   777 	Ammoz: array [TAmmoType] of record
   777     Ammoz: array [TAmmoType] of record
   778 			NameId: TAmmoStrId;
   778             NameId: TAmmoStrId;
   779 			NameTex: PTexture;
   779             NameTex: PTexture;
   780 			Probability, NumberInCase: Longword;
   780             Probability, NumberInCase: Longword;
   781 			Ammo: TAmmo;
   781             Ammo: TAmmo;
   782 			Slot: 0..cMaxSlotIndex;
   782             Slot: 0..cMaxSlotIndex;
   783 			TimeAfterTurn: Longword;
   783             TimeAfterTurn: Longword;
   784 			minAngle, maxAngle: Longword;
   784             minAngle, maxAngle: Longword;
   785 			isDamaging: boolean;
   785             isDamaging: boolean;
   786 			SkipTurns: Longword;
   786             SkipTurns: Longword;
   787 			PosCount: Longword;
   787             PosCount: Longword;
   788 			PosSprite: TSprite;
   788             PosSprite: TSprite;
   789 			end = (
   789             end = (
   790 			(NameId: sidNothing;
   790             (NameId: sidNothing;
   791 			NameTex: nil;
   791             NameTex: nil;
   792 			Probability: 0;
   792             Probability: 0;
   793 			NumberInCase: 0;
   793             NumberInCase: 0;
   794 			Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_DontHold or ammoprop_Utility;
   794             Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_DontHold or ammoprop_Utility;
   795 				Count: AMMO_INFINITE;
   795                 Count: AMMO_INFINITE;
   796 				InitialCount: AMMO_INFINITE;
   796                 InitialCount: AMMO_INFINITE;
   797 				NumPerTurn: 0;
   797                 NumPerTurn: 0;
   798 				Timer: 0;
   798                 Timer: 0;
   799 				Pos: 0;
   799                 Pos: 0;
   800 				AmmoType: amNothing;
   800                 AmmoType: amNothing;
   801 				AttackVoice: sndNone);
   801                 AttackVoice: sndNone);
   802 			Slot: 0;
   802             Slot: 0;
   803 			TimeAfterTurn: 0;
   803             TimeAfterTurn: 0;
   804 			minAngle: 0;
   804             minAngle: 0;
   805 			maxAngle: 0;
   805             maxAngle: 0;
   806 			isDamaging: false;
   806             isDamaging: false;
   807 			SkipTurns: 9999;
   807             SkipTurns: 9999;
   808 			PosCount: 1;
   808             PosCount: 1;
   809 			PosSprite: sprWater),
   809             PosSprite: sprWater),
   810 			(NameId: sidGrenade;
   810             (NameId: sidGrenade;
   811 			NameTex: nil;
   811             NameTex: nil;
   812 			Probability: 0;
   812             Probability: 0;
   813 			NumberInCase: 1;
   813             NumberInCase: 1;
   814 			Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse;
   814             Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse;
   815 				Count: AMMO_INFINITE;
   815                 Count: AMMO_INFINITE;
   816 				InitialCount: AMMO_INFINITE;
   816                 InitialCount: AMMO_INFINITE;
   817 				NumPerTurn: 0;
   817                 NumPerTurn: 0;
   818 				Timer: 3000;
   818                 Timer: 3000;
   819 				Pos: 0;
   819                 Pos: 0;
   820 				AmmoType: amGrenade;
   820                 AmmoType: amGrenade;
   821 				AttackVoice: sndCover);
   821                 AttackVoice: sndCover);
   822 			Slot: 1;
   822             Slot: 1;
   823 			TimeAfterTurn: 3000;
   823             TimeAfterTurn: 3000;
   824 			minAngle: 0;
   824             minAngle: 0;
   825 			maxAngle: 0;
   825             maxAngle: 0;
   826 			isDamaging: true;
   826             isDamaging: true;
   827 			SkipTurns: 0;
   827             SkipTurns: 0;
   828 			PosCount: 1;
   828             PosCount: 1;
   829 			PosSprite: sprWater),
   829             PosSprite: sprWater),
   830 			(NameId: sidClusterBomb;
   830             (NameId: sidClusterBomb;
   831 			NameTex: nil;
   831             NameTex: nil;
   832 			Probability: 100;
   832             Probability: 100;
   833 			NumberInCase: 3;
   833             NumberInCase: 3;
   834 			Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse;
   834             Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse;
   835 				Count: 5;
   835                 Count: 5;
   836 				InitialCount: 5;
   836                 InitialCount: 5;
   837 				NumPerTurn: 0;
   837                 NumPerTurn: 0;
   838 				Timer: 3000;
   838                 Timer: 3000;
   839 				Pos: 0;
   839                 Pos: 0;
   840 				AmmoType: amClusterBomb;
   840                 AmmoType: amClusterBomb;
   841 				AttackVoice: sndCover);
   841                 AttackVoice: sndCover);
   842 			Slot: 1;
   842             Slot: 1;
   843 			TimeAfterTurn: 3000;
   843             TimeAfterTurn: 3000;
   844 			minAngle: 0;
   844             minAngle: 0;
   845 			maxAngle: 0;
   845             maxAngle: 0;
   846 			isDamaging: true;
   846             isDamaging: true;
   847 			SkipTurns: 0;
   847             SkipTurns: 0;
   848 			PosCount: 1;
   848             PosCount: 1;
   849 			PosSprite: sprWater),
   849             PosSprite: sprWater),
   850 			(NameId: sidBazooka;
   850             (NameId: sidBazooka;
   851 			NameTex: nil;
   851             NameTex: nil;
   852 			Probability: 0;
   852             Probability: 0;
   853 			NumberInCase: 1;
   853             NumberInCase: 1;
   854 			Ammo: (Propz: ammoprop_Power or ammoprop_AltUse;
   854             Ammo: (Propz: ammoprop_Power or ammoprop_AltUse;
   855 				Count: AMMO_INFINITE;
   855                 Count: AMMO_INFINITE;
   856 				InitialCount: AMMO_INFINITE;
   856                 InitialCount: AMMO_INFINITE;
   857 				NumPerTurn: 0;
   857                 NumPerTurn: 0;
   858 				Timer: 0;
   858                 Timer: 0;
   859 				Pos: 0;
   859                 Pos: 0;
   860 				AmmoType: amBazooka;
   860                 AmmoType: amBazooka;
   861 				AttackVoice: sndNone);
   861                 AttackVoice: sndNone);
   862 			Slot: 0;
   862             Slot: 0;
   863 			TimeAfterTurn: 3000;
   863             TimeAfterTurn: 3000;
   864 			minAngle: 0;
   864             minAngle: 0;
   865 			maxAngle: 0;
   865             maxAngle: 0;
   866 			isDamaging: true;
   866             isDamaging: true;
   867 			SkipTurns: 0;
   867             SkipTurns: 0;
   868 			PosCount: 1;
   868             PosCount: 1;
   869 			PosSprite: sprWater),
   869             PosSprite: sprWater),
   870 			(NameId: sidUFO;
   870             (NameId: sidUFO;
   871 			NameTex: nil;
   871             NameTex: nil;
   872 			Probability: 100;
   872             Probability: 100;
   873 			NumberInCase: 1;
   873             NumberInCase: 1;
   874 			Ammo: (Propz: ammoprop_Power or	ammoprop_NeedTarget or ammoprop_DontHold;
   874             Ammo: (Propz: ammoprop_Power or ammoprop_NeedTarget or ammoprop_DontHold;
   875 				Count: 2;
   875                 Count: 2;
   876 				InitialCount: 2;
   876                 InitialCount: 2;
   877 				NumPerTurn: 0;
   877                 NumPerTurn: 0;
   878 				Timer: 0;
   878                 Timer: 0;
   879 				Pos: 0;
   879                 Pos: 0;
   880 				AmmoType: amUFO;
   880                 AmmoType: amUFO;
   881 				AttackVoice: sndNone);
   881                 AttackVoice: sndNone);
   882 			Slot: 0;
   882             Slot: 0;
   883 			TimeAfterTurn: 3000;
   883             TimeAfterTurn: 3000;
   884 			minAngle: 0;
   884             minAngle: 0;
   885 			maxAngle: 0;
   885             maxAngle: 0;
   886 			isDamaging: true;
   886             isDamaging: true;
   887 			SkipTurns: 0;
   887             SkipTurns: 0;
   888 			PosCount: 1;
   888             PosCount: 1;
   889 			PosSprite: sprWater),
   889             PosSprite: sprWater),
   890 			(NameId: sidShotgun;
   890             (NameId: sidShotgun;
   891 			NameTex: nil;
   891             NameTex: nil;
   892 			Probability: 0;
   892             Probability: 0;
   893 			NumberInCase: 1;
   893             NumberInCase: 1;
   894 			Ammo: (Propz: ammoprop_ForwMsgs;
   894             Ammo: (Propz: ammoprop_ForwMsgs;
   895 				Count: AMMO_INFINITE;
   895                 Count: AMMO_INFINITE;
   896 				InitialCount: AMMO_INFINITE;
   896                 InitialCount: AMMO_INFINITE;
   897 				NumPerTurn: 1;
   897                 NumPerTurn: 1;
   898 				Timer: 0;
   898                 Timer: 0;
   899 				Pos: 0;
   899                 Pos: 0;
   900 				AmmoType: amShotgun;
   900                 AmmoType: amShotgun;
   901 				AttackVoice: sndNone);
   901                 AttackVoice: sndNone);
   902 			Slot: 2;
   902             Slot: 2;
   903 			TimeAfterTurn: 3000;
   903             TimeAfterTurn: 3000;
   904 			minAngle: 0;
   904             minAngle: 0;
   905 			maxAngle: 0;
   905             maxAngle: 0;
   906 			isDamaging: true;
   906             isDamaging: true;
   907 			SkipTurns: 0;
   907             SkipTurns: 0;
   908 			PosCount: 1;
   908             PosCount: 1;
   909 			PosSprite: sprWater),
   909             PosSprite: sprWater),
   910 			(NameId: sidPickHammer;
   910             (NameId: sidPickHammer;
   911 			NameTex: nil;
   911             NameTex: nil;
   912 			Probability: 0;
   912             Probability: 0;
   913 			NumberInCase: 1;
   913             NumberInCase: 1;
   914 			Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_AttackInMove or ammoprop_NoCrosshair or ammoprop_DontHold;
   914             Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_AttackInMove or ammoprop_NoCrosshair or ammoprop_DontHold;
   915 				Count: 2;
   915                 Count: 2;
   916 				InitialCount: 2;
   916                 InitialCount: 2;
   917 				NumPerTurn: 0;
   917                 NumPerTurn: 0;
   918 				Timer: 0;
   918                 Timer: 0;
   919 				Pos: 0;
   919                 Pos: 0;
   920 				AmmoType: amPickHammer;
   920                 AmmoType: amPickHammer;
   921 				AttackVoice: sndNone);
   921                 AttackVoice: sndNone);
   922 			Slot: 6;
   922             Slot: 6;
   923 			TimeAfterTurn: 0;
   923             TimeAfterTurn: 0;
   924 			minAngle: 0;
   924             minAngle: 0;
   925 			maxAngle: 0;
   925             maxAngle: 0;
   926 			isDamaging: false;
   926             isDamaging: false;
   927 			SkipTurns: 0;
   927             SkipTurns: 0;
   928 			PosCount: 1;
   928             PosCount: 1;
   929 			PosSprite: sprWater),
   929             PosSprite: sprWater),
   930 			(NameId: sidSkip;
   930             (NameId: sidSkip;
   931 			NameTex: nil;
   931             NameTex: nil;
   932 			Probability: 0;
   932             Probability: 0;
   933 			NumberInCase: 1;
   933             NumberInCase: 1;
   934 			Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_DontHold;
   934             Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_DontHold;
   935 				Count: AMMO_INFINITE;
   935                 Count: AMMO_INFINITE;
   936 				InitialCount: AMMO_INFINITE;
   936                 InitialCount: AMMO_INFINITE;
   937 				NumPerTurn: 0;
   937                 NumPerTurn: 0;
   938 				Timer: 0;
   938                 Timer: 0;
   939 				Pos: 0;
   939                 Pos: 0;
   940 				AmmoType: amSkip;
   940                 AmmoType: amSkip;
   941 				AttackVoice: sndNone);
   941                 AttackVoice: sndNone);
   942 			Slot: 8;
   942             Slot: 8;
   943 			TimeAfterTurn: 0;
   943             TimeAfterTurn: 0;
   944 			minAngle: 0;
   944             minAngle: 0;
   945 			maxAngle: 0;
   945             maxAngle: 0;
   946 			isDamaging: false;
   946             isDamaging: false;
   947 			SkipTurns: 0;
   947             SkipTurns: 0;
   948 			PosCount: 1;
   948             PosCount: 1;
   949 			PosSprite: sprWater),
   949             PosSprite: sprWater),
   950 			(NameId: sidRope;
   950             (NameId: sidRope;
   951 			NameTex: nil;
   951             NameTex: nil;
   952 			Probability: 100;
   952             Probability: 100;
   953 			NumberInCase: 3;
   953             NumberInCase: 3;
   954 			Ammo: (Propz: ammoprop_NoRoundEndHint or
   954             Ammo: (Propz: ammoprop_NoRoundEndHint or
   955 						  ammoprop_ForwMsgs or
   955                           ammoprop_ForwMsgs or
   956 							ammoprop_AttackInMove or
   956                             ammoprop_AttackInMove or
   957 							ammoprop_AltAttack;
   957                             ammoprop_AltAttack;
   958 					Count: 5;
   958                     Count: 5;
   959 					InitialCount: 5;
   959                     InitialCount: 5;
   960 					NumPerTurn: 0;
   960                     NumPerTurn: 0;
   961 					Timer: 0;
   961                     Timer: 0;
   962 					Pos: 0;
   962                     Pos: 0;
   963 					AmmoType: amRope;
   963                     AmmoType: amRope;
   964 					AttackVoice: sndNone);
   964                     AttackVoice: sndNone);
   965 			Slot: 7;
   965             Slot: 7;
   966 			TimeAfterTurn: 0;
   966             TimeAfterTurn: 0;
   967 			minAngle: 0;
   967             minAngle: 0;
   968 			maxAngle: cMaxAngle div 2;
   968             maxAngle: cMaxAngle div 2;
   969 			isDamaging: false;
   969             isDamaging: false;
   970 			SkipTurns: 0;
   970             SkipTurns: 0;
   971 			PosCount: 1;
   971             PosCount: 1;
   972 			PosSprite: sprWater),
   972             PosSprite: sprWater),
   973 			(NameId: sidMine;
   973             (NameId: sidMine;
   974 			NameTex: nil;
   974             NameTex: nil;
   975 			Probability: 100;
   975             Probability: 100;
   976 			NumberInCase: 1;
   976             NumberInCase: 1;
   977 			Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_AttackInMove or ammoprop_DontHold or ammoprop_AltUse;
   977             Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_AttackInMove or ammoprop_DontHold or ammoprop_AltUse;
   978 				Count: 2;
   978                 Count: 2;
   979 				InitialCount: 2;
   979                 InitialCount: 2;
   980 				NumPerTurn: 0;
   980                 NumPerTurn: 0;
   981 				Timer: 0;
   981                 Timer: 0;
   982 				Pos: 0;
   982                 Pos: 0;
   983 				AmmoType: amMine;
   983                 AmmoType: amMine;
   984 				AttackVoice: sndLaugh);
   984                 AttackVoice: sndLaugh);
   985 			Slot: 4;
   985             Slot: 4;
   986 			TimeAfterTurn: 5000;
   986             TimeAfterTurn: 5000;
   987 			minAngle: 0;
   987             minAngle: 0;
   988 			maxAngle: 0;
   988             maxAngle: 0;
   989 			isDamaging: true;
   989             isDamaging: true;
   990 			SkipTurns: 0;
   990             SkipTurns: 0;
   991 			PosCount: 1;
   991             PosCount: 1;
   992 			PosSprite: sprWater),
   992             PosSprite: sprWater),
   993 			(NameId: sidDEagle;
   993             (NameId: sidDEagle;
   994 			NameTex: nil;
   994             NameTex: nil;
   995 			Probability: 20;
   995             Probability: 20;
   996 			NumberInCase: 2;
   996             NumberInCase: 2;
   997 			Ammo: (Propz: 0;
   997             Ammo: (Propz: 0;
   998 				Count: 3;
   998                 Count: 3;
   999 				InitialCount: 3;
   999                 InitialCount: 3;
  1000 				NumPerTurn: 3;
  1000                 NumPerTurn: 3;
  1001 				Timer: 0;
  1001                 Timer: 0;
  1002 				Pos: 0;
  1002                 Pos: 0;
  1003 				AmmoType: amDEagle;
  1003                 AmmoType: amDEagle;
  1004 				AttackVoice: sndNone);
  1004                 AttackVoice: sndNone);
  1005 			Slot: 2;
  1005             Slot: 2;
  1006 			TimeAfterTurn: 3000;
  1006             TimeAfterTurn: 3000;
  1007 			minAngle: 0;
  1007             minAngle: 0;
  1008 			maxAngle: 0;
  1008             maxAngle: 0;
  1009 			isDamaging: true;
  1009             isDamaging: true;
  1010 			SkipTurns: 0;
  1010             SkipTurns: 0;
  1011 			PosCount: 1;
  1011             PosCount: 1;
  1012 			PosSprite: sprWater),
  1012             PosSprite: sprWater),
  1013 			(NameId: sidDynamite;
  1013             (NameId: sidDynamite;
  1014 			NameTex: nil;
  1014             NameTex: nil;
  1015 			Probability: 100;
  1015             Probability: 100;
  1016 			NumberInCase: 1;
  1016             NumberInCase: 1;
  1017 			Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_AttackInMove or ammoprop_DontHold or ammoprop_AltUse;
  1017             Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_AttackInMove or ammoprop_DontHold or ammoprop_AltUse;
  1018 				Count: 1;
  1018                 Count: 1;
  1019 				InitialCount: 1;
       
  1020 				NumPerTurn: 0;
       
  1021 				Timer: 0;
       
  1022 				Pos: 0;
       
  1023 				AmmoType: amDynamite;
       
  1024 				AttackVoice: sndLaugh);
       
  1025 			Slot: 4;
       
  1026 			TimeAfterTurn: 5000;
       
  1027 			minAngle: 0;
       
  1028 			maxAngle: 0;
       
  1029 			isDamaging: true;
       
  1030 			SkipTurns: 0;
       
  1031 			PosCount: 1;
       
  1032 			PosSprite: sprWater),
       
  1033 			(NameId: sidFirePunch;
       
  1034 			NameTex: nil;
       
  1035 			Probability: 0;
       
  1036 			NumberInCase: 1;
       
  1037 			Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_ForwMsgs or ammoprop_AttackInMove;
       
  1038 				Count: AMMO_INFINITE;
       
  1039 				InitialCount: AMMO_INFINITE;
       
  1040 				NumPerTurn: 0;
       
  1041 				Timer: 0;
       
  1042 				Pos: 0;
       
  1043 				AmmoType: amFirePunch;
       
  1044 				AttackVoice: sndNone);
       
  1045 			Slot: 3;
       
  1046 			TimeAfterTurn: 3000;
       
  1047 			MinAngle: 0;
       
  1048 			maxAngle: 0;
       
  1049 			isDamaging: true;
       
  1050 			SkipTurns: 0;
       
  1051 			PosCount: 1;
       
  1052 			PosSprite: sprWater),
       
  1053 			(NameId: sidWhip;
       
  1054 			NameTex: nil;
       
  1055 			Probability: 0;
       
  1056 			NumberInCase: 1;
       
  1057 			Ammo: (Propz: ammoprop_NoCrosshair;
       
  1058 				Count: AMMO_INFINITE;
       
  1059 				InitialCount: AMMO_INFINITE;
       
  1060 				NumPerTurn: 0;
       
  1061 				Timer: 0;
       
  1062 				Pos: 0;
       
  1063 				AmmoType: amWhip;
       
  1064 				AttackVoice: sndNone);
       
  1065 			Slot: 3;
       
  1066 			TimeAfterTurn: 3000;
       
  1067 			MinAngle: 0;
       
  1068 			maxAngle: 0;
       
  1069 			isDamaging: true;
       
  1070 			SkipTurns: 0;
       
  1071 			PosCount: 1;
       
  1072 			PosSprite: sprWater),
       
  1073 			(NameId: sidBaseballBat;
       
  1074 			NameTex: nil;
       
  1075 			Probability: 100;
       
  1076 			NumberInCase: 1;
       
  1077 			Ammo: (Propz: ammoprop_DontHold;
       
  1078 				Count: 1;
       
  1079 				InitialCount: 1;
       
  1080 				NumPerTurn: 0;
       
  1081 				Timer: 0;
       
  1082 				Pos: 0;
       
  1083 				AmmoType: amBaseballBat;
       
  1084 				AttackVoice: sndNone);
       
  1085 			Slot: 3;
       
  1086 			TimeAfterTurn: 5000;
       
  1087 			minAngle: 0;
       
  1088 			maxAngle: cMaxAngle div 2;
       
  1089 			isDamaging: true;
       
  1090 			SkipTurns: 2;
       
  1091 			PosCount: 1;
       
  1092 			PosSprite: sprWater),
       
  1093 			(NameId: sidParachute;
       
  1094 			NameTex: nil;
       
  1095 			Probability: 100;
       
  1096 			NumberInCase: 1;
       
  1097 			Ammo: (Propz: ammoprop_NoRoundEndHint or
       
  1098 						  ammoprop_ForwMsgs or
       
  1099 							ammoprop_AttackInMove or
       
  1100 							ammoprop_NoCrosshair or
       
  1101 							ammoprop_DontHold or
       
  1102 							ammoprop_AltAttack;
       
  1103 				Count: 2;
       
  1104 				InitialCount: 2;
       
  1105 				NumPerTurn: 0;
       
  1106 				Timer: 0;
       
  1107 				Pos: 0;
       
  1108 				AmmoType: amParachute;
       
  1109 				AttackVoice: sndNone);
       
  1110 			Slot: 7;
       
  1111 			TimeAfterTurn: 0;
       
  1112 			minAngle: 0;
       
  1113 			maxAngle: 0;
       
  1114 			isDamaging: false;
       
  1115 			SkipTurns: 0;
       
  1116 			PosCount: 1;
       
  1117 			PosSprite: sprWater),
       
  1118 			(NameId: sidAirAttack;
       
  1119 			NameTex: nil;
       
  1120 			Probability: 100;
       
  1121 			NumberInCase: 1;
       
  1122 			Ammo: (Propz: ammoprop_NoCrosshair or
       
  1123 							ammoprop_NeedTarget or
       
  1124 							ammoprop_AttackingPut or
       
  1125 							ammoprop_DontHold or
       
  1126 							ammoprop_NotBorder;
       
  1127 				Count: 1;
       
  1128 				InitialCount: 1;
       
  1129 				NumPerTurn: 0;
       
  1130 				Timer: 0;
       
  1131 				Pos: 0;
       
  1132 				AmmoType: amAirAttack;
       
  1133 				AttackVoice: sndIncoming);
       
  1134 			Slot: 5;
       
  1135 			TimeAfterTurn: 0;
       
  1136 			minAngle: 0;
       
  1137 			maxAngle: 0;
       
  1138 			isDamaging: true;
       
  1139 			SkipTurns: 5;
       
  1140 			PosCount: 2;
       
  1141 			PosSprite: sprAmAirplane),
       
  1142 			(NameId: sidMineStrike;
       
  1143 			NameTex: nil;
       
  1144 			Probability: 200;
       
  1145 			NumberInCase: 1;
       
  1146 			Ammo: (Propz: ammoprop_NoCrosshair or
       
  1147 							ammoprop_NeedTarget or
       
  1148 							ammoprop_AttackingPut or
       
  1149 							ammoprop_DontHold or
       
  1150 							ammoprop_NotBorder;
       
  1151 				Count: 1;
       
  1152 				InitialCount: 1;
       
  1153 				NumPerTurn: 0;
       
  1154 				Timer: 0;
       
  1155 				Pos: 0;
       
  1156 				AmmoType: amMineStrike;
       
  1157 				AttackVoice: sndNone);
       
  1158 			Slot: 5;
       
  1159 			TimeAfterTurn: 0;
       
  1160 			minAngle: 0;
       
  1161 			maxAngle: 0;
       
  1162 			isDamaging: true;
       
  1163 			SkipTurns: 5;
       
  1164 			PosCount: 2;
       
  1165 			PosSprite: sprAmAirplane),
       
  1166 			(NameId: sidBlowTorch;
       
  1167 			NameTex: nil;
       
  1168 			Probability: 100;
       
  1169 			NumberInCase: 2;
       
  1170 			Ammo: (Propz: ammoprop_ForwMsgs;
       
  1171 				Count: 1;
       
  1172 				InitialCount: 1;
       
  1173 				NumPerTurn: 0;
       
  1174 				Timer: 0;
       
  1175 				Pos: 0;
       
  1176 				AmmoType: amBlowTorch;
       
  1177 				AttackVoice: sndNone);
       
  1178 			Slot: 6;
       
  1179 			TimeAfterTurn: 3000;
       
  1180 			minAngle: 768;
       
  1181 			maxAngle: 1280;
       
  1182 			isDamaging: false;
       
  1183 			SkipTurns: 0;
       
  1184 			PosCount: 1;
       
  1185 			PosSprite: sprWater),
       
  1186 			(NameId: sidGirder;
       
  1187 			NameTex: nil;
       
  1188 			Probability: 150;
       
  1189 			NumberInCase: 3;
       
  1190 			Ammo: (Propz: ammoprop_NoRoundEndHint or
       
  1191 						  ammoprop_NoCrosshair or
       
  1192 							ammoprop_NeedTarget or
       
  1193 							ammoprop_AttackingPut;
       
  1194 					Count: 1;
       
  1195 				    InitialCount: 1;
       
  1196 					NumPerTurn: 0;
       
  1197 					Timer: 0;
       
  1198 					Pos: 0;
       
  1199 					AmmoType: amGirder;
       
  1200 					AttackVoice: sndNone);
       
  1201 			Slot: 6;
       
  1202 			TimeAfterTurn: 3000;
       
  1203 			minAngle: 0;
       
  1204 			maxAngle: 0;
       
  1205 			isDamaging: false;
       
  1206 			SkipTurns: 0;
       
  1207 			PosCount: 8;
       
  1208 			PosSprite: sprAmGirder),
       
  1209 			(NameId: sidTeleport;
       
  1210 			NameTex: nil;
       
  1211 			Probability: 200;
       
  1212 			NumberInCase: 1;
       
  1213 			Ammo: (Propz: ammoprop_ForwMsgs or
       
  1214 							ammoprop_NoCrosshair or
       
  1215 							ammoprop_NeedTarget or
       
  1216 							ammoprop_AttackingPut or
       
  1217 							ammoprop_DontHold;
       
  1218 				Count: 2;
       
  1219 				InitialCount: 2;
       
  1220 				NumPerTurn: 0;
       
  1221 				Timer: 0;
       
  1222 				Pos: 0;
       
  1223 				AmmoType: amTeleport;
       
  1224 				AttackVoice: sndNone);
       
  1225 			Slot: 7;
       
  1226 			TimeAfterTurn: 0;
       
  1227 			minAngle: 0;
       
  1228 			maxAngle: 0;
       
  1229 			isDamaging: false;
       
  1230 			SkipTurns: 0;
       
  1231 			PosCount: 2;
       
  1232 			PosSprite: sprAmTeleport),
       
  1233 			(NameId: sidSwitch;
       
  1234 			NameTex: nil;
       
  1235 			Probability: 100;
       
  1236 			NumberInCase: 1;
       
  1237 			Ammo: (Propz: ammoprop_NoRoundEndHint or
       
  1238 						  ammoprop_ForwMsgs or
       
  1239 							ammoprop_NoCrosshair or
       
  1240 							ammoprop_DontHold;
       
  1241 					Count: 3;
       
  1242 				    InitialCount: 3;
       
  1243 					NumPerTurn: 0;
       
  1244 					Timer: 0;
       
  1245 					Pos: 0;
       
  1246 					AmmoType: amSwitch;
       
  1247 					AttackVoice: sndNone);
       
  1248 			Slot: 8;
       
  1249 			TimeAfterTurn: 0;
       
  1250 			minAngle: 0;
       
  1251 			maxAngle: 0;
       
  1252 			isDamaging: false;
       
  1253 			SkipTurns: 0;
       
  1254 			PosCount: 1;
       
  1255 			PosSprite: sprWater),
       
  1256 			(NameId: sidMortar;
       
  1257 			NameTex: nil;
       
  1258 			Probability: 100;
       
  1259 			NumberInCase: 4;
       
  1260 			Ammo: (Propz: 0;
       
  1261 				Count: 4;
       
  1262 				InitialCount: 4;
       
  1263 				NumPerTurn: 0;
       
  1264 				Timer: 0;
       
  1265 				Pos: 0;
       
  1266 				AmmoType: amMortar;
       
  1267 				AttackVoice: sndNone);
       
  1268 			Slot: 1;
       
  1269 			TimeAfterTurn: 3000;
       
  1270 			minAngle: 0;
       
  1271 			maxAngle: 0;
       
  1272 			isDamaging: true;
       
  1273 			SkipTurns: 0;
       
  1274 			PosCount: 1;
       
  1275 			PosSprite: sprWater),
       
  1276 			(NameId: sidKamikaze;
       
  1277 			NameTex: nil;
       
  1278 			Probability: 100;
       
  1279 			NumberInCase: 1;
       
  1280 			Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold or ammoprop_AttackInMove;
       
  1281 				Count: 1;
       
  1282 				InitialCount: 1;
       
  1283 				NumPerTurn: 0;
       
  1284 				Timer: 0;
       
  1285 				Pos: 0;
       
  1286 				AmmoType: amKamikaze;
       
  1287 				AttackVoice: sndNone);
       
  1288 			Slot: 3;
       
  1289 			TimeAfterTurn: 0;
       
  1290 			minAngle: 0;
       
  1291 			maxAngle: 0;
       
  1292 			isDamaging: true;
       
  1293 			SkipTurns: 0;
       
  1294 			PosCount: 1;
       
  1295 			PosSprite: sprWater),
       
  1296 			(NameId: sidCake;
       
  1297 			NameTex: nil;
       
  1298 			Probability: 100;
       
  1299 			NumberInCase: 1;
       
  1300 			Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_NoCrosshair or ammoprop_DontHold;
       
  1301 				Count: 1;
       
  1302 				InitialCount: 1;
       
  1303 				NumPerTurn: 0;
       
  1304 				Timer: 0;
       
  1305 				Pos: 0;
       
  1306 				AmmoType: amCake;
       
  1307 				AttackVoice: sndLaugh);
       
  1308 			Slot: 4;
       
  1309 			TimeAfterTurn: 0;
       
  1310 			minAngle: 0;
       
  1311 			maxAngle: 0;
       
  1312 			isDamaging: true;
       
  1313 			SkipTurns: 4;
       
  1314 			PosCount: 1;
       
  1315 			PosSprite: sprWater),
       
  1316 			(NameId: sidSeduction;
       
  1317 			NameTex: nil;
       
  1318 			Probability: 100;
       
  1319 			NumberInCase: 1;
       
  1320 			Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold;
       
  1321 				Count: 1;
       
  1322                 InitialCount: 1;
  1019                 InitialCount: 1;
  1323 				NumPerTurn: 0;
  1020                 NumPerTurn: 0;
  1324 				Timer: 0;
  1021                 Timer: 0;
  1325 				Pos: 0;
  1022                 Pos: 0;
  1326 				AmmoType: amSeduction;
  1023                 AmmoType: amDynamite;
  1327 				AttackVoice: sndNone);
  1024                 AttackVoice: sndLaugh);
  1328 			Slot: 2;
  1025             Slot: 4;
  1329 			TimeAfterTurn: 0;
  1026             TimeAfterTurn: 5000;
  1330 			minAngle: 0;
  1027             minAngle: 0;
  1331 			maxAngle: 0;
  1028             maxAngle: 0;
  1332 			isDamaging: false;
  1029             isDamaging: true;
  1333 			SkipTurns: 0;
  1030             SkipTurns: 0;
  1334 			PosCount: 1;
  1031             PosCount: 1;
  1335 			PosSprite: sprWater),
  1032             PosSprite: sprWater),
  1336 			(NameId: sidWatermelon;
  1033             (NameId: sidFirePunch;
  1337 			NameTex: nil;
  1034             NameTex: nil;
  1338 			Probability: 400;
  1035             Probability: 0;
  1339 			NumberInCase: 1;
  1036             NumberInCase: 1;
  1340 			Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse;
  1037             Ammo: (Propz: ammoprop_NoCrosshair or ammoprop_ForwMsgs or ammoprop_AttackInMove;
  1341 				Count: 0;
  1038                 Count: AMMO_INFINITE;
       
  1039                 InitialCount: AMMO_INFINITE;
       
  1040                 NumPerTurn: 0;
       
  1041                 Timer: 0;
       
  1042                 Pos: 0;
       
  1043                 AmmoType: amFirePunch;
       
  1044                 AttackVoice: sndNone);
       
  1045             Slot: 3;
       
  1046             TimeAfterTurn: 3000;
       
  1047             MinAngle: 0;
       
  1048             maxAngle: 0;
       
  1049             isDamaging: true;
       
  1050             SkipTurns: 0;
       
  1051             PosCount: 1;
       
  1052             PosSprite: sprWater),
       
  1053             (NameId: sidWhip;
       
  1054             NameTex: nil;
       
  1055             Probability: 0;
       
  1056             NumberInCase: 1;
       
  1057             Ammo: (Propz: ammoprop_NoCrosshair;
       
  1058                 Count: AMMO_INFINITE;
       
  1059                 InitialCount: AMMO_INFINITE;
       
  1060                 NumPerTurn: 0;
       
  1061                 Timer: 0;
       
  1062                 Pos: 0;
       
  1063                 AmmoType: amWhip;
       
  1064                 AttackVoice: sndNone);
       
  1065             Slot: 3;
       
  1066             TimeAfterTurn: 3000;
       
  1067             MinAngle: 0;
       
  1068             maxAngle: 0;
       
  1069             isDamaging: true;
       
  1070             SkipTurns: 0;
       
  1071             PosCount: 1;
       
  1072             PosSprite: sprWater),
       
  1073             (NameId: sidBaseballBat;
       
  1074             NameTex: nil;
       
  1075             Probability: 100;
       
  1076             NumberInCase: 1;
       
  1077             Ammo: (Propz: ammoprop_DontHold;
       
  1078                 Count: 1;
       
  1079                 InitialCount: 1;
       
  1080                 NumPerTurn: 0;
       
  1081                 Timer: 0;
       
  1082                 Pos: 0;
       
  1083                 AmmoType: amBaseballBat;
       
  1084                 AttackVoice: sndNone);
       
  1085             Slot: 3;
       
  1086             TimeAfterTurn: 5000;
       
  1087             minAngle: 0;
       
  1088             maxAngle: cMaxAngle div 2;
       
  1089             isDamaging: true;
       
  1090             SkipTurns: 2;
       
  1091             PosCount: 1;
       
  1092             PosSprite: sprWater),
       
  1093             (NameId: sidParachute;
       
  1094             NameTex: nil;
       
  1095             Probability: 100;
       
  1096             NumberInCase: 1;
       
  1097             Ammo: (Propz: ammoprop_NoRoundEndHint or
       
  1098                           ammoprop_ForwMsgs or
       
  1099                             ammoprop_AttackInMove or
       
  1100                             ammoprop_NoCrosshair or
       
  1101                             ammoprop_DontHold or
       
  1102                             ammoprop_AltAttack;
       
  1103                 Count: 2;
       
  1104                 InitialCount: 2;
       
  1105                 NumPerTurn: 0;
       
  1106                 Timer: 0;
       
  1107                 Pos: 0;
       
  1108                 AmmoType: amParachute;
       
  1109                 AttackVoice: sndNone);
       
  1110             Slot: 7;
       
  1111             TimeAfterTurn: 0;
       
  1112             minAngle: 0;
       
  1113             maxAngle: 0;
       
  1114             isDamaging: false;
       
  1115             SkipTurns: 0;
       
  1116             PosCount: 1;
       
  1117             PosSprite: sprWater),
       
  1118             (NameId: sidAirAttack;
       
  1119             NameTex: nil;
       
  1120             Probability: 100;
       
  1121             NumberInCase: 1;
       
  1122             Ammo: (Propz: ammoprop_NoCrosshair or
       
  1123                             ammoprop_NeedTarget or
       
  1124                             ammoprop_AttackingPut or
       
  1125                             ammoprop_DontHold or
       
  1126                             ammoprop_NotBorder;
       
  1127                 Count: 1;
       
  1128                 InitialCount: 1;
       
  1129                 NumPerTurn: 0;
       
  1130                 Timer: 0;
       
  1131                 Pos: 0;
       
  1132                 AmmoType: amAirAttack;
       
  1133                 AttackVoice: sndIncoming);
       
  1134             Slot: 5;
       
  1135             TimeAfterTurn: 0;
       
  1136             minAngle: 0;
       
  1137             maxAngle: 0;
       
  1138             isDamaging: true;
       
  1139             SkipTurns: 5;
       
  1140             PosCount: 2;
       
  1141             PosSprite: sprAmAirplane),
       
  1142             (NameId: sidMineStrike;
       
  1143             NameTex: nil;
       
  1144             Probability: 200;
       
  1145             NumberInCase: 1;
       
  1146             Ammo: (Propz: ammoprop_NoCrosshair or
       
  1147                             ammoprop_NeedTarget or
       
  1148                             ammoprop_AttackingPut or
       
  1149                             ammoprop_DontHold or
       
  1150                             ammoprop_NotBorder;
       
  1151                 Count: 1;
       
  1152                 InitialCount: 1;
       
  1153                 NumPerTurn: 0;
       
  1154                 Timer: 0;
       
  1155                 Pos: 0;
       
  1156                 AmmoType: amMineStrike;
       
  1157                 AttackVoice: sndNone);
       
  1158             Slot: 5;
       
  1159             TimeAfterTurn: 0;
       
  1160             minAngle: 0;
       
  1161             maxAngle: 0;
       
  1162             isDamaging: true;
       
  1163             SkipTurns: 5;
       
  1164             PosCount: 2;
       
  1165             PosSprite: sprAmAirplane),
       
  1166             (NameId: sidBlowTorch;
       
  1167             NameTex: nil;
       
  1168             Probability: 100;
       
  1169             NumberInCase: 2;
       
  1170             Ammo: (Propz: ammoprop_ForwMsgs;
       
  1171                 Count: 1;
       
  1172                 InitialCount: 1;
       
  1173                 NumPerTurn: 0;
       
  1174                 Timer: 0;
       
  1175                 Pos: 0;
       
  1176                 AmmoType: amBlowTorch;
       
  1177                 AttackVoice: sndNone);
       
  1178             Slot: 6;
       
  1179             TimeAfterTurn: 3000;
       
  1180             minAngle: 768;
       
  1181             maxAngle: 1280;
       
  1182             isDamaging: false;
       
  1183             SkipTurns: 0;
       
  1184             PosCount: 1;
       
  1185             PosSprite: sprWater),
       
  1186             (NameId: sidGirder;
       
  1187             NameTex: nil;
       
  1188             Probability: 150;
       
  1189             NumberInCase: 3;
       
  1190             Ammo: (Propz: ammoprop_NoRoundEndHint or
       
  1191                           ammoprop_NoCrosshair or
       
  1192                             ammoprop_NeedTarget or
       
  1193                             ammoprop_AttackingPut;
       
  1194                     Count: 1;
       
  1195                     InitialCount: 1;
       
  1196                     NumPerTurn: 0;
       
  1197                     Timer: 0;
       
  1198                     Pos: 0;
       
  1199                     AmmoType: amGirder;
       
  1200                     AttackVoice: sndNone);
       
  1201             Slot: 6;
       
  1202             TimeAfterTurn: 3000;
       
  1203             minAngle: 0;
       
  1204             maxAngle: 0;
       
  1205             isDamaging: false;
       
  1206             SkipTurns: 0;
       
  1207             PosCount: 8;
       
  1208             PosSprite: sprAmGirder),
       
  1209             (NameId: sidTeleport;
       
  1210             NameTex: nil;
       
  1211             Probability: 200;
       
  1212             NumberInCase: 1;
       
  1213             Ammo: (Propz: ammoprop_ForwMsgs or
       
  1214                             ammoprop_NoCrosshair or
       
  1215                             ammoprop_NeedTarget or
       
  1216                             ammoprop_AttackingPut or
       
  1217                             ammoprop_DontHold;
       
  1218                 Count: 2;
       
  1219                 InitialCount: 2;
       
  1220                 NumPerTurn: 0;
       
  1221                 Timer: 0;
       
  1222                 Pos: 0;
       
  1223                 AmmoType: amTeleport;
       
  1224                 AttackVoice: sndNone);
       
  1225             Slot: 7;
       
  1226             TimeAfterTurn: 0;
       
  1227             minAngle: 0;
       
  1228             maxAngle: 0;
       
  1229             isDamaging: false;
       
  1230             SkipTurns: 0;
       
  1231             PosCount: 2;
       
  1232             PosSprite: sprAmTeleport),
       
  1233             (NameId: sidSwitch;
       
  1234             NameTex: nil;
       
  1235             Probability: 100;
       
  1236             NumberInCase: 1;
       
  1237             Ammo: (Propz: ammoprop_NoRoundEndHint or
       
  1238                           ammoprop_ForwMsgs or
       
  1239                             ammoprop_NoCrosshair or
       
  1240                             ammoprop_DontHold;
       
  1241                     Count: 3;
       
  1242                     InitialCount: 3;
       
  1243                     NumPerTurn: 0;
       
  1244                     Timer: 0;
       
  1245                     Pos: 0;
       
  1246                     AmmoType: amSwitch;
       
  1247                     AttackVoice: sndNone);
       
  1248             Slot: 8;
       
  1249             TimeAfterTurn: 0;
       
  1250             minAngle: 0;
       
  1251             maxAngle: 0;
       
  1252             isDamaging: false;
       
  1253             SkipTurns: 0;
       
  1254             PosCount: 1;
       
  1255             PosSprite: sprWater),
       
  1256             (NameId: sidMortar;
       
  1257             NameTex: nil;
       
  1258             Probability: 100;
       
  1259             NumberInCase: 4;
       
  1260             Ammo: (Propz: 0;
       
  1261                 Count: 4;
       
  1262                 InitialCount: 4;
       
  1263                 NumPerTurn: 0;
       
  1264                 Timer: 0;
       
  1265                 Pos: 0;
       
  1266                 AmmoType: amMortar;
       
  1267                 AttackVoice: sndNone);
       
  1268             Slot: 1;
       
  1269             TimeAfterTurn: 3000;
       
  1270             minAngle: 0;
       
  1271             maxAngle: 0;
       
  1272             isDamaging: true;
       
  1273             SkipTurns: 0;
       
  1274             PosCount: 1;
       
  1275             PosSprite: sprWater),
       
  1276             (NameId: sidKamikaze;
       
  1277             NameTex: nil;
       
  1278             Probability: 100;
       
  1279             NumberInCase: 1;
       
  1280             Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold or ammoprop_AttackInMove;
       
  1281                 Count: 1;
       
  1282                 InitialCount: 1;
       
  1283                 NumPerTurn: 0;
       
  1284                 Timer: 0;
       
  1285                 Pos: 0;
       
  1286                 AmmoType: amKamikaze;
       
  1287                 AttackVoice: sndNone);
       
  1288             Slot: 3;
       
  1289             TimeAfterTurn: 0;
       
  1290             minAngle: 0;
       
  1291             maxAngle: 0;
       
  1292             isDamaging: true;
       
  1293             SkipTurns: 0;
       
  1294             PosCount: 1;
       
  1295             PosSprite: sprWater),
       
  1296             (NameId: sidCake;
       
  1297             NameTex: nil;
       
  1298             Probability: 100;
       
  1299             NumberInCase: 1;
       
  1300             Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_NoCrosshair or ammoprop_DontHold;
       
  1301                 Count: 1;
       
  1302                 InitialCount: 1;
       
  1303                 NumPerTurn: 0;
       
  1304                 Timer: 0;
       
  1305                 Pos: 0;
       
  1306                 AmmoType: amCake;
       
  1307                 AttackVoice: sndLaugh);
       
  1308             Slot: 4;
       
  1309             TimeAfterTurn: 0;
       
  1310             minAngle: 0;
       
  1311             maxAngle: 0;
       
  1312             isDamaging: true;
       
  1313             SkipTurns: 4;
       
  1314             PosCount: 1;
       
  1315             PosSprite: sprWater),
       
  1316             (NameId: sidSeduction;
       
  1317             NameTex: nil;
       
  1318             Probability: 100;
       
  1319             NumberInCase: 1;
       
  1320             Ammo: (Propz: ammoprop_ForwMsgs or ammoprop_DontHold;
       
  1321                 Count: 1;
       
  1322                 InitialCount: 1;
       
  1323                 NumPerTurn: 0;
       
  1324                 Timer: 0;
       
  1325                 Pos: 0;
       
  1326                 AmmoType: amSeduction;
       
  1327                 AttackVoice: sndNone);
       
  1328             Slot: 2;
       
  1329             TimeAfterTurn: 0;
       
  1330             minAngle: 0;
       
  1331             maxAngle: 0;
       
  1332             isDamaging: false;
       
  1333             SkipTurns: 0;
       
  1334             PosCount: 1;
       
  1335             PosSprite: sprWater),
       
  1336             (NameId: sidWatermelon;
       
  1337             NameTex: nil;
       
  1338             Probability: 400;
       
  1339             NumberInCase: 1;
       
  1340             Ammo: (Propz: ammoprop_Timerable or ammoprop_Power or ammoprop_AltUse;
       
  1341                 Count: 0;
  1342                 InitialCount: 0;
  1342                 InitialCount: 0;
  1343 				NumPerTurn: 0;
  1343                 NumPerTurn: 0;
  1344 				Timer: 3000;
  1344                 Timer: 3000;
  1345 				Pos: 0;
  1345                 Pos: 0;
  1346 				AmmoType: amWatermelon;
  1346                 AmmoType: amWatermelon;
  1347 				AttackVoice: sndMelon);
  1347                 AttackVoice: sndMelon);
  1348 			Slot: 1;
  1348             Slot: 1;
  1349 			TimeAfterTurn: 3000;
  1349             TimeAfterTurn: 3000;
  1350 			minAngle: 0;
  1350             minAngle: 0;
  1351 			maxAngle: 0;
  1351             maxAngle: 0;
  1352 			isDamaging: true;
  1352             isDamaging: true;
  1353 			SkipTurns: 0;
  1353             SkipTurns: 0;
  1354 			PosCount: 1;
  1354             PosCount: 1;
  1355 			PosSprite: sprWater),
  1355             PosSprite: sprWater),
  1356 			(NameId: sidHellishBomb;
  1356             (NameId: sidHellishBomb;
  1357 			NameTex: nil;
  1357             NameTex: nil;
  1358 			Probability: 400;
  1358             Probability: 400;
  1359 			NumberInCase: 1;
  1359             NumberInCase: 1;
  1360 			Ammo: (Propz:  ammoprop_Power or ammoprop_AltUse;
  1360             Ammo: (Propz:  ammoprop_Power or ammoprop_AltUse;
  1361 				Count: 0;
  1361                 Count: 0;
  1362                 InitialCount: 0;
  1362                 InitialCount: 0;
  1363 				NumPerTurn: 0;
  1363                 NumPerTurn: 0;
  1364 				Timer: 5000;
  1364                 Timer: 5000;
  1365 				Pos: 0;
  1365                 Pos: 0;
  1366 				AmmoType: amHellishBomb;
  1366                 AmmoType: amHellishBomb;
  1367 				AttackVoice: sndNone);
  1367                 AttackVoice: sndNone);
  1368 			Slot: 4;
  1368             Slot: 4;
  1369 			TimeAfterTurn: 3000;
  1369             TimeAfterTurn: 3000;
  1370 			minAngle: 0;
  1370             minAngle: 0;
  1371 			maxAngle: 0;
  1371             maxAngle: 0;
  1372 			isDamaging: true;
  1372             isDamaging: true;
  1373 			SkipTurns: 0;
  1373             SkipTurns: 0;
  1374 			PosCount: 1;
  1374             PosCount: 1;
  1375 			PosSprite: sprWater),
  1375             PosSprite: sprWater),
  1376 			(NameId: sidNapalm;
  1376             (NameId: sidNapalm;
  1377 			NameTex: nil;
  1377             NameTex: nil;
  1378 			Probability: 100;
  1378             Probability: 100;
  1379 			NumberInCase: 1;
  1379             NumberInCase: 1;
  1380 			Ammo: (Propz: ammoprop_NoCrosshair or
  1380             Ammo: (Propz: ammoprop_NoCrosshair or
  1381 							ammoprop_NeedTarget or
  1381                             ammoprop_NeedTarget or
  1382 							ammoprop_AttackingPut or
  1382                             ammoprop_AttackingPut or
  1383 							ammoprop_DontHold or
  1383                             ammoprop_DontHold or
  1384 							ammoprop_NotBorder;
  1384                             ammoprop_NotBorder;
  1385 				Count: 1;
  1385                 Count: 1;
  1386                 InitialCount: 1;
  1386                 InitialCount: 1;
  1387 				NumPerTurn: 0;
  1387                 NumPerTurn: 0;
  1388 				Timer: 0;
  1388                 Timer: 0;
  1389 				Pos: 0;
  1389                 Pos: 0;
  1390 				AmmoType: amNapalm;
  1390                 AmmoType: amNapalm;
  1391 				AttackVoice: sndNone);
  1391                 AttackVoice: sndNone);
  1392 			Slot: 5;
  1392             Slot: 5;
  1393 			TimeAfterTurn: 0;
  1393             TimeAfterTurn: 0;
  1394 			minAngle: 0;
  1394             minAngle: 0;
  1395 			maxAngle: 0;
  1395             maxAngle: 0;
  1396 			isDamaging: true;
  1396             isDamaging: true;
  1397 			SkipTurns: 7;
  1397             SkipTurns: 7;
  1398 			PosCount: 2;
  1398             PosCount: 2;
  1399 			PosSprite: sprAmAirplane),
  1399             PosSprite: sprAmAirplane),
  1400 			(NameId: sidDrill;
  1400             (NameId: sidDrill;
  1401 			NameTex: nil;
  1401             NameTex: nil;
  1402 			Probability: 300;
  1402             Probability: 300;
  1403 			NumberInCase: 1;
  1403             NumberInCase: 1;
  1404 			Ammo: (Propz: ammoprop_Power or ammoprop_AltUse;
  1404             Ammo: (Propz: ammoprop_Power or ammoprop_AltUse;
  1405 				Count: AMMO_INFINITE;
  1405                 Count: AMMO_INFINITE;
  1406                 InitialCount: AMMO_INFINITE;
  1406                 InitialCount: AMMO_INFINITE;
  1407 				NumPerTurn: 0;
  1407                 NumPerTurn: 0;
  1408 				Timer: 0;
  1408                 Timer: 0;
  1409 				Pos: 0;
  1409                 Pos: 0;
  1410 				AmmoType: amDrill;
  1410                 AmmoType: amDrill;
  1411 				AttackVoice: sndNone);
  1411                 AttackVoice: sndNone);
  1412 			Slot: 0;
  1412             Slot: 0;
  1413 			TimeAfterTurn: 3000;
  1413             TimeAfterTurn: 3000;
  1414 			minAngle: 0;
  1414             minAngle: 0;
  1415 			maxAngle: 0;
  1415             maxAngle: 0;
  1416 			isDamaging: true;
  1416             isDamaging: true;
  1417 			SkipTurns: 0;
  1417             SkipTurns: 0;
  1418 			PosCount: 1;
  1418             PosCount: 1;
  1419 			PosSprite: sprDrill),
  1419             PosSprite: sprDrill),
  1420 			(NameId: sidBallgun;
  1420             (NameId: sidBallgun;
  1421 			NameTex: nil;
  1421             NameTex: nil;
  1422 			Probability: 400;
  1422             Probability: 400;
  1423 			NumberInCase: 1;
  1423             NumberInCase: 1;
  1424 			Ammo: (Propz:  ammoprop_ForwMsgs or ammoprop_DontHold;
  1424             Ammo: (Propz:  ammoprop_ForwMsgs or ammoprop_DontHold;
  1425 				Count: AMMO_INFINITE;
  1425                 Count: AMMO_INFINITE;
  1426                 InitialCount: AMMO_INFINITE;
  1426                 InitialCount: AMMO_INFINITE;
  1427 				NumPerTurn: 0;
  1427                 NumPerTurn: 0;
  1428 				Timer: 5001;
  1428                 Timer: 5001;
  1429 				Pos: 0;
  1429                 Pos: 0;
  1430 				AmmoType: amBallgun;
  1430                 AmmoType: amBallgun;
  1431 				AttackVoice: sndNone);
  1431                 AttackVoice: sndNone);
  1432 			Slot: 2;
  1432             Slot: 2;
  1433 			TimeAfterTurn: 0;
  1433             TimeAfterTurn: 0;
  1434 			minAngle: 0;
  1434             minAngle: 0;
  1435 			maxAngle: 0;
  1435             maxAngle: 0;
  1436 			isDamaging: true;
  1436             isDamaging: true;
  1437 			SkipTurns: 0;
  1437             SkipTurns: 0;
  1438 			PosCount: 1;
  1438             PosCount: 1;
  1439 			PosSprite: sprWater),
  1439             PosSprite: sprWater),
  1440 			(NameId: sidRCPlane;
  1440             (NameId: sidRCPlane;
  1441 			NameTex: nil;
  1441             NameTex: nil;
  1442 			Probability: 200;
  1442             Probability: 200;
  1443 			NumberInCase: 1;
  1443             NumberInCase: 1;
  1444 			Ammo: (Propz: ammoprop_ForwMsgs{ or
  1444             Ammo: (Propz: ammoprop_ForwMsgs{ or
  1445 							ammoprop_DontHold or
  1445                             ammoprop_DontHold or
  1446 							ammoprop_AltAttack};
  1446                             ammoprop_AltAttack};
  1447 				Count: 1;
  1447                 Count: 1;
  1448                 InitialCount: 1;
  1448                 InitialCount: 1;
  1449 				NumPerTurn: 0;
  1449                 NumPerTurn: 0;
  1450 				Timer: 0;
  1450                 Timer: 0;
  1451 				Pos: 0;
  1451                 Pos: 0;
  1452 				AmmoType: amRCPlane;
  1452                 AmmoType: amRCPlane;
  1453 				AttackVoice: sndNone);
  1453                 AttackVoice: sndNone);
  1454 			Slot: 6;
  1454             Slot: 6;
  1455 			TimeAfterTurn: 0;
  1455             TimeAfterTurn: 0;
  1456 			minAngle: 0;
  1456             minAngle: 0;
  1457 			maxAngle: 0;
  1457             maxAngle: 0;
  1458 			isDamaging: true;
  1458             isDamaging: true;
  1459 			SkipTurns: 4;
  1459             SkipTurns: 4;
  1460 			PosCount: 1;
  1460             PosCount: 1;
  1461 			PosSprite: sprWater),
  1461             PosSprite: sprWater),
  1462 			(NameId: sidLowGravity;
  1462             (NameId: sidLowGravity;
  1463 			NameTex: nil;
  1463             NameTex: nil;
  1464 			Probability: 20;
  1464             Probability: 20;
  1465 			NumberInCase: 1;
  1465             NumberInCase: 1;
  1466 			Ammo: (Propz: ammoprop_NoRoundEndHint or
  1466             Ammo: (Propz: ammoprop_NoRoundEndHint or
  1467 						  ammoprop_NoCrosshair or
  1467                           ammoprop_NoCrosshair or
  1468 						  ammoprop_DontHold or
  1468                           ammoprop_DontHold or
  1469 						  ammoprop_AltUse or
  1469                           ammoprop_AltUse or
  1470                           ammoprop_Utility;
  1470                           ammoprop_Utility;
  1471 					Count: 1;
  1471                     Count: 1;
  1472                     InitialCount: 1;
  1472                     InitialCount: 1;
  1473 					NumPerTurn: 0;
  1473                     NumPerTurn: 0;
  1474 					Timer: 0;
  1474                     Timer: 0;
  1475 					Pos: 0;
  1475                     Pos: 0;
  1476 					AmmoType: amLowGravity;
  1476                     AmmoType: amLowGravity;
  1477 					AttackVoice: sndNone);
  1477                     AttackVoice: sndNone);
  1478 			Slot: 8;
  1478             Slot: 8;
  1479 			TimeAfterTurn: 0;
  1479             TimeAfterTurn: 0;
  1480 			minAngle: 0;
  1480             minAngle: 0;
  1481 			maxAngle: 0;
  1481             maxAngle: 0;
  1482 			isDamaging: false;
  1482             isDamaging: false;
  1483 			SkipTurns: 0;
  1483             SkipTurns: 0;
  1484 			PosCount: 1;
  1484             PosCount: 1;
  1485 			PosSprite: sprWater),
  1485             PosSprite: sprWater),
  1486 			(NameId: sidExtraDamage;
  1486             (NameId: sidExtraDamage;
  1487 			NameTex: nil;
  1487             NameTex: nil;
  1488 			Probability: 15;
  1488             Probability: 15;
  1489 			NumberInCase: 1;
  1489             NumberInCase: 1;
  1490 			Ammo: (Propz: ammoprop_NoRoundEndHint or
  1490             Ammo: (Propz: ammoprop_NoRoundEndHint or
  1491 						  ammoprop_NoCrosshair or
  1491                           ammoprop_NoCrosshair or
  1492 						  ammoprop_DontHold or
  1492                           ammoprop_DontHold or
  1493 						  ammoprop_AltUse or
  1493                           ammoprop_AltUse or
  1494                           ammoprop_Utility;
  1494                           ammoprop_Utility;
  1495 					Count: 1;
  1495                     Count: 1;
  1496                     InitialCount: 1;
  1496                     InitialCount: 1;
  1497 					NumPerTurn: 0;
  1497                     NumPerTurn: 0;
  1498 					Timer: 0;
  1498                     Timer: 0;
  1499 					Pos: 0;
  1499                     Pos: 0;
  1500 					AmmoType: amExtraDamage;
  1500                     AmmoType: amExtraDamage;
  1501 					AttackVoice: sndNone);
  1501                     AttackVoice: sndNone);
  1502 			Slot: 8;
  1502             Slot: 8;
  1503 			TimeAfterTurn: 0;
  1503             TimeAfterTurn: 0;
  1504 			minAngle: 0;
  1504             minAngle: 0;
  1505 			maxAngle: 0;
  1505             maxAngle: 0;
  1506 			isDamaging: false;
  1506             isDamaging: false;
  1507 			SkipTurns: 0;
  1507             SkipTurns: 0;
  1508 			PosCount: 1;
  1508             PosCount: 1;
  1509 			PosSprite: sprWater),
  1509             PosSprite: sprWater),
  1510 			(NameId: sidInvulnerable;
  1510             (NameId: sidInvulnerable;
  1511 			NameTex: nil;
  1511             NameTex: nil;
  1512 			Probability: 20;
  1512             Probability: 20;
  1513 			NumberInCase: 1;
  1513             NumberInCase: 1;
  1514 			Ammo: (Propz: ammoprop_NoRoundEndHint or
  1514             Ammo: (Propz: ammoprop_NoRoundEndHint or
  1515 						  ammoprop_NoCrosshair or
  1515                           ammoprop_NoCrosshair or
  1516 						  ammoprop_DontHold or
  1516                           ammoprop_DontHold or
  1517 						  ammoprop_AltUse or
  1517                           ammoprop_AltUse or
  1518                           ammoprop_Utility;
  1518                           ammoprop_Utility;
  1519 					Count: 1;
  1519                     Count: 1;
  1520                     InitialCount: 1;
  1520                     InitialCount: 1;
  1521 					NumPerTurn: 0;
  1521                     NumPerTurn: 0;
  1522 					Timer: 0;
  1522                     Timer: 0;
  1523 					Pos: 0;
  1523                     Pos: 0;
  1524 					AmmoType: amInvulnerable;
  1524                     AmmoType: amInvulnerable;
  1525 					AttackVoice: sndNone);
  1525                     AttackVoice: sndNone);
  1526 			Slot: 8;
  1526             Slot: 8;
  1527 			TimeAfterTurn: 0;
  1527             TimeAfterTurn: 0;
  1528 			minAngle: 0;
  1528             minAngle: 0;
  1529 			maxAngle: 0;
  1529             maxAngle: 0;
  1530 			isDamaging: false;
  1530             isDamaging: false;
  1531 			SkipTurns: 0;
  1531             SkipTurns: 0;
  1532 			PosCount: 1;
  1532             PosCount: 1;
  1533 			PosSprite: sprWater),
  1533             PosSprite: sprWater),
  1534 			(NameId: sidExtraTime;
  1534             (NameId: sidExtraTime;
  1535 			NameTex: nil;
  1535             NameTex: nil;
  1536 			Probability: 30;
  1536             Probability: 30;
  1537 			NumberInCase: 1;
  1537             NumberInCase: 1;
  1538 			Ammo: (Propz: ammoprop_NoRoundEndHint or
  1538             Ammo: (Propz: ammoprop_NoRoundEndHint or
  1539 						  ammoprop_NoCrosshair or
  1539                           ammoprop_NoCrosshair or
  1540 						  ammoprop_DontHold or
  1540                           ammoprop_DontHold or
  1541 						  ammoprop_AltUse or
  1541                           ammoprop_AltUse or
  1542                           ammoprop_Utility;
  1542                           ammoprop_Utility;
  1543 					Count: 1;
  1543                     Count: 1;
  1544 					InitialCount: 1;
  1544                     InitialCount: 1;
  1545 					NumPerTurn: 0;
  1545                     NumPerTurn: 0;
  1546 					Timer: 0;
  1546                     Timer: 0;
  1547 					Pos: 0;
  1547                     Pos: 0;
  1548 					AmmoType: amExtraTime;
  1548                     AmmoType: amExtraTime;
  1549 					AttackVoice: sndNone);
  1549                     AttackVoice: sndNone);
  1550 			Slot: 7;
  1550             Slot: 7;
  1551 			TimeAfterTurn: 0;
  1551             TimeAfterTurn: 0;
  1552 			minAngle: 0;
  1552             minAngle: 0;
  1553 			maxAngle: 0;
  1553             maxAngle: 0;
  1554 			isDamaging: false;
  1554             isDamaging: false;
  1555 			SkipTurns: 0;
  1555             SkipTurns: 0;
  1556 			PosCount: 1;
  1556             PosCount: 1;
  1557 			PosSprite: sprWater),
  1557             PosSprite: sprWater),
  1558 			(NameId: sidLaserSight;
  1558             (NameId: sidLaserSight;
  1559 			NameTex: nil;
  1559             NameTex: nil;
  1560 			Probability: 15;
  1560             Probability: 15;
  1561 			NumberInCase: 1;
  1561             NumberInCase: 1;
  1562 			Ammo: (Propz: ammoprop_NoRoundEndHint or
  1562             Ammo: (Propz: ammoprop_NoRoundEndHint or
  1563 						  ammoprop_NoCrosshair or
  1563                           ammoprop_NoCrosshair or
  1564 						  ammoprop_DontHold or
  1564                           ammoprop_DontHold or
  1565 						  ammoprop_AltUse or
  1565                           ammoprop_AltUse or
  1566                           ammoprop_Utility;
  1566                           ammoprop_Utility;
  1567 					Count: 1;
  1567                     Count: 1;
  1568                     InitialCount: 1;
  1568                     InitialCount: 1;
  1569 					NumPerTurn: 0;
  1569                     NumPerTurn: 0;
  1570 					Timer: 0;
  1570                     Timer: 0;
  1571 					Pos: 0;
  1571                     Pos: 0;
  1572 					AmmoType: amLaserSight;
  1572                     AmmoType: amLaserSight;
  1573 					AttackVoice: sndNone);
  1573                     AttackVoice: sndNone);
  1574 			Slot: 7;
  1574             Slot: 7;
  1575 			TimeAfterTurn: 0;
  1575             TimeAfterTurn: 0;
  1576 			minAngle: 0;
  1576             minAngle: 0;
  1577 			maxAngle: 0;
  1577             maxAngle: 0;
  1578 			isDamaging: false;
  1578             isDamaging: false;
  1579 			SkipTurns: 0;
  1579             SkipTurns: 0;
  1580 			PosCount: 1;
  1580             PosCount: 1;
  1581 			PosSprite: sprWater),
  1581             PosSprite: sprWater),
  1582 			(NameId: sidVampiric;
  1582             (NameId: sidVampiric;
  1583 			NameTex: nil;
  1583             NameTex: nil;
  1584 			Probability: 15;
  1584             Probability: 15;
  1585 			NumberInCase: 1;
  1585             NumberInCase: 1;
  1586 			Ammo: (Propz: ammoprop_NoRoundEndHint or
  1586             Ammo: (Propz: ammoprop_NoRoundEndHint or
  1587 						  ammoprop_NoCrosshair or
  1587                           ammoprop_NoCrosshair or
  1588 						  ammoprop_DontHold or
  1588                           ammoprop_DontHold or
  1589 						  ammoprop_AltUse or
  1589                           ammoprop_AltUse or
  1590                           ammoprop_Utility;
  1590                           ammoprop_Utility;
  1591 					Count: 1;
  1591                     Count: 1;
  1592                     InitialCount: 1;
  1592                     InitialCount: 1;
  1593 					NumPerTurn: 0;
  1593                     NumPerTurn: 0;
  1594 					Timer: 0;
  1594                     Timer: 0;
  1595 					Pos: 0;
  1595                     Pos: 0;
  1596 					AmmoType: amVampiric;
  1596                     AmmoType: amVampiric;
  1597 					AttackVoice: sndNone);
  1597                     AttackVoice: sndNone);
  1598 			Slot: 6;
  1598             Slot: 6;
  1599 			TimeAfterTurn: 0;
  1599             TimeAfterTurn: 0;
  1600 			minAngle: 0;
  1600             minAngle: 0;
  1601 			maxAngle: 0;
  1601             maxAngle: 0;
  1602 			isDamaging: false;
  1602             isDamaging: false;
  1603 			SkipTurns: 0;
  1603             SkipTurns: 0;
  1604 			PosCount: 1;
  1604             PosCount: 1;
  1605 			PosSprite: sprWater),
  1605             PosSprite: sprWater),
  1606 			(NameId: sidSniperRifle;
  1606             (NameId: sidSniperRifle;
  1607 			NameTex: nil;
  1607             NameTex: nil;
  1608 			Probability: 20;
  1608             Probability: 20;
  1609 			NumberInCase: 2;
  1609             NumberInCase: 2;
  1610 			Ammo: (Propz: 0;
  1610             Ammo: (Propz: 0;
  1611 				Count: 2;
  1611                 Count: 2;
  1612                 InitialCount: 2;
  1612                 InitialCount: 2;
  1613 				NumPerTurn: 1;
  1613                 NumPerTurn: 1;
  1614 				Timer: 0;
  1614                 Timer: 0;
  1615 				Pos: 0;
  1615                 Pos: 0;
  1616 				AmmoType: amSniperRifle;
  1616                 AmmoType: amSniperRifle;
  1617 				AttackVoice: sndNone);
  1617                 AttackVoice: sndNone);
  1618 			Slot: 2;
  1618             Slot: 2;
  1619 			TimeAfterTurn: 3000;
  1619             TimeAfterTurn: 3000;
  1620 			minAngle: 0;
  1620             minAngle: 0;
  1621 			maxAngle: 0;
  1621             maxAngle: 0;
  1622 			isDamaging: true;
  1622             isDamaging: true;
  1623 			SkipTurns: 0;
  1623             SkipTurns: 0;
  1624 			PosCount: 1;
  1624             PosCount: 1;
  1625 			PosSprite: sprWater),
  1625             PosSprite: sprWater),
  1626 			(NameId: sidJetpack;
  1626             (NameId: sidJetpack;
  1627 			NameTex: nil;
  1627             NameTex: nil;
  1628 			Probability: 20;
  1628             Probability: 20;
  1629 			NumberInCase: 1;
  1629             NumberInCase: 1;
  1630 			Ammo: (Propz: ammoprop_NoRoundEndHint or
  1630             Ammo: (Propz: ammoprop_NoRoundEndHint or
  1631 						  ammoprop_ForwMsgs or
  1631                           ammoprop_ForwMsgs or
  1632 							ammoprop_AttackInMove or
  1632                             ammoprop_AttackInMove or
  1633 							ammoprop_NoCrosshair or
  1633                             ammoprop_NoCrosshair or
  1634 							ammoprop_DontHold or
  1634                             ammoprop_DontHold or
  1635 							ammoprop_AltAttack;
  1635                             ammoprop_AltAttack;
  1636 				Count: 1;
  1636                 Count: 1;
  1637                 InitialCount: 1;
  1637                 InitialCount: 1;
  1638 				NumPerTurn: 1;
  1638                 NumPerTurn: 1;
  1639 				Timer: 0;
  1639                 Timer: 0;
  1640 				Pos: 0;
  1640                 Pos: 0;
  1641 				AmmoType: amJetpack;
  1641                 AmmoType: amJetpack;
  1642 				AttackVoice: sndNone);
  1642                 AttackVoice: sndNone);
  1643 			Slot: 3;
  1643             Slot: 3;
  1644 			TimeAfterTurn: 3000;
  1644             TimeAfterTurn: 3000;
  1645 			minAngle: 0;
  1645             minAngle: 0;
  1646 			maxAngle: 0;
  1646             maxAngle: 0;
  1647 			isDamaging: false;
  1647             isDamaging: false;
  1648 			SkipTurns: 0;
  1648             SkipTurns: 0;
  1649 			PosCount: 1;
  1649             PosCount: 1;
  1650 			PosSprite: sprWater),
  1650             PosSprite: sprWater),
  1651 			(NameId: sidMolotov;
  1651             (NameId: sidMolotov;
  1652 			NameTex: nil;
  1652             NameTex: nil;
  1653 			Probability: 0;
  1653             Probability: 0;
  1654 			NumberInCase: 1;
  1654             NumberInCase: 1;
  1655 			Ammo: (Propz: ammoprop_Power or ammoprop_AltUse;
  1655             Ammo: (Propz: ammoprop_Power or ammoprop_AltUse;
  1656 				Count: AMMO_INFINITE;
  1656                 Count: AMMO_INFINITE;
  1657                 InitialCount: AMMO_INFINITE;
  1657                 InitialCount: AMMO_INFINITE;
  1658 				NumPerTurn: 0;
  1658                 NumPerTurn: 0;
  1659 				Timer: 3000;
  1659                 Timer: 3000;
  1660 				Pos: 0;
  1660                 Pos: 0;
  1661 				AmmoType: amMolotov;
  1661                 AmmoType: amMolotov;
  1662 				AttackVoice: sndNone);
  1662                 AttackVoice: sndNone);
  1663 			Slot: 1;
  1663             Slot: 1;
  1664 			TimeAfterTurn: 3000;
  1664             TimeAfterTurn: 3000;
  1665 			minAngle: 0;
  1665             minAngle: 0;
  1666 			maxAngle: 0;
  1666             maxAngle: 0;
  1667 			isDamaging: true;
  1667             isDamaging: true;
  1668 			SkipTurns: 0;
  1668             SkipTurns: 0;
  1669 			PosCount: 1;
  1669             PosCount: 1;
  1670 			PosSprite: sprWater)
  1670             PosSprite: sprWater)
  1671 			);
  1671             );
  1672 
  1672 
  1673 
  1673 
  1674 	conversionFormat: TSDL_PixelFormat = (
  1674     conversionFormat: TSDL_PixelFormat = (
  1675 		palette: nil;
  1675         palette: nil;
  1676 		BitsPerPixel : 32;
  1676         BitsPerPixel : 32;
  1677 		BytesPerPixel: 4;
  1677         BytesPerPixel: 4;
  1678 		Rloss : 0;
  1678         Rloss : 0;
  1679 		Gloss : 0;
  1679         Gloss : 0;
  1680 		Bloss : 0;
  1680         Bloss : 0;
  1681 		Aloss : 0;
  1681         Aloss : 0;
  1682 {$IFDEF ENDIAN_LITTLE}
  1682 {$IFDEF ENDIAN_LITTLE}
  1683 		Rshift: 0;
  1683         Rshift: 0;
  1684 		Gshift: 8;
  1684         Gshift: 8;
  1685 		Bshift: 16;
  1685         Bshift: 16;
  1686 		Ashift: 24;
  1686         Ashift: 24;
  1687 {$ELSE}
  1687 {$ELSE}
  1688 		Rshift: 24;
  1688         Rshift: 24;
  1689 		Gshift: 16;
  1689         Gshift: 16;
  1690 		Bshift: 8;
  1690         Bshift: 8;
  1691 		Ashift: 0;
  1691         Ashift: 0;
  1692 {$ENDIF}
  1692 {$ENDIF}
  1693 		RMask : RMask;
  1693         RMask : RMask;
  1694 		GMask : GMask;
  1694         GMask : GMask;
  1695 		BMask : BMask;
  1695         BMask : BMask;
  1696 		AMask : AMask;
  1696         AMask : AMask;
  1697 		colorkey: 0;
  1697         colorkey: 0;
  1698 		alpha : 255
  1698         alpha : 255
  1699 	);
  1699     );
  1700 			
  1700             
  1701 
  1701 
  1702 procedure init_uConsts;
  1702 procedure init_uConsts;
  1703 procedure free_uConsts;
  1703 procedure free_uConsts;
  1704 
  1704 
  1705 implementation
  1705 implementation
  1706 
  1706 
  1707 procedure init_uConsts;
  1707 procedure init_uConsts;
  1708 var cPathz: array[TPathType] of shortstring = (
  1708 var cPathz: array[TPathType] of shortstring = (
  1709 		'',                              // ptNone
  1709         '',                              // ptNone
  1710 		'',                              // ptData
  1710         '',                              // ptData
  1711 		'Graphics',                      // ptGraphics
  1711         'Graphics',                      // ptGraphics
  1712 		'Themes',                        // ptThemes
  1712         'Themes',                        // ptThemes
  1713 		'Themes/avematan',               // ptCurrTheme
  1713         'Themes/avematan',               // ptCurrTheme
  1714 		'Teams',                         // ptTeams
  1714         'Teams',                         // ptTeams
  1715 		'Maps',                          // ptMaps
  1715         'Maps',                          // ptMaps
  1716 		'',                              // ptMapCurrent
  1716         '',                              // ptMapCurrent
  1717 		'Demos',                         // ptDemos
  1717         'Demos',                         // ptDemos
  1718 		'Sounds',                        // ptSounds
  1718         'Sounds',                        // ptSounds
  1719 		'Graphics/Graves',               // ptGraves
  1719         'Graphics/Graves',               // ptGraves
  1720 		'Fonts',                         // ptFonts
  1720         'Fonts',                         // ptFonts
  1721 		'Forts',                         // ptForts
  1721         'Forts',                         // ptForts
  1722 		'Locale',                        // ptLocale
  1722         'Locale',                        // ptLocale
  1723 		'Graphics/AmmoMenu',             // ptAmmoMenu
  1723         'Graphics/AmmoMenu',             // ptAmmoMenu
  1724 		'Graphics/Hedgehog',             // ptHedgehog
  1724         'Graphics/Hedgehog',             // ptHedgehog
  1725 		'Sounds/voices',                 // ptVoices
  1725         'Sounds/voices',                 // ptVoices
  1726 		'Graphics/Hats',                 // ptHats
  1726         'Graphics/Hats',                 // ptHats
  1727 		'Graphics/Flags'                 // ptFlags
  1727         'Graphics/Flags'                 // ptFlags
  1728 	);
  1728     );
  1729 begin
  1729 begin
  1730 	PathPrefix := './';
  1730     PathPrefix := './';
  1731 	Pathz:= cPathz;
  1731     Pathz:= cPathz;
  1732 end;
  1732 end;
  1733 
  1733 
  1734 procedure free_uConsts;
  1734 procedure free_uConsts;
  1735 begin
  1735 begin
  1736 
  1736