mirror of
https://github.com/open-goal/jak-project
synced 2026-08-05 09:34:51 -04:00
game: ensure overwritten subtitle lines have the merge flag disabled
This commit is contained in:
@@ -186,6 +186,24 @@ GameSubtitlePackage read_json_files_v2(const GameSubtitleDefinitionFile& file_in
|
||||
"subtitle_line_path");
|
||||
lang_lines = package.combined_lines;
|
||||
}
|
||||
// Update any line metadata to `merge = false` if they've been defined
|
||||
// otherwise, the lines get skipped
|
||||
for (const auto [scene_name, scene_lines] : lang_lines.cutscenes) {
|
||||
if (package.combined_meta.cutscenes.find(scene_name) !=
|
||||
package.combined_meta.cutscenes.end()) {
|
||||
for (int i = 0; i < package.combined_meta.cutscenes[scene_name].lines.size(); i++) {
|
||||
package.combined_meta.cutscenes[scene_name].lines[i].merge = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (const auto [scene_name, scene_lines] : lang_lines.other) {
|
||||
if (package.combined_meta.other.find(scene_name) != package.combined_meta.other.end()) {
|
||||
for (int i = 0; i < package.combined_meta.other[scene_name].lines.size(); i++) {
|
||||
package.combined_meta.other[scene_name].lines[i].merge = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (const auto& [scene_name, scene_info] : lang_lines.cutscenes) {
|
||||
package.scenes_defined_in_lang.insert(scene_name);
|
||||
}
|
||||
|
||||
@@ -10,6 +10,9 @@ struct SubtitleLineMetadata {
|
||||
int frame_end;
|
||||
bool offscreen;
|
||||
std::string speaker;
|
||||
// NOTE: merge is a bad name, as we don't actually merge anything (the game doesn't load the
|
||||
// english subtitles as well) and all this does if set is it's ignored when being written out to
|
||||
// the file
|
||||
bool merge;
|
||||
|
||||
bool operator==(const SubtitleLineMetadata& other) const {
|
||||
|
||||
@@ -1,5 +1,28 @@
|
||||
{
|
||||
"cutscenes": {},
|
||||
"cutscenes": {
|
||||
"city-help-kid-intro": [
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE",
|
||||
"I DONT SPEAK BRAZILIAN PORTUGUESE"
|
||||
]
|
||||
},
|
||||
"other": {
|
||||
"DSbop001": [
|
||||
"Você parece zangado, Jak."
|
||||
|
||||
Reference in New Issue
Block a user