diff --git a/src/args.rs b/src/args.rs index b621d2f..3966ef5 100644 --- a/src/args.rs +++ b/src/args.rs @@ -762,6 +762,10 @@ pub struct Arg { pub yuris_ysc_path: Option, #[cfg(feature = "yuris")] #[arg(long, global = true)] + /// Path to the ysl.ybn file + pub yuris_ysl_path: Option, + #[cfg(feature = "yuris")] + #[arg(long, global = true)] /// Disasm Yu-RIS YSTB (.ybn) file pub yuris_ystb_disasm: bool, #[command(subcommand)] diff --git a/src/main.rs b/src/main.rs index 4a92d3b..0f74bdd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3416,6 +3416,8 @@ fn main() { #[cfg(feature = "yuris")] yuris_ysc_path: arg.yuris_ysc_path.clone(), #[cfg(feature = "yuris")] + yuris_ysl_path: arg.yuris_ysl_path.clone(), + #[cfg(feature = "yuris")] yuris_ystb_disasm: arg.yuris_ystb_disasm, }); match &arg.command { diff --git a/src/scripts/yuris/yslb.rs b/src/scripts/yuris/yslb.rs index 3c6f6f3..c8c5da3 100644 --- a/src/scripts/yuris/yslb.rs +++ b/src/scripts/yuris/yslb.rs @@ -10,19 +10,19 @@ use serde::{Deserialize, Serialize}; use std::io::{Read, Seek, Write}; #[derive(Debug, StructUnpack, StructPack, Deserialize, Serialize)] -struct Label { +pub(super) struct Label { #[pstring(u8)] - name: String, - id: u32, - offset: u32, - script_index: u16, + pub name: String, + pub id: u32, + pub offset: u32, + pub script_index: u16, #[serde(skip)] padding: u16, } #[derive(Debug, StructUnpack, StructPack, Deserialize, Serialize)] -struct YSLBData { - version: u32, +pub(super) struct YSLBData { + pub version: u32, #[serde(skip)] num_labels: u32, #[fvec = 0x100] @@ -31,7 +31,7 @@ struct YSLBData { label_range_start_indexes: Vec, #[pack_vec_len(self.num_labels)] #[unpack_vec_len(num_labels)] - labels: Vec