| 
									
										
										
										
											2008-09-07 10:29:46 +00:00
										 |  |  | // Copyright (C) 2003-2008 Dolphin Project.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // This program is free software: you can redistribute it and/or modify
 | 
					
						
							|  |  |  | // it under the terms of the GNU General Public License as published by
 | 
					
						
							|  |  |  | // the Free Software Foundation, version 2.0.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // This program is distributed in the hope that it will be useful,
 | 
					
						
							|  |  |  | // but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					
						
							|  |  |  | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					
						
							|  |  |  | // GNU General Public License 2.0 for more details.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // A copy of the GPL 2.0 should have been included with the program.
 | 
					
						
							|  |  |  | // If not, see http://www.gnu.org/licenses/
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Official SVN repository and contact information can be found at
 | 
					
						
							|  |  |  | // http://code.google.com/p/dolphin-emu/
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-10-22 20:54:40 +00:00
										 |  |  | #include "Config.h"
 | 
					
						
							| 
									
										
										
										
											2008-07-12 17:40:22 +00:00
										 |  |  | #include "IniFile.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Config g_Config; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Config::Config() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void Config::Load() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	IniFile iniFile; | 
					
						
							| 
									
										
										
										
											2008-11-12 04:54:17 +00:00
										 |  |  | 	iniFile.Load(FULL_CONFIG_DIR "gfx_dx9.ini"); | 
					
						
							| 
									
										
										
										
											2008-07-12 17:40:22 +00:00
										 |  |  | 	iniFile.Get("Hardware", "Adapter", &iAdapter, 0); | 
					
						
							|  |  |  | 	iniFile.Get("Hardware", "WindowedRes", &iWindowedRes, 0); | 
					
						
							|  |  |  | 	iniFile.Get("Hardware", "FullscreenRes", &iFSResolution, 0); | 
					
						
							|  |  |  | 	iniFile.Get("Hardware", "Fullscreen", &bFullscreen, 0); | 
					
						
							| 
									
										
										
										
											2008-08-21 17:49:06 +00:00
										 |  |  | 	iniFile.Get("Hardware", "RenderInMainframe", &renderToMainframe, false); | 
					
						
							| 
									
										
										
										
											2008-07-12 17:40:22 +00:00
										 |  |  | 	iniFile.Get("Hardware", "VSync", &bVsync, 0); | 
					
						
							|  |  |  | 	if (iAdapter == -1)  | 
					
						
							|  |  |  | 		iAdapter = 0; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	iniFile.Get("Settings", "OverlayStats", &bOverlayStats, false); | 
					
						
							|  |  |  | 	iniFile.Get("Settings", "Postprocess", &iPostprocessEffect, 0); | 
					
						
							|  |  |  | 	iniFile.Get("Settings", "DLOptimize", &iCompileDLsLevel, 0); | 
					
						
							|  |  |  | 	iniFile.Get("Settings", "DumpTextures", &bDumpTextures, 0); | 
					
						
							|  |  |  | 	iniFile.Get("Settings", "ShowShaderErrors", &bShowShaderErrors, 0); | 
					
						
							|  |  |  | 	iniFile.Get("Settings", "Multisample", &iMultisampleMode, 0); | 
					
						
							|  |  |  | 	iniFile.Get("Settings", "TexDumpPath", &texDumpPath, 0); | 
					
						
							| 
									
										
										
										
											2008-08-06 01:08:02 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	iniFile.Get("Settings", "TexFmtOverlayEnable", &bTexFmtOverlayEnable, 0); | 
					
						
							|  |  |  | 	iniFile.Get("Settings", "TexFmtOverlayCenter", &bTexFmtOverlayCenter, 0); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-07-12 17:40:22 +00:00
										 |  |  | 	iniFile.Get("Enhancements", "ForceFiltering", &bForceFiltering, 0); | 
					
						
							|  |  |  | 	iniFile.Get("Enhancements", "ForceMaxAniso", &bForceMaxAniso, 0); | 
					
						
							| 
									
										
										
										
											2008-08-06 01:08:02 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-07-12 17:40:22 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void Config::Save() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	IniFile iniFile; | 
					
						
							| 
									
										
										
										
											2008-11-12 04:54:17 +00:00
										 |  |  | 	iniFile.Load(FULL_CONFIG_DIR "gfx_dx9.ini"); | 
					
						
							| 
									
										
										
										
											2008-07-12 17:40:22 +00:00
										 |  |  | 	iniFile.Set("Hardware", "Adapter", iAdapter); | 
					
						
							|  |  |  | 	iniFile.Set("Hardware", "WindowedRes", iWindowedRes); | 
					
						
							|  |  |  | 	iniFile.Set("Hardware", "FullscreenRes", iFSResolution); | 
					
						
							|  |  |  | 	iniFile.Set("Hardware", "Fullscreen", bFullscreen); | 
					
						
							|  |  |  | 	iniFile.Set("Hardware", "VSync", bVsync); | 
					
						
							| 
									
										
										
										
											2008-07-17 10:17:19 +00:00
										 |  |  | 	iniFile.Set("Hardware", "RenderInMainframe", renderToMainframe); | 
					
						
							| 
									
										
										
										
											2008-07-12 17:40:22 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	iniFile.Set("Settings", "OverlayStats", bOverlayStats); | 
					
						
							|  |  |  | 	iniFile.Set("Settings", "OverlayStats", bOverlayStats); | 
					
						
							|  |  |  | 	iniFile.Set("Settings", "Postprocess", iPostprocessEffect); | 
					
						
							|  |  |  | 	iniFile.Set("Settings", "DLOptimize", iCompileDLsLevel); | 
					
						
							|  |  |  | 	iniFile.Set("Settings", "DumpTextures", bDumpTextures); | 
					
						
							|  |  |  | 	iniFile.Set("Settings", "ShowShaderErrors", bShowShaderErrors); | 
					
						
							|  |  |  | 	iniFile.Set("Settings", "Multisample", iMultisampleMode); | 
					
						
							|  |  |  | 	iniFile.Set("Settings", "TexDumpPath", texDumpPath); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-06 01:08:02 +00:00
										 |  |  | 	iniFile.Set("Settings", "TexFmtOverlayEnable", bTexFmtOverlayEnable); | 
					
						
							|  |  |  | 	iniFile.Set("Settings", "TexFmtOverlayCenter", bTexFmtOverlayCenter); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-07-12 17:40:22 +00:00
										 |  |  | 	iniFile.Set("Enhancements", "ForceFiltering", bForceFiltering); | 
					
						
							|  |  |  | 	iniFile.Set("Enhancements", "ForceMaxAniso", bForceMaxAniso); | 
					
						
							| 
									
										
										
										
											2008-11-12 04:54:17 +00:00
										 |  |  | 	iniFile.Save(FULL_CONFIG_DIR "gfx_dx9.ini"); | 
					
						
							| 
									
										
										
										
											2008-07-12 17:40:22 +00:00
										 |  |  | } |