From 2338b3e4e782f19caff77de81eb8ce0403215054 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Tue, 14 Mar 2023 06:20:26 -0500 Subject: [PATCH] Fixed item duping issue on OW --- asm/owrando.asm | 30 ++++++++++++++++++++++++++++++ data/base2current.bps | Bin 105783 -> 105806 bytes 2 files changed, 30 insertions(+) diff --git a/asm/owrando.asm b/asm/owrando.asm index c6878285..627b5503 100644 --- a/asm/owrando.asm +++ b/asm/owrando.asm @@ -40,6 +40,10 @@ JSL OWAdjustExitPosition org $02c1a9 JSL OWEndScrollTransition +; org $09AFFB +; jsl OWDestroyDuplicateSprites : nop #2 ; LDA.w $0C9A,X : CMP.w $040A +; db $B0 ; changing following opcode to BCS + org $04E881 Overworld_LoadSpecialOverworld_RoomId: org $04E8B4 @@ -238,6 +242,28 @@ OWWhirlpoolEnd: RTL } +OWDestroyItemSprites: +{ + LDX.b #$0F + .nextSprite + LDA.w $0E20,X + CPY.b #$D8 : BCC .continue + CPY.b #$EC : BCS .continue + .killSprite ; need to kill sprites from D8 to EB on screen transition + STZ.w $0DD0,X + .continue + DEX : BPL .nextSprite + RTL + ; LDA.w $0C9A,X : CMP.w $040A ; what we wrote over + ; BNE .killSprite + ; ; need to kill sprites from D8 to EB + ; CPY.b #$D8 : BCC .keepSprite + ; CPY.b #$EC : BCS .keepSprite + ; .killSprite + ; CLC : RTL + ; .keepSprite + ; SEC : RTL +} OWMirrorSpriteOnMap: { lda.w $1ac0,x : bit.b #$f0 : beq .continue @@ -648,6 +674,10 @@ OWBonkSpritePrep: org $aa9000 OWDetectEdgeTransition: { + PHY : PHX + JSL OWDestroyItemSprites + PLX : PLY + STZ.w $06FC LDA.l OWMode : ORA.l OWMode+1 : BEQ .vanilla JSR OWShuffle diff --git a/data/base2current.bps b/data/base2current.bps index 0ed1d01ce03f420c88e1cac5ad40768007df7aa9..6905656b3ffb644a3b43466e4ea408bce0341e38 100644 GIT binary patch delta 1096 zcmWksdrVVz6u#%Sy={4vG6py%qbce@9x~pOS6iHbc7kqW8v_R!nz}2vOicoZbqK`WJs(uLk3bQw>QdvLAyHS!Bj=0pW{^_gU<>gAF zMSW~wp*iXNgi2zJS#422WzR{nAcOrza#%TF=9ZW1j83)2%$ZJ?KXIp0tt4D$XJzSd z&iz#O2w=ti(65_>R@NGL^M!*JZdqf#sBX7iQkUK7?T9SsS_v&}wdAtL6p7$wdlW~3 zb^8b9C4=6*SNp@i4W2f-+BGDS@>Iw1l8&+JVERhXq)IV;>wdU86# z!t)|0K}Wi}O6u*G>0uG#Vo6@gRvkx1zyTlr(kUID`|B((W2>KdeL(jqy+J;aYRPOc z7|QPsOKiH`eZR|w79!-D=7oq#Vc?7}H#vi(J-$GJl&?B|G;YQ<_{%JalAR2RLPoir z##334`CNTYV;>*T_t>lPQBGjF;kU3n8>%1^)7fw`ZjY6*o-uk|K8f>`e!JDH^GVh3 z3{m<-t2b59Zf|I50$9>-$BG=tgfd)^1Gz%`A_v|Ki+Q;h2gkP!F)1Yt^-dY>y~P7g z#(WOsrG-9EB2zTjWeO54Iz-%qNn)aKqwtbBgMPVb&S1M@nr(8NpSjs29HX4KH|b|_ zbuPRgR}ejhx6mzaRYre{zO;Fb$2D~%niQaeKZlO zzz2P+y!H=e-8-ntZymgsME9g3BZsx89i6;l$~DF}ji? z()@RpUfM@UC#DE9$H)=;N`M$y3h$}#OCO7nvDjW}yT~=hYBtpnQdmVM|u}25la0Wltff_tGG#?VTdfF;&;`m5p^s`s? zEc!%x)XoU8@e(}ggoQmQ$>(P;z=nK?C*}FLBOi(aYCq{`cuTmCv`J6km3&Cwp{(m4 zs;-y@Ushj*SInoeGiF#{U4j#76)C delta 1035 zcmW-feM}p57{~9qw%3DEU^3V!Af><@!k{1^Nr9H~x=|eiU33=4k~&Kcm{G#pCR`^N zN+BIw;TPyemz6SmT3c5Q0wQRFrp(#0__mp4xEQn5L~pu(G+?~?&+~lq`967`JWrl) zmWjn>!uu)+cR#?7``VxmV4v?gehlDK1{dCi$IP}c3v!r9(aWj37g_Ael>EDQ=R=`Z zqe*`DT3}o;v?3E34?UWYhnNc@CFC)miO$3_BWx(tWpv5aBkb@w-L|ign8aa@`HC!t zPT#-e9{@l2eviC_!vJHJ+(Gx8r>rxZP30xSJ;+<{iw=Yp10nKLN zoY)!bkKq9IG|tY5J)3_Ga3rID><y)L3ht1vPo;44@q}G8lfH!NLzWs zm7^PWiRXe6Uh5t?zBMMJ>hse~BJwC9iEM~VrHv8xN_0yJB~LV#jXJp~=bwIckZ=LR zdJd!HQaBA6XrL5&vy06Z^IJy0Hz;!TX%ozTO;9X<$xUdbW`7~iZiiVBFYag)P+A$3 zKn*%s2IYL3DT5ahu&3rxTej70d8T2o-$hdXANiFck)Rw@MICWCJ)92qRtZjTIRxy3 zRcxg$95~UYLHqsKronb~*f-`F+E^UphY_yZ2edxaQx2!HQ`47F1~uX9Enb+=YR3QJ zP<0nhukzA?vk$^OEHmo^o6pj%T?kZgI9_1Qt95K$+95nR&BpK-=15s4s#if0F=Q>F zY$d2&1-eAle*QEGfeRn&n+;#&8y0ZqkWS^o9SZcb3gR=AlkeSEP;-T}kwy9E95Y<> zns>kyH&y1#WBqntFGDy7N3HURlFNSW5)Wq(up7Q{8V927 z8;{vLZI{{6EcJm7Ol&)jUQ9SL3W2C)zZYwCz_D)&&pYdZH?t;KkS`m!2pF(d}LJodf zgFdW;BT+4HELb?x{vdAa=|V&m6z{{j7To&gbqFe*&3++Q#B4BP)KCS9_<0GUs-PmZ zLK8=C{JK}~rQY8mIN{A5g1XoJIo@=$rZbwh*Dl_uf_90J8tQuoDI39@9D5y;<$gqZ zFF>Mqwh65z;i3Nk!<(H3