Mapedit Manual




…ÕÕÕÕª …ÕÕÕÕª
∫MMMM∫ ∫MMMM∫
∫MMMM»Õª …ÕºMMMM∫
∫MMMMMM»Õª …ÕºMMMMMM∫ ø ⁄ ⁄ƒ¬ƒø ⁄ƒƒø
∫MMMM…ÕªM»ÕÕºM…ÕªMMMM∫ ≥ ≥ ≥ ≥ ≥ √ƒƒŸ
∫MMMM∫ »ÕªMM…Õº ∫MMMM∫ ¿ƒƒŸ ¡ ¡ ¿ƒƒŸ
∫MMMM∫ »ÕÕº ∫MMMM∫ ƒƒƒø ⁄ƒƒø ⁄ƒƒø ⁄ƒƒø ⁄ƒƒø
∫MMMM∫ ∫MMMM∫ ⁄ƒƒƒ¥ √ƒƒŸ √ƒƒŸ √ƒƒŸ √ƒ¬Ÿ
»ÕÕÕÕº »ÕÕÕÕº ¿ƒƒƒ¡ ¡ ¡ ¿ƒƒŸ ¡ ¿ƒ ver 3.0
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ
Copyright (C) 2000-2001 Dmitry L. Barbarin aka White/Porien.


⁄ƒƒƒƒƒƒƒƒƒƒƒƒƒø
≥ User Manual ≥
¿ƒƒƒƒƒƒƒƒƒƒƒƒƒŸ

(!) Sorry for my english !

* If i would knew, that this project will be SO fucking big.

Table of contents:

0. Advices for user !

1. What is this ?
1.1 - what is it and what's for ?
1.2 - a bit of history.
1.3 - features.
1.4 - plans for future.
2. Definitions
2.1 - map, cell, viertel, sizes
2.2 - resources, nmf files, bmps, fonts
2.3 - objects, types, classes, abilities
3. Programs features
3.1 - file manager
3.2 - editor
3.3 - resource files editor
4. Releases
4.1 - binary
4.2 - source


ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ

⁄ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒø
≥ 0. Advices for user ! ≥
¿ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒŸ

- Filemanager changes current dirrectory ! So if you loaded any map
and used Filemanager after it -> your map will be saved in CURRENT
DIRRECTORY. I think its a feature. :) If you think its a bug - ask me to
chenge it. But in my opinion it's usefull to save your map in different
dirrectory.

- Once again. For generating BMP's use 800x600x16, or 640x480x16.
never use 1024x769 ! Its very slow.

- Save your work !

- "Read doc's :)) They rule ! (󮂆©‚• ÑÆ™® ! é≠® ê„´•ß !)"
(c) by some guy from Moscow's FidoNet.

- Use Submap's menu for navigation. <F12> is a very old feature.
...

⁄ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒø
≥ 1. What is this ? ≥
¿ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒŸ

1.1 - what is it and whats for ?
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ

This is a map editor for MUDs. And this mapper was written
specialy for MUME - Multiple User in Middle Earth (mume.pvv.org:4242).


1.2 - history.
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ

First version was written by Gray in year 1998-1999. That was just
a simple BMP editor. Map size was fixed (like 53x37 cells).
Second version was written by Dmitry Kuzmenko (Morfizm). That was
the huge project ! (ahem .. this one is huge as well) His mapper was
not BMP editor, but MAP editor. :) Main idea was, not to edit BMP picture,
but work with OBJECTS on map. Dmitry's editor has only one problem - fixed
BMP size :(. Maps couldnt be bigger as 53x37 cells.
And this one version was started since i moved to Germany and had no
any link to play MUME |) I had a lot of time and only 486 DX2 66 8Mb RAM
256k Video Card and Watcom C/C++ Compiler. No mouse, bugged keyboard, no
CD-ROM ... and finaly dead floppy drive :P
And BTW - almost at the same time Moonshade (Alex Piskunov) written
v3 (generation 3!) mapper for Linux/Gnome. NMF file format is compatible
for thouse versions (mine and Moonshades). Thanks to Dmitry Kuzmenko. :)

1.3 - features.
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ

Features ...

* Written in C/C++.
* Unsized map ! I lie ... it is sized. Map size depends on
STUPID_MAX_Y definition in defines.hpp file and variables.
* Scrolling.
* Cells now are BIGGER => i.e. picture quality is better now. 19 pixel
inside each cell.
* COLOURS !! Objects are now coloured, and you can generate coloured
BMP's.
* Almost all objects on map use *.RES files to draw their icons.
* You can edit ALL *.RES. Recompilation is not needed.
Just use RE2.EXE (in RES dirrectory)
* 8 text drawing dirrections (called vectors)
* 10 fonts.
* Clever clipboard ! You can switch editing to clipboard, so you can
see what is in clipboard at this moment and you can edit/save/load
anything in clipboard too.
* Not each cell can have one text, but each viertel can have one text.
(viertel=1/4 cell)
* Graph mode could be changed. (only 16 colour mode since Watcoms
graph.h sucks hard) 3 modes are available at this moment.
* DOS/4GW used, so no more problems with memory (i hope)
* NMF format is compatible with Moonshade's mapper for LINUX.
* SUBMAPS - you can mark some area in your map and give to it name.
later all thouse area will be copied to clipboard and BMP's for em
will be generated by pressing two keys only (F8 and F5).
* Secret objects are supported -> Gray needs this for his site. This
means you can mark ANY object on map as secret and then "turn'em off"
so you BMP will not contain any of thouse object. *worship Manwe*


Disadvantages:

* Written for fucking old MS-DOS.
* Written in C/C++.
* No any config file for objects, video mode, keys, fonts :(
Couse no support for it in NMF save file and bla bla bla
* Only DOS version availaible, couse i'am loosy coder who dont want
to code for Win, and there is already one version for Linux. :)
* No more mouse support.
* Some rules (object puttin') are changed since DK version.
* Slower BMP generation, Redraw and slow scrolling as well.
* Not so stable as DK version >( I'am not so rockish coder as DK :)
(i hope now its much more stable then before)
* New map format ... khe this isnt feature :) this format is worse
than DKs (Dmitry Kuzmenko).

1.3 - plans for future.
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ

I wanna to add the following :
(some of thouse only for Windows version)

- mouse support

- config file
- for video modes
- for *.res
- for objects
- for keys
- for fonts

- new save file format
- archivated
- with tables for fonts and *.res files info
- with new DK's formats features :-0 it was realy nice.

- port mapper to Win'XXX
- may be in Visual C ?

- catch all da fakking BUGZ !

- optimize whatever could be optimized

- rewrite the whole project.

⁄ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒø
≥ 2. Definitions ≥
¿ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒŸ

2.1 - map, cell, viertel, sizes.
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ

Map is a set of objects+grid. Objects are very different. For more
info about Objects read "Objects" part of this file.
The smalles point on the map is a VIERTEL(german 1/4). All objects
are located in viertels, and this is the smallest step size for the cursor
movements (marekd as 1/4 - hotkeys <3> and <4>).
Cell. Each cell is a set of viertels, but this definition is only
LOGICAL. I must admit - some part of my mapper require a piece of map they
receive on input to be in cells - for example BMP generation module.


Well some info :

- distance between viertels : 4 pixels
- so cell's "inside space" is : 19 pixel
- max map size X : unsized - till the prog crash :P (means not very much)
- max map Y sized : size by one definition and is 8000 viertels.
MUST be enuff to map the whole Arda. At least
till next release :)
- max arrow length : 100 nodes (smallest arrow is 2 nodes of course)
- max text (on map) length : 90 symbols
- maximal map name length : 50
- File Manager uses 640x480 mode. For compatibility !
- SUBMAP's Dialog uses 640x480 as well - for compatibility.

2.2 - resources, nmf files, bmps, fonts
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ

So. This program is able to use or generate the following files:

- NMF - New Map Format
Yeah, this is our nasty mapz. Load or Save em. Sometimes even edit |)
Look for format if you want in technical documentation. (this could
be found with SOURCE destribution)
- RES files - resource files
This is images for mapper. WHen my mapper starts it loads all of RES
files he know about. If there is not any needed file ... sorry mapper
will not work. You can edit any of thouse files with RESEDIT tool.
Format is very simple |) could be found in tech docs
- BMP files. Standart Microsoft (or not ?) 16 colour bmp files. The
only type of graphical files my mapper could generate.
- FON files. Standart Microsoft font files. Why so ? Couse WATCOMs font
library supports only this type of files. Actualy now standart *.FON
files from Win'95 are used.


2.3 - objects, types, classes, abilities
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ

Objects. Map consist of object ! Objects are devided to classes :
(kinda programmers info in there)


* C_INSIDE - the class of _inside_ objects.

objects that could be located only INSIDE anz cell.
only one such object could be located in one viertel
(excluding UP and DOWN wayz)

in the middle of cell BIG icon will be used, in all other parts
small.

objects : aggressive mob, up/down ways, death trap, user defined

* C_BACKGROUND - the class of _inside_ cell objects.

objects that could be located only INSIDE anz cell.
only one such object could be located in one viertel

in the middle of cell BIG icon will be used, in all other parts
small.

objects : water, block, muddle, road, user defined

* C_BRIDGE - the class only for bridges

equal to inside objects, but just have another identifier in program,
so C_INSIDE and C_BRIDGE could be located in the same viertel without
any problems.

have big and small icons too.

objects : right and left bridge

* C_WALL walls

Actualy wall can start in any viertel with x an y = 0 (mod 2)
in this pixel could be only one down and one right wall.

wall down is | and wall right is --

objects : wall right/down, muddled right/down, user defined

* C_WALLOBJECT walls objects

coulb be located on any wall, BUT there is no need in wall
anymore.

two icons since there could be RIGHT and LEFT wall object, but
only one hotkey since prog. will take right icon automaticaly.

only one icon. (means no BIG and SMALL icons, but only one size)

objects : door (gate), one-way

* C_ARROW

arrow. can start in any viertel and could have max 100 nodes.
there could be many arrows starting in one viertel, but you will
have problems will LOCATING this arrow. (means making this arrow
CURRENT). Since first found arrow will be set CURRENT

any arrow could start/end with "spitze". (eehh dunno how it will
be in english) means ">"

* C_TEXT
text. can start in any viertel, but there could be only ONE text
in each viertel

each text have vector and font.

vector is the dirrection of text output.

Y vector
^1



≥0 1
√ƒƒƒƒƒƒƒƒƒ≈ƒƒƒƒƒƒƒƒƒƒ> X vector
-1 ≥


¡ -1


For example normal text output - from left to right is
X 1, Y 0

Font could be one of the following (standart MS Windows fonts, out
russian Win95 fonts ?)

Filename : DOSAPP.FON
Facename : Terminal
1 Pixel width : 4 Pixel height : 6 Average width : 4
2 Pixel width : 5 Pixel height : 12 Average width : 5
3 Pixel width : 6 Pixel height : 8 Average width : 6
4 Pixel width : 7 Pixel height : 12 Average width : 7
5 Pixel width : 10 Pixel height : 18 Average width : 10
6 Pixel width : 12 Pixel height : 16 Average width : 12

Filename : SSERIFE.FON
Facename : MS Sans Serif
7 Pixel width : 0 Pixel height : 37 Average width : 16
8 Pixel width : 0 Pixel height : 29 Average width : 12
9 Pixel width : 0 Pixel height : 24 Average width : 9
10 Pixel width : 0 Pixel height : 20 Average width : 8
11 Pixel width : 0 Pixel height : 16 Average width : 7
12 Pixel width : 0 Pixel height : 13 Average width : 5

plus standart 8x8 font

C_BRIDGE
C_NOPORT

Two types that are absolutely the same as C_INSIDE. For bridges and
nolocate/noport/noportal/noteleport blablabla ...

C_COLOR

Almost as C_INSIDE, but has different drawing procedure - it puts next pixel
only if this pixel is BLACK now.


* Types - method to devide different objects of the same class.



3.1 - file manager
3.2 - editor
3.3 - resource files editor


⁄ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒø
≥ 3. Programs features ≥
¿ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒŸ

3.1 - file manager
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ

File manager is used to find file at your disk. It uses not file
extension, but tries to check file's structure (for NMF it checks
nmf files marker - 0x00464d4e). Idea was to sort files, but i fucked
up writing normal sorter :P so the files are A BIT sorted. :)
For NMF files it shows map name too. FIle manager has fixed resolution
640x480.

See KEYZ.TXT for info about File Managers hotkeys.


3.2 - editor
ƒƒƒƒƒƒƒƒƒƒƒƒ

Map editor. Includes File Manager which starts first to get file
name to load, or to create new one, but could be loaded (via F3) too.
Easily can support multiple maps. I mean you can edit MANY maps at the
same time. For now its implemented only in ability to edit/save/load
clipboard, which actualy is just a map. Have lotsa features.

See KEYZ.TXT for more info about keys.

3.3 - resource files editor
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ

Since it was rewritten now it one of the most stable parts of this
project :)) Before it wa the most bugged and unstable even clipboard
was better then this freaking program !
Well ... its used to edit/create RESOURCE files for my mapper.
Keys are very easy - i cant even remember em to describe there :)

Das ist doch sehr einfach, Mensch !

⁄ƒƒƒƒƒƒƒƒƒƒƒƒƒø
≥ 4. Releases ≥
¿ƒƒƒƒƒƒƒƒƒƒƒƒƒŸ

4.1 - binary
ƒƒƒƒƒƒƒƒƒƒƒƒ

Binary releases.

Includes editor module, resource files editor, resource files,
maps (optional), fonts, user documentation


4.2 - source
ƒƒƒƒƒƒƒƒƒƒƒƒ

Dunno who will need my sources, but still :)

Source releases.

Sources - including files that were cut off/disabled.
and files that were written for tests.
Documentation - full variant. Beta docs,
Fonts - same as binary version
Resource files - same as binary



Enjoy ! :)


Dmitry L. Barbarin aka White/Porien
E-mail: lachupe@yahoo.com
2000-2001