From 00ad7cdd3d05d09a43bda972c823fdc440feabb9 Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Thu, 24 Mar 2022 02:06:28 +0000 Subject: Clean up gameinfo_init() and other random stuff - Just ask the engine for the game directory instead of doing the stupid argv sniffing hacks from the early days of trying to get the damn thing working. - Also add some other path variables, functions and whatnot, and do some other minor tidying up. - Also also, another damn copyright year, somebody please help me. Unfortunate negative effect off this change: con_init() no longer reports the game name, because it has to happen before gameinfo_init(). I've decided I don't really care, though. --- src/gameinfo.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/gameinfo.h') diff --git a/src/gameinfo.h b/src/gameinfo.h index d94b117..eac5009 100644 --- a/src/gameinfo.h +++ b/src/gameinfo.h @@ -1,5 +1,5 @@ /* - * Copyright © 2021 Michael Smith + * Copyright © 2022 Michael Smith * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -17,20 +17,24 @@ #ifndef INC_GAMEINFO_H #define INC_GAMEINFO_H +#include + #include "intdefs.h" #include "os.h" /* These variables are only set after calling gameinfo_init(). */ -extern const char *gameinfo_title; /* Name of the game (window title) */ -extern const os_char *gameinfo_clientlib; /* Path to the client library */ -extern const os_char *gameinfo_serverlib; /* Path to the server library */ +extern const os_char *gameinfo_bindir; /* Absolute path to top-level bin/ */ +extern const os_char *gameinfo_gamedir; /* Absolute path to game directory */ +extern const char *gameinfo_title; /* Name of the game (window title) */ +extern const os_char *gameinfo_clientlib; /* Absolute path to the client lib */ +extern const os_char *gameinfo_serverlib; /* Absolute path to the server lib */ /* * This function is called early in the plugin load and does a whole bunch of * spaghetti magic to figure out which game/engine we're in and where its * libraries (which we want to hook) are located. */ -bool gameinfo_init(void); +bool gameinfo_init(void *(*ifacef)(const char *, int *)); #endif -- cgit v1.2.3