]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_brush.c
keys: do not send the text event of the toggleconsole bind to the console.
[xonotic/darkplaces.git] / model_brush.c
index 36053f513b656ef6e2edcd0f2ef2d62310c17751..2761d7d670d38b7d2f6e7e559789b5e80f9ea65b 100644 (file)
@@ -1880,6 +1880,10 @@ static void Mod_Q1BSP_LoadTextures(sizebuf_t *sb)
                        if (tx->skinframes[0] && tx->skinframes[0]->hasalpha)
                                tx->basematerialflags |= MATERIALFLAG_ALPHA | MATERIALFLAG_BLENDED | MATERIALFLAG_NOSHADOW;
                }
+               else if (tx->name[0] == '{') // fence textures
+               {
+                       tx->basematerialflags |= MATERIALFLAG_ALPHATEST | MATERIALFLAG_NOSHADOW;
+               }
                else if (!strncmp(tx->name, "mirror", 6)) // Tenebrae
                {
                        // replace the texture with black
@@ -1961,6 +1965,12 @@ static void Mod_Q1BSP_LoadTextures(sizebuf_t *sb)
                if (incomplete)
                        continue;
 
+               // If we have exactly one frame, something's wrong.
+               if (max + altmax <= 1)
+               {
+                       Con_Printf("Texture %s is animated (leading +) but has only one frame\n", tx->name);
+               }
+
                if (altmax < 1)
                {
                        // if there is no alternate animation, duplicate the primary
@@ -1970,6 +1980,18 @@ static void Mod_Q1BSP_LoadTextures(sizebuf_t *sb)
                                altanims[k] = anims[k];
                }
 
+               if (max < 1)
+               {
+                       // Warn.
+                       Con_Printf("Missing frame 0 of %s\n", tx->name);
+
+                       // however, we can handle this by duplicating the alternate animation into the primary
+                       max = altmax;
+                       for (k = 0;k < 10;k++)
+                               anims[k] = altanims[k];
+               }
+
+
                // link together the primary animation
                for (j = 0;j < max;j++)
                {