oweals/minetest.git
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.

7 years agoRemove superfluous pointer null checks
QrchackOfficial [Sun, 4 Jun 2017 23:52:55 +0000 (01:52 +0200)]
Remove superfluous pointer null checks

7 years agoPlantlike meshoptions: Fix inverted random vertical offset
number Zero [Fri, 9 Jun 2017 17:31:16 +0000 (20:31 +0300)]
Plantlike meshoptions: Fix inverted random vertical offset

7 years ago(Re)spawn players within 'mapgen_limit'
paramat [Sun, 4 Jun 2017 21:28:32 +0000 (22:28 +0100)]
(Re)spawn players within 'mapgen_limit'

Previously, findSpawnPos() did not take the 'mapgen_limit' setting into account,
a small limit often resulted in a spawn out in the void.
Use the recently added 'calcMapgenEdges()' to get max spawn range through a new
mapgenParams function 'getSpawnRangeMax()'.

Previously, when a player respawned into a world, 'objectpos_over_limit()' was
used as a check, which was inaccurate.
Use the recently added 'saoPosOverLimit()' to get exact mapgen edges.

Also fix default value of 'm_sao_limit_min'.

7 years agoMenu: Do not use textlist for shaders in settings tab (#5820)
Elijah Duffy [Sat, 10 Jun 2017 18:14:26 +0000 (11:14 -0700)]
Menu: Do not use textlist for shaders in settings tab (#5820)

Replace the textlist used if the shaders checkbox is unchecked in the settings tab of the main menu with labels. This makes the formspec feel more consistent as the items do not move when shaders is unchecked but only change colour and the checkboxes beside them disappear.

7 years agoAdd a server-sided way to remove color codes from incoming chat messages (#5948)
red-001 [Sat, 10 Jun 2017 11:49:44 +0000 (12:49 +0100)]
Add a server-sided way to remove color codes from incoming chat messages (#5948)

These code be generated by CSM, a modded client or just copy and pasted by the player.

Changes
- Update configuration example and setting translation file.
- Remove colour codes before logging chat.
- Add setting to remove colour codes before processing the chat.

7 years agofix an example in lua_api (#5604)
DS [Sat, 10 Jun 2017 11:49:28 +0000 (13:49 +0200)]
fix an example in lua_api (#5604)

7 years agoC++11 patchset 6: forbid object copy using assigment/copy function deleters (#5945)
Loïc Blot [Sat, 10 Jun 2017 11:49:15 +0000 (13:49 +0200)]
C++11 patchset 6: forbid object copy using assigment/copy function deleters (#5945)

C++11 implement function deleting, it's generally used to prevent some object copy
In script API use this function removal on ScriptApiBase instead of ScriptApiClient/Server/MainMenu, this affect all ScriptApis
Move DISABLE_CLASS_COPY with constructor, the deleted function permit to replace function in its original place

7 years agoOrder es_DrawType exactly like enum NodeDrawType in nodedef.h (#5946)
Thomas--S [Sat, 10 Jun 2017 11:24:05 +0000 (13:24 +0200)]
Order es_DrawType exactly like enum NodeDrawType in nodedef.h (#5946)

This will help to avoid some strange bugs.