ACEmulator Monthly Report – November 1, 2018 – December 1, 2018

ACEmulator / ACE:
7 authors have pushed 28 commits to master
167 files have changed
6,608 additions
1,593 deletions
View Pulse
Changelog

Notable Changes:

  • Improved design and performance for SequenceManager
  • Added RenderTexture, String and Font to DatLoader.FileTypes
  • Added scrolls to loot profiles
  • Added caching system for scrolls
  • Added stream support to audio export
  • Fixed a long-standing network bug with lost/corrupted packets dropping clients
    • Fixed a bug causing AcknowledgeSequence packets to increment the LastReceivedPacketSequence, causing the Sequence to break and never recover for that Session
    • Fixed a bug causing RequestTransmit packets to be ignored
    • Improved server resiliency against malformed packets
    • Changed the C2S RequestForRetransmit to per-request packet, instead of sequence
    • Added developer network debug commands
    • Added a generational feature to ISAAC development of network layer
    • Adding pre-processor definition NETDIAG + directives to ACE.Common and ACE.Server to help development by preserving troubleshooting tools, without interference with the optimal solution
  • Updated client lib with features useful for third-party apps
    • Added outdoor landscape texture blending system (ImgTex, TexMerge, LandSurf)
    • Updated LandblockStruct to optionally generated texture UV coordinates for landscape textures. Defaults to off for server environments
    • Added animation-only updates to physics engine
  • Added instructions for installing with VS Community Edition
  • Added more RNG treasure generation for chests
  • Improved DatLoader for third-party apps
    • Fixed a bug where Unicode string lengths weren’t being read as compressed
    • Added optional flag for caller to select whether or not to load the cell.dat.
    • Fixed a bug where Animation framecounts were being read as uint instead of int
    • Added more enum flags, as per client definitions
  • Added more DAT fletypes: EnumMapper, StringTable, DIDMapper, DualDIDMapper
  • Fixed an issue with door and chest appraisal with respect to lockpick chances
  • keepOpen option added to DatDatabase FileStream – improves DatLoader performance
  • Added Property dictionary system – reduces CPU needed for handling properties by about 80%
  • Removed ActionQueue.Dequeue architecture, as it was unused. This change reduces the CPU ActionQueues require by half.
  • Make StackSize an int instead of ushort
    • This fixes the housing prices to match retail
  • Changed format of ServerStatus, Total CPU Time to match server runtime
  • Streamline attributes and vitals
  • Cleanup LoadAllLandblocks status output, and improved comments
  • Profiling-based performance improvements:
    • Landblock LoadMeshes summary improved
    • Added thread safety to LScape.get_landblock()
    • Improved WorldObject.ObjectGuid creation
  • Added caching subsystem to EnchantmentManager
  • With these recent changes, 50+ active players have been tested and running smoothly
  • Improved ShadowPart performance
  • Fixed a bug with using certain mana pools
  • Update EmoteManager and WorldObject Generator with fixes for Anniversary event emotes.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.