diff -r a5c5fe878a4e -r 21eda4fe383c share/hedgewars/Data/Scripts/Multiplayer/Racer.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Racer.lua Sat Feb 10 20:08:22 2018 +0100 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Racer.lua Sat Feb 10 21:28:22 2018 +0100 @@ -635,14 +635,24 @@ wpX[wpCount] = x wpY[wpCount] = y - if wpCount == 0 then - wpCol[wpCount] = 0x80ff80ff - else - wpCol[wpCount] = 0xffffffff - end + wpCol[wpCount] = 0xffffffff wpCirc[wpCount] = AddVisualGear(wpX[wpCount],wpY[wpCount],vgtCircle,0,true) - SetVisualGearValues(wpCirc[wpCount], wpX[wpCount], wpY[wpCount], 164, 224, 1, 10, 0, wpRad, 5, wpCol[wpCount]) + local flashing, minO, maxO + if wpCount == 0 then + -- First waypoint flashes. Useful to know since this is the spawn position. + minO, maxO = 164, 255 + flashing = 5 + else + -- Other waypoints are not animated (before the race starts) + minO, maxO = 255, 255 + flashing = 0 + end + SetVisualGearValues(wpCirc[wpCount], wpX[wpCount], wpY[wpCount], minO, maxO, 1, flashing, 0, wpRad, 5, wpCol[wpCount]) + + -- Make last waypoint white while making all previous ones light gray. + -- Note the last waypoint can be deleted with Precise. + SetVisualGearValues(wpCirc[wpCount-1], nil, nil, nil, nil, nil, nil, nil, nil, nil, 0xaaaaaaff) wpCount = wpCount + 1 @@ -667,6 +677,7 @@ wpCol[wpCount] = nil DeleteVisualGear(wpCirc[wpCount]) wpCirc[wpCount] = nil + SetVisualGearValues(wpCirc[wpCount-1], nil, nil, nil, nil, nil, nil, nil, nil, nil, 0xffffffff) AddCaption(string.format(loc("Waypoint removed. Available points: %d"), wpLimit-wpCount)) else PlaySound(sndDenied) @@ -703,15 +714,6 @@ AddAmmo(CurrentHedgehog, amAirAttack, 0) gTimer = 0 - -- Set the waypoints to unactive on new round - if not gameOver then - for i = 0,(wpCount-1) do - wpActive[i] = false - wpCol[i] = 0xffffffff - SetVisualGearValues(wpCirc[i], wpX[i], wpY[i], 164, 224, 1, 10, 0, wpRad, 5, wpCol[i]) - end - end - -- Handle Starting Stage of Game if (gameOver == false) and (gameBegun == false) then if wpCount >= 2 then @@ -737,6 +739,24 @@ end end + -- Set the waypoints to unactive on new round + if gameBegun and not gameOver then + for i = 0,(wpCount-1) do + wpActive[i] = false + wpCol[i] = 0xffffffff + local flashing, minO, maxO + if i == 0 then + -- Make first waypoint flash very noticably + minO, maxO = 92, 255 + flashing = 2 + else + minO, maxO = 164, 224 + flashing = 10 + end + SetVisualGearValues(wpCirc[i], nil, nil, minO, maxO, nil, flashing, nil, nil, nil, wpCol[i]) + end + end + if gameOver == true then gameBegun = false racerActive = false -- newadd