-Started to move stuff from library back to main game
[supertux.git] / src / resources.h
index 306e2df..35f264f 100644 (file)
 //  You should have received a copy of the GNU General Public License
 //  along with this program; if not, write to the Free Software
 //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-
 #ifndef SUPERTUX_RESOURCES_H
 #define SUPERTUX_RESOURCES_H
 
 #include "audio/musicref.h"
-#include "gui/menu.h"
 
 using namespace SuperTux;
 
-namespace SuperTux {
 class SpriteManager;
+class Menu;
+class Font;
+class Surface;
 class SoundManager;
-}
-
-/* Sound files: */
-enum {
-  SND_JUMP,
-  SND_BIGJUMP,
-  SND_SKID,
-  SND_DISTRO,
-  SND_HERRING,
-  SND_BRICK,
-  SND_HURT,
-  SND_SQUISH,
-  SND_FALL,
-  SND_RICOCHET,
-  SND_BUMP_UPGRADE,
-  SND_UPGRADE,
-  SND_EXCELLENT,
-  SND_COFFEE,
-  SND_SHOOT,
-  SND_LIFEUP,
-  SND_STOMP,
-  SND_KICK,
-  SND_EXPLODE,
-  NUM_SOUNDS
-};
-
-extern char* soundfilenames[NUM_SOUNDS];
-
-extern Surface* img_waves[3]; 
-extern Surface* img_water;
-extern Surface* img_pole;
-extern Surface* img_poletop;
-extern Surface* img_flag[2];
-extern Surface* img_cloud[2][4];
+class TileManager;
 
 extern Surface* img_super_bkgd;
+extern Surface* tux_life;
 
 extern MusicRef herring_song;
 extern MusicRef level_end_song;
 
 extern SpriteManager* sprite_manager;
+extern TileManager* tile_manager;
 extern SoundManager* sound_manager;
 
 extern Menu* contrib_menu;
@@ -76,11 +45,7 @@ extern Menu* contrib_subset_menu;
 extern Menu* main_menu;
 extern Menu* game_menu;
 extern Menu* options_menu;
-extern Menu* options_keys_menu;
-extern Menu* options_joystick_menu;
-extern Menu* highscore_menu;
 extern Menu* load_game_menu;
-extern Menu* save_game_menu;
 
 extern Font* gold_text;
 extern Font* white_text;
@@ -90,10 +55,14 @@ extern Font* white_small_text;
 extern Font* white_big_text;
 extern Font* yellow_nums;
 
-void loadshared();
-void unloadshared();
+/** maps a virtual resource path to a real path (ie. levels/bla is mapped to
+ * $DATADIR/levels/bla or $HOME/.supertux/levels/bla)
+ * All paths inside the game should be handled in as virtual paths and then
+ * expanded with this function just before the call to fopen or std::ifstream.
+ */
+std::string get_resource_filename(const std::string& resource);
 
-#endif
-
-/* EOF */
+void load_shared();
+void unload_shared();
 
+#endif