ローカライズデータ
文字コードは UTF-8N
struct Locale {
magic_no: u32,
text_segment_size: u32,
index_segment_size: u32,
num0: u32,
version: u32,
headder: [u8; 0x78],
num1: u32,
num2: u32,
num3: u32,
num4: u32,
entry_size: u32,
entry_count: u32,
entries: Vec<Entry>,
text_segment_footer: [u8; text_segment_size - entry_size - 0x10],
indexes: Vec<Index>,
}
struct Entry {
headder: [u8; 0x38],
text_length2: u32, // text_length + 28
num1: u32,
num2: u32,
text_length3: u32, // text_length + 8
text_length: u32,
text_string: String, // ローカライズデータ
num3: u32,
language_code: u32, // english = 1
num4: u32,
num5: u32,
num6: u32,
}
struct Index {
index_length: u32,
index_string: String,
anm_length: u32,
anm_string: String, // anm_length == 0 の場合は格納しない
wav_length: u32,
wav_string: String, // wav_length == 0 の場合は格納しない
}
文字コードは UTF-8N
struct Locale {
magic_no: u32,
text_segment_size: u32,
index_segment_size: u32,
num0: u32,
version: u32,
headder: [u8; 0x78],
num1: u32,
num2: u32,
num3: u32,
num4: u32,
entry_size: u32,
entry_count: u32,
entries: Vec<Entry>,
text_segment_footer: [u8; text_segment_size - entry_size - 0x10],
indexes: Vec<Index>,
}
struct Entry {
headder: [u8; 0x38],
text_length2: u32, // text_length + 28
num1: u32,
num2: u32,
text_length3: u32, // text_length + 8
text_length: u32,
text_string: String, // ローカライズデータ
num3: u32,
language_code: u32, // english = 1
num4: u32,
num5: u32,
num6: u32,
}
struct Index {
index_length: u32,
index_string: String,
anm_length: u32,
anm_string: String, // anm_length == 0 の場合は格納しない
wav_length: u32,
wav_string: String, // wav_length == 0 の場合は格納しない
}
コメント