aboutsummaryrefslogtreecommitdiff
path: root/builtin/mainmenu (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-03-14Mapgen: Fix light in tunnels at mapchunk bordersparamat5-0/+30
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.
2016-03-14Fix player teleportation bug whilst sneakingHybridDog4-1/+7
Only set back position when sneaking if player wasn't teleported by adding and using a bool "got_teleported" to player it fixes #2876
2016-03-14Connected nodes: fix 2 minor bugsAuke Kok1-1/+2
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.
2016-03-12Resend blocks when modified while sending to clientJeija2-6/+22
2016-03-12Add options for screenshot format and qualityDiego Martinez5-2/+29
2016-03-12Allow nodes to specify which sides to connect to.Auke Kok6-5/+58
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.
2016-03-12Nodebox: Allow nodeboxes to "connect"Auke Kok13-53/+335
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
2016-03-12Fix chat console not opening after formspec opened over itShadowNinja2-0/+19
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.
2016-03-12Documentation: Auto-update conf.example and settings_translation_file.cppparamat2-6/+6
2016-03-11Fix ask_reconnect_on_crash option being ignoredorwell961-1/+1
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.
2016-03-11Documentation: Clarify global and mapgen-specific mapgen flagsparamat2-20/+42
2016-03-11Introduce "protection_bypass" privilege.Auke Kok2-2/+5
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.
2016-03-09Avoid try/catch for settings.Auke Kok1-17/+7
We can just test for the presence of these settings nicely here, no need to use a try / catch construct.
2016-03-09Add consistent monotonic day counter - get_day_count()Auke Kok6-1/+46
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.
2016-03-07Add AreaStore custom ID APIShadowNinja5-7/+14
2016-03-07Implement AreaStore serializationShadowNinja6-92/+101
2016-03-07Fix SpatialAreaStore not freeing removed areasShadowNinja1-0/+1
2016-03-07Add basic AreaStore method documentationShadowNinja1-5/+30
2016-03-07Sort AreaStore headerShadowNinja2-71/+66
2016-03-07Clean up VectorAreaStoreShadowNinja2-32/+24
2016-03-07Move AreaStore container selection logic into getOptimalImplementationShadowNinja3-9/+13
2016-03-07Move AreaStore to utilShadowNinja9-16/+14
2016-03-07Make AreaStore cache setting privateShadowNinja2-7/+6
2016-03-07Simplify AreaStore ID managementShadowNinja5-86/+45
2016-03-07s_env.{cpp, h} cleanupsest312-57/+56
* Replace string by-val passing with const reference * Fix code style * Remove redundant `int table` definition and indentation level
2016-03-07Add minetest.register_lbm() to run code on block load onlyest3112-25/+493
2016-03-07Use LuaErrors in security check macrosShadowNinja2-5/+3
Throwing a LuaError calls destructors as it propagates up the stack, wheres lua_error just executes a longjmp.
2016-03-06Settings Tab: Regroup dropdown datas in tablesJean-Patrick Guerrero1-129/+113
2016-03-06Faster insertion into tableRui91413-45/+48
2016-03-05Add forgotten valleys mapgen in mapgen nameMuhammad Rifqi Priyo Susanto2-2/+2
Missing `valleys` in `settingtypes.txt` and `minetest.conf.example`.
2016-03-05Update settings tab + some misc. clean-upJean-Patrick Guerrero2-129/+114
2016-03-05Update Android dependencies, -O3 optimization, remove old ARMv5 configMaksim Gamarnik3-27/+17
* Update OpenSSL (thanks @sapier, i use his patch!), Curl and SQLite3. * Remove old arm config. Almost all phones that use ARMv5 have 1 core and 256-512 RAM, it's about 2-5 FPS. * Do -O3 optimization for libs and remove -fexpensive-optimizations for Minetest (-O3 includes this! Read gcc docs). * OpenSSL fix - thanks @sapier, again.
2016-03-04Mgvalleys: Correct spawn problemsDuane Robertson1-1/+1
Increase maximum spawn altitude to reduce spawn issues.
2016-03-04Decoration API: Allow force_placement of simple decorationsparamat2-3/+7
2016-03-03Require minetest.request_http_api to be called from the mod's main scopeJeija2-3/+20
Fixes #3764
2016-03-03Fix main menu being unable to set secure settingsShadowNinja1-3/+4
2016-03-03Remove debug.getupvalue from the Lua sandbox whitelistShadowNinja1-1/+0
This function could be used to steal insecure environments from trusted mods.
2016-03-02Add support for non-ASCII characters to chat consoleShadowNinja1-3/+6
This still only supports 256 characters, but that's because Irrlicht's clipboard handlers don't support wide characters.
2016-03-02Add Android chat formShadowNinja1-10/+29
2016-03-02Add text selection and copying to consoleShadowNinja3-59/+103
2016-03-02Unlock cursor when opening consoleShadowNinja5-23/+26
2016-03-02Use the console instead of a dedicated window when pressing keymap_chat/cmdEsteban I. Ruiz Moreno6-99/+97
keymap_console opens a full window for chat history browsing.
2016-03-03Fix a mistake in the world format documentationAleksey Vorona1-1/+1
Fixed a minor mistake that made it appear as if the inventory is serialized multiple times - once per each variable. In fact it is serialized once per each node.
2016-03-01Revert "Fix jumping at node edge"nerzhul1-17/+49
This reverts commit 60dc01dc258db842e229351b871d0989e3e7d62c. This fixes issue #3773
2016-02-28Resize object_marker_red.png to 16x16ShadowNinja1-0/+0
Having a non-power-of-two image broke the Android app.
2016-02-27Nodedef: Restore smooth lighting to waterparamat1-1/+1
2016-02-27Mgvalleys: Add Dry RiverbedsDuane Robertson1-35/+105
Lower water table where base humidity is low. Alter heat and humidity to compensate for river humidity and altitude chill. Correct misuse of surface_max_y in generateTerrain. Remove sand trails in the water at river mouths. Remove river water below water_level. Correct heat/humidity calculations where noises are less than zero. Correct heightmap errors as much as possible. Make humidity calculations more readable.
2016-02-27Update po files, minetest.conf.example and settings_translation_file.cppest3132-9563/+20794
2016-02-27Don't generate trailing spaces in minetest.conf.exampleest311-1/+5
If the default value of a setting was empty, it previously generated a trailing space.
2016-02-27Translated using Weblate (Russian)Dmitry Smirnov1-139/+345
Currently translated at 61.3% (483 of 787 strings) (Merger of five commits)