diff --git a/Cargo.lock b/Cargo.lock index 81dba7f..50dedb4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -790,6 +790,7 @@ dependencies = [ "rbx_dom_weak", "rbx_reflection_database", "rbx_xml", + "strafesnet_snf", "vbsp", "vmdl", "vmt-parser", @@ -1334,6 +1335,14 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "strafesnet_snf" +version = "0.1.0" +source = "git+https://git.itzana.me/StrafesNET/snf?rev=dea408daeef576cff8ffa61356c89a9d03d95f6b#dea408daeef576cff8ffa61356c89a9d03d95f6b" +dependencies = [ + "binrw", +] + [[package]] name = "strsim" version = "0.10.0" diff --git a/Cargo.toml b/Cargo.toml index 0d17244..e08997f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,6 +16,9 @@ rbx_binary = "0.7.1" rbx_dom_weak = "2.5.0" rbx_reflection_database = "0.2.7" rbx_xml = "0.13.1" +strafesnet_bsp_loader = { git = "https://git.itzana.me/StrafesNET/bsp_loader", rev = "79b8120106e63de237b8ed59c3d3e30db51e7146" } +strafesnet_rbx_loader = { git = "https://git.itzana.me/StrafesNET/rbx_loader", rev = "0d2c27f60f4a448063edc57d9a23766775fb2cc5" } +strafesnet_snf = { git = "https://git.itzana.me/StrafesNET/snf", rev = "dea408daeef576cff8ffa61356c89a9d03d95f6b" } vbsp = "0.5.0" vmdl = "0.1.1" vmt-parser = "0.1.1" diff --git a/src/main.rs b/src/main.rs index fd56d4e..d1e276d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,6 +14,7 @@ struct Cli { #[derive(Subcommand)] enum Commands { + ConvertToSNF(PathBufList), Download(MapList), DownloadTextures(PathBufList), ExtractTextures(PathBufList), @@ -43,6 +44,7 @@ struct MapList { fn main() -> AResult<()> { let cli = Cli::parse(); match cli.command { + Commands::ConvertToSNF(pathlist)=>convert_to_snf(pathlist.paths), Commands::Download(map_list)=>download(map_list.maps), Commands::DownloadTextures(pathlist)=>download_textures(pathlist.paths), Commands::ExtractTextures(pathlist)=>extract_textures(vec![cli.path.unwrap()],pathlist.paths), @@ -1274,4 +1276,11 @@ fn bsp_contents(path:std::path::PathBuf)->AResult<()>{ println!("file_name={:?}",file_name); } Ok(()) +} + +fn convert_to_snf(pathlist:Vec)->AResult<()>{ + for path in pathlist{ + let something=strafesnet_rbx_loader::read_file(path); + } + Ok(()) } \ No newline at end of file