Beispiel #1
0
void ESceneLightTools::Clear(bool bSpecific)
{
	inherited::Clear(bSpecific);

    m_SunShadowDir.set	(deg2rad(-25.f),deg2rad(292.f));
    
	lcontrol_last_idx	= 0;
    lcontrols.clear		();
    AppendLightControl	(LCONTROL_STATIC);
    AppendLightControl	(LCONTROL_HEMI);
    AppendLightControl	(LCONTROL_SUN);
    m_HemiControl		= FindLightControl(LCONTROL_HEMI)->id;
    m_Flags.zero		();
}
Beispiel #2
0
bool ESceneLightTools::Load(IReader& F)
{
	u16 version 	= 0;
    if(F.r_chunk(CHUNK_VERSION,&version))
        if( version!=LIGHT_TOOLS_VERSION ){
            ELog.DlgMsg( mtError, "%s tools: Unsupported version.",ClassDesc());
            return false;
        }

	if (!inherited::Load(F)) return false;

    if (F.find_chunk(CHUNK_FLAGS))
    	m_Flags.assign		(F.r_u32());

    if (F.find_chunk(CHUNK_SUN_SHADOW)){
     	F.r_u8				();
        F.r_fvector2		(m_SunShadowDir);
    }
    
    if (F.find_chunk(CHUNK_LCONTROLS_LAST))
		lcontrol_last_idx	= F.r_u32();
    
	IReader* R 		= F.open_chunk(CHUNK_LCONTROLS); 
    if (R){
        while (!R->eof()){
        	shared_str		l_name;
            R->r_stringZ(l_name);
            u32 l_idx	= R->r_u32();
            AppendLightControl(l_name.c_str(),&l_idx);
        }
        R->close		();
    }

    return true;
}
Beispiel #3
0
void ESceneLightTools::OnControlAppendClick(ButtonValue* sender, bool& bDataModified, bool& bSafe)
{
	AppendLightControl(GenLightControlName().c_str());
    ExecCommand(COMMAND_UPDATE_PROPERTIES);
    bDataModified = true;
}