From e4b8eeb1ac5269fcba25d27967da2caee912dc4d Mon Sep 17 00:00:00 2001 From: JAJames Date: Wed, 20 Apr 2016 07:28:40 -0400 Subject: [PATCH] Moved RenX SetJoins to serparate INI file. --- RenX.SetJoin/RenX_SetJoin.cpp | 63 +++++++++++++++++++---------------- RenX.SetJoin/RenX_SetJoin.h | 8 ++++- 2 files changed, 41 insertions(+), 30 deletions(-) diff --git a/RenX.SetJoin/RenX_SetJoin.cpp b/RenX.SetJoin/RenX_SetJoin.cpp index 526e597..5eaa94e 100644 --- a/RenX.SetJoin/RenX_SetJoin.cpp +++ b/RenX.SetJoin/RenX_SetJoin.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2015 Jessica James. + * Copyright (C) 2014-2016 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 @@ -18,40 +18,48 @@ #include "Jupiter/IRC_Client.h" #include "Jupiter/INIFile.h" -#include "RenX_SetJoin.h" #include "RenX_PlayerInfo.h" #include "RenX_Server.h" +#include "RenX_SetJoin.h" + +using namespace Jupiter::literals; -const Jupiter::ReferenceString configSection(STRING_LITERAL_AS_REFERENCE("RenX.SetJoin")); +RenX_SetJoinPlugin::RenX_SetJoinPlugin() +{ + RenX_SetJoinPlugin::setjoin_file.readFile(Jupiter::IRC::Client::Config->get(this->getName(), "SetJoinFile"_jrs, "RenX.SetJoin.ini"_jrs)); +} void RenX_SetJoinPlugin::RenX_OnJoin(RenX::Server *server, const RenX::PlayerInfo *player) { if (player->uuid.isNotEmpty()) { - const Jupiter::ReadableString &setjoin = Jupiter::IRC::Client::Config->get(configSection, player->uuid); + const Jupiter::ReadableString &setjoin = RenX_SetJoinPlugin::setjoin_file.get(Jupiter::ReferenceString::empty, player->uuid); if (setjoin.isNotEmpty()) server->sendMessage(Jupiter::StringS::Format("[%.*s] %.*s", player->name.size(), player->name.ptr(), setjoin.size(), setjoin.ptr())); } } +// Plugin instantiation and entry point. +RenX_SetJoinPlugin pluginInstance; + // ViewJoin Game Command void ViewJoinGameCommand::create() { - this->addTrigger(STRING_LITERAL_AS_REFERENCE("viewjoin")); - this->addTrigger(STRING_LITERAL_AS_REFERENCE("vjoin")); + this->addTrigger("viewjoin"_jrs); + this->addTrigger("vjoin"_jrs); } void ViewJoinGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, const Jupiter::ReadableString ¶meters) { if (player->uuid.isNotEmpty()) { - const Jupiter::ReadableString &setjoin = Jupiter::IRC::Client::Config->get(configSection, player->uuid); + const Jupiter::ReadableString &setjoin = pluginInstance.setjoin_file.get(Jupiter::ReferenceString::empty, 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, STRING_LITERAL_AS_REFERENCE("Error: No setjoin found.")); + else source->sendMessage(player, "Error: No setjoin found."_jrs); } - else source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: A setjoin message requires steam.")); + else source->sendMessage(player, "Error: A setjoin message requires steam."_jrs); } const Jupiter::ReadableString &ViewJoinGameCommand::getHelp(const Jupiter::ReadableString &) @@ -66,20 +74,20 @@ GAME_COMMAND_INIT(ViewJoinGameCommand) void ShowJoinGameCommand::create() { - this->addTrigger(STRING_LITERAL_AS_REFERENCE("showjoin")); - this->addTrigger(STRING_LITERAL_AS_REFERENCE("shjoin")); + this->addTrigger("showjoin"_jrs); + this->addTrigger("shjoin"_jrs); } void ShowJoinGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, const Jupiter::ReadableString ¶meters) { if (player->uuid.isNotEmpty()) { - const Jupiter::ReadableString &setjoin = Jupiter::IRC::Client::Config->get(configSection, player->uuid); + const Jupiter::ReadableString &setjoin = pluginInstance.setjoin_file.get(Jupiter::ReferenceString::empty, 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, STRING_LITERAL_AS_REFERENCE("Error: No setjoin found.")); + else source->sendMessage(player, "Error: No setjoin found."_jrs); } - else source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: A setjoin message requires steam.")); + else source->sendMessage(player, "Error: A setjoin message requires steam."_jrs); } const Jupiter::ReadableString &ShowJoinGameCommand::getHelp(const Jupiter::ReadableString &) @@ -94,21 +102,21 @@ GAME_COMMAND_INIT(ShowJoinGameCommand) void DelJoinGameCommand::create() { - this->addTrigger(STRING_LITERAL_AS_REFERENCE("deljoin")); - this->addTrigger(STRING_LITERAL_AS_REFERENCE("remjoin")); - this->addTrigger(STRING_LITERAL_AS_REFERENCE("djoin")); - this->addTrigger(STRING_LITERAL_AS_REFERENCE("rjoin")); + this->addTrigger("deljoin"_jrs); + this->addTrigger("remjoin"_jrs); + this->addTrigger("djoin"_jrs); + this->addTrigger("rjoin"_jrs); } void DelJoinGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, const Jupiter::ReadableString &) { if (player->uuid.isNotEmpty()) { - if (Jupiter::IRC::Client::Config->remove(configSection, player->uuid)) + if (pluginInstance.setjoin_file.remove(Jupiter::ReferenceString::empty, 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, STRING_LITERAL_AS_REFERENCE("Error: Setjoin not found.")); + else source->sendMessage(player, "Error: Setjoin not found."_jrs); } - else source->sendMessage(player, STRING_LITERAL_AS_REFERENCE("Error: A setjoin message requires steam.")); + else source->sendMessage(player, "Error: A setjoin message requires steam."_jrs); } const Jupiter::ReadableString &DelJoinGameCommand::getHelp(const Jupiter::ReadableString &) @@ -123,8 +131,8 @@ GAME_COMMAND_INIT(DelJoinGameCommand) void SetJoinGameCommand::create() { - this->addTrigger(STRING_LITERAL_AS_REFERENCE("setjoin")); - this->addTrigger(STRING_LITERAL_AS_REFERENCE("sjoin")); + this->addTrigger("setjoin"_jrs); + this->addTrigger("sjoin"_jrs); } void SetJoinGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, const Jupiter::ReadableString ¶meters) @@ -133,13 +141,13 @@ void SetJoinGameCommand::trigger(RenX::Server *source, RenX::PlayerInfo *player, { if (parameters.isNotEmpty()) { - Jupiter::IRC::Client::Config->set(configSection, player->uuid, parameters); - Jupiter::IRC::Client::Config->sync(); + pluginInstance.setjoin_file.set(Jupiter::ReferenceString::empty, player->uuid, parameters); + pluginInstance.setjoin_file.sync(); 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, STRING_LITERAL_AS_REFERENCE("Error: A setjoin message requires steam.")); + else source->sendMessage(player, "Error: A setjoin message requires steam."_jrs); } const Jupiter::ReadableString &SetJoinGameCommand::getHelp(const Jupiter::ReadableString &) @@ -150,9 +158,6 @@ const Jupiter::ReadableString &SetJoinGameCommand::getHelp(const Jupiter::Readab GAME_COMMAND_INIT(SetJoinGameCommand) -// Plugin instantiation and entry point. -RenX_SetJoinPlugin pluginInstance; - extern "C" __declspec(dllexport) Jupiter::Plugin *getPlugin() { return &pluginInstance; diff --git a/RenX.SetJoin/RenX_SetJoin.h b/RenX.SetJoin/RenX_SetJoin.h index 452c508..2305f1e 100644 --- a/RenX.SetJoin/RenX_SetJoin.h +++ b/RenX.SetJoin/RenX_SetJoin.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2014-2015 Jessica James. + * Copyright (C) 2014-2016 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,12 +20,18 @@ #define _RENX_SETJOIN_H_HEADER #include "Jupiter/Plugin.h" +#include "Jupiter/INIFile.h" #include "RenX_Plugin.h" #include "RenX_GameCommand.h" class RenX_SetJoinPlugin : public RenX::Plugin { public: + Jupiter::INIFile setjoin_file; + + RenX_SetJoinPlugin(); + +public: // RenX::Plugin void RenX_OnJoin(RenX::Server *server, const RenX::PlayerInfo *player) override; public: // Jupiter::Plugin