From a236c9467a1834289964a3381e62ebfca0b8f283 Mon Sep 17 00:00:00 2001 From: Silvris <58583688+Silvris@users.noreply.github.com> Date: Thu, 21 Mar 2024 16:56:08 -0500 Subject: [PATCH] actually make bosses send their locations --- worlds/kdl3/Rom.py | 6 +++--- worlds/kdl3/data/kdl3_basepatch.bsdiff4 | Bin 2567 -> 2618 bytes worlds/kdl3/src/kdl3_basepatch.asm | 26 ++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/worlds/kdl3/Rom.py b/worlds/kdl3/Rom.py index 917ea02fb7..852fcfa97e 100644 --- a/worlds/kdl3/Rom.py +++ b/worlds/kdl3/Rom.py @@ -368,7 +368,7 @@ class KDL3ProcedurePatch(APProcedurePatch, APTokenMixin): ("apply_bsdiff4", ["kdl3_basepatch.bsdiff4"]), ("apply_tokens", ["token_patch.bin"]), ("apply_post_patch", []), - ("write_snes_crc", []) + ("calc_snes_crc", []) ] name: bytes # used to pass to init @@ -555,8 +555,8 @@ def patch_rom(world: "KDL3World", patch: KDL3ProcedurePatch): patch.write_token(APTokenTypes.WRITE, 0x3C000, bytes(patch.name)) patch.write_token(APTokenTypes.WRITE, 0x3C020, world.options.game_language.value.to_bytes(1, "little")) - patch.write_token(APTokenTypes.COPY, 0x7FC0, (0x3C000, 21)) - patch.write_token(APTokenTypes.COPY, 0x7FD9, (0x3C020, 1)) + patch.write_token(APTokenTypes.COPY, 0x7FC0, (21, 0x3C000)) + patch.write_token(APTokenTypes.COPY, 0x7FD9, (1, 0x3C020)) # handle palette if world.options.kirby_flavor_preset.value != 0: diff --git a/worlds/kdl3/data/kdl3_basepatch.bsdiff4 b/worlds/kdl3/data/kdl3_basepatch.bsdiff4 index 662467bac0a677ffb22fb9878e09bcc5aff70a01..d16fef7b7f70d3cc82aa114748bdfaf397d0ee5b 100644 GIT binary patch delta 2576 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 literal 2567 zcmYL|dpy&N8^^!9F|)a+S>?7_wp7M9mzrZ{)MUtzYvfX+D=i^qk+n##fFZPQlkq*?I@P{35GPbSll2(&3$#53Q* zlUf6J`xwl{N}dc*`l3@k|G0Zd5 z|KE7Sod}I@p6cpn7_i)ZJCXho_Q8PggzuJwqA@>GgI2V0dMD3R1G@qVL()!QsGIATSSOK}5YQ00R-J z@j!GO$eD-5mdEDyGSEUi;8F<%pWxJpcp}s~hhoi#MuU+!inY5wKm>HjnRcZOxD=jT z1OTx=(*OQM6SbTU4`vSbX!&dSQ*r<)2e zdnoj76u^U&UaT>!v^#ZGxd{yYRAG|&*;(`B;Q8qf2pd1|E7l7h_Tf2upRy0Wsyuf zV%@s<)MHP>&GO9}SNQp?*q_lI8C70&f3BCcv?07aCL;c^o9%IL-BH6xb!6%TH=RyPY2eN^?H&|r z7xv=-$J0g`Mz~j|Yv~yp^7OYj^}3OK3*B22nbXh8jJ`0S_K&5BBPEE<#LXFDrs>+X zISwtYMt)^l^!QW~wGin&UT}YPcXhA5ELqFf&ZgZA;Qe|hw0l??gS4BW)LelK1IEzY>z5}40s-IdITo_fUzRr1-9EzhIRHY21&8mioUl+eGE~(O* z6!5pN=d85u)crBD@MsEhJraJUV6|i-E+twnsVc2}0e&f*!xOJmiEWv=@-lBiFR>T{ zDijJQS5uGzVsJQ^tEVCc0w z_`Bo#;BY80x^4Uuyz^6F%v1gZYLvLVrpb!madDbMKY9Ge>3951+t1iKzM0`kt*#rE zHbTwx3&XX{_Cz!8V3WfRhLWorC~qme3q%L0JD+hq8+GB%>_W$-wKCh5@_}K8b9+9W4L$Y+LKZKzEu> ze`$dd?fH7cgWhJ2T>mgyTRyTggSVlXwBFwoS#mk?qT3(2i|ifGEPO`2UdC1pdlh_q zZNgJddnf-u^MvBM#Wu3elM`f@#OmhX@_arMDa`r+f?HZqDhnAu6ThpzM=eF?T1Mr! zsT&VEo5cU^f!W_6awySxP)sHiIPMm5F7t6jgy+vN1)%LPLt z#EP-tLAfHLs`ED+4-{VOs7utAbU9z@6L{taHLzJ!>Grlh8a4(GX#N@;GI{CVQAA73 zlo39VcHxBDslp_XK14YD8ezm_;BRtj)SqBv>}!-`A2b zSQdQuNx%Igv6l5Z4iSQq5!Si)Zc z%3TB*A^IW$w#&Fa_H?FI$Z_gOEjF)|%%rYmRyK+kuD6*oUAOzzrGTe2Fm9+KrWvt)y{2(u>Zb#il=8#SmWzfsd<^W@nNEM5gSKs#oUM& z4u>}sR-L$qaRvg0hTj;@++OPeU-v{}#aHJJNh~_JM7ERGJzwrB#^+M;%WHEa_^zI^ z(7c0nRkX5O2gCKYwoF~mh5cxEe}EG98wvcTi0FvKRERT z62Kh_hT2JWc`^2g{RW3T&O60$XKp8vTjGO?9$sFZ-r{oQ*j>+w7aX?WeG?fT8#6p}jqgj`c`e$|UIPL3C= z@bsQ|c`VXzuX+d*{l=2O*7`6hU#i!2K=`^iH?RdpLEKl@IomQ{6rVsMr8Q<~Aw9%& zP)PQP&(?YP{=B(4JQiMCZrtxP91*o8x1WEjE(sp>C_jDEuCcH!_?cagwGVI$*9ER* zLbe&}*zBFVdFcy@ym)%|viO;STJvM!d7;5GY2u5B4~2581K;|^-4XiYP)Rm4K&=Lq X*jnq6=>=20pW0G|(nBA>t~C8WNR&{E diff --git a/worlds/kdl3/src/kdl3_basepatch.asm b/worlds/kdl3/src/kdl3_basepatch.asm index 4a5b82fde6..dc0c719398 100644 --- a/worlds/kdl3/src/kdl3_basepatch.asm +++ b/worlds/kdl3/src/kdl3_basepatch.asm @@ -58,6 +58,10 @@ org $01AFC8 org $01B013 SEC ; Remove Dedede Bad Ending +org $01B050 + JSL HookBossPurify + NOP + org $02B7B0 ; Zero unlock LDA $80A0 CMP #$0001 @@ -1230,6 +1234,28 @@ ApplyLocalCheck: .Return: RTL +HookBossPurify: + ORA $B0 + STA $53D5 + LDA $B0 + LDX #$0000 + LSR + .Loop: + BIT #$0001 + BNE .Apply + LSR + LSR + INX + CPX #$0005 + BCS .Return + BRA .Loop + .Apply: + TXA + ORA #$0200 + JSL ApplyLocalCheck + .Return: + RTL + org $07C000 db "KDL3_BASEPATCH_ARCHI"