bool BrfData::Load(FILE*f,int verbose,int imposeVers){ Clear(); version = 0; globVersion = version; while (1) { char str[255]; if (!LoadString(f, str)) return false; if (verbose>1) printf("Read \"%s\"\n",str); if (!strcmp(str,"end")) break; else if (!strcmp(str,"rfver ")) LoadVersion(f,imposeVers); else if (!strcmp(str,"mesh")) { if (!LoadVector(f,mesh)) return false; // int k; LoadInt(f,k); mesh.resize(1); mesh[0].Load(f); return true; } else if (!strcmp(str,"texture")) {if (!LoadVector(f,texture)) return false;} else if (!strcmp(str,"shader")) {if (!LoadVector(f,shader)) return false;} else if (!strcmp(str,"material")) {if (!LoadVector(f,material)) return false;} else if (!strcmp(str,"skeleton")) {if (!LoadVector(f,skeleton)) return false;} else if (!strcmp(str,"skeleton_anim")) {if (!LoadVector(f,animation)) return false;} else if (!strcmp(str,"body")) {if (!LoadVector(f,body)) return false; } else { //printf("ERROR! Unknown token \"%s\"\n",str); fflush(stdout); fclose(f); return false; } } fclose(f); return true; }
bool BrfData::LoadFast(const wchar_t*filename, bool faster){ FILE *f = wfopen(filename,"rb"); if (!f) return false; version = 0; globVersion = version; while (1) { char str[255]; if (!LoadString(f, str)) return false; if (!strcmp(str,"end")) break; else if (!strcmp(str,"rfver ")) LoadVersion(f,-1); else if (!strcmp(str,"shader")) {if (!SkipVector(f,shader)) return false;} else if (!strcmp(str,"texture")) {if (!LoadVector(f,texture)) return false; } else if (!strcmp(str,"material")) {if (!SkipVector(f,material)) return false; } else if (!strcmp(str,"mesh")) { if (faster) break; if (!SkipVector(f,mesh)) return false;} else if (!strcmp(str,"skeleton")) {if (!SkipVector(f,skeleton)) return false;} else if (!strcmp(str,"skeleton_anim")) { if (faster) break; if (!SkipVector(f,animation)) return false;} else if (!strcmp(str,"body")) { if (faster) break; if (!SkipVector(f,body)) return false;} else { //printf("ERROR! Unknown token \"%s\"\n",str); fflush(stdout); fclose(f); return false; } } fclose(f); return true; }
bool ThemeUpdateTask::DoRun(void) { bool result = false; QString MythVersion = MYTH_SOURCE_PATH; // Treat devel branches as master if (!MythVersion.isEmpty() && !MythVersion.startsWith("fixes/")) { // FIXME: For now, treat git master the same as svn trunk MythVersion = "trunk"; result |= LoadVersion(MythVersion, LOG_ERR); LOG(VB_GENERAL, LOG_INFO, QString("Loading themes for %1").arg(MythVersion)); } else { MythVersion = MYTH_BINARY_VERSION; // Example: 0.25.20101017-1 MythVersion.replace(QRegExp("\\.[0-9]{8,}.*"), ""); LOG(VB_GENERAL, LOG_INFO, QString("Loading themes for %1").arg(MythVersion)); result |= LoadVersion(MythVersion, LOG_ERR); // If a version of the theme for this tag exists, use it... QRegExp subexp("v[0-9]+.[0-9]+.([0-9]+)-*"); int pos = subexp.indexIn(MYTH_SOURCE_VERSION); if (pos > -1) { QString subversion; int idx = subexp.cap(1).toInt(); for ( ; idx > 0; --idx) { subversion = MythVersion + "." + QString::number(idx); LOG(VB_GENERAL, LOG_INFO, QString("Loading themes for %1").arg(subversion)); result |= LoadVersion(subversion, LOG_INFO); } } } return result; }
BOOL CPackageToolDoc::OnNewDocument() { if (!CDocument::OnNewDocument()) return FALSE; // TODO: 在此添加重新初始化代码 // (SDI 文档将重用该文档) CHAR* strPath = new CHAR[MAX_PATH]; if(::GetCurrentDirectory(MAX_PATH,strPath)) { m_strExWorkPath=string(strPath); } m_strDefaultProName = m_strExWorkPath+"\\"+m_strDefaultProName; m_strUpdateFileName = m_strExWorkPath+"\\"+m_strUpdateFileName; FILE* pf = fopen(m_strDefaultProName.c_str(),"rb"); if(pf) { fscanf(pf,"%s ",strPath); m_strPackageName=strPath; fscanf(pf,"%s ",strPath); m_strFileInfoName=strPath; fscanf(pf,"%s\n",strPath); m_strCurFolder=strPath; fclose(pf); } delete []strPath; //装载版本号 LoadVersion(); //装载包的配置信息 LoadPackageInfos(); //装载压缩信息 LoadCompressInfos(); //打开上次项目 //OpenDefaultProject(); return TRUE; }
HRESULT CVersionInfo::LoadVersion(HINSTANCE hinst) { TCHAR szModule[MAX_PATH+1]; if( !GetModuleFileName(hinst, szModule, MAX_PATH) ) return HRESULT_FROM_WIN32(GetLastError()); return LoadVersion(szModule); }