Files
Editor2D/apps/tests.cpp

67 lines
1.5 KiB
C++

#include <Format/Tileset.hpp>
#include <Format/Level.hpp>
#include <Format/Entity.hpp>
#include <Format/Layer.hpp>
void CreateSampleLevel()
{
Level level;
level.name = "Test Level";
level.author = "Automated Tooling";
level.rows = 128;
level.cols = 128;
level.tileset_path = "tileset.json";
write_file_contents("level.json", json::deparse(level.Serialize()));
}
void CreateSampleTileset()
{
// TODO: Read texture size via std_image.
Tileset tileset("tileset", "assets/megacommando.png", 1024, 1280, 16, 16, 0);
write_file_contents("tileset.json", json::deparse(tileset.Serialize()));
}
int main()
{
if (!std::filesystem::exists("tileset.json"))
CreateSampleTileset();
if (!std::filesystem::exists("level.json"))
CreateSampleLevel();
Tileset tileset = Tileset(std::filesystem::path("tileset.json"));
Tile specialized_tile;
specialized_tile.name = "Special Tile";
specialized_tile.id = 9999;
specialized_tile.quad = {0,0,16,16};
json::object meta;
meta["color"] = json::string("#FFAAFF");
specialized_tile.metadata = meta;
tileset.tiles.push_back(specialized_tile);
Level level = Level(std::filesystem::path("level.json"));
Layer* layer = new Layer();
layer->binary_path = "test.lvl";
layer->Load();
layer->Resize(64, 64);
layer->Save();
level.layers.push_back(layer);
write_file_contents("level.json", json::deparse(level.Serialize()));
write_file_contents("tileset.json", json::deparse(tileset.Serialize()));
std::cout << "Completed all tests" << std::endl;
return 0;
}