#include "quakedef.h"
#include "image.h"
-cvar_t r_mipsprites = {CVAR_SAVE, "r_mipsprites", "1"};
+cvar_t r_mipsprites = {CVAR_SAVE, "r_mipsprites", "1", "mipmaps skins (so they become blurrier in the distance), unlike skins the sprites do not have strange border colors"};
/*
===============
loadmodel->sprite.sprdata_frames[realframes].up = origin[1];
loadmodel->sprite.sprdata_frames[realframes].down = origin[1] - height;
- x = max(loadmodel->sprite.sprdata_frames[realframes].left * loadmodel->sprite.sprdata_frames[realframes].left, loadmodel->sprite.sprdata_frames[realframes].right * loadmodel->sprite.sprdata_frames[realframes].right);
- y = max(loadmodel->sprite.sprdata_frames[realframes].up * loadmodel->sprite.sprdata_frames[realframes].up, loadmodel->sprite.sprdata_frames[realframes].down * loadmodel->sprite.sprdata_frames[realframes].down);
+ x = (int)max(loadmodel->sprite.sprdata_frames[realframes].left * loadmodel->sprite.sprdata_frames[realframes].left, loadmodel->sprite.sprdata_frames[realframes].right * loadmodel->sprite.sprdata_frames[realframes].right);
+ y = (int)max(loadmodel->sprite.sprdata_frames[realframes].up * loadmodel->sprite.sprdata_frames[realframes].up, loadmodel->sprite.sprdata_frames[realframes].down * loadmodel->sprite.sprdata_frames[realframes].down);
if (modelradius < x + y)
modelradius = x + y;
loadmodel->sprite.sprnum_type = LittleLong (pinqsprite->type);
loadmodel->synctype = (synctype_t)LittleLong (pinqsprite->synctype);
- Mod_Sprite_SharedSetup(datapointer, LittleLong (pinqsprite->version), palette_complete, palette_alpha);
+ Mod_Sprite_SharedSetup(datapointer, LittleLong (pinqsprite->version), NULL, NULL);
}
else if (version == SPRITEHL_VERSION)
{
sprframe = &loadmodel->sprite.sprdata_frames[i];
- sprframe->left = origin[0];
- sprframe->right = origin[0] + width;
+ // note that sp2 origin[0] is positive, where as it is negative in
+ // spr/spr32/hlspr
+ sprframe->left = -origin[0];
+ sprframe->right = -origin[0] + width;
sprframe->up = origin[1];
sprframe->down = origin[1] - height;
- x = max(sprframe->left * sprframe->left, sprframe->right * sprframe->right);
- y = max(sprframe->up * sprframe->up, sprframe->down * sprframe->down);
+ x = (int)max(sprframe->left * sprframe->left, sprframe->right * sprframe->right);
+ y = (int)max(sprframe->up * sprframe->up, sprframe->down * sprframe->down);
if (modelradius < x + y)
modelradius = x + y;