sound_enabled(true),
music_enabled(true),
console_enabled(false),
- random_seed(0), // set by time(), by default (unless in config)
+ random_seed(0), // set by time(), by default (unless in config)
start_level(),
enable_script_debugger(false),
start_demo(),
const lisp::Lisp* config_lisp = root->get_lisp("supertux-config");
if(!config_lisp)
+ {
throw std::runtime_error("File is not a supertux-config file");
+ }
+ config_lisp->get("profile", profile);
config_lisp->get("show_fps", show_fps);
config_lisp->get("console", console_enabled);
config_lisp->get("locale", locale);
config_lisp->get("random_seed", random_seed);
const lisp::Lisp* config_video_lisp = config_lisp->get_lisp("video");
- if(config_video_lisp) {
+ if(config_video_lisp)
+ {
config_video_lisp->get("fullscreen", use_fullscreen);
std::string video_string;
config_video_lisp->get("video", video_string);
config_video_lisp->get("aspect_width", aspect_size.width);
config_video_lisp->get("aspect_height", aspect_size.height);
-
+
config_video_lisp->get("magnification", magnification);
}
}
const lisp::Lisp* config_control_lisp = config_lisp->get_lisp("control");
- if(config_control_lisp && g_input_manager) {
- g_input_manager->read(*config_control_lisp);
+ if(config_control_lisp && InputManager::current())
+ {
+ InputManager::current()->read(*config_control_lisp);
}
const lisp::Lisp* config_addons_lisp = config_lisp->get_lisp("addons");
- if(config_addons_lisp) {
- AddonManager::get_instance().read(*config_addons_lisp);
+ if(config_addons_lisp && AddonManager::current())
+ {
+ AddonManager::current()->read(*config_addons_lisp);
}
}
writer.start_list("supertux-config");
+ writer.write("profile", profile);
writer.write("show_fps", show_fps);
writer.write("console", console_enabled);
writer.write("locale", locale);
writer.write("aspect_width", aspect_size.width);
writer.write("aspect_height", aspect_size.height);
-
+
writer.write("magnification", magnification);
writer.end_list("video");
writer.write("music_enabled", music_enabled);
writer.end_list("audio");
- if(g_input_manager) {
+ if (InputManager::current())
+ {
writer.start_list("control");
- g_input_manager->write(writer);
+ InputManager::current()->write(writer);
writer.end_list("control");
}
- writer.start_list("addons");
- AddonManager::get_instance().write(writer);
- writer.end_list("addons");
+ if (AddonManager::current())
+ {
+ writer.start_list("addons");
+ AddonManager::current()->write(writer);
+ writer.end_list("addons");
+ }
writer.end_list("supertux-config");
}