Pots destroyed by L2-L4 Sword
Zeldix :: Zelda III Hacking :: Patches :: Items
Page 1 of 2
Page 1 of 2 • 1, 2
20140318
Pots destroyed by L2-L4 Sword
Information: destroys pots with Sword level 2, 3 or 4
Rom: ALTTP (US), without header
Screenshots:
Ips Patch: http://bszelda.zeldalegends.net/stuff/Con/pott_l2sword.zip
Code Addresses:
$0x77B70 - 0x77B9B: code to implement feature
$0x77f00- 0x77f18: bugfix to not ram posts into ground with sword
Update: The old hack let you ram posts into the ground with the sword (posts on the overworld and these little "face"-tiles in dungeons). So here is a bugfix version that does another test for the hammer when the games checks for these tiles.
ASM
- Code:
; This is for destroying pots with L2 -L4 sword.
;WRITTEN: by Conn and XaserLE
;THANKS TO: -MathOnNapkins' Zelda Doc's
; -wiiqwertyuiop for his Zelda Disassembly
;header
lorom
ORG $01DABD ; go to the code that handles hammer-destroyable objects
JMP.l $0EFB70 ; insert a jump to unused space
org $0EFB70 ; go to unused space
LDA $0301 ; load the slot that tells us if link has something in his hand poised to strike (boomerang, rods, powder....)
AND #$0002 ; check if it was the hammer
BEQ $04 ; if not (AND was zero), go to next test (sword)
JMP.l $01DAC5 ; otherwise jump to the code that handles destroying the object
LDA $0354 ; load animation state of link (0x27 means sword strike)
AND #$0027 ; check if sword was used
BNE $04 ; if it was the sword (AND was not zero), go for testing the sword level
JMP.l $01DAB6 ; otherwise leave this whole routine (leads to a reset of cpu flags and a RTL)
LDA $7EF359 ; load sword level
AND #$00FF ; isolate last 8 bits
CMP #$0001 ; check sword level ($00 = No Sword ; $01 = L1-Sword ; $02 = Master Sword ; $03 = Tempered Master Sword ; $04 = Magic Master Sword)
BNE $04 ; if CMP is not zero, our sword level is higher than 1, so do the code that handles destroying the object
JMP.l $01DAB6 ; otherwise leave this whole routine (leads to a reset of cpu flags and a RTL)
JMP.l $01DAC5 ; this leads to the code for object destroying
; The following will hinder to ram posts into the ground with the sword (side-effect of the above code, cause hammer can do this).
ORG $01DAFC ; go to the code that checks for the hammer-destroyable "face"-tiles (we jump to a CMP instruction)
JMP.l $0EFf00 ; insert a jump to unused space
nop
ORG $0EFf00 ; go to unused space
CMP #$4040 ; check accumulator for "face"-tile
BEQ $04 ; if "face"-tile (CMP was zero), go for "hammer was used" test
JMP.l $01DB16 ; else jump to next tile test
LDA $0301 ; load the slot that tells us if link has something in his hand poised to strike (boomerang, rods, powder....)
AND #$0002 ; check if it was the hammer
BNE $04 ; if it was the hammer (AND was not zero), go back to normal code and keep ramming the post into the ground
JMP.l $01DAB6 ; otherwise leave this whole routine (leads to a reset of cpu flags and a RTL)
JMP.l $01DB01 ; go back to normal code
Conn- Since : 2013-06-30
Pots destroyed by L2-L4 Sword :: Comments
Would you please restore the "item dash" glitch, from the Japanese version 1.0 copy of the game, into the all-in hack. It works by pressing the "Y" button, at the same time as holding the "A" button, which replaces the sword with whatever item you were using. I would like to have a patch made to re-implement the glitch.
Thank you for helping.
Last edited by stgiga on Sun 1 Feb 2015 - 15:03; edited 1 time in total (Reason for editing : I am revising what I said.)
Thank you for helping.
Last edited by stgiga on Sun 1 Feb 2015 - 15:03; edited 1 time in total (Reason for editing : I am revising what I said.)
I tried, you see Y-pressed is stored to $F4. The read is disabled if a value is written to $5d (#$11 for dash). If I'd disable this this affects the whole Rom as the hookshot also writes to $5d (#$13) to not use other items while the Routine is executed..
This will render the complete Rom unplayable so I have to decline "this request".
This will render the complete Rom unplayable so I have to decline "this request".
I've noticed there's some weirdness with the hitbox of this patch. It doesn't seem to quite line up with the sword hitbox on the L2+ swords. Specifically, at the extreme range of the hitbox sword, you can hit the pot without it breaking. I originally thought that maybe it was still using the original hammer hitbox, but I tested that and that doesn't seem to be the case either (see the second pot in the video). So the pot breaking hitbox has a longer range than the hammer, but a shorter range than the sword. It's not a huge issue, but I do quite often find myself thinking "I'm sure I hit that, why didn't it break?"
I am not sure whether this is fixable. I did not alter the collision detection routines. I guess that the pot is marked as hit at a certain pixel first and then destroys. Check the bushes, they seem to have the same issue.
I don't think this is a problem though, since it is logical you need to stand close to a pot to breake it.
It's not a problem necessarily, but I don't think it's logical, because you can see that you've hit it, but it doesn't break (e.g. 0:03 in the video). Not really a big deal, but it is something I noticed.
Page 1 of 2 • 1, 2
Similar topics
» Brake pots with asm (new code)
» Can not move when holding sword
» Get L2 Sword out of chest
» Collect items with sword
» stronger sword beam
» Can not move when holding sword
» Get L2 Sword out of chest
» Collect items with sword
» stronger sword beam
Permissions in this forum:
You cannot reply to topics in this forum