A Rust library for working with ROSE Online's file formats.
This crate provides a Rust library that can be used in other projects. See the documentation for more information
Add roselib
as a dependency in your Cargo.toml
[dependencies]
roselib="../path/to/rose-lib"
Use it in your project
extern crate roselib;
use std::path::Path;
use roselib::files::IDX;
let idx = IDX::from_path(Path::new("/path/to/index.idx")).unwrap();
for vfs in idx.file_systems {
for vfs_file in vfs.files {
println!("File: {}", vfs_file.filepath);
}
}
- HIM - ROSE Heightmap [Read-only]
- IDX (VFS) - ROSE Virtual filesystem
- LIT - ROSE Lightmap
- STB - ROSE Data table
- TIL - ROSE Map Tile [Read-only]
- ZMD - ROSE Skeleton
- ZMO - ROSE Motion
- ZMS - ROSE 3D Mesh
- ZON - ROSE Zone [Read-only]
- This code has only been tested against rose_129_129en and is not guaranteed to work with other versions of ROSE Online (e.g. naRose, jRose, etc.)
- Older versions of ROSE Online used the EUC-KR encoding for strings. This lib converts strings to UTF-8 lossily. See here for more information.
Inspired by Jack Wakefield's Revise library and all the contributors at osRose.