Thanks to adurdin for that "pogo = zero ammo" patch he made for Xky.. This same is easy to do with Keen 1 and 3 as well.
Code: Select all
# Make pogo tile to take Keen's pogo (set pogo zero) in Keen 2 v. 1.31
%patch $7293 $C7 $06 $B0 $9A $00 $00
Code: Select all
# Make pogo tile to take Keen's pogo (set pogo zero) in Keen 2 v. 1.31
%patch $7293 $C7 $06 $B0 $9A $00 $00
Hmmm, I couldn't (and still can't) remember that.ammo= nopogo
Code: Select all
# Make raygun tile increase pogo counter by one in Keen 2 v. 1.31
%patch $728A $B0 $9A $01
That's correct. Booleans don't exist per se in C; instead, all true/false comparisons are actually nonzero/zero comparisons.Correct me if I'm wrong, but I think this is the way those booleans there on Keen exe work. They consist of 2 bytes, so they're words. When they are false, the value is 00 00. When they are true, the value is 01 00. But it could be for example 8423, E7 20 too -- the game checks only that boolean is false if it's 00 00 and true when it's other than 00 00 (I guess). And 01 00 just happens to be simplest way to mark some other than 00 00. :)