aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-02-21Restore simple settings tab and add advanced settings as dialogBlockMen
2016-02-20Little collision.cpp cleanupsLoic Blot
2016-02-19Fix jumping at node edgegregorycu
2016-02-19Don't print locale directory error message when GetText is disabledShadowNinja
Also, downgrade the error to a warning.
2016-02-19Ignore spaces in secure.trusted_mods settingJeija
2016-02-19Minimap: show player markersRealBadAngel
2016-02-19Camera: Don't count camera offset twice for Nametagged CAOsRealBadAngel
2016-02-19Require request_insecure_environment to be called from the mod's main scopeShadowNinja
Previously you could steal a secure environment from a trusted mod by wrapping request_insecure_environment with some code like this: local rie_cp = minetest.request_insecure_environment local stolen_ie function minetest.request_insecure_environment() local ie = rie_cp() stolen_ie = stolen_ie or ie return ie end
2016-02-19Clientmap: Define p_nodes_min/max as v3s32 instead of v3s16paramat
'cam_pos_nodes -/+ box_nodes_d' can exceed the range of v3s16 when a player is near the world edge using a large view range This previously caused world to disappear Create new function getBlocksInViewRange() called from updateDrawList() and renderMap() Correct code style throughout updateDrawList() and renderMap()
2016-02-18HOTFIX: fix too agressive block cullingRealBadAngel
2016-02-18Move object nametags to cameraRealBadAngel
2016-02-16Clientiface: remove "value is dummy" from docsest31
Commit 6a1670dbc31cc0e44178bbd9ad34ff0d5981a060 "Migrate to STL containers/algorithms." has replaced core::map<T, bool> with std::set<T>, but didn't update the accompanying comment saying "value is dummy". This happened at two places.
2016-02-16Mapblock mesh: Eliminate meshgen lagsRealBadAngel
2016-02-15Use vertices with tangents only when its needed.RealBadAngel
2016-02-14Player::accelerateHorizontal/Vertical should be member of LocalPlayerLoic Blot
2016-02-14Use proper variable types for uniform sampler layersRealBadAngel
2016-02-13Formspec: fix broken irrlicht 1.7 buildRealBadAngel
Fixes #3701.
2016-02-13Formspec: recreate item_image_button pressed state for its image and labelRealBadAngel
2016-02-13Remove unused 'm_selection_active' fieldest31
Thanks @ExcaliburZero for noticing. Fixes #3698.
2016-02-11v2d & aabbox3d<f32> & sky cleanupsnerzhul
* Sky: rename Box => m_box and inline getBoundingBox * Uniformize aabbox3d<f32> to aabb3f
2016-02-11Drop luaentity_common.h which is not included anywhereLoic Blot
2016-02-11Use single box for halo meshRealBadAngel
2016-02-11Set proper GLSL pixel shader versionRealBadAngel
2016-02-11Dump shader programs on compile errorsRealBadAngel
2016-02-11Documentation: Remove now unused 'vertical spawn range'paramat
2016-02-11Initialize facedir and wallmounted tables only once.Diego Martinez
This makes the functions a bit faster since they don't have to recreate the tables every invocation, and makes the code more readable. Also, document `wallmounted_to_dir`. The function was implemented but not documented in `lua_api.txt`.
2016-02-11Log /clearobjects modeKahrl
2016-02-11Add '/clearobjects quick'Kahrl
2016-02-10Fix backface culling when connecting to new servers.Auke Kok
Introduce a new contentfeatures version (8). When clients connect using v27 protocol version, they can assume that the tiledef.backface_culling is trustable, but if clients connect to servers providing contentfeatures version 7, then the v27 clients know that backface culling settings provided by the server in tiledefs are bogus for mesh, plantlike, firelike or liquid drawtype nodes. thanks to hmmmm, est31, nerzhul. Tested on new client - new server, new client - old server old client - new server.
2016-02-09Fix inverted conditions in shader.cppLoic Blot
2016-02-09shader.cpp: don't test twice if shader programs are presentLoic Blot
Also use string::empty method, it is better than comparing with empty strings.
2016-02-09FormSpec: Add StaticTextSpec and superimpose over item image buttonsRealBadAngel
2016-02-09Filmic HDR tone mappingRealBadAngel
2016-02-09Remove ClientMap::m_camera_mutexKahrl
All places that lock this mutex are only called by the main thread: ClientMap::updateCamera(), ClientMap::updateDrawList(), ClientMap::renderMap(), ClientMap::renderPostFx().
2016-02-09FindSpawnPos: Let mapgens decide what spawn altitude is suitableparamat
To avoid spawn search failing in new specialised mapgens Increase spawn search range to 4000 nodes Add getSpawnLevelAtPoint() functions to EmergeManager, class Mapgen and all mapgens Remove getGroundLevelAtPoint() functions from all mapgens except mgv6 (possibly to be re-added later in the correct form to return actual ground level) Make mgvalleys flag names consistent with other mapgens Remove now unused 'vertical spawn range' setting
2016-02-08Use inventory_image in the first place for inventory item meshRealBadAngel
2016-02-08Cleanup selection mesh code, add shaders for halo and selection boxesRealBadAngel
2016-02-08builtin: Fix `print` crashing on nil "holes".Diego Martinez
The engine implementation of `print` packs the varargs into a table and passes the table directly to `table.concat`. If you pass any value not supported by `table.concat` (particularly `nil`), the server crashes. This is unexpected behavior, as `print` is supposed to be able to work with anything. This patch changes the implementation so it first converts all arguments using `tostring`, which fixes the issue and makes the custom `print` function compatible with the stock Lua behavior.
2016-02-08small drawItemStack cleanupest31
-> Replace the three bool params with an enum -> Add struct for the static content, leads to less repetition -> cache enable_animations setting
2016-02-07Use meshes to display inventory itemsRealBadAngel
2016-02-07Use tangent space meshes only when shaders are enabledRealBadAngel
2016-02-04Add admin command which says who the administator is for the server.Splizard
2016-02-04Implement OSX Travis buildsPavel Puchkin
2016-02-02Mgvalleys: fix riverbeds below sea levelDuane Robertson
Stop riverbeds from forming plateaus under sea. Minor corrections to random lava/water placement.
2016-02-02Mgv5/v7/flat/fractal: Move tunnel noise calculation into generateCavesparamat
Tunnel 3D noises are only calculated when solid terrain is present in mapchunk, avoiding large amounts of unnecessary calculations Change 'int' to 's16' in calculateNoise Change 'i' to 'vi' for voxelmanip indexes for consistency Keep 'u32 index3d' local to a smaller part of tunnel code Mgv7: Don't call CaveV7 if no solid terrain in mapchunk Give 'open' bool a more descriptive name
2016-01-31Mgvalleys: use standard cavesDuane Robertson
Replace simple caves with V5 caves, adding unpredictable water and lava settings and massive caves based on subterrain. Remove fast terrain mode and accompanying settings. Remove superfluous temperature/humidity settings. Remove lava/water height setting. Fix errors in humidity handling and remove humidity_break_point setting. Move cave noises to generateCaves. Fix minor formatting/naming issues and use MYMAX/MYMIN/myround.
2016-01-29Fix OSX building issue caused by ad884f2Pavel Puchkin
2016-01-29Don't pass non-const references to collision methodsest31
Non const references cause a lot of confusion with behaviour of code, and are disallowed by minetest style guide.
2016-01-29New timer design.Auke Kok
I could honestly not make much sense of the timer implementation that was here. Instead I've implemented the type of timer algorithm that I've used before, and tested it instead. The concept is extremely simple: all timers are put in an ordered list. We check every server tick if any of the timers have elapsed, and execute the function associated with this timer. We know that many timers by themselves cause new timers to be added to this list, so we iterate *backwards* over the timer list. This means that new timers being added while timers are being executed, can never be executed in the same function pass, as they are always appended to the table *after* the end of the table, which we will never reach in the current pass over all the table elements. We switch time keeping to minetest.get_us_time(). dtime is likely unreliable and we have our own high-res timer that we can fix if it is indeed broken. This removes the need to do any sort of time keeping.
2016-01-29Clocksource: use a better clock if available.Auke Kok
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.