コード例 #1
0
ファイル: CHeroHandler.cpp プロジェクト: SkyPrayerStudio/vcmi
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();
}
コード例 #2
0
ファイル: xmlloader.cpp プロジェクト: skogler/storyofanerd2
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");
}