Current 0.9.0 SVN
I'm not quite sure exactly how to reproduce this, but
when using the balloon to chase the German submarine, I
flew to what appears to be the far southwest corner of
the map. Sometimes, yellow pixels would appear along
the right edge of the screen, even though the balloon
was near the left side. It could be a clipping problem,
but it didn't appear to be *that* close to the left side.
I'm attaching a savegame at the point where you
assemble the balloon.
Savegame before building the balloon
Screenshot of the glitch
Logged In: YES
user_id=577918
Looks like what happens in proc3() is that v1.x is -1 the
*first* iteration of the loop. Normally, the function
terminates when v1.x is moved outside the screen, but now it
starts there.
If we change the masking to also check the X coordinate, the
glitch goes away. But what happens if v1.x moves from
outside the screen to still outside the screen? Can that happen?
Logged In: YES
user_id=12935
I don't think that can happen, since the actor width in pre-AKOS games is
severly limited (128 pixels I think).
Logged In: YES
user_id=577918
I don't remember exactly what I was thinking when I wrote
the last comment, but I think I meant it as two separate things:
1. The masking change, which at least works around the bug.
Seems safe enough to me.
2. By moving from outside the screen to still outside the
screen, I meant a situation where it thinks X starts at,
say, -2 and goes to -1. Then it wouldn't draw anything at
all, would it, no matter how wide the image is?
So the masking change would fix the observed problem, but
would leave the purely hypothetical problem still there.
Logged In: YES
user_id=12935
Then apply the masking change and let's worry about the other problem when
we encounter it...
I had a brief look at the costume code just now, but it's been quite a long time
since I last digged through it -- and frankly, I am not too much interested in
refreshing that memory, so I won't try to think this through in detail :-)
Logged In: YES
user_id=577918
Ok, I've done that.