jak-project/common
ManDude 18ddd1613c
Jak 2 pc subtitle support (#2672)
Adds support for adding custom subtitles to Jak 2 audio. Comes with a
new editor for the new system and format. Compared to the Jak 1 system,
this is much simpler to make an editor for.

Comes with a few subtitles already made as an example.
Cutscenes are not officially supported but you can technically subtitle
those with editor, so please don't right now.

This new system supports multiple subtitles playing at once (even from a
single source!) and will smartly push the subtitles up if there's a
message already playing:

![image](https://github.com/open-goal/jak-project/assets/7569514/033e6374-a05a-4c31-b029-51868153a932)

![image](https://github.com/open-goal/jak-project/assets/7569514/5298aa6d-a183-446e-bdb6-61c4682df917)

Unlike in Jak 1, it will not hide the bottom HUD when subtitles are
active:

![image](https://github.com/open-goal/jak-project/assets/7569514/d466bfc0-55d0-4689-a6e1-b7784b9fff59)

Sadly this leaves us with not much space for the subtitle region (and
the subtitles are shrunk when the minimap is enabled) but when you have
guards and citizens talking all the time, hiding the HUD every time
anyone spoke would get really frustrating.

The subtitle speaker is also color-coded now, because I thought that
would be fun to do.

TODO:
- [x] proper cutscene support.
- [x] merge mode for cutscenes so we don't have to rewrite the script?

---------

Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com>
2023-06-08 01:04:16 +01:00
..
audio logs: replace every fmt::print with a lg call instead (#1368) 2022-10-01 11:58:36 -04:00
cross_os_debug [windows] make the games start up in the user's preferred system UI language (#2267) 2023-02-26 09:46:57 -05:00
cross_sockets goalc/repl: cleanup of goalc/REPL code and some QoL improvements (#2104) 2023-01-07 11:24:02 -05:00
custom_data pack tfrag normals into 10 bits (#2625) 2023-05-06 02:08:33 +01:00
dma [jak2] combined shadow work PR (#2632) 2023-05-07 12:12:21 -04:00
formatter formatter: handle top level blank lines and better handle comments (#2702) 2023-06-06 20:34:50 -04:00
global_profiler jak2: overlord rework (#2544) 2023-04-29 16:13:57 -04:00
goos [jak 2] Fix possible stereo desync in overlord (#2663) 2023-05-19 21:17:11 -04:00
log LSP: OpenGOAL Feature Support - Part 1 (#2668) 2023-05-21 17:24:23 -04:00
math [jak2] add sprite glow renderer (#2232) 2023-02-20 20:25:45 -05:00
repl game: Remove temporary CLI arg shim in gk (#2532) 2023-04-22 14:13:57 -04:00
serialization Jak 2 pc subtitle support (#2672) 2023-06-08 01:04:16 +01:00
texture W/misc fixes (#1838) 2022-09-05 20:29:12 -04:00
type_system docs: fix method docstrings and grab @file comment blocks to use as a file description (#2289) 2023-02-27 18:58:01 -05:00
util Jak 2 pc subtitle support (#2672) 2023-06-08 01:04:16 +01:00
versions formatter: add tree-sitter dependency and commit early draft work on a proper code formatter (#2536) 2023-04-24 23:46:55 -04:00
CMakeLists.txt Jak 2 pc subtitle support (#2672) 2023-06-08 01:04:16 +01:00
common_types.h support c++ tools on macos (#2063) 2022-12-22 17:12:05 -05:00
goal_constants.h game: Remove temporary CLI arg shim in gk (#2532) 2023-04-22 14:13:57 -04:00
link_types.h [goalc] compile/run code for jak2 ckernel, set up dummy KERNEL.CGO (#1625) 2022-07-08 19:23:49 -04:00
listener_common.h improve performance on intel graphics (#1041) 2021-12-30 19:38:18 -05:00
symbols.h game: Remove temporary CLI arg shim in gk (#2532) 2023-04-22 14:13:57 -04:00