SmallJoker [Tue, 26 Sep 2017 18:30:42 +0000 (20:30 +0200)]
Update version correctly again (#6462)
* Update version correctly again
Partial revert of PR 6331
* It doesn't update automatically
Loïc Blot [Tue, 26 Sep 2017 18:30:14 +0000 (20:30 +0200)]
Update JsonCPP to 1.8.3 (#6466)
* Update JsonCPP to 1.8.3
* Fix deprecated functions
Json::FastWriter, Json::StyledWriter and Json::Reader are marked deprecated since 1.1 and are deprecated in 0.8 but not shown at compilation time.
Use new methods to serialize/deserialize
Loic Blot [Tue, 26 Sep 2017 06:31:56 +0000 (08:31 +0200)]
preview: try to send mod channel messages 4 seconds after joining, not after loading mod
DTA7 [Tue, 26 Sep 2017 06:17:50 +0000 (08:17 +0200)]
Add mute setting (toggled by the mute key and in the volume menu) (#6415)
* Add mute setting (toggled by the mute key and in the volume menu)
Loïc Blot [Mon, 25 Sep 2017 22:11:20 +0000 (00:11 +0200)]
Implement mod communication channels (#6351)
Implement network communication for channels
* Implement ModChannel manager server side to route incoming messages from clients to other clients
* Add signal handler switch on client & ModChannelMgr on client to handle channels
* Add Lua API bindings + client packet sending + unittests
* Implement server message sending
* Add callback from received message handler to Lua API using registration method
paramat [Mon, 25 Sep 2017 18:28:46 +0000 (19:28 +0100)]
Can_zoom player object property: Add missing documentation
paramat [Sat, 23 Sep 2017 07:38:22 +0000 (08:38 +0100)]
Positional sound: Limit volume when closer than 1 node
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)
sfan5 [Sat, 23 Sep 2017 15:05:55 +0000 (17:05 +0200)]
Fix blocks written by vmanip not being marked as modified
This bug can be triggered by e.g. calling minetest.place_schematic()
and stopping the server immediately afterwards.
DTA7 [Thu, 21 Sep 2017 19:52:52 +0000 (21:52 +0200)]
Set placer to nil instead of a non-functional one in item_OnPlace (#6449)
* Set placer to nil instead of a non-functional one
This requires nil checks in core.rotate_node and core.rotate_and_place.
SmallJoker [Thu, 21 Sep 2017 17:56:11 +0000 (19:56 +0200)]
on_death: Fix callback number of pushed arguments (Fixes #6451)
Loic Blot [Thu, 21 Sep 2017 16:47:42 +0000 (18:47 +0200)]
keycode.cpp: use std::unordered_map for keypress cache
jcalve [Wed, 20 Sep 2017 21:29:47 +0000 (23:29 +0200)]
Fix compile error in openbsd (#6430)
Include the header that defines AF_INET and AF_INET6
paramat [Tue, 19 Sep 2017 07:10:07 +0000 (08:10 +0100)]
Rooted plantlike drawtype: Add remaining documentation
Plus a small clarification of 'glasslike framed' documentation.
paramat [Mon, 18 Sep 2017 04:08:56 +0000 (05:08 +0100)]
Leveled nodebox: Change levels from 1/63rds to 1/64ths
Add missing documentation of leveled nodebox to lua_api.txt, plus
a little cleaning up nearby.
paramat [Sat, 16 Sep 2017 23:26:20 +0000 (00:26 +0100)]
Biome API: Revert biomes, decos, ores being relative to water level
Feature is unnecessary and would greatly complicate future development,
it would also make 'get biome at pos' extremely complex.
Mgv7: Revert option to repeat surface biomes in floatlands, which
depended on the above.
paramat [Sun, 17 Sep 2017 01:54:17 +0000 (02:54 +0100)]
Biome generation: Fix layers of 'filler' nodes at biome y limits
Error was exposed by commit
a1389c38658fe69c3bd25c3099bae9a4e51ed401
'nplaced' was not set to U16_MAX when biome 'stone' was placed, so when
biome was recalculated in a column of stone, the 'nplaced' value
caused a few remaining filler nodes to be placed.
Occurs when the lower biome has a deeper depth of 'top' plus 'filler'
than the upper biome.
tenplus1 [Sat, 16 Sep 2017 20:39:38 +0000 (21:39 +0100)]
Fix Rotate Node Placement (#6424)
This properly checks for creative mode or privilege when using fixed rotate_node() function.
DTA7 [Sat, 16 Sep 2017 16:42:17 +0000 (18:42 +0200)]
Correct tooltip_append_itemstring terminology (#6421)
Greg [Sat, 16 Sep 2017 16:40:19 +0000 (09:40 -0700)]
Fix addModsFormConfig typo (#6420)
paramat [Sat, 16 Sep 2017 01:46:26 +0000 (02:46 +0100)]
Generate biomes: Recalculate biome at biome lower limit
Prevents biome nodes passing below the defined y_min of that biome.
DTA7 [Fri, 15 Sep 2017 12:31:32 +0000 (14:31 +0200)]
Add setting to display the itemstring after the tooltip in the inventory. (#6413)
* Add setting to display the itemstring after the tooltip in the inventory.
sfan5 [Fri, 15 Sep 2017 10:19:01 +0000 (12:19 +0200)]
ServerEnv: Clean up object lifecycle handling (#6414)
* ServerEnv: Clean up object lifecycle handling
SmallJoker [Fri, 15 Sep 2017 10:18:47 +0000 (12:18 +0200)]
Customizeable max breath for players (#6411)
* Customizeable maximal breath for players
paramat [Mon, 11 Sep 2017 20:23:43 +0000 (21:23 +0100)]
Cavegen: Avoid unsupported biome 'top' or 'filler' nodes
For 3D noise tunnels only, replace unsupported biome 'top' and 'filler'
nodes in tunnel roof with the defined biome 'stone'.
This makes terrain created by 3D noise tunnels consistent with the rest
of mapgen, which does exactly the same in this situation.
Rob Blanckaert [Sat, 2 Sep 2017 06:12:15 +0000 (23:12 -0700)]
Object properties: Add 'glow', disables light's effect if negative
The 'glow' value is added to the ambient light value.
Negative 'glow' disables light's effect on object colour, for faking
self-lighting, UI-style entities, or programmatic colouring in mods.
Paramat [Tue, 12 Sep 2017 22:01:50 +0000 (23:01 +0100)]
Item drop: Tune to land exactly 2 nodes away with level view (#6410)
SmallJoker [Tue, 12 Sep 2017 18:26:03 +0000 (20:26 +0200)]
Network: Fix logging into older worlds with base64 hashes
SmallJoker [Tue, 12 Sep 2017 17:48:09 +0000 (19:48 +0200)]
Network: Remove large parts of deprecated legacy code (#6404)
Also remove the setting 'send_pre_v25_init'
Keep old enum entries for obsolete commands
sfan5 [Tue, 12 Sep 2017 17:35:31 +0000 (19:35 +0200)]
Fix failing linter (travis)
sfan5 [Mon, 11 Sep 2017 14:25:20 +0000 (16:25 +0200)]
Fix core.wrap_text and make its behaviour consistent with the docs
Code based on initial implementation by @dsohler.
Kahrl [Mon, 11 Sep 2017 13:51:40 +0000 (15:51 +0200)]
Make INodeDefManager::getIds return a vector, not a set
Auke Kok [Mon, 11 Sep 2017 12:50:06 +0000 (14:50 +0200)]
Implement client node dig prediction
Dig prediction allows clients to remove dug nodes without
waiting for server acknowledgement.
This patch allows mods to override dig prediction,
it can either be turned off or a different "prediction node"
can be selected.
red-001 [Sun, 16 Oct 2016 16:35:07 +0000 (17:35 +0100)]
Allow the join/leave message to be overridden by mods.
you [Mon, 11 Sep 2017 06:20:06 +0000 (08:20 +0200)]
Fix dropped item look (#6370)
* Abort set_item when it does nothing
* Do not adjust dropped item size linearly
Instead use cube root because the item count is proportional to the volume, not to the length.
* Make the item rotate slower when it's bigger
Bigger items chafe more on the ground, so they can't rotate as fast as small ones
* Fix items flying in air
SmallJoker [Sun, 10 Sep 2017 18:16:25 +0000 (20:16 +0200)]
Object properties: Fix loss of custom selectionbox
Only adjust it to the collisionbox value when the collisionbox was really set.
rubenwardy [Sun, 10 Sep 2017 01:39:37 +0000 (02:39 +0100)]
Fix incorrect buffer size calculation on creation of HUD status messages
Fixes #6400
paramat [Wed, 6 Sep 2017 21:20:09 +0000 (22:20 +0100)]
Schematic decorations: Add 'place_offset_y' placement parameter
For precise control of schematic vertical position relative to the
'place_on' node.
Avoids workarounds that add empty nodes to a schematic and therefore
reduce performance.
Also remove long-unused decoration cutoff code.
rubenwardy [Sat, 19 Aug 2017 18:43:02 +0000 (19:43 +0100)]
Fix empty legacy meta being persisted
rubenwardy [Fri, 8 Sep 2017 22:45:56 +0000 (23:45 +0100)]
Fix crash on revocation of removed privilege
SmallJoker [Fri, 8 Sep 2017 22:36:48 +0000 (00:36 +0200)]
Server: Calculate maximal total block sends dynamically (#6393)
The block sends per client is 1/2 when reaching the maximal player count.
SmallJoker [Fri, 8 Sep 2017 16:39:24 +0000 (18:39 +0200)]
Particles: Do not add digging particles for airlike nodes (#6392)
Wuzzy [Fri, 8 Sep 2017 16:39:02 +0000 (18:39 +0200)]
Prevent /spawnentity from spawning unknown entity (#6388)
Loic Blot [Thu, 7 Sep 2017 21:51:06 +0000 (23:51 +0200)]
main.cpp: server-only builds should not include client headers
Loic Blot [Tue, 5 Sep 2017 20:14:56 +0000 (22:14 +0200)]
Use a Buffer instead of SharedBuffer in ConnectionCommand
This fixes #6373
Wuzzy [Tue, 5 Sep 2017 19:57:29 +0000 (21:57 +0200)]
Make HUD status messages translatable (#5795)
* Make HUD status messages translatable
* Make strings in showStatusTextSimple translatable
Rui [Tue, 5 Sep 2017 18:00:36 +0000 (03:00 +0900)]
Remove DSTACK keybind setting (#6378)
paramat [Mon, 4 Sep 2017 23:14:32 +0000 (00:14 +0100)]
Conf.example: Update using auto-generation
paramat [Mon, 4 Sep 2017 22:45:47 +0000 (23:45 +0100)]
Network protocol documentation: Add 'can_zoom' to version 36
Loïc Blot [Mon, 4 Sep 2017 20:08:59 +0000 (22:08 +0200)]
Implement minetest.register_can_bypass_userlimit (#6369)
* Implement minetest.register_on_userlimit_check
This new callback permits to bypass the max_users parameter with new mods condition, based on player name or IP
Only one mod needs to permit it.
Move core part for builtin privileges checks to builtin
Loïc Blot [Mon, 4 Sep 2017 14:46:03 +0000 (16:46 +0200)]
Re-apply previous commit with a typo fix
Loïc Blot [Mon, 4 Sep 2017 15:28:29 +0000 (17:28 +0200)]
Revert "Network: fix a concurrency problem, by re-adding a copy in ConnectionCommand"
This reverts commit
5b04f5e7d231437b534f4cad39da78624d97c584.
Loïc Blot [Mon, 4 Sep 2017 14:46:03 +0000 (16:46 +0200)]
Network: fix a concurrency problem, by re-adding a copy in ConnectionCommand
paramat [Sat, 2 Sep 2017 02:18:42 +0000 (03:18 +0100)]
World start time: Add setting for this, default unchanged
you [Sun, 3 Sep 2017 20:32:30 +0000 (22:32 +0200)]
Add build date to minetest --version and increase readability (#6331)
Paramat [Sun, 3 Sep 2017 20:32:21 +0000 (21:32 +0100)]
Ores: Add stratum ore (#6352)
Creates a single undulating ore stratum that is continuous across mapchunk
borders and horizontally spans the world.
Due to being continuous is ideal for creating bands of alternative stone
type running through cliffs and mountains, or underground layers.
Add missing documentation of 'ore_param2' parameter.
Dharkael [Sun, 3 Sep 2017 17:33:22 +0000 (19:33 +0200)]
Use member initialization list instead of the constructor's body (#6371)
* Use member initialization list instead of the constructor's body
Loic Blot [Sun, 3 Sep 2017 17:01:53 +0000 (19:01 +0200)]
Network part requires SharedBuffers to be pass as value
This can trigger unreproductible crashes due to concurrency problem on SharedBuffers
This fixes #6354
Vaughan Lapsley [Sat, 2 Sep 2017 16:01:13 +0000 (02:01 +1000)]
Remove 3D noise from getSteps function (#6360)
Rui [Fri, 1 Sep 2017 11:40:09 +0000 (20:40 +0900)]
Remove nodeupdate completely (#6358)
sapier [Fri, 1 Sep 2017 09:15:12 +0000 (11:15 +0200)]
Fix animation frame_speed and blend loosing precision due to incorrec… (#6357)
* Fix animation frame_speed and blend loosing precision due to incorrect data type
Add lua function set_animation_frame_speed to update the frame speed without resetting the animation to start
Rui [Wed, 30 Aug 2017 08:00:51 +0000 (17:00 +0900)]
Remove nodeupdate and nodeupdate_single
paramat [Mon, 28 Aug 2017 21:46:12 +0000 (22:46 +0100)]
Zoom: Move enabling zoom to a new player object property
Default enabled for no change in default behaviour.
Remove 'zoom' privilege.
Loïc Blot [Wed, 30 Aug 2017 06:09:41 +0000 (08:09 +0200)]
Remove DSTACK support (#6346)
Debugstacks is not useful, we don't really use it, the DebugStack is not pertinent, gdb and lldb are better if we really want to debug.
Ben Deutsch [Tue, 29 Aug 2017 19:48:43 +0000 (21:48 +0200)]
Documentation for 'slippery' node group (#6345)
Loïc Blot [Tue, 29 Aug 2017 18:37:54 +0000 (20:37 +0200)]
Network proto handlers/container fixes (#6334)
* Fix HP transport + some double <-> float problems
TOCLIENT_HP transport u16 hp as a u8, use u16 HP, this prevent HP over 255 to overflow across network
* Fix more double/float problem in serverpackethandler & remove implicit struct type for TileAnimationParams
* Fix connection unittests container
Loic Blot [Tue, 29 Aug 2017 18:21:14 +0000 (20:21 +0200)]
SmallJoker [Tue, 29 Aug 2017 17:26:55 +0000 (19:26 +0200)]
Bump minimal protocol version to 36 (#6319)
* Bump minimal protocol version to 36
Item/Node/TileDef, NodeBox, TileAnimation: Remove old compat code
* Accept future serialisation versions
Loïc Blot [Tue, 29 Aug 2017 17:25:16 +0000 (19:25 +0200)]
Formspec: Add options to set background color and opacity (fullscreen mode + default mode) (#5493)
* Formspec: Add options to set background color and opacity (fullscreen mode)
* Enhance previous comment: Set formspec background when regenerate UI.
* This permit to do the calcul only at regen and override it with bgcolor tag
* Add a setting for default background color into formspec, separated from fullscreen
* Add a little performance gain on formspecs using a const ref instead of copying formspec string
rubenwardy [Tue, 29 Aug 2017 05:57:56 +0000 (06:57 +0100)]
Fix mistake when calling on_priv_grant/revoke, and document them (#6341)
paramat [Sun, 27 Aug 2017 22:48:51 +0000 (23:48 +0100)]
Advanced settings: Make 'controls', 'graphics', 'sound' more accessible
Move client 'controls', 'graphics' and 'sound' into the first level to be
immediately visible to players who may not realise these come under 'client'.
These are the settings that new players or players on a server are likely to
want to access while not having understanding of what comes under 'client'.
Leave client 'network' and 'advanced' under 'client' as these are more
advanced.
Move 'show entity selection boxes' from the bizarre location in
'client'>'network' to 'graphics'>'in game'>'advanced'.
you [Mon, 28 Aug 2017 18:02:51 +0000 (20:02 +0200)]
mapblock_mesh.cpp: Fix code style and simplify a bit code (#4558)
* mapblock_mesh.cpp: Fix code style and simplify a bit code
Loïc Blot [Mon, 28 Aug 2017 18:02:23 +0000 (20:02 +0200)]
Clientevent refactor (#6320)
* Refactor clientevent structure
* Move structure outside of client header
* Create client events on heap not stack, this remove the ClientEvent object copy
* Use clientEventHandler to route events
Loïc Blot [Mon, 28 Aug 2017 15:12:30 +0000 (17:12 +0200)]
Pass SharedBuffer as value to increment reference count
This should fix #6332
Refcount is not increased due to reference, it can make this refcount incorrect in a multithread context
Dániel Juhász [Mon, 28 Aug 2017 05:51:55 +0000 (05:51 +0000)]
Use crack animation on all tile layers (#6104)
Nathanaël Courant [Sun, 27 Aug 2017 17:06:40 +0000 (19:06 +0200)]
Statbars: fix incorrect half-images in non-standard orientations (fixes #6198)
zeuner [Sun, 27 Aug 2017 16:39:47 +0000 (16:39 +0000)]
Lua API: Add function to deregister single biomes (#5445)
you [Sun, 27 Aug 2017 16:38:50 +0000 (18:38 +0200)]
core.get_objects_inside_radius: Omit removed objects (#6318)
Fixes #6294
Dharkael [Sun, 27 Aug 2017 13:12:52 +0000 (15:12 +0200)]
More readable default controls in README
Nathanaël Courant [Sat, 26 Aug 2017 07:43:08 +0000 (09:43 +0200)]
Add '@n' escape sequences and some documentation on translated strings.
Ben Deutsch [Sat, 26 Aug 2017 07:01:09 +0000 (09:01 +0200)]
Alternative code for slipping (#6256)
* Alternative code for slipping
- does not depend on frame rate
- controllable via environment variables for now
* Adjust slipping speed for item entities too.
* Final version of framerate-independent slippery code
* Remove dead code and fix formatting
* getStandingNodePos should only look 0.05 nodes downwards
This ensures that, even if the player is standing on a partially
filled node, this node is used as the standing node and not the
node below it.
Specific use: enables slippery slabs
* Exchange global getStandingPosNode change for local inline change
Reverts previous commit
* Revert the item movement changes
* Slippery nodes now slip over cliffs and edges
Players no longer suddenly stop before falling off.
Also refactored slippery code into getSlipFactor method.
* Slipping over an edge gated by player's is_slipping state
A new flag for just this case, to reduce costly node lookups in
the normal case of leaning over a non-slippery edge.
Public access for consistency and potential future uses.
* Minor code tweaks / cosmetics
* Add temp variable to improve readability and fix indentation issues
Paramat [Sat, 26 Aug 2017 06:45:09 +0000 (07:45 +0100)]
Android stepheight: Only increase if 'touching ground' (#6313)
Paramat [Sat, 26 Aug 2017 06:43:50 +0000 (07:43 +0100)]
Mgfractal: Use 'switch case' instead of 'if else' (#6314)
rubenwardy [Sat, 26 Aug 2017 06:17:05 +0000 (07:17 +0100)]
Add on_grant and on_revoke callbacks (#4713)
* Add register_on_priv_grant/revoke, and on_grant/revoke to privs. Call from /grant and /revoke
* Call on_grant and on_revoke callbacks from set_privs
rubenwardy [Sat, 26 Aug 2017 06:11:59 +0000 (07:11 +0100)]
Check item_drop amount clientside (#6242)
Loïc Blot [Fri, 25 Aug 2017 13:53:56 +0000 (15:53 +0200)]
Network cleanup (#6310)
* Move Connection threads to dedicated files + various cleanups
* ConnectionReceiveThread::processPacket now uses function pointer table to route MT packet types
* Various code style fixes
* Code style with clang-format
* Various SharedBuffer copy removal
* SharedBuffer cannot be copied anymore using Buffer
* Fix many SharedBuffer copy (thanks to delete operator)
Dániel Juhász [Fri, 25 Aug 2017 11:20:53 +0000 (11:20 +0000)]
Overlays for wield and inventory images (#6107)
* Overlays for wield and inventory images
Ekdohibs [Fri, 25 Aug 2017 11:06:59 +0000 (13:06 +0200)]
Translations: prevent remote crash with invalid translations
SmallJoker [Thu, 24 Aug 2017 21:06:36 +0000 (23:06 +0200)]
Builtin item: Tidy up (#4370)
New code structure
Use setting movement_gravity
Reset age on merge
Set merge radius to 1.0m
Ekdohibs [Thu, 24 Aug 2017 16:55:31 +0000 (18:55 +0200)]
Add translation of LANG_CODE in all languages
Ekdohibs [Thu, 24 Aug 2017 16:44:38 +0000 (18:44 +0200)]
Fix updatepo.sh and run it.
It was broken due to the presence of "µ" utf-8 characters in builtin/profiler/reporter.lua.
Ekdohibs [Tue, 31 Jan 2017 17:05:03 +0000 (18:05 +0100)]
Add clientside translations.
Loïc Blot [Thu, 24 Aug 2017 15:16:55 +0000 (17:16 +0200)]
Verify compiler version before building anything (#6293)
GCC 4.9 and Clang 3.4 are the minimum
adrido [Thu, 24 Aug 2017 15:13:53 +0000 (17:13 +0200)]
Dont define min/max macros in minwindef.h (#6308)
Pavel Puchkin [Thu, 24 Aug 2017 08:02:23 +0000 (10:02 +0200)]
Fix OSX builds caused by __WORDSIZE again (#6307)
stujones11 [Thu, 24 Aug 2017 08:01:16 +0000 (09:01 +0100)]
Make entity selection and collision boxes independently settable (#6218)
* Make entity selection and collision boxes independently settable
Dániel Juhász [Thu, 24 Aug 2017 06:31:33 +0000 (06:31 +0000)]
Fix Android node selection distance (#6187)
Ben Deutsch [Thu, 24 Aug 2017 06:30:46 +0000 (08:30 +0200)]
Safe digging and placing (#6127)
* Setting: Safe digging and placing
* New setting 'safe_dig_and_place' under Controls
* If set, digging and placing will not auto-repeat
* Releasing buttons unblocks the respective action again
* Useful for inexperienced users in creative mode where default
repeat times may be too short
* Safe placing (right click repetition) does not need a guarding flag
* Added new setting to minetest.conf.example
Loïc Blot [Thu, 24 Aug 2017 06:28:54 +0000 (08:28 +0200)]
Network cleanup (#6302)
* Cleanup network headers
* Move peerhandler to a specific header to reduce compilation times
* Move socket.cpp/h to network folder
* More work
* Network code cleanups
* Move socket.{cpp,h} to network folder
* Move Address object to network/address.{cpp,h}
* Move network exceptions to network/networkexceptions.h
* Client: use unique_ptr for Connection
* Server/ClientIface: use shared_ptr for Connection
* Format fixes
* Remove socket.cpp socket.h from clang-format whitelist
* Also fix NetworkPacket code style & make it under clang-format
Pavel Puchkin [Thu, 24 Aug 2017 05:58:12 +0000 (07:58 +0200)]
Fix OSX builds (closes #6289, fixes #6270) (#6306)
Of course, this is not ideal solution, but we want our users to be happy in the
first place, right?
SmallJoker [Wed, 23 Aug 2017 20:32:10 +0000 (22:32 +0200)]
Respect object property hp_max field for players (#6287)
* Respect object property hp_max field for players
This allows modders to configure the maximal HP per player
* Statbars: Downscale bar to full 20 HP when exceeding this value
Add default max HP for players and breath constants to builtin
Document the constants
* Rename PLAYER_MAX_HP -> PLAYER_MAX_HP_DEFAULT