Readme.txt for: ZAMN Editor - "Zurfl"

 
========
ZAMN Level Editor - release "Zurfl"
build date: 10.12.06

coded by Sloat
graphics ripped by IMP
hacking and stuff by both of us
========

I added a few new things:
- Open ROM Dialog (L Key) FINALLY!!
- Hex input for tile value.
- Status bar (It shows: File | Modified | Tile Value | Mode)
- Experimental DIB usage for BG Drawing.
- Builds in either Unicode or Multibyte now.
- Change selection with arrow keys in BG mode.
- Fixed a bug with centering if the map was smaller than the window.
- Loading a ZMAP now will change the tileset.
- Changing the tileset no longer requires a reload of the map.
- BG Tiles are now loaded from the ROM. Palette changes are reflected
  in real time.
- F6 shows the current tileset
- Debug Info (F12)

PNG support is c/o PNGlib, written by Thomas Bleeker.
Visit his site at www.madwizard.org

This is the third and final version of this editor. 

========
usage
========
Put the rom file (zamn.smc) in the same directory as the exe.
In the tiles directory should be 3 png files:
items.png
victims.png
monsters.png

there should also be a directory called maps. create it if it's not there.

now run the exe. use at your own risk!

Note: You may still get a file not found error when you run the editor for the
        first time. Just hit L and load the rom.

Keys
========
B = Set to BG mode
I = set to item mode
V = Set to victim mode
M = Set to monster mode
F1 = save changes
F2 = Change Level
F3 = Misc. Data
F4 = Bonus Editor
F5 = Scratch Pad
F6 = Tileset Viewer
F8 = options
F12 = Debug Info
Home = Center the screen on Zeke's position
Scroll Lock on = Stop objects from auto-scrolling the map

L = Load ROM

Control+S = Dump the level data to a zmap file.
Control+L = Load a zmap file for the current level.

Mouse Wheel = Scroll up and down.
Shift+Mouse Wheel = scroll up and down faster.
Control+Mouse wheel = scroll horizontally.
Control+Shift+Mouse wheel = Tremendous explosion. (be careful)

* To save a zmap to the rom, just load the zmap, and save with F1.

* Changes to Bonus data are not saved in the zmap file.


BG mode & Scratch Pad (B, F5)
========
E = enter tile value
	* Use 0xHH for hex input
P = paste tile
C = cycle clipboard and copy 
Control+C = View Clipboard
Control+P = cycle clipboard and paste
left-click = select tile
Arrow Keys = move selection. 

* Arrow keys may behave strangely after centering on Zeke. 
  This is expected behavior. Click somewhere to get the 
  selection on screen first.
  
* Scroll Lock On will stop the map from scrolling.

(numpad keys)
+ = inc selected tile by 1
- = dec by 1
* = inc by 16
/ = dec by 16

F = Fill Scratch Pad with a tile
	* Use 0xHH for hex input


Item and victim modes (I, V)
========
Right-Click = change item or victim
Left-Click+Drag = move item or victim

* Each victim is labeled with a number, 1 to 10. In the game, each time 
  you lose a victim, the number per level will decrease. So if you lose
  a person on level 1, on level 2 you will only have 9 to rescue. This is 
  helpful information for strategic placing of the victims.
  
* The player starting positions are changable in Victim mode.

* Hitting "I" when already in item mode will flash the items for half of a 
  second. I was having trouble seeing them on some levels.


Monster modes (M)
========
1 = Edit One-Time monsters
2 = Edit Respawning monsters
Right-Click = change monster
Left-Click+Drag = move monster
Control+Left-click = Displays One-time monster Object info

* If you put a one-time monster in with the respawning monsters (or vice 
  versa), it will appear messed up. This is cause of the way the monster
  graphics are layed out. It will appear correctly in the game, just not in 
  the editor. Also, you might want to think twice about having vampires, etc.
  respawn. It makes the game seriously difficult.
  
* Respawning monsters have a radius property which seems to indicate the area
  in which they may appear. I have no idea how accurate the red circle drawn 
  around the monster is. In this version, the size is half of what it used to 
  be. This seems more reasonable, but may still be incorrect.
  
* Setting the radius large enough and dragging a monster will create a big
  red mess. There isn't much I can do about this because of the way the 
  map is redrawn. Dragging another monster over the mess will erase it, or
  drag over a victim or item, or save and reload.
  
* Several of the respawning monsters have "faster" versions. They move faster
  and go directly toward victims or the players. They are usually denoted 
  graphically by a further stage of the monster's animation.
  

Misc. Data Editor (F3)
=======
Allows changing of the background palette, tileset and music.
Most if not all tilesets have several palettes to choose from.

* Changing the tileset will not change the palette. So if you 
  get funky looking tiles, change the palette to something else.
  
* I am unaware of any titles for the music, so it's simply numbered
  0 to 9. This includes the song that was not used in the game.
  

Bonus Editor (F4)
=======
There are a number of bonuses in the game, but only a fixed number
per level. Clicking a bonus from the list will toggle it's state on and off.
The editor will prevent more bonuses than are allowed per level.


Tileset viewer (F6)
=======
Click a tile to view full size.
Alternatively, hold down the left mouse button
and drag to continuously update.


Options Explained (all are off by default) (F8)
=======
1. Save Window Positions
	- Saves the x,y and width and height of the window when you close it.
	  If you have maximized the window, it'll save that too.

2. Start on last level worked on
	- Pretty self explanatory. Starts on the level you were on when you
	  closed the editor.
	  
3. Start at Zeke's starting point
	- Attempts to center the map on the player starting locations.

4. Prompt for save before changing levels.
	- Self explanatory. Only asks if there were any changes.
	
5. Alternative BG Drawing
	- Attempts to use a DIB for drawing the map. If you've never had
	  problems using the editor before, you can leave this off.
	  Older hardware may be more inclined to use this option.
	  Also, using this will probably make the rendering slightly
	  slower.
	  
6. Copy Tile from TileViewer on change
	- Copies the value of the tile selected in the Tile Viewer
	  to the current clipboard item. Similar to hitting C on 
	  the map, only it doesn't cycle the clipboard.


Debug Info (F12)
=======
This was an undocumented feature until this version. It currently 
prints out information about the level such as offset, item count, 
map size, and other somewhat useful tidbits. This key works on all 
previous versions of the editor, I believe.


========
History
========

The first version of the ZAMN Editor was released sometime near the Spring of 
2002. It was primarily for use by my friend Jon and myself, so some of the 
code was a bit hackish. We had been trying to figure out the map format of the
game for at least a year, and he finally figured it out. Then we cracked the 
format of the level data, which setup most of what we needed for a map editor.

All of the basic map editor features were there. The code was pretty bad; all 
of the map data was loaded in to memory and then written to the file at the 
specific offsets. It was buggy too, especially on Windows 98.

The second version was released in March of 2003, IIRC. A major bug that caused
the editor to crash repeatedly was discovered. Unfortunately, I had to redo a 
lot of the code in order to fix it. But it was for the better as I had 
discovered file mapping at that point. The structure of the code remained mostly
the same, but overall, became slightly more stable.

Some of the new features added to the second version were: multiple clipboard, 
scratch pad, some new options, ZMAP files, the bonus editor, auto-map scroll 
while dragging something (I think), and a few more that I can't remember. There
were a few releases of the second version to fix bugs and the last was on 
2006-01-11 which added mouse-wheel support and item "flashing." There was also 
an "unofficial" release by Dcahrakos which added a menubar and can be downloaded
from http://romhacking.net.

At some point after the second version was released, Jon and I began learning so
much more about the game that another, more complete, game editor was planned. 
Zurfl was going to be the name of the full game editor with many more features. 
We had planned to have: the map editor, a sprite constructor, level title 
editor or viewer, level order editor, item and monster attribute editors. There 
was more stuff that we found out, but I can't remember what else we wanted. For 
some weird reason, I decided that working on the original editor in C was
too much of a pain, so I went with assembly. That pretty much killed the project
as I had to completely rewrite everything. It also made the code harder to work
on because I couldn't remember where I had left off or what I was thinking.

So, I decided simply to make another release of the original editor. I tried to 
address most of the issues people had and added the most requested feature: a 
load dialog. After about a week and a half I had added that and then some. I 
decided that I would codename this release "Zurfl" and just forget about the
new editor altogether. And that would be all. 

========
http://www.mattptr.net/