oweals/minetest.git
7 years agoWindow size: use 1024x600 to avoid a smaller UI
paramat [Mon, 17 Jul 2017 20:19:46 +0000 (21:19 +0100)]
Window size: use 1024x600 to avoid a smaller UI

The change from 800x600 to 1024x576 (16:9) was a reduction in height which caused
user interface to become smaller.
Continue to use width 1024 as it is a common small screen width.

7 years ago[CSM] Add flavour limits controlled by server (#5930)
Loïc Blot [Tue, 18 Jul 2017 19:39:55 +0000 (21:39 +0200)]
[CSM] Add flavour limits controlled by server (#5930)

* [CSM] Add flavour limits controlled by server

Server send flavour limits to client permitting to disable or limit some Lua calls

* Add limits for reading nodedefs and itemdefs

* flavour: Add lookup node limits

* Merge get_node_or_nil into get_node.

Sending fake node doesn't make sense in CSM, just return nil if node is not available for any reason

* Add node range customization when noderange flavour is enabled (default 8 nodes)

* Limit nodes range & disable chat message sending by default

* Bump protocol version

7 years agoCopy lua51.dll (luajit) to bindir (#6148)
adrido [Tue, 18 Jul 2017 19:29:23 +0000 (21:29 +0200)]
Copy lua51.dll (luajit) to bindir (#6148)

7 years agoLBM content mapping map doesn't need to be ordered, use std::unordered_map
Loic Blot [Tue, 18 Jul 2017 06:23:37 +0000 (08:23 +0200)]
LBM content mapping map doesn't need to be ordered, use std::unordered_map

Also rename helper to lbm_map instead of container_map

7 years agoVery little performance fix on correctBlockNodeIds
Loic Blot [Tue, 18 Jul 2017 06:18:13 +0000 (08:18 +0200)]
Very little performance fix on correctBlockNodeIds

+ C++11 codestyle

7 years agoMgfractal: Improve spawning behaviour
paramat [Mon, 17 Jul 2017 16:27:35 +0000 (17:27 +0100)]
Mgfractal: Improve spawning behaviour

Spawn player 1 node higher to avoid spawning waist-deep in a possible
biome 'dust' node, such as tundra snowblock.
Tune default offset to spawn players in a more interesting location on the
mandelbrot sets, on a raised area that looks like a spawn platform.
Tune julia parameters to help avoid spawn search failing, especially for
fractal 6.

7 years agoMesh generation: Fix performance regression caused by 'plantlike_rooted' PR
number Zero [Sun, 16 Jul 2017 20:43:01 +0000 (23:43 +0300)]
Mesh generation: Fix performance regression caused by 'plantlike_rooted' PR

Regression caused by ef285b2815962a7a01791059ed984cb12fdba4dd

7 years agoChat: Move chat text down to not overlap 3rd line of debug text (#6145)
Paramat [Mon, 17 Jul 2017 11:53:14 +0000 (12:53 +0100)]
Chat: Move chat text down to not overlap 3rd line of debug text (#6145)

7 years agoAdd information about the button height
cx384 [Sun, 16 Jul 2017 11:09:27 +0000 (13:09 +0200)]
Add information about the button height

7 years agoF5 debug display: Reformat and remove some information (#6125)
Paramat [Sun, 16 Jul 2017 10:33:09 +0000 (11:33 +0100)]
F5 debug display: Reformat and remove some information (#6125)

For consistency return to 'FPS =', add comma before FPS.
Remove 'R' from 'range_all' as may be re-keymapped.
Remove inconsistent brackets from 'range_all'.
Change 'v_range' to 'view_range'.
Add 'pos = ' before co-ordinates.
Add spaces around '=' in yaw display.
Remove brackets from around 'yaw' and 'seed'.
Move 'pointing_at' to 3rd line.
Remove 'param1' (0 for all solid nodes and unreadable for light sources due to
light bank encoding).
Remove file name of pointed node top tile (this also removes the need to get
ContentFeatures for the node, slightly improving performance).
Replace quotes around node data with brackets, looks better and more consistent.

Add 'guitext3' for third line.
Use 'setVisible' for all 3 lines to control the setting of each text rectangle.
Improve logic of 3rd line to only run code it needs to depending on whether
pointing data is avaialble and whether node is not 'ignore' and not 'unknown'.

7 years agoChat protocol rewrite (#5117)
Loïc Blot [Sun, 16 Jul 2017 08:47:31 +0000 (10:47 +0200)]
Chat protocol rewrite (#5117)

* New TOCLIENT_CHAT_MESSAGE packet

* Rename old packet to TOCLIENT_CHAT_MESSAGE_OLD for compat
* Handle TOCLIENT_CHAT_MESSAGE new structure client side
* Client chat queue should use a specific object
* SendChatMessage: use the right packet depending on protocol version (not complete yet)
* Add chatmessage(type) objects and handle them client side (partially)
* Use ChatMessage instead of std::wstring server side

* Update with timestamp support

7 years agoCamera: Fix wieldmesh glitch after teleporting (#6138)
kilbith [Sat, 15 Jul 2017 18:15:36 +0000 (20:15 +0200)]
Camera: Fix wieldmesh glitch after teleporting (#6138)

7 years agoRevert "CSM: Revert "[CSM] Add send_chat_message and run_server_chatcommand""
Loic Blot [Sat, 15 Jul 2017 07:28:10 +0000 (09:28 +0200)]
Revert "CSM: Revert "[CSM] Add send_chat_message and run_server_chatcommand""

This reverts commit bdac12761cd92960c3df83c932aa610f2322215f.

7 years agoDefault window size: Increase to 1024x576, aspect ratio 16:9
paramat [Wed, 12 Jul 2017 13:44:58 +0000 (14:44 +0100)]
Default window size: Increase to 1024x576, aspect ratio 16:9

7 years agoCSM: Revert "[CSM] Add send_chat_message and run_server_chatcommand"
rubenwardy [Sun, 2 Jul 2017 19:25:22 +0000 (20:25 +0100)]
CSM: Revert "[CSM] Add send_chat_message and run_server_chatcommand"

Original PR: #5747.
This reverts commit 39f4a2f607d44738d60db84eba4b30e3d7450204.

7 years agoSneak: Stripped down version
SmallJoker [Sat, 1 Apr 2017 18:38:14 +0000 (20:38 +0200)]
Sneak: Stripped down version

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.

7 years agoRemove remaining modstore code (#6120)
Elijah Duffy [Fri, 14 Jul 2017 18:37:58 +0000 (11:37 -0700)]
Remove remaining modstore code (#6120)

7 years agoDont search for locale folders if gettext is disabled (#6133)
adrido [Fri, 14 Jul 2017 15:31:18 +0000 (17:31 +0200)]
Dont search for locale folders if gettext is disabled (#6133)

If gettext is disabled, it is defined as 0.

7 years agoAdvanced settings: Reformat noise parameter format example
paramat [Sun, 9 Jul 2017 20:09:41 +0000 (21:09 +0100)]
Advanced settings: Reformat noise parameter format example

Previously the example ran off the edge of the formspec.
Also include 'lacunarity' in the format instead of treating it as an option.

7 years agoBiomes/decorations/ores: Make relative to 'water_level' setting
paramat [Wed, 14 Jun 2017 01:00:51 +0000 (02:00 +0100)]
Biomes/decorations/ores: Make relative to 'water_level' setting

Add 'biome_zero_level' argument to 'generateBiomes()', 'deco_zero_level'
argument to 'placeAllDecos()' and 'ore_zero_level' to 'placeAllOres()'
to allow mapgens to vertically shift the registered biomes, decorations
and ores per-mapchunk.
Will also allow many realm possibilities in future mapgens.

7 years agoAdd 'plantlike_rooted' drawtype
number Zero [Thu, 11 May 2017 20:24:12 +0000 (23:24 +0300)]
Add 'plantlike_rooted' drawtype

Useful for underwater plants.
Node consists of a base cube plus a plantlike extension that can pass through
liquid nodes above without creating air bubbles or interfering with liquid flow.
Uses paramtype2 'leveled', param2 defines height of plantlike extension.

7 years agoMapgen Carpathian: Add lava_depth parameter
vlapsley [Fri, 7 Jul 2017 03:49:55 +0000 (13:49 +1000)]
Mapgen Carpathian: Add lava_depth parameter

7 years agoExpose getPointedThing to Lua
Dániel Juhász [Sat, 23 Jul 2016 19:11:20 +0000 (21:11 +0200)]
Expose getPointedThing to Lua

This commit introduces Raycast, a Lua user object, which can be
used to perform a raycast on the map. The ray is continuable, so one can
also get hidden nodes (for example to see trough glass).

7 years agoMapgen: Add Carpathian mapgen (#6015)
Vaughan Lapsley [Thu, 6 Jul 2017 11:53:56 +0000 (21:53 +1000)]
Mapgen: Add Carpathian mapgen (#6015)

7 years agoFog effect when camera is inside cloud
Ben Deutsch [Sun, 7 May 2017 16:41:47 +0000 (18:41 +0200)]
Fog effect when camera is inside cloud

Fixes issue #3576

* Clouds now take camera position as 3D, not 2D

* Cloud grid filling extracted to gridFilled method

* Clouds detect whether camera is inside cloud

* Camera in cloud changes fog by overriding sky colors
  with cloud color

* Sun, moon and stars can be temporarily disabled
  with setBodiesVisible

* Disabling fog also disables all "inside cloud" behaviors

7 years agoTreegen: Fix s16 overflow warning (#6082)
Vincent Glize [Tue, 4 Jul 2017 21:18:28 +0000 (22:18 +0100)]
Treegen: Fix s16 overflow warning (#6082)

7 years agoMain Menu: Allow copying directories from non-Minetest locations (#6095)
Elijah Duffy [Tue, 4 Jul 2017 07:27:29 +0000 (00:27 -0700)]
Main Menu: Allow copying directories from non-Minetest locations (#6095)

Allow `core.copy_dir` (main menu API) to copy directories from a
non-Minetest location. The check to disallow copying to non-Minetest
locations is retained.

7 years agoCamera: Arm inertia code cleanup (#6094)
kilbith [Tue, 4 Jul 2017 07:25:36 +0000 (09:25 +0200)]
Camera: Arm inertia code cleanup (#6094)

7 years agoFix crash due to missing pointer validation
Loic Blot [Sun, 2 Jul 2017 20:26:25 +0000 (22:26 +0200)]
Fix crash due to missing pointer validation

Fix #6092

7 years agoIrrlicht cleanup: cleanup various object to use RenderingEngine (#6088)
Loïc Blot [Sun, 2 Jul 2017 18:29:58 +0000 (20:29 +0200)]
Irrlicht cleanup: cleanup various object to use RenderingEngine (#6088)

* Irrlicht cleanup: cleanup various object to use RenderingEngine

* CAO doesn't need scenemanager in addToScene
* Camera doesn't need VideoDriver pointer or SceneManager in constructor
* Hud doesn't need driver & scene manager in constructor
* Hud doesn't need scenemanager pointer
* Tile.h doesn't need IrrlichtDevice header (just SMaterial)
* WieldMeshSceneNode: only take scene, we always use scene root node as parent

7 years agoCamera: Improve arm inertia
Jean-Patrick Guerrero [Wed, 28 Jun 2017 07:45:59 +0000 (09:45 +0200)]
Camera: Improve arm inertia

7 years agoDungeons: Add setting to prevent projecting dungeons
paramat [Mon, 26 Jun 2017 05:24:30 +0000 (06:24 +0100)]
Dungeons: Add setting to prevent projecting dungeons

Prevents dungeons generating into ignore nodes in ungenerated mapchunks,
which can occasionally result in a dungeon projecting from the terrain.

7 years agoInclude TILE_MATERIAL_OPAQUE in shaders header (#6086)
stujones11 [Sat, 1 Jul 2017 16:01:07 +0000 (17:01 +0100)]
Include TILE_MATERIAL_OPAQUE in shaders header (#6086)

7 years agoC++11 cleanup inventorymanager (#6077)
Vincent Glize [Sat, 1 Jul 2017 12:07:40 +0000 (14:07 +0200)]
C++11 cleanup inventorymanager (#6077)

* C++11 cleanup inventorymanager

7 years agoTile material: Add 'TILE_MATERIAL_OPAQUE', use for drawtype 'NDT_NORMAL'
stujones11 [Wed, 7 Jun 2017 17:52:38 +0000 (18:52 +0100)]
Tile material: Add 'TILE_MATERIAL_OPAQUE', use for drawtype 'NDT_NORMAL'

Prevents normal drawtype nodes having transparency.
Avoids clients cheating by using 'x-ray' texture packs with transparent textures.

7 years agoCreate a filesystem abstraction layer for CSM and only allow accessing files that...
red-001 [Fri, 30 Jun 2017 18:14:39 +0000 (19:14 +0100)]
Create a filesystem abstraction layer for CSM and only allow accessing files that are scanned into it. (#5965)

* Load client-side mods into memory before executing them.

This removes the remaining filesystem access that client-sided mods had and it will hopefully make then more secure.

* Lua Virtual filesystem: don't load the files into memory just scan the filenames into memory.

* Fix the issues with backtrace

* fix most of the issues

* fix code style.

* add a comment

7 years agoMapgen: Remove unnecessary 'this->' from constructors (#6069)
Paramat [Fri, 30 Jun 2017 13:32:35 +0000 (14:32 +0100)]
Mapgen: Remove unnecessary 'this->' from constructors (#6069)

7 years agoChange the server description after a search (#6074)
Vincent Glize [Thu, 29 Jun 2017 05:53:44 +0000 (07:53 +0200)]
Change the server description after a search (#6074)

7 years agoMgv7: Fix undefined 'float_mount_height'
paramat [Wed, 28 Jun 2017 08:35:46 +0000 (09:35 +0100)]
Mgv7: Fix undefined 'float_mount_height'

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.

7 years agoFix for empty key/value when reading item string with wear but no metadata (#6058) 6061/head
Jesse McDonald [Tue, 27 Jun 2017 10:34:11 +0000 (05:34 -0500)]
Fix for empty key/value when reading item string with wear but no metadata (#6058)

7 years agoFix msvc annoyances (#5963)
adrido [Tue, 27 Jun 2017 09:54:40 +0000 (11:54 +0200)]
Fix msvc annoyances (#5963)

* MSVC: Fix '/std:c++11' is not a valid compiler option

* MSVC/MINGW: Define 'WIN32_LEAN_AND_MEAN' for the whole project

In some obscure cases 'Windows.h" got includet before that definition, which leaded to compilation warnings+errors

* MSVC: '/arch:SSE' is only available for x86

* MSVC: Fix float conversation

* MSVC/MINGW: use winthreads on Windows

* MSVC: 'USE_CMAKE_CONFIG' might be already definied by CMake build system

* MSVC: Use all available cpu cores for compiling

* Add missing include ctime and use std::time_t

7 years agoFix arm inertia limit case
kilbith [Tue, 27 Jun 2017 09:26:13 +0000 (11:26 +0200)]
Fix arm inertia limit case

7 years agoFix undefined behaviour in arm movement when dividing by zero
Loic Blot [Mon, 26 Jun 2017 21:19:47 +0000 (23:19 +0200)]
Fix undefined behaviour in arm movement when dividing by zero

7 years agoIsolate irrlicht references and use a singleton (#6041)
Loïc Blot [Mon, 26 Jun 2017 18:11:17 +0000 (20:11 +0200)]
Isolate irrlicht references and use a singleton (#6041)

* Add Device3D class which will contain IrrlichtDevice interface

move getSupportedVideoDrivers to Device3D

Add Device3D singleton & use it in various places

Rename Device3D to Rendering engine & add helper functions to various device pointers

More singleton work

RenderingEngine owns draw_load_screen

move draw functions to RenderingEngine

Reduce IrrlichtDevice exposure and guienvironment

RenderingEngine: Expose get_timer_time() to remove device from guiEngine

Make irrlichtdevice & scene manager less exposed

* Code style fixes

* Move porting::getVideoDriverName, getVideoDriverFriendlyName, getDisplayDensity, getDisplaySize to RenderingEngine

Fix XORG_USED macro -> RenderingEngine + create_engine_device from RenderingEngine constructor directly

* enum paralax => enum parallax

7 years agoFix Camera::add_arm_inertia -> addArmInertia
Loic Blot [Mon, 26 Jun 2017 18:10:11 +0000 (20:10 +0200)]
Fix Camera::add_arm_inertia -> addArmInertia

7 years agoAdd Arm Inertia (#6050)
kilbith [Mon, 26 Jun 2017 18:03:48 +0000 (20:03 +0200)]
Add Arm Inertia (#6050)

7 years agoOres: Make 'absheight' flag non-functional
paramat [Thu, 22 Jun 2017 05:50:22 +0000 (06:50 +0100)]
Ores: Make 'absheight' flag non-functional

The 'absheight' flag was added years ago for the floatlands of 'indev'
mapgen (now deleted). The feature mirrored all ore placement around y = 0
to place ores in floatlands.

In MTG we now use dedicated ore registrations for floatlands.

The feature is crude, inflexible, problematic and very rarely used, it
also makes ore vertical range code more complex.
Minetest 0.5 is a good chance to remove the feature.

The flag itself remains to not break flag values.

7 years agoRevert "Ores: Make 'absheight' flag non-functional"
Loic Blot [Sun, 25 Jun 2017 21:08:31 +0000 (23:08 +0200)]
Revert "Ores: Make 'absheight' flag non-functional"

This reverts commit 90ed6fc732ca667ca970b7c38d39c809e5c3553e.

7 years agoInventory: Fix wrong stack size behaviour and item loss (#6039)
SmallJoker [Sun, 25 Jun 2017 09:39:39 +0000 (11:39 +0200)]
Inventory: Fix wrong stack size behaviour and item loss (#6039)

Also fix itemFits and remove constness-nonsense

7 years agoMgv7: Clean up divide-by-zero fix
paramat [Sun, 25 Jun 2017 03:45:40 +0000 (04:45 +0100)]
Mgv7: Clean up divide-by-zero fix

7 years agoOres: Make 'absheight' flag non-functional
paramat [Thu, 22 Jun 2017 05:50:22 +0000 (06:50 +0100)]
Ores: Make 'absheight' flag non-functional

The 'absheight' flag was added years ago for the floatlands of 'indev'
mapgen (now deleted). The feature mirrored all ore placement around y = 0
to place ores in floatlands.

In MTG we now use dedicated ore registrations for floatlands.

The feature is crude, inflexible, problematic and very rarely used, it
also makes ore vertical range code more complex.
Minetest 0.5 is a good chance to remove the feature.

The flag itself remains to not break flag values.

7 years agoHelper methods for hardware colorization (#5870)
Dániel Juhász [Sat, 24 Jun 2017 18:15:09 +0000 (18:15 +0000)]
Helper methods for hardware colorization (#5870)

7 years agoEmit liquid sound if the player walks in liquid (#6040)
Dániel Juhász [Sat, 24 Jun 2017 18:15:00 +0000 (18:15 +0000)]
Emit liquid sound if the player walks in liquid (#6040)

7 years agoC++11 cleanup on constructors guiEngine (#6036)
Vincent Glize [Sat, 24 Jun 2017 11:41:30 +0000 (13:41 +0200)]
C++11 cleanup on constructors guiEngine (#6036)

* C++11 cleanup on constructors guiEngine

7 years agoGame::showOverlayMessage: securise function
Loic Blot [Sat, 24 Jun 2017 09:43:17 +0000 (11:43 +0200)]
Game::showOverlayMessage: securise function

Do wgettext call directly in the function instead of caller, as we destroy wstd inside it

7 years agoMgv7: Avoid divide-by-zero errors
paramat [Fri, 23 Jun 2017 20:49:26 +0000 (21:49 +0100)]
Mgv7: Avoid divide-by-zero errors

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.

7 years agoMgvalleys: Use existing 'lava_max_height' value in CavesRandomWalk
paramat [Thu, 22 Jun 2017 02:48:22 +0000 (03:48 +0100)]
Mgvalleys: Use existing 'lava_max_height' value in CavesRandomWalk

Now that lava depth in large caves is variable we can use the already
present 'lava_max_height' value to set the lava depth in them.

7 years agoShow param1 and param2 in debug screen (#6031)
Wuzzy [Fri, 23 Jun 2017 11:31:01 +0000 (13:31 +0200)]
Show param1 and param2 in debug screen (#6031)

* Show param1 and param2 in debug screen

* Add units and some formatting to debug screen

* Minor refactor of param1/param2 debug display

7 years agoLINT fix
Loïc Blot [Thu, 22 Jun 2017 11:20:20 +0000 (13:20 +0200)]
LINT fix

7 years agoFix CSM crash caused by move to C++11. (#6027)
red-001 [Thu, 22 Jun 2017 11:18:58 +0000 (12:18 +0100)]
Fix CSM crash caused by move to C++11. (#6027)

7 years agoCavesRandomWalk: Make 'lava_depth' a mapgen parameter
paramat [Wed, 21 Jun 2017 03:20:18 +0000 (04:20 +0100)]
CavesRandomWalk: Make 'lava_depth' a mapgen parameter

As with 'large_cave_depth', lava depth was previously a fixed y value and
therefore incompatible with the ability to shift terrain vertically.

Add 'lava_depth' mapgen parameter to mgflat, mgfractal, mgv5, mgv7.

7 years agoAdd minetest.rgba function that returns ColorString from RGBA or RGB values
Gael-de-Sailly [Fri, 27 Feb 2015 19:51:55 +0000 (20:51 +0100)]
Add minetest.rgba function that returns ColorString from RGBA or RGB values

7 years agoCpp11 initializers: last src root changeset (#6022)
Loïc Blot [Wed, 21 Jun 2017 09:51:29 +0000 (11:51 +0200)]
Cpp11 initializers: last src root changeset (#6022)

* Cpp11 initializers: last src root changeset

Finish to migrate all src root folder files to C++11 constructor initializers

7 years agoFix render order of overlays (#6008)
Dániel Juhász [Wed, 21 Jun 2017 08:47:31 +0000 (08:47 +0000)]
Fix render order of overlays (#6008)

* Fix render order of overlays

* Use C++11 loops

* Fix time_t

7 years agoC++11 cleanup on constructors dir network (#6021)
Vincent Glize [Wed, 21 Jun 2017 06:28:57 +0000 (08:28 +0200)]
C++11 cleanup on constructors dir network (#6021)

* C++11 cleanup on constructors dir network

7 years agoC++11 cleanup on constructors dir client (#6012)
Vincent Glize [Wed, 21 Jun 2017 06:04:45 +0000 (08:04 +0200)]
C++11 cleanup on constructors dir client (#6012)

* C++11 cleanup on constructors dir client

7 years agoFix console resize issue when maximising game window (#6023)
Ezhh [Wed, 21 Jun 2017 05:50:57 +0000 (06:50 +0100)]
Fix console resize issue when maximising game window (#6023)

7 years agoMgv5/v7/fractal: Add 'large_cave_depth' parameter to replace fixed value
paramat [Tue, 20 Jun 2017 03:55:32 +0000 (04:55 +0100)]
Mgv5/v7/fractal: Add 'large_cave_depth' parameter to replace fixed value

The value cannot be fixed because we can shift terrain vertically.
This also makes these mapgens consistent with mgflat and mgvalleys which
have 'large_cave_depth' parameters.

7 years agoInventory: Make addItem for empty ItemStacks respect max stack size
Jesse McDonald [Fri, 19 May 2017 03:56:49 +0000 (22:56 -0500)]
Inventory: Make addItem for empty ItemStacks respect max stack size

When adding items to an empty ItemStack, limit the number of items taken
based on the maximum stack size in the item description.
Likewise, when checking whether items will fit into an empty ItemStack,
only absorb as many items as are allowed in a single stack and return the rest.

7 years agoMerge cguittfont lib in irrlicht change folder. (#6016)
Loïc Blot [Tue, 20 Jun 2017 15:18:34 +0000 (17:18 +0200)]
Merge cguittfont lib in irrlicht change folder. (#6016)

* Merge cguittfont lib in irrlicht change folder.

This remove hack and static lib for FreeType

7 years agoFix console not being properly resized after window size changed (#6020)
Zeno- [Tue, 20 Jun 2017 10:36:58 +0000 (20:36 +1000)]
Fix console not being properly resized after window size changed (#6020)

7 years agoAutomatic item and node colorization (#5640)
Dániel Juhász [Tue, 20 Jun 2017 09:19:56 +0000 (09:19 +0000)]
Automatic item and node colorization (#5640)

* 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

7 years agoAdd new travis required configuration for trusty
Loïc Blot [Tue, 20 Jun 2017 07:39:20 +0000 (09:39 +0200)]
Add new travis required configuration for trusty

7 years agoFix 1 more warning reported by GCC
Loic Blot [Mon, 19 Jun 2017 22:19:29 +0000 (00:19 +0200)]
Fix 1 more warning reported by GCC

We don't write in correct buffer size in analyze_block

7 years agoFix 2 warnings reported by GCC
Loic Blot [Mon, 19 Jun 2017 22:04:18 +0000 (00:04 +0200)]
Fix 2 warnings reported by GCC

* ClientEnvironment::m_irr is not used anymore since a recent cleanup
* l_vmanip constructor ordering

7 years agoC++11 cleanup on constructors (#6000)
Vincent Glize [Mon, 19 Jun 2017 21:54:58 +0000 (23:54 +0200)]
C++11 cleanup on constructors (#6000)

* C++11 cleanup on constructors dir script

7 years agoRemove IrrlichtDevice unused pointer from ClientActiveObject class & childs (#6010)
Loïc Blot [Mon, 19 Jun 2017 14:49:34 +0000 (16:49 +0200)]
Remove IrrlichtDevice unused pointer from ClientActiveObject class & childs (#6010)

7 years agofind_nodes_in_area: Extend maximal count to U32_MAX (#5277)
SmallJoker [Mon, 19 Jun 2017 14:30:26 +0000 (16:30 +0200)]
find_nodes_in_area: Extend maximal count to U32_MAX (#5277)

Extend documentation, limit area volume
Remove u16 count limitation

* Prevent integer overflow, replace minp/maxp with pos1/pos2

7 years agohud.h: add missing false default state on use_hotbar_selected_image
Loïc Blot [Mon, 19 Jun 2017 13:41:33 +0000 (15:41 +0200)]
hud.h: add missing false default state on use_hotbar_selected_image

7 years agohud.cpp: fix wrong indent in drawItem
Loïc Blot [Mon, 19 Jun 2017 13:20:30 +0000 (15:20 +0200)]
hud.cpp: fix wrong indent in drawItem

7 years agoVerify HudSetParams input when hotbar textures are set (#6013)
Loïc Blot [Mon, 19 Jun 2017 12:10:30 +0000 (14:10 +0200)]
Verify HudSetParams input when hotbar textures are set (#6013)

* Verify HudSetParams input when hotbar textures are set

This fix #6011

7 years agoMgv7: Do not limit river generation if no floatlands
paramat [Sun, 18 Jun 2017 01:11:05 +0000 (02:11 +0100)]
Mgv7: Do not limit river generation if no floatlands

Previously, the carving of rivers was disabled above 'shadow_limit' even if
floatlands were disabled. This caused rivers to be unnecessarily disabled if
mapgen was customised to have surface level above y = 1024.

7 years agoMgv7 spawn search: Cope with extreme custom terrain and biome 'dust'
paramat [Sun, 11 Jun 2017 05:02:20 +0000 (06:02 +0100)]
Mgv7 spawn search: Cope with extreme custom terrain and biome 'dust'

Previously, maximum spawn level was set to 'water_level + 16'. This would result
in spawn search failing if terrain had been customised to be much higher than
'water_level' at all points.

Also raise spawn level by 1 node to avoid spawning half-buried in a biome 'dust'
node such as 'default:snowblock'.

7 years agoClient::makeScreenshot: remove device param
Loic Blot [Sun, 18 Jun 2017 22:00:55 +0000 (00:00 +0200)]
Client::makeScreenshot: remove device param

    We already have the device param as class member

7 years agoCpp11 patchset 11: continue working on constructor style migration (#6004)
Loïc Blot [Sun, 18 Jun 2017 17:55:15 +0000 (19:55 +0200)]
Cpp11 patchset 11: continue working on constructor style migration (#6004)

7 years agoCpp11 initializers 2 (#5999)
Loïc Blot [Sat, 17 Jun 2017 17:11:28 +0000 (19:11 +0200)]
Cpp11 initializers 2 (#5999)

* C++11 patchset 10: continue cleanup on constructors

* Drop obsolete bool MainMenuData::enable_public (setting is called with cURL in server loop)

* More classes cleanup

* More classes cleanup + change NULL tests to boolean tests

7 years agoC++11 patchset 9: move hardcoded init parameters to class definitions (part 1) (...
Loïc Blot [Fri, 16 Jun 2017 09:25:52 +0000 (11:25 +0200)]
C++11 patchset 9: move hardcoded init parameters to class definitions (part 1) (#5984)

* C++11 patchset 9: move hardcoded init parameters to class definitions

C++11 introduced the possibility to define the default values directly in class definitions, do it on current code

Also remove some unused attributes

* CollisionInfo::bouncy
* collisionMoveResult::collides_xy
* collisionMoveResult::standing_on_unloaded
* Clouds::speed

* More constructor cleanups + some variables removal

* remove only write guiFormSpecMenu::m_old_tooltip
* move header included inside defintions in genericobject.h
* remove some unused since years exception classes
* remove unused & empty debug_stacks_init
* remove unused & empty content_nodemeta_serialize_legacy
* remove forgotten useless bool (bouncy) in collision.cpp code

7 years agoFix deserialization of ItemDefinition (#5995)
Rui [Fri, 16 Jun 2017 05:17:30 +0000 (14:17 +0900)]
Fix deserialization of ItemDefinition (#5995)

7 years agoMgv6 mudflow: Also check for 'ignore' nodes
paramat [Thu, 15 Jun 2017 21:48:26 +0000 (22:48 +0100)]
Mgv6 mudflow: Also check for 'ignore' nodes

Previously, when removing decorations we searched upwards and removed until we
found air or water. However, the node above the decoration can be 'ignore' if
a stacked decoration extends into the volume above the mapchunk. The result
could be a problematic column of air placed in the volume of 'ignore'. The
unnecessary placing of air also slows the function.

Add a check for 'ignore' nodes when removing decorations.

7 years agoImprove chatcommand params consistency (#5985)
Ezhh [Thu, 15 Jun 2017 20:38:41 +0000 (21:38 +0100)]
Improve chatcommand params consistency (#5985)

* Fix and improve params consistency

* Move parenthesis requirement to descriptions

7 years agoMgv6 mudflow: Avoid partially removed stacked decorations
paramat [Mon, 12 Jun 2017 16:53:17 +0000 (17:53 +0100)]
Mgv6 mudflow: Avoid partially removed stacked decorations

Recently we started to remove decorations if the dirt below was flowed away,
but this did not check for stacked decorations, causing them to have only
their lowest node removed.
Also, placed mud could partially bury stacked decorations.

Remove 'old_is_water' bool which on testing is never true.
Add new function 'moveMud()' to reduce indentation.
Remove stacked decoration nodes above a removed decoration.
Remove stacked decorations partially buried in placed mud.

7 years agoFix no sound bug (#5968)
Rui [Wed, 14 Jun 2017 15:21:08 +0000 (00:21 +0900)]
Fix no sound bug (#5968)

7 years agoRemove legacy content_abm.{cpp,h}
Loïc Blot [Wed, 14 Jun 2017 14:23:08 +0000 (16:23 +0200)]
Remove legacy content_abm.{cpp,h}

7 years agoUpdate list of installed files concerning server and non-RUN_IN_PLACE builds (#5976)
sfan5 [Wed, 14 Jun 2017 06:04:39 +0000 (08:04 +0200)]
Update list of installed files concerning server and non-RUN_IN_PLACE builds (#5976)

* mods/mods_here.txt should be present on servers
* client/serverlist/ can be omitted for RUN_IN_PLACE=0
* clientmods/ is not used on servers

7 years agoFix the serialization error by ff73c7a (#5964)
Rui [Sun, 11 Jun 2017 19:20:50 +0000 (04:20 +0900)]
Fix the serialization error by ff73c7a (#5964)

7 years agoUse thread_local instead from some static settings (#5955)
Loïc Blot [Sun, 11 Jun 2017 11:58:43 +0000 (13:58 +0200)]
Use thread_local instead from some static settings (#5955)

thread_local permits to limit variable lifetime to thread duration. Use it on each setting place which uses static to cache variable result only for thread lifetime. This permits to keep the same performance level & reconfigure server from MT gui in those various variables places.

Add thread_local to undersampling calculation too.

7 years agoSound: Add pitch option (#5960)
Rui [Sun, 11 Jun 2017 11:58:26 +0000 (20:58 +0900)]
Sound: Add pitch option (#5960)

* Sound: Add pitch option

7 years agoRemove minetestmapper from this repository (#5901)
Loïc Blot [Sun, 11 Jun 2017 10:49:30 +0000 (12:49 +0200)]
Remove minetestmapper from this repository (#5901)

It's now located at https://github.com/minetest/minetestmapper

Remove colors.txt and sectors2sqlite too

7 years agoImprove the path select GUI (#5852)
red-001 [Sun, 11 Jun 2017 07:43:31 +0000 (08:43 +0100)]
Improve the path select GUI (#5852)

- Allow lua to chose whatever directories or files can be selected
- Fix selecting directories
- Rename dialog to `guiPathSelectMenu` from `guiFileSelectMenu`
- Rename lua function for opening the menu from `show_file_open_dialog` to `show_path_select_dialog`
- Remove duplicate code and fix code style.

Related changes
- fix `clang-format` whitelist.
- Regenerate minetest.conf.example

7 years agoRemove threads.h and replace its definitions with their C++11 equivalents (#5957)
ShadowNinja [Sun, 11 Jun 2017 07:43:05 +0000 (03:43 -0400)]
Remove threads.h and replace its definitions with their C++11 equivalents (#5957)

This also changes threadProc's signature, since C++11 supports arbitrary
thread function signatures.