Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 May 2026 21:49:04 +0000
From:      Vladimir Druzenko <vvd@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: f540bd6bbd16 - main - games/ktx: Update 1.45 => 1.46
Message-ID:  <6a064350.3d47e.57f80bb1@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f540bd6bbd1635d7e167c06f990f7a9d25e7dc06

commit f540bd6bbd1635d7e167c06f990f7a9d25e7dc06
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2026-05-14 21:47:41 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2026-05-14 21:47:41 +0000

    games/ktx: Update 1.45 => 1.46
    
    Changelog:
    https://github.com/QW-Group/ktx/releases/tag/1.46
    
    Sponsored by:   UNIS Labs
    MFH:            2026Q2
---
 games/ktx/Makefile         |  16 +++-
 games/ktx/distinfo         |  18 ++++-
 games/ktx/files/patch-socd | 192 ---------------------------------------------
 games/ktx/pkg-plist        |   8 ++
 4 files changed, 36 insertions(+), 198 deletions(-)

diff --git a/games/ktx/Makefile b/games/ktx/Makefile
index 59957e436ad3..a6702499975e 100644
--- a/games/ktx/Makefile
+++ b/games/ktx/Makefile
@@ -1,7 +1,15 @@
 PORTNAME=	ktx
-DISTVERSION=	1.45
+DISTVERSION=	1.46
 CATEGORIES=	games
 
+PATCH_SITES=	https://github.com/QW-Group/ktx/commit/
+PATCHFILES=	18ce9990e07f08f433759d68f47115e93fa05067.patch:-p1 \
+		c166537fafc128cdcbe6f1d126d8089461a812bb.patch:-p1 \
+		1f324ab0dd99c55bf8a4c126be7d72ba1992c779.patch:-p1 \
+		0b8bf7ac91f8b47c15f926d2c3214dd9d413e1a6.patch:-p1 \
+		c43aafcdc31e66812bb9116c7eca4bc736b76376.patch:-p1 \
+		c871f3d2064e1881c694a7357986479b8cb96333.patch:-p1
+
 MAINTAINER=	vvd@FreeBSD.org
 COMMENT=	Kombat Teams eXtreme is a popular QuakeWorld server modification
 WWW=		https://github.com/QW-Group/ktx/
@@ -11,10 +19,12 @@ LICENSE=	GPLv2
 RUN_DEPENDS=	mvdsv:games/mvdsv
 
 USES=		cmake dos2unix
-DOS2UNIX_FILES=	resources/example-configs/ktx/ktx.cfg \
+DOS2UNIX_FILES=	resources/example-configs/id1/maps/arena3.ent \
+		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
+		resources/example-configs/ktx/race/routes/ztricks2.route \
+		resources/extralog/ktxlog_0.1.xsd
 USE_GITHUB=	yes
 GH_ACCOUNT=	QW-Group
 USE_RC_SUBR=	${PORTNAME}
diff --git a/games/ktx/distinfo b/games/ktx/distinfo
index 8518a04f1d3e..eaf0551f0f91 100644
--- a/games/ktx/distinfo
+++ b/games/ktx/distinfo
@@ -1,3 +1,15 @@
-TIMESTAMP = 1740344268
-SHA256 (QW-Group-ktx-1.45_GH0.tar.gz) = 3bf0e78569fa7d352a2e825257ea37d1e2423480c94f0d18fa58dc265f54288c
-SIZE (QW-Group-ktx-1.45_GH0.tar.gz) = 1704185
+TIMESTAMP = 1778778778
+SHA256 (QW-Group-ktx-1.46_GH0.tar.gz) = bda8ae19a9f8cbc4aad8cf8f7963d6e0c0a65b29657ad55b5ad45a14f76bf3a7
+SIZE (QW-Group-ktx-1.46_GH0.tar.gz) = 1744829
+SHA256 (18ce9990e07f08f433759d68f47115e93fa05067.patch) = f9c462297639e162869d86a9c74b69925c8927aa1344c53864fa28f29131d1c6
+SIZE (18ce9990e07f08f433759d68f47115e93fa05067.patch) = 6955
+SHA256 (c166537fafc128cdcbe6f1d126d8089461a812bb.patch) = 6fa7b510d748492c3528307bae9fa18a6172ea6aadc7ae603d982e8ee244f18a
+SIZE (c166537fafc128cdcbe6f1d126d8089461a812bb.patch) = 637
+SHA256 (1f324ab0dd99c55bf8a4c126be7d72ba1992c779.patch) = 964729e37c4fe5eafdc502da087ac3c69235dc5e01076bd4736d7390f2e6db5e
+SIZE (1f324ab0dd99c55bf8a4c126be7d72ba1992c779.patch) = 909
+SHA256 (0b8bf7ac91f8b47c15f926d2c3214dd9d413e1a6.patch) = a7b78008ca2006ac6efdb8fd2f5402c0735ef9761b389bcb0967ba3c4f192129
+SIZE (0b8bf7ac91f8b47c15f926d2c3214dd9d413e1a6.patch) = 1492
+SHA256 (c43aafcdc31e66812bb9116c7eca4bc736b76376.patch) = 5c3b3dad1f8297f7cf900ed2a639f154b9d73171a8c9b87ed9f254851e1f4281
+SIZE (c43aafcdc31e66812bb9116c7eca4bc736b76376.patch) = 778
+SHA256 (c871f3d2064e1881c694a7357986479b8cb96333.patch) = 68d6f265d6ad19e5b25a2d692f3b67dae6235f94dd74f7d3a22fd7fd6e7addfb
+SIZE (c871f3d2064e1881c694a7357986479b8cb96333.patch) = 6319
diff --git a/games/ktx/files/patch-socd b/games/ktx/files/patch-socd
deleted file mode 100644
index 03e80334b71e..000000000000
--- a/games/ktx/files/patch-socd
+++ /dev/null
@@ -1,192 +0,0 @@
-From 631b375f3dbb150c3f37430a0a45f237ffac8153 Mon Sep 17 00:00:00 2001
-From: blaze <blaze@discord>
-Date: Tue, 30 Jul 2024 22:49:02 -0700
-Subject: [PATCH] socd detection
-
----
- .gitignore           |  3 +++
- include/progs.h      | 11 ++++++++
- src/client.c         | 61 ++++++++++++++++++++++++++++++++++++++++++++
- src/commands.c       | 32 +++++++++++++++++++++--
- src/stats.c          |  8 ++++++
- src/world.c          |  2 ++
- tools/vs/ktx.vcxproj | 34 ++++++++++++++++++------
- 7 files changed, 141 insertions(+), 10 deletions(-)
-
---- include/progs.h.orig
-+++ include/progs.h
-@@ -944,6 +944,17 @@ typedef struct gedict_s
- 	float fIllegalFPSWarnings;
- // ILLEGALFPS]
- 
-+// SOCD detectioin
-+	float fStrafeChangeCount;
-+	float fFramePerfectStrafeChangeCount;
-+	int   socdDetected;
-+	int   socdChecksCount;
-+	float fLastSideMoveSpeed;
-+	int   matchStrafeChangeCount;
-+	int   matchPerfectStrafeCount;
-+	int   nullStrafeCount;
-+// SOCD
-+
- 	float shownick_time;					// used to force centerprint is off at desired time
- 	clientType_t ct;						// client type for client edicts
- // { timing
---- src/client.c.orig
-+++ src/client.c
-@@ -1658,6 +1658,16 @@ void ClientConnect()
- 		SendIntermissionToClient();
- 	}
- 
-+// SOCD
-+	self->socdChecksCount = 0;
-+	self->socdDetected = 0;
-+	self->fStrafeChangeCount = 0;
-+	self->fFramePerfectStrafeChangeCount = 0;
-+	self->fLastSideMoveSpeed = 0;
-+	self->matchStrafeChangeCount = 0;
-+	self->matchPerfectStrafeCount = 0;
-+	self->nullStrafeCount = 0;
-+
- // ILLEGALFPS[
- 
- 	// Zibbo's frametime checking code
-@@ -3520,6 +3530,57 @@ void PlayerPreThink()
- 	}
- #endif
- 
-+// SOCD detection
-+	{
-+		float fSideMoveSpeed = self->movement[1];
-+
-+		if ((fSideMoveSpeed != 0) && (fSideMoveSpeed != self->fLastSideMoveSpeed) && (self->nullStrafeCount < 3)) //strafechange
-+		{
-+			self->fStrafeChangeCount += 1;
-+			if (match_in_progress)
-+				self->matchStrafeChangeCount += 1;
-+
-+			if ((fSideMoveSpeed != 0) && (self->fLastSideMoveSpeed != 0))
-+			{
-+				self->fFramePerfectStrafeChangeCount += 1;
-+				if (match_in_progress)
-+					self->matchPerfectStrafeCount += 1;
-+			}
-+
-+			self->nullStrafeCount = 0;
-+		}
-+		else
-+		{
-+			if (0 == fSideMoveSpeed)
-+				self->nullStrafeCount += 1;
-+			else
-+				self->nullStrafeCount = 0;
-+		}
-+
-+		self->fLastSideMoveSpeed = fSideMoveSpeed;
-+
-+		if (self->fStrafeChangeCount >= 16)
-+		{
-+			if (self->fFramePerfectStrafeChangeCount / self->fStrafeChangeCount >= 0.75)
-+			{
-+				int k_allow_socd_warning = cvar("k_allow_socd_warning");
-+
-+				self->socdDetected += 1;
-+
-+				if ((!match_in_progress) && (!self->isBot) && k_allow_socd_warning)
-+				{
-+					G_bprint(PRINT_HIGH,
-+						"Warning! %s: SOCD movement assistance detected. Please disable iDrive or keyboard SOCD features.\n",
-+						self->netname);
-+				}
-+			}
-+
-+			self->socdChecksCount += 1;
-+			self->fStrafeChangeCount = 0;
-+			self->fFramePerfectStrafeChangeCount = 0;
-+		}
-+	}
-+
- // ILLEGALFPS[
- 
- 	self->fAverageFrameTime += g_globalvars.frametime;
---- src/commands.c.orig
-+++ src/commands.c
-@@ -8114,16 +8114,47 @@ void fcheck()
- 
- 	if (!is_real_adm(self))
- 	{
--		if (strneq(arg_x, "f_version") && strneq(arg_x, "f_modified") && strneq(arg_x, "f_server"))
-+		if (strneq(arg_x, "f_version") && strneq(arg_x, "f_modified") && strneq(arg_x, "f_server") && strneq(arg_x, "f_movement"))
- 		{
- 			G_sprint(self, 2, "You are not allowed to check \020%s\021\n"
--						"available checks are: f_version, f_modified and f_server\n",
-+						"available checks are: f_version, f_modified, f_server and f_movement\n",
- 						arg_x);
- 
- 			return;
- 		}
- 	}
- 
-+	if (streq(arg_x, "f_movement"))
-+	{
-+		G_bprint(2, "%s is checking \020%s\021\n", self->netname, arg_x);
-+
-+		for (i = 1; i <= MAX_CLIENTS; i++)
-+		{
-+			if (!strnull(g_edicts[i].netname))
-+			{
-+				if (g_edicts[i].socdDetected > 0)
-+				{
-+					G_bprint(2, "%s: SOCD movement assistance detected!\n", g_edicts[i].netname);
-+				}
-+				else
-+				{
-+					if (g_edicts[i].socdChecksCount >= 2)
-+					{
-+						G_bprint(2, "%s: no assistance detected.\n", g_edicts[i].netname);
-+					}
-+					else
-+					{
-+						G_bprint(2, "%s: not enough movement to run SOCD detection. Please move around a map.\n", g_edicts[i].netname);
-+					}
-+				}
-+				G_bprint(2, "%s: %s:%d/%d %s:%d/%d\n", redtext("Movement"), redtext("Perfect strafes"),
-+					g_edicts[i].matchPerfectStrafeCount, g_edicts[i].matchStrafeChangeCount,
-+					redtext("SOCD detections"), g_edicts[i].socdDetected, g_edicts[i].socdChecksCount);
-+			}
-+		}
-+		return;
-+	}
-+
- 	for (i = 1; i <= MAX_CLIENTS; i++)
- 	{
- 		if (g_edicts[i].f_checkbuf)
---- src/stats.c.orig
-+++ src/stats.c
-@@ -763,6 +763,14 @@ void OnePlayerStats(gedict_t *p, int tp)
- 					p->ps.vel_frames > 0 ? p->ps.velocity_sum / p->ps.vel_frames : 0.);
- 	}
- 
-+	if (!p->isBot)
-+	{
-+		G_bprint(2, "%s: %s:%d/%d %s:%d/%d\n", redtext("Movement"), redtext("Perfect strafes"),
-+			p->matchPerfectStrafeCount, p->matchStrafeChangeCount, redtext("SOCD detections"),
-+			p->socdDetected, p->socdChecksCount);
-+	}
-+
-+
- 	// armors + megahealths
- 	if (!lgc_enabled())
- 	{
---- src/world.c.orig
-+++ src/world.c
-@@ -1000,6 +1000,8 @@ void FirstFrame()
- 
- 	RegisterCvar("k_teamoverlay"); // q3 like team overlay
- 
-+	RegisterCvar("k_allow_socd_warning"); // socd
-+
- // { SP
- 	RegisterCvarEx("k_monster_spawn_time", "20");
- // }
diff --git a/games/ktx/pkg-plist b/games/ktx/pkg-plist
index cfa3e572433e..3272e5f95b20 100644
--- a/games/ktx/pkg-plist
+++ b/games/ktx/pkg-plist
@@ -5,6 +5,7 @@ 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/aztek.bot
 quake/ktx/bots/maps/bravado.bot
 quake/ktx/bots/maps/cmt1b.bot
 quake/ktx/bots/maps/cmt3.bot
@@ -18,25 +19,32 @@ 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/forsaken.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/obsidian.bot
 quake/ktx/bots/maps/oldcrat.bot
+quake/ktx/bots/maps/phantombase.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/qobblestone.bot
 quake/ktx/bots/maps/rarena3.bot
 quake/ktx/bots/maps/ravageqwb8.bot
+quake/ktx/bots/maps/rocka.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/steam.bot
+quake/ktx/bots/maps/stroggopolis.bot
 quake/ktx/bots/maps/subterfuge.bot
 quake/ktx/bots/maps/ukooldm2.bot
 quake/ktx/bots/maps/ukooldm3.bot


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a064350.3d47e.57f80bb1>