int element[2];
}
edgehashentry_t;
- edgehashentry_t *edgehash[TRIANGLEEDGEHASH], *edgehashentries, edgehashentriesbuffer[TRIANGLEEDGEHASH*3], *hash;
+ static edgehashentry_t *edgehash[TRIANGLEEDGEHASH];
+ edgehashentry_t *edgehashentries, *hash;
+ if (!numtriangles)
+ return;
memset(edgehash, 0, sizeof(edgehash));
- edgehashentries = edgehashentriesbuffer;
// if there are too many triangles for the stack array, allocate larger buffer
- if (numtriangles > TRIANGLEEDGEHASH)
- edgehashentries = (edgehashentry_t *)Mem_Alloc(tempmempool, numtriangles * 3 * sizeof(edgehashentry_t));
+ edgehashentries = (edgehashentry_t *)Mem_Alloc(tempmempool, numtriangles * 3 * sizeof(edgehashentry_t));
// find neighboring triangles
for (i = 0, e = elements, n = neighbors;i < numtriangles;i++, e += 3, n += 3)
{
CL_KeepaliveMessage(false);
}
// free the allocated buffer
- if (edgehashentries != edgehashentriesbuffer)
- Mem_Free(edgehashentries);
+ Mem_Free(edgehashentries);
}
#else
// very slow but simple way
end = ((unsigned char *) (&shader->Q3SHADERINFO_COMPARE_END)) + sizeof(shader->Q3SHADERINFO_COMPARE_END);
start2 = (unsigned char *) (&entry->shader.Q3SHADERINFO_COMPARE_START);
if(memcmp(start, start2, end - start))
- Con_Printf("Shader '%s' already defined, ignoring mismatching redeclaration\n", shader->name);
+ Con_DPrintf("Shader '%s' already defined, ignoring mismatching redeclaration\n", shader->name);
else
Con_DPrintf("Shader '%s' already defined\n", shader->name);
return;
strlcpy(shader.name, com_token, sizeof(shader.name));
if (!COM_ParseToken_QuakeC(&text, false) || strcasecmp(com_token, "{"))
{
- Con_Printf("%s parsing error - expected \"{\", found \"%s\"\n", search->filenames[fileindex], com_token);
+ Con_DPrintf("%s parsing error - expected \"{\", found \"%s\"\n", search->filenames[fileindex], com_token);
break;
}
while (COM_ParseToken_QuakeC(&text, false))
}
//for (j = numparameters;j < TEXTURE_MAXFRAMES + 4;j++)
// parameter[j][0] = 0;
- if (developer.integer >= 100)
+ if (developer_insane.integer)
{
- Con_Printf("%s %i: ", shader.name, shader.numlayers - 1);
+ Con_DPrintf("%s %i: ", shader.name, shader.numlayers - 1);
for (j = 0;j < numparameters;j++)
- Con_Printf(" %s", parameter[j]);
- Con_Print("\n");
+ Con_DPrintf(" %s", parameter[j]);
+ Con_DPrint("\n");
}
if (numparameters >= 2 && !strcasecmp(parameter[0], "blendfunc"))
{
shader.textureblendalpha = true;
}
}
- layer->texflags = TEXF_ALPHA | TEXF_PRECACHE;
+ layer->texflags = TEXF_ALPHA;
if (!(shader.surfaceparms & Q3SURFACEPARM_NOMIPMAPS))
layer->texflags |= TEXF_MIPMAP;
if (!(shader.textureflags & Q3TEXTUREFLAG_NOPICMIP))
// parameter[j][0] = 0;
if (fileindex == 0 && !strcasecmp(com_token, "}"))
break;
- if (developer.integer >= 100)
+ if (developer_insane.integer)
{
- Con_Printf("%s: ", shader.name);
+ Con_DPrintf("%s: ", shader.name);
for (j = 0;j < numparameters;j++)
- Con_Printf(" %s", parameter[j]);
- Con_Print("\n");
+ Con_DPrintf(" %s", parameter[j]);
+ Con_DPrint("\n");
}
if (numparameters < 1)
continue;
}
else if (!strcmp(texture->name, "noshader") || !texture->name[0])
{
- if (developer.integer >= 100)
- Con_Printf("^1%s:^7 using fallback noshader material for ^3\"%s\"\n", loadmodel->name, name);
+ if (developer_extra.integer)
+ Con_DPrintf("^1%s:^7 using fallback noshader material for ^3\"%s\"\n", loadmodel->name, name);
texture->surfaceparms = 0;
}
else if (!strcmp(texture->name, "common/nodraw") || !strcmp(texture->name, "textures/common/nodraw"))
{
- if (developer.integer >= 100)
- Con_Printf("^1%s:^7 using fallback nodraw material for ^3\"%s\"\n", loadmodel->name, name);
+ if (developer_extra.integer)
+ Con_DPrintf("^1%s:^7 using fallback nodraw material for ^3\"%s\"\n", loadmodel->name, name);
texture->surfaceparms = 0;
texture->basematerialflags = MATERIALFLAG_NODRAW | MATERIALFLAG_NOSHADOW;
}
else
{
- if (developer.integer >= 100)
- Con_Printf("^1%s:^7 No shader found for texture ^3\"%s\"\n", loadmodel->name, texture->name);
+ if (developer_extra.integer)
+ Con_DPrintf("^1%s:^7 No shader found for texture ^3\"%s\"\n", loadmodel->name, texture->name);
texture->surfaceparms = 0;
if (texture->surfaceflags & Q3SURFACEFLAG_NODRAW)
texture->basematerialflags |= MATERIALFLAG_NODRAW | MATERIALFLAG_NOSHADOW;
static void Mod_BuildVBOs(void)
{
- if (developer.integer && loadmodel->surfmesh.data_element3s && loadmodel->surfmesh.data_element3i)
+ if (gl_paranoid.integer && loadmodel->surfmesh.data_element3s && loadmodel->surfmesh.data_element3i)
{
int i;
for (i = 0;i < loadmodel->surfmesh.num_triangles*3;i++)
const float *vertex3f = model->surfmesh.data_vertex3f;
const int *element3i = model->surfmesh.data_element3i;
const int *e;
- double v2[3][3];
+ float v2[3][3];
for (surfaceindex = 0, surface = model->data_surfaces;surfaceindex < model->nummodelsurfaces;surfaceindex++, surface++)
{
if (!BoxesOverlap(surface->mins, surface->maxs, mins, maxs))
{
int maxnodes = 1<<14;
svbsp_node_t *nodes;
- double origin[3];
+ float origin[3];
float mins[3];
float maxs[3];
svbsp_t svbsp;
for (lightmapindex = 0;lightmapindex < model->brushq3.num_mergedlightmaps;lightmapindex++)
{
- model->brushq3.data_lightmaps[lightmapindex] = R_LoadTexture2D(model->texturepool, va("lightmap%i", lightmapindex), lm_texturesize, lm_texturesize, lightmappixels + lightmapindex * lm_texturesize * lm_texturesize * 4, TEXTYPE_BGRA, TEXF_FORCELINEAR | TEXF_PRECACHE, NULL);
- model->brushq3.data_deluxemaps[lightmapindex] = R_LoadTexture2D(model->texturepool, va("deluxemap%i", lightmapindex), lm_texturesize, lm_texturesize, deluxemappixels + lightmapindex * lm_texturesize * lm_texturesize * 4, TEXTYPE_BGRA, TEXF_FORCELINEAR | TEXF_PRECACHE, NULL);
+ model->brushq3.data_lightmaps[lightmapindex] = R_LoadTexture2D(model->texturepool, va("lightmap%i", lightmapindex), lm_texturesize, lm_texturesize, lightmappixels + lightmapindex * lm_texturesize * lm_texturesize * 4, TEXTYPE_BGRA, TEXF_FORCELINEAR, NULL);
+ model->brushq3.data_deluxemaps[lightmapindex] = R_LoadTexture2D(model->texturepool, va("deluxemap%i", lightmapindex), lm_texturesize, lm_texturesize, deluxemappixels + lightmapindex * lm_texturesize * lm_texturesize * 4, TEXTYPE_BGRA, TEXF_FORCELINEAR, NULL);
}
if (lightmappixels)