diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-04-27 02:53:46 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-04-27 02:53:46 +0300 |
commit | 64815b311e47395638a2bf5ea80f949526942570 (patch) | |
tree | 11d17054a6fbd8a779321d3bb0f1298144af248f /src | |
parent | 80bbbc4c18273e0d1116d7e924d1df068a5d63d5 (diff) | |
download | manaplus-64815b311e47395638a2bf5ea80f949526942570.tar.gz manaplus-64815b311e47395638a2bf5ea80f949526942570.tar.bz2 manaplus-64815b311e47395638a2bf5ea80f949526942570.tar.xz manaplus-64815b311e47395638a2bf5ea80f949526942570.zip |
Show counted memory usage sum in chat.
Diffstat (limited to 'src')
-rw-r--r-- | src/actions/actions.cpp | 5 | ||||
-rw-r--r-- | src/localconsts.h | 5 | ||||
-rw-r--r-- | src/resources/memorymanager.cpp | 18 | ||||
-rw-r--r-- | src/resources/memorymanager.h | 4 |
4 files changed, 28 insertions, 4 deletions
diff --git a/src/actions/actions.cpp b/src/actions/actions.cpp index 1e7a9ad5b..9f7e5287a 100644 --- a/src/actions/actions.cpp +++ b/src/actions/actions.cpp @@ -1786,7 +1786,10 @@ impHandler(seen) impHandler0(dumpMemoryUsage) { - memoryManager.printAllMemory(); + if (event.tab) + memoryManager.printAllMemory(event.tab); + else + memoryManager.printAllMemory(localChatTab); return true; } diff --git a/src/localconsts.h b/src/localconsts.h index f5254c641..96943671e 100644 --- a/src/localconsts.h +++ b/src/localconsts.h @@ -93,6 +93,11 @@ #else // EATHENA_SUPPORT #define A_TMWA_UNUSED #endif // EATHENA_SUPPORT +#ifdef DYECMD +#define A_DYECMD_UNUSED __attribute__ ((unused)) +#else // DYECMD +#define A_DYECMD_UNUSED +#endif // DYECMD #ifdef __native_client__ #define restrict diff --git a/src/resources/memorymanager.cpp b/src/resources/memorymanager.cpp index a88d53b79..ecb0879aa 100644 --- a/src/resources/memorymanager.cpp +++ b/src/resources/memorymanager.cpp @@ -22,8 +22,13 @@ #include "logger.h" +#include "gui/widgets/tabs/chat/chattab.h" + #include "resources/resourcemanager.h" +#include "utils/gettext.h" +#include "utils/stringutils.h" + #include <SDL_video.h> #include <string> @@ -62,10 +67,19 @@ void MemoryManager::printMemory(const int level A_UNUSED, childsSum); } -void MemoryManager::printAllMemory() +void MemoryManager::printAllMemory(ChatTab *const tab A_DYECMD_UNUSED) { if (!logger) return; + int sz = 0; if (resourceManager) - resourceManager->calcMemory(0); + sz += resourceManager->calcMemory(0); +#ifndef DYECMD + if (tab) + { + // TRANSLATORS: memory usage chat message + tab->chatLog(strprintf(_("Calculated memory usage: %d"), sz), + ChatMsgType::BY_SERVER); + } +#endif } diff --git a/src/resources/memorymanager.h b/src/resources/memorymanager.h index 658876776..9243989d3 100644 --- a/src/resources/memorymanager.h +++ b/src/resources/memorymanager.h @@ -23,6 +23,8 @@ #include "localconsts.h" +class ChatTab; + struct SDL_Surface; class MemoryManager final @@ -41,7 +43,7 @@ class MemoryManager final const int localSum, const int childsSum); - void printAllMemory(); + void printAllMemory(ChatTab *const tab); }; extern MemoryManager memoryManager; |