int GUIFontManager::addFont(const TiXmlElement *fontNode) { GUIFont *newFont = new GUIFont(); int index = -1; if(newFont->loadXMLSettings(fontNode)) { index = findFontIndex(newFont); if(index >= 0) { deleteObject(newFont); } else { if(!newFont->build()) { deleteObject(newFont); } else { if(newFont->build()) { addFont(newFont); index = int(guiFontList.size() - 1); } } } } return index; }