Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Bug Report: <e><d><e> (similar to previously fixed bug)

A topic by Draque created Jan 11, 2025 Views: 264 Replies: 9
Viewing posts 1 to 8

This is ultimately the same bug as existed with <e>pause<e> in the past. I fixed it by inserting the \u200B character, as you did in the code for <pause>.

Developer

Oh good idea... It can't go directly after the <e> tag since sometimes you want multiple events to be called at once, but in this one instance... I'll have to think of how to account for it!

Heyo, I have completed integration with SuperTextMesh and it is fantastic! I did need to make minor modifications to the base class in ways that I feel would be really useful to have in there for others, though. The way I've done/exposed these things is pretty basic, but done in a way that quickly met my needs (for the record, my needs were just visibility with the two bools, not writing). If future updates allowed these to be done in a way that had official support, I would definitely update to that version right away. Diff is below:

947,948c947,948

<     public bool speedReading = false;

<     public bool skippingToEnd = false; //alt version of speedread that just skips to the end

---

>     private bool speedReading = false;

>     private bool skippingToEnd = false; //alt version of speedread that just skips to the end

1293,1310d1292

<     public void UnsubscribeAllRegisteredEvents()

<     {

<         onCompleteEvent?.RemoveAllListeners();

<         OnCompleteEvent = null;

<         onUndrawnEvent?.RemoveAllListeners();

<         OnUndrawnEvent = null;

<         onRebuildEvent?.RemoveAllListeners();

<         OnRebuildEvent = null;

<         onPrintEvent?.RemoveAllListeners();

<         OnPrintEvent = null;

<         onCustomEvent?.RemoveAllListeners();

<         OnCustomEvent = null;

<         onVertexMod?.RemoveAllListeners();

<         OnVertexMod = null;

<         onPreParse?.RemoveAllListeners();

<         OnPreParse = null;

<     }

<

Developer

Hey, I'm reviewing my list of things to fix, what does your initial problem here refer to? I can't seem to find this previously fixed bug.


Is the issue that "<e=event><d><e=event>" is skipping the delay? Is the second event not being called? What am I looking for?

That is the issue, yes. I have a stopgap in my code that adds in the \u200B character on either side of the delay when it comes up, which seems to fix things. Example of what I'm doing below:

text.Append($"<e={TypeToTextmesh.ANIM_QUIET}>\u200B<d={delayTime}>\u200B<e={TypeToTextmesh.ANIM_TALK}>");

Developer

Got it, ok I found where in my code I had added an extra character to take the delay, I may as well just use that solution for this!

Developer

Ok, after some testing, I think I've got a more versatile solution... The problem is that "<e><d><e>Event!" Will try to put all 3 tags on the "E". 


If I insert a zero-width space after <d>, it doesn't change anything since the event after is still being applied to the same character, which is now just a zero-width space instead of E. (All 3 tags end up on this) So... what I've done instead is:


I've added a tag to quickly insert a zero-width space: <z>

All zero-width spaces on Super Text Mesh have a read delay of zero.

So... to get the effect you're after, the string will now be "<e><d><z><e>" !


I think that's an ok solution! The one I had for pauses worked because it was the very last thing a string would read, while here there's a bit more nuance to the order of operations with tags... I'm not against going back to edit this a bit more in the future, but this should be good for these situations.

Thanks for the updates! Do you have an idea when the next version will be out? I'm in no rush, but I am just planning when I need to carve out some time to get a new version in place. 

Developer

If you want what I've got now, please send me an email through my website with your invoice number!


I've still got a few tweaks I want to do, but I think I'm about ready to publish this.

I'm in no rush, I'll wait for the official release if you're almost there anyhow. Appreciate it, though! :3