Rudimentary approach at water splash effect for badguys
[supertux.git] / src / supertux / resources.cpp
index 17ef56b..012e313 100644 (file)
@@ -20,7 +20,6 @@
 #include "gui/mousecursor.hpp"
 #include "sprite/sprite_manager.hpp"
 #include "supertux/player_status.hpp"
-#include "supertux/tile_manager.hpp"
 #include "video/font.hpp"
 
 MouseCursor* Resources::mouse_cursor = NULL;
@@ -36,15 +35,15 @@ SurfacePtr Resources::back;
 SurfacePtr Resources::arrow_left;
 SurfacePtr Resources::arrow_right;
 
-/* Load graphics/sounds shared between all levels: */
-void
-Resources::load_shared()
+Resources::Resources()
 {
-  /* Load the mouse-cursor */
-  mouse_cursor = new MouseCursor("images/engine/menu/mousecursor.png");
+  // Load the mouse-cursor
+  mouse_cursor = new MouseCursor("images/engine/menu/mousecursor.png",
+                                 "images/engine/menu/mousecursor-click.png",
+                                 "images/engine/menu/mousecursor-link.png");
   MouseCursor::set_current(mouse_cursor);
 
-  /* Load global images: */
+  // Load global images:
   fixed_font.reset(new Font(Font::FIXED, "fonts/white.stf"));
   normal_font.reset(new Font(Font::VARIABLE, "fonts/white.stf"));
   small_font.reset(new Font(Font::VARIABLE, "fonts/white-small.stf", 1));
@@ -56,42 +55,28 @@ Resources::load_shared()
   back = Surface::create("images/engine/menu/arrow-back.png");
   arrow_left = Surface::create("images/engine/menu/arrow-left.png");
   arrow_right = Surface::create("images/engine/menu/arrow-right.png");
-
-  tile_manager   = new TileManager();
-  sprite_manager = new SpriteManager();
 }
 
-/* Free shared data: */
-void
-Resources::unload_shared()
+Resources::~Resources()
 {
-  /* Free menu images */
+  // Free menu images
   checkbox.reset();
   checkbox_checked.reset();
   back.reset();
   arrow_left.reset();
   arrow_right.reset();
 
-  /* Free global images: */
+  // Free global images:
   fixed_font.reset();
   normal_font.reset();
   small_font.reset();
   big_font.reset();
-  
-  /* Free tilesets */
-  for(TileManager::TileSets::iterator it = tile_manager->tilesets.begin(); 
-      it != tile_manager->tilesets.end(); ++it)
-  {
-    delete it->second;
-    it->second = NULL;
-  }
-
-  delete sprite_manager;
-  sprite_manager = NULL;
 
   /* Free mouse-cursor */
-  mouse_cursor->cursor.reset();
-  delete mouse_cursor;
+  if(mouse_cursor != NULL)
+  {
+    delete mouse_cursor;
+  }
 }
 
 /* EOF */