Paramat [Tue, 4 Apr 2017 05:51:58 +0000 (06:51 +0100)]
MapgenBasic: Add lava source as commonly used content (#5512)
Future mapgens are likely to use this for magma and volcanos.
Remove the getting of lava source content id in mgvalleys.
Loïc Blot [Tue, 4 Apr 2017 05:47:04 +0000 (07:47 +0200)]
Client handlers: Remove useless stringstream usage in two handlers (#5510)
red-001 [Tue, 4 Apr 2017 05:41:37 +0000 (06:41 +0100)]
[CSM] Add local node meta reference. (#5508)
paramat [Sun, 12 Mar 2017 13:26:09 +0000 (13:26 +0000)]
Cavegen/Mgv5/Mgv7: Add optional giant caverns
Add to MapgenBasic for use by multiple mapgens.
Add to mgv5 and mgv7, enabled by default.
Similar to mgvalleys caverns but half the scale.
Parameters for upper y limit, distance caverns taper to full size, and
noise threshold (full cavern size).
As with mgvalleys caverns are generated first and classic caves are
disabled in any mapchunk containing a cavern, to avoid excessive
spreading volumes of liquids.
This also avoids floating blobs of liquid where a large classic cave
has overgenerated out into a neighbouring previously-generated mapchunk.
Loïc Blot [Sun, 2 Apr 2017 08:51:50 +0000 (10:51 +0200)]
Update embedded jsoncpp from unk version to 0.10.6 + move libs to lib/ instead of src/ (#5473)
* Update embedded jsoncpp from unk version to 0.10.6
0.10.6 is last release without c++11
* Make jsoncpp more compliant with its amalgamate
Jsoncpp cpp file should be upper, make the library like it does in amalgamate
* Reorganization: move minetest embedded libs outside of source tree to /lib
* Fix a dead grep in LINT
Auke Kok [Sun, 2 Apr 2017 08:51:16 +0000 (08:51 +0000)]
minetest.after(): simplify further, pause in singleplayer (#5500)
Using the `dtime` value entirely, this will stop the clock
if the game is paused in singleplayer. Since most of the
clocks were fixed a long time ago, this should again be
safe to use.
MarkuBu [Sat, 1 Apr 2017 14:50:53 +0000 (16:50 +0200)]
First commit for fine pointed (#5485)
Uwe Koloska [Sat, 1 Apr 2017 14:47:58 +0000 (16:47 +0200)]
Add missing source to android build (#5496)
Loïc Blot [Sat, 1 Apr 2017 12:48:16 +0000 (14:48 +0200)]
Clang-format: trivial fix on some headers (#5495)
Fix some headers style and remove them from whitelist
red-001 [Sat, 1 Apr 2017 11:40:56 +0000 (12:40 +0100)]
[CSM] Add function and chat command to disconnect from server. (#5487)
number Zero [Sat, 25 Mar 2017 18:01:27 +0000 (21:01 +0300)]
Signlike, glasslike drawtypes: Fix inverted textures
SmallJoker [Sat, 1 Apr 2017 08:18:13 +0000 (10:18 +0200)]
mapgen: Fix segfault when selecting invalid mapgen (#5491)
Loic Blot [Fri, 31 Mar 2017 20:29:34 +0000 (22:29 +0200)]
Fix clang-format Columns Width
Also fix l_client.cpp/h and remove them from whitelist
kilbith [Fri, 31 Mar 2017 19:57:08 +0000 (21:57 +0200)]
Wieldmesh: Natural orientation depending on pitch (#5490)
adrido [Thu, 30 Mar 2017 18:28:37 +0000 (20:28 +0200)]
Windows: Set window icon (#5486)
paramat [Wed, 29 Mar 2017 02:40:30 +0000 (03:40 +0100)]
Paramtype2: Add missing type CPT2_GLASSLIKE_LIQUID_LEVEL
Add the missing paramtype2 for param2 controlling the liquid level
inside the glasslike_framed drawtype.
Add missing documentation of the feature to lua_api.txt.
Update and improve comments for drawtype enumerations in nodedef.h.
Loïc Blot [Wed, 29 Mar 2017 13:50:22 +0000 (15:50 +0200)]
l_minimap: don't show minimap if configuration doesn't allow it
Loïc Blot [Wed, 29 Mar 2017 11:34:57 +0000 (13:34 +0200)]
Add CPP11 header to define nullptr & constexpr (#5471)
This header permit to use nullptr & constexpr keywords in portable code segments and benefit from nullptr & constexpr when using C++11 and greater
sfan5 [Wed, 29 Mar 2017 08:17:57 +0000 (10:17 +0200)]
Sneak: Fix sneaking on free-floating lower-half slabs
sfan5 [Mon, 27 Mar 2017 16:22:40 +0000 (18:22 +0200)]
Sneak: Fix stair lower step bug and ladder in 1x1 hole bugs
Diego Martínez [Tue, 28 Mar 2017 19:55:39 +0000 (16:55 -0300)]
Add functions to strip color information. (#5472)
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
red-001 [Tue, 28 Mar 2017 06:26:54 +0000 (07:26 +0100)]
[CSM] Fix errors in and improve the CSM documentation. (#5467)
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
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
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.
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.
Loic Blot [Sun, 26 Mar 2017 16:54:39 +0000 (18:54 +0200)]
Fix mismatch struct/class for GameUIFlags
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
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)
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.
red-001 [Fri, 24 Mar 2017 23:43:36 +0000 (23:43 +0000)]
Change command prefix to "." and add "help" command.
number Zero [Sat, 18 Feb 2017 18:53:05 +0000 (21:53 +0300)]
Add mesh generation delay
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
SmallJoker [Fri, 24 Mar 2017 19:05:15 +0000 (20:05 +0100)]
Tile.cpp: Fix MSVC build broken by
072bbba
Loïc Blot [Fri, 24 Mar 2017 07:59:52 +0000 (08:59 +0100)]
Typo fix
red-001 [Fri, 24 Mar 2017 07:36:29 +0000 (07:36 +0000)]
Add multiline support to colorize. (#5444)
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
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
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)
number Zero [Mon, 13 Feb 2017 16:31:43 +0000 (19:31 +0300)]
Content_mapblock.cpp: Refactor
Ben Deutsch [Fri, 17 Mar 2017 19:56:04 +0000 (20:56 +0100)]
Refactored client event if-else cascade to switch statement
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.
sfan5 [Sun, 19 Mar 2017 17:17:59 +0000 (18:17 +0100)]
Fix /shutdown or ^C no longer causing server exit
Broken since
b8484ef24e8e1ec90a2967372808ab2bea538c7c
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
red-001 [Sat, 28 Jan 2017 21:43:06 +0000 (21:43 +0000)]
Block access to the `io` library
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
ShadowNinja [Thu, 15 Oct 2015 17:04:15 +0000 (13:04 -0400)]
Server list cleanup
This removes the hacky server_dedicated pseudo-setting.
Wuzzy [Fri, 24 Feb 2017 03:17:14 +0000 (04:17 +0100)]
Show itemstring as tooltip if no item description
Loic Blot [Sat, 18 Mar 2017 09:00:04 +0000 (10:00 +0100)]
TOGGLE_CHAT keymap should togglechat not HUD
Fixes #5413
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)
zeuner [Fri, 17 Mar 2017 20:28:43 +0000 (21:28 +0100)]
avoid crashing when accessing mapgen early (#5384)
red-001 [Fri, 17 Mar 2017 18:20:13 +0000 (18:20 +0000)]
Give CSM access to use `core.colorize()` (#5113)
Loïc Blot [Fri, 17 Mar 2017 06:54:49 +0000 (07:54 +0100)]
[CSM] Fix minimap problems (#5405)
This fixes issue #5404
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
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
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
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
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.
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).
SmallJoker [Wed, 15 Mar 2017 21:07:19 +0000 (22:07 +0100)]
lua_api: Document minetest.features (#5311)
Lars Hofhansl [Sun, 12 Mar 2017 04:50:14 +0000 (20:50 -0800)]
Use true distance for block priority.
Wayward One [Wed, 15 Mar 2017 14:42:47 +0000 (10:42 -0400)]
Fix undefined references (#5400)
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)
rubenwardy [Tue, 14 Mar 2017 06:51:07 +0000 (06:51 +0000)]
Add disclaimer to client_lua_api.txt (#5391)
red-001 [Tue, 31 Jan 2017 13:18:52 +0000 (13:18 +0000)]
Add `get_wielded_item`
nerzhul [Mon, 13 Mar 2017 14:55:30 +0000 (15:55 +0100)]
[CSM] Add enable_client_modding param (default: false)
red-001 [Sun, 29 Jan 2017 18:28:38 +0000 (18:28 +0000)]
[CSM] Add `on_punchnode` callback
red-001 [Mon, 30 Jan 2017 19:10:37 +0000 (19:10 +0000)]
[CSM] Add `get_node` and `get_node_or_nil`
red-001 [Sun, 29 Jan 2017 17:43:44 +0000 (17:43 +0000)]
[CSM] Add `on_dignode` callback (#5140)
Loic Blot [Sat, 28 Jan 2017 17:31:23 +0000 (18:31 +0100)]
[CSM] storage + fixes
red-001 [Sat, 28 Jan 2017 16:24:25 +0000 (16:24 +0000)]
[CSM] Improve security for client-sided mods (#5100)
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
red-001 [Tue, 24 Jan 2017 16:26:15 +0000 (16:26 +0000)]
[CSM] Add local formspecs. (#5094)
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
red-001 [Sun, 22 Jan 2017 08:05:09 +0000 (08:05 +0000)]
[CSM] Add client-sided chat commands (#5092)
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
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)
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
kilbith [Mon, 13 Mar 2017 07:07:14 +0000 (08:07 +0100)]
GUI: Allow texture packs to customize the progress bar (#5368)
Vladislav Tsendrovskii [Fri, 17 Feb 2017 01:48:48 +0000 (04:48 +0300)]
Save metainfo for falling nodes
Lars Hofhansl [Fri, 3 Mar 2017 20:40:50 +0000 (12:40 -0800)]
Enable server side occlusion culling by default.
Lars Hofhansl [Tue, 28 Feb 2017 07:06:15 +0000 (23:06 -0800)]
Allow server side occlusion culling.
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.
sfan5 [Sat, 11 Mar 2017 20:39:32 +0000 (21:39 +0100)]
database-redis: Support password authentication
paramat [Mon, 6 Mar 2017 08:35:13 +0000 (08:35 +0000)]
Climb speed: Increase default setting from 2 to 3
number Zero [Thu, 23 Feb 2017 13:04:39 +0000 (16:04 +0300)]
Minimap: Optimise
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.
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.
kilbith [Fri, 10 Mar 2017 12:26:24 +0000 (13:26 +0100)]
GUI: Convert loading screen's progress bar to image (#5362)
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
Juhani Numminen [Tue, 17 Jan 2017 15:26:21 +0000 (17:26 +0200)]
Update .appdata and .desktop files
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.
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.
Fixer [Thu, 16 Feb 2017 21:11:08 +0000 (23:11 +0200)]
README.txt: Clarify loading of minetest.conf
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)
adelcoding1 [Sat, 4 Mar 2017 09:46:55 +0000 (10:46 +0100)]
FormSpec: Add position and anchor elements (#5284)
Bond-009 [Mon, 27 Feb 2017 12:22:49 +0000 (13:22 +0100)]
Fixed spelling mistakes (#5312)
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.
red-001 [Sat, 25 Feb 2017 08:28:25 +0000 (08:28 +0000)]
Fix crash that can be caused by the shutdown command. (#5292)