From 0a0787a8f1956453a95d945f10a378da35312947 Mon Sep 17 00:00:00 2001 From: paramat Date: Tue, 12 Dec 2017 19:26:29 +0000 Subject: [PATCH] Update deprecated 'acc','vel'. 12 new 5x5 snowflake textures. Time particles to disappear at water level. Randomise snowflake XZ velocities --- README.txt | 2 +- init.lua | 58 +++++++++++++++++------------ textures/snowdrift_snowflake1.png | Bin 179 -> 104 bytes textures/snowdrift_snowflake10.png | Bin 0 -> 105 bytes textures/snowdrift_snowflake11.png | Bin 0 -> 105 bytes textures/snowdrift_snowflake12.png | Bin 0 -> 105 bytes textures/snowdrift_snowflake2.png | Bin 193 -> 104 bytes textures/snowdrift_snowflake3.png | Bin 197 -> 102 bytes textures/snowdrift_snowflake4.png | Bin 192 -> 104 bytes textures/snowdrift_snowflake5.png | Bin 0 -> 105 bytes textures/snowdrift_snowflake6.png | Bin 0 -> 105 bytes textures/snowdrift_snowflake7.png | Bin 0 -> 104 bytes textures/snowdrift_snowflake8.png | Bin 0 -> 105 bytes textures/snowdrift_snowflake9.png | Bin 0 -> 105 bytes 14 files changed, 35 insertions(+), 25 deletions(-) create mode 100644 textures/snowdrift_snowflake10.png create mode 100644 textures/snowdrift_snowflake11.png create mode 100644 textures/snowdrift_snowflake12.png create mode 100644 textures/snowdrift_snowflake5.png create mode 100644 textures/snowdrift_snowflake6.png create mode 100644 textures/snowdrift_snowflake7.png create mode 100644 textures/snowdrift_snowflake8.png create mode 100644 textures/snowdrift_snowflake9.png diff --git a/README.txt b/README.txt index a22d2c9..a1413d7 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -snowdrift 0.5.1 by paramat +snowdrift 0.5.2 by paramat For Minetest 0.4.15 and later Depends default diff --git a/init.lua b/init.lua index 9f6f305..c0ecd4a 100644 --- a/init.lua +++ b/init.lua @@ -1,12 +1,13 @@ -- Parameters -local YLIMIT = 1 -- Set to world's water level or level of lowest open area, - -- calculations are disabled below this y. +local YLIMIT = 1 -- Set to world's water level + -- Particles are timed to disappear at this y + -- Particles do not spawn when player's head is below this y local PRECSPR = 6 -- Time scale for precipitation variation in minutes local PRECOFF = -0.4 -- Precipitation offset, higher = rains more often local GSCYCLE = 0.5 -- Globalstep cycle (seconds) -local FLAKES = 16 -- Snowflakes per cycle -local DROPS = 64 -- Raindrops per cycle +local FLAKES = 32 -- Snowflakes per cycle +local DROPS = 128 -- Raindrops per cycle local RAINGAIN = 0.2 -- Rain sound volume local COLLIDE = false -- Whether particles collide with nodes local NISVAL = 39 -- Clouds RGB value at night @@ -79,7 +80,7 @@ minetest.register_globalstep(function(dtime) local player_name = player:get_player_name() local ppos = player:getpos() local pposy = math.floor(ppos.y) + 2 -- Precipitation when swimming - if pposy >= YLIMIT then + if pposy >= YLIMIT - 2 then local pposx = math.floor(ppos.x) local pposz = math.floor(ppos.z) local ppos = {x = pposx, y = pposy, z = pposz} @@ -124,10 +125,15 @@ minetest.register_globalstep(function(dtime) elseif time >= 0.2396 then sval = DASVAL else - sval = math.floor(NISVAL + ((time - 0.1875) / 0.0521) * difsval) + sval = math.floor(NISVAL + + ((time - 0.1875) / 0.0521) * difsval) end - - player:set_sky({r = sval, g = sval, b = sval + 16, a = 255}, "plain", {}) + -- Set sky to overcast bluish-grey + player:set_sky( + {r = sval, g = sval, b = sval + 16, a = 255}, + "plain", + {} + ) else -- Reset sky to normal player:set_sky({}, "regular", {}) @@ -146,44 +152,48 @@ minetest.register_globalstep(function(dtime) -- Precipitation if freeze then -- Snowfall + local extime = math.min((pposy + 12 - YLIMIT) / 2, 9) for flake = 1, FLAKES do minetest.add_particle({ pos = { - x = pposx - 24 + math.random(0, 47), - y = pposy + 8 + math.random(0, 1), - z = pposz - 20 + math.random(0, 47) + x = pposx - 24 + math.random(0, 48), + y = pposy + 12, + z = pposz - 24 + math.random(0, 48) }, - vel = { - x = 0.0, + velocity = { + x = (-20 + math.random(0, 40)) / 100, y = -2.0, - z = -1.0 + z = (-20 + math.random(0, 40)) / 100 }, - acc = {x = 0, y = 0, z = 0}, - expirationtime = 8.5, + acceleration = {x = 0, y = 0, z = 0}, + expirationtime = extime, size = 2.8, collisiondetection = COLLIDE, collision_removal = true, vertical = false, - texture = "snowdrift_snowflake" .. math.random(1, 4) .. ".png", + texture = "snowdrift_snowflake" .. + math.random(1, 12) .. ".png", playername = player:get_player_name() }) end else -- Rainfall - for flake = 1, DROPS do + for drop = 1, DROPS do + local spawny = pposy + 10 + math.random(0, 40) / 10 + local extime = math.min((spawny - YLIMIT) / 10, 1.8) minetest.add_particle({ pos = { - x = pposx - 8 + math.random(0, 16), - y = pposy + 8 + math.random(0, 5), - z = pposz - 8 + math.random(0, 16) + x = pposx - 12 + math.random(0, 24), + y = spawny, + z = pposz - 12 + math.random(0, 24) }, - vel = { + velocity = { x = 0.0, y = -10.0, z = 0.0 }, - acc = {x = 0, y = 0, z = 0}, - expirationtime = 2.1, + acceleration = {x = 0, y = 0, z = 0}, + expirationtime = extime, size = 2.8, collisiondetection = COLLIDE, collision_removal = true, diff --git a/textures/snowdrift_snowflake1.png b/textures/snowdrift_snowflake1.png index b8d915fed65f114eeaf3514e1b2d9778a71cdc58..ebe7d729cca2a1c1587ae013b1afcb3132144321 100644 GIT binary patch delta 86 zcmdnYm@z>jfRUMjfnoc?Ez5uuTYyi9E0F&G|NqjP^X~##j3q&S!3+-1ZlnP@0-i38 lAsp9}0}?b6b}$~{V&Htl_;Zui|9+qxgQu&X%Q~loCIG9Z96bO4 delta 162 zcmd1U%s4@!o`a2nfuT2F?J1CAEDmyaVpw-h<|UBBmgMd3!tfsi7wla=87RV8;1OBO zz`!jG!i)^F=12eq*-JcqUD@w)aIo<+CNG*c1t?_f>Eal|aoxAuk&i)v=g_Xd|GWL_ zgZR&72n%rtX!SZUq_oR#j{aYIt;$?MCQGr(WLeyP#s_Y)x@l8VoPhcnJYD@<);T3K F0RVS}FcJU& diff --git a/textures/snowdrift_snowflake10.png b/textures/snowdrift_snowflake10.png new file mode 100644 index 0000000000000000000000000000000000000000..504b9dee42b22584b4a27ea6498a45e6257ac0ad GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$D3?#QN+_DTvu?6^qxB}__|Nk$&IsYz@#aI&L w7tG-B>_!@pBk1Yk7{YNqdB?$mW=F=3e4t1dbK|5Fe?gKAp00i_>zopr06w`Lga7~l literal 0 HcmV?d00001 diff --git a/textures/snowdrift_snowflake11.png b/textures/snowdrift_snowflake11.png new file mode 100644 index 0000000000000000000000000000000000000000..fb9d678f42605e8c1d7f37db0bf4a7afaf50c299 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$D3?#QN+_DTvu?6^qxB}__|Nk$&IsYz@#aI&L z7tG-B>_!@pBk1Yk7{YNqdB?#GO^OU1`3wvKvzP;)oBweEN-}u5`njxgN@xNAJ31XA literal 0 HcmV?d00001 diff --git a/textures/snowdrift_snowflake12.png b/textures/snowdrift_snowflake12.png new file mode 100644 index 0000000000000000000000000000000000000000..eab36a870473def416b5285446836cf9c09bfe4a GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$D3?#QN+_DTvu?6^qxB}__|Nk$&IsYz@#aI&L y7tG-B>_!@pBk1Yk7{YNqdB?#GO$!-1@_`~&%!Sc2-gf{c89ZJ6T-G@yGywoY`yFop literal 0 HcmV?d00001 diff --git a/textures/snowdrift_snowflake2.png b/textures/snowdrift_snowflake2.png index ca7cfc245f4cf27a3654ccdadf85324ec767d656..0efdae47afd5dcd3167a5d08aca9787af20f685e 100644 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$D3?#QN+_DTvu?6^qxB}__|Nk$&IsYz@#aI&L x7tG-B>_!@pBjD-c7{YNq`9*?80tdq*J_c?tCdd50$J~K(44$rjF6*2Ung9fE8`}T? literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJgQL70(Y)*K0-AbW|YuPggq4h}Yc-N33}_!@p!{_PZ7{YNq`9*>T!(l!K?pI8S|KzTKG%$F&`njxgN@xNA*iswL literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJgQL70(Y)*K0-AbW|YuPggq4o-F!Ry)@=5ulK(r;B3<$MxLq zgPaEpc$oc{HBWhGKl!8DD`mYMD!)9MtZ%XzXwS0#)ltu4@$1Kxi&NS@Ze8d2KJ8i> kg9dlX>@}`-=CgjY?wu~#uJ~N|InY1`Pgg&ebxsLQ0IT^usQ>@~ diff --git a/textures/snowdrift_snowflake4.png b/textures/snowdrift_snowflake4.png index 5fe122c3b8d0c6159e803f1708528ec8630a6d2b..e6b9cc1f1342b0a44475e4e083e0f74ec2b9f9e6 100644 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$D3?#QN+_DTvu?6^qxB}__|Nk$&IsYz@#aI&L x7tG-B>_!@pBjD-c7{YNqIUpe*VF%+8E(W$kjFAq;JJW%344$rjF6*2Ung9XY8=e3F literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJgQL70(Y)*K0-AbW|YuPggq4o)@;@%?9?OaTfxc)B=-a9mIA zbL3)B;9zn8|NrQj`8n-gOIRe!6C5WWnQ6tq{2|=r(b|s}H#LR-gI0)z4*}Q$iB}o9a5Y diff --git a/textures/snowdrift_snowflake5.png b/textures/snowdrift_snowflake5.png new file mode 100644 index 0000000000000000000000000000000000000000..b16111ea7801ded39d051bc0bc53cbecf2ae06c5 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$D3?#QN+_DTvu?6^qxB}__|Nk$&IsYz@#aI&L z7tG-B>_!@pBk1Yk7{YNqIpSczfe*|b;S3D?mzXt0uICj3B^f+j{an^LB{Ts5H%=VY literal 0 HcmV?d00001 diff --git a/textures/snowdrift_snowflake6.png b/textures/snowdrift_snowflake6.png new file mode 100644 index 0000000000000000000000000000000000000000..b64ad12dc5867d59e8bfaaf4be2a23c36ee11669 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$D3?#QN+_DTvu?6^qxB}__|Nk$&IsYz@#aI&L y7tG-B>_!@pBk1Yk7{YNqIpSczfdb}^a0Ui`BWBKoxakr=Nd`|>KbLh*2~7YOup2l4 literal 0 HcmV?d00001 diff --git a/textures/snowdrift_snowflake7.png b/textures/snowdrift_snowflake7.png new file mode 100644 index 0000000000000000000000000000000000000000..ea0b7e55638f011d2b580e48367eee2ccf2bd032 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$D3?#QN+_DTvu?6^qxB}__|Nk$&IsYz@#aI&L y7tG-B>_!@pBjD-c7{YNqnImDx!37LQ7#Vo1m_!@pBk1Yk7{YNqdB?#I%?lYi@);OJqF4m4_j{WHB^f+j{an^LB{Ts5KyDoH literal 0 HcmV?d00001 diff --git a/textures/snowdrift_snowflake9.png b/textures/snowdrift_snowflake9.png new file mode 100644 index 0000000000000000000000000000000000000000..ce3b0a0e6b3fadc1e09a10f08495413dc73c6704 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^tRT$D3?#QN+_DTvu?6^qxB}__|Nk$&IsYz@#aI&L z7tG-B>_!@pBk1Yk7{YNqdB?#I&58^i`3wxgyO=+|`f_g)P?EvZ)z4*}Q$iB}T_ztE literal 0 HcmV?d00001