From 27d1a87ab032e516669c07bb1f7503a828d7f00c Mon Sep 17 00:00:00 2001 From: Denis Pauk Date: Sat, 21 Dec 2024 17:54:40 +0200 Subject: [PATCH] maps: reuse CM_Cluster code --- src/client/refresh/gl1/gl1_main.c | 9 +++++++++ src/client/refresh/gl3/gl3_main.c | 9 +++++++++ src/client/refresh/gl4/gl4_main.c | 9 +++++++++ src/client/refresh/soft/sw_main.c | 9 +++++++++ src/client/refresh/vk/vk_main.c | 9 +++++++++ src/common/cmodels.c | 2 +- src/common/collision.c | 33 +++++++++++++------------------ 7 files changed, 60 insertions(+), 20 deletions(-) diff --git a/src/client/refresh/gl1/gl1_main.c b/src/client/refresh/gl1/gl1_main.c index 5337cce6..8eff6b95 100644 --- a/src/client/refresh/gl1/gl1_main.c +++ b/src/client/refresh/gl1/gl1_main.c @@ -2217,6 +2217,15 @@ Com_Printf(const char *msg, ...) va_end(argptr); } +void +Com_DPrintf(const char *msg, ...) +{ + va_list argptr; + va_start(argptr, msg); + ri.Com_VPrintf(PRINT_DEVELOPER, msg, argptr); + va_end(argptr); +} + void Com_Error(int code, const char *fmt, ...) { diff --git a/src/client/refresh/gl3/gl3_main.c b/src/client/refresh/gl3/gl3_main.c index b900980e..4160a089 100644 --- a/src/client/refresh/gl3/gl3_main.c +++ b/src/client/refresh/gl3/gl3_main.c @@ -2070,6 +2070,15 @@ Com_Printf(const char *msg, ...) va_end(argptr); } +void +Com_DPrintf(const char *msg, ...) +{ + va_list argptr; + va_start(argptr, msg); + ri.Com_VPrintf(PRINT_DEVELOPER, msg, argptr); + va_end(argptr); +} + void Com_Error(int code, const char *fmt, ...) { diff --git a/src/client/refresh/gl4/gl4_main.c b/src/client/refresh/gl4/gl4_main.c index 629e52c5..13531fe7 100644 --- a/src/client/refresh/gl4/gl4_main.c +++ b/src/client/refresh/gl4/gl4_main.c @@ -1987,6 +1987,15 @@ Com_Printf(const char *msg, ...) va_end(argptr); } +void +Com_DPrintf(const char *msg, ...) +{ + va_list argptr; + va_start(argptr, msg); + ri.Com_VPrintf(PRINT_DEVELOPER, msg, argptr); + va_end(argptr); +} + void Com_Error(int code, const char *fmt, ...) { diff --git a/src/client/refresh/soft/sw_main.c b/src/client/refresh/soft/sw_main.c index 42207335..8236217c 100644 --- a/src/client/refresh/soft/sw_main.c +++ b/src/client/refresh/soft/sw_main.c @@ -2654,6 +2654,15 @@ Com_Printf(const char *msg, ...) va_end(argptr); } +void +Com_DPrintf(const char *msg, ...) +{ + va_list argptr; + va_start(argptr, msg); + ri.Com_VPrintf(PRINT_DEVELOPER, msg, argptr); + va_end(argptr); +} + void Com_Error(int code, const char *fmt, ...) { diff --git a/src/client/refresh/vk/vk_main.c b/src/client/refresh/vk/vk_main.c index b87aee21..cbea14f6 100644 --- a/src/client/refresh/vk/vk_main.c +++ b/src/client/refresh/vk/vk_main.c @@ -1820,6 +1820,15 @@ Com_Printf(const char *msg, ...) va_end(argptr); } +void +Com_DPrintf(const char *msg, ...) +{ + va_list argptr; + va_start(argptr, msg); + ri.Com_VPrintf(PRINT_DEVELOPER, msg, argptr); + va_end(argptr); +} + void Com_Error(int code, const char *fmt, ...) { diff --git a/src/common/cmodels.c b/src/common/cmodels.c index e235d0bd..ddea4fec 100644 --- a/src/common/cmodels.c +++ b/src/common/cmodels.c @@ -69,7 +69,7 @@ Mod_LoadVisibility(const char *name, dvis_t **vis, int *numvisibility, if (!l->filelen) { - Com_Printf("%s: Map %s has too small visibility lump\n", + Com_DPrintf("%s: Map %s has too small visibility lump\n", __func__, name); *vis = NULL; return; diff --git a/src/common/collision.c b/src/common/collision.c index 2ad404c7..564c24af 100644 --- a/src/common/collision.c +++ b/src/common/collision.c @@ -1851,7 +1851,7 @@ CM_LoadCachedMap(const char *name, model_t *mod) if (!mod->map_vis) { - Com_Printf("%s: Map %s has no visual clusters.", + Com_DPrintf("%s: Map %s has no visual clusters.", __func__, name); } @@ -2109,16 +2109,16 @@ CM_DecompressVis(byte *in, byte *out) while (out_p - out < row); } -byte * -CM_ClusterPVS(int cluster) +static byte * +CM_Cluster(int cluster, int type, byte *buffer) { if (!cmod->map_vis) { - memset(pvsrow, 0xFF, (cmod->numclusters + 7) >> 3); + memset(buffer, 0xFF, (cmod->numclusters + 7) >> 3); } else if (cluster == -1) { - memset(pvsrow, 0, (cmod->numclusters + 7) >> 3); + memset(buffer, 0, (cmod->numclusters + 7) >> 3); } else { @@ -2128,27 +2128,22 @@ CM_ClusterPVS(int cluster) } CM_DecompressVis((byte *)cmod->map_vis + - cmod->map_vis->bitofs[cluster][DVIS_PVS], pvsrow); + cmod->map_vis->bitofs[cluster][type], buffer); } - return pvsrow; + return buffer; +} + +byte * +CM_ClusterPVS(int cluster) +{ + return CM_Cluster(cluster, DVIS_PVS, pvsrow); } byte * CM_ClusterPHS(int cluster) { - if (cluster == -1 || !cmod->map_vis) - { - memset(phsrow, 0, (cmod->numclusters + 7) >> 3); - } - - else - { - CM_DecompressVis((byte *)cmod->map_vis + - cmod->map_vis->bitofs[cluster][DVIS_PHS], phsrow); - } - - return phsrow; + return CM_Cluster(cluster, DVIS_PHS, phsrow); } /*