Add mailbox system and fix logging performance stutter

Implement full mail send/receive: SMSG_SHOW_MAILBOX, CMSG_GET_MAIL_LIST,
SMSG_MAIL_LIST_RESULT, CMSG_SEND_MAIL, SMSG_SEND_MAIL_RESULT, mail take
money/item/delete/mark-as-read, and inbox/compose UI windows.

Fix periodic stuttering in Stormwind caused by synchronous per-line disk
flushes in the logger — remove fileStream.flush() and std::endl, downgrade
high-volume per-packet/per-model/per-texture LOG_INFO to LOG_DEBUG.
This commit is contained in:
Kelsi 2026-02-15 14:00:41 -08:00
parent 9bc8c5c85a
commit 8a468e9533
14 changed files with 782 additions and 22 deletions

View file

@ -365,6 +365,19 @@ enum class LogicalOpcode : uint16_t {
CMSG_CHANNEL_LIST,
SMSG_CHANNEL_LIST,
// ---- Mail ----
SMSG_SHOW_MAILBOX,
CMSG_GET_MAIL_LIST,
SMSG_MAIL_LIST_RESULT,
CMSG_SEND_MAIL,
SMSG_SEND_MAIL_RESULT,
CMSG_MAIL_TAKE_MONEY,
CMSG_MAIL_TAKE_ITEM,
CMSG_MAIL_DELETE,
CMSG_MAIL_MARK_AS_READ,
SMSG_RECEIVED_MAIL,
MSG_QUERY_NEXT_MAIL_TIME,
// Sentinel
COUNT
};