JETSET WILLY EDITOR Build your own mansion Software Projects Approved Distributed by SPECTRUM ELECTRONICS 110 Leagrave Road, Luton, Bedfordshire Written by Paul Rhodes, 1984 INSTRUCTI0NS: To load the program, put the Jet Set Editor tape in your cassette player, connect EAR socket on Spectrum to EAR socket on cassette player, and type LOAD "", followed by the ENTER key. After a short time, a flashing picture will appear. The main program will then be loaded and you will be asked to play the 'JetSet Willy tape'. Once the JetSet Willy program has loaded, the main menu will appear. MAIN MENU OPTIONS: (1) Save entire game = SAVE "jsw1" CODE 32768,32768 (2) Load entire game = LOAD as option 1 (3) Save room (CODE) = SAVE "Room:nn" CODE (49152+256*nn),256 (nn=room no.) (4) Save objects = SAVE "Objects" CODE 41983,513 (5) Save room (JSE) See below (6) Load room (JSE) See below (7) Save guardians = SAVE "Guardians1"CODE 40960,1020: SAVE "Guardians 2"CODE 42496,6656 (8) Load guardians = LOAD as option 7 (9) Play game = RANDOMIZE USR 33792 Options 5 and 6 SAVE and LOAD rooms together with all the object positions and guardian and graphic data related to them. The other SAVE options produce copies that can be LOADed from BASIC, but as the data saved by option 5 is not stored as it is in the JetSet Willy program, this is not possible with JSE files. There is no option to LOAD a room without guardian and object data as undefined guardians can cause crashes. E) THE SCREEN EDITOR: Cursor movement: Use keys 5 to 8 to move the flashing cursor. Changing screen: Use keys 5 to 8 with CAPS SHIFT to move to another screen. Defining exits: Use keys 5 to 8 with SYMBOL SHIFT in define which rooms will be to each side of the room you are in. The Data Line: This is directly below the room name. It shows the graphic squares representing, from left to right, the background (usually blank). the 'floor', the 'wall', the 'nasty', the 'ramp', the 'conveyor', and the 'object' which you have to collect. The character shown in the white between the two arrows is the 'current character', which will be deposited on the screen at the cursor position when you press '0'. To change the current character, move the cursor over one of the first four graphics on the data line, and press '0'. 'Rm' is the number of the room you are in, and 'Ob' is the number of objects that must be collected to complete the game. OTHER KEYS ARE: A: sets attributes of character under cursor (cursor must be over one of the first 6 on data line). M: defines 8x8 graphic character for graphic under cursor (cursor on data line). Within character definer: 5-8 to move cursor, 0 to flip pixel on/off, CAPS SHIFT P to pick up current definition of character, Q to set character and return to screen editor. C: places conveyor belt with left-hand end at cursor position. Direction 0=left, 1=right. R: places ramp with bottom at cursor position. P: places 'object' at cursor position (if held down, many objects will be placed on top of each other; avoid this unless that is your aim). D: deletes 'object' at cursor position (hold down to remove multiple objects). B: sets border colour for current room. N: inputs room name: CAPS 8 and CAPS 0 to move cursor, ENTER to finish. ? (SYMBOL SHIFT C): Clears screen, except for graphics definitions and objects. . (SYMBOL SHIFT M): Returns to Main Menu. DOS AND DON'TS: Don't put anything in the path of a guardian (they leave trails to help show the parts to avoid). Don't have arrows passing through anything with white INK. If you have white background INK, any objects in the room will be automatically collected on entry to the room (see swimming pool). Do not have have two characters with the same attributes, especially if one is a 'nasty'. Having the same attributes for ramp and conveyor creates a 'conveyor ramp' (see Chapel). Avoid having a 'nasty' at the top of the screen above a gap at the bottom (see right-hand half of Under the Roof). Do not put anything in the path of a rope (try it and see!), and do not allow an arrow to pass through a rope (especially not a white rope). Never allow guardians to overlap. Objects on top of other characters (floors, walls, etc.) cannot be collected. Do try anything else that seems like a good idea. Do save any rooms you wish to keep before playing the game! 6) THE GUARDIAN EDITOR: Each guardian is identified by a number in the range 1-126. Most of them up to 111 are already in use, but any guardian can be deleted from all the rooms in which it occurs, so leaving the space it occupies in the data area free for defining a new guardian. Each guardian is associated with a 'page' of 8 graphics, and a set of parameters to determine which of these graphics are used and how they move. Whenever a guardian is used, two more parameters must be specified; a start position in character positions across the screen; and a 'start' character, which further modifies which characters will form the guardian. The start character is the lowest number graphic that will be printed (the 8 graphics in each page are numbered 0-7). 'Animation' is part of the guardian definition, and affects the number of characters used: Animation 0 gives no animation: only a single character is used (eg. the barrel). Animation 1 gives 2 character animation (eg. the jelly). Animation 3 gives 4 character animation (eg. the thing in the bathroom). Adding 4 to the animation number for a horizontally-moving guardian gives bi-directional animation, eg. anim. 7 = 4 to the left, 4 to the right. For vertically moving characters, adding 4 increases the number of graphics used. Animation 2 would give slow animation using only the even numbered characters 0 and 2. 6 would be bi-directional slow 2-character animation. Technically, the character number to be printed cycles constantly from 0 to 7, and is modified before printing by ANDing with the start character and ORing with the animation. ARROWS move constantly along an imaginary line with 256 positions numbered 0-255. Only positions 0-31 fall within the screen boundaries: the rest constitute the delay between the arrow leaving on one side and coming back on the other. An arrow is defined with a direction and a start position along the line. It also has a 'Top/bottom byte', which in its binary representation gives the bit-pattern for the appearance of the top and bottom of the arrow. Eg. 65 * 01000001 binary, which as a top/bottom byte would give an arrow like this: * * ******** (*=pixel set) * * Note that the middle is always 11111111 binary (255 decimal). When used, an arrow must have a height specified. This height is in pixel positions from the top of the screen, but the top or bottom of the arrow should not fall outside the character position containing the body of the arrow. Put more simply, the height should not be exactly divisible by eight, nor must it be one less than a number which is exactly divisible by eight. NB. Heights are always given in pixels from the top of the screen, horizontal positions are in character positions from the left of the screen (as in PRINT AT). Directions are 0 or 1 (for left and right respectively). For bi-directional graphics, the left-facing graphics are in characters 0-3, and the right-facing ones in 4-7, so a 2-character bi-directional guardian with start character 2 would use 2,3,6 and 7. Horizontal movement is obtained by scrolling characters within their character positions (see the monk or the bird for egs.) but vertical movement is by moving the character position. Try moving a horizontal character vertically, or vice-versa to see the difference. THE ATTIC: The arrow moving to the left in the attic is the cause of the problems usually encountered after passing through this screen, due to it being called in an unorthodox manner. Such a problem cannot be created using this editor. It can, however, be removed, using option 6 on the guardian menu. THE GUARDIAN MENU: (1) Examine a guardian Prints out page and rooms in which a guardian occurs. Also shows guardian, given start character, as it would appear in the game. (2) Define a guardian See above. Also: Vertical displacement is how many pixels a vertical guardian moves at a time. Fast animation is self-explanatory. (3) Delete a guardian Removes guardian from all rooms in which it occurs. (4) Define graphics Like option M in the screen editor, but you can also scroll using CAPS SHIFT S, and you can pick up any character. (5) Examine screen Shows guardian numbers and start characters for all graphics on screen. (6) Edit screen 'G' to place guardian, 'D' to delete, 'Q' to return to menu, '5' and '8' to move cursor. NB. the rope is guardian no. 1. Example screens are on the tape after the JetSet Editor program. Load using option 6 on the Main Menu. Define 'up' from Beach (S/SHIFT 7 in Beach) as room 47, and go up to the 'Space Station'. (The room numbers for loading are 47 and 61). JETSET EDITOR ADDITIONAL INSTRUCTIONS SCREEN EDITOR < > (SYM/SH W) - Set start position for Willy (cursor = top-left corner of Willy). GUARDIAN EDITOR CAPS R in Graphic Editor (Option 4) 'Reflects' graphic.