Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Make settings files per-world. #6982
Settings are now loaded from
Main menu Changes
The biggest change is a new menu based on the advanced settings menu that can be used to set per-world settings. A few small changes were also made to the "start game" tab to better support then new way that
This PR replaces #6528 and is a simpler implementation, it still allows for separating client and server settings, WIP as it needs testing and some input on which client settings should be always global. It also closes #6966.
referenced this pull request
Jan 29, 2018
Clicking on 'world settings' with no worlds present causes an error.
I created world X and entered 'world settings', this still has 'return to settings page' as a button (wrong label).
I made 'water level' 100 and saved this.
Started world X, water level is normal.
Started a second world Y to use the default settings in advanced settings menu, water level is -100 as it should be.
'water_level = -100' also appears in minetest.conf, sems correct as that is a default set in advanced settings.
IRC discussion http://irc.minetest.net/minetest-dev/2018-02-13#i_5230374
22:19 red-001 well thought I would ask you since I'm considering also merging map_meta.txt with world.mt, and mapgen is kinda your field
I see you have removed mapgen settings from the per-world settings menu but how do the settings APIs work now? I assume setting APIs act on the per-world settings (with 'get' falling back to .conf if the setting is not found in world.mt)?
We need to be very careful with this, settings behaviour is complex, subtle and a lot could break.
Once tested this will need some docs to clarify how things work.
@paramat the PR is fairly simple, most of the C++ changes are either there to make sure that settings that should be global (e.g. keymappings) stay that way or to avoid having other code directly read or write to
rubenwardy left a comment
What's the difference between
How have you tested this?