constant-text-fade-duration#441
Conversation
49da004 to
4e4c6e4
Compare
PringlesGang
left a comment
There was a problem hiding this comment.
Overall structure is quite good
47a4ced to
5a4ac9d
Compare
PringlesGang
left a comment
There was a problem hiding this comment.
The glyph start progress should be dependent on TextSpeed, and their end progress should be an offset away from that starting progress depending on TextFadeInDuration and the currently predicted remaining duration of the line, such that it ends TextFadeInDuration seconds after the beginning progress
278573b to
b64b6e7
Compare
0ef220f to
43261a9
Compare
…press 'advance' during the cancellation of the original line
43261a9 to
8dfe744
Compare
|
For voiced lines, it feels like it's not really fading in, but just kinda blinking into existence (or the fade is super sudden) |
What lines specifically? For me voiced lines just kinda fade in as they should. Do you maybe have Sync Voice disabled? |

Makes it so glyphs start fading in based on the progress of the typewriter, but the fading in of each individual glyph takes a constant amount of time
The fading should be smooth (based on
dt), and should be resilient to changing theConfigSystem::TextSpeedandConfigSystem::SyncVoicemid-typewritingAlso fixes an issue where if you press 'advance' whilst the typewriter is cancelling (that is, you press 'advance' while it is typewriting so all glyphs start fading in immediately, and then press 'advance' again as these glyphs are still fading in), the cancellation would carry over to the next line as well, immediately cancelling it
This is a deceptively complex change, as the glyph fading progress used to be a direct calculation from the animation progress—now only the start time is; the opacity of each glyph is updated accordingly by incrementing and decrementing the opacity dynamically
The
DialoguePage's state is dependent on the typewriter's progress, so when reviewing please take careful consideration and verify whether this state machine can not break with this new implementation- Pringles