hedgewars/uTypes.pas
branchqmlfrontend
changeset 10886 99273b7afbff
parent 10817 48a53259fad8
parent 10874 059a6492176e
child 11071 3851ce4f2061
equal deleted inserted replaced
10823:1ff3dd3705b1 10886:99273b7afbff
    90             sprSlider, sprBotlevels, sprHandKnife, sprKnife, sprStar, sprIceTexture, sprIceGun,
    90             sprSlider, sprBotlevels, sprHandKnife, sprKnife, sprStar, sprIceTexture, sprIceGun,
    91             sprFrozenHog, sprAmRubber, sprBoing, sprCustom1, sprCustom2, sprAirMine
    91             sprFrozenHog, sprAmRubber, sprBoing, sprCustom1, sprCustom2, sprAirMine
    92             );
    92             );
    93 
    93 
    94     // Gears that interact with other Gears and/or Land
    94     // Gears that interact with other Gears and/or Land
    95     TGearType = (gtFlame, gtHedgehog, gtMine, gtCase, gtExplosives, // these gears should be avoided when searching a spawn place
    95     // first row of gears (<gtExplosives) should be avoided when searching a spawn place
    96             gtGrenade, gtShell, gtGrave, gtBee, // 8
    96     TGearType = (gtFlame, gtHedgehog, gtMine, gtCase, gtAirMine, gtExplosives, 
    97             gtShotgunShot, gtPickHammer, gtRope,  // 11
    97             gtGrenade, gtShell, gtGrave, gtBee, // 9
    98             gtDEagleShot, gtDynamite, gtClusterBomb, gtCluster, gtShover, // 16
    98             gtShotgunShot, gtPickHammer, gtRope,  // 12
    99             gtFirePunch, gtATStartGame, // 18
    99             gtDEagleShot, gtDynamite, gtClusterBomb, gtCluster, gtShover, // 17
   100             gtATFinishGame, gtParachute, gtAirAttack, gtAirBomb, gtBlowTorch, // 23
   100             gtFirePunch, gtATStartGame, // 19
   101             gtGirder, gtTeleport, gtSwitcher, gtTarget, gtMortar, // 28
   101             gtATFinishGame, gtParachute, gtAirAttack, gtAirBomb, gtBlowTorch, // 24
   102             gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 34
   102             gtGirder, gtTeleport, gtSwitcher, gtTarget, gtMortar, // 29
   103             gtHellishBomb, gtWaterUp, gtDrill, gtBallGun, gtBall, gtRCPlane, // 40
   103             gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 35
   104             gtSniperRifleShot, gtJetpack, gtMolotov, gtBirdy, // 44
   104             gtHellishBomb, gtWaterUp, gtDrill, gtBallGun, gtBall, gtRCPlane, // 41
   105             gtEgg, gtPortal, gtPiano, gtGasBomb, gtSineGunShot, gtFlamethrower, // 50
   105             gtSniperRifleShot, gtJetpack, gtMolotov, gtBirdy, // 45
   106             gtSMine, gtPoisonCloud, gtHammer, gtHammerHit, gtResurrector, // 55
   106             gtEgg, gtPortal, gtPiano, gtGasBomb, gtSineGunShot, gtFlamethrower, // 51
       
   107             gtSMine, gtPoisonCloud, gtHammer, gtHammerHit, gtResurrector, // 56
   107             gtNapalmBomb, gtSnowball, gtFlake, {gtStructure,} gtLandGun, gtTardis, // 61
   108             gtNapalmBomb, gtSnowball, gtFlake, {gtStructure,} gtLandGun, gtTardis, // 61
   108             gtIceGun, gtAddAmmo, gtGenericFaller, gtKnife, gtAirMine); // 66
   109             gtIceGun, gtAddAmmo, gtGenericFaller, gtKnife); // 65
   109 
   110 
   110     // Gears that are _only_ of visual nature (e.g. background stuff, visual effects, speechbubbles, etc.)
   111     // Gears that are _only_ of visual nature (e.g. background stuff, visual effects, speechbubbles, etc.)
   111     TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire,
   112     TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire,
   112             vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble,
   113             vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble,
   113             vgtSteam, vgtAmmo, vgtSmoke, vgtSmokeWhite, vgtShell,
   114             vgtSteam, vgtAmmo, vgtSmoke, vgtSmokeWhite, vgtShell,
   280 // These are not used generically, but should probably be used for purpose intended. Definitely shouldn't override pointer type
   281 // These are not used generically, but should probably be used for purpose intended. Definitely shouldn't override pointer type
   281             Tex: PTexture;          // A texture created by the gear. Shouldn't use for anything but textures
   282             Tex: PTexture;          // A texture created by the gear. Shouldn't use for anything but textures
   282             Tint: LongWord;         // Used to colour a texture
   283             Tint: LongWord;         // Used to colour a texture
   283             LinkedGear: PGear;      // Used to track a related gear. Portal pairs for example.
   284             LinkedGear: PGear;      // Used to track a related gear. Portal pairs for example.
   284             SoundChannel: LongInt;  // Used to track a sound the gear started
   285             SoundChannel: LongInt;  // Used to track a sound the gear started
       
   286             Data: Pointer; // pointer to gear type specific data structure (if any)
   285             end;
   287             end;
   286     TPGearArray = array of PGear;
   288     TPGearArray = array of PGear;
   287     PGearArrayS = record
   289     PGearArrayS = record
   288         size: LongWord;
   290         size: LongWord;
   289         ar: ^TPGearArray;
   291         ar: ^TPGearArray;
   513             saveSurf: boolean;
   515             saveSurf: boolean;
   514             priority: GLfloat;
   516             priority: GLfloat;
   515             getDimensions, getImageDimensions: boolean;
   517             getDimensions, getImageDimensions: boolean;
   516             end;
   518             end;
   517 
   519 
       
   520     // gear data types
       
   521 
       
   522     const cakeh =   27;
       
   523 
       
   524     type TCakeData = record
       
   525         CakeI: integer;
       
   526         CakePoints: array[0..Pred(cakeh)] of record
       
   527             x, y: hwFloat;
       
   528         end;
       
   529     end;
       
   530 
       
   531     PCakeData = ^TCakeData;
       
   532 
   518 implementation
   533 implementation
   519 
   534 
   520 end.
   535 end.