Still Hard-Coding.. but the result is great.
Fixed Yves code.
Code:
void TEST::SetSemiTrans(LPRO myobj, int coef)
{
// LPRO myobj = (LPRO)CNC_GetParameter(rdPtr);
int nBlendCoef = 0;
switch (myobj->ros.rsEffect & BOP_MASK) {
case BOP_EFFECTEX:
{
CEffectEx* pEffectEx = (CEffectEx*)myobj->ros.rsEffectParam;// Need #include "EffectEx.h" from MMF Headers
if (pEffectEx != NULL)
nBlendCoef = 255 - (pEffectEx->GetRGBA() >> 24);// pEffectEx->GetRGBA() == default >> -1; >> result calc == 0;
int a = 939524095;// Hardcode
pEffectEx->SetRGBA(a);// find at "EffectEx.h"
}
break;
case BOP_BLEND: // old semi-transparency coef
nBlendCoef = 255 - SEMITRANSPTOALPHA(myobj->ros.rsEffectParam);
break;
default:
if (myobj->ros.rsEffect & BOP_RGBAFILTER)
nBlendCoef = 255 - (((DWORD)myobj->ros.rsEffectParam) >> 24);
break;
}
;
}
;