X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fresources.cpp;h=a36825a4d8af269954c9a7c3c20f794838c2cf2b;hb=828b5e1ef1cb89d830735f24dd79bbd9b09d5b32;hp=0651a9d5015bc251d5403483243b1f32571287f6;hpb=246341c4243afa18017a84ef221f3926e19c40be;p=supertux.git diff --git a/src/resources.cpp b/src/resources.cpp index 0651a9d50..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,14 +34,13 @@ Surface* img_pole; Surface* img_poletop; Surface* img_flag[2]; Surface* img_cloud[2][4]; - -Surface* img_red_glow; +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() @@ -48,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"); @@ -68,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"); @@ -83,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"); @@ -98,6 +110,24 @@ 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"); + icetux.walk_left = sprite_manager->load("icetux-walk-left"); + icetux.walk_right = sprite_manager->load("icetux-walk-right"); + icetux.jump_left = sprite_manager->load("icetux-jump-left"); + icetux.jump_right = sprite_manager->load("icetux-jump-right"); + icetux.kick_left = sprite_manager->load("icetux-kick-left"); + icetux.kick_right = sprite_manager->load("icetux-kick-right"); + icetux.skid_right = sprite_manager->load("icetux-skid-right"); + icetux.skid_left = sprite_manager->load("icetux-skid-left"); + icetux.grab_left = sprite_manager->load("icetux-grab-left"); + 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: */ img_water = new Surface(datadir + "/images/shared/water.png", IGNORE_ALPHA); @@ -161,9 +191,8 @@ void loadshared() /* Upgrades: */ load_special_gfx(); - /* Weapons: */ - img_red_glow = new Surface(datadir + "/images/shared/red-glow.png", - USE_ALPHA); + /* Objects */ + load_object_gfx(); /* Distros: */ img_distro[0] = new Surface(datadir + "/images/tilesets/coin1.png", @@ -197,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"); } @@ -220,7 +249,6 @@ void unloadshared(void) for (i = 0; i < 2; i++) delete img_flag[i]; - delete img_red_glow; for (i = 0; i < 4; i++) { delete img_distro[i]; @@ -230,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 */