OoT-Randomizer icon indicating copy to clipboard operation
OoT-Randomizer copied to clipboard

Gossip Stone text boxes break for really long text (1200+ characters)

Open ETR-BTF opened this issue 2 years ago • 3 comments

Found by DobbyDigital:

(associated plando files: https://discord.com/channels/274180765816848384/802659695323250729/1121274011222016103)

Here's what I've gotten from my testing:

  • Colour doesn't seem to matter, nor the number of textboxes. Seems to be related just to the length of the text for the specific gossip stone.
  • Different number of characters seem to cause different effects. I've got simple plando files for each (the gossip stone in question is the one outside the storms grotto in KF). In order of character length, these files, thresholds, and effects are:
  • Test_WorkingFine.txt: All textboxes appear normal, no unusual behaviour. This file is set at the upper threshold that I found, any additional character moves to the next stage. This limit seems to be 1269 (nice) characters or fewer. Beyond that weird effects start happening.
  • Test_AButtons.txt: The textboxes are legible, but there's a bizarre texture on the textbox that looks vaguely like a series of A buttons? Mine are vanilla, so really it just looks like a bunch of blue circles. The text itself is unaffected. This texture was only at a very specific character length (1270)
  • Test_NoBoxes.txt: The texture behind the text is just completely gone. The text itself is unaffected. Also seems like this one was a single character length (1271, which apparently I just so happened to hit for the DDR quiz seed)
  • Test_BuggyBoxes.txt: The texture on the boxes is static-like, making it a bit tough to read the text. The text itself is a bit paler, but still legible. This happens for a wide range of values.
  • Test_SuperBuggyBoxes.txt: The texture on the boxes is incredibly static-like. The text itself is incredibly pale, making the boxes basically illegible. Also wide range of values.
  • Test_Crashes.txt: Attempting to read the gossip stone flat out crashes, even on Bizhawk. The limit for this was 1632 characters; 1631 characters resulted in the previous option.

This should probably be tested on the other consoles. Based on the DDR quiz seed, NoBoxes crashes on N64, but unclear for prior options.

Video: https://discord.com/channels/274180765816848384/802659695323250729/1119608703633592522

I've tested these all on Wii VC and got slightly different results. For starters, I got a white upside down triangle icon (the one that appears at the bottom of text boxes to indicate it's not the final text box) in the bottom-right corner of the 9th text box for all test cases. Secondly, for me "BuggyBoxes" had the same effect as "NoBoxes". "SuperBuggy" was either the same as for Dobby, or the same as "BuggyBoxes" for Dobby. It's hard to say since the description is subjective. It still crashed on "Crashes" tho.

In other words, it seems that the character length at which these graphical issues appear differ between N64/emu/VC.

I'll put a warning on the Plandomizer wiki page.

ETR-BTF avatar Jun 22 '23 06:06 ETR-BTF

Correction: Even when manually breaking up text boxes this issue occurs. So it's just about character limit on text boxes. Not sure if it's just Gossip Stones or also other sources of text boxes.

ETR-BTF avatar Jun 22 '23 06:06 ETR-BTF

I've tested these all on Wii VC and got slightly different results. For starters, I got a white upside down triangle icon (the one that appears at the bottom of text boxes to indicate it's not the final text box) in the bottom-right corner of the 9th text box for all test cases.

Dobby got this too but forgot to mention it.

ETR-BTF avatar Jun 22 '23 12:06 ETR-BTF

I believe OoT allocates 1280 bytes for a message: https://github.com/zeldaret/oot/blob/e272186b5f44f097915e135633492f7c28a40e2b/include/z64message.h#L115C14-L115C18

My recommendation for this issue is to cap character length of plando gossip text to some value below that.

Cuphat avatar Aug 13 '23 19:08 Cuphat