- removed the 'caller' parameter from the CCMD dispatcher.

This can never be anything but players[consoleplayer].mo, so there is no need to pass it through the interface.
This commit is contained in:
Christoph Oelckers 2020-04-11 18:02:27 +02:00
parent 603ad755ab
commit d63a6baa5d
5 changed files with 34 additions and 34 deletions

View file

@ -354,14 +354,13 @@ CCMD (hxvisit)
CCMD (changemap) CCMD (changemap)
{ {
if (who == NULL || !usergame) if (!players[consoleplayer].mo || !usergame)
{ {
Printf ("Use the map command when not in a game.\n"); Printf ("Use the map command when not in a game.\n");
return; return;
} }
AActor* user = (AActor*)who; if (!players[consoleplayer].settings_controller && netgame)
if (!players[user->player - players].settings_controller && netgame)
{ {
Printf ("Only setting controllers can change the map.\n"); Printf ("Only setting controllers can change the map.\n");
return; return;

View file

@ -123,7 +123,7 @@ public:
if (Text.IsNotEmpty() && Command != nullptr) if (Text.IsNotEmpty() && Command != nullptr)
{ {
FCommandLine args(Text); FCommandLine args(Text);
Command->Run(args, players[consoleplayer].mo, 0); Command->Run(args, 0);
} }
return true; return true;
} }
@ -298,7 +298,7 @@ void C_DoCommand (const char *cmd, int keynum)
) )
{ {
FCommandLine args (beg); FCommandLine args (beg);
com->Run (args, players[consoleplayer].mo, keynum); com->Run (args, keynum);
} }
else else
{ {
@ -525,12 +525,12 @@ FConsoleCommand::~FConsoleCommand ()
delete[] m_Name; delete[] m_Name;
} }
void FConsoleCommand::Run (FCommandLine &argv, void *who, int key) void FConsoleCommand::Run(FCommandLine &argv, int key)
{ {
m_RunFunc (argv, who, key); m_RunFunc (argv, key);
} }
void FUnsafeConsoleCommand::Run (FCommandLine &args, void *instigator, int key) void FUnsafeConsoleCommand::Run(FCommandLine &args, int key)
{ {
if (UnsafeExecutionContext) if (UnsafeExecutionContext)
{ {
@ -538,7 +538,7 @@ void FUnsafeConsoleCommand::Run (FCommandLine &args, void *instigator, int key)
return; return;
} }
FConsoleCommand::Run (args, instigator, key); FConsoleCommand::Run (args, key);
} }
FConsoleAlias::FConsoleAlias (const char *name, const char *command, bool noSave) FConsoleAlias::FConsoleAlias (const char *name, const char *command, bool noSave)
@ -948,7 +948,7 @@ bool FConsoleAlias::IsAlias ()
return true; return true;
} }
void FConsoleAlias::Run (FCommandLine &args, void *who, int key) void FConsoleAlias::Run (FCommandLine &args, int key)
{ {
if (bRunning) if (bRunning)
{ {
@ -1011,10 +1011,10 @@ void FConsoleAlias::SafeDelete ()
} }
} }
void FUnsafeConsoleAlias::Run (FCommandLine &args, void *instigator, int key) void FUnsafeConsoleAlias::Run (FCommandLine &args, int key)
{ {
UnsafeExecutionScope scope; UnsafeExecutionScope scope;
FConsoleAlias::Run(args, instigator, key); FConsoleAlias::Run(args, key);
} }
void FExecList::AddCommand(const char *cmd, const char *file) void FExecList::AddCommand(const char *cmd, const char *file)

View file

@ -86,7 +86,7 @@ void C_ClearAliases ();
FString BuildString (int argc, FString *argv); FString BuildString (int argc, FString *argv);
class AActor; class AActor;
typedef void (*CCmdRun) (FCommandLine &argv, void *instigator, int key); typedef void (*CCmdRun) (FCommandLine &argv, int key);
class FConsoleCommand class FConsoleCommand
{ {
@ -96,7 +96,7 @@ public:
virtual bool IsAlias (); virtual bool IsAlias ();
void PrintCommand(); void PrintCommand();
virtual void Run (FCommandLine &args, void *instigator, int key); virtual void Run (FCommandLine &args, int key);
static FConsoleCommand* FindByName (const char* name); static FConsoleCommand* FindByName (const char* name);
FConsoleCommand *m_Next, **m_Prev; FConsoleCommand *m_Next, **m_Prev;
@ -113,9 +113,9 @@ protected:
}; };
#define CCMD(n) \ #define CCMD(n) \
void Cmd_##n (FCommandLine &, void *, int key); \ void Cmd_##n (FCommandLine &, int key); \
FConsoleCommand Cmd_##n##_Ref (#n, Cmd_##n); \ FConsoleCommand Cmd_##n##_Ref (#n, Cmd_##n); \
void Cmd_##n (FCommandLine &argv, void *who, int key) void Cmd_##n (FCommandLine &argv, int key)
class FUnsafeConsoleCommand : public FConsoleCommand class FUnsafeConsoleCommand : public FConsoleCommand
{ {
@ -125,13 +125,13 @@ public:
{ {
} }
virtual void Run (FCommandLine &args, void *instigator, int key) override; virtual void Run (FCommandLine &args, int key) override;
}; };
#define UNSAFE_CCMD(n) \ #define UNSAFE_CCMD(n) \
static void Cmd_##n (FCommandLine &, void *, int key); \ static void Cmd_##n (FCommandLine &, int key); \
static FUnsafeConsoleCommand Cmd_##n##_Ref (#n, Cmd_##n); \ static FUnsafeConsoleCommand Cmd_##n##_Ref (#n, Cmd_##n); \
void Cmd_##n (FCommandLine &argv, void *who, int key) void Cmd_##n (FCommandLine &argv, int key)
const int KEY_DBLCLICKED = 0x8000; const int KEY_DBLCLICKED = 0x8000;
@ -140,7 +140,7 @@ class FConsoleAlias : public FConsoleCommand
public: public:
FConsoleAlias (const char *name, const char *command, bool noSave); FConsoleAlias (const char *name, const char *command, bool noSave);
~FConsoleAlias (); ~FConsoleAlias ();
void Run (FCommandLine &args, void *instigator, int key); void Run (FCommandLine &args, int key);
bool IsAlias (); bool IsAlias ();
void PrintAlias (); void PrintAlias ();
void Archive (FConfigFile *f); void Archive (FConfigFile *f);
@ -161,7 +161,7 @@ public:
{ {
} }
virtual void Run (FCommandLine &args, void *instigator, int key) override; virtual void Run (FCommandLine &args, int key) override;
}; };

View file

@ -121,7 +121,7 @@ CCMD (countdecals)
CCMD (spray) CCMD (spray)
{ {
if (who == NULL || argv.argc() < 2) if (players[consoleplayer].mo == NULL || argv.argc() < 2)
{ {
Printf ("Usage: spray <decal>\n"); Printf ("Usage: spray <decal>\n");
return; return;

View file

@ -423,11 +423,11 @@ DEFINE_ACTION_FUNCTION_NATIVE(AActor, DisplayNameTag, DisplayNameTag)
CCMD (invnext) CCMD (invnext)
{ {
if (who != NULL) if (players[consoleplayer].mo != nullptr)
{ {
IFVM(PlayerPawn, InvNext) IFVM(PlayerPawn, InvNext)
{ {
VMValue param = who; VMValue param = players[consoleplayer].mo;
VMCall(func, &param, 1, nullptr, 0); VMCall(func, &param, 1, nullptr, 0);
} }
} }
@ -435,11 +435,11 @@ CCMD (invnext)
CCMD(invprev) CCMD(invprev)
{ {
if (who != NULL) if (players[consoleplayer].mo != nullptr)
{ {
IFVM(PlayerPawn, InvPrev) IFVM(PlayerPawn, InvPrev)
{ {
VMValue param = who; VMValue param = players[consoleplayer].mo;
VMCall(func, &param, 1, nullptr, 0); VMCall(func, &param, 1, nullptr, 0);
} }
} }
@ -470,9 +470,9 @@ CCMD(invquery)
CCMD (use) CCMD (use)
{ {
if (argv.argc() > 1 && who != NULL) if (argv.argc() > 1 && players[consoleplayer].mo != NULL)
{ {
SendItemUse = ((AActor*)who)->FindInventory(argv[1]); SendItemUse = players[consoleplayer].mo->FindInventory(argv[1]);
} }
} }
@ -493,19 +493,19 @@ CCMD (weapdrop)
CCMD (drop) CCMD (drop)
{ {
if (argv.argc() > 1 && who != NULL) if (argv.argc() > 1 && players[consoleplayer].mo != NULL)
{ {
SendItemDrop = ((AActor*)who)->FindInventory(argv[1]); SendItemDrop = players[consoleplayer].mo->FindInventory(argv[1]);
SendItemDropAmount = argv.argc() > 2 ? atoi(argv[2]) : -1; SendItemDropAmount = argv.argc() > 2 ? atoi(argv[2]) : -1;
} }
} }
CCMD (useflechette) CCMD (useflechette)
{ {
if (who == nullptr) return; if (players[consoleplayer].mo == nullptr) return;
IFVIRTUALPTRNAME(((AActor*)who), NAME_PlayerPawn, GetFlechetteItem) IFVIRTUALPTRNAME(players[consoleplayer].mo, NAME_PlayerPawn, GetFlechetteItem)
{ {
VMValue params[] = { who }; VMValue params[] = { players[consoleplayer].mo };
AActor *cls; AActor *cls;
VMReturn ret((void**)&cls); VMReturn ret((void**)&cls);
VMCall(func, params, 1, &ret, 1); VMCall(func, params, 1, &ret, 1);
@ -516,7 +516,8 @@ CCMD (useflechette)
CCMD (select) CCMD (select)
{ {
auto user = ((AActor*)who); if (!players[consoleplayer].mo) return;
auto user = players[consoleplayer].mo;
if (argv.argc() > 1) if (argv.argc() > 1)
{ {
auto item = user->FindInventory(argv[1]); auto item = user->FindInventory(argv[1]);