Still working on this. The core features are in-place. The delay is due to a scope increase.
Considering the background of SDT, I thought that it would be silly to release this mod
without adding support for Japanese. But we quickly run into a problem: the code is racist. It implicitly assumes that each glyph corresponds to
one or fewer phonemes. That's fine in English; we employ diphthongs and many silent consonants in our speech. But katakana/hiragana is different; a glyph denotes a syllable and therefore it usually describes
one or more phonemes.
Kanji is even more extreme but I'm not going to touch that.
I can inject additional mouth-shapes into the animation sequence without difficulty, but the game's timing logic is built around the original assumption. If you give it a word which contains three glyphs and six phonemes, then it will animate the first three mouth-shapes as it prints the first three glyphs. It will then discard/ignore the remaining mouth-shapes, and move on to the next word.
Banana (バナナ) would be "voiced" as ban (バン). We can compensate by ignoring the consonants and animating only the vowels, but the result is still stupid. バナナ becomes アアア. A delicious fruit has been replaced by a scream of terror.
The game is also "tuned" based on the expectation of silent letters, which allow the facial features to relax or hold still for a few frames. When
every glyph forces a change in mouth-shape, the resulting animation seems to be uncomfortably rapid. If we
double the animation pace (2 shapes per glyph) then the girl's speech would seem to be
hyperactive. We can solve that problem by altering the output speed: 2
shapes per glyph is fine so long as the number of
glyphs per second is reduced. This fix might annoy Japanese readers, because the dialogue text is now printed at an unreasonably slow pace. Meh; if they don't like it then they can open up the Settings file and alter the
typingSpeed parameter.
-------------
The
proper fix for the linguistic problems would involve a many-to-many relation between glyphs and animations
(with some additional options for timing and sync, because the SDT code is fairly weak in that department). The proper fix is technically feasible (lProxy is a very powerful and flexible tool) but it's
not going to happen here. It simply isn't worthwhile to add 1000 lines of code in order to manage seven mouth-shapes. But I'll keep it in mind for the future.
So this is going to be a hack. There are a few different ways to do it; I'm still searching for the least-disruptive option. Fortunately it looks like there's minimal overlap between this mod and dialogueActions, so compatibility shouldn't be too much of a concern.