summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/GlobalControl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoCommon/Src/GlobalControl.cpp')
-rw-r--r--Source/Core/VideoCommon/Src/GlobalControl.cpp69
1 files changed, 69 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/Src/GlobalControl.cpp b/Source/Core/VideoCommon/Src/GlobalControl.cpp
index 00cd8710a0..2dbb13901b 100644
--- a/Source/Core/VideoCommon/Src/GlobalControl.cpp
+++ b/Source/Core/VideoCommon/Src/GlobalControl.cpp
@@ -77,3 +77,72 @@ bool Projection_GetWidescreen()
{
return g_Widescreen;
}
+
+
+void UpdateProjectionHack(int iPhackvalue)
+{
+ bool bProjHack1=0, bPhackvalue1=0, bPhackvalue2=0;
+ float fhackvalue1=0, fhackvalue2=0;
+ switch(iPhackvalue)
+ {
+ case PROJECTION_HACK_NONE:
+ bProjHack1 = 0;
+ bPhackvalue1 = 0;
+ bPhackvalue2 = 0;
+ break;
+ case PROJECTION_HACK_ZELDA_TP_BLOOM_HACK:
+ bPhackvalue1 = 1;
+ bProjHack1 = 1;
+ break;
+ case PROJECTION_HACK_SONIC_AND_THE_BLACK_KNIGHT:
+ bPhackvalue1 = 1;
+ fhackvalue1 = 0.00002f;
+ bPhackvalue2 = 1;
+ fhackvalue2 = 1.999980f;
+ break;
+ case PROJECTION_HACK_BLEACH_VERSUS_CRUSADE:
+ bPhackvalue2 = 1;
+ fhackvalue2 = 0.5f;
+ bPhackvalue1 = 0;
+ bProjHack1 = 0;
+ break;
+ case PROJECTION_HACK_FINAL_FANTASY_CC_ECHO_OF_TIME:
+ bPhackvalue1 = 1;
+ fhackvalue1 = 0.8f;
+ bPhackvalue2 = 1;
+ fhackvalue2 = 1.2f;
+ bProjHack1 = 0;
+ break;
+ case PROJECTION_HACK_HARVESTMOON_MM:
+ bPhackvalue1 = 1;
+ fhackvalue1 = 0.0075f;
+ bPhackvalue2 = 0;
+ bProjHack1 = 0;
+ case PROJECTION_HACK_BATEN_KAITOS:
+ bPhackvalue1 = 1;
+ fhackvalue1 = 0.0026f;
+ bPhackvalue2 = 1;
+ fhackvalue2 = 1.9974f;
+ bProjHack1 = 1;
+ break;
+ case PROJECTION_HACK_BATEN_KAITOS_ORIGIN:
+ bPhackvalue1 = 1;
+ fhackvalue1 = 0.0012f;
+ bPhackvalue2 = 1;
+ fhackvalue2 = 1.9988f;
+ bProjHack1 = 1;
+ break;
+ case PROJECTION_HACK_SKIES_OF_ARCADIA:
+ bPhackvalue1 = 1;
+ fhackvalue1 = 0.04f;
+ bPhackvalue2 = 0;
+ bProjHack1 = 0;
+ break;
+ }
+
+ // Set the projections hacks
+ Projection_SetHack0(bProjHack1);
+ Projection_SetHack1(ProjectionHack(bPhackvalue1 == 0 ? false : true, fhackvalue1));
+ Projection_SetHack2(ProjectionHack(bPhackvalue2 == 0 ? false : true, fhackvalue2));
+}
+