gregorycu
ed7c9c4cb8
Settings fixes Make the GameGlobalShaderConstantSetter use the settings callback (8% perf improvement in game loop) Ensure variable is set Ensure settings callback is threadsafe
2015-01-25 15:23:37 +10:00
Craig Robbins
2c4a5e1861
Revert "Make the GameGlobalShaderConstantSetter use the settings callback (8% perf improvement in game loop)"
...
This reverts commit a555e2d9b0ccee452996381a44677b8bec210036.
2015-01-25 01:19:40 +10:00
gregorycu
a555e2d9b0
Make the GameGlobalShaderConstantSetter use the settings callback (8% perf improvement in game loop)
...
Amend the settings callback to support userdata
2015-01-23 21:27:51 -05:00
kwolekr
d3dc88fe6b
Settings: Fail on invalid sequence and throw exception for LuaSettings
2014-12-12 00:44:17 -05:00
kwolekr
b0c4fd6d3f
Settings: Sanitize value for multiline terminator tokens
2014-12-11 23:26:13 -05:00
kwolekr
88c28414f4
Settings: Sanitize setting name everywhere, not just LuaSettings
2014-12-09 23:52:13 -05:00
kwolekr
f2c18511a4
Settings: Make setting entry group and values mutually exclusive
...
This greatly reduces the complexity of Settings code.
Additionally, several memory leaks were fixed.
2014-12-09 23:29:34 -05:00
kwolekr
f0cd59034c
Settings: Various setting group fixes and enhancements
...
- Remove blank setting values when setting has a group
- Pair setting values with groups in file when possible
- Preserve user-set whitespace in setting objects
- Delete setting value when setting NoiseParams group
- Delete overwritten groups outside of lock
2014-12-04 03:20:07 -05:00
kwolekr
68c799bf99
Use setting groups for NoiseParams
...
Add format example to minetest.conf.example
Add Settings::setU16()
Throw exception on attempted access of NULL settings groups
2014-12-02 04:03:37 -05:00
kwolekr
360660947b
LuaSettings: Sanitize setting name strings
2014-11-30 19:01:54 -05:00
kwolekr
175b7a28e5
settings: Add setting groups and multiline entries
2014-11-30 16:11:21 -05:00
sapier
dceb9f7d60
Implement proper font handling
2014-11-30 17:50:09 +01:00
ShadowNinja
6bc4cad0ed
Split settings into seperate source and header files
...
This also cleans up settings a bit
2014-09-21 14:39:35 -04:00
ShadowNinja
2ae5d3f3ab
Fix Settings locking
2014-09-21 14:39:35 -04:00
ShadowNinja
cd64a92a8c
Use const references for Settings methods
...
Also check for (this == &other) before locking mutexes.
2014-09-21 14:39:35 -04:00
Craig Robbins
b97c9c6577
Make getters of the Settings class const
...
Also removed 2 unused functions.
2014-09-21 14:39:35 -04:00
sapier
eda9214f81
Bunch of small fixes (coding style, very unlikely errors, warning messages)
2014-04-19 11:56:19 +02:00
kwolekr
3570f3e396
Add minetest.set_noiseparam_defaults() Lua API
2014-02-15 19:13:14 -05:00
kwolekr
83bafbe08b
Make flag strings clear specified flag with 'no' prefix
...
Remove flagmask field from set_mapgen_params table
Add small bits of needed documentation
2014-02-08 17:50:59 -05:00
kwolekr
7f743178db
Remove blank default values for emergequeue_limit_* settings
...
Add checks for invalid user input for important settings
Rename Settings::tryGet* to Settings::get*NoEx for consistency
2014-02-05 00:17:53 -05:00
kwolekr
c6c5edd73a
Revert "Fix settings to honor numeric conversion errors"
...
This reverts commit 3f376a092e1c16429fb52f24736e9da98aff4cd5.
2014-02-05 00:05:58 -05:00
sapier
3f376a092e
Fix settings to honor numeric conversion errors
...
Rename try* non exceptioning functions to *NoEx
2014-02-04 22:14:13 -05:00
kwolekr
a439343844
Settings: Add no-exception variants of each get method
2014-02-03 22:47:40 -05:00
sapier
04e9a9d541
Cleanup jthread and fix win32 build
2013-12-01 16:25:46 +01:00
kwolekr
d308352dbd
Always use builtin JThread library
2013-09-15 23:00:01 -04:00
Kahrl
4e1f50035e
Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenu
2013-08-14 21:03:33 +02:00
PilzAdam
d718b0b34e
Dont write directly to files but rather write and copy a tmp file
2013-08-13 22:05:45 +02:00
kwolekr
93474c4218
Remove no virtual dtor warnings, make MapgenParams contain actual NoiseParams
2013-05-19 12:22:20 -04:00
proller
165498cecf
initial mapgen indev version with farscale feature and huge caves
2013-03-16 21:48:32 -04:00
Ilya Zhuravlev
6a1670dbc3
Migrate to STL containers/algorithms.
2013-03-11 19:08:39 -04:00
Sfan5
6d0ea26c2d
Update Copyright Years
2013-02-24 20:15:24 +01:00
PilzAdam
497ff1ecd6
Change Minetest-c55 to Minetest
2013-02-24 18:49:03 +01:00
kwolekr
97260d09a8
Add flag string settings, flat map option
2013-02-06 16:52:48 -05:00
Jürgen Doser
f099861245
Make sure that settings are written to config file when settings are removed.
...
Previously, settings where only written when a value has changed, and
removal of a setting value didn't count as a change.
2013-01-22 19:05:46 +01:00
kwolekr
b55fb4f2f6
Last set of minor cleanups
2013-01-21 21:41:37 +02:00
kwolekr
631a835e07
Finish and clean up mapgen configuration
2013-01-21 21:41:37 +02:00
kwolekr
45cf32afc5
Add Settings::getStruct and Settings::setStruct
2013-01-21 21:41:37 +02:00
kwolekr
11afcbff69
The new mapgen, noise functions, et al.
2013-01-21 21:41:33 +02:00
Jürgen Doser
6af8a34d91
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
9f031a6759
Optimize headers
2012-06-17 04:03:39 +03:00
Perttu Ahola
d0ea6f9920
Properly and efficiently use split utility headers
2012-06-17 02:40:36 +03:00
Perttu Ahola
037b259197
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
49d9745dc4
Comment out unnecessary debug output in Settings
2012-05-20 17:19:48 +03:00
Perttu Ahola
71a3c2fcd1
Allow directly supplying world as a parameter, including world.mt
2012-03-13 01:46:19 +02:00
Perttu Ahola
f1d9880006
Clean up log messages everywhere
2012-03-11 04:15:45 +02:00
Perttu Ahola
6ec447a1aa
Do not print errors when searching for usable configuration file
2012-03-11 01:09:27 +02:00
Perttu Ahola
b485fac33e
Fix configuration file behaviour
...
- Do not rewrite if nothing needs to be changed
- Update at program exit, in addition to updating when continuing from main menu to game
2012-03-11 00:54:51 +02:00
Perttu Ahola
c8211ceb3e
Some MSVC fixes
2011-11-29 19:13:57 +02:00
Perttu Ahola
b65a5aceb0
Use the logger; also, default to not showing much crap in console. Use --info-on-stderr to enable crap.
2011-10-16 14:57:53 +03:00
Perttu Ahola
43a28f04fa
mobv2
2011-10-15 02:28:57 +03:00