here is a short description of the map.txt file format:

1) valid mapcharacters

- the characters * and A-Z are valid for solid blocks
- the characters 0-9 and a-z are valid for nonsolid tiles, where you can walk
- you can assign textures to all valid mapcharacters and some special functionality (like entry and exit points, switches and doors) to the nonsolid tile characters

2) use of map.vis file

Define [usevis=on] or [usevis=off] in the map.txt.

- the map.vis is created with the makevis.exe. Using the map.vis will make rendering much faster, but creating it might take a long time for bigger levels.
- you have to make a new map.vis only if you create/delete solid blocks or nonsolid tiles, not if you assign a new mapchar/texture to an existing tile or add switches/doors.

3) entry and exit points

[entry_exit]
entry_y exit_x

So you define character y for entry and x for exit.

4) switches and doors

[switch_doors]
switch_a door_b
switch_c door_d

So you define the switch a opens door b and switch c opens door d.

5) textures

[textures]
mapchar_* textureslot_1_1 move_0 glow_0 size_128 maxsize_128 vram_1 bpp_16 walltexture02_128.raw
mapchar_0 textureslot_1_1 move_0 glow_0 size_128 maxsize_128 vram_1 bpp_16 floor_128.raw
mapchar_0 textureslot_2_1 move_0 glow_0 size_128 maxsize_128 vram_1 bpp_16 ceiling_128.raw

- in every map.txt the mapcharacters * (for solid tiles) and 0 (for nonsolid tiles) MUST be assigned to some texture! Other valid mapcharacters can then be used in the map without assigning textures (or only assigning additional textureslots).
- mapchar_0: this assigns the following texture to character 0
- textureslot_1_1: this is the main slot. use textureslot_1_2 and textureslot_1_3 for textureblending
- for free tiles, you can assign 2 different textures for floor and ceiling - floor (textureslot_1_1) and ceiling (textureslot_2_1)
- move_0: no movment, use move_1 - move_8 for different movments of the texture
- glow_0: no glowing, you can use different glowing effects glow_1 - glow_6 when using textureblending
- size_128: when using textures in raw format you must enter the correct size
- maxsize_128: this size is used in the program (lower size = faster but lower quality)
- vram_1: will load the texture into vram (= very much faster), vram_0 will load it into ram, vram has space for only 7 128x128 textures, so dont't load to much into it...
- bpp_16: the texture can be rendered with 16 or 32 bits per pixel (16 = faster, 32 = better quality, but slow)

- currently textures in raw and bmp format are supported
- currently only square, power of 2 texture formats are supported (256x256, 128x128, 64x64...). I used irfan view to convert them.

6) map

at last you use the mapcharacters to draw the map


- so to create a new level, make a new folder in the levels directory (copy and modify the "simple" level), edit the map.txt, make the make.vis or turn off usevis, and finaly register the new level in levels.txt

- dungeons is far from being finished, so the map format may change in next versions