snesrev / zelda3

https://discord.gg/AJJbJAzNNJ
Other
4.2k stars 347 forks source link

Boolean option to fix all vanilla bugs #126

Open FitzRoyX opened 1 year ago

FitzRoyX commented 1 year ago

Same-frame action conflicts

use mirror + use a telepathic tile (haywire) use mirror + read dark world sign (pause flicker) use mirror + jump off dungeon ledge (haywire) use mirror + open a chest (frozen movement) drink potion + read sign (frozen movement) drink potion + trigger exterior screen transition (haywire) ☑drink potion + go through door (haywire) (same bug can cause camera desync in the PoD 3x mimic room) go through mirror portal + go through door (haywire)

Missing clearances

☑ mirror while link_is_on_ice_state = 1 or 2 (retain momentum) ☑ mirror while link_is_on_conveyor_belt = 1 (retain momentum and clip into wall) ☑ mirror while link_is_near_movable_statue = 1 (pull thin air and glitch camera) ☑ quit while bg1_y_offset and bg1_x_offsetscreen > 0 from armos boss stomp (lumberjack tree falls on its own) ☑ quit while link_is_jumping_off_dungeon_ledge = 1 (clip under floor and walls) ☑ quit while mosaic_level > 0 (skip starting location prompt) ☑ dash bonk or dash exit while link_is_on_pit_ledge = 1 (walk on deep water if jumping south onto it) (also causes the extended staircase glitch with somaria block) ☑ death while flag_custom_spell_anim_active = 1 (can't save until casting again)

Missing checks

☑ If you pull on something while wearing the magic cape, your magic meter doesn't drain while doing it. ☑ The recoil function does not check if Link has flippers or is a bunny before clearing the invulnerability flag, so there is 1 hittable frame as you hit the water. Link without flippers fairy revives into an immobile swim state, and bunny Link revives into swimming Link. ☑ The dash function does not check if the dash button is held down. So if you perfectly spamcancel it, you can levitate across chasms. ☑ The code that draws a dark world tree's face fails to check if enough sprites are available to spawn the eyes, stuff gets written out of bounds and a wallmaster warp is triggered taking you to your last visited underground. ☑ The function that adds Kiki as a follower fails to check if you already have a super bomb follower and the bomb bugs out. Note that this is only possible when sequence breaking. ☑ The function that changes Link's animations fails to check if the boomerang is still in your hand when a pausing animation is triggered. This causes the boomerang to hover in midair and become irretrievable until a screen change. ☑ If all ancillary slots are full after a boss is defeated, its heart prize will not drop and you'll be stuck in the boss room. ☑ The function fragment that adjusts the animation steps for bunny link fails to include the tempbunny player state, so it appears too fast like you're slipping on a ledge.

Misc

If you stand next to left-facing diagonal cliff walls and alternate between pressing down for 1 frame and left+up for 1 frame, you will slowly clip into them. After 9 cycles of this, if you press left+down, you will teleport across the wall.

☑If you die as a permabunny, Link's death animation does not restore Link's human palette.

Pushable blocks lose their solidity with projectiles while they're moving.

Pushable blocks lose their dimness while moving in a dimmed room.

If you fairy revive in the hallway below the 3x mimic room in Palace of Darkness, the camera will desync when you enter the room.

If you bonk into the rail after leaving the tube that leads to the 2x hokkubokku room in Turtle Rock, the camera will desync when you enter the room.

Apples can't be retrieved via hookshot or boomerang like other consumables.

If you throw a bomb or somaria block over the death mountain bridge, it will land on the sky and clouds instead of falling.

If you throw a bomb or somaria block into dungeon water that is over a floor, it will land on water instead of sink.

Stalfos can walk onto dungeon water.

If you manage to relight the left ganon torch before the right one goes out, the right one never goes out and stays lit forever.

If you light two torches on the same tile row simultaneously, they will both extinguish but graphically the left one will stay lit.

If you trigger a screen transition while moving between shallow and deep water as a bunny with flippers, you will walk on water.

☑ You will drop permabunny status if you (1) fairy revive over deep water (2) get grabbed by a wallmaster (3) die in a dungeon and choose continue.

☑ You will regain basic abilities while in bunny form if you (1) fall down an access hole or pit (2) purchase an item.

If you activate the weather vane bird with 2 arrows, 2 bombs, and the boomerang onscreen, the game will hang.

If you go through a door while the cape's poof graphics are still visible, you will lose control of link.

If you get hit by Vitreous' lightning or Ganon's fire ring while wearing the cape and in a bonk recoil state, link will move uncontrollably until his magic expires.

☑ Link's gauntlet palette reverts to ungloved when you do any of these: (1) open the overworld map (2) open the dungeon map and enter another room (3) get electrocuted (4) use the Ether medallion (5) get hit by a rabbit beam.

☑ The discovery chime is missing when lifting the rock covering the magic portal leading to the Ice Temple.

☑ The current music track restarts abruptly the first time you enter a whirlpool after a screen change.

☑ Mothula takes no damage from golden sword swings/spins and tempered sword spins.

☑ Kholdstare's ice melting visual effect is instant instead of gradual.

☑ The knockback sound effect does not play when you attack Moldorm's head.

☑ If you kill a Pikit with Ether as it's stealing your red shield, then retrieve it, the shield will turn blue until a screen change.

☑ If you mirror in the dark world where the mushroom spawns in the light world, and the mushroom is still there, the graphics will corrupt.

☑ A medallion cast can be interrupted and drain magic if you (1) are walking along a pit ledge (2) cast on the same frame as releasing a spin attack (3) cast on the same frame you start a cliff jump.

☑ If you hit a specific tile of a bonkable object with your hookshot or boomerang prior to bonking it, the item that it drops will be immediately collected upon bonking it.

☑ If you zap a Cane of Somaria block, then place another one and throw it, then use the lamp while it's bouncing, its bounce velocity and direction will be affected.

☑ If you place a Cane of Somaria block on the floor switch in Skull Woods entrance 2, then exit the dungeon, the game will hang. The cause of this bug also causes the screen to jump 1px during interior to exterior screen transitions.

☑ If you use the Cane of Somaria while two bombs and the boomerang are active, magic will be refunded instead of used. If the magic meter fills to max doing this, its graphics will corrupt.

☑ If you use the Cane of Somaria with an empty magic meter, then quickly switch to the mushroom or magic powder after the "no magic" prompt, you will automatically sprinkle magic powder despite pressing no button and having no magic.

☑ If you dash with almost no magic left into an anti-fairy while wearing the magic cape, there's a chance that the magic meter will glitch out and loop around to being full. This can be challenging to trigger.

☑ If you stand next to right-facing diagonal cliff walls while in a charged sword state, then press right+dash for 1 frame, you will slowly clip into the wall. Eventually you will jump over the wall and trigger a variety of issues.

☑ If you release a spin attack while being moved into another room quadrant by a bounce recoil, conveyor, or somaria platform, the camera will desync when you change rooms.

☑ If you enter a staircase on the same frame that a skull door opens, enemy spawn locations desync.

☑ If you collect a fairy or heart with the boomerang or hookshot, there's a chance it will heal you twice.

☑ A ticking super bomb will cancel and teleport back to you as a follower if you do any of these at count 0: (1) screen transition via walk, mirror, or bird travel (2) fill all ancillary slots (3) fairy revive from death.

☑ Three Ku enemies in the Swamp of Evil have shallow water spawn coordinates, but no ability to spawn there, causing them to be invisible and immune to melee attacks. Killing them with an arrow will cause temporary visual glitches.

☑ Swamolas in the Swamp of Evil can temporarily cause visual glitches depending on how many are active and where they are offscreen.

snesrev commented 1 year ago

Are those things fixed in any rom patch?

FitzRoyX commented 1 year ago

Yeah, there are some here https://www.zeldix.net/t385-original-alttp-bug-fixes

Note that not all of these may be proper fixes or even bugs at all. I believe the death counter thing is intentional. And I don't think disabling grabbing sounds like the right fix for the cape grabbing bug. I also don't know what all the cane of somaria glitches are.