// DlgWeatherColor.cpp : implementation file // #include "stdafx.h" #include "worldcreator.h" #include "DlgWeatherColor.h" #include "SceneManager.h" #include "MainFrm.h" #include "WorldCreatorView.h" #include ".\dlgweathercolor.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CDlgWeatherColor dialog CDlgWeatherColor::CDlgWeatherColor(CWnd* pParent /*=NULL*/) : CDialog(CDlgWeatherColor::IDD, pParent) { //{{AFX_DATA_INIT(CDlgWeatherColor) m_fFlareSize = 0.0f; m_fFogEnd = 0.0f; m_fFogStart = 0.0f; m_fSkyFogEnd = 0.0f; m_fSunPos = 0.0f; m_fSunSize = 0.0f; m_fGlowSize = 0.0f; m_fLightRange = 0.0f; m_fLightRange = 1000.0f; m_fGlowSize = 800.0f; //}}AFX_DATA_INIT } void CDlgWeatherColor::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDlgWeatherColor) DDX_Control(pDX, IDC_COLOR_CHARACTER, m_CharacterNightColor); DDX_Control(pDX, IDC_COLOR_FURGRASS, m_FurGrassColor); DDX_Control(pDX, IDC_COLOR_WATER, m_WaterColor); DDX_Control(pDX, IDC_COLOR_TERRAINCOLOR, m_TerrainColor); DDX_Control(pDX, IDC_COLOR_SPECULARREFLRECTIONRATE, m_SpecularReflectionRate); DDX_Control(pDX, IDC_COLOR_GRASSAMBIENT, m_GrassColor); DDX_Control(pDX, IDC_COLOR_GLARESKYUPPER, m_GlareSkyUpper); DDX_Control(pDX, IDC_COLOR_GLARESKYLOWER, m_ClareSkyLowerColor); DDX_Control(pDX, IDC_COLOR_CHARACTERAMBIENT, m_CharacterAmbientColor); DDX_Control(pDX, IDC_COLOR_CHARACTERLIGHT, m_CharacterLightColor); DDX_Control(pDX, IDC_COLOR_DETAILFIX, m_DetailFixColor); DDX_Control(pDX, IDC_LIST_WEATHERTIMELIST, m_WeatherList); DDX_Control(pDX, IDC_COLOR_SKYNEIGHBOR, m_SkyNeighborColor); DDX_Control(pDX, IDC_COLOR_SKYCENTER, m_SkyCenterColor); DDX_Control(pDX, IDC_COLOR_FOGCOLOR, m_FogColor); DDX_Control(pDX, IDC_COLOR_LIGHTCOLOR, m_LightColor); DDX_Control(pDX, IDC_COLOR_AMBIENTCOLOR, m_AmbientColor); DDX_Control(pDX, IDC_COLOR_FOGLAYER1, m_CloudColor1); DDX_Control(pDX, IDC_COLOR_FOGLAYER2, m_CloudColor2); DDX_Control(pDX, IDC_COLOR_FOGLAYER3, m_CloudColor3); DDX_Control(pDX, IDC_COLOR_FLARECOLOR, m_FlareColor); DDX_Control(pDX, IDC_COLOR_OBJECTAMBIENT, m_ObjectAmbient); DDX_Control(pDX, IDC_COLOR_CHARACTER,m_CharacterNightColor); DDX_Text(pDX, IDC_EDIT_FLARESIZE, m_fFlareSize); DDX_Text(pDX, IDC_EDIT_FOGEND, m_fFogEnd); DDX_Text(pDX, IDC_EDIT_FOGSTART, m_fFogStart); DDX_Text(pDX, IDC_EDIT_SKYFOGEND, m_fSkyFogEnd); DDX_Text(pDX, IDC_EDIT_SUNPOS, m_fSunPos); DDX_Text(pDX, IDC_EDIT_SUNSIZE, m_fSunSize); DDX_Text(pDX, IDC_GLOWSIZE, m_fGlowSize); DDX_Text(pDX, IDC_LIGHTSIZE, m_fLightRange); //}}AFX_DATA_MAP DDX_ColourPicker(pDX, IDC_COLOR_SKYNEIGHBOR, m_cSkyNeighborColor); DDX_ColourPicker(pDX, IDC_COLOR_SKYCENTER, m_cSkyCenterColor); DDX_ColourPicker(pDX, IDC_COLOR_FOGCOLOR, m_cFogColor); DDX_ColourPicker(pDX, IDC_COLOR_LIGHTCOLOR, m_cLightColor); DDX_ColourPicker(pDX, IDC_COLOR_AMBIENTCOLOR, m_cAmbientColor); DDX_ColourPicker(pDX, IDC_COLOR_FOGLAYER1, m_cCloudColor1); DDX_ColourPicker(pDX, IDC_COLOR_FOGLAYER2, m_cCloudColor2); DDX_ColourPicker(pDX, IDC_COLOR_FOGLAYER3, m_cCloudColor3); DDX_ColourPicker(pDX, IDC_COLOR_FLARECOLOR, m_cFlareColor); DDX_ColourPicker(pDX, IDC_COLOR_OBJECTAMBIENT, m_cObjectAmbient); DDX_ColourPicker(pDX, IDC_COLOR_DETAILFIX, m_cDetailFixColor); DDX_ColourPicker(pDX,IDC_COLOR_SPECULARREFLRECTIONRATE, m_cSpecularReflectionRate); DDX_ColourPicker(pDX,IDC_COLOR_GRASSAMBIENT, m_cGrass); DDX_ColourPicker(pDX,IDC_COLOR_GLARESKYUPPER, m_cGlareSkyUpper); DDX_ColourPicker(pDX,IDC_COLOR_GLARESKYLOWER, m_cClareSkyLower); DDX_ColourPicker(pDX,IDC_COLOR_CHARACTERAMBIENT, m_cCharacterAmbient); DDX_ColourPicker(pDX,IDC_COLOR_CHARACTERLIGHT, m_cCharacterLight); DDX_ColourPicker(pDX,IDC_COLOR_TERRAINCOLOR,m_cTerrainColor); DDX_ColourPicker(pDX,IDC_COLOR_FURGRASS,m_cFurGrassColor); DDX_ColourPicker(pDX,IDC_COLOR_CHARACTER,m_cCharacterNColor); } BEGIN_MESSAGE_MAP(CDlgWeatherColor, CDialog) //{{AFX_MSG_MAP(CDlgWeatherColor) ON_LBN_DBLCLK(IDC_LIST_WEATHERTIMELIST, OnDblclkListWeathertimelist) ON_BN_CLICKED(IDC_BUTTON_WEATHERCOLORSAVE, OnButtonWeathercolorsave) ON_BN_CLICKED(IDC_BUTTON_WEATHERFILESAVE, OnButtonWeatherfilesave) ON_WM_KEYDOWN() //}}AFX_MSG_MAP ON_LBN_SELCHANGE(IDC_LIST_WEATHERTIMELIST, OnLbnSelchangeListWeathertimelist) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDlgWeatherColor message handlers BOOL CDlgWeatherColor::OnInitDialog() { CDialog::OnInitDialog(); for(int i=0;i<24;i++) { CString strTime; strTime.Format("%d½Ã",i); m_WeatherList.AddString(strTime); } m_WeatherList.AddString("¸¶¹ý³¯¾¾"); OnDblclkListWeathertimelist(); // TODO: Add extra initialization here return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CDlgWeatherColor::OnDblclkListWeathertimelist() { // TODO: Add your control notification handler code here int SelCur=m_WeatherList.GetCurSel(); if(SelCur==-1) { SelCur=0; m_WeatherList.SetCurSel(0); } if(CSceneManager::m_WeatherManager.m_bSubTable) { int iSub = CSceneManager::m_WeatherManager.m_iSubCurrentIndex; m_cSkyNeighborColor=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SkyNeighborColor[SelCur].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SkyNeighborColor[SelCur].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SkyNeighborColor[SelCur].b); m_cSkyCenterColor=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SkyCenterColor[SelCur].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SkyCenterColor[SelCur].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SkyCenterColor[SelCur].b); m_cFogColor=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogColor[SelCur].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogColor[SelCur].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogColor[SelCur].b); m_cLightColor=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_LightColor[SelCur].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_LightColor[SelCur].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_LightColor[SelCur].b); m_cAmbientColor=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_AmbientColor[SelCur].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_AmbientColor[SelCur].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_AmbientColor[SelCur].b); m_cCloudColor1=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][0].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][0].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][0].b); m_cCloudColor2=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][1].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][1].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][1].b); m_cCloudColor3=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][2].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][2].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][2].b); m_cObjectAmbient=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_ObjectAmbientColor[SelCur].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_ObjectAmbientColor[SelCur].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_ObjectAmbientColor[SelCur].b); m_fFogStart=CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogRangeNear[SelCur]; m_fFogEnd=CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogRangeFar[SelCur]; m_fSkyFogEnd=CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SkyFogFar[SelCur]; m_fSunPos=CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SunPosition[SelCur]; m_cDetailFixColor = RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_DetailFixColor[SelCur].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_DetailFixColor[SelCur].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_DetailFixColor[SelCur].b); m_cSpecularReflectionRate=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SpecularReflectionRate[SelCur].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SpecularReflectionRate[SelCur].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SpecularReflectionRate[SelCur].b); m_cGrass=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GrassColor[SelCur].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GrassColor[SelCur].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GrassColor[SelCur].b); m_cGlareSkyUpper=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GlareSkyUpper[SelCur].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GlareSkyUpper[SelCur].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GlareSkyUpper[SelCur].b); m_cClareSkyLower=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GlareSkyLower[SelCur].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GlareSkyLower[SelCur].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GlareSkyLower[SelCur].b); m_cCharacterAmbient=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_CharacterAmbient[SelCur].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_CharacterAmbient[SelCur].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_CharacterAmbient[SelCur].b); m_cCharacterLight=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_CharacterLight[SelCur].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_CharacterLight[SelCur].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_CharacterLight[SelCur].b); m_cTerrainColor=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_TerrainColor[SelCur].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_TerrainColor[SelCur].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_TerrainColor[SelCur].b); m_cWaterColor=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_WaterColor[SelCur].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_WaterColor[SelCur].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_WaterColor[SelCur].b); m_cFurGrassColor=RGB(CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FurGrassColor[SelCur].r, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FurGrassColor[SelCur].g, CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FurGrassColor[SelCur].b); } else { m_cSkyNeighborColor=RGB(CSceneManager::m_WeatherManager.m_SkyNeighborColor[SelCur].r, CSceneManager::m_WeatherManager.m_SkyNeighborColor[SelCur].g, CSceneManager::m_WeatherManager.m_SkyNeighborColor[SelCur].b); m_cSkyCenterColor=RGB(CSceneManager::m_WeatherManager.m_SkyCenterColor[SelCur].r, CSceneManager::m_WeatherManager.m_SkyCenterColor[SelCur].g, CSceneManager::m_WeatherManager.m_SkyCenterColor[SelCur].b); m_cFogColor=RGB(CSceneManager::m_WeatherManager.m_FogColor[SelCur].r, CSceneManager::m_WeatherManager.m_FogColor[SelCur].g, CSceneManager::m_WeatherManager.m_FogColor[SelCur].b); m_cLightColor=RGB(CSceneManager::m_WeatherManager.m_LightColor[SelCur].r, CSceneManager::m_WeatherManager.m_LightColor[SelCur].g, CSceneManager::m_WeatherManager.m_LightColor[SelCur].b); m_cAmbientColor=RGB(CSceneManager::m_WeatherManager.m_AmbientColor[SelCur].r, CSceneManager::m_WeatherManager.m_AmbientColor[SelCur].g, CSceneManager::m_WeatherManager.m_AmbientColor[SelCur].b); m_cCloudColor1=RGB(CSceneManager::m_WeatherManager.m_FogLayer[SelCur][0].r, CSceneManager::m_WeatherManager.m_FogLayer[SelCur][0].g, CSceneManager::m_WeatherManager.m_FogLayer[SelCur][0].b); m_cCloudColor2=RGB(CSceneManager::m_WeatherManager.m_FogLayer[SelCur][1].r, CSceneManager::m_WeatherManager.m_FogLayer[SelCur][1].g, CSceneManager::m_WeatherManager.m_FogLayer[SelCur][1].b); m_cCloudColor3=RGB(CSceneManager::m_WeatherManager.m_FogLayer[SelCur][2].r, CSceneManager::m_WeatherManager.m_FogLayer[SelCur][2].g, CSceneManager::m_WeatherManager.m_FogLayer[SelCur][2].b); m_cObjectAmbient=RGB(CSceneManager::m_WeatherManager.m_ObjectAmbientColor[SelCur].r, CSceneManager::m_WeatherManager.m_ObjectAmbientColor[SelCur].g, CSceneManager::m_WeatherManager.m_ObjectAmbientColor[SelCur].b); m_fFogStart=CSceneManager::m_WeatherManager.m_FogRangeNear[SelCur]; m_fFogEnd=CSceneManager::m_WeatherManager.m_FogRangeFar[SelCur]; m_fSkyFogEnd=CSceneManager::m_WeatherManager.m_SkyFogFar[SelCur]; m_fSunPos=CSceneManager::m_WeatherManager.m_SunPosition[SelCur]; m_cDetailFixColor = RGB(CSceneManager::m_WeatherManager.m_DetailFixColor[SelCur].r, CSceneManager::m_WeatherManager.m_DetailFixColor[SelCur].g, CSceneManager::m_WeatherManager.m_DetailFixColor[SelCur].b); m_cSpecularReflectionRate=RGB(CSceneManager::m_WeatherManager.m_SpecularReflectionRate[SelCur].r, CSceneManager::m_WeatherManager.m_SpecularReflectionRate[SelCur].g, CSceneManager::m_WeatherManager.m_SpecularReflectionRate[SelCur].b); m_cGrass=RGB(CSceneManager::m_WeatherManager.m_GrassColor[SelCur].r, CSceneManager::m_WeatherManager.m_GrassColor[SelCur].g, CSceneManager::m_WeatherManager.m_GrassColor[SelCur].b); m_cGlareSkyUpper=RGB(CSceneManager::m_WeatherManager.m_GlareSkyUpper[SelCur].r, CSceneManager::m_WeatherManager.m_GlareSkyUpper[SelCur].g, CSceneManager::m_WeatherManager.m_GlareSkyUpper[SelCur].b); m_cClareSkyLower=RGB(CSceneManager::m_WeatherManager.m_GlareSkyLower[SelCur].r, CSceneManager::m_WeatherManager.m_GlareSkyLower[SelCur].g, CSceneManager::m_WeatherManager.m_GlareSkyLower[SelCur].b); m_cCharacterAmbient=RGB(CSceneManager::m_WeatherManager.m_CharacterAmbient[SelCur].r, CSceneManager::m_WeatherManager.m_CharacterAmbient[SelCur].g, CSceneManager::m_WeatherManager.m_CharacterAmbient[SelCur].b); m_cCharacterLight=RGB(CSceneManager::m_WeatherManager.m_CharacterLight[SelCur].r, CSceneManager::m_WeatherManager.m_CharacterLight[SelCur].g, CSceneManager::m_WeatherManager.m_CharacterLight[SelCur].b); m_cTerrainColor=RGB(CSceneManager::m_WeatherManager.m_TerrainColor[SelCur].r, CSceneManager::m_WeatherManager.m_TerrainColor[SelCur].g, CSceneManager::m_WeatherManager.m_TerrainColor[SelCur].b); m_cWaterColor=RGB(CSceneManager::m_WeatherManager.m_WaterColor[SelCur].r, CSceneManager::m_WeatherManager.m_WaterColor[SelCur].g, CSceneManager::m_WeatherManager.m_WaterColor[SelCur].b); m_cFurGrassColor=RGB(CSceneManager::m_WeatherManager.m_FurGrassColor[SelCur].r, CSceneManager::m_WeatherManager.m_FurGrassColor[SelCur].g, CSceneManager::m_WeatherManager.m_FurGrassColor[SelCur].b); } m_fGlowSize = CSceneManager::m_fGlowPlaneRange; m_fLightRange = CSceneManager::m_CharacterLight.Range; m_cCharacterNColor = RGB(CSceneManager::m_CharacterLight.Diffuse.r * 255.0f, CSceneManager::m_CharacterLight.Diffuse.g * 255.0f, CSceneManager::m_CharacterLight.Diffuse.b * 255.0f); /* m_cDetailFixColor=RGB(CSectorScene::m_TerrainDetailFixColor.r, CSectorScene::m_TerrainDetailFixColor.g,CSectorScene::m_TerrainDetailFixColor.b); */ CSceneManager::SetWeatherTime((float)SelCur); CSceneManager::m_WeatherManager.SetWeather((float)SelCur,BaseGraphicsLayer::GetDevice()); CSceneManager::m_WeatherManager.m_CustomWaterColor=false; if(SelCur==24) CSceneManager::m_WeatherManager.m_CustomWaterColor=true; else CSceneManager::m_WeatherManager.m_CustomWaterColor=false; CMainFrame *mf=(CMainFrame*)AfxGetApp()->m_pMainWnd; if(mf) ((CWorldCreatorView*)mf->GetActiveView())->Render(); UpdateData(FALSE); } void CDlgWeatherColor::OnOK() { // TODO: Add extra validation here CDialog::OnOK(); } void CDlgWeatherColor::OnButtonWeathercolorsave() { // TODO: Add your control notification handler code here UpdateData(); int SelCur=m_WeatherList.GetCurSel(); if(SelCur==-1) return; if(CSceneManager::m_WeatherManager.m_bSubTable) { int iSub = CSceneManager::m_WeatherManager.m_iSubCurrentIndex; CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SkyNeighborColor[SelCur].r=GetRValue(m_cSkyNeighborColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SkyNeighborColor[SelCur].g=GetGValue(m_cSkyNeighborColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SkyNeighborColor[SelCur].b=GetBValue(m_cSkyNeighborColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SkyCenterColor[SelCur].r=GetRValue(m_cSkyCenterColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SkyCenterColor[SelCur].g=GetGValue(m_cSkyCenterColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SkyCenterColor[SelCur].b=GetBValue(m_cSkyCenterColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogColor[SelCur].r=GetRValue(m_cFogColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogColor[SelCur].g=GetGValue(m_cFogColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogColor[SelCur].b=GetBValue(m_cFogColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_LightColor[SelCur].r=GetRValue(m_cLightColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_LightColor[SelCur].g=GetGValue(m_cLightColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_LightColor[SelCur].b=GetBValue(m_cLightColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_AmbientColor[SelCur].r=GetRValue(m_cAmbientColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_AmbientColor[SelCur].g=GetGValue(m_cAmbientColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_AmbientColor[SelCur].b=GetBValue(m_cAmbientColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][0].r=GetRValue(m_cCloudColor1); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][0].g=GetGValue(m_cCloudColor1); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][0].b=GetBValue(m_cCloudColor1); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][1].r=GetRValue(m_cCloudColor2); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][1].g=GetGValue(m_cCloudColor2); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][1].b=GetBValue(m_cCloudColor2); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][2].r=GetRValue(m_cCloudColor3); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][2].g=GetGValue(m_cCloudColor3); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogLayer[SelCur][2].b=GetBValue(m_cCloudColor3); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_ObjectAmbientColor[SelCur].r=GetRValue(m_cObjectAmbient); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_ObjectAmbientColor[SelCur].g=GetGValue(m_cObjectAmbient); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_ObjectAmbientColor[SelCur].b=GetBValue(m_cObjectAmbient); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogRangeNear[SelCur]=m_fFogStart; CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FogRangeFar[SelCur]=m_fFogEnd; CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SkyFogFar[SelCur]=m_fSkyFogEnd; CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SunPosition[SelCur]=m_fSunPos; /*CSectorScene::m_TerrainDetailFixColor.r=GetRValue(m_cDetailFixColor); CSectorScene::m_TerrainDetailFixColor.g=GetGValue(m_cDetailFixColor); CSectorScene::m_TerrainDetailFixColor.b=GetBValue(m_cDetailFixColor); */ CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_DetailFixColor[SelCur].r = GetRValue(m_cDetailFixColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_DetailFixColor[SelCur].g = GetGValue(m_cDetailFixColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_DetailFixColor[SelCur].b = GetBValue(m_cDetailFixColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SpecularReflectionRate[SelCur].r=GetRValue(m_cSpecularReflectionRate); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SpecularReflectionRate[SelCur].g=GetGValue(m_cSpecularReflectionRate); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_SpecularReflectionRate[SelCur].b=GetBValue(m_cSpecularReflectionRate); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GrassColor[SelCur].r=GetRValue(m_cGrass); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GrassColor[SelCur].g=GetGValue(m_cGrass); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GrassColor[SelCur].b=GetBValue(m_cGrass); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GlareSkyUpper[SelCur].r=GetRValue(m_cGlareSkyUpper); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GlareSkyUpper[SelCur].g=GetGValue(m_cGlareSkyUpper); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GlareSkyUpper[SelCur].b=GetBValue(m_cGlareSkyUpper); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GlareSkyLower[SelCur].r=GetRValue(m_cClareSkyLower); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GlareSkyLower[SelCur].g=GetGValue(m_cClareSkyLower); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_GlareSkyLower[SelCur].b=GetBValue(m_cClareSkyLower); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_CharacterAmbient[SelCur].r=GetRValue(m_cCharacterAmbient); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_CharacterAmbient[SelCur].g=GetGValue(m_cCharacterAmbient); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_CharacterAmbient[SelCur].b=GetBValue(m_cCharacterAmbient); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_CharacterLight[SelCur].r=GetRValue(m_cCharacterLight); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_CharacterLight[SelCur].g=GetGValue(m_cCharacterLight); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_CharacterLight[SelCur].b=GetBValue(m_cCharacterLight); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_TerrainColor[SelCur].r=GetRValue(m_cTerrainColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_TerrainColor[SelCur].g=GetGValue(m_cTerrainColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_TerrainColor[SelCur].b=GetBValue(m_cTerrainColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_WaterColor[SelCur].r=GetRValue(m_cWaterColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_WaterColor[SelCur].g=GetGValue(m_cWaterColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_WaterColor[SelCur].b=GetBValue(m_cWaterColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FurGrassColor[SelCur].r=GetRValue(m_cFurGrassColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FurGrassColor[SelCur].g=GetGValue(m_cFurGrassColor); CSceneManager::m_WeatherManager.m_pSubWeatherTable[iSub].m_FurGrassColor[SelCur].b=GetBValue(m_cFurGrassColor); } else { CSceneManager::m_WeatherManager.m_SkyNeighborColor[SelCur].r=GetRValue(m_cSkyNeighborColor); CSceneManager::m_WeatherManager.m_SkyNeighborColor[SelCur].g=GetGValue(m_cSkyNeighborColor); CSceneManager::m_WeatherManager.m_SkyNeighborColor[SelCur].b=GetBValue(m_cSkyNeighborColor); CSceneManager::m_WeatherManager.m_SkyCenterColor[SelCur].r=GetRValue(m_cSkyCenterColor); CSceneManager::m_WeatherManager.m_SkyCenterColor[SelCur].g=GetGValue(m_cSkyCenterColor); CSceneManager::m_WeatherManager.m_SkyCenterColor[SelCur].b=GetBValue(m_cSkyCenterColor); CSceneManager::m_WeatherManager.m_FogColor[SelCur].r=GetRValue(m_cFogColor); CSceneManager::m_WeatherManager.m_FogColor[SelCur].g=GetGValue(m_cFogColor); CSceneManager::m_WeatherManager.m_FogColor[SelCur].b=GetBValue(m_cFogColor); CSceneManager::m_WeatherManager.m_LightColor[SelCur].r=GetRValue(m_cLightColor); CSceneManager::m_WeatherManager.m_LightColor[SelCur].g=GetGValue(m_cLightColor); CSceneManager::m_WeatherManager.m_LightColor[SelCur].b=GetBValue(m_cLightColor); CSceneManager::m_WeatherManager.m_AmbientColor[SelCur].r=GetRValue(m_cAmbientColor); CSceneManager::m_WeatherManager.m_AmbientColor[SelCur].g=GetGValue(m_cAmbientColor); CSceneManager::m_WeatherManager.m_AmbientColor[SelCur].b=GetBValue(m_cAmbientColor); CSceneManager::m_WeatherManager.m_FogLayer[SelCur][0].r=GetRValue(m_cCloudColor1); CSceneManager::m_WeatherManager.m_FogLayer[SelCur][0].g=GetGValue(m_cCloudColor1); CSceneManager::m_WeatherManager.m_FogLayer[SelCur][0].b=GetBValue(m_cCloudColor1); CSceneManager::m_WeatherManager.m_FogLayer[SelCur][1].r=GetRValue(m_cCloudColor2); CSceneManager::m_WeatherManager.m_FogLayer[SelCur][1].g=GetGValue(m_cCloudColor2); CSceneManager::m_WeatherManager.m_FogLayer[SelCur][1].b=GetBValue(m_cCloudColor2); CSceneManager::m_WeatherManager.m_FogLayer[SelCur][2].r=GetRValue(m_cCloudColor3); CSceneManager::m_WeatherManager.m_FogLayer[SelCur][2].g=GetGValue(m_cCloudColor3); CSceneManager::m_WeatherManager.m_FogLayer[SelCur][2].b=GetBValue(m_cCloudColor3); CSceneManager::m_WeatherManager.m_ObjectAmbientColor[SelCur].r=GetRValue(m_cObjectAmbient); CSceneManager::m_WeatherManager.m_ObjectAmbientColor[SelCur].g=GetGValue(m_cObjectAmbient); CSceneManager::m_WeatherManager.m_ObjectAmbientColor[SelCur].b=GetBValue(m_cObjectAmbient); CSceneManager::m_WeatherManager.m_FogRangeNear[SelCur]=m_fFogStart; CSceneManager::m_WeatherManager.m_FogRangeFar[SelCur]=m_fFogEnd; CSceneManager::m_WeatherManager.m_SkyFogFar[SelCur]=m_fSkyFogEnd; CSceneManager::m_WeatherManager.m_SunPosition[SelCur]=m_fSunPos; /*CSectorScene::m_TerrainDetailFixColor.r=GetRValue(m_cDetailFixColor); CSectorScene::m_TerrainDetailFixColor.g=GetGValue(m_cDetailFixColor); CSectorScene::m_TerrainDetailFixColor.b=GetBValue(m_cDetailFixColor); */ CSceneManager::m_WeatherManager.m_DetailFixColor[SelCur].r = GetRValue(m_cDetailFixColor); CSceneManager::m_WeatherManager.m_DetailFixColor[SelCur].g = GetGValue(m_cDetailFixColor); CSceneManager::m_WeatherManager.m_DetailFixColor[SelCur].b = GetBValue(m_cDetailFixColor); CSceneManager::m_WeatherManager.m_SpecularReflectionRate[SelCur].r=GetRValue(m_cSpecularReflectionRate); CSceneManager::m_WeatherManager.m_SpecularReflectionRate[SelCur].g=GetGValue(m_cSpecularReflectionRate); CSceneManager::m_WeatherManager.m_SpecularReflectionRate[SelCur].b=GetBValue(m_cSpecularReflectionRate); CSceneManager::m_WeatherManager.m_GrassColor[SelCur].r=GetRValue(m_cGrass); CSceneManager::m_WeatherManager.m_GrassColor[SelCur].g=GetGValue(m_cGrass); CSceneManager::m_WeatherManager.m_GrassColor[SelCur].b=GetBValue(m_cGrass); CSceneManager::m_WeatherManager.m_GlareSkyUpper[SelCur].r=GetRValue(m_cGlareSkyUpper); CSceneManager::m_WeatherManager.m_GlareSkyUpper[SelCur].g=GetGValue(m_cGlareSkyUpper); CSceneManager::m_WeatherManager.m_GlareSkyUpper[SelCur].b=GetBValue(m_cGlareSkyUpper); CSceneManager::m_WeatherManager.m_GlareSkyLower[SelCur].r=GetRValue(m_cClareSkyLower); CSceneManager::m_WeatherManager.m_GlareSkyLower[SelCur].g=GetGValue(m_cClareSkyLower); CSceneManager::m_WeatherManager.m_GlareSkyLower[SelCur].b=GetBValue(m_cClareSkyLower); CSceneManager::m_WeatherManager.m_CharacterAmbient[SelCur].r=GetRValue(m_cCharacterAmbient); CSceneManager::m_WeatherManager.m_CharacterAmbient[SelCur].g=GetGValue(m_cCharacterAmbient); CSceneManager::m_WeatherManager.m_CharacterAmbient[SelCur].b=GetBValue(m_cCharacterAmbient); CSceneManager::m_WeatherManager.m_CharacterLight[SelCur].r=GetRValue(m_cCharacterLight); CSceneManager::m_WeatherManager.m_CharacterLight[SelCur].g=GetGValue(m_cCharacterLight); CSceneManager::m_WeatherManager.m_CharacterLight[SelCur].b=GetBValue(m_cCharacterLight); CSceneManager::m_WeatherManager.m_TerrainColor[SelCur].r=GetRValue(m_cTerrainColor); CSceneManager::m_WeatherManager.m_TerrainColor[SelCur].g=GetGValue(m_cTerrainColor); CSceneManager::m_WeatherManager.m_TerrainColor[SelCur].b=GetBValue(m_cTerrainColor); CSceneManager::m_WeatherManager.m_WaterColor[SelCur].r=GetRValue(m_cWaterColor); CSceneManager::m_WeatherManager.m_WaterColor[SelCur].g=GetGValue(m_cWaterColor); CSceneManager::m_WeatherManager.m_WaterColor[SelCur].b=GetBValue(m_cWaterColor); CSceneManager::m_WeatherManager.m_FurGrassColor[SelCur].r=GetRValue(m_cFurGrassColor); CSceneManager::m_WeatherManager.m_FurGrassColor[SelCur].g=GetGValue(m_cFurGrassColor); CSceneManager::m_WeatherManager.m_FurGrassColor[SelCur].b=GetBValue(m_cFurGrassColor); } // ¹ã¿ë light setting CSceneManager::m_CharacterLight.Diffuse.r = GetRValue(m_cCharacterNColor) / 255.0f; CSceneManager::m_CharacterLight.Diffuse.g = GetGValue(m_cCharacterNColor) / 255.0f; CSceneManager::m_CharacterLight.Diffuse.b = GetBValue(m_cCharacterNColor) / 255.0f; CSceneManager::m_CharacterLight.Range = m_fLightRange; CSceneManager::m_fGlowPlaneRange = m_fGlowSize; } void CDlgWeatherColor::OnButtonWeatherfilesave() { // TODO: Add your control notification handler code here if(CSceneManager::m_WeatherManager.m_bSubTable) { int iSub = CSceneManager::m_WeatherManager.m_iSubCurrentIndex; CSceneManager::m_WeatherManager.SaveSub(); } else CSceneManager::m_WeatherManager.Save(); } void CDlgWeatherColor::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { // TODO: Add your message handler code here and/or call default if(nChar==VK_RETURN) { CMainFrame *mf=(CMainFrame*)AfxGetApp()->m_pMainWnd; if(mf) ((CWorldCreatorView*)mf->GetActiveView())->Render(); } CDialog::OnKeyDown(nChar, nRepCnt, nFlags); } void CDlgWeatherColor::OnLbnSelchangeListWeathertimelist() { // TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù. }