summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: f9fcec8)
raw | patch | inline | side by side (parent: f9fcec8)
author | DeaDDooMER <deaddoomer@deadsoftware.ru> | |
Fri, 4 Jan 2019 19:58:38 +0000 (22:58 +0300) | ||
committer | DeaDDooMER <deaddoomer@deadsoftware.ru> | |
Fri, 4 Jan 2019 19:58:38 +0000 (22:58 +0300) |
src/game/g_net.pas | patch | blob | history | |
src/game/g_netmsg.pas | patch | blob | history | |
src/game/g_player.pas | patch | blob | history |
diff --git a/src/game/g_net.pas b/src/game/g_net.pas
index c15df2bae9406b2cc043fce515bdc11b113b21da..4eeeede0a00a347a32cbff1bec98f0c5321cdb8a 100644 (file)
--- a/src/game/g_net.pas
+++ b/src/game/g_net.pas
e_log, e_msg, ENet, Classes, MAPDEF{$IFDEF USE_MINIUPNPC}, miniupnpc;{$ELSE};{$ENDIF}
const
- NET_PROTOCOL_VER = 174;
+ NET_PROTOCOL_VER = 175;
NET_MAXCLIENTS = 24;
NET_CHANS = 11;
diff --git a/src/game/g_netmsg.pas b/src/game/g_netmsg.pas
index a7ff31a9639fe68fdf2efdae7e308b54a1683a5d..01dcc3ce0182044baf67cbcef01a4b57c49e7802 100644 (file)
--- a/src/game/g_netmsg.pas
+++ b/src/game/g_netmsg.pas
end;
gPlayer1.ReleaseKeys;
+ gPlayer1.weaponSwitchKeysStateChange(-1, isKeyPressed(KeyNextWeapon, KeyNextWeapon2));
+ gPlayer1.weaponSwitchKeysStateChange(-2, isKeyPressed(KeyPrevWeapon, KeyPrevWeapon2));
+
if P1MoveButton = 1 then
begin
kByte := kByte or NET_KEY_LEFT;
end;
if isKeyPressed(KeyFire, KeyFire2) then kByte := kByte or NET_KEY_FIRE;
if isKeyPressed(KeyOpen, KeyOpen2) then kByte := kByte or NET_KEY_OPEN;
- if isKeyPressed(KeyNextWeapon, KeyNextWeapon2) then kByte := kByte or NET_KEY_NW;
- if isKeyPressed(KeyPrevWeapon, KeyPrevWeapon2) then kByte := kByte or NET_KEY_PW;
+ if isKeyPressed(KeyNextWeapon, KeyNextWeapon2) and gPlayer1.isWeaponSwitchKeyReleased(-1) then kByte := kByte or NET_KEY_NW;
+ if isKeyPressed(KeyPrevWeapon, KeyPrevWeapon2) and gPlayer1.isWeaponSwitchKeyReleased(-2) then kByte := kByte or NET_KEY_PW;
for I := 0 to High(KeyWeapon) do
+ begin
if isKeyPressed(KeyWeapon[I], KeyWeapon2[I]) then
- WeaponSelect := WeaponSelect or Word(1 shl I);
+ begin
+ gPlayer1.weaponSwitchKeysStateChange(i, true);
+ if gPlayer1.isWeaponSwitchKeyReleased(i) then WeaponSelect := WeaponSelect or Word(1 shl I);
+ end
+ else
+ begin
+ gPlayer1.weaponSwitchKeysStateChange(i, false);
+ end;
+ end;
end;
// fix movebutton state
P1MoveButton := P1MoveButton or (strafeDir shl 4);
else
kByte := NET_KEY_CHAT;
+ gPlayer1.weaponSwitchKeysShiftNewStates();
+
NetOut.Write(Byte(NET_MSG_PLRPOS));
NetOut.Write(gTime);
NetOut.Write(kByte);
diff --git a/src/game/g_player.pas b/src/game/g_player.pas
index b87d5d794f79e78f656dab77fdce1cdeaa78c37d..5dd29a6c4633bd97984551f7f9ae6f93665b5397 100644 (file)
--- a/src/game/g_player.pas
+++ b/src/game/g_player.pas
Result := True;
remove := True;
FFireTime := 0;
+ //k8:do we need it? if g_Game_IsNet and g_Game_IsServer then MH_SEND_PlayerStats(FUID);
end;
if FHealth < PLAYER_HP_SOFT then
begin