aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Atomic: cleanup and add more operationsest312015-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | Cleanup: * Remove volatile keyword, it is of no use at all. [1] * Remove the enable_if stuff. It had no use either. The most likely explanation why the enable_if stuff was there is that it was used as something like a STATIC_ASSERT to verify that sizeof(T) is not larger than sizeof(void *). This check however is not just misplaced in a place where we already use a lock, it isn't needed at all, as gcc will just generate a call to to the runtime if it compiles for platforms that don't support atomic instructions. The runtime will then most likely use locks. Code style fixes: * Prefix name of the mutex * Line everything up nicely, where it makes things look nice * Filling \ continuations with spaces is code style rule Added operations on the atomic var: * Compare and swap * Swap The second point of the cleanup also fixes the Android build of the next commit. [1]: http://stackoverflow.com/q/2484980
* Only go fast in autorun if fast move is enabledest312015-11-03
|
* Silence 'unused typedef' warning for STATIC_ASSERT()kwolekr2015-11-03
|
* Add callback parameter for core.emerge_area()kwolekr2015-11-02
|
* Speed up saving of profiling data by 27xgregorycu2015-11-02
| | | | | | | | | | | | | | On Windows Release x64 bit build this changes: ProfilerGraph::put 1.68% -> 0.061% ProfilerGraph::draw 12% -> 17.% So yes, there is a tradeoff between saving profiling data (executed always) and drawing the profiler graph (executed very rarely). But usually you don't have the profiler graph open.
* Rename and move basicmacros.h to util/basic_macros.hest312015-11-02
|
* Print --videomodes response to standard output, tooKahrl2015-11-02
|
* Print direct command line responses to standard output instead of using the ↵Perttu Ahola2015-11-02
| | | | | | log system Using logging for these just makes them bloated and hard to read and overally just not neat at all.
* 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
|
* minetest. to core.Rui9142015-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.
* Fix parameter passing to gettext callPilzAdam2015-10-25
|
* Check if hitter has inventory when punching itemBlockMen2015-10-25
| | | | Fixes #3280
* Credits: Remove my nameRui2015-10-25
|
* 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.
* Fix setting commentsPilzAdam2015-10-24
|
* Don't allow games or mods to add secure. settingsPilzAdam2015-10-24
|
* 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
* Android: statically load iconv libraryest312015-10-24
| | | | | | | | Fixes #3291 Thanks to @arpruss for reporting the bug, and suggesting the fix. Also, remove trailing whitespaces.
* Run updatepo.shest312015-10-24
|
* Better gettext support for protocol version mismatch messagesest312015-10-24
| | | | | Previously, xgettext failed to resolve the dynamic call. Thanks to @JakubVanek for pointing this out.
* 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