OGL plugin: +Autoscale option (attempts to remove borders, even without XFB). Lots of cleanup, especially around aspect ratio and similar stuff. MP2 scanner still broken, wonder when that happened?

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2470 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
hrydgard
2009-02-28 16:33:59 +00:00
parent 11fd8062ad
commit 6dc4194767
22 changed files with 460 additions and 729 deletions

View File

@ -18,6 +18,8 @@
#ifndef _CONFIG_H
#define _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
@ -25,6 +27,7 @@
#define CONF_SAVETARGETS 8
#define CONF_SAVESHADERS 16
// NEVER inherit from this class.
struct Config
{
Config();
@ -33,17 +36,17 @@ struct Config
// General
bool bFullscreen;
bool renderToMainframe;
char iFSResolution[16];
char iWindowedRes[16];
char iBackend[16];
// stretch to fit should be split into two options, I think - one for low resolution backbuffer,
// one for ignore aspect ratio. I guess KeepAR sort of does that. Anyway, these should be rethought.
bool bStretchToFit;
bool bKeepAR43, bKeepAR169, bCrop;
bool bHideCursor;
bool bSafeTextureCache;
bool renderToMainframe;
// 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;
@ -59,7 +62,6 @@ struct Config
bool bTexFmtOverlayCenter;
// Render
bool bUseXFB;
bool bWireFrame;
bool bDisableLighting;
bool bDisableTexturing;
@ -74,6 +76,7 @@ struct Config
bool bProjectionHax1;
bool bProjectionHax2;
bool bCopyEFBToRAM;
bool bSafeTextureCache;
int iLog; // CONF_ bits
int iSaveTargetId;
@ -81,6 +84,9 @@ struct Config
//currently unused:
int iCompileDLsLevel;
bool bShowShaderErrors;
private:
DISALLOW_COPY_AND_ASSIGN(Config);
};
extern Config g_Config;