fix random generated mp maps.

fix https://gna.org/bugs/?22410
This commit is contained in:
gfgtdf 2014-08-01 02:51:11 +02:00
parent 84ce463fd7
commit 574cb9ef0c
3 changed files with 17 additions and 1 deletions

View file

@ -430,6 +430,7 @@ void create_engine::prepare_for_new_level()
{
DBG_MP << "preparing mp_game_settings for new level\n";
state_.expand_scenario();
state_.expand_random_scenario();
}
void create_engine::prepare_for_era_and_mods()
@ -563,6 +564,12 @@ void create_engine::prepare_for_saved_game()
state_.mp_settings().name = vgettext("$login|s game", i18n_symbols);
}
void create_engine::prepare_for_other()
{
state_.set_scenario(current_level().data());
state_.mp_settings().hash = current_level().data().hash();
}
void create_engine::apply_level_filter(const std::string &name)
{
level_name_filter_ = name;

View file

@ -186,6 +186,8 @@ public:
void prepare_for_scenario();
void prepare_for_campaign(const std::string& difficulty);
void prepare_for_saved_game();
//random maps, user maps
void prepare_for_other();
std::string select_campaign_difficulty(int set_value = -1);

View file

@ -235,9 +235,16 @@ void create::process_event()
}
engine_.prepare_for_campaign(difficulty);
} else {
}
else if (engine_.current_level_type() == ng::level::SCENARIO)
{
engine_.prepare_for_scenario();
}
else
{
//This means define= doesn't work for random generated scenarios
engine_.prepare_for_other();
}
engine_.prepare_for_new_level();