mirror of
https://github.com/lifegpc/msg-tool.git
synced 2026-06-15 17:44:25 +08:00
Add new options for scn script to disable chat message multiple language support
This commit is contained in:
@@ -233,6 +233,10 @@ pub struct Arg {
|
||||
/// Whether to handle title in Kirikiri SCN script.
|
||||
pub kirikiri_title: bool,
|
||||
#[cfg(feature = "kirikiri")]
|
||||
#[arg(long, global = true, action = ArgAction::SetTrue, visible_alias = "kr-chat-no-multilang")]
|
||||
/// Disable multi-language support for Kirikiri chat messages. (for Kirikiri SCN script.)
|
||||
pub kirikiri_chat_no_multilang: bool,
|
||||
#[cfg(feature = "kirikiri")]
|
||||
#[arg(long, global = true, action = ArgAction::SetTrue, visible_alias = "kr-no-empty-lines", visible_alias = "kirikiri-no-empty-lines")]
|
||||
/// Remove empty lines in Kirikiri KS script.
|
||||
pub kirikiri_remove_empty_lines: bool,
|
||||
|
||||
@@ -2736,6 +2736,8 @@ fn main() {
|
||||
pgd_fake_compress: !arg.pgd_compress,
|
||||
#[cfg(feature = "softpal")]
|
||||
softpal_add_message_index: arg.softpal_add_message_index,
|
||||
#[cfg(feature = "kirikiri")]
|
||||
kirikiri_chat_multilang: !arg.kirikiri_chat_no_multilang,
|
||||
});
|
||||
match &arg.command {
|
||||
args::Command::Export { input, output } => {
|
||||
|
||||
@@ -117,6 +117,7 @@ pub struct ScnScript {
|
||||
chat_json: Option<Arc<HashMap<String, String>>>,
|
||||
custom_yaml: bool,
|
||||
title: bool,
|
||||
chat_multilang: bool,
|
||||
}
|
||||
|
||||
impl ScnScript {
|
||||
@@ -154,6 +155,7 @@ impl ScnScript {
|
||||
chat_json: config.kirikiri_chat_json.clone(),
|
||||
custom_yaml: config.custom_yaml,
|
||||
title: config.kirikiri_title,
|
||||
chat_multilang: config.kirikiri_chat_multilang,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -214,7 +216,11 @@ impl Script for ScnScript {
|
||||
let mut comu = if self.export_chat {
|
||||
Some(ExportMes::new(
|
||||
self.chat_key.clone().unwrap_or("comumode".to_string()),
|
||||
language.clone(),
|
||||
if self.chat_multilang {
|
||||
language.clone()
|
||||
} else {
|
||||
None
|
||||
},
|
||||
))
|
||||
} else {
|
||||
None
|
||||
@@ -441,7 +447,11 @@ impl Script for ScnScript {
|
||||
json,
|
||||
replacement,
|
||||
self.chat_key.clone().unwrap_or("comumode".to_string()),
|
||||
language.clone(),
|
||||
if self.chat_multilang {
|
||||
language.clone()
|
||||
} else {
|
||||
None
|
||||
},
|
||||
)
|
||||
});
|
||||
for (i, scene) in scenes.members_mut().enumerate() {
|
||||
|
||||
@@ -465,6 +465,11 @@ pub struct ExtraConfig {
|
||||
#[cfg(feature = "softpal")]
|
||||
/// Whether to add message index to Softpal src script when exporting.
|
||||
pub softpal_add_message_index: bool,
|
||||
#[cfg(feature = "kirikiri")]
|
||||
#[default(true)]
|
||||
/// Enable multi-language support for Kirikiri chat messages. Default is true.
|
||||
/// Note: This requires [Self::kirikiri_language_index] and [Self::kirikiri_languages] to be set correctly.
|
||||
pub kirikiri_chat_multilang: bool,
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, Debug, ValueEnum, PartialEq, Eq, PartialOrd, Ord)]
|
||||
|
||||
Reference in New Issue
Block a user