| 
									
										
										
										
											2013-04-17 23:29:41 -04:00
										 |  |  | // Copyright 2013 Dolphin Emulator Project
 | 
					
						
							|  |  |  | // Licensed under GPLv2
 | 
					
						
							|  |  |  | // Refer to the license.txt file included.
 | 
					
						
							| 
									
										
										
										
											2010-06-09 01:37:08 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-17 05:18:15 -05:00
										 |  |  | #include "Common/FileUtil.h"
 | 
					
						
							|  |  |  | #include "Common/IniFile.h"
 | 
					
						
							|  |  |  | #include "VideoBackends/Software/SWVideoConfig.h"
 | 
					
						
							| 
									
										
										
										
											2010-06-09 01:37:08 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-29 04:52:19 +00:00
										 |  |  | SWVideoConfig g_SWVideoConfig; | 
					
						
							| 
									
										
										
										
											2010-06-09 01:37:08 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-28 18:39:30 +00:00
										 |  |  | SWVideoConfig::SWVideoConfig() | 
					
						
							| 
									
										
										
										
											2010-06-09 01:37:08 +00:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2013-03-18 07:49:46 +00:00
										 |  |  | 	bFullscreen = false; | 
					
						
							|  |  |  | 	bHideCursor = false; | 
					
						
							| 
									
										
										
										
											2013-10-29 01:23:17 -04:00
										 |  |  | 	renderToMainframe = false; | 
					
						
							| 
									
										
										
										
											2010-06-09 01:37:08 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-12-02 05:38:48 +00:00
										 |  |  | 	bHwRasterizer = false; | 
					
						
							| 
									
										
										
										
											2013-11-23 20:04:37 +13:00
										 |  |  | 	bBypassXFB = false; | 
					
						
							| 
									
										
										
										
											2010-12-02 05:38:48 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-18 07:49:46 +00:00
										 |  |  | 	bShowStats = false; | 
					
						
							| 
									
										
										
										
											2010-12-02 05:38:48 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-18 07:49:46 +00:00
										 |  |  | 	bDumpTextures = false; | 
					
						
							|  |  |  | 	bDumpObjects = false; | 
					
						
							|  |  |  | 	bDumpFrames = false; | 
					
						
							| 
									
										
										
										
											2010-06-09 01:37:08 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-15 17:44:56 +01:00
										 |  |  | 	bZComploc = true; | 
					
						
							|  |  |  | 	bZFreeze = true; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-18 07:49:46 +00:00
										 |  |  | 	bDumpTevStages = false; | 
					
						
							| 
									
										
										
										
											2010-12-02 05:38:48 +00:00
										 |  |  | 	bDumpTevTextureFetches = false; | 
					
						
							| 
									
										
										
										
											2010-06-09 01:37:08 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-18 07:49:46 +00:00
										 |  |  | 	drawStart = 0; | 
					
						
							|  |  |  | 	drawEnd = 100000; | 
					
						
							| 
									
										
										
										
											2010-06-09 01:37:08 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-28 18:39:30 +00:00
										 |  |  | void SWVideoConfig::Load(const char* ini_file) | 
					
						
							| 
									
										
										
										
											2010-06-09 01:37:08 +00:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2013-03-18 07:49:46 +00:00
										 |  |  | 	IniFile iniFile; | 
					
						
							|  |  |  | 	iniFile.Load(ini_file); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-16 01:12:43 -04:00
										 |  |  | 	IniFile::Section* hardware = iniFile.GetOrCreateSection("Hardware"); | 
					
						
							|  |  |  | 	hardware->Get("Fullscreen", &bFullscreen, 0); // Hardware
 | 
					
						
							|  |  |  | 	hardware->Get("RenderToMainframe", &renderToMainframe, false); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	IniFile::Section* rendering = iniFile.GetOrCreateSection("Rendering"); | 
					
						
							|  |  |  | 	rendering->Get("HwRasterizer", &bHwRasterizer, false); | 
					
						
							|  |  |  | 	rendering->Get("BypassXFB", &bBypassXFB, false); | 
					
						
							|  |  |  | 	rendering->Get("ZComploc", &bZComploc, true); | 
					
						
							|  |  |  | 	rendering->Get("ZFreeze", &bZFreeze, true); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	IniFile::Section* info = iniFile.GetOrCreateSection("Info"); | 
					
						
							|  |  |  | 	info->Get("ShowStats", &bShowStats, false); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	IniFile::Section* utility = iniFile.GetOrCreateSection("Utility"); | 
					
						
							|  |  |  | 	utility->Get("DumpTexture", &bDumpTextures, false); | 
					
						
							|  |  |  | 	utility->Get("DumpObjects", &bDumpObjects, false); | 
					
						
							|  |  |  | 	utility->Get("DumpFrames", &bDumpFrames, false); | 
					
						
							|  |  |  | 	utility->Get("DumpTevStages", &bDumpTevStages, false); | 
					
						
							|  |  |  | 	utility->Get("DumpTevTexFetches", &bDumpTevTextureFetches, false); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	IniFile::Section* misc = iniFile.GetOrCreateSection("Misc"); | 
					
						
							|  |  |  | 	misc->Get("DrawStart", &drawStart, 0); | 
					
						
							|  |  |  | 	misc->Get("DrawEnd", &drawEnd, 100000); | 
					
						
							| 
									
										
										
										
											2010-12-02 05:38:48 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-28 18:39:30 +00:00
										 |  |  | void SWVideoConfig::Save(const char* ini_file) | 
					
						
							| 
									
										
										
										
											2010-06-09 01:37:08 +00:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2013-03-18 07:49:46 +00:00
										 |  |  | 	IniFile iniFile; | 
					
						
							|  |  |  | 	iniFile.Load(ini_file); | 
					
						
							| 
									
										
										
										
											2010-06-09 01:37:08 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-16 01:12:43 -04:00
										 |  |  | 	IniFile::Section* hardware = iniFile.GetOrCreateSection("Hardware"); | 
					
						
							|  |  |  | 	hardware->Set("Fullscreen", bFullscreen); | 
					
						
							|  |  |  | 	hardware->Set("RenderToMainframe", renderToMainframe); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	IniFile::Section* rendering = iniFile.GetOrCreateSection("Rendering"); | 
					
						
							|  |  |  | 	rendering->Set("HwRasterizer", bHwRasterizer); | 
					
						
							|  |  |  | 	rendering->Set("BypassXFB", bBypassXFB); | 
					
						
							|  |  |  | 	rendering->Set("ZComploc", bZComploc); | 
					
						
							|  |  |  | 	rendering->Set("ZFreeze", bZFreeze); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	IniFile::Section* info = iniFile.GetOrCreateSection("Info"); | 
					
						
							|  |  |  | 	info->Set("ShowStats", bShowStats); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	IniFile::Section* utility = iniFile.GetOrCreateSection("Utility"); | 
					
						
							|  |  |  | 	utility->Set("DumpTexture", bDumpTextures); | 
					
						
							|  |  |  | 	utility->Set("DumpObjects", bDumpObjects); | 
					
						
							|  |  |  | 	utility->Set("DumpFrames", bDumpFrames); | 
					
						
							|  |  |  | 	utility->Set("DumpTevStages", bDumpTevStages); | 
					
						
							|  |  |  | 	utility->Set("DumpTevTexFetches", bDumpTevTextureFetches); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	IniFile::Section* misc = iniFile.GetOrCreateSection("Misc"); | 
					
						
							|  |  |  | 	misc->Set("DrawStart", drawStart); | 
					
						
							|  |  |  | 	misc->Set("DrawEnd", drawEnd); | 
					
						
							| 
									
										
										
										
											2013-03-18 07:49:46 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	iniFile.Save(ini_file); | 
					
						
							| 
									
										
										
										
											2010-06-09 01:37:08 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 |