CHeroHandler::CHeroHandler() { VLC->heroh = this; for (int i = 0; i < GameConstants::SKILL_QUANTITY; ++i) { VLC->modh->identifiers.registerObject("core", "skill", NSecondarySkill::names[i], i); } loadObstacles(); loadTerrains(); loadBallistics(); loadExperience(); }
void LoadedMap::loadTileset(XMLElement *element) { Logger.logMessage(LOG_STATE, LOG_MAP, "LoadedMap::loadTileset\n"); assert(element); TileSet tileset; tileset.name = element->Attribute(XML_TILESET_NAME.c_str()); stringstream tilewidth (element->Attribute(XML_TILESET_WIDTH.c_str())); stringstream tileheight (element->Attribute(XML_TILESET_HEIGHT.c_str())); stringstream spacing (element->Attribute(XML_TILESET_SPACING.c_str())); stringstream margin (element->Attribute(XML_TILESET_MARGIN.c_str())); tilewidth >> tileset.tilewidth; tileheight >> tileset.tileheight; spacing >> tileset.spacing; margin >> tileset.margin; XMLElement *image = element->FirstChildElement(XML_IMAGE.c_str()); assert(image); loadImageSource(image, &tileset); XMLElement *terrains = element->FirstChildElement(XML_TERRAINTYPE.c_str()); assert(terrains); loadTerrains(terrains, &tileset); XMLElement *first_tile = element->FirstChildElement(XML_TILE.c_str()); assert(first_tile); //NOTE: MUST push first because we reference afterwards (terrain //pointers) m_tilesets.push_back(tileset); loadTiles(first_tile, &m_tilesets.back()); Logger.logMessage(LOG_STATE, LOG_MAP, "LoadedMap::loadTileset end\n"); }