X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fresources.cpp;h=a39da2af3b34abba22a3e25c85f8b768e44b9b03;hb=546364c9567ef212ea9276201facf73f5ada696a;hp=efa7f31744b281510fb45523529c7264c4936535;hpb=e3f27496975fa25d8d032a476c11d173c0657a97;p=supertux.git diff --git a/src/resources.cpp b/src/resources.cpp index efa7f3174..a39da2af3 100644 --- a/src/resources.cpp +++ b/src/resources.cpp @@ -18,17 +18,18 @@ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "app/globals.h" +#include "special/sprite_manager.h" +#include "audio/sound_manager.h" +#include "app/setup.h" +#include "gui/button.h" #include "scene.h" #include "player.h" #include "badguy.h" #include "gameobjs.h" #include "special.h" #include "resources.h" -#include "special/sprite_manager.h" -#include "audio/sound_manager.h" -#include "app/setup.h" #include "door.h" -#include "gui/button.h" +#include "badguy_specs.h" Surface* img_waves[3]; Surface* img_water; @@ -74,7 +75,9 @@ char * soundfilenames[NUM_SOUNDS] = { "/sounds/lifeup.wav", "/sounds/stomp.wav", "/sounds/kick.wav", - "/sounds/explosion.wav" + "/sounds/explosion.wav", + "/sounds/warp.wav", + "/sounds/fireworks.wav" }; @@ -114,11 +117,11 @@ void loadshared() int i; - sprite_manager = new SpriteManager(datadir + "/supertux.strf"); + sprite_manager = new SpriteManager(datadir + "/images/supertux.strf"); /* Tuxes: */ smalltux_star = sprite_manager->load("smalltux-star"); - largetux_star = sprite_manager->load("bigtux-star"); + bigtux_star = sprite_manager->load("bigtux-star"); smalltux_gameover = sprite_manager->load("smalltux-gameover"); char img_name[1024]; @@ -131,12 +134,32 @@ void loadshared() growingtux_right[i] = new Surface(img_name, true); } - small_tux = sprite_manager->load("small-tux"); - big_tux = sprite_manager->load("big-tux"); - ice_tux = sprite_manager->load("ice-tux"); - fire_tux = sprite_manager->load("fire-tux"); - - tux_arm = sprite_manager->load("tux-arm"); + small_tux = new TuxBodyParts(); + small_tux->head = NULL; + small_tux->body = sprite_manager->load("small-tux-body"); + small_tux->arms = sprite_manager->load("small-tux-arms"); + small_tux->feet = NULL; + + big_tux = new TuxBodyParts(); + big_tux->head = sprite_manager->load("big-tux-head"); + big_tux->body = sprite_manager->load("big-tux-body"); + big_tux->arms = sprite_manager->load("big-tux-arms"); + big_tux->feet = sprite_manager->load("big-tux-feet"); + + fire_tux = new TuxBodyParts(); + fire_tux->head = sprite_manager->load("big-fire-tux-head"); + fire_tux->body = sprite_manager->load("big-tux-body"); + fire_tux->arms = sprite_manager->load("big-tux-arms"); + fire_tux->feet = sprite_manager->load("big-tux-feet"); + + ice_tux = new TuxBodyParts(); + ice_tux->head = sprite_manager->load("big-tux-head"); + ice_tux->body = sprite_manager->load("big-tux-body"); + ice_tux->arms = sprite_manager->load("big-tux-arms"); + ice_tux->feet = sprite_manager->load("big-tux-feet"); + + /* Load Bad Guys resources */ + badguyspecs_manager = new BadGuySpecsManager(datadir + "/badguys.strf"); /* Water: */ img_water = new Surface(datadir + "/images/shared/water.png", false); @@ -194,10 +217,6 @@ void loadshared() img_cloud[1][3] = new Surface(datadir + "/images/shared/cloud-13.png", true); - - /* Bad guys: */ - load_badguy_gfx(); - /* Upgrades: */ load_special_gfx(); @@ -267,7 +286,6 @@ void unloadshared(void) int i; free_special_gfx(); - free_badguy_gfx(); delete img_water; for (i = 0; i < 3; i++) @@ -288,6 +306,11 @@ void unloadshared(void) delete tux_life; + delete small_tux; + delete big_tux; + delete fire_tux; + delete ice_tux; + for (int i = 0; i < GROWING_FRAMES; i++) { delete growingtux_left[i];