forked from StrafesNET/map-tool
add bsp_contents and use --path instead of --vpk
This commit is contained in:
parent
48d3fca895
commit
8c0f46007f
16
src/main.rs
16
src/main.rs
@ -7,7 +7,7 @@ use anyhow::Result as AResult;
|
|||||||
#[command(propagate_version = true)]
|
#[command(propagate_version = true)]
|
||||||
struct Cli {
|
struct Cli {
|
||||||
#[arg(long)]
|
#[arg(long)]
|
||||||
vpk:Option<std::path::PathBuf>,
|
path:Option<std::path::PathBuf>,
|
||||||
#[command(subcommand)]
|
#[command(subcommand)]
|
||||||
command: Commands,
|
command: Commands,
|
||||||
}
|
}
|
||||||
@ -19,6 +19,7 @@ enum Commands {
|
|||||||
ExtractTextures(PathBufList),
|
ExtractTextures(PathBufList),
|
||||||
ConvertTextures,
|
ConvertTextures,
|
||||||
VPKContents,
|
VPKContents,
|
||||||
|
BSPContents,
|
||||||
DownloadMeshes(PathBufList),
|
DownloadMeshes(PathBufList),
|
||||||
Extract(PathBufList),
|
Extract(PathBufList),
|
||||||
WriteAttributes,
|
WriteAttributes,
|
||||||
@ -44,8 +45,9 @@ fn main() -> AResult<()> {
|
|||||||
match cli.command {
|
match cli.command {
|
||||||
Commands::Download(map_list)=>download(map_list.maps),
|
Commands::Download(map_list)=>download(map_list.maps),
|
||||||
Commands::DownloadTextures(pathlist)=>download_textures(pathlist.paths),
|
Commands::DownloadTextures(pathlist)=>download_textures(pathlist.paths),
|
||||||
Commands::ExtractTextures(pathlist)=>extract_textures(pathlist.paths,cli.vpk.unwrap()),
|
Commands::ExtractTextures(pathlist)=>extract_textures(pathlist.paths,cli.path.unwrap()),
|
||||||
Commands::VPKContents=>vpk_contents(cli.vpk.unwrap()),
|
Commands::VPKContents=>vpk_contents(cli.path.unwrap()),
|
||||||
|
Commands::BSPContents=>bsp_contents(cli.path.unwrap()),
|
||||||
Commands::ConvertTextures=>convert_textures(),
|
Commands::ConvertTextures=>convert_textures(),
|
||||||
Commands::DownloadMeshes(pathlist)=>download_meshes(pathlist.paths),
|
Commands::DownloadMeshes(pathlist)=>download_meshes(pathlist.paths),
|
||||||
Commands::Extract(pathlist)=>extract(pathlist.paths),
|
Commands::Extract(pathlist)=>extract(pathlist.paths),
|
||||||
@ -1250,4 +1252,12 @@ fn vpk_contents(vpk_path:std::path::PathBuf)->AResult<()>{
|
|||||||
println!("vpk label={} entry={:?}",label,entry);
|
println!("vpk label={} entry={:?}",label,entry);
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
fn bsp_contents(path:std::path::PathBuf)->AResult<()>{
|
||||||
|
let bsp=vbsp::Bsp::read(std::fs::read(path)?.as_ref())?;
|
||||||
|
for file_name in bsp.pack.into_zip().into_inner().unwrap().file_names(){
|
||||||
|
println!("file_name={:?}",file_name);
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user