mirror of
https://gitlab.com/gaelysam/mapgen_rivers.git
synced 2025-07-07 02:40:38 +02:00
Remove "full" grid loading method
I see no reason to let the choice between a greedy and a lighter loading method, so better remove it to simplify the code.
This commit is contained in:
@ -31,44 +31,12 @@ local grid_maps_list = {
|
||||
offset_y = {bytes=1, signed=true, conv=offset_conv},
|
||||
}
|
||||
|
||||
local function apply_grid_conversion(grid)
|
||||
if grid.load_method ~= "full" then
|
||||
minetest.log("warning", ("Could not apply data conversion for load method %s"):format(grid.load_method))
|
||||
return false
|
||||
end
|
||||
if grid.conv_applied then
|
||||
return true
|
||||
end
|
||||
|
||||
local size = grid.size.x * grid.size.y
|
||||
for mapname, params in pairs(grid_maps_list) do
|
||||
local conv = params.conv
|
||||
if conv then
|
||||
local map = grid[mapname]
|
||||
for i=1, size do
|
||||
map[i] = conv(map[i])
|
||||
end
|
||||
end
|
||||
end
|
||||
grid.conv_applied = true
|
||||
|
||||
return true
|
||||
end
|
||||
|
||||
function mapgen_rivers.try_load_grid(grid)
|
||||
local load_method = mapgen_rivers.settings.load_method
|
||||
|
||||
-- First, check whether a grid is already loaded with the appropriate method
|
||||
if mapgen_rivers.grid and mapgen_rivers.grid.load_method == load_method then
|
||||
if not mapgen_rivers.grid.conv_applied then
|
||||
apply_grid_conversion(mapgen_rivers.grid)
|
||||
end
|
||||
-- First, check whether a grid is already loaded
|
||||
if mapgen_rivers.grid then
|
||||
return true
|
||||
-- Then, check the provided argument is a valid grid
|
||||
elseif grid and grid.load_method == load_method then
|
||||
if not mapgen_rivers.grid.conv_applied then
|
||||
apply_grid_conversion(grid)
|
||||
end
|
||||
elseif grid then
|
||||
mapgen_rivers.grid = grid
|
||||
on_grid_loaded_callback(grid)
|
||||
return true
|
||||
@ -85,21 +53,15 @@ function mapgen_rivers.try_load_grid(grid)
|
||||
return false
|
||||
end
|
||||
|
||||
if load_method == "full" then
|
||||
minetest.log("action", '[mapgen_rivers] Loading full grid')
|
||||
elseif load_method == "interactive" then
|
||||
minetest.log("action", '[mapgen_rivers] Loading grid as interactive loaders')
|
||||
end
|
||||
minetest.log("action", '[mapgen_rivers] Loading grid')
|
||||
|
||||
grid = {
|
||||
load_method = load_method,
|
||||
size = {x=x, y=z},
|
||||
}
|
||||
|
||||
for map, params in pairs(grid_maps_list) do
|
||||
grid[map] = mapgen_rivers.load_file(map, params.bytes, params.signed, x*z, params.conv)
|
||||
end
|
||||
grid.conv_applied = true
|
||||
|
||||
mapgen_rivers.grid = grid
|
||||
on_grid_loaded_callback(grid)
|
||||
@ -115,7 +77,6 @@ function mapgen_rivers.generate_grid()
|
||||
local xsize = math.floor(mapgen_rivers.settings.map_x_size / blocksize)
|
||||
local zsize = math.floor(mapgen_rivers.settings.map_z_size / blocksize)
|
||||
grid.size = {x=xsize, y=zsize}
|
||||
grid.conv_applied = false
|
||||
|
||||
if not mapgen_rivers.pregenerate then
|
||||
minetest.log("error", "[mapgen_rivers] Pre-generation function is not available.")
|
||||
@ -130,11 +91,6 @@ end
|
||||
function mapgen_rivers.write_grid(grid)
|
||||
minetest.mkdir(world_data)
|
||||
|
||||
if grid.conv_applied then
|
||||
minetest.log("error", '[mapgen_rivers] Could not write grid if data conversion is already done')
|
||||
return false
|
||||
end
|
||||
|
||||
for map, params in pairs(grid_maps_list) do
|
||||
mapgen_rivers.write_file(map, grid[map], params.bytes)
|
||||
end
|
||||
|
Reference in New Issue
Block a user