From e6acd440824ad9e72f8961b2bf36bab1e99016ae Mon Sep 17 00:00:00 2001 From: DrJamgo Date: Sun, 12 May 2019 11:38:28 +0200 Subject: [PATCH] FIX: Fixing convertTileToPixel function for hex tiles - covertToPixel now works for hex tiles properly - Tested with various options - different hex side lengths - stagger axis x/y --- sti/init.lua | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/sti/init.lua b/sti/init.lua index 4d3988f..f3539c8 100644 --- a/sti/init.lua +++ b/sti/init.lua @@ -1115,15 +1115,18 @@ function Map:convertTileToPixel(x,y) local tileW = self.tilewidth local tileH = self.tileheight local sideLen = self.hexsidelength or 0 + local even = self.staggerindex == "even" and 1 or 0 if self.staggeraxis == "x" then + local colW = tileW - (tileW - sideLen) / 2 return - x * tileW, - ceil(y) * (tileH + sideLen) + (ceil(y) % 2 == 0 and tileH or 0) + (x-1) * colW, + ceil(y-1) * (tileH) + (ceil(x) % 2 == even and tileH / 2 or 0) else + local rowH = tileH - (tileH - sideLen) / 2 return - ceil(x) * (tileW + sideLen) + (ceil(x) % 2 == 0 and tileW or 0), - y * tileH + ceil(x-1) * (tileW) + (ceil(y) % 2 == even and tileW / 2 or 0), + (y-1) * rowH end end end