From 3fe2a75a5c89457483e77e6d659376e2f529ae62 Mon Sep 17 00:00:00 2001 From: stonedDiscord Date: Mon, 9 Feb 2026 11:03:27 +0100 Subject: [PATCH 1/3] log music --- src/logger/u_logger.cpp | 8 ++++++++ src/logger/u_logger.h | 6 ++++++ src/packet/packet_mc.cpp | 2 ++ 3 files changed, 16 insertions(+) diff --git a/src/logger/u_logger.cpp b/src/logger/u_logger.cpp index 5c1ab29c..9a2fa815 100644 --- a/src/logger/u_logger.cpp +++ b/src/logger/u_logger.cpp @@ -53,6 +53,14 @@ void ULogger::logIC(const QString &f_char_name, const QString &f_ooc_name, const updateAreaBuffer(f_area_name, l_logEntry); } +void ULogger::logMusic(const QString &f_char_name, const QString &f_ooc_name, const QString &f_ipid, + const QString &f_area_name, const QString &f_track) +{ + QString l_time = QDateTime::currentDateTime().toString("ddd MMMM d yyyy | hh:mm:ss"); + QString l_logEntry = QString(m_logtext.value("music") + "\n").arg(l_time, f_char_name, f_ooc_name, f_ipid, f_area_name, f_track); + updateAreaBuffer(f_area_name, l_logEntry); +} + void ULogger::logOOC(const QString &f_char_name, const QString &f_ooc_name, const QString &f_ipid, const QString &f_area_name, const QString &f_message) { diff --git a/src/logger/u_logger.h b/src/logger/u_logger.h index d08e19d9..a2b1ff83 100644 --- a/src/logger/u_logger.h +++ b/src/logger/u_logger.h @@ -59,6 +59,12 @@ class ULogger : public QObject void logIC(const QString &f_char_name, const QString &f_ooc_name, const QString &f_ipid, const QString &f_area_name, const QString &f_message); + /** + * @brief Adds a music log entry to the area buffer and writes it to the respective log format. + */ + void logMusic(const QString &f_char_name, const QString &f_ooc_name, const QString &f_ipid, + const QString &f_area_name, const QString &f_track); + /** * @brief Adds an OOC log entry to the area buffer and writes it to the respective log format. */ diff --git a/src/packet/packet_mc.cpp b/src/packet/packet_mc.cpp index 88217384..e6912f17 100644 --- a/src/packet/packet_mc.cpp +++ b/src/packet/packet_mc.cpp @@ -78,6 +78,8 @@ void PacketMC::handlePacket(AreaData *area, AOClient &client) const AOPacket *l_music_change = PacketFactory::createPacket("MC", {l_final_song, m_content[1], client.characterName(), "1", "0", l_effects}); client.getServer()->broadcast(l_music_change, client.areaId()); + emit client.logMusic((client.character() + " " + client.characterName()), client.name(), client.m_ipid, client.getServer()->getAreaById(client.areaId())->name(), l_final_song); + // Since we can't ensure a user has their showname set, we check if its empty to prevent //"played by ." in /currentmusic. if (client.characterName().isEmpty()) { From 45115598dee58fea7b81ef7f5b6e6bc618b4a605 Mon Sep 17 00:00:00 2001 From: stonedDiscord Date: Mon, 9 Feb 2026 11:09:42 +0100 Subject: [PATCH 2/3] signal --- src/aoclient.h | 5 +++++ src/server.cpp | 1 + 2 files changed, 6 insertions(+) diff --git a/src/aoclient.h b/src/aoclient.h index 44417776..a27f2437 100644 --- a/src/aoclient.h +++ b/src/aoclient.h @@ -2157,6 +2157,11 @@ class AOClient : public QObject */ void logIC(const QString &f_charName, const QString &f_oocName, const QString &f_ipid, const QString &f_areaName, const QString &f_message); + /** + * @brief Signal connected to universal logger. Sends music usage to the logger. + */ + void logMusic(const QString &f_charName, const QString &f_oocName, const QString &f_ipid, + const QString &f_areaName, const QString &f_track); /** * @brief Signal connected to universal logger. Sends OOC chat usage to the logger. diff --git a/src/server.cpp b/src/server.cpp index 2a3260e6..64b25d21 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -516,6 +516,7 @@ void Server::hookupAOClient(AOClient *client) { connect(client, &AOClient::joined, this, &Server::increasePlayerCount); connect(client, &AOClient::logIC, logger, &ULogger::logIC); + connect(client, &AOClient::logMusic, logger, &ULogger::logMusic); connect(client, &AOClient::logOOC, logger, &ULogger::logOOC); connect(client, &AOClient::logLogin, logger, &ULogger::logLogin); connect(client, &AOClient::logCMD, logger, &ULogger::logCMD); From c378c10ea120492b3bf18f06351b48e3ce5b20ee Mon Sep 17 00:00:00 2001 From: stonedDiscord Date: Mon, 9 Feb 2026 11:17:48 +0100 Subject: [PATCH 3/3] hashmap --- src/logger/u_logger.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/logger/u_logger.h b/src/logger/u_logger.h index a2b1ff83..0c5f6f03 100644 --- a/src/logger/u_logger.h +++ b/src/logger/u_logger.h @@ -141,6 +141,7 @@ class ULogger : public QObject */ QHash m_logtext{ {"ic", "[%1][%5][IC][%2(%3)][%4]%6"}, + {"music", "[%1][%5][MUSIC][%2(%3)][%4]%6"}, {"ooc", "[%1][%5][OOC][%2(%3)][%4]%6"}, {"login", "[%1][LOGIN][%2][%3][%4(%5)]"}, {"cmdlogin", "[%1][%2][LOGIN][%5][%3(%4)]"},