bool LoadViewerSettings (const char *filename) { LONG lResult; // Registry function result code DWORD dwDisposition; // Type of key opening event HKEY hModelKey; lResult = RegViewerSettingsKey( filename, &hModelKey, &dwDisposition); if (lResult != ERROR_SUCCESS) // Failure return false; // First time, just set to Valve default if (dwDisposition == REG_CREATED_NEW_KEY) { return false; } RegReadQAngle( hModelKey, "Rot", g_viewerSettings.rot ); RegReadVector( hModelKey, "Trans", g_viewerSettings.trans ); RegReadColor( hModelKey, "bgColor", g_viewerSettings.bgColor ); RegReadColor( hModelKey, "gColor", g_viewerSettings.gColor ); RegReadColor( hModelKey, "lColor", g_viewerSettings.lColor ); RegReadColor( hModelKey, "aColor", g_viewerSettings.aColor ); RegReadQAngle( hModelKey, "lightrot", g_viewerSettings.lightrot ); RegReadInt( hModelKey, "sequence", &g_viewerSettings.sequence ); RegReadInt( hModelKey, "overlaySequence0", &g_viewerSettings.overlaySequence[0] ); RegReadFloat( hModelKey, "overlayWeight0", &g_viewerSettings.overlayWeight[0] ); RegReadInt( hModelKey, "overlaySequence1", &g_viewerSettings.overlaySequence[1] ); RegReadFloat( hModelKey, "overlayWeight1", &g_viewerSettings.overlayWeight[1] ); RegReadInt( hModelKey, "overlaySequence2", &g_viewerSettings.overlaySequence[2] ); RegReadFloat( hModelKey, "overlayWeight2", &g_viewerSettings.overlayWeight[2] ); RegReadInt( hModelKey, "overlaySequence3", &g_viewerSettings.overlaySequence[3] ); RegReadFloat( hModelKey, "overlayWeight3", &g_viewerSettings.overlayWeight[3] ); RegReadInt( hModelKey, "renderwidth", &g_viewerSettings.width ); RegReadInt( hModelKey, "renderheight", &g_viewerSettings.height ); RegReadFloat( hModelKey, "speedscale", &g_viewerSettings.speedScale ); if (g_viewerSettings.speedScale > 1.0) g_viewerSettings.speedScale = 1.0; g_viewerSettings.width = max( 200, g_viewerSettings.width ); g_viewerSettings.height = max( 150, g_viewerSettings.height ); RegReadInt( hModelKey, "viewermode", &g_viewerSettings.application_mode ); RegReadInt( hModelKey, "thumbnailsize", &g_viewerSettings.thumbnailsize ); if ( g_viewerSettings.thumbnailsize == 0 ) { g_viewerSettings.thumbnailsize = 128; } RegReadInt( hModelKey, "speechapiindex", &g_viewerSettings.speechapiindex ); return true; }
void RegistryReadFont(CHARFORMAT* cf) { cf->cbSize = sizeof(CHARFORMAT); cf->dwMask = CFM_BOLD | CFM_FACE | CFM_ITALIC | CFM_SIZE; cf->dwEffects = 0; RegReadStr("FontName", "Courier New", cf->szFaceName); cf->yHeight = RegReadInt("FontSize", PointToTwip(10)); if (RegReadInt("FontWeight", 0)) cf->dwEffects |= CFE_BOLD; if (RegReadInt("FontItalic", 0)) cf->dwEffects |= CFE_ITALIC; }
void WcmConfig::Load() { #ifdef _WIN32 for (int i = 0; i<mapList.count(); i++) { Node &node = mapList[i]; if (node.type == MT_BOOL && node.ptr.pBool != 0) *node.ptr.pBool = RegReadInt(node.section, node.name, node.def.defBool)!=0; else if (node.type == MT_INT && node.ptr.pInt != 0) *node.ptr.pInt = RegReadInt(node.section, node.name, node.def.defInt); else if (node.type == MT_STR && node.ptr.pStr != 0) *node.ptr.pStr = RegReadString(node.section, node.name, node.def.defStr); } #else IniHash hash; FSPath path = configDirPath; path.Push(CS_UTF8, "config"); hash.Load(DEFAULT_CONFIG_PATH); hash.Load((sys_char_t*)path.GetString(sys_charset_id)); for (int i = 0; i<mapList.count(); i++) { Node &node = mapList[i]; if (node.type == MT_BOOL && node.ptr.pBool != 0) *node.ptr.pBool = hash.GetBoolValue(node.section, node.name, node.def.defBool); else if (node.type == MT_INT && node.ptr.pInt != 0) *node.ptr.pInt = hash.GetIntValue(node.section, node.name, node.def.defInt); else if (node.type == MT_STR && node.ptr.pStr != 0) { const char *s = hash.GetStrValue(node.section, node.name, node.def.defStr); if (s) *node.ptr.pStr = new_char_str(s); else (*node.ptr.pStr) = 0; } } #endif if (editTabSize<=0 || editTabSize >64) editTabSize = 8; }
void RegistryReadWindowPos(HWND hWnd) { int x, y, cx, cy; int Maximized = RegReadInt("WindowMaximized", 1); if (Maximized) { ShowWindow(hWnd, SW_MAXIMIZE); return; } x = RegReadInt("WindowLeft", -1); y = RegReadInt("WindowTop", -1); cx = RegReadInt("WindowWidth", -1); cy = RegReadInt("WindowHeight", -1); if (x == -1) return; SetWindowPos(hWnd, NULL, x, y, cx, cy, SWP_NOZORDER); }
bool LoadViewerSettingsInt( char const *keyname, int *value ) { LONG lResult; // Registry function result code DWORD dwDisposition; // Type of key opening event HKEY hModelKey; lResult = RegViewerSettingsKey( "hlfaceposer", &hModelKey, &dwDisposition); if (lResult != ERROR_SUCCESS) // Failure return false; // First time, just set to Valve default if (dwDisposition == REG_CREATED_NEW_KEY) { return false; } *value = 0; RegReadInt( hModelKey, keyname, value ); return true; }
bool LoadViewerSettings (const char *filename, StudioModel *pModel ) { LONG lResult; // Registry function result code DWORD dwDisposition; // Type of key opening event HKEY hModelKey; if (filename == NULL || pModel == NULL) return false; lResult = RegViewerSettingsKey( filename, &hModelKey, &dwDisposition); if (lResult != ERROR_SUCCESS) // Failure return false; // First time, just set to Valve default if (dwDisposition == REG_CREATED_NEW_KEY) { return false; } RegReadQAngle( hModelKey, "Rot", pModel->m_angles ); RegReadVector( hModelKey, "Trans", pModel->m_origin ); RegReadColor( hModelKey, "bgColor", g_viewerSettings.bgColor ); RegReadColor( hModelKey, "gColor", g_viewerSettings.gColor ); RegReadColor( hModelKey, "lColor", g_viewerSettings.lColor ); RegReadColor( hModelKey, "aColor", g_viewerSettings.aColor ); RegReadQAngle( hModelKey, "lightrot", g_viewerSettings.lightrot ); int iTemp; float flTemp; char szTemp[256]; RegReadString( hModelKey, "sequence", szTemp, sizeof( szTemp ) ); iTemp = pModel->LookupSequence( szTemp ); pModel->SetSequence( iTemp ); RegReadString( hModelKey, "overlaySequence0", szTemp, sizeof( szTemp ) ); iTemp = pModel->LookupSequence( szTemp ); RegReadFloat( hModelKey, "overlayWeight0", &flTemp ); pModel->SetOverlaySequence( 0, iTemp, flTemp ); RegReadString( hModelKey, "overlaySequence1", szTemp, sizeof( szTemp ) ); iTemp = pModel->LookupSequence( szTemp ); RegReadFloat( hModelKey, "overlayWeight1", &flTemp ); pModel->SetOverlaySequence( 1, iTemp, flTemp ); RegReadString( hModelKey, "overlaySequence2", szTemp, sizeof( szTemp ) ); iTemp = pModel->LookupSequence( szTemp ); RegReadFloat( hModelKey, "overlayWeight2", &flTemp ); pModel->SetOverlaySequence( 2, iTemp, flTemp ); RegReadString( hModelKey, "overlaySequence3", szTemp, sizeof( szTemp ) ); iTemp = pModel->LookupSequence( szTemp ); RegReadFloat( hModelKey, "overlayWeight3",&flTemp ); pModel->SetOverlaySequence( 3, iTemp, flTemp ); RegReadInt( hModelKey, "renderwidth", &g_viewerSettings.width ); RegReadInt( hModelKey, "renderheight", &g_viewerSettings.height ); RegReadFloat( hModelKey, "speedscale", &g_viewerSettings.speedScale ); if (g_viewerSettings.speedScale > 1.0) g_viewerSettings.speedScale = 1.0; g_viewerSettings.width = MAX( 200, g_viewerSettings.width ); g_viewerSettings.height = MAX( 150, g_viewerSettings.height ); RegReadInt( hModelKey, "viewermode", &g_viewerSettings.application_mode ); RegReadInt( hModelKey, "thumbnailsize", &g_viewerSettings.thumbnailsize ); RegReadInt( hModelKey, "thumbnailsizeanim", &g_viewerSettings.thumbnailsizeanim ); if ( g_viewerSettings.thumbnailsize == 0 ) { g_viewerSettings.thumbnailsize = 128; } if ( g_viewerSettings.thumbnailsizeanim == 0 ) { g_viewerSettings.thumbnailsizeanim = 128; } RegReadInt( hModelKey, "speechapiindex", &g_viewerSettings.speechapiindex ); RegReadInt( hModelKey, "cclanguageid", &g_viewerSettings.cclanguageid ); RegReadBool( hModelKey, "showground", &g_viewerSettings.showGround ); RegReadBool( hModelKey, "showbackground", &g_viewerSettings.showBackground ); RegReadBool( hModelKey, "showshadow", &g_viewerSettings.showShadow ); RegReadBool( hModelKey, "showillumpos", &g_viewerSettings.showIllumPosition ); RegReadBool( hModelKey, "enablenormalmapping", &g_viewerSettings.enableNormalMapping ); RegReadString( hModelKey, "merge0", g_viewerSettings.mergeModelFile[0], sizeof( g_viewerSettings.mergeModelFile[0] ) ); RegReadString( hModelKey, "merge1", g_viewerSettings.mergeModelFile[1], sizeof( g_viewerSettings.mergeModelFile[1] ) ); RegReadString( hModelKey, "merge2", g_viewerSettings.mergeModelFile[2], sizeof( g_viewerSettings.mergeModelFile[2] ) ); RegReadString( hModelKey, "merge3", g_viewerSettings.mergeModelFile[3], sizeof( g_viewerSettings.mergeModelFile[3] ) ); return true; }