From d3cdb2fffc22b91a7938a9046eba0ac0bb2d2e74 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Sat, 18 Mar 2023 05:47:49 -0500 Subject: [PATCH] Correcting OW screen palette on transition --- Rom.py | 2 +- asm/owrando.asm | 42 +++++++++++++++++++++++++++++++++++++++++- data/base2current.bps | Bin 105904 -> 105983 bytes 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/Rom.py b/Rom.py index 6bdff514..8a5bf3b8 100644 --- a/Rom.py +++ b/Rom.py @@ -38,7 +38,7 @@ from source.dungeon.RoomList import Room0127 JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = '8862307c3bdf3ae838f7e07b5df6596b' +RANDOMIZERBASEHASH = '155051ece07ef1b60c875a5746189c26' class JsonRom(object): diff --git a/asm/owrando.asm b/asm/owrando.asm index 25eb1fc9..8818a35e 100644 --- a/asm/owrando.asm +++ b/asm/owrando.asm @@ -47,6 +47,9 @@ Overworld_LoadSpecialOverworld_RoomId: org $04E8B4 Overworld_LoadSpecialOverworld: +org $02A9DA +JSL OWSkipMosiac + org $07982A Link_ResetSwimmingState: @@ -945,7 +948,20 @@ OWNewDestination: ; crossed OW shuffle and terrain ldx $05 : ldy $08 : jsr OWWorldTerrainUpdate - lda $05 : sta $8a + lda $8a : JSR OWDetermineScreensPaletteSet : STX $04 + lda $05 : sta $8a : JSR OWDetermineScreensPaletteSet + + ;PLA : AND.b #$3F : BEQ .leaving_woods + ;LDA $8A : AND.b #$3F : BEQ .entering_woods + CPX $04 : BEQ .skip_palette ; check if next screen's palette is different + LDA $00 : PHA + JSL OverworldLoadScreensPaletteSet_long ; loading correct OW palette + PLA : STA $00 + ;.leaving_woods + ;.entering_woods + .skip_palette + lda $8a + rep #$30 : rts } OWLoadSpecialArea: @@ -1085,6 +1101,30 @@ OWLoadGearPalettes: PLA : STA $00 : PLY : PLX RTS } +OWDetermineScreensPaletteSet: ; A = OWID to check +{ + LDX.b #$02 + PHA : AND.b #$3F + CMP.b #$03 : BEQ .death_mountain + CMP.b #$05 : BEQ .death_mountain + CMP.b #$07 : BEQ .death_mountain + LDX.b #$00 + .death_mountain + PLA : PHX : TAX : LDA.l OWTileWorldAssoc,x : BEQ + + PLX : INX : RTS + + PLX : RTS +} +OWSkipMosiac: +{ + LDA.l OWMode : ORA.l OWMode+1 : BEQ .vanilla + PLA : PLA : PEA $A9F2 + RTL + .vanilla + LDA.b $8A : AND.b #$3F : BNE + ; what we wrote over, kinda + PLA : PLA : PEA $A9E3 + + + RTL +} OWAdjustExitPosition: { LDA.w $06FC : CMP.b #$60 : BEQ .stone_bridge diff --git a/data/base2current.bps b/data/base2current.bps index 80b9ff4c47ccae58a2488fd7c379e255ff6ee04e..f789ffebafedccb4a6aa51508e7aa5e7b26b5775 100644 GIT binary patch delta 2576 zcmW+#YgAKL7S7I#@P37NfWzfs!o!MHK}1Xi1zRX}YCDWd8|w>=THCS|1>q!cfq;R8 zOE`I;;dQ+R#u_HIX-6&8wo0b8r8BFmt2(u=5j#pdZQ7}A$FYmK%%8izZ|{B1zGv_K zxi3l=E=t|Ip(RN9;BycN1>Oa(Tj#aEA~{nzsk78uhPSgej=E^$G!g08LQVH@7?=^o zT{ETc<>u9sM#^F1lmkZUhsm=ICi6UX%*fTW+bE}zbAv`PZKUSyoU+G4E!esF`Qko9 z)|X=lo2mbHaPtkck^00sq}Caym^tW&Oy-!7f;nc8|9Y4y;o7`ICpmV~FCC~a{C*2I z-0I-OdLu;{IW^5vN_y<}f?tLe11;)n8G3_@QHc~WqdnZNRwGsO&oLP$A?2+yy_tHE z*(%b*66Q(Kn`5n`%g zU|i5@rt5a)D>taUFVk!NzsLl ziJNLX{C;npyM`XZTYCE(jSZ2QX;xbqVZpB!#Sow*{it52AbMR5=}drBxJ1q-z+vg7 z_8|ef;7v({TL3G`Z%Gg*IkjEzo1P>ppe}MXeHJ44sR?z7t@QxFP_H3-2EgXwd0)pTM8t3-Bv^ z;E(r--SIx*tdx1B+YsgxkrLzEv*Ihu;x$*66>3mQyGcdj$i-yHmQxv4-O*mXt!eSP z4j{|1vzGiP8J57)BrOHxD;hiaAL#2aMUp-yv-yq)7dGGVv0`6?z%6mL2ymFMVex1S zb4aHP7>#@^5<5c3z7#kKYst?kkPaavF%{B7Lb@0+W(u0E2Gl?{r9x5QabXgEz&EI# zoJ@se2qfdF@Km1oNEE&+kKawv)U5F9^sYtpEI*M5I)Kl$_X56vcnHYejW!bs!JAM` zzCcj2N@1oc*H1W@pJfdXucoxalI zq$&-T$CcUN4&#f6XT`4D7`bM!V(LZKv6T#@L1xI&K^rS9yzBCZILgSiG{}P8?%|Aom?J#TMRgpvBgp_HK{(8*%#z zxPz~tt|!N*1V3^!+AC&SgFbB@{2_M5|--2K^&>nMK&*T$*Iy5Ce^Kutc{jA-{ zZ$z*&r_H8X(4LoKjx^NR$vSUR2H*6St9?U4e(9qa--18her%ihKhq0-3EFGsoug*- zU2mZ#Uh{v~twq=G`le!2V)6CwO+3jlqYTqxoE6bSZPNEnymeWu!n1*_myJGA6*7NkqpQ*oHCA+{`_ zpr2gI;)nc+_f8h1K=2fU<eN?iA+l; z)MniZ^7{yb&P4X;NRvTVII15my4H*fsD#cDhfHj6REHZJMI=ZCi4aFJRj?lv#H51c zq}t8hY}C~4pPJExwReORJ*j(l>{|2XWqve4W>ioulWpsu{Xp_aYBsEn+DVuQJsTjH z6;&H&AV6MecC)1Ys`on z9Ztu61}R!gp2^|gp(5HGNJ(%K)7l3x3T2T3oeLP;tQRoQouhpk$hVK zXW%$t3SoWtvGh)JU6FQZ=zR5SCP$Qat`H&s!o3ex!wLWy$zH=N_(M{$Xm*f2Yrq2K zSH zH1env3KVGrY^_f`8$e}S0|qyUCeUkVhyWYnW`&L_Qe6fGOP{Ylb8c7dG|aA9%=E8h ze9Rxh0`c`Qp2qoQE-_s@s1|8%BpO8lqfe7J$^bpSBXP{A84*^zQ?-uJbvKxzPMcr! z@Sf(OX0)(z)F!Q~`{_rQmWY~?@g~fZJ3P5j21|=`s|-CGdM{}I_(C& delta 2573 zcmW+$3sh4_8qS{=l=maVpb1;XKk(4N>^!Z)7`pl-JWHyduGne|M%P?Dpuuh^*8ffRM>sfm9KL)}PiCSGBZno0~ zyj5ZbExs*TC_ZY&YU$gWx^}+IYp1_!;HN&fJZj=k+Ah#vbbF@Wij&f5_>ojiU1{J) zSh@=H^Gz(hrEBN`Gc}dbY^i1j_BJwqZwcZ|*=$&aH_1xHN85Zvb_hV~iwau%d7g$)L@4*pZ9_ zDrl!l>XC$cv7Q5+{yD0esR_wEa_XI?;m`D_?<(1w3~8AfVm58T<_VPmk_05daB8c$ zcb^m`U?p;;qBHD1DK$oZn+&hZ#~M8%>K(s!CVT-Y3)lU495-4Hwu!$=t4=_ySH{Hm zFWQ0n=zqR%Hj;ET)WnxE$5Aq#X}F+NsAxu6&WaZV?Y$j2!w^y0SKuA(h*fa9F*gO zt(KU8gy`8zLFtu3mElTZv4Ki$wCPAP`9K3Xij0hI(-EuLdGhITO+e-%cNGz*Kz8=} zym(}abem1FR^S*WoywD(68Db#d} zAbyzU{fVK@9^TV!663=duh}g|mU2z2tGrx{*zy*g9G7{>LGn@>%$>2S=TeLifHWxe z-bIx6I#Q3n%(=D`cN%0y9qV;+;^IkfD9W{p1k)f3c9WmdpeRW>@Pi_7%%&`Uc$ATL zN2vBlhp2gE1r4-3X}~0LRTCo(b72R0lZM4mNIs(>DX~AyfPDqJISVOj@LrOyJg${86vInL`!Do7sj+^m3 z(wYt@H5>M~;L43XtWfbtcW#4IH*LHqM?5*cxrZ$CXJmi|p1;=N5erS8hy&9hRnM_) z_Fpbfhh$WZT`&&Vsqd}D29@FeraMnf8#~5TDN1xBWD}G;JC$jB>gObkr$PSyY0{nv zGfvmq1g^N3jQZxidq%25K@}%ua9lqVig1_oIgm6V~qx?&Bjqw zmrbV^QFm=vjZC!AQxrCjT`A{^f@?ns!wVc8v(&aZ=--X>|wp#G@ooCKWHI2BSLC%RmNIe zi(@UM(^-724kdbJc*5HDbg+Z7g0ltE&ep+ekV2d~(9Ei;Y~>Qh@BUavo$t2xlhU=O ziGgc%V}&8=Jo!Wi72y%vnwSuf0;0`QBYD|O}z2ii^>DeOWrsw8=+(s zN;XBw-d9@PGL$i+Uo7&9M5@!DJ9yRUpB?Q`gQj!Cb!JwZn)tg z+T%}*x5ig@^F!2;Zb58Wi}TEQBN@&G9lT6#=E9PA5%gG;T7xxUr>(aKZV7bH$b(#H zCF}E`I#TW$iKH&}j4Y-m$ao%TODB3pUUw^ZDiQO6!kxcQiJWq(&U;ni?%4V+r*}&Q z<$=O&CK-au(I99)D~2ltxLZlm@`1|VDadCU)9SqW=LA&BE+t|c(&~(4#imxrGh9R< zPDBcpvn=NcEc8oBZ9b&u$X!oHB%H|T1u*W>i^{+48B!TLO`E%R(oCNySaI=5h!3Ta zJNOiNFCUgkUaEh=Kb;RN!edXLsQ=LBtYLd2jWxaeDu3ldhz2MiRYjnM?WDN~mJ8dT zi-c^b$m1dygp;JV7?#JLNN={+lo~yrixmfLE`|S5F~kAH`~O=4^C2~Y`VUV4iHuxa zKp_fA>2=LRMtbj*c(BDIp+-sNBH=&TN%k)S2dpHr#ZU~J{7V+Ys}g7?+*0@pjFLlo zC=?>$^umE9{#$xDB!(nXu>w+Lqn(_LA#E!lCt|N&CyD(uMn76 zN4^)_@~|$nmkJ}PWl*FJ>*96C2)Q?ux#vu2;UG<+HJCKNmYjfXp#m;GW8x%cc`|5U=VvhGu(KW69&Xurpb9neq M4-db!YWe&B1CZ_kCIA2c