

                     Nightshade - The Map Editor V1.0
                     -------------------------------


Written by Matthew Carrier, 9th June 2004
In good old Sinclair Basic
using X128(PC DOS) V0.93 by James McKay


-----------
What is it?
-----------

It`s a map editor for game Nightshade by Ultimate.
You can edit the position of the buildings within the game 
and create your very own lost village in the valley.

-------------
Requirements.
-------------

1. ZX Spectrum emulator that supports TAP and TZX data formats.

2. TZX of Nightshade by Ultimate that was released for the 
   Sinclair ZX Spectrum. Original release!!!

3: Knowledge of loading a TZX file
   Knowledge of loading and saving TAP files
   If you do not know how to load or save a TAP or TZX file then 
   read the instructions that came with your emulator. I cannot give 
   help on this.

Notes:
Extracting the map data from Z80 or SNA edition of the game will not 
work due to the way the game alters the map data once it has started. 
This is why a TZX file of the game is required.

The Map data might not work on a re-release/compilation version 
as some of the coding/loading system may have been changed.


-------------
Not included.
-------------

1. I cannot and will not supply a `mapdata.tap` file to anyone that 
   requests it as the mapdata is part of the WoS/Ultimate/US Gold
   DISTRIBUTION DENIED collection.

2. That also means I will NOT supply a copy of Nightshade to anyone
   that requests it.

3. The world, moon on a stick, Alyson Hannigan (again!)

4. A big bottle of Lemsip.

-------------
Distribution.
-------------

1. This editor must not be distributed with mapdata or a copy of 
   Nightshade in any shape or form - ie Z80, SNA, TZX, TAP or any 
   other data format.



---------------
With thanks to.
---------------

1. Jame McKay - for the best ZX Spectrum emulator on the PC.
   Any hints and tips that are included with the editor program are
   based only on X128 (PC DOS) v0.93 by James McKay.

2. Threlfal & Hodgson and Hisoft for Colt ZX Basic Compiler
   Used For speeding up the editing part and mainly for the `draw 
   map on screen` routine.

3. Vladimir Kladov - for EmuZWin 256 Colour Spectrum Emulator.
   Also for the disasembler part of his emulator that helped 
   as to just how Ultimate protected the game and hid that map!


---------
Warranty.
---------

This program is supplied `as is`.
It won`t screw up your hard drive, computer or dump things where it
shouldn`t do.
PLEASE work on a back up copy of your all important TAPs,TZXs and SNA
files as you may corrupt them - you shouldn`t, but you might overwrite 
the wrong file by mistake - if you do make a complete balls up, then
don`t come running to me about it. 


----------------------------------------------------------------


You will need to have knowledge of your favourite emulator and to 
the way it handles TZX, TAP and SNA files.
Read the instructions that came with your emulator!


Extracting the map data
-----------------------

Following this to the letter should get things going in the right 
direction.

1)
Select 48K mode
type this into 48K mode:

FOR n=1 TO 5 : LOAD "" CODE : NEXT N
(press enter)


2)
Select your Nightshade.tzx file

This will not load the original loader, but will load in the rest 
of the data.
It will then halt with an OK message.

3)
Type in 
POKE 23424,0: POKE 23646,201 : PRINT USR 23424
(press enter)


This decodes the Nightshade game data and returns back to BASIC

4)
Type in

SAVE "map" CODE 24068,1024
(press enter)
Keep the "Start tape, press any key" message on screen.

Open/prepare a TAP file in your emulator.
Press any key.
Once the TAP file has been saved remember to close the TAP file!


That`s the mapdata saved.
Well done!

You might need to quit your emulator and restart to clear any
stray variables!

================================================================






Loading your map data back into Nightshade
------------------------------------------

It is a long winded process to get the data into the game.

Following this to the letter should get things running properly.

1)
Select 48K mode
type this into 48K mode:

FOR n=1 TO 5 : LOAD "" CODE : NEXT N
(press enter)


2)
Select your Nightshade.tzx file

This will not load the original loader, but will load in the rest 
of the data.
It will then halt with an OK message.

3)
Type in 
POKE 23424,0: POKE 23464,201 : PRINT USR 23424
(press enter)


This decodes the Nightshade game data and returns back to BASIC

4)
Now for the inteesting bits

Select your saved map TAP file

type in

LOAD "" CODE 24068
(press enter)

This should load your map data into the correct area.

5)
This section is very important, so do it!

Reselect the Nightshade.TZX file

type in (exactly as shown)

LOAD "2" CODE : LOAD "3" CODE : PRINT USR 24064
(press enter)

If your emulator allows you to select data blocks then highlight
the file named 2 (There should be a file named 3 afterwards)
OTHERWISE
Play the TZX file and it will then skip the unwanted code and 
reload the last two short data blocks and start Nightshade with
your map data in it.

Play the game!



----------------------------
Using the Nightshade Editor
----------------------------


Before the map can be edited, it must be loaded, via a TAP file.
So, select the map TAP file, press 1 to load, read what is on the 
screen and it should load in. Loading will take a few seconds.
Once loaded, press a key and the main menu will reapper.

The map can now be edited. Enter the editor.

Instructions are given on screen.

Map Editing Mode:

QAOP move the cursor around the screen.

KL will select a room type.

WS will select a building type.

Z will remove (when possible) an object from the map.

SPACE BAR or M will place the current selected object on the map.

1 will place a nice solid wall.

G will switch to the map grid.

D will return to the main menu.


-------------------------
Limitations of the editor
-------------------------

Nightshade uses 35 different room types within the game which are 
spread over 5 different building types.

Nightshade is coded so that the exits to each room type is linked 
to a building type. The exit direction and building graphics 
cannot be changed

What it can do.
---------------
Place a building anywhere within the map.
Select a preset room type for that building.

What it can`t do.
-----------------
Edit the preset room exits.
Edit any of the characters of the game.
--------------
Start Location
--------------

This is completly random.
The game will check for a solid wall and if one is found then 
another random location is checked.
The starting points and placements of the main nasties and
killing tools are also random.


---------------------
Village boundery / Walls
---------------------

The village boundery cannot be edited.
The game has a physical boundery built into the game - so even 
if the map is full of zeros (empty space) then there will still 
be a wall around it.

Solid walls can be added to the map by pressing the 1 key.


-------------------------
Selecting A Building Type
-------------------------

Use the W and S keys to select the building type you wish to use.
The room type will automatically update to show the variations 
that can be used.

House - The Tudor/beam style buildings.
Watchtower - The only room that has 5 exits per side.
Church - Stonehouses with an alchove in the wall. 
Stonehouse - All of the leftover buildings made of stone.
Log Cabin - Cabins made from logs.


---------------------
Selecting A Room Type
---------------------

Use K and L to select the room type you wish to use for your 
building.
You can only use the room types that have been given due to the 
game having only that style programmed into it.

The number printed in the top right hand corner relates to the 
room/building that is used. 

The colour relates to the type of antibody that is found in 
each room. These are set by the game.
This means that you can add some tension to the game by not 
including any of a certain house colour to the game. 


--------------
Cursor object
--------------

Shows what room, building and colour type is currently under 
the cursor.
The number relates to the room/building type that is printed 
there. 
Helps when you ain`t got a clue as to what building type you 
placed last time.

-------------
Linking exits
-------------

You need to make sure that the exit of each room line up 
with the next room.
The game will not crash if you get it wrong, it will just 
look stupid. 

------------------------------
The `Building` with no doorway
------------------------------

There is one room located on the righthand side of the map
(as on this editor) that is coloured yellow and has no 
doorway. There is no way in or out of this building.

This also means that if one of the main nasties or the 
main killing tools are located in this building then there 
is no way of completing the game.

It is a good thing to remove/replace this building.

This editor does not have a function to place this building 
within a custom made map.

Trivia fans will probably like to know that this building 
also appears on the Amstrad, MSX, C64 editions of the game.

---------------------------
Frequently asked questions.
---------------------------



Q: Can you write a graphic editor for the game?

A: No, write it yourself.
   or
   Use SGE (Spectrum Graphic Editor) by RAJ
   It`s on the internet somewhere.


Q: Can you write a map editor for... <insert name here>?

A: If you can provide every scrap of data for the game as to 
   where the map is stored in memory, how it stored in memory,
   how it is decoded, how it is used and examples of changes 
   that can be made, how the data can be extracted from and 
   later inserted into the game then I might take a look.
   All memory locations have to be in DECIMAL and not hex.
   I won`t even touch Atic Atac, Bubbler, Pentagram, Alien 8,
   Knightlore, Underwurlde or Cyberun so don`t ask.
   Oh, and 1000 upfront in a non-refundable payment.

---------------
Known Problems.
---------------

Sometimes the menu screen will freeze and not accept any input from
the number keys.
I think that this may be down to a memory conflict with the compiler
overwriting some of the BASIC variables. it happens randomly.
Solution: Just `break out` of the program and RUN it again - it 
should clear the problem - save your map data often.




Any suggestions and updates for this editor are welcome.

Have fun and enjoy.

Mat

