# HG changeset patch # User nemo # Date 1417548376 18000 # Node ID f2f9928ea2e7346a905fc78ae9e1a901670568ad # Parent bda5c7caf39616a6d6d7a1fd1919a9050853e64e Sheepluva thought this was worth adding. diff -r bda5c7caf396 -r f2f9928ea2e7 share/hedgewars/Data/Scripts/Draw.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Scripts/Draw.lua Tue Dec 02 14:26:16 2014 -0500 @@ -0,0 +1,25 @@ +local PointsBuffer = '' -- A string to accumulate points in + +function AddPoint(x, y, width, erase) + PointsBuffer = PointsBuffer .. string.char(band(x,0xff00) / 256 , band(x,0xff) , band(y,0xff00) / 256 , band(y,0xff)) + if width then + width = bor(width,0x80) + if erase then + width = bor(width,0x40) + end + PointsBuffer = PointsBuffer .. string.char(width) + else + PointsBuffer = PointsBuffer .. string.char(0) + end + if #PointsBuffer > 245 then + ParseCommand('draw '..PointsBuffer) + PointsBuffer = '' + end +end + +function FlushPoints() + if #PointsBuffer > 0 then + ParseCommand('draw '..PointsBuffer) + PointsBuffer = '' + end +end diff -r bda5c7caf396 -r f2f9928ea2e7 share/hedgewars/Data/Scripts/Multiplayer/DiagonalMaze.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Scripts/Multiplayer/DiagonalMaze.cfg Tue Dec 02 14:26:16 2014 -0500 @@ -0,0 +1,2 @@ +Default +Default diff -r bda5c7caf396 -r f2f9928ea2e7 share/hedgewars/Data/Scripts/Multiplayer/DiagonalMaze.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Scripts/Multiplayer/DiagonalMaze.lua Tue Dec 02 14:26:16 2014 -0500 @@ -0,0 +1,22 @@ +HedgewarsScriptLoad("/Scripts/Draw.lua") + +function onPreviewInit() +onGameInit() +end + +function onGameInit() + MapGen = mgDrawn + TemplateFilter = 0 + for y = 48,2048,200 do + for x = 48,4048,200 do + if GetRandom(2) == 0 then + AddPoint(x,y,1) + AddPoint(x+200,y+200) + else + AddPoint(x,y+200,1) + AddPoint(x+200,y) + end + end + end + FlushPoints() +end diff -r bda5c7caf396 -r f2f9928ea2e7 share/hedgewars/Data/Scripts/Multiplayer/ShoppaMap.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/ShoppaMap.lua Tue Dec 02 13:29:06 2014 -0500 +++ b/share/hedgewars/Data/Scripts/Multiplayer/ShoppaMap.lua Tue Dec 02 14:26:16 2014 -0500 @@ -1,32 +1,10 @@ ObjectList = {} -PointsBuffer = '' -- A string to accumulate points in + +HedgewarsScriptLoad("/Scripts/Draw.lua") -- Overall padding for roping freedom Padding = 430 -function AddPoint(x, y, width, erase) - PointsBuffer = PointsBuffer .. string.char(band(x,0xff00) / 256 , band(x,0xff) , band(y,0xff00) / 256 , band(y,0xff)) - if width then - width = bor(width,0x80) - if erase then - width = bor(width,0x40) - end - PointsBuffer = PointsBuffer .. string.char(width) - else - PointsBuffer = PointsBuffer .. string.char(0) - end - if #PointsBuffer > 245 then - ParseCommand('draw '..PointsBuffer) - PointsBuffer = '' - end -end -function FlushPoints() - if #PointsBuffer > 0 then - ParseCommand('draw '..PointsBuffer) - PointsBuffer = '' - end -end - -- This could probably use less points and more precision -- 700x700 for object space function DrawStar(x, y, d, f)