// Decal object // Copyright (C) 2002 David Rosen // Copyright (C) 2003 Steven Fuller // Copyright (C) 2003 Zachary Jack Slater // Copyright (C) 2021 Nguyễn Gia Phong // // This file is part of Black Shades. // // Black Shades is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published // by the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Black Shades is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Black Shades. If not, see . #ifndef BLACKSHADES_DECALS_H #define BLACKSHADES_DECALS_H #include "Files.h" #include "Quaternions.h" #include "Camera.h" #include "Models.h" #include "Fog.h" #define maxdecals 120 class Decals{ public: GLuint bulletholetextureptr; GLuint cratertextureptr; GLuint bloodtextureptr[11]; int howmanydecals; int type[maxdecals]; XYZ points[8*maxdecals]; int numpoints[maxdecals]; float texcoordsx[8*maxdecals]; float texcoordsy[8*maxdecals]; float alivetime[maxdecals]; void draw(); int DeleteDecal(int which); int MakeDecal(int atype, XYZ location, float size, XYZ normal, int poly, Model *model, XYZ move, float rotation); void DoStuff(); void LoadBulletHoleTexture(char *fileName); void LoadCraterTexture(char *fileName); void LoadBloodTexture(char *fileName, int which); ~Decals(); }; #endif // BLACKSHADES_DECALS_H