#include "special.h"
#include "resources.h"
#include "sprite_manager.h"
+#include "sound_manager.h"
#include "setup.h"
Surface* img_waves[3];
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()
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");
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");
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");
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);
/* 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",
sounds[i] = load_sound(datadir + soundfilenames[i]);
/* Herring song */
- herring_song = music_manager->load_music(datadir + "/music/SALCON.MOD");
+ herring_song = sound_manager->load_music(datadir + "/music/SALCON.MOD");
+ level_end_song = sound_manager->load_music(datadir + "/music/leveldone.mod");
}
for (i = 0; i < 2; i++)
delete img_flag[i];
- delete img_red_glow;
for (i = 0; i < 4; i++)
{
delete img_distro[i];
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 */