Skip to content
Snippets Groups Projects
  1. Mar 25, 2016
  2. Mar 24, 2016
    • Rui's avatar
      Credits: Make that easy to add/remove · 21c47968
      Rui authored
      21c47968
    • Auke Kok's avatar
      Make `options` local here. · 2f640888
      Auke Kok authored
      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.
      ```
      2f640888
  3. Mar 21, 2016
  4. Mar 20, 2016
    • ShadowNinja's avatar
      Clean up Strfnd · 93887043
      ShadowNinja authored
      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.
      93887043
    • ShadowNinja's avatar
      Tweak travis script · eb7db21d
      ShadowNinja authored
      Exit if cd fails and don't insert '\' in string.
      eb7db21d
  5. Mar 19, 2016
    • paramat's avatar
    • Rui914's avatar
      Set acceleration only once in falling node · 65c09a96
      Rui914 authored
      65c09a96
    • paramat's avatar
      Mgv7: Limit pseudorandom caves to surface mapchunk or below · f1aea6b4
      paramat authored
      To avoid bright caves at mapchunk borders when generating mapchunks upwards
      f1aea6b4
    • Auke Kok's avatar
      Allow NodeTimer, ABM and block mgmt interval changes. · c5c727d6
      Auke Kok authored
      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.
      c5c727d6
    • est31's avatar
      lua_api.txt: improve vector documentation · d915ca11
      est31 authored
      Before it rendered very badly in HTML.
      Also point out what vector.round does.
      d915ca11
  6. Mar 16, 2016
    • est31's avatar
      Set EXAMPLE_CONF_DIR to DOCDIR if DOCDIR gets customized · 3132bcb3
      est31 authored
      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.
      3132bcb3
  7. Mar 15, 2016
    • Nathanaëlle Courant's avatar
    • est31's avatar
      Add option to not send pre v25 init packet · af301831
      est31 authored
      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.
      af301831
    • est31's avatar
      Fix two reconnect bugs · 2607b97b
      est31 authored
      Fix two bugs related to the reconnect feature
      introduced by commit
      
      3b50b276 "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.
      2607b97b
    • est31's avatar
      Much better API for auth.{cpp, h} · e0151d10
      est31 authored
      * 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
      e0151d10
  8. Mar 14, 2016
    • paramat's avatar
      Mapgen: Fix light in tunnels at mapchunk borders · bb2ee54d
      paramat authored
      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.
      bb2ee54d
    • HybridDog's avatar
      Fix player teleportation bug whilst sneaking · c0b6986e
      HybridDog authored
      Only set back position when sneaking if player wasn't teleported by adding and using a bool "got_teleported" to player
      it fixes #2876
      c0b6986e
    • Auke Kok's avatar
      Connected nodes: fix 2 minor bugs · 5a40a7da
      Auke Kok authored
      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.
      5a40a7da
  9. Mar 12, 2016
    • Jeija's avatar
      089f9bbe
    • Diego Martínez's avatar
      2c72f6da
    • Auke Kok's avatar
      Allow nodes to specify which sides to connect to. · 37b4f0d3
      Auke Kok authored
      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.
      37b4f0d3
    • Auke Kok's avatar
      Nodebox: Allow nodeboxes to "connect" · e737b1c2
      Auke Kok authored
      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
      e737b1c2
    • ShadowNinja's avatar
      Fix chat console not opening after formspec opened over it · 8c951cae
      ShadowNinja authored
      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.
      8c951cae
    • paramat's avatar
  10. Mar 11, 2016
    • orwell96's avatar
      Fix ask_reconnect_on_crash option being ignored · 0d2df732
      orwell96 authored
      Since commit
      
      3b50b276 "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.
      0d2df732
    • paramat's avatar
    • Auke Kok's avatar
      Introduce "protection_bypass" privilege. · f627ef39
      Auke Kok authored
      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.
      f627ef39
  11. Mar 09, 2016
    • Auke Kok's avatar
      Avoid try/catch for settings. · dc8bf4e9
      Auke Kok authored
      We can just test for the presence of these settings nicely here,
      no need to use a try / catch construct.
      dc8bf4e9
    • Auke Kok's avatar
      Add consistent monotonic day counter - get_day_count() · 4e59fcf5
      Auke Kok authored
      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.
      4e59fcf5
  12. Mar 07, 2016
Loading