From fb95177298bb92098b61f09b9f66c1fce32f2f02 Mon Sep 17 00:00:00 2001 From: Matthew Wozniak Date: Sun, 27 Oct 2024 23:28:51 -0400 Subject: add hooking and IVEngineServer interface --- api.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 api.c (limited to 'api.c') diff --git a/api.c b/api.c new file mode 100644 index 0000000..af7bb5e --- /dev/null +++ b/api.c @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: ISC +// SPDX-FileCopyrightText: 2024 Matthew Wozniak + +#define NO_EXTERNS +#include "api.h" +#undef NO_EXTERNS +#include "os.h" +#include "log.h" + +struct engserver *engserver; + +void api_init() { + void *engine_dll = os_dlopen("engine"); + createinterface_func engine_factory = + (createinterface_func)os_dlsym(engine_dll, "CreateInterface"); + if (!engine_factory) die("couldn't get engine factory"); + engserver = engine_factory(INTERFACEVERSION_VENGINESERVER, NULL); + if (!engserver) die("couldn't get IVEngineServer from engine"); +} + +// vi: sw=4 ts=4 noet tw=80 cc=80 -- cgit v1.2.3-54-g00ecf