Skip to content
Snippets Groups Projects
  1. Feb 04, 2016
  2. Feb 02, 2016
    • Duane Robertson's avatar
      Mgvalleys: fix riverbeds below sea level · 99c905c5
      Duane Robertson authored
      Stop riverbeds from forming plateaus under sea. Minor corrections to
      random lava/water placement.
      99c905c5
    • paramat's avatar
      Mgv5/v7/flat/fractal: Move tunnel noise calculation into generateCaves · 0a8af881
      paramat authored
      Tunnel 3D noises are only calculated when solid terrain is present
      in mapchunk, avoiding large amounts of unnecessary calculations
      Change 'int' to 's16' in calculateNoise
      Change 'i' to 'vi' for voxelmanip indexes for consistency
      Keep 'u32 index3d' local to a smaller part of tunnel code
      Mgv7: Don't call CaveV7 if no solid terrain in mapchunk
      Give 'open' bool a more descriptive name
      0a8af881
  3. 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
  4. Jan 29, 2016
    • Pavel Puchkin's avatar
      Fix OSX building issue caused by ad884f23 · 83583aa2
      Pavel Puchkin authored
      83583aa2
    • est31's avatar
      Don't pass non-const references to collision methods · 4e93ba06
      est31 authored
      Non const references cause a lot of confusion with behaviour of code,
      and are disallowed by minetest style guide.
      4e93ba06
    • 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
    • Auke Kok's avatar
      Clocksource: use a better clock if available. · 4ac1e9bc
      Auke Kok authored
      clock_gettime() is a far better clock than gettimeofday().
      
      Even better than clock_gettime() is that you can select either
      CLOCK_MONOTONIC, or even CLOCK_MONOTONIC_RAW. These clocks offer
      high precision time. And the _RAW variant will never roll back
      due to NTP drift or daylight savings, or otherwise.
      
      I've adjusted this code to select the right clock method auto-
      matically based on what's available in the OS. This means that
      if you're running a very old linux version, MacOS or other,
      you will automatically get the best clocksource available.
      
      I've tested all Linux clocksources by selectively compiling and
      running a 10k+ timer test suite. In all cases I confirmed that
      the 3 POSIX Linux clocksources worked properly, and were
      selected properly.
      
      I've modified the OS X compile path to use the high-res clock
      source for all time functions, but I can't confirm it works or
      that it compiles.
      
      As for WIN32, I confirmed that the used clocksource is indeed
      a Monotonic clocksource, so good news: that code section appears
      to be exactly what it should be.
      4ac1e9bc
  5. Jan 28, 2016
    • est31's avatar
      Don't print whole json data buffer to errorstream on error · 860d70bd
      est31 authored
      `errorstream` must not be overly verbose as clientside it is directly printed
      onto the ingame chat window. These days, the serverlist can contain > 200k bytes,
      so better print it to warningstream if the data buffer is too long.
      860d70bd
  6. Jan 25, 2016
  7. Jan 24, 2016
  8. Jan 23, 2016
    • Auke Kok's avatar
      Backface culling: Ignore setting in tiledef from old servers. · 735e3b70
      Auke Kok authored
      Outdated servers are always sending tiledefs with culling
      enabled no matter what, as the value was previously entirely
      ignored.
      
      To compensate, we must (1) detect that we're running against
      an old server with a new client, and (2) disable culling for
      mesh, plantlike, firelike and liquid draw types no matter what
      the server is telling us.
      
      In order to achieve this, we need to bump the protocol version
      since we cannot rely on the tiledef version, and test for it
      being older. I've bumped the protocol version, although that
      should have likely happened in the actual change that introduced
      the new backface_culling PR #3578. Fortunately that's only 2
      commits back at this point.
      
      We also explicitly test for the drawtype to assure we are not
      changing the culling value for other nodes, where it should
      remain enabled.
      
      This was tested against various pub servers, including 0.4.13 and
      0.4.12.
      
      Fixes #3598
      735e3b70
    • est31's avatar
      ef779b0a
    • RealBadAngel's avatar
      Fix texture tear issue · 52eea799
      RealBadAngel authored
      52eea799
    • est31's avatar
      Fix C++11 compilability · e50c784e
      est31 authored
      Previous commits broke it... :(
      e50c784e
  9. Jan 20, 2016
    • paramat's avatar
      Liquid flow: Prevent water spreading on ignore · 0459eca8
      paramat authored
      0459eca8
    • Auke Kok's avatar
      Allow per-tiles culling. · 882a89d6
      Auke Kok authored
      Backface culling is enabled by default for all tiles, as this
      is how the lua parser initializes each tiledef. We revert to
      always using the value from the tiledef since it is always
      read and serialized.
      
      Mods that wish to enable culling for e.g. mesh nodes, now can
      specify the following to enable backface culling:
      
          tiles = {{ name = "tex.png", backface_culling = true }},
      
      Note the double '{' and use of 'name' key here! In the same
      fashion, backface_culling can be disabled for any node now.
      
      I've tested this against the new door models and this properly
      allows me to disable culling per node. I've also tested this
      against my crops mod which uses mesh nodes where culling needs
      to be disabled, and tested also with plantlike drawtype nodes
      where we want this to continue to be disabled.
      
      No default setting has changed. The defaults are just migrated
      from nodedef.cpp to c_content.cpp.
      882a89d6
  10. Jan 19, 2016
  11. Jan 18, 2016
  12. Jan 16, 2016
  13. Jan 15, 2016
  14. Jan 14, 2016
  15. Jan 11, 2016
    • paramat's avatar
      Mapgen: Various fixes and improvements · 8fc8cb81
      paramat authored
      Lua_api.txt: Document 'minetest.registered_biomes'
      Minimal: Remove 'mapgen_air' alias
      Cavegen: Add fallback node for 'mapgen_ice'
      Dungeongen: Add fallback node for 'mapgen_river_water_source'
      Mgv5: Remove unnecessary '#include util/directiontables.h'
      Add missing 'this->'s in makeChunk()
      Mgv6: Edit empty line formatting
      Remove leading spaces in makeChunk()
      Add missing spaces after 'for' and 'if'
      Mgv7: Edit empty line formatting
      8fc8cb81
  16. Jan 10, 2016
Loading