oweals/minetest.git
7 years agoSneak: Fix sneaking on free-floating lower-half slabs
sfan5 [Wed, 29 Mar 2017 08:17:57 +0000 (10:17 +0200)]
Sneak: Fix sneaking on free-floating lower-half slabs

7 years agoSneak: Fix stair lower step bug and ladder in 1x1 hole bugs
sfan5 [Mon, 27 Mar 2017 16:22:40 +0000 (18:22 +0200)]
Sneak: Fix stair lower step bug and ladder in 1x1 hole bugs

7 years agoAdd functions to strip color information. (#5472)
Diego Martínez [Tue, 28 Mar 2017 19:55:39 +0000 (16:55 -0300)]
Add functions to strip color information. (#5472)

7 years agoFix a type bug in colorize function
Loïc Blot [Tue, 28 Mar 2017 12:50:17 +0000 (14:50 +0200)]
Fix a type bug in colorize function

This bug was introduced by dd2f1d7551bfd70357ad4f3fb180704194272147 and reported by @kilbith

7 years ago[CSM] Fix errors in and improve the CSM documentation. (#5467)
red-001 [Tue, 28 Mar 2017 06:26:54 +0000 (07:26 +0100)]
[CSM] Fix errors in and improve the CSM documentation. (#5467)

7 years agoclang-format: add a whitelist (#5459)
Loïc Blot [Mon, 27 Mar 2017 13:33:15 +0000 (15:33 +0200)]
clang-format: add a whitelist (#5459)

If file is in the whitelist, softfail, else hard failure

Some files are not in whitelist and marked as normal:
* src/content_mapnode.h
* src/cguittfont/xCGUITTFont.cpp
* src/gameparams.h
* src/profiler.cpp

7 years agoPostgreSQL: fix delete block
Loïc Blot [Mon, 27 Mar 2017 13:03:13 +0000 (15:03 +0200)]
PostgreSQL: fix delete block
Typo fix: we are doing select on delete block.

This fix issue #5426

7 years agoMap generation limit: Make per-world
paramat [Thu, 23 Mar 2017 00:18:59 +0000 (00:18 +0000)]
Map generation limit: Make per-world

The setting limits map generation but affects nothing else.
Add 'mapgen_limit' to global mapgen parameters.
Move 'blockpos_over_mapgen_limit()' to the only place it is called
from: map.cpp.
Allow teleportation to any part of the world even if over the set
mapgen limit.
Simplify the reading of this limit in mgvalleys.
Remove the 'map_generation_limit' setting.

7 years agoPathfinder: Send errors to `warningstream`.
Diego Martínez [Sat, 11 Mar 2017 23:17:59 +0000 (20:17 -0300)]
Pathfinder: Send errors to `warningstream`.

Avoids spamming the chat about several errors.

7 years agoFix mismatch struct/class for GameUIFlags
Loic Blot [Sun, 26 Mar 2017 16:54:39 +0000 (18:54 +0200)]
Fix mismatch struct/class for GameUIFlags

7 years agoclang-format: fix counter increment & output (#5456)
Loïc Blot [Sun, 26 Mar 2017 12:07:07 +0000 (14:07 +0200)]
clang-format: fix counter increment & output (#5456)

clang-format: fix bash syntax on increment

7 years agoclang-format: limit diff to 50 files to prevent exceding the maximum travis output...
Loïc Blot [Sun, 26 Mar 2017 09:29:21 +0000 (11:29 +0200)]
clang-format: limit diff to 50 files to prevent exceding the maximum travis output (4MB) (#5455)

7 years agoSneak: Replicate sneak ladder in new code, is optional
sfan5 [Thu, 23 Mar 2017 20:47:59 +0000 (21:47 +0100)]
Sneak: Replicate sneak ladder in new code, is optional

Enabled using the existing 'sneak_glitch' physics override.

7 years agoChange command prefix to "." and add "help" command.
red-001 [Fri, 24 Mar 2017 23:43:36 +0000 (23:43 +0000)]
Change command prefix to "." and add "help" command.

7 years agoAdd mesh generation delay
number Zero [Sat, 18 Feb 2017 18:53:05 +0000 (21:53 +0300)]
Add mesh generation delay

7 years agoAdd clang format & skip build if no source file modified (#5433)
Loïc Blot [Sat, 25 Mar 2017 18:12:18 +0000 (19:12 +0100)]
Add clang format & skip build if no source file modified (#5433)

* [BUILD] Add clang format + build skipping

* Add clang-format tool to check codestyle.
Warning: it check the whole modified file, not the diff part, it's why it's lazy. Please also look if rules are perfect, i take the Linux codestyle from LLVM site

Fix issue #5415

* Skip building project if no file is modified
* Fix a wrong brace to trigger LINT

* Make lint step outside of unix build scope

* Add AccessModifierOffset: -8

* Typo fix & needs compile fix

* Fix header priorities

7 years agoTile.cpp: Fix MSVC build broken by 072bbba
SmallJoker [Fri, 24 Mar 2017 19:05:15 +0000 (20:05 +0100)]
Tile.cpp: Fix MSVC build broken by 072bbba

7 years agoTypo fix
Loïc Blot [Fri, 24 Mar 2017 07:59:52 +0000 (08:59 +0100)]
Typo fix

7 years agoAdd multiline support to colorize. (#5444)
red-001 [Fri, 24 Mar 2017 07:36:29 +0000 (07:36 +0000)]
Add multiline support to colorize. (#5444)

7 years agoSome performance optimizations (#5424)
Loïc Blot [Wed, 22 Mar 2017 20:41:02 +0000 (21:41 +0100)]
Some performance optimizations (#5424)

* Some performance optimizations

This is globally removing some memory useless copy

* use a const ref return on std::string Settings::get to prevent data copy on getters which doesn't need to copy it
 * pass some stack created strings to static const as they are not modified anywhere
 * Camera: return nametags per const ref instead of a list pointer, we only need to read it
 * INodeDefManager: getAll should be a result ref writer instead of a return copy
 * INodeDefManager: getAlias should return a const std::string ref
 * Minimap: unroll a Scolor creation in blitMinimapPixersToImageRadar to prvent many variable construct/destruct which are unneeded (we rewrite the content in the loop)
 * CNodeDefManager::updateAliases: prevent a idef getall copy
 * Profiler: constness
 * rollback_interface: create real_name later, and use const ref
 * MapBlockMesh updateFastFaceRow: unroll TileSpec next_tile, which has a cost of 1.8% CPU due to variable allocation/destruction,
 * MapBlockMesh updateFastFaceRow: copy next_tile to tile only if it's a different tilespec
 * MapBlockMesh updateFastFaceRow: use memcpy to copy next_lights to lights to do it in a single cpu operation

7 years ago[CSM] Add function to get player names in range (#5435)
bigfoot547 [Wed, 22 Mar 2017 20:13:03 +0000 (15:13 -0500)]
[CSM] Add function to get player names in range (#5435)

* [CSM] Add function to get currently connected player names

7 years agoFirelike drawtype: Add missing docs for visual_scale in lua_api.txt (#5434)
Paramat [Mon, 20 Mar 2017 21:22:16 +0000 (21:22 +0000)]
Firelike drawtype: Add missing docs for visual_scale in lua_api.txt (#5434)

7 years agoContent_mapblock.cpp: Refactor
number Zero [Mon, 13 Feb 2017 16:31:43 +0000 (19:31 +0300)]
Content_mapblock.cpp: Refactor

7 years agoRefactored client event if-else cascade to switch statement
Ben Deutsch [Fri, 17 Mar 2017 19:56:04 +0000 (20:56 +0100)]
Refactored client event if-else cascade to switch statement

7 years agoMap generation limit: Rewrite
paramat [Mon, 13 Mar 2017 21:35:29 +0000 (21:35 +0000)]
Map generation limit: Rewrite

The previous implementation applied the setting to blockpos_over_limit(),
objectpos_over_limit() and in createSector(), causing many bugs near the
world edge.

First revert the previous implementation.
Rename blockpos_over_limit() to blockpos_over_max_limit() for clarity.
Add a new function to mapblock.h called blockpos_over_mapgen_limit() that
checks against the map_generation_limit setting, and call this only from
the code that decides where mapgen stops.
Use MAX_MAP_GENERATION_LIMIT in objectpos_over_limit() to reduce the
chance of bugs, there is no need to use map_generation_limit here.

7 years agoFix /shutdown or ^C no longer causing server exit
sfan5 [Sun, 19 Mar 2017 17:17:59 +0000 (18:17 +0100)]
Fix /shutdown or ^C no longer causing server exit

Broken since b8484ef24e8e1ec90a2967372808ab2bea538c7c

7 years agoRefactor Game class (part 2) (#5422)
Loïc Blot [Sun, 19 Mar 2017 12:18:52 +0000 (13:18 +0100)]
Refactor Game class (part 2) (#5422)

* showPauseMenu is now part of game
* remove many flags parameters passed to game functions, use the member.
* rename VolatileRunFlags to GameUIFlags (this will permit to share structure with client and CSM
* updatePointedThing: remove pointer ref, we already have the pointer in rundata
* move some attributes outside of VolatileRunFlags after renaming, to game class
* rename statustext to m_statustext
* make some const variables static
* All those changes permit to reduce a little bit function class cost and will permit to interface CSM with some interesting Game flags
* Expose GameUIFlags to client
* Client now have GameUIFlags parameter and setters for other classes
* Fix minimap show/hide in Lua because we now have access to the real flag

7 years agoBlock access to the `io` library
red-001 [Sat, 28 Jan 2017 21:43:06 +0000 (21:43 +0000)]
Block access to the `io` library

7 years agoUpdate server min protocol version to v24 (#5411)
Loïc Blot [Sun, 19 Mar 2017 07:44:29 +0000 (08:44 +0100)]
Update server min protocol version to v24 (#5411)

* Update server min protocol version to v24

It's based on @sfan5 stats. See https://kitsunemimi.pw/tmp/serverlist_stats_2017-03-17.txt

v24 was bumped 25/08/14 and 0.4.11 was released 25/12/14

* Drop protocol v23 and lesser code

7 years agoServer list cleanup
ShadowNinja [Thu, 15 Oct 2015 17:04:15 +0000 (13:04 -0400)]
Server list cleanup

This removes the hacky server_dedicated pseudo-setting.

7 years agoShow itemstring as tooltip if no item description
Wuzzy [Fri, 24 Feb 2017 03:17:14 +0000 (04:17 +0100)]
Show itemstring as tooltip if no item description

7 years agoTOGGLE_CHAT keymap should togglechat not HUD
Loic Blot [Sat, 18 Mar 2017 09:00:04 +0000 (10:00 +0100)]
TOGGLE_CHAT keymap should togglechat not HUD

Fixes #5413

7 years agoReduce memory & function cost of Game class functions (#5406)
Loïc Blot [Fri, 17 Mar 2017 21:15:25 +0000 (22:15 +0100)]
Reduce memory & function cost of Game class functions (#5406)

GameRunData is passed on many game functions, or one of its attributes whereas it's a member of the class. Remove it from functions arguments and call object directly from concerned functions.
This will reduce a little bit the Game class loop usage & very little bit the memory usage (due to non creation of pointer/references)

7 years agoavoid crashing when accessing mapgen early (#5384)
zeuner [Fri, 17 Mar 2017 20:28:43 +0000 (21:28 +0100)]
avoid crashing when accessing mapgen early (#5384)

7 years agoGive CSM access to use `core.colorize()` (#5113)
red-001 [Fri, 17 Mar 2017 18:20:13 +0000 (18:20 +0000)]
Give CSM access to use `core.colorize()` (#5113)

7 years ago[CSM] Fix minimap problems (#5405)
Loïc Blot [Fri, 17 Mar 2017 06:54:49 +0000 (07:54 +0100)]
[CSM] Fix minimap problems (#5405)

This fixes issue #5404

7 years ago[CSM] Add core.get_timeofday & core.get_day_count env calls (#5401)
Loïc Blot [Fri, 17 Mar 2017 06:48:29 +0000 (07:48 +0100)]
[CSM] Add core.get_timeofday & core.get_day_count env calls (#5401)

* [CSM] Add core.get_timeofday & core.get_day_count env calls

* [CSM] Add core.get_node_level, core.get_node_max_level, core.find_node_near

7 years agoFix indentation problem since merge resolution
Loïc Blot [Thu, 16 Mar 2017 10:09:06 +0000 (11:09 +0100)]
Fix indentation problem since merge resolution

Github merge conflict resolution is not the best with indent

7 years ago[CSM] Add minimap API modifiers (#5399)
Loïc Blot [Thu, 16 Mar 2017 09:34:54 +0000 (10:34 +0100)]
[CSM] Add minimap API modifiers (#5399)

* Rename Mapper (too generic) to Minimap
* Add lua functions to get/set position, angle, mode for minimap
* Client: rename m_mapper to m_minimap
* Add minimap to core.ui namespace (core.ui.minimap)
* Add various functions to manage minimap (show, hide, toggle_shape)
* Cleanup trivial declaration in client

7 years agoAdd ModStorageAPI to client side modding (#5396)
Loïc Blot [Thu, 16 Mar 2017 06:53:39 +0000 (07:53 +0100)]
Add ModStorageAPI to client side modding (#5396)

mod storage is located into user_path / client / mod_storage

7 years agoGet biome list: Downgrade missing biome message to infostream
paramat [Mon, 13 Mar 2017 13:34:32 +0000 (13:34 +0000)]
Get biome list: Downgrade missing biome message to infostream

It is harmless for a biome listed in an ore or decoration registration
to be missing.
Now that we are registering certain biomes or not based on options
(such as floatland biomes), the biome lists in ore and decoration
registrations trigger these error messages, avoiding these error
messages would need a large amount of duplication of ore and decoration
registrations.

7 years agoSneak: Fix various problems with sneaking
sfan5 [Wed, 1 Mar 2017 19:10:30 +0000 (20:10 +0100)]
Sneak: Fix various problems with sneaking

Sneaking won't actually hover you in the air, releasing shift guarantees not
falling down (same as in MC).
Sneak-jump no longer goes higher than a normal jump (^ was required for this).
Sneaking no longer avoids fall damage.
You can sneak on partial nodes (slabs, sideways slabs) correctly.
Sneaking doesn't "go out" as far anymore (0.29 instead of 0.4).
Can't jump when sneaking out as far as possible (breaks the sneak ladder).

7 years agolua_api: Document minetest.features (#5311)
SmallJoker [Wed, 15 Mar 2017 21:07:19 +0000 (22:07 +0100)]
lua_api: Document minetest.features (#5311)

7 years agoUse true distance for block priority.
Lars Hofhansl [Sun, 12 Mar 2017 04:50:14 +0000 (20:50 -0800)]
Use true distance for block priority.

7 years agoFix undefined references (#5400)
Wayward One [Wed, 15 Mar 2017 14:42:47 +0000 (10:42 -0400)]
Fix undefined references (#5400)

7 years agoFix two nul deref if digging unknown nodes. (#5398)
Auke Kok [Wed, 15 Mar 2017 07:04:53 +0000 (00:04 -0700)]
Fix two nul deref if digging unknown nodes. (#5398)

Introduced by d785456b3fa35faf47cb972fde9e8668382c5e22 (#5162)

7 years agoAdd disclaimer to client_lua_api.txt (#5391)
rubenwardy [Tue, 14 Mar 2017 06:51:07 +0000 (06:51 +0000)]
Add disclaimer to client_lua_api.txt (#5391)

7 years agoAdd `get_wielded_item`
red-001 [Tue, 31 Jan 2017 13:18:52 +0000 (13:18 +0000)]
Add `get_wielded_item`

7 years ago[CSM] Add enable_client_modding param (default: false)
nerzhul [Mon, 13 Mar 2017 14:55:30 +0000 (15:55 +0100)]
[CSM] Add enable_client_modding param (default: false)

7 years ago[CSM] Add `on_punchnode` callback
red-001 [Sun, 29 Jan 2017 18:28:38 +0000 (18:28 +0000)]
[CSM] Add `on_punchnode` callback

7 years ago[CSM] Add `get_node` and `get_node_or_nil`
red-001 [Mon, 30 Jan 2017 19:10:37 +0000 (19:10 +0000)]
[CSM] Add `get_node` and `get_node_or_nil`

7 years ago[CSM] Add `on_dignode` callback (#5140)
red-001 [Sun, 29 Jan 2017 17:43:44 +0000 (17:43 +0000)]
[CSM] Add `on_dignode` callback (#5140)

7 years ago[CSM] storage + fixes
Loic Blot [Sat, 28 Jan 2017 17:31:23 +0000 (18:31 +0100)]
[CSM] storage + fixes

7 years ago[CSM] Improve security for client-sided mods (#5100)
red-001 [Sat, 28 Jan 2017 16:24:25 +0000 (16:24 +0000)]
[CSM] Improve security for client-sided mods (#5100)

7 years ago[CSM] implement client side mod loading (#5123)
Loïc Blot [Fri, 27 Jan 2017 06:41:10 +0000 (07:41 +0100)]
[CSM] implement client side mod loading (#5123)

* client side mods are located in clientmods/
* move builtin/preview.lua to clientmods/preview/init.lua as a preview mod
* refactor ModConfiguration class to work properly with client and server using child objects
* move some Server constructor mod load code to ModConfiguration to reduce code duplication between client and server
* remove mods.{cpp,h} unused functions
* use UNORDERED_SET instead of std::set in some modspec storages

7 years ago[CSM] Add local formspecs. (#5094)
red-001 [Tue, 24 Jan 2017 16:26:15 +0000 (16:26 +0000)]
[CSM] Add local formspecs. (#5094)

7 years ago[CSM] sound_play & sound_stop support + client_lua_api doc (#5096)
Loïc Blot [Sun, 22 Jan 2017 10:17:41 +0000 (11:17 +0100)]
[CSM] sound_play & sound_stop support + client_lua_api doc (#5096)

* squashed: CSM: Implement register_globalstep
  * Re-use fatal error mechanism from server to disconnect client on CSM error
  * Little client functions cleanups

* squashed: CSM: add core.after function
  * core.after is shared code between client & server
  * ModApiUtil get_us_time feature enabled for client

7 years ago[CSM] Add client-sided chat commands (#5092)
red-001 [Sun, 22 Jan 2017 08:05:09 +0000 (08:05 +0000)]
[CSM] Add client-sided chat commands (#5092)

7 years ago[CSM] Add on_death, on_hp_modification & oh_damage_taken callbacks (#5093)
Loïc Blot [Sat, 21 Jan 2017 23:20:55 +0000 (00:20 +0100)]
[CSM] Add on_death, on_hp_modification & oh_damage_taken callbacks (#5093)

* Add on_death callback
* Add on_hp_modification & on_damage_taken callbacks
* move preview code to preview.lua

7 years ago[CSM] Add method that display chat to client-sided lua. (#5089) (#5091)
red-001 [Sat, 21 Jan 2017 21:44:37 +0000 (21:44 +0000)]
[CSM] Add method that display chat to client-sided lua. (#5089) (#5091)

* squashed: [Client-sided scripting] Don't register functions that don't work. (#5091)

7 years ago[CSM] Client side modding
Loic Blot [Sat, 21 Jan 2017 14:02:08 +0000 (15:02 +0100)]
[CSM] Client side modding

* rename GameScripting to ServerScripting
* Make getBuiltinLuaPath static serverside
* Add on_shutdown callback
* Add on_receiving_chat_message & on_sending_chat_message callbacks
* ScriptApiBase: use IGameDef instead of Server
  This permits to share common attribute between client & server
* Enable mod security in client side modding without conditions

7 years agoGUI: Allow texture packs to customize the progress bar (#5368)
kilbith [Mon, 13 Mar 2017 07:07:14 +0000 (08:07 +0100)]
GUI: Allow texture packs to customize the progress bar (#5368)

7 years agoSave metainfo for falling nodes
Vladislav Tsendrovskii [Fri, 17 Feb 2017 01:48:48 +0000 (04:48 +0300)]
Save metainfo for falling nodes

7 years agoEnable server side occlusion culling by default.
Lars Hofhansl [Fri, 3 Mar 2017 20:40:50 +0000 (12:40 -0800)]
Enable server side occlusion culling by default.

7 years agoAllow server side occlusion culling.
Lars Hofhansl [Tue, 28 Feb 2017 07:06:15 +0000 (23:06 -0800)]
Allow server side occlusion culling.

7 years agoDo not increase breath if at full breath.
Auke Kok [Sat, 11 Mar 2017 07:37:30 +0000 (23:37 -0800)]
Do not increase breath if at full breath.

Prevents the server from sending TOCLIENT_BREATH packets
every 0.5seconds, if there is no reason to.

7 years agodatabase-redis: Support password authentication
sfan5 [Sat, 11 Mar 2017 20:39:32 +0000 (21:39 +0100)]
database-redis: Support password authentication

7 years agoClimb speed: Increase default setting from 2 to 3
paramat [Mon, 6 Mar 2017 08:35:13 +0000 (08:35 +0000)]
Climb speed: Increase default setting from 2 to 3

7 years agoMinimap: Optimise
number Zero [Thu, 23 Feb 2017 13:04:39 +0000 (16:04 +0300)]
Minimap: Optimise

7 years agoLight calculation: New bulk node lighting code
Dániel Juhász [Sat, 10 Dec 2016 18:02:44 +0000 (19:02 +0100)]
Light calculation: New bulk node lighting code

This commit introduces a new bulk node lighting algorithm to minimize
lighting bugs during l-system tree generation, schematic placement and
non-mapgen-object lua voxelmanip light calculation.

If the block above the changed area is not loaded, it gets loaded to avoid
lighting bugs.
Light is updated as soon as write_to_map is called on a voxel manipulator,
therefore update_map does nothing.

7 years agoOptimize item.lua
tenplus1 [Thu, 23 Feb 2017 19:03:18 +0000 (20:03 +0100)]
Optimize item.lua
Replace slow ItemStack get_definitions with registered_nodes one's and cached playername as it's used multiple times.  Also removed local item = itemstack:peek_item() as it is never used.

7 years agoGUI: Convert loading screen's progress bar to image (#5362)
kilbith [Fri, 10 Mar 2017 12:26:24 +0000 (13:26 +0100)]
GUI: Convert loading screen's progress bar to image (#5362)

7 years agoCI: Add memleak checking using valgrind (#5350)
Loïc Blot [Mon, 6 Mar 2017 19:34:02 +0000 (20:34 +0100)]
CI: Add memleak checking using valgrind (#5350)

Add a new step to check memleaks on our current unit tests suite

7 years agoUpdate .appdata and .desktop files
Juhani Numminen [Tue, 17 Jan 2017 15:26:21 +0000 (17:26 +0200)]
Update .appdata and .desktop files

7 years agoDungeons: Use 'block' instead of 'brick' for nodebox stairs
paramat [Sat, 4 Mar 2017 05:10:10 +0000 (05:10 +0000)]
Dungeons: Use 'block' instead of 'brick' for nodebox stairs

Affects only sandstone dungeons. Nodebox stairs made from
'sandstone_block' look better because every step is undivided.

7 years agoFont: attempt fallback font, abort if no fonts found.
Auke Kok [Sat, 18 Feb 2017 19:40:37 +0000 (11:40 -0800)]
Font: attempt fallback font, abort if no fonts found.

If you happen to have a font_path setting that is incorrect,
minetest will just attempt to start the gui without a valid
font which leads to a segfault later on.

We can attempt to load the fallback font path fairly easy,
but if that fails we should give up with a proper error message
and not a weird segfault later. This forces an abort() if
the fallback fails as well, and prints a useful error
message to the console.

7 years agoREADME.txt: Clarify loading of minetest.conf
Fixer [Thu, 16 Feb 2017 21:11:08 +0000 (23:11 +0200)]
README.txt: Clarify loading of minetest.conf

7 years agoAdd minetest.spawn_falling_node(pos) (#5339)
zaoqi [Sat, 4 Mar 2017 17:36:37 +0000 (01:36 +0800)]
Add minetest.spawn_falling_node(pos) (#5339)

* Add minetest.spawn_falling_node(pos)

* lua_api.txt: Add minetest.spawn_falling_node(pos)

* Update minetest.spawn_falling_node(pos)

7 years agoFormSpec: Add position and anchor elements (#5284)
adelcoding1 [Sat, 4 Mar 2017 09:46:55 +0000 (10:46 +0100)]
FormSpec: Add position and anchor elements (#5284)

7 years agoFixed spelling mistakes (#5312)
Bond-009 [Mon, 27 Feb 2017 12:22:49 +0000 (13:22 +0100)]
Fixed spelling mistakes (#5312)

7 years agoDungeongen: Add and improve parameters
paramat [Tue, 21 Feb 2017 01:56:34 +0000 (01:56 +0000)]
Dungeongen: Add and improve parameters

Add:
Bool for 'only_in_ground'.
Min and max corridor length.
Min and max room size with X, Y, Z components.
Min and max large room size with X, Y, Z components.

'only_in_ground = false' allows core mapgens to create structures
in air and water using dungeongen.
Corridor length parameters replace a fixed random range.
Room size parameters replace the former system where one parameter
'roomsize' was added to fixed random ranges.

All parameters are set for no change to current dungeon behaviour.

Remove some now-redundant and long-unused code.

7 years agoFix crash that can be caused by the shutdown command. (#5292)
red-001 [Sat, 25 Feb 2017 08:28:25 +0000 (08:28 +0000)]
Fix crash that can be caused by the shutdown command. (#5292)

7 years agoFix wrong meta key in item meta on ItemStack construction
rubenwardy [Sun, 19 Feb 2017 20:57:46 +0000 (20:57 +0000)]
Fix wrong meta key in item meta on ItemStack construction

7 years agoFix the documentation for `minetest.is_yes` (#5276)
red-001 [Sun, 19 Feb 2017 16:11:53 +0000 (16:11 +0000)]
Fix the documentation for `minetest.is_yes` (#5276)

7 years agoFixes for colorwallmounted and colorfacedir nodes
Dániel Juhász [Sat, 18 Feb 2017 19:26:19 +0000 (20:26 +0100)]
Fixes for colorwallmounted and colorfacedir nodes

Correct node placement prediction for attached colorwallmounted nodes.
Correct placement direction for colorfacedir and colorwallmounted nodes.
Correct detatch mechanism for attached colorwallmounted nodes.

7 years agoVoxelmanip: Do not emerge or blit to blocks over map gen limit
paramat [Fri, 17 Feb 2017 15:50:51 +0000 (15:50 +0000)]
Voxelmanip: Do not emerge or blit to blocks over map gen limit

Placing a structure that extends into mapblocks that extend past
map_gen_limit causes a crash. For example a sapling growing at the
world edge which adds leaves beyond the edge, or placing a structure
using the lua voxelmanip, or placing a schematic or l-system tree.

Do not run the 'load_if_inexistent' block of code if the mapblock
is over limit, this also marks the mapblock with the flag
VMANIP_BLOCK_DATA_INEXIST which later prevents blitting back those
mapblocks.

This fix therefore uses existing functionality by having the same
effect as the 'load_if_inexistent' bool being false.

7 years agoMultiplayer menu: fix attempt to open nonexistant image
kilbith [Fri, 17 Feb 2017 04:14:49 +0000 (20:14 -0800)]
Multiplayer menu: fix attempt to open nonexistant image

Since local servers and local favorites have no ping value (these
are only provided by the server) we shouldn't load a broken
image filename.

Fixes #5238

7 years agoStatbars.lua: Cache enable_damage setting
tenplus1 [Fri, 10 Feb 2017 17:40:57 +0000 (17:40 +0000)]
Statbars.lua: Cache enable_damage setting

7 years agoFix not being able to damage players in minimal (#5266)
red-001 [Sat, 18 Feb 2017 14:36:29 +0000 (14:36 +0000)]
Fix not being able to damage players in minimal (#5266)

7 years agoUse the `ARRLEN` macro in more places and remove an unused macro. (#5260)
red-001 [Sat, 18 Feb 2017 14:24:49 +0000 (14:24 +0000)]
Use the `ARRLEN` macro in more places and remove an unused macro. (#5260)

7 years agoAdd support for the new arguments of `request_shutdown` to the `/shutdown` chatcomman...
red-001 [Sat, 18 Feb 2017 11:16:11 +0000 (11:16 +0000)]
Add support for the new arguments of `request_shutdown` to the `/shutdown` chatcommand. (#5252)

7 years agoRevert part of eb49009d023e6e3b5d59a97b8fb5fed5eee83296 (#5230)
Auke Kok [Tue, 14 Feb 2017 23:01:25 +0000 (15:01 -0800)]
Revert part of eb49009d023e6e3b5d59a97b8fb5fed5eee83296 (#5230)

This reverts the removal of Droid Sans as fallback font. The
license for this font used to be GPL2. I've updated the font
files to Liberation 2.00, which are SIL, and do not require
us to ship source code.

I've attempted to fix all the attribution and license strings,
and used the strings as provided by redhat for attribution
to make sure they're correct.

Last, I've removed a bunch of executable bits on files that do
not need them.

Fixes #5231

7 years agoCavegen: Place correct biome surface in tunnel entrances
paramat [Wed, 15 Feb 2017 00:14:11 +0000 (00:14 +0000)]
Cavegen: Place correct biome surface in tunnel entrances

Previously in tunnel entrance floors only a single biome 'top' node was
placed and 'filler' nodes were missing.

Place 'top' and 'filler' nodes in tunnel entrance floors with depths
defined by the biome.
In tunnel entrances under rivers 'riverbed' nodes are placed to the
biome-defined depth.

7 years agoObjectpos over limit: Avoid crash caused by sector over limit
paramat [Mon, 13 Feb 2017 04:37:25 +0000 (04:37 +0000)]
Objectpos over limit: Avoid crash caused by sector over limit

Reduce the object limit by mapblock size, to avoid objects being
added just inside the map generation limit but in a block and sector
that extend beyond the map generation limit.

Change notification of 'objectpos over limit' from red in-chat ERROR
to in-terminal only WARNING, since this will happen often using mob
mods near the world's edge.

7 years agoFix a small regression caused by e2ad76f.
red-001 [Wed, 15 Feb 2017 19:14:31 +0000 (19:14 +0000)]
Fix a small regression caused by e2ad76f.

7 years agoFix >5 year old PlayerSAO deletion bug
sfan5 [Wed, 15 Feb 2017 16:36:47 +0000 (17:36 +0100)]
Fix >5 year old PlayerSAO deletion bug

force_delete=true is usually set at shutdown in order to
also remove PlayerSAOs, however when too many objects
per block are detected force_delete is also set to true.
This was intended only for the current loop iteration but
obviously persisted to the next iterations thereby
deleting all other remaining SAOs.

7 years agoFreeType: address font license issues (#5230)
Auke Kok [Tue, 14 Feb 2017 09:08:17 +0000 (01:08 -0800)]
FreeType: address font license issues (#5230)

It appears we were shipping font files without license text, and I
had my doubts about the bitmap fonts being usable directly.

This replaces existing TTF fonts with Apache-2.0 licensed fonts from
chome core (Cousine, Arimo, Tinos). Include the full license file
for all three fonts.

The Lucida Sans font bitmap is removed entirely for non-freetype
builds. There is therefore only mono fonts for non-freetype builds.

7 years agoLighting: Update lighting at block loading
Dániel Juhász [Thu, 27 Oct 2016 21:25:44 +0000 (23:25 +0200)]
Lighting: Update lighting at block loading

This commit updates mapblocks' light if necessary when they are loaded.
This removes ghost lighting.

7 years agoMainmenu: Brighter text colours for readability
Hybrid Dog [Sat, 11 Feb 2017 10:39:41 +0000 (11:39 +0100)]
Mainmenu: Brighter text colours for readability

7 years agoFootsteps: Fix offset footstep and shallow water sound bugs
paramat [Thu, 9 Feb 2017 21:12:53 +0000 (21:12 +0000)]
Footsteps: Fix offset footstep and shallow water sound bugs

Fix footstep sounds coming from nodes to either side when walking on a
1 node wide row of nodebox slabs such as default:snow.
Fix sand footsteps when swimming in 1 node deep water.

Use a new function 'getFootstepNodePos()' instead of 'getStandingNodePos()'
to avoid using a horizontally-offset 'sneak node' for sounds.

Sound is selected from the node BS * 0.05 below the player's feet, so
that 1/16th slabs will play the slab sound but 1/32nd slabs will not.
If the player is not 'touching ground' the node detection position is
changed to BS * 0.5 below to preserve footstep sounds when landing after
a jump or fall.