X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fgame%2Fg_player.pas;h=9048859a9ba464972c6df80d77cc4ac955213381;hb=48a252493005343483d9ea943c350cac146ab295;hp=137ab818e6c4d7bbee6ec089ca7abb7c72c12dd5;hpb=dc74c1c884773d0133ab79bcaa29b309c85d2603;p=d2df-sdl.git diff --git a/src/game/g_player.pas b/src/game/g_player.pas index 137ab81..9048859 100644 --- a/src/game/g_player.pas +++ b/src/game/g_player.pas @@ -3728,21 +3728,13 @@ begin // no cycling for i := 0 to High(wantThisWeapon) do wantThisWeapon[i] := false; wwc := 0; - - curlidx := -1; // start from a weapon with a highest priority (-1, 'cause loop will immediately increment this index) - for i := 0 to High(FWeapon) do begin if (FNextWeap and (1 shl i)) <> 0 then begin cwi := real2log(i); - if (cwi >= 0) then - begin - wantThisWeapon[cwi] := true; - Inc(wwc); - // if we hit currently selected weapon, start seachring from it, so we'll get "next weaker" weapon - if (i = FCurrWeap) then curlidx := cwi; // compare real, start from logical - end; + if (cwi >= 0) then wantThisWeapon[cwi] := true; + Inc(wwc); end; end; @@ -3766,7 +3758,12 @@ begin exit; end; + // exclude currently selected weapon from the set + curlidx := real2log(FCurrWeap); //e_WriteLog(Format('*** wwc=%d; currweap=%d; logweap=%d', [wwc, FCurrWeap, curlidx]), TMsgType.Warning); + //e_WriteLog(Format('FCurrWeap=%d; curlidx=%d', [FCurrWeap, curlidx]), TMsgType.Warning); + //if (curlidx >= 0) then wantThisWeapon[curlidx] := false; + //if (wwc = 2) then begin Dec(wwc); end; // easy case: switch between two weapons // find next weapon to switch onto cwi := curlidx; @@ -4236,7 +4233,6 @@ begin 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