summaryrefslogtreecommitdiff
path: root/libpcsxcore/pgxp_value.c
blob: 5d29097d9e79e81eeac9fa216fd57b782f0b32f5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "pgxp_value.h"


void MakeValid(PGXP_value *pV, u32 psxV)
{
	psx_value psx;
	psx.d = psxV;
	if (!pV->valid)
	{
		pV->x = psx.sw.l;
		pV->y = psx.sw.h;
		pV->z = 1.f;
		pV->valid = 1;
		pV->value = psx.d;
	}
}

void Validate(PGXP_value *pV, u32 psxV)
{
	// assume pV is not NULL
	pV->valid = (pV->valid) && (pV->value == psxV);
}

void MaskValidate(PGXP_value *pV, u32 psxV, u32 mask)
{
	// assume pV is not NULL
	pV->valid = (pV->valid) && ((pV->value & mask) == (psxV & mask));
}