#include <SDL.h>
-#ifndef WIN32
-#include <sys/types.h>
-#include <ctype.h>
-#endif
-
-#include "game_session.h"
-#include "video/screen.h"
-#include "gui/menu.h"
-#include "sector.h"
-#include "level.h"
-#include "tile.h"
-#include "player_status.h"
-#include "object/particlesystem.h"
-#include "object/background.h"
-#include "object/tilemap.h"
-#include "object/camera.h"
-#include "object/player.h"
-#include "lisp/lisp.h"
-#include "lisp/parser.h"
-#include "resources.h"
-#include "worldmap.h"
-#include "misc.h"
-#include "statistics.h"
-#include "timer.h"
-#include "object/fireworks.h"
-#include "textscroller.h"
-#include "control/codecontroller.h"
-#include "control/joystickkeyboardcontroller.h"
-#include "main.h"
-#include "file_system.h"
-#include "gameconfig.h"
-#include "gettext.h"
-
-// the engine will be run with a lofical framerate of 64fps.
-// We choose 64fps here because it is a power of 2, so 1/64 gives an "even"
+#include "game_session.hpp"
+#include "video/screen.hpp"
+#include "audio/sound_manager.hpp"
+#include "gui/menu.hpp"
+#include "sector.hpp"
+#include "level.hpp"
+#include "tile.hpp"
+#include "player_status.hpp"
+#include "object/particlesystem.hpp"
+#include "object/background.hpp"
+#include "object/tilemap.hpp"
+#include "object/camera.hpp"
+#include "object/player.hpp"
+#include "lisp/lisp.hpp"
+#include "lisp/parser.hpp"
+#include "resources.hpp"
+#include "worldmap.hpp"
+#include "misc.hpp"
+#include "statistics.hpp"
+#include "timer.hpp"
+#include "object/fireworks.hpp"
+#include "textscroller.hpp"
+#include "control/codecontroller.hpp"
+#include "control/joystickkeyboardcontroller.hpp"
+#include "main.hpp"
+#include "file_system.hpp"
+#include "gameconfig.hpp"
+#include "gettext.hpp"
+
+// the engine will be run with a logical framerate of 64fps.
+// We chose 64fps here because it is a power of 2, so 1/64 gives an "even"
// binary fraction...
static const float LOGICAL_FPS = 64.0;
current_ = this;
game_pause = false;
+ music_playing = false;
fps_fps = 0;
context = new DrawingContext();
if(mode == ST_GL_PLAY || mode == ST_GL_LOAD_LEVEL_FILE)
levelintro();
- currentsector->play_music(LEVEL_MUSIC);
+ if (!music_playing)
+ {
+ currentsector->play_music(LEVEL_MUSIC);
+ music_playing = true;
+ }
if(capture_file != "")
record_demo(capture_file);
void
GameSession::levelintro()
{
- sound_manager->halt_music();
+ //sound_manager->halt_music();
char str[60];
newsector = "";
newspawnpoint = "";
}
+
+ // update sounds
+ sound_manager->set_listener_position(currentsector->player->get_pos());
+ sound_manager->update();
}
void
end_sequence = ENDSEQUENCE_RUNNING;
endsequence_timer.start(7.0); // 7 seconds until we finish the map
last_x_pos = -1;
- sound_manager->play_music(level_end_song, 0);
+ sound_manager->play_music("music/leveldone.ogg");
currentsector->player->invincible_timer.start(7.0);
if(sequencename == "fireworks") {
std::string title;
std::stringstream stream;
stream << slot;
- slotfile = user_dir + "/save/slot" + stream.str() + ".stsg";
+ slotfile = "save/slot" + stream.str() + ".stsg";
try {
lisp::Parser parser;
std::stringstream stream;
stream << slot;
- std::string slotfile = user_dir + "/save/slot" + stream.str() + ".stsg";
+ std::string slotfile = "save/slot" + stream.str() + ".stsg";
fadeout(256);
DrawingContext context;