Loic Blot [Thu, 8 Mar 2018 21:19:25 +0000 (22:19 +0100)]
Cleanup & bugfix
* ObjectRef::set_local_animation: fix wrong lua return (should push a boolean, currently returns nil)
* ObjectRef::set_eye_offset: fix wrong lua return (should push a boolean, currently returns nil)
* Fix various Server functions which depends on RemotePlayer objet and return true/false when player object is nil whereas it's a caller implementation error. Change those bool functions to void and add sanitize_check call instead. Current callers are always checking player object validity
* Optimize Server::setClouds : use CloudParams object ref instead of attribute deserialization from structure & perform RemotePlayer::setCloudParams directly in server class like many other calls
* Optimize Server::SendCloudParams: use CloudParams object ref instead of deserialized attributes
you [Sun, 4 Mar 2018 16:34:36 +0000 (17:34 +0100)]
Fix missing warningstream (or similar problem) (#7034)
Use the --color command line parameter instead of a setting for coloured logs
This fixes the missing warningstream bug, g_settings->get mustn't be used there.
Also, the decision about en- or disabling log colours fits better to the command line parameters than minetest settings.
Brian [Sun, 4 Mar 2018 16:34:09 +0000 (11:34 -0500)]
Allow for getting world name and path separately on the command line (#6555)
Change to --worldlist instead of --world list.
Gets rid of --worldpath parameter added as part of this pull request,
instead moving the listing function to a command --worldlist that
accepts either name, path, or both and prints out the corresponding
information.
paramat [Fri, 2 Mar 2018 21:27:59 +0000 (21:27 +0000)]
Gennotify: Add 'minetest.get_decoration_id' API
Returns the decoration ID for the provided decoration name string.
For use with gennotify, to know the decoration IDs for use in
'minetest.set_gen_notify'.
nOOb3167 [Mon, 19 Feb 2018 14:01:10 +0000 (15:01 +0100)]
CMakeLists use the source_group command to improve look and feel when generating Visual Studio projects.
The TREE argument of source_group appears in CMake 3.8 therefore check for version.
dopik [Mon, 19 Feb 2018 07:41:44 +0000 (08:41 +0100)]
/shutdown can't do countdown when using reconnect and/or shutdown message (#7055)
Delay was converted from the param string and not the delay value, thus never using the actual given delay value when used in combination with other string values in the param, in this case reconnect and the shutdown messsage.
red-001 [Sun, 18 Feb 2018 21:33:42 +0000 (21:33 +0000)]
Mitigate formspec exploits by verifying that the formspec was shown to the user by the server. (#6878)
This doesn't check the fields in anyway whatsoever so it should only be seen as a way to mitigate exploits, a last line of defense to make it harder to exploit bugs in mods, not as a reason to not do all the usually checks.
paramat [Mon, 12 Feb 2018 00:52:44 +0000 (00:52 +0000)]
Dungeons: Avoid generation in multiple liquid nodes and 'airlike'
Previously only 'mapgen water source' and 'mapgen river water source'
were checked for. Games can use multiple liquid nodes defined for biomes,
many of which will not be aliased to those 2 mapgen aliases, causing
floating dungeons to generate in some liquids.
Now we check for liquid drawtype instead, so can remove liquid nodes
from dungeonparams.
Also check for 'airlike' drawtype instead of 'CONTENT_AIR' to avoid
generation in 'airlike' nodes in some rare situations. This will also be
needed for when we add definable biome air nodes.
paramat [Tue, 6 Feb 2018 00:55:35 +0000 (00:55 +0000)]
Falling.lua: Delete falling node entities on contact with 'ignore'
Prevents falling node entities entering the ignore at a world edge and
resting on unloaded nodes 16 nodes below, unreachable, undiggable and
still being processed by 'on step' because they don't revert to nodes.
Dániel Juhász [Sat, 10 Feb 2018 20:04:16 +0000 (22:04 +0200)]
Node definition manager refactor (#7016)
* Rename IWritableNodeDefManager to NodeDefManager
* Make INodeDefManager functions const
* Use "const *NodeDefManager" instead of "*INodeDefManager"
* Remove unused INodeDefManager class
* Merge NodeDefManager and CNodeDefManager
* Document NodeDefManager
red-001 [Fri, 26 Jan 2018 15:05:47 +0000 (15:05 +0000)]
Fix issues with earlier CSM HUD commit (#6940)
The CSM HUD PR caused some strange behavior including aborts due to parts of it using some slightly hacky code, the event refactor changing how events are processed and a minor oversight.
The following languages exist in Minetest PO folder were missing from the selection menu:
- dv (Dhivehi)
- ms (Malay)
- sl (Slovenian)
- sv (Swedish)
- sw (Swahili)
Paramat [Tue, 23 Jan 2018 18:04:58 +0000 (18:04 +0000)]
Intersects_protection(): Move from Minetest Game to builtin (#6952)
A useful function that applies 'core.is_protected()' to a 3D lattice of
points evenly spaced throughout a defined volume, with a parameter for
the maximum spacing of points.
Loic Blot [Sat, 13 Jan 2018 09:54:18 +0000 (10:54 +0100)]
Game refactor [4/X]: keycache is now owned by InputHandler
* Make InputHandler own the key cache
* Add a helper function InputHandler::cancelPressed to avoid multiple similar calls in game.cpp
* Move RandomInputHandler::step definition into cpp file
Loic Blot [Sat, 6 Jan 2018 10:34:03 +0000 (11:34 +0100)]
Game/Input refactor [1/X]: make RealInputHandler handle joystick inputs with standard input
Joystick input is a RealInputHandler only usage, make it intelligent and handle the joystick with keyboard direct.
This permits to remove many getters in game which should be owned by RealInputHandler
Add confirmation on new player registration (#6849)
* Attempt to add registration confirmation
Using SRP auth mechanism, if server sent AUTH_MECHANISM_FIRST_SRP that means the player isn't exist.
Also tell player about the server and chosen username.
Local game has localhost as IP address of the server.
Add RenderingEngine::draw_menu_scene() to draw GUI and clouds background.
aborted -> connection_aborted