for (i = 0;i < MAX_MOD_KNOWN;i++)
{
- if (mod_known[i].name[0])
+ if (mod_known[i].mempool && mod_known[i].data_surfaces)
{
for (surfacenum = 0, surface = mod_known[i].data_surfaces;surfacenum < mod_known[i].num_surfaces;surfacenum++, surface++)
{
buf = FS_LoadFile (mod->name, tempmempool, false);
if (buf)
{
- crc = CRC_Block(buf, fs_filesize);
+ crc = CRC_Block((qbyte *)buf, fs_filesize);
if (mod->crc != crc)
mod->loaded = false;
}
else if (!memcmp(buf, "IBSP", 4)) Mod_IBSP_Load(mod, buf, bufend);
else if (!memcmp(buf, "ZYMOTICMODEL", 12)) Mod_ZYMOTICMODEL_Load(mod, buf, bufend);
else if (!memcmp(buf, "DARKPLACESMODEL", 16)) Mod_DARKPLACESMODEL_Load(mod, buf, bufend);
- else if (!strcmp(buf, "ACTRHEAD")) Mod_PSKMODEL_Load(mod, buf, bufend);
+ else if (!memcmp(buf, "ACTRHEAD", 8)) Mod_PSKMODEL_Load(mod, buf, bufend);
else if (strlen(mod->name) >= 4 && !strcmp(mod->name - 4, ".map")) Mod_MAP_Load(mod, buf, bufend);
else if (!memcmp(buf, "MCBSPpad", 8)) Mod_Q1BSP_Load(mod, buf, bufend);
else if (num == BSPVERSION || num == 30) Mod_Q1BSP_Load(mod, buf, bufend);
{
int i, count;
qbyte *used;
- used = Mem_Alloc(tempmempool, numvertices);
+ used = (qbyte *)Mem_Alloc(tempmempool, numvertices);
memset(used, 0, numvertices);
for (i = 0;i < numelements;i++)
used[elements[i]] = 1;
edgehashentries = edgehashentriesbuffer;
// if there are too many triangles for the stack array, allocate larger buffer
if (numtriangles > TRIANGLEEDGEHASH)
- edgehashentries = 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)
{
{
surfmesh_t *mesh;
qbyte *data;
- mesh = Mem_Alloc(mempool, sizeof(surfmesh_t) + numvertices * (3 + 3 + 3 + 3 + 2 + 2 + (vertexcolors ? 4 : 0)) * sizeof(float) + numvertices * (lightmapoffsets ? 1 : 0) * sizeof(int) + numtriangles * (3 + 3 + (neighbors ? 3 : 0)) * sizeof(int));
+ mesh = (surfmesh_t *)Mem_Alloc(mempool, sizeof(surfmesh_t) + numvertices * (3 + 3 + 3 + 3 + 2 + 2 + (vertexcolors ? 4 : 0)) * sizeof(float) + numvertices * (lightmapoffsets ? 1 : 0) * sizeof(int) + numtriangles * (3 + (neighbors ? 3 : 0)) * sizeof(int));
mesh->num_vertices = numvertices;
mesh->num_triangles = numtriangles;
data = (qbyte *)(mesh + 1);
}
if (mesh->num_triangles)
{
- mesh->data_element3i = (int *)data, data += sizeof(int[3]) * mesh->num_triangles;
mesh->data_element3i = (int *)data, data += sizeof(int[3]) * mesh->num_triangles;
if (neighbors)
mesh->data_neighbor3i = (int *)data, data += sizeof(int[3]) * mesh->num_triangles;
size += maxtriangles * sizeof(int[3]);
if (expandable)
size += SHADOWMESHVERTEXHASH * sizeof(shadowmeshvertexhash_t *) + maxverts * sizeof(shadowmeshvertexhash_t);
- data = Mem_Alloc(mempool, size);
- newmesh = (void *)data;data += sizeof(*newmesh);
+ data = (qbyte *)Mem_Alloc(mempool, size);
+ newmesh = (shadowmesh_t *)data;data += sizeof(*newmesh);
newmesh->map_diffuse = map_diffuse;
newmesh->map_specular = map_specular;
newmesh->map_normal = map_normal;
newmesh->numverts = 0;
newmesh->numtriangles = 0;
- newmesh->vertex3f = (void *)data;data += maxverts * sizeof(float[3]);
+ newmesh->vertex3f = (float *)data;data += maxverts * sizeof(float[3]);
if (light)
{
- newmesh->svector3f = (void *)data;data += maxverts * sizeof(float[3]);
- newmesh->tvector3f = (void *)data;data += maxverts * sizeof(float[3]);
- newmesh->normal3f = (void *)data;data += maxverts * sizeof(float[3]);
- newmesh->texcoord2f = (void *)data;data += maxverts * sizeof(float[2]);
+ newmesh->svector3f = (float *)data;data += maxverts * sizeof(float[3]);
+ newmesh->tvector3f = (float *)data;data += maxverts * sizeof(float[3]);
+ newmesh->normal3f = (float *)data;data += maxverts * sizeof(float[3]);
+ newmesh->texcoord2f = (float *)data;data += maxverts * sizeof(float[2]);
}
- newmesh->element3i = (void *)data;data += maxtriangles * sizeof(int[3]);
+ newmesh->element3i = (int *)data;data += maxtriangles * sizeof(int[3]);
if (neighbors)
{
- newmesh->neighbor3i = (void *)data;data += maxtriangles * sizeof(int[3]);
+ newmesh->neighbor3i = (int *)data;data += maxtriangles * sizeof(int[3]);
}
if (expandable)
{
- newmesh->vertexhashtable = (void *)data;data += SHADOWMESHVERTEXHASH * sizeof(shadowmeshvertexhash_t *);
- newmesh->vertexhashentries = (void *)data;data += maxverts * sizeof(shadowmeshvertexhash_t);
+ newmesh->vertexhashtable = (shadowmeshvertexhash_t **)data;data += SHADOWMESHVERTEXHASH * sizeof(shadowmeshvertexhash_t *);
+ newmesh->vertexhashentries = (shadowmeshvertexhash_t *)data;data += maxverts * sizeof(shadowmeshvertexhash_t);
}
return newmesh;
}
shadowmesh_t *mesh;
vec3_t nmins, nmaxs, ncenter, temp;
float nradius2, dist2, *v;
+ VectorClear(nmins);
+ VectorClear(nmaxs);
// calculate bbox
for (mesh = firstmesh;mesh;mesh = mesh->next)
{
return false;
if (r_shadow_bumpscale_basetexture.value > 0)
{
- temp1 = Mem_Alloc(loadmodel->mempool, width * height * 8);
+ temp1 = (qbyte *)Mem_Alloc(loadmodel->mempool, width * height * 8);
temp2 = temp1 + width * height * 4;
Image_Copy8bitRGBA(skindata, temp1, width * height, palette_nofullbrights);
Image_HeightmapToNormalmap(temp1, temp2, width, height, false, r_shadow_bumpscale_basetexture.value);
*/
memset(tagsets, 0, sizeof(tagsets));
memset(word, 0, sizeof(word));
- for (i = 0;i < MAX_SKINS && (data = text = FS_LoadFile(va("%s_%i.skin", loadmodel->name, i), tempmempool, true));i++)
+ for (i = 0;i < MAX_SKINS && (data = text = (char *)FS_LoadFile(va("%s_%i.skin", loadmodel->name, i), tempmempool, true));i++)
{
numtags = 0;
// If it's the first file we parse
if (skinfile == NULL)
{
- skinfile = Mem_Alloc(tempmempool, sizeof(skinfile_t));
+ skinfile = (skinfile_t *)Mem_Alloc(tempmempool, sizeof(skinfile_t));
first = skinfile;
}
else
{
- skinfile->next = Mem_Alloc(tempmempool, sizeof(skinfile_t));
+ skinfile->next = (skinfile_t *)Mem_Alloc(tempmempool, sizeof(skinfile_t));
skinfile = skinfile->next;
}
skinfile->next = NULL;
if (words == 3)
{
Con_DPrintf("Mod_LoadSkinFiles: parsed mesh \"%s\" shader replacement \"%s\"\n", word[1], word[2]);
- skinfileitem = Mem_Alloc(tempmempool, sizeof(skinfileitem_t));
+ skinfileitem = (skinfileitem_t *)Mem_Alloc(tempmempool, sizeof(skinfileitem_t));
skinfileitem->next = skinfile->items;
skinfile->items = skinfileitem;
strlcpy (skinfileitem->name, word[1], sizeof (skinfileitem->name));
{
// mesh shader name, like "U_RArm,models/players/Legoman/BikerA1.tga"
Con_DPrintf("Mod_LoadSkinFiles: parsed mesh \"%s\" shader replacement \"%s\"\n", word[0], word[2]);
- skinfileitem = Mem_Alloc(tempmempool, sizeof(skinfileitem_t));
+ skinfileitem = (skinfileitem_t *)Mem_Alloc(tempmempool, sizeof(skinfileitem_t));
skinfileitem->next = skinfile->items;
skinfile->items = skinfileitem;
strlcpy (skinfileitem->name, word[0], sizeof (skinfileitem->name));
overridetagnameset_t *t;
t = tagsets + i;
t->num_overridetagnames = numtags;
- t->data_overridetagnames = Mem_Alloc(loadmodel->mempool, t->num_overridetagnames * sizeof(overridetagname_t));
+ t->data_overridetagnames = (overridetagname_t *)Mem_Alloc(loadmodel->mempool, t->num_overridetagnames * sizeof(overridetagname_t));
memcpy(t->data_overridetagnames, tags, t->num_overridetagnames * sizeof(overridetagname_t));
tagsetsused = true;
}
}
if (tagsetsused)
{
- loadmodel->data_overridetagnamesforskin = Mem_Alloc(loadmodel->mempool, i * sizeof(overridetagnameset_t));
+ loadmodel->data_overridetagnamesforskin = (overridetagnameset_t *)Mem_Alloc(loadmodel->mempool, i * sizeof(overridetagnameset_t));
memcpy(loadmodel->data_overridetagnamesforskin, tagsets, i * sizeof(overridetagnameset_t));
}
if (i)