diff options
Diffstat (limited to 'src/con_.c')
-rw-r--r-- | src/con_.c | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -1,6 +1,6 @@ /* THIS FILE SHOULD BE CALLED `con.c` BUT WINDOWS IS STUPID */ /* - * Copyright © 2024 Michael Smith <mikesmiffy128@gmail.com> + * Copyright © 2025 Michael Smith <mikesmiffy128@gmail.com> * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -69,8 +69,6 @@ static inline void initval(struct con_var *v) { memcpy(v->strval, v->defaultval, v->strlen); } -#include <cmdinit.gen.h> // generated by build/codegen.c - // to try and match the engine even though it's probably not strictly required, // we call the Internal* virtual functions via the actual vtable. since vtables // are built dynamically (below), we store this index; other indices are just @@ -303,8 +301,13 @@ struct _con_vtab_iconvar_wrap _con_vtab_iconvar_wrap = { #endif }; -void con_reg(void *cmd_or_var) { - RegisterConCommand(_con_iface, cmd_or_var); +void con_regvar(struct con_var *v) { + initval(v); + RegisterConCommand(_con_iface, v); +} + +void con_regcmd(struct con_cmd *c) { + RegisterConCommand(_con_iface, c); } // XXX: these should use vcall/gamedata stuff as they're only used for the @@ -384,8 +387,6 @@ void con_init(void) { *pi++ = (void *)&IsFlagSet_thunk; // last one: not in 004, but doesn't matter. one less branch! *pi++ = (void *)&GetSplitScreenPlayerSlot; - - regcmds(); } static void helpuserhelpus(int pluginver, char ifaceverchar) { @@ -460,7 +461,6 @@ bool con_detect(int pluginver) { void con_disconnect(void) { UnregisterConCommands(_con_iface, dllid); - freevars(); } struct con_var *con_findvar(const char *name) { |