jak-project/common/util
Tyler Wilding c87db7e670
i18n: subtitle code cleanup and update new subtitle JSON files to be compatible with Crowdin (#2802)
The main thing that was done here was to slightly modify the new
subtitle-v2 JSON schema to be more similar to the existing one so that
it can properly be used in Crowdin.

Draft while I double-check the diff myself

Along the way the following was also done (among other things):
- got rid of as much duplication as was feasible in the serialization
and editor code
- separated the text serialization code from the subtitle code for
better organization
- simplified "base language" in the editor. The new subtitle format has
built-in support for defining a base language so the editor doesn't have
to be used as a crutch. Also, cutscenes only defined in the base come
first in the list now as that is generally the order you'd work from
(what you havn't done first)
- got rid of the GOAL subtitle format code completely
- switched jak 2 text translations to the JSON format as well
- found a few mistakes in the jak 1 subtitle metadata files
- added a couple minor features to the editor
- consolidate and removed complexity, ie. recently all jak 1 hints were
forced to the `named` type, so I got rid of the two types as there isn't
a need anymore.
- removed subtitle editor groups for jak 1, the only reason they existed
was so when the GOAL file was manually written out they were somewhat
organized, the editor has a decent filter control, there's no need for
them.
- removed the GOAL -> JSON python script helper, it's been a month or so
and no one has come forward with existing translations that they need
help with migrating. If they do need it, the script will be in the git
history.

I did some reasonably through testing in Jak1/Jak 2 and everything
seemed to work. But more testing is always a good idea.

---------

Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com>
2023-07-09 02:53:39 +01:00
..
Assert.cpp logs: replace every fmt::print with a lg call instead (#1368) 2022-10-01 11:58:36 -04:00
Assert.h [decomp] finish up debug.gc, get boundary rendering working (#1944) 2022-10-08 17:02:40 -04:00
BinaryReader.h lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
BinaryWriter.h extractor: cleanup, support unicode properly, and add multi-game support (#1609) 2022-07-05 20:38:13 -04:00
BitUtils.cpp update readme and fix always playing str (#1139) 2022-02-08 19:02:47 -05:00
BitUtils.h [decompiler] jak 2 cutscene file support (#2390) 2023-03-22 21:31:13 +00:00
colors.h [graphics] Ocean Mid (in progress) (#1232) 2022-03-14 19:47:29 -04:00
compress.cpp lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
compress.h Fix GCC 12 build (#1530) 2022-06-23 16:16:48 -04:00
CopyOnWrite.h lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
crc32.cpp CI: Add a macOS Github runner (#2064) 2022-12-22 18:12:59 -05:00
crc32.h lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
dgo_util.cpp game: Remove temporary CLI arg shim in gk (#2532) 2023-04-22 14:13:57 -04:00
dgo_util.h game: Remove temporary CLI arg shim in gk (#2532) 2023-04-22 14:13:57 -04:00
DgoReader.cpp lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
DgoReader.h lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
DgoWriter.cpp [jak2] support for multiple out/ directories (#1585) 2022-06-30 21:11:58 -04:00
DgoWriter.h extractor: cleanup, support unicode properly, and add multi-game support (#1609) 2022-07-05 20:38:13 -04:00
dialogs.cpp game: Improve OpenGL version detection and make requirement errors more obvious to the user (#2787) 2023-06-30 21:05:58 -04:00
dialogs.h game: Improve OpenGL version detection and make requirement errors more obvious to the user (#2787) 2023-06-30 21:05:58 -04:00
diff.cpp goalc/repl: cleanup of goalc/REPL code and some QoL improvements (#2104) 2023-01-07 11:24:02 -05:00
diff.h goalc/repl: cleanup of goalc/REPL code and some QoL improvements (#2104) 2023-01-07 11:24:02 -05:00
FileUtil.cpp input: Hopefully make keyboard/mouse handling more consistent (#2807) 2023-07-08 10:45:56 -04:00
FileUtil.h game: Migrate from GLFW to SDL2 & attempt to rewrite / simplify display and input code (#2397) 2023-06-04 15:34:37 -04:00
FilteredValue.h [graphics] TIE extractor (#1026) 2021-12-26 12:33:51 -05:00
FontUtils.cpp i18n: subtitle code cleanup and update new subtitle JSON files to be compatible with Crowdin (#2802) 2023-07-09 02:53:39 +01:00
FontUtils.h i18n: subtitle code cleanup and update new subtitle JSON files to be compatible with Crowdin (#2802) 2023-07-09 02:53:39 +01:00
FrameLimiter.cpp support c++ tools on macos (#2063) 2022-12-22 17:12:05 -05:00
FrameLimiter.h add more comments/docstrings on first 58 files, try new windows-specific framelimiting (#1134) 2022-02-05 16:30:50 -05:00
json_util.cpp lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
json_util.h LSP: OpenGOAL Feature Support - Part 1 (#2668) 2023-05-21 17:24:23 -04:00
math_util.h Update documentation and clean up (#129) 2020-11-21 12:52:38 -05:00
os.cpp Make setup_cpu_info work on (Intel) Macs (#2798) 2023-07-04 18:19:34 -04:00
os.h [graphics] reduce the size of fr3 files (#1175) 2022-02-16 22:13:18 -05:00
print_float.cpp [decomp] collectables, fix float bug in a few files (#2082) 2023-01-01 18:05:31 -05:00
print_float.h [decomp] collectables, fix float bug in a few files (#2082) 2023-01-01 18:05:31 -05:00
Range.h [goalc] register allocator v2 (#731) 2021-08-01 17:46:55 -04:00
read_iso_file.cpp support c++ tools on macos (#2063) 2022-12-22 17:12:05 -05:00
read_iso_file.h support c++ tools on macos (#2063) 2022-12-22 17:12:05 -05:00
Serializer.h [tie] support per-proto visibility flags (#2212) 2023-02-11 12:00:05 -05:00
set_util.h decomp: don't mutate allowed/banned object lists (#2073) 2022-12-30 23:57:01 -05:00
SimpleThreadGroup.cpp lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
SimpleThreadGroup.h lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
SmallVector.h lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
string_util.cpp i18n: subtitle code cleanup and update new subtitle JSON files to be compatible with Crowdin (#2802) 2023-07-09 02:53:39 +01:00
string_util.h i18n: subtitle code cleanup and update new subtitle JSON files to be compatible with Crowdin (#2802) 2023-07-09 02:53:39 +01:00
term_util.cpp tests: make the offline tests aware of the current terminals row count (#2105) 2023-01-07 10:35:12 -05:00
term_util.h tests: make the offline tests aware of the current terminals row count (#2105) 2023-01-07 10:35:12 -05:00
Timer.cpp support c++ tools on macos (#2063) 2022-12-22 17:12:05 -05:00
Timer.h lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
Trie.h docs: Automatically generate documentation from goal_src code (#2214) 2023-02-20 19:49:37 -05:00
unicode_util.cpp Fix UTF-8 handling when running the game, env-vars, and setting the project path (#1632) 2022-07-10 19:03:24 -04:00
unicode_util.h utf8: fix locale mis-handling on linux (#1698) 2022-07-23 10:30:23 -04:00