Skip to content
aspadm edited this page Oct 11, 2018 · 3 revisions

На русском

Format: MP

Description

Map header file

Visualization

mp structure png image

Structure

File contain one header:

struct header
{
    uint magic; // 72 F6 4A CE

    float max_altitude;
    uint x_chunks_count;
    uint y_chunks_count;
    
    uint textures_count;
    uint texture_size;

    uint tiles_count;
    uint tile_size;

    ushort materials_count;
    uint animated_tiles_count;
};

Next to it struct material materials_array[header.materials_count];:

enum terrain_type
{
    TOT_TERRAIN,            // Base terrain type
    TOT_WATER_NOTEXTURE,    // Water without texture
    TOT_GRASS               // Textured grass
    TOT_WATER,              // Textured water
};

struct material
{
    uint type; // use enum terrain_type
    
    float r, g, b; // color
    float opacity;
    float self_illumination;

    float wave_multiplier;
    float warp_speed;

    uint reserved[3];
};

After that placed uint id_array[tiles_count];, which set tile type:

id type
0 grass
1 ground
2 stone
3 sand
4 rock
5 field
6 water
7 road
8 (empty)
9 snow
10 ice
11 drygrass
12 snowballs
13 lava
14 swamp
15 highrock

At the end placed struct animated animated_tiles[animated_tiles_count]; (can be empty):

struct animated
{
    ushort animated_tile_index;
    ushort animation_phases;
};
Clone this wiki locally