You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Scenarios contain a string map of feature flags. The flag names are the keys, and flag versions are the values, so a typical value might be "fixed" for bug fixes or for evolving features, "V1", "V2", etc.
* The game has a map of flags to lists of supported versions. The game can therefore signal that it supports a legacy behavior for a given feature flag. The last version in the list is considered to be this build version's default behavior.
* When launching a scenario, we check to make sure the game supports the scenario's required versions of its feature flags.
* When launching a replay, we make sure the game supports the feature flags that the version of the game that made the recording did.
Fix#555Close#591
// The game build needs to support the feature version that the replay had
965
+
if(!has_feature_flag(flag, version)){
966
+
std::string error = "This replay requires a feature that is not supported in your version of Blades of Exile: " + flag + " should support '" + version + "'";
show_get_items("Choose stored items to keep:", saved_item_refs, pc, true);
172
172
}
173
173
174
+
// Make sure the game build supports all the scenario's features
175
+
for(auto pair : univ.scenario.feature_flags){
176
+
if(!has_feature_flag(pair.first, pair.second)){
177
+
showError("This scenario requires a feature that is not supported in your version of Blades of Exile: " + pair.first + " should support '" + pair.second + "'");
178
+
return;
179
+
}
180
+
}
181
+
174
182
univ.enter_scenario(scen_name);
175
183
176
184
// if at this point, startup must be over, so make this call to make sure we're ready,
0 commit comments