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 (); }
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; }
void ESceneLightTools::OnControlAppendClick(ButtonValue* sender, bool& bDataModified, bool& bSafe) { AppendLightControl(GenLightControlName().c_str()); ExecCommand(COMMAND_UPDATE_PROPERTIES); bDataModified = true; }