aboutsummaryrefslogtreecommitdiff
path: root/src/settings.h
Commit message (Collapse)AuthorAge
* Fix /emergeblocks crashing in debug builds (#11461)Wuzzy2021-07-31
| | | The reason for the bug was an u16 overflow, thus failing the assert. This only happened in Debug build but not in Release builds.
* Rework Settings to support arbitrary hierarchies (#11352)sfan52021-06-23
|
* Settings: Push groups in to_table as wellSmallJoker2021-03-01
|
* Settings: Purge getDefault, clean FontEngineSmallJoker2021-01-29
|
* Settings: Proper priority hierarchySmallJoker2021-01-29
| | | | | | | | | | | Remove old defaults system Introduce priority-based fallback list Use new functions for map_meta special functions Change groups to use end tags Unittest changes: * Adapt unittest to the new code * Compare Settings objects
* Prevent games from setting secure settings (#10460)rubenwardy2020-10-06
|
* Settings: Remove unused functionsSmallJoker2020-10-01
| | | | Make Settings-internal functions private
* Settings: Fix unittest memory leak, change input typesSmallJoker2020-09-22
|
* Settings: Fix game minetest.conf flags overriding defaults (#9404)SmallJoker2020-02-17
| | | | | | The game minetest.conf flags directly overwrote the global minetest.conf default values, resulting in unwanted erased mapgen flags. * Fix set_mapgen_setting
* Settings: Add get_flags API for mapgen flags (mg_flags, mgv6_spflags, ...) ↵SmallJoker2020-01-25
| | | | | | | | | | | (#9284) Unified flags handling in C++ and Lua Settings API -> Reading only, for now. Writing can be implemented later, if needed. API function to read the currently active flags -> was impossible from Lua Co-authored-by: Wuzzy <wuzzy2@mail.ru>
* Fix issue Minetest crash when custom font path is not existMuhammad Rifqi Priyo Susanto2017-11-08
| | | | We try to use default fallback for both mono and main font when custom font path is not exist. This way, if Minetest is not corrupted, we could avoid crash.
* Code modernization: src/p*, src/q*, src/r*, src/s* (partial) (#6282)Loïc Blot2017-08-19
| | | | | | | | | | | * Code modernization: src/p*, src/q*, src/r*, src/s* (partial) * empty function * default constructor/destructor * for range-based loops * use emplace_back instead of push_back * C++ STL header style * Spelling: vertice -> vertex
* C++ modernize: Pragma once (#6264)Loïc Blot2017-08-17
| | | | * Migrate cpp headers to pragma once
* [CSM] Add flavour limits controlled by server (#5930)Loïc Blot2017-07-18
| | | | | | | | | | | | | | | | | | | | * [CSM] Add flavour limits controlled by server Server send flavour limits to client permitting to disable or limit some Lua calls * Add limits for reading nodedefs and itemdefs * flavour: Add lookup node limits * Merge get_node_or_nil into get_node. Sending fake node doesn't make sense in CSM, just return nil if node is not available for any reason * Add node range customization when noderange flavour is enabled (default 8 nodes) * Limit nodes range & disable chat message sending by default * Bump protocol version
* Cpp11 initializers: last src root changeset (#6022)Loïc Blot2017-06-21
| | | | | | * Cpp11 initializers: last src root changeset Finish to migrate all src root folder files to C++11 constructor initializers
* Use C++11 mutexes only (remove compat code) (#5922)Loïc Blot2017-06-06
| | | | * Fix event LINT & remove default constructor/destructors * remove compat code & modernize autolock header
* C++11 patchset 2: remove util/cpp11.h and util/cpp11_container.h (#5821)Loïc Blot2017-06-04
|
* Fix various performance issues reported by cppcheck (#5628)Loïc Blot2017-04-21
| | | * Also remove 1 non declared but defined functions
* Some performance optimizations (#5424)Loïc Blot2017-03-22
| | | | | | | | | | | | | | | | | | | * Some performance optimizations This is globally removing some memory useless copy * use a const ref return on std::string Settings::get to prevent data copy on getters which doesn't need to copy it * pass some stack created strings to static const as they are not modified anywhere * Camera: return nametags per const ref instead of a list pointer, we only need to read it * INodeDefManager: getAll should be a result ref writer instead of a return copy * INodeDefManager: getAlias should return a const std::string ref * Minimap: unroll a Scolor creation in blitMinimapPixersToImageRadar to prvent many variable construct/destruct which are unneeded (we rewrite the content in the loop) * CNodeDefManager::updateAliases: prevent a idef getall copy * Profiler: constness * rollback_interface: create real_name later, and use const ref * MapBlockMesh updateFastFaceRow: unroll TileSpec next_tile, which has a cost of 1.8% CPU due to variable allocation/destruction, * MapBlockMesh updateFastFaceRow: copy next_tile to tile only if it's a different tilespec * MapBlockMesh updateFastFaceRow: use memcpy to copy next_lights to lights to do it in a single cpu operation
* Replace various std::map with UNORDERED_MAP + various cleanupsLoic Blot2016-10-05
| | | | | | | | | | | | This is part 2 for 5f084cd98d7b3326b51320455364337539710efd Other improvements: * Use the defined ItemGroupList when used * make Client::checkPrivilege const * inline some trivial functions * Add ActiveObjectMap typedef * Add SettingsEntries typedef
* Make some maps unordered to improve performanceLoic Blot2016-10-05
| | | | | | * This permit to improve performance on C++11 builds * use some existing typedefs in tools maps * minor code style changes
* Settings: Clean up settings changed callback codekwolekr2016-06-11
|
* Clean up threadingShadowNinja2015-08-23
| | | | | | | | | | | | | | | | | | | | * Rename everything. * Strip J prefix. * Change UpperCamelCase functions to lowerCamelCase. * Remove global (!) semaphore count mutex on OSX. * Remove semaphore count getter (unused, unsafe, depended on internal API functions on Windows, and used a hack on OSX). * Add `Atomic<type>`. * Make `Thread` handle thread names. * Add support for C++11 multi-threading. * Combine pthread and win32 sources. * Remove `ThreadStarted` (unused, unneeded). * Move some includes from the headers to the sources. * Move all of `Event` into its header (allows inlining with no new includes). * Make `Event` use `Semaphore` (except on Windows). * Move some porting functions into `Thread`. * Integrate logging with `Thread`. * Add threading test.
* Settings: pass name to callbacks by referenceest312015-07-09
| | | | Spare some copies.
* Move globals from main.cpp to more sane locationsCraig Robbins2015-04-01
| | | | | | | | | | | | 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
* Fix game minetest.conf default settingsest312015-03-18
| | | | This was a regression introduced by f6e4c5d9cf459e8278a76a2beaee59732e841458 .
* Settings fixes Make the GameGlobalShaderConstantSetter use the settings ↵gregorycu2015-01-25
| | | | callback (8% perf improvement in game loop) Ensure variable is set Ensure settings callback is threadsafe
* Revert "Make the GameGlobalShaderConstantSetter use the settings callback ↵Craig Robbins2015-01-25
| | | | | | (8% perf improvement in game loop)" This reverts commit a555e2d9b0ccee452996381a44677b8bec210036.
* Make the GameGlobalShaderConstantSetter use the settings callback (8% perf ↵gregorycu2015-01-23
| | | | | | improvement in game loop) Amend the settings callback to support userdata
* Settings: Fail on invalid sequence and throw exception for LuaSettingskwolekr2014-12-12
|
* Settings: Sanitize value for multiline terminator tokenskwolekr2014-12-11
|
* Settings: Sanitize setting name everywhere, not just LuaSettingskwolekr2014-12-09
|
* Settings: Make setting entry group and values mutually exclusivekwolekr2014-12-09
| | | | | This greatly reduces the complexity of Settings code. Additionally, several memory leaks were fixed.
* Settings: Various setting group fixes and enhancementskwolekr2014-12-04
| | | | | | | | - 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
* Use setting groups for NoiseParamskwolekr2014-12-02
| | | | | | Add format example to minetest.conf.example Add Settings::setU16() Throw exception on attempted access of NULL settings groups
* LuaSettings: Sanitize setting name stringskwolekr2014-11-30
|
* settings: Add setting groups and multiline entrieskwolekr2014-11-30
|
* Implement proper font handlingsapier2014-11-30
|
* Split settings into seperate source and header filesShadowNinja2014-09-21
| | | | This also cleans up settings a bit
* Fix Settings lockingShadowNinja2014-09-21
|
* Use const references for Settings methodsShadowNinja2014-09-21
| | | | Also check for (this == &other) before locking mutexes.
* Make getters of the Settings class constCraig Robbins2014-09-21
| | | | Also removed 2 unused functions.
* Bunch of small fixes (coding style, very unlikely errors, warning messages)sapier2014-04-19
|
* Add minetest.set_noiseparam_defaults() Lua APIkwolekr2014-02-15
|
* Make flag strings clear specified flag with 'no' prefixkwolekr2014-02-08
| | | | | Remove flagmask field from set_mapgen_params table Add small bits of needed documentation
* Remove blank default values for emergequeue_limit_* settingskwolekr2014-02-05
| | | | | Add checks for invalid user input for important settings Rename Settings::tryGet* to Settings::get*NoEx for consistency
* Revert "Fix settings to honor numeric conversion errors"kwolekr2014-02-05
| | | | This reverts commit 3f376a092e1c16429fb52f24736e9da98aff4cd5.
* Fix settings to honor numeric conversion errorssapier2014-02-04
| | | | Rename try* non exceptioning functions to *NoEx
* Settings: Add no-exception variants of each get methodkwolekr2014-02-03
|
* Cleanup jthread and fix win32 buildsapier2013-12-01
|