Skip to content
Snippets Groups Projects
  1. Mar 12, 2016
  2. Mar 11, 2016
    • 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
  3. Mar 09, 2016
    • 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
  4. Mar 07, 2016
  5. Mar 05, 2016
  6. Feb 27, 2016
  7. Feb 26, 2016
  8. Feb 22, 2016
    • Jeija's avatar
      Add Lua interface to HTTPFetchRequest · 31e0667a
      Jeija authored
      This allows mods to perform both asynchronous and synchronous HTTP
      requests. Mods are only granted access to HTTP APIs if either mod
      security is disabled or if they are whitelisted in any of the
      the secure.http_mods and secure.trusted_mods settings.
      
      Adds httpfetch_caller_alloc_secure to generate random, non-predictable
      caller IDs so that lua mods cannot spy on each others HTTP queries.
      31e0667a
  9. Feb 21, 2016
  10. Feb 11, 2016
  11. Feb 09, 2016
  12. Feb 08, 2016
    • RealBadAngel's avatar
    • Diego Martínez's avatar
      builtin: Fix `print` crashing on nil "holes". · 43019538
      Diego Martínez authored
      The engine implementation of `print` packs the varargs into a
      table and passes the table directly to `table.concat`. If you
      pass any value not supported by `table.concat` (particularly
      `nil`), the server crashes. This is unexpected behavior, as
      `print` is supposed to be able to work with anything.
      
      This patch changes the implementation so it first converts
      all arguments using `tostring`, which fixes the issue and
      makes the custom `print` function compatible with the stock
      Lua behavior.
      43019538
  13. Feb 07, 2016
  14. Feb 04, 2016
  15. Jan 31, 2016
    • Duane Robertson's avatar
      Mgvalleys: use standard caves · 80c7612e
      Duane Robertson authored
      Replace simple caves with V5 caves, adding unpredictable water and lava
      settings and massive caves based on subterrain. Remove fast terrain mode
      and accompanying settings. Remove superfluous temperature/humidity
      settings. Remove lava/water height setting. Fix errors in humidity
      handling and remove humidity_break_point setting. Move cave noises to
      generateCaves. Fix minor formatting/naming issues and use
      MYMAX/MYMIN/myround.
      80c7612e
  16. Jan 29, 2016
    • Auke Kok's avatar
      New timer design. · ad884f23
      Auke Kok authored
      I could honestly not make much sense of the timer implementation
      that was here. Instead I've implemented the type of timer algorithm
      that I've used before, and tested it instead.
      
      The concept is extremely simple: all timers are put in an ordered
      list. We check every server tick if any of the timers have
      elapsed, and execute the function associated with this timer.
      
      We know that many timers by themselves cause new timers to be
      added to this list, so we iterate *backwards* over the timer
      list. This means that new timers being added while timers are
      being executed, can never be executed in the same function pass,
      as they are always appended to the table *after* the end of
      the table, which we will never reach in the current pass over
      all the table elements.
      
      We switch time keeping to minetest.get_us_time(). dtime is
      likely unreliable and we have our own high-res timer that we
      can fix if it is indeed broken. This removes the need to do
      any sort of time keeping.
      ad884f23
  17. Jan 24, 2016
  18. Jan 18, 2016
  19. Jan 16, 2016
    • Rogier's avatar
      Fix error message in settings tab overlapping 'save' button · 487ab593
      Rogier authored
      The save button is now fully functional again when an error message
      is shown.
      
      After an invalid value is entered in the settings tab dialog, the GUI
      label for the error message that is shown was partly overlapping the
      'save' button, so that the top half of the button could not be clicked
      on.
      487ab593
  20. Jan 14, 2016
  21. Jan 10, 2016
  22. Jan 09, 2016
    • Dalai Felinto's avatar
      New 3D Mode: Pageflip · 9943ae3f
      Dalai Felinto authored
      The pageflip mode requires a stereo quadbuffer, and a modern graphic
      card. Patch tested with NVidia 3D Vision.
      
      The mini-map is not drawn, but that's what is done for topbottom and
      sidebyside modes as well.
      
      Also most of the time the user would prefer the HUD to be off. That's
      for the user to decide though, and toggle it manually.
      
      Finally, the interocular distance (aka eye separation) is twice as much
      as the "3d_paralax_strength" settings. I find this a strange design
      decision. I didn't want to chance this though, since it's how the other
      3d modes interpret this settings.
      9943ae3f
  23. Jan 07, 2016
  24. Dec 26, 2015
  25. Dec 20, 2015
  26. Dec 15, 2015
    • paramat's avatar
      Mgfractal: Add 3D and 4D fractals · c26eb87a
      paramat authored
      3D Mandelbrot/Mandelbar
      3D Christmas Tree
      3D Mandelbulb
      3D Cosine Mandelbulb
      4D Mandelbulb
      Plus corresponding julia set for each
      Add credits for formulas
      Rename parameter 'formula' to 'fractal'
      Speed optimisations
      c26eb87a
Loading