]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commitdiff
added shader keywords dpshadow and dpnoshadow (no parameters), these
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Fri, 22 Aug 2008 21:48:45 +0000 (21:48 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Fri, 22 Aug 2008 21:48:45 +0000 (21:48 +0000)
modify the shadowing properties of a mesh, regardless of its other
properties

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@8465 d7cf8633-e32d-0410-b094-e92efae38249

model_shared.c

index 2df33c9c14ad44bb69f35977300521807eeaa273..7de6009601f20c4a33a8645710077781f141b976 100644 (file)
@@ -1582,6 +1582,10 @@ void Mod_LoadQ3Shaders(void)
                                        else
                                                Con_DPrintf("%s parsing warning: unknown surfaceparm \"%s\"\n", search->filenames[fileindex], parameter[1]);
                                }
+                               else if (!strcasecmp(parameter[0], "dpshadow"))
+                                       shader.dpshadow = true;
+                               else if (!strcasecmp(parameter[0], "dpnoshadow"))
+                                       shader.dpnoshadow = true;
                                else if (!strcasecmp(parameter[0], "sky") && numparameters >= 2)
                                {
                                        // some q3 skies don't have the sky parm set
@@ -1832,6 +1836,10 @@ nothing                GL_ZERO GL_ONE
                                }
                        }
                }
+               if (shader->dpshadow)
+                       texture->basematerialflags &= ~MATERIALFLAG_NOSHADOW;
+               if (shader->dpnoshadow)
+                       texture->basematerialflags |= MATERIALFLAG_NOSHADOW;
                memcpy(texture->deforms, shader->deforms, sizeof(texture->deforms));
                texture->reflectmin = shader->reflectmin;
                texture->reflectmax = shader->reflectmax;