]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_brush.c
sprites now use skinframe_t instead of their own texture/fogtexture fields
[xonotic/darkplaces.git] / model_brush.c
index ed7bb4ab055ac81deb13279fcfbd739e02241eba..3cbaa5b1390207fd473a9ecb2578f8197bbc3871 100644 (file)
@@ -1275,7 +1275,7 @@ static void Mod_Q1BSP_LoadTextures(lump_t *l)
                                        if (loadmodel->brush.ishlbsp)
                                        {
                                                // internal texture overrides wad
-                                               unsigned char *pixels, *freepixels, *fogpixels;
+                                               unsigned char *pixels, *freepixels;
                                                pixels = freepixels = NULL;
                                                if (mtdata)
                                                        pixels = W_ConvertWAD3Texture(dmiptex);
@@ -1285,26 +1285,13 @@ static void Mod_Q1BSP_LoadTextures(lump_t *l)
                                                {
                                                        tx->width = image_width;
                                                        tx->height = image_height;
-                                                       tx->skin.base = tx->skin.merged = R_LoadTexture2D(loadmodel->texturepool, tx->name, image_width, image_height, pixels, TEXTYPE_RGBA, TEXF_MIPMAP | TEXF_ALPHA | TEXF_PRECACHE | TEXF_PICMIP, NULL);
-                                                       if (Image_CheckAlpha(pixels, image_width * image_height, true))
-                                                       {
-                                                               fogpixels = (unsigned char *)Mem_Alloc(tempmempool, image_width * image_height * 4);
-                                                               for (j = 0;j < image_width * image_height * 4;j += 4)
-                                                               {
-                                                                       fogpixels[j + 0] = 255;
-                                                                       fogpixels[j + 1] = 255;
-                                                                       fogpixels[j + 2] = 255;
-                                                                       fogpixels[j + 3] = pixels[j + 3];
-                                                               }
-                                                               tx->skin.fog = R_LoadTexture2D(loadmodel->texturepool, tx->name, image_width, image_height, pixels, TEXTYPE_RGBA, TEXF_MIPMAP | TEXF_ALPHA | TEXF_PRECACHE | TEXF_PICMIP, NULL);
-                                                               Mem_Free(fogpixels);
-                                                       }
+                                                       Mod_LoadSkinFrame_Internal(&tx->skin, tx->name, TEXF_MIPMAP | TEXF_ALPHA | TEXF_PRECACHE | TEXF_PICMIP, false, false, pixels, image_width, image_height, 32, NULL, NULL);
                                                }
                                                if (freepixels)
                                                        Mem_Free(freepixels);
                                        }
                                        else if (mtdata) // texture included
-                                               Mod_LoadSkinFrame_Internal(&tx->skin, tx->name, TEXF_MIPMAP | TEXF_PRECACHE | TEXF_PICMIP, false, tx->name[0] != '*' && r_fullbrights.integer, mtdata, tx->width, tx->height);
+                                               Mod_LoadSkinFrame_Internal(&tx->skin, tx->name, TEXF_MIPMAP | TEXF_PRECACHE | TEXF_PICMIP, false, tx->name[0] != '*' && r_fullbrights.integer, mtdata, tx->width, tx->height, 8, NULL, NULL);
                                }
                        }
                        if (tx->skin.base == NULL)