diff options
author | Max Khon <fjoe@FreeBSD.org> | 2003-06-03 19:36:13 +0000 |
---|---|---|
committer | Max Khon <fjoe@FreeBSD.org> | 2003-06-03 19:36:13 +0000 |
commit | d69541c26ca2be2e04410f684789050232174880 (patch) | |
tree | 3858bf6d456ae76556fea84e00970c1107c8f2dd /games/mvdsv | |
parent | c639d1ee55c27543e99f8b99a76b9a3428ae11b4 (diff) | |
download | ports-d69541c26ca2be2e04410f684789050232174880.tar.gz ports-d69541c26ca2be2e04410f684789050232174880.zip |
New port: mvdsv
Enhanced QuakeWorld server with multi-view demos capability.
Submitted by: Alexey Dokuchaev
Notes
Notes:
svn path=/head/; revision=82209
Diffstat (limited to 'games/mvdsv')
-rw-r--r-- | games/mvdsv/Makefile | 32 | ||||
-rw-r--r-- | games/mvdsv/distinfo | 1 | ||||
-rw-r--r-- | games/mvdsv/files/Makefile | 78 | ||||
-rw-r--r-- | games/mvdsv/files/patch-sv_demo.c | 17 | ||||
-rw-r--r-- | games/mvdsv/files/patch-sv_login.c | 47 | ||||
-rw-r--r-- | games/mvdsv/files/patch-sv_sv_main.c | 54 | ||||
-rw-r--r-- | games/mvdsv/files/patch-sv_sys_unix.c | 27 | ||||
-rw-r--r-- | games/mvdsv/pkg-descr | 7 | ||||
-rw-r--r-- | games/mvdsv/pkg-message | 6 | ||||
-rw-r--r-- | games/mvdsv/pkg-plist | 1 |
10 files changed, 270 insertions, 0 deletions
diff --git a/games/mvdsv/Makefile b/games/mvdsv/Makefile new file mode 100644 index 000000000000..d39cc035b851 --- /dev/null +++ b/games/mvdsv/Makefile @@ -0,0 +1,32 @@ +# New ports collection makefile for: MVDSV +# Date created: 03 Jun 2003 +# Whom: Alexey Dokuchaev <danfe@regency.nsu.ru> +# +# $FreeBSD$ +# + +PORTNAME= mvdsv +PORTVERSION= 0.165b +CATEGORIES= games +MASTER_SITES= http://www.wsb.poznan.pl/~pawel/q/q/ktpro/develop/ \ + http://freebsd.nsu.ru/distfiles/ +DISTNAME= qwex_src-${PORTVERSION} + +MAINTAINER= danfe@regency.nsu.ru +COMMENT= Enhanced QuakeWorld server with multi-view demos capability + +MAKEFILE= ${FILESDIR}/Makefile +WRKSRC= ${WRKDIR}/mvdsrc/source + +pre-everything:: +.if !defined(WITHOUT_X86_ASM) + @${ECHO_MSG} "Define WITHOUT_X86_ASM to disable x86 assembly code" +.endif + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin + +post-install: + @${SED} -e 's#$${PREFIX}#${PREFIX}#g' ${PKGMESSAGE} + +.include <bsd.port.mk> diff --git a/games/mvdsv/distinfo b/games/mvdsv/distinfo new file mode 100644 index 000000000000..f2219dd1a81f --- /dev/null +++ b/games/mvdsv/distinfo @@ -0,0 +1 @@ +MD5 (qwex_src-0.165b.tar.gz) = 69329a418fedafb43277acae8d5aca10 diff --git a/games/mvdsv/files/Makefile b/games/mvdsv/files/Makefile new file mode 100644 index 000000000000..962d9ab418ff --- /dev/null +++ b/games/mvdsv/files/Makefile @@ -0,0 +1,78 @@ +# +# $FreeBSD$ +# +# QuakeWorld/MVDSV Makefile for FreeBSD +# +# - now should build on non-x86 +# - no longer requires gmake(1) +# - debug targets support axed out +# - couple of useful knobs added +# +# Created on Wednesday, May 21 2003 by Alexey Dokuchaev <danfe@regency.nsu.ru> +# + +DO_CFLAGS = ${CFLAGS} -funsigned-char -I${LOCALBASE}/include -DSERVERONLY + +.if ${MACHINE_ARCH} == "i386" && !defined(WITHOUT_X86_ASM) +DO_CFLAGS += -Did386 +.endif + +.if defined(WITH_OPTIMIZED_CFLAGS) +DO_CFLAGS += -O9 -pipe -s -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations +.endif + +######################################################################## + +SV_OBJS = \ + pr_cmds.o \ + pr_edict.o \ + pr_exec.o \ +\ + sv_ccmds.o \ + sv_demo.o \ + sv_ents.o \ + sv_init.o \ + sv_login.o \ + sv_main.o \ + sv_model.o \ + sv_move.o \ + sv_nchan.o \ + sv_phys.o \ + sv_send.o \ + sv_sys_unix.o \ + sv_user.o \ +\ + cmd.o \ + common.o \ + crc.o \ + cvar.o \ + mathlib.o \ + mdfour.o \ + net_chan.o \ + net_udp.o \ + pmove.o \ + pmovetst.o \ + version.o \ + world.o \ + zone.o + +.if ${MACHINE_ARCH} == "i386" && !defined(WITHOUT_X86_ASM) +SV_AS_OBJS = \ + math.o \ + sys_x86.o \ + worlda.o +.endif + +SV_LIBS = -lm + +.c.o: + ${CC} ${DO_CFLAGS} -c $< -o $*.o + +.s.o: + ${CC} ${DO_CFLAGS} -DELF -x assembler-with-cpp -c $< -o $*.o + +all: ${SV_OBJS} ${SV_AS_OBJS} + ${CC} ${CFLAGS} -o mvdsv ${SV_OBJS} ${SV_AS_OBJS} ${SV_LIBS} + +clean: + -rm -f *.o *.core diff --git a/games/mvdsv/files/patch-sv_demo.c b/games/mvdsv/files/patch-sv_demo.c new file mode 100644 index 000000000000..c2a5f7fef26b --- /dev/null +++ b/games/mvdsv/files/patch-sv_demo.c @@ -0,0 +1,17 @@ +--- sv_demo.c.orig Tue Jun 3 17:50:02 2003 ++++ sv_demo.c Tue Jun 3 17:53:09 2003 +@@ -607,12 +607,12 @@ + { + if (!USACACHE) + { +- dwrite = &fwrite; ++ dwrite = (void *)&fwrite; + demo.dest = demo.file; + demo.disk = true; + } else + { +- dwrite = &memwrite; ++ dwrite = (void *)&memwrite; + demo.mfile = svs.demomem; + demo.dest = &demo.mfile; + } diff --git a/games/mvdsv/files/patch-sv_login.c b/games/mvdsv/files/patch-sv_login.c new file mode 100644 index 000000000000..cc7e5106b940 --- /dev/null +++ b/games/mvdsv/files/patch-sv_login.c @@ -0,0 +1,47 @@ +--- sv_login.c.orig Tue Jun 3 17:47:04 2003 ++++ sv_login.c Tue Jun 3 17:48:21 2003 +@@ -244,7 +244,7 @@ + continue; + } + +- if (!stricmp(accounts[i].login, Cmd_Argv(1)) || (use == use_ip && !stricmp(accounts[i].login, Cmd_Argv(2)))) ++ if (!strcasecmp(accounts[i].login, Cmd_Argv(1)) || (use == use_ip && !strcasecmp(accounts[i].login, Cmd_Argv(2)))) + break; + + c++; +@@ -298,7 +298,7 @@ + if (accounts[i].state == a_free) + continue; + +- if (!stricmp(accounts[i].login, Cmd_Argv(1))) ++ if (!strcasecmp(accounts[i].login, Cmd_Argv(1))) + { + if (accounts[i].inuse) + SV_Logout(&svs.clients[accounts[i].inuse -1]); +@@ -365,7 +365,7 @@ + if (accounts[i].state == a_free) + continue; + +- if (!stricmp(accounts[i].login, Cmd_Argv(1))) ++ if (!strcasecmp(accounts[i].login, Cmd_Argv(1))) + { + if (block) + { +@@ -434,7 +434,7 @@ + continue; + + if (use == accounts[i].use && +- /*use == use_log && accounts[i].use == use_log && */!stricmp(log, accounts[i].login)) ++ /*use == use_log && accounts[i].use == use_log && */!strcasecmp(log, accounts[i].login)) + { + if (accounts[i].inuse && accounts[i].use == use_log) + return -1; +@@ -442,7 +442,7 @@ + if (accounts[i].state == a_blocked) + return -2; + +- if (use == use_ip || !stricmp(pass, accounts[i].pass)) { ++ if (use == use_ip || !strcasecmp(pass, accounts[i].pass)) { + accounts[i].failures = 0; + accounts[i].inuse++; + return i+1; diff --git a/games/mvdsv/files/patch-sv_sv_main.c b/games/mvdsv/files/patch-sv_sv_main.c new file mode 100644 index 000000000000..4ced211b2cce --- /dev/null +++ b/games/mvdsv/files/patch-sv_sv_main.c @@ -0,0 +1,54 @@ +--- sv_main.c.orig Tue Jun 3 17:53:39 2003 ++++ sv_main.c Tue Jun 3 17:56:11 2003 +@@ -646,7 +646,7 @@ + vip = SV_VIPbyIP(net_from); + + if (spectator_password.string[0] && +- stricmp(spectator_password.string, "none") && ++ strcasecmp(spectator_password.string, "none") && + strcmp(spectator_password.string, s) ) + { // failed + spass = false; +@@ -671,7 +671,7 @@ + vip = SV_VIPbyIP(net_from); + + if (!vip && password.string[0] && +- stricmp(password.string, "none") && ++ strcasecmp(password.string, "none") && + strcmp(password.string, s) ) + { + Con_Printf ("%s:password failed\n", NET_AdrToString (net_from)); +@@ -1403,13 +1403,13 @@ + { + int i; + +- if (!vip_password.string[0] || !stricmp(vip_password.string, "none")) ++ if (!vip_password.string[0] || !strcasecmp(vip_password.string, "none")) + return 0; + + Cmd_TokenizeString(vip_password.string); + + for (i = 0; i < Cmd_Argc(); i++) +- if (!strcmp(Cmd_Argv(i), pass) && stricmp(Cmd_Argv(i), "none")) ++ if (!strcmp(Cmd_Argv(i), pass) && strcasecmp(Cmd_Argv(i), "none")) + return i+1; + + return 0; +@@ -2205,7 +2205,7 @@ + val = Info_ValueForKey (cl->userinfo, "name"); + } + +- if (!val[0] || !stricmp(val, "console")) { ++ if (!val[0] || !strcasecmp(val, "console")) { + Info_SetValueForKey (cl->userinfo, "name", "unnamed", MAX_INFO_STRING); + val = Info_ValueForKey (cl->userinfo, "name"); + } +@@ -2215,7 +2215,7 @@ + for (i=0, client = svs.clients ; i<MAX_CLIENTS ; i++, client++) { + if (client->state != cs_spawned || client == cl) + continue; +- if (!stricmp(client->name, val)) ++ if (!strcasecmp(client->name, val)) + break; + } + if (i != MAX_CLIENTS) { // dup name diff --git a/games/mvdsv/files/patch-sv_sys_unix.c b/games/mvdsv/files/patch-sv_sys_unix.c new file mode 100644 index 000000000000..06de97204c5a --- /dev/null +++ b/games/mvdsv/files/patch-sv_sys_unix.c @@ -0,0 +1,27 @@ +--- sv_sys_unix.c.orig Tue Jun 3 17:53:55 2003 ++++ sv_sys_unix.c Tue Jun 3 17:59:41 2003 +@@ -24,7 +24,7 @@ + #include <libc.h> + #endif + +-#if defined(__linux__) || defined(sun) || defined(__GNUC__) ++#if defined(__linux__) || defined(__FreeBSD__) || defined(sun) || defined(__GNUC__) + #include <sys/stat.h> + #include <unistd.h> + #include <sys/time.h> +@@ -364,7 +364,7 @@ + ============= + */ + +-void main (int argc, char *argv[]) ++int main (int argc, char *argv[]) + { + double time, oldtime, newtime; + quakeparms_t parms; +@@ -444,5 +444,6 @@ + usleep (sys_extrasleep.value); + } + #endif ++ return (1); /* should never reach here */ + } + diff --git a/games/mvdsv/pkg-descr b/games/mvdsv/pkg-descr new file mode 100644 index 000000000000..be891d84e2b6 --- /dev/null +++ b/games/mvdsv/pkg-descr @@ -0,0 +1,7 @@ +MVDSV is popular QuakeWorld server with new amazing possibilities, most +notably, of course, being multi-view demos. MVD demos are probably the +biggest step in QuakeWorld since Qizmo release. MVDSV is also the best +server to use with KTeams Pro deathmatch mod, and in fact is requited +for latter's full functionality. + +WWW: http://www.wsb.poznan.pl/~pawel/q/q/ktpro/develop/ diff --git a/games/mvdsv/pkg-message b/games/mvdsv/pkg-message new file mode 100644 index 000000000000..db56e7f90f5c --- /dev/null +++ b/games/mvdsv/pkg-message @@ -0,0 +1,6 @@ +========================================================== + + Make sure to provide required run-time environment + and server configuration file first before running + +========================================================== diff --git a/games/mvdsv/pkg-plist b/games/mvdsv/pkg-plist new file mode 100644 index 000000000000..51959c0dc85c --- /dev/null +++ b/games/mvdsv/pkg-plist @@ -0,0 +1 @@ +bin/mvdsv |