diff --git a/games/ktx/Makefile b/games/ktx/Makefile index 3f6c877e06dc..3c89775f7583 100644 --- a/games/ktx/Makefile +++ b/games/ktx/Makefile @@ -1,63 +1,62 @@ PORTNAME= ktx -DISTVERSIONPREFIX= v -DISTVERSION= 1.43 +DISTVERSION= 1.45 CATEGORIES= games MAINTAINER= vvd@FreeBSD.org COMMENT= Kombat Teams eXtreme is a popular QuakeWorld server modification WWW= https://github.com/QW-Group/ktx/ LICENSE= GPLv2 RUN_DEPENDS= mvdsv:games/mvdsv USES= cmake dos2unix DOS2UNIX_FILES= resources/example-configs/ktx/ktx.cfg \ resources/example-configs/ktx/mvdsv.cfg \ resources/example-configs/ktx/problem.cfg \ resources/example-configs/ktx/race/routes/ztricks2.route USE_GITHUB= yes GH_ACCOUNT= QW-Group USE_RC_SUBR= ${PORTNAME} EXTRACT_AFTER_ARGS= --exclude ${PKGNAME}/.git* \ --exclude ${PKGNAME}/build_cmake.sh \ --exclude ${PKGNAME}/resources/example-configs/id1/"copy PAK0 and PAK1 here" \ --exclude ${PKGNAME}/tools/cross-cmake \ --exclude ${PKGNAME}/tools/vs \ --no-same-owner --no-same-permissions QWDIR= ${PREFIX}/quake SUB_LIST= QWDIR=${QWDIR} QWUSER=${USERS} USERS= qw GROUPS= qw PLIST_SUB= QWGROUP=${GROUPS} PORTDATA= * .include "${.CURDIR}/../quake-data/Makefile.include" .include do-install: ${REINPLACE_CMD} -e 's|^set k_defmap|// set k_defmap|' \ ${WRKSRC}/resources/example-configs/ktx/ktx.cfg ${MKDIR} ${STAGEDIR}${DATADIR} cd ${WRKSRC}/resources && \ ${COPYTREE_SHARE} 'extralog logo' ${STAGEDIR}${DATADIR} cd ${WRKSRC}/resources/example-configs && \ ${COPYTREE_SHARE} '*' ${STAGEDIR}${QWDIR} ${MKDIR} ${STAGEDIR}${QWDIR}/ktx/demos ${STAGEDIR}${QWDIR}/qw ${MV} ${STAGEDIR}${QWDIR}/id1/maps ${STAGEDIR}${QWDIR}/qw ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/qwprogs.so \ ${STAGEDIR}${DATADIR} ${LN} -s ${DATADIR}/qwprogs.so ${STAGEDIR}${QWDIR}/ktx/ ${LN} -s ${Q1DIR}/id1/pak0.pak ${STAGEDIR}${QWDIR}/id1/ ${LN} -s ${Q1DIR}/id1/pak1.pak ${STAGEDIR}${QWDIR}/id1/ ${LN} -s ${Q1DIR}/id1/maps ${STAGEDIR}${QWDIR}/id1/ .for f in port1 port2 port3 portffa servers cd ${STAGEDIR}${QWDIR} && ${MV} ${f} ${f}.sample .endfor .for f in ktx.cfg listip.cfg matchless.cfg mvdfinish.qws mvdsv.cfg \ port1.cfg port2.cfg port3.cfg problem.cfg pwd.cfg server.cfg vip_ip.cfg cd ${STAGEDIR}${QWDIR}/ktx && ${MV} ${f} ${f}.sample .endfor .include diff --git a/games/ktx/distinfo b/games/ktx/distinfo index ea3c5fe117e3..8518a04f1d3e 100644 --- a/games/ktx/distinfo +++ b/games/ktx/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1740182613 -SHA256 (QW-Group-ktx-v1.43_GH0.tar.gz) = 720f719c490d8e9e975b6bcab773e62bf4051c828ac394c61ab8f99e9e9c995b -SIZE (QW-Group-ktx-v1.43_GH0.tar.gz) = 1696285 +TIMESTAMP = 1740344268 +SHA256 (QW-Group-ktx-1.45_GH0.tar.gz) = 3bf0e78569fa7d352a2e825257ea37d1e2423480c94f0d18fa58dc265f54288c +SIZE (QW-Group-ktx-1.45_GH0.tar.gz) = 1704185 diff --git a/games/ktx/files/patch-src_race.c b/games/ktx/files/patch-src_race.c new file mode 100644 index 000000000000..71924f3d6966 --- /dev/null +++ b/games/ktx/files/patch-src_race.c @@ -0,0 +1,15 @@ +--- src/race.c.orig 2025-02-16 18:01:44 UTC ++++ src/race.c +@@ -3541,10 +3541,9 @@ char* race_fgets(char *buf, int limit) + return NULL; + } + +- string = buf; +- while (--limit > 0 && ((c = race_fgetc()) != -1)) ++ for (string = buf; --limit > 0 && (c = race_fgetc()) != -1; string++) + { +- if ((*string++ = c) == '\n') ++ if ((*string = c) == '\n') + { + break; + } diff --git a/games/ktx/pkg-plist b/games/ktx/pkg-plist index 883706a66600..cfa3e572433e 100644 --- a/games/ktx/pkg-plist +++ b/games/ktx/pkg-plist @@ -1,282 +1,282 @@ quake/id1/maps quake/id1/pak0.pak quake/id1/pak1.pak quake/ktx/bots/maps/2towers.bot quake/ktx/bots/maps/aerowalk.bot quake/ktx/bots/maps/amphi2.bot quake/ktx/bots/maps/arenazap.bot quake/ktx/bots/maps/bravado.bot quake/ktx/bots/maps/cmt1b.bot quake/ktx/bots/maps/cmt3.bot quake/ktx/bots/maps/cmt4.bot quake/ktx/bots/maps/dm2dmm4.bot quake/ktx/bots/maps/dm3.bot quake/ktx/bots/maps/dm3hill.bot quake/ktx/bots/maps/dm4.bot quake/ktx/bots/maps/dm6.bot quake/ktx/bots/maps/dmm4_1.bot quake/ktx/bots/maps/dmm4_3.bot quake/ktx/bots/maps/e1m2.bot quake/ktx/bots/maps/endif.bot quake/ktx/bots/maps/frobodm2.bot quake/ktx/bots/maps/marena2.bot quake/ktx/bots/maps/marena3.bot quake/ktx/bots/maps/monsoon.bot quake/ktx/bots/maps/nacmidair.bot quake/ktx/bots/maps/noentry.bot quake/ktx/bots/maps/oldcrat.bot quake/ktx/bots/maps/pkeg1.bot quake/ktx/bots/maps/povdmm4.bot quake/ktx/bots/maps/povdmm4b.bot quake/ktx/bots/maps/ptucket.bot quake/ktx/bots/maps/pushdmm4.bot quake/ktx/bots/maps/q1q3monsoon#td.bot quake/ktx/bots/maps/rarena3.bot quake/ktx/bots/maps/ravageqwb8.bot quake/ktx/bots/maps/schloss.bot quake/ktx/bots/maps/shifter.bot quake/ktx/bots/maps/skull.bot quake/ktx/bots/maps/spinev2.bot quake/ktx/bots/maps/subterfuge.bot quake/ktx/bots/maps/ukooldm2.bot quake/ktx/bots/maps/ukooldm3.bot quake/ktx/bots/maps/ukooldm6.bot quake/ktx/bots/maps/ukooldm8.bot quake/ktx/bots/maps/ukpak2.bot quake/ktx/bots/maps/ultrav.bot quake/ktx/bots/maps/ztndm1.bot quake/ktx/bots/maps/ztndm2.bot quake/ktx/bots/maps/ztndm3.bot quake/ktx/bots/maps/ztndm4.bot quake/ktx/bots/maps/ztndm5.bot quake/ktx/bots/maps/ztndm6.bot quake/ktx/configs/reset.cfg quake/ktx/configs/usermodes/10on10/default.cfg quake/ktx/configs/usermodes/1on1/default.cfg quake/ktx/configs/usermodes/1on1/ra/default.cfg quake/ktx/configs/usermodes/2on2/aerowalk.cfg quake/ktx/configs/usermodes/2on2/default.cfg quake/ktx/configs/usermodes/2on2/dm4.cfg quake/ktx/configs/usermodes/2on2/dm6.cfg quake/ktx/configs/usermodes/2on2on2/default.cfg quake/ktx/configs/usermodes/3on3/default.cfg quake/ktx/configs/usermodes/3on3on3/default.cfg quake/ktx/configs/usermodes/4on4/default.cfg quake/ktx/configs/usermodes/4on4on4/default.cfg quake/ktx/configs/usermodes/XonX/default.cfg quake/ktx/configs/usermodes/amphi.cfg quake/ktx/configs/usermodes/amphi2.cfg quake/ktx/configs/usermodes/aqui.cfg quake/ktx/configs/usermodes/arena3.cfg quake/ktx/configs/usermodes/ca/default.cfg quake/ktx/configs/usermodes/ctf/default.cfg quake/ktx/configs/usermodes/ctf/qwq3wcp9.cfg quake/ktx/configs/usermodes/default.cfg quake/ktx/configs/usermodes/dm2dmm4.cfg quake/ktx/configs/usermodes/dm2dmm4_2.cfg quake/ktx/configs/usermodes/dmm4_1.cfg quake/ktx/configs/usermodes/dmm4_2.cfg quake/ktx/configs/usermodes/dmm4_3.cfg quake/ktx/configs/usermodes/dmm4_4.cfg quake/ktx/configs/usermodes/dmm4_5.cfg quake/ktx/configs/usermodes/dmm4_6.cfg quake/ktx/configs/usermodes/dmm4_7.cfg quake/ktx/configs/usermodes/dmm4_8.cfg quake/ktx/configs/usermodes/dmm4_9.cfg quake/ktx/configs/usermodes/end.cfg -@comment quake/ktx/configs/usermodes/end2.cfg +quake/ktx/configs/usermodes/end2.cfg quake/ktx/configs/usermodes/endif.cfg quake/ktx/configs/usermodes/ffa/default.cfg quake/ktx/configs/usermodes/hammer.cfg quake/ktx/configs/usermodes/hammerv2.cfg quake/ktx/configs/usermodes/hammerv3.cfg quake/ktx/configs/usermodes/matchless/arena3.cfg quake/ktx/configs/usermodes/matchless/arena5.cfg quake/ktx/configs/usermodes/matchless/barrel.cfg quake/ktx/configs/usermodes/matchless/bloodfest.cfg quake/ktx/configs/usermodes/matchless/ctf.cfg quake/ktx/configs/usermodes/matchless/default.cfg quake/ktx/configs/usermodes/matchless/dm4ish.cfg quake/ktx/configs/usermodes/matchless/e1m7.cfg quake/ktx/configs/usermodes/matchless/genocide.cfg quake/ktx/configs/usermodes/matchless/hohoho.cfg quake/ktx/configs/usermodes/matchless/kenya.cfg quake/ktx/configs/usermodes/matchless/q1dm17.cfg quake/ktx/configs/usermodes/matchless/slaug.cfg quake/ktx/configs/usermodes/nacmidair.cfg quake/ktx/configs/usermodes/noentry.cfg quake/ktx/configs/usermodes/oldcrat.cfg quake/ktx/configs/usermodes/outpost.cfg quake/ktx/configs/usermodes/povdmm4.cfg quake/ktx/configs/usermodes/povdmm4a.cfg quake/ktx/configs/usermodes/povdmm4b.cfg quake/ktx/configs/usermodes/pushdmm4.cfg -@comment quake/ktx/configs/usermodes/schlossdmm4.cfg +quake/ktx/configs/usermodes/schlossdmm4.cfg quake/ktx/configs/usermodes/sewer.cfg quake/ktx/configs/usermodes/tearena.cfg -@comment quake/ktx/configs/usermodes/tot/dm4.cfg -@comment quake/ktx/configs/usermodes/tot/e1m2.cfg -@comment quake/ktx/configs/usermodes/tot/schloss.cfg +quake/ktx/configs/usermodes/tot/dm4.cfg +quake/ktx/configs/usermodes/tot/e1m2.cfg +quake/ktx/configs/usermodes/tot/schloss.cfg @dir(,%%QWGROUP%%,0775) quake/ktx/demos @sample quake/ktx/ktx.cfg.sample @sample quake/ktx/listip.cfg.sample @sample quake/ktx/matchless.cfg.sample @sample quake/ktx/mvdfinish.qws.sample @sample quake/ktx/mvdsv.cfg.sample @sample quake/ktx/port1.cfg.sample @sample quake/ktx/port2.cfg.sample @sample quake/ktx/port3.cfg.sample @sample quake/ktx/problem.cfg.sample quake/ktx/progs/bit.mdl quake/ktx/progs/check.mdl quake/ktx/progs/finish.mdl quake/ktx/progs/flag.mdl quake/ktx/progs/spawn.mdl quake/ktx/progs/star.mdl quake/ktx/progs/start.mdl quake/ktx/progs/v_coil.mdl quake/ktx/progs/v_star.mdl quake/ktx/progs/vwplayer.mdl quake/ktx/progs/w_axe.mdl quake/ktx/progs/w_coil.mdl quake/ktx/progs/w_light.mdl quake/ktx/progs/w_nail.mdl quake/ktx/progs/w_nail2.mdl quake/ktx/progs/w_rock.mdl quake/ktx/progs/w_rock2.mdl quake/ktx/progs/w_shot.mdl quake/ktx/progs/w_shot2.mdl @sample(,%%QWGROUP%%,0640) quake/ktx/pwd.cfg.sample quake/ktx/qwprogs.so @dir(,%%QWGROUP%%,0775) quake/ktx/race quake/ktx/race/routes/2bfree.route quake/ktx/race/routes/aerowalk.route quake/ktx/race/routes/bravado.route quake/ktx/race/routes/catalyst.route quake/ktx/race/routes/cmt3.route quake/ktx/race/routes/dm1.route quake/ktx/race/routes/dm2.route quake/ktx/race/routes/dm3.route quake/ktx/race/routes/dm4.route quake/ktx/race/routes/dm5.route quake/ktx/race/routes/dm6.route quake/ktx/race/routes/dungeonsurf.route quake/ktx/race/routes/e1m2.route quake/ktx/race/routes/escape2a.route quake/ktx/race/routes/hoppa2.route quake/ktx/race/routes/jqdf1.route quake/ktx/race/routes/jqdf3.route quake/ktx/race/routes/monsoon.route quake/ktx/race/routes/mvdsv-kg.route quake/ktx/race/routes/q1q3toxicity.route quake/ktx/race/routes/race1.route quake/ktx/race/routes/race10.route quake/ktx/race/routes/race2.route quake/ktx/race/routes/race3.route quake/ktx/race/routes/race4.route quake/ktx/race/routes/race5.route quake/ktx/race/routes/race6.route quake/ktx/race/routes/race7.route quake/ktx/race/routes/race8.route quake/ktx/race/routes/race9.route quake/ktx/race/routes/rampcity.route quake/ktx/race/routes/rawspeed.route quake/ktx/race/routes/rj3.route quake/ktx/race/routes/shifter.route quake/ktx/race/routes/slide1.route quake/ktx/race/routes/slide2.route quake/ktx/race/routes/slide3.route quake/ktx/race/routes/slide4.route quake/ktx/race/routes/slide5.route quake/ktx/race/routes/slide6.route quake/ktx/race/routes/slide7.route quake/ktx/race/routes/slide8.route quake/ktx/race/routes/slide9.route quake/ktx/race/routes/slidefox.route quake/ktx/race/routes/slstart.route quake/ktx/race/routes/speedrush.route quake/ktx/race/routes/subslide.route quake/ktx/race/routes/toxicity_ql.route quake/ktx/race/routes/toxicity_test.route quake/ktx/race/routes/toxicity_test2.route quake/ktx/race/routes/zjumps.route quake/ktx/race/routes/ztndm3.route quake/ktx/race/routes/ztricks.route quake/ktx/race/routes/ztricks2.route @sample quake/ktx/server.cfg.sample quake/ktx/sound/misc/flagcap.wav quake/ktx/sound/misc/flagtk.wav quake/ktx/sound/ra/1.wav quake/ktx/sound/ra/2.wav quake/ktx/sound/ra/3.wav quake/ktx/sound/ra/excelent.wav quake/ktx/sound/ra/fight.wav quake/ktx/sound/ra/flawless.wav quake/ktx/sound/rune/rune1.wav quake/ktx/sound/rune/rune2.wav quake/ktx/sound/rune/rune22.wav quake/ktx/sound/rune/rune3.wav quake/ktx/sound/rune/rune4.wav quake/ktx/sound/weapons/bounce2.wav quake/ktx/sound/weapons/chain1.wav quake/ktx/sound/weapons/chain2.wav quake/ktx/sound/weapons/chain3.wav quake/ktx/sound/weapons/coilgun.wav @sample quake/ktx/vip_ip.cfg.sample @sample quake/port1.sample @sample quake/port2.sample @sample quake/port3.sample @sample quake/portffa.sample @sample quake/servers.sample quake/qw/maps/arena3.ent quake/qw/maps/arena5.ent quake/qw/maps/barrel.ent quake/qw/maps/bloodfest.ent quake/qw/maps/ctf/dm1.ent quake/qw/maps/ctf/dm2.ent quake/qw/maps/ctf/dm3.ent quake/qw/maps/ctf/dm4.ent quake/qw/maps/ctf/dm5.ent quake/qw/maps/ctf/dm6.ent quake/qw/maps/ctf/e1m1.ent quake/qw/maps/ctf/e1m2.ent quake/qw/maps/ctf/e1m3.ent quake/qw/maps/ctf/e1m4.ent quake/qw/maps/ctf/e1m5.ent quake/qw/maps/ctf/e1m6.ent quake/qw/maps/ctf/e1m7.ent quake/qw/maps/ctf/e1m8.ent quake/qw/maps/ctf/e2m1.ent quake/qw/maps/ctf/e2m2.ent quake/qw/maps/ctf/e2m3.ent quake/qw/maps/ctf/e2m4.ent quake/qw/maps/ctf/e2m5.ent quake/qw/maps/ctf/e2m6.ent quake/qw/maps/ctf/e2m7.ent quake/qw/maps/ctf/e3m1.ent quake/qw/maps/ctf/e3m2.ent quake/qw/maps/ctf/e3m3.ent quake/qw/maps/ctf/e3m4.ent quake/qw/maps/ctf/e3m5.ent quake/qw/maps/ctf/e3m6.ent quake/qw/maps/ctf/e3m7.ent quake/qw/maps/ctf/e4m1.ent quake/qw/maps/ctf/e4m2.ent quake/qw/maps/ctf/e4m3.ent quake/qw/maps/ctf/e4m4.ent quake/qw/maps/ctf/e4m5.ent quake/qw/maps/ctf/e4m6.ent quake/qw/maps/ctf/e4m7.ent quake/qw/maps/ctf/e4m8.ent quake/qw/maps/ctf/fcast.ent quake/qw/maps/death6.ent quake/qw/maps/dm4ish.ent quake/qw/maps/e1m7.ent quake/qw/maps/fragyard.ent quake/qw/maps/genocide.ent quake/qw/maps/hohoho.ent quake/qw/maps/kenya.ent quake/qw/maps/pillar.ent quake/qw/maps/q1dm17.ent quake/qw/maps/rz1pondb.ent quake/qw/maps/slaug.ent