//----- dxResetColors() ----------------------------------------------------- void CDirectXGraphics::dxResetColors() { Configuration* pConfig(Configuration::getInstance()); D3DLIGHT9 light; // ambient light _pd3dDevice->SetRenderState(D3DRS_AMBIENT, pConfig->_mvDefAmbiColor); // 1st light source ZeroMemory(&light, sizeof(light)); light.Type = D3DLIGHT_DIRECTIONAL; light.Diffuse = D3DXCOLOR(pConfig->_mvDefDiffColor); light.Specular = D3DXCOLOR(pConfig->_mvDefSpecColor); light.Direction.x = 0.0f; light.Direction.y = -10000.0f; light.Direction.z = 0.0f; light.Range = 21000.0f; _pd3dDevice->SetLight(0, &light); _pd3dDevice->LightEnable(0, true); // 2nd light source light.Direction.y = 10000.0f; _pd3dDevice->SetLight(1, &light); _pd3dDevice->LightEnable(1, true); }
//----- COptionsPageGeneral() ----------------------------------------------- COptionsPageGeneral::COptionsPageGeneral(CWnd* pParent /*=NULL*/) : CPropertyPage(COptionsPageGeneral::IDD) { Configuration* pConfig(Configuration::getInstance()); _pathNifXML = pConfig->_pathNifXML.c_str(); if (_pathNifXML.IsEmpty()) _pathNifXML = _T("nif.xml"); _pathDefInput = pConfig->_pathDefaultInput.c_str(); _pathDefOutput = pConfig->_pathDefaultOutput.c_str(); _pathNifSkope = pConfig->_pathNifSkope.c_str(); _pathTemplates = pConfig->getPathTemplates().c_str(); _pathSkyrim = pConfig->getPathTextures().c_str(); if (_pathSkyrim.IsEmpty()) _pathSkyrim = _T("TESV.EXE"); }
//----- dxBeginScene() ------------------------------------------------------ bool CDirectXGraphics::dxBeginScene() { Configuration* pConfig(Configuration::getInstance()); // clear background _pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET, pConfig->_mvDefBackColor, 1.0f, 0); _pd3dDevice->Clear(0, NULL, D3DCLEAR_ZBUFFER, pConfig->_mvDefBackColor, 1.0f, 0); // Begin the scene _pd3dDevice->BeginScene(); return true; }
//----- OnBnClickedBtPathNifxml() ------------------------------------------- void COptionsPageGeneral::OnBnClickedBtPathNifxml() { Configuration* pConfig(Configuration::getInstance()); UpdateData(TRUE); _pathNifXML = FDFileHelper::getFile(_pathNifXML, _T("Nif-XML (nif.xml)|nif.xml||"), _T("xml"), false, _T("Please select Nif.xml file"), OFN_FILEMUSTEXIST); UpdateData(FALSE); m_ToolTip.AddTool(GetDlgItem(IDC_ED_PATH_NIFXML), _pathNifXML); // re-initialize material list delete NifUtlMaterialList::getInstance(); NifUtlMaterialList::initInstance(CStringA(_pathNifXML).GetString(), pConfig->_matScanTag, pConfig->_matScanName); }
//----- OnOK() -------------------------------------------------------------- void COptionsPageGeneral::OnOK() { Configuration* pConfig(Configuration::getInstance()); UpdateData(TRUE); pConfig->_pathNifXML = (const char*) CStringA(_pathNifXML).GetString(); pConfig->_pathDefaultInput = (const char*) CStringA(_pathDefInput).GetString(); pConfig->_pathDefaultOutput = (const char*) CStringA(_pathDefOutput).GetString(); pConfig->_pathNifSkope = (const char*) CStringA(_pathNifSkope).GetString(); pConfig->setPathTemplates((const char*) CStringA(_pathTemplates).GetString()); pConfig->setPathTextures ((const char*) CStringA(_pathSkyrim).GetString()); }
TaskBar::TaskBar() : Fl_Group(0,0,0,0) { m_max_taskwidth = 150; layout_align(FL_ALIGN_CLIENT); layout_spacing(2); Fl_Config pConfig(fl_find_config_file("ede.conf", true)); pConfig.get("Panel", "VariableWidthTaskbar",variable_width,true); update(); end(); }
//----- BroadcastEvent() ---------------------------------------------------- BOOL CFormBlenderPrepareView::BroadcastEvent(WORD event, void* pParameter) { switch (event) { case IBCE_CHANGED_SETTINGS: { Configuration* pConfig(Configuration::getInstance()); // tool ((CButton*) GetDlgItem(IDC_RD_ARMOR))->SetCheck(_actTool == IDC_RD_ARMOR); // direction ((CButton*) GetDlgItem(IDC_RD_TO_BLENDER)) ->SetCheck(_actDirection == IDC_RD_TO_BLENDER); ((CButton*) GetDlgItem(IDC_RD_FROM_BLENDER))->SetCheck(_actDirection == IDC_RD_FROM_BLENDER); GetDlgItem(IDC_BT_CONVERT)->SetWindowText((_actDirection == IDC_RD_TO_BLENDER) ? _T("Prep. Blender") : _T("Prep. Skyrim")); /* // name flags int selItem(pConfig->_ceNameHandling + IDC_RD_NAME_MAT); ((CButton*) GetDlgItem(IDC_RD_NAME_MAT)) ->SetCheck(selItem == IDC_RD_NAME_MAT); ((CButton*) GetDlgItem(IDC_RD_NAME_CHUNK))->SetCheck(selItem == IDC_RD_NAME_CHUNK); // various flags ((CButton*) GetDlgItem(IDC_CK_GEN_NORMALS)) ->SetCheck(pConfig->_ceGenNormals ? BST_CHECKED : BST_UNCHECKED); ((CButton*) GetDlgItem(IDC_CK_SCALE_TO_MODEL))->SetCheck(pConfig->_ceScaleToModel ? BST_CHECKED : BST_UNCHECKED); */ break; } case IBCE_SET_TOOLTIPP: { _toolTipCtrl.Activate(Configuration::getInstance()->_showToolTipps); break; } } // switch (event) // route event to sub forms for (auto pIter=_subFormList.begin(), pEnd=_subFormList.end(); pIter != pEnd; ++pIter) { if (dynamic_cast<IfcBroadcastObject*>(*pIter) != NULL) { dynamic_cast<IfcBroadcastObject*>(*pIter)->BroadcastEvent(event, pParameter); } } return TRUE; }
PRL_RESULT Task_VzManager::create_env() { CProtoCommandPtr cmd = CProtoSerializer::ParseCommand( getRequestPackage()); if ( ! cmd->IsValid() ) return PRL_ERR_UNRECOGNIZED_REQUEST; CProtoVmCreateCommand *pCmd = CProtoSerializer::CastToProtoCommand<CProtoVmCreateCommand>(cmd); if (!pCmd->IsValid()) return PRL_ERR_UNRECOGNIZED_REQUEST; SmartPtr<CVmConfiguration> pConfig(new CVmConfiguration); pConfig->fromString(pCmd->GetVmConfig()); QString sPath = pCmd->GetVmHomePath(); if (!sPath.isEmpty() && !QDir::isAbsolutePath( sPath) ) { WRITE_TRACE(DBG_FATAL, "Invalid path '%s'", QSTR2UTF8(sPath)); return PRL_ERR_VMDIR_PATH_IS_NOT_ABSOLUTE; } QString vm_uuid = pConfig->getVmIdentification()->getVmUuid(); QString vm_name = pConfig->getVmIdentification()->getVmName(); QString vm_home; CVmDirectory::TemporaryCatalogueItem vmInfo( vm_uuid, vm_home, vm_name); // Lock PRL_RESULT res = checkAndLockRegisterParameters(&vmInfo); if (PRL_FAILED(res)) return res; res = get_op_helper()->create_env(sPath, pConfig, pCmd->GetCommandFlags()); if (PRL_SUCCEEDED(res)) { res = getVzHelper()->insertVmDirectoryItem(pConfig); if (PRL_FAILED(res)) get_op_helper()->delete_env( pConfig->getVmIdentification()->getVmUuid()); } // Unlock temporary registration CDspService::instance()->getVmDirManager() .unlockExclusiveVmParameters(&vmInfo); if (PRL_SUCCEEDED(res)) { getResponseCmd()->SetVmConfig(pConfig->toString()); sendEvent(PET_DSP_EVT_VM_ADDED, vm_uuid); } return res; }
const bool OTFolders::GetSetAll() { OTSettings * pConfig(new OTSettings(OTPaths::GlobalConfigFile())); pConfig->Reset(); if(!pConfig->Load()) return false; if(!GetSetFolderName(pConfig,KEY_ACCOUNT, DEFAULT_ACCOUNT, m_strAccount )) return false; if(!GetSetFolderName(pConfig,KEY_CERT, DEFAULT_CERT, m_strCert )) return false; if(!GetSetFolderName(pConfig,KEY_CONTRACT, DEFAULT_CONTRACT, m_strContract )) return false; if(!GetSetFolderName(pConfig,KEY_CREDENTIAL, DEFAULT_CREDENTIAL, m_strCredential )) return false; if(!GetSetFolderName(pConfig,KEY_CRON, DEFAULT_CRON, m_strCron )) return false; if(!GetSetFolderName(pConfig,KEY_INBOX, DEFAULT_INBOX, m_strInbox )) return false; if(!GetSetFolderName(pConfig,KEY_MARKET, DEFAULT_MARKET, m_strMarket )) return false; if(!GetSetFolderName(pConfig,KEY_MINT, DEFAULT_MINT, m_strMint )) return false; if(!GetSetFolderName(pConfig,KEY_NYM, DEFAULT_NYM, m_strNym )) return false; if(!GetSetFolderName(pConfig,KEY_NYMBOX, DEFAULT_NYMBOX, m_strNymbox )) return false; if(!GetSetFolderName(pConfig,KEY_OUTBOX, DEFAULT_OUTBOX, m_strOutbox )) return false; if(!GetSetFolderName(pConfig,KEY_PAYMENTINBOX, DEFAULT_PAYMENTINBOX, m_strPaymentInbox )) return false; if(!GetSetFolderName(pConfig,KEY_PUBCRED, DEFAULT_PUBCRED, m_strPubcred )) return false; if(!GetSetFolderName(pConfig,KEY_PUBKEY, DEFAULT_PUBKEY, m_strPubkey )) return false; if(!GetSetFolderName(pConfig,KEY_PURSE, DEFAULT_PURSE, m_strPurse )) return false; if(!GetSetFolderName(pConfig,KEY_RECEIPT, DEFAULT_RECEIPT, m_strReceipt )) return false; if(!GetSetFolderName(pConfig,KEY_RECORDBOX, DEFAULT_RECORDBOX, m_strRecordBox )) return false; if(!GetSetFolderName(pConfig,KEY_EXPIREDBOX, DEFAULT_EXPIREDBOX, m_strExpiredBox )) return false; if(!GetSetFolderName(pConfig,KEY_SCRIPT, DEFAULT_SCRIPT, m_strScript )) return false; if(!GetSetFolderName(pConfig,KEY_SMARTCONTRACTS,DEFAULT_SMARTCONTRACTS, m_strSmartContracts )) return false; if(!GetSetFolderName(pConfig,KEY_SPENT, DEFAULT_SPENT, m_strSpent )) return false; if(!GetSetFolderName(pConfig,KEY_USERACCT, DEFAULT_USERACCT, m_strUserAcct )) return false; if(!pConfig->Save()) return false; pConfig->Reset(); return true; }
//----- InitInstance() ------------------------------------------------------ BOOL CNifUtilsSuiteApp::InitInstance() { // init common controls (since Win95) INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(InitCtrls); InitCtrls.dwICC = ICC_WIN95_CLASSES; InitCommonControlsEx(&InitCtrls); // init own instance CWinAppEx::InitInstance(); // no interaction with Win7 taskbar EnableTaskbarInteraction(FALSE); // init RichEdit AfxInitRichEdit2(); // initialize configuration CStringA configName; bool hasConfig(false); GetModuleFileNameA(NULL, configName.GetBuffer(MAX_PATH), MAX_PATH); configName.ReleaseBuffer(); configName.Replace(".exe", ".xml"); hasConfig = Configuration::initInstance((const char*) configName); // initialize Havok (HK_MEMORY_USAGE bytes of physics solver buffer) hkMemoryRouter* pMemoryRouter(hkMemoryInitUtil::initDefault(hkMallocAllocator::m_defaultMallocAllocator, hkMemorySystem::FrameInfo(HK_MEMORY_USAGE))); hkBaseSystem::init(pMemoryRouter, errorReport); // initialize material map Configuration* pConfig(Configuration::getInstance()); NifUtlMaterialList::initInstance(pConfig->_pathNifXML, pConfig->_matScanTag, pConfig->_matScanName); // Register the application's document templates. CSingleDocTemplate* pDocTemplate(new CSingleDocTemplate(IDR_MAINFRAME, RUNTIME_CLASS(CNifUtilsSuiteDoc), RUNTIME_CLASS(CNifUtilsSuiteFrame), RUNTIME_CLASS(CFormNifConvertView)) ); if (!pDocTemplate) return FALSE; AddDocTemplate(pDocTemplate); // Parse command line for standard shell commands, DDE, file open CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); if (!ProcessShellCommand(cmdInfo)) return FALSE; // call DragAcceptFiles only if there's a suffix // In an SDI app, this should occur after ProcessShellCommand // The one and only window has been initialized, so show and update it m_pMainWnd->ShowWindow(SW_SHOW); m_pMainWnd->UpdateWindow(); if (!hasConfig) { AfxMessageBox(L"Seems you're running NifUtilsSuite for the first time.\nYou're redirected to Settings now."); m_pMainWnd->PostMessage(WM_COMMAND, ID_OPTIONS_EDIT); } return TRUE; }
//----- dxInitScene() ------------------------------------------------------- bool CDirectXGraphics::dxInitScene() { Configuration* pConfig(Configuration::getInstance()); // -------------------------------------------------------------- // Init viewport. // -------------------------------------------------------------- D3DVIEWPORT9 vp; vp.X = 0; vp.Y = 0; vp.Width = _rectOrig.Width(); vp.Height = _rectOrig.Height(); vp.MinZ = 0.0f; vp.MaxZ = 1.0f; _pd3dDevice->SetViewport(&vp); // -------------------------------------------------------------- // Init camera. // -------------------------------------------------------------- D3DXMATRIX matProj; D3DXMATRIX matView; // Init the camera type (orthographic or perspective) // Here, perspective camera. float fov = 1.04f; // 60 degrees = 1.04 radian. float aspect = (float)_rectOrig.Width()/(float)_rectOrig.Height(); float znear = 0.1f; float zfar = 15012.0f; D3DXMatrixPerspectiveFovLH(&matProj, fov, aspect, znear, zfar); _pd3dDevice->SetTransform(D3DTS_PROJECTION, &matProj); // Init camera view matrix D3DXMatrixLookAtLH(&matView, &D3DXVECTOR3(0.0f, 2000.0f, 0.0f), // camera position &D3DXVECTOR3(0.0f, 0.0f, 0.0f), // target position &D3DXVECTOR3(0.0f, 0.0f, -1.0f)); // camera up vector _pd3dDevice->SetTransform(D3DTS_VIEW, &matView); _pd3dDevice->SetRenderState(D3DRS_AMBIENT, pConfig->_mvDefAmbiColor); _pd3dDevice->SetRenderState(D3DRS_NORMALIZENORMALS, TRUE); for (int i(0); i < 8; ++i) { _pd3dDevice->SetSamplerState(i,D3DSAMP_MINFILTER, D3DTEXF_LINEAR ); _pd3dDevice->SetSamplerState(i,D3DSAMP_MAGFILTER, D3DTEXF_LINEAR ); _pd3dDevice->SetSamplerState(i,D3DSAMP_MIPFILTER, D3DTEXF_LINEAR ); _pd3dDevice->SetSamplerState(i,D3DSAMP_MAXANISOTROPY,0); } D3DLIGHT9 light; // 1st light source ZeroMemory(&light, sizeof(light)); light.Type = D3DLIGHT_DIRECTIONAL; light.Diffuse = D3DXCOLOR(pConfig->_mvDefDiffColor); light.Specular = D3DXCOLOR(pConfig->_mvDefSpecColor); light.Direction.x = 0.0f; light.Direction.y = -10000.0f; light.Direction.z = 0.0f; light.Range = 21000.0f; _pd3dDevice->SetLight(0, &light); _pd3dDevice->LightEnable(0, true); // 2nd light source light.Direction.y = 10000.0f; _pd3dDevice->SetLight(1, &light); _pd3dDevice->LightEnable(1, true); return true; }
PRL_RESULT Task_VzManager::editConfig() { PRL_RESULT res; CProtoCommandPtr cmd = CProtoSerializer::ParseCommand( getRequestPackage() ); if ( ! cmd->IsValid() ) return PRL_ERR_UNRECOGNIZED_REQUEST; SmartPtr<CVmConfiguration> pConfig( new CVmConfiguration( cmd->GetFirstStrParam() ) ); if( !IS_OPERATION_SUCCEEDED( pConfig->m_uiRcInit ) ) { PRL_RESULT code = PRL_ERR_PARSE_VM_CONFIG; WRITE_TRACE(DBG_FATAL, "Error occurred while modification CT configuration: %s", PRL_RESULT_TO_STRING( code ) ); return code; } QString sUuid = pConfig->getVmIdentification()->getVmUuid(); SmartPtr<CVmConfiguration> pOldConfig = getVzHelper()->getCtConfig(getClient(), sUuid); if (!pOldConfig) return PRL_ERR_VM_GET_CONFIG_FAILED; QString oldname = pOldConfig->getVmIdentification()->getVmName(); QString name = pConfig->getVmIdentification()->getVmName(); QStringList lstFullItemIds; pConfig->diffDocuments(pOldConfig.getImpl(), lstFullItemIds); // Code below prohibits all other than Hdd and Network devices for Containers if (!lstFullItemIds.filter(QRegExp("Hardware\\.(?!Hdd|Network|Cpu|Memory)")).isEmpty()) return PRL_ERR_ACTION_NOT_SUPPORTED_FOR_CT; // Handle the Firewall settings change on the running CT if (!lstFullItemIds.filter(QRegExp("\\.(?=Firewall\\.|MAC|NetAddress)")).isEmpty()) { VIRTUAL_MACHINE_STATE nState = VMS_UNKNOWN; PRL_RESULT res = getVzHelper()->getVzlibHelper().get_env_status(sUuid, nState); if (nState == VMS_RUNNING) { res = setupFirewall(pConfig); if (PRL_FAILED(res)) return res; } } // Handle Name change if (oldname != name) { QString vm_uuid; // Skip uuid check QString vm_name = name; QString vm_home; // Lock the new name in the VmDirectory CVmDirectory::TemporaryCatalogueItem vmInfo( vm_uuid, vm_home, vm_name); res = checkAndLockRegisterParameters(&vmInfo); if (PRL_FAILED(res)) return res; res = get_op_helper()->set_env_name(sUuid, name); if (PRL_SUCCEEDED(res)) { CDspLockedPointer< CVmDirectoryItem > pVmDirItem = CDspService::instance()->getVmDirManager() .getVmDirItemByUuid(m_sVzDirUuid, sUuid ); if (!pVmDirItem) { WRITE_TRACE(DBG_FATAL, "Can't found VmDirItem by vmUuid = %s", QSTR2UTF8(sUuid)); } else { pVmDirItem->setVmName(name); PRL_RESULT ret = CDspService::instance()->getVmDirManager().updateVmDirItem(pVmDirItem); if (PRL_FAILED(ret) ) WRITE_TRACE(DBG_FATAL, "Can't update Container %s VmCatalogue by error: %s", QSTR2UTF8(sUuid), PRL_RESULT_TO_STRING(ret)); } } // delete temporary registration CDspService::instance()->getVmDirManager() .unlockExclusiveVmParameters(&vmInfo); if (PRL_FAILED(res)) return res; } // reset IP addresses for CT templates Task_EditVm::resetNetworkAddressesFromVmConfig(pConfig, pOldConfig); // update High Availability Cluster resource if (pConfig->getVmSettings()->getHighAvailability()->toString() != pOldConfig->getVmSettings()->getHighAvailability()->toString() && CFileHelper::isSharedFS(pConfig->getVmIdentification()->getHomePath())) { res = CDspService::instance()->getHaClusterHelper()->updateClusterResourceParams( sUuid, pOldConfig->getVmSettings()->getHighAvailability(), pConfig->getVmSettings()->getHighAvailability(), pConfig->getVmIdentification()->getHomePath(), PVT_CT); if (PRL_FAILED(res)) return res; } CVmRemoteDisplay* oldD = pOldConfig->getVmSettings()->getVmRemoteDisplay(); CVmRemoteDisplay* newD = pConfig->getVmSettings()->getVmRemoteDisplay(); if (oldD->getPassword() != newD->getPassword()) { if (newD->getPassword().length() > PRL_VM_REMOTE_DISPLAY_MAX_PASS_LEN) { WRITE_TRACE(DBG_FATAL, "The specified remote display password is too long."); getLastError()->addEventParameter( new CVmEventParameter( PVE::UnsignedInt, QString::number(PRL_VM_REMOTE_DISPLAY_MAX_PASS_LEN), EVT_PARAM_MESSAGE_PARAM_0)); return PRL_ERR_VMCONF_REMOTE_DISPLAY_PASSWORD_TOO_LONG; } } Backup::Device::Service service(pOldConfig); service.setContext(*this).setVmHome(pConfig->getVmIdentification()->getHomePath()); Backup::Device::Details::Transition t = service.getTransition(pConfig); res = t.plant(); if (PRL_FAILED(res)) return res; res = get_op_helper()->apply_env_config(pConfig, pOldConfig, cmd->GetCommandFlags()); if (PRL_FAILED(res)) return res; res = t.remove(); if (PRL_FAILED(res)) return res; // Invalidate cache CDspService::instance()->getVzHelper()->getConfigCache(). remove(pConfig->getVmIdentification()->getHomePath()); res = changeVNCServerState(pOldConfig, pConfig, sUuid); if (PRL_FAILED(res)) return res; // Handle memory limit change unsigned int newRamSize = pConfig->getVmHardwareList()->getMemory()->getRamSize(); unsigned int oldRamSize = pOldConfig->getVmHardwareList()->getMemory()->getRamSize(); if (newRamSize != oldRamSize) { VIRTUAL_MACHINE_STATE nState = VMS_UNKNOWN; PRL_RESULT res = getVzHelper()->getVzlibHelper().get_env_status(sUuid, nState); if (PRL_SUCCEEDED(res) && (nState == VMS_RUNNING)) adjustReservedMemLimit((long long)newRamSize - oldRamSize); } QStringList lstAdd, lstDel; // Handle application templates QStringList newAppTemplates = pConfig->getCtSettings()->getAppTemplate(); QStringList oldAppTemplates = pOldConfig->getCtSettings()->getAppTemplate(); for (int i = 0; i < newAppTemplates.size(); i++) { if (newAppTemplates.at(i).startsWith('.')) newAppTemplates[i].remove(0, 1); } for (int i = 0; i < oldAppTemplates.size(); i++) { if (oldAppTemplates.at(i).startsWith('.')) oldAppTemplates[i].remove(0, 1); } if (newAppTemplates == oldAppTemplates) goto ok; foreach(QString str, newAppTemplates) if (!oldAppTemplates.contains(str)) lstAdd.append(str); foreach(QString str, oldAppTemplates) if (!newAppTemplates.contains(str)) lstDel.append(str); do { CVzTemplateHelper TmplHelper = getVzHelper()->getVzTemplateHelper(); res = TmplHelper.remove_templates_env(sUuid, lstDel); if (PRL_FAILED(res)) return res; res = TmplHelper.install_templates_env(sUuid, lstAdd); } while (0); ok: if ( PRL_SUCCEEDED(res) ) { SmartPtr<CVmConfiguration> pNewConfig = getVzHelper()->getCtConfig(getClient(), sUuid); QStringList lstParams(pNewConfig ? pNewConfig->toString() : pConfig->toString()); getResponseCmd()->SetParamsList( lstParams ); sendEvent(PET_DSP_EVT_VM_CONFIG_CHANGED, sUuid); } return res; }