aboutsummaryrefslogtreecommitdiff
path: root/src/engineapi.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/engineapi.h')
-rw-r--r--src/engineapi.h19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/engineapi.h b/src/engineapi.h
index ef716a9..f644a0c 100644
--- a/src/engineapi.h
+++ b/src/engineapi.h
@@ -23,7 +23,6 @@
#define INC_ENGINEAPI_H
#include "intdefs.h"
-#include "vcall.h"
/*
* Here, we define a bunch of random data types as well as interfaces that don't
@@ -128,10 +127,10 @@ extern struct CGlobalVars *globalvars;
extern struct IInputSystem *inputsystem;
extern struct CEngineVGui *vgui;
-// XXX: not exactly engine *API* but not curently clear where else to put this
-struct CPlugin_common {
+// XXX: not exactly engine *API* but not currently clear where else to put this
+struct CPlugin_common_v2v3 {
bool paused;
- void *theplugin; // our own "this" pointer (or whichever other plugin it is)
+ void *theplugin; // plugin's own "this" pointer
int ifacever;
// should be the plugin library, but in old Source branches it's just null,
// because CServerPlugin::Load() erroneously shadows this field with a local
@@ -140,11 +139,17 @@ struct CPlugin_common {
struct CPlugin {
char description[128];
union {
- struct CPlugin_common v1;
+ struct {
+ // same again, but no ifacever member, for OE.
+ bool paused;
+ void *theplugin;
+ void *module;
+ } v1;
+ struct CPlugin_common_v2v3 v2;
struct {
char basename[128]; // WHY VALVE WHYYYYYYY!!!!
- struct CPlugin_common common;
- } v2;
+ struct CPlugin_common_v2v3 v3;
+ };
};
};
struct CServerPlugin /* : IServerPluginHelpers */ {