DragonNest/Client/EtWorldPainter/EnviBasePaneView.cpp

712 lines
25 KiB
C++
Raw Normal View History

2024-12-19 09:48:26 +08:00
// EnviBasePaneView.cpp : implementation file
//
#include "stdafx.h"
#include "EtWorldPainter.h"
#include "EnviBasePaneView.h"
#include "EnviPaneView.h"
#include "UserMessage.h"
#include "EnviControl.h"
#include "RenderBase.h"
// CEnviBasePaneView
PropertyGridBaseDefine g_EnviPropertyDefine[] = {
{ "Common", "Skybox", CUnionValueProperty::String_FileOpen, "Sky Box Skin|Eternity Engine Skin File|*.skn", TRUE },
{ "Common", "Ambient", CUnionValueProperty::Color, "Ambient Color", TRUE },
{ "Fog", "Fog Color", CUnionValueProperty::Color, "Fog Color", TRUE },
{ "Fog", "Near", CUnionValueProperty::Float, "Fog Near", TRUE },
{ "Fog", "Far", CUnionValueProperty::Float, "Fog Far", TRUE },
{ "Environment", "Environment Texture", CUnionValueProperty::String_FileOpen, "Environment Texture|Direct Draw Surface File|*.dds", TRUE },
{ "Color Filter", "Enable", CUnionValueProperty::Boolean, "Enable Color Filter", TRUE },
{ "Color Filter", "Shadow-Red", CUnionValueProperty::Float, "Shadow Red|-1.f|1.f|0.0001f", TRUE },
{ "Color Filter", "Shadow-Green", CUnionValueProperty::Float, "Shadow Green|-1.f|1.f|0.0001f", TRUE },
{ "Color Filter", "Shadow-Blue", CUnionValueProperty::Float, "Shadow Blue|-1.f|1.f|0.0001f", TRUE },
/*10*/ { "Color Filter", "Midtones-Red", CUnionValueProperty::Float, "Midtones Red|-1.f|1.f|0.0001f", TRUE },
{ "Color Filter", "Midtones-Green", CUnionValueProperty::Float, "Midtones Green|-1.f|1.f|0.0001f", TRUE },
{ "Color Filter", "Midtones-Blue", CUnionValueProperty::Float, "Midtones Blue|-1.f|1.f|0.0001f", TRUE },
{ "Color Filter", "Highlights-Red", CUnionValueProperty::Float, "Highlights Red|-1.f|1.f|0.0001f", TRUE },
{ "Color Filter", "Highlights-Green", CUnionValueProperty::Float, "Highlights Green|-1.f|1.f|0.0001f", TRUE },
{ "Color Filter", "Highlights-Blue", CUnionValueProperty::Float, "Highlights Blue|-1.f|1.f|0.0001f", TRUE },
{ "Color Filter", "Saturation", CUnionValueProperty::Float, "Saturation|0.f|5.f|0.0001f", TRUE },
{ "Bloom Filter", "Enable", CUnionValueProperty::Boolean, "Enable Bloom Filter", TRUE },
{ "Bloom Filter", "Scale", CUnionValueProperty::Float, "Bloom Scale|0.f|2.f|0.001f", TRUE },
{ "Bloom Filter", "Sensitivity", CUnionValueProperty::Float, "Bloom Sensitivity|4.f|10.f|0.001f", TRUE },
/*20*/ { "BlurSize", "Lightmap Blur Size", CUnionValueProperty::Integer, "Lightmap Blur Size|1|16|1", TRUE },
{ "Environment", "BGM", CUnionValueProperty::String_FileOpen, "Sound File|All Support Files|*.wav;*.mp3;*.ogg;*.wmv;*.wma", TRUE },
{ "Environment", "BGM Ratio", CUnionValueProperty::Float, "Default BGM Ratio|0.f|1.f|0.001f", TRUE },
{ "Weather Base - Rain", "Enable", CUnionValueProperty::Boolean, "Enable Rain Control", TRUE },
{ "Weather Base - Rain", "Texture", CUnionValueProperty::String_FileOpen, "Rain Texture|Direct Draw Surface File|*.dds", TRUE },
{ "Weather Base - Rain", "Speed", CUnionValueProperty::Float, "Speed|0.f|10.f|0.0001f", TRUE },
{ "Weather Base - Rain", "Stretch", CUnionValueProperty::Float, "Stretch|0.f|10.f|0.0001f", TRUE },
{ "Weather DropEffect", "Enable Splash Drop Effect", CUnionValueProperty::Boolean, "Enable Weather Splash Drop Effect", TRUE },
{ "Weather DropEffect", "SplashDrop Texture", CUnionValueProperty::String_FileOpen, "Weather SplashDrop Texture|Direct Draw Surface File|*.dds", TRUE },
{ "Weather DropEffect", "Size", CUnionValueProperty::Float, "SplashDrop Size|0.1|100.f|0.0001f", TRUE },
/*30*/ { "Weather DropEffect", "LifeTime", CUnionValueProperty::Float, "SplashDrop Lifetime|0.f|5.f|0.0001f", TRUE },
{ "Weather DropEffect", "Radius", CUnionValueProperty::Integer, "SplashDrop Radius|0|5000|1", TRUE },
{ "Weather DropEffect", "Count", CUnionValueProperty::Integer, "SplashDrop Create Per Second|0|5000|1", TRUE },
{ "Weather Base - Rain", "Layer Count", CUnionValueProperty::Integer, "Layer Count|1|4|1", TRUE },
{ "Weather Base - Rain", "Layer Decrease Rate", CUnionValueProperty::Float, "<EFBFBD><EFBFBD><EFBFBD>̾ <20>ӵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|0.1f|1.f|0.9f", TRUE },
{ "Weather Base - Rain", "Direction", CUnionValueProperty::Vector3, "!Directional", TRUE },
{ "HeatHaze", "Enable", CUnionValueProperty::Boolean, "Enable Heat Haze", TRUE },
{ "HeatHaze", "Distortion Power", CUnionValueProperty::Float, "Distortion Power|0.1f|5.f|0.001f", TRUE },
{ "HeatHaze", "Wave Speed", CUnionValueProperty::Float, "Wave Speed|0.1f|10.f|0.001f", TRUE },
{ "DepthOfField", "Enable", CUnionValueProperty::Boolean, "Enable Depth of field", TRUE },
/*40*/ { "DepthOfField", "Focus Distance", CUnionValueProperty::Float, "Focus Distance(cm)", TRUE },
{ "DepthOfField", "Near Start", CUnionValueProperty::Float, "Near Start(cm)", TRUE },
{ "DepthOfField", "Near End", CUnionValueProperty::Float, "Near End(cm)", TRUE },
{ "DepthOfField", "Far Start", CUnionValueProperty::Float, "Far Start(cm)", TRUE },
{ "DepthOfField", "Far End", CUnionValueProperty::Float, "Far End(cm)", TRUE },
{ "DepthOfField", "Near Blur", CUnionValueProperty::Float, "Near Blur|1.f|36.f|0.001f", TRUE },
{ "DepthOfField", "Far Blur", CUnionValueProperty::Float, "Far Blur|1.f|36.f|0.001f", TRUE },
{ "Weather Base - Snow", "Enable", CUnionValueProperty::Boolean, "Enable Snow Control", TRUE },
{ "Weather Base - Snow", "Texture", CUnionValueProperty::String_FileOpen, "Snow Texture|Direct Draw Surface File|*.dds", TRUE },
{ "Weather Base - Snow", "Count", CUnionValueProperty::Integer, "Snow Count|0|5000|1", TRUE },
/*50*/ { "Weather Base - Snow", "TimeOut", CUnionValueProperty::Integer, "Snow TimeOut|0|15000|1", TRUE },
{ "Snow Base - Snow", "Height", CUnionValueProperty::Float, "Snow Height|0.f|5000.f|0.1f", TRUE },
{ "Snow Base - Snow", "IsUp", CUnionValueProperty::Boolean, "Snow Dir False(Down)/True(Up)", FALSE },
{ "Snow Base - Snow", "SnowSize", CUnionValueProperty::Float, "Snow Size|0|100|1", TRUE },
{ "Snow Base - Snow", "AniSpeed", CUnionValueProperty::Float, "AniSpeed|0.001f|5.0f|0.001f", TRUE },
{ "Environment Effect", "Environment Effect", CUnionValueProperty::String_FileOpen, "Environment Effect|Eternity Action File (*.act)|*.act", TRUE },
{ NULL },
};
IMPLEMENT_DYNCREATE(CEnviBasePaneView, CFormView)
CEnviBasePaneView::CEnviBasePaneView()
: CFormView(CEnviBasePaneView::IDD)
{
m_bActivate = false;
}
CEnviBasePaneView::~CEnviBasePaneView()
{
ResetPropertyGrid();
}
void CEnviBasePaneView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CEnviBasePaneView, CFormView)
ON_WM_SIZE()
ON_WM_ERASEBKGND()
ON_MESSAGE( UM_REFRESH_PANE_VIEW, OnRefresh )
ON_MESSAGE( XTPWM_PROPERTYGRID_NOTIFY, OnNotifyGrid )
ON_MESSAGE( UM_SOUNDPANE_DROPMOVEITEM, OnSoundPaneDropMoveItem )
ON_MESSAGE( UM_SOUNDPANE_DROPITEM, OnSoundPaneDropItem )
END_MESSAGE_MAP()
// CEnviBasePaneView diagnostics
#ifdef _DEBUG
void CEnviBasePaneView::AssertValid() const
{
CFormView::AssertValid();
}
#ifndef _WIN32_WCE
void CEnviBasePaneView::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif
#endif //_DEBUG
// CEnviBasePaneView message handlers
void CEnviBasePaneView::OnInitialUpdate()
{
__super::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
if( m_bActivate == true ) return;
m_bActivate = true;
CRect rcRect;
GetClientRect( &rcRect );
m_PropertyGrid.Create( rcRect, this, 0 );
m_PropertyGrid.SetCustomColors( RGB(200, 200, 200), 0, RGB(182, 210, 189), RGB(247, 243, 233), 0);
SendMessage( UM_REFRESH_PANE_VIEW );
}
void CEnviBasePaneView::OnSize(UINT nType, int cx, int cy)
{
__super::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
if( m_PropertyGrid ) {
// m_PropertyGrid.MoveWindow( &rcRect );
m_PropertyGrid.SetWindowPos( NULL, 0, 0, cx, cy, SWP_FRAMECHANGED );
}
}
BOOL CEnviBasePaneView::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
return TRUE;
}
LRESULT CEnviBasePaneView::OnNotifyGrid( WPARAM wParam, LPARAM lParam )
{
return ProcessNotifyGrid( wParam, lParam );
}
LRESULT CEnviBasePaneView::OnRefresh( WPARAM wParam, LPARAM lParam )
{
if( !m_PropertyGrid ) return S_OK;
ResetPropertyGrid();
RefreshPropertyGrid( g_EnviPropertyDefine );
return S_OK;
}
void CEnviBasePaneView::OnSetValue( CUnionValueProperty *pVariable, DWORD dwIndex )
{
CEnviElement *pElement = CEnviControl::GetInstance().GetActiveElement();
CEnvInfo& envInfo = pElement->GetInfo();
switch( dwIndex ) {
case 0:
pVariable->SetVariable( (char*)envInfo.GetSkyBox() );
break;
case 1:
pVariable->SetVariable( (int)envInfo.GetAmbient() );
break;
case 2:
pVariable->SetVariable( (int)envInfo.GetFogColor() );
break;
case 3:
pVariable->SetVariable( envInfo.GetFogNear() );
break;
case 4:
pVariable->SetVariable( envInfo.GetFogFar() );
break;
case 5:
pVariable->SetVariable( (char*)envInfo.GetEnvironmentTexture() );
break;
case 6:
pVariable->SetVariable( envInfo.IsEnableColorFilter() );
break;
case 7:
SetReadOnly( pVariable, !envInfo.IsEnableColorFilter() );
pVariable->SetVariable( envInfo.GetColorAdjShadow()->x );
break;
case 8:
SetReadOnly( pVariable, !envInfo.IsEnableColorFilter() );
pVariable->SetVariable( envInfo.GetColorAdjShadow()->y );
break;
case 9:
SetReadOnly( pVariable, !envInfo.IsEnableColorFilter() );
pVariable->SetVariable( envInfo.GetColorAdjShadow()->z );
break;
case 10:
SetReadOnly( pVariable, !envInfo.IsEnableColorFilter() );
pVariable->SetVariable( envInfo.GetColorAdjMidtones()->x );
break;
case 11:
SetReadOnly( pVariable, !envInfo.IsEnableColorFilter() );
pVariable->SetVariable( envInfo.GetColorAdjMidtones()->y );
break;
case 12:
SetReadOnly( pVariable, !envInfo.IsEnableColorFilter() );
pVariable->SetVariable( envInfo.GetColorAdjMidtones()->z );
break;
case 13:
SetReadOnly( pVariable, !envInfo.IsEnableColorFilter() );
pVariable->SetVariable( envInfo.GetColorAdjHighlights()->x );
break;
case 14:
SetReadOnly( pVariable, !envInfo.IsEnableColorFilter() );
pVariable->SetVariable( envInfo.GetColorAdjHighlights()->y );
break;
case 15:
SetReadOnly( pVariable, !envInfo.IsEnableColorFilter() );
pVariable->SetVariable( envInfo.GetColorAdjHighlights()->z );
break;
case 16:
SetReadOnly( pVariable, !envInfo.IsEnableColorFilter() );
pVariable->SetVariable( envInfo.GetColorAdjSaturation() );
break;
case 17:
pVariable->SetVariable( envInfo.IsEnableBloomFilter() );
break;
case 18:
SetReadOnly( pVariable, !envInfo.IsEnableBloomFilter() );
pVariable->SetVariable( envInfo.GetBloomScale() );
break;
case 19:
SetReadOnly( pVariable, !envInfo.IsEnableBloomFilter() );
pVariable->SetVariable( envInfo.GetBloomSensitivity() );
break;
case 20:
pVariable->SetVariable( envInfo.GetLightmapBlurSize() );
break;
case 21:
pVariable->SetVariable( (CHAR*)envInfo.GetEnviBGM() );
break;
case 22:
pVariable->SetVariable( envInfo.GetEnviBGMRatio() );
break;
case 23:
pVariable->SetVariable( envInfo.IsEnableWeather() );
break;
case 24:
SetReadOnly( pVariable, !envInfo.IsEnableWeather() );
pVariable->SetVariable( (CHAR*)envInfo.GetWeatherTexture() );
break;
case 25:
SetReadOnly( pVariable, !envInfo.IsEnableWeather() );
pVariable->SetVariable( envInfo.GetWeatherSpeed() );
break;
case 26:
SetReadOnly( pVariable, !envInfo.IsEnableWeather() );
pVariable->SetVariable( envInfo.GetWeatherStretch() );
break;
case 27:
pVariable->SetVariable( envInfo.IsEnableSplashDrop() );
break;
case 28:
SetReadOnly( pVariable, !envInfo.IsEnableSplashDrop() );
pVariable->SetVariable( (CHAR*)envInfo.GetSplashDropTexture() );
break;
case 29:
SetReadOnly( pVariable, !envInfo.IsEnableSplashDrop() );
pVariable->SetVariable( envInfo.GetSplashDropSize() );
break;
case 30:
SetReadOnly( pVariable, !envInfo.IsEnableSplashDrop() );
pVariable->SetVariable( envInfo.GetSplashDropLifeTime() );
break;
case 31:
SetReadOnly( pVariable, !envInfo.IsEnableSplashDrop() );
pVariable->SetVariable( envInfo.GetSplashDropRadius() );
break;
case 32:
SetReadOnly( pVariable, !envInfo.IsEnableSplashDrop() );
pVariable->SetVariable( envInfo.GetSplashDropCount() );
break;
case 33:
SetReadOnly( pVariable, !envInfo.IsEnableWeather() );
pVariable->SetVariable( envInfo.GetWeatherLayerCount() );
break;
case 34:
SetReadOnly( pVariable, !envInfo.IsEnableWeather() );
pVariable->SetVariable( envInfo.GetWeatherLayerDecreaseRate() );
break;
case 35:
SetReadOnly( pVariable, !envInfo.IsEnableWeather() );
pVariable->SetVariable( *envInfo.GetWeatherLayerDir() );
break;
case 36:
pVariable->SetVariable( envInfo.IsEnableHeatHaze() );
break;
case 37:
SetReadOnly( pVariable, !envInfo.IsEnableHeatHaze() );
pVariable->SetVariable( envInfo.GetHeatHazeDistortionPower() );
break;
case 38:
SetReadOnly( pVariable, !envInfo.IsEnableHeatHaze() );
pVariable->SetVariable( envInfo.GetHeatHazeWaveSpeed() );
break;
case 39:
pVariable->SetVariable( envInfo.IsEnableDOF() );
break;
case 40:
SetReadOnly( pVariable, !envInfo.IsEnableDOF() );
pVariable->SetVariable( envInfo.GetDOFFocusDistance() );
break;
case 41:
SetReadOnly( pVariable, !envInfo.IsEnableDOF() );
pVariable->SetVariable( envInfo.GetDOFNearStart() );
break;
case 42:
SetReadOnly( pVariable, !envInfo.IsEnableDOF() );
pVariable->SetVariable( envInfo.GetDOFNearEnd() );
break;
case 43:
SetReadOnly( pVariable, !envInfo.IsEnableDOF() );
pVariable->SetVariable( envInfo.GetDOFFarStart() );
break;
case 44:
SetReadOnly( pVariable, !envInfo.IsEnableDOF() );
pVariable->SetVariable( envInfo.GetDOFFarEnd() );
break;
case 45:
SetReadOnly( pVariable, !envInfo.IsEnableDOF() );
pVariable->SetVariable( envInfo.GetDOFNearBlur() );
break;
case 46:
SetReadOnly( pVariable, !envInfo.IsEnableDOF() );
pVariable->SetVariable( envInfo.GetDOFFarBlur() );
break;
case 47:
pVariable->SetVariable( envInfo.IsEnableSnow() );
break;
case 48:
SetReadOnly( pVariable, !envInfo.IsEnableSnow() );
pVariable->SetVariable( (CHAR*)envInfo.GetSnowTexture() );
break;
case 49:
SetReadOnly( pVariable, !envInfo.IsEnableSnow() );
pVariable->SetVariable( envInfo.GetSnowCount() );
break;
case 50:
SetReadOnly( pVariable, !envInfo.IsEnableSnow() );
pVariable->SetVariable( envInfo.GetSnowTimeOut() );
break;
case 51:
SetReadOnly( pVariable, !envInfo.IsEnableSnow() );
pVariable->SetVariable( envInfo.GetSnowHeight() );
break;
case 52:
SetReadOnly( pVariable, !envInfo.IsEnableSnow() );
pVariable->SetVariable( envInfo.GetIsUp() );
break;
case 53:
SetReadOnly( pVariable, !envInfo.IsEnableSnow() );
pVariable->SetVariable( envInfo.GetSnowSize() );
break;
case 54:
SetReadOnly( pVariable, !envInfo.IsEnableSnow() );
pVariable->SetVariable( envInfo.GetSnowAniSpeed() );
break;
case 55:
pVariable->SetVariable( (char*)envInfo.GetEnvironmentEffect() );
break;
}
if( strcmp( envInfo.GetName(), "Edit Set" ) == NULL ) {
SetReadOnly( pVariable, true );
}
}
void CEnviBasePaneView::OnChangeValue( CUnionValueProperty *pVariable, DWORD dwIndex )
{
CEnviElement *pElement = CEnviControl::GetInstance().GetActiveElement();
CEnvInfo& envInfo = pElement->GetInfo();
switch( dwIndex ) {
case 0:
{
char szTemp[256] = { 0, };
CString szStr = pVariable->GetVariableString();
if( !szStr.IsEmpty() )
_GetFullFileName( szTemp, _countof(szTemp), pVariable->GetVariableString() );
envInfo.SetSkyBox( szTemp );
if( !szStr.IsEmpty() ) {
CEnviPaneView *pParent = (CEnviPaneView *)GetParent()->GetParent();
pParent->CopyAccompanimentFile( pVariable->GetVariableString() );
}
pVariable->SetVariable( szTemp );
UpdateItem();
}
break;
case 1:
envInfo.SetAmbient( pVariable->GetVariableInt() );
break;
case 2:
envInfo.SetFogColor( pVariable->GetVariableInt() );
break;
case 3:
envInfo.SetFogNear( pVariable->GetVariableFloat() );
break;
case 4:
envInfo.SetFogFar( pVariable->GetVariableFloat() );
break;
case 5:
{
char szTemp[256] = { 0, };
CString szStr = pVariable->GetVariableString();
if( !szStr.IsEmpty() )
_GetFullFileName( szTemp, _countof(szTemp), pVariable->GetVariableString() );
envInfo.SetEnvironmentTexture( szTemp );
if( !szStr.IsEmpty() ) {
CEnviPaneView *pParent = (CEnviPaneView *)GetParent()->GetParent();
pParent->CopyAccompanimentFile( pVariable->GetVariableString() );
}
pVariable->SetVariable( szTemp );
UpdateItem();
}
break;
case 6:
envInfo.EnableColorFilter( pVariable->GetVariableBool() );
SetReadOnly( 7, !envInfo.IsEnableColorFilter() );
SetReadOnly( 8, !envInfo.IsEnableColorFilter() );
SetReadOnly( 9, !envInfo.IsEnableColorFilter() );
SetReadOnly( 10, !envInfo.IsEnableColorFilter() );
SetReadOnly( 11, !envInfo.IsEnableColorFilter() );
SetReadOnly( 12, !envInfo.IsEnableColorFilter() );
SetReadOnly( 13, !envInfo.IsEnableColorFilter() );
SetReadOnly( 14, !envInfo.IsEnableColorFilter() );
SetReadOnly( 15, !envInfo.IsEnableColorFilter() );
SetReadOnly( 16, !envInfo.IsEnableColorFilter() );
break;
case 7:
case 8:
case 9:
{
EtVector4 vTemp = *envInfo.GetColorAdjShadow();
if( dwIndex == 7 ) vTemp.x = pVariable->GetVariableFloat();
if( dwIndex == 8 ) vTemp.y = pVariable->GetVariableFloat();
if( dwIndex == 9 ) vTemp.z = pVariable->GetVariableFloat();
envInfo.SetColorAdjShadow( vTemp );
}
break;
case 10:
case 11:
case 12:
{
EtVector4 vTemp = *envInfo.GetColorAdjMidtones();
if( dwIndex == 10 ) vTemp.x = pVariable->GetVariableFloat();
if( dwIndex == 11 ) vTemp.y = pVariable->GetVariableFloat();
if( dwIndex == 12 ) vTemp.z = pVariable->GetVariableFloat();
envInfo.SetColorAdjMidtones( vTemp );
}
break;
case 13:
case 14:
case 15:
{
EtVector4 vTemp = *envInfo.GetColorAdjHighlights();
if( dwIndex == 13 ) vTemp.x = pVariable->GetVariableFloat();
if( dwIndex == 14 ) vTemp.y = pVariable->GetVariableFloat();
if( dwIndex == 15 ) vTemp.z = pVariable->GetVariableFloat();
envInfo.SetColorAdjHighlights( vTemp );
}
break;
case 16:
envInfo.SetColorAdjSaturation( pVariable->GetVariableFloat() );
break;
case 17:
envInfo.EnableBloomFilter( pVariable->GetVariableBool() );
SetReadOnly( 18, !envInfo.IsEnableBloomFilter() );
SetReadOnly( 19, !envInfo.IsEnableBloomFilter() );
break;
case 18:
envInfo.SetBloomScale( pVariable->GetVariableFloat() );
break;
case 19:
envInfo.SetBloomSensitivity( pVariable->GetVariableFloat() );
break;
case 20:
envInfo.SetLightmapBlurSize( pVariable->GetVariableInt() );
break;
case 21:
{
char szTemp[256] = { 0, };
CString szStr = pVariable->GetVariableString();
if( !szStr.IsEmpty() )
_GetFullFileName( szTemp, _countof(szTemp), pVariable->GetVariableString() );
envInfo.SetEnviBGM( szTemp );
pVariable->SetVariable( szTemp );
UpdateItem();
}
break;
case 22:
envInfo.SetEnviBGMRatio( pVariable->GetVariableFloat() );
CRenderBase::GetInstance().InitializeEnviBGM( pElement, false );
return;
case 23:
envInfo.EnableWeather( pVariable->GetVariableBool() );
SetReadOnly( 24, !envInfo.IsEnableWeather() );
SetReadOnly( 25, !envInfo.IsEnableWeather() );
SetReadOnly( 26, !envInfo.IsEnableWeather() );
SetReadOnly( 33, !envInfo.IsEnableWeather() );
SetReadOnly( 34, !envInfo.IsEnableWeather() );
SetReadOnly( 35, !envInfo.IsEnableWeather() );
break;
case 24:
{
char szTemp[256] = { 0, };
CString szStr = pVariable->GetVariableString();
if( !szStr.IsEmpty() )
_GetFullFileName( szTemp, _countof(szTemp), pVariable->GetVariableString() );
envInfo.SetWeatherTexture( szTemp );
if( !szStr.IsEmpty() ) {
CEnviPaneView *pParent = (CEnviPaneView *)GetParent()->GetParent();
pParent->CopyAccompanimentFile( pVariable->GetVariableString() );
}
pVariable->SetVariable( szTemp );
UpdateItem();
}
break;
case 25:
envInfo.SetWeatherSpeed( pVariable->GetVariableFloat() );
break;
case 26:
envInfo.SetWeatherStretch( pVariable->GetVariableFloat() );
break;
case 27:
envInfo.EnableSplashDrop( pVariable->GetVariableBool() );
SetReadOnly( 28, !envInfo.IsEnableSplashDrop() );
SetReadOnly( 29, !envInfo.IsEnableSplashDrop() );
SetReadOnly( 30, !envInfo.IsEnableSplashDrop() );
SetReadOnly( 31, !envInfo.IsEnableSplashDrop() );
SetReadOnly( 32, !envInfo.IsEnableSplashDrop() );
break;
case 28:
{
char szTemp[256] = { 0, };
CString szStr = pVariable->GetVariableString();
if( !szStr.IsEmpty() )
_GetFullFileName( szTemp, _countof(szTemp), pVariable->GetVariableString() );
envInfo.SetSplashDropTexture( szTemp );
if( !szStr.IsEmpty() ) {
CEnviPaneView *pParent = (CEnviPaneView *)GetParent()->GetParent();
pParent->CopyAccompanimentFile( pVariable->GetVariableString() );
}
pVariable->SetVariable( szTemp );
UpdateItem();
}
break;
case 29:
envInfo.SetSplashDropSize( pVariable->GetVariableFloat() );
break;
case 30:
envInfo.SetSplashDropLifeTime( pVariable->GetVariableFloat() );
break;
case 31:
envInfo.SetSplashDropRadius( pVariable->GetVariableInt() );
break;
case 32:
envInfo.SetSplashDropCount( pVariable->GetVariableInt() );
break;
case 33:
envInfo.SetWeatherLayerCount( pVariable->GetVariableInt() );
break;
case 34:
envInfo.SetWeatherLayerDecreaseRate( pVariable->GetVariableFloat() );
break;
case 35:
envInfo.SetWeatherLayerDir( pVariable->GetVariableVector3() );
break;
case 36:
envInfo.EnableHeatHaze( pVariable->GetVariableBool() );
SetReadOnly( 37, !envInfo.IsEnableHeatHaze() );
SetReadOnly( 38, !envInfo.IsEnableHeatHaze() );
break;
case 37:
envInfo.SetHeatHazeDistortionPower( pVariable->GetVariableFloat() );
break;
case 38:
envInfo.SetHeatHazeWaveSpeed( pVariable->GetVariableFloat() );
break;
case 39:
envInfo.EnableDOF( pVariable->GetVariableBool() );
SetReadOnly( 40, !envInfo.IsEnableDOF() );
SetReadOnly( 41, !envInfo.IsEnableDOF() );
SetReadOnly( 42, !envInfo.IsEnableDOF() );
SetReadOnly( 43, !envInfo.IsEnableDOF() );
SetReadOnly( 44, !envInfo.IsEnableDOF() );
SetReadOnly( 45, !envInfo.IsEnableDOF() );
SetReadOnly( 46, !envInfo.IsEnableDOF() );
break;
case 40:
envInfo.SetDOFFocusDistance( pVariable->GetVariableFloat() );
break;
case 41:
envInfo.SetDOFNearStart( pVariable->GetVariableFloat() );
break;
case 42:
envInfo.SetDOFNearEnd( pVariable->GetVariableFloat() );
break;
case 43:
envInfo.SetDOFFarStart( pVariable->GetVariableFloat() );
break;
case 44:
envInfo.SetDOFFarEnd( pVariable->GetVariableFloat() );
break;
case 45:
envInfo.SetDOFNearBlur( pVariable->GetVariableFloat() );
break;
case 46:
envInfo.SetDOFFarBlur( pVariable->GetVariableFloat() );
break;
case 47:
envInfo.EnableSnow( pVariable->GetVariableBool() );
SetReadOnly( 48, !envInfo.IsEnableSnow() );
SetReadOnly( 49, !envInfo.IsEnableSnow() );
SetReadOnly( 50, !envInfo.IsEnableSnow() );
SetReadOnly( 51, !envInfo.IsEnableSnow() );
SetReadOnly( 52, !envInfo.IsEnableSnow() );
SetReadOnly( 53, !envInfo.IsEnableSnow() );
SetReadOnly( 54, !envInfo.IsEnableSnow() );
break;
case 48:
{
char szTemp[256] = { 0, };
CString szStr = pVariable->GetVariableString();
if( !szStr.IsEmpty() )
_GetFullFileName( szTemp, _countof(szTemp), pVariable->GetVariableString() );
envInfo.SetSnowTexture( szTemp );
if( !szStr.IsEmpty() ) {
CEnviPaneView *pParent = (CEnviPaneView *)GetParent()->GetParent();
pParent->CopyAccompanimentFile( pVariable->GetVariableString() );
}
pVariable->SetVariable( szTemp );
UpdateItem();
}
break;
case 49:
envInfo.SetSnowCount( pVariable->GetVariableInt() );
break;
case 50:
envInfo.SetSnowTimeOut( pVariable->GetVariableInt() );
break;
case 51:
envInfo.SetSnowHeight( pVariable->GetVariableFloat() );
break;
case 52:
envInfo.SetIsUp(pVariable->GetVariableBool());
break;
case 53:
envInfo.SetSnowSize(pVariable->GetVariableFloat());
break;
case 54:
envInfo.SetSnowAniSpeed(pVariable->GetVariableFloat());
break;
case 55:
{
char szTemp[256] = { 0, };
CString szStr = pVariable->GetVariableString();
if( !szStr.IsEmpty() )
_GetFullFileName( szTemp, _countof(szTemp), pVariable->GetVariableString() );
envInfo.SetEnvironmentEffect( szTemp );
pVariable->SetVariable( szTemp );
UpdateItem();
}
break;
}
CEnviControl::GetInstance().ActivateElement( envInfo.GetName() );
}
LRESULT CEnviBasePaneView::OnSoundPaneDropMoveItem( WPARAM wParam, LPARAM lParam )
{
return S_OK;
}
LRESULT CEnviBasePaneView::OnSoundPaneDropItem( WPARAM wParam, LPARAM lParam )
{
return S_OK;
}