From 1db638e3e6bf261e2954ead3de6f11ffb7edc5c5 Mon Sep 17 00:00:00 2001 From: Izuru Yakumo Date: Sun, 6 Jul 2025 23:51:07 -0300 Subject: [PATCH] =?UTF-8?q?=E3=82=B9=E3=83=9A=E3=83=AB=E3=82=AB=E3=83=BC?= =?UTF-8?q?=E3=83=89=E3=83=90=E3=83=88=E3=83=AB=E3=81=AB=E9=8A=83=E5=99=A8?= =?UTF-8?q?=E3=82=92=E6=8C=81=E3=81=A1=E8=BE=BC=E3=81=BE=E3=81=AA=E3=81=84?= =?UTF-8?q?=E3=81=A7=E3=81=8F=E3=81=A0=E3=81=95=E3=81=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + Makefile | 70 ++++++++++++++++----------------------- code/wrapper/ia-client.in | 25 ++++++++++++++ code/wrapper/ia-server.in | 28 ++++++++++++++++ 4 files changed, 82 insertions(+), 42 deletions(-) create mode 100755 code/wrapper/ia-client.in create mode 100755 code/wrapper/ia-server.in diff --git a/.gitignore b/.gitignore index 674deb6..da4eaab 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,5 @@ *.#* .*.swp .DS_store +/build # Simulated Subversion default ignores end here diff --git a/Makefile b/Makefile index d9d371b..7b44bd5 100644 --- a/Makefile +++ b/Makefile @@ -23,10 +23,6 @@ ifeq ($(COMPILE_PLATFORM),mingw32) endif endif -BUILD_GAME_SO = 0 -BUILD_GAME_QVM = 0 - - ############################################################################# # # If you require a different configuration from the defaults below, create a @@ -84,48 +80,16 @@ ifndef GENERATE_DEPENDENCIES GENERATE_DEPENDENCIES=1 endif -ifndef USE_OPENAL -USE_OPENAL=1 +ifndef BUILD_GAME_SO +BUILD_GAME_SO=1 endif -ifndef USE_OPENAL_DLOPEN - ifeq ($(PLATFORM),mingw32) - USE_OPENAL_DLOPEN=1 - else - USE_OPENAL_DLOPEN=0 - endif +ifndef BUILD_GAME_QVM +BUILD_GAME_QVM=1 endif -ifndef USE_CURL -USE_CURL=1 -endif - -ifndef USE_CURL_DLOPEN - ifeq ($(PLATFORM),mingw32) - USE_CURL_DLOPEN=0 - else - USE_CURL_DLOPEN=1 - endif -endif - -ifndef USE_CODEC_VORBIS -USE_CODEC_VORBIS=0 -endif - -ifndef USE_MUMBLE -USE_MUMBLE=1 -endif - -ifndef USE_VOIP -USE_VOIP=1 -endif - -ifndef USE_INTERNAL_SPEEX -USE_INTERNAL_SPEEX=1 -endif - -ifndef USE_LOCAL_HEADERS -USE_LOCAL_HEADERS=1 +ifdef BUILD_WRAPPER +BUILD_WRAPPER=1 endif ############################################################################# @@ -145,6 +109,7 @@ LBURGDIR=$(MOUNT_DIR)/tools/lcc/lburg Q3CPPDIR=$(MOUNT_DIR)/tools/lcc/cpp Q3LCCETCDIR=$(MOUNT_DIR)/tools/lcc/etc Q3LCCSRCDIR=$(MOUNT_DIR)/tools/lcc/src +WDIR=$(MOUNT_DIR)/wrapper TEMPDIR=/tmp # version info @@ -555,6 +520,12 @@ ifneq ($(BUILD_GAME_QVM),0) endif endif +ifneq ($(BUILD_WRAPPER),0) + TARGETS += \ + $(B)/baseia/ia-client \ + $(B)/baseia/ia-server +endif + ifdef DEFAULT_BASEDIR BASE_CFLAGS += -DDEFAULT_BASEDIR=\\\"$(DEFAULT_BASEDIR)\\\" endif @@ -1052,6 +1023,21 @@ $(B)/baseia/pak1.pk3: $(B)/baseia/productid.txt $(B)/baseia/vm/cgame.qvm $(B)/ba $(echo_cmd) "ZIP $@" @cd $(B)/baseia && zip -9r $(notdir $@) productid.txt vm + +############################################################################# +## WRAPPER SCRIPTS +############################################################################# +$(B)/baseia/ia-client: $(WDIR)/ia-client.in + $(echo_cmd) "GEN $@" + @sed "s#%%COPYDIR%%#${COPYDIR}#" $< > $@ + $(echo_cmd) "CHMOD $@" + @chmod 0755 $@ +$(B)/baseia/ia-server: $(WDIR)/ia-server.in + $(echo_cmd) "GEN $@" + @sed "s#COPYDIR#${COPYDIR}#" $< > $@ + $(echo_cmd) "CHMOD $@" + @chmod 0755 $@ + ############################################################################# # MISC ############################################################################# diff --git a/code/wrapper/ia-client.in b/code/wrapper/ia-client.in new file mode 100755 index 0000000..3719f31 --- /dev/null +++ b/code/wrapper/ia-client.in @@ -0,0 +1,25 @@ +#!/bin/sh +# Initialization script for Illusion Arena +# This is the client part + +CVARS="+set com_basegame baseia" +CVARS="$CVARS +set fs_basepath COPYDIR" +CVARS="$CVARS +set com_homepath .illusion" + +# OA uses a different protocol number to reflect incompatible game content. +# When it says "71", that's actually the legacy Quake III Arena 1.32c protocol, +# protocol 68. +CVARS="$CVARS +set com_legacyprotocol 71" + +# For the moment, disable the modern protocol, by setting this cvar to the +# same thing. When OA upstream decide what value they'll use, we should +# catch up. +CVARS="$CVARS +set com_protocol 71" + +# +CVARS="$CVARS +set sv_master1 dpmaster.deathmask.net" + +# update.quake3arena.com is pretty irrelevant if you're playing OA +CVARS="$CVARS +set cl_motd 0" + +exec "$(which ioquake3)" "${CVARS}" "$@" diff --git a/code/wrapper/ia-server.in b/code/wrapper/ia-server.in new file mode 100755 index 0000000..56402c0 --- /dev/null +++ b/code/wrapper/ia-server.in @@ -0,0 +1,28 @@ +#!/bin/sh +# Initialization script for Illusion Arena +# This is the server part + +CVARS="+set com_basegame baseia" +CVARS="$CVARS +set fs_basepath COPYDIR" +CVARS="$CVARS +set com_homepath .illusion" + +# OA uses a different protocol number to reflect incompatible game content. +# When it says "71", that's actually the legacy Quake III Arena 1.32c protocol, +# protocol 68. +CVARS="$CVARS +set com_legacyprotocol 71" + +# For the moment, disable the modern protocol, by setting this cvar to the +# same thing. When OA upstream decide what value they'll use, we should +# catch up. +CVARS="$CVARS +set com_protocol 71" + +# OA's default master server is different +CVARS="$CVARS +set sv_master1 dpmaster.deathmask.net" + +# update.quake3arena.com is pretty irrelevant if you're playing OA +CVARS="$CVARS +set cl_motd 0" + +# Run the dedicated server configuration file +CVARS="$CVARS +exec server.cfg" + +exec "$(which ioq3ded)" "${CVARS}" "$@"