Skip to content

Commit

Permalink
make p1xbratenversion available in server
Browse files Browse the repository at this point in the history
  • Loading branch information
sauerbraten committed Dec 17, 2024
1 parent 110588d commit 923f895
Show file tree
Hide file tree
Showing 8 changed files with 42 additions and 44 deletions.
6 changes: 3 additions & 3 deletions patches/anticheat.patch
Original file line number Diff line number Diff line change
Expand Up @@ -1173,10 +1173,10 @@ diff --git src/shared/iengine.h src/shared/iengine.h
index 7373c6f..c50bf24 100644
--- src/shared/iengine.h
+++ src/shared/iengine.h
@@ -589,3 +589,7 @@ extern void g3d_resetcursor();
extern void g3d_limitscale(float scale);

@@ -594,3 +594,7 @@ extern void g3d_resetcursor();
extern char *p1xbratenversion;
extern int naturalsort(const char *a, const char *b); // from command.cpp
extern void migratep1xbraten();
+
+#ifdef ANTICHEAT
+extern int anticheatenabled; // toggled by -e CLI flag
Expand Down
49 changes: 21 additions & 28 deletions patches/modversion.patch
Original file line number Diff line number Diff line change
@@ -1,29 +1,7 @@
Index: src/engine/engine.h
===================================================================
--- src/engine/engine.h (revision 6502)
+++ src/engine/engine.h (working copy)
@@ -407,6 +407,8 @@
extern void checksleep(int millis);
extern void clearsleep(bool clearoverrides = true);

+extern int naturalsort(const char *a, const char *b);
+
// console
extern void processtextinput(const char *str, int len);
extern void processkey(int code, bool isdown, int modstate = 0);
@@ -431,6 +433,8 @@
};
extern int initing, numcpus;

+extern void migratep1xbraten();
+
enum
{
CHANGE_GFX = 1<<0,
Index: src/engine/main.cpp
===================================================================
--- src/engine/main.cpp (revision 6502)
+++ src/engine/main.cpp (working copy)
diff --git src/engine/main.cpp src/engine/main.cpp
index d79944d..9811024 100644
--- src/engine/main.cpp
+++ src/engine/main.cpp
@@ -1330,6 +1330,8 @@

identflags |= IDF_PERSIST;
Expand All @@ -33,12 +11,24 @@ Index: src/engine/main.cpp
logoutf("init: mainloop");

if(execfile("once.cfg", false)) remove(findfile("once.cfg", "rb"));
diff --git src/engine/server.cpp src/engine/server.cpp
index d79944d..9811024 100644
--- src/engine/server.cpp
+++ src/engine/server.cpp
@@ -979,6 +979,7 @@ void initserver(bool listen, bool dedicated)
#ifdef WIN32
setupwindow("Cube 2: Sauerbraten server");
#endif
+ migratep1xbraten();
}

execfile("server-init.cfg", false);
Index: src/p1xbraten/version.cpp
===================================================================
--- src/p1xbraten/version.cpp (nonexistent)
+++ src/p1xbraten/version.cpp (working copy)
@@ -0,0 +1,22 @@
+#include "engine.h"
+#include "cube.h"
+
+MOD(SVARP, p1xbratenversion, "");
+
Expand Down Expand Up @@ -161,11 +151,14 @@ Index: src/shared/iengine.h
===================================================================
--- src/shared/iengine.h (revision 6502)
+++ src/shared/iengine.h (working copy)
@@ -581,3 +581,4 @@
@@ -581,3 +581,7 @@
extern void g3d_resetcursor();
extern void g3d_limitscale(float scale);

+// p1xbraten
+extern char *p1xbratenversion;
+extern int naturalsort(const char *a, const char *b); // from command.cpp
+extern void migratep1xbraten();
Index: src/shared/tools.h
===================================================================
--- src/shared/tools.h (revision 6502)
Expand Down
4 changes: 3 additions & 1 deletion patches/zenmode.patch
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,17 @@ Index: src/p1xbraten/version.cpp
===================================================================
--- src/p1xbraten/version.cpp (nonexistent)
+++ src/p1xbraten/version.cpp (working copy)
@@ -15,6 +15,12 @@
@@ -15,6 +15,14 @@
if(naturalsort(p1xbratenversion, version) == -1)
{
// we're newer, run migrations
+ if(naturalsort(p1xbratenversion, "3.0.0") == -1) {
+#ifndef STANDALONE
+ // activate CON_NONZEN in all consoles
+ if(!(confilter&(1<<14))) confilter += 1<<14;
+ if(!(fullconfilter&(1<<14))) fullconfilter += 1<<14;
+ if(!(miniconfilter&(1<<14))) miniconfilter += 1<<14;
+#endif
+ }
}
setsvar("p1xbratenversion", version);
Expand Down
15 changes: 8 additions & 7 deletions src/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,8 @@ SERVER_OBJS= \
p1xbraten/demo_info_message-standalone.o \
p1xbraten/managed_games-standalone.o \
p1xbraten/proxy_real_ip-standalone.o \
p1xbraten/remote_commands-standalone.o
p1xbraten/remote_commands-standalone.o \
p1xbraten/version-standalone.o
ifdef ANTICHEAT
override SERVER_OBJS+= anticheat/anticheat-standalone.o
endif
Expand Down Expand Up @@ -558,12 +559,9 @@ p1xbraten/serverbrowser.o: shared/igame.h fpsgame/ai.h
p1xbraten/serverbrowser.o: p1xbraten/serverbrowser.h engine/engine.h
p1xbraten/serverbrowser.o: engine/world.h engine/octa.h engine/lightmap.h
p1xbraten/serverbrowser.o: engine/bih.h engine/texture.h engine/model.h
p1xbraten/version.o: engine/engine.h shared/cube.h shared/tools.h
p1xbraten/version.o: shared/geom.h shared/ents.h shared/command.h
p1xbraten/version.o: shared/glexts.h shared/glemu.h shared/iengine.h
p1xbraten/version.o: shared/igame.h engine/world.h engine/octa.h
p1xbraten/version.o: engine/lightmap.h engine/bih.h engine/texture.h
p1xbraten/version.o: engine/model.h
p1xbraten/version.o: shared/cube.h shared/tools.h shared/geom.h shared/ents.h
p1xbraten/version.o: shared/command.h shared/glexts.h shared/glemu.h
p1xbraten/version.o: shared/iengine.h shared/igame.h
p1xbraten/weaponstats.o: fpsgame/game.h shared/cube.h shared/tools.h
p1xbraten/weaponstats.o: shared/geom.h shared/ents.h shared/command.h
p1xbraten/weaponstats.o: shared/glexts.h shared/glemu.h shared/iengine.h
Expand Down Expand Up @@ -619,3 +617,6 @@ p1xbraten/remote_commands-standalone.o: shared/tools.h shared/geom.h
p1xbraten/remote_commands-standalone.o: shared/ents.h shared/command.h
p1xbraten/remote_commands-standalone.o: shared/iengine.h shared/igame.h
p1xbraten/remote_commands-standalone.o: fpsgame/ai.h
p1xbraten/version-standalone.o: shared/cube.h shared/tools.h shared/geom.h
p1xbraten/version-standalone.o: shared/ents.h shared/command.h
p1xbraten/version-standalone.o: shared/iengine.h shared/igame.h
4 changes: 0 additions & 4 deletions src/engine/engine.h
Original file line number Diff line number Diff line change
Expand Up @@ -412,8 +412,6 @@ extern void writecfg(const char *name = NULL);
extern void checksleep(int millis);
extern void clearsleep(bool clearoverrides = true);

extern int naturalsort(const char *a, const char *b);

// console
extern void processtextinput(const char *str, int len);
extern void processkey(int code, bool isdown, int modstate = 0);
Expand All @@ -438,8 +436,6 @@ enum
};
extern int initing, numcpus;

extern void migratep1xbraten();

enum
{
CHANGE_GFX = 1<<0,
Expand Down
1 change: 1 addition & 0 deletions src/engine/server.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -979,6 +979,7 @@ void initserver(bool listen, bool dedicated)
#ifdef WIN32
setupwindow("Cube 2: Sauerbraten server");
#endif
migratep1xbraten();
}

execfile("server-init.cfg", false);
Expand Down
4 changes: 3 additions & 1 deletion src/p1xbraten/version.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include "engine.h"
#include "cube.h"

MOD(SVARP, p1xbratenversion, "");

Expand All @@ -16,10 +16,12 @@ void migratep1xbraten()
{
// we're newer, run migrations
if(naturalsort(p1xbratenversion, "3.0.0") == -1) {
#ifndef STANDALONE
// activate CON_NONZEN in all consoles
if(!(confilter&(1<<14))) confilter += 1<<14;
if(!(fullconfilter&(1<<14))) fullconfilter += 1<<14;
if(!(miniconfilter&(1<<14))) miniconfilter += 1<<14;
#endif
}
}
setsvar("p1xbratenversion", version);
Expand Down
3 changes: 3 additions & 0 deletions src/shared/iengine.h
Original file line number Diff line number Diff line change
Expand Up @@ -591,7 +591,10 @@ extern void g3d_cursorpos(float &x, float &y);
extern void g3d_resetcursor();
extern void g3d_limitscale(float scale);

// p1xbraten
extern char *p1xbratenversion;
extern int naturalsort(const char *a, const char *b); // from command.cpp
extern void migratep1xbraten();

#ifdef ANTICHEAT
extern int anticheatenabled; // toggled by -e CLI flag
Expand Down

0 comments on commit 923f895

Please sign in to comment.