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: 6291

Author: andrewbroad

Date: 13/10/2007

Subject: Creating multicolour vertical guardians in JSW64 using JSWED

 

I've just spent ages debugging a colour-cycling guardian in JSW64
(any variant, but Z in particular) using JSWED (2.2.9 <= v <= 2.3.1).

When adding a new guardian to a JSW64 room, JSWED creates a default
guardian with a first byte (GB0) of #12.

After changing the guardian-type to "Vertical multicolour", this byte
changes to #17 - and therein lies the problem. It looks okay in
JSWED, but when playing the game, the guardian disappears after the
first few time-frames - along with any guardians which come after it
in the room's guardian-list. (I'm guessing that Bit 4 of GB0 causes
it to go black (as it does in JSWED) and causes a premature return
from a subroutine.)

This guardian can be fixed by simply changing the first byte (GB0)
from #17 to #07 - but it has just taken me ages to figure that out,
culminating in an experiment where I converted JSW128 (the game) to
JSW64 in order to convince myself that multicolour VGs work in JSW64
at all, and to compare my guardian with the colour-cycling VG in
"Top Landing" [34].

While I'm on the subject of bugs in JSWED's guardian-editor:

* Toggling the "L/R?" box causes Bit 7 of GB0 to be toggled, but this
has no meaning for a vertical guardian (whose initial direction is
the sign of its initial velocity, i.e. Bit 7 of GB4);

* When editing a JSW64 switch-guardian, the checkbox for toggling its
BRIGHTness is not marked "Bright" as it is for conventional guardians,
because the text "Bright" is overwritten (or overridden) by the text
"On/Off?". This bug could be fixed by shunting the colour-selector
and the "Bright" checkbox to the left.

--
Dr. Andrew Broad
http://geocities.com/andrewbroad/
http://geocities.com/andrewbroad/spectrum/
http://geocities.com/andrewbroad/spectrum/willy/

 

 

arrowleft
arrowright