_________ __ __ / _____// |_____________ _/ |______ ____ __ __ ______ \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/ / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \ /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ > \/ \/ \//_____/ \/ ______________________ ______________________ T H E W A R B E G I N S Stratagus - A free fantasy real time strategy game engine
#include <chrono>
#include <random>
#include <cmath>
#include "stratagus.h"
#include "editor.h"
#include "map.h"
#include "tileset.h"
#include "ui.h"
#include "player.h"
#include "unit.h"
#include "unit_manager.h"
#include "unittype.h"
Functions | |
edmap.cpp - Editor map functions. | |
static void | EditorChangeSurrounding (const Vec2i &pos, const Vec2i &lock_pos) |
Callback for changed tile (with locked position) More... | |
void | ChangeTile (const Vec2i &pos, int tile) |
static unsigned | QuadFromTile (const Vec2i &pos) |
void | EditorChangeTile (const Vec2i &pos, int tileIndex, const Vec2i &lock_pos, bool changeSurroundings) |
void | EditorTileChanged (const Vec2i &pos) |
Update surroundings for tile changes. More... | |
static void | TileFill (const Vec2i &pos, int tile, int size) |
static std::mt19937 | MersenneTwister (std::chrono::steady_clock::now().time_since_epoch().count()) |
static int | rng () |
static void | EditorRandomizeTile (int tile, int count, int max_size) |
static void | EditorRandomizeUnit (const char *unit_type, int count, int value, int tileIndexUnderUnit) |
static void | EditorDestroyAllUnits () |
static void | RandomizeTransition (int x, int y) |
Change tile from abstract tile-type.
pos | map tile coordinate. |
tile | tile type to edit. |
Callback for changed tile (with locked position)
Update surroundings for tile changes.
pos | Map tile position of change. |
lock_pos | Original change position, that should not be altered. |
void EditorChangeTile | ( | const Vec2i & | pos, |
int | tileIndex, | ||
const Vec2i & | lock_pos, | ||
bool | changeSurroundings | ||
) |
Editor change tile.
pos | map tile coordinate. |
tileIndex | Tile type to edit. |
lock_pos | map tile coordinate, that should not be changed in callback. |
|
static |
Destroy all units
|
static |
Randomize tiles and fill in map
tile | tile number to use |
count | number of times to apply randomization |
max_size | maximum size of the fill rectangle |
|
static |
Add a unit to random locations on the map, unit will be neutral
unit_type | unit type to add to map as a character string |
count | the number of times to add the unit |
value | resources to be stored in that unit |
Update surroundings for tile changes.
Update surroundings for tile changes.
pos | Map tile position of change. |
|
static |
|
static |
Get quad from tile.
A quad is a 32 bit value defining the content of the tile.
A tile is split into 4 parts, the basic tile type of this part is stored as 8bit value in the quad.
ab cd -> abcd
|
static |
|
static |
Make random map FIXME: vladi: we should have parameters control here... TileFill
pos | map tile coordinate for area center. |
tile | Tile type to edit. |
size | Size of surrounding rectangle. |
TileFill(centerx, centery, tile_type_water, map_width) will fill map with water...