Skip to content
Snippets Groups Projects
  1. Sep 11, 2017
  2. Sep 03, 2017
  3. May 08, 2017
  4. Apr 21, 2017
  5. Apr 14, 2017
  6. Mar 31, 2017
  7. Mar 07, 2017
    • Wuzzy's avatar
      Spell-check and clarify item names · 967bde28
      Wuzzy authored
      * Fix inconsistent insulated mesecon names
      * Clarify lightstone names
      * Rename meselamp to "Mesecon Lamp"
      * Use capitalization "Luacontroller" consistently
      * Cleanup / improvements for logic gate naming
      967bde28
  8. Mar 04, 2017
  9. Feb 15, 2017
  10. Feb 13, 2017
  11. Feb 12, 2017
    • Vanessa Ezekowitz's avatar
      make "on" water turbine animated! · 46cbc769
      Vanessa Ezekowitz authored
      This uses a fairly simple trick: the textures are animated, while the
      model is static and has a number of rotated copies of the parts that are
      seen to move (four copies of the blades, eight copies of the top/bottom
      and their edges).  The opaque parts of the textures then decide which of
      those faces' copies are visible in each frame.
      46cbc769
    • Vanessa Ezekowitz's avatar
      fix Z-fighting on water turbine · fa3bd192
      Vanessa Ezekowitz authored
      fa3bd192
  12. Jan 28, 2017
  13. Jan 22, 2017
  14. Jan 19, 2017
  15. Jan 15, 2017
  16. Jan 02, 2017
  17. Dec 31, 2016
  18. Dec 28, 2016
    • Jeija's avatar
      Luacontroller: Restrict digiline messages · 703e6fda
      Jeija authored
      Restrict maximum length of messages to 50.000 characters and disable sending functions or table references over the wire. Restrict types of channel variable to string, number or boolean.
      
      The missing length restriction made DoS-like attacks possible by overflowing memory using string concatenation. Thanks to gamemanj for disclosing this issue.
      703e6fda
  19. Dec 04, 2016
  20. Nov 17, 2016
  21. Sep 04, 2016
  22. Aug 31, 2016
    • Jeija's avatar
      Duplicate unhash_blockpos code to legacy.lua · 54efc645
      Jeija authored
      Duplicating that small piece of code seems like a better idea than
      putting the undo-forceloading code back into util.lua. This way, it is
      easier to remember to remove that unneccesary code after a couple of
      months / years, when people have transitioned. This also means we can
      make changes to the code in util.lua without breaking old code.
      54efc645
  23. Aug 30, 2016
  24. Aug 24, 2016
    • Christopher Head's avatar
      Simplify turnon/turnoff. · 8e6536ca
      Christopher Head authored
      It is no longer possible for get_node_force to return nil if the target
      location does, in fact, exist, because a VM will always be able to load
      it (whereas a forceload might not, due to exhaustion of forceload
      resources). So it is no longer necessary to handle get_node_force
      returning nil by deferring processing.
      Unverified
      8e6536ca
    • Christopher Head's avatar
      Use VM transactions for conductor state changes. · bc9d4c2d
      Christopher Head authored
      VoxelManipulator-based transactions are used to hopefully speed up
      scanning and replacing of networks of conductors when receptors start or
      stop driving signals into them.
      Unverified
      bc9d4c2d
    • Christopher Head's avatar
      Implement VoxelManipulator-based transactions. · 6d79272e
      Christopher Head authored
      Rather than calling out through the Lua-to-C API for each node that
      needs to be read or written, a group of map reads (and optionally
      writes) can be grouped into a transaction. Access to map data within the
      transaction is provided at high speed by means of VoxelManipulators.
      Once the reads and writes are finished, the transaction can be committed
      or aborted.
      Unverified
      6d79272e
    • Christopher Head's avatar
      Use VoxelManipulators for get_node_force. · 564cee34
      Christopher Head authored
      A VoxelManipulator, when asked to read a mapblock, in addition to making
      that mapblock available to the caller, also pulls it into the server’s
      map cache, thus making get_node calls in the immediate future succeed.
      
      This has the dual advantages that not every mapblock containing a
      Mesecons circuit need remain loaded at all times (rather mapblocks can
      be loaded on demand as signals are sent), and that the server need not
      bother running ABMs and ticking entities within those mapblocks that are
      loaded due to Mesecons signalling.
      Unverified
      564cee34
Loading