X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fapp%2Fapp.cpp;h=3f87c8f5cf39011e0734d936bf315e1be7ababdb;hb=a1b5d6dbc13d185b9ac459e421ae44b3ef8ce133;hp=b4ede47f0db1d6bfc96a692da7018ccd45869502;hpb=2025d49798b93180237b6ce62d3ff5d6ee8ebc6e;p=blobs.git diff --git a/src/app/app.cpp b/src/app/app.cpp index b4ede47..3f87c8f 100644 --- a/src/app/app.cpp +++ b/src/app/app.cpp @@ -176,6 +176,7 @@ Assets::Assets() , font_path(path + "fonts/") , skin_path(path + "skins/") , tile_path(path + "tiles/") +, random(0x6283B64CEFE47925) , fonts{ graphics::Font(font_path + "DejaVuSans.ttf", 32), graphics::Font(font_path + "DejaVuSans.ttf", 24), @@ -211,18 +212,17 @@ Assets::Assets() LoadTileTexture("tundra", textures.tiles, 11); LoadTileTexture("water", textures.tiles, 12); LoadTileTexture("wheat", textures.tiles, 13); + textures.tiles.FilterTrilinear(); textures.skins.Bind(); textures.skins.Reserve(256, 256, 9, format); - LoadSkinTexture("1", textures.skins, 0); - LoadSkinTexture("2", textures.skins, 1); - LoadSkinTexture("3", textures.skins, 2); - LoadSkinTexture("4", textures.skins, 3); - LoadSkinTexture("5", textures.skins, 4); - LoadSkinTexture("6", textures.skins, 5); - LoadSkinTexture("7", textures.skins, 6); - LoadSkinTexture("8", textures.skins, 7); - LoadSkinTexture("9", textures.skins, 8); + LoadSkinTexture("plain", textures.skins, 0); + LoadSkinTexture("stripes", textures.skins, 1); + LoadSkinTexture("dots", textures.skins, 2); + LoadSkinTexture("lines", textures.skins, 3); + LoadSkinTexture("spots", textures.skins, 4); + LoadSkinTexture("circles", textures.skins, 5); + textures.skins.FilterTrilinear(); } Assets::~Assets() { @@ -249,6 +249,11 @@ void Assets::ReadResources(io::TokenStreamReader &in) { in.Skip(io::Token::EQUALS); if (name == "label") { in.ReadString(data.resources[id].label); + } else if (name == "density") { + data.resources[id].density = in.GetDouble(); + } else if (name == "energy") { + data.resources[id].energy = in.GetDouble(); + data.resources[id].inverse_energy = 1.0 / data.resources[id].energy; } else if (name == "state") { in.ReadIdentifier(name); if (name == "solid") { @@ -262,6 +267,8 @@ void Assets::ReadResources(io::TokenStreamReader &in) { } else { throw std::runtime_error("unknown resource state '" + name + "'"); } + } else if (name == "base_color") { + in.ReadVec(data.resources[id].base_color); } else { throw std::runtime_error("unknown resource property '" + name + "'"); }