mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2024-11-10 15:21:44 +00:00
models: prepare command compress to share logic
This commit is contained in:
parent
28bb559e52
commit
7bce5d75fb
2 changed files with 9 additions and 7 deletions
|
@ -767,7 +767,7 @@ Mod_LoadModel_MDL(const char *mod_name, const void *buffer, int modfilelen,
|
||||||
|
|
||||||
/* glcmds generation */
|
/* glcmds generation */
|
||||||
static int
|
static int
|
||||||
md2_strip_length(int starttri, int startv, dtriangle_t *triangles, int num_tris,
|
Mod_LoadCmdStripLength(int starttri, int startv, dtriangle_t *triangles, int num_tris,
|
||||||
byte *used, int *strip_xyz, int *strip_st, int *strip_tris)
|
byte *used, int *strip_xyz, int *strip_st, int *strip_tris)
|
||||||
{
|
{
|
||||||
int m1, m2;
|
int m1, m2;
|
||||||
|
@ -854,7 +854,7 @@ done:
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
md2_fan_length(int starttri, int startv, dtriangle_t *triangles, int num_tris,
|
Mod_LoadCmdFanLength(int starttri, int startv, dtriangle_t *triangles, int num_tris,
|
||||||
byte *used, int *strip_xyz, int *strip_st, int *strip_tris)
|
byte *used, int *strip_xyz, int *strip_st, int *strip_tris)
|
||||||
{
|
{
|
||||||
int m1, m2;
|
int m1, m2;
|
||||||
|
@ -933,8 +933,8 @@ done:
|
||||||
return stripcount;
|
return stripcount;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
int
|
||||||
md2_build_glcmds(const dstvert_t *texcoords, dtriangle_t *triangles, int num_tris,
|
Mod_LoadCmdCompress(const dstvert_t *texcoords, dtriangle_t *triangles, int num_tris,
|
||||||
int *commands, int skinwidth, int skinheight)
|
int *commands, int skinwidth, int skinheight)
|
||||||
{
|
{
|
||||||
int i, j, numcommands = 0, startv, len, bestlen, type, besttype = -1;
|
int i, j, numcommands = 0, startv, len, bestlen, type, besttype = -1;
|
||||||
|
@ -965,12 +965,12 @@ md2_build_glcmds(const dstvert_t *texcoords, dtriangle_t *triangles, int num_tri
|
||||||
{
|
{
|
||||||
if (type == 1)
|
if (type == 1)
|
||||||
{
|
{
|
||||||
len = md2_strip_length(i, startv, triangles, num_tris,
|
len = Mod_LoadCmdStripLength(i, startv, triangles, num_tris,
|
||||||
used, strip_xyz, strip_st, strip_tris);
|
used, strip_xyz, strip_st, strip_tris);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
len = md2_fan_length(i, startv, triangles, num_tris,
|
len = Mod_LoadCmdFanLength(i, startv, triangles, num_tris,
|
||||||
used, strip_xyz, strip_st, strip_tris);
|
used, strip_xyz, strip_st, strip_tris);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1206,7 +1206,7 @@ Mod_LoadModel_MD3(const char *mod_name, const void *buffer, int modfilelen,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* write glcmds */
|
/* write glcmds */
|
||||||
mesh_nodes[i].num = md2_build_glcmds(
|
mesh_nodes[i].num = Mod_LoadCmdCompress(
|
||||||
(dstvert_t*)((byte *)pheader + pheader->ofs_st),
|
(dstvert_t*)((byte *)pheader + pheader->ofs_st),
|
||||||
(dtriangle_t*)((byte *)pheader + pheader->ofs_tris) + num_tris,
|
(dtriangle_t*)((byte *)pheader + pheader->ofs_tris) + num_tris,
|
||||||
LittleLong(md3_mesh->num_tris),
|
LittleLong(md3_mesh->num_tris),
|
||||||
|
|
|
@ -40,5 +40,7 @@ extern void PrepareFrameVertex(dmdx_vert_t *vertexArray, int num_verts,
|
||||||
daliasxframe_t *frame_out);
|
daliasxframe_t *frame_out);
|
||||||
extern void *Mod_LoadModel_MD5(const char *mod_name, const void *buffer,
|
extern void *Mod_LoadModel_MD5(const char *mod_name, const void *buffer,
|
||||||
int modfilelen, struct image_s ***skins, int *numskins, modtype_t *type);
|
int modfilelen, struct image_s ***skins, int *numskins, modtype_t *type);
|
||||||
|
extern int Mod_LoadCmdCompress(const dstvert_t *texcoords, dtriangle_t *triangles, int num_tris,
|
||||||
|
int *commands, int skinwidth, int skinheight);
|
||||||
|
|
||||||
#endif /* SRC_CLIENT_REFRESH_FILES_MODELS_H_ */
|
#endif /* SRC_CLIENT_REFRESH_FILES_MODELS_H_ */
|
||||||
|
|
Loading…
Reference in a new issue