View difference between Paste ID: Z6jrJxWt and 4bj1gRn1
SHOW: | | - or go back to the newest paste.
1
void CVisibilityPlugins__RenderAlphaAtomic(CLink<AlphaObjectInfo> *entry)
2
{
3
	bool zWriteEnable;
4
	bool vertexAlphaEnable;
5
	int alphaTestFunc;
6
	char alphaRef;
7
8
	char *nodeName;
9
10
	nodeName = GetFrameNodeName(entry->m_info.m_pAtomic->object.object.parent);
11
12
	if(!strncmp(v3, "moving_prop", 11))
13
	{
14
		// Store renderstates.
15
		RwRenderStateGet(rwRENDERSTATEZWRITEENABLE, &zWriteEnable);
16
		RwRenderStateGet(rwRENDERSTATEVERTEXALPHAENABLE, &vertexAlphaEnable);
17
		RwRenderStateGet(rwRENDERSTATEALPHATESTFUNCTION, &alphaTestFunc);
18
		RwRenderStateGet(rwRENDERSTATEALPHATESTFUNCTIONREF, &alphaRef);
19
20-
		//RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, false);
20+
		{
21-
		RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTION, rwALPHATESTFUNCTIONEQUAL);
21+
			//RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, false);
22-
		RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTIONREF, 255);
22+
			RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTION, rwALPHATESTFUNCTIONEQUAL);
23
			RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTIONREF, 255);
24
25
			AtomicDefaultRenderCallBack(entry->m_info.m_pAtomic);
26
			//entry->m_info.m_pCallback(entry->m_info.m_pAtomic, entry->m_info.depth);
27-
		RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, false);
27+
28-
		RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, true);
28+
			RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, false);
29-
		RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTION, rwALPHATESTFUNCTIONLESS);
29+
			RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, true);
30
			RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTION, rwALPHATESTFUNCTIONLESS);
31
32
			AtomicDefaultRenderCallBack(entry->m_info.m_pAtomic);
33
			//entry->m_info.m_pCallback(entry->m_info.m_pAtomic, entry->m_info.depth);
34
		}
35
36
		// Restore renderstates.
37
		RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, zWriteEnable);
38
		RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, vertexAlphaEnable);
39
		RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTION, alphaTestFunc);
40
		RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTIONREF, alphaRef);
41
	}
42
	else if(!strncmp(v2, "static_prop", 11))
43
	{
44
		AtomicDefaultRenderCallBack(entry->m_info.m_pAtomic);
45
		//entry->m_info.m_pCallback(entry->m_info.m_pAtomic, entry->m_info.depth);
46
	}
47
	else
48
	{
49
		RwRenderStateGet(rwRENDERSTATEALPHATESTFUNCTIONREF, &alphaRef);
50
51
		RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTIONREF, 0);
52
53
		AtomicDefaultRenderCallBack(entry->m_info.m_pAtomic);
54
		//entry->m_info.m_pCallback(entry->m_info.m_pAtomic, entry->m_info.depth);
55
56
		RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTIONREF, alphaRef);
57
	}
58
}