/** * Applies setting cahnges to registry * * @param char *reg_path - Registry path to apply changes to */ void CDX5Disp::OnApply() { // Now apply video mode int index = m_res_list.GetCurSel(); if( index == CB_ERR) { MessageBox("Failed to set graphic mode", "Error", MB_ICONERROR); return; } int current = m_res_list.GetItemData(index); if(reg_set_sz(LauncherSettings::get_reg_path(), "Videocard", dx5_modes[index].text_desc) == false) { MessageBox("Failed to set graphic mode", "Error", MB_ICONERROR); } }
/** * The user has chosen to accept these settings * * @param char *reg_path - Registry path that any settings should be saved to */ void CDX8Disp::OnApply(char *reg_path, int flags) { if(m_dx8_initialised_ok == false) { MessageBox("Cannot apply valid settings, install DX8!", "Error", MB_ICONERROR); return; } int result = 0; int selected_adapter = m_adapter_list.GetCurSel(); int mode_num = m_res_list.GetItemData(m_res_list.GetCurSel()); int aatype = m_antialias_list.GetCurSel(); if(aatype == -1) { aatype = 0; } result += reg_set_dword(reg_path, "D3D8_AAType", aatype); result += reg_set_dword(reg_path, "D3D8_Adapter", selected_adapter); if(!result) { MessageBox("Failed to set an important registry entry", "Error", MB_ICONERROR); } // Lets set those video card settings D3DDISPLAYMODE mode; d3d_interface->EnumAdapterModes(selected_adapter, mode_num, &mode); char video_card[100]; int cdepth = d3d_get_mode_bit(mode.Format); char *reg_name = "Videocard"; sprintf(video_card, "D3D8-(%dx%d)x%d bit", mode.Width, mode.Height, cdepth); reg_set_sz(reg_path, reg_name, video_card); }