SurfacePtr Resources::arrow_left;
SurfacePtr Resources::arrow_right;
-TileSet* Resources::general_tiles;
-TileSet* Resources::worldmap_tiles;
-TileSet* Resources::iceworld_tiles;
-
/* Load graphics/sounds shared between all levels: */
void
Resources::load_shared()
{
/* Load the mouse-cursor */
- mouse_cursor = new MouseCursor("images/engine/menu/mousecursor.png");
+ 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: */
tile_manager = new TileManager();
sprite_manager = new SpriteManager();
-
- /* Create a reference to tilesets */
- general_tiles = tile_manager->get_tileset("images/tiles.strf");
- worldmap_tiles = tile_manager->get_tileset("images/worldmap.strf");
- iceworld_tiles = tile_manager->get_tileset("images/ice_world.strf");
}
/* Free shared data: */
Resources::unload_shared()
{
/* Free menu images */
- checkbox.reset();
- checkbox_checked.reset();
- back.reset();
- arrow_left.reset();
- arrow_right.reset();
+ if(checkbox != NULL)
+ checkbox.reset();
+ if(checkbox_checked != NULL)
+ checkbox_checked.reset();
+ if(back != NULL)
+ back.reset();
+ if(arrow_left != NULL)
+ arrow_left.reset();
+ if(arrow_right != NULL)
+ arrow_right.reset();
/* Free global images: */
- fixed_font.reset();
- normal_font.reset();
- small_font.reset();
- big_font.reset();
-
+ if(fixed_font != NULL)
+ fixed_font.reset();
+ if(normal_font != NULL)
+ normal_font.reset();
+ if(small_font != NULL)
+ small_font.reset();
+ if(big_font != NULL)
+ big_font.reset();
+
/* Free tilesets */
- delete worldmap_tiles;
- worldmap_tiles = NULL;
- delete general_tiles;
- general_tiles = NULL;
- delete iceworld_tiles;
- iceworld_tiles = NULL;
+ delete tile_manager;
+ tile_manager = 0;
- delete sprite_manager;
- sprite_manager = NULL;
+ if(sprite_manager != 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 */