Added d3d and ogl settings to InfoWindow.cpp

I guess it's about done, as the pad settings are really not needed.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3083 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Marcus Wanners 2009-04-26 17:04:45 +00:00
parent 1181cda34e
commit 15580e1c31
6 changed files with 550 additions and 17 deletions

View File

@ -604,6 +604,14 @@
RelativePath=".\Src\CPUDetect.h"
>
</File>
<File
RelativePath=".\Src\D3Dconfig.cpp"
>
</File>
<File
RelativePath=".\Src\D3Dconfig.h"
>
</File>
<File
RelativePath=".\Src\DynamicLibrary.cpp"
>
@ -708,6 +716,14 @@
RelativePath=".\Src\MsgHandler.h"
>
</File>
<File
RelativePath=".\Src\OGLconfig.cpp"
>
</File>
<File
RelativePath=".\Src\OGLconfig.h"
>
</File>
<File
RelativePath=".\Src\SConscript"
>

View File

@ -0,0 +1,57 @@
// 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/
#include "D3DConfig.h"
#include "IniFile.h"
D3DConfig d3d_Config;
D3DConfig::D3DConfig()
{
memset(this, 0, sizeof(D3DConfig));
}
void D3DConfig::Load()
{
IniFile iniFile;
iniFile.Load(FULL_CONFIG_DIR "gfx_dx9.ini");
iniFile.Get("Hardware", "Adapter", &iAdapter, 0);
iniFile.Get("Hardware", "WindowedRes", &iWindowedRes, 0);
iniFile.Get("Hardware", "FullscreenRes", &iFSResolution, 0);
iniFile.Get("Hardware", "Fullscreen", &bFullscreen, 0);
iniFile.Get("Hardware", "RenderInMainframe", &renderToMainframe, false);
iniFile.Get("Hardware", "VSync", &bVsync, 0);
if (iAdapter == -1)
iAdapter = 0;
iniFile.Get("Settings", "OverlayStats", &bOverlayStats, false);
iniFile.Get("Settings", "OverlayProjection", &bOverlayProjStats, false);
iniFile.Get("Settings", "Postprocess", &iPostprocessEffect, 0);
iniFile.Get("Settings", "DumpTextures", &bDumpTextures, 0);
iniFile.Get("Settings", "DumpFrames", &bDumpFrames, 0);
iniFile.Get("Settings", "ShowShaderErrors", &bShowShaderErrors, 0);
iniFile.Get("Settings", "Multisample", &iMultisampleMode, 0);
iniFile.Get("Settings", "TexDumpPath", &texDumpPath, 0);
iniFile.Get("Settings", "TexFmtOverlayEnable", &bTexFmtOverlayEnable, 0);
iniFile.Get("Settings", "TexFmtOverlayCenter", &bTexFmtOverlayCenter, 0);
iniFile.Get("Enhancements", "ForceFiltering", &bForceFiltering, 0);
iniFile.Get("Enhancements", "ForceMaxAniso", &bForceMaxAniso, 0);
}

View File

@ -0,0 +1,73 @@
// 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/
#ifndef _PLUGIN_VIDEOD3D_CONFIG_H_
#define _PLUGIN_VIDEOD3D_CONFIG_H_
#include <string>
#include "Common.h"
struct D3DConfig
{
D3DConfig();
void Load();
void Save();
int iAdapter;
int iFSResolution;
int iMultisampleMode;
int iPostprocessEffect;
bool renderToMainframe;
bool bFullscreen;
bool bVsync;
bool bWireFrame;
bool bOverlayStats;
bool bOverlayProjStats;
bool bDumpTextures;
bool bDumpFrames;
bool bOldCard;
bool bShowShaderErrors;
//enhancements
bool bForceFiltering;
bool bForceMaxAniso;
bool bPreUpscale;
int iPreUpscaleFilter;
bool bTruform;
int iTruformLevel;
int iWindowedRes;
char psProfile[16];
char vsProfile[16];
bool bTexFmtOverlayEnable;
bool bTexFmtOverlayCenter;
std::string texDumpPath;
private:
DISALLOW_COPY_AND_ASSIGN(D3DConfig);
};
extern D3DConfig d3d_Config;
#endif

View File

@ -0,0 +1,86 @@
// Copyright (C) 2003-2009 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/
#include "Common.h"
#include "IniFile.h"
#include "OGLconfig.h"
#include "..\..\core\src\ConfigManager.h" // FIXME
OGLConfig ogl_Config;
OGLConfig::OGLConfig()
{
memset(this, 0, sizeof(OGLConfig));
}
void OGLConfig::Load()
{
std::string temp;
IniFile iniFile;
iniFile.Load(FULL_CONFIG_DIR "gfx_opengl.ini");
// get resolution
iniFile.Get("Hardware", "WindowedRes", &temp, "640x480");
strncpy(iWindowedRes, temp.c_str(), 16);
iniFile.Get("Hardware", "FullscreenRes", &temp, "640x480");
strncpy(iFSResolution, temp.c_str(), 16);
iniFile.Get("Hardware", "Fullscreen", &bFullscreen, 0); // Hardware
iniFile.Get("Hardware", "VSync", &bVSync, 0); // Hardware
iniFile.Get("Hardware", "RenderToMainframe", &renderToMainframe, false);
iniFile.Get("Settings", "StretchToFit", &bNativeResolution, true);
iniFile.Get("Settings", "KeepAR_4_3", &bKeepAR43, false);
iniFile.Get("Settings", "KeepAR_16_9", &bKeepAR169, false);
iniFile.Get("Settings", "Crop", &bCrop, false);
iniFile.Get("Settings", "HideCursor", &bHideCursor, false);
iniFile.Get("Settings", "UseXFB", &bUseXFB, 0);
iniFile.Get("Settings", "AutoScale", &bAutoScale, true);
iniFile.Get("Settings", "SafeTextureCache", &bSafeTextureCache, false); // Settings
iniFile.Get("Settings", "ShowFPS", &bShowFPS, false); // Settings
iniFile.Get("Settings", "OverlayStats", &bOverlayStats, false);
iniFile.Get("Settings", "OverlayBlendStats", &bOverlayBlendStats, false);
iniFile.Get("Settings", "OverlayProjStats", &bOverlayProjStats, false);
iniFile.Get("Settings", "ShowEFBCopyRegions", &bShowEFBCopyRegions, false);
iniFile.Get("Settings", "DLOptimize", &iCompileDLsLevel, 0);
iniFile.Get("Settings", "DumpTextures", &bDumpTextures, 0);
iniFile.Get("Settings", "DumpEFBTarget", &bDumpEFBTarget, 0);
iniFile.Get("Settings", "DumpFrames", &bDumpFrames, 0);
iniFile.Get("Settings", "FreeLook", &bFreeLook, 0);
iniFile.Get("Settings", "ShowShaderErrors", &bShowShaderErrors, 0);
iniFile.Get("Settings", "MSAA", &iMultisampleMode, 0);
iniFile.Get("Settings", "DstAlphaPass", &bDstAlphaPass, false);
iniFile.Get("Settings", "TexFmtOverlayEnable", &bTexFmtOverlayEnable, 0);
iniFile.Get("Settings", "TexFmtOverlayCenter", &bTexFmtOverlayCenter, 0);
iniFile.Get("Settings", "WireFrame", &bWireFrame, 0);
iniFile.Get("Settings", "DisableLighting", &bDisableLighting, 0);
iniFile.Get("Settings", "DisableTexturing", &bDisableTexturing, 0);
iniFile.Get("Settings", "DisableFog", &bDisableFog, 0);
iniFile.Get("Enhancements", "ForceFiltering", &bForceFiltering, 0);
iniFile.Get("Enhancements", "MaxAnisotropy", &iMaxAnisotropy, 3); // NOTE - this is x in (1 << x)
iniFile.Get("Hacks", "EFBCopyDisable", &bEFBCopyDisable, 0);
iniFile.Get("Hacks", "EFBCopyDisableHotKey", &bEFBCopyDisableHotKey, 0);
iniFile.Get("Hacks", "ProjectionHax1", &bProjectionHax1, 0);
iniFile.Get("Hacks", "EFBToTextureEnable", &bCopyEFBToRAM, 0);
iniFile.Get("Hacks", "SMGhack", &bSMGhack, false);
}

View File

@ -0,0 +1,112 @@
// Copyright (C) 2003-2009 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/
#ifndef _PLUGIN_VIDEOOGL_CONFIG_H_
#define _PLUGIN_VIDEOOGL_CONFIG_H_
#include "Common.h"
// Log in two categories, and save three other options in the same byte
#define CONF_LOG 1
#define CONF_PRIMLOG 2
#define CONF_SAVETEXTURES 4
#define CONF_SAVETARGETS 8
#define CONF_SAVESHADERS 16
enum MultisampleMode {
MULTISAMPLE_OFF,
MULTISAMPLE_2X,
MULTISAMPLE_4X,
MULTISAMPLE_8X,
MULTISAMPLE_CSAA_8X,
MULTISAMPLE_CSAA_8XQ,
MULTISAMPLE_CSAA_16X,
MULTISAMPLE_CSAA_16XQ,
};
// NEVER inherit from this class.
struct OGLConfig
{
OGLConfig();
void Load();
void GameIniLoad();
void Save();
// General
bool bFullscreen;
bool bHideCursor;
bool renderToMainframe;
bool bVSync;
// Resolution control
char iFSResolution[16];
char iWindowedRes[16];
bool bNativeResolution; // Should possibly be augmented with 2x, 4x native.
bool bKeepAR43, bKeepAR169, bCrop; // Aspect ratio controls.
bool bUseXFB;
bool bAutoScale; // Removes annoying borders without using XFB. Doesn't always work perfectly.
// Enhancements
int iMultisampleMode;
bool bForceFiltering;
int iMaxAnisotropy;
// Information
bool bShowFPS;
bool bOverlayStats;
bool bOverlayBlendStats;
bool bOverlayProjStats;
bool bTexFmtOverlayEnable;
bool bTexFmtOverlayCenter;
bool bShowEFBCopyRegions;
// Render
bool bWireFrame;
bool bDisableLighting;
bool bDisableTexturing;
bool bDstAlphaPass;
bool bDisableFog;
// Utility
bool bDumpTextures;
bool bDumpEFBTarget;
bool bDumpFrames;
bool bFreeLook;
// Hacks
bool bEFBCopyDisable;
bool bEFBCopyDisableHotKey;
bool bProjectionHax1;
bool bSMGhack;
bool bCopyEFBToRAM;
bool bSafeTextureCache;
int iLog; // CONF_ bits
int iSaveTargetId;
//currently unused:
int iCompileDLsLevel;
bool bShowShaderErrors;
private:
DISALLOW_COPY_AND_ASSIGN(OGLConfig);
};
extern OGLConfig ogl_config;
#endif // _PLUGIN_VIDEOOGL_CONFIG_H_

View File

@ -21,6 +21,8 @@
#include "Core.h"
#include "ConfigManager.h"
#include "CDUtils.h"
#include "OGLconfig.h"
#include "D3Dconfig.h"
BEGIN_EVENT_TABLE(wxInfoWindow, wxWindow)
EVT_SIZE( wxInfoWindow::OnEvent_Window_Resize)
@ -53,12 +55,27 @@ std::string Summarize_Plug()
"Default GFX Plugin: %s\n"
"Default DSP Plugin: %s\n"
"Default PAD Plugin: %s\n"
"Default WiiMote Plugin: %s\n",
"Default WiiMote Plugin: %s\n\n"
"Current GFX Plugin: %s\n"
"Current DSP Plugin: %s\n"
"Current PAD Plugin[0]: %s\n"
"Current PAD Plugin[1]: %s\n"
"Current PAD Plugin[2]: %s\n"
"Current PAD Plugin[3]: %s\n"
"Current WiiMote Plugin[0]: %s\n",
SConfig::GetInstance().m_DefaultGFXPlugin.c_str(),
SConfig::GetInstance().m_DefaultDSPPlugin.c_str(),
SConfig::GetInstance().m_DefaultPADPlugin.c_str(),
SConfig::GetInstance().m_DefaultWiiMotePlugin.c_str()
SConfig::GetInstance().m_DefaultWiiMotePlugin.c_str(),
Core::GetStartupParameter().m_strVideoPlugin.c_str(),
Core::GetStartupParameter().m_strDSPPlugin.c_str(),
Core::GetStartupParameter().m_strPadPlugin[0].c_str(),
Core::GetStartupParameter().m_strPadPlugin[1].c_str(),
Core::GetStartupParameter().m_strPadPlugin[2].c_str(),
Core::GetStartupParameter().m_strPadPlugin[3].c_str(),
Core::GetStartupParameter().m_strWiimotePlugin[0].c_str()
);
}
std::string Summarize_Settings()
@ -82,30 +99,200 @@ std::string Summarize_Settings()
"Slot A: %d\n"
"Slot B: %d\n"
"Serial Port 1: %d\n"
"Widescreen: %s\n"
"Progressive Scan: %s\n",
Core::GetStartupParameter().bHLEBios?"true":"false",
Core::GetStartupParameter().bUseJIT?"true":"false",
Core::GetStartupParameter().bUseDualCore?"true":"false",
Core::GetStartupParameter().bDSPThread?"true":"false",
Core::GetStartupParameter().bSkipIdle?"true":"false",
Core::GetStartupParameter().bLockThreads?"true":"false",
Core::GetStartupParameter().bUseDualCore?"true":"false",
"[Wii]Widescreen: %s\n"
"[Wii]Progressive Scan: %s\n"
"Run Compare Server: %s\n"
"Run Compare Client: %s\n"
"TLB Hack: %s\n",
Core::GetStartupParameter().bHLEBios?"True":"False",
Core::GetStartupParameter().bUseJIT?"True":"False",
Core::GetStartupParameter().bUseDualCore?"True":"False",
Core::GetStartupParameter().bDSPThread?"True":"False",
Core::GetStartupParameter().bSkipIdle?"True":"False",
Core::GetStartupParameter().bLockThreads?"True":"False",
Core::GetStartupParameter().bUseDualCore?"True":"False",
Core::GetStartupParameter().m_strDefaultGCM.c_str(),
Core::GetStartupParameter().m_strDVDRoot.c_str(),
Core::GetStartupParameter().bOptimizeQuantizers?"true":"false",
Core::GetStartupParameter().bEnableCheats?"true":"false",
Core::GetStartupParameter().bOptimizeQuantizers?"True":"False",
Core::GetStartupParameter().bEnableCheats?"True":"False",
Core::GetStartupParameter().SelectedLanguage, //FIXME show language based on index
SConfig::GetInstance().m_strMemoryCardA.c_str(),
SConfig::GetInstance().m_strMemoryCardB.c_str(),
SConfig::GetInstance().m_EXIDevice[0], //FIXME
SConfig::GetInstance().m_EXIDevice[1], //FIXME
SConfig::GetInstance().m_EXIDevice[2], //FIXME
Core::GetStartupParameter().bWidescreen?"true":"false",
Core::GetStartupParameter().bProgressiveScan?"true":"false"
Core::GetStartupParameter().bWidescreen?"True":"False",
Core::GetStartupParameter().bProgressiveScan?"True":"False",
Core::GetStartupParameter().bRunCompareServer?"True":"False",
Core::GetStartupParameter().bRunCompareClient?"True":"False",
Core::GetStartupParameter().iTLBHack?"True":"False"//Fix me(Ment to be interger but caues problems with no ?"True":"False")
);
}
std::string Summarize_OpenGlPlug()
{
OGLConfig OGLconfig;
OGLconfig.Load();
return StringFromFormat(
"OpenGl Plugin Settings\n\n"
//General
"Fullscreen: %s\n"
"Hide Cursor: %s\n"
"Render to main frame: %s\n"
"V Sync: %s\n"
//Resolution control
//char iFSResolution[16];
//char iWindowedRes[16];
"Use Native Resolution: %s\n"
"Keep 4:3 Aspect Ratio: %s\n"
"Keep 16:9 Aspect Ratio: %s\n"
"Crop screen: %s\n"
//Enhancements
"Multi Sample Mode: %s\n"
"Force Filtering: %s\n"
"Max Anisotropy: %s\n"
//Information
"Show FPS: %s\n"
"Overlay Stats: %s\n"
"Overlay Blend Stats: %s\n"
"Overlay Proj Stats: %s\n"
"Tex Fmt Overlay Enable: %s\n"
"Tex Fmt Overlay Center: %s\n"
"Show EFB Copy Regions: %s\n"
//Render
"Wire Frame: %s\n"
"Disable Lighting: %s\n"
"Disable Texturing: %s\n"
"Dst Alpha Pass: %s\n"
"Disable Fog: %s\n"
//Utility
"Dump Textures: %s\n"
"Dump EFB Target: %s\n"
"Dump Frames: %s\n"
"Free Look: %s\n"
//Hacks
"EFB Copy Disable: %s\n"
"EFB Copy Disable Hot Key: %s\n"
"Projection Hax 1: %s\n"
"SMG hack: %s\n"
"Dump Frames: %s\n"
"Free Look: %s\n",
//--------------------------------------\\
///////////////////\\\\\\\\\\\\\\\\\\\\\\\
//General
OGLconfig.bFullscreen?"True":"False",
OGLconfig.bHideCursor?"True":"False",
OGLconfig.renderToMainframe?"True":"False",
OGLconfig.bVSync?"True":"False",
//Resolution control
//char iFSResolution[16];
//char iWindowedRes[16];
OGLconfig.bNativeResolution?"True":"False",
OGLconfig.bKeepAR43?"True":"False",
OGLconfig.bKeepAR169?"True":"False",
OGLconfig.bCrop?"True":"False",
OGLconfig.bAutoScale?"True":"False",
//Enhancements
OGLconfig.iMultisampleMode?"True":"False",//Fix me(Ment to be interger but caues problems with no ?"True":"False")
OGLconfig.bForceFiltering?"True":"False",
OGLconfig.iMaxAnisotropy?"True":"False",//Fix me(Ment to be interger but caues problems with no ?"True":"False")
//Information
OGLconfig.bShowFPS?"True":"False",
OGLconfig.bOverlayStats?"True":"False",
OGLconfig.bOverlayBlendStats?"True":"False",
OGLconfig.bOverlayProjStats?"True":"False",
OGLconfig.bTexFmtOverlayEnable?"True":"False",
OGLconfig.bTexFmtOverlayCenter?"True":"False",
OGLconfig.bShowEFBCopyRegions?"True":"False",
//Render
OGLconfig.bWireFrame?"True":"False",
OGLconfig.bDisableTexturing?"True":"False",
OGLconfig.bDstAlphaPass?"True":"False",
OGLconfig.bDisableFog?"True":"False",
//Utility
OGLconfig.bDumpTextures?"True":"False",
OGLconfig.bDumpEFBTarget?"True":"False",
OGLconfig.bDumpFrames?"True":"False",
OGLconfig.bFreeLook?"True":"False",
//Hacks
OGLconfig.bEFBCopyDisable?"True":"False",
OGLconfig.bEFBCopyDisableHotKey?"True":"False",
OGLconfig.bProjectionHax1?"True":"False",
OGLconfig.bSMGhack?"True":"False",
OGLconfig.bCopyEFBToRAM?"True":"False",
OGLconfig.bSafeTextureCache?"True":"False"
);
}
std::string Summarize_D3DPlug()
{
D3DConfig D3Dconfig;
D3Dconfig.Load();
return StringFromFormat(
"D3D Plugin Settings\n\n"
"Adapter: %s\n"
"Full Screen Resolution: %s\n"
"Post Process Effect: %s\n"
"Render to main frame: %s\n"
"Full Screen: %s\n"
"Vsync: %s\n"
"Wire frame: %s\n"
"Overlay Stats: %s\n"
"Overlay Proj Stats: %s\n"
"Dump Textures: %s\n"
"Dump Frames: %s\n"
"Old Card: %s\n"
"Show Shader Errors: %s\n"
"Force Max Aniso: %s\n"
"Pre Upscale: %s\n"
"Pre Upscale Filter: %s\n"
"True form: %s\n"
"True form Level: %s\n"
"Window Resolution: %s\n"
//psProfile[16]
//vsProfile[16]
"Tex Fmt Overlay Enable: %s\n"
"Tex Fmt Overlay Center: %s\n",
//--------------------------------------\\
D3Dconfig.iAdapter?"True":"False",
D3Dconfig.iFSResolution?"True":"False",
D3Dconfig.iMultisampleMode?"True":"False",
D3Dconfig.iPostprocessEffect?"True":"False",
//Above have problems since they use integers and i have no idea how to get the working properly removing ?"True":"False" creates problems
D3Dconfig.renderToMainframe?"True":"False",
D3Dconfig.bFullscreen?"True":"False",
D3Dconfig.bVsync?"True":"False",
D3Dconfig.bWireFrame?"True":"False",
D3Dconfig.bOverlayStats?"True":"False",
D3Dconfig.bOverlayProjStats?"True":"False",
D3Dconfig.bDumpTextures?"True":"False",
D3Dconfig.bDumpFrames?"True":"False",
D3Dconfig.bOldCard?"True":"False",
D3Dconfig.bShowShaderErrors?"True":"False",
//Enhancements
D3Dconfig.bForceFiltering?"True":"False",
D3Dconfig.bForceMaxAniso?"True":"False",
D3Dconfig.bPreUpscale?"True":"False",
D3Dconfig.iPreUpscaleFilter?"True":"False",//May not work because of integar removing ?"True":"False" causes problems
D3Dconfig.bTruform?"True":"False",
D3Dconfig.iTruformLevel?"True":"False",//May not work because of integar removing ?"True":"False" causes problems
D3Dconfig.iWindowedRes?"True":"False",//May not work because of integar removing ?"True":"False" causes problems
//psProfile[16]
//vsProfile[16]
D3Dconfig.bTexFmtOverlayEnable?"True":"False",
D3Dconfig.bTexFmtOverlayCenter?"True":"False"
);
}
void wxInfoWindow::Init_ChildControls()
{
@ -116,13 +303,15 @@ void wxInfoWindow::Init_ChildControls()
for (int i = 0; drives[i] != NULL && i < 24; i++)
{
Info.append(StringFromFormat("\nCD/DVD Drive%d: %s", i+1, drives[i]));
Info.append(StringFromFormat("\nCD/DVD Drive %d: %s", i+1, drives[i]));
}
Info.append(StringFromFormat(
"\n\nPlugin Information\n\n%s\n%s\n"
"\n\nPlugin Information\n\n%s\n%s\n%s\n%s\n"
"Processor Information:\n%s\n",
Summarize_Plug().c_str(),
Summarize_Settings().c_str(),
Summarize_OpenGlPlug().c_str(),
Summarize_D3DPlug().c_str(),
cpu_info.Summarize().c_str()));
// Main Notebook