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

@ -744,7 +744,7 @@ M2Model M2Loader::load(const std::vector<uint8_t>& m2Data) {
header.nParticleEmitters = r32();
header.ofsParticleEmitters = r32();
core::Logger::getInstance().info("Vanilla M2 (version ", header.version,
core::Logger::getInstance().debug("Vanilla M2 (version ", header.version,
"): nVerts=", header.nVertices, " nViews=", header.nViews,
" ofsViews=", ofsViews, " nTex=", header.nTextures);
} else {
@ -1315,7 +1315,7 @@ M2Model M2Loader::load(const std::vector<uint8_t>& m2Data) {
}
}
core::Logger::getInstance().info("Vanilla M2: embedded skin loaded — ",
core::Logger::getInstance().debug("Vanilla M2: embedded skin loaded — ",
model.indices.size(), " indices, ", model.batches.size(), " batches");
}