From 9a63e315195a0dcd669d2df1c62142eaf740de7a Mon Sep 17 00:00:00 2001 From: "SND\\edgbla_cp" Date: Sun, 20 May 2012 14:20:39 +0000 Subject: Configuration->CPU->Widescreen (16:9, GTE Hack). git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@78188 e17a0e51-4ae3-4d35-97c3-1a29b211df97 --- libpcsxcore/gte.c | 8 ++++---- libpcsxcore/psxcommon.h | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'libpcsxcore') diff --git a/libpcsxcore/gte.c b/libpcsxcore/gte.c index 1ce8fecf..3c9ea449 100644 --- a/libpcsxcore/gte.c +++ b/libpcsxcore/gte.c @@ -402,13 +402,13 @@ void gteRTPS() { quotient = limE(DIVIDE(gteH, gteSZ3)); gteSXY0 = gteSXY1; gteSXY1 = gteSXY2; - gteSX2 = limG1(F((s64)gteOFX + ((s64)gteIR1 * quotient)) >> 16); + gteSX2 = limG1(F((s64)gteOFX + ((s64)gteIR1 * quotient) * (Config.Widescreen ? 0.75 : 1)) >> 16); gteSY2 = limG2(F((s64)gteOFY + ((s64)gteIR2 * quotient)) >> 16); fquotient = flimE((float)(gteH << 16) / (float)gteSZ3); GPU_addVertex(gteSX2, gteSY2, - limG1_ia((s64)gteOFX + (s64)(gteIR1 * fquotient)), // TODO: MAC1 calc instead of IR1. + limG1_ia((s64)gteOFX + (s64)(gteIR1 * fquotient) * (Config.Widescreen ? 0.75 : 1)), // TODO: MAC1 calc instead of IR1. limG2_ia((s64)gteOFY + (s64)(gteIR2 * fquotient)), // TODO: MAC2 calc instead of IR2. ((s64)gteSZ3)); // TODO: MAC3 calc instead of SZ3. @@ -440,13 +440,13 @@ void gteRTPT() { gteIR3 = limB3(gteMAC3, 0); fSZ(v) = limD(gteMAC3); quotient = limE(DIVIDE(gteH, fSZ(v))); - fSX(v) = limG1(F((s64)gteOFX + ((s64)gteIR1 * quotient)) >> 16); + fSX(v) = limG1(F((s64)gteOFX + ((s64)gteIR1 * quotient) * (Config.Widescreen ? 0.75 : 1)) >> 16); fSY(v) = limG2(F((s64)gteOFY + ((s64)gteIR2 * quotient)) >> 16); fquotient = flimE((float)(gteH << 16) / (float)fSZ(v)); GPU_addVertex(fSX(v), fSY(v), - limG1_ia((s64)gteOFX + (s64)(gteIR1 * fquotient)), // TODO: MAC1 calc instead of IR1. + limG1_ia((s64)gteOFX + (s64)(gteIR1 * fquotient) * (Config.Widescreen ? 0.75 : 1)), // TODO: MAC1 calc instead of IR1. limG2_ia((s64)gteOFY + (s64)(gteIR2 * fquotient)), // TODO: MAC2 calc instead of IR2. ((s64)fSZ(v))); // TODO: MAC3 calc instead of fSZ(v). } diff --git a/libpcsxcore/psxcommon.h b/libpcsxcore/psxcommon.h index dbedc429..5aec4942 100644 --- a/libpcsxcore/psxcommon.h +++ b/libpcsxcore/psxcommon.h @@ -149,6 +149,7 @@ typedef struct { boolean RCntFix; boolean UseNet; boolean VSyncWA; + boolean Widescreen; u8 Cpu; // CPU_DYNAREC or CPU_INTERPRETER u8 PsxType; // PSX_TYPE_NTSC or PSX_TYPE_PAL #ifdef _WIN32 -- cgit v1.2.3