Guest User

Silent's code

a guest
Jun 17th, 2014
30
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.         // Here is the trick.
  21.         {
  22.             //RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, false);
  23.             RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTION, rwALPHATESTFUNCTIONEQUAL);
  24.             RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTIONREF, 255);
  25.  
  26.             AtomicDefaultRenderCallBack(entry->m_info.m_pAtomic);
  27.             //entry->m_info.m_pCallback(entry->m_info.m_pAtomic, entry->m_info.depth);
  28.  
  29.             RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, false);
  30.             RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, true);
  31.             RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTION, rwALPHATESTFUNCTIONLESS);
  32.  
  33.             AtomicDefaultRenderCallBack(entry->m_info.m_pAtomic);
  34.             //entry->m_info.m_pCallback(entry->m_info.m_pAtomic, entry->m_info.depth);
  35.         }
  36.  
  37.         // Restore renderstates.
  38.         RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, zWriteEnable);
  39.         RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, vertexAlphaEnable);
  40.         RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTION, alphaTestFunc);
  41.         RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTIONREF, alphaRef);
  42.     }
  43.     else if(!strncmp(v2, "static_prop", 11))
  44.     {
  45.         AtomicDefaultRenderCallBack(entry->m_info.m_pAtomic);
  46.         //entry->m_info.m_pCallback(entry->m_info.m_pAtomic, entry->m_info.depth);
  47.     }
  48.     else
  49.     {
  50.         RwRenderStateGet(rwRENDERSTATEALPHATESTFUNCTIONREF, &alphaRef);
  51.  
  52.         RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTIONREF, 0);
  53.  
  54.         AtomicDefaultRenderCallBack(entry->m_info.m_pAtomic);
  55.         //entry->m_info.m_pCallback(entry->m_info.m_pAtomic, entry->m_info.depth);
  56.  
  57.         RwRenderStateSet(rwRENDERSTATEALPHATESTFUNCTIONREF, alphaRef);
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment