settings: make distinction between portable and installed
This commit is contained in:
parent
324367a24a
commit
58f892c414
@ -11,16 +11,22 @@ impl Directories{
|
||||
pub fn user_settings(&self)->UserSettings{
|
||||
crate::settings::read_user_settings(&self.settings)
|
||||
}
|
||||
}
|
||||
impl Default for Directories{
|
||||
fn default()->Self{
|
||||
let dirs=directories::ProjectDirs::from("net.strafes","StrafesNET","Strafe Client").unwrap();
|
||||
Self{
|
||||
pub fn installed()->Option<Self>{
|
||||
let dirs=directories::ProjectDirs::from("net.strafes","StrafesNET","Strafe Client")?;
|
||||
Some(Self{
|
||||
settings:dirs.config_dir().join("settings.conf"),
|
||||
maps:dirs.cache_dir().join("maps"),
|
||||
// separate directory for remote downloaded replays (cache)
|
||||
// bots:dirs.cache_dir().join("bots"),
|
||||
replays:dirs.data_local_dir().join("replays"),
|
||||
}
|
||||
})
|
||||
}
|
||||
pub fn portable()->Result<Self,std::io::Error>{
|
||||
let current_dir=std::env::current_dir()?;
|
||||
Ok(Self{
|
||||
settings:current_dir.join("settings.conf"),
|
||||
maps:current_dir.join("maps"),
|
||||
replays:current_dir.join("replays"),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -211,7 +211,7 @@ pub fn worker<'a>(
|
||||
setup_context:crate::setup::SetupContext<'a>,
|
||||
)->crate::compat_worker::QNWorker<'a,TimedInstruction<Instruction,SessionTimeInner>>{
|
||||
// WindowContextSetup::new
|
||||
let user_settings=directories::Directories::default().user_settings();
|
||||
let user_settings=directories::Directories::portable().unwrap().user_settings();
|
||||
|
||||
let mut graphics=strafesnet_graphics::graphics::GraphicsState::new(&setup_context.device,&setup_context.queue,&setup_context.config);
|
||||
graphics.load_user_settings(&user_settings);
|
||||
|
Loading…
x
Reference in New Issue
Block a user