hedgewars/uTypes.pas
branchwebgl
changeset 8330 aaefa587e277
parent 8026 4a4f21070479
parent 8204 9a6030d96273
child 8332 9333216f2054
equal deleted inserted replaced
8116:d24257910f8d 8330:aaefa587e277
   101             gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 34
   101             gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 34
   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); // 65
   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,
   150             amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake, // 24
   150             amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake, // 24
   151             amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun, // 30
   151             amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun, // 30
   152             amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime, // 35
   152             amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime, // 35
   153             amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov, amBirdy, amPortalGun, // 42
   153             amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov, amBirdy, amPortalGun, // 42
   154             amPiano, amGasBomb, amSineGun, amFlamethrower, amSMine, amHammer, // 48
   154             amPiano, amGasBomb, amSineGun, amFlamethrower, amSMine, amHammer, // 48
   155             amResurrector, amDrillStrike, amSnowball, amTardis, amStructure, amLandGun, amIceGun, amKnife); // 54
   155             amResurrector, amDrillStrike, amSnowball, amTardis, {amStructure,} amLandGun, amIceGun, amKnife); // 54
   156 
   156 
   157     // Different kind of crates that e.g. hedgehogs can pick up
   157     // Different kind of crates that e.g. hedgehogs can pick up
   158     TCrateType = (HealthCrate, AmmoCrate, UtilityCrate);
   158     TCrateType = (HealthCrate, AmmoCrate, UtilityCrate);
   159 
   159 
   160     THWFont = (fnt16, fntBig, fntSmall {$IFNDEF MOBILE}, CJKfnt16, CJKfntBig, CJKfntSmall{$ENDIF});
   160     THWFont = (fnt16, fntBig, fntSmall {$IFNDEF MOBILE}, CJKfnt16, CJKfntBig, CJKfntSmall{$ENDIF});
   391             end;
   391             end;
   392 
   392 
   393     TClan = record
   393     TClan = record
   394             Color: Longword;
   394             Color: Longword;
   395             Teams: array[0..Pred(cMaxTeams)] of PTeam;
   395             Teams: array[0..Pred(cMaxTeams)] of PTeam;
   396 	    TeamsNumber: LongInt;{xymeng, org:LongWord}
   396         TeamsNumber: LongInt;{xymeng, org:LongWord}
   397             TagTeamIndex: Longword;
   397             TagTeamIndex: Longword;
   398             CurrTeam: LongWord;
   398             CurrTeam: LongWord;
   399             ClanHealth: LongInt;
   399             ClanHealth: LongInt;
   400             ClanIndex: LongInt;
   400             ClanIndex: LongInt;
   401 	    TurnNumber: LongInt;{xymeng, org:LongWord}
   401         TurnNumber: LongInt;{xymeng, org:LongWord}
   402             Flawless: boolean;
   402             Flawless: boolean;
   403             end;
   403             end;
       
   404 
       
   405      cdeclPtr = procedure; cdecl;
       
   406      cdeclIntPtr = procedure(num: LongInt); cdecl;
       
   407      functionDoublePtr = function: Double;
       
   408 
       
   409      TMobileRecord = record
       
   410                      getScreenDPI: functionDoublePtr;
       
   411                      PerformRumble: cdeclIntPtr;
       
   412                      GameLoading: cdeclPtr;
       
   413                      GameLoaded: cdeclPtr;
       
   414                      SaveLoadingEnded: cdeclPtr;
       
   415                      end;
   404 
   416 
   405      TAmmoStrId = (sidGrenade, sidClusterBomb, sidBazooka, sidBee, sidShotgun,
   417      TAmmoStrId = (sidGrenade, sidClusterBomb, sidBazooka, sidBee, sidShotgun,
   406             sidPickHammer, sidSkip, sidRope, sidMine, sidDEagle,
   418             sidPickHammer, sidSkip, sidRope, sidMine, sidDEagle,
   407             sidDynamite, sidBaseballBat, sidFirePunch, sidSeconds,
   419             sidDynamite, sidBaseballBat, sidFirePunch, sidSeconds,
   408             sidParachute, sidAirAttack, sidMineStrike, sidBlowTorch,
   420             sidParachute, sidAirAttack, sidMineStrike, sidBlowTorch,
   412             sidLowGravity, sidExtraDamage, sidInvulnerable, sidExtraTime,
   424             sidLowGravity, sidExtraDamage, sidInvulnerable, sidExtraTime,
   413             sidLaserSight, sidVampiric, sidSniperRifle, sidJetpack,
   425             sidLaserSight, sidVampiric, sidSniperRifle, sidJetpack,
   414             sidMolotov, sidBirdy, sidPortalGun, sidPiano, sidGasBomb,
   426             sidMolotov, sidBirdy, sidPortalGun, sidPiano, sidGasBomb,
   415             sidSineGun, sidFlamethrower,sidSMine, sidHammer, sidResurrector,
   427             sidSineGun, sidFlamethrower,sidSMine, sidHammer, sidResurrector,
   416             sidDrillStrike, sidSnowball, sidNothing, sidTardis,
   428             sidDrillStrike, sidSnowball, sidNothing, sidTardis,
   417             sidStructure, sidLandGun, sidIceGun, sidKnife);
   429             {sidStructure,} sidLandGun, sidIceGun, sidKnife);
   418 
   430 
   419     TMsgStrId = (sidStartFight, sidDraw, sidWinner, sidVolume, sidPaused,
   431     TMsgStrId = (sidStartFight, sidDraw, sidWinner, sidVolume, sidPaused,
   420             sidConfirm, sidSuddenDeath, sidRemaining, sidFuel, sidSync,
   432             sidConfirm, sidSuddenDeath, sidRemaining, sidFuel, sidSync,
   421             sidNoEndTurn, sidNotYetAvailable, sidRoundSD, sidRoundsSD, sidReady, 
   433             sidNoEndTurn, sidNotYetAvailable, sidRoundSD, sidRoundsSD, sidReady,
   422             sidBounce1, sidBounce2, sidBounce3, sidBounce4, sidBounce5, sidBounce,
   434             sidBounce1, sidBounce2, sidBounce3, sidBounce4, sidBounce5, sidBounce,
   423             sidMute);
   435             sidMute);
   424 
   436 
   425     // Events that are important for the course of the game or at least interesting for other reasons
   437     // Events that are important for the course of the game or at least interesting for other reasons
   426     TEventId = (eidDied, eidDrowned, eidRoundStart, eidRoundWin, eidRoundDraw,
   438     TEventId = (eidDied, eidDrowned, eidRoundStart, eidRoundWin, eidRoundDraw,
   427             eidNewHealthPack, eidNewAmmoPack, eidNewUtilityPack, eidTurnSkipped,
   439             eidNewHealthPack, eidNewAmmoPack, eidNewUtilityPack, eidTurnSkipped,
   428             eidHurtSelf, eidHomerun, eidGone);
   440             eidHurtSelf, eidHomerun, eidGone);
   429 
   441 
   430     TGoalStrId = (gidCaption, gidSubCaption, gidForts, gidLowGravity, gidInvulnerable,
   442     TGoalStrId = (gidCaption, gidSubCaption, gidForts, gidLowGravity, gidInvulnerable,
   431             gidVampiric, gidKarma, gidKing, gidPlaceHog, gidArtillery,
   443             gidVampiric, gidKarma, gidKing, gidPlaceHog, gidArtillery,
   432             gidSolidLand, gidSharedAmmo, gidMineTimer, gidNoMineTimer, 
   444             gidSolidLand, gidSharedAmmo, gidMineTimer, gidNoMineTimer,
   433             gidRandomMineTimer, gidDamageModifier, gidResetHealth, gidAISurvival, 
   445             gidRandomMineTimer, gidDamageModifier, gidResetHealth, gidAISurvival,
   434             gidInfAttack, gidResetWeps, gidPerHogAmmo, gidTagTeam);
   446             gidInfAttack, gidResetWeps, gidPerHogAmmo, gidTagTeam);
   435 
   447 
   436 
   448 
   437     TLandArray = packed array of array of LongWord;
   449     TLandArray = packed array of array of LongWord;
   438     TCollisionArray = packed array of array of Word;
   450     TCollisionArray = packed array of array of Word;
   439     TDirtyTag = packed array of array of byte;
   451     TDirtyTag = packed array of array of byte;
   440 				 
   452 
   441     TPreview  = packed array[0..127, 0..31] of byte;
   453     TPreview  = packed array[0..127, 0..31] of byte;
   442   
   454 
   443     PWidgetMovement = ^TWidgetMovement;
   455     PWidgetMovement = ^TWidgetMovement;
   444     TWidgetMovement = record
   456     TWidgetMovement = record
   445         animate   : Boolean;
   457         animate   : Boolean;
   446         source    : TPoint;
   458         source    : TPoint;
   447         target    : TPoint;
   459         target    : TPoint;