int handleGameAssets( ehttp &obj, void * cookie ) { string requestedFile = obj.getFilename(); string requestedPath = requestedFile.substr(8); requestedPath = str_replaceallA(requestedPath,"/","\\"); string filePath = SETTINGS::getInstance().getDataPath() + requestedPath; if(FileExists(filePath) && FileExt(filePath) == "dds") { BYTE * bytes; long len; if( filePath.find("bg.dds") != string::npos || filePath.find("box.dds") != string::npos || filePath.find("screenshot") != string::npos) ConvertImageFileToBMPBuffer(filePath, &bytes, &len); else ConvertImageFromFileToPNGBuffer(filePath, &bytes, &len); DebugMsg("HTTPServer","Sending %s",filePath.c_str()); obj.out_set_file(bytes, len, EHTTP_MEMORY_FILE); } return EHTTP_ERR_OK; }
bool IsLinkFile(LPCTSTR path) { return !FileExt(path).CompareNoCase(_T(".lnk")); }
void SkinManager::getSkinList() { /* Finding Skin.xzp files for processing. */ WIN32_FIND_DATA findFileData; memset(&findFileData,0,sizeof(WIN32_FIND_DATA)); string searchcmd; /* Now finding and validating skin folders*/ searchcmd = m_BaseSkinPath + "*"; searchcmd = str_replaceallA(searchcmd,"\\\\","\\"); DebugMsg("SkinManager","Scanning %s for skins",searchcmd.c_str()); HANDLE hFind = FindFirstFile(searchcmd.c_str(), &findFileData); if (hFind != INVALID_HANDLE_VALUE) { do { //DebugMsg("Confirming Skin", m_BaseSkinPath.c_str(), findFileData.cFileName); string searchxur = sprintfaA("%s%s\\skin.xur", m_BaseSkinPath.c_str(), findFileData.cFileName); if (FileExists(searchxur)) { skinitem AddSkin; string szExecutablePath = ParseExecutablePath(DrivesManager::getInstance().getExecutablePath()) + "\\"; szExecutablePath = str_replaceallA(m_BaseSkinPath, "game:\\", szExecutablePath); szExecutablePath = str_replaceallA(szExecutablePath, "\\\\", "\\"); AddSkin.SkinPath = sprintfaA("%s%s\\", m_BaseSkinPath.c_str() , findFileData.cFileName); AddSkin.xmlpath = sprintfaA("%s%s\\", m_BaseSkinPath.c_str() , findFileData.cFileName); AddSkin.FullSkinPath = make_lowercaseA(sprintfaA("%s%s", szExecutablePath.c_str(), findFileData.cFileName)) + "\\"; AddSkin.PreviewPath = sprintfaA("file://%s%s\\preview.png", m_BaseSkinPath.c_str() , findFileData.cFileName); AddSkin.IconPath = sprintfaA("file://%s%s\\devIcon.png", m_BaseSkinPath.c_str() , findFileData.cFileName); AddSkin.SkinFileName = findFileData.cFileName; AddSkin.isCompressed = false; ReadSkinSettings(&AddSkin); if (AddSkin.SkinName == "") { AddSkin.SkinName = findFileData.cFileName; } m_skinList[AddSkin.SkinFileName] = AddSkin; } else if (FileExt(findFileData.cFileName) == "xzp") { skinitem AddSkin; string szExecutablePath = ParseExecutablePath(DrivesManager::getInstance().getExecutablePath()) + "\\"; szExecutablePath = str_replaceallA(m_BaseSkinPath, "game:\\", szExecutablePath); szExecutablePath = str_replaceallA(szExecutablePath, "\\\\", "\\"); AddSkin.SkinPath = sprintfaA("%s", m_BaseSkinPath.c_str()); AddSkin.SkinFileName = sprintfaA("%s", findFileData.cFileName); AddSkin.XZPPath = sprintfaA("%s%s#", m_BaseSkinPath.c_str(), findFileData.cFileName); AddSkin.FullSkinPath = make_lowercaseA(sprintfaA("%s%s", szExecutablePath.c_str(), findFileData.cFileName)); AddSkin.xmlpath = sprintfaA("%sSkins\\%s\\", SETTINGS::getInstance().getDataPath().c_str(), findFileData.cFileName); AddSkin.PreviewPath = sprintfaA("file://%s%s#preview.png", m_BaseSkinPath.c_str(), findFileData.cFileName); AddSkin.IconPath = sprintfaA("file://%s%s#devIcon.png", m_BaseSkinPath.c_str(), findFileData.cFileName); AddSkin.isCompressed = true; ExtractSkinInfo(&AddSkin); ReadSkinSettings(&AddSkin); if (AddSkin.SkinName == "") { string skinName = findFileData.cFileName; skinName = TrimRightStr(skinName, ".xzp"); skinName = skinName + " Compressed"; AddSkin.SkinName = skinName; } m_skinList[AddSkin.SkinFileName] = AddSkin; } } while (FindNextFile(hFind, &findFileData)); FindClose(hFind); } //DebugMsg("SkinManager","Finished listing skin"); }