From 31ae020cba6ec5d40ae4e99373886f6b3bb204cf Mon Sep 17 00:00:00 2001 From: Marco Hladik Date: Fri, 7 May 2021 14:15:08 +0200 Subject: [PATCH] Plugins: Add example plugins.txt config, add support for inline comments, move searchpath to gamedir/plugins/ --- platform/plugins.txt | 7 +++++++ platform/scripts/custinfoparms.txt | 31 ------------------------------ src/client/efx.qc | 2 +- src/plugins/Makefile | 1 + src/plugins/banner.src | 2 +- src/plugins/chatfilter.src | 2 +- src/plugins/chatsounds.src | 2 +- src/plugins/connectsounds.src | 2 +- src/plugins/ircbridge.src | 2 +- src/plugins/voxannouncer.src | 2 +- src/server/plugins.qc | 16 +++++++++++++-- 11 files changed, 29 insertions(+), 40 deletions(-) create mode 100644 platform/plugins.txt delete mode 100644 platform/scripts/custinfoparms.txt diff --git a/platform/plugins.txt b/platform/plugins.txt new file mode 100644 index 00000000..767a9ac0 --- /dev/null +++ b/platform/plugins.txt @@ -0,0 +1,7 @@ +// Uncomment the ones you'd like to use +//banner.dat +//chatfilter.dat +//chatsounds.dat +//connectsounds.dat +//ircbridge.dat +//voxannouncer.dat diff --git a/platform/scripts/custinfoparms.txt b/platform/scripts/custinfoparms.txt deleted file mode 100644 index 4ca8b9cb..00000000 --- a/platform/scripts/custinfoparms.txt +++ /dev/null @@ -1,31 +0,0 @@ -{ - climb 0x00004000 - vehicleclip 0x00008000 -} -{ - leakssteam 0x00080000 - leakswater 0x00100000 - fl_r1 0x00200000 - fl_r2 0x00400000 - fl_r3 0x00800000 - fl_r4 0x01000000 - fl_r5 0x02000000 - fl_r6 0x04000000 - fl_r7 0x08000000 - - alien 0x10000000 - flesh 0x20000000 - foliage 0x30000000 - computer 0x40000000 - dirt 0x50000000 - vent 0x60000000 - grate 0x70000000 - metal 0x80000000 - glass 0x90000000 - sand 0xA0000000 - slosh 0xB0000000 - snow 0xC0000000 - tile 0xD0000000 - wood 0xE0000000 - concrete 0xF0000000 -} diff --git a/src/client/efx.qc b/src/client/efx.qc index 7997556e..ab274f73 100644 --- a/src/client/efx.qc +++ b/src/client/efx.qc @@ -61,7 +61,7 @@ EFX_Load(string efx_file) int i; if (!efx_file) { - return; + return 0; } i = g_efx_count; diff --git a/src/plugins/Makefile b/src/plugins/Makefile index 0e8bbc50..845cd619 100644 --- a/src/plugins/Makefile +++ b/src/plugins/Makefile @@ -1,6 +1,7 @@ CC=fteqcc all: + mkdir -p ../../platform/plugins $(CC) chatsounds.src $(CC) chatfilter.src $(CC) connectsounds.src diff --git a/src/plugins/banner.src b/src/plugins/banner.src index 1061e71f..a150fa6d 100755 --- a/src/plugins/banner.src +++ b/src/plugins/banner.src @@ -1,5 +1,5 @@ #pragma target fte -#pragma PROGS_DAT "../../platform/p_banner.dat" +#pragma PROGS_DAT "../../platform/plugins/banner.dat" #define QWSSQC #includelist diff --git a/src/plugins/chatfilter.src b/src/plugins/chatfilter.src index 61456bb0..9ca94a99 100755 --- a/src/plugins/chatfilter.src +++ b/src/plugins/chatfilter.src @@ -1,5 +1,5 @@ #pragma target fte -#pragma PROGS_DAT "../../platform/p_chatfilter.dat" +#pragma PROGS_DAT "../../platform/plugins/chatfilter.dat" #define QWSSQC #includelist diff --git a/src/plugins/chatsounds.src b/src/plugins/chatsounds.src index 3c79c9ae..49b87d0f 100755 --- a/src/plugins/chatsounds.src +++ b/src/plugins/chatsounds.src @@ -1,5 +1,5 @@ #pragma target fte -#pragma PROGS_DAT "../../platform/p_chatsounds.dat" +#pragma PROGS_DAT "../../platform/plugins/chatsounds.dat" #define QWSSQC #includelist diff --git a/src/plugins/connectsounds.src b/src/plugins/connectsounds.src index f8446ad4..91a0f337 100755 --- a/src/plugins/connectsounds.src +++ b/src/plugins/connectsounds.src @@ -1,5 +1,5 @@ #pragma target fte -#pragma PROGS_DAT "../../platform/p_connectsounds.dat" +#pragma PROGS_DAT "../../platform/plugins/connectsounds.dat" #define QWSSQC #includelist diff --git a/src/plugins/ircbridge.src b/src/plugins/ircbridge.src index 850134e6..d930c905 100755 --- a/src/plugins/ircbridge.src +++ b/src/plugins/ircbridge.src @@ -1,5 +1,5 @@ #pragma target fte -#pragma PROGS_DAT "../../platform/p_ircbridge.dat" +#pragma PROGS_DAT "../../platform/plugins/ircbridge.dat" #define QWSSQC #includelist diff --git a/src/plugins/voxannouncer.src b/src/plugins/voxannouncer.src index 2b8ac59b..71f67e26 100755 --- a/src/plugins/voxannouncer.src +++ b/src/plugins/voxannouncer.src @@ -1,5 +1,5 @@ #pragma target fte -#pragma PROGS_DAT "../../platform/p_voxannouncer.dat" +#pragma PROGS_DAT "../../platform/plugins/voxannouncer.dat" #define QWSSQC #includelist diff --git a/src/server/plugins.qc b/src/server/plugins.qc index 3d10da54..c79d155b 100644 --- a/src/server/plugins.qc +++ b/src/server/plugins.qc @@ -49,6 +49,12 @@ Plugin_Init(void) /* count valid progs */ g_plugincount = 0; while ((tmp = fgets(pdb))) { + int argc = tokenize_console(tmp); + + /* check for valid entries/comments */ + if (argc <= 0) + continue; + g_plugincount++; } @@ -57,8 +63,14 @@ Plugin_Init(void) i = 0; while ((tmp = fgets(pdb))) { - g_plugindb[i].m_strPath = tmp; - g_plugindb[i].m_flProgsID = addprogs(tmp); + int a = tokenize_console(tmp); + + /* check for valid entries/comments */ + if (a <= 0) + continue; + + g_plugindb[i].m_strPath = strcat("plugins/", argv(0)); + g_plugindb[i].m_flProgsID = addprogs(g_plugindb[i].m_strPath); i++; }