From 318c96d94849fff4b43ced5611d82c2841e86856 Mon Sep 17 00:00:00 2001 From: Smok1e <33802666+Smok1e@users.noreply.github.com> Date: Sun, 23 Jun 2024 06:28:23 +0300 Subject: [PATCH] Fix wallpapers --- Wallpapers/Lines.wlp/Main.lua | 4 ++-- Wallpapers/Snow.wlp/Main.lua | 37 +++++++++++++++++++++++++++------- Wallpapers/Sphere.wlp/Main.lua | 2 +- 3 files changed, 33 insertions(+), 10 deletions(-) diff --git a/Wallpapers/Lines.wlp/Main.lua b/Wallpapers/Lines.wlp/Main.lua index 913241e7..03b87c52 100644 --- a/Wallpapers/Lines.wlp/Main.lua +++ b/Wallpapers/Lines.wlp/Main.lua @@ -36,8 +36,8 @@ local function reset() local resX, resY = screen.getResolution() for i = 1, config.lineCount do table.insert(points, { - x = math.random(0, resX - 1), - y = math.random(0, (resY - 1) * 2), + x = math.random(0, wallpaper.width - 1), + y = math.random(0, (wallpaper.height - 1) * 2), vx = (2 * math.random() - 1) * 25, vy = (2 * math.random() - 1) * 25 }) diff --git a/Wallpapers/Snow.wlp/Main.lua b/Wallpapers/Snow.wlp/Main.lua index e9ecde06..b9edb41d 100644 --- a/Wallpapers/Snow.wlp/Main.lua +++ b/Wallpapers/Snow.wlp/Main.lua @@ -15,7 +15,8 @@ local config = { snowflakeColor = 0xFFFFFF, snowflakeAmount = 20, maxStackHeight = 10, - maxWind = 2 + maxWind = 2, + speed = 1 } if filesystem.exists(configPath) then @@ -81,8 +82,8 @@ wallpaper.draw = function(wallpaper) snowflake = snowflakes[i] screenSemiPixelSet( - mathFloor(wallpaper.x + snowflake.x), - mathFloor(wallpaper.y + snowflake.y), + mathFloor( wallpaper.x + snowflake.x), + mathFloor(2 * wallpaper.y + snowflake.y), snowflake.color ) end @@ -91,7 +92,7 @@ wallpaper.draw = function(wallpaper) local stackHeight for x, stackHeight in pairs(stacks) do - screenDrawSemiPixelRectangle(wallpaper.x + x, wallpaper.y + wallpaper.height * 2 - stackHeight + 1, 1, stackHeight, config.snowflakeColor) + screenDrawSemiPixelRectangle(wallpaper.x + x, 2 * (wallpaper.y + wallpaper.height) - stackHeight - 1, 1, stackHeight, config.snowflakeColor) if stackHeight > config.maxStackHeight then stacks[x] = stackHeight - 2 @@ -102,7 +103,7 @@ wallpaper.draw = function(wallpaper) local currentTime = computer.uptime() local deltaTime = (currentTime - lastUpdateTime) * 20 - wind = wind + .1 * (2 * mathRandom() - 1) * deltaTime + wind = wind + .1 * (2 * mathRandom() - 1) * deltaTime * config.speed if wind > config.maxWind then wind = config.maxWind end if wind < -config.maxWind then wind = -config.maxWind end @@ -113,8 +114,8 @@ wallpaper.draw = function(wallpaper) while i <= #snowflakes do snowflake = snowflakes[i] - snowflake.y = snowflake.y + deltaTime * snowflake.speed - snowflake.x = snowflake.x + deltaTime * (wind * snowflake.speed + snowflake.vx) + snowflake.y = snowflake.y + deltaTime * config.speed * snowflake.speed + snowflake.x = snowflake.x + deltaTime * config.speed * (wind * snowflake.speed + snowflake.vx) snowflake.vx = snowflake.vx + (mathRandom() * 2 - 1) * 0.1 * deltaTime @@ -215,4 +216,26 @@ wallpaper.configure = function(layout) config.maxStackHeight = math.floor(maxStackHeightSlider.value) saveConfig() end + + local speedSlider = layout:addChild( + GUI.slider( + 1, 1, + 36, + 0x66DB80, + 0xE1E1E1, + 0xFFFFFF, + 0xA5A5A5, + 20, 1000, + config.speed * 100, + false, + "Speed: ", + "%" + ) + ) + + speedSlider.roundValues = true + speedSlider.onValueChanged = function() + config.speed = speedSlider.value / 100 + saveConfig() + end end \ No newline at end of file diff --git a/Wallpapers/Sphere.wlp/Main.lua b/Wallpapers/Sphere.wlp/Main.lua index 05e109a7..c933e249 100644 --- a/Wallpapers/Sphere.wlp/Main.lua +++ b/Wallpapers/Sphere.wlp/Main.lua @@ -121,7 +121,7 @@ wallpaper.draw = function(wallpaper) local t = config.speed * (computer.uptime() - startTime) / 10 local lightPos = {lightSpinRadius * math.cos(t), lightSpinRadius * 0.5 * math.cos(t), lightSpinRadius * math.sin(t)} - local cx, cy = math.floor(wallpaper.width / 2), wallpaper.height + local cx, cy = wallpaper.x + math.floor(wallpaper.width / 2), 2 * wallpaper.y + wallpaper.height screen.drawRectangle(wallpaper.x, wallpaper.y, wallpaper.width, wallpaper.height, config.backgroundColor, 0, " ")