Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
New sounds: cracking, icecrash, pop, and sizzle.
Also changed code to make use of them:
stalactite- cracking when disturbed, icecrash when hits, sizzle when hit with fire.
explosion(short_fuse)- firecracker instead of explosion.
snowman- pop when head comes off.
flame, iceflame, livefire, weak_block- sizzle when hit by bullet.
  • Loading branch information
LMH0013 committed Sep 17, 2013
1 parent 42e5d5c commit 2da0aee
Show file tree
Hide file tree
Showing 14 changed files with 38 additions and 31 deletions.
Binary file added data/sounds/cracking.wav
Binary file not shown.
Binary file added data/sounds/firecracker.ogg
Binary file not shown.
Binary file added data/sounds/icecrash.ogg
Binary file not shown.
Binary file added data/sounds/pop.ogg
Binary file not shown.
Binary file added data/sounds/sizzle.ogg
Binary file not shown.
3 changes: 1 addition & 2 deletions src/badguy/flame.cpp
Expand Up @@ -108,8 +108,7 @@ Flame::kill_fall()
void
Flame::freeze()
{
//TODO: get unique death sound
sound_manager->play("sounds/fizz.wav", get_pos());
sound_manager->play("sounds/sizzle.ogg", get_pos());
sprite->set_action("fade", 1);
Sector::current()->add_object(new SpriteParticle("images/objects/particles/smoke.sprite", "default", bbox.get_middle(), ANCHOR_MIDDLE, Vector(0, -150), Vector(0,0), LAYER_BACKGROUNDTILES+2));
set_group(COLGROUP_DISABLED);
Expand Down
5 changes: 2 additions & 3 deletions src/badguy/iceflame.cpp
Expand Up @@ -40,8 +40,7 @@ Iceflame::Iceflame(const Reader& reader) :
bbox.set_pos(Vector(start_position.x + cos(angle) * radius,
start_position.y + sin(angle) * radius));
countMe = false;
//TODO: get unique death sound
sound_manager->preload("sounds/fizz.wav");
sound_manager->preload("sounds/sizzle.ogg");

set_colgroup_active(COLGROUP_TOUCHABLE);

Expand Down Expand Up @@ -87,7 +86,7 @@ Iceflame::kill_fall()
void
Iceflame::ignite()
{
sound_manager->play("sounds/fizz.wav", get_pos());
sound_manager->play("sounds/sizzle.ogg", get_pos());
sprite->set_action("fade", 1);
Sector::current()->add_object(new SpriteParticle("images/objects/particles/smoke.sprite", "default", bbox.get_middle(), ANCHOR_MIDDLE, Vector(0, -150), Vector(0,0), LAYER_BACKGROUNDTILES+2));
set_group(COLGROUP_DISABLED);
Expand Down
14 changes: 6 additions & 8 deletions src/badguy/livefire.cpp
Expand Up @@ -35,6 +35,7 @@ LiveFire::LiveFire(const Reader& reader) :
max_drop_height = MAXDROPHEIGHT;
lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE));
lightsprite->set_color(Color(1.0f, 0.9f, 0.8f));
death_sound = "sounds/fall.wav";
}

void
Expand Down Expand Up @@ -86,19 +87,16 @@ LiveFire::active_update(float elapsed_time) {
state = STATE_WAKING;
}
}

BadGuy::active_update(elapsed_time);
}

if(state == STATE_WAKING) {
else if(state == STATE_WAKING) {
if(sprite->animation_done()) {
// start walking
state = STATE_WALKING;
WalkingBadguy::initialize();
}

BadGuy::active_update(elapsed_time);
}

BadGuy::active_update(elapsed_time);
}

void
Expand All @@ -117,6 +115,7 @@ void
LiveFire::freeze()
{
// attempting to freeze a flame causes it to go out
death_sound = "sounds/sizzle.ogg";
kill_fall();
}

Expand All @@ -135,8 +134,7 @@ LiveFire::is_flammable() const
void
LiveFire::kill_fall()
{
//TODO: get unique sound for ice-fire encounters
sound_manager->play("sounds/fall.wav", get_pos());
sound_manager->play(death_sound, get_pos());
// throw a puff of smoke
Vector ppos = bbox.get_middle();
Vector pspeed = Vector(0, -150);
Expand Down
1 change: 1 addition & 0 deletions src/badguy/livefire.hpp
Expand Up @@ -37,6 +37,7 @@ class LiveFire : public WalkingBadguy

private:
SpritePtr lightsprite;
std::string death_sound;

protected:
enum SState {
Expand Down
4 changes: 0 additions & 4 deletions src/badguy/short_fuse.cpp
Expand Up @@ -15,7 +15,6 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.

#include "audio/sound_manager.hpp"
#include "badguy/bomb.hpp"
#include "badguy/short_fuse.hpp"
#include "object/bullet.hpp"
Expand All @@ -36,9 +35,6 @@ ShortFuse::ShortFuse(const Reader& reader) :
walk_speed = 100;
max_drop_height = -1;

//Prevent stutter when Tux jumps on Mr Bomb
sound_manager->preload("sounds/explosion.wav");

//Check if we need another sprite
if( !reader.get( "sprite", sprite_name ) ){
return;
Expand Down
13 changes: 3 additions & 10 deletions src/badguy/snowman.cpp
Expand Up @@ -26,12 +26,7 @@ Snowman::Snowman(const Reader& reader) :
WalkingBadguy(reader, "images/creatures/snowman/snowman.sprite", "walk-left", "walk-right")
{
walk_speed = 40;
}

Snowman::Snowman(const Vector& pos, Direction d) :
WalkingBadguy(pos, d, "images/creatures/snowman/snowman.sprite", "walk-left", "walk-right")
{
walk_speed = 40;
sound_manager->preload("sounds/pop.ogg");
}

void
Expand Down Expand Up @@ -63,8 +58,7 @@ Snowman::collision_bullet(Bullet& bullet, const CollisionHit& hit)
// fire bullets destroy snowman's body
loose_head();

// FIXME: the sound used here should differ since there is still a threat
sound_manager->play("sounds/fall.wav", get_pos());
sound_manager->play("sounds/pop.ogg", get_pos()); // this could be a different sound
bullet.remove_me();

return ABORT_MOVE;
Expand All @@ -84,8 +78,7 @@ Snowman::collision_squished(GameObject& object)
if (player)
player->bounce(*this);

// FIXME: the squish sound isn't best here
sound_manager->play("sounds/squish.wav", get_pos());
sound_manager->play("sounds/pop.ogg", get_pos());

loose_head();

Expand Down
9 changes: 9 additions & 0 deletions src/badguy/stalactite.cpp
Expand Up @@ -16,6 +16,7 @@

#include "badguy/stalactite.hpp"

#include "audio/sound_manager.hpp"
#include "math/random_generator.hpp"
#include "object/bullet.hpp"
#include "object/player.hpp"
Expand All @@ -34,6 +35,9 @@ Stalactite::Stalactite(const Reader& lisp) :
{
countMe = false;
set_colgroup_active(COLGROUP_TOUCHABLE);
sound_manager->preload("sounds/cracking.wav");
sound_manager->preload("sounds/sizzle.ogg");
sound_manager->preload("sounds/icecrash.ogg");
}

void
Expand All @@ -48,6 +52,7 @@ Stalactite::active_update(float elapsed_time)
&& player->get_bbox().p1.y < bbox.p2.y + SHAKE_RANGE_Y) {
timer.start(SHAKE_TIME);
state = STALACTITE_SHAKING;
sound_manager->play("sounds/cracking.wav", get_pos());
}
}
} else if(state == STALACTITE_SHAKING) {
Expand All @@ -71,6 +76,7 @@ Stalactite::squish()
physic.set_velocity_y(0);
set_state(STATE_SQUISHED);
sprite->set_action("squished");
sound_manager->play("sounds/icecrash.ogg", get_pos());
set_group(COLGROUP_MOVING_ONLY_STATIC);
run_dead_script();
}
Expand Down Expand Up @@ -122,6 +128,9 @@ Stalactite::collision_bullet(Bullet& bullet, const CollisionHit& )
timer.start(SHAKE_TIME);
state = STALACTITE_SHAKING;
bullet.remove_me();
if(bullet.get_type() == FIRE_BONUS)
sound_manager->play("sounds/sizzle.ogg", get_pos());
sound_manager->play("sounds/cracking.wav", get_pos());
}

return FORCE_MOVE;
Expand Down
10 changes: 8 additions & 2 deletions src/object/explosion.cpp
Expand Up @@ -38,6 +38,7 @@ Explosion::Explosion(const Vector& pos) :
lightsprite(sprite_manager->create("images/objects/lightmap_light/lightmap_light-large.sprite"))
{
sound_manager->preload("sounds/explosion.wav");
sound_manager->preload("sounds/firecracker.ogg");
set_pos(get_pos() - (get_bbox().get_middle() - get_pos()));
lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE));
lightsprite->set_color(Color(0.6f, 0.6f, 0.6f));
Expand All @@ -52,6 +53,7 @@ Explosion::Explosion(const Reader& reader) :
lightsprite(sprite_manager->create("images/objects/lightmap_light/lightmap_light-large.sprite"))
{
sound_manager->preload("sounds/explosion.wav");
sound_manager->preload("sounds/firecracker.ogg");
lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE));
lightsprite->set_color(Color(0.6f, 0.6f, 0.6f));
}
Expand All @@ -63,9 +65,13 @@ Explosion::explode()
return;
state = STATE_EXPLODING;

set_action("default", 1);
set_action("default", 1); //TODO: the less-threatening short_fuse explosion should look less-threatening
sprite->set_animation_loops(1); //TODO: this is necessary because set_action will not set "loops" when "action" is the default action
sound_manager->play("sounds/explosion.wav", get_pos());
if (hurt)
sound_manager->play("sounds/explosion.wav", get_pos());
else
sound_manager->play("sounds/firecracker.ogg", get_pos());


#if 0
// spawn some particles
Expand Down
10 changes: 8 additions & 2 deletions src/object/weak_block.cpp
Expand Up @@ -17,6 +17,7 @@

#include "object/weak_block.hpp"

#include "audio/sound_manager.hpp"
#include "math/random_generator.hpp"
#include "object/bullet.hpp"
#include "object/explosion.hpp"
Expand All @@ -43,8 +44,11 @@ WeakBlock::WeakBlock(const Reader& lisp)
sprite->set_action("normal");
}
}
lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE));
lightsprite->set_color(Color(0.3f, 0.2f, 0.1f));
if(sprite_name == "images/objects/weak_block/strawbox.sprite") {
lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE));
lightsprite->set_color(Color(0.3f, 0.2f, 0.1f));
} else if(sprite_name == "images/objects/weak_block/meltbox.sprite")
sound_manager->preload("sounds/sizzle.ogg");
}

HitResponse
Expand Down Expand Up @@ -165,6 +169,8 @@ WeakBlock::startBurning()
if (state != STATE_NORMAL) return;
state = STATE_BURNING;
sprite->set_action("burning", 1);
if(sprite_name == "images/objects/weak_block/meltbox.sprite")
sound_manager->play("sounds/sizzle.ogg");
}

void
Expand Down

0 comments on commit 2da0aee

Please sign in to comment.