DEADSOFTWARE

Refactor: Constants for first and last weapon
authorbinarymaster <x86corez@gmail.com>
Wed, 9 Aug 2017 12:38:19 +0000 (15:38 +0300)
committerbinarymaster <x86corez@gmail.com>
Wed, 9 Aug 2017 12:38:19 +0000 (15:38 +0300)
src/game/g_gui.pas
src/game/g_netmsg.pas
src/game/g_player.pas
src/game/g_playermodel.pas
src/game/g_weapons.pas

index 1516d4452328ad0489451ced4163d0a7bf7463cc..c276cfd1a7c271de1afd66938ee564d2e8e1ef1e 100644 (file)
@@ -2640,7 +2640,7 @@ begin
   if FModel = nil then
     Exit;
 
-  if FModel.Weapon < WEAPON_SUPERPULEMET then
+  if FModel.Weapon < WP_LAST then
     FModel.SetWeapon(FModel.Weapon+1)
   else
     FModel.SetWeapon(WEAPON_KASTET);
index bc54015ae519443c100ec950b635f3b7412bb7b3..e838a9b7fff87f34eaceee923c3dc387feb14fe1 100644 (file)
@@ -1074,7 +1074,7 @@ begin
     e_Buffer_Write(@NetOut, Lives);
     e_Buffer_Write(@NetOut, Team);
 
-    for I := WEAPON_KASTET to WEAPON_SUPERPULEMET do
+    for I := WP_FIRST to WP_LAST do
       e_Buffer_Write(@NetOut, Byte(FWeapon[I]));
 
     for I := A_BULLETS to A_CELLS do
@@ -2127,7 +2127,7 @@ begin
     Lives := e_Raw_Read_Byte(P);
     NewTeam := e_Raw_Read_Byte(P);
 
-    for I := WEAPON_KASTET to WEAPON_SUPERPULEMET do
+    for I := WP_FIRST to WP_LAST do
       FWeapon[I] := (e_Raw_Read_Byte(P) <> 0);
 
     for I := A_BULLETS to A_CELLS do
index 1d036616a4884835132d9bde3643baae1f5f80c8..7dd22f870f497aec99735edd27f4caa7887e7a60 100644 (file)
@@ -116,7 +116,7 @@ type
     NextWeapDelay: Byte;
     Ammo:       Array [A_BULLETS..A_CELLS] of Word;
     MaxAmmo:    Array [A_BULLETS..A_CELLS] of Word;
-    Weapon:     Array [WEAPON_KASTET..WEAPON_SUPERPULEMET] of Boolean;
+    Weapon:     Array [WP_FIRST..WP_LAST] of Boolean;
     Rulez:      Set of R_ITEM_BACKPACK..R_BERSERK;
     WaitRecall: Boolean;
   end;
@@ -218,11 +218,11 @@ type
 
     FAmmo:      Array [A_BULLETS..A_CELLS] of Word;
     FMaxAmmo:   Array [A_BULLETS..A_CELLS] of Word;
-    FWeapon:    Array [WEAPON_KASTET..WEAPON_SUPERPULEMET] of Boolean;
+    FWeapon:    Array [WP_FIRST..WP_LAST] of Boolean;
     FRulez:     Set of R_ITEM_BACKPACK..R_BERSERK;
     FBerserk:   Integer;
     FMegaRulez: Array [MR_SUIT..MR_MAX] of DWORD;
-    FReloading: Array [WEAPON_KASTET..WEAPON_SUPERPULEMET] of Word;
+    FReloading: Array [WP_FIRST..WP_LAST] of Word;
     FTime:      Array [T_RESPAWN..T_FLAGCAP] of DWORD;
     FKeys:      Array [KEY_LEFT..KEY_CHAT] of TKeyState;
     FColor:     TRGB;
@@ -341,9 +341,9 @@ type
     FlyPrecision: Byte;
     Cover: Byte;
     CloseJump: Byte;
-    WeaponPrior: Array [WEAPON_KASTET..WEAPON_SUPERPULEMET] of Byte;
-    CloseWeaponPrior: Array [WEAPON_KASTET..WEAPON_SUPERPULEMET] of Byte;
-    //SafeWeaponPrior: Array [WEAPON_KASTET..WEAPON_SUPERPULEMET] of Byte;
+    WeaponPrior: Array [WP_FIRST..WP_LAST] of Byte;
+    CloseWeaponPrior: Array [WP_FIRST..WP_LAST] of Byte;
+    //SafeWeaponPrior: Array [WP_FIRST..WP_LAST] of Byte;
   end;
 
   TAIFlag = record
@@ -511,9 +511,9 @@ type
     fly_precision: Byte;
     cover: Byte;
     close_jump: Byte;
-    w_prior1: Array [WEAPON_KASTET..WEAPON_SUPERPULEMET] of Byte;
-    w_prior2: Array [WEAPON_KASTET..WEAPON_SUPERPULEMET] of Byte;
-    w_prior3: Array [WEAPON_KASTET..WEAPON_SUPERPULEMET] of Byte;
+    w_prior1: Array [WP_FIRST..WP_LAST] of Byte;
+    w_prior2: Array [WP_FIRST..WP_LAST] of Byte;
+    w_prior3: Array [WP_FIRST..WP_LAST] of Byte;
   end;
 
 const
@@ -549,19 +549,19 @@ const
   DIFFICULT_HARD: TDifficult = (DiagFire: 255; InvisFire: 255; DiagPrecision: 255;
                                 FlyPrecision: 255; Cover: 255; CloseJump: 255;
                                 WeaponPrior:(0,0,0,0,0,0,0,0,0,0); CloseWeaponPrior:(0,0,0,0,0,0,0,0,0,0));
-  WEAPON_PRIOR1: Array [WEAPON_KASTET..WEAPON_SUPERPULEMET] of Byte =
+  WEAPON_PRIOR1: Array [WP_FIRST..WP_LAST] of Byte =
                                 (WEAPON_SUPERPULEMET, WEAPON_SHOTGUN2, WEAPON_SHOTGUN1,
                                  WEAPON_CHAINGUN, WEAPON_PLASMA, WEAPON_ROCKETLAUNCHER,
                                  WEAPON_BFG, WEAPON_PISTOL, WEAPON_SAW, WEAPON_KASTET);
-  WEAPON_PRIOR2: Array [WEAPON_KASTET..WEAPON_SUPERPULEMET] of Byte =
+  WEAPON_PRIOR2: Array [WP_FIRST..WP_LAST] of Byte =
                                 (WEAPON_SUPERPULEMET, WEAPON_BFG, WEAPON_ROCKETLAUNCHER,
                                  WEAPON_SHOTGUN2, WEAPON_PLASMA, WEAPON_SHOTGUN1,
                                  WEAPON_CHAINGUN, WEAPON_PISTOL, WEAPON_SAW, WEAPON_KASTET);
-  //WEAPON_PRIOR3: Array [WEAPON_KASTET..WEAPON_SUPERPULEMET] of Byte =
+  //WEAPON_PRIOR3: Array [WP_FIRST..WP_LAST] of Byte =
   //                              (WEAPON_SUPERPULEMET, WEAPON_BFG, WEAPON_PLASMA,
   //                               WEAPON_SHOTGUN2, WEAPON_CHAINGUN, WEAPON_SHOTGUN1,
   //                               WEAPON_SAW, WEAPON_ROCKETLAUNCHER, WEAPON_PISTOL, WEAPON_KASTET);
-  WEAPON_RELOAD: Array [WEAPON_KASTET..WEAPON_SUPERPULEMET] of Byte =
+  WEAPON_RELOAD: Array [WP_FIRST..WP_LAST] of Byte =
                                 (5, 2, 6, 18, 36, 2, 12, 2, 14, 2);
 
   PLAYER_SIGNATURE = $52594C50; // 'PLYR'
@@ -828,10 +828,10 @@ begin
   for i := A_BULLETS to A_CELLS do
     Mem.ReadWord(gPlayers[a].FMaxAmmo[i]);
 // Íàëè÷èå îðóæèÿ:
-  for i := WEAPON_KASTET to WEAPON_SUPERPULEMET do
+  for i := WP_FIRST to WP_LAST do
     Mem.ReadBoolean(gPlayers[a].FWeapon[i]);
 // Âðåìÿ ïåðåçàðÿäêè îðóæèÿ:
-  for i := WEAPON_KASTET to WEAPON_SUPERPULEMET do
+  for i := WP_FIRST to WP_LAST do
     Mem.ReadWord(gPlayers[a].FReloading[i]);
 // Íàëè÷èå ðþêçàêà:
   Mem.ReadByte(b);
@@ -997,7 +997,7 @@ begin
       else FDifficult := DIFFICULT_HARD;
     end;
 
-    for a := WEAPON_KASTET to WEAPON_SUPERPULEMET do
+    for a := WP_FIRST to WP_LAST do
     begin
       FDifficult.WeaponPrior[a] := WEAPON_PRIOR1[a];
       FDifficult.CloseWeaponPrior[a] := WEAPON_PRIOR2[a];
@@ -1075,7 +1075,7 @@ begin
     FDifficult.Cover := BotList[num].cover;
     FDifficult.CloseJump := BotList[num].close_jump;
 
-    for a := WEAPON_KASTET to WEAPON_SUPERPULEMET do
+    for a := WP_FIRST to WP_LAST do
     begin
       FDifficult.WeaponPrior[a] := BotList[num].w_prior1[a];
       FDifficult.CloseWeaponPrior[a] := BotList[num].w_prior2[a];
@@ -3083,7 +3083,7 @@ begin
   if Srv then
   begin
 // Âûáðîñ îðóæèÿ:
-    for a := WEAPON_KASTET to WEAPON_SUPERPULEMET do
+    for a := WP_FIRST to WP_LAST do
       if FWeapon[a] then
       begin
         case a of
@@ -3376,9 +3376,13 @@ procedure TPlayer.RealizeCurrentWeapon();
     i: Byte;
   begin
     result := false;
-    if FBFGFireCounter <> -1 then exit;
-    if FTime[T_SWITCH] > gTime then exit;
-    for i := WEAPON_KASTET to WEAPON_SUPERPULEMET do if FReloading[i] > 0 then exit;
+    if FBFGFireCounter <> -1 then
+      exit;
+    if FTime[T_SWITCH] > gTime then
+      exit;
+    for i := WP_FIRST to WP_LAST do
+      if FReloading[i] > 0 then
+        exit;
     result := true;
   end;
 
@@ -4103,7 +4107,7 @@ begin
     FAir := AIR_DEF;
     FJetFuel := 0;
 
-    for a := WEAPON_KASTET to WEAPON_SUPERPULEMET do
+    for a := WP_FIRST to WP_LAST do
     begin
       FWeapon[a] := False;
       FReloading[a] := 0;
@@ -4688,7 +4692,7 @@ begin
         FJetSoundFly.PlayAt(FObj.X, FObj.Y);
       end;
 
-    for b := WEAPON_KASTET to WEAPON_SUPERPULEMET do
+    for b := WP_FIRST to WP_LAST do
       if FReloading[b] > 0 then
         if FNoReload then
           FReloading[b] := 0
@@ -5394,10 +5398,10 @@ begin
   for i := A_BULLETS to A_CELLS do
     Mem.WriteWord(FMaxAmmo[i]);
 // Íàëè÷èå îðóæèÿ:
-  for i := WEAPON_KASTET to WEAPON_SUPERPULEMET do
+  for i := WP_FIRST to WP_LAST do
     Mem.WriteBoolean(FWeapon[i]);
 // Âðåìÿ ïåðåçàðÿäêè îðóæèÿ:
-  for i := WEAPON_KASTET to WEAPON_SUPERPULEMET do
+  for i := WP_FIRST to WP_LAST do
     Mem.WriteWord(FReloading[i]);
 // Íàëè÷èå ðþêçàêà:
   if R_ITEM_BACKPACK in FRulez then
@@ -5534,10 +5538,10 @@ begin
   for i := A_BULLETS to A_CELLS do
     Mem.ReadWord(FMaxAmmo[i]);
 // Íàëè÷èå îðóæèÿ:
-  for i := WEAPON_KASTET to WEAPON_SUPERPULEMET do
+  for i := WP_FIRST to WP_LAST do
     Mem.ReadBoolean(FWeapon[i]);
 // Âðåìÿ ïåðåçàðÿäêè îðóæèÿ:
-  for i := WEAPON_KASTET to WEAPON_SUPERPULEMET do
+  for i := WP_FIRST to WP_LAST do
     Mem.ReadWord(FReloading[i]);
 // Íàëè÷èå ðþêçàêà:
   Mem.ReadByte(b);
@@ -5600,7 +5604,7 @@ begin
     Exit;
   end;
 
-  for a := WEAPON_KASTET to WEAPON_SUPERPULEMET do FWeapon[a] := True;
+  for a := WP_FIRST to WP_LAST do FWeapon[a] := True;
   for a := A_BULLETS to A_CELLS do FAmmo[a] := 30000;
   FRulez := FRulez+[R_KEY_RED, R_KEY_GREEN, R_KEY_BLUE];
 end;
@@ -6010,7 +6014,7 @@ begin
 
   Inc(gNumBots);
 
-  for a := WEAPON_KASTET to WEAPON_SUPERPULEMET do
+  for a := WP_FIRST to WP_LAST do
   begin
     FDifficult.WeaponPrior[a] := WEAPON_PRIOR1[a];
     FDifficult.CloseWeaponPrior[a] := WEAPON_PRIOR2[a];
index b5978c926654f1c705cede3e42f2b2d7c1bf55e0..8e895a9245645c84a11c56fc9319779c199c389c 100644 (file)
@@ -58,7 +58,7 @@ type
 
   TModelSoundArray = Array of TModelSound;
   TGibsArray = Array of TGibSprite;
-  TWeaponPoints = Array [WEAPON_SAW..WEAPON_SUPERPULEMET] of
+  TWeaponPoints = Array [WP_FIRST + 1..WP_LAST] of
                   Array [A_STAND..A_PAIN] of
                   Array [D_LEFT..D_RIGHT] of Array of TPoint;
 
@@ -143,18 +143,18 @@ const
   FLAG_BASEPOINT: TPoint = (X:16; Y:43);
   FLAG_DEFPOINT:  TPoint = (X:32; Y:16);
   FLAG_DEFANGLE = -20;
-  WEAPONBASE: Array [WEAPON_SAW..WEAPON_SUPERPULEMET] of TPoint =
+  WEAPONBASE: Array [WP_FIRST + 1..WP_LAST] of TPoint =
               ((X:8; Y:4), (X:8; Y:8), (X:16; Y:16), (X:16; Y:24),
                (X:16; Y:16), (X:24; Y:24), (X:16; Y:16), (X:24; Y:24), (X:16; Y:16));
 
   AnimNames: Array [A_STAND..A_PAIN] of String =
              ('StandAnim','WalkAnim','Die1Anim','Die2Anim','AttackAnim',
               'SeeUpAnim','SeeDownAnim','AttackUpAnim','AttackDownAnim','PainAnim');
-  WeapNames: Array [WEAPON_SAW..WEAPON_SUPERPULEMET] of String =
+  WeapNames: Array [WP_FIRST + 1..WP_LAST] of String =
              ('csaw', 'hgun', 'sg', 'ssg', 'mgun', 'rkt', 'plz', 'bfg', 'spl');
 
 var
-  WeaponID: Array [WEAPON_SAW..WEAPON_SUPERPULEMET] of
+  WeaponID: Array [WP_FIRST + 1..WP_LAST] of
             Array [W_POS_NORMAL..W_POS_DOWN] of
             Array [W_ACT_NORMAL..W_ACT_FIRE] of DWORD;
   PlayerModelsArray: Array of TPlayerModelInfo;
@@ -163,7 +163,7 @@ procedure g_PlayerModel_LoadData();
 var
   a: Integer;
 begin
-  for a := WEAPON_SAW to WEAPON_SUPERPULEMET do
+  for a := WP_FIRST + 1 to WP_LAST do
   begin
     g_Texture_CreateWAD(WeaponID[a][W_POS_NORMAL][W_ACT_NORMAL], GameWAD+':WEAPONS\'+UpperCase(WeapNames[a]));
     g_Texture_CreateWAD(WeaponID[a][W_POS_NORMAL][W_ACT_FIRE], GameWAD+':WEAPONS\'+UpperCase(WeapNames[a])+'_FIRE');
@@ -313,7 +313,7 @@ begin
       Exit;
     end;
 
-    for aa := WEAPON_SAW to WEAPON_SUPERPULEMET do
+    for aa := WP_FIRST + 1 to WP_LAST do
       for bb := A_STAND to A_PAIN do
         for cc := D_LEFT to D_RIGHT do
         begin
@@ -391,7 +391,7 @@ begin
     end;
 
     ok := True;
-    for aa := WEAPON_SAW to WEAPON_SUPERPULEMET do
+    for aa := WP_FIRST + 1 to WP_LAST do
       for bb := A_STAND to A_PAIN do
         if not (bb in [A_DIE1, A_DIE2, A_PAIN]) then
         begin
@@ -594,7 +594,7 @@ var
   i: DWORD;
   a, b, c: Integer;
 begin
-  for a := WEAPON_SAW to WEAPON_SUPERPULEMET do
+  for a := WP_FIRST + 1 to WP_LAST do
     for b := W_POS_NORMAL to W_POS_DOWN do
       for c := W_ACT_NORMAL to W_ACT_FIRE do
         e_DeleteTexture(WeaponID[a][b][c]);
@@ -703,7 +703,7 @@ begin
 
   if FDrawWeapon and
     (not (FCurrentAnimation in [A_DIE1, A_DIE2, A_PAIN])) and
-    (FCurrentWeapon in [WEAPON_SAW..WEAPON_SUPERPULEMET]) then
+    (FCurrentWeapon in [WP_FIRST + 1..WP_LAST]) then
   begin
     if FCurrentAnimation in [A_SEEUP, A_ATTACKUP] then
       pos := W_POS_UP
index 68843d20c3d2e20528ae1fb449142a2960306550..c6f09a9d08dab480254b6657a86ed821a88e414d 100644 (file)
@@ -106,6 +106,9 @@ const
   WEAPON_MANCUB_FIRE    = 25;
   WEAPON_SKEL_FIRE      = 26;
 
+  WP_FIRST          = WEAPON_KASTET;
+  WP_LAST           = WEAPON_SUPERPULEMET;
+
 implementation
 
 uses