From 5ebf36ff974ac04e5da65c577a26725bcebadfe2 Mon Sep 17 00:00:00 2001 From: Jessica James Date: Tue, 14 Feb 2017 01:52:51 -0500 Subject: [PATCH] Replaced all instances of DLList with std::list Replaced many pointer parameters with reference parameters Fixed an initialization bug in HTTPServer Updated Jupiter --- Bot/Main.cpp | 2 +- Configs/RenX.Commands.ini | 1 - HTTPServer/HTTPServer.cpp | 6 +- HTTPServer/HTTPServer.h | 4 +- Jupiter | 2 +- RenX.AlwaysRecord/RenX_AlwaysRecord.cpp | 6 +- RenX.AlwaysRecord/RenX_AlwaysRecord.h | 4 +- RenX.Commands/RenX_Commands.cpp | 374 +++++------ RenX.Commands/RenX_Commands.h | 8 +- RenX.Core/RenX_BanDatabase.cpp | 20 +- RenX.Core/RenX_BanDatabase.h | 4 +- RenX.Core/RenX_ExemptionDatabase.cpp | 14 +- RenX.Core/RenX_ExemptionDatabase.h | 6 +- RenX.Core/RenX_Functions.cpp | 44 +- RenX.Core/RenX_Functions.h | 12 +- RenX.Core/RenX_LadderDatabase.cpp | 20 +- RenX.Core/RenX_LadderDatabase.h | 4 +- RenX.Core/RenX_Plugin.cpp | 234 +++---- RenX.Core/RenX_Plugin.h | 232 +++---- RenX.Core/RenX_Server.cpp | 628 +++++++++--------- RenX.Core/RenX_Server.h | 47 +- RenX.Core/RenX_Tags.cpp | 10 +- .../ExcessiveHeadshots.cpp | 22 +- RenX.ExcessiveHeadshots/ExcessiveHeadshots.h | 4 +- RenX.ExtraLogging/RenX_ExtraLogging.cpp | 8 +- RenX.ExtraLogging/RenX_ExtraLogging.h | 4 +- RenX.Greetings/RenX_Greetings.cpp | 12 +- RenX.Greetings/RenX_Greetings.h | 4 +- RenX.HybridUUID/RenX_HybridUUID.cpp | 16 +- RenX.HybridUUID/RenX_HybridUUID.h | 4 +- RenX.Ladder.Daily/RenX_Ladder_Daily.cpp | 4 +- RenX.Ladder.Daily/RenX_Ladder_Daily.h | 4 +- RenX.Ladder.Monthly/RenX_Ladder_Monthly.cpp | 4 +- RenX.Ladder.Monthly/RenX_Ladder_Monthly.h | 4 +- RenX.Ladder.Weekly/RenX_Ladder_Weekly.cpp | 4 +- RenX.Ladder.Weekly/RenX_Ladder_Weekly.h | 4 +- RenX.Ladder.Yearly/RenX_Ladder_Yearly.cpp | 4 +- RenX.Ladder.Yearly/RenX_Ladder_Yearly.h | 4 +- RenX.Ladder/RenX_Ladder.cpp | 34 +- RenX.Ladder/RenX_Ladder.h | 8 +- RenX.Logging/RenX_Logging.cpp | 572 ++++++++-------- RenX.Logging/RenX_Logging.h | 186 +++--- RenX.Medals/RenX_Medals.cpp | 172 +++-- RenX.Medals/RenX_Medals.h | 22 +- RenX.MinPlayers/RenX_MinPlayers.cpp | 50 +- RenX.MinPlayers/RenX_MinPlayers.h | 18 +- RenX.ModSystem/RenX_ModSystem.cpp | 311 +++++---- RenX.ModSystem/RenX_ModSystem.h | 28 +- RenX.NicknameUUID/RenX_NicknameUUID.cpp | 10 +- RenX.NicknameUUID/RenX_NicknameUUID.h | 4 +- RenX.ServerList/RenX_ServerList.cpp | 248 +++---- RenX.ServerList/RenX_ServerList.h | 14 +- RenX.SetJoin/RenX_SetJoin.cpp | 38 +- RenX.SetJoin/RenX_SetJoin.h | 4 +- RenX.Warn/RenX_Warn.cpp | 28 +- 55 files changed, 1759 insertions(+), 1776 deletions(-) diff --git a/Bot/Main.cpp b/Bot/Main.cpp index 0aa645a..a4bf800 100644 --- a/Bot/Main.cpp +++ b/Bot/Main.cpp @@ -104,7 +104,7 @@ int main(int argc, const char **args) SetConsoleOutputCP(65001); #endif // _WIN32 - srand(static_cast(std::chrono::duration_cast(std::chrono::system_clock::now().time_since_epoch()).count())); + srand(static_cast(std::chrono::system_clock::now().time_since_epoch().count())); puts(Jupiter::copyright); const char *configFileName = "Config.ini"; diff --git a/Configs/RenX.Commands.ini b/Configs/RenX.Commands.ini index d4c09a8..b473105 100644 --- a/Configs/RenX.Commands.ini +++ b/Configs/RenX.Commands.ini @@ -7,7 +7,6 @@ ; StaffTitle=String (Default: Moderator) ; -[RenX.Commands] TBanTime=86400 ;EOF \ No newline at end of file diff --git a/HTTPServer/HTTPServer.cpp b/HTTPServer/HTTPServer.cpp index 4a4c515..08f8bf7 100644 --- a/HTTPServer/HTTPServer.cpp +++ b/HTTPServer/HTTPServer.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2015-2016 Jessica James. + * Copyright (C) 2015-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -20,9 +20,9 @@ using namespace Jupiter::literals; -HTTPServerPlugin::HTTPServerPlugin() +bool HTTPServerPlugin::initialize() { - HTTPServerPlugin::server.bind(this->config.get("BindAddress"_jrs, "0.0.0.0"_jrs), this->config.get("BindPort"_jrs, 80)); + return HTTPServerPlugin::server.bind(this->config.get("BindAddress"_jrs, "0.0.0.0"_jrs), this->config.get("BindPort"_jrs, 80)); } int HTTPServerPlugin::think() diff --git a/HTTPServer/HTTPServer.h b/HTTPServer/HTTPServer.h index 5614ac0..0dc4da7 100644 --- a/HTTPServer/HTTPServer.h +++ b/HTTPServer/HTTPServer.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2015-2016 Jessica James. + * Copyright (C) 2015-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -53,7 +53,7 @@ class HTTPSERVER_API HTTPServerPlugin : public Jupiter::Plugin { public: - HTTPServerPlugin(); + virtual bool initialize() override; Jupiter::HTTP::Server server; public: // Jupiter::Plugin diff --git a/Jupiter b/Jupiter index b8983d4..89e4050 160000 --- a/Jupiter +++ b/Jupiter @@ -1 +1 @@ -Subproject commit b8983d476abb9c34b77794394e51fa0001f25f8e +Subproject commit 89e4050c55eb47f41971c88a24dac99ac10c7603 diff --git a/RenX.AlwaysRecord/RenX_AlwaysRecord.cpp b/RenX.AlwaysRecord/RenX_AlwaysRecord.cpp index 37ac757..b1c0174 100644 --- a/RenX.AlwaysRecord/RenX_AlwaysRecord.cpp +++ b/RenX.AlwaysRecord/RenX_AlwaysRecord.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2015 Jessica James. + * Copyright (C) 2015-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -21,9 +21,9 @@ using namespace Jupiter::literals; -void RenX_AlwaysRecord::RenX_OnMapStart(RenX::Server *server, const Jupiter::ReadableString &) +void RenX_AlwaysRecord::RenX_OnMapStart(RenX::Server &server, const Jupiter::ReadableString &) { - server->send("demorec"_jrs); + server.send("demorec"_jrs); } // Plugin instantiation and entry point. diff --git a/RenX.AlwaysRecord/RenX_AlwaysRecord.h b/RenX.AlwaysRecord/RenX_AlwaysRecord.h index 379fa24..1570c57 100644 --- a/RenX.AlwaysRecord/RenX_AlwaysRecord.h +++ b/RenX.AlwaysRecord/RenX_AlwaysRecord.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2015-2016 Jessica James. + * Copyright (C) 2015-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -26,7 +26,7 @@ class RenX_AlwaysRecord : public RenX::Plugin { public: // RenX::Plugin - void RenX_OnMapStart(RenX::Server *server, const Jupiter::ReadableString &) override; + void RenX_OnMapStart(RenX::Server &server, const Jupiter::ReadableString &) override; }; #endif // _RENX_ALWAYSRECORD_H_HEADER \ No newline at end of file diff --git a/RenX.Commands/RenX_Commands.cpp b/RenX.Commands/RenX_Commands.cpp index e8b3cb5..6f72d53 100644 --- a/RenX.Commands/RenX_Commands.cpp +++ b/RenX.Commands/RenX_Commands.cpp @@ -44,23 +44,23 @@ inline bool togglePhasing(RenX::Server *server) return togglePhasing(server, !server->varData[RxCommandsSection].get("phasing"_jrs, false)); } -inline void onDie(RenX::Server *server, const RenX::PlayerInfo *player) +inline void onDie(RenX::Server &server, const RenX::PlayerInfo &player) { - if (player->isBot && server->varData[RxCommandsSection].get("phasing"_jrs, false)) - server->kickPlayer(player, Jupiter::StringS::empty); + if (player.isBot && server.varData[RxCommandsSection].get("phasing"_jrs, false)) + server.kickPlayer(player, Jupiter::StringS::empty); } -void RenX_CommandsPlugin::RenX_OnSuicide(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &) +void RenX_CommandsPlugin::RenX_OnSuicide(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &) { onDie(server, player); } -void RenX_CommandsPlugin::RenX_OnKill(RenX::Server *server, const RenX::PlayerInfo *, const RenX::PlayerInfo *victim, const Jupiter::ReadableString &) +void RenX_CommandsPlugin::RenX_OnKill(RenX::Server &server, const RenX::PlayerInfo &, const RenX::PlayerInfo &victim, const Jupiter::ReadableString &) { onDie(server, victim); } -void RenX_CommandsPlugin::RenX_OnDie(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &) +void RenX_CommandsPlugin::RenX_OnDie(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &) { onDie(server, player); } @@ -254,7 +254,7 @@ void PMsgIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &cha { player = server->getPlayerByPartName(name); if (player != nullptr) - server->sendMessage(player, msg); + server->sendMessage(*player, msg); else source->sendNotice(nick, Jupiter::StringS::Format("Error: Player \"%.*s\" not found.", name.size(), name.ptr())); } } @@ -349,9 +349,9 @@ void PlayersIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString & } // End string containers - Jupiter::DLList gStrings; - Jupiter::DLList nStrings; - Jupiter::DLList oStrings; + std::list gStrings; + std::list nStrings; + std::list oStrings; Jupiter::StringL *gCurrent = nullptr; Jupiter::StringL *nCurrent = nullptr; @@ -367,72 +367,75 @@ void PlayersIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString & unsigned int nBots = 0; unsigned int oBots = 0; - for (Jupiter::DLList::Node *node = server->players.getNode(0); node != nullptr; node = node->next) + for (auto node = server->players.begin(); node != server->players.end(); ++node) { - if (node->data != nullptr) - { - Jupiter::String &name = RenX::getFormattedPlayerName(node->data); - if (name.size() > STRING_LENGTH - 32) continue; // Name will be too long to send. + Jupiter::String &name = RenX::getFormattedPlayerName(*node); + if (name.size() > STRING_LENGTH - 32) continue; // Name will be too long to send. - switch (node->data->team) + switch (node->team) + { + case RenX::TeamType::Nod: + if (nCurrent == nullptr || nCurrent->size() + name.size() > STRING_LENGTH) { - case RenX::TeamType::Nod: - if (nCurrent == nullptr || nCurrent->size() + name.size() > STRING_LENGTH) - { - nCurrent = new Jupiter::StringL(STRING_LENGTH); - nCurrent->format(IRCCOLOR "%.*s[%.*s]: " IRCBOLD "%.*s" IRCBOLD, nTeamColor.size(), nTeamColor.ptr(), nTeam.size(), nTeam.ptr(), name.size(), name.ptr()); - nStrings.add(nCurrent); - } - else nCurrent->aformat(IRCCOLOR ", " IRCBOLD "%.*s" IRCBOLD, name.size(), name.ptr()); - nTotal++; - if (node->data->isBot) - nBots++; - break; - case RenX::TeamType::GDI: - if (gCurrent == nullptr || gCurrent->size() + name.size() > STRING_LENGTH) - { - gCurrent = new Jupiter::StringL(STRING_LENGTH); - gCurrent->format(IRCCOLOR "%.*s[%.*s]: " IRCBOLD "%.*s" IRCBOLD, gTeamColor.size(), gTeamColor.ptr(), gTeam.size(), gTeam.ptr(), name.size(), name.ptr()); - gStrings.add(gCurrent); - } - else gCurrent->aformat(IRCCOLOR ", " IRCBOLD "%.*s" IRCBOLD, name.size(), name.ptr()); - gTotal++; - if (node->data->isBot) - gBots++; - break; - default: - if (oCurrent == nullptr || oCurrent->size() + name.size() > STRING_LENGTH) - { - oCurrent = new Jupiter::StringL(STRING_LENGTH); - oCurrent->format(IRCCOLOR "%.*s[%.*s]: " IRCBOLD "%.*s" IRCBOLD, oTeamColor.size(), oTeamColor.ptr(), oTeam.size(), oTeam.ptr(), name.size(), name.ptr()); - oStrings.add(oCurrent); - } - else oCurrent->aformat(IRCCOLOR ", " IRCBOLD "%.*s" IRCBOLD, name.size(), name.ptr()); - oTotal++; - if (node->data->isBot) - oBots++; - break; + nCurrent = new Jupiter::StringL(STRING_LENGTH); + nCurrent->format(IRCCOLOR "%.*s[%.*s]: " IRCBOLD "%.*s" IRCBOLD, nTeamColor.size(), nTeamColor.ptr(), nTeam.size(), nTeam.ptr(), name.size(), name.ptr()); + nStrings.push_back(nCurrent); } + else nCurrent->aformat(IRCCOLOR ", " IRCBOLD "%.*s" IRCBOLD, name.size(), name.ptr()); + nTotal++; + if (node->isBot) + nBots++; + break; + case RenX::TeamType::GDI: + if (gCurrent == nullptr || gCurrent->size() + name.size() > STRING_LENGTH) + { + gCurrent = new Jupiter::StringL(STRING_LENGTH); + gCurrent->format(IRCCOLOR "%.*s[%.*s]: " IRCBOLD "%.*s" IRCBOLD, gTeamColor.size(), gTeamColor.ptr(), gTeam.size(), gTeam.ptr(), name.size(), name.ptr()); + gStrings.push_back(gCurrent); + } + else gCurrent->aformat(IRCCOLOR ", " IRCBOLD "%.*s" IRCBOLD, name.size(), name.ptr()); + gTotal++; + if (node->isBot) + gBots++; + break; + default: + if (oCurrent == nullptr || oCurrent->size() + name.size() > STRING_LENGTH) + { + oCurrent = new Jupiter::StringL(STRING_LENGTH); + oCurrent->format(IRCCOLOR "%.*s[%.*s]: " IRCBOLD "%.*s" IRCBOLD, oTeamColor.size(), oTeamColor.ptr(), oTeam.size(), oTeam.ptr(), name.size(), name.ptr()); + oStrings.push_back(oCurrent); + } + else oCurrent->aformat(IRCCOLOR ", " IRCBOLD "%.*s" IRCBOLD, name.size(), name.ptr()); + oTotal++; + if (node->isBot) + oBots++; + break; } } Jupiter::StringL *outString; while (gStrings.size() != 0) { - outString = gStrings.remove(size_t{ 0 }); + outString = gStrings.front(); source->sendMessage(channel, *outString); + delete outString; + gStrings.pop_front(); } while (nStrings.size() != 0) { - outString = nStrings.remove(size_t{ 0 }); + outString = nStrings.front(); source->sendMessage(channel, *outString); + delete outString; + nStrings.pop_front(); } while (oStrings.size() != 0) { - outString = oStrings.remove(size_t{ 0 }); + outString = oStrings.front(); source->sendMessage(channel, *outString); + delete outString; + oStrings.pop_front(); } Jupiter::StringL out; @@ -516,9 +519,9 @@ void PlayerTableIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableStri double highCredits = 9999999.0; RenX::PlayerInfo *player; - for (Jupiter::DLList::Node *node = server->players.getNode(0); node != nullptr; node = node->next) + for (auto node = server->players.begin(); node != server->players.end(); ++node) { - player = node->data; + player = &*node; if (player != nullptr && player->isBot == false) { if (player->name.size() > maxNickLen) @@ -612,12 +615,10 @@ void PlayerInfoIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableStrin if (chan != nullptr) { int type = chan->getType(); - RenX::PlayerInfo *player; Jupiter::StringL msg; RenX::Server *server; const Jupiter::ReadableString &player_info_format = source->getAccessLevel(channel, nick) > 1 ? pluginInstance.getAdminPlayerInfoFormat() : pluginInstance.getPlayerInfoFormat(); size_t index = 0; - Jupiter::DLList::Node *node; if (parameters.isEmpty()) // List all players while (index != RenX::getCore()->getServerCount()) @@ -625,11 +626,10 @@ void PlayerInfoIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableStrin server = RenX::getCore()->getServer(index++); if (server->isLogChanType(type) && server->players.size() != 0) { - for (node = server->players.getNode(0); node != nullptr; node = node->next) + for (auto node = server->players.begin(); node != server->players.end(); ++node) { - player = node->data; msg = player_info_format; - RenX::processTags(msg, server, player); + RenX::processTags(msg, server, &*node); source->sendMessage(channel, msg); } } @@ -640,13 +640,12 @@ void PlayerInfoIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableStrin server = RenX::getCore()->getServer(index++); if (server->isLogChanType(type) && server->players.size() != 0) { - for (Jupiter::DLList::Node *node = server->players.getNode(0); node != nullptr; node = node->next) + for (auto node = server->players.begin(); node != server->players.end(); ++node) { - player = node->data; - if (player->name.findi(parameters) != Jupiter::INVALID_INDEX) + if (node->name.findi(parameters) != Jupiter::INVALID_INDEX) { msg = player_info_format; - RenX::processTags(msg, server, player); + RenX::processTags(msg, server, &*node); source->sendMessage(channel, msg); } } @@ -951,29 +950,29 @@ void SteamIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &ch if (chan != nullptr) { int type = chan->getType(); - RenX::PlayerInfo *player; if (parameters.isNotEmpty()) { Jupiter::StringL msg; for (unsigned int i = 0; i != RenX::getCore()->getServerCount(); i++) { RenX::Server *server = RenX::getCore()->getServer(i); - if (server->isLogChanType(type) && server->players.size() != 0) + if (server->isLogChanType(type)) { - for (Jupiter::DLList::Node *node = server->players.getNode(0); node != nullptr; node = node->next) + for (auto node = server->players.begin(); node != server->players.end(); ++node) { - player = node->data; - if (player->name.findi(parameters) != Jupiter::INVALID_INDEX) + if (node->name.findi(parameters) != Jupiter::INVALID_INDEX) { - Jupiter::String &playerName = RenX::getFormattedPlayerName(player); - msg.format(IRCCOLOR "03[Steam] " IRCCOLOR "%.*s (ID: %d) ", playerName.size(), playerName.ptr(), player->id); - if (player->steamid != 0) + Jupiter::String &playerName = RenX::getFormattedPlayerName(*node); + msg.format(IRCCOLOR "03[Steam] " IRCCOLOR "%.*s (ID: %d) ", playerName.size(), playerName.ptr(), node->id); + if (node->steamid != 0) { msg += "is using steam ID " IRCBOLD; - msg += server->formatSteamID(player); - msg.aformat(IRCBOLD "; Steam Profile: " IRCBOLD "https://steamcommunity.com/profiles/%llu" IRCBOLD, player->steamid); + msg += server->formatSteamID(*node); + msg.aformat(IRCBOLD "; Steam Profile: " IRCBOLD "https://steamcommunity.com/profiles/%llu" IRCBOLD, node->steamid); } - else msg += "is not using steam."; + else + msg += "is not using steam."; + source->sendMessage(channel, msg); } } @@ -989,23 +988,24 @@ void SteamIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &ch for (unsigned int i = 0; i != RenX::getCore()->getServerCount(); i++) { RenX::Server *server = RenX::getCore()->getServer(i); - if (server->isLogChanType(type) && server->players.size() != 0) + if (server->isLogChanType(type)) { total = 0; realPlayers = 0; - for (Jupiter::DLList::Node *node = server->players.getNode(0); node != nullptr; node = node->next) + for (auto node = server->players.begin(); node != server->players.end(); ++node) { - player = node->data; - if (player->isBot == false) + if (node->isBot == false) { realPlayers++; - if (player->steamid != 0) + if (node->steamid != 0) total++; } } + if (realPlayers != 0) source->sendMessage(channel, Jupiter::StringS::Format("%.2f%% (%u/%u) of players are using Steam.", ((double)total * 100) / ((double)realPlayers), total, realPlayers)); - else source->sendMessage(channel, STRING_LITERAL_AS_REFERENCE("No players are in-game.")); + else + source->sendMessage(channel, STRING_LITERAL_AS_REFERENCE("No players are in-game.")); } } } @@ -1038,20 +1038,18 @@ void KillDeathRatioIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableS if (chan != nullptr) { int type = chan->getType(); - RenX::PlayerInfo *player; Jupiter::StringL msg; for (unsigned int i = 0; i != RenX::getCore()->getServerCount(); i++) { RenX::Server *server = RenX::getCore()->getServer(i); if (server->isLogChanType(type) && server->players.size() != 0) { - for (Jupiter::DLList::Node *node = server->players.getNode(0); node != nullptr; node = node->next) + for (auto node = server->players.begin(); node != server->players.end(); ++node) { - player = node->data; - if (player->name.findi(parameters) != Jupiter::INVALID_INDEX) + if (node->name.findi(parameters) != Jupiter::INVALID_INDEX) { - Jupiter::String &playerName = RenX::getFormattedPlayerName(player); - msg.format(IRCBOLD "%.*s" IRCBOLD IRCCOLOR ": Kills: %u - Deaths: %u - KDR: %.2f", playerName.size(), playerName.ptr(), player->kills, player->deaths, static_cast(player->kills) / (player->deaths == 0 ? 1.0f : static_cast(player->deaths))); + Jupiter::String &playerName = RenX::getFormattedPlayerName(*node); + msg.format(IRCBOLD "%.*s" IRCBOLD IRCCOLOR ": Kills: %u - Deaths: %u - KDR: %.2f", playerName.size(), playerName.ptr(), node->kills, node->deaths, static_cast(node->kills) / (node->deaths == 0 ? 1.0f : static_cast(node->deaths))); source->sendMessage(channel, msg); } } @@ -1128,7 +1126,6 @@ void ModsIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &cha if (chan != nullptr) { int type = chan->getType(); - RenX::PlayerInfo *player; Jupiter::StringL msg; const Jupiter::ReadableString &staff_word = pluginInstance.getStaffTitle(); for (unsigned int i = 0; i != RenX::getCore()->getServerCount(); i++) @@ -1139,16 +1136,15 @@ void ModsIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &cha msg = ""; if (server->players.size() != 0) { - for (Jupiter::DLList::Node *node = server->players.getNode(0); node != nullptr; node = node->next) + for (auto node = server->players.begin(); node != server->players.end(); ++node) { - player = node->data; - if (player->isBot == false && (player->adminType.isNotEmpty() || (player->access != 0 && (player->gamePrefix.isNotEmpty() || player->formatNamePrefix.isNotEmpty())))) + if (node->isBot == false && (node->adminType.isNotEmpty() || (node->access != 0 && (node->gamePrefix.isNotEmpty() || node->formatNamePrefix.isNotEmpty())))) { if (msg.isNotEmpty()) msg += ", "; else msg += staff_word + "s in-game: "_jrs; - msg += player->gamePrefix; - msg += player->name; + msg += node->gamePrefix; + msg += node->name; } } } @@ -1428,8 +1424,8 @@ void MuteIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &cha player = server->getPlayerByPartName(parameters); if (player != nullptr) { - server->mute(player); - source->sendMessage(channel, RenX::getFormattedPlayerName(player) + STRING_LITERAL_AS_REFERENCE(IRCCOLOR " has been muted.")); + server->mute(*player); + source->sendMessage(channel, RenX::getFormattedPlayerName(*player) + STRING_LITERAL_AS_REFERENCE(IRCCOLOR " has been muted.")); } else source->sendNotice(nick, STRING_LITERAL_AS_REFERENCE("Error: Player not found.")); @@ -1477,8 +1473,8 @@ void UnMuteIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &c player = server->getPlayerByPartName(parameters); if (player != nullptr) { - server->unmute(player); - source->sendMessage(channel, RenX::getFormattedPlayerName(player) + STRING_LITERAL_AS_REFERENCE(IRCCOLOR " has been unmuted.")); + server->unmute(*player); + source->sendMessage(channel, RenX::getFormattedPlayerName(*player) + STRING_LITERAL_AS_REFERENCE(IRCCOLOR " has been unmuted.")); } else source->sendNotice(nick, STRING_LITERAL_AS_REFERENCE("Error: Player not found.")); @@ -1525,7 +1521,7 @@ void KillIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &cha match = true; player = server->getPlayerByPartName(parameters); if (player != nullptr) - server->kill(player); + server->kill(*player); else source->sendNotice(nick, STRING_LITERAL_AS_REFERENCE("Error: Player not found.")); } @@ -1572,8 +1568,8 @@ void DisarmIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &c player = server->getPlayerByPartName(parameters); if (player != nullptr) { - if (server->disarm(player)) - source->sendMessage(channel, STRING_LITERAL_AS_REFERENCE("All deployables (c4, beacons, etc) belonging to ") + RenX::getFormattedPlayerName(player) + STRING_LITERAL_AS_REFERENCE(IRCCOLOR " have been disarmed.")); + if (server->disarm(*player)) + source->sendMessage(channel, STRING_LITERAL_AS_REFERENCE("All deployables (c4, beacons, etc) belonging to ") + RenX::getFormattedPlayerName(*player) + STRING_LITERAL_AS_REFERENCE(IRCCOLOR " have been disarmed.")); else source->sendMessage(channel, "Error: Server does not support disarms."_jrs); } @@ -1623,8 +1619,8 @@ void DisarmC4IRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString player = server->getPlayerByPartName(parameters); if (player != nullptr) { - if (server->disarmC4(player)) - source->sendMessage(channel, STRING_LITERAL_AS_REFERENCE("All C4 belonging to ") + RenX::getFormattedPlayerName(player) + STRING_LITERAL_AS_REFERENCE(IRCCOLOR " have been disarmed.")); + if (server->disarmC4(*player)) + source->sendMessage(channel, STRING_LITERAL_AS_REFERENCE("All C4 belonging to ") + RenX::getFormattedPlayerName(*player) + STRING_LITERAL_AS_REFERENCE(IRCCOLOR " have been disarmed.")); else source->sendMessage(channel, "Error: Server does not support disarms."_jrs); } @@ -1676,8 +1672,8 @@ void DisarmBeaconIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableStr player = server->getPlayerByPartName(parameters); if (player != nullptr) { - if (server->disarmBeacon(player)) - source->sendMessage(channel, STRING_LITERAL_AS_REFERENCE("All beacons belonging to ") + RenX::getFormattedPlayerName(player) + STRING_LITERAL_AS_REFERENCE(IRCCOLOR " have been disarmed.")); + if (server->disarmBeacon(*player)) + source->sendMessage(channel, STRING_LITERAL_AS_REFERENCE("All beacons belonging to ") + RenX::getFormattedPlayerName(*player) + STRING_LITERAL_AS_REFERENCE(IRCCOLOR " have been disarmed.")); else source->sendMessage(channel, "Error: Server does not support disarms."_jrs); } @@ -1727,7 +1723,7 @@ void MineBanIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString & player = server->getPlayerByPartName(parameters); if (player != nullptr) { - server->mineBan(player); + server->mineBan(*player); source->sendMessage(channel, STRING_LITERAL_AS_REFERENCE("Player can no longer place mines.")); } else @@ -1782,7 +1778,7 @@ void KickIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &cha player = server->getPlayerByPartName(name); if (player != nullptr) { - server->kickPlayer(player, reason); + server->kickPlayer(*player, reason); ++kicks; } } @@ -1983,7 +1979,7 @@ void TempBanIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString & player = server->getPlayerByPartName(name); if (player != nullptr) { - server->banPlayer(player, banner, reason, pluginInstance.getTBanTime()); + server->banPlayer(*player, banner, reason, pluginInstance.getTBanTime()); kicks++; } } @@ -2040,7 +2036,7 @@ void KickBanIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString & player = server->getPlayerByPartName(name); if (player != nullptr) { - server->banPlayer(player, banner, reason); + server->banPlayer(*player, banner, reason); kicks++; } } @@ -2426,9 +2422,9 @@ void BanExemptIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString if (player != nullptr) { if (player->steamid != 0LL) - RenX::exemptionDatabase->add(server, player, setter, std::chrono::seconds::zero(), RenX::ExemptionDatabase::Entry::FLAG_TYPE_BAN); + RenX::exemptionDatabase->add(*server, *player, setter, std::chrono::seconds::zero(), RenX::ExemptionDatabase::Entry::FLAG_TYPE_BAN); else - RenX::exemptionDatabase->add(server, player, setter, std::chrono::seconds::zero(), RenX::ExemptionDatabase::Entry::FLAG_TYPE_BAN | RenX::ExemptionDatabase::Entry::FLAG_USE_IP); + RenX::exemptionDatabase->add(*server, *player, setter, std::chrono::seconds::zero(), RenX::ExemptionDatabase::Entry::FLAG_TYPE_BAN | RenX::ExemptionDatabase::Entry::FLAG_USE_IP); ++exemptions; } } @@ -2489,9 +2485,9 @@ void KickExemptIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableStrin if (player != nullptr) { if (player->steamid != 0LL) - RenX::exemptionDatabase->add(server, player, setter, std::chrono::seconds::zero(), RenX::ExemptionDatabase::Entry::FLAG_TYPE_BAN | RenX::ExemptionDatabase::Entry::FLAG_TYPE_KICK); + RenX::exemptionDatabase->add(*server, *player, setter, std::chrono::seconds::zero(), RenX::ExemptionDatabase::Entry::FLAG_TYPE_BAN | RenX::ExemptionDatabase::Entry::FLAG_TYPE_KICK); else - RenX::exemptionDatabase->add(server, player, setter, std::chrono::seconds::zero(), RenX::ExemptionDatabase::Entry::FLAG_TYPE_BAN | RenX::ExemptionDatabase::Entry::FLAG_TYPE_KICK | RenX::ExemptionDatabase::Entry::FLAG_USE_IP); + RenX::exemptionDatabase->add(*server, *player, setter, std::chrono::seconds::zero(), RenX::ExemptionDatabase::Entry::FLAG_TYPE_BAN | RenX::ExemptionDatabase::Entry::FLAG_TYPE_KICK | RenX::ExemptionDatabase::Entry::FLAG_USE_IP); ++exemptions; } } @@ -2901,10 +2897,10 @@ void RefundIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &c player = server->getPlayerByPartName(playerName); if (player != nullptr) { - if (server->giveCredits(player, credits)) + if (server->giveCredits(*player, credits)) { msg.format("You have been refunded %.0f credits by %.*s.", credits, nick.size(), nick.ptr()); - server->sendMessage(player, msg); + server->sendMessage(*player, msg); msg.format("%.*s has been refunded %.0f credits.", player->name.size(), player->name.ptr(), credits); } else @@ -2948,20 +2944,18 @@ void TeamChangeIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableStrin { int type = chan->getType(); Jupiter::ReferenceString playerName = Jupiter::ReferenceString::getWord(parameters, 0, WHITESPACE); - RenX::PlayerInfo *player; bool playerFound = false; for (unsigned int i = 0; i != RenX::getCore()->getServerCount(); i++) { RenX::Server *server = RenX::getCore()->getServer(i); if (server->isLogChanType(type) && server->players.size() != 0) { - for (Jupiter::DLList::Node *node = server->players.getNode(0); node != nullptr; node = node->next) + for (auto node = server->players.begin(); node != server->players.end(); ++node) { - player = node->data; - if (player->name.findi(playerName) != Jupiter::INVALID_INDEX) + if (node->name.findi(playerName) != Jupiter::INVALID_INDEX) { playerFound = true; - if (server->changeTeam(player) == false) + if (server->changeTeam(*node) == false) source->sendMessage(channel, STRING_LITERAL_AS_REFERENCE("Error: Server does not support team changing.")); } } @@ -3003,20 +2997,18 @@ void TeamChange2IRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableStri { int type = chan->getType(); Jupiter::ReferenceString playerName = Jupiter::ReferenceString::getWord(parameters, 0, WHITESPACE); - RenX::PlayerInfo *player; bool playerFound = false; for (unsigned int i = 0; i != RenX::getCore()->getServerCount(); i++) { RenX::Server *server = RenX::getCore()->getServer(i); if (server->isLogChanType(type) && server->players.size() != 0) { - for (Jupiter::DLList::Node *node = server->players.getNode(0); node != nullptr; node = node->next) + for (auto node = server->players.begin(); node != server->players.end(); ++node) { - player = node->data; - if (player->name.findi(playerName) != Jupiter::INVALID_INDEX) + if (node->name.findi(playerName) != Jupiter::INVALID_INDEX) { playerFound = true; - if (server->changeTeam(player, false) == false) + if (server->changeTeam(*node, false) == false) source->sendMessage(channel, STRING_LITERAL_AS_REFERENCE("Error: Server does not support team changing.")); } } @@ -3076,16 +3068,17 @@ void HelpGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, co } return list; }; + if (parameters.wordCount(WHITESPACE) == 0) { for (int i = 0; i <= player->access; i++) { Jupiter::ReadableString &msg = getAccessCommands(i); if (msg.isNotEmpty()) - source->sendMessage(player, getAccessCommands(i)); + source->sendMessage(*player, getAccessCommands(i)); } if (cmdCount == 0) - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("No listed commands available.")); + source->sendMessage(*player, STRING_LITERAL_AS_REFERENCE("No listed commands available.")); } else { @@ -3093,12 +3086,12 @@ void HelpGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, co if (cmd != nullptr) { if (player->access >= cmd->getAccessLevel()) - source->sendMessage(player, cmd->getHelp(Jupiter::ReferenceString::gotoWord(parameters, 1, WHITESPACE))); + source->sendMessage(*player, cmd->getHelp(Jupiter::ReferenceString::gotoWord(parameters, 1, WHITESPACE))); else - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Access Denied.")); + source->sendMessage(*player, STRING_LITERAL_AS_REFERENCE("Access Denied.")); } else - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Command not found.")); + source->sendMessage(*player, STRING_LITERAL_AS_REFERENCE("Error: Command not found.")); } } @@ -3121,20 +3114,19 @@ void ModsGameCommand::create() void ModsGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *, const Jupiter::ReadableString &) { - RenX::PlayerInfo *player; Jupiter::StringL msg; const Jupiter::ReadableString &staff_word = pluginInstance.getStaffTitle(); - for (Jupiter::DLList::Node *node = source->players.getNode(0); node != nullptr; node = node->next) + for (auto node = source->players.begin(); node != source->players.end(); ++node) { - player = node->data; - if (player->isBot == false && (player->adminType.isNotEmpty() || (player->access != 0 && (player->gamePrefix.isNotEmpty() || player->formatNamePrefix.isNotEmpty())))) + if (node->isBot == false && (node->adminType.isNotEmpty() || (node->access != 0 && (node->gamePrefix.isNotEmpty() || node->formatNamePrefix.isNotEmpty())))) { if (msg.isEmpty()) msg = staff_word + "s in-game: "_jrs; else msg += ", "; - msg += player->gamePrefix; - msg += player->name; + + msg += node->gamePrefix; + msg += node->name; } } if (msg.isEmpty()) @@ -3194,7 +3186,7 @@ void ModRequestGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *play size_t serverCount = serverManager->size(); IRC_Bot *server; unsigned int messageCount = 0; - Jupiter::String &fmtName = RenX::getFormattedPlayerName(player); + Jupiter::String &fmtName = RenX::getFormattedPlayerName(*player); Jupiter::StringL user_message = Jupiter::StringL::Format(IRCCOLOR "12[%.*s Request] " IRCCOLOR IRCBOLD "%.*s" IRCBOLD IRCCOLOR "07 has requested assistance in-game; please look in ", staff_word.size(), staff_word.ptr(), fmtName.size(), fmtName.ptr()); Jupiter::StringS channel_message = Jupiter::StringS::Format(IRCCOLOR "12[%.*s Request] " IRCCOLOR IRCBOLD "%.*s" IRCBOLD IRCCOLOR "07 has requested assistance in-game!" IRCCOLOR, staff_word.size(), staff_word.ptr(), fmtName.size(), fmtName.ptr()); @@ -3219,7 +3211,7 @@ void ModRequestGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *play } }; - source->sendMessage(player, Jupiter::StringS::Format("A total of %u %.*ss have been notified of your assistance request.", messageCount, staff_word.size(), staff_word.ptr())); + source->sendMessage(*player, Jupiter::StringS::Format("A total of %u %.*ss have been notified of your assistance request.", messageCount, staff_word.size(), staff_word.ptr())); } const Jupiter::ReadableString &ModRequestGameCommand::getHelp(const Jupiter::ReadableString &) @@ -3244,17 +3236,17 @@ void KillGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, co { RenX::PlayerInfo *target = source->getPlayerByPartName(parameters); if (target == nullptr) - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Player not found.")); + source->sendMessage(*player, "Error: Player not found."_jrs); else if (target->access >= player->access) - source->sendMessage(player, "Error: You can not kill higher level "_jrs + pluginInstance.getStaffTitle() + "s."_jrs); + source->sendMessage(*player, "Error: You can not kill higher level "_jrs + pluginInstance.getStaffTitle() + "s."_jrs); else { - source->kill(target); - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Player has been killed.")); + source->kill(*target); + source->sendMessage(*player, "Player has been killed."_jrs); } } else - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Too few parameters. Syntax: kill ")); + source->sendMessage(*player, "Error: Too few parameters. Syntax: kill "_jrs); } const Jupiter::ReadableString &KillGameCommand::getHelp(const Jupiter::ReadableString &) @@ -3279,16 +3271,16 @@ void DisarmGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, { RenX::PlayerInfo *target = source->getPlayerByPartName(parameters); if (target == nullptr) - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Player not found.")); + source->sendMessage(*player, "Error: Player not found."_jrs); else if (target->access >= player->access) - source->sendMessage(player, "Error: You can not disarm higher level "_jrs + pluginInstance.getStaffTitle() + "s."_jrs); - else if (source->disarm(target) == false) - source->sendMessage(player, "Error: Server does not support disarms."_jrs); + source->sendMessage(*player, "Error: You can not disarm higher level "_jrs + pluginInstance.getStaffTitle() + "s."_jrs); + else if (source->disarm(*target) == false) + source->sendMessage(*player, "Error: Server does not support disarms."_jrs); else - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Player has been disarmed.")); + source->sendMessage(*player, "Player has been disarmed."_jrs); } else - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Too few parameters. Syntax: disarm ")); + source->sendMessage(*player, "Error: Too few parameters. Syntax: disarm "_jrs); } const Jupiter::ReadableString &DisarmGameCommand::getHelp(const Jupiter::ReadableString &) @@ -3313,16 +3305,16 @@ void DisarmC4GameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player { RenX::PlayerInfo *target = source->getPlayerByPartName(parameters); if (target == nullptr) - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Player not found.")); + source->sendMessage(*player, "Error: Player not found."_jrs); else if (target->access >= player->access) - source->sendMessage(player, "Error: You can not disarm higher level "_jrs + pluginInstance.getStaffTitle() + "s."_jrs); - else if (source->disarmC4(target) == false) - source->sendMessage(player, "Error: Server does not support disarms."_jrs); + source->sendMessage(*player, "Error: You can not disarm higher level "_jrs + pluginInstance.getStaffTitle() + "s."_jrs); + else if (source->disarmC4(*target) == false) + source->sendMessage(*player, "Error: Server does not support disarms."_jrs); else - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Player has been disarmed.")); + source->sendMessage(*player, "Player has been disarmed."_jrs); } else - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Too few parameters. Syntax: disarmc4 ")); + source->sendMessage(*player, "Error: Too few parameters. Syntax: disarmc4 "_jrs); } const Jupiter::ReadableString &DisarmC4GameCommand::getHelp(const Jupiter::ReadableString &) @@ -3349,16 +3341,16 @@ void DisarmBeaconGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *pl { RenX::PlayerInfo *target = source->getPlayerByPartName(parameters); if (target == nullptr) - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Player not found.")); + source->sendMessage(*player, "Error: Player not found."_jrs); else if (target->access >= player->access) - source->sendMessage(player, "Error: You can not disarm higher level "_jrs + pluginInstance.getStaffTitle() + "s."_jrs); - else if (source->disarmBeacon(target) == false) - source->sendMessage(player, "Error: Server does not support disarms."_jrs); + source->sendMessage(*player, "Error: You can not disarm higher level "_jrs + pluginInstance.getStaffTitle() + "s."_jrs); + else if (source->disarmBeacon(*target) == false) + source->sendMessage(*player, "Error: Server does not support disarms."_jrs); else - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Player has been disarmed.")); + source->sendMessage(*player, "Player has been disarmed."_jrs); } else - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Too few parameters. Syntax: disarmb ")); + source->sendMessage(*player, "Error: Too few parameters. Syntax: disarmb "_jrs); } const Jupiter::ReadableString &DisarmBeaconGameCommand::getHelp(const Jupiter::ReadableString &) @@ -3383,17 +3375,17 @@ void MineBanGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, { RenX::PlayerInfo *target = source->getPlayerByPartName(parameters); if (target == nullptr) - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Player not found.")); + source->sendMessage(*player, "Error: Player not found."_jrs); else if (target->access >= player->access) - source->sendMessage(player, "Error: You can not mine-ban higher level "_jrs + pluginInstance.getStaffTitle() + "s."_jrs); + source->sendMessage(*player, "Error: You can not mine-ban higher level "_jrs + pluginInstance.getStaffTitle() + "s."_jrs); else { - source->mineBan(target); - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Player can no longer place mines.")); + source->mineBan(*target); + source->sendMessage(*player, "Player can no longer place mines."_jrs); } } else - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Too few parameters. Syntax: mineban ")); + source->sendMessage(*player, "Error: Too few parameters. Syntax: mineban "_jrs); } const Jupiter::ReadableString &MineBanGameCommand::getHelp(const Jupiter::ReadableString &) @@ -3422,19 +3414,19 @@ void KickGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, co Jupiter::StringS reason = parameters.wordCount(WHITESPACE) > 1 ? Jupiter::StringS::gotoWord(parameters, 1, WHITESPACE) : STRING_LITERAL_AS_REFERENCE("No reason"); RenX::PlayerInfo *target = source->getPlayerByPartName(name); if (target == nullptr) - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Player not found.")); + source->sendMessage(*player, "Error: Player not found."_jrs); else if (player == target) - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: You can not kick yourself.")); + source->sendMessage(*player, "Error: You cannot kick yourself."_jrs); else if (target->access >= player->access) - source->sendMessage(player, "Error: You can not kick higher level "_jrs + pluginInstance.getStaffTitle() + "s."_jrs); + source->sendMessage(*player, "Error: You can not kick higher level "_jrs + pluginInstance.getStaffTitle() + "s."_jrs); else { - source->kickPlayer(target, reason); - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Player has been kicked from the game.")); + source->kickPlayer(*target, reason); + source->sendMessage(*player, "Player has been kicked from the game."_jrs); } } else - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Too few parameters. Syntax: kick [Reason]")); + source->sendMessage(*player, "Error: Too few parameters. Syntax: kick [Reason]"_jrs); } const Jupiter::ReadableString &KickGameCommand::getHelp(const Jupiter::ReadableString &) @@ -3463,19 +3455,19 @@ void TempBanGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, Jupiter::StringS reason = parameters.wordCount(WHITESPACE) > 1 ? Jupiter::StringS::gotoWord(parameters, 1, WHITESPACE) : STRING_LITERAL_AS_REFERENCE("No reason"); RenX::PlayerInfo *target = source->getPlayerByPartName(name); if (target == nullptr) - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Player not found.")); + source->sendMessage(*player, "Error: Player not found."_jrs); else if (player == target) - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: You can not ban yourself.")); + source->sendMessage(*player, "Error: You can not ban yourself."_jrs); else if (target->access >= player->access) - source->sendMessage(player, "Error: You can not ban higher level "_jrs + pluginInstance.getStaffTitle() + "s."_jrs); + source->sendMessage(*player, "Error: You can not ban higher level "_jrs + pluginInstance.getStaffTitle() + "s."_jrs); else { - source->banPlayer(target, player->name, reason, pluginInstance.getTBanTime()); - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Player has been temporarily banned and kicked from the game.")); + source->banPlayer(*target, player->name, reason, pluginInstance.getTBanTime()); + source->sendMessage(*player, "Player has been temporarily banned and kicked from the game."_jrs); } } else - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Too few parameters. Syntax: tban [Reason]")); + source->sendMessage(*player, "Error: Too few parameters. Syntax: tban [Reason]"_jrs); } const Jupiter::ReadableString &TempBanGameCommand::getHelp(const Jupiter::ReadableString &) @@ -3505,20 +3497,20 @@ void KickBanGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, Jupiter::StringS reason = parameters.wordCount(WHITESPACE) > 1 ? Jupiter::StringS::gotoWord(parameters, 1, WHITESPACE) : STRING_LITERAL_AS_REFERENCE("No reason"); RenX::PlayerInfo *target = source->getPlayerByPartName(name); if (target == nullptr) - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Player not found.")); + source->sendMessage(*player, "Error: Player not found."_jrs); else if (player == target) - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: You can not ban yourself.")); + source->sendMessage(*player, "Error: You can not ban yourself."_jrs); else if (target->access >= player->access) - source->sendMessage(player, "Error: You can not ban higher level "_jrs + pluginInstance.getStaffTitle() + "s."_jrs); + source->sendMessage(*player, "Error: You can not ban higher level "_jrs + pluginInstance.getStaffTitle() + "s."_jrs); else { - source->banPlayer(target, player->name, reason); - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Player has been banned and kicked from the game.")); + source->banPlayer(*target, player->name, reason); + source->sendMessage(*player, "Player has been banned and kicked from the game."_jrs); RenX::getCore()->banCheck(); } } else - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: Too few parameters. Syntax: ban [reason]")); + source->sendMessage(*player, "Error: Too few parameters. Syntax: ban [reason]"_jrs); } const Jupiter::ReadableString &KickBanGameCommand::getHelp(const Jupiter::ReadableString &) @@ -3568,7 +3560,7 @@ void AddBotsGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, cmd += Jupiter::StringS::Format("%u", amount); source->send(cmd); - source->sendMessage(player, Jupiter::StringS::Format("%u bots have been added to the server.", amount)); + source->sendMessage(*player, Jupiter::StringS::Format("%u bots have been added to the server.", amount)); } const Jupiter::ReadableString &AddBotsGameCommand::getHelp(const Jupiter::ReadableString &) @@ -3593,7 +3585,7 @@ void KillBotsGameCommand::create() void KillBotsGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, const Jupiter::ReadableString ¶meters) { source->send(STRING_LITERAL_AS_REFERENCE("killbots")); - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("All bots have been removed from the server.")); + source->sendMessage(*player, STRING_LITERAL_AS_REFERENCE("All bots have been removed from the server.")); } const Jupiter::ReadableString &KillBotsGameCommand::getHelp(const Jupiter::ReadableString &) @@ -3618,18 +3610,18 @@ void PhaseBotsGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *playe if (parameters.isEmpty()) { if (togglePhasing(source)) - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Bot phasing has been enabled.")); - else source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Bot phasing has been disabled.")); + source->sendMessage(*player, STRING_LITERAL_AS_REFERENCE("Bot phasing has been enabled.")); + else source->sendMessage(*player, STRING_LITERAL_AS_REFERENCE("Bot phasing has been disabled.")); } else if (parameters.equalsi("true") || parameters.equalsi("on") || parameters.equalsi("start") || parameters.equalsi("1")) { togglePhasing(source, true); - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Bot phasing has been enabled.")); + source->sendMessage(*player, STRING_LITERAL_AS_REFERENCE("Bot phasing has been enabled.")); } else { togglePhasing(source, false); - source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Bot phasing has been disabled.")); + source->sendMessage(*player, STRING_LITERAL_AS_REFERENCE("Bot phasing has been disabled.")); } } diff --git a/RenX.Commands/RenX_Commands.h b/RenX.Commands/RenX_Commands.h index be45819..9850761 100644 --- a/RenX.Commands/RenX_Commands.h +++ b/RenX.Commands/RenX_Commands.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -28,9 +28,9 @@ class RenX_CommandsPlugin : public RenX::Plugin { public: // RenX::Plugin - void RenX_OnSuicide(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &damageType) override; - void RenX_OnKill(RenX::Server *server, const RenX::PlayerInfo *player, const RenX::PlayerInfo *victim, const Jupiter::ReadableString &damageType) override; - void RenX_OnDie(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &damageType) override; + void RenX_OnSuicide(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &damageType) override; + void RenX_OnKill(RenX::Server &server, const RenX::PlayerInfo &player, const RenX::PlayerInfo &victim, const Jupiter::ReadableString &damageType) override; + void RenX_OnDie(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &damageType) override; public: // Jupiter::Plugin virtual bool initialize() override; diff --git a/RenX.Core/RenX_BanDatabase.cpp b/RenX.Core/RenX_BanDatabase.cpp index 92f1f15..eb4e93d 100644 --- a/RenX.Core/RenX_BanDatabase.cpp +++ b/RenX.Core/RenX_BanDatabase.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -166,21 +166,21 @@ void RenX::BanDatabase::write(RenX::BanDatabase::Entry *entry, FILE *file) fgetpos(file, std::addressof(RenX::BanDatabase::eof)); } -void RenX::BanDatabase::add(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &banner, const Jupiter::ReadableString &reason, std::chrono::seconds length, uint16_t flags) +void RenX::BanDatabase::add(RenX::Server *server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &banner, const Jupiter::ReadableString &reason, std::chrono::seconds length, uint16_t flags) { Entry *entry = new Entry(); entry->set_active(); entry->flags |= flags; entry->timestamp = std::chrono::system_clock::now(); entry->length = length; - entry->steamid = player->steamid; - entry->ip = player->ip32; + entry->steamid = player.steamid; + entry->ip = player.ip32; entry->prefix_length = 32U; - entry->hwid = player->hwid; - if (player->rdns_thread.joinable()) - player->rdns_thread.join(); - entry->rdns = player->rdns; - entry->name = player->name; + entry->hwid = player.hwid; + if (player.rdns_thread.joinable()) + player.rdns_thread.join(); + entry->rdns = player.rdns; + entry->name = player.name; entry->banner = banner; entry->reason = reason; @@ -188,7 +188,7 @@ void RenX::BanDatabase::add(RenX::Server *server, const RenX::PlayerInfo *player Jupiter::String pluginData; Jupiter::ArrayList &xPlugins = *RenX::getCore()->getPlugins(); for (size_t i = 0; i < xPlugins.size(); i++) - if (xPlugins.get(i)->RenX_OnBan(server, player, pluginData)) + if (xPlugins.get(i)->RenX_OnBan(*server, player, pluginData)) entry->varData.set(xPlugins.get(i)->getName(), pluginData); entries.add(entry); diff --git a/RenX.Core/RenX_BanDatabase.h b/RenX.Core/RenX_BanDatabase.h index f030737..442cd07 100644 --- a/RenX.Core/RenX_BanDatabase.h +++ b/RenX.Core/RenX_BanDatabase.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -143,7 +143,7 @@ namespace RenX * @param player Data of the player to be banned * @param length Duration of the ban */ - void add(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &banner, const Jupiter::ReadableString &reason, std::chrono::seconds length, uint16_t flags = RenX::BanDatabase::Entry::FLAG_TYPE_GAME); + void add(RenX::Server *server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &banner, const Jupiter::ReadableString &reason, std::chrono::seconds length, uint16_t flags = RenX::BanDatabase::Entry::FLAG_TYPE_GAME); /** * @brief Adds a ban entry for a set of player information and immediately writes it to the database. diff --git a/RenX.Core/RenX_ExemptionDatabase.cpp b/RenX.Core/RenX_ExemptionDatabase.cpp index e85bf7f..7b13e09 100644 --- a/RenX.Core/RenX_ExemptionDatabase.cpp +++ b/RenX.Core/RenX_ExemptionDatabase.cpp @@ -1,5 +1,5 @@ /** -* Copyright (C) 2016 Jessica James. +* Copyright (C) 2016-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -106,9 +106,9 @@ void RenX::ExemptionDatabase::write(RenX::ExemptionDatabase::Entry *entry, FILE fgetpos(file, std::addressof(RenX::ExemptionDatabase::eof)); } -void RenX::ExemptionDatabase::add(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &setter, std::chrono::seconds length, uint8_t flags) +void RenX::ExemptionDatabase::add(RenX::Server &, const RenX::PlayerInfo &player, const Jupiter::ReadableString &setter, std::chrono::seconds length, uint8_t flags) { - RenX::ExemptionDatabase::add(player->ip32, 32U, player->steamid, setter, length, flags); + RenX::ExemptionDatabase::add(player.ip32, 32U, player.steamid, setter, length, flags); } void RenX::ExemptionDatabase::add(uint32_t ip, uint8_t prefix_length, uint64_t steamid, const Jupiter::ReadableString &setter, std::chrono::seconds length, uint8_t flags) @@ -146,7 +146,7 @@ bool RenX::ExemptionDatabase::deactivate(size_t index) return false; } -void RenX::ExemptionDatabase::exemption_check(RenX::PlayerInfo *player) +void RenX::ExemptionDatabase::exemption_check(RenX::PlayerInfo &player) { RenX::ExemptionDatabase::Entry *entry; uint32_t netmask; @@ -159,9 +159,9 @@ void RenX::ExemptionDatabase::exemption_check(RenX::PlayerInfo *player) if (entry->length == std::chrono::seconds::zero() || entry->timestamp + entry->length < std::chrono::system_clock::now()) { netmask = Jupiter_prefix_length_to_netmask(entry->prefix_length); - if ((player->steamid != 0 && entry->steamid == player->steamid) // SteamID exemption - || (player->ip32 != 0U && (player->ip32 & netmask) == (entry->ip & netmask))) // IP address exemption - player->exemption_flags |= entry->flags; + if ((player.steamid != 0 && entry->steamid == player.steamid) // SteamID exemption + || (player.ip32 != 0U && (player.ip32 & netmask) == (entry->ip & netmask))) // IP address exemption + player.exemption_flags |= entry->flags; } else RenX::ExemptionDatabase::deactivate(index); diff --git a/RenX.Core/RenX_ExemptionDatabase.h b/RenX.Core/RenX_ExemptionDatabase.h index 655c5ed..34a18e1 100644 --- a/RenX.Core/RenX_ExemptionDatabase.h +++ b/RenX.Core/RenX_ExemptionDatabase.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2016 Jessica James. + * Copyright (C) 2016-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -113,7 +113,7 @@ namespace RenX * @param player Data of the player to be exempted * @param length Duration of the exempt */ - void add(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &setter, std::chrono::seconds length, uint8_t flags); + void add(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &setter, std::chrono::seconds length, uint8_t flags); /** * @brief Adds an exemption entry for a set of player information and immediately writes it to the database. @@ -159,7 +159,7 @@ namespace RenX * * @param player Player to check exemption flags for */ - void exemption_check(RenX::PlayerInfo *player); + void exemption_check(RenX::PlayerInfo &player); /** * @brief Fetches the version of the database file. diff --git a/RenX.Core/RenX_Functions.cpp b/RenX.Core/RenX_Functions.cpp index fd6aa4f..be4c4c1 100644 --- a/RenX.Core/RenX_Functions.cpp +++ b/RenX.Core/RenX_Functions.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -857,12 +857,12 @@ void RenX::initTranslations(Jupiter::Config &translationsFile) unknownWinTypePlainTranslation = translationsFile["WinTypePlain"_jrs].get("Unknown"_jrs, "Unknown"_jrs); } -Jupiter::String RenX::getFormattedPlayerName(const RenX::PlayerInfo *player) +Jupiter::String RenX::getFormattedPlayerName(const RenX::PlayerInfo &player) { - Jupiter::String r = player->formatNamePrefix; + Jupiter::String r = player.formatNamePrefix; r += IRCCOLOR; - r += RenX::getTeamColor(player->team); - r += player->name; + r += RenX::getTeamColor(player.team); + r += player.name; return r; } @@ -871,30 +871,38 @@ Jupiter::StringS RenX::formatGUID(const RenX::Map &map) return Jupiter::StringS::Format("%.16llX%.16llX", map.guid[0], map.guid[1]); } -std::chrono::milliseconds RenX::getServerTime(const RenX::PlayerInfo *player) +std::chrono::milliseconds RenX::getServerTime(const RenX::PlayerInfo &player) { - return std::chrono::duration_cast(std::chrono::steady_clock::now() - player->joinTime); + return std::chrono::duration_cast(std::chrono::steady_clock::now() - player.joinTime); } -Jupiter::StringS RenX::default_uuid_func(RenX::PlayerInfo *player) +Jupiter::StringS RenX::default_uuid_func(RenX::PlayerInfo &player) { - if (player->steamid != 0U) - return Jupiter::StringS::Format("0x%.16llX", player->steamid); + if (player.steamid != 0U) + return Jupiter::StringS::Format("0x%.16llX", player.steamid); + return Jupiter::StringS(); } -double RenX::getKillDeathRatio(const RenX::PlayerInfo *player, bool includeSuicides) +double RenX::getKillDeathRatio(const RenX::PlayerInfo &player, bool includeSuicides) { - double deaths = player->deaths; - if (includeSuicides == false) deaths -= player->suicides; - if (deaths == 0) deaths = 1; - return ((double)player->kills) / deaths; + double deaths = player.deaths; + + if (includeSuicides == false) + deaths -= player.suicides; + + if (deaths == 0) + deaths = 1; + + return static_cast(player.kills) / deaths; } -double RenX::getHeadshotKillRatio(const RenX::PlayerInfo *player) +double RenX::getHeadshotKillRatio(const RenX::PlayerInfo &player) { - if (player->kills == 0) return 0; - return ((double)player->headshots) / ((double)player->kills); + if (player.kills == 0) + return 0; + + return static_cast(player.headshots) / static_cast(player.kills); } Jupiter::String RenX::escapifyRCON(const Jupiter::ReadableString &str) diff --git a/RenX.Core/RenX_Functions.h b/RenX.Core/RenX_Functions.h index 5b3c38b..730d90b 100644 --- a/RenX.Core/RenX_Functions.h +++ b/RenX.Core/RenX_Functions.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -135,7 +135,7 @@ namespace RenX * @param player Data of the player * @return IRC-ready version of the player's name. */ - RENX_API Jupiter::String getFormattedPlayerName(const RenX::PlayerInfo *player); + RENX_API Jupiter::String getFormattedPlayerName(const RenX::PlayerInfo &player); /** * @brief Creates a string containing a human-readable version of a map's GUID @@ -151,7 +151,7 @@ namespace RenX * @param player A player's data. * @return Number of seconds a player has been in-game. */ - RENX_API std::chrono::milliseconds getServerTime(const RenX::PlayerInfo *player); + RENX_API std::chrono::milliseconds getServerTime(const RenX::PlayerInfo &player); /** * @brief Calculates a player's UUID, based on their steam ID. @@ -160,7 +160,7 @@ namespace RenX * @param player Player to calculate UUID of * @return UUID of the player based on their steam ID. */ - RENX_API Jupiter::StringS default_uuid_func(RenX::PlayerInfo *player); + RENX_API Jupiter::StringS default_uuid_func(RenX::PlayerInfo &player); /** * @brief Calculates a player's Kill-Death ratio, based on their data. @@ -170,7 +170,7 @@ namespace RenX * @param includeSuicides True if suicides should be included in the death count, false otherwise. * @return Player's Kill-Death ratio. */ - RENX_API double getKillDeathRatio(const RenX::PlayerInfo *player, bool includeSuicides = true); + RENX_API double getKillDeathRatio(const RenX::PlayerInfo &player, bool includeSuicides = true); /** * @brief Calculates a player's Headshot-Kill ratio, based on their data. @@ -179,7 +179,7 @@ namespace RenX * @param player A player's data. * @return Player's Headshot-Kill ratio. */ - RENX_API double getHeadshotKillRatio(const RenX::PlayerInfo *player); + RENX_API double getHeadshotKillRatio(const RenX::PlayerInfo &player); /** * @brief Escapifies a string so that it can be safely transmitted over RCON. diff --git a/RenX.Core/RenX_LadderDatabase.cpp b/RenX.Core/RenX_LadderDatabase.cpp index 295e24d..33c8971 100644 --- a/RenX.Core/RenX_LadderDatabase.cpp +++ b/RenX.Core/RenX_LadderDatabase.cpp @@ -474,20 +474,18 @@ void RenX::LadderDatabase::sort_entries() RenX::LadderDatabase::last_sort = std::chrono::steady_clock::now(); } -void RenX::LadderDatabase::updateLadder(RenX::Server *server, const RenX::TeamType &team) +void RenX::LadderDatabase::updateLadder(RenX::Server &server, const RenX::TeamType &team) { - if (server->players.size() != server->getBotCount()) + if (server.players.size() != server.getBotCount()) { // call the PreUpdateLadder event if (this->OnPreUpdateLadder != nullptr) this->OnPreUpdateLadder(*this, server, team); // update player stats in memory - RenX::PlayerInfo *player; RenX::LadderDatabase::Entry *entry; - for (Jupiter::DLList::Node *node = server->players.getNode(0); node != nullptr; node = node->next) + for (auto player = server.players.begin(); player != server.players.end(); ++player) { - player = node->data; if (player->steamid != 0 && (player->ban_flags & RenX::BanDatabase::Entry::FLAG_TYPE_LADDER) == 0) { entry = RenX::LadderDatabase::getPlayerEntry(player->steamid); @@ -507,7 +505,7 @@ void RenX::LadderDatabase::updateLadder(RenX::Server *server, const RenX::TeamTy entry->total_building_kills += player->buildingKills; entry->total_defence_kills += player->defenceKills; entry->total_captures += player->captures; - entry->total_game_time += static_cast(std::chrono::duration_cast(server->getGameTime(player)).count()); + entry->total_game_time += static_cast(std::chrono::duration_cast(server.getGameTime(*player)).count()); entry->total_beacon_placements += player->beaconPlacements; entry->total_beacon_disarms += player->beaconDisarms; entry->total_proxy_placements += player->proxy_placements; @@ -523,7 +521,7 @@ void RenX::LadderDatabase::updateLadder(RenX::Server *server, const RenX::TeamTy else if (team == RenX::TeamType::None) ++entry->total_gdi_ties; - entry->total_gdi_game_time += static_cast(std::chrono::duration_cast(server->getGameTime(player)).count()); + entry->total_gdi_game_time += static_cast(std::chrono::duration_cast(server.getGameTime(*player)).count()); entry->total_gdi_score += static_cast(player->score); entry->total_gdi_beacon_placements += player->beaconPlacements; entry->total_gdi_beacon_disarms += player->beaconDisarms; @@ -543,7 +541,7 @@ void RenX::LadderDatabase::updateLadder(RenX::Server *server, const RenX::TeamTy else if (team == RenX::TeamType::None) ++entry->total_nod_ties; - entry->total_nod_game_time += static_cast(std::chrono::duration_cast(server->getGameTime(player)).count()); + entry->total_nod_game_time += static_cast(std::chrono::duration_cast(server.getGameTime(*player)).count()); entry->total_nod_score += static_cast(player->score); entry->total_nod_beacon_placements += player->beaconPlacements; entry->total_nod_beacon_disarms += player->beaconDisarms; @@ -576,7 +574,7 @@ void RenX::LadderDatabase::updateLadder(RenX::Server *server, const RenX::TeamTy set_if_greater(entry->top_building_kills, player->buildingKills); set_if_greater(entry->top_defence_kills, player->defenceKills); set_if_greater(entry->top_captures, player->captures); - set_if_greater(entry->top_game_time, static_cast(std::chrono::duration_cast(server->getGameTime(player)).count())); + set_if_greater(entry->top_game_time, static_cast(std::chrono::duration_cast(server.getGameTime(*player)).count())); set_if_greater(entry->top_beacon_placements, player->beaconPlacements); set_if_greater(entry->top_beacon_disarms, player->beaconDisarms); set_if_greater(entry->top_proxy_placements, player->proxy_placements); @@ -600,12 +598,12 @@ void RenX::LadderDatabase::updateLadder(RenX::Server *server, const RenX::TeamTy if (RenX::LadderDatabase::output_times) { - Jupiter::StringS str = Jupiter::StringS::Format("Ladder: %u entries sorted in %f seconds; Database written in %f seconds." ENDL, + Jupiter::StringS str = Jupiter::StringS::Format("Ladder: %zu entries sorted in %f seconds; Database written in %f seconds." ENDL, RenX::LadderDatabase::getEntries(), static_cast(sort_duration.count()) * (static_cast(std::chrono::steady_clock::duration::period::num) / static_cast(std::chrono::steady_clock::duration::period::den) * static_cast(std::chrono::seconds::duration::period::den / std::chrono::seconds::duration::period::num)), static_cast(write_duration.count()) * (static_cast(std::chrono::steady_clock::duration::period::num) / static_cast(std::chrono::steady_clock::duration::period::den) * static_cast(std::chrono::seconds::duration::period::den / std::chrono::seconds::duration::period::num))); str.println(stdout); - server->sendLogChan(str); + server.sendLogChan(str); } } } diff --git a/RenX.Core/RenX_LadderDatabase.h b/RenX.Core/RenX_LadderDatabase.h index e7162c0..308bc5d 100644 --- a/RenX.Core/RenX_LadderDatabase.h +++ b/RenX.Core/RenX_LadderDatabase.h @@ -177,7 +177,7 @@ namespace RenX * @param team Team which just won * @param output_times True if the sort/write times should be output, false otherwise. */ - void updateLadder(RenX::Server *server, const RenX::TeamType &team); + void updateLadder(RenX::Server &server, const RenX::TeamType &team); /** * @brief Erases all entries in the database. @@ -223,7 +223,7 @@ namespace RenX */ ~LadderDatabase(); - typedef void PreUpdateLadderFunction(RenX::LadderDatabase &database, RenX::Server *server, const RenX::TeamType &team); + typedef void PreUpdateLadderFunction(RenX::LadderDatabase &database, RenX::Server &server, const RenX::TeamType &team); PreUpdateLadderFunction *OnPreUpdateLadder = nullptr; private: diff --git a/RenX.Core/RenX_Plugin.cpp b/RenX.Core/RenX_Plugin.cpp index f32333a..d0c73e1 100644 --- a/RenX.Core/RenX_Plugin.cpp +++ b/RenX.Core/RenX_Plugin.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -41,582 +41,582 @@ void RenX::Plugin::RenX_SanitizeTags(Jupiter::StringType &) return; } -void RenX::Plugin::RenX_ProcessTags(Jupiter::StringType &, const RenX::Server *, const RenX::PlayerInfo *, const RenX::PlayerInfo *, const RenX::BuildingInfo *) +void RenX::Plugin::RenX_ProcessTags(Jupiter::StringType &, const Server *, const PlayerInfo *, const PlayerInfo *, const BuildingInfo *) { return; } -void RenX::Plugin::RenX_OnPlayerCreate(Server *, const RenX::PlayerInfo *) +void RenX::Plugin::RenX_OnPlayerCreate(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnPlayerDelete(Server *, const RenX::PlayerInfo *) +void RenX::Plugin::RenX_OnPlayerDelete(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnPlayerUUIDChange(Server *, const RenX::PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnPlayerUUIDChange(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnPlayerRDNS(Server *, const RenX::PlayerInfo *) +void RenX::Plugin::RenX_OnPlayerRDNS(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnPlayerIdentify(Server *, const RenX::PlayerInfo *) +void RenX::Plugin::RenX_OnPlayerIdentify(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnServerCreate(Server *) +void RenX::Plugin::RenX_OnServerCreate(Server &) { return; } -void RenX::Plugin::RenX_OnServerFullyConnected(Server *) +void RenX::Plugin::RenX_OnServerFullyConnected(Server &) { return; } -void RenX::Plugin::RenX_OnServerDisconnect(Server *, RenX::DisconnectReason) +void RenX::Plugin::RenX_OnServerDisconnect(Server &, RenX::DisconnectReason) { return; } -bool RenX::Plugin::RenX_OnBan(Server *, const RenX::PlayerInfo *, Jupiter::StringType &) +bool RenX::Plugin::RenX_OnBan(Server &, const PlayerInfo &, Jupiter::StringType &) { return false; } -void RenX::Plugin::RenX_OnJoin(Server *, const RenX::PlayerInfo *) +void RenX::Plugin::RenX_OnJoin(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnPart(Server *, const RenX::PlayerInfo *) +void RenX::Plugin::RenX_OnPart(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnKick(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &reason) +void RenX::Plugin::RenX_OnKick(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnNameChange(Server *, const PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnNameChange(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnTeamChange(Server *, const PlayerInfo *, const TeamType &) +void RenX::Plugin::RenX_OnTeamChange(Server &, const PlayerInfo &, const TeamType &) { return; } -void RenX::Plugin::RenX_OnHWID(Server *, const PlayerInfo *) +void RenX::Plugin::RenX_OnHWID(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnIDChange(Server *, const PlayerInfo *, int) +void RenX::Plugin::RenX_OnIDChange(Server &, const PlayerInfo &, int) { return; } -void RenX::Plugin::RenX_OnDev(Server *, const PlayerInfo *) +void RenX::Plugin::RenX_OnDev(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnRank(Server *, const PlayerInfo *) +void RenX::Plugin::RenX_OnRank(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnExecute(Server *, const PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnExecute(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnPlayerCommand(Server *, const PlayerInfo *, const Jupiter::ReadableString &, GameCommand *) +void RenX::Plugin::RenX_OnPlayerCommand(Server &, const PlayerInfo &, const Jupiter::ReadableString &, GameCommand *) { return; } -void RenX::Plugin::RenX_OnSpeedHack(Server *, const PlayerInfo *) +void RenX::Plugin::RenX_OnSpeedHack(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnPlayer(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnPlayer(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnChat(Server *, const RenX::PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnChat(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnTeamChat(Server *, const RenX::PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnTeamChat(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnRadioChat(Server *, const RenX::PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnRadioChat(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnHostChat(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnHostChat(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnHostPage(Server *, const RenX::PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnHostPage(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnOtherChat(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnOtherChat(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnDeploy(Server *, const RenX::PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnDeploy(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnOverMine(Server *, const RenX::PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnOverMine(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnDisarm(Server *, const RenX::PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnDisarm(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnDisarm(Server *, const RenX::PlayerInfo *, const Jupiter::ReadableString &, const RenX::PlayerInfo *) +void RenX::Plugin::RenX_OnDisarm(Server &, const PlayerInfo &, const Jupiter::ReadableString &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnExplode(Server *, const PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnExplode(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnExplode(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnExplode(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnSuicide(Server *, const RenX::PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnSuicide(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnKill(Server *, const RenX::PlayerInfo *, const RenX::PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnKill(Server &, const PlayerInfo &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnKill(Server *, const Jupiter::ReadableString &, const TeamType &, const RenX::PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnKill(Server &, const Jupiter::ReadableString &, const TeamType &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnDie(Server *, const RenX::PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnDie(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnDie(Server *, const Jupiter::ReadableString &, const TeamType &, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnDie(Server &, const Jupiter::ReadableString &, const TeamType &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnDestroy(Server *, const RenX::PlayerInfo *, const Jupiter::ReadableString &, const TeamType &, const Jupiter::ReadableString &, ObjectType) +void RenX::Plugin::RenX_OnDestroy(Server &, const PlayerInfo &, const Jupiter::ReadableString &, const TeamType &, const Jupiter::ReadableString &, ObjectType) { return; } -void RenX::Plugin::RenX_OnDestroy(Server *, const Jupiter::ReadableString &, const TeamType &, const Jupiter::ReadableString &, const TeamType &, const Jupiter::ReadableString &, ObjectType) +void RenX::Plugin::RenX_OnDestroy(Server &, const Jupiter::ReadableString &, const TeamType &, const Jupiter::ReadableString &, const TeamType &, const Jupiter::ReadableString &, ObjectType) { return; } -void RenX::Plugin::RenX_OnCapture(Server *, const PlayerInfo *, const Jupiter::ReadableString &, const TeamType &) +void RenX::Plugin::RenX_OnCapture(Server &, const PlayerInfo &, const Jupiter::ReadableString &, const TeamType &) { return; } -void RenX::Plugin::RenX_OnNeutralize(Server *, const PlayerInfo *, const Jupiter::ReadableString &, const TeamType &) +void RenX::Plugin::RenX_OnNeutralize(Server &, const PlayerInfo &, const Jupiter::ReadableString &, const TeamType &) { return; } -void RenX::Plugin::RenX_OnCharacterPurchase(Server *, const PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnCharacterPurchase(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnItemPurchase(Server *, const PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnItemPurchase(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnWeaponPurchase(Server *, const PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnWeaponPurchase(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnRefillPurchase(Server *, const PlayerInfo *) +void RenX::Plugin::RenX_OnRefillPurchase(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnVehiclePurchase(Server *, const PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnVehiclePurchase(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnVehicleSpawn(Server *, const TeamType &, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnVehicleSpawn(Server &, const TeamType &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnSpawn(Server *, const PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnSpawn(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnBotJoin(Server *, const PlayerInfo *) +void RenX::Plugin::RenX_OnBotJoin(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnVehicleCrate(Server *, const PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnVehicleCrate(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnTSVehicleCrate(Server *, const PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnTSVehicleCrate(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnRAVehicleCrate(Server *, const PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnRAVehicleCrate(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnDeathCrate(Server *, const PlayerInfo *) +void RenX::Plugin::RenX_OnDeathCrate(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnMoneyCrate(Server *, const PlayerInfo *, int) +void RenX::Plugin::RenX_OnMoneyCrate(Server &, const PlayerInfo &, int) { return; } -void RenX::Plugin::RenX_OnCharacterCrate(Server *, const PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnCharacterCrate(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnSpyCrate(Server *, const PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnSpyCrate(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnRefillCrate(Server *, const PlayerInfo *) +void RenX::Plugin::RenX_OnRefillCrate(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnTimeBombCrate(Server *server, const PlayerInfo *player) +void RenX::Plugin::RenX_OnTimeBombCrate(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnSpeedCrate(Server *server, const PlayerInfo *player) +void RenX::Plugin::RenX_OnSpeedCrate(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnNukeCrate(Server *server, const PlayerInfo *player) +void RenX::Plugin::RenX_OnNukeCrate(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnAbductionCrate(Server *server, const PlayerInfo *player) +void RenX::Plugin::RenX_OnAbductionCrate(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnUnspecifiedCrate(Server *server, const PlayerInfo *player) +void RenX::Plugin::RenX_OnUnspecifiedCrate(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnOtherCrate(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnOtherCrate(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnSteal(Server *, const PlayerInfo *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnSteal(Server &, const PlayerInfo &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnSteal(Server *, const PlayerInfo *, const Jupiter::ReadableString &, const PlayerInfo *) +void RenX::Plugin::RenX_OnSteal(Server &, const PlayerInfo &, const Jupiter::ReadableString &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnDonate(Server *, const PlayerInfo *, const PlayerInfo *, double) +void RenX::Plugin::RenX_OnDonate(Server &, const PlayerInfo &, const PlayerInfo &, double) { return; } -void RenX::Plugin::RenX_OnGameOver(Server *, RenX::WinType, const TeamType &, int, int) +void RenX::Plugin::RenX_OnGameOver(Server &, RenX::WinType, const TeamType &, int, int) { return; } -void RenX::Plugin::RenX_OnGame(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnGame(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnExecute(Server *, const Jupiter::ReadableString &, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnExecute(Server &, const Jupiter::ReadableString &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnSubscribe(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnSubscribe(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnUnsubscribe(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnUnsubscribe(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnBlock(Server *, const Jupiter::ReadableString &, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnBlock(Server &, const Jupiter::ReadableString &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnConnect(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnConnect(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnAuthenticate(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnAuthenticate(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnBan(Server *, const Jupiter::ReadableString &, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnBan(Server &, const Jupiter::ReadableString &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnInvalidPassword(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnInvalidPassword(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnDrop(Server *, const Jupiter::ReadableString &, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnDrop(Server &, const Jupiter::ReadableString &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnDisconnect(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnDisconnect(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnStopListen(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnStopListen(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnResumeListen(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnResumeListen(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnWarning(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnWarning(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnRCON(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnRCON(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnAdminLogin(Server *, const RenX::PlayerInfo *) +void RenX::Plugin::RenX_OnAdminLogin(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnAdminGrant(Server *, const RenX::PlayerInfo *) +void RenX::Plugin::RenX_OnAdminGrant(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnAdminLogout(Server *, const RenX::PlayerInfo *) +void RenX::Plugin::RenX_OnAdminLogout(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnAdmin(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnAdmin(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnVoteAddBots(Server *, const TeamType &, const PlayerInfo *, const TeamType &, int, int) +void RenX::Plugin::RenX_OnVoteAddBots(Server &, const TeamType &, const PlayerInfo &, const TeamType &, int, int) { return; } -void RenX::Plugin::RenX_OnVoteChangeMap(Server *, const TeamType &, const PlayerInfo *) +void RenX::Plugin::RenX_OnVoteChangeMap(Server &, const TeamType &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnVoteKick(Server *, const TeamType &, const PlayerInfo *, const PlayerInfo *) +void RenX::Plugin::RenX_OnVoteKick(Server &, const TeamType &, const PlayerInfo &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnVoteMineBan(Server *, const TeamType &, const PlayerInfo *, const PlayerInfo *) +void RenX::Plugin::RenX_OnVoteMineBan(Server &, const TeamType &, const PlayerInfo &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnVoteRemoveBots(Server *, const TeamType &, const PlayerInfo *, const TeamType &, int) +void RenX::Plugin::RenX_OnVoteRemoveBots(Server &, const TeamType &, const PlayerInfo &, const TeamType &, int) { return; } -void RenX::Plugin::RenX_OnVoteRestartMap(Server *, const TeamType &, const PlayerInfo *) +void RenX::Plugin::RenX_OnVoteRestartMap(Server &, const TeamType &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnVoteSurrender(Server *, const TeamType &, const PlayerInfo *) +void RenX::Plugin::RenX_OnVoteSurrender(Server &, const TeamType &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnVoteSurvey(Server *, const TeamType &, const PlayerInfo *, const Jupiter::ReadableString &text) +void RenX::Plugin::RenX_OnVoteSurvey(Server &, const TeamType &, const PlayerInfo &, const Jupiter::ReadableString &text) { return; } -void RenX::Plugin::RenX_OnVoteOther(Server *, const TeamType &, const Jupiter::ReadableString &, const PlayerInfo *) +void RenX::Plugin::RenX_OnVoteOther(Server &, const TeamType &, const Jupiter::ReadableString &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnVoteOver(Server *, const TeamType &, const Jupiter::ReadableString &, bool, int, int) +void RenX::Plugin::RenX_OnVoteOver(Server &, const TeamType &, const Jupiter::ReadableString &, bool, int, int) { return; } -void RenX::Plugin::RenX_OnVoteCancel(Server *, const TeamType &, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnVoteCancel(Server &, const TeamType &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnVote(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnVote(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnMapChange(Server *, const Jupiter::ReadableString &, bool) +void RenX::Plugin::RenX_OnMapChange(Server &, const Jupiter::ReadableString &, bool) { return; } -void RenX::Plugin::RenX_OnMapLoad(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnMapLoad(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnMapStart(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnMapStart(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnMap(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnMap(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnDemoRecord(Server *, const PlayerInfo *) +void RenX::Plugin::RenX_OnDemoRecord(Server &, const PlayerInfo &) { return; } -void RenX::Plugin::RenX_OnDemoRecord(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnDemoRecord(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnDemoRecordStop(Server *) +void RenX::Plugin::RenX_OnDemoRecordStop(Server &) { return; } -void RenX::Plugin::RenX_OnDemo(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnDemo(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnLog(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnLog(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnCommand(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnCommand(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnError(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnError(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnVersion(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnVersion(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnAuthorized(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnAuthorized(Server &, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnOther(Server *, char, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnOther(Server &, char, const Jupiter::ReadableString &) { return; } -void RenX::Plugin::RenX_OnRaw(Server *, const Jupiter::ReadableString &) +void RenX::Plugin::RenX_OnRaw(Server &, const Jupiter::ReadableString &) { return; } \ No newline at end of file diff --git a/RenX.Core/RenX_Plugin.h b/RenX.Core/RenX_Plugin.h index a5a0ede..710b1a2 100644 --- a/RenX.Core/RenX_Plugin.h +++ b/RenX.Core/RenX_Plugin.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -46,151 +46,151 @@ namespace RenX virtual void RenX_ProcessTags(Jupiter::StringType &msg, const Server *server, const PlayerInfo *player, const PlayerInfo *victim, const BuildingInfo *building); /** Non-RCON RenX logs */ - virtual void RenX_OnPlayerCreate(Server *server, const PlayerInfo *player); - virtual void RenX_OnPlayerDelete(Server *server, const PlayerInfo *player); - virtual void RenX_OnPlayerUUIDChange(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &newUUID); - virtual void RenX_OnPlayerRDNS(Server *server, const PlayerInfo *player); - virtual void RenX_OnPlayerIdentify(Server *server, const PlayerInfo *player); - virtual void RenX_OnServerCreate(Server *server); - virtual void RenX_OnServerFullyConnected(Server *server); - virtual void RenX_OnServerDisconnect(Server *server, RenX::DisconnectReason reason); - virtual bool RenX_OnBan(Server *server, const PlayerInfo *player, Jupiter::StringType &data); + virtual void RenX_OnPlayerCreate(Server &server, const PlayerInfo &player); + virtual void RenX_OnPlayerDelete(Server &server, const PlayerInfo &player); + virtual void RenX_OnPlayerUUIDChange(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &newUUID); + virtual void RenX_OnPlayerRDNS(Server &server, const PlayerInfo &player); + virtual void RenX_OnPlayerIdentify(Server &server, const PlayerInfo &player); + virtual void RenX_OnServerCreate(Server &server); + virtual void RenX_OnServerFullyConnected(Server &server); + virtual void RenX_OnServerDisconnect(Server &server, RenX::DisconnectReason reason); + virtual bool RenX_OnBan(Server &server, const PlayerInfo &player, Jupiter::StringType &data); /** Player type logs */ - virtual void RenX_OnJoin(Server *server, const PlayerInfo *player); - virtual void RenX_OnPart(Server *server, const PlayerInfo *player); - virtual void RenX_OnKick(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &reason); - virtual void RenX_OnNameChange(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &newPlayerName); - virtual void RenX_OnTeamChange(Server *server, const PlayerInfo *player, const TeamType &oldTeam); - virtual void RenX_OnHWID(Server *server, const PlayerInfo *player); - virtual void RenX_OnIDChange(Server *server, const PlayerInfo *player, int oldID); - virtual void RenX_OnRank(Server *server, const PlayerInfo *player); - virtual void RenX_OnDev(Server *server, const PlayerInfo *player); - virtual void RenX_OnExecute(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &command); - virtual void RenX_OnPlayerCommand(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &message, GameCommand *command); - virtual void RenX_OnSpeedHack(Server *server, const PlayerInfo *player); - virtual void RenX_OnPlayer(Server *server, const Jupiter::ReadableString &raw); + virtual void RenX_OnJoin(Server &server, const PlayerInfo &player); + virtual void RenX_OnPart(Server &server, const PlayerInfo &player); + virtual void RenX_OnKick(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &reason); + virtual void RenX_OnNameChange(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &newPlayerName); + virtual void RenX_OnTeamChange(Server &server, const PlayerInfo &player, const TeamType &oldTeam); + virtual void RenX_OnHWID(Server &server, const PlayerInfo &player); + virtual void RenX_OnIDChange(Server &server, const PlayerInfo &player, int oldID); + virtual void RenX_OnRank(Server &server, const PlayerInfo &player); + virtual void RenX_OnDev(Server &server, const PlayerInfo &player); + virtual void RenX_OnExecute(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &command); + virtual void RenX_OnPlayerCommand(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &message, GameCommand *command); + virtual void RenX_OnSpeedHack(Server &server, const PlayerInfo &player); + virtual void RenX_OnPlayer(Server &server, const Jupiter::ReadableString &raw); /** Chat type logs */ - virtual void RenX_OnChat(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &message); - virtual void RenX_OnTeamChat(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &message); - virtual void RenX_OnRadioChat(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &message); - virtual void RenX_OnHostChat(Server *server, const Jupiter::ReadableString &message); - virtual void RenX_OnHostPage(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &message); - virtual void RenX_OnOtherChat(Server *server, const Jupiter::ReadableString &raw); + virtual void RenX_OnChat(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &message); + virtual void RenX_OnTeamChat(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &message); + virtual void RenX_OnRadioChat(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &message); + virtual void RenX_OnHostChat(Server &server, const Jupiter::ReadableString &message); + virtual void RenX_OnHostPage(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &message); + virtual void RenX_OnOtherChat(Server &server, const Jupiter::ReadableString &raw); /** Game type logs */ - virtual void RenX_OnDeploy(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &object); - virtual void RenX_OnOverMine(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &location); - virtual void RenX_OnDisarm(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &object); - virtual void RenX_OnDisarm(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &object, const PlayerInfo *victim); - virtual void RenX_OnExplode(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &object); - virtual void RenX_OnExplode(Server *server, const Jupiter::ReadableString &object); - virtual void RenX_OnSuicide(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &damageType); - virtual void RenX_OnKill(Server *server, const PlayerInfo *player, const PlayerInfo *victim, const Jupiter::ReadableString &damageType); - virtual void RenX_OnKill(Server *server, const Jupiter::ReadableString &killer, const TeamType &killerTeam, const PlayerInfo *victim, const Jupiter::ReadableString &damageType); - virtual void RenX_OnDie(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &damageType); - virtual void RenX_OnDie(Server *server, const Jupiter::ReadableString &object, const TeamType &objectTeam, const Jupiter::ReadableString &damageType); - virtual void RenX_OnDestroy(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &objectName, const TeamType &victimTeam, const Jupiter::ReadableString &damageType, ObjectType type); - virtual void RenX_OnDestroy(Server *server, const Jupiter::ReadableString &killer, const TeamType &killerTeam, const Jupiter::ReadableString &objectName, const TeamType &objectTeam, const Jupiter::ReadableString &damageType, ObjectType type); - virtual void RenX_OnCapture(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &building, const TeamType &oldTeam); - virtual void RenX_OnNeutralize(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &building, const TeamType &oldTeam); - virtual void RenX_OnCharacterPurchase(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &character); - virtual void RenX_OnItemPurchase(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &item); - virtual void RenX_OnWeaponPurchase(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &weapon); - virtual void RenX_OnRefillPurchase(Server *server, const PlayerInfo *player); - virtual void RenX_OnVehiclePurchase(Server *server, const PlayerInfo *owner, const Jupiter::ReadableString &vehicle); - virtual void RenX_OnVehicleSpawn(Server *server, const TeamType &team, const Jupiter::ReadableString &vehicle); - virtual void RenX_OnSpawn(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &character); - virtual void RenX_OnBotJoin(Server *server, const PlayerInfo *player); - virtual void RenX_OnVehicleCrate(Server *server, const PlayerInfo *owner, const Jupiter::ReadableString &vehicle); - virtual void RenX_OnTSVehicleCrate(Server *server, const PlayerInfo *owner, const Jupiter::ReadableString &vehicle); - virtual void RenX_OnRAVehicleCrate(Server *server, const PlayerInfo *owner, const Jupiter::ReadableString &vehicle); - virtual void RenX_OnDeathCrate(Server *server, const PlayerInfo *player); - virtual void RenX_OnMoneyCrate(Server *server, const PlayerInfo *player, int amount); - virtual void RenX_OnCharacterCrate(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &character); - virtual void RenX_OnSpyCrate(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &character); - virtual void RenX_OnRefillCrate(Server *server, const PlayerInfo *player); - virtual void RenX_OnTimeBombCrate(Server *server, const PlayerInfo *player); - virtual void RenX_OnSpeedCrate(Server *server, const PlayerInfo *player); - virtual void RenX_OnNukeCrate(Server *server, const PlayerInfo *player); - virtual void RenX_OnAbductionCrate(Server *server, const PlayerInfo *player); - virtual void RenX_OnUnspecifiedCrate(Server *server, const PlayerInfo *player); - virtual void RenX_OnOtherCrate(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &type); - virtual void RenX_OnSteal(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &vehicle); - virtual void RenX_OnSteal(Server *server, const PlayerInfo *player, const Jupiter::ReadableString &vehicle, const PlayerInfo *victim); - virtual void RenX_OnDonate(Server *server, const PlayerInfo *donor, const PlayerInfo *player, double amount); - virtual void RenX_OnGameOver(Server *server, WinType winType, const TeamType &team, int gScore, int nScore); - virtual void RenX_OnGame(Server *server, const Jupiter::ReadableString &raw); + virtual void RenX_OnDeploy(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &object); + virtual void RenX_OnOverMine(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &location); + virtual void RenX_OnDisarm(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &object); + virtual void RenX_OnDisarm(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &object, const PlayerInfo &victim); + virtual void RenX_OnExplode(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &object); + virtual void RenX_OnExplode(Server &server, const Jupiter::ReadableString &object); + virtual void RenX_OnSuicide(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &damageType); + virtual void RenX_OnKill(Server &server, const PlayerInfo &player, const PlayerInfo &victim, const Jupiter::ReadableString &damageType); + virtual void RenX_OnKill(Server &server, const Jupiter::ReadableString &killer, const TeamType &killerTeam, const PlayerInfo &victim, const Jupiter::ReadableString &damageType); + virtual void RenX_OnDie(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &damageType); + virtual void RenX_OnDie(Server &server, const Jupiter::ReadableString &object, const TeamType &objectTeam, const Jupiter::ReadableString &damageType); + virtual void RenX_OnDestroy(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &objectName, const TeamType &victimTeam, const Jupiter::ReadableString &damageType, ObjectType type); + virtual void RenX_OnDestroy(Server &server, const Jupiter::ReadableString &killer, const TeamType &killerTeam, const Jupiter::ReadableString &objectName, const TeamType &objectTeam, const Jupiter::ReadableString &damageType, ObjectType type); + virtual void RenX_OnCapture(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &building, const TeamType &oldTeam); + virtual void RenX_OnNeutralize(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &building, const TeamType &oldTeam); + virtual void RenX_OnCharacterPurchase(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &character); + virtual void RenX_OnItemPurchase(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &item); + virtual void RenX_OnWeaponPurchase(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &weapon); + virtual void RenX_OnRefillPurchase(Server &server, const PlayerInfo &player); + virtual void RenX_OnVehiclePurchase(Server &server, const PlayerInfo &owner, const Jupiter::ReadableString &vehicle); + virtual void RenX_OnVehicleSpawn(Server &server, const TeamType &team, const Jupiter::ReadableString &vehicle); + virtual void RenX_OnSpawn(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &character); + virtual void RenX_OnBotJoin(Server &server, const PlayerInfo &player); + virtual void RenX_OnVehicleCrate(Server &server, const PlayerInfo &owner, const Jupiter::ReadableString &vehicle); + virtual void RenX_OnTSVehicleCrate(Server &server, const PlayerInfo &owner, const Jupiter::ReadableString &vehicle); + virtual void RenX_OnRAVehicleCrate(Server &server, const PlayerInfo &owner, const Jupiter::ReadableString &vehicle); + virtual void RenX_OnDeathCrate(Server &server, const PlayerInfo &player); + virtual void RenX_OnMoneyCrate(Server &server, const PlayerInfo &player, int amount); + virtual void RenX_OnCharacterCrate(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &character); + virtual void RenX_OnSpyCrate(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &character); + virtual void RenX_OnRefillCrate(Server &server, const PlayerInfo &player); + virtual void RenX_OnTimeBombCrate(Server &server, const PlayerInfo &player); + virtual void RenX_OnSpeedCrate(Server &server, const PlayerInfo &player); + virtual void RenX_OnNukeCrate(Server &server, const PlayerInfo &player); + virtual void RenX_OnAbductionCrate(Server &server, const PlayerInfo &player); + virtual void RenX_OnUnspecifiedCrate(Server &server, const PlayerInfo &player); + virtual void RenX_OnOtherCrate(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &type); + virtual void RenX_OnSteal(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &vehicle); + virtual void RenX_OnSteal(Server &server, const PlayerInfo &player, const Jupiter::ReadableString &vehicle, const PlayerInfo &victim); + virtual void RenX_OnDonate(Server &server, const PlayerInfo &donor, const PlayerInfo &player, double amount); + virtual void RenX_OnGameOver(Server &server, WinType winType, const TeamType &team, int gScore, int nScore); + virtual void RenX_OnGame(Server &server, const Jupiter::ReadableString &raw); /** RCON type logs */ - virtual void RenX_OnExecute(Server *server, const Jupiter::ReadableString &user, const Jupiter::ReadableString &command); - virtual void RenX_OnSubscribe(Server *server, const Jupiter::ReadableString &user); - virtual void RenX_OnUnsubscribe(Server *server, const Jupiter::ReadableString &user); - virtual void RenX_OnBlock(Server *server, const Jupiter::ReadableString &user, const Jupiter::ReadableString &message); - virtual void RenX_OnConnect(Server *server, const Jupiter::ReadableString &user); - virtual void RenX_OnAuthenticate(Server *server, const Jupiter::ReadableString &user); - virtual void RenX_OnBan(Server *server, const Jupiter::ReadableString &user, const Jupiter::ReadableString &message); - virtual void RenX_OnInvalidPassword(Server *server, const Jupiter::ReadableString &user); - virtual void RenX_OnDrop(Server *server, const Jupiter::ReadableString &user, const Jupiter::ReadableString &message); - virtual void RenX_OnDisconnect(Server *server, const Jupiter::ReadableString &user); - virtual void RenX_OnStopListen(Server *server, const Jupiter::ReadableString &message); - virtual void RenX_OnResumeListen(Server *server, const Jupiter::ReadableString &message); - virtual void RenX_OnWarning(Server *server, const Jupiter::ReadableString &message); - virtual void RenX_OnRCON(Server *server, const Jupiter::ReadableString &raw); + virtual void RenX_OnExecute(Server &server, const Jupiter::ReadableString &user, const Jupiter::ReadableString &command); + virtual void RenX_OnSubscribe(Server &server, const Jupiter::ReadableString &user); + virtual void RenX_OnUnsubscribe(Server &server, const Jupiter::ReadableString &user); + virtual void RenX_OnBlock(Server &server, const Jupiter::ReadableString &user, const Jupiter::ReadableString &message); + virtual void RenX_OnConnect(Server &server, const Jupiter::ReadableString &user); + virtual void RenX_OnAuthenticate(Server &server, const Jupiter::ReadableString &user); + virtual void RenX_OnBan(Server &server, const Jupiter::ReadableString &user, const Jupiter::ReadableString &message); + virtual void RenX_OnInvalidPassword(Server &server, const Jupiter::ReadableString &user); + virtual void RenX_OnDrop(Server &server, const Jupiter::ReadableString &user, const Jupiter::ReadableString &message); + virtual void RenX_OnDisconnect(Server &server, const Jupiter::ReadableString &user); + virtual void RenX_OnStopListen(Server &server, const Jupiter::ReadableString &message); + virtual void RenX_OnResumeListen(Server &server, const Jupiter::ReadableString &message); + virtual void RenX_OnWarning(Server &server, const Jupiter::ReadableString &message); + virtual void RenX_OnRCON(Server &server, const Jupiter::ReadableString &raw); /** Admin Type Logs */ - virtual void RenX_OnAdminLogin(Server *server, const PlayerInfo *player); - virtual void RenX_OnAdminGrant(Server *server, const PlayerInfo *player); - virtual void RenX_OnAdminLogout(Server *server, const PlayerInfo *player); - virtual void RenX_OnAdmin(Server *server, const Jupiter::ReadableString &raw); + virtual void RenX_OnAdminLogin(Server &server, const PlayerInfo &player); + virtual void RenX_OnAdminGrant(Server &server, const PlayerInfo &player); + virtual void RenX_OnAdminLogout(Server &server, const PlayerInfo &player); + virtual void RenX_OnAdmin(Server &server, const Jupiter::ReadableString &raw); /** Vote Type Logs */ - virtual void RenX_OnVoteAddBots(Server *server, const TeamType &team, const PlayerInfo *player, const TeamType &victim, int amount, int skill); - virtual void RenX_OnVoteChangeMap(Server *server, const TeamType &team, const PlayerInfo *player); - virtual void RenX_OnVoteKick(Server *server, const TeamType &team, const PlayerInfo *player, const PlayerInfo *victim); - virtual void RenX_OnVoteMineBan(Server *server, const TeamType &team, const PlayerInfo *player, const PlayerInfo *victim); - virtual void RenX_OnVoteRemoveBots(Server *server, const TeamType &team, const PlayerInfo *player, const TeamType &victim, int amount); - virtual void RenX_OnVoteRestartMap(Server *server, const TeamType &team, const PlayerInfo *player); - virtual void RenX_OnVoteSurrender(Server *server, const TeamType &team, const PlayerInfo *player); - virtual void RenX_OnVoteSurvey(Server *server, const TeamType &team, const PlayerInfo *player, const Jupiter::ReadableString &text); - virtual void RenX_OnVoteOther(Server *server, const TeamType &team, const Jupiter::ReadableString &type, const PlayerInfo *player); - virtual void RenX_OnVoteOver(Server *server, const TeamType &team, const Jupiter::ReadableString &type, bool success, int yesVotes, int noVotes); - virtual void RenX_OnVoteCancel(Server *server, const TeamType &team, const Jupiter::ReadableString &type); - virtual void RenX_OnVote(Server *server, const Jupiter::ReadableString &raw); + virtual void RenX_OnVoteAddBots(Server &server, const TeamType &team, const PlayerInfo &player, const TeamType &victim, int amount, int skill); + virtual void RenX_OnVoteChangeMap(Server &server, const TeamType &team, const PlayerInfo &player); + virtual void RenX_OnVoteKick(Server &server, const TeamType &team, const PlayerInfo &player, const PlayerInfo &victim); + virtual void RenX_OnVoteMineBan(Server &server, const TeamType &team, const PlayerInfo &player, const PlayerInfo &victim); + virtual void RenX_OnVoteRemoveBots(Server &server, const TeamType &team, const PlayerInfo &player, const TeamType &victim, int amount); + virtual void RenX_OnVoteRestartMap(Server &server, const TeamType &team, const PlayerInfo &player); + virtual void RenX_OnVoteSurrender(Server &server, const TeamType &team, const PlayerInfo &player); + virtual void RenX_OnVoteSurvey(Server &server, const TeamType &team, const PlayerInfo &player, const Jupiter::ReadableString &text); + virtual void RenX_OnVoteOther(Server &server, const TeamType &team, const Jupiter::ReadableString &type, const PlayerInfo &player); + virtual void RenX_OnVoteOver(Server &server, const TeamType &team, const Jupiter::ReadableString &type, bool success, int yesVotes, int noVotes); + virtual void RenX_OnVoteCancel(Server &server, const TeamType &team, const Jupiter::ReadableString &type); + virtual void RenX_OnVote(Server &server, const Jupiter::ReadableString &raw); /** Map Type Logs */ - virtual void RenX_OnMapChange(Server *server, const Jupiter::ReadableString &map, bool seamless); - virtual void RenX_OnMapLoad(Server *server, const Jupiter::ReadableString &map); - virtual void RenX_OnMapStart(Server *server, const Jupiter::ReadableString &map); - virtual void RenX_OnMap(Server *server, const Jupiter::ReadableString &raw); + virtual void RenX_OnMapChange(Server &server, const Jupiter::ReadableString &map, bool seamless); + virtual void RenX_OnMapLoad(Server &server, const Jupiter::ReadableString &map); + virtual void RenX_OnMapStart(Server &server, const Jupiter::ReadableString &map); + virtual void RenX_OnMap(Server &server, const Jupiter::ReadableString &raw); /** Demo Type Logs */ - virtual void RenX_OnDemoRecord(Server *server, const PlayerInfo *player); - virtual void RenX_OnDemoRecord(Server *server, const Jupiter::ReadableString &user); // Note: user is currently always empty. - virtual void RenX_OnDemoRecordStop(Server *server); - virtual void RenX_OnDemo(Server *server, const Jupiter::ReadableString &raw); + virtual void RenX_OnDemoRecord(Server &server, const PlayerInfo &player); + virtual void RenX_OnDemoRecord(Server &server, const Jupiter::ReadableString &user); // Note: user is currently always empty. + virtual void RenX_OnDemoRecordStop(Server &server); + virtual void RenX_OnDemo(Server &server, const Jupiter::ReadableString &raw); /** Other Logs */ - virtual void RenX_OnLog(Server *server, const Jupiter::ReadableString &raw); + virtual void RenX_OnLog(Server &server, const Jupiter::ReadableString &raw); /** Command type */ - virtual void RenX_OnCommand(Server *server, const Jupiter::ReadableString &raw); + virtual void RenX_OnCommand(Server &server, const Jupiter::ReadableString &raw); /** Error type */ - virtual void RenX_OnError(Server *server, const Jupiter::ReadableString &raw); + virtual void RenX_OnError(Server &server, const Jupiter::ReadableString &raw); /** Version type */ - virtual void RenX_OnVersion(Server *server, const Jupiter::ReadableString &raw); + virtual void RenX_OnVersion(Server &server, const Jupiter::ReadableString &raw); /** Authorized type */ - virtual void RenX_OnAuthorized(Server *server, const Jupiter::ReadableString &raw); + virtual void RenX_OnAuthorized(Server &server, const Jupiter::ReadableString &raw); /** Other type - executed if none of the above matched */ - virtual void RenX_OnOther(Server *server, const char token, const Jupiter::ReadableString &raw); + virtual void RenX_OnOther(Server &server, const char token, const Jupiter::ReadableString &raw); /** Catch-all - always executes for every line from RCON */ - virtual void RenX_OnRaw(Server *server, const Jupiter::ReadableString &raw); + virtual void RenX_OnRaw(Server &server, const Jupiter::ReadableString &raw); /** * @brief Default constructor for the Plugin class. diff --git a/RenX.Core/RenX_Server.cpp b/RenX.Core/RenX_Server.cpp index 38d4401..b975fde 100644 --- a/RenX.Core/RenX_Server.cpp +++ b/RenX.Core/RenX_Server.cpp @@ -61,28 +61,26 @@ int RenX::Server::think() { if (this->player_rdns_resolutions_pending != 0) { - RenX::PlayerInfo *player; Jupiter::ArrayList &xPlugins = *RenX::getCore()->getPlugins(); - for (Jupiter::DLList::Node *node = this->players.getNode(0); node != nullptr; node = node->next) + for (auto node = this->players.begin(); node != this->players.end(); ++node) { - player = node->data; - if (player->rdns_thread.joinable() && player->rdns_mutex.try_lock()) // RDNS event hasn't fired AND RDNS value has been resolved + if (node->rdns_thread.joinable() && node->rdns_mutex.try_lock()) // RDNS event hasn't fired AND RDNS value has been resolved { - player->rdns_mutex.unlock(); - player->rdns_thread.join(); + node->rdns_mutex.unlock(); + node->rdns_thread.join(); --this->player_rdns_resolutions_pending; // Check for bans - this->banCheck(player); + this->banCheck(*node); // Fire RDNS resolved event for (size_t index = 0; index < xPlugins.size(); ++index) - xPlugins.get(index)->RenX_OnPlayerRDNS(this, player); + xPlugins.get(index)->RenX_OnPlayerRDNS(*this, *node); // Fire player indentified event if ready - if (player->hwid.isNotEmpty()) + if (node->hwid.isNotEmpty()) for (size_t index = 0; index < xPlugins.size(); ++index) - xPlugins.get(index)->RenX_OnPlayerIdentify(this, player); + xPlugins.get(index)->RenX_OnPlayerIdentify(*this, *node); if (this->player_rdns_resolutions_pending == 0) // No more resolutions pending return; @@ -282,18 +280,18 @@ int RenX::Server::sendMessage(const Jupiter::ReadableString &message) { int r = 0; if (RenX::Server::players.size() != 0) - for (Jupiter::DLList::Node *node = RenX::Server::players.getNode(0); node != nullptr; node = node->next) - if (node->data->isBot == false) - r += RenX::Server::sock.send(Jupiter::StringS::Format("chostprivatesay pid%d %.*s\n", node->data->id, msg.size(), msg.ptr())); + for (auto node = this->players.begin(); node != this->players.end(); ++node) + if (node->isBot == false) + r += RenX::Server::sock.send(Jupiter::StringS::Format("chostprivatesay pid%d %.*s\n", node->id, msg.size(), msg.ptr())); return r; } else return RenX::Server::sock.send("chostsay "_jrs + msg + '\n'); } -int RenX::Server::sendMessage(const RenX::PlayerInfo *player, const Jupiter::ReadableString &message) +int RenX::Server::sendMessage(const RenX::PlayerInfo &player, const Jupiter::ReadableString &message) { - return RenX::Server::sock.send("chostprivatesay pid"_jrs + Jupiter::StringS::Format("%d ", player->id) + RenX::escapifyRCON(message) + '\n'); + return RenX::Server::sock.send("chostprivatesay pid"_jrs + Jupiter::StringS::Format("%d ", player.id) + RenX::escapifyRCON(message) + '\n'); } int RenX::Server::sendData(const Jupiter::ReadableString &data) @@ -346,19 +344,20 @@ std::chrono::milliseconds RenX::Server::getGameTime() const return std::chrono::duration_cast(std::chrono::steady_clock::now() - RenX::Server::gameStart); } -std::chrono::milliseconds RenX::Server::getGameTime(const RenX::PlayerInfo *player) const +std::chrono::milliseconds RenX::Server::getGameTime(const RenX::PlayerInfo &player) const { - if (player->joinTime < RenX::Server::gameStart) + if (player.joinTime < RenX::Server::gameStart) return RenX::Server::getGameTime(); - return std::chrono::duration_cast(std::chrono::steady_clock::now() - player->joinTime); + + return std::chrono::duration_cast(std::chrono::steady_clock::now() - player.joinTime); } size_t RenX::Server::getBotCount() const { size_t count = 0; - for (size_t index = 0; index != this->players.size(); ++index) - if (this->players.get(index)->isBot) + for (auto node = this->players.begin(); node != this->players.end(); ++node) + if (node->isBot) ++count; return count; @@ -367,12 +366,9 @@ size_t RenX::Server::getBotCount() const RenX::PlayerInfo *RenX::Server::getPlayer(int id) const { - if (RenX::Server::players.size() == 0) - return nullptr; - - for (Jupiter::DLList::Node *node = RenX::Server::players.getNode(0); node != nullptr; node = node->next) - if (node->data->id == id) - return node->data; + for (auto node = this->players.begin(); node != this->players.end(); ++node) + if (node->id == id) + return const_cast(&*node); return nullptr; } @@ -382,9 +378,9 @@ RenX::PlayerInfo *RenX::Server::getPlayerByName(const Jupiter::ReadableString &n if (RenX::Server::players.size() == 0) return nullptr; - for (Jupiter::DLList::Node *node = RenX::Server::players.getNode(0); node != nullptr; node = node->next) - if (node->data->name == name) - return node->data; + for (auto node = this->players.begin(); node != this->players.end(); ++node) + if (node->name == name) + return const_cast(&*node); Jupiter::ReferenceString idToken = name; if (name.matchi("Player?*")) @@ -395,11 +391,7 @@ RenX::PlayerInfo *RenX::Server::getPlayerByName(const Jupiter::ReadableString &n return nullptr; int id = idToken.asInt(10); - for (Jupiter::DLList::Node *node = RenX::Server::players.getNode(0); node != nullptr; node = node->next) - if (node->data->id == id) - return node->data; - - return nullptr; + return this->getPlayer(id); } RenX::PlayerInfo *RenX::Server::getPlayerByPartName(const Jupiter::ReadableString &partName) const @@ -419,16 +411,16 @@ RenX::PlayerInfo *RenX::Server::getPlayerByPartNameFast(const Jupiter::ReadableS if (RenX::Server::players.size() == 0) return nullptr; - for (Jupiter::DLList::Node *node = RenX::Server::players.getNode(0); node != nullptr; node = node->next) - if (node->data->name.findi(partName) != Jupiter::INVALID_INDEX) - return node->data; + for (auto node = this->players.begin(); node != this->players.end(); ++node) + if (node->name.findi(partName) != Jupiter::INVALID_INDEX) + return const_cast(&*node); return nullptr; } -Jupiter::StringS RenX::Server::formatSteamID(const RenX::PlayerInfo *player) const +Jupiter::StringS RenX::Server::formatSteamID(const RenX::PlayerInfo &player) const { - return RenX::Server::formatSteamID(player->steamid); + return RenX::Server::formatSteamID(player.steamid); } Jupiter::StringS RenX::Server::formatSteamID(uint64_t id) const @@ -467,10 +459,10 @@ void RenX::Server::kickPlayer(int id, const Jupiter::ReadableString &in_reason) RenX::Server::sock.send(Jupiter::StringS::Format("ckick pid%d %.*s\n", id, reason.size(), reason.ptr())); } -void RenX::Server::kickPlayer(const RenX::PlayerInfo *player, const Jupiter::ReadableString &reason) +void RenX::Server::kickPlayer(const RenX::PlayerInfo &player, const Jupiter::ReadableString &reason) { - if ((player->exemption_flags & RenX::ExemptionDatabase::Entry::FLAG_TYPE_KICK) == 0) - RenX::Server::kickPlayer(player->id, reason); + if ((player.exemption_flags & RenX::ExemptionDatabase::Entry::FLAG_TYPE_KICK) == 0) + RenX::Server::kickPlayer(player.id, reason); } void RenX::Server::forceKickPlayer(int id, const Jupiter::ReadableString &in_reason) @@ -483,23 +475,23 @@ void RenX::Server::forceKickPlayer(int id, const Jupiter::ReadableString &in_rea RenX::Server::sock.send(Jupiter::StringS::Format("cfkick pid%d %.*s\n", id, reason.size(), reason.ptr())); } -void RenX::Server::forceKickPlayer(const RenX::PlayerInfo *player, const Jupiter::ReadableString &reason) +void RenX::Server::forceKickPlayer(const RenX::PlayerInfo &player, const Jupiter::ReadableString &reason) { - if ((player->exemption_flags & RenX::ExemptionDatabase::Entry::FLAG_TYPE_KICK) == 0) - RenX::Server::forceKickPlayer(player->id, reason); + if ((player.exemption_flags & RenX::ExemptionDatabase::Entry::FLAG_TYPE_KICK) == 0) + RenX::Server::forceKickPlayer(player.id, reason); } void RenX::Server::banCheck() { if (RenX::Server::players.size() != 0) - for (Jupiter::DLList::Node *node = RenX::Server::players.getNode(0); node != nullptr; node = node->next) - if (node->data->isBot == false) - this->banCheck(node->data); + for (auto node = this->players.begin(); node != this->players.end(); ++node) + if (node->isBot == false) + this->banCheck(*node); } -void RenX::Server::banCheck(RenX::PlayerInfo *player) +void RenX::Server::banCheck(RenX::PlayerInfo &player) { - if ((player->exemption_flags & (RenX::ExemptionDatabase::Entry::FLAG_TYPE_BAN | RenX::ExemptionDatabase::Entry::FLAG_TYPE_KICK)) != 0) + if ((player.exemption_flags & (RenX::ExemptionDatabase::Entry::FLAG_TYPE_BAN | RenX::ExemptionDatabase::Entry::FLAG_TYPE_KICK)) != 0) return; const Jupiter::ArrayList &entries = RenX::banDatabase->getEntries(); @@ -538,13 +530,13 @@ void RenX::Server::banCheck(RenX::PlayerInfo *player) else netmask = Jupiter_prefix_length_to_netmask(entry->prefix_length); - if ((this->localSteamBan && entry->steamid != 0 && entry->steamid == player->steamid) - || (this->localIPBan && entry->ip != 0 && (entry->ip & netmask) == (player->ip32 & netmask)) - || (this->localHWIDBan && entry->hwid.isNotEmpty() && entry->hwid.equals(player->hwid)) - || (this->localRDNSBan && entry->rdns.isNotEmpty() && entry->is_rdns_ban() && player->rdns_thread.joinable() == false && player->rdns.match(entry->rdns)) - || (this->localNameBan && entry->name.isNotEmpty() && entry->name.equalsi(player->name))) + if ((this->localSteamBan && entry->steamid != 0 && entry->steamid == player.steamid) + || (this->localIPBan && entry->ip != 0 && (entry->ip & netmask) == (player.ip32 & netmask)) + || (this->localHWIDBan && entry->hwid.isNotEmpty() && entry->hwid.equals(player.hwid)) + || (this->localRDNSBan && entry->rdns.isNotEmpty() && entry->is_rdns_ban() && player.rdns_thread.joinable() == false && player.rdns.match(entry->rdns)) + || (this->localNameBan && entry->name.isNotEmpty() && entry->name.equalsi(player.name))) { - player->ban_flags |= entry->flags; + player.ban_flags |= entry->flags; if (entry->is_type_game()) handle_type(0); if (entry->is_type_chat()) @@ -573,7 +565,7 @@ void RenX::Server::banCheck(RenX::PlayerInfo *player) else this->forceKickPlayer(player, Jupiter::StringS::Format("You are banned from %.*s until %s for: %.*s", RenX::Server::ban_from_str.size(), RenX::Server::ban_from_str.ptr(), timeStr, last_to_expire[0]->reason.size(), last_to_expire[0]->reason.ptr())); - player->ban_flags |= RenX::BanDatabase::Entry::FLAG_TYPE_BOT; // implies FLAG_TYPE_BOT + player.ban_flags |= RenX::BanDatabase::Entry::FLAG_TYPE_BOT; // implies FLAG_TYPE_BOT } else { @@ -586,7 +578,7 @@ void RenX::Server::banCheck(RenX::PlayerInfo *player) else this->sendMessage(player, Jupiter::StringS::Format("You are muted on this server until %s for: %.*s", timeStr, last_to_expire[1]->reason.size(), last_to_expire[1]->reason.ptr())); - player->ban_flags |= RenX::BanDatabase::Entry::FLAG_TYPE_BOT; // implies FLAG_TYPE_BOT + player.ban_flags |= RenX::BanDatabase::Entry::FLAG_TYPE_BOT; // implies FLAG_TYPE_BOT } else if (last_to_expire[2] != nullptr) // Bot ban { @@ -666,13 +658,13 @@ void RenX::Server::banPlayer(int id, const Jupiter::ReadableString &banner, cons { RenX::PlayerInfo *player = RenX::Server::getPlayer(id); if (player != nullptr) - RenX::Server::banPlayer(player, banner, reason); + RenX::Server::banPlayer(*player, banner, reason); } } -void RenX::Server::banPlayer(const RenX::PlayerInfo *player, const Jupiter::ReadableString &banner, const Jupiter::ReadableString &reason, std::chrono::seconds length) +void RenX::Server::banPlayer(const RenX::PlayerInfo &player, const Jupiter::ReadableString &banner, const Jupiter::ReadableString &reason, std::chrono::seconds length) { - if ((player->exemption_flags & RenX::ExemptionDatabase::Entry::FLAG_TYPE_BAN) == 0) + if ((player.exemption_flags & RenX::ExemptionDatabase::Entry::FLAG_TYPE_BAN) == 0) { if (RenX::Server::localBan) RenX::banDatabase->add(this, player, banner, reason, length); @@ -682,7 +674,7 @@ void RenX::Server::banPlayer(const RenX::PlayerInfo *player, const Jupiter::Read if (RenX::Server::rconBan) { Jupiter::String out_reason = RenX::escapifyRCON(reason); - RenX::Server::sock.send(Jupiter::StringS::Format("ckickban pid%d %.*s\n", player->id, out_reason.size(), out_reason.ptr())); + RenX::Server::sock.send(Jupiter::StringS::Format("ckickban pid%d %.*s\n", player.id, out_reason.size(), out_reason.ptr())); } else if (banner.isNotEmpty()) RenX::Server::forceKickPlayer(player, Jupiter::StringS::Format("You are permanently banned from %.*s by %.*s for: %.*s", RenX::Server::ban_from_str.size(), RenX::Server::ban_from_str.ptr(), banner.size(), banner.ptr(), reason.size(), reason.ptr())); @@ -701,44 +693,44 @@ bool RenX::Server::removePlayer(int id) if (RenX::Server::players.size() == 0) return false; - for (Jupiter::DLList::Node *node = RenX::Server::players.getNode(0); node != nullptr; node = node->next) + for (auto node = this->players.begin(); node != this->players.end(); ++node) { - if (node->data->id == id) + if (node->id == id) { - RenX::PlayerInfo *p = RenX::Server::players.remove(node); Jupiter::ArrayList &xPlugins = *RenX::getCore()->getPlugins(); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnPlayerDelete(this, p); - if (p->isBot) + xPlugins.get(i)->RenX_OnPlayerDelete(*this, *node); + + if (node->isBot) --this->bot_count; - if (p->rdns_thread.joinable()) // Close the RDNS thread, if one exists + if (node->rdns_thread.joinable()) // Close the RDNS thread, if one exists { --this->player_rdns_resolutions_pending; - p->rdns_thread.join(); + node->rdns_thread.join(); } - delete p; + this->players.erase(node); return true; } } return false; } -bool RenX::Server::removePlayer(RenX::PlayerInfo *player) +bool RenX::Server::removePlayer(RenX::PlayerInfo &player) { - return RenX::Server::removePlayer(player->id); + return RenX::Server::removePlayer(player.id); } bool RenX::Server::fetchClientList() { RenX::Server::lastClientListUpdate = std::chrono::steady_clock::now(); if (this->rconVersion >= 4) - return RenX::Server::sock.send(STRING_LITERAL_AS_REFERENCE("cclientvarlist KILLS DEATHS SCORE CREDITS CHARACTER VEHICLE PING ADMIN STEAM IP HWID PLAYERLOG\n")) > 0 - && RenX::Server::sock.send(STRING_LITERAL_AS_REFERENCE("cbotvarlist KILLS DEATHS SCORE CREDITS CHARACTER VEHICLE PLAYERLOG\n")) > 0; + return RenX::Server::sock.send("cclientvarlist KILLS DEATHS SCORE CREDITS CHARACTER VEHICLE PING ADMIN STEAM IP HWID PLAYERLOG\n"_jrs) > 0 + && RenX::Server::sock.send("cbotvarlist KILLS DEATHS SCORE CREDITS CHARACTER VEHICLE PLAYERLOG\n"_jrs) > 0; else - return RenX::Server::sock.send(STRING_LITERAL_AS_REFERENCE("cclientvarlist KILLS\xA0""DEATHS\xA0""SCORE\xA0""CREDITS\xA0""CHARACTER\xA0""VEHICLE\xA0""PING\xA0""ADMIN\xA0""STEAM\xA0""IP\xA0""PLAYERLOG\n")) > 0 - && RenX::Server::sock.send(STRING_LITERAL_AS_REFERENCE("cbotvarlist KILLS\xA0""DEATHS\xA0""SCORE\xA0""CREDITS\xA0""CHARACTER\xA0""VEHICLE\xA0""PLAYERLOG\n")) > 0; + return RenX::Server::sock.send("cclientvarlist KILLS\xA0""DEATHS\xA0""SCORE\xA0""CREDITS\xA0""CHARACTER\xA0""VEHICLE\xA0""PING\xA0""ADMIN\xA0""STEAM\xA0""IP\xA0""PLAYERLOG\n"_jrs) > 0 + && RenX::Server::sock.send("cbotvarlist KILLS\xA0""DEATHS\xA0""SCORE\xA0""CREDITS\xA0""CHARACTER\xA0""VEHICLE\xA0""PLAYERLOG\n"_jrs) > 0; } bool RenX::Server::updateClientList() @@ -749,17 +741,17 @@ bool RenX::Server::updateClientList() if (RenX::Server::players.size() != this->getBotCount()) { if (this->rconVersion >= 4) - r = RenX::Server::sock.send(STRING_LITERAL_AS_REFERENCE("cclientvarlist ID SCORE CREDITS PING\n")) > 0; + r = RenX::Server::sock.send("cclientvarlist ID SCORE CREDITS PING\n"_jrs) > 0; else - r = RenX::Server::sock.send(STRING_LITERAL_AS_REFERENCE("cclientvarlist ID\xA0""SCORE\xA0""CREDITS\xA0""PING\n")) > 0; + r = RenX::Server::sock.send("cclientvarlist ID\xA0""SCORE\xA0""CREDITS\xA0""PING\n"_jrs) > 0; } if (this->getBotCount() != 0) { if (this->rconVersion >= 4) - r |= RenX::Server::sock.send(STRING_LITERAL_AS_REFERENCE("cbotvarlist ID SCORE CREDITS\n")) > 0; + r |= RenX::Server::sock.send("cbotvarlist ID SCORE CREDITS\n"_jrs) > 0; else - r |= RenX::Server::sock.send(STRING_LITERAL_AS_REFERENCE("cbotvarlist ID\xA0""SCORE\xA0""CREDITS\n")) > 0; + r |= RenX::Server::sock.send("cbotvarlist ID\xA0""SCORE\xA0""CREDITS\n"_jrs) > 0; } return r != 0; @@ -843,14 +835,14 @@ bool RenX::Server::recordDemo() return RenX::Server::send("recorddemo"_jrs) > 0; } -bool RenX::Server::mute(const RenX::PlayerInfo *player) +bool RenX::Server::mute(const RenX::PlayerInfo &player) { - return RenX::Server::send(Jupiter::StringS::Format("textmute pid%u", player->id)) > 0; + return RenX::Server::send(Jupiter::StringS::Format("textmute pid%u", player.id)) > 0; } -bool RenX::Server::unmute(const RenX::PlayerInfo *player) +bool RenX::Server::unmute(const RenX::PlayerInfo &player) { - return RenX::Server::send(Jupiter::StringS::Format("textunmute pid%u", player->id)) > 0; + return RenX::Server::send(Jupiter::StringS::Format("textunmute pid%u", player.id)) > 0; } bool RenX::Server::giveCredits(int id, double credits) @@ -858,9 +850,9 @@ bool RenX::Server::giveCredits(int id, double credits) return RenX::Server::competitive == false && RenX::Server::send(Jupiter::StringS::Format("givecredits pid%d %f", id, credits)) > 0; } -bool RenX::Server::giveCredits(RenX::PlayerInfo *player, double credits) +bool RenX::Server::giveCredits(RenX::PlayerInfo &player, double credits) { - return RenX::Server::giveCredits(player->id, credits); + return RenX::Server::giveCredits(player.id, credits); } bool RenX::Server::kill(int id) @@ -868,9 +860,9 @@ bool RenX::Server::kill(int id) return RenX::Server::competitive == false && RenX::Server::send(Jupiter::StringS::Format("kill pid%d", id)) > 0; } -bool RenX::Server::kill(RenX::PlayerInfo *player) +bool RenX::Server::kill(RenX::PlayerInfo &player) { - return RenX::Server::kill(player->id); + return RenX::Server::kill(player.id); } bool RenX::Server::disarm(int id) @@ -878,9 +870,9 @@ bool RenX::Server::disarm(int id) return RenX::Server::competitive == false && RenX::Server::send(Jupiter::StringS::Format("disarm pid%d", id)) > 0; } -bool RenX::Server::disarm(RenX::PlayerInfo *player) +bool RenX::Server::disarm(RenX::PlayerInfo &player) { - return RenX::Server::disarm(player->id); + return RenX::Server::disarm(player.id); } bool RenX::Server::disarmC4(int id) @@ -888,9 +880,9 @@ bool RenX::Server::disarmC4(int id) return RenX::Server::competitive == false && RenX::Server::send(Jupiter::StringS::Format("disarmc4 pid%d", id)) > 0; } -bool RenX::Server::disarmC4(RenX::PlayerInfo *player) +bool RenX::Server::disarmC4(RenX::PlayerInfo &player) { - return RenX::Server::disarmC4(player->id); + return RenX::Server::disarmC4(player.id); } bool RenX::Server::disarmBeacon(int id) @@ -898,9 +890,9 @@ bool RenX::Server::disarmBeacon(int id) return RenX::Server::competitive == false && RenX::Server::send(Jupiter::StringS::Format("disarmb pid%d", id)) > 0; } -bool RenX::Server::disarmBeacon(RenX::PlayerInfo *player) +bool RenX::Server::disarmBeacon(RenX::PlayerInfo &player) { - return RenX::Server::disarmBeacon(player->id); + return RenX::Server::disarmBeacon(player.id); } bool RenX::Server::mineBan(int id) @@ -908,9 +900,9 @@ bool RenX::Server::mineBan(int id) return RenX::Server::send(Jupiter::StringS::Format("mineban pid%d", id)) > 0; } -bool RenX::Server::mineBan(RenX::PlayerInfo *player) +bool RenX::Server::mineBan(RenX::PlayerInfo &player) { - return RenX::Server::mineBan(player->id); + return RenX::Server::mineBan(player.id); } bool RenX::Server::changeTeam(int id, bool resetCredits) @@ -918,9 +910,9 @@ bool RenX::Server::changeTeam(int id, bool resetCredits) return RenX::Server::send(Jupiter::StringS::Format(resetCredits ? "team pid%d" : "team2 pid%d", id)) > 0; } -bool RenX::Server::changeTeam(RenX::PlayerInfo *player, bool resetCredits) +bool RenX::Server::changeTeam(RenX::PlayerInfo &player, bool resetCredits) { - return RenX::Server::changeTeam(player->id, resetCredits); + return RenX::Server::changeTeam(player.id, resetCredits); } const Jupiter::ReadableString &RenX::Server::getPrefix() const @@ -1102,7 +1094,7 @@ size_t RenX::Server::getCommandCount() const return RenX::Server::commands.size(); } -RenX::GameCommand *RenX::Server::triggerCommand(const Jupiter::ReadableString &trigger, RenX::PlayerInfo *player, const Jupiter::ReadableString ¶meters) +RenX::GameCommand *RenX::Server::triggerCommand(const Jupiter::ReadableString &trigger, RenX::PlayerInfo &player, const Jupiter::ReadableString ¶meters) { RenX::GameCommand *cmd; @@ -1112,8 +1104,8 @@ RenX::GameCommand *RenX::Server::triggerCommand(const Jupiter::ReadableString &t cmd = RenX::Server::commands.get(i); if (cmd->matches(trigger)) { - if (player->access >= cmd->getAccessLevel()) - cmd->trigger(this, player, parameters); + if (player.access >= cmd->getAccessLevel()) + cmd->trigger(this, &player, parameters); else RenX::Server::sendMessage(player, "Access Denied."_jrs); @@ -1180,16 +1172,9 @@ bool RenX::Server::removeCommand(const Jupiter::ReadableString &trigger) void RenX::Server::setUUIDFunction(RenX::Server::uuid_func func) { RenX::Server::calc_uuid = func; - if (RenX::Server::players.size() != 0) - { - Jupiter::DLList::Node *node = RenX::Server::players.getNode(0); - do - { - RenX::Server::setUUIDIfDifferent(node->data, RenX::Server::calc_uuid(node->data)); - node = node->next; - } - while (node != nullptr); - } + + for (auto node = this->players.begin(); node != this->players.end(); ++node) + RenX::Server::setUUIDIfDifferent(*node, RenX::Server::calc_uuid(*node)); } RenX::Server::uuid_func RenX::Server::getUUIDFunction() const @@ -1197,18 +1182,21 @@ RenX::Server::uuid_func RenX::Server::getUUIDFunction() const return RenX::Server::calc_uuid; } -void RenX::Server::setUUID(RenX::PlayerInfo *player, const Jupiter::ReadableString &uuid) +void RenX::Server::setUUID(RenX::PlayerInfo &player, const Jupiter::ReadableString &uuid) { Jupiter::ArrayList &xPlugins = *getCore()->getPlugins(); - for (size_t index = 0; index < xPlugins.size(); index++) - xPlugins.get(index)->RenX_OnPlayerUUIDChange(this, player, uuid); - player->uuid = uuid; + + for (size_t index = 0; index < xPlugins.size(); ++index) + xPlugins.get(index)->RenX_OnPlayerUUIDChange(*this, player, uuid); + + player.uuid = uuid; } -bool RenX::Server::setUUIDIfDifferent(RenX::PlayerInfo *player, const Jupiter::ReadableString &uuid) +bool RenX::Server::setUUIDIfDifferent(RenX::PlayerInfo &player, const Jupiter::ReadableString &uuid) { - if (player->uuid.equals(uuid)) + if (player.uuid.equals(uuid)) return false; + setUUID(player, uuid); return true; } @@ -1366,19 +1354,14 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) /** Local functions */ auto onPreGameOver = [this](RenX::WinType winType, RenX::TeamType team, int gScore, int nScore) { - RenX::PlayerInfo *player; - if (this->players.size() != 0) { - for (Jupiter::DLList::Node *n = this->players.getNode(0); n != nullptr; n = n->next) + for (auto node = this->players.begin(); node != this->players.end(); ++node) { - player = n->data; - if (player != nullptr) - { - if (player->team == team) - player->wins++; - else player->loses++; - } + if (node->team == team) + ++node->wins; + else + ++node->loses; } } }; @@ -1387,41 +1370,36 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) this->firstAction = false; this->firstKill = false; this->firstDeath = false; - RenX::PlayerInfo *player; if (this->isSeamless() == false) this->wipePlayers(); - else if (this->players.size() != 0) + else { - for (Jupiter::DLList::Node *n = this->players.getNode(0); n != nullptr; n = n->next) + for (auto node = this->players.begin(); node != this->players.end(); ++node) { - player = n->data; - if (player != nullptr) - { - player->score = 0.0f; - player->credits = 0.0f; - player->kills = 0; - player->deaths = 0; - player->suicides = 0; - player->headshots = 0; - player->vehicleKills = 0; - player->buildingKills = 0; - player->defenceKills = 0; - player->beaconPlacements = 0; - player->beaconDisarms = 0; - player->proxy_placements = 0; - player->proxy_disarms = 0; - player->captures = 0; - player->steals = 0; - player->stolen = 0; - } + node->score = 0.0f; + node->credits = 0.0f; + node->kills = 0; + node->deaths = 0; + node->suicides = 0; + node->headshots = 0; + node->vehicleKills = 0; + node->buildingKills = 0; + node->defenceKills = 0; + node->beaconPlacements = 0; + node->beaconDisarms = 0; + node->proxy_placements = 0; + node->proxy_disarms = 0; + node->captures = 0; + node->steals = 0; + node->stolen = 0; } } }; - auto onChat = [this](RenX::PlayerInfo *player, const Jupiter::ReadableString &message) + auto onChat = [this](RenX::PlayerInfo &player, const Jupiter::ReadableString &message) { const Jupiter::ReadableString &prefix = this->getCommandPrefix(); - if ((player->ban_flags & RenX::BanDatabase::Entry::FLAG_TYPE_BOT) == 0 && message.find(prefix) == 0 && message.size() != prefix.size()) + if ((player.ban_flags & RenX::BanDatabase::Entry::FLAG_TYPE_BOT) == 0 && message.find(prefix) == 0 && message.size() != prefix.size()) { Jupiter::ReferenceString command; Jupiter::ReferenceString parameters; @@ -1462,82 +1440,89 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) }; auto getPlayerOrAdd = [&](const Jupiter::ReadableString &name, int id, RenX::TeamType team, bool isBot, uint64_t steamid, const Jupiter::ReadableString &ip, const Jupiter::ReadableString &hwid) { - RenX::PlayerInfo *r = this->getPlayer(id); - if (r == nullptr) + RenX::PlayerInfo *player = this->getPlayer(id); + if (player == nullptr) { - r = new RenX::PlayerInfo(); - r->id = id; - r->name = name; - r->team = team; - r->ip = ip; - r->ip32 = Jupiter::Socket::pton4(Jupiter::CStringS(r->ip).c_str()); - r->hwid = hwid; - if (this->resolvesRDNS() && r->ip32 != 0) + // Initialize a new player + this->players.emplace_back(); + player = &this->players.back(); + player->id = id; + player->name = name; + player->team = team; + player->ip = ip; + player->ip32 = Jupiter::Socket::pton4(Jupiter::CStringS(player->ip).c_str()); + player->hwid = hwid; + + // RDNS + if (this->resolvesRDNS() && player->ip32 != 0) { - r->rdns_thread = std::thread(resolve_rdns, r); + player->rdns_thread = std::thread(resolve_rdns, player); ++this->player_rdns_resolutions_pending; } - r->steamid = steamid; - if (r->isBot = isBot) - r->formatNamePrefix = IRCCOLOR "05[B]"; - r->joinTime = std::chrono::steady_clock::now(); - if (id != 0) - this->players.add(r); - r->uuid = calc_uuid(r); + player->steamid = steamid; + if (player->isBot = isBot) + player->formatNamePrefix = IRCCOLOR "05[B]"; + + player->joinTime = std::chrono::steady_clock::now(); + //if (id != 0) + // this->players.add(r); + + player->uuid = calc_uuid(*player); - if (r->isBot == false) + if (player->isBot == false) { - RenX::exemptionDatabase->exemption_check(r); - this->banCheck(r); + RenX::exemptionDatabase->exemption_check(*player); + this->banCheck(*player); } else ++bot_count; for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnPlayerCreate(this, r); + xPlugins.get(i)->RenX_OnPlayerCreate(*this, *player); } else { bool recalcUUID = false; - r->team = team; - if (r->ip32 == 0 && ip.isNotEmpty()) + player->team = team; + if (player->ip32 == 0 && ip.isNotEmpty()) { - r->ip = ip; - r->ip32 = Jupiter::Socket::pton4(Jupiter::CStringS(r->ip).c_str()); + player->ip = ip; + player->ip32 = Jupiter::Socket::pton4(Jupiter::CStringS(player->ip).c_str()); if (this->resolvesRDNS()) { - r->rdns_thread = std::thread(resolve_rdns, r); + player->rdns_thread = std::thread(resolve_rdns, player); ++this->player_rdns_resolutions_pending; } recalcUUID = true; } - if (r->hwid.isEmpty() && hwid.isNotEmpty()) + if (player->hwid.isEmpty() && hwid.isNotEmpty()) { - r->hwid = hwid; + player->hwid = hwid; recalcUUID = true; } - if (r->steamid == 0U && steamid != 0U) + if (player->steamid == 0U && steamid != 0U) { - r->steamid = steamid; + player->steamid = steamid; recalcUUID = true; } - if (r->name.isEmpty()) + if (player->name.isEmpty()) { - r->name = name; + player->name = name; recalcUUID = true; } if (recalcUUID) { - this->setUUIDIfDifferent(r, calc_uuid(r)); - if (r->isBot == false) + this->setUUIDIfDifferent(*player, calc_uuid(*player)); + if (player->isBot == false) { - RenX::exemptionDatabase->exemption_check(r); - this->banCheck(r); + RenX::exemptionDatabase->exemption_check(*player); + this->banCheck(*player); } } } - return r; + + return player; }; auto parseGetPlayerOrAdd = [&parsePlayerData, &getPlayerOrAdd](const Jupiter::ReadableString &token) { @@ -1566,7 +1551,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) this->fully_connected = true; for (size_t index = 0; index < xPlugins.size(); ++index) - xPlugins.get(index)->RenX_OnServerFullyConnected(this); + xPlugins.get(index)->RenX_OnServerFullyConnected(*this); }; if (tokens.tokens[0].isNotEmpty()) @@ -1692,7 +1677,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) if (steamid != 0) { player->steamid = steamid; - this->setUUIDIfDifferent(player, calc_uuid(player)); + this->setUUIDIfDifferent(*player, calc_uuid(*player)); } } @@ -1726,7 +1711,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) if (steamid != 0) { player->steamid = steamid; - this->setUUIDIfDifferent(player, calc_uuid(player)); + this->setUUIDIfDifferent(*player, calc_uuid(*player)); } } @@ -2025,7 +2010,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(0)); Jupiter::StringS newName = tokens.getToken(2); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnNameChange(this, player, newName); + xPlugins.get(i)->RenX_OnNameChange(*this, *player, newName); player->name = tokens.getToken(2).gotoToken(2, ','); } break; @@ -2046,7 +2031,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) else if (objectType.equals("Rx_Weapon_DeployedProxyC4"_jrs)) ++player->proxy_placements; for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnDeploy(this, player, objectType); + xPlugins.get(i)->RenX_OnDeploy(*this, *player, objectType); onAction(); } else if (subHeader.equals("Disarmed;")) @@ -2064,11 +2049,11 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) { RenX::PlayerInfo *victim = parseGetPlayerOrAdd(tokens.getToken(6)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnDisarm(this, player, objectType, victim); + xPlugins.get(i)->RenX_OnDisarm(*this, *player, objectType, *victim); } else for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnDisarm(this, player, objectType); + xPlugins.get(i)->RenX_OnDisarm(*this, *player, objectType); onAction(); } else if (subHeader.equals("Exploded;")) @@ -2086,21 +2071,21 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(8)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnExplode(this, player, explosive); + xPlugins.get(i)->RenX_OnExplode(*this, *player, explosive); } else // No player information specified for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnExplode(this, explosive); + xPlugins.get(i)->RenX_OnExplode(*this, explosive); } else if (tokens.getToken(5).equals("by")) // Pre-5.15 with player information specified { RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(6)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnExplode(this, player, explosive); + xPlugins.get(i)->RenX_OnExplode(*this, *player, explosive); } else // Pre-5.15 with no player information specified for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnExplode(this, explosive); + xPlugins.get(i)->RenX_OnExplode(*this, explosive); onAction(); } else if (subHeader.equals("ProjectileExploded;")) @@ -2112,11 +2097,11 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(6)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnExplode(this, player, explosive); + xPlugins.get(i)->RenX_OnExplode(*this, *player, explosive); } else for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnExplode(this, explosive); + xPlugins.get(i)->RenX_OnExplode(*this, explosive); onAction(); } else if (subHeader.equals("Captured;")) @@ -2128,7 +2113,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(6)); player->captures++; for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnCapture(this, player, building, oldTeam); + xPlugins.get(i)->RenX_OnCapture(*this, *player, building, oldTeam); onAction(); } else if (subHeader.equals("Neutralized;")) @@ -2139,7 +2124,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) TeamType oldTeam = RenX::getTeam(teamBuildingToken.getToken(0, ',')); RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(6)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnNeutralize(this, player, building, oldTeam); + xPlugins.get(i)->RenX_OnNeutralize(*this, *player, building, oldTeam); onAction(); } else if (subHeader.equals("Purchase;")) @@ -2155,32 +2140,32 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(5)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnCharacterPurchase(this, player, obj); + xPlugins.get(i)->RenX_OnCharacterPurchase(*this, *player, obj); player->character = obj; } else if (type.equals("item")) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(5)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnItemPurchase(this, player, obj); + xPlugins.get(i)->RenX_OnItemPurchase(*this, *player, obj); } else if (type.equals("weapon")) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(5)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnWeaponPurchase(this, player, obj); + xPlugins.get(i)->RenX_OnWeaponPurchase(*this, *player, obj); } else if (type.equals("refill")) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(obj); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnRefillPurchase(this, player); + xPlugins.get(i)->RenX_OnRefillPurchase(*this, *player); } else if (type.equals("vehicle")) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(5)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVehiclePurchase(this, player, obj); + xPlugins.get(i)->RenX_OnVehiclePurchase(*this, *player, obj); } } else if (subHeader.equals("Spawn;")) @@ -2195,7 +2180,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) vehicle.shiftRight(vehicleTeamToken.size() + 1); TeamType team = RenX::getTeam(vehicleTeamToken); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVehicleSpawn(this, team, vehicle); + xPlugins.get(i)->RenX_OnVehicleSpawn(*this, team, vehicle); } else if (tokens.getToken(2).equals("player")) { @@ -2203,13 +2188,13 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) Jupiter::ReferenceString character = tokens.getToken(5); player->character = character; for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnSpawn(this, player, character); + xPlugins.get(i)->RenX_OnSpawn(*this, *player, character); } else if (tokens.getToken(2).equals("bot")) { RenX::PlayerInfo *bot = parseGetPlayerOrAdd(tokens.getToken(3)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnBotJoin(this, bot); + xPlugins.get(i)->RenX_OnBotJoin(*this, *bot); } } else if (subHeader.equals("Crate;")) @@ -2232,41 +2217,41 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) Jupiter::ReferenceString vehicle = tokens.getToken(3); RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(5)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVehicleCrate(this, player, vehicle); + xPlugins.get(i)->RenX_OnVehicleCrate(*this, *player, vehicle); } else if (type.equals("tsvehicle")) { Jupiter::ReferenceString vehicle = tokens.getToken(3); RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(5)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVehicleCrate(this, player, vehicle); + xPlugins.get(i)->RenX_OnVehicleCrate(*this, *player, vehicle); } else if (type.equals("ravehicle")) { Jupiter::ReferenceString vehicle = tokens.getToken(3); RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(5)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVehicleCrate(this, player, vehicle); + xPlugins.get(i)->RenX_OnVehicleCrate(*this, *player, vehicle); } else if (type.equals("death") || type.equals("suicide")) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(4)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnDeathCrate(this, player); + xPlugins.get(i)->RenX_OnDeathCrate(*this, *player); } else if (type.equals("money")) { int amount = tokens.getToken(3).asInt(); RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(5)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnMoneyCrate(this, player, amount); + xPlugins.get(i)->RenX_OnMoneyCrate(*this, *player, amount); } else if (type.equals("character")) { Jupiter::ReferenceString character = tokens.getToken(3); RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(5)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnCharacterCrate(this, player, character); + xPlugins.get(i)->RenX_OnCharacterCrate(*this, *player, character); player->character = character; } else if (type.equals("spy")) @@ -2274,44 +2259,44 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) Jupiter::ReferenceString character = tokens.getToken(3); RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(5)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnSpyCrate(this, player, character); + xPlugins.get(i)->RenX_OnSpyCrate(*this, *player, character); player->character = character; } else if (type.equals("refill")) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(4)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnRefillCrate(this, player); + xPlugins.get(i)->RenX_OnRefillCrate(*this, *player); } else if (type.equals("timebomb")) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(4)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnTimeBombCrate(this, player); + xPlugins.get(i)->RenX_OnTimeBombCrate(*this, *player); } else if (type.equals("speed")) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(4)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnSpeedCrate(this, player); + xPlugins.get(i)->RenX_OnSpeedCrate(*this, *player); } else if (type.equals("nuke")) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(4)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnNukeCrate(this, player); + xPlugins.get(i)->RenX_OnNukeCrate(*this, *player); } else if (type.equals("abduction")) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(4)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnAbductionCrate(this, player); + xPlugins.get(i)->RenX_OnAbductionCrate(*this, *player); } else if (type.equals("by")) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(3)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnUnspecifiedCrate(this, player); + xPlugins.get(i)->RenX_OnUnspecifiedCrate(*this, *player); } else { @@ -2321,7 +2306,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) if (player != nullptr) for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnOtherCrate(this, player, type); + xPlugins.get(i)->RenX_OnOtherCrate(*this, *player, type); } } else if (subHeader.equals("Death;")) @@ -2347,7 +2332,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) { player->deaths++; for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnKill(this, kName, vTeam, player, damageType); + xPlugins.get(i)->RenX_OnKill(*this, kName, vTeam, *player, damageType); } else { @@ -2368,7 +2353,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) if (damageType.equals("Rx_DmgType_Headshot")) killer->headshots++; for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnKill(this, killer, player, damageType); + xPlugins.get(i)->RenX_OnKill(*this, *killer, *player, damageType); } } else if (type.equals("died by")) @@ -2376,7 +2361,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) player->deaths++; damageType = tokens.getToken(5); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnDie(this, player, damageType); + xPlugins.get(i)->RenX_OnDie(*this, *player, damageType); } else if (type.equals("suicide by")) { @@ -2384,7 +2369,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) player->suicides++; damageType = tokens.getToken(5); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnSuicide(this, player, damageType); + xPlugins.get(i)->RenX_OnSuicide(*this, *player, damageType); } player->character = Jupiter::ReferenceString::empty; } @@ -2401,7 +2386,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(4)); player->steals++; for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnSteal(this, player, vehicle); + xPlugins.get(i)->RenX_OnSteal(*this, *player, vehicle); } else if (byLine.equals("bound to")) { @@ -2410,7 +2395,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) player->steals++; victim->stolen++; for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnSteal(this, player, vehicle, victim); + xPlugins.get(i)->RenX_OnSteal(*this, *player, vehicle, *victim); } onAction(); } @@ -2443,7 +2428,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) if (idToken.equals("ai") || idToken.isEmpty()) for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnDestroy(this, name, team, objectName, RenX::getEnemy(team), damageType, type); + xPlugins.get(i)->RenX_OnDestroy(*this, name, team, objectName, RenX::getEnemy(team), damageType, type); else { int id; @@ -2485,7 +2470,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) break; } for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnDestroy(this, player, objectName, RenX::getEnemy(player->team), damageType, type); + xPlugins.get(i)->RenX_OnDestroy(*this, *player, objectName, RenX::getEnemy(player->team), damageType, type); } } } @@ -2500,7 +2485,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(4)); RenX::PlayerInfo *donor = parseGetPlayerOrAdd(tokens.getToken(6)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnDonate(this, donor, player, amount); + xPlugins.get(i)->RenX_OnDonate(*this, *donor, *player, amount); } } else if (subHeader.equals("OverMine;")) @@ -2510,7 +2495,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) Jupiter::ReferenceString location = tokens.getToken(4); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnOverMine(this, player, location); + xPlugins.get(i)->RenX_OnOverMine(*this, *player, location); } else if (subHeader.equals("MatchEnd;")) { @@ -2539,14 +2524,14 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) onPreGameOver(winType, team, gScore, nScore); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnGameOver(this, winType, team, gScore, nScore); + xPlugins.get(i)->RenX_OnGameOver(*this, winType, team, gScore, nScore); } else if (winTieToken.equals("tie")) { int gScore = tokens.getToken(4).getToken(1, '=').asInt(); int nScore = tokens.getToken(5).getToken(1, '=').asInt(); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnGameOver(this, RenX::WinType::Tie, RenX::TeamType::None, gScore, nScore); + xPlugins.get(i)->RenX_OnGameOver(*this, RenX::WinType::Tie, RenX::TeamType::None, gScore, nScore); } this->gameover_pending = false; } @@ -2554,7 +2539,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) { Jupiter::ReferenceString raw = gotoToken(1); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnGame(this, raw); + xPlugins.get(i)->RenX_OnGame(*this, raw); } } else if (tokens.tokens[0].equals("CHAT")) @@ -2563,18 +2548,18 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(2)); Jupiter::ReferenceString message = tokens.getToken(4); - onChat(player, message); + onChat(*player, message); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnChat(this, player, message); + xPlugins.get(i)->RenX_OnChat(*this, *player, message); onAction(); } else if (subHeader.equals("TeamSay;")) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(2)); Jupiter::ReferenceString message = tokens.getToken(4); - onChat(player, message); + onChat(*player, message); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnTeamChat(this, player, message); + xPlugins.get(i)->RenX_OnTeamChat(*this, *player, message); onAction(); } else if (subHeader.equals("Radio;")) @@ -2582,14 +2567,14 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(2)); Jupiter::ReferenceString message = tokens.getToken(4); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnRadioChat(this, player, message); + xPlugins.get(i)->RenX_OnRadioChat(*this, *player, message); onAction(); } else if (subHeader.equals("HostSay;")) { Jupiter::ReferenceString message = tokens.getToken(3); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnHostChat(this, message); + xPlugins.get(i)->RenX_OnHostChat(*this, message); } /*else if (subHeader.equals("AdminSay;")) { @@ -2605,7 +2590,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) { Jupiter::ReferenceString raw = gotoToken(1); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnOtherChat(this, raw); + xPlugins.get(i)->RenX_OnOtherChat(*this, raw); } } else if (tokens.tokens[0].equals("PLAYER")) @@ -2654,7 +2639,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) } } for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnJoin(this, player); + xPlugins.get(i)->RenX_OnJoin(*this, *player); } else if (subHeader.equals("TeamJoin;")) { @@ -2667,7 +2652,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) RenX::TeamType oldTeam = RenX::getTeam(tokens.getToken(6)); if (oldTeam != RenX::TeamType::None) for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnTeamChange(this, player, oldTeam); + xPlugins.get(i)->RenX_OnTeamChange(*this, *player, oldTeam); } } else if (subHeader.equals("HWID;")) @@ -2681,14 +2666,14 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) player->hwid = tokens.getToken(4 + offset); if (player->isBot == false) - this->banCheck(player); + this->banCheck(*player); for (size_t index = 0; index < xPlugins.size(); ++index) - xPlugins.get(index)->RenX_OnHWID(this, player); + xPlugins.get(index)->RenX_OnHWID(*this, *player); if (player->rdns.isNotEmpty()) for (size_t index = 0; index < xPlugins.size(); ++index) - xPlugins.get(index)->RenX_OnPlayerIdentify(this, player); + xPlugins.get(index)->RenX_OnPlayerIdentify(*this, *player); } else if (subHeader.equals("Exit;")) { @@ -2702,8 +2687,9 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) if (player != nullptr) { for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnPart(this, player); - this->removePlayer(player); + xPlugins.get(i)->RenX_OnPart(*this, *player); + + this->removePlayer(*player); } if (this->gameover_when_empty && this->players.size() == this->getBotCount()) @@ -2715,7 +2701,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) const Jupiter::ReadableString &reason = tokens.getToken(4); RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(2)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnKick(this, player, reason); + xPlugins.get(i)->RenX_OnKick(*this, *player, reason); } else if (subHeader.equals("NameChange;")) { @@ -2723,7 +2709,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(2)); Jupiter::StringS newName = tokens.getToken(4); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnNameChange(this, player, newName); + xPlugins.get(i)->RenX_OnNameChange(*this, *player, newName); player->name = newName; onAction(); } @@ -2737,7 +2723,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) player->id = tokens.getToken(3).asInt(); if (player->isBot == false) - this->banCheck(player); + this->banCheck(*player); if (this->devBot && player->global_rank != 0U) { @@ -2746,7 +2732,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) } for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnIDChange(this, player, oldID); + xPlugins.get(i)->RenX_OnIDChange(*this, *player, oldID); } } else if (subHeader.equals("Rank;")) @@ -2759,7 +2745,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) player->global_rank = tokens.getToken(3).asUnsignedInt(); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnRank(this, player); + xPlugins.get(i)->RenX_OnRank(*this, *player); } } else if (subHeader.equals("Dev;")) @@ -2770,14 +2756,14 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) player->is_dev = tokens.getToken(3).asBool(); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnDev(this, player); + xPlugins.get(i)->RenX_OnDev(*this, *player); } else if (subHeader.equals("SpeedHack;")) { // Player RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(2)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnSpeedHack(this, player); + xPlugins.get(i)->RenX_OnSpeedHack(*this, *player); } else if (subHeader.equals("Command;")) { @@ -2785,16 +2771,16 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(2)); Jupiter::ReferenceString message = gotoToken(3); - RenX::GameCommand *command = this->triggerCommand(Jupiter::ReferenceString::getWord(message, 0, WHITESPACE), player, Jupiter::ReferenceString::gotoWord(message, 1, WHITESPACE)); + RenX::GameCommand *command = this->triggerCommand(Jupiter::ReferenceString::getWord(message, 0, WHITESPACE), *player, Jupiter::ReferenceString::gotoWord(message, 1, WHITESPACE)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnPlayerCommand(this, player, message, command); + xPlugins.get(i)->RenX_OnPlayerCommand(*this, *player, message, command); } else { Jupiter::ReferenceString raw = gotoToken(1); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnPlayer(this, raw); + xPlugins.get(i)->RenX_OnPlayer(*this, raw); } } else if (tokens.tokens[0].equals("RCON")) @@ -2815,15 +2801,15 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) { Jupiter::ReferenceString message = command.gotoWord(2, " "); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnHostPage(this, player, message); + xPlugins.get(i)->RenX_OnHostPage(*this, *player, message); } else for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnExecute(this, user, command); + xPlugins.get(i)->RenX_OnExecute(*this, user, command); } else for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnExecute(this, user, command); + xPlugins.get(i)->RenX_OnExecute(*this, user, command); if (this->rconUser.equals(user)) { @@ -2841,7 +2827,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) this->subscribed = true; for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnSubscribe(this, user); + xPlugins.get(i)->RenX_OnSubscribe(*this, user); } else if (subHeader.equals("Unsubscribed;")) { @@ -2852,7 +2838,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) this->subscribed = false; for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnUnsubscribe(this, user); + xPlugins.get(i)->RenX_OnUnsubscribe(*this, user); } else if (subHeader.equals("Blocked;")) { @@ -2860,21 +2846,21 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) Jupiter::ReferenceString user = tokens.getToken(2); Jupiter::ReferenceString message = tokens.getToken(3); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnBlock(this, user, message); + xPlugins.get(i)->RenX_OnBlock(*this, user, message); } else if (subHeader.equals("Connected;")) { // User Jupiter::ReferenceString user = tokens.getToken(2); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnConnect(this, user); + xPlugins.get(i)->RenX_OnConnect(*this, user); } else if (subHeader.equals("Authenticated;")) { // User Jupiter::ReferenceString user = tokens.getToken(2); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnAuthenticate(this, user); + xPlugins.get(i)->RenX_OnAuthenticate(*this, user); } else if (subHeader.equals("Banned;")) { @@ -2882,14 +2868,14 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) Jupiter::ReferenceString user = tokens.getToken(2); Jupiter::ReferenceString message = tokens.getToken(4); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnBan(this, user, message); + xPlugins.get(i)->RenX_OnBan(*this, user, message); } else if (subHeader.equals("InvalidPassword;")) { // User Jupiter::ReferenceString user = tokens.getToken(2); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnInvalidPassword(this, user); + xPlugins.get(i)->RenX_OnInvalidPassword(*this, user); } else if (subHeader.equals("Dropped;")) { @@ -2897,41 +2883,41 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) Jupiter::ReferenceString user = tokens.getToken(2); Jupiter::ReferenceString message = tokens.getToken(4); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnDrop(this, user, message); + xPlugins.get(i)->RenX_OnDrop(*this, user, message); } else if (subHeader.equals("Disconnected;")) { // User Jupiter::ReferenceString user = tokens.getToken(2); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnDisconnect(this, user); + xPlugins.get(i)->RenX_OnDisconnect(*this, user); } else if (subHeader.equals("StoppedListen;")) { // Reason="(Reached Connection Limit)" Jupiter::ReferenceString message = tokens.getToken(2); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnStopListen(this, message); + xPlugins.get(i)->RenX_OnStopListen(*this, message); } else if (subHeader.equals("ResumedListen;")) { // Reason="(No longer at Connection Limit)" Jupiter::ReferenceString message = tokens.getToken(2); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnResumeListen(this, message); + xPlugins.get(i)->RenX_OnResumeListen(*this, message); } else if (subHeader.equals("Warning;")) { // Warning="(Hit Max Attempt Records - You should investigate Rcon attempts and/or decrease prune time)" Jupiter::ReferenceString message = tokens.getToken(2); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnWarning(this, message); + xPlugins.get(i)->RenX_OnWarning(*this, message); } else { Jupiter::ReferenceString raw = gotoToken(1); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnRCON(this, raw); + xPlugins.get(i)->RenX_OnRCON(*this, raw); } } else if (tokens.tokens[0].equals("ADMIN")) @@ -2944,7 +2930,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(2)); Jupiter::ReferenceString cmd = gotoToken(4); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnExecute(this, player, cmd); + xPlugins.get(i)->RenX_OnExecute(*this, *player, cmd); } } else if (subHeader.equals("Login;")) @@ -2953,7 +2939,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(2)); player->adminType = tokens.getToken(4); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnAdminLogin(this, player); + xPlugins.get(i)->RenX_OnAdminLogin(*this, *player); } else if (subHeader.equals("Logout;")) { @@ -2961,7 +2947,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(2)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnAdminLogout(this, player); + xPlugins.get(i)->RenX_OnAdminLogout(*this, *player); player->adminType.erase(); } @@ -2971,13 +2957,13 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(2)); player->adminType = tokens.getToken(4); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnAdminGrant(this, player); + xPlugins.get(i)->RenX_OnAdminGrant(*this, *player); } else { Jupiter::ReferenceString raw = gotoToken(1); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnAdmin(this, raw); + xPlugins.get(i)->RenX_OnAdmin(*this, raw); } } else if (tokens.tokens[0].equals("VOTE")) @@ -3018,7 +3004,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) RenX::Server::sendData(Jupiter::StringS::Format("ccancelvote %.*s\n", teamToken.size(), teamToken.ptr())); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVoteOther(this, team, voteType, player); + xPlugins.get(i)->RenX_OnVoteOther(*this, team, voteType, *player); } else // 5.15+ (or empty) { @@ -3050,24 +3036,24 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) int skill = tokens.getToken(11).asInt(10); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVoteAddBots(this, team, player, victim, amount, skill); + xPlugins.get(i)->RenX_OnVoteAddBots(*this, team, *player, victim, amount, skill); } else if (voteType.equals("ChangeMap"_jrs)) { for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVoteChangeMap(this, team, player); + xPlugins.get(i)->RenX_OnVoteChangeMap(*this, team, *player); } else if (voteType.equals("Kick"_jrs)) { RenX::PlayerInfo *victim = parseGetPlayerOrAdd(tokens.getToken(7)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVoteKick(this, team, player, victim); + xPlugins.get(i)->RenX_OnVoteKick(*this, team, *player, *victim); } else if (voteType.equals("MineBan"_jrs)) { RenX::PlayerInfo *victim = parseGetPlayerOrAdd(tokens.getToken(7)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVoteMineBan(this, team, player, victim); + xPlugins.get(i)->RenX_OnVoteMineBan(*this, team, *player, *victim); } else if (voteType.equals("RemoveBots"_jrs)) { @@ -3085,34 +3071,34 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) int amount = tokens.getToken(9).asInt(10); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVoteRemoveBots(this, team, player, victim, amount); + xPlugins.get(i)->RenX_OnVoteRemoveBots(*this, team, *player, victim, amount); } else if (voteType.equals("RestartMap"_jrs)) { for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVoteRestartMap(this, team, player); + xPlugins.get(i)->RenX_OnVoteRestartMap(*this, team, *player); } else if (voteType.equals("Surrender"_jrs)) { for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVoteSurrender(this, team, player); + xPlugins.get(i)->RenX_OnVoteSurrender(*this, team, *player); } else if (voteType.equals("Survey"_jrs)) { const Jupiter::ReadableString &text = tokens.getToken(7); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVoteSurvey(this, team, player, text); + xPlugins.get(i)->RenX_OnVoteSurvey(*this, team, *player, text); } else { voteType.shiftLeft(18); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVoteOther(this, team, voteType, player); + xPlugins.get(i)->RenX_OnVoteOther(*this, team, voteType, *player); } } else for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVoteOther(this, team, voteType, player); + xPlugins.get(i)->RenX_OnVoteOther(*this, team, voteType, *player); } onAction(); } @@ -3152,7 +3138,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) } for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVoteOver(this, team, voteType, success, yesVotes, noVotes); + xPlugins.get(i)->RenX_OnVoteOver(*this, team, voteType, success, yesVotes, noVotes); } else if (subHeader.equals("Cancelled;")) { @@ -3170,13 +3156,13 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) team = TeamType::Other; for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVoteCancel(this, team, voteType); + xPlugins.get(i)->RenX_OnVoteCancel(*this, team, voteType); } else { Jupiter::ReferenceString raw = gotoToken(1); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVote(this, raw); + xPlugins.get(i)->RenX_OnVote(*this, raw); } } else if (tokens.tokens[0].equals("MAP")) @@ -3193,7 +3179,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) this->seamless = false; for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnMapChange(this, map, seamless); + xPlugins.get(i)->RenX_OnMapChange(*this, map, seamless); this->map = map; onMapChange(); @@ -3207,7 +3193,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) this->map = map; for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnMapLoad(this, map); + xPlugins.get(i)->RenX_OnMapLoad(*this, map); } else if (subHeader.equals("Start;")) { @@ -3220,13 +3206,13 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) this->map = map; for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnMapStart(this, map); + xPlugins.get(i)->RenX_OnMapStart(*this, map); } else { Jupiter::ReferenceString raw = gotoToken(1); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnMap(this, raw); + xPlugins.get(i)->RenX_OnMap(*this, raw); } } else if (tokens.tokens[0].equals("DEMO")) @@ -3241,26 +3227,26 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) { RenX::PlayerInfo *player = parseGetPlayerOrAdd(tokens.getToken(3)); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnDemoRecord(this, player); + xPlugins.get(i)->RenX_OnDemoRecord(*this, *player); } else { Jupiter::ReferenceString user = tokens.getToken(3); // not actually used, but here for possible future usage for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnDemoRecord(this, user); + xPlugins.get(i)->RenX_OnDemoRecord(*this, user); } } else if (subHeader.equals("RecordStop;")) { // Empty for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnDemoRecordStop(this); + xPlugins.get(i)->RenX_OnDemoRecordStop(*this); } else { Jupiter::ReferenceString raw = gotoToken(1); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnDemo(this, raw); + xPlugins.get(i)->RenX_OnDemo(*this, raw); } } /*else if (tokens.tokens[0].equals("ERROR;")) // Decided to disable this entirely, since it's unreachable anyways. @@ -3272,7 +3258,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) { Jupiter::ReferenceString raw = Jupiter::ReferenceString::substring(line, 1); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnLog(this, raw); + xPlugins.get(i)->RenX_OnLog(*this, raw); } } break; @@ -3287,7 +3273,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) { Jupiter::ReferenceString raw = Jupiter::ReferenceString::substring(line, 1); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnCommand(this, raw); + xPlugins.get(i)->RenX_OnCommand(*this, raw); this->commandListFormat.erase(); this->lastCommand = Jupiter::ReferenceString::empty; this->lastCommandParams = Jupiter::ReferenceString::empty; @@ -3298,7 +3284,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) { Jupiter::ReferenceString raw = Jupiter::ReferenceString::substring(line, 1); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnError(this, raw); + xPlugins.get(i)->RenX_OnError(*this, raw); } break; @@ -3338,7 +3324,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) this->seamless = true; for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnVersion(this, raw); + xPlugins.get(i)->RenX_OnVersion(*this, raw); } else { @@ -3355,7 +3341,7 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) RenX::Server::devBot = true; for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnAuthorized(this, RenX::Server::rconUser); + xPlugins.get(i)->RenX_OnAuthorized(*this, RenX::Server::rconUser); } break; @@ -3363,12 +3349,12 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) { Jupiter::ReferenceString raw = Jupiter::ReferenceString::substring(line, 1); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnOther(this, header, raw); + xPlugins.get(i)->RenX_OnOther(*this, header, raw); } break; } for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnRaw(this, line); + xPlugins.get(i)->RenX_OnRaw(*this, line); } } @@ -3378,7 +3364,7 @@ void RenX::Server::disconnect(RenX::DisconnectReason reason) Jupiter::ArrayList &xPlugins = *RenX::getCore()->getPlugins(); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnServerDisconnect(this, reason); + xPlugins.get(i)->RenX_OnServerDisconnect(*this, reason); RenX::Server::sock.close(); RenX::Server::wipeData(); @@ -3429,22 +3415,20 @@ void RenX::Server::wipeData() void RenX::Server::wipePlayers() { - RenX::PlayerInfo *player; Jupiter::ArrayList &xPlugins = *RenX::getCore()->getPlugins(); while (RenX::Server::players.size() != 0) { - player = RenX::Server::players.remove(size_t{ 0 }); for (size_t index = 0; index < xPlugins.size(); ++index) - xPlugins.get(index)->RenX_OnPlayerDelete(this, player); + xPlugins.get(index)->RenX_OnPlayerDelete(*this, this->players.front()); - if (player->rdns_thread.joinable()) // Close the RDNS thread, if one exists + if (this->players.front().rdns_thread.joinable()) // Close the RDNS thread, if one exists { --this->player_rdns_resolutions_pending; - player->rdns_thread.join(); + this->players.front().rdns_thread.join(); } - delete player; + this->players.pop_front(); } } @@ -3483,7 +3467,7 @@ RenX::Server::Server(const Jupiter::ReadableString &configurationSection) init(*RenX::getCore()->getConfig().getSection(RenX::Server::configSection)); Jupiter::ArrayList &xPlugins = *RenX::getCore()->getPlugins(); for (size_t i = 0; i < xPlugins.size(); i++) - xPlugins.get(i)->RenX_OnServerCreate(this); + xPlugins.get(i)->RenX_OnServerCreate(*this); } void RenX::Server::init(const Jupiter::Config &config) diff --git a/RenX.Core/RenX_Server.h b/RenX.Core/RenX_Server.h index eb394ba..54e552b 100644 --- a/RenX.Core/RenX_Server.h +++ b/RenX.Core/RenX_Server.h @@ -24,10 +24,9 @@ * @brief Defines the Server class. */ -#include #include +#include #include "Jupiter/TCPSocket.h" -#include "Jupiter/DLList.h" #include "Jupiter/ArrayList.h" #include "Jupiter/String.h" #include "Jupiter/CString.h" @@ -84,7 +83,7 @@ namespace RenX virtual bool OnBadRehash(bool removed); public: // RenX::Server - Jupiter::DLList players; /** A list of players in the server */ + std::list players; /** A list of players in the server */ Jupiter::ArrayList buildings; /** A list of buildings in the server */ Jupiter::ArrayList mutators; /** A list of buildings the server is running */ Jupiter::ArrayList maps; /** A list of maps in the server's rotation */ @@ -244,7 +243,7 @@ namespace RenX * @param message Message to send in-game. * @return The number of bytes sent on success, less than or equal to zero otherwise. */ - int sendMessage(const RenX::PlayerInfo *player, const Jupiter::ReadableString &message); + int sendMessage(const RenX::PlayerInfo &player, const Jupiter::ReadableString &message); /** * @brief Sends data to the server. @@ -307,7 +306,7 @@ namespace RenX * @param player Player to calculate game-time of. * @return Time player has been playing. */ - std::chrono::milliseconds getGameTime(const RenX::PlayerInfo *player) const; + std::chrono::milliseconds getGameTime(const RenX::PlayerInfo &player) const; /** * @brief Fetches the number of bots in the server. @@ -355,7 +354,7 @@ namespace RenX * @param player Player to fetch Steam ID from * @return A player's formatted Steam ID on success, an empty string otherwise. */ - Jupiter::StringS formatSteamID(const RenX::PlayerInfo *player) const; + Jupiter::StringS formatSteamID(const RenX::PlayerInfo &player) const; /** * @brief Formats a Steam ID into a readable string. @@ -377,7 +376,7 @@ namespace RenX * * @param player Data of the player to kick. */ - void kickPlayer(const RenX::PlayerInfo *player, const Jupiter::ReadableString &reason); + void kickPlayer(const RenX::PlayerInfo &player, const Jupiter::ReadableString &reason); /** * @brief Kicks a player from the server. @@ -391,7 +390,7 @@ namespace RenX * * @param player Data of the player to kick. */ - void forceKickPlayer(const RenX::PlayerInfo *player, const Jupiter::ReadableString &reason); + void forceKickPlayer(const RenX::PlayerInfo &player, const Jupiter::ReadableString &reason); /** * @brief Checks if any players are in the ban list, and kicks any players listed. @@ -404,7 +403,7 @@ namespace RenX * * @param player Data of the player to check. */ - void banCheck(RenX::PlayerInfo *player); + void banCheck(RenX::PlayerInfo &player); /** * @brief Bans a player from the server. @@ -419,7 +418,7 @@ namespace RenX * @param player Data of the player to ban. * @param length Duration of the ban (0 for permanent). */ - void banPlayer(const RenX::PlayerInfo *player, const Jupiter::ReadableString &banner, const Jupiter::ReadableString &reason, std::chrono::seconds length = std::chrono::seconds::zero()); + void banPlayer(const RenX::PlayerInfo &player, const Jupiter::ReadableString &banner, const Jupiter::ReadableString &reason, std::chrono::seconds length = std::chrono::seconds::zero()); /** * @brief Removes a player's data based on their ID number. @@ -435,7 +434,7 @@ namespace RenX * @param player Pointer to a player's data * @return True if a player was removed, false otherwise. */ - bool removePlayer(RenX::PlayerInfo *player); + bool removePlayer(RenX::PlayerInfo &player); /** * @brief Sends a full client list request. @@ -533,14 +532,14 @@ namespace RenX * * @return True on success, false otherwise. */ - bool mute(const RenX::PlayerInfo *player); + bool mute(const RenX::PlayerInfo &player); /** * @brief Allows a player to use the game chat. * * @return True on success, false otherwise. */ - bool unmute(const RenX::PlayerInfo *player); + bool unmute(const RenX::PlayerInfo &player); /** * @brief Gives a player additional credits. @@ -558,7 +557,7 @@ namespace RenX * @param credits Credits to give to player * @return True on success, false otherwise. */ - bool giveCredits(RenX::PlayerInfo *player, double credits); + bool giveCredits(RenX::PlayerInfo &player, double credits); /** * @brief Kills a player. @@ -574,7 +573,7 @@ namespace RenX * @param player Player to kill * @return True on success, false otherwise. */ - bool kill(RenX::PlayerInfo *player); + bool kill(RenX::PlayerInfo &player); /** * @brief Disarms all of a player's deployed objects. @@ -590,7 +589,7 @@ namespace RenX * @param player Player to disarm * @return True on success, false otherwise. */ - bool disarm(RenX::PlayerInfo *player); + bool disarm(RenX::PlayerInfo &player); /** * @brief Disarms all of a player's deployed C4. @@ -606,7 +605,7 @@ namespace RenX * @param player Player to disarm * @return True on success, false otherwise. */ - bool disarmC4(RenX::PlayerInfo *player); + bool disarmC4(RenX::PlayerInfo &player); /** * @brief Disarms all of a player's deployed beacons. @@ -622,7 +621,7 @@ namespace RenX * @param player Player to disarm * @return True on success, false otherwise. */ - bool disarmBeacon(RenX::PlayerInfo *player); + bool disarmBeacon(RenX::PlayerInfo &player); /** * @brief Bans a player from mining in-game for 1 game (or until they disconnect). @@ -638,7 +637,7 @@ namespace RenX * @param player Player to mine-ban * @return True on success, false otherwise. */ - bool mineBan(RenX::PlayerInfo *player); + bool mineBan(RenX::PlayerInfo &player); /** * @brief Forces a player to change teams. @@ -656,7 +655,7 @@ namespace RenX * @param resetCredits True to reset the player's credits, false otherwise. * @return True on success, false otherwise. */ - bool changeTeam(RenX::PlayerInfo *player, bool resetCredits = true); + bool changeTeam(RenX::PlayerInfo &player, bool resetCredits = true); /** * @brief Fetches a server's IRC logging prefix. @@ -825,7 +824,7 @@ namespace RenX * @param parameters Parameters to pass to the command * @return Command executed if a match is found, nullptr otherwise. */ - RenX::GameCommand *triggerCommand(const Jupiter::ReadableString &trigger, RenX::PlayerInfo *player, const Jupiter::ReadableString ¶meters); + RenX::GameCommand *triggerCommand(const Jupiter::ReadableString &trigger, RenX::PlayerInfo &player, const Jupiter::ReadableString ¶meters); /** * @brief Adds a command to the server's game command list. @@ -857,7 +856,7 @@ namespace RenX * @param player Player to calculate UUID of * @return UUID calculated from player. */ - typedef Jupiter::StringS(*uuid_func)(RenX::PlayerInfo *player); + typedef Jupiter::StringS(*uuid_func)(RenX::PlayerInfo &player); /** * @brief Sets the player UUID calculation function. @@ -880,7 +879,7 @@ namespace RenX * @param player Player with UUID to change * @param uuid Player's new UUID */ - void setUUID(RenX::PlayerInfo *player, const Jupiter::ReadableString &uuid); + void setUUID(RenX::PlayerInfo &player, const Jupiter::ReadableString &uuid); /** * @brief Changes a player's UUID only if it is different than their current UUID @@ -889,7 +888,7 @@ namespace RenX * @param uuid Player's new UUID * @return True if the UUIDs did not match, false otherwise. */ - bool setUUIDIfDifferent(RenX::PlayerInfo *player, const Jupiter::ReadableString &uuid); + bool setUUIDIfDifferent(RenX::PlayerInfo &player, const Jupiter::ReadableString &uuid); /** * @brief Checks if reverse DNS resolution is occuring for players. diff --git a/RenX.Core/RenX_Tags.cpp b/RenX.Core/RenX_Tags.cpp index e66491c..eb28601 100644 --- a/RenX.Core/RenX_Tags.cpp +++ b/RenX.Core/RenX_Tags.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2015-2016 Jessica James. + * Copyright (C) 2015-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -464,16 +464,16 @@ void TagsImp::processTags(Jupiter::StringType &msg, const RenX::Server *server, PROCESS_TAG(this->INTERNAL_SERVER_PREFIX_TAG, server->getPrefix()); if (player != nullptr) { - PROCESS_TAG(this->INTERNAL_STEAM_TAG, server->formatSteamID(player)); + PROCESS_TAG(this->INTERNAL_STEAM_TAG, server->formatSteamID(*player)); } if (victim != nullptr) { - PROCESS_TAG(this->INTERNAL_VICTIM_STEAM_TAG, server->formatSteamID(victim)); + PROCESS_TAG(this->INTERNAL_VICTIM_STEAM_TAG, server->formatSteamID(*victim)); } } if (player != nullptr) { - PROCESS_TAG(this->INTERNAL_NAME_TAG, RenX::getFormattedPlayerName(player)); + PROCESS_TAG(this->INTERNAL_NAME_TAG, RenX::getFormattedPlayerName(*player)); PROCESS_TAG(this->INTERNAL_RAW_NAME_TAG, player->name); PROCESS_TAG(this->INTERNAL_IP_TAG, player->ip); PROCESS_TAG(this->INTERNAL_HWID_TAG, player->hwid); @@ -519,7 +519,7 @@ void TagsImp::processTags(Jupiter::StringType &msg, const RenX::Server *server, } if (victim != nullptr) { - PROCESS_TAG(this->INTERNAL_VICTIM_NAME_TAG, RenX::getFormattedPlayerName(victim)); + PROCESS_TAG(this->INTERNAL_VICTIM_NAME_TAG, RenX::getFormattedPlayerName(*victim)); PROCESS_TAG(this->INTERNAL_VICTIM_RAW_NAME_TAG, victim->name); PROCESS_TAG(this->INTERNAL_VICTIM_IP_TAG, victim->ip); PROCESS_TAG(this->INTERNAL_VICTIM_HWID_TAG, victim->hwid); diff --git a/RenX.ExcessiveHeadshots/ExcessiveHeadshots.cpp b/RenX.ExcessiveHeadshots/ExcessiveHeadshots.cpp index 63e8914..de34656 100644 --- a/RenX.ExcessiveHeadshots/ExcessiveHeadshots.cpp +++ b/RenX.ExcessiveHeadshots/ExcessiveHeadshots.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -41,15 +41,17 @@ int RenX_ExcessiveHeadshotsPlugin::OnRehash() return this->initialize() ? 0 : -1; } -void RenX_ExcessiveHeadshotsPlugin::RenX_OnKill(RenX::Server *server, const RenX::PlayerInfo *player, const RenX::PlayerInfo *victim, const Jupiter::ReadableString &damageType) +void RenX_ExcessiveHeadshotsPlugin::RenX_OnKill(RenX::Server &server, const RenX::PlayerInfo &player, const RenX::PlayerInfo &victim, const Jupiter::ReadableString &damageType) { - if (player->kills < 3) return; + if (player.kills < 3) + return; + if (damageType.equals("Rx_DmgType_Headshot"_jrs)) { unsigned int flags = 0; - std::chrono::milliseconds game_time = server->getGameTime(player); - double kps = game_time == std::chrono::milliseconds::zero() ? static_cast(player->kills) : static_cast(player->kills) / static_cast(game_time.count()); - if (player->kills >= RenX_ExcessiveHeadshotsPlugin::minKills) flags++; + std::chrono::milliseconds game_time = server.getGameTime(player); + double kps = game_time == std::chrono::milliseconds::zero() ? static_cast(player.kills) : static_cast(player.kills) / static_cast(game_time.count()); + if (player.kills >= RenX_ExcessiveHeadshotsPlugin::minKills) flags++; if (RenX::getHeadshotKillRatio(player) >= RenX_ExcessiveHeadshotsPlugin::ratio) flags++; if (RenX::getKillDeathRatio(player) >= RenX_ExcessiveHeadshotsPlugin::minKD) flags++; if (kps >= RenX_ExcessiveHeadshotsPlugin::minKPS) flags++; @@ -58,10 +60,10 @@ void RenX_ExcessiveHeadshotsPlugin::RenX_OnKill(RenX::Server *server, const RenX if (flags >= RenX_ExcessiveHeadshotsPlugin::minFlags) { - server->banPlayer(player, "Jupiter Bot"_jrs, "Aimbot detected"_jrs); - server->sendPubChan(IRCCOLOR "13[Aimbot]" IRCCOLOR " %.*s was banned from the server! Kills: %u - Deaths: %u - Headshots: %u", player->name.size(), player->name.ptr(), player->kills, player->deaths, player->headshots); - const Jupiter::ReadableString &steamid = server->formatSteamID(player); - server->sendAdmChan(IRCCOLOR "13[Aimbot]" IRCCOLOR " %.*s was banned from the server! Kills: %u - Deaths: %u - Headshots: %u - IP: " IRCBOLD "%.*s" IRCBOLD " - Steam ID: " IRCBOLD "%.*s" IRCBOLD, player->name.size(), player->name.ptr(), player->kills, player->deaths, player->headshots, player->ip.size(), player->ip.ptr(), steamid.size(), steamid.ptr()); + server.banPlayer(player, "Jupiter Bot"_jrs, "Aimbot detected"_jrs); + server.sendPubChan(IRCCOLOR "13[Aimbot]" IRCCOLOR " %.*s was banned from the server! Kills: %u - Deaths: %u - Headshots: %u", player.name.size(), player.name.ptr(), player.kills, player.deaths, player.headshots); + const Jupiter::ReadableString &steamid = server.formatSteamID(player); + server.sendAdmChan(IRCCOLOR "13[Aimbot]" IRCCOLOR " %.*s was banned from the server! Kills: %u - Deaths: %u - Headshots: %u - IP: " IRCBOLD "%.*s" IRCBOLD " - Steam ID: " IRCBOLD "%.*s" IRCBOLD, player.name.size(), player.name.ptr(), player.kills, player.deaths, player.headshots, player.ip.size(), player.ip.ptr(), steamid.size(), steamid.ptr()); } } } diff --git a/RenX.ExcessiveHeadshots/ExcessiveHeadshots.h b/RenX.ExcessiveHeadshots/ExcessiveHeadshots.h index e36f75f..c316dea 100644 --- a/RenX.ExcessiveHeadshots/ExcessiveHeadshots.h +++ b/RenX.ExcessiveHeadshots/ExcessiveHeadshots.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -26,7 +26,7 @@ class RenX_ExcessiveHeadshotsPlugin : public RenX::Plugin { public: // RenX::Plugin - void RenX_OnKill(RenX::Server *server, const RenX::PlayerInfo *player, const RenX::PlayerInfo *victim, const Jupiter::ReadableString &damageType) override; + void RenX_OnKill(RenX::Server &server, const RenX::PlayerInfo &player, const RenX::PlayerInfo &victim, const Jupiter::ReadableString &damageType) override; public: // Jupiter::Plugin virtual bool initialize() override; diff --git a/RenX.ExtraLogging/RenX_ExtraLogging.cpp b/RenX.ExtraLogging/RenX_ExtraLogging.cpp index 97cc15b..a1d38f6 100644 --- a/RenX.ExtraLogging/RenX_ExtraLogging.cpp +++ b/RenX.ExtraLogging/RenX_ExtraLogging.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -88,14 +88,14 @@ int RenX_ExtraLoggingPlugin::think() return 0; } -void RenX_ExtraLoggingPlugin::RenX_OnRaw(RenX::Server *server, const Jupiter::ReadableString &raw) +void RenX_ExtraLoggingPlugin::RenX_OnRaw(RenX::Server &server, const Jupiter::ReadableString &raw) { if (RenX_ExtraLoggingPlugin::printToConsole) { if (RenX_ExtraLoggingPlugin::filePrefix.isNotEmpty()) { Jupiter::StringS cPrefix = RenX_ExtraLoggingPlugin::filePrefix; - RenX::processTags(cPrefix, server); + RenX::processTags(cPrefix, &server); cPrefix.print(stdout); fputc(' ', stdout); } @@ -107,7 +107,7 @@ void RenX_ExtraLoggingPlugin::RenX_OnRaw(RenX::Server *server, const Jupiter::Re if (RenX_ExtraLoggingPlugin::filePrefix.isNotEmpty()) { Jupiter::StringS fPrefix = RenX_ExtraLoggingPlugin::filePrefix; - RenX::processTags(fPrefix, server); + RenX::processTags(fPrefix, &server); fPrefix.print(RenX_ExtraLoggingPlugin::file); fputc(' ', RenX_ExtraLoggingPlugin::file); } diff --git a/RenX.ExtraLogging/RenX_ExtraLogging.h b/RenX.ExtraLogging/RenX_ExtraLogging.h index 16e15c0..9652174 100644 --- a/RenX.ExtraLogging/RenX_ExtraLogging.h +++ b/RenX.ExtraLogging/RenX_ExtraLogging.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -26,7 +26,7 @@ class RenX_ExtraLoggingPlugin : public RenX::Plugin { public: // RenX::Plugin - virtual void RenX_OnRaw(RenX::Server *server, const Jupiter::ReadableString &raw) override; + virtual void RenX_OnRaw(RenX::Server &server, const Jupiter::ReadableString &raw) override; public: // Jupiter::Plugin virtual bool initialize() override; diff --git a/RenX.Greetings/RenX_Greetings.cpp b/RenX.Greetings/RenX_Greetings.cpp index f2a20f9..09a39c0 100644 --- a/RenX.Greetings/RenX_Greetings.cpp +++ b/RenX.Greetings/RenX_Greetings.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2015 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -24,21 +24,21 @@ using namespace Jupiter::literals; -void RenX_GreetingsPlugin::RenX_OnJoin(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_GreetingsPlugin::RenX_OnJoin(RenX::Server &server, const RenX::PlayerInfo &player) { auto sendMessage = [&](const Jupiter::ReadableString &m) { Jupiter::String msg = m; RenX::sanitizeTags(msg); - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); if (this->sendPrivate) - server->sendMessage(player, msg); + server.sendMessage(player, msg); else - server->sendMessage(msg); + server.sendMessage(msg); }; - if (player->isBot == false && server->isMatchInProgress()) + if (player.isBot == false && server.isMatchInProgress()) { switch (RenX_GreetingsPlugin::sendMode) { diff --git a/RenX.Greetings/RenX_Greetings.h b/RenX.Greetings/RenX_Greetings.h index 46d5b66..aed979e 100644 --- a/RenX.Greetings/RenX_Greetings.h +++ b/RenX.Greetings/RenX_Greetings.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -28,7 +28,7 @@ class RenX_GreetingsPlugin : public RenX::Plugin { public: // RenX::Plugin - void RenX_OnJoin(RenX::Server *server, const RenX::PlayerInfo *player) override; + void RenX_OnJoin(RenX::Server &server, const RenX::PlayerInfo &player) override; public: // Jupiter::Plugin virtual bool initialize() override; diff --git a/RenX.HybridUUID/RenX_HybridUUID.cpp b/RenX.HybridUUID/RenX_HybridUUID.cpp index 2ddef40..e799362 100644 --- a/RenX.HybridUUID/RenX_HybridUUID.cpp +++ b/RenX.HybridUUID/RenX_HybridUUID.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2015 Jessica James. + * Copyright (C) 2015-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -23,11 +23,13 @@ #include "RenX_Functions.h" #include "RenX_HybridUUID.h" -Jupiter::StringS calc_uuid(RenX::PlayerInfo *player) +using namespace Jupiter::literals; + +Jupiter::StringS calc_uuid(RenX::PlayerInfo &player) { - if (player->steamid != 0U) - return Jupiter::StringS::Format("S%.16llX", player->steamid); - return Jupiter::StringS::Format("N%.*s", player->name.size(), player->name.ptr()); + if (player.steamid != 0U) + return Jupiter::StringS::Format("S%.16llX", player.steamid); + return "N"_jrs + player.name; } RenX_HybridUUIDPlugin::RenX_HybridUUIDPlugin() @@ -46,9 +48,9 @@ RenX_HybridUUIDPlugin::~RenX_HybridUUIDPlugin() core.getServer(--index)->setUUIDFunction(RenX::default_uuid_func); } -void RenX_HybridUUIDPlugin::RenX_OnServerCreate(RenX::Server *server) +void RenX_HybridUUIDPlugin::RenX_OnServerCreate(RenX::Server &server) { - server->setUUIDFunction(calc_uuid); + server.setUUIDFunction(calc_uuid); } // Plugin instantiation and entry point. diff --git a/RenX.HybridUUID/RenX_HybridUUID.h b/RenX.HybridUUID/RenX_HybridUUID.h index 2ff99fd..de87808 100644 --- a/RenX.HybridUUID/RenX_HybridUUID.h +++ b/RenX.HybridUUID/RenX_HybridUUID.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2015-2016 Jessica James. + * Copyright (C) 2015-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -26,7 +26,7 @@ class RenX_HybridUUIDPlugin : public RenX::Plugin { public: // RenX::Plugin - void RenX_OnServerCreate(RenX::Server *server) override; + void RenX_OnServerCreate(RenX::Server &server) override; public: // Jupiter::Plugin RenX_HybridUUIDPlugin(); diff --git a/RenX.Ladder.Daily/RenX_Ladder_Daily.cpp b/RenX.Ladder.Daily/RenX_Ladder_Daily.cpp index afe6806..d76d4d3 100644 --- a/RenX.Ladder.Daily/RenX_Ladder_Daily.cpp +++ b/RenX.Ladder.Daily/RenX_Ladder_Daily.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2016 Jessica James. + * Copyright (C) 2016-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -42,7 +42,7 @@ bool RenX_Ladder_Daily_TimePlugin::initialize() // Plugin instantiation and entry point. RenX_Ladder_Daily_TimePlugin pluginInstance; -void OnPreUpdateLadder(RenX::LadderDatabase &database, RenX::Server *server, const RenX::TeamType &team) +void OnPreUpdateLadder(RenX::LadderDatabase &database, RenX::Server &, const RenX::TeamType &) { tm *tm_ptr = gmtime(std::addressof(time(0))); if (pluginInstance.last_sorted_day != tm_ptr->tm_wday) diff --git a/RenX.Ladder.Daily/RenX_Ladder_Daily.h b/RenX.Ladder.Daily/RenX_Ladder_Daily.h index 866d2dc..9c9f35c 100644 --- a/RenX.Ladder.Daily/RenX_Ladder_Daily.h +++ b/RenX.Ladder.Daily/RenX_Ladder_Daily.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2016 Jessica James. + * Copyright (C) 2016-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -34,6 +34,6 @@ private: RenX::LadderDatabase database; }; -void OnPreUpdateLadder(RenX::LadderDatabase &database, RenX::Server *server, const RenX::TeamType &team); +void OnPreUpdateLadder(RenX::LadderDatabase &database, RenX::Server &server, const RenX::TeamType &team); #endif // _RENX_LADDER_ALL_TIME \ No newline at end of file diff --git a/RenX.Ladder.Monthly/RenX_Ladder_Monthly.cpp b/RenX.Ladder.Monthly/RenX_Ladder_Monthly.cpp index 3e4a3f5..f227b72 100644 --- a/RenX.Ladder.Monthly/RenX_Ladder_Monthly.cpp +++ b/RenX.Ladder.Monthly/RenX_Ladder_Monthly.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2016 Jessica James. + * Copyright (C) 2016-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -42,7 +42,7 @@ bool RenX_Ladder_Monthly_TimePlugin::initialize() // Plugin instantiation and entry point. RenX_Ladder_Monthly_TimePlugin pluginInstance; -void OnPreUpdateLadder(RenX::LadderDatabase &database, RenX::Server *server, const RenX::TeamType &team) +void OnPreUpdateLadder(RenX::LadderDatabase &database, RenX::Server &, const RenX::TeamType &) { tm *tm_ptr = gmtime(std::addressof(time(0))); if (pluginInstance.last_sorted_month != tm_ptr->tm_mon) diff --git a/RenX.Ladder.Monthly/RenX_Ladder_Monthly.h b/RenX.Ladder.Monthly/RenX_Ladder_Monthly.h index 1e82f31..fb02195 100644 --- a/RenX.Ladder.Monthly/RenX_Ladder_Monthly.h +++ b/RenX.Ladder.Monthly/RenX_Ladder_Monthly.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2016 Jessica James. + * Copyright (C) 2016-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -34,6 +34,6 @@ private: RenX::LadderDatabase database; }; -void OnPreUpdateLadder(RenX::LadderDatabase &database, RenX::Server *server, const RenX::TeamType &team); +void OnPreUpdateLadder(RenX::LadderDatabase &database, RenX::Server &server, const RenX::TeamType &team); #endif // _RENX_LADDER_ALL_TIME \ No newline at end of file diff --git a/RenX.Ladder.Weekly/RenX_Ladder_Weekly.cpp b/RenX.Ladder.Weekly/RenX_Ladder_Weekly.cpp index bdae0f9..5f255e6 100644 --- a/RenX.Ladder.Weekly/RenX_Ladder_Weekly.cpp +++ b/RenX.Ladder.Weekly/RenX_Ladder_Weekly.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2016 Jessica James. + * Copyright (C) 2016-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -43,7 +43,7 @@ bool RenX_Ladder_Weekly_TimePlugin::initialize() // Plugin instantiation and entry point. RenX_Ladder_Weekly_TimePlugin pluginInstance; -void OnPreUpdateLadder(RenX::LadderDatabase &database, RenX::Server *server, const RenX::TeamType &team) +void OnPreUpdateLadder(RenX::LadderDatabase &database, RenX::Server &, const RenX::TeamType &) { tm *tm_ptr = gmtime(std::addressof(time(0))); if (pluginInstance.last_sorted_day != tm_ptr->tm_wday && tm_ptr->tm_wday == pluginInstance.reset_day) diff --git a/RenX.Ladder.Weekly/RenX_Ladder_Weekly.h b/RenX.Ladder.Weekly/RenX_Ladder_Weekly.h index fc3d83f..1b517bc 100644 --- a/RenX.Ladder.Weekly/RenX_Ladder_Weekly.h +++ b/RenX.Ladder.Weekly/RenX_Ladder_Weekly.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2016 Jessica James. + * Copyright (C) 2016-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -35,6 +35,6 @@ private: RenX::LadderDatabase database; }; -void OnPreUpdateLadder(RenX::LadderDatabase &database, RenX::Server *server, const RenX::TeamType &team); +void OnPreUpdateLadder(RenX::LadderDatabase &database, RenX::Server &server, const RenX::TeamType &team); #endif // _RENX_LADDER_ALL_TIME \ No newline at end of file diff --git a/RenX.Ladder.Yearly/RenX_Ladder_Yearly.cpp b/RenX.Ladder.Yearly/RenX_Ladder_Yearly.cpp index 9cfe01c..295abb6 100644 --- a/RenX.Ladder.Yearly/RenX_Ladder_Yearly.cpp +++ b/RenX.Ladder.Yearly/RenX_Ladder_Yearly.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2016 Jessica James. + * Copyright (C) 2016-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -42,7 +42,7 @@ bool RenX_Ladder_Yearly_TimePlugin::initialize() // Plugin instantiation and entry point. RenX_Ladder_Yearly_TimePlugin pluginInstance; -void OnPreUpdateLadder(RenX::LadderDatabase &database, RenX::Server *server, const RenX::TeamType &team) +void OnPreUpdateLadder(RenX::LadderDatabase &database, RenX::Server &, const RenX::TeamType &) { tm *tm_ptr = gmtime(std::addressof(time(0))); if (pluginInstance.last_sorted_year != tm_ptr->tm_year) diff --git a/RenX.Ladder.Yearly/RenX_Ladder_Yearly.h b/RenX.Ladder.Yearly/RenX_Ladder_Yearly.h index 830b8a4..276d4bf 100644 --- a/RenX.Ladder.Yearly/RenX_Ladder_Yearly.h +++ b/RenX.Ladder.Yearly/RenX_Ladder_Yearly.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2016 Jessica James. + * Copyright (C) 2016-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -34,6 +34,6 @@ private: RenX::LadderDatabase database; }; -void OnPreUpdateLadder(RenX::LadderDatabase &database, RenX::Server *server, const RenX::TeamType &team); +void OnPreUpdateLadder(RenX::LadderDatabase &database, RenX::Server &server, const RenX::TeamType &team); #endif // _RENX_LADDER_ALL_TIME \ No newline at end of file diff --git a/RenX.Ladder/RenX_Ladder.cpp b/RenX.Ladder/RenX_Ladder.cpp index c3c8708..209ec81 100644 --- a/RenX.Ladder/RenX_Ladder.cpp +++ b/RenX.Ladder/RenX_Ladder.cpp @@ -45,33 +45,33 @@ bool RenX_LadderPlugin::initialize() return true; } -void RenX_LadderPlugin::RenX_OnServerFullyConnected(RenX::Server *server) +void RenX_LadderPlugin::RenX_OnServerFullyConnected(RenX::Server &server) { - if (this->only_pure == false || server->isPure()) - server->setRanked(true); + if (this->only_pure == false || server.isPure()) + server.setRanked(true); } /** Wait until the client list has been updated to update the ladder */ -void RenX_LadderPlugin::RenX_OnGameOver(RenX::Server *server, RenX::WinType winType, const RenX::TeamType &team, int gScore, int nScore) +void RenX_LadderPlugin::RenX_OnGameOver(RenX::Server &server, RenX::WinType winType, const RenX::TeamType &team, int gScore, int nScore) { - if (server->isRanked() && server->isReliable() && server->players.size() != server->getBotCount()) + if (server.isRanked() && server.isReliable() && server.players.size() != server.getBotCount()) { char chr = static_cast(team); - server->varData[this->name].set("t"_jrs, Jupiter::ReferenceString(&chr, 1)); - server->varData[this->name].set("w"_jrs, "1"_jrs); - server->updateClientList(); + server.varData[this->name].set("t"_jrs, Jupiter::ReferenceString(&chr, 1)); + server.varData[this->name].set("w"_jrs, "1"_jrs); + server.updateClientList(); } } -void RenX_LadderPlugin::RenX_OnCommand(RenX::Server *server, const Jupiter::ReadableString &) +void RenX_LadderPlugin::RenX_OnCommand(RenX::Server &server, const Jupiter::ReadableString &) { - if (server->getCurrentRCONCommand().equalsi("clientvarlist"_jrs)) + if (server.getCurrentRCONCommand().equalsi("clientvarlist"_jrs)) { - if (server->varData[this->name].get("w"_jrs, "0"_jrs).equals("1")) + if (server.varData[this->name].get("w"_jrs, "0"_jrs).equals("1")) { - server->varData[this->name].set("w"_jrs, "0"_jrs); - RenX::TeamType team = static_cast(server->varData[this->name].get("t"_jrs, "\0"_jrs).get(0)); + server.varData[this->name].set("w"_jrs, "0"_jrs); + RenX::TeamType team = static_cast(server.varData[this->name].get("t"_jrs, "\0"_jrs).get(0)); for (size_t index = 0; index != RenX::ladder_databases.size(); ++index) RenX::ladder_databases.get(index)->updateLadder(server, team); } @@ -172,13 +172,13 @@ void LadderGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, if (pair.first != nullptr) source->sendMessage(FormatLadderResponse(pair.first, pair.second + 1)); else - source->sendMessage(player, "Error: You have no ladder data. Get started by sticking around until the end of the match!"_jrs); + source->sendMessage(*player, "Error: You have no ladder data. Get started by sticking around until the end of the match!"_jrs); } else - source->sendMessage(player, "Error: No default ladder database specified."_jrs); + source->sendMessage(*player, "Error: No default ladder database specified."_jrs); } else - source->sendMessage(player, "Error: You have no ladder data, because you're not using Steam."_jrs); + source->sendMessage(*player, "Error: You have no ladder data, because you're not using Steam."_jrs); } else { @@ -186,7 +186,7 @@ void LadderGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, Jupiter::GenericCommand::ResponseLine *ptr; while (response != nullptr) { - source->sendMessage(player, response->response); + source->sendMessage(*player, response->response); ptr = response; response = response->next; delete ptr; diff --git a/RenX.Ladder/RenX_Ladder.h b/RenX.Ladder/RenX_Ladder.h index 01b24c8..791c8c9 100644 --- a/RenX.Ladder/RenX_Ladder.h +++ b/RenX.Ladder/RenX_Ladder.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2015-2016 Jessica James. + * Copyright (C) 2015-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -36,9 +36,9 @@ class RenX_LadderPlugin : public RenX::Plugin { public: virtual bool initialize() override; - void RenX_OnServerFullyConnected(RenX::Server *server) override; - void RenX_OnGameOver(RenX::Server *server, RenX::WinType winType, const RenX::TeamType &team, int gScore, int nScore) override; - void RenX_OnCommand(RenX::Server *server, const Jupiter::ReadableString &) override; + void RenX_OnServerFullyConnected(RenX::Server &server) override; + void RenX_OnGameOver(RenX::Server &server, RenX::WinType winType, const RenX::TeamType &team, int gScore, int nScore) override; + void RenX_OnCommand(RenX::Server &server, const Jupiter::ReadableString &) override; size_t getMaxLadderCommandPartNameOutput() const; diff --git a/RenX.Logging/RenX_Logging.cpp b/RenX.Logging/RenX_Logging.cpp index 066e1b3..dd43cf7 100644 --- a/RenX.Logging/RenX_Logging.cpp +++ b/RenX.Logging/RenX_Logging.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -542,7 +542,7 @@ bool RenX_LoggingPlugin::initialize() typedef void(RenX::Server::*logFuncType)(const Jupiter::ReadableString &msg) const; -void RenX_LoggingPlugin::RenX_OnPlayerRDNS(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnPlayerRDNS(RenX::Server &server, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::playerRDNSPublic) @@ -553,12 +553,12 @@ void RenX_LoggingPlugin::RenX_OnPlayerRDNS(RenX::Server *server, const RenX::Pla Jupiter::String msg = this->playerRDNSFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnPlayerIdentify(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnPlayerIdentify(RenX::Server &server, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::playerIdentifyPublic) @@ -567,14 +567,14 @@ void RenX_LoggingPlugin::RenX_OnPlayerIdentify(RenX::Server *server, const RenX: func = &RenX::Server::sendAdmChan; Jupiter::String msg = this->playerIdentifyFmt; - if (msg.isNotEmpty() && server->isMatchPending() == false) + if (msg.isNotEmpty() && server.isMatchPending() == false) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnJoin(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnJoin(RenX::Server &server, const RenX::PlayerInfo &player) { Jupiter::String msg; if (RenX_LoggingPlugin::joinPublic) @@ -582,23 +582,23 @@ void RenX_LoggingPlugin::RenX_OnJoin(RenX::Server *server, const RenX::PlayerInf msg = this->joinPublicFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - server->sendPubChan(msg); + RenX::processTags(msg, &server, &player); + server.sendPubChan(msg); } } - if (player->steamid == 0) + if (player.steamid == 0) msg = this->joinNoSteamAdminFmt; else msg = this->joinAdminFmt; - if (msg.isNotEmpty() && server->isMatchPending() == false) + if (msg.isNotEmpty() && server.isMatchPending() == false) { - RenX::processTags(msg, server, player); - server->sendAdmChan(msg); + RenX::processTags(msg, &server, &player); + server.sendAdmChan(msg); } } -void RenX_LoggingPlugin::RenX_OnPart(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnPart(RenX::Server &server, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::partPublic) @@ -607,14 +607,14 @@ void RenX_LoggingPlugin::RenX_OnPart(RenX::Server *server, const RenX::PlayerInf func = &RenX::Server::sendAdmChan; Jupiter::String msg = this->partFmt; - if (msg.isNotEmpty() && (server->isTravelling() == false || server->isSeamless())) + if (msg.isNotEmpty() && (server.isTravelling() == false || server.isSeamless())) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnKick(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &reason) +void RenX_LoggingPlugin::RenX_OnKick(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &reason) { logFuncType func; if (RenX_LoggingPlugin::kickPublic) @@ -625,13 +625,13 @@ void RenX_LoggingPlugin::RenX_OnKick(RenX::Server *server, const RenX::PlayerInf Jupiter::String msg = this->kickFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, reason); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnNameChange(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &newPlayerName) +void RenX_LoggingPlugin::RenX_OnNameChange(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &newPlayerName) { logFuncType func; if (RenX_LoggingPlugin::nameChangePublic) @@ -642,13 +642,13 @@ void RenX_LoggingPlugin::RenX_OnNameChange(RenX::Server *server, const RenX::Pla Jupiter::String msg = this->nameChangeFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_NEW_NAME_TAG, newPlayerName); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnTeamChange(RenX::Server *server, const RenX::PlayerInfo *player, const RenX::TeamType &oldTeam) +void RenX_LoggingPlugin::RenX_OnTeamChange(RenX::Server &server, const RenX::PlayerInfo &player, const RenX::TeamType &oldTeam) { logFuncType func; if (RenX_LoggingPlugin::teamChangePublic) @@ -659,12 +659,12 @@ void RenX_LoggingPlugin::RenX_OnTeamChange(RenX::Server *server, const RenX::Pla Jupiter::String msg = this->teamChangeFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnSpeedHack(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnSpeedHack(RenX::Server &server, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::speedHackPublic) @@ -675,12 +675,12 @@ void RenX_LoggingPlugin::RenX_OnSpeedHack(RenX::Server *server, const RenX::Play Jupiter::String msg = this->speedHackFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnExecute(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &command) +void RenX_LoggingPlugin::RenX_OnExecute(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &command) { logFuncType func; if (RenX_LoggingPlugin::executePublic) @@ -691,13 +691,13 @@ void RenX_LoggingPlugin::RenX_OnExecute(RenX::Server *server, const RenX::Player Jupiter::String msg = this->playerExecuteFmt; if (msg.isNotEmpty()) { - processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, command); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnPlayerCommand(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &message, RenX::GameCommand *command) +void RenX_LoggingPlugin::RenX_OnPlayerCommand(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &message, RenX::GameCommand *command) { logFuncType func; if (RenX_LoggingPlugin::playerCommandPublic) @@ -711,13 +711,13 @@ void RenX_LoggingPlugin::RenX_OnPlayerCommand(RenX::Server *server, const RenX:: if (msg.isNotEmpty()) { - processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, message); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnPlayer(RenX::Server *server, const Jupiter::ReadableString &raw) +void RenX_LoggingPlugin::RenX_OnPlayer(RenX::Server &server, const Jupiter::ReadableString &raw) { logFuncType func; if (RenX_LoggingPlugin::playerPublic) @@ -728,13 +728,13 @@ void RenX_LoggingPlugin::RenX_OnPlayer(RenX::Server *server, const Jupiter::Read Jupiter::String msg = this->playerFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, raw); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnChat(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &message) +void RenX_LoggingPlugin::RenX_OnChat(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &message) { logFuncType func; if (RenX_LoggingPlugin::chatPublic) @@ -745,13 +745,13 @@ void RenX_LoggingPlugin::RenX_OnChat(RenX::Server *server, const RenX::PlayerInf Jupiter::String msg = this->chatFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, message); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnTeamChat(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &message) +void RenX_LoggingPlugin::RenX_OnTeamChat(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &message) { logFuncType func; if (RenX_LoggingPlugin::teamChatPublic) @@ -762,13 +762,13 @@ void RenX_LoggingPlugin::RenX_OnTeamChat(RenX::Server *server, const RenX::Playe Jupiter::String msg = this->teamChatFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, message); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnRadioChat(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &message) +void RenX_LoggingPlugin::RenX_OnRadioChat(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &message) { logFuncType func; if (RenX_LoggingPlugin::radioChatPublic) @@ -779,13 +779,13 @@ void RenX_LoggingPlugin::RenX_OnRadioChat(RenX::Server *server, const RenX::Play Jupiter::String msg = this->radioChatFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, message); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnHostChat(RenX::Server *server, const Jupiter::ReadableString &message) +void RenX_LoggingPlugin::RenX_OnHostChat(RenX::Server &server, const Jupiter::ReadableString &message) { logFuncType func; if (RenX_LoggingPlugin::hostChatPublic) @@ -796,13 +796,13 @@ void RenX_LoggingPlugin::RenX_OnHostChat(RenX::Server *server, const Jupiter::Re Jupiter::String msg = this->hostChatFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, message); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnHostPage(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &message) +void RenX_LoggingPlugin::RenX_OnHostPage(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &message) { logFuncType func; if (RenX_LoggingPlugin::hostPagePublic) @@ -813,13 +813,13 @@ void RenX_LoggingPlugin::RenX_OnHostPage(RenX::Server *server, const RenX::Playe Jupiter::String msg = this->hostPageFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, message); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnOtherChat(RenX::Server *server, const Jupiter::ReadableString &raw) +void RenX_LoggingPlugin::RenX_OnOtherChat(RenX::Server &server, const Jupiter::ReadableString &raw) { logFuncType func; if (RenX_LoggingPlugin::otherChatPublic) @@ -830,13 +830,13 @@ void RenX_LoggingPlugin::RenX_OnOtherChat(RenX::Server *server, const Jupiter::R Jupiter::String msg = this->otherChatFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, raw); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnDeploy(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &object) +void RenX_LoggingPlugin::RenX_OnDeploy(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &object) { logFuncType func; Jupiter::String msg; @@ -860,13 +860,13 @@ void RenX_LoggingPlugin::RenX_OnDeploy(RenX::Server *server, const RenX::PlayerI } if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(object)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnOverMine(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &location) +void RenX_LoggingPlugin::RenX_OnOverMine(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &location) { logFuncType func; if (RenX_LoggingPlugin::overMinePublic) @@ -877,13 +877,13 @@ void RenX_LoggingPlugin::RenX_OnOverMine(RenX::Server *server, const RenX::Playe Jupiter::String msg = this->overMineFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(location)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnDisarm(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &object, const RenX::PlayerInfo *victim) +void RenX_LoggingPlugin::RenX_OnDisarm(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &object, const RenX::PlayerInfo &victim) { logFuncType func; Jupiter::String msg; @@ -908,13 +908,13 @@ void RenX_LoggingPlugin::RenX_OnDisarm(RenX::Server *server, const RenX::PlayerI } if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player, victim); + RenX::processTags(msg, &server, &player, &victim); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(object)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnDisarm(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &object) +void RenX_LoggingPlugin::RenX_OnDisarm(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &object) { logFuncType func; Jupiter::String msg; @@ -939,13 +939,13 @@ void RenX_LoggingPlugin::RenX_OnDisarm(RenX::Server *server, const RenX::PlayerI } if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(object)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnExplode(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &object) +void RenX_LoggingPlugin::RenX_OnExplode(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &object) { logFuncType func; if (RenX_LoggingPlugin::explodePublic) @@ -956,14 +956,14 @@ void RenX_LoggingPlugin::RenX_OnExplode(RenX::Server *server, const RenX::Player Jupiter::String msg = this->explodeFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_WEAPON_TAG, RenX::translateName(object)); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(object)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnExplode(RenX::Server *server, const Jupiter::ReadableString &object) +void RenX_LoggingPlugin::RenX_OnExplode(RenX::Server &server, const Jupiter::ReadableString &object) { logFuncType func; if (RenX_LoggingPlugin::explodePublic) @@ -974,14 +974,14 @@ void RenX_LoggingPlugin::RenX_OnExplode(RenX::Server *server, const Jupiter::Rea Jupiter::String msg = this->explodeNoOwnerFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_WEAPON_TAG, RenX::translateName(object)); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(object)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnSuicide(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &damageType) +void RenX_LoggingPlugin::RenX_OnSuicide(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &damageType) { logFuncType func; if (RenX_LoggingPlugin::suicidePublic) @@ -992,13 +992,13 @@ void RenX_LoggingPlugin::RenX_OnSuicide(RenX::Server *server, const RenX::Player Jupiter::String msg = this->suicideFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_WEAPON_TAG, RenX::translateName(damageType)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnKill(RenX::Server *server, const RenX::PlayerInfo *player, const RenX::PlayerInfo *victim, const Jupiter::ReadableString &damageType) +void RenX_LoggingPlugin::RenX_OnKill(RenX::Server &server, const RenX::PlayerInfo &player, const RenX::PlayerInfo &victim, const Jupiter::ReadableString &damageType) { logFuncType func; if (RenX_LoggingPlugin::killPublic) @@ -1009,13 +1009,13 @@ void RenX_LoggingPlugin::RenX_OnKill(RenX::Server *server, const RenX::PlayerInf Jupiter::String msg = this->killFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player, victim); + RenX::processTags(msg, &server, &player, &victim); msg.replace(RenX::tags->INTERNAL_WEAPON_TAG, RenX::translateName(damageType)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnKill(RenX::Server *server, const Jupiter::ReadableString &killer, const RenX::TeamType &killerTeam, const RenX::PlayerInfo *victim, const Jupiter::ReadableString &damageType) +void RenX_LoggingPlugin::RenX_OnKill(RenX::Server &server, const Jupiter::ReadableString &killer, const RenX::TeamType &killerTeam, const RenX::PlayerInfo &victim, const Jupiter::ReadableString &damageType) { logFuncType func; if (RenX_LoggingPlugin::killPublic) @@ -1026,17 +1026,17 @@ void RenX_LoggingPlugin::RenX_OnKill(RenX::Server *server, const Jupiter::Readab Jupiter::String msg = this->killFmt2; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, nullptr, victim); + RenX::processTags(msg, &server, nullptr, &victim); msg.replace(RenX::tags->INTERNAL_NAME_TAG, RenX::translateName(killer)); msg.replace(RenX::tags->INTERNAL_TEAM_COLOR_TAG, RenX::getTeamColor(killerTeam)); msg.replace(RenX::tags->INTERNAL_TEAM_SHORT_TAG, RenX::getTeamName(killerTeam)); msg.replace(RenX::tags->INTERNAL_TEAM_LONG_TAG, RenX::getFullTeamName(killerTeam)); msg.replace(RenX::tags->INTERNAL_WEAPON_TAG, RenX::translateName(damageType)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnDie(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &damageType) +void RenX_LoggingPlugin::RenX_OnDie(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &damageType) { logFuncType func; if (RenX_LoggingPlugin::diePublic) @@ -1047,13 +1047,13 @@ void RenX_LoggingPlugin::RenX_OnDie(RenX::Server *server, const RenX::PlayerInfo Jupiter::String msg = this->dieFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_WEAPON_TAG, RenX::translateName(damageType)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnDie(RenX::Server *server, const Jupiter::ReadableString &object, const RenX::TeamType &objectTeam, const Jupiter::ReadableString &damageType) +void RenX_LoggingPlugin::RenX_OnDie(RenX::Server &server, const Jupiter::ReadableString &object, const RenX::TeamType &objectTeam, const Jupiter::ReadableString &damageType) { logFuncType func; if (RenX_LoggingPlugin::diePublic) @@ -1064,17 +1064,17 @@ void RenX_LoggingPlugin::RenX_OnDie(RenX::Server *server, const Jupiter::Readabl Jupiter::String msg = this->dieFmt2; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_NAME_TAG, RenX::translateName(object)); msg.replace(RenX::tags->INTERNAL_TEAM_COLOR_TAG, RenX::getTeamColor(objectTeam)); msg.replace(RenX::tags->INTERNAL_TEAM_SHORT_TAG, RenX::getTeamName(objectTeam)); msg.replace(RenX::tags->INTERNAL_TEAM_LONG_TAG, RenX::getFullTeamName(objectTeam)); msg.replace(RenX::tags->INTERNAL_WEAPON_TAG, RenX::translateName(damageType)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnDestroy(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &objectName, const RenX::TeamType &objectTeam, const Jupiter::ReadableString &damageType, RenX::ObjectType type) +void RenX_LoggingPlugin::RenX_OnDestroy(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &objectName, const RenX::TeamType &objectTeam, const Jupiter::ReadableString &damageType, RenX::ObjectType type) { logFuncType func; if (RenX_LoggingPlugin::destroyPublic) @@ -1097,17 +1097,17 @@ void RenX_LoggingPlugin::RenX_OnDestroy(RenX::Server *server, const RenX::Player } if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_COLOR_TAG, RenX::getTeamColor(objectTeam)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_SHORT_TAG, RenX::getTeamName(objectTeam)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_LONG_TAG, RenX::getFullTeamName(objectTeam)); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(objectName)); msg.replace(RenX::tags->INTERNAL_WEAPON_TAG, RenX::translateName(damageType)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnCapture(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &building, const RenX::TeamType &oldTeam) +void RenX_LoggingPlugin::RenX_OnCapture(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &building, const RenX::TeamType &oldTeam) { logFuncType func; if (RenX_LoggingPlugin::capturePublic) @@ -1118,16 +1118,16 @@ void RenX_LoggingPlugin::RenX_OnCapture(RenX::Server *server, const RenX::Player Jupiter::String msg = this->captureFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(building)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_COLOR_TAG, RenX::getTeamColor(oldTeam)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_SHORT_TAG, RenX::getTeamName(oldTeam)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_LONG_TAG, RenX::getFullTeamName(oldTeam)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnNeutralize(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &building, const RenX::TeamType &oldTeam) +void RenX_LoggingPlugin::RenX_OnNeutralize(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &building, const RenX::TeamType &oldTeam) { logFuncType func; if (RenX_LoggingPlugin::neutralizePublic) @@ -1138,16 +1138,16 @@ void RenX_LoggingPlugin::RenX_OnNeutralize(RenX::Server *server, const RenX::Pla Jupiter::String msg = this->neutralizeFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(building)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_COLOR_TAG, RenX::getTeamColor(oldTeam)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_SHORT_TAG, RenX::getTeamName(oldTeam)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_LONG_TAG, RenX::getFullTeamName(oldTeam)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnCharacterPurchase(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &character) +void RenX_LoggingPlugin::RenX_OnCharacterPurchase(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &character) { logFuncType func; if (RenX_LoggingPlugin::characterPurchasePublic) @@ -1158,13 +1158,13 @@ void RenX_LoggingPlugin::RenX_OnCharacterPurchase(RenX::Server *server, const Re Jupiter::String msg = this->characterPurchaseFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_VICTIM_CHARACTER_TAG, RenX::translateName(character)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnItemPurchase(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &item) +void RenX_LoggingPlugin::RenX_OnItemPurchase(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &item) { logFuncType func; if (RenX_LoggingPlugin::itemPurchasePublic) @@ -1175,13 +1175,13 @@ void RenX_LoggingPlugin::RenX_OnItemPurchase(RenX::Server *server, const RenX::P Jupiter::String msg = this->itemPurchaseFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(item)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnWeaponPurchase(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &weapon) +void RenX_LoggingPlugin::RenX_OnWeaponPurchase(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &weapon) { logFuncType func; if (RenX_LoggingPlugin::weaponPurchasePublic) @@ -1192,13 +1192,13 @@ void RenX_LoggingPlugin::RenX_OnWeaponPurchase(RenX::Server *server, const RenX: Jupiter::String msg = this->weaponPurchaseFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_WEAPON_TAG, RenX::translateName(weapon)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnRefillPurchase(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnRefillPurchase(RenX::Server &server, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::refillPurchasePublic) @@ -1209,12 +1209,12 @@ void RenX_LoggingPlugin::RenX_OnRefillPurchase(RenX::Server *server, const RenX: Jupiter::String msg = this->refillPurchaseFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnVehiclePurchase(RenX::Server *server, const RenX::PlayerInfo *owner, const Jupiter::ReadableString &vehicle) +void RenX_LoggingPlugin::RenX_OnVehiclePurchase(RenX::Server &server, const RenX::PlayerInfo &owner, const Jupiter::ReadableString &vehicle) { logFuncType func; if (RenX_LoggingPlugin::vehiclePurchasePublic) @@ -1225,13 +1225,13 @@ void RenX_LoggingPlugin::RenX_OnVehiclePurchase(RenX::Server *server, const RenX Jupiter::String msg = this->vehiclePurchaseFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, owner); + RenX::processTags(msg, &server, &owner); msg.replace(RenX::tags->INTERNAL_VICTIM_VEHICLE_TAG, RenX::translateName(vehicle)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnVehicleSpawn(RenX::Server *server, const RenX::TeamType &team, const Jupiter::ReadableString &vehicle) +void RenX_LoggingPlugin::RenX_OnVehicleSpawn(RenX::Server &server, const RenX::TeamType &team, const Jupiter::ReadableString &vehicle) { logFuncType func; if (RenX_LoggingPlugin::vehicleSpawnPublic) @@ -1243,7 +1243,7 @@ void RenX_LoggingPlugin::RenX_OnVehicleSpawn(RenX::Server *server, const RenX::T if (msg.isNotEmpty()) { RenX::TeamType otherTeam = RenX::getEnemy(team); - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_TEAM_COLOR_TAG, RenX::getTeamColor(team)); msg.replace(RenX::tags->INTERNAL_TEAM_SHORT_TAG, RenX::getTeamName(team)); msg.replace(RenX::tags->INTERNAL_TEAM_LONG_TAG, RenX::getFullTeamName(team)); @@ -1251,11 +1251,11 @@ void RenX_LoggingPlugin::RenX_OnVehicleSpawn(RenX::Server *server, const RenX::T msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_SHORT_TAG, RenX::getTeamName(otherTeam)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_LONG_TAG, RenX::getFullTeamName(otherTeam)); msg.replace(RenX::tags->INTERNAL_VEHICLE_TAG, RenX::translateName(vehicle)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnSpawn(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &character) +void RenX_LoggingPlugin::RenX_OnSpawn(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &character) { logFuncType func; if (RenX_LoggingPlugin::spawnPublic) @@ -1266,13 +1266,13 @@ void RenX_LoggingPlugin::RenX_OnSpawn(RenX::Server *server, const RenX::PlayerIn Jupiter::String msg = this->spawnFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_VICTIM_CHARACTER_TAG, RenX::translateName(character)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnBotJoin(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnBotJoin(RenX::Server &server, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::botJoinPublic) @@ -1283,12 +1283,12 @@ void RenX_LoggingPlugin::RenX_OnBotJoin(RenX::Server *server, const RenX::Player Jupiter::String msg = this->botJoinFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnVehicleCrate(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &vehicle) +void RenX_LoggingPlugin::RenX_OnVehicleCrate(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &vehicle) { logFuncType func; if (RenX_LoggingPlugin::vehicleCratePublic) @@ -1299,13 +1299,13 @@ void RenX_LoggingPlugin::RenX_OnVehicleCrate(RenX::Server *server, const RenX::P Jupiter::String msg = this->vehicleCrateFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(vehicle)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnTSVehicleCrate(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &vehicle) +void RenX_LoggingPlugin::RenX_OnTSVehicleCrate(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &vehicle) { logFuncType func; if (RenX_LoggingPlugin::TSVehicleCratePublic) @@ -1316,13 +1316,13 @@ void RenX_LoggingPlugin::RenX_OnTSVehicleCrate(RenX::Server *server, const RenX: Jupiter::String msg = this->TSVehicleCrateFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(vehicle)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnRAVehicleCrate(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &vehicle) +void RenX_LoggingPlugin::RenX_OnRAVehicleCrate(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &vehicle) { logFuncType func; if (RenX_LoggingPlugin::RAVehicleCratePublic) @@ -1333,13 +1333,13 @@ void RenX_LoggingPlugin::RenX_OnRAVehicleCrate(RenX::Server *server, const RenX: Jupiter::String msg = this->RAVehicleCrateFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(vehicle)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnDeathCrate(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnDeathCrate(RenX::Server &server, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::deathCratePublic) @@ -1350,12 +1350,12 @@ void RenX_LoggingPlugin::RenX_OnDeathCrate(RenX::Server *server, const RenX::Pla Jupiter::String msg = this->deathCrateFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnMoneyCrate(RenX::Server *server, const RenX::PlayerInfo *player, int amount) +void RenX_LoggingPlugin::RenX_OnMoneyCrate(RenX::Server &server, const RenX::PlayerInfo &player, int amount) { logFuncType func; if (RenX_LoggingPlugin::moneyCratePublic) @@ -1366,13 +1366,13 @@ void RenX_LoggingPlugin::RenX_OnMoneyCrate(RenX::Server *server, const RenX::Pla Jupiter::String msg = this->moneyCrateFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, Jupiter::StringS::Format("%d", amount)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnCharacterCrate(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &character) +void RenX_LoggingPlugin::RenX_OnCharacterCrate(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &character) { logFuncType func; if (RenX_LoggingPlugin::characterCratePublic) @@ -1383,13 +1383,13 @@ void RenX_LoggingPlugin::RenX_OnCharacterCrate(RenX::Server *server, const RenX: Jupiter::String msg = this->characterCrateFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_VICTIM_CHARACTER_TAG, RenX::translateName(character)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnSpyCrate(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &character) +void RenX_LoggingPlugin::RenX_OnSpyCrate(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &character) { logFuncType func; if (RenX_LoggingPlugin::spyCratePublic) @@ -1400,14 +1400,14 @@ void RenX_LoggingPlugin::RenX_OnSpyCrate(RenX::Server *server, const RenX::Playe Jupiter::String msg = this->spyCrateFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_COLOR_TAG, RenX::getTeamColor(RenX::getEnemy(player->team))); + RenX::processTags(msg, &server, &player); + msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_COLOR_TAG, RenX::getTeamColor(RenX::getEnemy(player.team))); msg.replace(RenX::tags->INTERNAL_VICTIM_CHARACTER_TAG, RenX::translateName(character)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnRefillCrate(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnRefillCrate(RenX::Server &server, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::refillCratePublic) @@ -1418,12 +1418,12 @@ void RenX_LoggingPlugin::RenX_OnRefillCrate(RenX::Server *server, const RenX::Pl Jupiter::String msg = this->refillCrateFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnTimeBombCrate(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnTimeBombCrate(RenX::Server &server, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::timeBombCratePublic) @@ -1434,12 +1434,12 @@ void RenX_LoggingPlugin::RenX_OnTimeBombCrate(RenX::Server *server, const RenX:: Jupiter::String msg = this->timeBombCrateFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnSpeedCrate(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnSpeedCrate(RenX::Server &server, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::speedCratePublic) @@ -1450,12 +1450,12 @@ void RenX_LoggingPlugin::RenX_OnSpeedCrate(RenX::Server *server, const RenX::Pla Jupiter::String msg = this->speedCrateFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnNukeCrate(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnNukeCrate(RenX::Server &server, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::nukeCratePublic) @@ -1466,12 +1466,12 @@ void RenX_LoggingPlugin::RenX_OnNukeCrate(RenX::Server *server, const RenX::Play Jupiter::String msg = this->nukeCrateFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnAbductionCrate(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnAbductionCrate(RenX::Server &server, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::abductionCratePublic) @@ -1482,12 +1482,12 @@ void RenX_LoggingPlugin::RenX_OnAbductionCrate(RenX::Server *server, const RenX: Jupiter::String msg = this->abductionCrateFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnUnspecifiedCrate(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnUnspecifiedCrate(RenX::Server &server, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::unspecifiedCratePublic) @@ -1498,12 +1498,12 @@ void RenX_LoggingPlugin::RenX_OnUnspecifiedCrate(RenX::Server *server, const Ren Jupiter::String msg = this->unspecifiedCrateFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnOtherCrate(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &type) +void RenX_LoggingPlugin::RenX_OnOtherCrate(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &type) { logFuncType func; if (RenX_LoggingPlugin::otherCratePublic) @@ -1514,13 +1514,13 @@ void RenX_LoggingPlugin::RenX_OnOtherCrate(RenX::Server *server, const RenX::Pla Jupiter::String msg = this->otherCrateFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, type); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnSteal(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &vehicle) +void RenX_LoggingPlugin::RenX_OnSteal(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &vehicle) { logFuncType func; if (RenX_LoggingPlugin::stealPublic) @@ -1531,13 +1531,13 @@ void RenX_LoggingPlugin::RenX_OnSteal(RenX::Server *server, const RenX::PlayerIn Jupiter::String msg = this->stealNoOwnerFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(vehicle)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnSteal(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &vehicle, const RenX::PlayerInfo *victim) +void RenX_LoggingPlugin::RenX_OnSteal(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &vehicle, const RenX::PlayerInfo &victim) { logFuncType func; if (RenX_LoggingPlugin::stealPublic) @@ -1548,13 +1548,13 @@ void RenX_LoggingPlugin::RenX_OnSteal(RenX::Server *server, const RenX::PlayerIn Jupiter::String msg = this->stealFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player, victim); + RenX::processTags(msg, &server, &player, &victim); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(vehicle)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnDonate(RenX::Server *server, const RenX::PlayerInfo *donor, const RenX::PlayerInfo *player, double amount) +void RenX_LoggingPlugin::RenX_OnDonate(RenX::Server &server, const RenX::PlayerInfo &donor, const RenX::PlayerInfo &player, double amount) { logFuncType func; if (RenX_LoggingPlugin::donatePublic) @@ -1565,13 +1565,13 @@ void RenX_LoggingPlugin::RenX_OnDonate(RenX::Server *server, const RenX::PlayerI Jupiter::String msg = this->donateFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, donor, player); + RenX::processTags(msg, &server, &donor, &player); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, Jupiter::StringS::Format("%.0f", amount)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnDestroy(RenX::Server *server, const Jupiter::ReadableString &killer, const RenX::TeamType &killerTeam, const Jupiter::ReadableString &objectName, const RenX::TeamType &objectTeam, const Jupiter::ReadableString &damageType, RenX::ObjectType type) +void RenX_LoggingPlugin::RenX_OnDestroy(RenX::Server &server, const Jupiter::ReadableString &killer, const RenX::TeamType &killerTeam, const Jupiter::ReadableString &objectName, const RenX::TeamType &objectTeam, const Jupiter::ReadableString &damageType, RenX::ObjectType type) { logFuncType func; if (RenX_LoggingPlugin::destroyPublic) @@ -1594,7 +1594,7 @@ void RenX_LoggingPlugin::RenX_OnDestroy(RenX::Server *server, const Jupiter::Rea } if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_NAME_TAG, RenX::translateName(killer)); msg.replace(RenX::tags->INTERNAL_TEAM_COLOR_TAG, RenX::getTeamColor(killerTeam)); msg.replace(RenX::tags->INTERNAL_TEAM_SHORT_TAG, RenX::getTeamName(killerTeam)); @@ -1604,11 +1604,11 @@ void RenX_LoggingPlugin::RenX_OnDestroy(RenX::Server *server, const Jupiter::Rea msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_LONG_TAG, RenX::getFullTeamName(objectTeam)); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(objectName)); msg.replace(RenX::tags->INTERNAL_WEAPON_TAG, RenX::translateName(damageType)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnGameOver(RenX::Server *server, RenX::WinType winType, const RenX::TeamType &team, int gScore, int nScore) +void RenX_LoggingPlugin::RenX_OnGameOver(RenX::Server &server, RenX::WinType winType, const RenX::TeamType &team, int gScore, int nScore) { RenX::TeamType loserTeam = RenX::getEnemy(team); int winScore; @@ -1654,7 +1654,7 @@ void RenX_LoggingPlugin::RenX_OnGameOver(RenX::Server *server, RenX::WinType win msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_SHORT_TAG, RenX::getTeamName(loserTeam)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_LONG_TAG, RenX::getFullTeamName(loserTeam)); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, RenX::translateWinType(winType)); - (server->*func)(msg); + (server.*func)(msg); } msg = this->gameOverScoreFmt; @@ -1671,7 +1671,7 @@ void RenX_LoggingPlugin::RenX_OnGameOver(RenX::Server *server, RenX::WinType win msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_SHORT_TAG, RenX::getTeamName(RenX::TeamType::Nod)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_LONG_TAG, RenX::getFullTeamName(RenX::TeamType::Nod)); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, RenX::translateWinType(winType)); - (server->*func)(msg); + (server.*func)(msg); } } else if (msg.isNotEmpty()) @@ -1685,11 +1685,11 @@ void RenX_LoggingPlugin::RenX_OnGameOver(RenX::Server *server, RenX::WinType win msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_SHORT_TAG, RenX::getTeamName(loserTeam)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_LONG_TAG, RenX::getFullTeamName(loserTeam)); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, RenX::translateWinType(winType)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnGame(RenX::Server *server, const Jupiter::ReadableString &raw) +void RenX_LoggingPlugin::RenX_OnGame(RenX::Server &server, const Jupiter::ReadableString &raw) { logFuncType func; if (RenX_LoggingPlugin::gamePublic) @@ -1700,15 +1700,15 @@ void RenX_LoggingPlugin::RenX_OnGame(RenX::Server *server, const Jupiter::Readab Jupiter::String msg = this->gameFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, raw); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnExecute(RenX::Server *server, const Jupiter::ReadableString &user, const Jupiter::ReadableString &command) +void RenX_LoggingPlugin::RenX_OnExecute(RenX::Server &server, const Jupiter::ReadableString &user, const Jupiter::ReadableString &command) { - if (RenX_LoggingPlugin::muteOwnExecute == false || server->getUser().equals(user) == false) + if (RenX_LoggingPlugin::muteOwnExecute == false || server.getUser().equals(user) == false) { logFuncType func; if (RenX_LoggingPlugin::executePublic) @@ -1724,15 +1724,15 @@ void RenX_LoggingPlugin::RenX_OnExecute(RenX::Server *server, const Jupiter::Rea if (msg.isNotEmpty()) { - processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_NAME_TAG, user); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, command); - (server->*func)(msg); + (server.*func)(msg); } } } -void RenX_LoggingPlugin::RenX_OnSubscribe(RenX::Server *server, const Jupiter::ReadableString &user) +void RenX_LoggingPlugin::RenX_OnSubscribe(RenX::Server &server, const Jupiter::ReadableString &user) { logFuncType func; if (RenX_LoggingPlugin::subscribePublic) @@ -1743,13 +1743,13 @@ void RenX_LoggingPlugin::RenX_OnSubscribe(RenX::Server *server, const Jupiter::R Jupiter::String msg = this->subscribeFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_NAME_TAG, user); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnRCON(RenX::Server *server, const Jupiter::ReadableString &raw) +void RenX_LoggingPlugin::RenX_OnRCON(RenX::Server &server, const Jupiter::ReadableString &raw) { logFuncType func; if (RenX_LoggingPlugin::RCONPublic) @@ -1760,13 +1760,13 @@ void RenX_LoggingPlugin::RenX_OnRCON(RenX::Server *server, const Jupiter::Readab Jupiter::String msg = this->rconFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, raw); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnAdminLogin(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnAdminLogin(RenX::Server &server, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::adminLoginPublic) @@ -1777,12 +1777,12 @@ void RenX_LoggingPlugin::RenX_OnAdminLogin(RenX::Server *server, const RenX::Pla Jupiter::String msg = this->adminLoginFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnAdminGrant(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnAdminGrant(RenX::Server &server, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::adminGrantPublic) @@ -1793,12 +1793,12 @@ void RenX_LoggingPlugin::RenX_OnAdminGrant(RenX::Server *server, const RenX::Pla Jupiter::String msg = this->adminGrantFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnAdminLogout(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnAdminLogout(RenX::Server &server, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::adminLogoutPublic) @@ -1809,12 +1809,12 @@ void RenX_LoggingPlugin::RenX_OnAdminLogout(RenX::Server *server, const RenX::Pl Jupiter::String msg = this->adminLogoutFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnAdmin(RenX::Server *server, const Jupiter::ReadableString &raw) +void RenX_LoggingPlugin::RenX_OnAdmin(RenX::Server &server, const Jupiter::ReadableString &raw) { logFuncType func; if (RenX_LoggingPlugin::adminPublic) @@ -1825,13 +1825,13 @@ void RenX_LoggingPlugin::RenX_OnAdmin(RenX::Server *server, const Jupiter::Reada Jupiter::String msg = this->adminFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, raw); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnVoteAddBots(RenX::Server *server, const RenX::TeamType &, const RenX::PlayerInfo *player, const RenX::TeamType &victim, int amount, int skill) +void RenX_LoggingPlugin::RenX_OnVoteAddBots(RenX::Server &server, const RenX::TeamType &, const RenX::PlayerInfo &player, const RenX::TeamType &victim, int amount, int skill) { logFuncType func; if (RenX_LoggingPlugin::voteCallPublic) @@ -1842,17 +1842,17 @@ void RenX_LoggingPlugin::RenX_OnVoteAddBots(RenX::Server *server, const RenX::Te Jupiter::String msg = this->voteAddBotsFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_COLOR_TAG, RenX::getTeamColor(victim)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_SHORT_TAG, RenX::getTeamName(victim)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_LONG_TAG, RenX::getFullTeamName(victim)); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, Jupiter::StringS::Format("%d", amount)); msg.replace(RenX::tags->INTERNAL_WEAPON_TAG, Jupiter::StringS::Format("%d", skill)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnVoteChangeMap(RenX::Server *server, const RenX::TeamType &team, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnVoteChangeMap(RenX::Server &server, const RenX::TeamType &team, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::voteCallPublic) @@ -1863,15 +1863,15 @@ void RenX_LoggingPlugin::RenX_OnVoteChangeMap(RenX::Server *server, const RenX:: Jupiter::String msg = this->voteChangeMapFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_COLOR_TAG, RenX::getTeamColor(team)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_SHORT_TAG, RenX::getTeamName(team)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_LONG_TAG, RenX::getFullTeamName(team)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnVoteKick(RenX::Server *server, const RenX::TeamType &, const RenX::PlayerInfo *player, const RenX::PlayerInfo *victim) +void RenX_LoggingPlugin::RenX_OnVoteKick(RenX::Server &server, const RenX::TeamType &, const RenX::PlayerInfo &player, const RenX::PlayerInfo &victim) { logFuncType func; if (RenX_LoggingPlugin::voteCallPublic) @@ -1882,12 +1882,12 @@ void RenX_LoggingPlugin::RenX_OnVoteKick(RenX::Server *server, const RenX::TeamT Jupiter::String msg = this->voteKickFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player, victim); - (server->*func)(msg); + RenX::processTags(msg, &server, &player, &victim); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnVoteMineBan(RenX::Server *server, const RenX::TeamType &, const RenX::PlayerInfo *player, const RenX::PlayerInfo *victim) +void RenX_LoggingPlugin::RenX_OnVoteMineBan(RenX::Server &server, const RenX::TeamType &, const RenX::PlayerInfo &player, const RenX::PlayerInfo &victim) { logFuncType func; if (RenX_LoggingPlugin::voteCallPublic) @@ -1898,12 +1898,12 @@ void RenX_LoggingPlugin::RenX_OnVoteMineBan(RenX::Server *server, const RenX::Te Jupiter::String msg = this->voteMineBanFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player, victim); - (server->*func)(msg); + RenX::processTags(msg, &server, &player, &victim); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnVoteRemoveBots(RenX::Server *server, const RenX::TeamType &, const RenX::PlayerInfo *player, const RenX::TeamType &victim, int amount) +void RenX_LoggingPlugin::RenX_OnVoteRemoveBots(RenX::Server &server, const RenX::TeamType &, const RenX::PlayerInfo &player, const RenX::TeamType &victim, int amount) { logFuncType func; if (RenX_LoggingPlugin::voteCallPublic) @@ -1914,16 +1914,16 @@ void RenX_LoggingPlugin::RenX_OnVoteRemoveBots(RenX::Server *server, const RenX: Jupiter::String msg = this->voteRemoveBotsFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_COLOR_TAG, RenX::getTeamColor(victim)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_SHORT_TAG, RenX::getTeamName(victim)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_LONG_TAG, RenX::getFullTeamName(victim)); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, Jupiter::StringS::Format("%d", amount)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnVoteRestartMap(RenX::Server *server, const RenX::TeamType &team, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnVoteRestartMap(RenX::Server &server, const RenX::TeamType &team, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::voteCallPublic) @@ -1934,15 +1934,15 @@ void RenX_LoggingPlugin::RenX_OnVoteRestartMap(RenX::Server *server, const RenX: Jupiter::String msg = this->voteRestartMapFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_COLOR_TAG, RenX::getTeamColor(team)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_SHORT_TAG, RenX::getTeamName(team)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_LONG_TAG, RenX::getFullTeamName(team)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnVoteSurrender(RenX::Server *server, const RenX::TeamType &team, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnVoteSurrender(RenX::Server &server, const RenX::TeamType &team, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::voteCallPublic) @@ -1953,15 +1953,15 @@ void RenX_LoggingPlugin::RenX_OnVoteSurrender(RenX::Server *server, const RenX:: Jupiter::String msg = this->voteSurrenderFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_COLOR_TAG, RenX::getTeamColor(team)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_SHORT_TAG, RenX::getTeamName(team)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_LONG_TAG, RenX::getFullTeamName(team)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnVoteSurvey(RenX::Server *server, const RenX::TeamType &team, const RenX::PlayerInfo *player, const Jupiter::ReadableString &text) +void RenX_LoggingPlugin::RenX_OnVoteSurvey(RenX::Server &server, const RenX::TeamType &team, const RenX::PlayerInfo &player, const Jupiter::ReadableString &text) { logFuncType func; if (RenX_LoggingPlugin::voteCallPublic) @@ -1972,16 +1972,16 @@ void RenX_LoggingPlugin::RenX_OnVoteSurvey(RenX::Server *server, const RenX::Tea Jupiter::String msg = this->voteSurveyFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_COLOR_TAG, RenX::getTeamColor(team)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_SHORT_TAG, RenX::getTeamName(team)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_LONG_TAG, RenX::getFullTeamName(team)); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, text); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnVoteOther(RenX::Server *server, const RenX::TeamType &team, const Jupiter::ReadableString &type, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnVoteOther(RenX::Server &server, const RenX::TeamType &team, const Jupiter::ReadableString &type, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::voteCallPublic) @@ -1992,16 +1992,16 @@ void RenX_LoggingPlugin::RenX_OnVoteOther(RenX::Server *server, const RenX::Team Jupiter::String msg = this->voteOtherFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); + RenX::processTags(msg, &server, &player); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_COLOR_TAG, RenX::getTeamColor(team)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_SHORT_TAG, RenX::getTeamName(team)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_LONG_TAG, RenX::getFullTeamName(team)); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(type)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnVoteOver(RenX::Server *server, const RenX::TeamType &team, const Jupiter::ReadableString &type, bool success, int yesVotes, int noVotes) +void RenX_LoggingPlugin::RenX_OnVoteOver(RenX::Server &server, const RenX::TeamType &team, const Jupiter::ReadableString &type, bool success, int yesVotes, int noVotes) { logFuncType func; if (RenX_LoggingPlugin::voteOverPublic) @@ -2012,7 +2012,7 @@ void RenX_LoggingPlugin::RenX_OnVoteOver(RenX::Server *server, const RenX::TeamT Jupiter::String msg = success ? this->voteOverSuccessFmt : this->voteOverFailFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(type)); msg.replace(RenX::tags->INTERNAL_TEAM_COLOR_TAG, RenX::getTeamColor(team)); msg.replace(RenX::tags->INTERNAL_TEAM_SHORT_TAG, RenX::getTeamName(team)); @@ -2022,11 +2022,11 @@ void RenX_LoggingPlugin::RenX_OnVoteOver(RenX::Server *server, const RenX::TeamT msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_LONG_TAG, RenX::getFullTeamName(team)); msg.replace(RenX::tags->INTERNAL_WIN_SCORE_TAG, Jupiter::StringS::Format("%d", yesVotes)); msg.replace(RenX::tags->INTERNAL_LOSE_SCORE_TAG, Jupiter::StringS::Format("%d", noVotes)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnVoteCancel(RenX::Server *server, const RenX::TeamType &team, const Jupiter::ReadableString &type) +void RenX_LoggingPlugin::RenX_OnVoteCancel(RenX::Server &server, const RenX::TeamType &team, const Jupiter::ReadableString &type) { logFuncType func; if (RenX_LoggingPlugin::voteCancelPublic) @@ -2037,7 +2037,7 @@ void RenX_LoggingPlugin::RenX_OnVoteCancel(RenX::Server *server, const RenX::Tea Jupiter::String msg = this->voteCancelFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_OBJECT_TAG, RenX::translateName(type)); msg.replace(RenX::tags->INTERNAL_TEAM_COLOR_TAG, RenX::getTeamColor(team)); msg.replace(RenX::tags->INTERNAL_TEAM_SHORT_TAG, RenX::getTeamName(team)); @@ -2045,11 +2045,11 @@ void RenX_LoggingPlugin::RenX_OnVoteCancel(RenX::Server *server, const RenX::Tea msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_COLOR_TAG, RenX::getTeamColor(team)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_SHORT_TAG, RenX::getTeamName(team)); msg.replace(RenX::tags->INTERNAL_VICTIM_TEAM_LONG_TAG, RenX::getFullTeamName(team)); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnVote(RenX::Server *server, const Jupiter::ReadableString &raw) +void RenX_LoggingPlugin::RenX_OnVote(RenX::Server &server, const Jupiter::ReadableString &raw) { logFuncType func; if (RenX_LoggingPlugin::votePublic) @@ -2060,13 +2060,13 @@ void RenX_LoggingPlugin::RenX_OnVote(RenX::Server *server, const Jupiter::Readab Jupiter::String msg = this->voteFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, raw); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnMapChange(RenX::Server *server, const Jupiter::ReadableString &map, bool seamless) +void RenX_LoggingPlugin::RenX_OnMapChange(RenX::Server &server, const Jupiter::ReadableString &map, bool seamless) { logFuncType func; if (RenX_LoggingPlugin::mapChangePublic) @@ -2077,13 +2077,13 @@ void RenX_LoggingPlugin::RenX_OnMapChange(RenX::Server *server, const Jupiter::R Jupiter::String msg = this->mapChangeFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, map); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnMapLoad(RenX::Server *server, const Jupiter::ReadableString &map) +void RenX_LoggingPlugin::RenX_OnMapLoad(RenX::Server &server, const Jupiter::ReadableString &map) { logFuncType func; if (RenX_LoggingPlugin::mapLoadPublic) @@ -2094,13 +2094,13 @@ void RenX_LoggingPlugin::RenX_OnMapLoad(RenX::Server *server, const Jupiter::Rea Jupiter::String msg = this->mapLoadFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, map); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnMapStart(RenX::Server *server, const Jupiter::ReadableString &map) +void RenX_LoggingPlugin::RenX_OnMapStart(RenX::Server &server, const Jupiter::ReadableString &map) { logFuncType func; if (RenX_LoggingPlugin::mapStartPublic) @@ -2111,13 +2111,13 @@ void RenX_LoggingPlugin::RenX_OnMapStart(RenX::Server *server, const Jupiter::Re Jupiter::String msg = this->mapStartFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, map); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnMap(RenX::Server *server, const Jupiter::ReadableString &raw) +void RenX_LoggingPlugin::RenX_OnMap(RenX::Server &server, const Jupiter::ReadableString &raw) { logFuncType func; if (RenX_LoggingPlugin::mapPublic) @@ -2128,13 +2128,13 @@ void RenX_LoggingPlugin::RenX_OnMap(RenX::Server *server, const Jupiter::Readabl Jupiter::String msg = this->mapFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, raw); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnDemoRecord(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_LoggingPlugin::RenX_OnDemoRecord(RenX::Server &server, const RenX::PlayerInfo &player) { logFuncType func; if (RenX_LoggingPlugin::demoRecordPublic) @@ -2145,12 +2145,12 @@ void RenX_LoggingPlugin::RenX_OnDemoRecord(RenX::Server *server, const RenX::Pla Jupiter::String msg = this->demoRecordFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server, player); - (server->*func)(msg); + RenX::processTags(msg, &server, &player); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnDemoRecord(RenX::Server *server, const Jupiter::ReadableString &user) +void RenX_LoggingPlugin::RenX_OnDemoRecord(RenX::Server &server, const Jupiter::ReadableString &user) { logFuncType func; if (RenX_LoggingPlugin::demoRecordPublic) @@ -2161,13 +2161,13 @@ void RenX_LoggingPlugin::RenX_OnDemoRecord(RenX::Server *server, const Jupiter:: Jupiter::String msg = this->rconDemoRecordFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->nameTag, user); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnDemoRecordStop(RenX::Server *server) +void RenX_LoggingPlugin::RenX_OnDemoRecordStop(RenX::Server &server) { logFuncType func; if (RenX_LoggingPlugin::demoRecordStopPublic) @@ -2178,12 +2178,12 @@ void RenX_LoggingPlugin::RenX_OnDemoRecordStop(RenX::Server *server) Jupiter::String msg = this->demoRecordStopFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); - (server->*func)(msg); + RenX::processTags(msg, &server); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnDemo(RenX::Server *server, const Jupiter::ReadableString &raw) +void RenX_LoggingPlugin::RenX_OnDemo(RenX::Server &server, const Jupiter::ReadableString &raw) { logFuncType func; if (RenX_LoggingPlugin::demoPublic) @@ -2194,13 +2194,13 @@ void RenX_LoggingPlugin::RenX_OnDemo(RenX::Server *server, const Jupiter::Readab Jupiter::String msg = this->demoFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, raw); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnLog(RenX::Server *server, const Jupiter::ReadableString &raw) +void RenX_LoggingPlugin::RenX_OnLog(RenX::Server &server, const Jupiter::ReadableString &raw) { logFuncType func; if (RenX_LoggingPlugin::logPublic) @@ -2211,13 +2211,13 @@ void RenX_LoggingPlugin::RenX_OnLog(RenX::Server *server, const Jupiter::Readabl Jupiter::String msg = this->logFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, raw); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnCommand(RenX::Server *server, const Jupiter::ReadableString &raw) +void RenX_LoggingPlugin::RenX_OnCommand(RenX::Server &server, const Jupiter::ReadableString &raw) { logFuncType func; if (RenX_LoggingPlugin::commandPublic) @@ -2228,13 +2228,13 @@ void RenX_LoggingPlugin::RenX_OnCommand(RenX::Server *server, const Jupiter::Rea Jupiter::String msg = this->commandFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, raw); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnError(RenX::Server *server, const Jupiter::ReadableString &raw) +void RenX_LoggingPlugin::RenX_OnError(RenX::Server &server, const Jupiter::ReadableString &raw) { logFuncType func; if (RenX_LoggingPlugin::errorPublic) @@ -2245,13 +2245,13 @@ void RenX_LoggingPlugin::RenX_OnError(RenX::Server *server, const Jupiter::Reada Jupiter::String msg = this->errorFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, raw); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnVersion(RenX::Server *server, const Jupiter::ReadableString &raw) +void RenX_LoggingPlugin::RenX_OnVersion(RenX::Server &server, const Jupiter::ReadableString &raw) { logFuncType func; if (RenX_LoggingPlugin::versionPublic) @@ -2262,13 +2262,13 @@ void RenX_LoggingPlugin::RenX_OnVersion(RenX::Server *server, const Jupiter::Rea Jupiter::String msg = this->versionFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, raw); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnAuthorized(RenX::Server *server, const Jupiter::ReadableString &raw) +void RenX_LoggingPlugin::RenX_OnAuthorized(RenX::Server &server, const Jupiter::ReadableString &raw) { logFuncType func; if (RenX_LoggingPlugin::authorizedPublic) @@ -2279,13 +2279,13 @@ void RenX_LoggingPlugin::RenX_OnAuthorized(RenX::Server *server, const Jupiter:: Jupiter::String msg = this->authorizedFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, raw); - (server->*func)(msg); + (server.*func)(msg); } } -void RenX_LoggingPlugin::RenX_OnOther(RenX::Server *server, char token, const Jupiter::ReadableString &raw) +void RenX_LoggingPlugin::RenX_OnOther(RenX::Server &server, char token, const Jupiter::ReadableString &raw) { logFuncType func; if (RenX_LoggingPlugin::otherPublic) @@ -2296,9 +2296,9 @@ void RenX_LoggingPlugin::RenX_OnOther(RenX::Server *server, char token, const Ju Jupiter::String msg = this->otherFmt; if (msg.isNotEmpty()) { - RenX::processTags(msg, server); + RenX::processTags(msg, &server); msg.replace(RenX::tags->INTERNAL_MESSAGE_TAG, raw); - (server->*func)(msg); + (server.*func)(msg); } } diff --git a/RenX.Logging/RenX_Logging.h b/RenX.Logging/RenX_Logging.h index 8255204..4e21312 100644 --- a/RenX.Logging/RenX_Logging.h +++ b/RenX.Logging/RenX_Logging.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -25,108 +25,108 @@ class RenX_LoggingPlugin : public RenX::Plugin { public: // RenX::Plugin - void RenX_OnPlayerRDNS(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnPlayerIdentify(RenX::Server *server, const RenX::PlayerInfo *player) override; + void RenX_OnPlayerRDNS(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnPlayerIdentify(RenX::Server &server, const RenX::PlayerInfo &player) override; - void RenX_OnJoin(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnPart(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnKick(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &reason) override; - void RenX_OnNameChange(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &newPlayerName) override; - void RenX_OnTeamChange(RenX::Server *server, const RenX::PlayerInfo *player, const RenX::TeamType &oldTeam) override; - void RenX_OnExecute(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &command) override; - void RenX_OnPlayerCommand(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &message, RenX::GameCommand *command) override; - void RenX_OnSpeedHack(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnPlayer(RenX::Server *server, const Jupiter::ReadableString &raw) override; + void RenX_OnJoin(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnPart(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnKick(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &reason) override; + void RenX_OnNameChange(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &newPlayerName) override; + void RenX_OnTeamChange(RenX::Server &server, const RenX::PlayerInfo &player, const RenX::TeamType &oldTeam) override; + void RenX_OnExecute(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &command) override; + void RenX_OnPlayerCommand(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &message, RenX::GameCommand *command) override; + void RenX_OnSpeedHack(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnPlayer(RenX::Server &server, const Jupiter::ReadableString &raw) override; - void RenX_OnChat(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &message) override; - void RenX_OnTeamChat(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &message) override; - void RenX_OnRadioChat(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &message) override; - void RenX_OnHostChat(RenX::Server *server, const Jupiter::ReadableString &message) override; - void RenX_OnHostPage(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &message) override; - void RenX_OnOtherChat(RenX::Server *server, const Jupiter::ReadableString &raw) override; + void RenX_OnChat(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &message) override; + void RenX_OnTeamChat(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &message) override; + void RenX_OnRadioChat(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &message) override; + void RenX_OnHostChat(RenX::Server &server, const Jupiter::ReadableString &message) override; + void RenX_OnHostPage(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &message) override; + void RenX_OnOtherChat(RenX::Server &server, const Jupiter::ReadableString &raw) override; - void RenX_OnDeploy(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &object) override; - void RenX_OnOverMine(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &location) override; - void RenX_OnDisarm(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &object, const RenX::PlayerInfo *victim) override; - void RenX_OnDisarm(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &object) override; - void RenX_OnExplode(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &object) override; - void RenX_OnExplode(RenX::Server *server, const Jupiter::ReadableString &object) override; - void RenX_OnSuicide(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &damageType) override; - void RenX_OnKill(RenX::Server *server, const RenX::PlayerInfo *player, const RenX::PlayerInfo *victim, const Jupiter::ReadableString &damageType) override; - void RenX_OnKill(RenX::Server *server, const Jupiter::ReadableString &killer, const RenX::TeamType &killerTeam, const RenX::PlayerInfo *victim, const Jupiter::ReadableString &damageType) override; - void RenX_OnDie(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &damageType) override; - void RenX_OnDie(RenX::Server *server, const Jupiter::ReadableString &object, const RenX::TeamType &objectTeam, const Jupiter::ReadableString &damageType) override; - void RenX_OnDestroy(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &objectName, const RenX::TeamType &objectTeam, const Jupiter::ReadableString &damageType, RenX::ObjectType type) override; - void RenX_OnDestroy(RenX::Server *server, const Jupiter::ReadableString &killer, const RenX::TeamType &killerTeam, const Jupiter::ReadableString &objectName, const RenX::TeamType &objectTeam, const Jupiter::ReadableString &damageType, RenX::ObjectType type) override; - void RenX_OnCapture(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &building, const RenX::TeamType &oldTeam) override; - void RenX_OnNeutralize(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &building, const RenX::TeamType &oldTeam) override; - void RenX_OnCharacterPurchase(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &character) override; - void RenX_OnItemPurchase(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &item) override; - void RenX_OnWeaponPurchase(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &weapon) override; - void RenX_OnRefillPurchase(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnVehiclePurchase(RenX::Server *server, const RenX::PlayerInfo *owner, const Jupiter::ReadableString &vehicle) override; - void RenX_OnVehicleSpawn(RenX::Server *server, const RenX::TeamType &team, const Jupiter::ReadableString &vehicle) override; - void RenX_OnSpawn(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &character) override; - void RenX_OnBotJoin(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnVehicleCrate(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &vehicle) override; - void RenX_OnTSVehicleCrate(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &vehicle) override; - void RenX_OnRAVehicleCrate(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &vehicle) override; - void RenX_OnDeathCrate(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnMoneyCrate(RenX::Server *server, const RenX::PlayerInfo *player, int amount) override; - void RenX_OnCharacterCrate(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &character) override; - void RenX_OnSpyCrate(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &character) override; - void RenX_OnRefillCrate(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnTimeBombCrate(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnSpeedCrate(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnNukeCrate(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnAbductionCrate(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnUnspecifiedCrate(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnOtherCrate(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &type) override; - void RenX_OnSteal(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &vehicle) override; - void RenX_OnSteal(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &vehicle, const RenX::PlayerInfo *victim) override; - void RenX_OnDonate(RenX::Server *server, const RenX::PlayerInfo *donor, const RenX::PlayerInfo *player, double amount) override; - void RenX_OnGameOver(RenX::Server *server, RenX::WinType winType, const RenX::TeamType &team, int gScore, int nScore) override; - void RenX_OnGame(RenX::Server *server, const Jupiter::ReadableString &raw) override; + void RenX_OnDeploy(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &object) override; + void RenX_OnOverMine(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &location) override; + void RenX_OnDisarm(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &object, const RenX::PlayerInfo &victim) override; + void RenX_OnDisarm(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &object) override; + void RenX_OnExplode(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &object) override; + void RenX_OnExplode(RenX::Server &server, const Jupiter::ReadableString &object) override; + void RenX_OnSuicide(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &damageType) override; + void RenX_OnKill(RenX::Server &server, const RenX::PlayerInfo &player, const RenX::PlayerInfo &victim, const Jupiter::ReadableString &damageType) override; + void RenX_OnKill(RenX::Server &server, const Jupiter::ReadableString &killer, const RenX::TeamType &killerTeam, const RenX::PlayerInfo &victim, const Jupiter::ReadableString &damageType) override; + void RenX_OnDie(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &damageType) override; + void RenX_OnDie(RenX::Server &server, const Jupiter::ReadableString &object, const RenX::TeamType &objectTeam, const Jupiter::ReadableString &damageType) override; + void RenX_OnDestroy(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &objectName, const RenX::TeamType &objectTeam, const Jupiter::ReadableString &damageType, RenX::ObjectType type) override; + void RenX_OnDestroy(RenX::Server &server, const Jupiter::ReadableString &killer, const RenX::TeamType &killerTeam, const Jupiter::ReadableString &objectName, const RenX::TeamType &objectTeam, const Jupiter::ReadableString &damageType, RenX::ObjectType type) override; + void RenX_OnCapture(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &building, const RenX::TeamType &oldTeam) override; + void RenX_OnNeutralize(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &building, const RenX::TeamType &oldTeam) override; + void RenX_OnCharacterPurchase(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &character) override; + void RenX_OnItemPurchase(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &item) override; + void RenX_OnWeaponPurchase(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &weapon) override; + void RenX_OnRefillPurchase(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnVehiclePurchase(RenX::Server &server, const RenX::PlayerInfo &owner, const Jupiter::ReadableString &vehicle) override; + void RenX_OnVehicleSpawn(RenX::Server &server, const RenX::TeamType &team, const Jupiter::ReadableString &vehicle) override; + void RenX_OnSpawn(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &character) override; + void RenX_OnBotJoin(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnVehicleCrate(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &vehicle) override; + void RenX_OnTSVehicleCrate(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &vehicle) override; + void RenX_OnRAVehicleCrate(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &vehicle) override; + void RenX_OnDeathCrate(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnMoneyCrate(RenX::Server &server, const RenX::PlayerInfo &player, int amount) override; + void RenX_OnCharacterCrate(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &character) override; + void RenX_OnSpyCrate(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &character) override; + void RenX_OnRefillCrate(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnTimeBombCrate(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnSpeedCrate(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnNukeCrate(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnAbductionCrate(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnUnspecifiedCrate(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnOtherCrate(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &type) override; + void RenX_OnSteal(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &vehicle) override; + void RenX_OnSteal(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &vehicle, const RenX::PlayerInfo &victim) override; + void RenX_OnDonate(RenX::Server &server, const RenX::PlayerInfo &donor, const RenX::PlayerInfo &player, double amount) override; + void RenX_OnGameOver(RenX::Server &server, RenX::WinType winType, const RenX::TeamType &team, int gScore, int nScore) override; + void RenX_OnGame(RenX::Server &server, const Jupiter::ReadableString &raw) override; - void RenX_OnExecute(RenX::Server *server, const Jupiter::ReadableString &user, const Jupiter::ReadableString &command) override; - void RenX_OnSubscribe(RenX::Server *server, const Jupiter::ReadableString &user) override; - void RenX_OnRCON(RenX::Server *server, const Jupiter::ReadableString &raw) override; + void RenX_OnExecute(RenX::Server &server, const Jupiter::ReadableString &user, const Jupiter::ReadableString &command) override; + void RenX_OnSubscribe(RenX::Server &server, const Jupiter::ReadableString &user) override; + void RenX_OnRCON(RenX::Server &server, const Jupiter::ReadableString &raw) override; - void RenX_OnAdminLogin(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnAdminGrant(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnAdminLogout(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnAdmin(RenX::Server *server, const Jupiter::ReadableString &raw) override; + void RenX_OnAdminLogin(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnAdminGrant(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnAdminLogout(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnAdmin(RenX::Server &server, const Jupiter::ReadableString &raw) override; - void RenX_OnVoteAddBots(RenX::Server *server, const RenX::TeamType &team, const RenX::PlayerInfo *player, const RenX::TeamType &victim, int amount, int skill) override; - void RenX_OnVoteChangeMap(RenX::Server *server, const RenX::TeamType &team, const RenX::PlayerInfo *player) override; - void RenX_OnVoteKick(RenX::Server *server, const RenX::TeamType &team, const RenX::PlayerInfo *player, const RenX::PlayerInfo *victim) override; - void RenX_OnVoteMineBan(RenX::Server *server, const RenX::TeamType &team, const RenX::PlayerInfo *player, const RenX::PlayerInfo *victim) override; - void RenX_OnVoteRemoveBots(RenX::Server *server, const RenX::TeamType &team, const RenX::PlayerInfo *player, const RenX::TeamType &victim, int amount) override; - void RenX_OnVoteRestartMap(RenX::Server *server, const RenX::TeamType &team, const RenX::PlayerInfo *player) override; - void RenX_OnVoteSurrender(RenX::Server *server, const RenX::TeamType &team, const RenX::PlayerInfo *player) override; - void RenX_OnVoteSurvey(RenX::Server *server, const RenX::TeamType &team, const RenX::PlayerInfo *player, const Jupiter::ReadableString &text) override; - void RenX_OnVoteOther(RenX::Server *server, const RenX::TeamType &team, const Jupiter::ReadableString &type, const RenX::PlayerInfo *player) override; - void RenX_OnVoteOver(RenX::Server *server, const RenX::TeamType &team, const Jupiter::ReadableString &type, bool success, int yesVotes, int noVotes) override; - void RenX_OnVoteCancel(RenX::Server *server, const RenX::TeamType &team, const Jupiter::ReadableString &type) override; - void RenX_OnVote(RenX::Server *server, const Jupiter::ReadableString &raw) override; + void RenX_OnVoteAddBots(RenX::Server &server, const RenX::TeamType &team, const RenX::PlayerInfo &player, const RenX::TeamType &victim, int amount, int skill) override; + void RenX_OnVoteChangeMap(RenX::Server &server, const RenX::TeamType &team, const RenX::PlayerInfo &player) override; + void RenX_OnVoteKick(RenX::Server &server, const RenX::TeamType &team, const RenX::PlayerInfo &player, const RenX::PlayerInfo &victim) override; + void RenX_OnVoteMineBan(RenX::Server &server, const RenX::TeamType &team, const RenX::PlayerInfo &player, const RenX::PlayerInfo &victim) override; + void RenX_OnVoteRemoveBots(RenX::Server &server, const RenX::TeamType &team, const RenX::PlayerInfo &player, const RenX::TeamType &victim, int amount) override; + void RenX_OnVoteRestartMap(RenX::Server &server, const RenX::TeamType &team, const RenX::PlayerInfo &player) override; + void RenX_OnVoteSurrender(RenX::Server &server, const RenX::TeamType &team, const RenX::PlayerInfo &player) override; + void RenX_OnVoteSurvey(RenX::Server &server, const RenX::TeamType &team, const RenX::PlayerInfo &player, const Jupiter::ReadableString &text) override; + void RenX_OnVoteOther(RenX::Server &server, const RenX::TeamType &team, const Jupiter::ReadableString &type, const RenX::PlayerInfo &player) override; + void RenX_OnVoteOver(RenX::Server &server, const RenX::TeamType &team, const Jupiter::ReadableString &type, bool success, int yesVotes, int noVotes) override; + void RenX_OnVoteCancel(RenX::Server &server, const RenX::TeamType &team, const Jupiter::ReadableString &type) override; + void RenX_OnVote(RenX::Server &server, const Jupiter::ReadableString &raw) override; - void RenX_OnMapChange(RenX::Server *server, const Jupiter::ReadableString &map, bool seamless) override; - void RenX_OnMapLoad(RenX::Server *server, const Jupiter::ReadableString &map) override; - void RenX_OnMapStart(RenX::Server *server, const Jupiter::ReadableString &map) override; - void RenX_OnMap(RenX::Server *server, const Jupiter::ReadableString &raw) override; + void RenX_OnMapChange(RenX::Server &server, const Jupiter::ReadableString &map, bool seamless) override; + void RenX_OnMapLoad(RenX::Server &server, const Jupiter::ReadableString &map) override; + void RenX_OnMapStart(RenX::Server &server, const Jupiter::ReadableString &map) override; + void RenX_OnMap(RenX::Server &server, const Jupiter::ReadableString &raw) override; - void RenX_OnDemoRecord(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnDemoRecord(RenX::Server *server, const Jupiter::ReadableString &user) override; - void RenX_OnDemoRecordStop(RenX::Server *server) override; - void RenX_OnDemo(RenX::Server *server, const Jupiter::ReadableString &raw) override; + void RenX_OnDemoRecord(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnDemoRecord(RenX::Server &server, const Jupiter::ReadableString &user) override; + void RenX_OnDemoRecordStop(RenX::Server &server) override; + void RenX_OnDemo(RenX::Server &server, const Jupiter::ReadableString &raw) override; - void RenX_OnLog(RenX::Server *server, const Jupiter::ReadableString &raw) override; + void RenX_OnLog(RenX::Server &server, const Jupiter::ReadableString &raw) override; - void RenX_OnCommand(RenX::Server *server, const Jupiter::ReadableString &raw) override; - void RenX_OnError(RenX::Server *server, const Jupiter::ReadableString &raw) override; - void RenX_OnVersion(RenX::Server *server, const Jupiter::ReadableString &raw) override; - void RenX_OnAuthorized(RenX::Server *server, const Jupiter::ReadableString &raw) override; - void RenX_OnOther(RenX::Server *server, const char token, const Jupiter::ReadableString &raw) override; + void RenX_OnCommand(RenX::Server &server, const Jupiter::ReadableString &raw) override; + void RenX_OnError(RenX::Server &server, const Jupiter::ReadableString &raw) override; + void RenX_OnVersion(RenX::Server &server, const Jupiter::ReadableString &raw) override; + void RenX_OnAuthorized(RenX::Server &server, const Jupiter::ReadableString &raw) override; + void RenX_OnOther(RenX::Server &server, const char token, const Jupiter::ReadableString &raw) override; public: // Jupiter::Plugin int OnRehash() override; diff --git a/RenX.Medals/RenX_Medals.cpp b/RenX.Medals/RenX_Medals.cpp index bd41c06..5b528e9 100644 --- a/RenX.Medals/RenX_Medals.cpp +++ b/RenX.Medals/RenX_Medals.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -19,7 +19,6 @@ #include #include "Jupiter/Timer.h" #include "Jupiter/IRC_Client.h" -#include "Jupiter/DLList.h" #include "RenX_Medals.h" #include "RenX_Server.h" #include "RenX_PlayerInfo.h" @@ -42,25 +41,25 @@ bool RenX_MedalsPlugin::initialize() RenX_MedalsPlugin::~RenX_MedalsPlugin() { RenX::Core *core = RenX::getCore(); - unsigned int sCount = core->getServerCount(); + size_t sCount = core->getServerCount(); RenX::Server *server; - RenX::PlayerInfo *player; - for (unsigned int i = 0; i < sCount; i++) + + for (size_t i = 0; i < sCount; i++) { server = core->getServer(i); if (server->players.size() != 0) { - for (Jupiter::DLList::Node *n = server->players.getNode(0); n != nullptr; n = n->next) + for (auto node = server->players.begin(); node != server->players.end(); ++node) { - player = n->data; - if (player->uuid.isNotEmpty() && player->isBot == false) + if (node->uuid.isNotEmpty() && node->isBot == false) { - RenX_MedalsPlugin::medalsFile[player->uuid].set("Recs"_jrs, player->varData[this->getName()].get("Recs"_jrs)); - RenX_MedalsPlugin::medalsFile[player->uuid].set("Noobs"_jrs, player->varData[this->getName()].get("Noobs"_jrs)); + RenX_MedalsPlugin::medalsFile[node->uuid].set("Recs"_jrs, node->varData[this->getName()].get("Recs"_jrs)); + RenX_MedalsPlugin::medalsFile[node->uuid].set("Noobs"_jrs, node->varData[this->getName()].get("Noobs"_jrs)); } } } } + RenX_MedalsPlugin::medalsFile.write(RenX_MedalsPlugin::medalsFileName); } @@ -118,27 +117,27 @@ void RenX_MedalsPlugin::RenX_ProcessTags(Jupiter::StringType &msg, const RenX::S } } -void RenX_MedalsPlugin::RenX_OnPlayerCreate(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_MedalsPlugin::RenX_OnPlayerCreate(RenX::Server &, const RenX::PlayerInfo &player) { - if (player->uuid.isNotEmpty() && player->isBot == false) + if (player.uuid.isNotEmpty() && player.isBot == false) { - player->varData[this->getName()].set("Recs"_jrs, RenX_MedalsPlugin::medalsFile.get(player->uuid, "Recs"_jrs)); - player->varData[this->getName()].set("Noobs"_jrs, RenX_MedalsPlugin::medalsFile.get(player->uuid, "Noobs"_jrs)); + player.varData[this->getName()].set("Recs"_jrs, RenX_MedalsPlugin::medalsFile.get(player.uuid, "Recs"_jrs)); + player.varData[this->getName()].set("Noobs"_jrs, RenX_MedalsPlugin::medalsFile.get(player.uuid, "Noobs"_jrs)); } } -void RenX_MedalsPlugin::RenX_OnPlayerDelete(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_MedalsPlugin::RenX_OnPlayerDelete(RenX::Server &, const RenX::PlayerInfo &player) { - if (player->uuid.isNotEmpty() && player->isBot == false) + if (player.uuid.isNotEmpty() && player.isBot == false) { - RenX_MedalsPlugin::medalsFile[player->uuid].set("Recs"_jrs, player->varData[this->getName()].get("Recs"_jrs)); - RenX_MedalsPlugin::medalsFile[player->uuid].set("Noobs"_jrs, player->varData[this->getName()].get("Noobs"_jrs)); + RenX_MedalsPlugin::medalsFile[player.uuid].set("Recs"_jrs, player.varData[this->getName()].get("Recs"_jrs)); + RenX_MedalsPlugin::medalsFile[player.uuid].set("Noobs"_jrs, player.varData[this->getName()].get("Noobs"_jrs)); } } -void RenX_MedalsPlugin::RenX_OnJoin(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_MedalsPlugin::RenX_OnJoin(RenX::Server &server, const RenX::PlayerInfo &player) { - if (player->uuid.isNotEmpty() && player->isBot == false && server->isMatchInProgress()) + if (player.uuid.isNotEmpty() && player.isBot == false && server.isMatchInProgress()) { int worth = getWorth(player); Jupiter::Config *section = RenX_MedalsPlugin::config.getSection(RenX_MedalsPlugin::firstSection); @@ -157,41 +156,36 @@ void RenX_MedalsPlugin::RenX_OnJoin(RenX::Server *server, const RenX::PlayerInfo if (msg.isNotEmpty()) { RenX::sanitizeTags(msg); - RenX::processTags(msg, server, player); - server->sendMessage(msg); + RenX::processTags(msg, &server, &player); + server.sendMessage(msg); } } } } } -void RenX_MedalsPlugin::RenX_OnGameOver(RenX::Server *server, RenX::WinType winType, const RenX::TeamType &team, int gScore, int nScore) +void RenX_MedalsPlugin::RenX_OnGameOver(RenX::Server &server, RenX::WinType winType, const RenX::TeamType &team, int gScore, int nScore) { - if (server->isReliable() && server->players.size() != server->getBotCount()) + if (server.isReliable() && server.players.size() != server.getBotCount()) { - Jupiter::DLList::Node *n = server->players.getNode(0); - RenX::PlayerInfo *pInfo = n->data; - RenX::PlayerInfo *bestScore = pInfo; - RenX::PlayerInfo *mostKills = pInfo; - RenX::PlayerInfo *mostVehicleKills = pInfo; - RenX::PlayerInfo *bestKD = pInfo; - - while (n != nullptr) - { - pInfo = n->data; - if (pInfo->score > bestScore->score) - bestScore = pInfo; + RenX::PlayerInfo *bestScore = &server.players.front(); + RenX::PlayerInfo *mostKills = &server.players.front(); + RenX::PlayerInfo *mostVehicleKills = &server.players.front(); + RenX::PlayerInfo *bestKD = &server.players.front(); - if (pInfo->kills > mostKills->kills) - mostKills = pInfo; + for (auto node = server.players.begin(); node != server.players.end(); ++node) + { + if (node->score > bestScore->score) + bestScore = &*node; - if (pInfo->vehicleKills > mostVehicleKills->vehicleKills) - mostVehicleKills = pInfo; + if (node->kills > mostKills->kills) + mostKills = &*node; - if (RenX::getKillDeathRatio(pInfo) > RenX::getKillDeathRatio(bestKD)) - bestKD = pInfo; + if (node->vehicleKills > mostVehicleKills->vehicleKills) + mostVehicleKills = &*node; - n = n->next; + if (RenX::getKillDeathRatio(*node) > RenX::getKillDeathRatio(*bestKD)) + bestKD = &*node; } CongratPlayerData *congratPlayerData; @@ -199,10 +193,10 @@ void RenX_MedalsPlugin::RenX_OnGameOver(RenX::Server *server, RenX::WinType winT /** +1 for best score */ if (bestScore->uuid.isNotEmpty() && bestScore->isBot == false && bestScore->score > 0) { - addRec(bestScore); + addRec(*bestScore); congratPlayerData = new CongratPlayerData(); - congratPlayerData->server = server; + congratPlayerData->server = &server; congratPlayerData->playerName = bestScore->name; congratPlayerData->type = 0; new Jupiter::Timer(1, killCongratDelay, congratPlayer, congratPlayerData, false); @@ -211,10 +205,10 @@ void RenX_MedalsPlugin::RenX_OnGameOver(RenX::Server *server, RenX::WinType winT /** +1 for most kills */ if (mostKills->uuid.isNotEmpty() && mostKills->isBot == false && mostKills->kills > 0) { - addRec(mostKills); + addRec(*mostKills); congratPlayerData = new CongratPlayerData(); - congratPlayerData->server = server; + congratPlayerData->server = &server; congratPlayerData->playerName = mostKills->name; congratPlayerData->type = 1; new Jupiter::Timer(1, killCongratDelay, congratPlayer, congratPlayerData, false); @@ -223,22 +217,22 @@ void RenX_MedalsPlugin::RenX_OnGameOver(RenX::Server *server, RenX::WinType winT /** +1 for most Vehicle kills */ if (mostVehicleKills->uuid.isNotEmpty() && mostVehicleKills->isBot == false && mostVehicleKills->vehicleKills > 0) { - addRec(mostVehicleKills); + addRec(*mostVehicleKills); congratPlayerData = new CongratPlayerData(); - congratPlayerData->server = server; + congratPlayerData->server = &server; congratPlayerData->playerName = mostVehicleKills->name; congratPlayerData->type = 2; new Jupiter::Timer(1, vehicleKillCongratDelay, congratPlayer, congratPlayerData, false); } /** +1 for best K/D ratio */ - if (bestKD->uuid.isNotEmpty() && bestKD->isBot == false && RenX::getKillDeathRatio(bestKD) > 1.0) + if (bestKD->uuid.isNotEmpty() && bestKD->isBot == false && RenX::getKillDeathRatio(*bestKD) > 1.0) { - addRec(bestKD); + addRec(*bestKD); congratPlayerData = new CongratPlayerData(); - congratPlayerData->server = server; + congratPlayerData->server = &server; congratPlayerData->playerName = bestKD->name; congratPlayerData->type = 3; new Jupiter::Timer(1, kdrCongratDelay, congratPlayer, congratPlayerData, false); @@ -248,14 +242,14 @@ void RenX_MedalsPlugin::RenX_OnGameOver(RenX::Server *server, RenX::WinType winT RenX_MedalsPlugin::medalsFile.write(medalsFileName); } -void RenX_MedalsPlugin::RenX_OnDestroy(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &objectName, const RenX::TeamType &objectTeam, const Jupiter::ReadableString &damageType, RenX::ObjectType type) +void RenX_MedalsPlugin::RenX_OnDestroy(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &objectName, const RenX::TeamType &objectTeam, const Jupiter::ReadableString &damageType, RenX::ObjectType type) { if (type == RenX::ObjectType::Building) { addRec(player); const Jupiter::ReadableString &translated = RenX::translateName(objectName); - server->sendMessage(Jupiter::StringS::Format("%.*s has been recommended for destroying the %.*s!", player->name.size(), player->name.ptr(), translated.size(), translated.ptr())); + server.sendMessage(Jupiter::StringS::Format("%.*s has been recommended for destroying the %.*s!", player.name.size(), player.name.ptr(), translated.size(), translated.ptr())); } } @@ -284,17 +278,15 @@ void RenX_MedalsPlugin::init() RenX::Core *core = RenX::getCore(); unsigned int sCount = core->getServerCount(); RenX::Server *server; - RenX::PlayerInfo *player; for (unsigned int i = 0; i < sCount; i++) { server = core->getServer(i); if (server->players.size() != server->getBotCount()) { - for (Jupiter::DLList::Node *n = server->players.getNode(0); n != nullptr; n = n->next) + for (auto node = server->players.begin(); node != server->players.end(); ++node) { - player = n->data; - player->varData[this->getName()].set("Recs"_jrs, RenX_MedalsPlugin::medalsFile[player->name].get("Recs"_jrs)); - player->varData[this->getName()].set("Noobs"_jrs, RenX_MedalsPlugin::medalsFile[player->name].get("Noobs"_jrs)); + node->varData[this->getName()].set("Recs"_jrs, RenX_MedalsPlugin::medalsFile[node->name].get("Recs"_jrs)); + node->varData[this->getName()].set("Noobs"_jrs, RenX_MedalsPlugin::medalsFile[node->name].get("Noobs"_jrs)); } } } @@ -325,25 +317,27 @@ void RecsGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, co { Jupiter::Config *section = pluginInstance.medalsFile.getSection(parameters); if (section == nullptr) - source->sendMessage(player, "Error: Player not found! Syntax: recs [player]"_jrs); + source->sendMessage(*player, "Error: Player not found! Syntax: recs [player]"_jrs); else { unsigned int recs = section->get("Recs"_jrs); unsigned int noobs = section->get("Noobs"_jrs); - source->sendMessage(player, Jupiter::StringS::Format("[Archive] %.*s has %u and %u n00bs. Their worth: %d", section->getName().size(), section->getName().ptr(), recs, noobs, recs - noobs)); + source->sendMessage(*player, Jupiter::StringS::Format("[Archive] %.*s has %u and %u n00bs. Their worth: %d", section->getName().size(), section->getName().ptr(), recs, noobs, recs - noobs)); } } else if (target->uuid.isEmpty()) - source->sendMessage(player, "Error: Player is not using steam."_jrs); + source->sendMessage(*player, "Error: Player is not using steam."_jrs); else if (target->isBot) - source->sendMessage(player, "Error: Bots do not have any recommendations."_jrs); + source->sendMessage(*player, "Error: Bots do not have any recommendations."_jrs); else if (target == player) RecsGameCommand::trigger(source, player, Jupiter::ReferenceString::empty); - else source->sendMessage(player, Jupiter::StringS::Format("%.*s has %lu and %lu n00bs. Their worth: %d", target->name.size(), target->name.ptr(), getRecs(target), getNoobs(target), getWorth(target))); + else + source->sendMessage(*player, Jupiter::StringS::Format("%.*s has %lu and %lu n00bs. Their worth: %d", target->name.size(), target->name.ptr(), getRecs(*target), getNoobs(*target), getWorth(*target))); } else if (player->uuid.isEmpty()) - source->sendMessage(player, "Error: You are not using steam."_jrs); - else source->sendMessage(player, Jupiter::StringS::Format("%.*s, you have %lu recs and %lu n00bs. Your worth: %d", player->name.size(), player->name.ptr(), getRecs(player), getNoobs(player), getWorth(player))); + source->sendMessage(*player, "Error: You are not using steam."_jrs); + else + source->sendMessage(*player, Jupiter::StringS::Format("%.*s, you have %lu recs and %lu n00bs. Your worth: %d", player->name.size(), player->name.ptr(), getRecs(*player), getNoobs(*player), getWorth(*player))); } const Jupiter::ReadableString &RecsGameCommand::getHelp(const Jupiter::ReadableString &) @@ -370,21 +364,21 @@ void RecGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, con if (target == nullptr) target = source->getPlayerByPartName(Jupiter::ReferenceString::getWord(parameters, 0, WHITESPACE)); if (target == nullptr) - source->sendMessage(player, "Error: Player not found! Syntax: rec "_jrs); + source->sendMessage(*player, "Error: Player not found! Syntax: rec "_jrs); else if (target->uuid.isEmpty()) - source->sendMessage(player, "Error: Player is not using steam."_jrs); + source->sendMessage(*player, "Error: Player is not using steam."_jrs); else if (target->isBot) - source->sendMessage(player, "Error: Bots can not receive recommendations."_jrs); + source->sendMessage(*player, "Error: Bots can not receive recommendations."_jrs); else if (target == player) { - addNoob(player); - source->sendMessage(player, "You can't recommend yourself, you noob! (+1 noob)"_jrs); + addNoob(*player); + source->sendMessage(*player, "You can't recommend yourself, you noob! (+1 noob)"_jrs); } else if (player->varData["RenX.Medals"_jrs].get("gr"_jrs) != nullptr && player->adminType.isEmpty()) - source->sendMessage(player, "You can only give one recommendation per game."_jrs); + source->sendMessage(*player, "You can only give one recommendation per game."_jrs); else { - addRec(target); + addRec(*target); source->sendMessage(Jupiter::StringS::Format("%.*s has recommended %.*s!", player->name.size(), player->name.ptr(), target->name.size(), target->name.ptr())); player->varData["RenX.Medals"_jrs].set("gr"_jrs, "1"_jrs); } @@ -416,16 +410,16 @@ void NoobGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, co if (target == nullptr) target = source->getPlayerByPartName(Jupiter::ReferenceString::getWord(parameters, 0, WHITESPACE)); if (target == nullptr) - source->sendMessage(player, "Error: Player not found! Syntax: noob [player]"_jrs); + source->sendMessage(*player, "Error: Player not found! Syntax: noob [player]"_jrs); else if (target->uuid.isEmpty()) - source->sendMessage(player, "Error: Player is not using steam."_jrs); + source->sendMessage(*player, "Error: Player is not using steam."_jrs); else if (target->isBot) - source->sendMessage(player, "Error: Bots can not receive n00bs."_jrs); + source->sendMessage(*player, "Error: Bots can not receive n00bs."_jrs); else if (player->varData["RenX.Medals"_jrs].get("gn"_jrs) != nullptr && player->adminType.isEmpty()) - source->sendMessage(player, "You can only give one noob per game."_jrs); + source->sendMessage(*player, "You can only give one noob per game."_jrs); else { - addNoob(target); + addNoob(*target); source->sendMessage(Jupiter::StringS::Format("%.*s has noob'd %.*s!", player->name.size(), player->name.ptr(), target->name.size(), target->name.ptr())); player->varData["RenX.Medals"_jrs].set("gn"_jrs, "1"_jrs); } @@ -441,29 +435,29 @@ const Jupiter::ReadableString &NoobGameCommand::getHelp(const Jupiter::ReadableS GAME_COMMAND_INIT(NoobGameCommand) -void addRec(const RenX::PlayerInfo *player, int amount) +void addRec(const RenX::PlayerInfo &player, int amount) { - if (player->uuid.matchi("Player*") == false && player->isBot == false) - player->varData[pluginInstance.getName()].set("Recs"_jrs, Jupiter::StringS::Format("%u", getRecs(player) + amount)); + if (player.uuid.matchi("Player*") == false && player.isBot == false) + player.varData[pluginInstance.getName()].set("Recs"_jrs, Jupiter::StringS::Format("%u", getRecs(player) + amount)); } -void addNoob(const RenX::PlayerInfo *player, int amount) +void addNoob(const RenX::PlayerInfo &player, int amount) { - if (player->uuid.matchi("Player*") == false && player->isBot == false) - player->varData[pluginInstance.getName()].set("Noobs"_jrs, Jupiter::StringS::Format("%u", getNoobs(player) + amount)); + if (player.uuid.matchi("Player*") == false && player.isBot == false) + player.varData[pluginInstance.getName()].set("Noobs"_jrs, Jupiter::StringS::Format("%u", getNoobs(player) + amount)); } -unsigned long getRecs(const RenX::PlayerInfo *player) +unsigned long getRecs(const RenX::PlayerInfo &player) { - return player->varData[pluginInstance.getName()].get("Recs"_jrs); + return player.varData[pluginInstance.getName()].get("Recs"_jrs); } -unsigned long getNoobs(const RenX::PlayerInfo *player) +unsigned long getNoobs(const RenX::PlayerInfo &player) { - return player->varData[pluginInstance.getName()].get("Noobs"_jrs); + return player.varData[pluginInstance.getName()].get("Noobs"_jrs); } -int getWorth(const RenX::PlayerInfo *player) +int getWorth(const RenX::PlayerInfo &player) { return getRecs(player) - getNoobs(player); } diff --git a/RenX.Medals/RenX_Medals.h b/RenX.Medals/RenX_Medals.h index ca50986..1af2e29 100644 --- a/RenX.Medals/RenX_Medals.h +++ b/RenX.Medals/RenX_Medals.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -26,30 +26,30 @@ #include "RenX_GameCommand.h" /** Adds a recommendation to the player's medal data */ -void addRec(const RenX::PlayerInfo *player, int amount = 1); +void addRec(const RenX::PlayerInfo &player, int amount = 1); /** Adds a noob to the player's medal data */ -void addNoob(const RenX::PlayerInfo *player, int amount = 1); +void addNoob(const RenX::PlayerInfo &player, int amount = 1); /** Fetches a player's recommendation count */ -unsigned long getRecs(const RenX::PlayerInfo *player); +unsigned long getRecs(const RenX::PlayerInfo &player); /** Fetches a player's noob count */ -unsigned long getNoobs(const RenX::PlayerInfo *player); +unsigned long getNoobs(const RenX::PlayerInfo &player); /** Calculates a player's worth (recs - noobs) */ -int getWorth(const RenX::PlayerInfo *player); +int getWorth(const RenX::PlayerInfo &player); class RenX_MedalsPlugin : public RenX::Plugin { public: // RenX::Plugin void RenX_SanitizeTags(Jupiter::StringType &fmt) override; void RenX_ProcessTags(Jupiter::StringType &msg, const RenX::Server *server, const RenX::PlayerInfo *player, const RenX::PlayerInfo *victim, const RenX::BuildingInfo *building) override; - void RenX_OnPlayerCreate(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnPlayerDelete(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnJoin(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnGameOver(RenX::Server *server, RenX::WinType winType, const RenX::TeamType &team, int gScore, int nScore) override; - void RenX_OnDestroy(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &objectName, const RenX::TeamType &objectTeam, const Jupiter::ReadableString &damageType, RenX::ObjectType type) override; + void RenX_OnPlayerCreate(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnPlayerDelete(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnJoin(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnGameOver(RenX::Server &server, RenX::WinType winType, const RenX::TeamType &team, int gScore, int nScore) override; + void RenX_OnDestroy(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &objectName, const RenX::TeamType &objectTeam, const Jupiter::ReadableString &damageType, RenX::ObjectType type) override; ~RenX_MedalsPlugin(); public: // Jupiter::Plugin diff --git a/RenX.MinPlayers/RenX_MinPlayers.cpp b/RenX.MinPlayers/RenX_MinPlayers.cpp index 9167ba9..09ed2d7 100644 --- a/RenX.MinPlayers/RenX_MinPlayers.cpp +++ b/RenX.MinPlayers/RenX_MinPlayers.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2015-2016 Jessica James. + * Copyright (C) 2015-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -29,47 +29,47 @@ bool RenX_MinPlayersPlugin::initialize() return true; } -void RenX_MinPlayersPlugin::RenX_OnMapStart(RenX::Server *server, const Jupiter::ReadableString &map) +void RenX_MinPlayersPlugin::RenX_OnMapStart(RenX::Server &server, const Jupiter::ReadableString &map) { - if (server->players.size() < RenX_MinPlayersPlugin::player_threshold) - server->send(Jupiter::StringS::Format("addbots %d", RenX_MinPlayersPlugin::player_threshold - server->players.size())); + if (server.players.size() < RenX_MinPlayersPlugin::player_threshold) + server.send(Jupiter::StringS::Format("addbots %d", RenX_MinPlayersPlugin::player_threshold - server.players.size())); } -void RenX_MinPlayersPlugin::RenX_OnJoin(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_MinPlayersPlugin::RenX_OnJoin(RenX::Server &server, const RenX::PlayerInfo &player) { - if (server->players.size() > RenX_MinPlayersPlugin::player_threshold && server->isMatchInProgress()) + if (server.players.size() > RenX_MinPlayersPlugin::player_threshold && server.isMatchInProgress()) ++RenX_MinPlayersPlugin::phase_bots; } -void RenX_MinPlayersPlugin::RenX_OnPart(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_MinPlayersPlugin::RenX_OnPart(RenX::Server &server, const RenX::PlayerInfo &player) { - if (server->isMatchInProgress() && server->players.size() <= player_threshold) + if (server.isMatchInProgress() && server.players.size() <= player_threshold) { - switch (player->team) + switch (player.team) { case RenX::TeamType::GDI: - server->send("addredbots 1"_jrs); + server.send("addredbots 1"_jrs); break; case RenX::TeamType::Nod: - server->send("addbluebots 1"_jrs); + server.send("addbluebots 1"_jrs); break; case RenX::TeamType::None: break; default: - server->send("addbots 1"_jrs); + server.send("addbots 1"_jrs); break; } } } -void RenX_MinPlayersPlugin::AnyDeath(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_MinPlayersPlugin::AnyDeath(RenX::Server &server, const RenX::PlayerInfo &player) { - if (RenX_MinPlayersPlugin::phase_bots != 0 && player->isBot && server->players.size() != 0) + if (RenX_MinPlayersPlugin::phase_bots != 0 && player.isBot && server.players.size() != 0) { size_t gdi_count = 0, nod_count = 0; - for (Jupiter::DLList::Node *node = server->players.getNode(0); node != nullptr; node = node->next) + for (auto node = server.players.begin(); node != server.players.end(); ++node) { - switch (node->data->team) + switch (node->team) { case RenX::TeamType::GDI: ++gdi_count; @@ -84,44 +84,44 @@ void RenX_MinPlayersPlugin::AnyDeath(RenX::Server *server, const RenX::PlayerInf if (gdi_count > nod_count) { - if (player->team != RenX::TeamType::Nod) + if (player.team != RenX::TeamType::Nod) { - server->kickPlayer(player, "Bot Phasing"_jrs); + server.kickPlayer(player, "Bot Phasing"_jrs); --RenX_MinPlayersPlugin::phase_bots; } } else if (nod_count > gdi_count) { - if (player->team != RenX::TeamType::GDI) + if (player.team != RenX::TeamType::GDI) { - server->kickPlayer(player, "Bot Phasing"_jrs); + server.kickPlayer(player, "Bot Phasing"_jrs); --RenX_MinPlayersPlugin::phase_bots; } } else { - server->kickPlayer(player, "Bot Phasing"_jrs); + server.kickPlayer(player, "Bot Phasing"_jrs); --RenX_MinPlayersPlugin::phase_bots; } } } -void RenX_MinPlayersPlugin::RenX_OnSuicide(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &damageType) +void RenX_MinPlayersPlugin::RenX_OnSuicide(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &damageType) { this->AnyDeath(server, player); } -void RenX_MinPlayersPlugin::RenX_OnKill(RenX::Server *server, const RenX::PlayerInfo *player, const RenX::PlayerInfo *victim, const Jupiter::ReadableString &damageType) +void RenX_MinPlayersPlugin::RenX_OnKill(RenX::Server &server, const RenX::PlayerInfo &player, const RenX::PlayerInfo &victim, const Jupiter::ReadableString &damageType) { this->AnyDeath(server, player); } -void RenX_MinPlayersPlugin::RenX_OnKill(RenX::Server *server, const Jupiter::ReadableString &killer, const RenX::TeamType &killerTeam, const RenX::PlayerInfo *victim, const Jupiter::ReadableString &damageType) +void RenX_MinPlayersPlugin::RenX_OnKill(RenX::Server &server, const Jupiter::ReadableString &killer, const RenX::TeamType &killerTeam, const RenX::PlayerInfo &victim, const Jupiter::ReadableString &damageType) { this->AnyDeath(server, victim); } -void RenX_MinPlayersPlugin::RenX_OnDie(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &damageType) +void RenX_MinPlayersPlugin::RenX_OnDie(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &damageType) { this->AnyDeath(server, player); } diff --git a/RenX.MinPlayers/RenX_MinPlayers.h b/RenX.MinPlayers/RenX_MinPlayers.h index a482019..afff061 100644 --- a/RenX.MinPlayers/RenX_MinPlayers.h +++ b/RenX.MinPlayers/RenX_MinPlayers.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2015-2016 Jessica James. + * Copyright (C) 2015-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -26,19 +26,19 @@ class RenX_MinPlayersPlugin : public RenX::Plugin { public: - void RenX_OnMapStart(RenX::Server *server, const Jupiter::ReadableString &map) override; - void RenX_OnJoin(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnPart(RenX::Server *server, const RenX::PlayerInfo *player) override; + void RenX_OnMapStart(RenX::Server &server, const Jupiter::ReadableString &map) override; + void RenX_OnJoin(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnPart(RenX::Server &server, const RenX::PlayerInfo &player) override; - void RenX_OnSuicide(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &damageType) override; - void RenX_OnKill(RenX::Server *server, const RenX::PlayerInfo *player, const RenX::PlayerInfo *victim, const Jupiter::ReadableString &damageType) override; - void RenX_OnKill(RenX::Server *server, const Jupiter::ReadableString &killer, const RenX::TeamType &killerTeam, const RenX::PlayerInfo *victim, const Jupiter::ReadableString &damageType) override; - void RenX_OnDie(RenX::Server *server, const RenX::PlayerInfo *player, const Jupiter::ReadableString &damageType) override; + void RenX_OnSuicide(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &damageType) override; + void RenX_OnKill(RenX::Server &server, const RenX::PlayerInfo &player, const RenX::PlayerInfo &victim, const Jupiter::ReadableString &damageType) override; + void RenX_OnKill(RenX::Server &server, const Jupiter::ReadableString &killer, const RenX::TeamType &killerTeam, const RenX::PlayerInfo &victim, const Jupiter::ReadableString &damageType) override; + void RenX_OnDie(RenX::Server &server, const RenX::PlayerInfo &player, const Jupiter::ReadableString &damageType) override; virtual bool initialize() override; private: - void AnyDeath(RenX::Server *server, const RenX::PlayerInfo *player); + void AnyDeath(RenX::Server &server, const RenX::PlayerInfo &player); size_t phase_bots; /** Configuration variables */ diff --git a/RenX.ModSystem/RenX_ModSystem.cpp b/RenX.ModSystem/RenX_ModSystem.cpp index 6100cc7..62d57f2 100644 --- a/RenX.ModSystem/RenX_ModSystem.cpp +++ b/RenX.ModSystem/RenX_ModSystem.cpp @@ -54,7 +54,9 @@ bool RenX_ModSystemPlugin::initialize() while (groupName.isNotEmpty()) { - group = new ModGroup(); + // Add group + groups.emplace_back(); + group = &groups.back(); group->name = groupName; groupName += dotLockSteam; @@ -93,8 +95,7 @@ bool RenX_ModSystemPlugin::initialize() group->gamePrefix = this->config.get(groupName); groupName.truncate(dotGamePrefix.size()); - RenX_ModSystemPlugin::groups.add(group); - + // Next groupName += dotNext; groupName = this->config.get(groupName); } @@ -106,95 +107,95 @@ bool RenX_ModSystemPlugin::initialize() { server = core->getServer(--total); if (server->players.size() != server->getBotCount()) - for (Jupiter::DLList::Node *n = server->players.getNode(0); n != nullptr; n = n->next) - RenX_ModSystemPlugin::auth(server, n->data, true); + for (auto node = server->players.begin(); node != server->players.end(); ++node) + RenX_ModSystemPlugin::auth(*server, *node, true); } return true; } -unsigned int RenX_ModSystemPlugin::logoutAllMods(const RenX::Server *server) +unsigned int RenX_ModSystemPlugin::logoutAllMods(RenX::Server &server) { - if (server->players.size() == 0) + if (server.players.size() == 0) return 0; unsigned int total = 0; - for (Jupiter::DLList::Node *n = server->players.getNode(0); n != nullptr; n = n->next) - if (RenX_ModSystemPlugin::resetAccess(n->data)) + for (auto node = server.players.begin(); node != server.players.end(); ++node) + if (RenX_ModSystemPlugin::resetAccess(*node)) total++; return total; } -bool RenX_ModSystemPlugin::resetAccess(RenX::PlayerInfo *player) +bool RenX_ModSystemPlugin::resetAccess(RenX::PlayerInfo &player) { - int oAccess = player->access; - if (player->adminType.equals("administrator")) + int oAccess = player.access; + if (player.adminType.equals("administrator")) { ModGroup *group = RenX_ModSystemPlugin::getGroupByName(RenX_ModSystemPlugin::administratorGroup); if (group == nullptr) - player->access = 2; + player.access = 2; else - player->access = group->access; + player.access = group->access; } - else if (player->adminType.equals("moderator")) + else if (player.adminType.equals("moderator")) { ModGroup *group = RenX_ModSystemPlugin::getGroupByName(RenX_ModSystemPlugin::moderatorGroup); if (group == nullptr) - player->access = 1; + player.access = 1; else - player->access = group->access; + player.access = group->access; } else if (groups.size() != 0) - player->access = groups.get(0)->access; + player.access = groups.front().access; else - player->access = 0; + player.access = 0; - return player->access != oAccess; + return player.access != oAccess; } -int RenX_ModSystemPlugin::auth(RenX::Server *server, const RenX::PlayerInfo *player, bool checkAuto, bool forceAuth) const +int RenX_ModSystemPlugin::auth(RenX::Server &server, const RenX::PlayerInfo &player, bool checkAuto, bool forceAuth) const { - if (player->isBot) + if (player.isBot) return 0; - ModGroup *group; - if (player->uuid.isNotEmpty()) + const ModGroup *group; + if (player.uuid.isNotEmpty()) { - Jupiter::Config *section = this->config.getSection(player->uuid); + Jupiter::Config *section = this->config.getSection(player.uuid); if (section != nullptr) { const Jupiter::ReadableString &groupName = section->get("Group"_jrs); if (groupName.isEmpty()) - group = RenX_ModSystemPlugin::groups.get(0); + group = &RenX_ModSystemPlugin::groups.front(); else { group = RenX_ModSystemPlugin::getGroupByName(groupName); if (group == nullptr) - group = RenX_ModSystemPlugin::groups.get(0); + group = &RenX_ModSystemPlugin::groups.front(); } auto sectionAuth = [&] { - player->varData[this->name].set("Group"_jrs, group->name); - player->formatNamePrefix = section->get("Prefix"_jrs, group->prefix); - player->gamePrefix = section->get("GamePrefix"_jrs, group->gamePrefix); - player->access = section->get("Access"_jrs, group->access); - if (player->access != 0) + player.varData[this->name].set("Group"_jrs, group->name); + player.formatNamePrefix = section->get("Prefix"_jrs, group->prefix); + player.gamePrefix = section->get("GamePrefix"_jrs, group->gamePrefix); + player.access = section->get("Access"_jrs, group->access); + if (player.access != 0) { - server->sendMessage(player, Jupiter::StringS::Format("You are now authenticated with access level %d; group: %.*s.", player->access, group->name.size(), group->name.ptr())); - if (server->isDevBot() && player->access > 1) + server.sendMessage(player, Jupiter::StringS::Format("You are now authenticated with access level %d; group: %.*s.", player.access, group->name.size(), group->name.ptr())); + if (server.isDevBot() && player.access > 1) { - if (server->getVersion() >= 4) - server->sendData(Jupiter::StringS::Format("dset_dev %d\n", player->id)); + if (server.getVersion() >= 4) + server.sendData(Jupiter::StringS::Format("dset_dev %d\n", player.id)); else - server->sendData(Jupiter::StringS::Format("d%d\n", player->id)); + server.sendData(Jupiter::StringS::Format("d%d\n", player.id)); } } Jupiter::String playerName = RenX::getFormattedPlayerName(player); - server->sendLogChan(IRCCOLOR "03[Authentication] " IRCBOLD "%.*s" IRCBOLD IRCCOLOR " is now authenticated with access level %d; group: %.*s.", playerName.size(), playerName.ptr(), player->access, group->name.size(), group->name.ptr()); - return player->access; + server.sendLogChan(IRCCOLOR "03[Authentication] " IRCBOLD "%.*s" IRCBOLD IRCCOLOR " is now authenticated with access level %d; group: %.*s.", playerName.size(), playerName.ptr(), player.access, group->name.size(), group->name.ptr()); + return player.access; }; if (forceAuth) @@ -211,46 +212,46 @@ int RenX_ModSystemPlugin::auth(RenX::Server *server, const RenX::PlayerInfo *pla const Jupiter::ReadableString &ip = section->get("LastIP"_jrs); const Jupiter::ReadableString &name = section->get("Name"_jrs); - if ((lockSteam_l == false || player->steamid == steamid) && (lockIP_l == false || player->ip.equalsi(ip)) && (lockName_l == false || player->name.equalsi(name))) + if ((lockSteam_l == false || player.steamid == steamid) && (lockIP_l == false || player.ip.equalsi(ip)) && (lockName_l == false || player.name.equalsi(name))) { - if (checkAuto == false || (autoAuthSteam_l && player->steamid == steamid) || (autoAuthIP_l && player->ip.equalsi(ip))) + if (checkAuto == false || (autoAuthSteam_l && player.steamid == steamid) || (autoAuthIP_l && player.ip.equalsi(ip))) return sectionAuth(); } else if (kickLockMismatch_l) { - server->kickPlayer(player, "Moderator entry lock mismatch"_jrs); + server.kickPlayer(player, "Moderator entry lock mismatch"_jrs); return -1; } } } group = this->getDefaultGroup(); - player->varData[this->name].set("Group"_jrs, group->name); - player->formatNamePrefix = group->prefix; - player->gamePrefix = group->gamePrefix; - return player->access = group->access; + player.varData[this->name].set("Group"_jrs, group->name); + player.formatNamePrefix = group->prefix; + player.gamePrefix = group->gamePrefix; + return player.access = group->access; } -void RenX_ModSystemPlugin::tempAuth(RenX::Server *server, const RenX::PlayerInfo *player, const ModGroup *group, bool notify) const +void RenX_ModSystemPlugin::tempAuth(RenX::Server &server, const RenX::PlayerInfo &player, const ModGroup *group, bool notify) const { if (group == nullptr) group = this->getDefaultGroup(); - player->varData[name].set("Group"_jrs, group->name); - player->formatNamePrefix = group->prefix; - player->gamePrefix = group->gamePrefix; - player->access = group->access; + player.varData[name].set("Group"_jrs, group->name); + player.formatNamePrefix = group->prefix; + player.gamePrefix = group->gamePrefix; + player.access = group->access; if (notify) - server->sendMessage(player, Jupiter::StringS::Format("You have been authorized into group \"%.*s\", with access level %u.", group->name.size(), group->name.ptr(), player->access)); + server.sendMessage(player, Jupiter::StringS::Format("You have been authorized into group \"%.*s\", with access level %u.", group->name.size(), group->name.ptr(), player.access)); } -bool RenX_ModSystemPlugin::set(RenX::PlayerInfo *player, RenX_ModSystemPlugin::ModGroup *group) +bool RenX_ModSystemPlugin::set(RenX::PlayerInfo &player, RenX_ModSystemPlugin::ModGroup &group) { - bool r = this->config[player->uuid].set("Group"_jrs, group->name); - this->config[player->uuid].set("SteamID"_jrs, Jupiter::StringS::Format("%llu", player->steamid)); - this->config[player->uuid].set("LastIP"_jrs, player->ip); - this->config[player->uuid].set("Name"_jrs, player->name); + bool r = this->config[player.uuid].set("Group"_jrs, group.name); + this->config[player.uuid].set("SteamID"_jrs, Jupiter::StringS::Format("%llu", player.steamid)); + this->config[player.uuid].set("LastIP"_jrs, player.ip); + this->config[player.uuid].set("Name"_jrs, player.name); this->config.write(); return r; @@ -259,9 +260,9 @@ bool RenX_ModSystemPlugin::set(RenX::PlayerInfo *player, RenX_ModSystemPlugin::M RenX_ModSystemPlugin::ModGroup *RenX_ModSystemPlugin::getGroupByName(const Jupiter::ReadableString &name, ModGroup *defaultGroup) const { if (RenX_ModSystemPlugin::groups.size() != 0) - for (Jupiter::DLList::Node *n = groups.getNode(0); n != nullptr; n = n->next) - if (n->data->name.equalsi(name)) - return n->data; + for (auto node = this->groups.begin(); node != this->groups.end(); ++node) + if (node->name.equalsi(name)) + return const_cast(&*node); return defaultGroup; } @@ -269,9 +270,9 @@ RenX_ModSystemPlugin::ModGroup *RenX_ModSystemPlugin::getGroupByName(const Jupit RenX_ModSystemPlugin::ModGroup *RenX_ModSystemPlugin::getGroupByAccess(int access, ModGroup *defaultGroup) const { if (RenX_ModSystemPlugin::groups.size() != 0) - for (Jupiter::DLList::Node *n = groups.getNode(0); n != nullptr; n = n->next) - if (n->data->access == access) - return n->data; + for (auto node = this->groups.begin(); node != this->groups.end(); ++node) + if (node->access == access) + return const_cast(&*node); return defaultGroup; } @@ -279,9 +280,9 @@ RenX_ModSystemPlugin::ModGroup *RenX_ModSystemPlugin::getGroupByAccess(int acces RenX_ModSystemPlugin::ModGroup *RenX_ModSystemPlugin::getGroupByIndex(size_t index) const { if (RenX_ModSystemPlugin::groups.size() != 0) - for (Jupiter::DLList::Node *n = groups.getNode(0); n != nullptr; n = n->next) + for (auto node = this->groups.begin(); node != this->groups.end(); ++node) if (index-- == 0) - return n->data; + return const_cast(&*node); return nullptr; } @@ -291,10 +292,11 @@ int RenX_ModSystemPlugin::getConfigAccess(const Jupiter::ReadableString &uuid) c Jupiter::Config *section = this->config.getSection(uuid); if (section == nullptr) - return RenX_ModSystemPlugin::groups.get(0)->access; - - RenX_ModSystemPlugin::ModGroup *group = RenX_ModSystemPlugin::getGroupByName(section->get("Group"_jrs), groups.get(0)); - return section->get("Access"_jrs, group->access); + return RenX_ModSystemPlugin::groups.front().access; + //for (auto node = this->groups.begin(); node != this->groups.end(); ++node) + return section->get("Access"_jrs, + RenX_ModSystemPlugin::getGroupByName(section->get("Group"_jrs), + const_cast(&groups.front()))->access); } size_t RenX_ModSystemPlugin::getGroupCount() const @@ -304,7 +306,7 @@ size_t RenX_ModSystemPlugin::getGroupCount() const RenX_ModSystemPlugin::ModGroup *RenX_ModSystemPlugin::getDefaultGroup() const { - return RenX_ModSystemPlugin::groups.get(0); + return const_cast(&RenX_ModSystemPlugin::groups.front()); } RenX_ModSystemPlugin::ModGroup *RenX_ModSystemPlugin::getDefaultATMGroup() const @@ -327,85 +329,83 @@ RenX_ModSystemPlugin::~RenX_ModSystemPlugin() RenX::Core *core = RenX::getCore(); unsigned int total = core->getServerCount(); RenX::Server *server; - RenX::PlayerInfo *player; while (total != 0) { server = core->getServer(--total); if (server->players.size() != server->getBotCount()) - for (Jupiter::DLList::Node *n = server->players.getNode(0); n != nullptr; n = n->next) + for (auto node = server->players.begin(); node != server->players.end(); ++node) { - player = n->data; - if (player->isBot == false) + if (node->isBot == false) { - player->varData[RenX_ModSystemPlugin::name].remove("Group"_jrs); - player->gamePrefix.truncate(player->gamePrefix.size()); - player->formatNamePrefix.truncate(player->formatNamePrefix.size()); - if (player->adminType.equals("administrator")) - player->access = 2; - else if (player->adminType.equals("moderator")) - player->access = 1; + node->varData[RenX_ModSystemPlugin::name].remove("Group"_jrs); + node->gamePrefix.truncate(node->gamePrefix.size()); + node->formatNamePrefix.truncate(node->formatNamePrefix.size()); + if (node->adminType.equals("administrator")) + node->access = 2; + else if (node->adminType.equals("moderator")) + node->access = 1; else - player->access = 0; + node->access = 0; } } } - while (RenX_ModSystemPlugin::groups.size() != 0) - delete RenX_ModSystemPlugin::groups.remove(size_t{ 0 }); + + RenX_ModSystemPlugin::groups.clear(); } -void RenX_ModSystemPlugin::RenX_OnPlayerCreate(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_ModSystemPlugin::RenX_OnPlayerCreate(RenX::Server &server, const RenX::PlayerInfo &player) { - if (player->isBot == false) + if (player.isBot == false) RenX_ModSystemPlugin::auth(server, player, true); } -void RenX_ModSystemPlugin::RenX_OnPlayerDelete(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_ModSystemPlugin::RenX_OnPlayerDelete(RenX::Server &server, const RenX::PlayerInfo &player) { - if (RenX_ModSystemPlugin::groups.size() != 0 && player->isBot == false && player->uuid.isNotEmpty()) + if (RenX_ModSystemPlugin::groups.size() != 0 && player.isBot == false && player.uuid.isNotEmpty()) { - Jupiter::Config *section = this->config.getSection(player->uuid); + Jupiter::Config *section = this->config.getSection(player.uuid); if (section != nullptr) { - section->set("SteamID"_jrs, Jupiter::StringS::Format("%llu", player->steamid)); - section->set("LastIP"_jrs, player->ip); - section->set("Name"_jrs, player->name); + section->set("SteamID"_jrs, Jupiter::StringS::Format("%llu", player.steamid)); + section->set("LastIP"_jrs, player.ip); + section->set("Name"_jrs, player.name); } } } -void RenX_ModSystemPlugin::RenX_OnIDChange(RenX::Server *server, const RenX::PlayerInfo *player, int oldID) +void RenX_ModSystemPlugin::RenX_OnIDChange(RenX::Server &server, const RenX::PlayerInfo &player, int oldID) { - if (player->access != 0 && server->isDevBot()) - server->sendData(Jupiter::StringS::Format("d%d\n", player->id)); + if (player.access != 0 && server.isDevBot()) + server.sendData(Jupiter::StringS::Format("d%d\n", player.id)); } -void RenX_ModSystemPlugin::RenX_OnAdminLogin(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_ModSystemPlugin::RenX_OnAdminLogin(RenX::Server &server, const RenX::PlayerInfo &player) { ModGroup *group = nullptr; - if (player->adminType.equals("administrator")) + if (player.adminType.equals("administrator")) group = RenX_ModSystemPlugin::getGroupByName(RenX_ModSystemPlugin::administratorGroup); - else if (player->adminType.equals("moderator")) + else if (player.adminType.equals("moderator")) group = RenX_ModSystemPlugin::getGroupByName(RenX_ModSystemPlugin::moderatorGroup); - if (group != nullptr && player->access < group->access) - player->access = group->access; + if (group != nullptr && player.access < group->access) + player.access = group->access; } -void RenX_ModSystemPlugin::RenX_OnAdminGrant(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_ModSystemPlugin::RenX_OnAdminGrant(RenX::Server &server, const RenX::PlayerInfo &player) { RenX_ModSystemPlugin::RenX_OnAdminLogin(server, player); } -void RenX_ModSystemPlugin::RenX_OnAdminLogout(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_ModSystemPlugin::RenX_OnAdminLogout(RenX::Server &server, const RenX::PlayerInfo &player) { ModGroup *group = nullptr; - int access = RenX_ModSystemPlugin::groups.size() == 0 ? 0 : RenX_ModSystemPlugin::groups.get(0)->access; - if (player->adminType.equals("administrator")) + int access = RenX_ModSystemPlugin::groups.size() == 0 ? 0 : RenX_ModSystemPlugin::groups.front().access; + if (player.adminType.equals("administrator")) { access = 2; group = RenX_ModSystemPlugin::getGroupByName(RenX_ModSystemPlugin::administratorGroup); } - else if (player->adminType.equals("moderator")) + else if (player.adminType.equals("moderator")) { access = 1; group = RenX_ModSystemPlugin::getGroupByName(RenX_ModSystemPlugin::moderatorGroup); @@ -413,22 +413,19 @@ void RenX_ModSystemPlugin::RenX_OnAdminLogout(RenX::Server *server, const RenX:: if (group != nullptr) access = group->access; - if (player->access <= access) + if (player.access <= access) { if (RenX_ModSystemPlugin::groups.size() == 0) - player->access = 0; + player.access = 0; else - player->access = RenX_ModSystemPlugin::groups.get(0)->access; + player.access = RenX_ModSystemPlugin::groups.front().access; } } int RenX_ModSystemPlugin::OnRehash() { RenX::Plugin::OnRehash(); - - while (RenX_ModSystemPlugin::groups.size() != 0) - delete RenX_ModSystemPlugin::groups.remove(size_t{ 0 }); - + RenX_ModSystemPlugin::groups.clear(); return this->initialize() ? 0 : -1; } @@ -478,7 +475,7 @@ void AuthIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &cha else { RenX_ModSystemPlugin::ModGroup *defaultGroup = pluginInstance.getDefaultGroup(); - if (pluginInstance.auth(server, player) == -1) + if (pluginInstance.auth(*server, *player) == -1) source->sendNotice(nick, "Error: Player failed to pass strict lock checks. Player kicked."_jrs); else if (defaultGroup->name.equals(player->varData[pluginInstance.getName()].get("Group"_jrs))) source->sendNotice(nick, "Error: Failed to authenticate player."_jrs); @@ -541,7 +538,7 @@ void DeAuthIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &c int cAccess = pluginInstance.getConfigAccess(player->uuid); if (cAccess > uAccess && uAccess < static_cast(source->getPrefixes().size())) source->sendNotice(nick, "Error: Can't unauthenticate higher level moderators."_jrs); - else if (pluginInstance.resetAccess(player)) + else if (pluginInstance.resetAccess(*player)) source->sendNotice(nick, "Player unauthenticated successfully."_jrs); else source->sendNotice(nick, "Error: Player not authenticated."_jrs); @@ -600,7 +597,7 @@ void ATMIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &chan } else { - group = pluginInstance.groups.get(index); + group = pluginInstance.getGroupByIndex(index); if (group->access > source->getAccessLevel(channel, nick)) { group = pluginInstance.getDefaultATMGroup(); @@ -628,7 +625,7 @@ void ATMIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &chan source->sendNotice(nick, "Error: This command can not lower a player's access level."_jrs); else { - pluginInstance.tempAuth(server, player, group); + pluginInstance.tempAuth(*server, *player, group); source->sendNotice(nick, "Player successfully temporarily authenticated."_jrs); } } @@ -681,7 +678,7 @@ void AddIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &chan source->sendNotice(nick, "Error: Invalid group index."_jrs); else { - group = pluginInstance.groups.get(index); + group = pluginInstance.getGroupByIndex(index); playerName = playerName.gotoWord(1, WHITESPACE); } } @@ -704,12 +701,12 @@ void AddIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &chan source->sendNotice(nick, "Error: Player has no UUID."_jrs); else { - pluginInstance.resetAccess(player); - if (pluginInstance.set(player, group)) + pluginInstance.resetAccess(*player); + if (pluginInstance.set(*player, *group)) source->sendNotice(nick, Jupiter::StringS::Format("%.*s has been added to group \"%.*s\"", player->name.size(), player->name.ptr(), group->name.size(), group->name.ptr())); else source->sendNotice(nick, Jupiter::StringS::Format("%.*s has been moved to group \"%.*s\"", player->name.size(), player->name.ptr(), group->name.size(), group->name.ptr())); - pluginInstance.auth(server, player, false, true); + pluginInstance.auth(*server, *player, false, true); } } } @@ -854,7 +851,7 @@ void ForceAuthIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString else { RenX_ModSystemPlugin::ModGroup *defaultGroup = pluginInstance.getDefaultGroup(); - pluginInstance.auth(server, player, false, true); + pluginInstance.auth(*server, *player, false, true); if (defaultGroup->name.equals(player->varData[pluginInstance.getName()].get("Group"_jrs))) source->sendNotice(nick, "Error: Failed to authenticate player."_jrs); else @@ -889,21 +886,19 @@ void ModListIRCCommand::create() void ModListIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &channel, const Jupiter::ReadableString &nick, const Jupiter::ReadableString ¶meters) { - RenX_ModSystemPlugin::ModGroup *group; Jupiter::String msg; size_t msgBaseSize; bool haveMods = false; - for (Jupiter::DLList::Node *n = pluginInstance.groups.getHead(); n != nullptr; n = n->next) + for (auto node = pluginInstance.groups.begin(); node != pluginInstance.groups.end(); ++node) { - group = n->data; - msg = group->prefix; - msg += group->name; - msg.aformat(IRCNORMAL " (Access: %d): ", group->access); + msg = node->prefix; + msg += node->name; + msg.aformat(IRCNORMAL " (Access: %d): ", node->access); msgBaseSize = msg.size(); - auto entry_callback = [&msg, group](Jupiter::Config::SectionHashTable::Bucket::Entry &in_entry) + auto entry_callback = [&msg, &node](Jupiter::Config::SectionHashTable::Bucket::Entry &in_entry) { - if (in_entry.value.get("Group"_jrs).equalsi(group->name)) + if (in_entry.value.get("Group"_jrs).equalsi(node->name)) { msg += in_entry.value.get("Name"_jrs, in_entry.value.getName()); msg += ", "_jrs; @@ -947,32 +942,32 @@ void AuthGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, co { RenX::PlayerInfo *target = source->getPlayerByPartName(parameters); if (target == nullptr) - source->sendMessage(player, "Error: Player not found."_jrs); + source->sendMessage(*player, "Error: Player not found."_jrs); else if (target == player) - source->sendMessage(player, "Error: You can not authenticate yourself."_jrs); + source->sendMessage(*player, "Error: You can not authenticate yourself."_jrs); else { int cAccess = pluginInstance.getConfigAccess(target->uuid); if (cAccess > player->access) - source->sendMessage(player, "Error: Can't authenticate higher level moderators."_jrs); + source->sendMessage(*player, "Error: Can't authenticate higher level moderators."_jrs); else if (target->access == cAccess) - source->sendMessage(player, "Error: Player is already authenticated"_jrs); + source->sendMessage(*player, "Error: Player is already authenticated"_jrs); else if (target->access > cAccess) - source->sendMessage(player, "Error: Player is already temporarily authenticated."_jrs); + source->sendMessage(*player, "Error: Player is already temporarily authenticated."_jrs); else { RenX_ModSystemPlugin::ModGroup *defaultGroup = pluginInstance.getDefaultGroup(); - if (pluginInstance.auth(source, player) == -1) - source->sendMessage(player, "Error: Player failed to pass strict lock checks. Player kicked."_jrs); + if (pluginInstance.auth(*source, *player) == -1) + source->sendMessage(*player, "Error: Player failed to pass strict lock checks. Player kicked."_jrs); else if (defaultGroup->name.equals(player->varData[pluginInstance.getName()].get("Group"_jrs))) - source->sendMessage(player, "Error: Failed to authenticate player."_jrs); + source->sendMessage(*player, "Error: Failed to authenticate player."_jrs); else - source->sendMessage(player, "Player authenticated successfully."_jrs); + source->sendMessage(*player, "Player authenticated successfully."_jrs); } } } else - source->sendMessage(player, "Error: Too few parameters. Syntax: auth "_jrs); + source->sendMessage(*player, "Error: Too few parameters. Syntax: auth "_jrs); } const Jupiter::ReadableString &AuthGameCommand::getHelp(const Jupiter::ReadableString &) @@ -1003,19 +998,19 @@ void ATMGameCommand::trigger(RenX::Server *server, RenX::PlayerInfo *player, con int index = parameters.asInt(); if (index < 0 || index >= static_cast(pluginInstance.groups.size())) - server->sendMessage(player, "Warning: Invalid group index. Ingoring parameter..."_jrs); + server->sendMessage(*player, "Warning: Invalid group index. Ingoring parameter..."_jrs); else if (index == 0) { - server->sendMessage(player, "Error: Default group is not valid for this command. Use \"deauth\" to deauthorize a player."_jrs); + server->sendMessage(*player, "Error: Default group is not valid for this command. Use \"deauth\" to deauthorize a player."_jrs); return; } else { - group = pluginInstance.groups.get(index); + group = pluginInstance.getGroupByIndex(index); if (group->access > player->access) { group = pluginInstance.getDefaultATMGroup(); - server->sendMessage(player, "Warning: You can not authorize an access level higher than yourself. Ignoring parameter..."_jrs); + server->sendMessage(*player, "Warning: You can not authorize an access level higher than yourself. Ignoring parameter..."_jrs); } playerName = playerName.gotoWord(1, WHITESPACE); } @@ -1024,20 +1019,20 @@ void ATMGameCommand::trigger(RenX::Server *server, RenX::PlayerInfo *player, con { target = server->getPlayerByPartName(playerName); if (target == nullptr) - server->sendMessage(player, "Error: Player not found."_jrs); + server->sendMessage(*player, "Error: Player not found."_jrs); else if (target->access > group->access) - server->sendMessage(player, "Error: This command can not lower a player's access level."_jrs); + server->sendMessage(*player, "Error: This command can not lower a player's access level."_jrs); else { - pluginInstance.tempAuth(server, target, group); - server->sendMessage(player, "Player successfully temporarily authenticated."_jrs); + pluginInstance.tempAuth(*server, *target, group); + server->sendMessage(*player, "Player successfully temporarily authenticated."_jrs); } } else - server->sendMessage(player, "Error: Invalid group."_jrs); + server->sendMessage(*player, "Error: Invalid group."_jrs); } else - server->sendMessage(player, "Error: Too few parameters. Syntax: auth "_jrs); + server->sendMessage(*player, "Error: Too few parameters. Syntax: auth "_jrs); } const Jupiter::ReadableString &ATMGameCommand::getHelp(const Jupiter::ReadableString &) @@ -1063,31 +1058,31 @@ void ForceAuthGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *playe { RenX::PlayerInfo *target = source->getPlayerByPartName(parameters); if (target == nullptr) - source->sendMessage(player, "Error: Player not found."_jrs); + source->sendMessage(*player, "Error: Player not found."_jrs); else if (target == player) - source->sendMessage(player, "Error: You can not force-authenticate yourself."_jrs); + source->sendMessage(*player, "Error: You can not force-authenticate yourself."_jrs); else { int cAccess = pluginInstance.getConfigAccess(target->uuid); if (cAccess > player->access) - source->sendMessage(player, "Error: Can't authenticate higher level moderators."_jrs); + source->sendMessage(*player, "Error: Can't authenticate higher level moderators."_jrs); else if (target->access == cAccess) - source->sendMessage(player, "Error: Player is already authenticated"_jrs); + source->sendMessage(*player, "Error: Player is already authenticated"_jrs); else if (target->access > cAccess) - source->sendMessage(player, "Error: Player is already temporarily authenticated."_jrs); + source->sendMessage(*player, "Error: Player is already temporarily authenticated."_jrs); else { RenX_ModSystemPlugin::ModGroup *defaultGroup = pluginInstance.getDefaultGroup(); - pluginInstance.auth(source, player, false, true); + pluginInstance.auth(*source, *player, false, true); if (defaultGroup->name.equals(player->varData[pluginInstance.getName()].get("Group"_jrs))) - source->sendMessage(player, "Error: Failed to authenticate player."_jrs); + source->sendMessage(*player, "Error: Failed to authenticate player."_jrs); else - source->sendMessage(player, "Player authenticated successfully."_jrs); + source->sendMessage(*player, "Player authenticated successfully."_jrs); } } } else - source->sendMessage(player, "Error: Too few parameters. Syntax: fauth "_jrs); + source->sendMessage(*player, "Error: Too few parameters. Syntax: fauth "_jrs); } const Jupiter::ReadableString &ForceAuthGameCommand::getHelp(const Jupiter::ReadableString &) diff --git a/RenX.ModSystem/RenX_ModSystem.h b/RenX.ModSystem/RenX_ModSystem.h index 1752d96..0686098 100644 --- a/RenX.ModSystem/RenX_ModSystem.h +++ b/RenX.ModSystem/RenX_ModSystem.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -19,10 +19,10 @@ #if !defined _RENX_MODSYSTEM_H_HEADER #define _RENX_MODSYSTEM_H_HEADER +#include #include "Jupiter/Plugin.h" #include "Jupiter/Reference_String.h" #include "Jupiter/String.h" -#include "Jupiter/DLList.h" #include "IRC_Command.h" #include "RenX_Plugin.h" #include "RenX_GameCommand.h" @@ -43,7 +43,7 @@ public: Jupiter::StringS gamePrefix; Jupiter::StringS name; }; - Jupiter::DLList groups; + std::list groups; /** * @brief Calls resetAccess() on all players in a server. @@ -51,7 +51,7 @@ public: * @param server Server with players to logout * @return Number of players effected. */ - unsigned int logoutAllMods(const RenX::Server *server); + unsigned int logoutAllMods(RenX::Server &server); /** * @brief Resets a player's access level to their administrative tag's assosciated access. @@ -60,7 +60,7 @@ public: * @param player Player to reset access * @return True if the player's access level was modified, false otherwise. */ - bool resetAccess(RenX::PlayerInfo *player); + bool resetAccess(RenX::PlayerInfo &player); /** * @brief Authenticates a player with their configured administrative group. @@ -71,11 +71,11 @@ public: * @param forceauth (optional) True to bypass locks and authenticate the user based on UUID. * @return New access of the user, -1 if the user is kicked. */ - int auth(RenX::Server *server, const RenX::PlayerInfo *player, bool checkAuto = false, bool forceAuth = false) const; + int auth(RenX::Server &server, const RenX::PlayerInfo &player, bool checkAuto = false, bool forceAuth = false) const; - void tempAuth(RenX::Server *server, const RenX::PlayerInfo *player, const ModGroup *group, bool notify = true) const; + void tempAuth(RenX::Server &server, const RenX::PlayerInfo &player, const ModGroup *group, bool notify = true) const; - bool set(RenX::PlayerInfo *player, ModGroup *group); + bool set(RenX::PlayerInfo &player, ModGroup &group); int getConfigAccess(const Jupiter::ReadableString &uuid) const; size_t getGroupCount() const; @@ -91,14 +91,14 @@ public: ~RenX_ModSystemPlugin(); public: // RenX::Plugin - void RenX_OnPlayerCreate(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnPlayerDelete(RenX::Server *server, const RenX::PlayerInfo *player) override; + void RenX_OnPlayerCreate(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnPlayerDelete(RenX::Server &server, const RenX::PlayerInfo &player) override; - void RenX_OnIDChange(RenX::Server *server, const RenX::PlayerInfo *player, int oldID) override; + void RenX_OnIDChange(RenX::Server &server, const RenX::PlayerInfo &player, int oldID) override; - void RenX_OnAdminLogin(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnAdminGrant(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnAdminLogout(RenX::Server *server, const RenX::PlayerInfo *player) override; + void RenX_OnAdminLogin(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnAdminGrant(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnAdminLogout(RenX::Server &server, const RenX::PlayerInfo &player) override; public: // Jupiter::Plugin int OnRehash() override; diff --git a/RenX.NicknameUUID/RenX_NicknameUUID.cpp b/RenX.NicknameUUID/RenX_NicknameUUID.cpp index b7d9a27..d07838f 100644 --- a/RenX.NicknameUUID/RenX_NicknameUUID.cpp +++ b/RenX.NicknameUUID/RenX_NicknameUUID.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2015 Jessica James. + * Copyright (C) 2015-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -23,9 +23,9 @@ #include "RenX_Functions.h" #include "RenX_NicknameUUID.h" -Jupiter::StringS calc_uuid(RenX::PlayerInfo *player) +Jupiter::StringS calc_uuid(RenX::PlayerInfo &player) { - return player->name; + return player.name; } RenX_NicknameUUIDPlugin::RenX_NicknameUUIDPlugin() @@ -44,9 +44,9 @@ RenX_NicknameUUIDPlugin::~RenX_NicknameUUIDPlugin() core.getServer(--index)->setUUIDFunction(RenX::default_uuid_func); } -void RenX_NicknameUUIDPlugin::RenX_OnServerCreate(RenX::Server *server) +void RenX_NicknameUUIDPlugin::RenX_OnServerCreate(RenX::Server &server) { - server->setUUIDFunction(calc_uuid); + server.setUUIDFunction(calc_uuid); } // Plugin instantiation and entry point. diff --git a/RenX.NicknameUUID/RenX_NicknameUUID.h b/RenX.NicknameUUID/RenX_NicknameUUID.h index d1732db..68e3fc5 100644 --- a/RenX.NicknameUUID/RenX_NicknameUUID.h +++ b/RenX.NicknameUUID/RenX_NicknameUUID.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2015-2016 Jessica James. + * Copyright (C) 2015-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -26,7 +26,7 @@ class RenX_NicknameUUIDPlugin : public RenX::Plugin { public: // RenX::Plugin - void RenX_OnServerCreate(RenX::Server *server) override; + void RenX_OnServerCreate(RenX::Server &server) override; public: RenX_NicknameUUIDPlugin(); diff --git a/RenX.ServerList/RenX_ServerList.cpp b/RenX.ServerList/RenX_ServerList.cpp index e782fb9..eda471d 100644 --- a/RenX.ServerList/RenX_ServerList.cpp +++ b/RenX.ServerList/RenX_ServerList.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2016 Jessica James. + * Copyright (C) 2016-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -215,61 +215,61 @@ constexpr const char *json_bool_as_cstring(bool in) return in ? "true" : "false"; } -Jupiter::StringS server_as_json(const RenX::Server *server) +Jupiter::StringS server_as_json(const RenX::Server &server) { Jupiter::String server_json_block(128); - Jupiter::String server_name = jsonify(server->getName()); - Jupiter::String server_map = jsonify(server->getMap().name); - Jupiter::String server_version = jsonify(server->getGameVersion()); + Jupiter::String server_name = jsonify(server.getName()); + Jupiter::String server_map = jsonify(server.getMap().name); + Jupiter::String server_version = jsonify(server.getGameVersion()); server_json_block.format(R"json({"Name":"%.*s","Current Map":"%.*s","Bots":%u,"Players":%u,"Game Version":"%.*s","Variables":{"Mine Limit":%d,"bSteamRequired":%s,"bPrivateMessageTeamOnly":%s,"bPassworded":%s,"bAllowPrivateMessaging":%s,"Player Limit":%d,"Vehicle Limit":%d,"bAutoBalanceTeams":%s,"Team Mode":%d,"bSpawnCrates":%s,"CrateRespawnAfterPickup":%f,"Time Limit":%d},"Port":%u,"IP":"%.*s")json", server_name.size(), server_name.ptr(), server_map.size(), server_map.ptr(), - server->getBotCount(), - server->players.size() - server->getBotCount(), + server.getBotCount(), + server.players.size() - server.getBotCount(), server_version.size(), server_version.ptr(), - server->getMineLimit(), - json_bool_as_cstring(server->isSteamRequired()), - json_bool_as_cstring(server->isPrivateMessageTeamOnly()), - json_bool_as_cstring(server->isPassworded()), - json_bool_as_cstring(server->isPrivateMessagingEnabled()), - server->getPlayerLimit(), - server->getVehicleLimit(), - json_bool_as_cstring(server->getTeamMode() == 3), - server->getTeamMode(), - json_bool_as_cstring(server->isCratesEnabled()), - server->getCrateRespawnDelay(), - server->getTimeLimit(), - server->getPort(), - server->getSocketHostname().size(), server->getSocketHostname().ptr()); + server.getMineLimit(), + json_bool_as_cstring(server.isSteamRequired()), + json_bool_as_cstring(server.isPrivateMessageTeamOnly()), + json_bool_as_cstring(server.isPassworded()), + json_bool_as_cstring(server.isPrivateMessagingEnabled()), + server.getPlayerLimit(), + server.getVehicleLimit(), + json_bool_as_cstring(server.getTeamMode() == 3), + server.getTeamMode(), + json_bool_as_cstring(server.isCratesEnabled()), + server.getCrateRespawnDelay(), + server.getTimeLimit(), + server.getPort(), + server.getSocketHostname().size(), server.getSocketHostname().ptr()); server_json_block += '}'; return server_json_block; } -Jupiter::StringS server_as_game(const RenX::Server *server) +Jupiter::StringS server_as_game(const RenX::Server &server) { Jupiter::String server_game_block(256); - Jupiter::String server_name = sanitize_game(server->getName()); - Jupiter::String server_map = sanitize_game(server->getMap().name); - Jupiter::String server_version = sanitize_game(server->getGameVersion()); + Jupiter::String server_name = sanitize_game(server.getName()); + Jupiter::String server_map = sanitize_game(server.getMap().name); + Jupiter::String server_version = sanitize_game(server.getGameVersion()); Jupiter::String server_levels; RenX::Map *map; - if (server->maps.size() != 0) + if (server.maps.size() != 0) { - map = server->maps.get(0); + map = server.maps.get(0); server_levels = sanitize_game(RenX::formatGUID(*map)); server_levels += '='; server_levels += sanitize_game(map->name); - for (size_t index = 1; index != server->maps.size(); ++index) + for (size_t index = 1; index != server.maps.size(); ++index) { - map = server->maps.get(index); + map = server.maps.get(index); server_levels += ';'; server_levels += sanitize_game(RenX::formatGUID(*map)); @@ -280,40 +280,40 @@ Jupiter::StringS server_as_game(const RenX::Server *server) server_game_block.format("\n<@>%.*s~%.*s~%u~%s~%.*s~" "%d;%d;%d;%s;%d;%d;%d;%s;%s;%s;%.*s;%s" "~%u~%d~%s~%s~%.*s", server_name.size(), server_name.ptr(), - server->getSocketHostname().size(), server->getSocketHostname().ptr(), - server->getPort(), - json_bool_as_cstring(server->isPassworded()), + server.getSocketHostname().size(), server.getSocketHostname().ptr(), + server.getPort(), + json_bool_as_cstring(server.isPassworded()), server_map.size(), server_map.ptr(), //START OPTIONS - server->getPlayerLimit(), - server->getVehicleLimit(), - server->getMineLimit(), - json_bool_as_cstring(server->isCratesEnabled()), - server->getGameType(), - server->getTeamMode(), - server->getTimeLimit(), - json_bool_as_cstring(server->isPrivateMessagingEnabled()), - json_bool_as_cstring(server->isPrivateMessageTeamOnly()), - json_bool_as_cstring(server->isSteamRequired()), + server.getPlayerLimit(), + server.getVehicleLimit(), + server.getMineLimit(), + json_bool_as_cstring(server.isCratesEnabled()), + server.getGameType(), + server.getTeamMode(), + server.getTimeLimit(), + json_bool_as_cstring(server.isPrivateMessagingEnabled()), + json_bool_as_cstring(server.isPrivateMessageTeamOnly()), + json_bool_as_cstring(server.isSteamRequired()), server_version.size(), server_version.ptr(), - json_bool_as_cstring(server->isBotsEnabled()), + json_bool_as_cstring(server.isBotsEnabled()), //END OPTIONS - server->players.size() - server->getBotCount(), - server->getPlayerLimit(), - json_bool_as_cstring(server->isRanked()), - json_bool_as_cstring(server->isMatchInProgress()), + server.players.size() - server.getBotCount(), + server.getPlayerLimit(), + json_bool_as_cstring(server.isRanked()), + json_bool_as_cstring(server.isMatchInProgress()), server_levels.size(), server_levels.ptr()); return server_game_block; } -Jupiter::StringS server_as_long_json(const RenX::Server *server) +Jupiter::StringS server_as_long_json(const RenX::Server &server) { Jupiter::String server_json_block(128); - Jupiter::String server_name = jsonify(server->getName()); - Jupiter::String server_map = jsonify(server->getMap().name); - Jupiter::String server_version = jsonify(server->getGameVersion()); + Jupiter::String server_name = jsonify(server.getName()); + Jupiter::String server_map = jsonify(server.getMap().name); + Jupiter::String server_version = jsonify(server.getGameVersion()); server_json_block.format(R"json({ "Name": "%.*s", @@ -340,44 +340,44 @@ Jupiter::StringS server_as_long_json(const RenX::Server *server) server_name.size(), server_name.ptr(), server_map.size(), server_map.ptr(), - server->getBotCount(), - server->players.size() - server->getBotCount(), + server.getBotCount(), + server.players.size() - server.getBotCount(), server_version.size(), server_version.ptr(), - server->getMineLimit(), - json_bool_as_cstring(server->isSteamRequired()), - json_bool_as_cstring(server->isPrivateMessageTeamOnly()), - json_bool_as_cstring(server->isPassworded()), - json_bool_as_cstring(server->isPrivateMessagingEnabled()), - server->getPlayerLimit(), - server->getVehicleLimit(), - json_bool_as_cstring(server->getTeamMode() == 3), - server->getTeamMode(), - json_bool_as_cstring(server->isCratesEnabled()), - server->getCrateRespawnDelay(), - server->getTimeLimit(), + server.getMineLimit(), + json_bool_as_cstring(server.isSteamRequired()), + json_bool_as_cstring(server.isPrivateMessageTeamOnly()), + json_bool_as_cstring(server.isPassworded()), + json_bool_as_cstring(server.isPrivateMessagingEnabled()), + server.getPlayerLimit(), + server.getVehicleLimit(), + json_bool_as_cstring(server.getTeamMode() == 3), + server.getTeamMode(), + json_bool_as_cstring(server.isCratesEnabled()), + server.getCrateRespawnDelay(), + server.getTimeLimit(), - server->getPort(), - server->getSocketHostname().size(), server->getSocketHostname().ptr()); + server.getPort(), + server.getSocketHostname().size(), server.getSocketHostname().ptr()); // Level Rotation - if (server->maps.size() != 0) + if (server.maps.size() != 0) { server_json_block += ",\n\t\t\"Levels\": ["_jrs; server_json_block += "\n\t\t\t{\n\t\t\t\t\"Name\": \""_jrs; - server_json_block += jsonify(server->maps.get(0)->name); + server_json_block += jsonify(server.maps.get(0)->name); server_json_block += "\",\n\t\t\t\t\"GUID\": \""_jrs; - server_json_block += RenX::formatGUID(*server->maps.get(0)); + server_json_block += RenX::formatGUID(*server.maps.get(0)); server_json_block += "\"\n\t\t\t}"_jrs; - for (size_t index = 1; index != server->maps.size(); ++index) + for (size_t index = 1; index != server.maps.size(); ++index) { server_json_block += ",\n\t\t\t{\n\t\t\t\t\"Name\": \""_jrs; - server_json_block += jsonify(server->maps.get(index)->name); + server_json_block += jsonify(server.maps.get(index)->name); server_json_block += "\",\n\t\t\t\t\"GUID\": \""_jrs; - server_json_block += RenX::formatGUID(*server->maps.get(index)); + server_json_block += RenX::formatGUID(*server.maps.get(index)); server_json_block += "\"\n\t\t\t}"_jrs; } @@ -385,18 +385,18 @@ Jupiter::StringS server_as_long_json(const RenX::Server *server) } // Mutators - if (server->mutators.size() != 0) + if (server.mutators.size() != 0) { server_json_block += ",\n\t\t\"Mutators\": ["_jrs; server_json_block += "\n\t\t\t{\n\t\t\t\t\"Name\": \""_jrs; - server_json_block += jsonify(*server->mutators.get(0)); + server_json_block += jsonify(*server.mutators.get(0)); server_json_block += "\"\n\t\t\t}"_jrs; - for (size_t index = 1; index != server->mutators.size(); ++index) + for (size_t index = 1; index != server.mutators.size(); ++index) { server_json_block += ",\n\t\t\t{\n\t\t\t\t\"Name\": \""_jrs; - server_json_block += jsonify(*server->mutators.get(index)); + server_json_block += jsonify(*server.mutators.get(index)); server_json_block += "\"\n\t\t\t}"_jrs; } @@ -404,33 +404,34 @@ Jupiter::StringS server_as_long_json(const RenX::Server *server) } // Player List - if (server->players.size() != 0 && server->players.size() != server->getBotCount()) + if (server.players.size() != 0 && server.players.size() != server.getBotCount()) { server_json_block += ",\n\t\t\"PlayerList\": ["_jrs; - size_t index = 0; + auto node = server.players.begin(); - while (index != server->players.size()) + while (node != server.players.end()) { - if (server->players.get(index)->isBot == false) + if (node->isBot == false) { server_json_block += "\n\t\t\t{\n\t\t\t\t\"Name\": \""_jrs; - server_json_block += jsonify(server->players.get(index)->name); + server_json_block += jsonify(node->name); server_json_block += "\"\n\t\t\t}"_jrs; - ++index; + ++node; break; } - ++index; + + ++node; } - while (index != server->players.size()) + while (node != server.players.end()) { server_json_block += ",\n\t\t\t{\n\t\t\t\t\"Name\": \""_jrs; - server_json_block += jsonify(server->players.get(index)->name); + server_json_block += jsonify(node->name); server_json_block += "\"\n\t\t\t}"_jrs; - ++index; + ++node; } server_json_block += "\n\t\t]"_jrs; @@ -441,7 +442,7 @@ Jupiter::StringS server_as_long_json(const RenX::Server *server) return server_json_block; } -void RenX_ServerListPlugin::addServerToServerList(RenX::Server *server) +void RenX_ServerListPlugin::addServerToServerList(RenX::Server &server) { Jupiter::String server_json_block(256); @@ -480,22 +481,22 @@ void RenX_ServerListPlugin::addServerToServerList(RenX::Server *server) server_json_block = '{'; - if (server->maps.size() != 0) + if (server.maps.size() != 0) { server_json_block += "\"Levels\":["_jrs; server_json_block += "{\"Name\":\""_jrs; - server_json_block += jsonify(server->maps.get(0)->name); + server_json_block += jsonify(server.maps.get(0)->name); server_json_block += "\",\"GUID\":\""_jrs; - server_json_block += RenX::formatGUID(*server->maps.get(0)); + server_json_block += RenX::formatGUID(*server.maps.get(0)); server_json_block += "\"}"_jrs; - for (size_t index = 1; index != server->maps.size(); ++index) + for (size_t index = 1; index != server.maps.size(); ++index) { server_json_block += ",{\"Name\":\""_jrs; - server_json_block += jsonify(server->maps.get(index)->name); + server_json_block += jsonify(server.maps.get(index)->name); server_json_block += "\",\"GUID\":\""_jrs; - server_json_block += RenX::formatGUID(*server->maps.get(index)); + server_json_block += RenX::formatGUID(*server.maps.get(index)); server_json_block += "\"}"_jrs; } @@ -503,20 +504,20 @@ void RenX_ServerListPlugin::addServerToServerList(RenX::Server *server) } // Mutators - if (server->mutators.size() != 0) + if (server.mutators.size() != 0) { - if (server->maps.size() != 0) + if (server.maps.size() != 0) server_json_block += ","_jrs; server_json_block += "\"Mutators\":["_jrs; server_json_block += "{\"Name\":\""_jrs; - server_json_block += jsonify(*server->mutators.get(0)); + server_json_block += jsonify(*server.mutators.get(0)); server_json_block += "\"}"_jrs; - for (size_t index = 1; index != server->mutators.size(); ++index) + for (size_t index = 1; index != server.mutators.size(); ++index) { server_json_block += ",{\"Name\":\""_jrs; - server_json_block += jsonify(*server->mutators.get(index)); + server_json_block += jsonify(*server.mutators.get(index)); server_json_block += "\"}"_jrs; } @@ -524,33 +525,34 @@ void RenX_ServerListPlugin::addServerToServerList(RenX::Server *server) } // Player List - if (server->players.size() != 0 && server->players.size() != server->getBotCount()) + if (server.players.size() != 0 && server.players.size() != server.getBotCount()) { server_json_block += ",\"PlayerList\":["_jrs; - size_t index = 0; + auto node = server.players.begin(); - while (index != server->players.size()) + while (node != server.players.end()) { - if (server->players.get(index)->isBot == false) + if (node->isBot == false) { server_json_block += "{\"Name\":\""_jrs; - server_json_block += jsonify(server->players.get(index)->name); + server_json_block += jsonify(node->name); server_json_block += "\"}"_jrs; - ++index; + ++node; break; } - ++index; + + ++node; } - while (index != server->players.size()) + while (node != server.players.end()) { server_json_block += ",{\"Name\":\""_jrs; - server_json_block += jsonify(server->players.get(index)->name); + server_json_block += jsonify(node->name); server_json_block += "\"}"_jrs; - ++index; + ++node; } server_json_block += "]"_jrs; @@ -558,7 +560,7 @@ void RenX_ServerListPlugin::addServerToServerList(RenX::Server *server) server_json_block += '}'; - server->varData[this->name].set("j"_jrs, server_json_block); + server.varData[this->name].set("j"_jrs, server_json_block); } void RenX_ServerListPlugin::updateServerList() @@ -577,8 +579,8 @@ void RenX_ServerListPlugin::updateServerList() server = servers.get(index); if (server->isConnected() && server->isFullyConnected()) { - RenX_ServerListPlugin::server_list_json += server_as_json(server); - RenX_ServerListPlugin::server_list_game += server_as_game(server); + RenX_ServerListPlugin::server_list_json += server_as_json(*server); + RenX_ServerListPlugin::server_list_game += server_as_game(*server); ++index; break; @@ -591,9 +593,9 @@ void RenX_ServerListPlugin::updateServerList() if (server->isConnected() && server->isFullyConnected()) { RenX_ServerListPlugin::server_list_json += ','; - RenX_ServerListPlugin::server_list_json += server_as_json(server); + RenX_ServerListPlugin::server_list_json += server_as_json(*server); - RenX_ServerListPlugin::server_list_game += server_as_game(server); + RenX_ServerListPlugin::server_list_game += server_as_game(*server); } ++index; } @@ -602,31 +604,31 @@ void RenX_ServerListPlugin::updateServerList() RenX_ServerListPlugin::server_list_game += server_list_game_footer; } -void RenX_ServerListPlugin::RenX_OnServerFullyConnected(RenX::Server *server) +void RenX_ServerListPlugin::RenX_OnServerFullyConnected(RenX::Server &server) { this->addServerToServerList(server); } -void RenX_ServerListPlugin::RenX_OnServerDisconnect(RenX::Server *server, RenX::DisconnectReason) +void RenX_ServerListPlugin::RenX_OnServerDisconnect(RenX::Server &server, RenX::DisconnectReason) { this->updateServerList(); // remove from individual listing - server->varData[this->name].remove("j"_jrs); + server.varData[this->name].remove("j"_jrs); } -void RenX_ServerListPlugin::RenX_OnJoin(RenX::Server *, const RenX::PlayerInfo *) +void RenX_ServerListPlugin::RenX_OnJoin(RenX::Server &, const RenX::PlayerInfo &) { this->updateServerList(); } -void RenX_ServerListPlugin::RenX_OnPart(RenX::Server *server, const RenX::PlayerInfo *) +void RenX_ServerListPlugin::RenX_OnPart(RenX::Server &server, const RenX::PlayerInfo &) { - if (server->isTravelling() == false || server->isSeamless()) + if (server.isTravelling() == false || server.isSeamless()) this->updateServerList(); } -void RenX_ServerListPlugin::RenX_OnMapLoad(RenX::Server *server, const Jupiter::ReadableString &map) +void RenX_ServerListPlugin::RenX_OnMapLoad(RenX::Server &server, const Jupiter::ReadableString &map) { this->updateServerList(); } @@ -656,7 +658,7 @@ Jupiter::ReadableString *handle_server_list_long_page(const Jupiter::ReadableStr if (server->isConnected() && server->isFullyConnected()) { *server_list_long_json += "\n\t"_jrs; - *server_list_long_json += server_as_long_json(server); + *server_list_long_json += server_as_long_json(*server); ++index; break; } @@ -668,7 +670,7 @@ Jupiter::ReadableString *handle_server_list_long_page(const Jupiter::ReadableStr if (server->isConnected() && server->isFullyConnected()) { *server_list_long_json += ",\n\t"_jrs; - *server_list_long_json += server_as_long_json(server); + *server_list_long_json += server_as_long_json(*server); } ++index; } diff --git a/RenX.ServerList/RenX_ServerList.h b/RenX.ServerList/RenX_ServerList.h index 7bc152c..e9d5903 100644 --- a/RenX.ServerList/RenX_ServerList.h +++ b/RenX.ServerList/RenX_ServerList.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2016 Jessica James. + * Copyright (C) 2016-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -29,18 +29,18 @@ public: // RenX_ServerListPlugin Jupiter::ReadableString *getServerListJSON(); Jupiter::ReadableString *getServerListGame(); - void addServerToServerList(RenX::Server *server); + void addServerToServerList(RenX::Server &server); void updateServerList(); virtual bool initialize() override; ~RenX_ServerListPlugin(); public: // RenX::Plugin - void RenX_OnServerFullyConnected(RenX::Server *server) override; - void RenX_OnServerDisconnect(RenX::Server *server, RenX::DisconnectReason reason) override; - void RenX_OnJoin(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnPart(RenX::Server *server, const RenX::PlayerInfo *player) override; - void RenX_OnMapLoad(RenX::Server *server, const Jupiter::ReadableString &map) override; + void RenX_OnServerFullyConnected(RenX::Server &server) override; + void RenX_OnServerDisconnect(RenX::Server &server, RenX::DisconnectReason reason) override; + void RenX_OnJoin(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnPart(RenX::Server &server, const RenX::PlayerInfo &player) override; + void RenX_OnMapLoad(RenX::Server &server, const Jupiter::ReadableString &map) override; private: Jupiter::StringS server_list_json, server_list_game; diff --git a/RenX.SetJoin/RenX_SetJoin.cpp b/RenX.SetJoin/RenX_SetJoin.cpp index 94ac83e..dd903bc 100644 --- a/RenX.SetJoin/RenX_SetJoin.cpp +++ b/RenX.SetJoin/RenX_SetJoin.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -23,13 +23,13 @@ using namespace Jupiter::literals; -void RenX_SetJoinPlugin::RenX_OnJoin(RenX::Server *server, const RenX::PlayerInfo *player) +void RenX_SetJoinPlugin::RenX_OnJoin(RenX::Server &server, const RenX::PlayerInfo &player) { - if (player->uuid.isNotEmpty() && server->isMatchInProgress()) + if (player.uuid.isNotEmpty() && server.isMatchInProgress()) { - const Jupiter::ReadableString &setjoin = RenX_SetJoinPlugin::setjoin_file.get(player->uuid); + const Jupiter::ReadableString &setjoin = RenX_SetJoinPlugin::setjoin_file.get(player.uuid); if (setjoin.isNotEmpty()) - server->sendMessage(Jupiter::StringS::Format("[%.*s] %.*s", player->name.size(), player->name.ptr(), setjoin.size(), setjoin.ptr())); + server.sendMessage(Jupiter::StringS::Format("[%.*s] %.*s", player.name.size(), player.name.ptr(), setjoin.size(), setjoin.ptr())); } } @@ -49,11 +49,14 @@ void ViewJoinGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player if (player->uuid.isNotEmpty()) { const Jupiter::ReadableString &setjoin = pluginInstance.setjoin_file.get(player->uuid); + if (setjoin.isNotEmpty()) - source->sendMessage(player, Jupiter::StringS::Format("[%.*s] %.*s", player->name.size(), player->name.ptr(), setjoin.size(), setjoin.ptr())); - else source->sendMessage(player, "Error: No setjoin found."_jrs); + source->sendMessage(*player, Jupiter::StringS::Format("[%.*s] %.*s", player->name.size(), player->name.ptr(), setjoin.size(), setjoin.ptr())); + else + source->sendMessage(*player, "Error: No setjoin found."_jrs); } - else source->sendMessage(player, "Error: A setjoin message requires steam."_jrs); + else + source->sendMessage(*player, "Error: A setjoin message requires steam."_jrs); } const Jupiter::ReadableString &ViewJoinGameCommand::getHelp(const Jupiter::ReadableString &) @@ -77,11 +80,14 @@ void ShowJoinGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player if (player->uuid.isNotEmpty()) { const Jupiter::ReadableString &setjoin = pluginInstance.setjoin_file.get(player->uuid); + if (setjoin.isNotEmpty()) source->sendMessage(Jupiter::StringS::Format("[%.*s] %.*s", player->name.size(), player->name.ptr(), setjoin.size(), setjoin.ptr())); - else source->sendMessage(player, "Error: No setjoin found."_jrs); + else + source->sendMessage(*player, "Error: No setjoin found."_jrs); } - else source->sendMessage(player, "Error: A setjoin message requires steam."_jrs); + else + source->sendMessage(*player, "Error: A setjoin message requires steam."_jrs); } const Jupiter::ReadableString &ShowJoinGameCommand::getHelp(const Jupiter::ReadableString &) @@ -107,10 +113,12 @@ void DelJoinGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, if (player->uuid.isNotEmpty()) { if (pluginInstance.setjoin_file.remove(player->uuid)) - source->sendMessage(player, Jupiter::StringS::Format("%.*s, your join message has been removed.", player->name.size(), player->name.ptr())); - else source->sendMessage(player, "Error: Setjoin not found."_jrs); + source->sendMessage(*player, Jupiter::StringS::Format("%.*s, your join message has been removed.", player->name.size(), player->name.ptr())); + else + source->sendMessage(*player, "Error: Setjoin not found."_jrs); } - else source->sendMessage(player, "Error: A setjoin message requires steam."_jrs); + else + source->sendMessage(*player, "Error: A setjoin message requires steam."_jrs); } const Jupiter::ReadableString &DelJoinGameCommand::getHelp(const Jupiter::ReadableString &) @@ -137,11 +145,11 @@ void SetJoinGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, { pluginInstance.setjoin_file.set(player->uuid, parameters); pluginInstance.setjoin_file.write(); - source->sendMessage(player, Jupiter::StringS::Format("%.*s, your join message is now: %.*s", player->name.size(), player->name.ptr(), parameters.size(), parameters.ptr())); + source->sendMessage(*player, Jupiter::StringS::Format("%.*s, your join message is now: %.*s", player->name.size(), player->name.ptr(), parameters.size(), parameters.ptr())); } else DelJoinGameCommand_instance.trigger(source, player, parameters); } - else source->sendMessage(player, "Error: A setjoin message requires steam."_jrs); + else source->sendMessage(*player, "Error: A setjoin message requires steam."_jrs); } const Jupiter::ReadableString &SetJoinGameCommand::getHelp(const Jupiter::ReadableString &) diff --git a/RenX.SetJoin/RenX_SetJoin.h b/RenX.SetJoin/RenX_SetJoin.h index fcce257..a0b67bb 100644 --- a/RenX.SetJoin/RenX_SetJoin.h +++ b/RenX.SetJoin/RenX_SetJoin.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -29,7 +29,7 @@ public: Jupiter::Config &setjoin_file = Jupiter::Plugin::config; public: // RenX::Plugin - void RenX_OnJoin(RenX::Server *server, const RenX::PlayerInfo *player) override; + void RenX_OnJoin(RenX::Server &server, const RenX::PlayerInfo &player) override; }; GENERIC_GAME_COMMAND(SetJoinGameCommand) diff --git a/RenX.Warn/RenX_Warn.cpp b/RenX.Warn/RenX_Warn.cpp index 5cf9c6f..0ea3784 100644 --- a/RenX.Warn/RenX_Warn.cpp +++ b/RenX.Warn/RenX_Warn.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2016 Jessica James. + * Copyright (C) 2014-2017 Jessica James. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -76,11 +76,11 @@ void WarnIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &cha switch (pluginInstance.warnAction) { case -1: - server->kickPlayer(player, Jupiter::StringS::Format("Warning limit reached (%d warnings)", warns)); + server->kickPlayer(*player, Jupiter::StringS::Format("Warning limit reached (%d warnings)", warns)); source->sendNotice(nick, Jupiter::StringS::Format("%.*s has been kicked from the server for exceeding the warning limit (%d warnings).", player->name.size(), player->name.ptr(), warns)); break; default: - server->banPlayer(player, "Jupiter Bot/RenX.Warn"_jrs, Jupiter::StringS::Format("Warning limit reached (%d warnings)", warns), std::chrono::seconds(pluginInstance.warnAction)); + server->banPlayer(*player, "Jupiter Bot/RenX.Warn"_jrs, Jupiter::StringS::Format("Warning limit reached (%d warnings)", warns), std::chrono::seconds(pluginInstance.warnAction)); source->sendNotice(nick, Jupiter::StringS::Format("%.*s has been banned from the server for exceeding the warning limit (%d warnings).", player->name.size(), player->name.ptr(), warns)); break; } @@ -88,7 +88,7 @@ void WarnIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &cha else { player->varData[pluginInstance.getName()].set(WARNS_KEY, Jupiter::StringS::Format("%d", warns)); - server->sendMessage(player, Jupiter::StringS::Format("You have been warned by %.*s@IRC; improve your behavior, or you will be disciplined. You have %d warnings.", nick.size(), nick.ptr(), warns)); + server->sendMessage(*player, Jupiter::StringS::Format("You have been warned by %.*s@IRC; improve your behavior, or you will be disciplined. You have %d warnings.", nick.size(), nick.ptr(), warns)); source->sendNotice(nick, Jupiter::StringS::Format("%.*s has been warned; they now have %d warnings.", player->name.size(), player->name.ptr(), warns)); } } @@ -142,7 +142,7 @@ void PardonIRCCommand::trigger(IRC_Bot *source, const Jupiter::ReadableString &c if (player != nullptr) { player->varData[pluginInstance.getName()].remove(WARNS_KEY); - server->sendMessage(player, Jupiter::StringS::Format("You have been pardoned by %.*s@IRC; your warnings have been reset.", nick.size(), nick.ptr())); + server->sendMessage(*player, Jupiter::StringS::Format("You have been pardoned by %.*s@IRC; your warnings have been reset.", nick.size(), nick.ptr())); source->sendNotice(nick, Jupiter::StringS::Format("%.*s has been pardoned; their warnings have been reset.", player->name.size(), player->name.ptr())); } } @@ -186,25 +186,25 @@ void WarnGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, co switch (pluginInstance.warnAction) { case -1: - source->kickPlayer(target, Jupiter::StringS::Format("Warning limit reached (%d warnings)", warns)); - source->sendMessage(player, Jupiter::StringS::Format("%.*s has been kicked from the server for exceeding the warning limit (%d warnings).", target->name.size(), target->name.ptr(), warns)); + source->kickPlayer(*target, Jupiter::StringS::Format("Warning limit reached (%d warnings)", warns)); + source->sendMessage(*player, Jupiter::StringS::Format("%.*s has been kicked from the server for exceeding the warning limit (%d warnings).", target->name.size(), target->name.ptr(), warns)); break; default: - source->banPlayer(target, "Jupiter Bot/RenX.Warn"_jrs, Jupiter::StringS::Format("Warning limit reached (%d warnings)", warns), std::chrono::seconds(pluginInstance.warnAction)); - source->sendMessage(player, Jupiter::StringS::Format("%.*s has been banned from the server for exceeding the warning limit (%d warnings).", target->name.size(), target->name.ptr(), warns)); + source->banPlayer(*target, "Jupiter Bot/RenX.Warn"_jrs, Jupiter::StringS::Format("Warning limit reached (%d warnings)", warns), std::chrono::seconds(pluginInstance.warnAction)); + source->sendMessage(*player, Jupiter::StringS::Format("%.*s has been banned from the server for exceeding the warning limit (%d warnings).", target->name.size(), target->name.ptr(), warns)); break; } } else { target->varData[pluginInstance.getName()].set(WARNS_KEY, Jupiter::StringS::Format("%d", warns)); - source->sendMessage(target, Jupiter::StringS::Format("You have been warned by %.*s; improve your behavior, or you will be disciplined. You have %d warnings.", player->name.size(), player->name.ptr(), warns)); - source->sendMessage(player, Jupiter::StringS::Format("%.*s has been warned; they now have %d warnings.", target->name.size(), target->name.ptr(), warns)); + source->sendMessage(*target, Jupiter::StringS::Format("You have been warned by %.*s; improve your behavior, or you will be disciplined. You have %d warnings.", player->name.size(), player->name.ptr(), warns)); + source->sendMessage(*player, Jupiter::StringS::Format("%.*s has been warned; they now have %d warnings.", target->name.size(), target->name.ptr(), warns)); } } } else - source->sendMessage(player, "Error: Too few parameters. Syntax: Warn "_jrs); + source->sendMessage(*player, "Error: Too few parameters. Syntax: Warn "_jrs); } const Jupiter::ReadableString &WarnGameCommand::getHelp(const Jupiter::ReadableString &) @@ -233,8 +233,8 @@ void PardonGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, if (target != nullptr) { target->varData[pluginInstance.getName()].remove(WARNS_KEY); - source->sendMessage(target, Jupiter::StringS::Format("You have been pardoned by %.*s@IRC; your warnings have been reset.", player->name.size(), player->name.ptr())); - source->sendMessage(player, Jupiter::StringS::Format("%.*s has been pardoned; their warnings have been reset.", target->name.size(), target->name.ptr())); + source->sendMessage(*target, Jupiter::StringS::Format("You have been pardoned by %.*s@IRC; your warnings have been reset.", player->name.size(), player->name.ptr())); + source->sendMessage(*player, Jupiter::StringS::Format("%.*s has been pardoned; their warnings have been reset.", target->name.size(), target->name.ptr())); } } else