aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Add minetest.safe_write_file() to script APIsfan52018-06-03
|
* Fix issue Minetest crash when custom font path is not existMuhammad Rifqi Priyo Susanto2018-06-03
| | | | 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.
* Fix Settings tab formspec alignment (#6585)Ezhh2018-06-03
|
* Do not scale texture unless necessary.Lars Hofhansl2018-06-03
| | | | | This avoids scaling textures to 'texture_min_size' unless it is actually required (because either auto-scaling or bi/trilinear filtering is enabled)
* httpfetch: Enable gzip supportsfan52018-06-03
|
* Add sha1 to lua utils. (#6563)Rob Blanckaert2018-06-03
|
* Fix day_night_ratio_do_override not being initialised server-siderubenwardy2018-06-03
| | | | Causes get_day_night_ratio() to return unpredictable results.
* Avoid filtering low-res textures for animated meshes (incl. players) (#6562)lhofhansl2018-06-03
|
* Fix default item callbacks to work with nil users (#5819)raymoo2018-06-03
| | | | | | | | | * Fix default item callbacks to work with nil users * item.lua: Handle node drops for invalid players The if-condition for the dropping loop is the same as `inv`, which means that the 2nd possible definition of `give_item` is never used. Remove redundant `local _, dropped_item`
* Correct `prot_vers` in lua_api.txt.Auke Kok2018-06-03
| | | | | We should avoid providing incorrect struct members in documentation since people will be coding based on them.
* Don't try to craft a non-existent itemEsteban I. RM2018-06-03
|
* Profiler: Fix var args not being passed to callback register functionrubenwardy2018-06-03
| | | | Fixes #6517
* Thread: fix a crash on Windows due to data race condition on ↵Loïc Blot2018-06-03
| | | | Thread::m_start_finished_mutex (#6515)
* NetworkPacket::putRawPacket: resize m_data to datasize + memcpyLoic Blot2018-06-03
| | | | | | In some cases NetworkPacket was created using default constructor and m_data is not properly sized. This fixed out of bounds memory copy Also use memcpy instead of std::vector affectation to enhance packet creation
* Replace deprecated WINAPI GetVersionInfoEx (#6496)adrido2018-06-03
| | | | * Replace deprecated WINAPI GetVersionInfoEx
* Add setting for near plane distance. (#6395)Rob Blanckaert2018-06-03
| | | | | | | * Allow setting the near plane * - Add near_plane limit of 0.5 to prevent x-ray. - Add more details to near_plane setting.
* Unkown nodes: Provide position on interact (#6505)SmallJoker2018-06-03
| | | | * Unkown nodes: Provide position on interact
* ParticleSpawner::step cleanup and rotation fix (#6486)SmallJoker2018-06-03
| | | | * Particles: Move spawner code to a separate fucntion
* CAO footstep sounds: Reduce gain to balance volumeparamat2018-06-03
|
* Fix attached particle spawners far from spawn (#6479)raymoo2018-06-03
| | | | | | | * Fix attached particle spawners far from spawn When far from spawn, attached particle spawners did not spawn particles.
* Localplayer: Fix disable_jump effect and getStandingNodePos()SmallJoker2018-06-03
| | | | Leave the old move code untouched.
* Document orientation parameter of set_attach (#6473)raymoo2018-06-03
|
* Fix recent commit: std::max -> std::fmax for floats (#6469)Paramat2018-06-03
| | | | | Fixes commit a455297d297c0819a7eff89e51e5f01a5ac731c3 <cmath> header was already present in commit.
* Positional sound: Limit volume when closer than 1 nodeparamat2018-06-03
| | | | | | | | | | | | | Change OpenAL distance model from AL_INVERSE_DISTANCE to AL_INVERSE_DISTANCE_CLAMPED to avoid excessive volume when very close to the sound location, for example MTG doors, and MTG fire sounds which are combined at an average position and often located in air nodes. Because AL_REFERENCE_DISTANCE has been reduced to 1 node (the distance under which gain is clamped), multiply volume by the same factor to keep sound gains the same as before, since the gain is calculated as: gain = (AL_REFERENCE_DISTANCE / distance)
* Fix blocks written by vmanip not being marked as modifiedsfan52018-06-03
| | | | | This bug can be triggered by e.g. calling minetest.place_schematic() and stopping the server immediately afterwards.
* Set placer to nil instead of a non-functional one in item_OnPlace (#6449)DTA72018-06-03
| | | | | | * Set placer to nil instead of a non-functional one This requires nil checks in core.rotate_node and core.rotate_and_place.
* Leveled nodebox: Change levels from 1/63rds to 1/64thsparamat2018-06-03
| | | | | Add missing documentation of leveled nodebox to lua_api.txt, plus a little cleaning up nearby.
* Fix Rotate Node Placement (#6424)tenplus12018-06-03
| | | | This properly checks for creative mode or privilege when using fixed rotate_node() function.
* ServerEnv: Clean up object lifecycle handling (#6414)sfan52018-06-03
| | | | * ServerEnv: Clean up object lifecycle handling
* Fix core.wrap_text and make its behaviour consistent with the docssfan52018-06-03
| | | | Code based on initial implementation by @dsohler.
* Fix empty legacy meta being persistedrubenwardy2018-06-03
|
* Statbars: fix incorrect half-images in non-standard orientations (fixes #6198)Nathanaël Courant2018-06-03
|
* Android stepheight: Only increase if 'touching ground' (#6313)Paramat2018-06-03
|
* Fix Android node selection distance (#6187)Dániel Juhász2018-06-03
|
* serialize: use a temporary for SerializeException Exception must always use ↵Loïc Blot2018-06-03
| | | | temporary instead of global copied exception instances, it's not recommended and should have undefined issues
* Typo fix in compat code from commit 1d8d01074fdb52946f81110bebf1d001185b394bLoic Blot2018-06-03
|
* ClientInterface: add a function to verify (correctly) if user limit was ↵Loïc Blot2018-06-03
| | | | | | | | | | | | | | reached (#6258) * ClientInterface: add a function to verify (correctly) if user limit was reached CS_HelloSent is a better indicator of active slots than CS_Created, which are session objects created after init packet reception Switch existing checks to ClientInterface::isUserLimitReached() Use range-based for loop for getClientIds() used function too This will fix #6254 (not the memory overhead if init is flooded)
* Make dropped items colorableDániel Juhász2018-06-03
|
* Trigger on_rightclick regardless on the formspec meta fieldSmallJoker2018-06-03
| | | | Document behaviour for older clients.
* Full viewing range key message clarifiedFixer2018-06-03
| | | | To make it sound less confusing to players
* Add tiny Y offset in collisionMoveSimple() to tweak performanceJens Rottmann2018-06-03
| | | | | | | | | | | | | | | Another small general problem: the player is always standing exactly on the bondary between 2 nodes e.g. Y=1.5 is exactly between nodes Y=1 and Y=2. floatToInt() and myround() will round +/-n.5 always 'outwards' to +/-(n+1), which means they behave differently depending on where you are: they round upwards above sea level and downwards when underground. This inconsistency comes from the way the coordinates are calculated, independent of the specific C++ code. The result is a tiny bit of lost performance when moving underground, because 1 node level more than necessary is checked for collisions. This can be amended by adding a tiny offset to minpos_f.Y, like @paramat suggested. This is not an elegant solution, but still better than wasting CPU.
* Fix player coordinate rounding in collisionMoveSimple() (#6197)Jens Rottmann2018-06-03
| | | | | | | | | | | | | | | | | | | | To determine the area (nodes) where a player movement took place collisionMoveSimple() first took the old/new player coordinates and rounded them to integers, then added the player character's collision box and implicitely rounded the result. This has 2 problems: Rounding the position and the box seperately, then adding the resulting integers means you get twice the rounding error. And implicit rounding always rounds towards 0.0, unlike floatToInt(), which rounds towards the closest integer. Previous (simplified) behavior: round(pos)+(int)box, for example player at Y=0.9, body is 1.75m high: round(0.9)+(int)1.75 = 1+1 = 2. ==> A character's height of 1.75m always got rounded down to 1m, its width of +/-0.3 even became 0. Fixed by adding the floats first, then rounding properly: round(pos+box) = round(0.9+1.75) = round(2.65) = 3.
* Fix crash when using --go in command lineJuozas Pocius2018-06-03
|
* Noise: Prevent unittest crash caused by division by zeroSmallJoker2018-06-03
|
* Sneak: Stripped down versionSmallJoker2018-06-03
| | | | | | | Fix taking damage caused by sneaking over a nodebox gap. Fix strange behaviour on stair nodeboxes. Enable jumping from node edges while sneaking. Enable movement around corners while sneaking on a 1-node-high groove in a wall.
* Include TILE_MATERIAL_OPAQUE in shaders header (#6086)stujones112018-06-03
|
* Tile material: Add 'TILE_MATERIAL_OPAQUE', use for drawtype 'NDT_NORMAL'stujones112018-06-03
| | | | | Prevents normal drawtype nodes having transparency. Avoids clients cheating by using 'x-ray' texture packs with transparent textures.
* Mgv7: Fix undefined 'float_mount_height'paramat2018-06-03
| | | | | | | | Commit cad10ce3b747b721fd63784915e05f12bc488128 altered the parameter 'float_mount_height' but was missing the necessary line in the constructor to get the altered value from 'params'. Fixes 3D floatland terrain generating everywhere.
* Fix for empty key/value when reading item string with wear but no metadata ↵Jesse McDonald2018-06-03
| | | | (#6058)
* Mgv7: Clean up divide-by-zero fixparamat2018-06-03
|