From e00e094374d8d3c5efe57bb33a2bce3ea3a91d3a Mon Sep 17 00:00:00 2001 From: JustinAJ Date: Tue, 5 May 2015 19:49:56 -0400 Subject: [PATCH] Added RenX.NicknameUUID plugin. --- RenX.NicknameUUID/RenX.NicknameUUID.vcxproj | 85 +++++++++++++++++++ .../RenX.NicknameUUID.vcxproj.filters | 38 +++++++++ RenX.NicknameUUID/RenX_NicknameUUID.cpp | 57 +++++++++++++ RenX.NicknameUUID/RenX_NicknameUUID.h | 40 +++++++++ 4 files changed, 220 insertions(+) create mode 100644 RenX.NicknameUUID/RenX.NicknameUUID.vcxproj create mode 100644 RenX.NicknameUUID/RenX.NicknameUUID.vcxproj.filters create mode 100644 RenX.NicknameUUID/RenX_NicknameUUID.cpp create mode 100644 RenX.NicknameUUID/RenX_NicknameUUID.h diff --git a/RenX.NicknameUUID/RenX.NicknameUUID.vcxproj b/RenX.NicknameUUID/RenX.NicknameUUID.vcxproj new file mode 100644 index 0000000..44e9394 --- /dev/null +++ b/RenX.NicknameUUID/RenX.NicknameUUID.vcxproj @@ -0,0 +1,85 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {553C70DE-37B7-4C31-985B-591BEC238C9D} + RenX.NicknameUUID + + + + Application + true + v120 + MultiByte + + + DynamicLibrary + false + v120 + true + Unicode + + + + + + + + + + + + + $(SolutionDir)$(Configuration)\Plugins\ + AllRules.ruleset + + + + Level3 + Disabled + true + + + true + + + + + Level3 + MaxSpeed + true + true + true + ../Bot;../Jupiter;../RenX.Core + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + + + true + true + true + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RenX.NicknameUUID/RenX.NicknameUUID.vcxproj.filters b/RenX.NicknameUUID/RenX.NicknameUUID.vcxproj.filters new file mode 100644 index 0000000..d35c490 --- /dev/null +++ b/RenX.NicknameUUID/RenX.NicknameUUID.vcxproj.filters @@ -0,0 +1,38 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Resource Files + + + Resource Files + + + Resource Files + + + + + Source Files + + + + + Header Files + + + \ No newline at end of file diff --git a/RenX.NicknameUUID/RenX_NicknameUUID.cpp b/RenX.NicknameUUID/RenX_NicknameUUID.cpp new file mode 100644 index 0000000..01e734b --- /dev/null +++ b/RenX.NicknameUUID/RenX_NicknameUUID.cpp @@ -0,0 +1,57 @@ +/** + * Copyright (C) 2015 Justin James. + * + * This license must be preserved. + * Any applications, libraries, or code which make any use of any + * component of this program must not be commercial, unless explicit + * permission is granted from the original author. The use of this + * program for non-profit purposes is permitted. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * In the event that this license restricts you from making desired use of this program, contact the original author. + * Written by Justin James + */ + +#include "Jupiter/String.h" +#include "RenX_Core.h" +#include "RenX_Server.h" +#include "RenX_PlayerInfo.h" +#include "RenX_Functions.h" +#include "RenX_NicknameUUID.h" + +Jupiter::StringS calc_uuid(RenX::PlayerInfo *player) +{ + return player->name; +} + +RenX_NicknameUUIDPlugin::RenX_NicknameUUIDPlugin() +{ + RenX::Core &core = *RenX::getCore(); + size_t index = core.getServerCount(); + while (index != 0) + core.getServer(--index)->setUUIDFunction(calc_uuid); +} + +RenX_NicknameUUIDPlugin::~RenX_NicknameUUIDPlugin() +{ + RenX::Core &core = *RenX::getCore(); + size_t index = core.getServerCount(); + while (index != 0) + core.getServer(--index)->setUUIDFunction(RenX::default_uuid_func); +} + +void RenX_NicknameUUIDPlugin::RenX_OnServerCreate(RenX::Server *server) +{ + server->setUUIDFunction(calc_uuid); +} + +// Plugin instantiation and entry point. +RenX_NicknameUUIDPlugin pluginInstance; + +extern "C" __declspec(dllexport) Jupiter::Plugin *getPlugin() +{ + return &pluginInstance; +} diff --git a/RenX.NicknameUUID/RenX_NicknameUUID.h b/RenX.NicknameUUID/RenX_NicknameUUID.h new file mode 100644 index 0000000..6a7d7d8 --- /dev/null +++ b/RenX.NicknameUUID/RenX_NicknameUUID.h @@ -0,0 +1,40 @@ +/** + * Copyright (C) 2015 Justin James. + * + * This license must be preserved. + * Any applications, libraries, or code which make any use of any + * component of this program must not be commercial, unless explicit + * permission is granted from the original author. The use of this + * program for non-profit purposes is permitted. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * In the event that this license restricts you from making desired use of this program, contact the original author. + * Written by Justin James + */ + +#if !defined _RENX_NICKNAMEUUID_H_HEADER +#define _RENX_NICKNAMEUUID_H_HEADER + +#include "Jupiter/Plugin.h" +#include "Jupiter/Reference_String.h" +#include "RenX_Plugin.h" + +class RenX_NicknameUUIDPlugin : public RenX::Plugin +{ +public: // RenX::Plugin + void RenX_OnServerCreate(RenX::Server *server) override; + +public: // Jupiter::Plugin + const Jupiter::ReadableString &getName() override { return name; } + + RenX_NicknameUUIDPlugin(); + ~RenX_NicknameUUIDPlugin(); + +private: + STRING_LITERAL_AS_NAMED_REFERENCE(name, "RenX_TemplatePlugin"); +}; + +#endif // _RENX_NICKNAMEUUID_H_HEADER \ No newline at end of file