2022-08-09 21:51:52 -04:00
|
|
|
use binrw::binrw;
|
2022-07-21 19:58:07 -04:00
|
|
|
|
2022-08-09 21:51:52 -04:00
|
|
|
#[binrw]
|
|
|
|
#[brw(repr(u8))]
|
2022-07-21 20:08:14 -04:00
|
|
|
#[repr(u8)]
|
2022-07-27 21:41:05 -04:00
|
|
|
/// The language the game data is written for.
|
2022-07-19 19:29:41 -04:00
|
|
|
pub enum Language {
|
2022-07-27 21:41:05 -04:00
|
|
|
/// Used for data that is language-agnostic, such as item data.
|
2022-07-19 19:29:41 -04:00
|
|
|
None,
|
2022-07-27 21:41:05 -04:00
|
|
|
/// Japanese language.
|
2022-07-19 19:29:41 -04:00
|
|
|
Japanese,
|
2022-07-27 21:41:05 -04:00
|
|
|
/// English language.
|
2022-07-19 19:29:41 -04:00
|
|
|
English,
|
2022-07-27 21:41:05 -04:00
|
|
|
/// German language.
|
2022-07-19 19:29:41 -04:00
|
|
|
German,
|
2022-07-27 21:41:05 -04:00
|
|
|
/// French language.
|
2022-07-19 19:29:41 -04:00
|
|
|
French,
|
2022-07-27 21:41:05 -04:00
|
|
|
/// Chinese (Simplified) language.
|
2022-07-19 19:29:41 -04:00
|
|
|
ChineseSimplified,
|
2022-07-27 21:41:05 -04:00
|
|
|
/// Chinese (Traditional) language.
|
2022-07-19 19:29:41 -04:00
|
|
|
ChineseTraditional,
|
2022-07-27 21:41:05 -04:00
|
|
|
/// Korean language.
|
2022-07-19 19:29:41 -04:00
|
|
|
Korean,
|
|
|
|
}
|
|
|
|
|
2022-07-27 21:41:05 -04:00
|
|
|
/// Returns the shorthand language code for `language`. For example, English becomes "en".
|
2022-07-21 19:58:07 -04:00
|
|
|
pub fn get_language_code(lang: &Language) -> &'static str {
|
|
|
|
match &lang {
|
2022-07-19 19:29:41 -04:00
|
|
|
Language::None => "",
|
|
|
|
Language::Japanese => "ja",
|
|
|
|
Language::English => "en",
|
|
|
|
Language::German => "de",
|
|
|
|
Language::French => "fr",
|
|
|
|
Language::ChineseSimplified => "chs",
|
|
|
|
Language::ChineseTraditional => "cht",
|
|
|
|
Language::Korean => "ko"
|
|
|
|
}
|
2022-08-09 21:51:52 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
#[binrw]
|
|
|
|
#[brw(repr = i16)]
|
|
|
|
#[derive(Debug, PartialEq)]
|
|
|
|
pub enum Region {
|
|
|
|
Global = -1
|
|
|
|
// TODO: find patch codes for other regions :-)
|
|
|
|
}
|