]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_sprite.c
bound fractions after trace code
[xonotic/darkplaces.git] / model_sprite.c
index 103c0f57404de69f0e43849be5ac1429e904b544..f6ef9f210e42418d6e9eb12bf94b5954decea30a 100644 (file)
@@ -37,21 +37,6 @@ void Mod_SpriteInit (void)
        Cvar_RegisterVariable(&r_mipsprites);
 }
 
-static void Mod_Sprite_StripExtension(char *in, char *out)
-{
-       char *end;
-       end = in + strlen(in);
-       if ((end - in) >= 6)
-               if (strcmp(end - 6, ".spr32") == 0)
-                       end -= 6;
-       if ((end - in) >= 4)
-               if (strcmp(end - 4, ".spr") == 0)
-                       end -= 4;
-       while (in < end)
-               *out++ = *in++;
-       *out++ = 0;
-}
-
 static int alphaonlytable[4] = {255 | 0x80000000, 255 | 0x80000000, 255 | 0x80000000, 3};
 static void Mod_Sprite_SharedSetup(qbyte *datapointer, int version, int *palette, int *alphapalette)
 {
@@ -70,14 +55,14 @@ static void Mod_Sprite_SharedSetup(qbyte *datapointer, int version, int *palette
                Host_Error ("Mod_Sprite_SharedSetup: Invalid # of frames: %d\n", loadmodel->numframes);
 
        loadmodel->type = mod_sprite;
-       loadmodel->flags = EF_FULLBRIGHT;
+       loadmodel->flags2 = EF_FULLBRIGHT;
 
        // LordHavoc: hack to allow sprites to be non-fullbright
        for (i = 0;i < MAX_QPATH && loadmodel->name[i];i++)
        {
                if (loadmodel->name[i] == '!')
                {
-                       loadmodel->flags &= ~EF_FULLBRIGHT;
+                       loadmodel->flags2 &= ~EF_FULLBRIGHT;
                        break;
                }
        }
@@ -181,7 +166,7 @@ static void Mod_Sprite_SharedSetup(qbyte *datapointer, int version, int *palette
                                        sprintf (name, "%s_%i_%i", loadmodel->name, i, j);
                                else
                                        sprintf (name, "%s_%i", loadmodel->name, i);
-                               loadmodel->sprite.sprdata_frames[realframes].texture = loadtextureimagewithmask(loadmodel->texturepool, name, 0, 0, false, (r_mipsprites.integer ? TEXF_MIPMAP : 0) | TEXF_ALPHA | TEXF_CLAMP | TEXF_PRECACHE);
+                               loadmodel->sprite.sprdata_frames[realframes].texture = loadtextureimagewithmask(loadmodel->texturepool, name, 0, 0, false, (r_mipsprites.integer ? TEXF_MIPMAP : 0) | TEXF_ALPHA | TEXF_CLAMP | TEXF_PRECACHE | TEXF_PICMIP);
                                loadmodel->sprite.sprdata_frames[realframes].fogtexture = image_masktex;
 
                                if (!loadmodel->sprite.sprdata_frames[realframes].texture)
@@ -192,17 +177,17 @@ static void Mod_Sprite_SharedSetup(qbyte *datapointer, int version, int *palette
                                                sprintf (fogname, "%s_%ifog", loadmodel->name, i);
                                        if (version == SPRITE32_VERSION)
                                        {
-                                               loadmodel->sprite.sprdata_frames[realframes].texture = R_LoadTexture2D(loadmodel->texturepool, name, width, height, datapointer, TEXTYPE_RGBA, TEXF_ALPHA | (r_mipsprites.integer ? TEXF_MIPMAP : 0) | TEXF_CLAMP | TEXF_PRECACHE, NULL);
+                                               loadmodel->sprite.sprdata_frames[realframes].texture = R_LoadTexture2D(loadmodel->texturepool, name, width, height, datapointer, TEXTYPE_RGBA, TEXF_ALPHA | (r_mipsprites.integer ? TEXF_MIPMAP : 0) | TEXF_CLAMP | TEXF_PRECACHE | TEXF_PICMIP, NULL);
                                                // make fog version (just alpha)
                                                pixbuf = Mem_Alloc(tempmempool, width*height*4);
                                                Image_CopyMux(pixbuf, datapointer, width, height, false, false, false, 4, 4, alphaonlytable);
-                                               loadmodel->sprite.sprdata_frames[realframes].fogtexture = R_LoadTexture2D(loadmodel->texturepool, fogname, width, height, pixbuf, TEXTYPE_RGBA, TEXF_ALPHA | (r_mipsprites.integer ? TEXF_MIPMAP : 0) | TEXF_CLAMP | TEXF_PRECACHE, NULL);
+                                               loadmodel->sprite.sprdata_frames[realframes].fogtexture = R_LoadTexture2D(loadmodel->texturepool, fogname, width, height, pixbuf, TEXTYPE_RGBA, TEXF_ALPHA | (r_mipsprites.integer ? TEXF_MIPMAP : 0) | TEXF_CLAMP | TEXF_PRECACHE | TEXF_PICMIP, NULL);
                                                Mem_Free(pixbuf);
                                        }
                                        else //if (version == SPRITE_VERSION || version == SPRITEHL_VERSION)
                                        {
-                                               loadmodel->sprite.sprdata_frames[realframes].texture = R_LoadTexture2D(loadmodel->texturepool, name, width, height, datapointer, TEXTYPE_PALETTE, TEXF_ALPHA | (r_mipsprites.integer ? TEXF_MIPMAP : 0) | TEXF_CLAMP | TEXF_PRECACHE, palette);
-                                               loadmodel->sprite.sprdata_frames[realframes].fogtexture = R_LoadTexture2D(loadmodel->texturepool, fogname, width, height, datapointer, TEXTYPE_PALETTE, TEXF_ALPHA | (r_mipsprites.integer ? TEXF_MIPMAP : 0) | TEXF_CLAMP | TEXF_PRECACHE, alphapalette);
+                                               loadmodel->sprite.sprdata_frames[realframes].texture = R_LoadTexture2D(loadmodel->texturepool, name, width, height, datapointer, TEXTYPE_PALETTE, TEXF_ALPHA | (r_mipsprites.integer ? TEXF_MIPMAP : 0) | TEXF_CLAMP | TEXF_PRECACHE | TEXF_PICMIP, palette);
+                                               loadmodel->sprite.sprdata_frames[realframes].fogtexture = R_LoadTexture2D(loadmodel->texturepool, fogname, width, height, datapointer, TEXTYPE_PALETTE, TEXF_ALPHA | (r_mipsprites.integer ? TEXF_MIPMAP : 0) | TEXF_CLAMP | TEXF_PRECACHE | TEXF_PICMIP, alphapalette);
                                        }
                                }
                        }
@@ -290,7 +275,7 @@ void Mod_IDSP_Load(model_t *mod, void *buffer)
                                palette[i][2] = *in++;
                                palette[i][3] = 255;
                        }
-                       loadmodel->flags |= EF_ADDITIVE;
+                       loadmodel->flags2 |= EF_ADDITIVE;
                        break;
                case SPRHL_INDEXALPHA:
                        for (i = 0;i < 256;i++)