From 19efeaaff6583068205f2b836f5e5358f49343cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20C?= Date: Thu, 3 Jun 2021 19:21:45 +0200 Subject: [PATCH] Globalize modpath and worldpath --- heightmap.lua | 2 +- init.lua | 2 ++ load.lua | 2 +- polygons.lua | 4 ++-- terrainlib_lua/erosion.lua | 15 +++++++++------ 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/heightmap.lua b/heightmap.lua index 10424a6..9ffec1b 100644 --- a/heightmap.lua +++ b/heightmap.lua @@ -1,4 +1,4 @@ -local modpath = minetest.get_modpath(minetest.get_current_modname()) .. '/' +local modpath = mapgen_rivers.modpath local make_polygons = dofile(modpath .. 'polygons.lua') local transform_quadri = dofile(modpath .. 'geometry.lua') diff --git a/init.lua b/init.lua index 97753de..9455493 100644 --- a/init.lua +++ b/init.lua @@ -1,6 +1,8 @@ mapgen_rivers = {} local modpath = minetest.get_modpath(minetest.get_current_modname()) .. '/' +mapgen_rivers.modpath = modpath +mapgen_rivers.world_data_path = minetest.get_worldpath() .. '/river_data' dofile(modpath .. 'settings.lua') diff --git a/load.lua b/load.lua index 382d1fa..60b56d6 100644 --- a/load.lua +++ b/load.lua @@ -1,4 +1,4 @@ -local worldpath = minetest.get_worldpath() .. "/river_data/" +local worldpath = minetest.world_data_path local function load_map(filename, bytes, signed, size) local file = io.open(worldpath .. filename, 'rb') diff --git a/polygons.lua b/polygons.lua index 669ca30..66b0b12 100644 --- a/polygons.lua +++ b/polygons.lua @@ -1,10 +1,10 @@ -local modpath = minetest.get_modpath(minetest.get_current_modname()) .. '/' +local modpath = mapgen_rivers.modpath local mod_data_path = modpath .. 'river_data/' if not io.open(mod_data_path .. 'size', 'r') then mod_data_path = modpath .. 'demo_data/' end -local world_data_path = minetest.get_worldpath() .. '/river_data/' +local world_data_path = minetest.world_data_path minetest.mkdir(world_data_path) local load_map = dofile(modpath .. 'load.lua') diff --git a/terrainlib_lua/erosion.lua b/terrainlib_lua/erosion.lua index b7eeb67..f13d916 100644 --- a/terrainlib_lua/erosion.lua +++ b/terrainlib_lua/erosion.lua @@ -108,15 +108,18 @@ local function diffuse(model, time) -- TODO Test this end -local rivermapper, gaussian +local modpath = "" if minetest then - rivermapper = dofile(minetest.get_modpath(minetest.get_current_modname()) .. '/terrainlib_lua/rivermapper.lua') - gaussian = dofile(minetest.get_modpath(minetest.get_current_modname()) .. '/terrainlib_lua/gaussian.lua') -else - rivermapper = dofile('rivermapper.lua') - gaussian = dofile('gaussian.lua') + if minetest.global_exists(mapgen_rivers) then + modpath = mapgen_rivers.modpath .. "terrainlib_lua/" + else + modpath = minetest.get_modpath(minetest.get_current_modname()) .. "terrainlib_lua/" + end end +local rivermapper = dofile(modpath .. "rivermapper.lua") +local gaussian = dofile(modpath .. "gaussian.lua") + local function flow(model) model.dirs, model.lakes = rivermapper.flow_routing(model.dem, model.dirs, model.lakes, 'semirandom') model.rivers = rivermapper.accumulate(model.dirs, model.rivers)