# HG changeset patch # User Wuzzy # Date 1521080971 -3600 # Node ID bc95df84395fbfc9969942967fc6a76c66c28f22 # Parent 9c81e34f193389f8aa2ccbff9de1d1b35fd0ed4b Clear drawn maps in TechRacer diff -r 9c81e34f1933 -r bc95df84395f share/hedgewars/Data/Scripts/Multiplayer/TechRacer.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/TechRacer.lua Thu Mar 15 02:59:37 2018 +0100 +++ b/share/hedgewars/Data/Scripts/Multiplayer/TechRacer.lua Thu Mar 15 03:29:31 2018 +0100 @@ -81,6 +81,7 @@ HedgewarsScriptLoad("/Scripts/OfficialChallenges.lua") HedgewarsScriptLoad("/Scripts/Tracker.lua") HedgewarsScriptLoad("/Scripts/Params.lua") +HedgewarsScriptLoad("/Scripts/Utils.lua") HedgewarsScriptLoad("/Scripts/TechMaps.lua") ------------------ @@ -793,30 +794,36 @@ end function onGameInit() + + TemplateFilter = 0 + + if MapGen == mgDrawn then + eraseMap(false) + else + MapGen = mgDrawn + end + if mapID == nil then mapID = 2 + GetRandom(7) end addHashData(mapID) - Theme = "Cave" - Map = "" - - MapGen = mgDrawn - TemplateFilter = 0 + Theme = "Cave" + Map = "" - EnableGameFlags(gfInfAttack, gfDisableWind, gfBorder) - DisableGameFlags(gfSolidLand) - CaseFreq = 0 - TurnTime = 90000 - WaterRise = 0 - HealthDecrease = 0 + EnableGameFlags(gfInfAttack, gfDisableWind, gfBorder) + DisableGameFlags(gfSolidLand) + CaseFreq = 0 + TurnTime = 90000 + WaterRise = 0 + HealthDecrease = 0 - for x = 1, 16 do - AddPoint(x*100,100,5) - end + for x = 1, 16 do + AddPoint(x*100,100,5) + end - FlushPoints() + FlushPoints() end diff -r 9c81e34f1933 -r bc95df84395f share/hedgewars/Data/Scripts/Multiplayer/Tunnels.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Tunnels.lua Thu Mar 15 02:59:37 2018 +0100 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Tunnels.lua Thu Mar 15 03:29:31 2018 +0100 @@ -1,16 +1,13 @@ +HedgewarsScriptLoad("/Scripts/Utils.lua") function onPreviewInit() -onGameInit() + onGameInit() end function onGameInit() MapGen = mgDrawn TemplateFilter = 0 - for i = 200,2000,600 do - AddPoint(1,i,63) - AddPoint(4000,i) - end - + fillMap(false) side = 0 for i = 0,1+MapFeatureSize*2 do if side > 3 then diff -r 9c81e34f1933 -r bc95df84395f share/hedgewars/Data/Scripts/TechMaps.lua --- a/share/hedgewars/Data/Scripts/TechMaps.lua Thu Mar 15 02:59:37 2018 +0100 +++ b/share/hedgewars/Data/Scripts/TechMaps.lua Thu Mar 15 03:29:31 2018 +0100 @@ -12,6 +12,7 @@ HedgewarsScriptLoad("/Scripts/Tracker.lua") +HedgewarsScriptLoad("/Scripts/Utils.lua") techX = {} techY = {} @@ -92,11 +93,16 @@ return end + if MapGen == mgDrawn then + eraseMap(false) + else + MapGen = mgDrawn + end + if mapID == nil then mapID = 2 + GetRandom(7) end - MapGen = mgDrawn TemplateFilter = 0 for x = 1, 16 do diff -r 9c81e34f1933 -r bc95df84395f share/hedgewars/Data/Scripts/Utils.lua --- a/share/hedgewars/Data/Scripts/Utils.lua Thu Mar 15 02:59:37 2018 +0100 +++ b/share/hedgewars/Data/Scripts/Utils.lua Thu Mar 15 03:29:31 2018 +0100 @@ -20,3 +20,27 @@ end return false end + +local function drawFullMap(erase, flush) + for x = 200,4000,600 do + for y = 100,2000,150 do + AddPoint(x, y, 63, erase) + end + end + if flush ~= false then + FlushPoints() + end +end + +-- Completely fill the map with land. Requires MapGen=mgDrawn. +-- If flush is false, FlushPoints() is not called. +function fillMap(flush) + drawFullMap(false, flush) +end + +-- Completely erase all land from drawn maps. Requires MapGen=mgDrawn. +-- If flush is false, FlushPoints() is not called. +function eraseMap(flush) + drawFullMap(true, flush) +end +