oweals/minetest.git
5 years agoremove_detached_inventory: Fix segfault during mod load
SmallJoker [Tue, 20 Aug 2019 17:25:46 +0000 (19:25 +0200)]
remove_detached_inventory: Fix segfault during mod load

5 years agoDon't send position update packet if player is dead
ANAND [Sat, 4 May 2019 07:33:51 +0000 (13:03 +0530)]
Don't send position update packet if player is dead

5 years agoDisable autoforward if player is dead
ANAND [Sat, 4 May 2019 07:13:31 +0000 (12:43 +0530)]
Disable autoforward if player is dead

5 years agoRestore intended functionality to minimap markers (#8819)
theviper121 [Mon, 19 Aug 2019 17:18:11 +0000 (12:18 -0500)]
Restore intended functionality to minimap markers (#8819)

5 years agoFind LuaJIT headers on vcpkg
Unknown [Sun, 18 Aug 2019 08:08:57 +0000 (10:08 +0200)]
Find LuaJIT headers on vcpkg

luajit headers were moved into a subdirectory to avoid conflicts with plain lua

5 years agoClientInterface: Use recursive mutex to prevent freeze in on_newplayer() (#8808)
SmallJoker [Sat, 17 Aug 2019 11:27:28 +0000 (13:27 +0200)]
ClientInterface: Use recursive mutex to prevent freeze in on_newplayer() (#8808)

5 years agoRemove unused function in ReliablePacketBuffer
sfan5 [Thu, 15 Aug 2019 18:47:32 +0000 (20:47 +0200)]
Remove unused function in ReliablePacketBuffer

5 years agoMinor refactor of IncomingSplitBuffer
sfan5 [Thu, 15 Aug 2019 18:14:44 +0000 (20:14 +0200)]
Minor refactor of IncomingSplitBuffer

5 years agoDrop m_list_size from ReliablePacketBuffer
sfan5 [Thu, 15 Aug 2019 17:54:40 +0000 (19:54 +0200)]
Drop m_list_size from ReliablePacketBuffer

It's not required and, worse, can lead to bugs.

5 years agoMapgen v6: Fix mudflow iteration and iterate twice (#8795)
Paramat [Thu, 15 Aug 2019 19:32:28 +0000 (20:32 +0100)]
Mapgen v6: Fix mudflow iteration and iterate twice (#8795)

In MapgenV6::flowMud(), the previous implementation of coordinate
inversion caused the 2 inverted mudflow iterations (out of the 3
iterations) to not loop over the area, so only 1 non-inverted
iteration occurred.

Fix this bug but only iterate mudflow twice, as mapgen v6 has only
had 1 iteration for many years. There is now a good balance of 1
non-inverted iteration and 1 inverted iteration.

5 years agonetwork: Stricter handling of split packets
sfan5 [Thu, 15 Aug 2019 14:11:01 +0000 (16:11 +0200)]
network: Stricter handling of split packets

5 years agonetwork: Fix crash in ReliablePacketBuffer on mismatching packets
sfan5 [Thu, 15 Aug 2019 15:17:17 +0000 (17:17 +0200)]
network: Fix crash in ReliablePacketBuffer on mismatching packets

In the error condition the exception would be thrown before m_list_size
is decremented, causing a nullptr dereference in e.g. popFirst().

5 years agoFix undeclared global warning because of _ (#8798)
DS [Wed, 14 Aug 2019 21:35:47 +0000 (23:35 +0200)]
Fix undeclared global warning because of _ (#8798)

5 years agoAdd function `minetest.read_schematic`
upsilon [Wed, 18 Apr 2018 16:27:08 +0000 (18:27 +0200)]
Add function `minetest.read_schematic`

5 years agoFix unnecessary exception use in 3 more methods (#8791)
Jozef Behran [Tue, 13 Aug 2019 18:02:50 +0000 (20:02 +0200)]
Fix unnecessary exception use in 3 more methods (#8791)

* Fix unnecessary exception use in Server::SendBlocks

The code in this method calls getBlockNoCreate and then
messes around with try...catch to skip blocks which are not
in the memory. Additionally, it repeatedly calls
m_env.getMap() inside this loop. Speed the code up by
extracting the m_env.getMap() out of the loop and getting
rid of the try...catch.

* Fix unnecessary exception use in Server::SendBlock

Another unnecessary try...catch is slowing down
Server::SendBlock. Remove that to speed it up and get a nice
side effect of simplifying the code in question.

* Fix unnecessary exception use in MMVManip::initialEmerge

Remove another unneeded exception usage from
MMVManip::initialEmerge to speed that code up and simplify
it but be careful to not remove the braces as there is a
TimeTaker in use there.

5 years agoFix unnecessary exception use in Map::getSectorXXX (#8792)
Jozef Behran [Tue, 13 Aug 2019 17:58:27 +0000 (19:58 +0200)]
Fix unnecessary exception use in Map::getSectorXXX (#8792)

The Map::getSectorNoGenerate throws an exception but no other
code is really dependent on that. Fix the odd instance of
misuse in ClientMap::emergeSector and remove the exception
throwing version of the method along with the "NoEx" suffixes
in the names of these methods.

5 years agoBetter F6 profiler (#8750)
SmallJoker [Tue, 13 Aug 2019 17:56:55 +0000 (19:56 +0200)]
Better F6 profiler (#8750)

Update the profiler names to make more sense of what they actually represent
Move the profiler code from header to its source file
Use monospace font to align lines
Format the statistics line to align better with surrounding values
Refresh the profiler each 3 seconds (roughly)

5 years agoFix unnecessary exception use in Map::isNodeUnderground
Jozef Behran [Wed, 7 Aug 2019 10:06:45 +0000 (12:06 +0200)]
Fix unnecessary exception use in Map::isNodeUnderground

The isNodeUnderground calls getBlockNoCreate which calls
getBlockNoCreateNoEx and throws InvalidPositionException
if the returned value is nullptr, which isNodeUnderground
then catches to return "false". Remove the try..catch in
isNodeUnderground by calling getBlockNoCreateNoEx instead
of getBlockNoCreate and checking the returned value for
nullptr.

5 years agoFix compare between pointer and 0 in unittests
Jozef Behran [Tue, 13 Aug 2019 12:26:37 +0000 (14:26 +0200)]
Fix compare between pointer and 0 in unittests

Pointers shall be set to nullptr, not 0, according to the
coding standards. By implication they shall be compared with
nullptr, not 0, too. Fix this code to match that.

5 years agoClear old item groups when they are overridden. (#8753)
Beha [Mon, 12 Aug 2019 17:18:52 +0000 (13:18 -0400)]
Clear old item groups when they are overridden. (#8753)

This fixes overridden items keeping their old groups in the group to
items mapping even after their groups have been changed in lua.
It also prevents a more widespread issue where overriding an item
will add its content ID *twice* to the mapping, resulting in odd
behaviour in features such as ABMs.

5 years agoAdd support for set_formspec_prepend in main menu (#8611)
rubenwardy [Mon, 12 Aug 2019 17:16:35 +0000 (18:16 +0100)]
Add support for set_formspec_prepend in main menu (#8611)

5 years agoHandle multiple deserialization of a block's entities
Rogier [Sun, 11 Dec 2016 17:47:50 +0000 (18:47 +0100)]
Handle multiple deserialization of a block's entities

This fix consists of two parts:
- Clear the list of stored entities. This has no side-effects.
- Catch the case where active entities exist and print a message.
  Clearing the active entitiy list has side-effects that should
  be handled. (those entities are known to the environment and
  to clients).

  As avoiding those side-effects is more complex, and as this
  problem is not expected to occur (with PR #4847 merged), there
  is no real incentive to implement this ATM.

This issue was a contributing factor to bug #4217. With the other
contributing factor removed (PR #4847), this commit makes sure this
factor does not go unnoticed if it ever happens again.

5 years agoUpdate Gradle to 5.5.1 (#8771)
hannesa2 [Mon, 12 Aug 2019 16:59:53 +0000 (18:59 +0200)]
Update Gradle to 5.5.1 (#8771)

5 years agoFix breakage of non-GLES2 setups (#8774)
Jozef Behran [Sat, 10 Aug 2019 21:32:47 +0000 (23:32 +0200)]
Fix breakage of non-GLES2 setups (#8774)

The commit 526a9e4b66abaf83eb6b1aaa3e93375acd87b830 breaks
the non-GLES2 setups because the code that is intended to
handle that is behind "elseif()" which is interpreted as
"elseif(false)" and thus the code never gets executed. Fix
that by changing the offending line to else().

Additionally, to avoid breaking the server only build
(which shall not have a dependency on GL/GLU/GLES at all),
enclose the entire block code in if(BUILD_CLIENT).

5 years agoFix some issues with minetest.clear_craft (#8712)
Paul Ouellette [Sat, 10 Aug 2019 21:28:00 +0000 (17:28 -0400)]
Fix some issues with minetest.clear_craft (#8712)

* Fix some issues with minetest.clear_craft

- Fix memory leak
- Fix crafts with an output count not being cleared when clearing by
  input.
- Fix recipe list being reversed when clearing by input.

* Add CraftInput::empty()

5 years agoMerge pull request #8776 from osjc/FixGetNode
Jozef Behran [Sat, 10 Aug 2019 17:45:44 +0000 (19:45 +0200)]
Merge pull request #8776 from osjc/FixGetNode

Finish getNode cleanup

5 years agoAdd player knockback on punch to builtin
sfan5 [Tue, 16 Jul 2019 17:20:06 +0000 (19:20 +0200)]
Add player knockback on punch to builtin

5 years agoImplement adding velocity to player from Lua
sfan5 [Tue, 16 Jul 2019 12:00:42 +0000 (14:00 +0200)]
Implement adding velocity to player from Lua

The intended usecase is knockback, but there's potential for more.

5 years agoBuiltin UI: Move box element to ensure correct draw order
SmallJoker [Thu, 1 Aug 2019 12:43:31 +0000 (14:43 +0200)]
Builtin UI: Move box element to ensure correct draw order

5 years agoAllow customizing chat message format (#8529)
ANAND [Thu, 8 Aug 2019 16:04:46 +0000 (21:34 +0530)]
Allow customizing chat message format (#8529)

5 years agoguiVolumeChange: Fix child not being removed
ANAND [Thu, 8 Aug 2019 15:41:23 +0000 (21:11 +0530)]
guiVolumeChange: Fix child not being removed

5 years agoAvoid crash caused by, and improve, 'findSpawnPos()' (#8728)
Paramat [Wed, 7 Aug 2019 21:07:51 +0000 (22:07 +0100)]
Avoid crash caused by, and improve, 'findSpawnPos()'  (#8728)

Avoid an unsuitable spawn position (which if outside mapgen limits can
cause a crash) if the main 0-3999 loop reaches its end. Fallback to a
spawn at 0,0,0.
Check the mapgen-returned 'spawn_level' value for being outside limits.
When 'air_count' reaches 2, move back down 1 to spawn in the lower
empty node.
If the spawn position is disallowed by 'objectpos_over_limit()', 'break'
from loop instead of 'continue' because positions above are probably
also over limit.
Reset 'air_count' to 0 if an obstruction is found, to make 'air_count'
consecutive empty nodes.
Allow spawn in 'airlike' drawtype nodes such as mod-added vacuum,
alien atmospheres, fog etc.
Add clarifying comments and improve codestyle.

5 years agoGame: Fix double BS multiplication
SmallJoker [Wed, 7 Aug 2019 19:17:17 +0000 (21:17 +0200)]
Game: Fix double BS multiplication

5 years agoFix usage of wrong variable in builtin chat command handling (#8762)
Beha [Wed, 7 Aug 2019 18:32:40 +0000 (14:32 -0400)]
Fix usage of wrong variable in builtin chat command handling (#8762)

This was introduced in commit 8e75785 and resulted in chat commands not
returning their output text.

5 years agoClient::Interact: Use InteractAction enum instead of numeric constants
ANAND [Sun, 4 Aug 2019 04:53:59 +0000 (10:23 +0530)]
Client::Interact: Use InteractAction enum instead of numeric constants

This replaces the magic numbers used as interaction modes both client-side and server-side, primarily for the sake of ease-of-readability.

5 years agoUnify wield item handling (#8677)
SmallJoker [Wed, 7 Aug 2019 17:16:31 +0000 (19:16 +0200)]
Unify wield item handling (#8677)

This moves the wield item functions to Player and the tool utils for range calculation
Also 'local_inventory' was removed due to redundancy in Client

5 years agoguiConfirmRegistration: Set focus to text field (#8761)
ANAND [Wed, 7 Aug 2019 17:15:46 +0000 (22:45 +0530)]
guiConfirmRegistration: Set focus to text field (#8761)

5 years agoHide chat when console is open (#8656)
ANAND [Wed, 7 Aug 2019 17:15:33 +0000 (22:45 +0530)]
Hide chat when console is open (#8656)

5 years agoFix inventory_overlay for nodes without inventory_image (#8433)
DS [Wed, 7 Aug 2019 10:07:30 +0000 (12:07 +0200)]
Fix inventory_overlay for nodes without inventory_image (#8433)

5 years agoOptimize usage of TOSERVER_GOTBLOCKS packet
sfan5 [Wed, 7 Aug 2019 08:31:12 +0000 (10:31 +0200)]
Optimize usage of TOSERVER_GOTBLOCKS packet

5 years agoDo not add group values of zero to group lists. (#8751)
Beha [Wed, 7 Aug 2019 08:48:04 +0000 (04:48 -0400)]
Do not add group values of zero to group lists. (#8751)

This fixes an issue where when the engine looked up groups (for example,
in ABM node names), NodeDefManager's m_group_to_items would contain nodes
with a group value of zero, resulting in nodes with flammable = 0 being
burned by a fire mod with a group:flammable checking ABM.

It brings consistency to the behaviour described in the api
documentation, where zero and nil groups should be the same.

5 years agoClean up and fix freetype=false crashes (#8641)
SmallJoker [Tue, 6 Aug 2019 19:33:13 +0000 (21:33 +0200)]
Clean up and fix freetype=false crashes (#8641)

A IGUIFont of type bitmap/vector cannot be converted to CGUITTFont
Fixes various segfaults in gameplay
Shorter font cache code, cleaned up (?)

5 years agoAdd luacheck to check builtin (#7895)
rubenwardy [Tue, 6 Aug 2019 18:30:18 +0000 (19:30 +0100)]
Add luacheck to check builtin (#7895)

5 years agoMapgen Flat: Fix and improve getSpawnLevelAtPoint() (#8756)
Paramat [Tue, 6 Aug 2019 01:30:28 +0000 (02:30 +0100)]
Mapgen Flat: Fix and improve getSpawnLevelAtPoint() (#8756)

Previously, this wrongly returned ground level (a position containing
a solid node) as spawn level.
Return ground level + 2 (+ 2 to spawn above biome 'dust' nodes).
Improve codestyle and make more consistent with generateTerrain().

5 years agoUpdate curl dependency in buildbot
sfan5 [Mon, 5 Aug 2019 09:25:02 +0000 (11:25 +0200)]
Update curl dependency in buildbot

5 years agoFix binary-string confusion in client network code
sfan5 [Sun, 4 Aug 2019 18:40:35 +0000 (20:40 +0200)]
Fix binary-string confusion in client network code

5 years agoClean up FindOpenGLES2.cmake
sfan5 [Thu, 25 Jul 2019 17:55:40 +0000 (19:55 +0200)]
Clean up FindOpenGLES2.cmake

5 years agoUnify GLES support in gui scaling filter
sfan5 [Wed, 24 Jul 2019 22:11:30 +0000 (00:11 +0200)]
Unify GLES support in gui scaling filter

5 years agoUnify OpenGL ES support
sfan5 [Wed, 24 Jul 2019 22:01:25 +0000 (00:01 +0200)]
Unify OpenGL ES support

5 years agoLet ENABLE_GLES appear in cmake_config.h and change its functionality
sfan5 [Wed, 24 Jul 2019 21:15:28 +0000 (23:15 +0200)]
Let ENABLE_GLES appear in cmake_config.h and change its functionality

5 years agoAdd formspec testing to test mod in minimal
rubenwardy [Tue, 2 Jul 2019 02:43:46 +0000 (03:43 +0100)]
Add formspec testing to test mod in minimal

5 years agoAdd styles to most elements
rubenwardy [Sat, 16 Mar 2019 21:38:36 +0000 (21:38 +0000)]
Add styles to most elements

5 years agoAdd style[] tag with button support
rubenwardy [Fri, 15 Mar 2019 19:03:12 +0000 (19:03 +0000)]
Add style[] tag with button support

5 years agoAdd custom colorable GUIButton implementation
rubenwardy [Fri, 15 Mar 2019 18:39:23 +0000 (18:39 +0000)]
Add custom colorable GUIButton implementation

5 years agoFix negative offsets not being supported by container[]
rubenwardy [Sat, 3 Aug 2019 15:20:15 +0000 (16:20 +0100)]
Fix negative offsets not being supported by container[]

5 years agoBuiltin: Forward old return values
SmallJoker [Fri, 2 Aug 2019 08:20:41 +0000 (10:20 +0200)]
Builtin: Forward old return values

Was forgotten in 69bf964.

5 years agoCorrect ServerActiveObject's virtual getArmorGroups() to be const.
Beha [Thu, 1 Aug 2019 15:11:43 +0000 (11:11 -0400)]
Correct ServerActiveObject's virtual getArmorGroups() to be const.

Due to commit ec3142a , UnitSAO's getArmorGroups() did not match
ServerActiveObject's, notably resulting in the lua get_armor_groups() call
returning nothing.

5 years agoMainmenu: Use textarea in error formspecs
SmallJoker [Thu, 1 Aug 2019 09:56:26 +0000 (11:56 +0200)]
Mainmenu: Use textarea in error formspecs

5 years agoGroup "immortal" also protects players from damage
Wuzzy [Wed, 20 Feb 2019 23:36:17 +0000 (00:36 +0100)]
Group "immortal" also protects players from damage

Document new meaning of immortal=1 for players

Disable breathing if player is immortal

Hide builtin statbars if player immortal (delayed)

Co-authored-by: ClobberXD <ClobberXD@gmail.com>
5 years agoAllow toolcaps to override the built-in times for dig_immediate
sfan5 [Tue, 30 Jul 2019 15:18:37 +0000 (17:18 +0200)]
Allow toolcaps to override the built-in times for dig_immediate

5 years agoSilence invalid clang format warnings in guiScrollBar.cpp (#8724)
Paramat [Wed, 31 Jul 2019 00:30:17 +0000 (01:30 +0100)]
Silence invalid clang format warnings in guiScrollBar.cpp (#8724)

5 years agoSky: Refactor of moon and sun drawing (#8683)
Methacrylon [Tue, 30 Jul 2019 18:25:47 +0000 (20:25 +0200)]
Sky: Refactor of moon and sun drawing (#8683)

Split sun and moon render parts from the main render function.

5 years agoMove the clamping of hp/breath when their maximums change to read_object_properties...
Beha [Tue, 30 Jul 2019 15:29:45 +0000 (11:29 -0400)]
Move the clamping of hp/breath when their maximums change to read_object_properties(). (#8689)

This prevents set_properties() calls that have nothing to do with hp_max or breath_max overriding the saved hp before another mod has the chance to set a player's intended hp_max (such as in on_joinplayer).

5 years agoREADME: make -j$(nproc) (#8699)
Zaoqi [Tue, 30 Jul 2019 07:36:03 +0000 (15:36 +0800)]
README: make -j$(nproc) (#8699)

5 years agoRename guiScrollBar to GUIScrollBar
DS-Minetest [Sat, 27 Jul 2019 13:44:11 +0000 (15:44 +0200)]
Rename guiScrollBar to GUIScrollBar

5 years agoContentCAO: Fix broken attachments on join (#8701)
SmallJoker [Mon, 29 Jul 2019 17:14:07 +0000 (19:14 +0200)]
ContentCAO: Fix broken attachments on join (#8701)

What happened:
1) Object data is received. Client begins to read the data
2) Client initializes all its children (gob_cmd_update_infant)
3) Children try to attach to parent (yet not added)
4) Parent initializes, is added to the environment

And somewhere in between, Irrlicht wrecks up the attachments due to the missing matrix node.

The solution here is to:
1) Use the same structure as ServerActiveObject
2) Attach all children after the parent is really initialized

5 years agolua_api.txt clarifications regarding mapgen object index IDs and handles. (#8713)
Beha [Mon, 29 Jul 2019 12:09:29 +0000 (08:09 -0400)]
lua_api.txt clarifications regarding mapgen object index IDs and handles. (#8713)

5 years agoguiScrollBar: move directly to clicked pos if clicked into tray
DS-Minetest [Thu, 25 Jul 2019 13:16:49 +0000 (15:16 +0200)]
guiScrollBar: move directly to clicked pos if clicked into tray

5 years agoCheck for 'action' field in ABMs & LBMs
SmallJoker [Sat, 27 Jul 2019 18:55:38 +0000 (20:55 +0200)]
Check for 'action' field in ABMs & LBMs

5 years agoPrefix RecipePriority elements with PRIORITY_
Paul Ouellette [Mon, 22 Jul 2019 05:26:22 +0000 (01:26 -0400)]
Prefix RecipePriority elements with PRIORITY_

5 years agoInitialize priority in CraftDefinition constructors
Paul Ouellette [Mon, 22 Jul 2019 05:15:50 +0000 (01:15 -0400)]
Initialize priority in CraftDefinition constructors

The priority is used by getCraftResult, which may be used before
initHash is called.

5 years agominimal: Move get_craft_result tests to test mod
Paul Ouellette [Tue, 9 Jul 2019 22:36:28 +0000 (18:36 -0400)]
minimal: Move get_craft_result tests to test mod

5 years agoFix missing item images clipping in formspecs (#8652)
Pierre-Yves Rollo [Fri, 26 Jul 2019 17:44:29 +0000 (19:44 +0200)]
Fix missing item images clipping in formspecs (#8652)

* Fix clipping of itemimage

* Code style

* More code styling

5 years agoDocument 'wield_item' entity property (#8694)
Alex [Fri, 26 Jul 2019 17:43:54 +0000 (10:43 -0700)]
Document 'wield_item' entity property (#8694)

5 years agoMake FindCURL ready for vcpkg (#8295)
adrido [Fri, 26 Jul 2019 17:43:43 +0000 (19:43 +0200)]
Make FindCURL ready for vcpkg (#8295)

This allows to find and use curl with the vcpkg toolchain file.

5 years agoInitialise 'seabed_height' to avoid compilation warning (#8715)
Paramat [Fri, 26 Jul 2019 16:51:53 +0000 (17:51 +0100)]
Initialise 'seabed_height' to avoid compilation warning (#8715)

5 years agoRe-order mapgens in mainmenu and 'all settings' mapgen selection (#8705)
Paramat [Thu, 25 Jul 2019 19:46:28 +0000 (20:46 +0100)]
Re-order mapgens in mainmenu and 'all settings' mapgen selection (#8705)

v6 always last to discourage selection.
Special mapgens flat, fractal, singlenode, next to last. Of these, singlenode
last to discourage selection.
Of the remaining, v5 last due to age, v7 first due to being the default.

5 years agoMgfractal: Make non-fractal terrain optional (#8702)
Paramat [Thu, 25 Jul 2019 18:58:35 +0000 (19:58 +0100)]
Mgfractal: Make non-fractal terrain optional (#8702)

Enabled by default.
Only allow spawn on fractal, not on seabed terrain.
Various codestyle and comment improvements.

5 years agoRemoved debug.upvaluejoin to prevent leak of insecure environment
y [Tue, 23 Jul 2019 21:13:56 +0000 (21:13 +0000)]
Removed debug.upvaluejoin to prevent leak of insecure environment

5 years agoUpdate README.md (#8700)
Zaoqi [Sat, 20 Jul 2019 23:59:37 +0000 (23:59 +0000)]
Update README.md (#8700)

5 years agoAdd /help formspec for commands and privileges (#8385)
SmallJoker [Sat, 20 Jul 2019 16:22:32 +0000 (18:22 +0200)]
Add /help formspec for commands and privileges (#8385)

* Trigger for 'all' as well
* Add description textarea, double-click to copy

5 years agoImprove documentation of mapgen aliases (#8693)
Paramat [Sat, 20 Jul 2019 01:54:42 +0000 (02:54 +0100)]
Improve documentation of mapgen aliases (#8693)

5 years agoDocument the deprecation of hardcoded cave liquids (#8692)
Paramat [Sat, 20 Jul 2019 00:03:52 +0000 (01:03 +0100)]
Document the deprecation of hardcoded cave liquids (#8692)

5 years agotravis: Disable macOS build
sfan5 [Wed, 17 Jul 2019 13:36:51 +0000 (15:36 +0200)]
travis: Disable macOS build

The build often hits the 50m time limit or fails with spurious errors.
It can be re-enabled when/if we figure out how to solve this.

5 years agoOptimize getting active objects a bit. #8674
Lars Hofhansl [Tue, 16 Jul 2019 22:55:17 +0000 (15:55 -0700)]
Optimize getting active objects a bit. #8674

5 years agoUse vector.dot and vector.cross in vector.angle
HybridDog [Sun, 14 Jul 2019 09:45:55 +0000 (11:45 +0200)]
Use vector.dot and vector.cross in vector.angle

5 years agoAdd vector.dot and vector.cross
HybridDog [Sat, 13 Jul 2019 11:46:44 +0000 (13:46 +0200)]
Add vector.dot and vector.cross

Mostly copied from MarkuBu's code

5 years agoDungeons: Make multiple large rooms possible (#8678)
Paramat [Tue, 16 Jul 2019 19:39:58 +0000 (20:39 +0100)]
Dungeons: Make multiple large rooms possible (#8678)

Re-add the random size range for large rooms.
Remove 'first_room_large' bool.
Add 'large_room_chance' parameter that can disable large rooms,
specify 1 large room, or specify a chance for large rooms.
If 1 or a chance is specified, the first generated room is large,
to take advantage of the intersection checks that are done for the
1st room only.

5 years agoDocs: Clarify where to check for 'protection_bypass' (#8675)
SmallJoker [Sun, 14 Jul 2019 11:23:38 +0000 (13:23 +0200)]
Docs: Clarify where to check for 'protection_bypass' (#8675)

5 years agoMove more dungeon parameter selection to mapgens (#8653)
Paramat [Tue, 9 Jul 2019 19:38:51 +0000 (20:38 +0100)]
Move more dungeon parameter selection to mapgens (#8653)

Move 'num_dungeons' to 'DungeonParams'.
Add new parameter 'num_rooms' to replace 'rooms_min' and 'rooms_max',
so that the mapgen has complete control over the number of rooms.
Add new bool 'first_room_large' so that the mapgen chooses this
instead of a hardcoded 1 in 4 chance.
Add new parameter 'room_size_large' to replace 'room_size_large_min'
and 'room_size_large_max', so that the mapgen has complete control
over this.

5 years agoDo predict when sneak-place to node with on_rightclick
DS-Minetest [Sat, 29 Jun 2019 14:17:00 +0000 (16:17 +0200)]
Do predict when sneak-place to node with on_rightclick

5 years agoImprove ABM time budget handling. #8645
Lars Hofhansl [Mon, 8 Jul 2019 06:23:00 +0000 (23:23 -0700)]
Improve ABM time budget handling. #8645

5 years agoDocument ObjectRef:remove under Lua entity (#8659)
ANAND [Mon, 8 Jul 2019 02:27:56 +0000 (07:57 +0530)]
Document ObjectRef:remove under Lua entity (#8659)

This was previously documented under the general ObjectRef section with a note that this won't work on players. So I think this would fit better with Lua entity-only methods.

This PR also changes the title of the Lua entity-only section from `LuaEntitySAO-only` to `Lua entity only`.

5 years agoImprove grammar and formatting in the README
Hugo Locurcio [Mon, 1 Jul 2019 18:46:28 +0000 (20:46 +0200)]
Improve grammar and formatting in the README

This also clarifies the fact that Minetest saves `minetest.conf`
when closing Minetest for the first time, rather than when starting it
for the first time.

This also fixes the default key for the pitch move mode which is now P.

5 years agoUpdate biome definition dungeon node documentation (#8650)
Paramat [Mon, 1 Jul 2019 21:21:17 +0000 (22:21 +0100)]
Update biome definition dungeon node documentation (#8650)

5 years agoDungeongen: Remove most hardcoded dungeon nodes (#8594)
Paramat [Sun, 30 Jun 2019 21:55:20 +0000 (22:55 +0100)]
Dungeongen: Remove most hardcoded dungeon nodes (#8594)

Biome-defined dungeon nodes was added as a feature to MT 5.0.0.
So now remove most of the hardcoded dungeon node code that assumes a
game has stone, sandstone, desert stone, and no other stone types.
If biome-defined dungeon nodes are not found, dungeon nodes fall back
to the 'cobble' mapgen alias if present, if not present they fall back
to biome-defined 'stone'.
Remove now-unnecessary mapgen aliases from MapgenBasic. Non-mgv6 games
now only need to define 3 to 5 mapgen aliases.

Document dungeon parameters.

Make c_lava_source fallback to c_water_source as both are used as cave
liquids.

5 years agoOptimize and unify mesh processing (#7851)
Vitaliy [Fri, 28 Jun 2019 02:22:16 +0000 (05:22 +0300)]
Optimize and unify mesh processing (#7851)

5 years agoAdd compatible, consistent coordinate system to FormSpecs. (#8524)
v-rob [Thu, 27 Jun 2019 12:40:49 +0000 (05:40 -0700)]
Add compatible, consistent coordinate system to FormSpecs. (#8524)

5 years agoIncrease upper limit of display_gamma to 10 (#8618)
ANAND [Thu, 27 Jun 2019 03:04:12 +0000 (08:34 +0530)]
Increase upper limit of display_gamma to 10 (#8618)

5 years agoAdd support for 9-sliced backgrounds (#8600)
rubenwardy [Sat, 22 Jun 2019 14:03:54 +0000 (15:03 +0100)]
Add support for 9-sliced backgrounds (#8600)

9-slice textures are commonly used in GUIs to allow scaling them to match any resolution without distortion.

https://en.wikipedia.org/wiki/9-slice_scaling