diff --git a/server/src/lib.rs b/server/src/lib.rs index 5ea4b8f0..2f806548 100644 --- a/server/src/lib.rs +++ b/server/src/lib.rs @@ -24,3 +24,4 @@ pub mod session; pub mod vfs_session; pub mod web; pub mod web_util; +pub mod roblox_studio; diff --git a/server/src/roblox_studio.rs b/server/src/roblox_studio.rs new file mode 100644 index 00000000..c55311b3 --- /dev/null +++ b/server/src/roblox_studio.rs @@ -0,0 +1,27 @@ +//! Interactions with Roblox Studio's installation, including its location and +//! mechanisms like PluginSettings. + +use std::path::PathBuf; +use std::env; + +static ROJO_PLUGIN_ID: &'static str = "1211549683"; + +#[cfg(target_os = "windows")] +pub fn install_location() -> Option { + let local_app_data = env::var("LocalAppData").ok()?; + let mut location = PathBuf::from(local_app_data); + + location.push("Roblox"); + + Some(location) +} + +#[cfg(target_os = "macos")] +pub fn install_location() -> Option { + unimplemented!(); +} + +#[cfg(not(any(target_os = "windows", target_os = "macos")))] +pub fn install_location() -> Option { + None +} \ No newline at end of file