#include "defaults/icons.hpp" #include #include SDL_Texture* Icon::icons_texture = nullptr; std::unordered_map Icon::resource_pos = { { ResourceType::WOOD, {0, 0} }, { ResourceType::STONE,{1, 0} }, { ResourceType::CLAY, {2, 0} }, { ResourceType::IRON, {3, 0} } // the rest filled in init() }; std::unordered_map Icon::item_pos = { { ItemType::SWORD_WOOD, {7, 0} }, { ItemType::SWORD_STONE, {7, 0} }, { ItemType::PICKAXE_STONE, {16,0} }, { ItemType::WOODAXE_STONE, {16,1} }, { ItemType::BUILDING_TOOL, {15,0} }, { ItemType::CULTIVATOR, {15,1} } // the rest filled in init() }; std::unordered_map Icon::building_pos = { { BuildingType::RESEARCH_WOOD_1, {11, 0} }, { BuildingType::CRAFTING_WOOD_1, {12, 0} }, { BuildingType::RESEARCH_STONE_1, {11, 1} }, { BuildingType::CRAFTING_STONE_1, {12, 1} }, { BuildingType::RESEARCH_IRON_1, {11, 2} }, { BuildingType::CRAFTING_IRON_1, {12, 2} }, // the rest filled in init() }; std::unordered_map Icon::icon_pos = { { IconType::CHECKMARK, {0, 24} }, }; bool Icon::Init(SDL_Renderer* renderer) { const char* file = "Pixel_Crawler/Icons/Icons.png"; if(!renderer || !file) { std::cerr << "MISSING ICONS.png\n"; return false; } icons_texture = IMG_LoadTexture(renderer, file); if(!icons_texture) { std::cout << "Failed to create texture!\n"; return false; } // defaults for resources for(int i = (int)ResourceType::NONE; i < (int)ResourceType::LAST; ++i) { ResourceType t = (ResourceType)i; if(resource_pos.find(t) == resource_pos.end()) { resource_pos[t] = {0, 1}; } } // defaults for items for(int i = (int)ItemType::SWORD_WOOD; i <= (int)ItemType::NONE; ++i) { ItemType t = (ItemType)i; if(item_pos.find(t) == item_pos.end()) { item_pos[t] = {0, 1}; } } return true; } void Icon::Quit() { if(icons_texture) { SDL_DestroyTexture(icons_texture); icons_texture = nullptr; } }