79 texture->currentskinframe = skinframe;
100 float modelradius, interval;
102 const void *startframes;
119 startframes = datapointer;
138 for (j = 0;j < groupframes;j++)
146 realframes += groupframes;
155 datapointer = (
unsigned char *)startframes;
178 if (interval < 0.01f)
179 Host_Error(
"Mod_Sprite_SharedSetup: invalid interval");
188 for (j = 0;j < groupframes;j++)
205 if (modelradius <
x +
y)
244 if (skinframe ==
NULL)
257 modelradius =
sqrt(modelradius);
258 for (
i = 0;
i < 3;
i++)
270 const unsigned char *datapointer;
272 datapointer = (
unsigned char *)
buffer;
299 unsigned char palette[256][4];
300 const unsigned char *in;
313 i = in[0] + in[1] * 256;
315 Host_Error (
"Mod_IDSP_Load: unexpected number of palette colors %i (should be 256)",
i);
321 for (
i = 0;
i < 256;
i++)
323 palette[
i][2] = in[
i*3+0];
324 palette[
i][1] = in[
i*3+1];
325 palette[
i][0] = in[
i*3+2];
330 for (
i = 0;
i < 256;
i++)
332 palette[
i][2] = in[
i*3+0];
333 palette[
i][1] = in[
i*3+1];
334 palette[
i][0] = in[
i*3+2];
340 for (
i = 0;
i < 256;
i++)
342 palette[
i][2] = in[765];
343 palette[
i][1] = in[766];
344 palette[
i][0] = in[767];
350 for (
i = 0;
i < 256;
i++)
352 palette[
i][2] = in[
i*3+0];
353 palette[
i][1] = in[
i*3+1];
354 palette[
i][0] = in[
i*3+2];
357 palette[255][0] = palette[255][1] = palette[255][2] = palette[255][3] = 0;
361 Host_Error(
"Mod_IDSP_Load: unknown texFormat (%i, should be 0, 1, 2, or 3)",
i);
368 Host_Error(
"Mod_IDSP_Load: %s has wrong version number (%i). Only %i (quake), %i (HalfLife), and %i (sprite32) supported",
432 pinframe = &pinqsprite->
frames[
i];
450 if (modelradius <
x +
y)
459 pinframe = &pinqsprite->
frames[
i];
469 modelradius =
sqrt(modelradius);
470 for (
i = 0;
i < 3;
i++)
#define SUPERCONTENTS_OPAQUE
#define SUPERCONTENTS_SOLID
#define CF_CLIENT
cvar/command that only the client can change/execute
#define CF_ARCHIVE
cvar should have its set value saved to config.cfg and persist across sessions
int dpsnprintf(char *buffer, size_t buffersize, const char *format,...)
Returns the number of printed characters, excluding the final '\0' or returns -1 if the buffer isn't ...
void Con_Printf(const char *fmt,...)
Prints to all appropriate console targets.
float mod(float dividend, float divisor)
void Cvar_RegisterVariable(cvar_t *variable)
registers a cvar that already has the name, string, and optionally the archive elements set.
static int(ZEXPORT *qz_inflate)(z_stream *strm
static int const char * version
skinframe_t * R_SkinFrame_LoadExternal(const char *name, int textureflags, qbool complain, qbool fallbacknotexture)
skinframe_t * R_SkinFrame_LoadInternalBGRA(const char *name, int textureflags, const unsigned char *skindata, int width, int height, int comparewidth, int compareheight, int comparecrc, qbool sRGB)
skinframe_t * R_SkinFrame_LoadMissing(void)
cvar_t gl_texturecompression
GLenum GLenum GLuint texture
GLenum GLsizei GLsizei height
GLint GLenum GLint GLint y
GLint GLenum GLenum GLvoid * pixels
void Host_Error(const char *error,...)
void Image_Copy8bitBGRA(const unsigned char *in, unsigned char *out, int pixels, const unsigned int *pal)
#define MATERIALFLAG_FULLBRIGHT
#define MATERIALFLAG_ALPHA
#define MATERIALFLAG_BLENDED
#define MATERIALFLAG_WALL
#define MATERIALFLAG_NOSHADOW
texture_shaderpass_t * Mod_CreateShaderPass(mempool_t *mempool, skinframe_t *skinframe)
cvar_t r_overheadsprites_pushback
cvar_t gl_texturecompression_sprites
void Mod_IDSP_Load(model_t *mod, void *buffer, void *bufferend)
void Mod_SpriteInit(void)
cvar_t r_labelsprites_scale
cvar_t r_track_sprites_flags
static void Mod_Sprite_SharedSetup(const unsigned char *datapointer, int version, const unsigned int *palette, qbool additive)
cvar_t r_track_sprites_scaleh
cvar_t r_track_sprites_scalew
cvar_t r_labelsprites_roundtopixels
static void Mod_SpriteSetupTexture(texture_t *texture, skinframe_t *skinframe, qbool fullbright, qbool additive)
cvar_t r_overheadsprites_scalex
void Mod_IDS2_Load(model_t *mod, void *buffer, void *bufferend)
cvar_t r_overheadsprites_perspective
cvar_t r_overheadsprites_scaley
unsigned int palette_bgra_transparent[256]
#define MAX_QPATH
max length of a quake game pathname
@ TRANSPARENTSORT_DISTANCE
void R_Model_Sprite_Draw(entity_render_t *ent)
dsprite2frame_t frames[1]
mspriteframe_t * sprdata_frames
void(* DrawDepth)(struct entity_render_s *ent)
void(* Draw)(struct entity_render_s *ent)
struct mempool_s * mempool
const char * modeldatatypestring
texture_t * data_textures
void(* DrawLight)(struct entity_render_s *ent, int numsurfaces, const int *surfacelist, const unsigned char *trispvs)
#define Mem_Alloc(pool, size)