40 Commits

Author SHA1 Message Date
kwolekr
7af0dede5f Add MapSettingsManager and new mapgen setting script API functions
This commit refactors the majority of the Mapgen settings system.
- MapgenParams is now owned by MapSettingsManager, itself a part of ServerMap,
  instead of the EmergeManager.
- New Script API functions added:
    core.get_mapgen_setting
    core.get_mapgen_setting_noiseparams,
    core.set_mapgen_setting, and
    core.set_mapgen_setting_noiseparams.
- minetest.get/set_mapgen_params are deprecated by the above new functions.
- It is now possible to view and modify any arbitrary mapgen setting from a mod,
  rather than the base MapgenParams structure.
- MapgenSpecificParams has been removed.
2016-07-03 15:38:36 -04:00
ShadowNinja
3592feb875 Clean up Strfnd
Changes:
  * Fix indentation.
  * Pass strings by const reference.
  * Merge Strfnd and WStrfnd into one class instead of copying them.
  * Remove trailing spaces.
  * Fix variable names.
  * Move to util.
  * Other miscellaneous style fixes.
2016-03-19 21:27:57 -04:00
SmallJoker
3cd98acf6f Add environment variable MINETEST_WORLD_PATH
Also add PATH_DELIM for Windows compatibility.
2015-10-02 22:47:13 +02:00
David Jones
9d1284b324 Change i++ to ++i 2015-08-25 18:33:52 -04:00
Craig Robbins
0731f9ed2a Move globals from main.cpp to more sane locations
Move debug streams to log.cpp|h

Move GUI-related globals to clientlauncher

Move g_settings and g_settings_path to settings.cpp|h

Move g_menuclouds to clouds.cpp|h

Move g_profiler to profiler.cpp|h
2015-04-01 23:04:25 +10:00
est31
256e16dbea Fix game minetest.conf default settings
This was a regression introduced by f6e4c5d9cf459e8278a76a2beaee59732e841458 .
2015-03-18 13:03:02 -04:00
fz72
330915393f Save creative_mode and enable_damage setting for each world in world.mt
Create Parameters on world initialisation and set settings of old worlds
2015-03-18 09:53:24 +01:00
ngosang
55e479a807 Respect game mapgen flags and save world noise params 2015-03-07 15:53:39 -05:00
Loic Blot
188c15c3d8 Replace std::list to std::vector into tile.cpp (m_texture_trash) and move tile.hpp to src/client/ 2015-03-05 11:59:40 +01:00
kwolekr
2b098f9dd8 Write common mapgen params to map_meta.txt on world initialization 2015-01-27 22:29:28 -05:00
PenguinDad
bf10ea0112 Fix various indentation issues 2014-10-28 15:37:58 -04:00
David Thompson
bbe76288f6 Search for subgames using $MINETEST_SUBGAME_PATH. 2014-10-22 21:05:14 +02:00
sapier
bdf071c46b Add sqlite3 backend hack for android 2014-08-16 12:28:07 +02:00
sapier
0cc88400f4 Switch android to leveldb as sqlite3 is broken and fails to save any mapblock there 2014-07-06 21:27:54 +02:00
Sfan5
1f727cac2b Fix 'Unknown map backend' error when using Configure menu right after creating world 2013-09-09 22:50:51 +02:00
Ilya Zhuravlev
30af8e75d7 Add dummy and LevelDB database backends 2013-09-09 22:50:50 +02:00
PilzAdam
282c40cdeb Dont write directly to files but rather write and copy a tmp file 2013-08-13 22:05:45 +02:00
PilzAdam
836c76599d New modsystem
Mods are placed in $path_<user/share>/mods
They can be enabled per world in world.mt or the configure world window
2013-05-19 02:15:36 +02:00
Perttu Ahola
47e625411c Add header.png and footer.png support for games, and support texture packs via <gameid>_menu_<background/overlay/header/footer>.png 2013-05-04 10:05:12 +03:00
PilzAdam
c3f04412e4 Use DIR_DELIM instead of / in file paths 2013-05-02 23:08:59 +02:00
Perttu Ahola
6c519ef470 Get menu background image from selected game 2013-05-02 19:43:47 +03:00
Perttu Ahola
da5aee9580 Support game-specific minetest.conf 2013-03-21 22:22:15 +02:00
Perttu Ahola
2f4aa3d197 Common mods support
Implement "common mods", includeable from
  {$user,$share}/games/common/$modname
by using the game.conf setting
  common_mods = $modname,$modname2,...
2013-03-21 18:56:42 +02:00
Sfan5
3fab3825aa Update Copyright Years 2013-02-24 20:15:24 +01:00
PilzAdam
269f01224b Change Minetest-c55 to Minetest 2013-02-24 18:49:03 +01:00
Jürgen Doser
cb549603ac Basic support for configuring which mods to load for each world
settings.h: added function to return all keys used in settings, and a
function to remove a setting

mods.{h,cpp}: added class ModConfiguration that represents a subset of the installed mods.

server.{h,cpp}: server does not load add-on mods that are disabled in
the world.mt file. mods are disabled by a setting of the form
"load_mod_<modname> = false". if no load_mod_<modname> = ... setting
is found, the mod is loaded anyways for backwards compatibilty. server
also complains to errorstream about mods with unstatisfied
dependencies and about mods that are not installed.

guiConfigureWorld.{h,cpp}: shows a treeview of installed add-on mods
and modpacks with little icons in front of their name indicating their
status: a checkmark for enabled mods, a cross for disabled mods, a
question mark for "new" mods

Mods can be enabled/disabled by a checkbox. Mods also show a list of
dependencies and reverse dependencies. double-click on a mod in
dependency or reverse dependency listbox selects the corresponding
mod. Enabling a mod also enables all its dependencies. Disabling a mod
also disables all its reverse dependencies.

For modpacks, show buttons to enable/disable all mods (recursively,
including their dependencies) in it.

Button "Save" saves the current settings to the world.mt file and
returns to the main menu. Button "Cancel" returns to main menu without
saving.

basic keyboard controls (if the proper widget has keyboard focus):

up/down: scroll through tree of mods
left/right: collaps/expand a modpack
space: enable/disable the selected mod
2013-01-21 17:31:50 +02:00
Perttu Ahola
e05f1af484 Initially split utility.h to multiple files in util/ 2012-06-17 01:29:13 +03:00
Perttu Ahola
e70b6545b1 Switch the license to be LGPLv2/later, with small parts still remaining as GPLv2/later, by agreement of major contributors 2012-06-05 18:54:07 +03:00
Perttu Ahola
9576306904 Support placing a minetest game inside $world/game to allow creating proper adventure maps
Pro-tip: You can open a world in minetest by opening the world.mt file using minetest.
2012-04-08 23:17:02 +03:00
Perttu Ahola
a85c5cd0b8 Prefer _game postfix in game names (to be squashed to the previous commit) 2012-03-26 23:17:29 +03:00
Perttu Ahola
ae9fcf3cfc Support _game postfix in game names, taking it out to make the gameid 2012-03-26 23:16:02 +03:00
Perttu Ahola
c5b8bdd694 Add game.conf check in subgame.cpp 2012-03-26 23:02:12 +03:00
Perttu Ahola
7e8ece5980 Make server world selection not brain dead and use gameid 'minetest' instead of 'mesetint' 2012-03-25 20:30:58 +03:00
Perttu Ahola
5543053232 Fix mod paths 2012-03-20 01:07:02 +02:00
Perttu Ahola
9d706a0632 Flatten share/ and user/ in the source and for the RUN_IN_PLACE build 2012-03-20 00:08:00 +02:00
Perttu Ahola
1f56d71f19 Rework directory structure 2012-03-19 20:44:07 +02:00
Perttu Ahola
2e0c0e9d89 Fix old world search path for non-run-in-place build 2012-03-18 17:17:05 +02:00
Perttu Ahola
591527d878 World creation button and dialog and functionality 2012-03-13 00:06:37 +02:00
Perttu Ahola
d1d83d7e7f World selection box in main menu (and random fixing) 2012-03-11 20:45:14 +02:00
Perttu Ahola
7f7fb9750d command-line/world game selection 2012-03-11 14:54:23 +02:00