summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSND\notaz_cp <SND\notaz_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2011-06-29 22:53:29 +0000
committerSND\notaz_cp <SND\notaz_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2011-06-29 22:53:29 +0000
commit0bc644c921fe94e9d83599257bbc59544e83616b (patch)
treeff0172f63a1c47188d8e1c851595bcdf720f6a35
parentfbe3fe35050190a9e5c4a4f1961f7aa4471193c0 (diff)
downloadpcsxr-0bc644c921fe94e9d83599257bbc59544e83616b.tar.gz
gte: fix MAC0 shift (pcsxr issue #8874, shalma)
fixes missing elements in Soul Reaver and Spyro. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@68249 e17a0e51-4ae3-4d35-97c3-1a29b211df97
-rw-r--r--libpcsxcore/gte.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libpcsxcore/gte.c b/libpcsxcore/gte.c
index 9ede6ac3..3bc6f11a 100644
--- a/libpcsxcore/gte.c
+++ b/libpcsxcore/gte.c
@@ -393,8 +393,8 @@ void gteRTPS() {
gteSX2 = limG1(F((s64)gteOFX + ((s64)gteIR1 * quotient)) >> 16);
gteSY2 = limG2(F((s64)gteOFY + ((s64)gteIR2 * quotient)) >> 16);
- gteMAC0 = F((s64)(gteDQB + ((s64)gteDQA * quotient)) >> 12);
- gteIR0 = limH(gteMAC0);
+ gteMAC0 = F((s64)gteDQB + ((s64)gteDQA * quotient));
+ gteIR0 = limH(gteMAC0 >> 12);
}
void gteRTPT() {
@@ -423,8 +423,8 @@ void gteRTPT() {
fSX(v) = limG1(F((s64)gteOFX + ((s64)gteIR1 * quotient)) >> 16);
fSY(v) = limG2(F((s64)gteOFY + ((s64)gteIR2 * quotient)) >> 16);
}
- gteMAC0 = F((s64)(gteDQB + ((s64)gteDQA * quotient)) >> 12);
- gteIR0 = limH(gteMAC0);
+ gteMAC0 = F((s64)gteDQB + ((s64)gteDQA * quotient));
+ gteIR0 = limH(gteMAC0 >> 12);
}
void gteMVMVA() {