kilbith [Mon, 18 Apr 2016 16:20:04 +0000 (18:20 +0200)]
Mainmenu: Unify favorite servers with main serverlist
paramat [Sat, 16 Apr 2016 22:20:20 +0000 (23:20 +0100)]
Mgv7: Combine mountain terrain generation with base terrain generation
Previous mountain terrain generation was by necessity placing
stone in air, this was removing air from any overgenerated
structures such as tunnels, dungeons and large caves
Moving it into the base terrain generation loop ensures that
only 'ignore' is replaced
generateRidgeTerrain: only return if node_max.Y < water_level - 16
Previously, if water level was set a few nodes above a mapchunk
border the river channel was only partially excavated
Auke Kok [Thu, 14 Apr 2016 06:10:37 +0000 (23:10 -0700)]
falling: walk 4 additional diagonally down directions.
This seems very little cost and matches the old behavior more
closely. This will cause some more falling nodes to get added
to falling clusters. With the efficiency of the algorithm, this
really doesn't do much damage.
est31 [Fri, 15 Apr 2016 02:13:53 +0000 (04:13 +0200)]
Mainmenu: Still support favorites if send_pre_v25_init is disabled
@SmallJoker has noted a bug that servers from the (local) main menu
favorites list can't be opened.
This commit fixes the bug by disabling any main menu based protocol
checks for servers from the favorite list.
Also, it fixes a second bug that happens when a server from the
public serverlist doesn't send its supported protocol versions,
most likely because its running a minetest older than commit [1].
Then we have shown an error msg that the server has enforced
one specific protocol version. This was most likely not the case.
Of course, we can't do anything better than do an assumption on
the protocol versions if they are not known. That assumption
should however be closest to the most often occuring case as
possible.
Also, some little cleanups.
[1]:
5a0ed780f56a5225b3d7c5f64099586e390e5f39 "Server: announce MIN/MAX protocol version supported to serverlist. Client: check serverlist"
SmallJoker [Fri, 15 Apr 2016 12:37:09 +0000 (14:37 +0200)]
mainmenu: Tidy up logic in is_server_protocol_compat() (#3997)
Apply de morgan to simplify the logic.
TriBlade9 [Thu, 14 Apr 2016 09:15:41 +0000 (02:15 -0700)]
Add option to disable entity selectionboxes. (#3992)
Setting only loaded once, default value is to enable them.
rubenwardy [Tue, 12 Apr 2016 11:54:08 +0000 (12:54 +0100)]
Fix inventory hud scaling
paramat [Tue, 12 Apr 2016 03:43:22 +0000 (04:43 +0100)]
Mgv7, mgflat, mgfractal: Tunnel generation code optimisation
paramat [Sat, 9 Apr 2016 02:03:46 +0000 (03:03 +0100)]
Mgv5: Optimise tunnels, add biome material in entrances
Place biome top node on tunnel entrance floor
Instead of doing nothing at node_max.Y + 1 use 1-down
overgeneration for tunnel generation and noisemaps
paramat [Fri, 8 Apr 2016 23:24:36 +0000 (00:24 +0100)]
Mgvalleys: Don't let cavegen place biome nodes everywhere
Fix use of 'air_above' bool so that biome
nodes are only placed in tunnel floors
Minor code improvements
'Continue' when massive cave air is placed
PilzAdam [Mon, 11 Apr 2016 21:04:42 +0000 (23:04 +0200)]
Fix hotbar placement on displays with low screen density
Auke Kok [Sun, 10 Apr 2016 18:03:16 +0000 (11:03 -0700)]
Minimap: revert change from RGBA to Indexed
@kilbith spotted correctly that I had accidentally removed the
"soft" edging on the minimap overlay by converting it from RGBA
to Indexed, which killed the transparent pixels on the edging.
Auke Kok [Wed, 30 Mar 2016 14:50:10 +0000 (07:50 -0700)]
Convert nodeupdate to non-recursive
This took me a while to figure out. We no longer visit all 9 block
around and with the touched node, but instead visit adjacent plus
self. We then walk -non- recursively through all neigbors and if
they cause a nodeupdate, we just keep walking until it ends. On
the way back we prune the tail.
I've tested this with 8000+ sand nodes. Video result is here:
https://youtu.be/liKKgLefhFQ
Took ~ 10 seconds to process and return to normal.
kwolekr [Mon, 11 Apr 2016 03:51:36 +0000 (23:51 -0400)]
Hud: Cache hud_scaling, fix minor style issues
rubenwardy [Fri, 9 Jan 2015 17:04:25 +0000 (17:04 +0000)]
Hud: Fix offset being ignored by inventory bar
est31 [Sun, 10 Apr 2016 02:08:22 +0000 (04:08 +0200)]
Update CSRP-GMP to commit
deaa11a7c29a73008
Backports 10 commits, with 8 commits
actually affecting source code:
https://github.com/est31/csrp-gmp/compare/
695822e45d9ca48b75b4ec1af1b4eea19139f8b1...
deaa11a7c29a730087380da231e785909ad21630
raymoo [Sun, 10 Apr 2016 11:52:18 +0000 (04:52 -0700)]
Document hpchange callback ordering thing (#3981)
Document hpchange callback ordering thing
Callbacks registered by register_on_player_hpchange are ordered so that non-modifiers are called after modifiers are called. Credit to @TeTpaAka who mentioned this previously-undocumented feature in #3799.
See also commit
aa13baa30a45b0f834c23bd5c0407895eb8ec0ee "Add minetest.register_on_player_hpchange"
Auke Kok [Fri, 8 Apr 2016 04:50:33 +0000 (21:50 -0700)]
Minimap: "North" indicator arrow for circle minimap
Related: #3730
This adds a simple, and small "North" indicator to the circular
minimap. The indicator is in a classical triangle-like arrow with a
little bit of shading to accentuate the shape and give it a little
bit depth. The indicator is stuck exactly at the edge as far outwards
as possible, and is not too intrusive but still easy enough to spot.
Rui914 [Thu, 31 Mar 2016 08:26:39 +0000 (17:26 +0900)]
Mainmenu: Refactor tab UI code
- Use local variables for tabs in place of globals
- Merge together if statements where possible
- Replace manual table searching code with indexof where possible
David Knapp [Wed, 6 Apr 2016 06:53:00 +0000 (23:53 -0700)]
Fix ncurses lookup on Arch Linux
Arch Linux doesn't put it's ncursesw includes inside an ncursesw
directory. This script ends up setting USE_CURSES as true, but
doesn't pick up any of the headers.
https://bugs.archlinux.org/task/13994
paramat [Sat, 2 Apr 2016 01:05:08 +0000 (02:05 +0100)]
Mapgen: Optimise cave noises and tunnel excavation
Instead of doing nothing at node_max.Y + 1 use 1-down
overgeneration for tunnel generation and noisemaps
Move some old unused code in mgv7 to end of file
kwolekr [Thu, 7 Apr 2016 08:01:43 +0000 (04:01 -0400)]
Re-add and disable blit_with_interpolate_overlay
Samuel Sieb [Wed, 6 Apr 2016 07:38:11 +0000 (00:38 -0700)]
Clearer explanation of [colorize with alpha
Nathanaël Courant [Tue, 5 Apr 2016 23:11:36 +0000 (01:11 +0200)]
Fix #3955 (player dying on login).
It was caused by player not moving because fall was prevented, but their
velocity still increasing, causing fatal fall damage when world was
finally loaded. This commit fixes it by setting player velocity to zero
when the world around them is not loaded.
Samuel Sieb [Tue, 5 Apr 2016 22:36:24 +0000 (15:36 -0700)]
Fix compiler warnings from "Add an option to colorize to respect the destination alpha"
Fix warnings added by commit
01ae43c48009f816f4649fae2f7f6997452aa6cf
Fixes #3952
Samuel Sieb [Sun, 3 Apr 2016 06:35:42 +0000 (23:35 -0700)]
Add an option to colorize to respect the destination alpha
Also, rework the colorizing code to be more efficient.
kinokoio [Thu, 31 Mar 2016 18:19:41 +0000 (12:19 -0600)]
Dungeongen: Update disabled torch placement code
est31 [Fri, 1 Apr 2016 23:43:34 +0000 (01:43 +0200)]
Fix nametag hiding
Commit
c3b279750ece0b5144bf8e973d55108347462223 "Move object nametags to camera"
has added a regression to still display
a shadow if their alpha got set to 0.
Rui914 [Tue, 29 Mar 2016 10:53:15 +0000 (19:53 +0900)]
Mainmenu: Move description.txt textbox down
Additionally, fix misc. code style issues
gregorycu [Wed, 30 Mar 2016 14:07:47 +0000 (01:07 +1100)]
Remove expensive copy of ContentFeatures
Loic Blot [Tue, 29 Mar 2016 22:06:47 +0000 (00:06 +0200)]
ParticleManager::handleParticleEvent: use switch
Use a proper switch with breaks.
est31 [Mon, 28 Mar 2016 12:39:43 +0000 (14:39 +0200)]
mg_schematic: fix leak in lua API, and small cleanup
* Fix leak like behaviour if you load multiple schematics in a loop.
* Cleanup check in for, fixing theoretical out of bounds read if
Schematic::deserializeFromMts reduced the number of elements
in m_nodenames. A != check may need an overflow of the counter
before it hits, if origsize is larger than m_nodenames.size().
* Fix function name passed to errorstream: it was wrong. Also use
__FUNCTION__ instead of manually using the method name at other
places in the function.
* Don't shadow the name member in the loop.
kwolekr [Wed, 30 Mar 2016 03:59:39 +0000 (23:59 -0400)]
Mapgen: Don't spread light of nodes outside the desired area
This fixes #3935, a regression from
0338c2e.
An 'optimization' was performed where an index for the VoxelManip being
operated on was mistakenly used for bounds checking within the incorrect
VoxelArea, namely, the area wherein light should be spread.
paramat [Fri, 25 Mar 2016 17:50:26 +0000 (17:50 +0000)]
Nodes shader: Decrease amplitude of waving leaves and plants
Fix initialisation of variable 'disp'
Fix a few minor code style issues
Add independent X motion combining 2 prime frequencies
paramat [Fri, 25 Mar 2016 15:39:24 +0000 (15:39 +0000)]
Mgv7: Decrease cliff steepness
tenplus1 [Sun, 27 Mar 2016 20:09:35 +0000 (21:09 +0100)]
stop falling.lua error
2016-03-27 15:47:01: ERROR[Main]: ServerError: Lua: Runtime error from mod '*builtin*' in callback luaentity_Step(): Node name is not set or is not a string!
2016-03-27 15:47:01: ERROR[Main]: stack traceback:
2016-03-27 15:47:01: ERROR[Main]: [C]: in function 'add_node'
2016-03-27 15:47:01: ERROR[Main]: /usr/share/minetest/builtin/game/falling.lua:96: in function </usr/share/minetest/builtin/game/falling.lua:43>
kwolekr [Tue, 29 Mar 2016 15:31:52 +0000 (11:31 -0400)]
Mapgen: Spread both night and day light banks in spreadLight
sfan5 [Tue, 29 Mar 2016 17:55:39 +0000 (19:55 +0200)]
Fix small formatting issue in SRP debug output
Writing an u8 to verbosestream writes a char, not it's numeric value.
est31 [Sat, 26 Mar 2016 23:22:22 +0000 (00:22 +0100)]
Revert "Translated using Weblate (German)"
This reverts commit
25da0594eb09bb0e72816aaf8280573a668af00c.
Craig Davison [Thu, 3 Sep 2015 18:19:29 +0000 (19:19 +0100)]
Add CONTRIBUTING.md
est31 [Fri, 25 Mar 2016 14:57:18 +0000 (15:57 +0100)]
Replace CRLF with LF in shader files
Rui [Thu, 24 Mar 2016 03:20:00 +0000 (12:20 +0900)]
Falling: Set acceleration on step again
Commit
65c09a96f41705bb8e75fc5ff4276342be91ed11 "Set acceleration only once in falling node"
has made the acceleration being set only once.
But this has introduced a regression.
Fix #3884.
Jean-Patrick Guerrero [Sun, 20 Mar 2016 14:43:38 +0000 (15:43 +0100)]
Update menu header image
Fernando Reis [Thu, 24 Mar 2016 12:49:36 +0000 (13:49 +0100)]
Translated using Weblate (Portuguese)
Currently translated at 34.5% (299 of 865 strings)
This is a merger of 2 commits.
red-001 [Thu, 24 Mar 2016 14:55:48 +0000 (15:55 +0100)]
Translated using Weblate (Polish)
Currently translated at 33.7% (292 of 865 strings)
This is a merger of 2 commits.
Jean-Patrick G [Thu, 24 Mar 2016 12:23:00 +0000 (13:23 +0100)]
Translated using Weblate (French)
Currently translated at 93.0% (805 of 865 strings)
This is a merger of 2 commits.
Ian giestas pauli [Wed, 23 Mar 2016 23:52:46 +0000 (00:52 +0100)]
Translated using Weblate (Portuguese (Brazil))
Currently translated at 70.6% (611 of 865 strings)
This is a merger of 2 commits.
Jean-Baptiste [Wed, 23 Mar 2016 10:22:57 +0000 (11:22 +0100)]
Translated using Weblate (French)
Currently translated at 92.4% (800 of 865 strings)
This is a merger of 3 commits.
akiyama akira [Mon, 21 Mar 2016 10:27:00 +0000 (11:27 +0100)]
Translated using Weblate (Chinese (China))
Currently translated at 34.4% (298 of 865 strings)
This is a merger of 6 commits.
Thibault Noel [Tue, 15 Mar 2016 20:30:07 +0000 (21:30 +0100)]
Translated using Weblate (French)
Currently translated at 89.1% (771 of 865 strings)
This is a merger of 2 commits.
Joan Ciprià Moreno Teodoro [Tue, 15 Mar 2016 15:20:58 +0000 (16:20 +0100)]
Translated using Weblate (Catalan)
Currently translated at 36.6% (317 of 865 strings)
This is a merger of 2 commits.
Rui [Tue, 15 Mar 2016 08:03:59 +0000 (09:03 +0100)]
Translated using Weblate (Japanese)
Currently translated at 51.2% (443 of 865 strings)
This is a merger of 2 commits.
Lucas Montenegro [Tue, 15 Mar 2016 05:17:38 +0000 (06:17 +0100)]
Translated using Weblate (Spanish)
Currently translated at 46.1% (399 of 865 strings)
This is a merger of 3 commits.
Lordmusic Player [Mon, 14 Mar 2016 18:34:01 +0000 (19:34 +0100)]
Translated using Weblate (Romanian)
Currently translated at 23.2% (201 of 865 strings)
This is a merger of 2 commits.
Elia Zammuto [Sat, 12 Mar 2016 12:59:34 +0000 (13:59 +0100)]
Translated using Weblate (Italian)
Currently translated at 47.9% (415 of 865 strings)
Muhammad Rifqi Priyo Susanto [Wed, 9 Mar 2016 16:45:13 +0000 (17:45 +0100)]
Translated using Weblate (Indonesian)
Currently translated at 47.9% (415 of 865 strings)
Jeff Huang [Sat, 5 Mar 2016 13:40:03 +0000 (14:40 +0100)]
Translated using Weblate (Chinese (Taiwan))
Currently translated at 100.0% (865 of 865 strings)
This is a merger of 2 commits.
Kisbenedek Márton [Fri, 4 Mar 2016 07:53:59 +0000 (08:53 +0100)]
Translated using Weblate (Hungarian)
Currently translated at 74.9% (648 of 865 strings)
This is a merger of 3 commits.
Jakub Vaněk [Fri, 4 Mar 2016 03:45:18 +0000 (04:45 +0100)]
Translated using Weblate (Czech)
Currently translated at 54.1% (468 of 865 strings)
ShadowNinja [Sun, 28 Feb 2016 08:11:41 +0000 (09:11 +0100)]
Translated using Weblate (Spanish)
Currently translated at 45.3% (392 of 865 strings)
Wuzzy [Sat, 27 Feb 2016 13:48:10 +0000 (14:48 +0100)]
Translated using Weblate (German)
Currently translated at 100.0% (865 of 865 strings)
This is a merger of 3 commits.
Rui [Mon, 21 Mar 2016 04:15:50 +0000 (13:15 +0900)]
Credits: Make that easy to add/remove
Auke Kok [Wed, 23 Mar 2016 04:59:23 +0000 (21:59 -0700)]
Make `options` local here.
Undoubtably this may cause problems later if unchecked.
```
2016-03-22 21:57:52: WARNING[Server]: Assignment to undeclared global "options" inside a function at .../sofar/git/minetest/bin/../builtin/game/chatcommands.lua:862.
```
Auke Kok [Tue, 15 Mar 2016 06:20:56 +0000 (23:20 -0700)]
Fix connected nodes' selection boxes.
This allows the player to more easily target and punch connected
nodeboxes, especially if they have a fixed nodebox that is very
small, like technic cabling, or xpanes. Tried it on fences and
my xpane conversion, and happy with the result.
paramat [Sat, 19 Mar 2016 19:10:37 +0000 (19:10 +0000)]
Mgv7/flat/fractal: Stop tunnel-floor biome nodes being placed everywhere
A bool for 'in or under tunnel' was missing
1-node-deep stone ledges were being
replaced with biome surface material
ShadowNinja [Sat, 19 Mar 2016 16:08:24 +0000 (12:08 -0400)]
Clean up Strfnd
Changes:
* Fix indentation.
* Pass strings by const reference.
* Merge Strfnd and WStrfnd into one class instead of copying them.
* Remove trailing spaces.
* Fix variable names.
* Move to util.
* Other miscellaneous style fixes.
ShadowNinja [Sat, 19 Mar 2016 05:21:58 +0000 (01:21 -0400)]
Tweak travis script
Exit if cd fails and don't insert '\' in string.
paramat [Sat, 19 Mar 2016 18:36:48 +0000 (18:36 +0000)]
Builtin/game/falling: Re-add comma removed by recent commit
Rui914 [Sat, 19 Mar 2016 12:43:58 +0000 (21:43 +0900)]
Set acceleration only once in falling node
paramat [Tue, 15 Mar 2016 17:28:29 +0000 (17:28 +0000)]
Mgv7: Limit pseudorandom caves to surface mapchunk or below
To avoid bright caves at mapchunk borders when generating mapchunks upwards
Auke Kok [Wed, 2 Mar 2016 07:14:26 +0000 (23:14 -0800)]
Allow NodeTimer, ABM and block mgmt interval changes.
ABM's are hardcoded to run every 1.0s, NodeTimers are hard coded to
run at every 1.0s. Block mgmt is running every 2.0sec.
However, these timers can be better tuned for both higher and lower
values by server owners. Some server owners want to, and have the
resources to send more packets per second to clients, and so they
may wish to send smaller updates sooner. Right now all ABM's are
coalesced into 1.0 second intervals, resulting in large send queues
to all clients. By reducing the amount of possible timers, one can
get a far better response rate and lower the perception of lag.
On the other side of the camp, some servers may want to increase
these values, which again isn't easily doable.
The global settings abm_interval and nodetimer_interval are set to
current values by default. I've tested with 0.2/0.5 type values
and noticed a greatly improved response and better scattering of
nodetimers, as well as enjoying not faceplanting into doors with
pressure plates anymore.
est31 [Sat, 19 Mar 2016 08:18:22 +0000 (09:18 +0100)]
lua_api.txt: improve vector documentation
Before it rendered very badly in HTML.
Also point out what vector.round does.
est31 [Wed, 16 Mar 2016 12:21:34 +0000 (13:21 +0100)]
Set EXAMPLE_CONF_DIR to DOCDIR if DOCDIR gets customized
Before, customisation of DOCDIR did not lead to
changes of the EXAMPLE_CONF_DIR default value.
This was inconsistent with expected behaviour
if you didn't know of the existence of the
EXAMPLE_CONF_DIR variable. The confusion is
very strong, as (for not in place builds) both
DOCDIR and EXAMPLE_CONF_DIR share the same
default value, it is unexpected that setting
CUSTOM_DOCDIR changes the location of all
documentation files but one.
The best meaning of EXAMPLE_CONF_DIR is to
further allow customization of the mt.conf.example
storage place, but otherwise keep defaulting to
whatever DOCDIR is set to, at least for not in
place builds. This patch implements that
behaviour.
Fixes #3863.
Ekdohibs [Tue, 15 Mar 2016 12:34:27 +0000 (13:34 +0100)]
Remove chat escape sequences from chat messages, for future colored chat.
est31 [Mon, 14 Mar 2016 09:18:29 +0000 (10:18 +0100)]
Add option to not send pre v25 init packet
The legacy init packet (pre v25) sends information about the client's
password that a server could use to log in to other servers if the
username and password are the same. All the other benefits of SRP of
protocol v25 are missed if the legacy init packet is still sent during
connection creation.
This patch adds an option to not send the v25 init packet. Not sending
the v25 packet means breaking compat with pre v25 servers, but as the
option is not enabled by default, no servers are affected unless the
user explicitly flips the switch. More than 90% of the servers on the
serverlist support post v25 protocols.
The patch also fixes a bug with greying out of non compliant servers
being done wrongly, the min and max params were mixed.
est31 [Tue, 15 Mar 2016 07:55:45 +0000 (08:55 +0100)]
Fix two reconnect bugs
Fix two bugs related to the reconnect feature
introduced by commit
3b50b2766aeb09c9fc0ad0ea07426bb2187df3d7 "Optional reconnect functionality"
1. Set the password to the stored one
Before, we have done the reconnect attempt with a
cleared password, so using the feature would only
work if you had an empty password.
Thanks to @orwell96 for reporting the bug.
2. Reset the reconnect_requested flag after its use
the_game only writes to the reconect_requested flag
if it sets it to true. It never sets it to false.
If the flag is not reset after its use, all "reset"s
to the main menu will look like the server had
requested a reconnect.
est31 [Wed, 9 Mar 2016 02:12:22 +0000 (03:12 +0100)]
Much better API for auth.{cpp, h}
* No function overloading
* Adhere coding style and with method names following
lowercase_underscore_style
* Use std::string in external API, handling these is
much more fun
paramat [Sun, 13 Mar 2016 07:56:27 +0000 (07:56 +0000)]
Mapgen: Fix light in tunnels at mapchunk borders
Don't excavate the overgenerated stone at node_max.Y + 1,
this creates a 'roof' over the tunnel, preventing light in
tunnels at mapchunk borders when generating mapchunks upwards.
HybridDog [Mon, 4 Jan 2016 16:21:33 +0000 (17:21 +0100)]
Fix player teleportation bug whilst sneaking
Only set back position when sneaking if player wasn't teleported by adding and using a bool "got_teleported" to player
it fixes #2876
Auke Kok [Sun, 13 Mar 2016 21:25:54 +0000 (14:25 -0700)]
Connected nodes: fix 2 minor bugs
1. Copy-paste error: properly test for back-connection.
In the case of two different connected nodebox types, we want to
assure that if A connects to B, that B also connects to A. This test
was accidentally not implemented correctly.
2. Clear the connects_to_ids before deserializing.
With each new connected node, the deserialization code added more
and more targets to the map, since the map wasn't cleared in between
deserialization steps. This caused e.g. wall blocks to connect to
things in the fence connects_to map.
Jeija [Mon, 15 Feb 2016 15:05:40 +0000 (16:05 +0100)]
Resend blocks when modified while sending to client
Diego Martinez [Mon, 7 Mar 2016 22:09:07 +0000 (19:09 -0300)]
Add options for screenshot format and quality
Auke Kok [Fri, 4 Mar 2016 07:18:04 +0000 (23:18 -0800)]
Allow nodes to specify which sides to connect to.
NDT_CONNECTED attempts to connect to any side of nodes that it can
connect to, which is troublesome for FACEDIR type nodes that generally
may only have one usable face, and can be rotated.
We introduce a node parameter `connect_sides` that is valid for
any node type. If specified, it lists faces of the node (in "top",
"bottom", "front", "left", "back", "right", form, as array) that
connecting nodeboxes can connect to. "front" corresponds to the south
facing side of a node with facedir = 0.
If the node is rotatable using *simple* FACEDIR, then the attached
face is properly rotated before checking. This allows e.g. a chest
to be attached to only from the rear side.
Auke Kok [Thu, 25 Feb 2016 08:16:31 +0000 (00:16 -0800)]
Nodebox: Allow nodeboxes to "connect"
We introduce a new nodebox type "connected", and allow these nodes to
have optional nodeboxes that connect it to other connecting nodeboxes.
This is all done at scenedraw time in the client. The client will
inspect the surrounding nodes and if they are to be connected to,
it will draw the appropriate connecting nodeboxes to make those
connections.
In the node_box definition, we have to specify separate nodeboxes for
each valid connection. This allows us to make nodes that connect only
horizontally (the common case) by providing optional nodeboxes for +x,
-x, +z, -z directions. Or this allows us to make wires that can connect
up and down, by providing nodeboxes that connect it up and down (+y,
-y) as well.
The optional nodeboxes can be arrays. They are named "connect_top,
"connect_bottom", "connect_front", "connect_left", "connect_back" and
"connect_right". Here, "front" means the south facing side of the node
that has facedir = 0.
Additionally, a "fixed" nodebox list present will always be drawn,
so one can make a central post, for instance. This "fixed" nodebox
can be omitted, or it can be an array of nodeboxes.
Collision boxes are also updated in exactly the same fashion, which
allows you to walk over the upper extremities of the individual
node boxes, or stand really close to them. You can also walk up
node noxes that are small in height, all as expected, and unlike the
NDT_FENCELIKE nodes.
I've posted a screenshot demonstrating the flexibility at
http://i.imgur.com/zaJq8jo.png
In the screenshot, all connecting nodes are of this new subtype.
Transparent textures render incorrectly, Which I don't think is
related to this text, as other nodeboxes also have issues with this.
A protocol bump is performed in order to be able to send older clients
a nodeblock that is usable for them. In order to avoid abuse of users
we send older clients a "full-size" node, so that it's impossible for
them to try and walk through a fence or wall that's created in this
fashion. This was tested with a pre-bump client connected against a
server running the new protocol.
These nodes connect to other nodes, and you can select which ones
those are by specifying node names (or group names) in the
connects_to string array:
connects_to = { "group:fence", "default:wood" }
By default, nodes do not connect to anything, allowing you to create
nodes that always have to be paired in order to connect. lua_api.txt
is updated to reflect the extension to the node_box API.
Example lua code needed to generate these nodes can be found here:
https://gist.github.com/sofar/
b381c8c192c8e53e6062
ShadowNinja [Sat, 12 Mar 2016 16:58:02 +0000 (11:58 -0500)]
Fix chat console not opening after formspec opened over it
The MainMenuManager set the console invisible when a
formspec opened over it, but didn't properly close it,
and the chat console never set itself visible again.
paramat [Fri, 11 Mar 2016 21:56:32 +0000 (21:56 +0000)]
Documentation: Auto-update conf.example and settings_translation_file.cpp
orwell96 [Fri, 11 Mar 2016 17:41:56 +0000 (18:41 +0100)]
Fix ask_reconnect_on_crash option being ignored
Since commit
3b50b2766aeb09c9fc0ad0ea07426bb2187df3d7 "Optional reconnect functionality"
there is a config option named ask_reconnect_on_crash.
It asks the client to reconnect to the server if the server crashed.
It has been implemeted and works, but due to a function parameter not
being passed it never showed effect. This patch adds the parameter
and fixes the bug.
Also fixes the `reconnect` option of minetest.request_shutdown being ignored.
paramat [Fri, 11 Mar 2016 16:24:55 +0000 (16:24 +0000)]
Documentation: Clarify global and mapgen-specific mapgen flags
Auke Kok [Mon, 29 Feb 2016 05:53:26 +0000 (21:53 -0800)]
Introduce "protection_bypass" privilege.
This privilege allows map protection bypassing for server operators
and world moderators.
Initially I had thought that bypassing protection mods would have been
something that could entirely be done inside mods and minetest_game,
but the concept of protection is defined in core, in the code of
core.is_protected().
I don't feel that it would be logical to introduce a protection
concept in core, but not some way around that for server operators
to maintain map parts that need fixing, de-griefing or cleanup.
Others had noticed the same problems, and proposed a patch to
minetest_game. That patch is fine by itself, but it fails to add
protection bypass functionality for digging normal nodes and placing
nodes.
So, instead, we indroduce the new priv "protection_bypass" in core,
and modify 'on_place_node' and 'node_dig' to allow bypassing node
protections if the player holds this priv.
This priv was tested with protector redo by tenplus1.
A followup patch to Minetest Game will include allowing special checks
for doors, trapdoors, chests in Minetest Game.
Protection mods will likely want to mimic the changes in their relevant
code sections.
Auke Kok [Tue, 8 Mar 2016 04:23:34 +0000 (20:23 -0800)]
Avoid try/catch for settings.
We can just test for the presence of these settings nicely here,
no need to use a try / catch construct.
Auke Kok [Sun, 6 Mar 2016 20:02:21 +0000 (12:02 -0800)]
Add consistent monotonic day counter - get_day_count()
I've written several experimental bits of code that revolve around the
need for a consistent calendar, but implementing one is extremely hard
in mods due to time changes and mods overriding core.get_timeofday(),
which will conflict.
The second part of the problem is that doing this from a mod requires
constant maintenance of a settings file.
An implementation in core is trivial, however, and solves all of
these problems at virtually no cost: No extra branches in server
steps, and a single branch when minetest.set_time_of_day(), which is
entirely reasonable.
We store the day_count value in env_meta.txt.
The use case is obvious: This change allows mods to create an actual
virtual calendar, or properly account for seasonal changes, etc..
We add a "/days" chatcommand that displays the current day count. No
permissions are needed. It can only retrieve the day count, not
modify it.
ShadowNinja [Sat, 31 Oct 2015 00:38:22 +0000 (20:38 -0400)]
Add AreaStore custom ID API
ShadowNinja [Fri, 30 Oct 2015 23:27:48 +0000 (19:27 -0400)]
Implement AreaStore serialization
ShadowNinja [Fri, 30 Oct 2015 14:26:14 +0000 (10:26 -0400)]
Fix SpatialAreaStore not freeing removed areas
ShadowNinja [Fri, 30 Oct 2015 05:25:44 +0000 (01:25 -0400)]
Add basic AreaStore method documentation
ShadowNinja [Fri, 30 Oct 2015 04:52:45 +0000 (00:52 -0400)]
Sort AreaStore header
ShadowNinja [Fri, 30 Oct 2015 04:04:10 +0000 (00:04 -0400)]
Clean up VectorAreaStore
ShadowNinja [Fri, 30 Oct 2015 03:38:36 +0000 (23:38 -0400)]
Move AreaStore container selection logic into getOptimalImplementation
ShadowNinja [Fri, 30 Oct 2015 03:26:03 +0000 (23:26 -0400)]
Move AreaStore to util
ShadowNinja [Fri, 30 Oct 2015 03:17:44 +0000 (23:17 -0400)]
Make AreaStore cache setting private