Skip to content

Commit 4c60f7c

Browse files
authored
Merge pull request nwnxee#4 from Daztek/nwnx64
Clean up NWNX_Administration & Update run-server.sh patch
2 parents 51ebf46 + 0740dc0 commit 4c60f7c

File tree

7 files changed

+111
-88
lines changed

7 files changed

+111
-88
lines changed

Core/NWNXCore.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@ void NWNXCore::InitialSetupHooks()
190190
}
191191
});
192192

193+
/* TODO-64Bit: This breaks stuff if it gets hooked, disabling it for now
193194
if (!m_coreServices->m_config->Get<bool>("ALLOW_NWNX_FUNCTIONS_IN_EXECUTE_SCRIPT_CHUNK", false))
194195
{
195196
m_services->m_hooks->RequestSharedHook<API::Functions::_ZN25CNWVirtualMachineCommands32ExecuteCommandExecuteScriptChunkEii, int32_t>(
@@ -198,6 +199,7 @@ void NWNXCore::InitialSetupHooks()
198199
g_core->m_ScriptChunkRecursion += (type == Services::Hooks::CallType::BEFORE_ORIGINAL) ? +1 : -1;
199200
});
200201
}
202+
*/
201203

202204
// TODO-64Bit: Temp fix for POS
203205
m_services->m_hooks->RequestSharedHook<API::Functions::_ZN11CGameObjectC2Ehj, void>(

Plugins/Administration/Administration.cpp

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -54,29 +54,29 @@ Administration::Administration(const Plugin::CreateParams& params)
5454
: Plugin(params)
5555
{
5656

57-
#define REGISTER(name, func) \
58-
GetServices()->m_events->RegisterEvent(name, \
59-
[this](Events::ArgumentStack&& args){ return func(std::move(args)); })
60-
61-
REGISTER("GET_PLAYER_PASSWORD", OnGetPlayerPassword);
62-
REGISTER("SET_PLAYER_PASSWORD", OnSetPlayerPassword);
63-
REGISTER("CLEAR_PLAYER_PASSWORD", OnClearPlayerPassword);
64-
REGISTER("GET_DM_PASSWORD", OnGetDMPassword);
65-
REGISTER("SET_DM_PASSWORD", OnSetDMPassword);
66-
REGISTER("SHUTDOWN_SERVER", OnShutdownServer);
67-
REGISTER("DELETE_PLAYER_CHARACTER", OnDeletePlayerCharacter);
68-
REGISTER("ADD_BANNED_IP", OnAddBannedIP);
69-
REGISTER("REMOVE_BANNED_IP", OnRemoveBannedIP);
70-
REGISTER("ADD_BANNED_CDKEY", OnAddBannedCDKey);
71-
REGISTER("REMOVE_BANNED_CDKEY", OnRemoveBannedCDKey);
72-
REGISTER("ADD_BANNED_PLAYER_NAME", OnAddBannedPlayerName);
73-
REGISTER("REMOVE_BANNED_PLAYER_NAME", OnRemoveBannedPlayerName);
74-
REGISTER("GET_BANNED_LIST", OnGetBannedList);
75-
REGISTER("SET_MODULE_NAME", OnSetModuleName);
76-
REGISTER("SET_SERVER_NAME", OnSetServerName);
77-
REGISTER("GET_PLAY_OPTION", OnGetPlayOption);
78-
REGISTER("SET_PLAY_OPTION", OnSetPlayOption);
79-
REGISTER("DELETE_TURD", OnDeleteTURD);
57+
#define REGISTER(func) \
58+
GetServices()->m_events->RegisterEvent(#func, \
59+
[this](ArgumentStack&& args){ return func(std::move(args)); })
60+
61+
REGISTER(GetPlayerPassword);
62+
REGISTER(SetPlayerPassword);
63+
REGISTER(ClearPlayerPassword);
64+
REGISTER(GetDMPassword);
65+
REGISTER(SetDMPassword);
66+
REGISTER(ShutdownServer);
67+
REGISTER(DeletePlayerCharacter);
68+
REGISTER(AddBannedIP);
69+
REGISTER(RemoveBannedIP);
70+
REGISTER(AddBannedCDKey);
71+
REGISTER(RemoveBannedCDKey);
72+
REGISTER(AddBannedPlayerName);
73+
REGISTER(RemoveBannedPlayerName);
74+
REGISTER(GetBannedList);
75+
REGISTER(SetModuleName);
76+
REGISTER(SetServerName);
77+
REGISTER(GetPlayOption);
78+
REGISTER(SetPlayOption);
79+
REGISTER(DeleteTURD);
8080

8181
#undef REGISTER
8282
}
@@ -85,7 +85,7 @@ Administration::~Administration()
8585
{
8686
}
8787

88-
Events::ArgumentStack Administration::OnGetPlayerPassword(Events::ArgumentStack&&)
88+
Events::ArgumentStack Administration::GetPlayerPassword(Events::ArgumentStack&&)
8989
{
9090
const CExoString password = Globals::AppManager()->m_pServerExoApp->GetNetLayer()->GetPlayerPassword();
9191
LOG_DEBUG("Returned player password '%s'.", password.m_sString);
@@ -94,22 +94,22 @@ Events::ArgumentStack Administration::OnGetPlayerPassword(Events::ArgumentStack&
9494
return stack;
9595
}
9696

97-
Events::ArgumentStack Administration::OnSetPlayerPassword(Events::ArgumentStack&& args)
97+
Events::ArgumentStack Administration::SetPlayerPassword(Events::ArgumentStack&& args)
9898
{
9999
const auto newPass = Events::ExtractArgument<std::string>(args);
100100
LOG_NOTICE("Set player password to '%s'.", newPass);
101101
Globals::AppManager()->m_pServerExoApp->GetNetLayer()->SetPlayerPassword(newPass.c_str());
102102
return Events::ArgumentStack();
103103
}
104104

105-
Events::ArgumentStack Administration::OnClearPlayerPassword(Events::ArgumentStack&&)
105+
Events::ArgumentStack Administration::ClearPlayerPassword(Events::ArgumentStack&&)
106106
{
107107
LOG_NOTICE("Cleared player password.");
108108
Globals::AppManager()->m_pServerExoApp->GetNetLayer()->SetPlayerPassword("");
109109
return Events::ArgumentStack();
110110
}
111111

112-
Events::ArgumentStack Administration::OnGetDMPassword(Events::ArgumentStack&&)
112+
Events::ArgumentStack Administration::GetDMPassword(Events::ArgumentStack&&)
113113
{
114114
const CExoString password = Globals::AppManager()->m_pServerExoApp->GetNetLayer()->GetGameMasterPassword();
115115
LOG_DEBUG("Returned DM password '%s'.", password.m_sString);
@@ -118,15 +118,15 @@ Events::ArgumentStack Administration::OnGetDMPassword(Events::ArgumentStack&&)
118118
return stack;
119119
}
120120

121-
Events::ArgumentStack Administration::OnSetDMPassword(Events::ArgumentStack&& args)
121+
Events::ArgumentStack Administration::SetDMPassword(Events::ArgumentStack&& args)
122122
{
123123
const auto newPass = Events::ExtractArgument<std::string>(args);
124124
LOG_NOTICE("Set DM password to '%s'.", newPass);
125125
Globals::AppManager()->m_pServerExoApp->GetNetLayer()->SetGameMasterPassword(newPass.c_str());
126126
return Events::ArgumentStack();
127127
}
128128

129-
Events::ArgumentStack Administration::OnShutdownServer(Events::ArgumentStack&&)
129+
Events::ArgumentStack Administration::ShutdownServer(Events::ArgumentStack&&)
130130
{
131131
LOG_NOTICE("Shutting down the server!");
132132
if (kill(getpid(), SIGTERM) != 0)
@@ -136,7 +136,7 @@ Events::ArgumentStack Administration::OnShutdownServer(Events::ArgumentStack&&)
136136
return Events::ArgumentStack();
137137
}
138138

139-
Events::ArgumentStack Administration::OnDeletePlayerCharacter(Events::ArgumentStack&& args)
139+
Events::ArgumentStack Administration::DeletePlayerCharacter(Events::ArgumentStack&& args)
140140
{
141141
const auto objectId = Events::ExtractArgument<Types::ObjectID>(args);
142142
const auto bPreserveBackup = static_cast<bool>(Events::ExtractArgument<int32_t>(args));
@@ -196,55 +196,55 @@ Events::ArgumentStack Administration::OnDeletePlayerCharacter(Events::ArgumentSt
196196
return Events::ArgumentStack();
197197
}
198198

199-
Events::ArgumentStack Administration::OnAddBannedIP(Events::ArgumentStack&& args)
199+
Events::ArgumentStack Administration::AddBannedIP(Events::ArgumentStack&& args)
200200
{
201201
const auto ip = Events::ExtractArgument<std::string>(args);
202202
LOG_NOTICE("Banning IP %s", ip);
203203
Globals::AppManager()->m_pServerExoApp->AddIPToBannedList(ip.c_str());
204204
return Events::ArgumentStack();
205205
}
206206

207-
Events::ArgumentStack Administration::OnRemoveBannedIP(Events::ArgumentStack&& args)
207+
Events::ArgumentStack Administration::RemoveBannedIP(Events::ArgumentStack&& args)
208208
{
209209
const auto ip = Events::ExtractArgument<std::string>(args);
210210
LOG_NOTICE("Unbanning IP %s", ip);
211211
Globals::AppManager()->m_pServerExoApp->RemoveIPFromBannedList(ip.c_str());
212212
return Events::ArgumentStack();
213213
}
214214

215-
Events::ArgumentStack Administration::OnAddBannedCDKey(Events::ArgumentStack&& args)
215+
Events::ArgumentStack Administration::AddBannedCDKey(Events::ArgumentStack&& args)
216216
{
217217
const auto key = Events::ExtractArgument<std::string>(args);
218218
LOG_NOTICE("Banning CDKey %s", key);
219219
Globals::AppManager()->m_pServerExoApp->AddCDKeyToBannedList(key.c_str());
220220
return Events::ArgumentStack();
221221
}
222222

223-
Events::ArgumentStack Administration::OnRemoveBannedCDKey(Events::ArgumentStack&& args)
223+
Events::ArgumentStack Administration::RemoveBannedCDKey(Events::ArgumentStack&& args)
224224
{
225225
const auto key = Events::ExtractArgument<std::string>(args);
226226
LOG_NOTICE("Unbanning CDKey %s", key);
227227
Globals::AppManager()->m_pServerExoApp->RemoveCDKeyFromBannedList(key.c_str());
228228
return Events::ArgumentStack();
229229
}
230230

231-
Events::ArgumentStack Administration::OnAddBannedPlayerName(Events::ArgumentStack&& args)
231+
Events::ArgumentStack Administration::AddBannedPlayerName(Events::ArgumentStack&& args)
232232
{
233233
const auto playername = Events::ExtractArgument<std::string>(args);
234234
LOG_NOTICE("Banning Player name %s", playername);
235235
Globals::AppManager()->m_pServerExoApp->AddPlayerNameToBannedList(playername.c_str());
236236
return Events::ArgumentStack();
237237
}
238238

239-
Events::ArgumentStack Administration::OnRemoveBannedPlayerName(Events::ArgumentStack&& args)
239+
Events::ArgumentStack Administration::RemoveBannedPlayerName(Events::ArgumentStack&& args)
240240
{
241241
const auto playername = Events::ExtractArgument<std::string>(args);
242242
LOG_NOTICE("Unbanning Player name %s", playername);
243243
Globals::AppManager()->m_pServerExoApp->RemovePlayerNameFromBannedList(playername.c_str());
244244
return Events::ArgumentStack();
245245
}
246246

247-
Events::ArgumentStack Administration::OnGetBannedList(Events::ArgumentStack&&)
247+
Events::ArgumentStack Administration::GetBannedList(Events::ArgumentStack&&)
248248
{
249249
Events::ArgumentStack stack;
250250

@@ -253,23 +253,23 @@ Events::ArgumentStack Administration::OnGetBannedList(Events::ArgumentStack&&)
253253
return stack;
254254
}
255255

256-
Events::ArgumentStack Administration::OnSetModuleName(Events::ArgumentStack&& args)
256+
Events::ArgumentStack Administration::SetModuleName(Events::ArgumentStack&& args)
257257
{
258258
const auto newName = Events::ExtractArgument<std::string>(args);
259259
LOG_NOTICE("Set module name to '%s'.", newName);
260260
Globals::AppManager()->m_pServerExoApp->m_pcExoAppInternal->m_pServerInfo->m_sModuleName = newName.c_str();
261261
return Events::ArgumentStack();
262262
}
263263

264-
Events::ArgumentStack Administration::OnSetServerName(Events::ArgumentStack&& args)
264+
Events::ArgumentStack Administration::SetServerName(Events::ArgumentStack&& args)
265265
{
266266
const auto newName = Events::ExtractArgument<std::string>(args);
267267
LOG_NOTICE("Set server name to '%s'.", newName);
268268
Globals::AppManager()->m_pServerExoApp->GetNetLayer()->SetSessionName(CExoString(newName.c_str()));
269269
return Events::ArgumentStack();
270270
}
271271

272-
Events::ArgumentStack Administration::OnGetPlayOption(Events::ArgumentStack&& args)
272+
Events::ArgumentStack Administration::GetPlayOption(Events::ArgumentStack&& args)
273273
{
274274
Events::ArgumentStack stack;
275275
int32_t retVal = -1;
@@ -398,7 +398,7 @@ Events::ArgumentStack Administration::OnGetPlayOption(Events::ArgumentStack&& ar
398398
return stack;
399399
}
400400

401-
Events::ArgumentStack Administration::OnSetPlayOption(Events::ArgumentStack&& args)
401+
Events::ArgumentStack Administration::SetPlayOption(Events::ArgumentStack&& args)
402402
{
403403
const auto option = Events::ExtractArgument<int32_t>(args);
404404
const auto value = Events::ExtractArgument<int32_t>(args);
@@ -527,7 +527,7 @@ Events::ArgumentStack Administration::OnSetPlayOption(Events::ArgumentStack&& ar
527527
return Events::ArgumentStack();
528528
}
529529

530-
Events::ArgumentStack Administration::OnDeleteTURD(Events::ArgumentStack&& args)
530+
Events::ArgumentStack Administration::DeleteTURD(Events::ArgumentStack&& args)
531531
{
532532
Events::ArgumentStack stack;
533533

Plugins/Administration/Administration.hpp

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
#include "Plugin.hpp"
44
#include "Services/Events/Events.hpp"
55

6+
using ArgumentStack = NWNXLib::Services::Events::ArgumentStack;
7+
68
namespace Administration {
79

810
class Administration : public NWNXLib::Plugin
@@ -11,25 +13,25 @@ class Administration : public NWNXLib::Plugin
1113
Administration(const Plugin::CreateParams& params);
1214
virtual ~Administration();
1315

14-
NWNXLib::Services::Events::ArgumentStack OnGetPlayerPassword(NWNXLib::Services::Events::ArgumentStack&& args);
15-
NWNXLib::Services::Events::ArgumentStack OnSetPlayerPassword(NWNXLib::Services::Events::ArgumentStack&& args);
16-
NWNXLib::Services::Events::ArgumentStack OnClearPlayerPassword(NWNXLib::Services::Events::ArgumentStack&& args);
17-
NWNXLib::Services::Events::ArgumentStack OnGetDMPassword(NWNXLib::Services::Events::ArgumentStack&& args);
18-
NWNXLib::Services::Events::ArgumentStack OnSetDMPassword(NWNXLib::Services::Events::ArgumentStack&& args);
19-
NWNXLib::Services::Events::ArgumentStack OnShutdownServer(NWNXLib::Services::Events::ArgumentStack&& args);
20-
NWNXLib::Services::Events::ArgumentStack OnDeletePlayerCharacter(NWNXLib::Services::Events::ArgumentStack&& args);
21-
NWNXLib::Services::Events::ArgumentStack OnAddBannedIP(NWNXLib::Services::Events::ArgumentStack&& args);
22-
NWNXLib::Services::Events::ArgumentStack OnRemoveBannedIP(NWNXLib::Services::Events::ArgumentStack&& args);
23-
NWNXLib::Services::Events::ArgumentStack OnAddBannedCDKey(NWNXLib::Services::Events::ArgumentStack&& args);
24-
NWNXLib::Services::Events::ArgumentStack OnRemoveBannedCDKey(NWNXLib::Services::Events::ArgumentStack&& args);
25-
NWNXLib::Services::Events::ArgumentStack OnAddBannedPlayerName(NWNXLib::Services::Events::ArgumentStack&& args);
26-
NWNXLib::Services::Events::ArgumentStack OnRemoveBannedPlayerName(NWNXLib::Services::Events::ArgumentStack&& args);
27-
NWNXLib::Services::Events::ArgumentStack OnGetBannedList(NWNXLib::Services::Events::ArgumentStack&& args);
28-
NWNXLib::Services::Events::ArgumentStack OnSetModuleName(NWNXLib::Services::Events::ArgumentStack&& args);
29-
NWNXLib::Services::Events::ArgumentStack OnSetServerName(NWNXLib::Services::Events::ArgumentStack&& args);
30-
NWNXLib::Services::Events::ArgumentStack OnGetPlayOption(NWNXLib::Services::Events::ArgumentStack&& args);
31-
NWNXLib::Services::Events::ArgumentStack OnSetPlayOption(NWNXLib::Services::Events::ArgumentStack&& args);
32-
NWNXLib::Services::Events::ArgumentStack OnDeleteTURD(NWNXLib::Services::Events::ArgumentStack&& args);
16+
ArgumentStack GetPlayerPassword (ArgumentStack&& args);
17+
ArgumentStack SetPlayerPassword (ArgumentStack&& args);
18+
ArgumentStack ClearPlayerPassword (ArgumentStack&& args);
19+
ArgumentStack GetDMPassword (ArgumentStack&& args);
20+
ArgumentStack SetDMPassword (ArgumentStack&& args);
21+
ArgumentStack ShutdownServer (ArgumentStack&& args);
22+
ArgumentStack DeletePlayerCharacter (ArgumentStack&& args);
23+
ArgumentStack AddBannedIP (ArgumentStack&& args);
24+
ArgumentStack RemoveBannedIP (ArgumentStack&& args);
25+
ArgumentStack AddBannedCDKey (ArgumentStack&& args);
26+
ArgumentStack RemoveBannedCDKey (ArgumentStack&& args);
27+
ArgumentStack AddBannedPlayerName (ArgumentStack&& args);
28+
ArgumentStack RemoveBannedPlayerName (ArgumentStack&& args);
29+
ArgumentStack GetBannedList (ArgumentStack&& args);
30+
ArgumentStack SetModuleName (ArgumentStack&& args);
31+
ArgumentStack SetServerName (ArgumentStack&& args);
32+
ArgumentStack GetPlayOption (ArgumentStack&& args);
33+
ArgumentStack SetPlayOption (ArgumentStack&& args);
34+
ArgumentStack DeleteTURD (ArgumentStack&& args);
3335

3436
};
3537

0 commit comments

Comments
 (0)