// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#include <config.h>
+
#include <iostream>
#include <fstream>
#include <vector>
#include "resources.h"
#include "app/gettext.h"
#include "misc.h"
+#include "scene.h"
-#define map_message_TIME 2800
+#define map_message_TIME 2.8
Menu* worldmap_menu = 0;
tile->images.push_back(image);
}
- tile->anim_speed = 25;
- reader.read_int("anim-speed", tile->anim_speed);
+ tile->anim_fps = 1;
+ reader.read_float("anim-fps", tile->anim_fps);
if (id >= int(tiles.size()))
{
if(special_tile && !special_tile->map_message.empty() &&
!special_tile->passive_message)
- worldmap->passive_message_timer.stop();
+ worldmap->passive_message_timer.start(0);
stop();
}
else
if(images.size() > 1)
{
- size_t frame
- = ((global_frame_counter*25) / anim_speed) % images.size();
+ size_t frame = size_t(global_time * anim_fps) % images.size();
context.draw_surface(images[frame], pos, LAYER_TILES);
}
enter_level = false;
name = "<no title>";
- music = "SALCON.MOD";
-
- global_frame_counter = 0;
- frame_timer.init(true);
+ music = "salcon.mod";
total_stats.reset();
}
void
WorldMap::update(float delta)
{
- if(!frame_timer.check())
- {
- frame_timer.start(25);
- global_frame_counter++;
- }
-
if (enter_level && !tux->is_moving())
{
/* Check special tile action */
writer->write_string("map", map_filename);
writer->write_int("lives", player_status.lives);
writer->write_int("distros", player_status.lives);
+ writer->write_int("max-score-multiplier", player_status.max_score_multiplier);
writer->start_list("tux");
reader.read_int("lives", player_status.lives);
reader.read_int("distros", player_status.distros);
+ reader.read_int("max-score-multiplier", player_status.max_score_multiplier);
if (player_status.lives < 0)
player_status.lives = START_LIVES;