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
stujones11 [Wed, 23 Aug 2017 12:18:44 +0000 (13:18 +0100)]
Do not add base position to player selection box (#6241)
Loïc Blot [Mon, 21 Aug 2017 14:07:39 +0000 (16:07 +0200)]
serialize: use a temporary for SerializeException
Exception must always use temporary instead of global copied exception instances, it's not recommended and should have undefined issues
paramat [Sun, 20 Aug 2017 22:07:07 +0000 (23:07 +0100)]
Mgv6: Remove incorrectly defined and unused 'volume nodes'
paramat [Fri, 18 Aug 2017 15:43:31 +0000 (16:43 +0100)]
Minimap: Add new HUD flag for minimap radar mode
Flag default is true to not change default behaviour.
The existing minimap HUD flag remains the master control for minimap.
Loic Blot [Sun, 20 Aug 2017 18:24:26 +0000 (20:24 +0200)]
Loic Blot [Sun, 20 Aug 2017 17:36:56 +0000 (19:36 +0200)]
Add missing ENABLE_SYSTEM_JSONCPP in docs
Jens Rottmann [Sun, 20 Aug 2017 17:37:55 +0000 (19:37 +0200)]
Change BS constant from implicit double to float (#6286)
the BS constant
implicitly promotes all position calculations it is used in to double even
though positions (= v3f) are only meant to be floats.
There are many, many similar occurrences everywhere, but I'm not willing to
hunt down all; I only fixed the little part I'm already familiar with.
Loïc Blot [Sun, 20 Aug 2017 17:37:29 +0000 (19:37 +0200)]
Modernize code: very last fixes (#6290)
Last modernization fixes
Juozas [Sun, 20 Aug 2017 15:27:26 +0000 (18:27 +0300)]
Travis-ci build: fix osx jpeg installation failure, git ambiguous argument error (caused by merging commits) and add a workaround for travis commit range bug (#6227)
* common.sh: fix travis-ci build bugs
install_macosx_deps: check if jpeg is installed, if not - upgrade it.
needs_compile: Check if $TRAVIS_COMMIT_RANGE is valid, if not, rewrite
the range with the correct one, and fix git ambiguous argument error.
* Changed detection method and removed commments
Loïc Blot [Sun, 20 Aug 2017 15:20:11 +0000 (17:20 +0200)]
New version scheme (#6292)
* Version changes: current dev version is now 0.5.0
* This change permit to have multi branches with various versions
* Dev version is 0.5.0-dev and next release will be 0.5.0
Loïc Blot [Sun, 20 Aug 2017 11:30:50 +0000 (13:30 +0200)]
Modernize source code: last part (#6285)
* Modernize source code: last par
* Use empty when needed
* Use emplace_back instead of push_back when needed
* For range-based loops
* Initializers fixes
* constructors, destructors default
* c++ C stl includes
Loïc Blot [Sat, 19 Aug 2017 20:24:30 +0000 (22:24 +0200)]
Fix shader.h inclusion place in game.cpp
Loïc Blot [Sat, 19 Aug 2017 20:23:47 +0000 (22:23 +0200)]
Code modernization: subfolders (#6283)
* Code modernization: subfolders
Modernize various code on subfolders client, network, script, threading, unittests, util
* empty function
* default constructor/destructor
* for range-based loops
* use emplace_back instead of push_back
* C++ STL header style
* Make connection.cpp readable in a pointed place + typo
Loïc Blot [Sat, 19 Aug 2017 12:25:35 +0000 (14:25 +0200)]
Code modernization: src/p*, src/q*, src/r*, src/s* (partial) (#6282)
* Code modernization: src/p*, src/q*, src/r*, src/s* (partial)
* empty function
* default constructor/destructor
* for range-based loops
* use emplace_back instead of push_back
* C++ STL header style
* Spelling: vertice -> vertex
Loïc Blot [Sat, 19 Aug 2017 09:30:46 +0000 (11:30 +0200)]
Code modernization: src/n*, src/o* (#6280)
* Code modernization: src/n*, src/o*
* empty function
* default constructor/destructor
* for range-based loops
* use emplace_back instead of push_back
* remove unused IWritableNodeDefManager::clone()
* C++ STL header style
* Pointer constness in some functions
SmallJoker [Sat, 19 Aug 2017 09:30:09 +0000 (11:30 +0200)]
GenericCAO: Fix light position for non-players, remove deprecated initialisation code (#6281)
Loïc Blot [Sat, 19 Aug 2017 09:29:46 +0000 (11:29 +0200)]
ServerMap saving: cleanups (#6274)
* remove sector meta loading/saving from files which targets dead code (differs_from_disk is always empty)
* this remove empty ServerMapSector and ClientMapSector, remove MapSector childs
Loïc Blot [Sat, 19 Aug 2017 07:30:43 +0000 (09:30 +0200)]
ItemCAO removal (#6279)
This object is from 0.3 era and was never used since 0.4.X and GenericCAO usage
Loic Blot [Sat, 19 Aug 2017 07:29:55 +0000 (09:29 +0200)]
Code modernization: src/m* (part 3)
* empty function
* default constructor/destructor
* for range-based loops
* use emplace_back instead of push_back
* remove some unused headers in some cpp variable
Loic Blot [Sat, 19 Aug 2017 07:12:54 +0000 (09:12 +0200)]
Code modernization: src/m* (part 2)
* empty function
* default constructor/destructor
* remove unused Map::emergeSector(a,b)
* for range-based loops
* migrate a dirs[7] table to direction tables
* remove various old unused function
Paramat [Sat, 19 Aug 2017 06:06:22 +0000 (07:06 +0100)]
Banmanager: Move 'creating' message from warningstream to infostream (#6277)
lisacvuk [Fri, 18 Aug 2017 17:39:44 +0000 (19:39 +0200)]
Make world creation menu automatically generate a random world name (#6257)
* Make world creation menu automatically generate a name.
* Name is now initialy empty, and generated if player tries to create a world without a name.
Loïc Blot [Fri, 18 Aug 2017 17:25:07 +0000 (19:25 +0200)]
Optimize headers (part 2) (#6272)
* Optimize headers (part 2)
* less debug.h in headers
* less remoteplayer.h for everybody
* Cleanup (part 2)
* camera.h: mesh.h
* mapgen.h: mapnode.h
* serverenvironment.h: mapblock.h
* nodedef.h: shader.h
Loïc Blot [Fri, 18 Aug 2017 16:18:25 +0000 (18:18 +0200)]
Modernize various files (src/m*) (#6267)
* Modernize various files (src/m*)
* range-based for loops
* code style
* C++ headers instead of C headers
* Default operators
* empty function
Thanks to clang-tidy
Loïc Blot [Fri, 18 Aug 2017 10:17:30 +0000 (12:17 +0200)]
server.cpp: unroll setting when sending mapblocks (#6265)
* server.cpp: unroll setting when sending mapblocks
* Improve a little bit performance when sending mapblocks massively
* Use a range based for
* Code style fixes
adrido [Fri, 18 Aug 2017 10:17:19 +0000 (12:17 +0200)]
Add missing ctime include (#6269)
rubenwardy [Fri, 18 Aug 2017 08:47:40 +0000 (09:47 +0100)]
Change README to Markdown format, add LICENSE.txt (#6244)