summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 84a2534)
raw | patch | inline | side by side (parent: 84a2534)
author | binarymaster <x86corez@gmail.com> | |
Wed, 9 Aug 2017 12:38:19 +0000 (15:38 +0300) | ||
committer | binarymaster <x86corez@gmail.com> | |
Wed, 9 Aug 2017 12:38:19 +0000 (15:38 +0300) |
diff --git a/src/game/g_gui.pas b/src/game/g_gui.pas
index 1516d4452328ad0489451ced4163d0a7bf7463cc..c276cfd1a7c271de1afd66938ee564d2e8e1ef1e 100644 (file)
--- a/src/game/g_gui.pas
+++ b/src/game/g_gui.pas
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);
diff --git a/src/game/g_netmsg.pas b/src/game/g_netmsg.pas
index bc54015ae519443c100ec950b635f3b7412bb7b3..e838a9b7fff87f34eaceee923c3dc387feb14fe1 100644 (file)
--- a/src/game/g_netmsg.pas
+++ b/src/game/g_netmsg.pas
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
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
diff --git a/src/game/g_player.pas b/src/game/g_player.pas
index 1d036616a4884835132d9bde3643baae1f5f80c8..7dd22f870f497aec99735edd27f4caa7887e7a60 100644 (file)
--- a/src/game/g_player.pas
+++ b/src/game/g_player.pas
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;
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;
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
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
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'
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);
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];
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];
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
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;
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;
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
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
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);
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;
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)
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;
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;
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');
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
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
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]);
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
diff --git a/src/game/g_weapons.pas b/src/game/g_weapons.pas
index 68843d20c3d2e20528ae1fb449142a2960306550..c6f09a9d08dab480254b6657a86ed821a88e414d 100644 (file)
--- a/src/game/g_weapons.pas
+++ b/src/game/g_weapons.pas
WEAPON_MANCUB_FIRE = 25;
WEAPON_SKEL_FIRE = 26;
+ WP_FIRST = WEAPON_KASTET;
+ WP_LAST = WEAPON_SUPERPULEMET;
+
implementation
uses