void BitmapFont::read(const string& filename) { string filePath = filename; for (auto i = filePath.begin(); i != filePath.end(); ++i) { if (*i == '\\') *i = '/'; } fileName = filePath; auto lastPathSeparator = filePath.find_last_of('/'); if (lastPathSeparator != string::npos) basePath = filePath.substr(0, lastPathSeparator) + "/"; else basePath = ""; #ifdef WIN32 for (auto i = filePath.begin(); i != filePath.end(); ++i) { if (*i == '/') *i = '\\'; } #endif std::ifstream ifs(filePath, std::ios_base::in | std::ios_base::binary); if (!ifs.good()) throw io::FileNotFoundException(filename); string buffer = string(std::istreambuf_iterator<char>(ifs), std::istreambuf_iterator<char>()); if (isBinaryBmfont(buffer)) readFromBinary(filename, buffer); else if (isXmlBmfont(buffer)) readFromXml(filename, buffer); else if (isTextBmfont(buffer)) readFromText(filename, buffer); else throw io::BadFileFormatException("unknown bitmap font format"); }
void Music::Init() { engine = irrklang::createIrrKlangDevice(); musicVec = readFromText("text//soundName.txt"); int i = 0; for (vector<string>::iterator it = musicVec.begin(); it != musicVec.end(); ++it) { sound.push_back(engine->addSoundSourceFromFile((*it).c_str()) ); sound[i]->setDefaultVolume(1.f); ++i; } }