DEADSOFTWARE

Fix preferences sync
authortravi$ <aidenkovbk@mail.ru>
Sun, 27 Mar 2022 09:32:28 +0000 (12:32 +0300)
committerDmitry Lyashuk <terminalhash@th-mx>
Sun, 27 Mar 2022 11:42:03 +0000 (14:42 +0300)
src/game/g_menu.pas
src/game/g_netmsg.pas

index 6f351683332b19aa23e217808de3688ff572db48..c6910e749465d055572696be93cdbad1d1f014b8 100644 (file)
@@ -407,8 +407,7 @@ begin
         if gPlayer1.Team <> gPlayer1Settings.Team then
           gPlayer1.SwitchTeam;
       gPlayer1.WeapSwitchMode := gPlayer1Settings.WeaponSwitch;
-      if (gPlayer1.WeapSwitchMode = 2) then
-        gPlayer1.setWeaponPrefs(gPlayer1Settings.WeaponPreferences);
+      gPlayer1.setWeaponPrefs(gPlayer1Settings.WeaponPreferences);
       gPlayer1.SwitchToEmpty := gPlayer1Settings.SwitchToEmpty;
       gPlayer1.SkipFist := gPlayer1Settings.SkipFist;
       if g_Game_IsNet then MH_SEND_PlayerSettings(gPlayer1.UID);
@@ -424,14 +423,17 @@ begin
         if gPlayer2.Team <> gPlayer2Settings.Team then
           gPlayer2.SwitchTeam;
       gPlayer2.WeapSwitchMode := gPlayer2Settings.WeaponSwitch;
-      if (gPlayer2.WeapSwitchMode = 2) then
-        gPlayer2.setWeaponPrefs(gPlayer2Settings.WeaponPreferences);
+      gPlayer2.setWeaponPrefs(gPlayer2Settings.WeaponPreferences);
       gPlayer2.SwitchToEmpty := gPlayer2Settings.SwitchToEmpty;
       gPlayer2.SkipFist := gPlayer2Settings.SkipFist;
     end;
   end;
 
-  if g_Game_IsClient then MC_SEND_PlayerSettings;
+  if g_Game_IsClient then
+  begin
+    MC_SEND_PlayerSettings;
+    gPlayer1.setWeaponPrefs(gPlayer1Settings.WeaponPreferences);
+  end;
 
   g_Console_WriteGameConfig;
 end;
index 910a480a78d25b4073593853012ef1a7d8e6a5b4..8b42846dd97d6dbc254b2639aefdc7847d615848 100644 (file)
@@ -400,9 +400,8 @@ begin
     B := M.ReadByte();
     T := M.ReadByte();
     WeapSwitch := M.ReadByte();
-    if (WeapSwitch = 2) then
-      for I := WP_FIRST to WP_LAST + 1 do
-        TmpPrefArray[I] := M.ReadByte();
+    for I := WP_FIRST to WP_LAST + 1 do
+      TmpPrefArray[I] := M.ReadByte();
     SwitchEmpty := M.ReadByte();
     SkipF := M.ReadByte();
   except
@@ -461,8 +460,7 @@ begin
   begin
     Name := PName;
     WeapSwitchMode := WeapSwitch;
-    if (WeapSwitch = 2) then
-      SetWeaponPrefs(TmpPrefArray);
+    SetWeaponPrefs(TmpPrefArray);
     SwitchToEmpty := SwitchEmpty;
     SkipFist := SkipF;
     Reset(True);
@@ -732,9 +730,8 @@ begin
     TmpColor.B := M.ReadByte();
     TmpTeam := M.ReadByte();
     TmpWeapSwitch := M.ReadByte();
-    if (TmpWeapSwitch = 2) then
-      for I := WP_FIRST to WP_LAST + 1 do
-        TmpPrefArray[I] := M.ReadByte();
+    for I := WP_FIRST to WP_LAST + 1 do
+      TmpPrefArray[I] := M.ReadByte();
     TmpSwEmpty := M.ReadByte();
     TmpSkipF := M.ReadByte();
   except
@@ -763,9 +760,7 @@ begin
   if (TmpWeapSwitch <> Pl.WeapSwitchMode) then
     Pl.WeapSwitchMode := TmpWeapSwitch;
 
-  if (TmpWeapSwitch = 2) then
-    Pl.SetWeaponPrefs(TmpPrefArray);
-
+  Pl.SetWeaponPrefs(TmpPrefArray);
   if (TmpSwEmpty <> Pl.SwitchToEmpty) then
     Pl.SwitchToEmpty := TmpSwEmpty;
 
@@ -3164,9 +3159,8 @@ begin
   NetOut.Write(gPlayer1Settings.Color.B);
   NetOut.Write(gPlayer1Settings.Team);
   NetOut.Write(gPlayer1Settings.WeaponSwitch);
-  if (gPlayer1Settings.WeaponSwitch = 2) then
-    for i := WP_FIRST to WP_LAST + 1 do
-      NetOut.Write(gPlayer1Settings.WeaponPreferences[i]);
+  for i := WP_FIRST to WP_LAST + 1 do
+    NetOut.Write(gPlayer1Settings.WeaponPreferences[i]);
   NetOut.Write(gPlayer1Settings.SwitchToEmpty);
   NetOut.Write(gPlayer1Settings.SkipFist);
 
@@ -3318,9 +3312,8 @@ begin
   NetOut.Write(gPlayer1Settings.Color.B);
   NetOut.Write(gPlayer1Settings.Team);
   NetOut.Write(gPlayer1Settings.WeaponSwitch);
-  if (gPlayer1Settings.WeaponSwitch = 2) then
-    for i := WP_FIRST to WP_LAST + 1 do
-      NetOut.Write(gPlayer1Settings.WeaponPreferences[i]);
+  for i := WP_FIRST to WP_LAST + 1 do
+    NetOut.Write(gPlayer1Settings.WeaponPreferences[i]);
   NetOut.Write(gPlayer1Settings.SwitchToEmpty);
   NetOut.Write(gPlayer1Settings.SkipFist);