oweals/minetest.git
8 years agoMove RemotePlayer code to its own cpp/header
Loic Blot [Sat, 8 Oct 2016 17:08:23 +0000 (19:08 +0200)]
Move RemotePlayer code to its own cpp/header

8 years agoRemotePlayer/LocalPlayer Player base class proper separation (code cleanup) (patch...
Loic Blot [Sat, 8 Oct 2016 15:56:38 +0000 (17:56 +0200)]
RemotePlayer/LocalPlayer Player base class proper separation (code cleanup) (patch 3 of X)

* remove IGameDef from Player class, only LocalPlayer has it now
* move many attributes/functions only used by LocalPlayer from Player to LocalPlayer
* move many attributes/functions only used by RemotePlayer from Player to RemotePlayer
* make some functions const
* hudGetHotbarSelectedImage now returns const ref
* RemotePlayer getHotbarSelectedImage now returns const ref
* various code style fixes

8 years agoOptimize ClientIface::getPlayerNames(): return const ref instead a copy of all names
Loic Blot [Sat, 8 Oct 2016 14:42:09 +0000 (16:42 +0200)]
Optimize ClientIface::getPlayerNames(): return const ref instead a copy of all names

8 years agoMore code cleanup (UNORDERED + RemotePlayer/LocalPlayer)
Loic Blot [Sat, 8 Oct 2016 14:31:22 +0000 (16:31 +0200)]
More code cleanup (UNORDERED + RemotePlayer/LocalPlayer)

* ClientEnvironment now uses UNORDERED MAP for active objects
* Use RemotePlayer and LocalPlayer everywhere it's possible
* Minor code style fixes
* Drop Client::getBreath() unused function

8 years agoFix backwards compatibility issue introduced by close_on_enter
rubenwardy [Sun, 2 Oct 2016 23:30:33 +0000 (00:30 +0100)]
Fix backwards compatibility issue introduced by close_on_enter

8 years agoEnsure std::unordered_ be used on MSVC 2010 too (#4600) 4551/head
SmallJoker [Sat, 8 Oct 2016 14:25:34 +0000 (16:25 +0200)]
Ensure std::unordered_ be used on MSVC 2010 too (#4600)

8 years agoPlayer/LocalPlayer/RemotePlayer inheritance cleanup (part 2 on X)
Loic Blot [Sat, 8 Oct 2016 10:21:41 +0000 (12:21 +0200)]
Player/LocalPlayer/RemotePlayer inheritance cleanup (part 2 on X)

* Server/Client Environments now have an helper to cast Player object in the right type to use it
* Server: use RemotePlayer everywhere and remove previous added casts
* Client: use LocalPlayer where needed
* Environment: remove unused functions (getPlayers(), getRandomConnectedPlayer(), getNearestConnectedPlayer())

8 years agoSpeed up emerge thread by using unordered map in a few places. Looking at 25% speedup...
gregorycu [Sat, 8 Oct 2016 13:08:35 +0000 (00:08 +1100)]
Speed up emerge thread by using unordered map in a few places. Looking at 25% speedup in Emerge thread on Just Test.

8 years agoEnsure std::unordered_ will be used on supported MSVC compilers
gregorycu [Sat, 8 Oct 2016 12:58:47 +0000 (23:58 +1100)]
Ensure std::unordered_ will be used on supported MSVC compilers

8 years agoPrevent attached models from disappearing during parent reload (#4128)
Foghrye4 [Sat, 8 Oct 2016 12:51:25 +0000 (16:51 +0400)]
Prevent attached models from disappearing during parent reload (#4128)

8 years agoVoxelArea: faster iter function (#4490)
HybridDog [Sat, 8 Oct 2016 12:42:17 +0000 (14:42 +0200)]
VoxelArea: faster iter function (#4490)

8 years agoRemove some unused attributes/class functions in server.cpp/h
Loic Blot [Sat, 8 Oct 2016 09:25:46 +0000 (11:25 +0200)]
Remove some unused attributes/class functions in server.cpp/h

8 years agoPlayer/LocalPlayer/RemotePlayer inheritance cleanup (part 1 on X)
Loic Blot [Sat, 8 Oct 2016 08:38:04 +0000 (10:38 +0200)]
Player/LocalPlayer/RemotePlayer inheritance cleanup (part 1 on X)

* LocalPlayer take ownership of maxHudId as it's the only caller
* RemotePlayer take ownership of day night ratio as it's the only user
* Pass getPlayerControl as const reference to prevent object copy on each call (perf improvement in ObjectRef::l_get_player_control call)
* getPlayerSAO is now only RemotePlayer call
* get/setHotbarItemCount is now RemotePlayer owned
* Server: Use RemotePlayer instead of Player object on concerned call to properly fix the object type
* PlayerSAO now uses RemotePlayer instead of Player because it's only server side
* ObjectRef::getplayer also returns RemotePlayer as it's linked with PlayerSAO

8 years agoLua_api.txt: Add biome and nodeupdate documentation
paramat [Thu, 6 Oct 2016 22:03:55 +0000 (23:03 +0100)]
Lua_api.txt: Add biome and nodeupdate documentation

Add missing documentation for 'register_biome' and
'clear_registered_biomes'.
Add documentation for 'nodeupdate_single'. 'nodeupdate'
is not yet documented due to a bug it causes.

8 years agoTextures: Ignore unknown node in override.txt
SmallJoker [Sun, 17 Jul 2016 20:26:23 +0000 (22:26 +0200)]
Textures: Ignore unknown node in override.txt

8 years agoFix C++11 Windows build of threading code
sfan5 [Thu, 6 Oct 2016 19:13:04 +0000 (21:13 +0200)]
Fix C++11 Windows build of threading code

The initial problem was that mutex_auto_lock.h tries to use std::unique_lock<std::mutex>
despite mutex.h not using C++11's std::mutex on Windows. The problem here is the mismatch
between C++11 usage conditions of the two headers. This commit moves the decision logic
to threads.h and makes sure mutex.h, mutex_auto_lock.h and event.h all use the same features.

8 years agouse unordered containers where possible (patch 4 on X)
Loic Blot [Thu, 6 Oct 2016 17:20:12 +0000 (19:20 +0200)]
use unordered containers where possible (patch 4 on X)

Also remove some unused parameters/functions

8 years agoFix narrow string compiling issue on MSVC2010
SmallJoker [Thu, 6 Oct 2016 11:49:40 +0000 (13:49 +0200)]
Fix narrow string compiling issue on MSVC2010

8 years agoUse more unordered_maps to improve performance in c++11 builds
Loic Blot [Thu, 6 Oct 2016 06:48:20 +0000 (08:48 +0200)]
Use more unordered_maps to improve performance in c++11 builds

8 years agoUse relative position for nametags
SmallJoker [Thu, 6 Oct 2016 08:12:14 +0000 (10:12 +0200)]
Use relative position for nametags

8 years agoFix macosx build by disabling postgresql upgrade
Loic Blot [Thu, 6 Oct 2016 05:48:49 +0000 (07:48 +0200)]
Fix macosx build by disabling postgresql upgrade

8 years agoFix crash regression when chatting in the ncurses console
est31 [Thu, 6 Oct 2016 01:32:52 +0000 (03:32 +0200)]
Fix crash regression when chatting in the ncurses console

Fixes #4579, a regression introduced by commit

d4c76258e37337ea585cf24d8e05b50a30fa307d "Chat: new settings to prevent spam"

8 years agoTravis: build matrix improvements + CPP11 build
Loic Blot [Wed, 5 Oct 2016 20:17:22 +0000 (22:17 +0200)]
Travis: build matrix improvements + CPP11 build

8 years agoCompilation fix
Loic Blot [Wed, 5 Oct 2016 18:58:05 +0000 (20:58 +0200)]
Compilation fix

8 years agoReplace various std::map with UNORDERED_MAP + various cleanups
Loic Blot [Wed, 5 Oct 2016 07:03:55 +0000 (09:03 +0200)]
Replace various std::map with UNORDERED_MAP + various cleanups

This is part 2 for 5f084cd98d7b3326b51320455364337539710efd

Other improvements:

* Use the defined ItemGroupList when used
* make Client::checkPrivilege const
* inline some trivial functions
* Add ActiveObjectMap typedef
* Add SettingsEntries typedef

8 years agoMake some maps unordered to improve performance
Loic Blot [Tue, 4 Oct 2016 22:13:10 +0000 (00:13 +0200)]
Make some maps unordered to improve performance
* This permit to improve performance on C++11 builds
* use some existing typedefs in tools maps
* minor code style changes

8 years agoChat: new settings to prevent spam 4571/head
Loic Blot [Tue, 4 Oct 2016 16:17:12 +0000 (18:17 +0200)]
Chat: new settings to prevent spam

Added the following chat coreside features
* Chat messages length limit
* Message rate limiting
* Message rate kicking

Note:
* handleChat now takes RemotePlayer pointer instead of u16 to remove useless
  lookups

8 years agoMapblock_mesh_generate_special: Improve performance
paramat [Sun, 2 Oct 2016 23:56:17 +0000 (00:56 +0100)]
Mapblock_mesh_generate_special: Improve performance

Remove uses of std::map.
Make sure we use ContentFeatures reference not value.
Original commit by gregorycu.

8 years agoTextures: New 'smoke puff' texture from TNT mod
paramat [Sun, 25 Sep 2016 21:03:35 +0000 (22:03 +0100)]
Textures: New 'smoke puff' texture from TNT mod

8 years agoFix build/warning on non X11 platforms
est31 [Mon, 3 Oct 2016 13:55:15 +0000 (15:55 +0200)]
Fix build/warning on non X11 platforms

8 years agoBuiltin/falling: Add fallback vector in case of nil 'wallmounted to dir'
paramat [Sun, 2 Oct 2016 21:04:47 +0000 (22:04 +0100)]
Builtin/falling: Add fallback vector in case of nil 'wallmounted to dir'

The fallback vector is in case 'wallmounted to dir' is nil due
to voxelmanip placing a wallmounted node without resetting a
pre-existing param2 value that is out-of-range for wallmounted.
The fallback vector corresponds to param2 = 0.

8 years agoForceloading: Transient forceloads
raymoo [Sat, 3 Sep 2016 04:37:51 +0000 (21:37 -0700)]
Forceloading: Transient forceloads

Adds a flag to forceload_block which lets you turn off persistence for
that forceload.

8 years agoFormspec: Add container[] and container_end[] elements
rubenwardy [Thu, 7 Jul 2016 20:10:15 +0000 (21:10 +0100)]
Formspec: Add container[] and container_end[] elements

8 years agoAllow nothing to be selected from formspec parameters
sfan5 [Sun, 2 Oct 2016 13:44:53 +0000 (15:44 +0200)]
Allow nothing to be selected from formspec parameters

8 years agoFix typo in core.after (#4560)
Rui [Sat, 1 Oct 2016 14:16:50 +0000 (23:16 +0900)]
Fix typo in core.after (#4560)

8 years agoUpdate default controls in README.txt
Wuzzy [Wed, 28 Sep 2016 01:00:37 +0000 (03:00 +0200)]
Update default controls in README.txt

8 years agoMgv7: Avoid mid-air spawn on disabled mountain terrain, optimise function
paramat [Mon, 26 Sep 2016 22:21:33 +0000 (23:21 +0100)]
Mgv7: Avoid mid-air spawn on disabled mountain terrain, optimise function

'getSpawnLevelAtPoint()' did not account for disabled mountains, it
was possible to be spawned in mid-air where a mountain surface would
have been.

Avoid check for river area if rivers are disabled.

8 years agoFix android build
est31 [Fri, 30 Sep 2016 12:30:37 +0000 (14:30 +0200)]
Fix android build

Fixes #4493.

8 years agoOnly include keycode unittests in client build (fixes #4559)
sfan5 [Thu, 29 Sep 2016 14:20:05 +0000 (16:20 +0200)]
Only include keycode unittests in client build (fixes #4559)

8 years agoAdd keycode.cpp unittests
sfan5 [Thu, 22 Sep 2016 13:23:54 +0000 (15:23 +0200)]
Add keycode.cpp unittests

8 years agoRewrite keycode.cpp (Keycode handling & names)
sfan5 [Wed, 21 Sep 2016 21:40:19 +0000 (23:40 +0200)]
Rewrite keycode.cpp (Keycode handling & names)

8 years agoConf.example: Re-add deleted noise parameter documentation
paramat [Fri, 23 Sep 2016 16:01:49 +0000 (17:01 +0100)]
Conf.example: Re-add deleted noise parameter documentation

Re-add documentation of noise parameter formats.
Re-add 'mgv5_np_ground' noise parameters in group format.
Both these were deleted through auto-generation of conf.example.
Add note to builtin/mainmenu/dlg_settings_advanced.lua that this
documentation must be preserved.

8 years agoUpdate library versions in buildbot
sfan5 [Tue, 20 Sep 2016 19:50:42 +0000 (21:50 +0200)]
Update library versions in buildbot

The libraries updated in this commit were built with a set of scripts:
https://gist.github.com/sfan5/780c24313c164d34634e18677683b9a3
Building new library versions or just using a different MinGW version
is now way easier. This means Windows builds no longer need to use
ancient library versions just because nobody knows how to build them.

8 years agoDon't use ZLIB_WINAPI if the required DLL is not provided to CMake
sfan5 [Tue, 20 Sep 2016 19:40:05 +0000 (21:40 +0200)]
Don't use ZLIB_WINAPI if the required DLL is not provided to CMake

This allows you to use an stdcall zlib (zlib1.dll instead of zlibwapi.dll)
when building Minetest for win32.

8 years agoDo not serialize empty NodeMetadata
sfan5 [Mon, 19 Sep 2016 18:06:39 +0000 (20:06 +0200)]
Do not serialize empty NodeMetadata

This commit fixes #4516, though note that this will gradually fix MapBlocks
as they are used/modified and thus re-serialized.

8 years agoBuiltin: Change error to warning for light_source > 14
paramat [Wed, 21 Sep 2016 03:25:10 +0000 (04:25 +0100)]
Builtin: Change error to warning for light_source > 14

8 years agoIncrease default font size by 1
James Stevenson [Thu, 15 Sep 2016 15:53:17 +0000 (11:53 -0400)]
Increase default font size by 1

8 years agoFix a typo and use proper deprecation notification system
est31 [Mon, 19 Sep 2016 10:11:31 +0000 (12:11 +0200)]
Fix a typo and use proper deprecation notification system

Fix a typo pointed out by @thecow275.

Also, use the deprecated notification system which respects the
deprecated_lua_api_handling setting.

8 years agoRegister.lua: Throw error if node 'light_source' > core.LIGHT_MAX
paramat [Thu, 15 Sep 2016 21:40:19 +0000 (22:40 +0100)]
Register.lua: Throw error if node 'light_source' > core.LIGHT_MAX

Add 'core.LIGHT_MAX = 14' to builtin/game/constants.lua with the intention
to replace misplaced 'default.LIGHT_MAX = 14' in Minetest Game.
Add comment in light.h requiring the constant be changed in both places.
Add lighting bug warning to note in lua_api.txt.
There are hundreds of mod uses of 15 which causes a lighting bug.

8 years agoLua_api.txt: Add note of maximum value for node 'light_source'
paramat [Sun, 11 Sep 2016 21:48:04 +0000 (22:48 +0100)]
Lua_api.txt: Add note of maximum value for node 'light_source'

Maximum is 14.
A value of 15 (reserved for direct sunlight) causes a lighting bug.

8 years agoAdd an [invert:<mode> texture modifier
Thomas--S [Fri, 12 Aug 2016 15:56:31 +0000 (17:56 +0200)]
Add an [invert:<mode> texture modifier

Inverts the given channels of the base image.
Mode may contain the characters "r", "g", "b", "a".
Only the channels that are mentioned in the mode string will be inverted.

8 years agoCollision: Improve performance by combining 6 vectors into 1 using a struct
ShadowNinja [Sat, 9 Jan 2016 22:07:46 +0000 (17:07 -0500)]
Collision: Improve performance by combining 6 vectors into 1 using a struct

8 years agoDecorations: Generalise 'spawn by' to be used by all decoration types
paramat [Sun, 11 Sep 2016 22:34:43 +0000 (23:34 +0100)]
Decorations: Generalise 'spawn by' to be used by all decoration types

In lua_api.txt, make clear that 'place on' and 'spawn by' can be lists.

8 years agoAllow escaping of texture names when passed as an argument to a modifier
sfan5 [Sat, 3 Sep 2016 15:53:15 +0000 (17:53 +0200)]
Allow escaping of texture names when passed as an argument to a modifier

8 years agoFix "unknown CMake command "check_library_exists" (#4517)
Eric Mountain [Wed, 14 Sep 2016 03:05:21 +0000 (05:05 +0200)]
Fix "unknown CMake command "check_library_exists" (#4517)

Adds CMakeLists.txt include to fix this issue:

$ cmake . -DBUILD_SERVER=TRUE -DBUILD_CLIENT=FALSE \
   -DCMAKE_BUILD_TYPE=Release -DENABLE_CURL=TRUE -DENABLE_CURSES=FALSE \
   -DENABLE_FREETYPE=TRUE -DENABLE_GETTEXT=FALSE \
   -DENABLE_POSTGRESQL=FALSE -DENABLE_SOUND=FALSE -DENABLE_LUAJIT=TRUE \
   -DIRRLICHT_SOURCE_DIR=$HOME/irrlicht-1.8.4 -LH
...
CMake Error at src/CMakeLists.txt:339 (check_library_exists):
  Unknown CMake command "check_library_exists".
...

8 years agoPlantlike meshoptions: fix degrotate. (#4512)
Auke Kok [Mon, 12 Sep 2016 23:04:13 +0000 (16:04 -0700)]
Plantlike meshoptions: fix degrotate. (#4512)

This snuck in with the meshoptions patch and accidentally kills
degrotate plants. Thanks to @hybriddog for finding this.

8 years agofix missing parameters in some mentions of entity callbacks
raymoo [Thu, 8 Sep 2016 18:42:08 +0000 (11:42 -0700)]
fix missing parameters in some mentions of entity callbacks

8 years agoReturn nil on empty get_area() (#4508)
James Stevenson [Fri, 9 Sep 2016 15:47:13 +0000 (11:47 -0400)]
Return nil on empty get_area() (#4508)

8 years agoAnticheat: Use the physics_override modifiers aswell
SmallJoker [Fri, 9 Sep 2016 05:03:36 +0000 (07:03 +0200)]
Anticheat: Use the physics_override modifiers aswell

8 years agoMake getStackMax return the correct maximal stack size
SmallJoker [Tue, 6 Sep 2016 17:13:52 +0000 (19:13 +0200)]
Make getStackMax return the correct maximal stack size

8 years agoAdd minetest.unregister_item and minetest.register_alias_force
paly2 [Sun, 10 Jul 2016 13:15:43 +0000 (15:15 +0200)]
Add minetest.unregister_item and minetest.register_alias_force

8 years agoRun updatepo.sh
est31 [Tue, 30 Aug 2016 04:18:37 +0000 (06:18 +0200)]
Run updatepo.sh

8 years agoTranslated using Weblate (Danish)
Rui [Tue, 30 Aug 2016 04:09:03 +0000 (04:09 +0000)]
Translated using Weblate (Danish)

Currently translated at 30.2% (271 of 895 strings)

Don't end with '\n'.

8 years agoTranslated using Weblate (Japanese)
Rui [Sun, 17 Jul 2016 15:50:36 +0000 (15:50 +0000)]
Translated using Weblate (Japanese)

Currently translated at 50.0% (448 of 895 strings)

This is a merger of two commits.

8 years agoTranslated using Weblate (Danish)
Thomas Wagner Nielsen [Fri, 12 Aug 2016 18:51:18 +0000 (18:51 +0000)]
Translated using Weblate (Danish)

Currently translated at 27.3% (245 of 895 strings)

8 years agoTranslated using Weblate (German)
bse666 [Tue, 9 Aug 2016 07:40:53 +0000 (07:40 +0000)]
Translated using Weblate (German)

Currently translated at 98.5% (882 of 895 strings)

8 years agoTranslated using Weblate (Polish)
Mateusz Mendel [Fri, 29 Jul 2016 19:02:36 +0000 (19:02 +0000)]
Translated using Weblate (Polish)

Currently translated at 42.4% (380 of 895 strings)

8 years agoTranslated using Weblate (Polish)
Jakub Mendel [Fri, 29 Jul 2016 18:03:41 +0000 (18:03 +0000)]
Translated using Weblate (Polish)

Currently translated at 42.4% (380 of 895 strings)

8 years agoTranslated using Weblate (Portuguese (Brazil))
Bruno Borges [Thu, 21 Jul 2016 17:30:08 +0000 (17:30 +0000)]
Translated using Weblate (Portuguese (Brazil))

Currently translated at 87.8% (786 of 895 strings)

Enhancements

8 years agoTranslated using Weblate (Portuguese)
Bruno Borges [Thu, 21 Jul 2016 00:15:09 +0000 (00:15 +0000)]
Translated using Weblate (Portuguese)

Currently translated at 64.9% (581 of 895 strings)

8 years agoTranslated using Weblate (Serbian (cyrillic))
lisacvuk [Wed, 13 Jul 2016 09:50:11 +0000 (09:50 +0000)]
Translated using Weblate (Serbian (cyrillic))

Currently translated at 33.2% (298 of 895 strings)

8 years agoTranslated using Weblate (French)
Jean-Baptiste [Wed, 13 Jul 2016 16:41:45 +0000 (16:41 +0000)]
Translated using Weblate (French)

Currently translated at 99.5% (891 of 895 strings)

8 years agoTranslated using Weblate (French)
Onyx Steinheim [Wed, 13 Jul 2016 16:31:38 +0000 (16:31 +0000)]
Translated using Weblate (French)

Currently translated at 99.4% (890 of 895 strings)

This is a merger of two commits.

8 years agoTranslated using Weblate (Chinese (Taiwan))
Jeff Huang [Wed, 13 Jul 2016 08:23:52 +0000 (08:23 +0000)]
Translated using Weblate (Chinese (Taiwan))

Currently translated at 100.0% (895 of 895 strings)

8 years agoDocument keymap_autorun in settingtypes.txt and minetest.conf.example (#4486)
Rui [Tue, 30 Aug 2016 03:40:48 +0000 (12:40 +0900)]
Document keymap_autorun in settingtypes.txt and minetest.conf.example (#4486)

8 years agoUpdate minetest.conf.example and settings_translation_file.cpp
est31 [Tue, 30 Aug 2016 02:40:54 +0000 (04:40 +0200)]
Update minetest.conf.example and settings_translation_file.cpp

8 years agoFix background formspec elements from interfering with each other
rubenwardy [Sun, 7 Aug 2016 13:32:31 +0000 (14:32 +0100)]
Fix background formspec elements from interfering with each other

Fixes #4397

8 years agoSettingtypes.txt: Clarify comments, correct spelling
red-001 [Sun, 28 Aug 2016 14:02:33 +0000 (15:02 +0100)]
Settingtypes.txt: Clarify comments, correct spelling

8 years agoBuiltin: Disallow registering users with the same name
SmallJoker [Thu, 28 Jul 2016 12:32:32 +0000 (14:32 +0200)]
Builtin: Disallow registering users with the same name

Prevents duplicate names: 'NickName', 'nickname', 'NICKNAME'.
Skips already registered users, so they can connect as usual.

8 years agoAllow fields to choose whether they close on enter press
rubenwardy [Sun, 7 Aug 2016 15:22:50 +0000 (16:22 +0100)]
Allow fields to choose whether they close on enter press

8 years agoSubmit name of field on enter key press
rubenwardy [Sun, 7 Aug 2016 15:01:00 +0000 (16:01 +0100)]
Submit name of field on enter key press

8 years agoCamera: Higher frequency limit for view/hand bobbing and footsteps
paramat [Sat, 20 Aug 2016 01:05:34 +0000 (02:05 +0100)]
Camera: Higher frequency limit for view/hand bobbing and footsteps

Rebased and tuned version of Calinou's original pull request.

'm_view_bobbing_speed' controls the frequency of view bobbing,
hand bobbing and footsteps, it was limited to a maximum of 40 (walking
frequency) so did not increase if player speed was modified by a
'speed buff', a sprinting mod or modified in .conf or advanced
settngs.

This commit raises the limit to 70 which is suitable for sprinting.

8 years agoMake plantlike drawtype more fun
Auke Kok [Fri, 11 Dec 2015 06:58:11 +0000 (22:58 -0800)]
Make plantlike drawtype more fun

Adds several new ways that the plantlike drawtype mesh can be changed.

This requires paramtype2 = "meshoptions" to be set in the node
definition. The drawtype for these nodes should be "plantlike".

These modifications are all done using param2. This field is now
a complex bitfield that allows some or more of the combinations to
be chosen, and the mesh draw code will choose the options based as
neeeded for each plantlike node.

bit layout:
bits 0, 1 and 2 (values 0x1 through 0x7) are for choosing the plant
mesh shape:
  0 - ordinary plantlike plant ("x" shaped)
  1 - ordinary plant, but rotated 45 degrees ("+" shaped)
  2 - a plant with 3 faces ("*" shaped)
  3 - a plant with 4 faces ("#" shaped)
  4 - a plant with 4 faces ("#" shaped, leaning outwards)
  5 through 7 are unused and reserved for future mesh shapes.

bit 3 (0x8) causes the plant to be randomly offset in the x,z
plane. The plant should fall within the 1x1x1 nodebox if regularly
sized.

bit 4 (0x10) causes the plant mesh to grow by sqrt(2), and will cause
the plant mesh to fill out 1x1x1, and appear slightly larger. Texture
makers will want to make their plant texture 23x16 pixels to have the
best visual fit in 1x1x1 size.

bit 5 (0x20) causes each face of the plant to have a slight negative
Y offset in position, descending up to 0.125 downwards into the node
below. Because this is per face, this causes the plant model to be
less symmetric.

bit 6 (0x40) through bit 7 (0x80) are unused and reserved for
future use.

!(https://youtu.be/qWuI664krsI)

8 years agoClient: disable pre v25 init sending by default 4461/head
est31 [Mon, 22 Aug 2016 02:27:44 +0000 (04:27 +0200)]
Client: disable pre v25 init sending by default

Disable the ability to connect to old servers by default to
improve password security.

If people still want to connect to old (0.4.12 and earlier)
servers, they can flip the send_pre_v25_init setting.

Add the ability to detect if we've tried to connect
to a server which only supports the pre v25 init protocol,
and show an apropriate error message. Most times the error
will already be catched at the serverlist level, the
detection mechanism only acts as last resort, because the
"Connection timed out" error message that would be shown
otherwise would be very confusing.

Automatic "fixing" of this condition is not desired,
as it would allow for downgrade attacks.

As already 161 of the 167 servers on the serverlist
support the new srp based auth protocol (> 96%),
the breakage should be minimal.

Follow up of commit

af30183124d40a969040d7de4b3a487feec466e4 "Add option to not send pre v25 init packet"

Also change the pessimistic assumption of masterlist
server versions to optimistic, in order to avoid buggy
behaviour (favourites not in the serverlist would be
denied to connect to, etc).

8 years agoMove on join and on leave messages to lua (#4460)
Xunto [Mon, 22 Aug 2016 18:21:48 +0000 (22:21 +0400)]
Move on join and on leave messages to lua (#4460)

8 years agogettext.h: include <locale> before defining the gettext macro (#4452)
kahrl [Sun, 21 Aug 2016 00:40:23 +0000 (02:40 +0200)]
gettext.h: include <locale> before defining the gettext macro (#4452)

Fixes #4446: a syntax error that happens if something else (such as
<iomanip> or <locale> in certain libstdc++ versions) includes
<libintl.h> later, which contains a function declaration for gettext
that gets mangled by the macro.

See the added comment in gettext.h and the discussion in #4446/#4452
for details.

8 years agoAlso support X11 icon for minetest copies installed via make install (#4407)
est31 [Sat, 20 Aug 2016 19:26:44 +0000 (21:26 +0200)]
Also support X11 icon for minetest copies installed via make install (#4407)

Fixes #4323.

8 years agoTidy up generate_from_settingtypes.lua a bit.
Tim [Wed, 27 Jul 2016 16:46:02 +0000 (18:46 +0200)]
Tidy up generate_from_settingtypes.lua a bit.

* Multiline strings
* Table-concat instead of String-concats
* string.rep instead of loop-concat
* string.format %q instead of manual quotation by gsub
* Assert writeable files
* Generate new settings_translation_file

8 years agoMove generation from settingtypes out of dlg_settings_advanced
Tim [Wed, 27 Jul 2016 16:41:16 +0000 (18:41 +0200)]
Move generation from settingtypes out of dlg_settings_advanced

Avoids unreachable code linter warning by moving generation code
(of minetest.conf.example and settings_translation_file.cpp)
out of dlg_settings_advanced.

Due to passing the settings, also it avoids reading the settings file twice.

Instead of activating the code by changing the active if-clauses,
its activation is now done by uncommenting the loadfile() statement.

8 years agoFix for failure to find jsoncpp in android build (#4456)
Rogier-5 [Fri, 19 Aug 2016 18:23:30 +0000 (20:23 +0200)]
Fix for failure to find jsoncpp in android build (#4456)

Commit 4503b5 did not update the android build script.

8 years agoMapblock mesh: Fix updateFastFaceRow tiling issue
obneq [Fri, 12 Aug 2016 17:11:56 +0000 (19:11 +0200)]
Mapblock mesh: Fix updateFastFaceRow tiling issue

Increase maximum length of tiled node rows from 2 to mapblock size.

8 years agoScript API: Make the craft recipe field 'method' consistent
SmallJoker [Sat, 30 Jul 2016 10:50:22 +0000 (12:50 +0200)]
Script API: Make the craft recipe field 'method' consistent

8 years agoLua_api.txt: Change 'maxwear' to 'uses' in 'tool_capabilities'
DonBatman [Sun, 14 Aug 2016 11:40:31 +0000 (04:40 -0700)]
Lua_api.txt: Change 'maxwear' to 'uses' in 'tool_capabilities'

'maxwear' has been deprecated for over 3 years
Add spaces around '=' nearby

8 years agoAdd an [opacity:<r> texture modifier. Makes the base image transparent according...
Thomas--S [Sat, 2 Jul 2016 15:58:08 +0000 (17:58 +0200)]
Add an [opacity:<r> texture modifier. Makes the base image transparent according to the given ratio. r must be between 0 and 255. 0 means totally transparent. 255 means totally opaque. Useful for texture overlaying.

8 years agoUpdate AppData file with more URLs and keywords
sfan5 [Fri, 12 Aug 2016 12:33:26 +0000 (14:33 +0200)]
Update AppData file with more URLs and keywords

8 years agoUse the standard to_string() functions for C++11 (#4279)
Rogier-5 [Thu, 11 Aug 2016 17:22:40 +0000 (19:22 +0200)]
Use the standard to_string() functions for C++11 (#4279)

If compiling according to a C++ version before C++11, then define
std::to_string ourselves.

Add a to_wstring version as well

As std::to_string() for floating point types uses %.6f as floating
point format converter, instead of %G, it needs special care.

To preserve ftos() behavior (which is expected to use the %G format
converter), it no longer uses to_string().

8 years agoAdd infotext containing entity type (e.g. mobs:cow) to unknown entities (#4431)
Rogier-5 [Wed, 10 Aug 2016 22:22:32 +0000 (00:22 +0200)]
Add infotext containing entity type (e.g. mobs:cow) to unknown entities (#4431)

If a mod is disabled, or upgraded without sufficient backward compatibility,
then entities it has put into the world become unknown, and continue moving
around, but are completely unrecognisable.

This change allows the player to see their type, and therefore which mod is
or was responsible.

8 years agocouple of memory leaks fixes.
David Carlier [Thu, 28 Jul 2016 07:56:22 +0000 (08:56 +0100)]
couple of memory leaks fixes.

8 years agoUpdate the version of irrlicht to 1.8.3, add steps for Sqlite3
DLaboratory [Wed, 13 Jul 2016 08:49:47 +0000 (16:49 +0800)]
Update the version of irrlicht to 1.8.3, add steps for Sqlite3

Also add note for 64-bit Windows users

8 years agoZooming the camera requires the 'zoom' privilege
Ben Deutsch [Tue, 2 Aug 2016 19:36:34 +0000 (21:36 +0200)]
Zooming the camera requires the 'zoom' privilege