1pub mod errors;
2pub mod fs;
3pub mod providers;
4pub mod traits;
5pub(crate) mod utils;
6
7pub use errors::FileSystemError;
8pub use fs::{FileSystem, FileSystemOptions};
9pub use providers::{DummyVpk, P2GameInfo, SimpleGameInfo};
10pub use traits::{GameInfoProvider, PackFile};
11use std::path::Path;
12
13pub fn create_fs<P: AsRef<Path>>(game_dir: P) -> Result<FileSystem<DummyVpk>, FileSystemError> {
16 create_fs_custom::<SimpleGameInfo, P>(game_dir)
17}
18
19pub fn create_fs_custom<G: GameInfoProvider, P: AsRef<Path>>(game_dir: P) -> Result<FileSystem<DummyVpk>, FileSystemError> {
22 let options = FileSystemOptions::default();
23 FileSystem::<DummyVpk>::load_from_path::<G>(game_dir.as_ref(), &options)
24}