========
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/