Users browsing this thread: 1 Guest(s)
Edit Chainsaw codes
04-09-2021, 10:08 PM
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:
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
« Next Oldest | Next Newest »
|
||||
Users browsing this thread: 1 Guest(s)