Skip to content
Snippets Groups Projects
  1. Oct 24, 2015
  2. Oct 23, 2015
  3. Oct 22, 2015
  4. Oct 21, 2015
    • Samuel Wegner's avatar
      Improve efficiency · 33f94dd8
      Samuel Wegner authored
      33f94dd8
    • Samuel Wegner's avatar
      Fix coding style · e66fe05c
      Samuel Wegner authored
      e66fe05c
    • Samuel Wegner's avatar
      Fix comment formatting · a5d7126d
      Samuel Wegner authored
      a5d7126d
    • Samuel Wegner's avatar
      Fix some issues with Warden's Call · e42cbd0a
      Samuel Wegner authored
      Fix 1: Improve cloning function
      
      Previously, makeParadoxClone() temporarily cleared the actor's
      particles and main inventory so that they wouldn't be copied by
      cloneFull() when making Warden's Call clones. However, this resulted
      in some players losing their inventory, probably due to some race
      condition during lag caused by the Warden's Call memory leak.
      
      Now, makeParadoxClone() has its own recursive table cloning function
      with options for skipping specific nodes or assigning them a different
      value from the source table. This way, we can clone an actor without
      modifying that actor's table.
      
      Fix 2: Create cleanup function for Warden's Call
      
      Added a basic cleanup function for Warden's Call clones. Currently, it
      just makes sure they're dead and replaces references in timed effects
      with references to the player, so the clones can be freed by the
      garbage collector. More features will likely be added as I find other
      causes of the memory leak.
      
      NOTE: These changes don't fix the memory leak. It may help a little,
      but that issue needs more investigation.
      
      It's probably worth pushing these changes back to v1.3.X in a minor
      update to fix the issue with missing player inventory. Completely
      fixing the memory leak may take a while.
      e42cbd0a
  5. Oct 20, 2015
  6. Oct 19, 2015
  7. Oct 18, 2015
  8. Oct 14, 2015
  9. Oct 13, 2015
  10. Oct 12, 2015
  11. Oct 11, 2015
  12. Oct 10, 2015
    • Samuel Wegner's avatar
      Set can_see_cache to weak table · d96e30da
      Samuel Wegner authored
      Previously, if the "can_see_cache" property is not initialized when
      Actor.canSee() is called, it will be set to a strong table. This seems
      bad because this table can hold references to other actors and possibly
      prevent garbage collection. Actor.resetCanSeeCache() sets
      "can_see_cache" to a weak table, so I think the same should be done for
      initializing the property in Actor.canSee().
      
      Now, Actor.canSee() will initialize "can_see_cache" with a weak table
      if it doesn't already exist.
      
      I stumbled across this while investigating the Warden's Call memory
      leak and found references to the clones in game.player.can_see_cache.
      Unfortunately, this change doesn't seem to fix that problem.
      d96e30da
    • Alex Ksandra's avatar
  13. Oct 09, 2015
  14. Oct 08, 2015
Loading