Text Displacement

Text Displacement

Note:

This is still very much in investigation. Information is not yet complete on this.

Description

Discovered by Jacquaid

When you speak with an NPC during a cutscene, there is a location in memory which keeps track of the dialogue boxes which are to be shown during the cutscene. As the cutscene progresses, the location in memory is progressively filled with 1's, and when the cutscene dialogue finishes, the location is reverted back to all 0's.

By speaking with an NPC in a "broken cutscene" state, this location in memory is still filled in as before, however, the player still has control in most cases and is not forced to progress through all of the dialogue box sets, thus being able to leave the memory with 1's in place instead of 0's. Having this memory partially filled can result in some oddities if you bring this memory state to other NPCs and cutscenes.

Specifics of each use will depend on the number of times the NPC is spoken to, as the values required differ for each effect.

Note: Visiting the title screen in any manner clears the memory region associated with this glitch. As a result, it does not persist through savewarping or resetting!

Technical Aspect

At bytes 80406F98 and 80406F9C are sixteen bits. The ones shown below which are x's are irrelevant for this glitch, and the / defines the boundary between the bytes.

xxxx-x000/00xx-xxxx

The five 0's present are the five major bits associated with this glitch. As Text Displacement is triggered, these 0's are changed to 1's one at a time with each time the glitch is triggered (i.e. triggering the glitch once makes the corresponding bits 100/00, twice gives 110/00, three times 111/00, etc.). As with a normal cutscene which uses these bits, the bits will be reset to 0's on completion of broken dialogue.

Note that not every cutscene uses these bits. In general cutscenes which are handled ingame that involve dialogue use these, but this is merely a generalization and not a rule. An important note is that the mailman does not use these bits.

There is also another set of four bits at 10648DC5 (address needs conversion, others were at 10648DC0 and 10648DC1), specifically the last four at that value. Gor Coron uses these as well, but this may not be the only place they are used. More investigation is being done on this range.

Jacquaid has a pastebin of information on this located here.

Examples and Uses

Jovani Bottle Glitch

Discovered by Habreno, solved by Jacquaid

By obtaining Text Displacement at least once (setting the first bit), then going to Jovani's House and speaking with Jovani with at least 20 Poe Souls obtained, the cutscene where Jovani gives Link the Bottle of Great Fairy Tears is skipped entirely (the game progresses as though the bottle was already obtained) and the bottle is rendered permanently Lost Forever.

HD Note: A partial fix was implemented for this in TPHD, where the first bit is force-unset before the cutscene triggers, thus awarding the bottle even if Text Displacement was obtained. However, the Poe Lantern, which uses the second bit, was not protected and thus can be rendered Lost Forever if the Jovani Cutscene is viewed with Text Displacement obtained at least twice.

Goron Mines Entry with MS without Spinner

Discovered by Jacquaid

By obtaining Text Displacement at least twice (setting the second bit), then going to the top of Death Mountain and speaking with Gor Coron with the Master Sword obtained, the game will give you the textboxes associated with Gor Coron being defeated in the sumo event. As a result, the events afterward associated with his defeat play out - the elevator shortcut is opened on top and the goron wall blocking Goron Mines is removed. Reloading the area will then allow you to enter Goron Mines.

As a reminder, as the title screen cannot be viewed after obtaining Text Displacement and the Spinner is not yet obtained, Early Elevator cannot be used to reach the top of Death Mountain until after you've displaced Gor Coron's text.

Last updated 10/16/2018 – Tyloxs