Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Load environment map
- while(gtamat.Extension.matFx.enabled)
- {
- gtaRwMatFXEnv *effect;
- if(gtamat.Extension.matFx.effect1.type == rpMATFXEFFECTENVMAP)
- effect = >amat.Extension.matFx.effect1.env;
- else if(gtamat.Extension.matFx.effect2.type == rpMATFXEFFECTENVMAP)
- effect = >amat.Extension.matFx.effect1.env;
- else
- break;
- // Load environment map
- if(effect->hasTexture && effect->coefficient != 0.0f)
- {
- BitmapTex *envTex = MaxTextureFromRW(effect->texture);
- if(gtamat.Extension.envMap.enabled)
- {
- envTex->GetUVGen()->SetUOffs(gtamat.Extension.envMap.transSclX, 0);
- envTex->GetUVGen()->SetVOffs(gtamat.Extension.envMap.transSclY, 0);
- envTex->GetUVGen()->SetUScl(gtamat.Extension.envMap.scaleX, 0);
- envTex->GetUVGen()->SetVScl(gtamat.Extension.envMap.scaleY, 0);
- material->SetSubTexmap(ID_RL, envTex);
- material->SetTexmapAmt(ID_RL, gtamat.Extension.envMap.shininess * 5.0f, 0);
- if(effect->texture.name.string && effect->texture.name.string[0] == 'x'
- && geom.texCoords[1])
- {
- envTex->InitSlotType(MAPSLOT_TEXTURE);
- envTex->GetUVGen()->SetUVWSource(UVWSRC_EXPLICIT);
- envTex->GetUVGen()->SetMapChannel(2);
- }
- }
- else
- {
- material->SetSubTexmap(ID_RL, envTex);
- material->SetTexmapAmt(ID_RL, effect->coefficient, 0);
- }
- material->EnableMap(ID_RL, TRUE);
- }
- break;
- }
- // Setup specularity
- if(gtamat.Extension.specMap.enabled)
- material->SetShinStr(gtamat.Extension.specMap.specularity, 0);
- material->SetOpacity(gtamat.color.a / 255.0f, 0);
- material->SetMtlFlag(MTL_DISPLAY_ENABLE_FLAGS);
- multimats[i]->SetSubMtl(m, material);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement