aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* 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.
* ServerEnv: Clean up object lifecycle handling (#6414)sfan52018-06-03
| | | | * ServerEnv: Clean up object lifecycle handling
* 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)
* 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
|
* Mgv7: Avoid divide-by-zero errorsparamat2018-06-03
| | | | | Some settings of paramters can cause mgv7 variables to be -inf, nan or -nan. This can cause massive vertical columns of water to appear above sea level.
* Fix render order of overlays (#6008)Dániel Juhász2018-06-03
| | | | | | | | * Fix render order of overlays * Use C++11 loops * Fix time_t
* Fix console resize issue when maximising game window (#6023)Ezhh2018-06-03
|
* Fix console not being properly resized after window size changed (#6020)Zeno-2018-06-03
|
* Automatic item and node colorization (#5640)Dániel Juhász2018-06-03
| | | | | | | | | | | | | | | | | * Automatic item and node colorization Now nodes with a palette yield colored item stacks, and colored items place colored nodes by default. The client predicts the colorization. * Backwards compatibility * Use nil * Style fixes * Fix code style * Document changes
* find_nodes_in_area: Extend maximal count to U32_MAX (#5277)SmallJoker2018-06-03
| | | | | | | Extend documentation, limit area volume Remove u16 count limitation * Prevent integer overflow, replace minp/maxp with pos1/pos2
* Verify HudSetParams input when hotbar textures are set (#6013)Loïc Blot2018-06-03
| | | | | | * Verify HudSetParams input when hotbar textures are set This fix #6011
* (Re)spawn players within 'mapgen_limit'paramat2018-06-03
| | | | | | | | | | | | | Previously, findSpawnPos() did not take the 'mapgen_limit' setting into account, a small limit often resulted in a spawn out in the void. Use the recently added 'calcMapgenEdges()' to get max spawn range through a new mapgenParams function 'getSpawnRangeMax()'. Previously, when a player respawned into a world, 'objectpos_over_limit()' was used as a check, which was inaccurate. Use the recently added 'saoPosOverLimit()' to get exact mapgen edges. Also fix default value of 'm_sao_limit_min'.
* Add a server-sided way to remove color codes from incoming chat messages (#5948)red-0012018-06-03
| | | | | | | | | These code be generated by CSM, a modded client or just copy and pasted by the player. Changes - Update configuration example and setting translation file. - Remove colour codes before logging chat. - Add setting to remove colour codes before processing the chat.
* Fix sending color codes to clients that don't support them. (#5950)red-0012018-06-03
| | | Also remove `disable_escape_sequences` since it's not needed anymore.
* Fix segmentation fault with tool capabilities (#5899)ShadowNinja2018-06-03
|
* Properly remove SAO when worldedges are overtaken (#5889)Loïc Blot2017-06-03
| | | | | | | | | | | | * LuaEntitySAO: Remove beyond outermost mapchunk edges Based on a commit by, and with help from, nerzhul. Add 2 functions to class Mapgen: A function to calculate actual mapgen edges, called from the Mapgen constructor. A function called indirectly from content_sao.cpp per entity step to check SAO position is within mapgen edges. * Calculate borders from params not mapgen, which is not available everytime
* Tooltips: Unify the tooltip[] and list[] description tooltip display ↵SmallJoker2017-06-03
| | | | | | functions (#5848) * Tooltips: Unify the tooltip[] and list[] description tooltip display functions
* Do not shade inventory items with textures (#5869)Dániel Juhász2017-06-01
| | | | This commit restores the old behavior: if an inventory item has an own inventory texture, it will not be shaded.
* Show singlenode mapgen to menu (#5868)Loïc Blot2017-06-01
| | | Fix #5867
* Fix dropdown menu selection (#5847)red-0012017-06-01
| | | This fixes a bug that occurred when the selection list of a drop down menu was changed but the name was still the same.
* Nametag: remove colour codes before calculating alignment. (#5862)red-0012017-05-31
|
* Don't add damage flash while punch texture modifier is active (#5767)stujones112017-05-29
|
* guiVolumeChange: prevent wrong value position by using 1 label instead of 2 ↵Loïc Blot2017-05-28
| | | | | | | | | (#5839) * Use only one label instead of two for the soundText, this permit to ensure both label & values are aligned * Add '%' character too, to reflect it's a percentage volume * Remove rect on regenerateGui (upper part) which shadows outer part and which is not needed outside of the DesiredRect affectation Fix issue #5837
* Mapgen files: Update and correct copyright creditsparamat2017-05-26
|
* Time: Change old `u32` timestamps to 64-bit (#5818)SmallJoker2017-05-26
| | | | MacOSX build fix + cleanups
* Enhance ABM performance a little bit by removing two std::set copy (#5815)Loïc Blot2017-05-25
| | | | | | | | | | * Enhance ABM performance a little bit by removing two std::set copy * ActiveBlockModifier::getTriggerContents now returns a const ref * ActiveBlockModifier::getRequiredNeighbors now returns a const ref * ActiveBlockModifier::getRequiredNeighbors is now purely virtual * Little code style fix
* Mgv6 mudflow: Remove decoration if 'dirt with grass' below flows away (#5798)Paramat2017-05-25
| | | | | | | Mudflow of a neighbouring mapchunk extends into a mapchunk's edge, and could remove 'dirt with grass' from under a decoration, creating unsupported decorations. Remove any decoration above if a 'dirt with grass' node is removed by mudflow.
* Close formspec on client shutdown. (#5811)red-0012017-05-25
| | | This ensures the shutting down progress bar is correctly rendered. This fixes #3050.
* Revert 1469424 and fix wrong char position when doing mouse selection on ↵Loïc Blot2017-05-24
| | | | | | | | | | | | | | | | intlGUIEditBox (#5806) * Revert 1469424075affce7c27bb44e5a5cbd51485e44b2 and fix wrong char position when doing mouse selection on intlGUIEditBox position should look at current line not the whole text and shift 1 character on the last line (due to \0 string delimiter) * Finish the fix and prevent values under zero for getCursorPos which crash the program if found * Forget to remove old comment * fix zero to NULL * Fix typo
* Fix wrong return value in get_sky Lua call since ↵Loic Blot2017-05-23
| | | | | | ad9fcf859ec2347325830e09504ae96968b51ea8 Fix #5803