X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fresources.cpp;h=a36825a4d8af269954c9a7c3c20f794838c2cf2b;hb=828b5e1ef1cb89d830735f24dd79bbd9b09d5b32;hp=cdef725a56aeafc2c422bfb55d0c83c4de93d1c4;hpb=902a1a1fe3dc37b1ce6e63f35ee93e735009e87a;p=supertux.git diff --git a/src/resources.cpp b/src/resources.cpp index cdef725a5..a36825a4d 100644 --- a/src/resources.cpp +++ b/src/resources.cpp @@ -25,6 +25,7 @@ #include "special.h" #include "resources.h" #include "sprite_manager.h" +#include "sound_manager.h" #include "setup.h" Surface* img_waves[3]; @@ -33,12 +34,13 @@ Surface* img_pole; Surface* img_poletop; Surface* img_flag[2]; Surface* img_cloud[2][4]; +Surface* img_distro[4]; MusicRef herring_song; MusicRef level_end_song; SpriteManager* sprite_manager = 0; -MusicManager* music_manager = 0; +SoundManager* sound_manager = 0; /* Load graphics/sounds shared between all levels: */ void loadshared() @@ -46,14 +48,24 @@ void loadshared() int i; sprite_manager = new SpriteManager(datadir + "/supertux.strf"); - music_manager = new MusicManager(); - music_manager->enable_music(use_music); + sound_manager = new SoundManager(); + sound_manager->enable_music(use_music); /* Tuxes: */ smalltux_star = sprite_manager->load("smalltux-star"); largetux_star = sprite_manager->load("largetux-star"); smalltux_gameover = sprite_manager->load("smalltux-gameover"); + char img_name[1024]; + for (int i = 0; i < GROWING_FRAMES; i++) + { + sprintf(img_name, "%s/images/shared/tux-grow-left-%i.png", datadir.c_str(), i+1); + growingtux_left[i] = new Surface(img_name, false); + + sprintf(img_name, "%s/images/shared/tux-grow-right-%i.png", datadir.c_str(), i+1); + growingtux_right[i] = new Surface(img_name, false); + } + smalltux.stand_left = sprite_manager->load("smalltux-stand-left"); smalltux.stand_right = sprite_manager->load("smalltux-stand-right"); smalltux.walk_left = sprite_manager->load("smalltux-walk-left"); @@ -66,6 +78,7 @@ void loadshared() smalltux.skid_right = sprite_manager->load("smalltux-skid-right"); smalltux.grab_left = sprite_manager->load("smalltux-grab-left"); smalltux.grab_right = sprite_manager->load("smalltux-grab-right"); + smalltux.stomp = sprite_manager->load("stomp"); largetux.stand_left = sprite_manager->load("largetux-stand-left"); largetux.stand_right = sprite_manager->load("largetux-stand-right"); @@ -81,6 +94,7 @@ void loadshared() largetux.grab_right = sprite_manager->load("largetux-grab-right"); largetux.duck_left = sprite_manager->load("largetux-duck-left"); largetux.duck_right = sprite_manager->load("largetux-duck-right"); + largetux.stomp = sprite_manager->load("stomp"); firetux.stand_left = sprite_manager->load("firetux-stand-left"); firetux.stand_right = sprite_manager->load("firetux-stand-right"); @@ -96,6 +110,7 @@ void loadshared() firetux.grab_right = sprite_manager->load("firetux-grab-right"); firetux.duck_left = sprite_manager->load("firetux-duck-left"); firetux.duck_right = sprite_manager->load("firetux-duck-right"); + firetux.stomp = sprite_manager->load("stomp"); icetux.stand_left = sprite_manager->load("icetux-stand-left"); icetux.stand_right = sprite_manager->load("icetux-stand-right"); @@ -111,6 +126,7 @@ void loadshared() icetux.grab_right = sprite_manager->load("icetux-grab-right"); icetux.duck_left = sprite_manager->load("icetux-duck-left"); icetux.duck_right = sprite_manager->load("icetux-duck-right"); + icetux.stomp = sprite_manager->load("stomp"); /* Water: */ @@ -175,6 +191,9 @@ void loadshared() /* Upgrades: */ load_special_gfx(); + /* Objects */ + load_object_gfx(); + /* Distros: */ img_distro[0] = new Surface(datadir + "/images/tilesets/coin1.png", USE_ALPHA); @@ -207,8 +226,8 @@ void loadshared() sounds[i] = load_sound(datadir + soundfilenames[i]); /* Herring song */ - herring_song = music_manager->load_music(datadir + "/music/SALCON.MOD"); - level_end_song = music_manager->load_music(datadir + "/music/tux-leveldone.mod"); + herring_song = sound_manager->load_music(datadir + "/music/SALCON.MOD"); + level_end_song = sound_manager->load_music(datadir + "/music/leveldone.mod"); } @@ -239,13 +258,19 @@ void unloadshared(void) delete tux_life; + for (int i = 0; i < GROWING_FRAMES; i++) + { + delete growingtux_left[i]; + delete growingtux_right[i]; + } + for (i = 0; i < NUM_SOUNDS; i++) free_chunk(sounds[i]); delete sprite_manager; sprite_manager = 0; - delete music_manager; - music_manager = 0; + delete sound_manager; + sound_manager = 0; } /* EOF */