hedgewars/uTypes.pas
changeset 10784 3f689d3e28eb
parent 10634 35d059bd0932
child 10785 c5dd41e77a12
equal deleted inserted replaced
10782:6feaf9a863dd 10784:3f689d3e28eb
   102             gtHellishBomb, gtWaterUp, gtDrill, gtBallGun, gtBall, gtRCPlane, // 40
   102             gtHellishBomb, gtWaterUp, gtDrill, gtBallGun, gtBall, gtRCPlane, // 40
   103             gtSniperRifleShot, gtJetpack, gtMolotov, gtBirdy, // 44
   103             gtSniperRifleShot, gtJetpack, gtMolotov, gtBirdy, // 44
   104             gtEgg, gtPortal, gtPiano, gtGasBomb, gtSineGunShot, gtFlamethrower, // 50
   104             gtEgg, gtPortal, gtPiano, gtGasBomb, gtSineGunShot, gtFlamethrower, // 50
   105             gtSMine, gtPoisonCloud, gtHammer, gtHammerHit, gtResurrector, // 55
   105             gtSMine, gtPoisonCloud, gtHammer, gtHammerHit, gtResurrector, // 55
   106             gtNapalmBomb, gtSnowball, gtFlake, {gtStructure,} gtLandGun, gtTardis, // 61
   106             gtNapalmBomb, gtSnowball, gtFlake, {gtStructure,} gtLandGun, gtTardis, // 61
   107             gtIceGun, gtAddAmmo, gtGenericFaller, gtKnife); // 65
   107             gtIceGun, gtAddAmmo, gtGenericFaller, gtKnife, gtAirMine); // 66
   108 
   108 
   109     // Gears that are _only_ of visual nature (e.g. background stuff, visual effects, speechbubbles, etc.)
   109     // Gears that are _only_ of visual nature (e.g. background stuff, visual effects, speechbubbles, etc.)
   110     TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire,
   110     TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire,
   111             vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble,
   111             vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble,
   112             vgtSteam, vgtAmmo, vgtSmoke, vgtSmokeWhite, vgtShell,
   112             vgtSteam, vgtAmmo, vgtSmoke, vgtSmokeWhite, vgtShell,
   152             amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake, // 24
   152             amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake, // 24
   153             amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun, // 30
   153             amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun, // 30
   154             amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime, // 35
   154             amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime, // 35
   155             amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov, amBirdy, amPortalGun, // 42
   155             amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov, amBirdy, amPortalGun, // 42
   156             amPiano, amGasBomb, amSineGun, amFlamethrower, amSMine, amHammer, // 48
   156             amPiano, amGasBomb, amSineGun, amFlamethrower, amSMine, amHammer, // 48
   157             amResurrector, amDrillStrike, amSnowball, amTardis, {amStructure,} amLandGun, amIceGun, amKnife, amRubber); // 56
   157             amResurrector, amDrillStrike, amSnowball, amTardis, {amStructure,} amLandGun, // 53
       
   158             amIceGun, amKnife, amRubber, amAirMine); // 57
   158 
   159 
   159     // Different kind of crates that e.g. hedgehogs can pick up
   160     // Different kind of crates that e.g. hedgehogs can pick up
   160     TCrateType = (HealthCrate, AmmoCrate, UtilityCrate);
   161     TCrateType = (HealthCrate, AmmoCrate, UtilityCrate);
   161 
   162 
   162     THWFont = (fnt16, fntBig, fntSmall {$IFNDEF MOBILE}, CJKfnt16, CJKfntBig, CJKfntSmall{$ENDIF});
   163     THWFont = (fnt16, fntBig, fntSmall {$IFNDEF MOBILE}, CJKfnt16, CJKfntBig, CJKfntSmall{$ENDIF});
   245             AIHints: LongWord;          // hints for ai.
   246             AIHints: LongWord;          // hints for ai.
   246             LastDamage: PHedgehog;      // Used to track damage source for stats
   247             LastDamage: PHedgehog;      // Used to track damage source for stats
   247             CollisionIndex: LongInt;    // Position in collision array
   248             CollisionIndex: LongInt;    // Position in collision array
   248             Message: LongWord;          // Game messages are stored here. See gm bitmasks in uConsts
   249             Message: LongWord;          // Game messages are stored here. See gm bitmasks in uConsts
   249             uid: Longword;              // Lua use this to reference gears
   250             uid: Longword;              // Lua use this to reference gears
       
   251             Hedgehog: PHedgehog;        // set to CurrentHedgehog on gear creation.  uStats damage code appears to assume it will never be nil and never be changed.
   250 // Strongly recommended not to override these.  Will mess up generic operations like portaling
   252 // Strongly recommended not to override these.  Will mess up generic operations like portaling
   251             X : hwFloat;              // X/Y/dX/dY are position/velocity. People count on these having semi-normal values
   253             X : hwFloat;              // X/Y/dX/dY are position/velocity. People count on these having semi-normal values
   252             Y : hwFloat;
   254             Y : hwFloat;
   253             dX: hwFloat;
   255             dX: hwFloat;
   254             dY: hwFloat;
   256             dY: hwFloat;
   276             MsgParam: LongWord;      // Initially stored a set of messages. So usually gm values like Message. Frequently overriden
   278             MsgParam: LongWord;      // Initially stored a set of messages. So usually gm values like Message. Frequently overriden
   277 // These are not used generically, but should probably be used for purpose intended. Definitely shouldn't override pointer type
   279 // These are not used generically, but should probably be used for purpose intended. Definitely shouldn't override pointer type
   278             Tex: PTexture;          // A texture created by the gear. Shouldn't use for anything but textures
   280             Tex: PTexture;          // A texture created by the gear. Shouldn't use for anything but textures
   279             Tint: LongWord;         // Used to colour a texture
   281             Tint: LongWord;         // Used to colour a texture
   280             LinkedGear: PGear;      // Used to track a related gear. Portal pairs for example.
   282             LinkedGear: PGear;      // Used to track a related gear. Portal pairs for example.
   281             Hedgehog: PHedgehog;    // set to CurrentHedgehog on gear creation
       
   282             SoundChannel: LongInt;  // Used to track a sound the gear started
   283             SoundChannel: LongInt;  // Used to track a sound the gear started
   283             end;
   284             end;
   284     TPGearArray = array of PGear;
   285     TPGearArray = array of PGear;
   285     PGearArrayS = record
   286     PGearArrayS = record
   286         size: LongWord;
   287         size: LongWord;
   443             sidLowGravity, sidExtraDamage, sidInvulnerable, sidExtraTime,
   444             sidLowGravity, sidExtraDamage, sidInvulnerable, sidExtraTime,
   444             sidLaserSight, sidVampiric, sidSniperRifle, sidJetpack,
   445             sidLaserSight, sidVampiric, sidSniperRifle, sidJetpack,
   445             sidMolotov, sidBirdy, sidPortalGun, sidPiano, sidGasBomb,
   446             sidMolotov, sidBirdy, sidPortalGun, sidPiano, sidGasBomb,
   446             sidSineGun, sidFlamethrower,sidSMine, sidHammer, sidResurrector,
   447             sidSineGun, sidFlamethrower,sidSMine, sidHammer, sidResurrector,
   447             sidDrillStrike, sidSnowball, sidNothing, sidTardis,
   448             sidDrillStrike, sidSnowball, sidNothing, sidTardis,
   448             {sidStructure,} sidLandGun, sidIceGun, sidKnife, sidRubber);
   449             {sidStructure,} sidLandGun, sidIceGun, sidKnife, sidRubber, sidAirMine);
   449 
   450 
   450     TMsgStrId = (sidStartFight, sidDraw, sidWinner, sidVolume, sidPaused,
   451     TMsgStrId = (sidStartFight, sidDraw, sidWinner, sidVolume, sidPaused,
   451             sidConfirm, sidSuddenDeath, sidRemaining, sidFuel, sidSync,
   452             sidConfirm, sidSuddenDeath, sidRemaining, sidFuel, sidSync,
   452             sidNoEndTurn, sidNotYetAvailable, sidRoundSD, sidRoundsSD, sidReady,
   453             sidNoEndTurn, sidNotYetAvailable, sidRoundSD, sidRoundsSD, sidReady,
   453             sidBounce1, sidBounce2, sidBounce3, sidBounce4, sidBounce5, sidBounce,
   454             sidBounce1, sidBounce2, sidBounce3, sidBounce4, sidBounce5, sidBounce,