Resource centre for ZX Spectrum games
using Manic Miner and Jet Set Willy game engines
Archive of the
Manic Miner & Jet Set Willy Yahoo! Group
messages
|
|
||
|
|
Message: 4988
Author: andrewbroad
Date: 28/10/2005
Subject: Invalid Arrows (Re: "In the Sandhills")
Daniel wrote:
>What we have here are INVALID ARROWS (arrows whose pixel-patterns
> In the room "In the Sandhills" (023) the last pair of arrows which
> appears (the fourth one, counting from the moment you have entered
> the room, the arrows enter from the right) looks incorrect in the
> emulator the arrows seem to have the upper part missing.
> In JSWED they look OK, at least to me there is nothing to
> suggest there may be a problem. Any idea of why this happens and
> (more importantly) how to solve it?
straddle two character-rows).
JSWED allows invalid arrows - quite rightly - but it needs to give a
clear warning to the user when the arrow is invalid, identify the
type of invalidity and indicate its effect.
* LOWER-INVALID: the shaft of the arrow is the bottom pixel-row of
its character-row, so the bottom pixel-row of the arrow is cut off.
(a) If the arrow is in the bottom half of the playing-area, then
its bottom pixel-row is permanently drawn onto the top half
(8 character-rows above the arrow).
(b) If the arrow is in the top half of the playing-area, then its
bottom pixel-row is temporarily drawn onto the bottom half
(8 character-rows below the arrow).
* UPPER-INVALID: the shaft of the arrow is the top pixel-row of its
character-row, so the top pixel-row of the arrow is cut off.
(a) If the arrow is in the bottom half of the playing-area, then
its top pixel-row is permanently drawn onto the top half
(8 character-rows above the arrow).
(b) If the arrow is in the top half of the playing-area, then its
top pixel-row is written as a COLOUR-ATTRIBUTE to the bottom
half! (8 character-rows below the arrow).
Upper-invalid arrows of type (b) are probably the most spectacular
quirky feature of JSW, and have several applications:
1. An invalid arrow can be used to make a platform appear a certain
number of time-frames into a room.
2. An invalid arrow can be used to knock out a character-row (by
setting the pixel-pattern to the background (Air) colour-attribute).
3. A pair of invalid arrows can be used to hurl floor-blocks across
the screen that you have to jump onto and off (the first invalid
arrow has an arbitrary colour-attribute as its pixel pattern; the
second invalid arrow the background colour-attribute). The width of
this flying platform is determined by the difference between the two
arrows' start-columns.
4. Likewise, a pair of invalid arrows can be used to hurl static-
nasty (Fire) blocks across the screen, by setting the first arrow's
pixel-pattern to the colour-attribute of static nasty.
The general rule is that the pixel-row of the arrow must be set to
the colour-attribute of the block-type as which you wish it to
behave, as follows:
FBPPPIII
(where F is the FLASH bit, B is the BRIGHT bit,
PPP are the PAPER bits, and III are the INK bits)
Colour-attributes not defined as block-types behave as floor (water).
--
Dr. Andrew Broad
http://www.geocities.com/andrewbroad/
http://www.geocities.com/andrewbroad/spectrum/
http://www.geocities.com/andrewbroad/spectrum/willy/
