diff options
| author | iCatButler <i.am.catbutler@gmail.com> | 2017-04-25 14:58:00 +0100 |
|---|---|---|
| committer | iCatButler <i.am.catbutler@gmail.com> | 2017-04-25 14:58:00 +0100 |
| commit | 496df34ee4e3861c6e9b0ee8256d575622447563 (patch) | |
| tree | e96bad2877501a263f230325839864aadc508cf3 /libpcsxcore | |
| parent | 5dbb8dd78602f4b9c7d4e1a92b831fac032db8a6 (diff) | |
| download | pcsxr-496df34ee4e3861c6e9b0ee8256d575622447563.tar.gz | |
Prevent incomplete vertices using precise NCLIP
- Fixes errors ocurring in +CPU mode where NCLIP is used for collision detection
Diffstat (limited to 'libpcsxcore')
| -rw-r--r-- | libpcsxcore/pgxp_gte.c | 2 | ||||
| -rw-r--r-- | libpcsxcore/pgxp_value.c | 2 | ||||
| -rw-r--r-- | libpcsxcore/pgxp_value.h | 1 |
3 files changed, 3 insertions, 2 deletions
diff --git a/libpcsxcore/pgxp_gte.c b/libpcsxcore/pgxp_gte.c index 772dd2bb..51949646 100644 --- a/libpcsxcore/pgxp_gte.c +++ b/libpcsxcore/pgxp_gte.c @@ -182,7 +182,7 @@ int PGXP_NLCIP_valid(u32 sxy0, u32 sxy1, u32 sxy2) Validate(&SXY0, sxy0);
Validate(&SXY1, sxy1);
Validate(&SXY2, sxy2);
- if (((SXY0.flags & SXY1.flags & SXY2.flags & VALID_01) == VALID_01) && Config.PGXP_GTE && (Config.PGXP_Mode > 0))
+ if (((SXY0.flags & SXY1.flags & SXY2.flags & VALID_012) == VALID_012) && Config.PGXP_GTE && (Config.PGXP_Mode > 0))
return 1;
return 0;
}
diff --git a/libpcsxcore/pgxp_value.c b/libpcsxcore/pgxp_value.c index c52a8999..1ef79498 100644 --- a/libpcsxcore/pgxp_value.c +++ b/libpcsxcore/pgxp_value.c @@ -22,7 +22,7 @@ void MakeValid(PGXP_value *pV, u32 psxV) pV->x = psx.sw.l; pV->y = psx.sw.h; pV->z = 0.f; - pV->flags |= VALID_01; + pV->flags = VALID_01; pV->value = psx.d; } } diff --git a/libpcsxcore/pgxp_value.h b/libpcsxcore/pgxp_value.h index 68809fa2..a7ba1f3b 100644 --- a/libpcsxcore/pgxp_value.h +++ b/libpcsxcore/pgxp_value.h @@ -91,6 +91,7 @@ typedef enum #define VALID_2 (VALID << 16) #define VALID_3 (VALID << 24) #define VALID_01 (VALID_0 | VALID_1) +#define VALID_012 (VALID_0 | VALID_1 | VALID_2) #define VALID_ALL (VALID_0 | VALID_1 | VALID_2 | VALID_3) #define INV_VALID_ALL (ALL ^ VALID_ALL) //} PGXP_value_flags; |
