aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Clocksource: use a better clock if available.Auke Kok2016-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | clock_gettime() is a far better clock than gettimeofday(). Even better than clock_gettime() is that you can select either CLOCK_MONOTONIC, or even CLOCK_MONOTONIC_RAW. These clocks offer high precision time. And the _RAW variant will never roll back due to NTP drift or daylight savings, or otherwise. I've adjusted this code to select the right clock method auto- matically based on what's available in the OS. This means that if you're running a very old linux version, MacOS or other, you will automatically get the best clocksource available. I've tested all Linux clocksources by selectively compiling and running a 10k+ timer test suite. In all cases I confirmed that the 3 POSIX Linux clocksources worked properly, and were selected properly. I've modified the OS X compile path to use the high-res clock source for all time functions, but I can't confirm it works or that it compiles. As for WIN32, I confirmed that the used clocksource is indeed a Monotonic clocksource, so good news: that code section appears to be exactly what it should be.
* Don't print whole json data buffer to errorstream on errorest312016-01-28
| | | | | | `errorstream` must not be overly verbose as clientside it is directly printed onto the ingame chat window. These days, the serverlist can contain > 200k bytes, so better print it to warningstream if the data buffer is too long.
* Backface culling: Ignore setting in tiledef from old servers.Auke Kok2016-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | Outdated servers are always sending tiledefs with culling enabled no matter what, as the value was previously entirely ignored. To compensate, we must (1) detect that we're running against an old server with a new client, and (2) disable culling for mesh, plantlike, firelike and liquid draw types no matter what the server is telling us. In order to achieve this, we need to bump the protocol version since we cannot rely on the tiledef version, and test for it being older. I've bumped the protocol version, although that should have likely happened in the actual change that introduced the new backface_culling PR #3578. Fortunately that's only 2 commits back at this point. We also explicitly test for the drawtype to assure we are not changing the culling value for other nodes, where it should remain enabled. This was tested against various pub servers, including 0.4.13 and 0.4.12. Fixes #3598
* Fix texture tear issueRealBadAngel2016-01-23
|
* Fix C++11 compilabilityest312016-01-23
| | | | Previous commits broke it... :(
* Liquid flow: Prevent water spreading on ignoreparamat2016-01-20
|
* Allow per-tiles culling.Auke Kok2016-01-20
| | | | | | | | | | | | | | | | | | | | | | | | Backface culling is enabled by default for all tiles, as this is how the lua parser initializes each tiledef. We revert to always using the value from the tiledef since it is always read and serialized. Mods that wish to enable culling for e.g. mesh nodes, now can specify the following to enable backface culling: tiles = {{ name = "tex.png", backface_culling = true }}, Note the double '{' and use of 'name' key here! In the same fashion, backface_culling can be disabled for any node now. I've tested this against the new door models and this properly allows me to disable culling per node. I've also tested this against my crops mod which uses mesh nodes where culling needs to be disabled, and tested also with plantlike drawtype nodes where we want this to continue to be disabled. No default setting has changed. The defaults are just migrated from nodedef.cpp to c_content.cpp.
* EmergeManager: Do not queue duplicate block requestskwolekr2016-01-19
|
* Fix Settings::remove() always returning trueKahrl2016-01-19
|
* Show infotext with description for item entitiesRealBadAngel2016-01-18
|
* Correct overflowing rivers in Valleys mapgen.Duane Robertson2016-01-18
|
* Fix wield item glitchRealBadAngel2016-01-18
|
* Prevent spawning in rivers with valleys mapgen. Remove unecessary whitespace.Duane Robertson2016-01-16
|
* Make ItemStack:set_count(0) clear the item stacksfan52016-01-15
| | | | fixes minetest/minetest_game#786
* Make all mesh manipulators in mesh.cpp work with any vertex typeKahrl2016-01-15
| | | | | | | | | cloneMesh() has to use a switch in order to create a different mesh buffer type depending on vertex type. (Credit: the new cloneMesh was written by RealBadAngel.) To avoid repetitive code, all other methods use getVertexPitchFromType() to automatically adapt the indexing to the vertex type at runtime.
* Add Valleys mapgen.Duane Robertson2016-01-14
|
* Mgv7/flat/fractal: Place biome top node on tunnel entrance floorparamat2016-01-14
|
* Mapgen: Various fixes and improvementsparamat2016-01-11
| | | | | | | | | | | | | Lua_api.txt: Document 'minetest.registered_biomes' Minimal: Remove 'mapgen_air' alias Cavegen: Add fallback node for 'mapgen_ice' Dungeongen: Add fallback node for 'mapgen_river_water_source' Mgv5: Remove unnecessary '#include util/directiontables.h' Add missing 'this->'s in makeChunk() Mgv6: Edit empty line formatting Remove leading spaces in makeChunk() Add missing spaces after 'for' and 'if' Mgv7: Edit empty line formatting
* Mgflat: Set blank default spflags. Unhideparamat2016-01-10
|
* Cache disable_anticheat and check it for "interacted_too_far"ASL972016-01-09
|
* New 3D Mode: PageflipDalai Felinto2016-01-09
| | | | | | | | | | | | | | | | The pageflip mode requires a stereo quadbuffer, and a modern graphic card. Patch tested with NVidia 3D Vision. The mini-map is not drawn, but that's what is done for topbottom and sidebyside modes as well. Also most of the time the user would prefer the HUD to be off. That's for the user to decide though, and toggle it manually. Finally, the interocular distance (aka eye separation) is twice as much as the "3d_paralax_strength" settings. I find this a strange design decision. I didn't want to chance this though, since it's how the other 3d modes interpret this settings.
* Replace instance of readsome with read in decompressZlib Make decompressZlib ↵gregorycu2016-01-09
| | | | more robust
* Fix redis error reportingest312016-01-08
| | | | | | | | | | Previously, we assumed that reply->str was NULL terminated. However, this turned out to be not true, as users reported crashes in strlen connected to where reply->str was appended to an std::string. Use the method recomended by the docs, to read the length separately.
* Liquids: Flow into and destroy 'floodable' nodesparamat2016-01-07
| | | | | Add new node property 'floodable', default false Define "air" as floodable = true in C++ and lua
* Fix for commit 87dcee6 It uses the wrong variable and only covers some use ↵gregorycu2016-01-04
| | | | cases. This change covers all use cases.
* Add MinSizeRel and RelWithDebInfo to MSVCBuildDir checkgregorycu2016-01-03
|
* Prevent technically unsafe access with empty vectorgregorycu2016-01-03
|
* filesys: safeWriteToFile(): Remove the target file before rename only on WindowsPerttu Ahola2016-01-01
| | | | | | | | | | Removing the target file on other platforms was enabled likely unintentionally by commit 5f1f1151d3a9c113902630adc16cc3f4845da7ba. This may be the reason why there has been corruption of files on Linux on hard shutdowns. Previously I described the problem and this fix in issue #3084.
* Fix client crashing when connecting to serverest312015-12-30
| | | | | | | | | | | | | My commit e2d54c9f9275e4f77ec33be8054621d42945f7a4 "shutdown when requested from lua in singleplayer too" broke minetest's feature to connect to servers. The client crashed after the connection init was complete. Thanks to @sofar for reporting the bug. Fixes #3498.
* Fix cache path with RUN_IN_PLACEShadowNinja2015-12-30
| | | | | | | If an `XDG_CACHE_HOME` can't be found or `RUN_IN_PLACE` is enabled, `path_cache` is left at its default of `$PATH_USER/cache` (at a time when `PATH_USER` is `..`), rather than being reset to `$PATH_USER/cache` after `PATH_USER` has been properly set.
* Include custom error message in all SQLite3 exceptions.Rogier2015-12-30
| | | | And replace manual tests for error with SQLOK() where possible.
* Handle SQLITE_BUSY errors gracefullyRogier2015-12-30
| | | | | | This allows other applications (e.g. minetestmapper) to interrogate the database while minetest is running, without causing an almost certain minetest crash.
* Add macos/freebsd missing endian.h include and add win endianness infoqiukeren2015-12-29
|
* Revert "Refactoring and code style fixes in preparation of adding mesh typed ↵Sapier2015-12-29
| | | | | | | | items" This reverts commit f14e7bac54af65e3d3d99f89f23f114b17058e49. Reverted due to missinterpretation of agreement, obvious dislike and me not interested in doing fights for feature I don't actually need
* Revert "Add support for using arbitrary meshes as items"Sapier2015-12-29
| | | | | | This reverts commit 91bafceee6606fab79db1bde4cba01b84fed65c7. Reverted due to missinterpretation of agreement, obvious dislike and me not interested in doing fights for feature I don't actually need
* Make collisionMoveSimple time overflow message written to log/show up at max ↵Sapier2015-12-29
| | | | once per step
* Add support for using arbitrary meshes as itemsSapier2015-12-29
|
* Refactoring and code style fixes in preparation of adding mesh typed itemsSapier2015-12-29
|
* shutdown when requested from lua in singleplayer tooest312015-12-29
| | | | | | | Before, minetest.request_shutdown didn't shut down singleplayer instances or server instances from the server tab. This commit fixes this. Fixes #3489.
* Database backends: fix bug, and small speedupest312015-12-29
| | | | | -> Redis backend: break from switch to fix bug -> Dummy and redis backends: reserve the count so that creating the list is faster
* Fix lua object:get_properties() being brokenSapier2015-12-21
|
* Fix missing popest312015-12-20
| | | | | | | | | | | Previous commit 70ea5d552e283bd5bce3278cbf3819bd87ba2602 "Add support for limiting rotation of automatic face movement dir entitys" by sapier has broken minetest's feature to open worlds. This was due to a missing stack pop operation. Thanks to @oleastre for reporting this bug and suggesting the fix.
* Add support for limiting rotation of automatic face movement dir entitysSapier2015-12-19
|
* Android: Implement Autohiding button bars to cleanup screenSapier2015-12-18
|
* Android: Fix pressed buttons not beeing cleared on opening menuSapier2015-12-17
|
* Add option to give every object a nametagBlockMen2015-12-15
| | | | or change the nametag text of players
* Get movement setting instead of hard coded valueasl972015-12-15
|
* Mgfractal: Add 3D and 4D fractalsparamat2015-12-15
| | | | | | | | | | | | 3D Mandelbrot/Mandelbar 3D Christmas Tree 3D Mandelbulb 3D Cosine Mandelbulb 4D Mandelbulb Plus corresponding julia set for each Add credits for formulas Rename parameter 'formula' to 'fractal' Speed optimisations
* Fix events on WindowsBlockMen2015-12-11
|
* Fix some setting documentationest312015-12-10
| | | | | | | * Horizontal and vertical are used wrongly. Use height and width because horizontal/vertical describes different things. Thanks @kilbith for pointing out. * Update minetest.conf.example and settings_translation_file.cpp * Correct maximum/minimum copy paste mistake.