Skip to content
Snippets Groups Projects
  1. Nov 03, 2015
    • est31's avatar
      Time: Remove serverside getter, and use atomic operations · f9b09368
      est31 authored
      It isn't possible to use atomic operations for floats, so don't use them there.
      
      Having a lock is good out of other reasons too, because this way the float time
      and the integer time both match, and can't get different values in a race,
      e.g. when two setTimeofDay() get executed simultaneously.
      f9b09368
    • est31's avatar
      Atomic: cleanup and add more operations · abc354a5
      est31 authored
      Cleanup:
      	* Remove volatile keyword, it is of no use at all. [1]
      	* Remove the enable_if stuff. It had no use either.
      	  The most likely explanation why the enable_if stuff was there is that it
      	  was used as something like a STATIC_ASSERT to verify that sizeof(T) is not larger
      	  than sizeof(void *). This check however is not just misplaced in a place where we
      	  already use a lock, it isn't needed at all, as gcc will just generate a call to
      	  to the runtime if it compiles for platforms that don't support atomic instructions.
      	  The runtime will then most likely use locks.
      
      Code style fixes:
      	* Prefix name of the mutex
      	* Line everything up nicely, where it makes things look nice
      	* Filling \ continuations with spaces is code style rule
      
      Added operations on the atomic var:
      	* Compare and swap
      	* Swap
      
      The second point of the cleanup also fixes the Android build of the next commit.
      
      [1]: http://stackoverflow.com/q/2484980
      abc354a5
    • est31's avatar
      Only go fast in autorun if fast move is enabled · 1550ab3c
      est31 authored
      1550ab3c
    • kwolekr's avatar
      6ba4f377
    • kwolekr's avatar
      Add callback parameter for core.emerge_area() · c2b5da73
      kwolekr authored
      c2b5da73
  2. Nov 02, 2015
  3. Nov 01, 2015
    • Perttu Ahola's avatar
      Print direct command line responses to standard output instead of using the log system · 3285bf73
      Perttu Ahola authored
      Using logging for these just makes them bloated and hard to read and overally just not neat at all.
      3285bf73
    • kwolekr's avatar
      Fix Lua scripting synchronization · 52e5b513
      kwolekr authored
      For several years now, the lua script lock has been completely broken.
      This commit fixes the main issue (creation of a temporary rather than
      scoped object), and fixes a subsequent deadlock issue caused by
      nested script API calls by adding support for recursive mutexes.
      52e5b513
    • kwolekr's avatar
      Fix Noise compiled under clang >= 3.7.x with -O2 or higher · d198e420
      kwolekr authored
      When compiled with optimizations, the most recent versions of clang seem
      to 'optimize' out a crucial "and %reg, 0x7FFFFFFF" instruction in noise2d(),
      probably because it somehow assumed the variable n would never become greater
      than that amount.
      Indeed, signed integer underflow is undefined behavior in C and C++, so while
      this optimization is "correct" in that sense, it breaks lots of existing code.
      Solved by changing n to an unsigned type, making behavior well-defined.
      d198e420
  4. Oct 31, 2015
  5. Oct 29, 2015
    • Duane Robertson's avatar
      WoW-style Autorun · b6dfae02
      Duane Robertson authored
      This allows the player to toggle continuous forward with a key (F by default),
      so we don't have to hold down the forward key endlessly.
      b6dfae02
    • paramat's avatar
      findSpawnPos: Add setting for max height above water level · c0a7c670
      paramat authored
      Increase default from 6 to 16 to help with mgv7 and mgfractal
      Large-scale or alternative mapgens can result in a lowland spawn point not
      being found, causing a spawn at (0, 0, 0) possibly buried underground
      The max height is now settable to allow correct player spawn
      in any mapgen or when using custom noise parameters
      c0a7c670
    • paramat's avatar
      Mgfractal: Add filler depth noise · 182b3fd2
      paramat authored
      182b3fd2
  6. Oct 28, 2015
    • kwolekr's avatar
      Add STATIC_ASSERT() macro and use it · 688556a5
      kwolekr authored
      688556a5
    • kwolekr's avatar
      Add DISABLE_CLASS_COPY macro (and use it) · c56d7fe0
      kwolekr authored
      Use this macro to disallow copying of an object using the assignment
      operator or copy constructor.  This catches otherwise silent-but-deadly
      mistakes such as "ServerMap map = env->getMap();" at compile time.
      
      If so desired, it is still possible to copy a class, but it now requires
      an explicit call to memcpy or std::copy.
      c56d7fe0
  7. Oct 27, 2015
  8. Oct 26, 2015
  9. Oct 25, 2015
  10. Oct 24, 2015
Loading