View difference between Paste ID: 907TLW6r and Z6jrJxWt
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
		{
21
			//RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, false);
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
28
			RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, false);
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
}