From d4d6a140ef89b4bdb88b1fdc3fe09431eb67366b Mon Sep 17 00:00:00 2001 From: shylie Date: Wed, 23 Jul 2025 07:18:56 -0400 Subject: [PATCH] Update example to use latest library features --- main.lua | 27 +++++++++++++++------------ zprite | 2 +- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/main.lua b/main.lua index 7244385..142c444 100644 --- a/main.lua +++ b/main.lua @@ -7,7 +7,7 @@ local gx = 0 local gy = 0 local angle = 0 local scale = 1 -local dist = 4 +local dist = 5 local atlas = { water = love.graphics.newQuad(1, 1, 8, 8, tex), @@ -18,27 +18,32 @@ local atlas = { snow = love.graphics.newQuad(11, 11, 8, 8, tex), } +local alpha = 0.75 local colors = {} function colors.water(layer) - return 0.1, layer / 16, layer / 8 + return 0.1, layer / 16, layer / 8, alpha end function colors.sand(layer) - return layer / 16 + 0.2, layer / 16 + 0.15, 0.4 + return layer / 16 + 0.2, layer / 16 + 0.15, 0.4, alpha end function colors.dirt(layer) if layer < 16 then - return layer / 40, layer / 80, 0.1 + return layer / 40, layer / 80, 0.1, alpha else - return 0.1, layer / 50 + 0.1, 0.1 + return 0.1, layer / 50 + 0.1, 0.1, alpha end end function colors.stone(layer) local value = layer / 48 - 0.2 - return value / 1.1, value, value * 1.1 + return value / 1.1, value, value * 1.1, alpha end function colors.snow(layer) local value = layer / 48 + 0.25 - return value / 1.1, value, value * 1.1 + return value / 1.1, value, value * 1.1, alpha +end + +local function offset_map(_) + return -1, 1 end local z = zprite.zchunk.new(tex, 16 * 8, 40, dist * 2 + 1) @@ -109,7 +114,7 @@ end local function generate(x, y) local height = heightmap(x, y) - z:put(x, y, atlas.stone, math.ceil(height * 40), pick_color(height)) + z:put(x, y, atlas.stone, math.ceil(height * 40), pick_color(height), offset_map) end local generated = {} @@ -194,14 +199,12 @@ end local t = love.math.newTransform() function love.draw() - for _, chunk in pairs(z._chunks) do - chunk.z._height_scale = 18 * scale - end + z._height_scale = 18 * scale t:reset() t:translate(love.graphics.getWidth() / 2, love.graphics.getHeight() / 2) t:scale(scale, scale) t:rotate(angle) - t:translate(gx - z._chunk_size, gy - z._chunk_size / 2) + t:translate(gx - z._chunk_size / 2, gy - z._chunk_size / 2) z:draw(t) end diff --git a/zprite b/zprite index 071b00d..0ac6791 160000 --- a/zprite +++ b/zprite @@ -1 +1 @@ -Subproject commit 071b00d922ba6dcf76b5ecae0fdd5c01579482bf +Subproject commit 0ac6791e752f5887cafe38e74e06ee86c76bec44