X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_netmsg.pas;h=f5b30efa23c914c9ad02f9eee8c796e5df28fa6f;hb=05c4488d67219fb60a2687af2a06397fea1dffbb;hp=01dcc3ce0182044baf67cbcef01a4b57c49e7802;hpb=ec8ff55f97b6159f646c6e120a64a323d9fe8189;p=d2df-sdl.git diff --git a/src/game/g_netmsg.pas b/src/game/g_netmsg.pas index 01dcc3c..f5b30ef 100644 --- a/src/game/g_netmsg.pas +++ b/src/game/g_netmsg.pas @@ -1838,7 +1838,7 @@ var PID: Word; Pl: TPlayer; EvType: Byte; - Fl: Byte; + Fl, a: Byte; Quiet: Boolean; s, ts: string; begin @@ -1875,6 +1875,16 @@ begin s := _lc[I_PLAYER_FLAG_BLUE]; g_Game_Message(Format(_lc[I_MESSAGE_FLAG_RETURN], [AnsiUpperCase(s)]), 144); + + if ((Pl = gPlayer1) or (Pl = gPlayer2) + or ((gPlayer1 <> nil) and (gPlayer1.Team = Pl.Team)) + or ((gPlayer2 <> nil) and (gPlayer2.Team = Pl.Team))) then + a := 0 + else + a := 1; + + if not sound_ret_flag[a].IsPlaying() then + sound_ret_flag[a].Play(); end; FLAG_STATE_CAPTURED: @@ -1890,6 +1900,16 @@ begin g_Console_Add(Format(_lc[I_PLAYER_FLAG_GET], [Pl.Name, s]), True); g_Game_Message(Format(_lc[I_MESSAGE_FLAG_GET], [AnsiUpperCase(s)]), 144); + + if ((Pl = gPlayer1) or (Pl = gPlayer2) + or ((gPlayer1 <> nil) and (gPlayer1.Team = Pl.Team)) + or ((gPlayer2 <> nil) and (gPlayer2.Team = Pl.Team))) then + a := 0 + else + a := 1; + + if not sound_get_flag[a].IsPlaying() then + sound_get_flag[a].Play(); end; FLAG_STATE_DROPPED: @@ -1905,6 +1925,16 @@ begin g_Console_Add(Format(_lc[I_PLAYER_FLAG_DROP], [Pl.Name, s]), True); g_Game_Message(Format(_lc[I_MESSAGE_FLAG_DROP], [AnsiUpperCase(s)]), 144); + + if ((Pl = gPlayer1) or (Pl = gPlayer2) + or ((gPlayer1 <> nil) and (gPlayer1.Team = Pl.Team)) + or ((gPlayer2 <> nil) and (gPlayer2.Team = Pl.Team))) then + a := 0 + else + a := 1; + + if not sound_lost_flag[a].IsPlaying() then + sound_lost_flag[a].Play(); end; FLAG_STATE_SCORED: @@ -1923,6 +1953,16 @@ begin Insert('.', ts, Length(ts) + 1 - 3); g_Console_Add(Format(_lc[I_PLAYER_FLAG_CAPTURE], [Pl.Name, s, ts]), True); g_Game_Message(Format(_lc[I_MESSAGE_FLAG_CAPTURE], [AnsiUpperCase(s)]), 144); + + if ((Pl = gPlayer1) or (Pl = gPlayer2) + or ((gPlayer1 <> nil) and (gPlayer1.Team = Pl.Team)) + or ((gPlayer2 <> nil) and (gPlayer2.Team = Pl.Team))) then + a := 0 + else + a := 1; + + if not sound_cap_flag[a].IsPlaying() then + sound_cap_flag[a].Play(); end; FLAG_STATE_RETURNED: @@ -1936,6 +1976,16 @@ begin s := _lc[I_PLAYER_FLAG_BLUE]; g_Game_Message(Format(_lc[I_MESSAGE_FLAG_RETURN], [AnsiUpperCase(s)]), 144); + + if ((Pl = gPlayer1) or (Pl = gPlayer2) + or ((gPlayer1 <> nil) and (gPlayer1.Team = Pl.Team)) + or ((gPlayer2 <> nil) and (gPlayer2.Team = Pl.Team))) then + a := 0 + else + a := 1; + + if not sound_ret_flag[a].IsPlaying() then + sound_ret_flag[a].Play(); end; end; end; @@ -2759,9 +2809,6 @@ begin 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; @@ -2789,20 +2836,11 @@ begin 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) 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; + if isKeyPressed(KeyNextWeapon, KeyNextWeapon2) then kByte := kByte or NET_KEY_NW; + if isKeyPressed(KeyPrevWeapon, KeyPrevWeapon2) then kByte := kByte or NET_KEY_PW; for I := 0 to High(KeyWeapon) do - begin if isKeyPressed(KeyWeapon[I], KeyWeapon2[I]) then - 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; + WeaponSelect := WeaponSelect or Word(1 shl I); end; // fix movebutton state P1MoveButton := P1MoveButton or (strafeDir shl 4); @@ -2810,8 +2848,6 @@ begin else kByte := NET_KEY_CHAT; - gPlayer1.weaponSwitchKeysShiftNewStates(); - NetOut.Write(Byte(NET_MSG_PLRPOS)); NetOut.Write(gTime); NetOut.Write(kByte);