2016-05-23 23:47:04 +00:00
|
|
|
#include <base/system.h>
|
|
|
|
#include <base/tl/array.h>
|
|
|
|
#include <engine/shared/datafile.h>
|
|
|
|
#include <engine/storage.h>
|
|
|
|
#include <game/mapitems.h>
|
|
|
|
|
|
|
|
void CreateEmptyMap(IStorage *pStorage)
|
|
|
|
{
|
|
|
|
CDataFileWriter Writer;
|
2016-05-25 21:45:32 +00:00
|
|
|
if(!Writer.Open(pStorage, "maps/dummy3.map"))
|
2016-05-23 23:47:04 +00:00
|
|
|
{
|
2016-05-25 21:45:32 +00:00
|
|
|
dbg_msg("empty_map", "couldn't open map file 'dummy3.map' for writing");
|
2016-05-23 23:47:04 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
CMapItemGroup_v1 Group;
|
|
|
|
Group.m_Version = 1;
|
|
|
|
Group.m_OffsetX = 0;
|
|
|
|
Group.m_OffsetY = 0;
|
|
|
|
Group.m_ParallaxX = 0;
|
|
|
|
Group.m_ParallaxY = 0;
|
|
|
|
Group.m_StartLayer = 0;
|
2016-05-25 21:45:32 +00:00
|
|
|
Group.m_NumLayers = 2;
|
2016-05-23 23:47:04 +00:00
|
|
|
Writer.AddItem(MAPITEMTYPE_GROUP, 0, sizeof(Group), &Group);
|
|
|
|
|
2016-05-25 21:45:32 +00:00
|
|
|
CMapItemLayerTilemap GameLayer;
|
|
|
|
GameLayer.m_Layer.m_Version = 0; // Not set by the official client.
|
|
|
|
GameLayer.m_Layer.m_Type = LAYERTYPE_TILES;
|
|
|
|
GameLayer.m_Layer.m_Flags = 0;
|
|
|
|
GameLayer.m_Version = 2;
|
|
|
|
GameLayer.m_Width = 2;
|
|
|
|
GameLayer.m_Height = 2;
|
|
|
|
GameLayer.m_Flags = TILESLAYERFLAG_GAME;
|
|
|
|
GameLayer.m_Color.r = 0;
|
|
|
|
GameLayer.m_Color.g = 0;
|
|
|
|
GameLayer.m_Color.b = 0;
|
|
|
|
GameLayer.m_Color.a = 0;
|
|
|
|
GameLayer.m_ColorEnv = -1;
|
|
|
|
GameLayer.m_ColorEnvOffset = 0;
|
|
|
|
GameLayer.m_Image = -1;
|
|
|
|
GameLayer.m_Data = 0;
|
|
|
|
Writer.AddItem(MAPITEMTYPE_LAYER, 0, sizeof(GameLayer) - sizeof(GameLayer.m_aName), &GameLayer);
|
|
|
|
|
2016-05-23 23:47:04 +00:00
|
|
|
CMapItemLayerTilemap Layer;
|
2016-05-25 21:45:32 +00:00
|
|
|
Layer.m_Layer.m_Version = 0;
|
2016-05-23 23:47:04 +00:00
|
|
|
Layer.m_Layer.m_Type = LAYERTYPE_TILES;
|
|
|
|
Layer.m_Layer.m_Flags = 0;
|
|
|
|
Layer.m_Version = 2;
|
|
|
|
Layer.m_Width = 2;
|
|
|
|
Layer.m_Height = 2;
|
2016-05-25 21:45:32 +00:00
|
|
|
Layer.m_Flags = 0;
|
2016-05-23 23:47:04 +00:00
|
|
|
Layer.m_Color.r = 0;
|
|
|
|
Layer.m_Color.g = 0;
|
|
|
|
Layer.m_Color.b = 0;
|
2016-05-25 21:45:32 +00:00
|
|
|
Layer.m_Color.a = 255;
|
2016-05-23 23:47:04 +00:00
|
|
|
Layer.m_ColorEnv = -1;
|
|
|
|
Layer.m_ColorEnvOffset = 0;
|
|
|
|
Layer.m_Image = -1;
|
|
|
|
Layer.m_Data = 0;
|
2016-05-25 21:45:32 +00:00
|
|
|
Writer.AddItem(MAPITEMTYPE_LAYER, 1, sizeof(Layer) - sizeof(Layer.m_aName), &Layer);
|
2016-05-23 23:47:04 +00:00
|
|
|
|
2016-05-25 21:45:32 +00:00
|
|
|
CTile Tiles[4];
|
2020-10-26 13:11:11 +00:00
|
|
|
for(auto &Tile : Tiles)
|
2016-05-25 21:45:32 +00:00
|
|
|
{
|
2020-10-26 13:11:11 +00:00
|
|
|
Tile.m_Index = 1;
|
|
|
|
Tile.m_Flags = 0;
|
|
|
|
Tile.m_Skip = 0;
|
|
|
|
Tile.m_Reserved = 0;
|
2016-05-25 21:45:32 +00:00
|
|
|
}
|
2016-05-23 23:47:04 +00:00
|
|
|
Writer.AddData(sizeof(Tiles), &Tiles);
|
|
|
|
|
|
|
|
Writer.Finish();
|
|
|
|
}
|
|
|
|
|
|
|
|
int main(int argc, const char **argv)
|
|
|
|
{
|
2021-11-21 17:16:14 +00:00
|
|
|
cmdline_fix(&argc, &argv);
|
2016-05-23 23:47:04 +00:00
|
|
|
dbg_logger_stdout();
|
|
|
|
IStorage *pStorage = CreateStorage("Teeworlds", IStorage::STORAGETYPE_SERVER, argc, argv);
|
|
|
|
CreateEmptyMap(pStorage);
|
2021-11-21 17:16:14 +00:00
|
|
|
cmdline_free(argc, argv);
|
2016-05-23 23:47:04 +00:00
|
|
|
return 0;
|
|
|
|
}
|