Users browsing this thread: 3 Guest(s)
Edit Chainsaw codes
(04-09-2021, 10:08 PM)assassin Wrote: i was saying to copy+paste portions of Function C2/388D, not edit any of it.
that is, you'd duplicate some of that function in C2/2B3B as opposed to calling it. the reasoning there was that the Scimitar/X-Kill routine does too much that we don't want (the dice-up animation, writing additional entries to two animation buffers in the process, and setting Hide on the target). writing code to roll back all this crap got big in a hurry. and running the full C2/388D then undoing like 40% of it is a lot slower (albeit probably not consequentially) than simply performing a subset of its steps.
but as i mentioned, the wastefulness depends on how much undoing is actually required. so let's start with a small subset of the rollbacks, and see how it works.
add the following to Function C2/2B3B:
Code:LDA #$12
STA $2D77 (replace $B5 in the 3rd entry of the ($76) buffer with
12h, the Mimic command, which acts as Null. the goal
is to overwrite the Magic command animation that
performs the dice-up.)
JMP extra
[...]
(somewhere in free space:)
extra:
LDA $3DE9,Y
AND #$DF
STA $3DE9,Y (remove Hide from Status to Set)
RTS
So maybe now I am understanding a little better - but does this mean the original patch actually worked by using the Scimitar/X-kill death animation? I thought this was just a fun optional feature to change the death animation to the slice effect, but if I am understanding correctly, the patch actually functions by using this effect to check for instant death status, etc.. I also don't understand ASM code much beyond just applying it to my hack. Assassin, do you have discord? I could probably resolve this in a 5-minute chat as opposed to going back and forth and making you type more explanations on here! Coding is my kryptonite, after all.
« Next Oldest | Next Newest »
|
||||
Users browsing this thread: 3 Guest(s)