]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Graphic/Sprite.cpp
Cleaned up TextureRes lifecycle to make sure it’s destroyed by RAII
[lugaru.git] / Source / Graphic / Sprite.cpp
index 4276ce5e8cbb18a8fa037162728c8abddf3f7262..0fb5a40fcf33ea721d6bfced47d59a01f630f046 100644 (file)
@@ -18,9 +18,10 @@ You should have received a copy of the GNU General Public License
 along with Lugaru.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-#include "Game.h"
-#include "Graphic/Sprite.h"
-#include "Objects/Person.h"
+#include "Graphic/Sprite.hpp"
+
+#include "Game.hpp"
+#include "Objects/Person.hpp"
 
 extern XYZ viewer;
 extern float viewdistance;
@@ -31,7 +32,6 @@ extern Light light;
 extern float multiplier;
 extern float gravity;
 extern Terrain terrain;
-extern Objects objects;
 extern int detail;
 extern XYZ viewerfacing;
 extern int bloodtoggle;
@@ -357,9 +357,9 @@ void Sprite::Draw()
                                 start = sprites[i]->oldposition;
                                 end = sprites[i]->position;
                                 if (!spritehit)
-                                    if (objects.model[k].LineCheck(&start, &end, &colpoint, &objects.position[k], &objects.yaw[k]) != -1) {
+                                    if (Object::objects[k]->model.LineCheck(&start, &end, &colpoint, &Object::objects[k]->position, &Object::objects[k]->yaw) != -1) {
                                         if (detail == 2 || (detail == 1 && abs(Random() % 4) == 0) || (detail == 0 && abs(Random() % 8) == 0))
-                                            objects.model[k].MakeDecal(blooddecalfast, DoRotation(colpoint - objects.position[k], 0, -objects.yaw[k], 0), sprites[i]->size * 1.6, .5, Random() % 360);
+                                            Object::objects[k]->model.MakeDecal(blooddecalfast, DoRotation(colpoint - Object::objects[k]->position, 0, -Object::objects[k]->yaw, 0), sprites[i]->size * 1.6, .5, Random() % 360);
                                         DeleteSprite(i);
                                         spritehit = 1;
                                     }
@@ -462,19 +462,3 @@ Sprite::Sprite()
     speed = 0;
     rotatespeed = 0;
 }
-
-void Sprite::clearTextures()
-{
-    toothtexture.destroy();
-    cloudtexture.destroy();
-    cloudimpacttexture.destroy();
-    bloodtexture.destroy();
-    flametexture.destroy();
-    bloodflametexture.destroy();
-    smoketexture.destroy();
-    snowflaketexture.destroy();
-    shinetexture.destroy();
-    splintertexture.destroy();
-    leaftexture.destroy();
-}
-