diff --git a/decompiler/config/jak2/all-types.gc b/decompiler/config/jak2/all-types.gc index 8618576647..4c3e59c910 100644 --- a/decompiler/config/jak2/all-types.gc +++ b/decompiler/config/jak2/all-types.gc @@ -7306,6 +7306,62 @@ (progress-music-player-palcab-battle #x1235) (progress-music-player-race #x1236) (progress-music-player-ruins #x1237) + (progress-window-size #x1238) + (progress-window-size-decoration #x1239) + (progress-game-res #x123a) + (progress-game-res-decoration #x123b) + (progress-lod-bg #x123c) + (progress-lod-fg #x123d) + (progress-subtitle-speaker #x123f) + (progress-subtitle-speaker-off #x1240) + (progress-subtitle-speaker-auto #x1241) + (progress-subtitle-speaker-on #x1242) + (progress-territory #x1243) + (progress-territory-scea #x1244) + (progress-territory-scee #x1245) + (progress-territory-scei #x1246) + (progress-territory-scek #x1247) + (progress-msaa #x1248) + (progress-msaa-x #x1249) + (progress-led-options #x124a) + (progress-led-state #x124b) + (progress-led-health #x124c) + (progress-disable-auto-save #x124d) + (progress-auto-save-disabled #x124e) + (progress-disable-auto-save-warn #x124f) + (progress-cheats-turbo-board #x1250) + (progress-cheats-health-bars #x1251) + (progress-cheats-vehicle-health-bars #x1252) + (progress-cheats-vehicle-invuln #x1253) + (progress-cheats-statistics #x1254) + (progress-cheats-suck-in-all #x1255) + (progress-cheats-music-player #x1256) + (progress-cheats-no-textures #x1257) + (progress-cheats-fast-movies #x1258) + (progress-cheats-slow-movies #x1259) + (progress-cheats-fast-speed #x125a) + (progress-cheats-slow-speed #x125b) + (progress-cheats-fast-travel #x125c) + (progress-cheats-orb-tracker #x125d) + (progress-cheats-real-time-of-day #x125e) + (progress-cheats-city-peace #x125f) + (progress-cheats-board-tricks #x1260) + (progress-cheats-weather-bad #x1261) + (progress-cheats-weather-good #x1262) + (progress-camera-options #x1280) + (progress-camera-options-first-horz #x1281) + (progress-camera-options-first-vert #x1282) + (progress-camera-options-third-horz #x1283) + (progress-camera-options-third-vert #x1284) + (progress-reset-to-default #x1285) + (progress-normal #x1286) + (progress-inverted #x1287) + (progress-ps2-parts #x1288) + (progress-discord-rpc #x1289) + (progress-lod-default #x128a) + (progress-lod-low #x128b) + (progress-lod-high #x128c) + (progress-credits #x128d) ) ;; ---text-id-h:text-id diff --git a/game/assets/jak1/text/game_custom_text_ja-JP.json b/game/assets/jak1/text/game_custom_text_ja-JP.json index 4dfd3e9be8..bb5dc4ec10 100644 --- a/game/assets/jak1/text/game_custom_text_ja-JP.json +++ b/game/assets/jak1/text/game_custom_text_ja-JP.json @@ -27,8 +27,8 @@ "1037": "PS2 アスペクト レーショ", "1038": "PS2アスペクトひが ゆうこうになると、4X3と16X9しか せんたくできません ぞっこうしますか?", "1039": "アスペクト レシオ (PS2)", - "1040": "じまく オン", - "1041": "じまく オフ", + "1040": "じまくあり", + "1041": "じまくなし", "1042": "テキストのことば", "1043": "ディスプレー", "1044": "ディスプレー ~D", @@ -92,7 +92,7 @@ "1119": "CATALÀ", "111a": "ÍSLANDSKA", "1500": "スピードラン モード", - "138": "PLEASE DO NOT REMOVE OR INSERT ANY PERIPHERALS, TURN OFF YOUR SYSTEM OR SHUT DOWN THE GAME", + "138": "しゅうへんききをぬいたり, さしたり, でんげんを きったりは しないでください", "161": "このアイコンが あらわれているあいだ、しゅうへんききをぬいたり, さしたり, でんげんを きったりは しないでください", "100c": "オートセーブ オフ", "100d": "オートセーブをきっても よろしいでしょうか?", @@ -120,8 +120,8 @@ "10c0": "BGM プレイヤー", "10c1": "SCENE PLAYER", "10c2": "PLAY CREDITS", - "10c3": "きりぬきちょう", - "10d0": "デフォールト", + "10c3": "スクラップブック", + "10d0": "デフォルト", "10d1": "みしよう", "10d2": "セイジィ", "10d3": "セイジィの家", diff --git a/game/assets/jak2/game_text.gp b/game/assets/jak2/game_text.gp index 81c24d8875..7c14810518 100644 --- a/game/assets/jak2/game_text.gp +++ b/game/assets/jak2/game_text.gp @@ -11,6 +11,7 @@ (file "$DECOMP/assets/game_text.txt") ;; this is the decompiler-generated file! ;; add custom files down here (file-json 0 jak2 "common" '("game/assets/jak2/text/game_custom_text_en-US.json")) + (file-json 5 jak2 "common" '("game/assets/jak2/text/game_custom_text_ja-JP.json")) (file-json 7 jak2 "common" '("game/assets/jak2/text/game_custom_text_en-GB.json")) ) diff --git a/game/assets/jak2/subtitle/subtitle_lines_jp-JP.json b/game/assets/jak2/subtitle/subtitle_lines_jp-JP.json index 5f1673594a..3c2e9df46b 100644 --- a/game/assets/jak2/subtitle/subtitle_lines_jp-JP.json +++ b/game/assets/jak2/subtitle/subtitle_lines_jp-JP.json @@ -19,6 +19,12 @@ "cityv008": [ "おかえりなさい." ], + "cityv012": [ + "アクセスきょかできません." + ], + "cityv014": [ + "アクセスきょひ." + ], "cityv015": [ "セキュリティレベル・~3Lレッド~0Lは必要です." ], diff --git a/game/assets/jak2/subtitle/subtitle_meta_jp-JP.json b/game/assets/jak2/subtitle/subtitle_meta_jp-JP.json index 6b4d2937db..81674305a1 100644 --- a/game/assets/jak2/subtitle/subtitle_meta_jp-JP.json +++ b/game/assets/jak2/subtitle/subtitle_meta_jp-JP.json @@ -56,6 +56,28 @@ } ] }, + "cityv012": { + "lines": [ + { + "frame_end": 50, + "frame_start": 0, + "merge": false, + "offscreen": true, + "speaker": "computer" + } + ] + }, + "cityv014": { + "lines": [ + { + "frame_end": 32, + "frame_start": 0, + "merge": false, + "offscreen": true, + "speaker": "computer" + } + ] + }, "cityv015": { "lines": [ { diff --git a/game/assets/jak2/text/game_custom_text_en-US.json b/game/assets/jak2/text/game_custom_text_en-US.json index 8119e87eac..ef549324c2 100644 --- a/game/assets/jak2/text/game_custom_text_en-US.json +++ b/game/assets/jak2/text/game_custom_text_en-US.json @@ -1,12 +1,14 @@ { + "1a3": "Please do not remove or insert any peripherals, turn off your system or shut down the game", + "1b5": "While this icon is on screen, do not remove or insert any peripherals, turn off your system or shut down the game", "1100": "Not in a mission", "1101": "Playing a bonus mission", - "1102": "Playing Scatter Gun Training", - "1103": "Playing Blaster Training", - "1104": "Playing Vulcan Fury Training", - "1105": "Playing Peace Maker Training", - "1106": "Playing Onin Game", - "1107": "Playing Metal Head Mash", + "1102": "Scatter Gun Training Course", + "1103": "Blaster Training Course", + "1104": "Vulcan Fury Training Course", + "1105": "Peace Maker Training Course", + "1106": "Onin Game", + "1107": "Metal Head Mash", "1200": "Display Mode", "1201": "Windowed", "1202": "Fullscreen", @@ -62,5 +64,61 @@ "1234": "Praxis Palace", "1235": "Weapons Factory", "1236": "Arena Race", - "1237": "Dead Town" + "1237": "Dead Town", + "1238": "Window Size", + "1239": "Select Window Size", + "123a": "Game Resolution", + "123b": "Select Game Resolution", + "123c": "Level of Detail (Background)", + "123d": "Level of Detail (Foreground)", + "123f": "Show Subtitle Speaker", + "1240": "Never", + "1241": "When Off Screen", + "1242": "Always", + "1243": "Game Territory", + "1244": "America (SCEA)", + "1245": "Europe (SCEE)", + "1246": "Japan (SCEI)", + "1247": "Korea (SCEK)", + "1248": "MSAA", + "1249": "~DX", + "124a": "Controller LED Options", + "124b": "Show Player State", + "124c": "Show Amount of Health", + "124d": "Disable Auto-Save", + "124e": "Auto-Save Disabled", + "124f": "Are you sure you want to disable auto-save?", + "1250": "Turbo JET-Board in Haven City", + "1251": "Enemy Health Bars", + "1252": "Vehicle Health Bars", + "1253": "Vehicle Invulnerability", + "1254": "Statistics Page", + "1255": "Automatically Grab Collectables", + "1256": "Music Player", + "1257": "No Textures Mode", + "1258": "Fast Movies", + "1259": "Slow Movies", + "125a": "Fast Gameplay", + "125b": "Slow Gameplay", + "125c": "Instant Travel in Haven City", + "125d": "Precursor Orb Tracker", + "125e": "Real Time of Day", + "125f": "Pacified Haven City", + "1260": "JET-Board Trick Display", + "1261": "Bad Weather", + "1262": "Nice Weather", + "1280": "Camera Options", + "1281": "Left/Right (First Person)", + "1282": "Up/Down (First Person)", + "1283": "Left/Right (Third Person)", + "1284": "Up/Down (Third Person)", + "1285": "Reset to Default", + "1286": "Normal", + "1287": "Inverted", + "1288": "Particle Culling", + "1289": "Discord Rich-Presence", + "128a": "Default", + "128b": "Low", + "128c": "High", + "128d": "Credits" } diff --git a/game/assets/jak2/text/game_custom_text_ja-JP.json b/game/assets/jak2/text/game_custom_text_ja-JP.json new file mode 100644 index 0000000000..be021bc4b6 --- /dev/null +++ b/game/assets/jak2/text/game_custom_text_ja-JP.json @@ -0,0 +1,14 @@ +{ + "1a3": "しゅうへん機器をぬいたり, さしたり, 電源を 切ったりは しないでください", + "1b5": "このアイコンが あらわれている間、しゅうへん機器をぬいたり, さしたり, 電源を 切ったりは しないでください", + "1215": "デフォルト", + "1216": "モーフィング・ガン", + "1217": "ジェットボード", + "1218": "タイタンスーツ", + "1219": "ダークジャック", + "121a": "乗り物", + "124d": "オートセーブを無効にする", + "124e": "オートセーブ オフ", + "124f": "オートセーブを切っても よろしいでしょうか?", + "1288": "パーティクル カリング" +} diff --git a/game/tools/subtitle_editor/subtitle_editor.cpp b/game/tools/subtitle_editor/subtitle_editor.cpp index 7db0b82278..71565ca470 100644 --- a/game/tools/subtitle_editor/subtitle_editor.cpp +++ b/game/tools/subtitle_editor/subtitle_editor.cpp @@ -152,6 +152,10 @@ void SubtitleEditor::draw_edit_options() { const bool isSelected = m_current_language == key; if (ImGui::Selectable(fmt::format("[{}] {}", value->m_lang_id, value->m_file_path).c_str(), isSelected)) { + if (key != m_current_language) { + // different language. get rid of current scene as it will be for the wrong language. + m_current_scene = nullptr; + } m_current_language = key; } if (isSelected) { @@ -433,21 +437,21 @@ void SubtitleEditor::draw_subtitle_options(GameSubtitleSceneInfo& scene, bool cu int i = 0; for (auto subtitle_line = scene.m_lines.begin(); subtitle_line != scene.m_lines.end();) { auto& line_text = subtitle_line->text; - auto& line_speaker = subtitle_line->metadata.speaker; auto& line_meta = subtitle_line->metadata; + auto& line_speaker = line_meta.speaker; int frames[2] = {line_meta.frame_start, line_meta.frame_end}; std::string summary = subtitle_line_summary(*subtitle_line, line_meta, m_subtitle_db.m_banks[m_current_language]); if (line_text.empty()) { ImGui::PushStyleColor(ImGuiCol_Text, m_disabled_text_color); - } else if (subtitle_line->metadata.offscreen) { + } else if (line_meta.offscreen) { ImGui::PushStyleColor(ImGuiCol_Text, m_offscreen_text_color); } if (ImGui::TreeNode(fmt::format("{}", i).c_str(), "%s", summary.c_str())) { - if (line_text.empty() || subtitle_line->metadata.offscreen) { + if (line_text.empty() || line_meta.offscreen) { ImGui::PopStyleColor(); } - bool hide_line_options = false; + if (is_v1_format()) { ImGui::InputInt("Starting Frame", &frames[0], ImGuiInputTextFlags_::ImGuiInputTextFlags_CharsDecimal); @@ -456,12 +460,7 @@ void SubtitleEditor::draw_subtitle_options(GameSubtitleSceneInfo& scene, bool cu ImGuiInputTextFlags_::ImGuiInputTextFlags_CharsDecimal); } - // no text + text isn't going to be filled automatically by the game - if (line_text.empty() && !line_meta.merge) { - hide_line_options = true; - } - - if (!hide_line_options) { + if (!line_meta.merge) { if (ImGui::BeginCombo( "Speaker", m_subtitle_db.m_banks[m_current_language]->m_speakers.at(line_speaker).c_str())) { @@ -472,22 +471,24 @@ void SubtitleEditor::draw_subtitle_options(GameSubtitleSceneInfo& scene, bool cu ImGui::SetItemDefaultFocus(); } if (ImGui::Selectable(localized_name.c_str(), is_selected)) { - subtitle_line->metadata.speaker = speaker_id; + line_meta.speaker = speaker_id; } } ImGui::EndCombo(); } ImGui::InputText("Text", &line_text, line_meta.merge ? ImGuiInputTextFlags_ReadOnly : 0); - ImGui::Checkbox("Offscreen?", &subtitle_line->metadata.offscreen); + ImGui::Checkbox("Offscreen?", &line_meta.offscreen); if (!is_v1_format()) { ImGui::SameLine(); - if (ImGui::Checkbox("Merge Text?", &subtitle_line->metadata.merge)) { + if (ImGui::Checkbox("Merge Text?", &line_meta.merge)) { // Clear text if they've checked it - if (subtitle_line->metadata.merge) { + if (line_meta.merge) { line_text = ""; } } } + } else { + ImGui::Checkbox("Merge Text?", &line_meta.merge); } ImGui::PushStyleColor(ImGuiCol_Button, m_warning_color); @@ -499,7 +500,7 @@ void SubtitleEditor::draw_subtitle_options(GameSubtitleSceneInfo& scene, bool cu } ImGui::PopStyleColor(); ImGui::TreePop(); - } else if (line_text.empty() || subtitle_line->metadata.offscreen) { + } else if (line_text.empty() || line_meta.offscreen) { ImGui::PopStyleColor(); } line_meta.frame_start = frames[0]; diff --git a/goal_src/jak2/engine/ui/text-id-h.gc b/goal_src/jak2/engine/ui/text-id-h.gc index 14bb98073b..4eeea92824 100644 --- a/goal_src/jak2/engine/ui/text-id-h.gc +++ b/goal_src/jak2/engine/ui/text-id-h.gc @@ -634,6 +634,62 @@ (progress-music-player-palcab-battle #x1235) (progress-music-player-race #x1236) (progress-music-player-ruins #x1237) + (progress-window-size #x1238) + (progress-window-size-decoration #x1239) + (progress-game-res #x123a) + (progress-game-res-decoration #x123b) + (progress-lod-bg #x123c) + (progress-lod-fg #x123d) + (progress-subtitle-speaker #x123f) + (progress-subtitle-speaker-off #x1240) + (progress-subtitle-speaker-auto #x1241) + (progress-subtitle-speaker-on #x1242) + (progress-territory #x1243) + (progress-territory-scea #x1244) + (progress-territory-scee #x1245) + (progress-territory-scei #x1246) + (progress-territory-scek #x1247) + (progress-msaa #x1248) + (progress-msaa-x #x1249) + (progress-led-options #x124a) + (progress-led-state #x124b) + (progress-led-health #x124c) + (progress-disable-auto-save #x124d) + (progress-auto-save-disabled #x124e) + (progress-disable-auto-save-warn #x124f) + (progress-cheats-turbo-board #x1250) + (progress-cheats-health-bars #x1251) + (progress-cheats-vehicle-health-bars #x1252) + (progress-cheats-vehicle-invuln #x1253) + (progress-cheats-statistics #x1254) + (progress-cheats-suck-in-all #x1255) + (progress-cheats-music-player #x1256) + (progress-cheats-no-textures #x1257) + (progress-cheats-fast-movies #x1258) + (progress-cheats-slow-movies #x1259) + (progress-cheats-fast-speed #x125a) + (progress-cheats-slow-speed #x125b) + (progress-cheats-fast-travel #x125c) + (progress-cheats-orb-tracker #x125d) + (progress-cheats-real-time-of-day #x125e) + (progress-cheats-city-peace #x125f) + (progress-cheats-board-tricks #x1260) + (progress-cheats-weather-bad #x1261) + (progress-cheats-weather-good #x1262) + (progress-camera-options #x1280) + (progress-camera-options-first-horz #x1281) + (progress-camera-options-first-vert #x1282) + (progress-camera-options-third-horz #x1283) + (progress-camera-options-third-vert #x1284) + (progress-reset-to-default #x1285) + (progress-normal #x1286) + (progress-inverted #x1287) + (progress-ps2-parts #x1288) + (progress-discord-rpc #x1289) + (progress-lod-default #x128a) + (progress-lod-low #x128b) + (progress-lod-high #x128c) + (progress-credits #x128d) ) ;; ---text-id diff --git a/goal_src/jak2/pc/pckernel-impl.gc b/goal_src/jak2/pc/pckernel-impl.gc index 89b2f016da..953836585e 100644 --- a/goal_src/jak2/pc/pckernel-impl.gc +++ b/goal_src/jak2/pc/pckernel-impl.gc @@ -11,8 +11,8 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - ;; version: 0.1.2.2 -(defconstant PC_KERNEL_VERSION (static-pckernel-version 0 1 2 2)) + ;; version: 0.1.3.2 +(defconstant PC_KERNEL_VERSION (static-pckernel-version 0 1 3 2)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; types and enums @@ -20,14 +20,10 @@ ;; cheats -(defconstant PC_CHEAT_MAX 20) ;; number of cheats +(defconstant PC_CHEAT_MAX 19) ;; number of cheats (defenum pc-cheats :bitfield #t :type uint64 - (eco-green) - (eco-red) - (eco-blue) - (eco-yellow) (turbo-board) (health-bars) (vehicle-health-bars) @@ -44,6 +40,9 @@ (orb-tracker) (real-time-of-day) (city-peace) + (board-tricks) + (weather-bad) + (weather-good) ) ;; pc enum for languages. this is the game's languages + custom ones.