diff --git a/ChannelRelay/ChannelRelay.cpp b/ChannelRelay/ChannelRelay.cpp index dda4f09..8420554 100644 --- a/ChannelRelay/ChannelRelay.cpp +++ b/ChannelRelay/ChannelRelay.cpp @@ -40,6 +40,8 @@ bool ChannelRelayPlugin::initialize() int ChannelRelayPlugin::OnRehash() { + Jupiter::Plugin::OnRehash(); + ChannelRelayPlugin::types.erase(); return this->initialize() ? 0 : -1; } diff --git a/Jupiter b/Jupiter index b990d5d..1b697ec 160000 --- a/Jupiter +++ b/Jupiter @@ -1 +1 @@ -Subproject commit b990d5d27facfd283ad4d36c70105d682a283cdc +Subproject commit 1b697ec73adfc406e4ad5244aae8d24978fa36d8 diff --git a/Release/Bot.lib b/Release/Bot.lib index 3ed59eb..378aaa3 100644 Binary files a/Release/Bot.lib and b/Release/Bot.lib differ diff --git a/Release/Plugins/RenX.Core.lib b/Release/Plugins/RenX.Core.lib index 0e6d477..349325c 100644 Binary files a/Release/Plugins/RenX.Core.lib and b/Release/Plugins/RenX.Core.lib differ diff --git a/RenX.Announcements/RenX_Announcements.cpp b/RenX.Announcements/RenX_Announcements.cpp index 921ac48..f44e933 100644 --- a/RenX.Announcements/RenX_Announcements.cpp +++ b/RenX.Announcements/RenX_Announcements.cpp @@ -64,6 +64,8 @@ void RenX_AnnouncementsPlugin::announce(unsigned int) int RenX_AnnouncementsPlugin::OnRehash() { + RenX::Plugin::OnRehash(); + RenX_AnnouncementsPlugin::timer->kill(); RenX_AnnouncementsPlugin::announcementsFile.unload(); return this->initialize() ? 0 : -1; diff --git a/RenX.Announcements/RenX_Announcements.h b/RenX.Announcements/RenX_Announcements.h index dbc23aa..0485e8f 100644 --- a/RenX.Announcements/RenX_Announcements.h +++ b/RenX.Announcements/RenX_Announcements.h @@ -34,7 +34,7 @@ public: public: // Jupiter::Plugin virtual bool initialize() override; - int OnRehash(); + int OnRehash() override; ~RenX_AnnouncementsPlugin(); private: diff --git a/RenX.Commands/RenX_Commands.cpp b/RenX.Commands/RenX_Commands.cpp index 85c8a8c..92354f1 100644 --- a/RenX.Commands/RenX_Commands.cpp +++ b/RenX.Commands/RenX_Commands.cpp @@ -80,6 +80,7 @@ bool RenX_CommandsPlugin::initialize() int RenX_CommandsPlugin::OnRehash() { + RenX::Plugin::OnRehash(); return this->initialize() ? 0 : -1; } diff --git a/RenX.Core/RenX_Server.h b/RenX.Core/RenX_Server.h index 32c1cff..b7ef2e3 100644 --- a/RenX.Core/RenX_Server.h +++ b/RenX.Core/RenX_Server.h @@ -73,7 +73,7 @@ namespace RenX * * @return 0. */ - virtual int OnRehash(); + virtual int OnRehash() override; /** * @brief Fires when a non-zero value is returned by an object during a call to rehash(). diff --git a/RenX.ExcessiveHeadshots/ExcessiveHeadshots.cpp b/RenX.ExcessiveHeadshots/ExcessiveHeadshots.cpp index b09001a..d9dbef3 100644 --- a/RenX.ExcessiveHeadshots/ExcessiveHeadshots.cpp +++ b/RenX.ExcessiveHeadshots/ExcessiveHeadshots.cpp @@ -38,6 +38,7 @@ bool RenX_ExcessiveHeadshotsPlugin::initialize() int RenX_ExcessiveHeadshotsPlugin::OnRehash() { + RenX::Plugin::OnRehash(); return this->initialize() ? 0 : -1; } diff --git a/RenX.ExtraLogging/RenX_ExtraLogging.cpp b/RenX.ExtraLogging/RenX_ExtraLogging.cpp index d5a149e..8109326 100644 --- a/RenX.ExtraLogging/RenX_ExtraLogging.cpp +++ b/RenX.ExtraLogging/RenX_ExtraLogging.cpp @@ -35,8 +35,11 @@ RenX_ExtraLoggingPlugin::~RenX_ExtraLoggingPlugin() int RenX_ExtraLoggingPlugin::OnRehash() { + RenX::Plugin::OnRehash(); + if (RenX_ExtraLoggingPlugin::file != nullptr) fclose(RenX_ExtraLoggingPlugin::file); + return this->initialize() ? 0 : -1; } diff --git a/RenX.Greetings/RenX_Greetings.cpp b/RenX.Greetings/RenX_Greetings.cpp index 7521344..4a884c6 100644 --- a/RenX.Greetings/RenX_Greetings.cpp +++ b/RenX.Greetings/RenX_Greetings.cpp @@ -62,6 +62,8 @@ void RenX_GreetingsPlugin::RenX_OnJoin(RenX::Server *server, const RenX::PlayerI int RenX_GreetingsPlugin::OnRehash() { + RenX::Plugin::OnRehash(); + RenX_GreetingsPlugin::greetingsFile.unload(); return RenX_GreetingsPlugin::initialize() ? 0 : -1; } diff --git a/RenX.IRCJoin/RenX_IRCJoin.cpp b/RenX.IRCJoin/RenX_IRCJoin.cpp index 63f47e9..9521b09 100644 --- a/RenX.IRCJoin/RenX_IRCJoin.cpp +++ b/RenX.IRCJoin/RenX_IRCJoin.cpp @@ -105,6 +105,8 @@ void RenX_IRCJoinPlugin::OnPart(Jupiter::IRC::Client *source, const Jupiter::Rea int RenX_IRCJoinPlugin::OnRehash() { + RenX::Plugin::OnRehash(); + return RenX_IRCJoinPlugin::initialize() ? 0 : -1; } diff --git a/RenX.Ladder.Web/RenX_Ladder_Web.cpp b/RenX.Ladder.Web/RenX_Ladder_Web.cpp index e4fa468..97bf058 100644 --- a/RenX.Ladder.Web/RenX_Ladder_Web.cpp +++ b/RenX.Ladder.Web/RenX_Ladder_Web.cpp @@ -34,7 +34,7 @@ bool RenX_Ladder_WebPlugin::initialize() RenX_Ladder_WebPlugin::web_hostname = this->config.get(Jupiter::ReferenceString::empty, "Hostname"_jrs, ""_jrs); RenX_Ladder_WebPlugin::web_path = this->config.get(Jupiter::ReferenceString::empty, "Path"_jrs, "/"_jrs); - this->OnRehash(); + this->init(); /** Initialize content */ Jupiter::HTTP::Server &server = getHTTPServer(); @@ -68,7 +68,7 @@ RenX_Ladder_WebPlugin::~RenX_Ladder_WebPlugin() server.remove(RenX_Ladder_WebPlugin::web_hostname, RenX_Ladder_WebPlugin::web_path, RenX_Ladder_WebPlugin::profile_page_name); } -int RenX_Ladder_WebPlugin::OnRehash() +void RenX_Ladder_WebPlugin::init() { FILE *file; int chr; @@ -155,7 +155,12 @@ int RenX_Ladder_WebPlugin::OnRehash() fclose(file); } } +} +int RenX_Ladder_WebPlugin::OnRehash() +{ + RenX::Plugin::OnRehash(); + this->init(); return 0; } diff --git a/RenX.Ladder.Web/RenX_Ladder_Web.h b/RenX.Ladder.Web/RenX_Ladder_Web.h index c2a4ebe..d18956d 100644 --- a/RenX.Ladder.Web/RenX_Ladder_Web.h +++ b/RenX.Ladder.Web/RenX_Ladder_Web.h @@ -53,6 +53,8 @@ public: // Jupiter::Plugin int OnRehash() override; private: + void init(); + /** Configuration variables */ size_t entries_per_page; size_t min_search_name_length; diff --git a/RenX.Listen/RenX_Listen.cpp b/RenX.Listen/RenX_Listen.cpp index 6a7a916..25f4140 100644 --- a/RenX.Listen/RenX_Listen.cpp +++ b/RenX.Listen/RenX_Listen.cpp @@ -53,6 +53,8 @@ int RenX_ListenPlugin::think() int RenX_ListenPlugin::OnRehash() { + RenX::Plugin::OnRehash(); + uint16_t port = this->config.getInt(Jupiter::ReferenceString::empty, STRING_LITERAL_AS_REFERENCE("Port"), 21337); const Jupiter::ReadableString &address = this->config.get(Jupiter::ReferenceString::empty, STRING_LITERAL_AS_REFERENCE("Address"), STRING_LITERAL_AS_REFERENCE("0.0.0.0")); RenX_ListenPlugin::serverSection = this->config.get(Jupiter::ReferenceString::empty, STRING_LITERAL_AS_REFERENCE("ServerSection"), this->getName()); diff --git a/RenX.Logging/RenX_Logging.cpp b/RenX.Logging/RenX_Logging.cpp index cc13edf..f478370 100644 --- a/RenX.Logging/RenX_Logging.cpp +++ b/RenX.Logging/RenX_Logging.cpp @@ -2257,6 +2257,7 @@ void RenX_LoggingPlugin::RenX_OnOther(RenX::Server *server, char token, const Ju int RenX_LoggingPlugin::OnRehash() { + RenX::Plugin::OnRehash(); return this->initialize() ? 0 : -1; } diff --git a/RenX.Medals/RenX_Medals.cpp b/RenX.Medals/RenX_Medals.cpp index 4ab9a40..f02adfd 100644 --- a/RenX.Medals/RenX_Medals.cpp +++ b/RenX.Medals/RenX_Medals.cpp @@ -264,6 +264,8 @@ void RenX_MedalsPlugin::RenX_OnDestroy(RenX::Server *server, const RenX::PlayerI int RenX_MedalsPlugin::OnRehash() { + RenX::Plugin::OnRehash(); + RenX_MedalsPlugin::medalsFile.sync(RenX_MedalsPlugin::medalsFileName); RenX_MedalsPlugin::medalsFile.flushData(); init(); diff --git a/RenX.ModSystem/RenX_ModSystem.cpp b/RenX.ModSystem/RenX_ModSystem.cpp index 9836530..beaf71c 100644 --- a/RenX.ModSystem/RenX_ModSystem.cpp +++ b/RenX.ModSystem/RenX_ModSystem.cpp @@ -407,6 +407,8 @@ void RenX_ModSystemPlugin::RenX_OnAdminLogout(RenX::Server *server, const RenX:: int RenX_ModSystemPlugin::OnRehash() { + RenX::Plugin::OnRehash(); + RenX_ModSystemPlugin::modsFile.flushData(); while (RenX_ModSystemPlugin::groups.size() != 0) delete RenX_ModSystemPlugin::groups.remove(0U); diff --git a/RenX.ModSystem/RenX_ModSystem.h b/RenX.ModSystem/RenX_ModSystem.h index 2f1414a..cbaaa61 100644 --- a/RenX.ModSystem/RenX_ModSystem.h +++ b/RenX.ModSystem/RenX_ModSystem.h @@ -102,7 +102,7 @@ public: // RenX::Plugin void RenX_OnAdminLogout(RenX::Server *server, const RenX::PlayerInfo *player) override; public: // Jupiter::Plugin - int OnRehash(); + int OnRehash() override; Jupiter::INIFile &modsFile = Jupiter::Plugin::config; private: diff --git a/RenX.Warn/RenX_Warn.cpp b/RenX.Warn/RenX_Warn.cpp index 12a7a4a..6e794ca 100644 --- a/RenX.Warn/RenX_Warn.cpp +++ b/RenX.Warn/RenX_Warn.cpp @@ -30,6 +30,7 @@ bool RenX_WarnPlugin::initialize() int RenX_WarnPlugin::OnRehash() { + RenX::Plugin::OnRehash(); return this->initialize() ? 0 : -1; }