Update of /cvsroot/super-tux/supertux/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19700/src
Modified Files:
Tag: supertux_0_1_1_branch
sound.cpp sound.h worldmap.cpp worldmap.h
Log Message:
Added warp sound and removed necessity of the boolean.
Marek, should the teleport messages be shown for a period of time, like the passive ones, or what?
Index: sound.cpp
===================================================================
RCS file: /cvsroot/super-tux/supertux/src/Attic/sound.cpp,v
retrieving revision 1.15
retrieving revision 1.15.2.1
diff -u -d -r1.15 -r1.15.2.1
--- sound.cpp 26 Apr 2004 12:21:22 -0000 1.15
+++ sound.cpp 10 Aug 2004 22:50:39 -0000 1.15.2.1
@@ -47,7 +47,8 @@
"/sounds/lifeup.wav",
"/sounds/stomp.wav",
"/sounds/kick.wav",
- "/sounds/explode.wav"
+ "/sounds/explode.wav",
+ "/sounds/warp.wav"
};
Index: worldmap.cpp
===================================================================
RCS file: /cvsroot/super-tux/supertux/src/worldmap.cpp,v
retrieving revision 1.68.2.13
retrieving revision 1.68.2.14
diff -u -d -r1.68.2.13 -r1.68.2.14
--- worldmap.cpp 10 Aug 2004 21:18:11 -0000 1.68.2.13
+++ worldmap.cpp 10 Aug 2004 22:50:39 -0000 1.68.2.14
@@ -312,7 +312,7 @@
}
Tile* cur_tile = worldmap->at(tile_pos);
- if (cur_tile->stop || (level && !level->name.empty()) || (level && level->is_teleporter))
+ if (cur_tile->stop || (level && (!level->name.empty() || level->teleport_dest_x != -1)))
{
stop();
}
@@ -474,10 +474,9 @@
level.passive_message = true;
reader.read_bool("passive-message", &level.passive_message);
- level.is_teleporter = false;
- reader.read_bool("teleporter", &level.is_teleporter);
- reader.read_int("dest_x", &level.destination_x);
- reader.read_int("dest_y", &level.destination_y);
+ level.teleport_dest_x = level.teleport_dest_y = -1;
+ reader.read_int("dest_x", &level.teleport_dest_x);
+ reader.read_int("dest_y", &level.teleport_dest_y);
reader.read_string("teleport-message", &level.teleport_message);
level.apply_action_north = level.apply_action_south =
@@ -793,14 +792,13 @@
return;
}
}
- else if (level && level->is_teleporter) {
+ else if (level && level->teleport_dest_x != -1 && level->teleport_dest_y != -1) {
if (level->x == tux->get_tile_pos().x &&
level->y == tux->get_tile_pos().y)
- {
- Point p;
- p.x = level->destination_x;
- p.y = level->destination_y;
- tux->set_tile_pos(p);
+ {
+ play_sound(sounds[SND_TELEPORT], SOUND_CENTER_SPEAKER);
+ tux->back_direction = D_NONE;
+ tux->set_tile_pos(Point(level->teleport_dest_x, level->teleport_dest_y));
}
}
else
@@ -877,7 +875,7 @@
for(Levels::iterator i = levels.begin(); i != levels.end(); ++i)
{
if(i->name.empty()) {
- if (i->is_teleporter) {
+ if (i->teleport_dest_x != -1) {
leveldot_teleporter->draw(i->x*32 + offset.x,
i->y*32 + offset.y);
}
@@ -932,7 +930,7 @@
{
white_text->draw_align(i->title.c_str(), screen->w/2, screen->h, A_HMIDDLE, A_BOTTOM);
}
- else if (i->is_teleporter) {
+ else if (i->teleport_dest_x != -1) {
if(!i->teleport_message.empty())
gold_text->draw_align(i->teleport_message.c_str(), screen->w/2, screen->h, A_HMIDDLE, A_BOTTOM);
}
Index: sound.h
===================================================================
RCS file: /cvsroot/super-tux/supertux/src/Attic/sound.h,v
retrieving revision 1.28
retrieving revision 1.28.2.1
diff -u -d -r1.28 -r1.28.2.1
--- sound.h 26 Apr 2004 12:21:22 -0000 1.28
+++ sound.h 10 Aug 2004 22:50:39 -0000 1.28.2.1
@@ -65,6 +65,7 @@
SND_STOMP,
SND_KICK,
SND_EXPLODE,
+ SND_TELEPORT,
NUM_SOUNDS
};
Index: worldmap.h
===================================================================
RCS file: /cvsroot/super-tux/supertux/src/worldmap.h,v
retrieving revision 1.28.2.11
retrieving revision 1.28.2.12
diff -u -d -r1.28.2.11 -r1.28.2.12
--- worldmap.h 10 Aug 2004 21:18:11 -0000 1.28.2.11
+++ worldmap.h 10 Aug 2004 22:50:39 -0000 1.28.2.12
@@ -178,9 +178,8 @@
bool passive_message;
/** Teleporters */
- bool is_teleporter;
- int destination_x;
- int destination_y;
+ int teleport_dest_x;
+ int teleport_dest_y;
std::string teleport_message;
/** If false, disables the auto walking after finishing a level */
|