Advertisement
Dimitri_UA

Untitled

Jun 30th, 2014
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.83 KB | None | 0 0
  1. // Load environment map
  2. while(gtamat.Extension.matFx.enabled)
  3. {
  4.     gtaRwMatFXEnv *effect;
  5.     if(gtamat.Extension.matFx.effect1.type == rpMATFXEFFECTENVMAP)
  6.         effect = &gtamat.Extension.matFx.effect1.env;
  7.     else if(gtamat.Extension.matFx.effect2.type == rpMATFXEFFECTENVMAP)
  8.         effect = &gtamat.Extension.matFx.effect1.env;
  9.     else
  10.         break;
  11.     // Load environment map
  12.     if(effect->hasTexture && effect->coefficient != 0.0f)
  13.     {
  14.         BitmapTex *envTex = MaxTextureFromRW(effect->texture);
  15.         if(gtamat.Extension.envMap.enabled)
  16.         {
  17.             envTex->GetUVGen()->SetUOffs(gtamat.Extension.envMap.transSclX, 0);
  18.             envTex->GetUVGen()->SetVOffs(gtamat.Extension.envMap.transSclY, 0);
  19.             envTex->GetUVGen()->SetUScl(gtamat.Extension.envMap.scaleX, 0);
  20.             envTex->GetUVGen()->SetVScl(gtamat.Extension.envMap.scaleY, 0);
  21.             material->SetSubTexmap(ID_RL, envTex);
  22.             material->SetTexmapAmt(ID_RL, gtamat.Extension.envMap.shininess * 5.0f, 0);
  23.             if(effect->texture.name.string && effect->texture.name.string[0] == 'x'
  24.                 && geom.texCoords[1])
  25.             {
  26.                 envTex->InitSlotType(MAPSLOT_TEXTURE);
  27.                 envTex->GetUVGen()->SetUVWSource(UVWSRC_EXPLICIT);
  28.                 envTex->GetUVGen()->SetMapChannel(2);
  29.             }
  30.         }
  31.         else
  32.         {
  33.             material->SetSubTexmap(ID_RL, envTex);
  34.             material->SetTexmapAmt(ID_RL, effect->coefficient, 0);
  35.         }
  36.         material->EnableMap(ID_RL, TRUE);
  37.     }
  38.     break;
  39. }
  40. // Setup specularity
  41. if(gtamat.Extension.specMap.enabled)
  42.     material->SetShinStr(gtamat.Extension.specMap.specularity, 0);
  43. material->SetOpacity(gtamat.color.a / 255.0f, 0);
  44. material->SetMtlFlag(MTL_DISPLAY_ENABLE_FLAGS);
  45. multimats[i]->SetSubMtl(m, material);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement