maps: reuse CM_Cluster code

This commit is contained in:
Denis Pauk 2024-12-21 17:54:40 +02:00
parent 9079f610d0
commit 27d1a87ab0
7 changed files with 60 additions and 20 deletions

View file

@ -2217,6 +2217,15 @@ Com_Printf(const char *msg, ...)
va_end(argptr); 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 void
Com_Error(int code, const char *fmt, ...) Com_Error(int code, const char *fmt, ...)
{ {

View file

@ -2070,6 +2070,15 @@ Com_Printf(const char *msg, ...)
va_end(argptr); 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 void
Com_Error(int code, const char *fmt, ...) Com_Error(int code, const char *fmt, ...)
{ {

View file

@ -1987,6 +1987,15 @@ Com_Printf(const char *msg, ...)
va_end(argptr); 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 void
Com_Error(int code, const char *fmt, ...) Com_Error(int code, const char *fmt, ...)
{ {

View file

@ -2654,6 +2654,15 @@ Com_Printf(const char *msg, ...)
va_end(argptr); 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 void
Com_Error(int code, const char *fmt, ...) Com_Error(int code, const char *fmt, ...)
{ {

View file

@ -1820,6 +1820,15 @@ Com_Printf(const char *msg, ...)
va_end(argptr); 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 void
Com_Error(int code, const char *fmt, ...) Com_Error(int code, const char *fmt, ...)
{ {

View file

@ -69,7 +69,7 @@ Mod_LoadVisibility(const char *name, dvis_t **vis, int *numvisibility,
if (!l->filelen) 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); __func__, name);
*vis = NULL; *vis = NULL;
return; return;

View file

@ -1851,7 +1851,7 @@ CM_LoadCachedMap(const char *name, model_t *mod)
if (!mod->map_vis) if (!mod->map_vis)
{ {
Com_Printf("%s: Map %s has no visual clusters.", Com_DPrintf("%s: Map %s has no visual clusters.",
__func__, name); __func__, name);
} }
@ -2109,16 +2109,16 @@ CM_DecompressVis(byte *in, byte *out)
while (out_p - out < row); while (out_p - out < row);
} }
byte * static byte *
CM_ClusterPVS(int cluster) CM_Cluster(int cluster, int type, byte *buffer)
{ {
if (!cmod->map_vis) if (!cmod->map_vis)
{ {
memset(pvsrow, 0xFF, (cmod->numclusters + 7) >> 3); memset(buffer, 0xFF, (cmod->numclusters + 7) >> 3);
} }
else if (cluster == -1) else if (cluster == -1)
{ {
memset(pvsrow, 0, (cmod->numclusters + 7) >> 3); memset(buffer, 0, (cmod->numclusters + 7) >> 3);
} }
else else
{ {
@ -2128,27 +2128,22 @@ CM_ClusterPVS(int cluster)
} }
CM_DecompressVis((byte *)cmod->map_vis + 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 * byte *
CM_ClusterPHS(int cluster) CM_ClusterPHS(int cluster)
{ {
if (cluster == -1 || !cmod->map_vis) return CM_Cluster(cluster, DVIS_PHS, phsrow);
{
memset(phsrow, 0, (cmod->numclusters + 7) >> 3);
}
else
{
CM_DecompressVis((byte *)cmod->map_vis +
cmod->map_vis->bitofs[cluster][DVIS_PHS], phsrow);
}
return phsrow;
} }
/* /*