Skip to content

Increase y spawn coordinate of dead hand to avoid spawning out of bounds#2497

Merged
fenhl merged 1 commit intoOoTRandomizer:Devfrom
GSKirox:dead_hand_y_spawn
Dec 12, 2025
Merged

Increase y spawn coordinate of dead hand to avoid spawning out of bounds#2497
fenhl merged 1 commit intoOoTRandomizer:Devfrom
GSKirox:dead_hand_y_spawn

Conversation

@GSKirox
Copy link
Collaborator

@GSKirox GSKirox commented Dec 12, 2025

Fixes #1486

#1455 didn't fully fix the spawns, as can be seen in this 8.3 seed clip from last week : https://www.twitch.tv/jimbotv/clip/SassyPlausibleTitanGivePLZ-TKCTdeJ_5JqkecGG
After testing around, turns out one corner of the room (both rooms in BotW and Shadow) has a small rubble geometry which is higher than the base ground of the room. If Dead Hand spawns in there, which are indeed possible spawn coordinates within the RNG values, he'll fall down to the plane below and will never spawn in the room.

A simple solution is to increase the Y coordinate of Dead Hand spawn. This one is not touched by RNG, and the height doesn't really matter as long as it is above the ground, since its actor will snap down at the ground below at initialization anyway. So as long as we put a value above the problematic corner Y, then nothing will change except that it will spawn correctly in this particular area.

I choose an arbitrary +66 value to ensure to be above the highest ground of the room.

MQ is the same geometry so we can put the same values for the same 2 rooms in mqu.json
The second Dead Hand in MQ Shadow seems to work fine with Engineer's original fix, i tried all 4 maximum corner values and all worked correctly

Took the occasion to add Dead Hand rooms to the debug menu cause for some reason i didn't put them originally.

Testing

Made a specific branch with a C hook in EnDh_SetupWait to easily manipulate the spawn coordinates of Dead Hand : https://github.com/GSKirox/OoT-Randomizer/tree/dead_hand_fix_the_final
Tested all 4 corner values in all 5 instances of Dead Hand (1 in vanilla BotW, 1 in MQ BotW, 1 in vanilla Shadow, 2 in MQ Shadow), confirmed that only one specific corner of BotW (vanilla/MQ) and the first Dead Hand in Shadow (vanilla/MQ) spawns oob.
Tested the fix, confirmed that forcing the spawn in the problematic corner now spawns correctly in all 4 instances.
And finally tested the fix without forcing the spawn, and confirmed with a few tries in each room that the Y coordinates correctly snaps down to the ground value.

@GSKirox GSKirox added Type: Bug Something isn't working Component: ASM/C Changes some internals of the ASM/C libraries Status: Needs Review Someone should be looking at it Component: Patching Affects the patching of the ROM labels Dec 12, 2025
@fenhl fenhl removed the Status: Needs Review Someone should be looking at it label Dec 12, 2025
@fenhl fenhl added this to the next milestone Dec 12, 2025
@fenhl fenhl added Status: Needs Review Someone should be looking at it and removed Status: Needs Review Someone should be looking at it labels Dec 12, 2025
@fenhl fenhl merged commit ce53b35 into OoTRandomizer:Dev Dec 12, 2025
4 of 6 checks passed
@GSKirox GSKirox deleted the dead_hand_y_spawn branch December 17, 2025 07:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Component: ASM/C Changes some internals of the ASM/C libraries Component: Patching Affects the patching of the ROM Type: Bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dead Hand Spawns OoB

2 participants