// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef CL_LIGHT_CYCLE_MANAGER_H
#define CL_LIGHT_CYCLE_MANAGER_H
/////////////
// INCLUDE //
/////////////
// Misc.
#include"nel/misc/types_nl.h"
#include"nel/misc/rgba.h"
// 3D Interface.
#include"nel/3d/u_driver.h"
#include"nel/3d/u_light.h"
#include"game_share/dir_light_setup.h"
#include"ig_enum.h"
///////////
// USING //
///////////
namespaceNL3D
{
classUScene;
}
/// Description of the hours for days / night
structCLightCycleDesc
{
floatRealDayLength;// real length of the day, in seconds
floatNumHours;// number of ryzom hours in a day
floatNightTransitionStartHour;// start of night transition
floatNightTransitionEndHour;// end of night transition
floatDuskRatio;// ratio for dusk transition. e.g. when set to 0.5f, that means that the dusk colors are taken when the day->night transition is at its half
floatDawnTransitionStartHour;// start of dawn transition
floatDawnTransitionEndHour;// end of dawn transition
uintMaxNumColorSteps;// the max number of color steps