paramat [Wed, 11 Oct 2017 00:06:40 +0000 (01:06 +0100)]
Biome API: Add decoration flags for underground decorations
Add "all_floors" and "all_ceilings" flags for simple and schematic
decorations. Decorations are placed on all floor and/or ceiling surfaces.
Decorations are placed before dungeon generation so placement in dungeons
is not possible.
Add 'getSurfaces()' function to mapgen.cpp that returns 2 arrays of y
coordinates for all floor and ceiling surfaces in a specified node column.
Move 'getHeight()' checks into DecoSimple and DecoSchematic. Delete
'getHeight()' functions.
raymoo [Tue, 18 Apr 2017 23:30:27 +0000 (16:30 -0700)]
Allow overriding tool capabilities through itemstack metadata
This makes it possible to modify the tool capabilities of individual
itemstacks by calling a method on itemstack metadata references.
lhofhansl [Sat, 28 Oct 2017 08:33:47 +0000 (01:33 -0700)]
Avoid filtering low-res textures for animated meshes (incl. players) (#6562)
raymoo [Sat, 28 Oct 2017 08:30:50 +0000 (01:30 -0700)]
Fix default item callbacks to work with nil users (#5819)
* Fix default item callbacks to work with nil users
* item.lua: Handle node drops for invalid players
The if-condition for the dropping loop is the same as `inv`, which means that the 2nd possible definition of `give_item` is never used.
Remove redundant `local _, dropped_item`
Esteban I. Ruiz Moreno [Wed, 25 Oct 2017 13:23:24 +0000 (10:23 -0300)]
Add missing? include
Lars Hofhansl [Thu, 26 Oct 2017 06:10:33 +0000 (23:10 -0700)]
Reduce server FOV with forward speed
This causes blocks in front of the player to be rendered sooner and
blocks in the periphal view (that would soon be out of view) a bit later.
Overall this leads to smoother rendering as the player is moving around.
paramat [Mon, 23 Oct 2017 04:07:27 +0000 (05:07 +0100)]
Minetest.conf.example(.extra): Updates due to noise group format
Autogenerate minetest.conf.example to convert noises to the now standard
'group format'.
Delete the now unnecessary minetest.conf.example.extra.
Muhammad Rifqi Priyo Susanto [Mon, 23 Oct 2017 04:04:22 +0000 (11:04 +0700)]
Lua_api.txt: Revert changes to NoiseParams format example
Muhammad Rifqi Priyo Susanto [Sat, 9 Sep 2017 17:49:12 +0000 (00:49 +0700)]
Improvements/fixes for noise parameter input in advanced settings
Formspec input for each individual noise parameter and flag.
Allow noise flags to be set in advanced settings, previously only settable
in minetest.conf.
Standardise 'group format' for noise parameters set in minetest.conf, as
only these support noise flags. However the older 'single line' format is
still accepted to support existing minetest.conf files.
Therefore auto-generate minetest.conf.example with noise parameters in
'group format'.
Setting 'type' in settingtypes.txt is now either 'noise_params_2D' or
'noise_params_3D', the dimension number is displayed in the advanced
settings edit page.
Auke Kok [Fri, 20 Oct 2017 04:39:45 +0000 (21:39 -0700)]
Correct `prot_vers` in lua_api.txt.
We should avoid providing incorrect struct members in documentation
since people will be coding based on them.
Lars Hofhansl [Thu, 19 Oct 2017 16:46:30 +0000 (09:46 -0700)]
Set range of blocks to retrieve per roundtrip to 2.
This is a small, partial revert of #6483, which had set this to 1.
Loic Blot [Tue, 17 Oct 2017 20:29:05 +0000 (22:29 +0200)]
directiontables.cpp: fix a warning reported by VS2017
asl97 [Tue, 17 Oct 2017 19:50:58 +0000 (03:50 +0800)]
Fix inventory drag drop flag (#6416)
Esteban I. RM [Mon, 16 Oct 2017 23:44:48 +0000 (20:44 -0300)]
Add updated settings_translation_file
Esteban I. RM [Mon, 16 Oct 2017 00:22:22 +0000 (21:22 -0300)]
don't pass g_settings around, and use it directly
Esteban I. RM [Sun, 15 Oct 2017 23:29:08 +0000 (20:29 -0300)]
Regenerate minetest.conf.example and translation file
Esteban I. RM [Sun, 15 Oct 2017 23:28:42 +0000 (20:28 -0300)]
Implement #6096
SmallJoker [Mon, 16 Oct 2017 18:12:48 +0000 (20:12 +0200)]
Fix strict_protocol_version_checking functionality after
ee9a442
Esteban I. RM [Sun, 15 Oct 2017 05:52:05 +0000 (02:52 -0300)]
Don't try to craft a non-existent item
Vitaliy [Sun, 15 Oct 2017 07:34:14 +0000 (10:34 +0300)]
Real global textures (#6105)
* Real global textures
* Add world-aligned textures
* Update minimal to support world-aligned tiles
* Update minimal
lhofhansl [Sun, 15 Oct 2017 07:32:17 +0000 (00:32 -0700)]
Cache server config settings. (#6530)
* Cache server config settings.
rubenwardy [Sat, 14 Oct 2017 17:28:56 +0000 (18:28 +0100)]
Profiler: Fix var args not being passed to callback register function
Fixes #6517
Lars Hofhansl [Sun, 1 Oct 2017 01:54:43 +0000 (18:54 -0700)]
Retrieve a small cone of blocks in the direction of the players velocity.
This helps retrieving the right set of blocks when the player is falling,
traveling on cart, or in general traveling in a direction different from
the view direction.
SmallJoker [Fri, 13 Oct 2017 21:05:52 +0000 (23:05 +0200)]
Formspec: Fallback to 'label' in readonly textarea[]
Guarantees backwards compatibility for this formspec element change
paramat [Mon, 9 Oct 2017 19:13:10 +0000 (20:13 +0100)]
Simple decorations: Make 'place_offset_y' usable with simple decorations
Necessary for placing the base cube of 'plantlike_rooted' drawtype in the
seabed instead of on it.
Useful for placing decorations sunk into, or buried in, the ground.
DTA7 [Mon, 2 Oct 2017 23:23:49 +0000 (01:23 +0200)]
Smooth lighting: Fix light leaking through edge-connected corners
For solid nodes, the lighting at a corner becomes face-dependent, which
means that only the four nodes in face-direction contribute to the
lighting (getSmoothLightSolid).
For special nodes, which use the lighting values at the eight corners of
a node, the lighting is not face-dependent, but certain nodes of the
eight surrounding nodes of a corner (here indices 4, 5, 6 and 7) can be
obstructed.
Ambient occlusion now also occurs for solid nodes, if two, three or four
of the four nodes in face-direction are solid.
Loic Blot [Tue, 10 Oct 2017 17:30:18 +0000 (19:30 +0200)]
Loïc Blot [Tue, 10 Oct 2017 10:27:08 +0000 (12:27 +0200)]
Thread: fix a crash on Windows due to data race condition on Thread::m_start_finished_mutex (#6515)
Loic Blot [Mon, 9 Oct 2017 22:47:37 +0000 (00:47 +0200)]
NetworkPacket::putRawPacket: resize m_data to datasize + memcpy
In some cases NetworkPacket was created using default constructor and m_data is not properly sized.
This fixed out of bounds memory copy
Also use memcpy instead of std::vector affectation to enhance packet creation
paramat [Sun, 8 Oct 2017 20:08:52 +0000 (21:08 +0100)]
Simple decorations: Add 'param2_max' parameter for random param2
If 'param2_max' is not used, parameter 'param2' works as before for
compatibility.
If 'param2_max' is used, 'param2' and 'param2_max' become the lower
and upper bounds of a per-decoration random param2.
Loïc Blot [Mon, 9 Oct 2017 09:32:06 +0000 (11:32 +0200)]
Travis: Update clang from 4.0 to 5.0 (#6467)
* Update clang from 4.0 to 5.0
adrido [Mon, 9 Oct 2017 04:57:18 +0000 (06:57 +0200)]
Formspec: textarea with scrollbar improvements
Increase scrollrate depending on fontsize
Scroll on mousewheel
Allow scrolling and marking text on non writable textareas
Update lua api about readonly mode
Show scrollbar if text overflows
adelcoding1 [Sat, 18 Feb 2017 19:40:37 +0000 (11:40 -0800)]
FormSpec : Add an auto vertical scrollbar to the textarea
adrido [Sat, 7 Oct 2017 13:13:13 +0000 (15:13 +0200)]
Replace deprecated WINAPI GetVersionInfoEx (#6496)
* Replace deprecated WINAPI GetVersionInfoEx
lhofhansl [Sat, 7 Oct 2017 13:12:09 +0000 (06:12 -0700)]
Do not grant all privs to the admin - changes game behavior (#6460)
* Do not grant all privs to admins.
* Default give_to_admin to give_to_singleplayer
Rob Blanckaert [Sat, 7 Oct 2017 13:11:48 +0000 (09:11 -0400)]
Add setting for near plane distance. (#6395)
* Allow setting the near plane
* - Add near_plane limit of 0.5 to prevent x-ray.
- Add more details to near_plane setting.
SmallJoker [Sat, 7 Oct 2017 13:11:07 +0000 (15:11 +0200)]
Unkown nodes: Provide position on interact (#6505)
* Unkown nodes: Provide position on interact
James Alexander Stevenson [Fri, 6 Oct 2017 17:56:05 +0000 (13:56 -0400)]
settingtypes.txt: Update zoom description (#6443)
James Alexander Stevenson [Thu, 5 Oct 2017 14:14:10 +0000 (10:14 -0400)]
Move register_on_modchannel_signal() (#6497)
Moved from lua_api.txt to client_lua_api.md.
Vincent Glize [Mon, 2 Oct 2017 20:09:49 +0000 (22:09 +0200)]
[CSM] Add callback on open inventory (#5793)
SmallJoker [Mon, 2 Oct 2017 18:40:59 +0000 (20:40 +0200)]
ParticleSpawner::step cleanup and rotation fix (#6486)
* Particles: Move spawner code to a separate fucntion
paramat [Tue, 19 Sep 2017 15:39:30 +0000 (16:39 +0100)]
CAO footstep sounds: Reduce gain to balance volume
paramat [Sat, 30 Sep 2017 09:23:57 +0000 (10:23 +0100)]
Stratum ore: Allow use with no noise for simple horizontal strata
If either of the 2 noise parameters are omitted the ore will occur from y_min
to y_max in a simple horizontal stratum. As this does not compute noise
performance improves, and is ideal for placing many layers.
Clean up some nearby ore documentation.
Loïc Blot [Sat, 30 Sep 2017 14:41:18 +0000 (16:41 +0200)]
game.cpp: remove dead code for proto v25 compat (#6481)
Protocol v25 is not supported anymore
raymoo [Sat, 30 Sep 2017 13:23:52 +0000 (06:23 -0700)]
Fix attached particle spawners far from spawn (#6479)
* Fix attached particle spawners far from spawn
When far from spawn, attached particle spawners
did not spawn particles.
Loïc Blot [Sat, 30 Sep 2017 10:00:05 +0000 (12:00 +0200)]
Make Player::peer_id server-side only and add getters and setters (#6478)
* Make Player::peer_id server-side only and add getters and setters
Player::peer_id has no sense client side, move it to server, make it private and add setter and getter
Also add some PEER_ID_INEXISTENT instead of harcoded 0
SmallJoker [Sat, 23 Sep 2017 14:29:48 +0000 (16:29 +0200)]
Localplayer: Fix disable_jump effect and getStandingNodePos()
Leave the old move code untouched.
Hybrid Dog [Mon, 28 Aug 2017 18:21:28 +0000 (20:21 +0200)]
Lua_api.txt: Clarify arguments of functions, plus some cleanup
raymoo [Thu, 28 Sep 2017 16:40:47 +0000 (09:40 -0700)]
Document orientation parameter of set_attach (#6473)
orwell96 [Thu, 28 Sep 2017 15:11:51 +0000 (17:11 +0200)]
Add static_save property to luaentites to not save them statically. (#5112)
* Add no_static_save property to luaentites to not save them statically.
This allows for temporary objects that would get deleted anyway as soon as they are loaded again without the static saving overhead.
* Use positive meaning for static_save object property
* Invert meaning also for the LUA parameter
Note: getboolfield() does not change &result when field does not exist, so it defaults to the default value in the header file, which is 'true'.
* Extend push_object_properties()
Loïc Blot [Thu, 28 Sep 2017 11:47:30 +0000 (13:47 +0200)]
Server: affect bind_addr on constructor instead of start() (#6474)
bind_addr is already ready when using constructor as we read is.IPv6 from it, instead pass the whole address
Loic Blot [Wed, 27 Sep 2017 21:48:06 +0000 (23:48 +0200)]
Paramat [Wed, 27 Sep 2017 21:03:41 +0000 (22:03 +0100)]
Fix recent commit: std::max -> std::fmax for floats (#6469)
Fixes commit
a455297d297c0819a7eff89e51e5f01a5ac731c3
<cmath> header was already present in commit.
Loic Blot [Wed, 27 Sep 2017 20:41:50 +0000 (22:41 +0200)]
Lint fix
Loïc Blot [Wed, 27 Sep 2017 17:47:36 +0000 (19:47 +0200)]
Add session_t typedef + remove unused functions (#6470)
* Add session_t typedef + remove unused functions
u16 peer_id is used everywhere, to be more consistent and permit some evolutions on this type in the future (i'm working on a PoC), uniformize u16 peer_id to SessionId peer_id
SmallJoker [Tue, 26 Sep 2017 18:30:42 +0000 (20:30 +0200)]
Update version correctly again (#6462)
* Update version correctly again
Partial revert of PR 6331
* It doesn't update automatically
Loïc Blot [Tue, 26 Sep 2017 18:30:14 +0000 (20:30 +0200)]
Update JsonCPP to 1.8.3 (#6466)
* Update JsonCPP to 1.8.3
* Fix deprecated functions
Json::FastWriter, Json::StyledWriter and Json::Reader are marked deprecated since 1.1 and are deprecated in 0.8 but not shown at compilation time.
Use new methods to serialize/deserialize
Loic Blot [Tue, 26 Sep 2017 06:31:56 +0000 (08:31 +0200)]
preview: try to send mod channel messages 4 seconds after joining, not after loading mod
DTA7 [Tue, 26 Sep 2017 06:17:50 +0000 (08:17 +0200)]
Add mute setting (toggled by the mute key and in the volume menu) (#6415)
* Add mute setting (toggled by the mute key and in the volume menu)
Loïc Blot [Mon, 25 Sep 2017 22:11:20 +0000 (00:11 +0200)]
Implement mod communication channels (#6351)
Implement network communication for channels
* Implement ModChannel manager server side to route incoming messages from clients to other clients
* Add signal handler switch on client & ModChannelMgr on client to handle channels
* Add Lua API bindings + client packet sending + unittests
* Implement server message sending
* Add callback from received message handler to Lua API using registration method
paramat [Mon, 25 Sep 2017 18:28:46 +0000 (19:28 +0100)]
Can_zoom player object property: Add missing documentation
paramat [Sat, 23 Sep 2017 07:38:22 +0000 (08:38 +0100)]
Positional sound: Limit volume when closer than 1 node
Change OpenAL distance model from AL_INVERSE_DISTANCE to
AL_INVERSE_DISTANCE_CLAMPED to avoid excessive volume when very close
to the sound location, for example MTG doors, and MTG fire sounds which
are combined at an average position and often located in air nodes.
Because AL_REFERENCE_DISTANCE has been reduced to 1 node (the distance
under which gain is clamped), multiply volume by the same factor to keep
sound gains the same as before, since the gain is calculated as:
gain = (AL_REFERENCE_DISTANCE / distance)
sfan5 [Sat, 23 Sep 2017 15:05:55 +0000 (17:05 +0200)]
Fix blocks written by vmanip not being marked as modified
This bug can be triggered by e.g. calling minetest.place_schematic()
and stopping the server immediately afterwards.
DTA7 [Thu, 21 Sep 2017 19:52:52 +0000 (21:52 +0200)]
Set placer to nil instead of a non-functional one in item_OnPlace (#6449)
* Set placer to nil instead of a non-functional one
This requires nil checks in core.rotate_node and core.rotate_and_place.
SmallJoker [Thu, 21 Sep 2017 17:56:11 +0000 (19:56 +0200)]
on_death: Fix callback number of pushed arguments (Fixes #6451)
Loic Blot [Thu, 21 Sep 2017 16:47:42 +0000 (18:47 +0200)]
keycode.cpp: use std::unordered_map for keypress cache
jcalve [Wed, 20 Sep 2017 21:29:47 +0000 (23:29 +0200)]
Fix compile error in openbsd (#6430)
Include the header that defines AF_INET and AF_INET6
paramat [Tue, 19 Sep 2017 07:10:07 +0000 (08:10 +0100)]
Rooted plantlike drawtype: Add remaining documentation
Plus a small clarification of 'glasslike framed' documentation.
paramat [Mon, 18 Sep 2017 04:08:56 +0000 (05:08 +0100)]
Leveled nodebox: Change levels from 1/63rds to 1/64ths
Add missing documentation of leveled nodebox to lua_api.txt, plus
a little cleaning up nearby.
paramat [Sat, 16 Sep 2017 23:26:20 +0000 (00:26 +0100)]
Biome API: Revert biomes, decos, ores being relative to water level
Feature is unnecessary and would greatly complicate future development,
it would also make 'get biome at pos' extremely complex.
Mgv7: Revert option to repeat surface biomes in floatlands, which
depended on the above.
paramat [Sun, 17 Sep 2017 01:54:17 +0000 (02:54 +0100)]
Biome generation: Fix layers of 'filler' nodes at biome y limits
Error was exposed by commit
a1389c38658fe69c3bd25c3099bae9a4e51ed401
'nplaced' was not set to U16_MAX when biome 'stone' was placed, so when
biome was recalculated in a column of stone, the 'nplaced' value
caused a few remaining filler nodes to be placed.
Occurs when the lower biome has a deeper depth of 'top' plus 'filler'
than the upper biome.
tenplus1 [Sat, 16 Sep 2017 20:39:38 +0000 (21:39 +0100)]
Fix Rotate Node Placement (#6424)
This properly checks for creative mode or privilege when using fixed rotate_node() function.
DTA7 [Sat, 16 Sep 2017 16:42:17 +0000 (18:42 +0200)]
Correct tooltip_append_itemstring terminology (#6421)
Greg [Sat, 16 Sep 2017 16:40:19 +0000 (09:40 -0700)]
Fix addModsFormConfig typo (#6420)
paramat [Sat, 16 Sep 2017 01:46:26 +0000 (02:46 +0100)]
Generate biomes: Recalculate biome at biome lower limit
Prevents biome nodes passing below the defined y_min of that biome.
DTA7 [Fri, 15 Sep 2017 12:31:32 +0000 (14:31 +0200)]
Add setting to display the itemstring after the tooltip in the inventory. (#6413)
* Add setting to display the itemstring after the tooltip in the inventory.
sfan5 [Fri, 15 Sep 2017 10:19:01 +0000 (12:19 +0200)]
ServerEnv: Clean up object lifecycle handling (#6414)
* ServerEnv: Clean up object lifecycle handling
SmallJoker [Fri, 15 Sep 2017 10:18:47 +0000 (12:18 +0200)]
Customizeable max breath for players (#6411)
* Customizeable maximal breath for players
paramat [Mon, 11 Sep 2017 20:23:43 +0000 (21:23 +0100)]
Cavegen: Avoid unsupported biome 'top' or 'filler' nodes
For 3D noise tunnels only, replace unsupported biome 'top' and 'filler'
nodes in tunnel roof with the defined biome 'stone'.
This makes terrain created by 3D noise tunnels consistent with the rest
of mapgen, which does exactly the same in this situation.
Rob Blanckaert [Sat, 2 Sep 2017 06:12:15 +0000 (23:12 -0700)]
Object properties: Add 'glow', disables light's effect if negative
The 'glow' value is added to the ambient light value.
Negative 'glow' disables light's effect on object colour, for faking
self-lighting, UI-style entities, or programmatic colouring in mods.
Paramat [Tue, 12 Sep 2017 22:01:50 +0000 (23:01 +0100)]
Item drop: Tune to land exactly 2 nodes away with level view (#6410)
SmallJoker [Tue, 12 Sep 2017 18:26:03 +0000 (20:26 +0200)]
Network: Fix logging into older worlds with base64 hashes
SmallJoker [Tue, 12 Sep 2017 17:48:09 +0000 (19:48 +0200)]
Network: Remove large parts of deprecated legacy code (#6404)
Also remove the setting 'send_pre_v25_init'
Keep old enum entries for obsolete commands
sfan5 [Tue, 12 Sep 2017 17:35:31 +0000 (19:35 +0200)]
Fix failing linter (travis)
sfan5 [Mon, 11 Sep 2017 14:25:20 +0000 (16:25 +0200)]
Fix core.wrap_text and make its behaviour consistent with the docs
Code based on initial implementation by @dsohler.
Kahrl [Mon, 11 Sep 2017 13:51:40 +0000 (15:51 +0200)]
Make INodeDefManager::getIds return a vector, not a set
Auke Kok [Mon, 11 Sep 2017 12:50:06 +0000 (14:50 +0200)]
Implement client node dig prediction
Dig prediction allows clients to remove dug nodes without
waiting for server acknowledgement.
This patch allows mods to override dig prediction,
it can either be turned off or a different "prediction node"
can be selected.
red-001 [Sun, 16 Oct 2016 16:35:07 +0000 (17:35 +0100)]
Allow the join/leave message to be overridden by mods.
you [Mon, 11 Sep 2017 06:20:06 +0000 (08:20 +0200)]
Fix dropped item look (#6370)
* Abort set_item when it does nothing
* Do not adjust dropped item size linearly
Instead use cube root because the item count is proportional to the volume, not to the length.
* Make the item rotate slower when it's bigger
Bigger items chafe more on the ground, so they can't rotate as fast as small ones
* Fix items flying in air
SmallJoker [Sun, 10 Sep 2017 18:16:25 +0000 (20:16 +0200)]
Object properties: Fix loss of custom selectionbox
Only adjust it to the collisionbox value when the collisionbox was really set.
rubenwardy [Sun, 10 Sep 2017 01:39:37 +0000 (02:39 +0100)]
Fix incorrect buffer size calculation on creation of HUD status messages
Fixes #6400
paramat [Wed, 6 Sep 2017 21:20:09 +0000 (22:20 +0100)]
Schematic decorations: Add 'place_offset_y' placement parameter
For precise control of schematic vertical position relative to the
'place_on' node.
Avoids workarounds that add empty nodes to a schematic and therefore
reduce performance.
Also remove long-unused decoration cutoff code.
rubenwardy [Sat, 19 Aug 2017 18:43:02 +0000 (19:43 +0100)]
Fix empty legacy meta being persisted
rubenwardy [Fri, 8 Sep 2017 22:45:56 +0000 (23:45 +0100)]
Fix crash on revocation of removed privilege
SmallJoker [Fri, 8 Sep 2017 22:36:48 +0000 (00:36 +0200)]
Server: Calculate maximal total block sends dynamically (#6393)
The block sends per client is 1/2 when reaching the maximal player count.
SmallJoker [Fri, 8 Sep 2017 16:39:24 +0000 (18:39 +0200)]
Particles: Do not add digging particles for airlike nodes (#6392)
Wuzzy [Fri, 8 Sep 2017 16:39:02 +0000 (18:39 +0200)]
Prevent /spawnentity from spawning unknown entity (#6388)
Loic Blot [Thu, 7 Sep 2017 21:51:06 +0000 (23:51 +0200)]
main.cpp: server-only builds should not include client headers
Loic Blot [Tue, 5 Sep 2017 20:14:56 +0000 (22:14 +0200)]
Use a Buffer instead of SharedBuffer in ConnectionCommand
This fixes #6373
Wuzzy [Tue, 5 Sep 2017 19:57:29 +0000 (21:57 +0200)]
Make HUD status messages translatable (#5795)
* Make HUD status messages translatable
* Make strings in showStatusTextSimple translatable