Read-only archive of the Armageddon Games Forums Archive (2000–2026) · About this archive

Eyeball combos get Link's position wrong

5 replies · 1,308 views · Started 14 December 2006

Consider the NeoFirst quest. Go three screens north of the start screen. The guard often faces the wrong direction.

This is a ZC bug. Eyeball combos in ZQuest can find the cursor just fine.

Specifically, it's only eyeballs on layers that don't work. Never have, as far as I know. Same for eyeballs with push flags. I expect those could both be changed.
Haven't worked out just how yet, though...

Incidentally, don't you think that guard should be an Eyeball B? Seems like it'd match the tiles a bit better.

I believe it's a matter of bitmap sizes and the use of playing_field_offset. Seems likely to be the same reason eyeballs with push flags don't work right. I expect I can work out how to fix it.
Might be able to just subtract that out, actually...

I'm thinking this may be more trouble than it's worth. The possible solutions I can see are these:
- Change the size and usage of framebuf and/or scrollbuf (Nigh infeasible)
- Add another argument to putcombo(), etc., indicating whether playing_field_offset was added to the y value passed in (Couldn't be good for performance; seems a bit excessive for such a small bug)
- It may be possible to simulate that argument with a global variable—set it to true when do_scrolling_layer() starts and false when it ends, or something like that (And who doesn't love global variables? Still, might be the most realistic solution)
- It might be possible to use the size of the bitmap passed in to determine whether to subtract out playing_field_offset (A bit abhorrent, design-wise, but it could work)
- Create a whole 'nother set of almost identical combo drawing functions just for do_scrolling_layer() to use ('Cause we just don't have enough of them already)

Did I miss any?
Of course, instead of any of those, you could just put that guard on layer 0 and put grass under him with "Use Layer 2 As Background."