aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Fix Lua scripting synchronizationkwolekr2015-11-01
| | | | | | | For several years now, the lua script lock has been completely broken. This commit fixes the main issue (creation of a temporary rather than scoped object), and fixes a subsequent deadlock issue caused by nested script API calls by adding support for recursive mutexes.
* Fix Noise compiled under clang >= 3.7.x with -O2 or higherkwolekr2015-11-01
| | | | | | | | | | When compiled with optimizations, the most recent versions of clang seem to 'optimize' out a crucial "and %reg, 0x7FFFFFFF" instruction in noise2d(), probably because it somehow assumed the variable n would never become greater than that amount. Indeed, signed integer underflow is undefined behavior in C and C++, so while this optimization is "correct" in that sense, it breaks lots of existing code. Solved by changing n to an unsigned type, making behavior well-defined.
* Fix server crashing on Lua errorsShadowNinja2015-10-31
| | | | | | | | Previously, the server called FATAL_ERROR when a Lua error occured. This caused a (mostly useless) core dump. The server now simply throws an exception, which is caught and printed before exiting with a non-zero return value. This also fixes a number of instances where errors were logged multiple times.
* Fix clang warningShadowNinja2015-10-31
|
* Fix C++11 compatibilitykwolekr2015-10-31
|
* WoW-style AutorunDuane Robertson2015-10-29
| | | | | This allows the player to toggle continuous forward with a key (F by default), so we don't have to hold down the forward key endlessly.
* findSpawnPos: Add setting for max height above water levelparamat2015-10-29
| | | | | | | | Increase default from 6 to 16 to help with mgv7 and mgfractal Large-scale or alternative mapgens can result in a lowland spawn point not being found, causing a spawn at (0, 0, 0) possibly buried underground The max height is now settable to allow correct player spawn in any mapgen or when using custom noise parameters
* Mgfractal: Add filler depth noiseparamat2015-10-29
|
* Add STATIC_ASSERT() macro and use itkwolekr2015-10-27
|
* Add DISABLE_CLASS_COPY macro (and use it)kwolekr2015-10-27
| | | | | | | | | Use this macro to disallow copying of an object using the assignment operator or copy constructor. This catches otherwise silent-but-deadly mistakes such as "ServerMap map = env->getMap();" at compile time. If so desired, it is still possible to copy a class, but it now requires an explicit call to memcpy or std::copy.
* Environment: Time of day fixes and add serverside getterest312015-10-27
| | | | | | | | -> Put access to time variables under the time lock. -> Merge both time locks, there is no point to have two locks. -> Fix the lock being released too early in Environment::setTimeOfDay -> Add serverside getter so that you don't have to get the environment if you only have the server
* Fix missing #includePilzAdam2015-10-27
|
* Move basic, non-numeric macros from util/numeric.h to basicmacros.hkwolekr2015-10-27
|
* Fix jittering sounds on entities (fixes #2974)BlockMen2015-10-26
|
* Fix typoBlockMen2015-10-26
|
* SAPI: Fix seed parameter truncation for LuaPseudoRandom constructorkwolekr2015-10-26
| | | | | Also fix a potential seed truncation issue on platforms where the range of ptrdiff_t (the underlying type of lua_Integer) is too small.
* SAPI: Move core.get_us_time() to Util modulekwolekr2015-10-26
|
* Remove some abort() callsest312015-10-26
| | | | abort() doesn't benefit from the high level abstractions from FATAL_ERROR.
* SAPI: Throw runtime error instead of if l_get_mapgen_object called in ↵kwolekr2015-10-25
| | | | incorrect thread
* SAPI: Mark all Lua API functions requiring envlockkwolekr2015-10-25
|
* Correct comment in l_util.cppest312015-10-26
| | | | | Remove outdated loglevel list from a l_util.cpp comment, and rather point to the updated code.
* Add option to disable backface culling for modelsBlockMen2015-10-25
| | | | | - Disabled by default (except players) - Fixes #2984
* Escape " in generated settings_translation_file.cppPilzAdam2015-10-25
|
* Fix out of bounds vector write in Logger::addOutput(ILogOutput *out)est312015-10-25
| | | | | | | | | Previously, the invocation of Logger::addOutput(ILogOutput *out) led to an out of bounds write of the m_outputs vector, resulting in the m_silenced_levels array being modified. Fortunately, the only caller of that method was android system logging, and only since a few commits ago.
* Mgfractal: Independent iterations and scale parametersparamat2015-10-24
| | | | | Complete set of parameters for each of mandelbrot and julia sets The julia set structure often needs different iterations and scale
* Small logging refactor and additional optionsest312015-10-24
| | | | | | | | | | | -> Get rid of Logger::logToSystem and use normal downstream output system for android instead -> Give the downstream output system more information: enrich the log function of ILogOutput with information and add ICombinedLogOutput for easier use. -> Make Logger::getLevelLabel() static and public so that it can be used by downstream log output. -> Add g_ and m_ prefixes where required
* Improve Lua settings menuPilzAdam2015-10-24
| | | | | | | | | | | | * Add key settings to setting table and ignore them later This way they are added to the auto-generated minetest.conf.example * Add flags type * Add input validation for int, float and flags * Break in-game graphic settings into multiple sections * Parse settingtpes.txt in mods and games * Improve description for a lot of settings * Fix typos and wording in settingtypes.txt * Convert language setting to an enum
* Fix compilation under MSVC and remove unnecessary conditional function prototypekwolekr2015-10-24
| | | | Thanks to SmallJoker for pointing this out.
* Fix on_rightclick() being called directly after placing nodeBlockMen2015-10-24
| | | | fixes https://github.com/minetest/minetest_game/issues/537
* Improve rollback database indexingcheapie2015-10-24
| | | | Index more columns in the action table of the rollback DB to improve the performance of /rollback_check
* Flush rollback log more oftenest312015-10-24
| | | | | | | | | | | | Flushes the buffer of rollback actions that wait to get saved in two more situations: 1. Flushes in the destructor of the rollback. This makes the server not forget the last < 500 rollback entries when it shuts down. 2. Flushes the rollback when /rollback_check is invoked. This is neccessary as otherwise it leads to confusion if users want to test the rollback functionality by placing a node and then executing the check on it, or if the actions were very recent out of other reasons.
* Fix some threading things and add additional thread unittestskwolekr2015-10-24
| | | | | | - Fix thread name reset on start() - Fully reset thread state on kill() - Add unittests to check for correct object states under various circumstances
* Decoration API: Add flag for placement on liquid surfaceparamat2015-10-23
| | | | | Add findLiquidSurface() function to mapgen.cpp Update lua_api.txt
* init_log_streams: check if log_filename is empty.Jun Zhang2015-10-19
| | | | Fixes #3262.
* ABMs: Make catch-up behaviour optionalparamat2015-10-18
| | | | | Default is true for backwards compatibility Update lua_api.txt
* Settings tab: double click opens/closes treesKahrl2015-10-18
|
* Settings tab: don't autoscroll when toggling "Show technical names"Kahrl2015-10-18
|
* Remove wstrgettextest312015-10-18
| | | | | | | Everywhere where wstrgettext was used, its output was converted back to utf8. As wstrgettext internally converts the return value from utf8 to wstring, it has been a waste. Remove the function, and use strgettext instead.
* Fix GUITable selection issues with treesKahrl2015-10-17
| | | | | | | | | | | | | | | | | | | | | - setOpenedTrees(): this internal function was calling setSelected() to update m_selected. Since setSelected() calls autoScroll(), this caused the scrollbar to scroll back to the selected row in some cases when that shouldn't be done. For example, clicking the "+" to open a tree caused autoscroll. Fix this by making setOpenedTrees() modify m_selected directly. - setDynamicData(): set scrollbar position after calling setSelected(), not before. This avoids setSelected()'s autoscroll messing up the scrollbar position again. - setSelected(): If an invisible row is selected, open all parents of the selected row in order to make the selected row visible. This fixes the issue where all the trees are closed again whenever you return from the setting edit dialog to the settings tab.
* New settings tab contain all possible settingsPilzAdam2015-10-17
| | | | | Settings are automatically parsed from builtin/settingtypes.txt The edit dialog automatically adjust based on the type of setting
* Fix == to =Rui2015-10-17
|
* Fix missing include on AIXkwolekr2015-10-17
|
* Refactor Thread class to improve readability and portabilitykwolekr2015-10-16
| | | | | | | | | - Fix some incompatibilities with obscure platforms (AIX and WinCE) - Clean up Thread class interface - Add m_ prefix to private member variables - Simplify platform-dependent logic, reducing preprocessor conditional clauses and improving readibility - Add Thread class documentation
* Refactor thread utility interfacekwolekr2015-10-16
| | | | | - Add "thr_" prefix to thread utility functions - Compare threadid_ts in a portable manner, where possible
* Fix crash regression when invsize formspec gets usedest312015-10-17
| | | | | | | | | | | | | | | | | | | | | The invsize formspec element is outdated. Even though, it is still supported, only a deprecation warning is shown, introduced by commit [1]. The lua context passed to the log_deprecated method added by commit [1] is NULL for the invsize deprecation warning, as its run on the client and not the server. Commit [1] has removed checks for NULL inside the log_deprecated method, resulting in a crash when a formspec with an invsize element is parsed. This commit puts the check back. Fixes #3260. Referenced commits: [1]: b5acec0a3c5701c53854ff7afdf4008863e6e8df "Add proper lua api deprecated handling" [2]: 7b8d372947aae232ddf598155e972bb4dda157a "Use warningstream for deprecated field messages and refactor log_deprecated"
* Fix enforcing of nametag hidingest312015-10-15
| | | | | | | | | | | | Commit d2ca662569427d36642660314668e416bf68f3c8 "Enforce hiding nametag" didn't fix the issue for "client" instances, where the nametag update was received before the object was added to the scene. This resulted in the grey shadow on the nametag that commit tried to fix. Thanks to @neoascetic for pointing out that there still is a shadow.
* Add BufReader and vector-based serialization methodskwolekr2015-10-15
|
* Clean up gettext initializationShadowNinja2015-10-15
|
* Use warningstream for deprecated field messages and refactor log_deprecatedShadowNinja2015-10-15
|
* Remove explicit syslog printing for uncaught exceptions on AndroidShadowNinja2015-10-15
| | | | | All log operations are now added to the syslog implicitly. Also, pass along mutable string to argument vector for main().