/*==LICENSE==* CyanWorlds.com Engine - MMOG client, server and tools Copyright (C) 2011 Cyan Worlds, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU 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 General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . You can contact Cyan Worlds, Inc. by email legal@cyan.com or by snail mail at: Cyan Worlds, Inc. 14617 N Newport Hwy Mead, WA 99021 *==LICENSE==*/ /////////////////////////////////////////////////////////////////////////////// // // // ParamBlock Type Konstants for plRT*Lights // // Cyan, Inc. // // // //// Version History ////////////////////////////////////////////////////////// // // // 8.2.2001 mcn - Created. // // // /////////////////////////////////////////////////////////////////////////////// #ifndef _plRTLightsPB_h #define _plRTLightsPB_h /////////////////////////////////////////////////////////////////////////////// //// Spotlights /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// static ParamBlockDesc2 RTSpotLightBlk ( /// Main def plRTSpotLight::kBlkSpotLight, _T("RT Spot Light"), 0, plRTSpotLightDesc::GetDesc(), P_AUTO_CONSTRUCT + P_AUTO_UI + P_MULTIMAP, plRTSpotLight::kRefSpotLight, /// Rollout definitions 3, plRTSpotLight::kLightMap1, IDD_LIGHT_PARAM, IDS_LIGHT_GEN_PARAMS, 0, 0, &gLiteDlgProc, plRTSpotLight::kLightMap2, IDD_LIGHT_ATTEN, IDS_LIGHT_ATTEN_PARAMSS, 0, 0, &gLiteDlgProc, plRTSpotLight::kLightMap3, IDD_FREE_SPOTLIGHT, IDS_LIGHT_SPOT_PARAMS, 0, 0, &gLiteDlgProc, /// Rollout 1 - General Parameters plRTSpotLight::kLightOn, _T("on"), TYPE_BOOL, 0, IDS_RTLIGHT_ON, p_default, true, p_ui, plRTSpotLight::kLightMap1, TYPE_SINGLECHEKBOX, IDC_LIGHT_ON, end, plRTSpotLight::kAffectDiffuse, _T("AffectDiffuse"), TYPE_BOOL, 0, IDS_RTLIGHT_ON, p_default, true, p_ui, plRTSpotLight::kLightMap1, TYPE_SINGLECHEKBOX, IDC_LIGHT_DIFFUSE, end, plRTSpotLight::kAmbientOnlyStub, _T("AmbientOnly"), TYPE_BOOL, 0, IDS_RTLIGHT_ON, p_default, false, p_ui, plRTSpotLight::kLightMap1, TYPE_SINGLECHEKBOX, IDC_AMBIENT_ONLY_STUB, end, plRTSpotLight::kCastShadows, _T("CastShadows"), TYPE_BOOL, 0, IDS_DS_CASTSHADOWSS, // p_default, false, // p_ui, plRTSpotLight::kLightMap1, TYPE_SINGLECHEKBOX, IDC_CAST_SHADOWS, end, plRTSpotLight::kLightColor, _T("LightColor"), TYPE_RGBA, P_ANIMATABLE, IDS_DS_LIGHTCOL, p_default, Color(255,255,255), p_ui, plRTSpotLight::kLightMap1, TYPE_COLORSWATCH, IDC_LIGHT_COLOR, end, plRTSpotLight::kSpec, _T("AffectSpecular"), TYPE_BOOL, P_ANIMATABLE, IDS_DS_SPEC, p_default, false, //p_enable_ctrls, plRTSpotLight::kSpecularColorSwatch, p_ui, plRTSpotLight::kLightMap1, TYPE_SINGLECHEKBOX, IDC_AFFECT_SPECULAR, end, plRTSpotLight::kSpecularColorSwatch,_T("SpecularColor"), TYPE_RGBA, P_ANIMATABLE, IDS_DS_SPECCOL, p_default, Color(255,255,255), p_ui, plRTSpotLight::kLightMap1, TYPE_COLORSWATCH, IDC_LIGHT_COLOR_SPECULAR, end, plRTSpotLight::kIntensity, _T("IntensityEditSpinner"), TYPE_FLOAT, P_ANIMATABLE, IDS_DB_MULTIPLIER, p_range, -250.0, 250.0, p_default, 1.0, p_ui, plRTSpotLight::kLightMap1, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_LMULT,IDC_LMULTSPINNER, .05f, end, /// Rollout 2 - Attenuation Parameters plRTSpotLight::kUseAttenuationBool, _T("AttenOnBool"), TYPE_BOOL, 0, IDS_DS_USEFARATTEN, p_default, TRUE, p_ui, plRTSpotLight::kLightMap2, TYPE_SINGLECHEKBOX, IDC_LIGHT_ATTENBOOL, p_enable_ctrls, 2, plRTSpotLight::kAttenMaxFalloffEdit,plRTSpotLight::kAttenTypeRadio, end, plRTSpotLight::kAttenMaxFalloffEdit, _T("MaxFalloffEdit"), TYPE_FLOAT, P_ANIMATABLE, IDS_DS_ATTENSTARTNEAR, p_range, 0.0, 999999999.0, p_default, 200.0, p_ui, plRTSpotLight::kLightMap2, TYPE_SPINNER, EDITTYPE_POS_UNIVERSE, IDC_LIGHT_ATTEN, IDC_LIGHT_ATTEN_SPIN, .05f, end, plRTSpotLight::kAttenTypeRadio, _T("LightShapeRadio"), TYPE_INT, 0, IDS_DS_LIGHTSHAPE_RATIO, p_default, 0, //p_vals, 1, 2, p_ui, plRTSpotLight::kLightMap2, TYPE_RADIO, 3, IDC_LIGHT_ATTEN_LINEAR_RADIO, IDC_LIGHT_ATTEN_QUAD_RADIO, IDC_LIGHT_ATTEN_NONE_RADIO, end, /// Rollout 3 - Spotlight Parameters plRTSpotLight::kShowConeBool, _T("ShowConeBool"), TYPE_BOOL, 0, IDS_DS_SHOWCONE, p_default, false, p_ui, plRTSpotLight::kLightMap3, TYPE_SINGLECHEKBOX, IDC_SHOW_CONE, end, plRTSpotLight::kHotSpot, _T("HotSpot"), TYPE_FLOAT, P_ANIMATABLE, IDS_DB_HOTSIZE, p_range, 0.0, 179.0f, p_default, 43.0, p_ui, plRTSpotLight::kLightMap3, TYPE_SPINNER, EDITTYPE_POS_FLOAT, IDC_LHOTSIZE, IDC_LHOTSIZESPINNER, .05f, end, plRTSpotLight::kFallOff, _T("FallOff"), TYPE_FLOAT, P_ANIMATABLE, IDS_DB_FALLSIZE, p_range, 0.0, 179.0f, p_default, 45.0, p_ui, plRTSpotLight::kLightMap3, TYPE_SPINNER, EDITTYPE_POS_FLOAT, IDC_LFALLOFF, IDC_LFALLOFFSPINNER, .05f, end, plRTSpotLight::kUseProjectorBool, _T("UseProjBool"), TYPE_BOOL, 0, IDS_DS_PROJ_PARAMS, p_default, false, p_enable_ctrls, 1, plRTSpotLight::kProjMapTexButton, p_ui, plRTSpotLight::kLightMap3, TYPE_SINGLECHEKBOX, IDC_PROJECTOR, end, plRTSpotLight::kProjMapTexButton, _T("ProjMapButton"), TYPE_BITMAP, P_SHORT_LABELS, IDS_DS_PROJMAP, p_ui, plRTSpotLight::kLightMap3, TYPE_BITMAPBUTTON, IDC_PROJ_MAPNAME, p_accessor, plLightTexPBAccessor::Instance(), end, plRTLightBase::kProjTypeRadio, _T("ProjTypeRadio"), TYPE_INT, 0, 0, p_default, plRTLightBase::kIlluminate, p_ui, plRTSpotLight::kLightMap3, TYPE_RADIO, 4, IDC_ILLUMINATE, IDC_ADD, IDC_MULT, IDC_MADD, p_vals, plRTLightBase::kIlluminate, plRTLightBase::kAdd, plRTLightBase::kMult, plRTLightBase::kMADD, end, plRTLightBase::kProjNoCompress, _T("NoCompress"), TYPE_BOOL, 0, IDS_DS_PROJ_PARAMS, p_default, false, p_ui, plRTSpotLight::kLightMap3, TYPE_SINGLECHEKBOX, IDC_PROJ_NOCOMPRESS, end, plRTLightBase::kProjNoMip, _T("NoMip"), TYPE_BOOL, 0, IDS_DS_PROJ_PARAMS, p_default, false, p_ui, plRTSpotLight::kLightMap3, TYPE_SINGLECHEKBOX, IDC_PROJ_NOMIP, end, end ); /////////////////////////////////////////////////////////////////////////////// //// Omni Lights ////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// static ParamBlockDesc2 RTOmniLightBlk ( /// Main def plRTOmniLight::kBlkOmniLight, _T("RT Omni Light"), 0, plRTOmniLightDesc::GetDesc(), P_AUTO_CONSTRUCT + P_AUTO_UI + P_MULTIMAP, plRTOmniLight::kRefOmniLight, /// Rollout definitions 2, plRTOmniLight::kLightMap1, IDD_LIGHT_PARAM, IDS_LIGHT_GEN_PARAMS, 0, 0, &gLiteDlgProc, plRTOmniLight::kLightMap2, IDD_LIGHT_ATTEN, IDS_LIGHT_ATTEN_PARAMSS, 0, 0, &gLiteDlgProc, /// Rollout 1 - General Parameters plRTOmniLight::kLightOn, _T("on"), TYPE_BOOL, 0, IDS_RTLIGHT_ON, p_default, true, p_ui, plRTOmniLight::kLightMap1, TYPE_SINGLECHEKBOX, IDC_LIGHT_ON, end, plRTOmniLight::kAffectDiffuse, _T("AffectDiffuse"), TYPE_BOOL, 0, IDS_RTLIGHT_ON, p_default, true, p_ui, plRTOmniLight::kLightMap1, TYPE_SINGLECHEKBOX, IDC_LIGHT_DIFFUSE, end, plRTOmniLight::kAmbientOnlyStub, _T("AmbientOnly"), TYPE_BOOL, 0, IDS_RTLIGHT_ON, p_default, false, p_ui, plRTOmniLight::kLightMap1, TYPE_SINGLECHEKBOX, IDC_AMBIENT_ONLY_STUB, end, plRTOmniLight::kCastShadows, _T("CastShadows"), TYPE_BOOL, 0, IDS_DS_CASTSHADOWSS, // p_default, false, // p_ui, plRTOmniLight::kLightMap1, TYPE_SINGLECHEKBOX, IDC_CAST_SHADOWS, end, plRTOmniLight::kLightColor, _T("LightColor"), TYPE_RGBA, P_ANIMATABLE, IDS_DS_LIGHTCOL, p_default, Color(255,255,255), p_ui, plRTOmniLight::kLightMap1, TYPE_COLORSWATCH, IDC_LIGHT_COLOR, end, plRTOmniLight::kSpec, _T("AffectSpecular"), TYPE_BOOL, P_ANIMATABLE, IDS_DS_SPEC, p_default, false, p_ui, plRTOmniLight::kLightMap1, TYPE_SINGLECHEKBOX, IDC_AFFECT_SPECULAR, end, plRTOmniLight::kSpecularColorSwatch,_T("SpecularColor"), TYPE_RGBA, P_ANIMATABLE, IDS_DS_SPECCOL, p_default, Color(255,255,255), p_ui, plRTOmniLight::kLightMap1, TYPE_COLORSWATCH, IDC_LIGHT_COLOR_SPECULAR, end, plRTOmniLight::kIntensity, _T("IntensityEditSpinner"), TYPE_FLOAT, P_ANIMATABLE, IDS_DB_MULTIPLIER, p_range, -250.0, 250.0, p_default, 1.0, p_ui, plRTOmniLight::kLightMap1, TYPE_SPINNER, EDITTYPE_POS_FLOAT, IDC_LMULT,IDC_LMULTSPINNER, .05f, end, /// Rollout 2 - Light Attenuation Parameters plRTOmniLight::kUseAttenuationBool, _T("AttenOnBool"), TYPE_BOOL, 0, IDS_DS_USEFARATTEN, p_default, TRUE, p_ui, plRTOmniLight::kLightMap2, TYPE_SINGLECHEKBOX, IDC_LIGHT_ATTENBOOL, p_enable_ctrls, 2, plRTOmniLight::kAttenMaxFalloffEdit, plRTOmniLight::kAttenTypeRadio, end, plRTOmniLight::kAttenMaxFalloffEdit, _T("MaxFalloffEdit"), TYPE_FLOAT, P_ANIMATABLE, IDS_DS_ATTENSTARTNEAR, p_range, 0.0, 999999999.0, p_default, 200.0, p_ui, plRTOmniLight::kLightMap2, TYPE_SPINNER, EDITTYPE_POS_UNIVERSE, IDC_LIGHT_ATTEN, IDC_LIGHT_ATTEN_SPIN, .05f, end, plRTOmniLight::kAttenTypeRadio, _T("LightShapeRadio"), TYPE_INT, 0, IDS_DS_LIGHTSHAPE_RATIO, p_default, 0, //p_vals, 1, 2, p_ui, plRTOmniLight::kLightMap2, TYPE_RADIO, 3, IDC_LIGHT_ATTEN_LINEAR_RADIO, IDC_LIGHT_ATTEN_QUAD_RADIO, IDC_LIGHT_ATTEN_NONE_RADIO, end, end ); /////////////////////////////////////////////////////////////////////////////// //// Directional Lights /////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// static ParamBlockDesc2 RTTDirLightBlk ( /// Main def plRTDirLight::kBlkTSpotLight, _T("RT Spot Light"), 0, plRTDirLightDesc::GetDesc(), P_AUTO_CONSTRUCT + P_AUTO_UI + P_MULTIMAP, plRTDirLight::kRefTSpotLight, /// Rollout definitions 1, plRTDirLight::kLightMap1, IDD_LIGHT_PARAM, IDS_LIGHT_GEN_PARAMS, 0, 0, &gLiteDlgProc, /// Rollout 1 - General Parameters plRTDirLight::kLightOn, _T("on"), TYPE_BOOL, 0, IDS_RTLIGHT_ON, p_default, true, p_ui, plRTDirLight::kLightMap1, TYPE_SINGLECHEKBOX, IDC_LIGHT_ON, end, plRTDirLight::kAffectDiffuse, _T("AffectDiffuse"), TYPE_BOOL, 0, IDS_RTLIGHT_ON, p_default, true, p_ui, plRTDirLight::kLightMap1, TYPE_SINGLECHEKBOX, IDC_LIGHT_DIFFUSE, end, plRTDirLight::kAmbientOnlyStub, _T("AmbientOnly"), TYPE_BOOL, 0, IDS_RTLIGHT_ON, p_default, false, p_ui, plRTDirLight::kLightMap1, TYPE_SINGLECHEKBOX, IDC_AMBIENT_ONLY_STUB, end, plRTDirLight::kCastShadows, _T("CastShadows"), TYPE_BOOL, 0, IDS_DS_CASTSHADOWSS, // p_default, false, // p_ui, plRTDirLight::kLightMap1, TYPE_SINGLECHEKBOX, IDC_CAST_SHADOWS, end, plRTDirLight::kLightColor, _T("LightColor"), TYPE_RGBA, P_ANIMATABLE, IDS_DS_LIGHTCOL, p_default, Color(255,255,255), p_ui, plRTDirLight::kLightMap1, TYPE_COLORSWATCH, IDC_LIGHT_COLOR, end, plRTDirLight::kSpec, _T("AffectSpecular"), TYPE_BOOL, P_ANIMATABLE, IDS_DS_SPEC, p_default, false, p_ui, plRTDirLight::kLightMap1, TYPE_SINGLECHEKBOX, IDC_AFFECT_SPECULAR, end, plRTDirLight::kSpecularColorSwatch,_T("SpecularColor"), TYPE_RGBA, P_ANIMATABLE, IDS_DS_SPECCOL, p_default, Color(255,255,255), p_ui, plRTDirLight::kLightMap1, TYPE_COLORSWATCH, IDC_LIGHT_COLOR_SPECULAR, end, plRTDirLight::kIntensity, _T("IntensityEditSpinner"), TYPE_FLOAT, P_ANIMATABLE, IDS_DB_MULTIPLIER, p_range, -250.0, 250.0, p_default, 1.0, p_ui, plRTDirLight::kLightMap1, TYPE_SPINNER, EDITTYPE_FLOAT, IDC_LMULT,IDC_LMULTSPINNER, .05f, end, end ); #endif //_plRTLightsPB_h