Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
172 lines
4.6 KiB
C++
172 lines
4.6 KiB
C++
// DlgLightLoad.cpp : implementation file
|
||
//
|
||
|
||
#include "stdafx.h"
|
||
#include "worldcreator.h"
|
||
#include "DlgLightLoad.h"
|
||
#include "SceneManager.h"
|
||
#include ".\dlglightload.h"
|
||
|
||
#ifdef _DEBUG
|
||
#define new DEBUG_NEW
|
||
#undef THIS_FILE
|
||
static char THIS_FILE[] = __FILE__;
|
||
#endif
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// CDlgLightLoad dialog
|
||
|
||
|
||
CDlgLightLoad::CDlgLightLoad(CWnd* pParent /*=NULL*/)
|
||
: CDialog(CDlgLightLoad::IDD, pParent)
|
||
{
|
||
//{{AFX_DATA_INIT(CDlgLightLoad)
|
||
m_bObjectName = FALSE;
|
||
m_strLightname = _T("");
|
||
m_fLightRange = 0.0f;
|
||
m_bExtLight = TRUE;
|
||
m_iLightSamples = 10;
|
||
m_iShadowSamples = 10;
|
||
m_ShadowFactors = 0.995f;
|
||
m_iAmbient = 16;
|
||
m_strEffect = _T("");
|
||
m_fExpose = 0.01f;
|
||
//}}AFX_DATA_INIT
|
||
m_cLightColor=0xffffffff;
|
||
m_bEditMode=false;
|
||
}
|
||
|
||
|
||
void CDlgLightLoad::DoDataExchange(CDataExchange* pDX)
|
||
{
|
||
CDialog::DoDataExchange(pDX);
|
||
//{{AFX_DATA_MAP(CDlgLightLoad)
|
||
DDX_Control(pDX, IDC_CRL_LIGHTCOLOR, m_LightColor);
|
||
DDX_Check(pDX, IDC_CHECK_OBJECTFILENAME, m_bObjectName);
|
||
DDX_Text(pDX, IDC_EDIT_LIGHTNAME, m_strLightname);
|
||
DDX_Text(pDX, IDC_EDIT_LIGHTRANGE, m_fLightRange);
|
||
DDX_Check(pDX, IDC_CHECKEXT, m_bExtLight);
|
||
DDX_Text(pDX, IDC_LIGHTSAMPLES, m_iLightSamples);
|
||
DDX_Text(pDX, IDC_SHADOWSAMPLES, m_iShadowSamples);
|
||
DDX_Text(pDX, IDC_SHADOWFACTOR, m_ShadowFactors);
|
||
DDX_Text(pDX, IDC_AMBIENT, m_iAmbient);
|
||
DDX_Text(pDX, IDC_EDIT1, m_strEffect);
|
||
DDX_Text(pDX, IDC_EXPOSE, m_fExpose);
|
||
//}}AFX_DATA_MAP
|
||
DDX_ColourPicker(pDX, IDC_CRL_LIGHTCOLOR, m_cLightColor);
|
||
}
|
||
|
||
|
||
BEGIN_MESSAGE_MAP(CDlgLightLoad, CDialog)
|
||
//{{AFX_MSG_MAP(CDlgLightLoad)
|
||
ON_BN_CLICKED(IDC_CHECK_OBJECTFILENAME, OnCheckObjectfilename)
|
||
ON_BN_CLICKED(IDC_CHECKEXT, OnCheckext)
|
||
ON_BN_CLICKED(IDC_ESFBUTTON, OnEsfbutton)
|
||
//}}AFX_MSG_MAP
|
||
ON_EN_CHANGE(IDC_LIGHTSAMPLES, OnEnChangeLightsamples)
|
||
END_MESSAGE_MAP()
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// CDlgLightLoad message handlers
|
||
|
||
void CDlgLightLoad::OnCheckObjectfilename()
|
||
{
|
||
// TODO: Add your control notification handler code here
|
||
UpdateData();
|
||
CWnd* forrename=GetDlgItem(IDC_CHECK_OBJECTFILENAME);
|
||
if(m_bObjectName)
|
||
{
|
||
CString strFilter = R3SFILE;
|
||
CFileDialog filedia(TRUE,LIGHTOBJECTPATH,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,strFilter,this);
|
||
filedia.m_ofn.lpstrInitialDir=LIGHTOBJECTPATH;
|
||
filedia.DoModal();
|
||
CString filename=filedia.GetFileName();
|
||
if(filename!="")
|
||
{
|
||
forrename->SetWindowText(filename.LockBuffer());
|
||
m_strObjectFilename=filename;
|
||
}
|
||
else
|
||
{
|
||
m_bObjectName=FALSE;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
forrename->SetWindowText("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||
}
|
||
UpdateData(FALSE);
|
||
}
|
||
|
||
void CDlgLightLoad::OnOK()
|
||
{
|
||
// TODO: Add extra validation here
|
||
UpdateData(TRUE);
|
||
if(m_bExtLight == FALSE)
|
||
{
|
||
if(m_bEditMode)
|
||
{
|
||
if(m_fLightRange==0.0f)
|
||
AfxMessageBox("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0.0m <20>Դϴ<D4B4>.");
|
||
else
|
||
{
|
||
vector3 vecAddLightPos=CSceneManager::m_pBspScene->m_HouseObject->m_pBspObject->m_EditLightList[CSceneManager::m_pBspScene->m_HouseObject->m_pBspObject->m_SelectLight].m_vecLightPos;
|
||
CSceneManager::m_pBspScene->m_HouseObject->m_pBspObject->DeleteLight();
|
||
color AddColor;
|
||
AddColor.a=0xff;
|
||
AddColor.r=GetRValue(m_cLightColor);
|
||
AddColor.g=GetGValue(m_cLightColor);
|
||
AddColor.b=GetBValue(m_cLightColor);
|
||
CSceneManager::m_pBspScene->m_HouseObject->m_pBspObject->AddLight(vecAddLightPos,m_fLightRange,AddColor);
|
||
CSceneManager::m_pBspScene->m_HouseObject->m_pBspObject->m_SelectLight=CSceneManager::m_pBspScene->m_HouseObject->m_pBspObject->m_EditLightList.num-1;
|
||
}
|
||
return;
|
||
}
|
||
if(m_strObjectFilename=="")
|
||
{
|
||
AfxMessageBox("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>");
|
||
return;
|
||
}
|
||
if(m_fLightRange==0.0f)
|
||
{
|
||
AfxMessageBox("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0.0m <20>Դϴ<D4B4>.");
|
||
return;
|
||
}
|
||
if(m_strLightname=="")
|
||
{
|
||
m_strLightname=m_strObjectFilename;
|
||
}
|
||
}
|
||
CDialog::OnOK();
|
||
}
|
||
|
||
void CDlgLightLoad::OnCheckext()
|
||
{
|
||
// TODO: Add your control notification handler code here
|
||
m_bExtLight = (m_bExtLight == TRUE) ? FALSE : TRUE;
|
||
UpdateData(FALSE);
|
||
|
||
}
|
||
|
||
void CDlgLightLoad::OnEsfbutton()
|
||
{
|
||
// TODO: Add your control notification handler code here
|
||
char str[] = "Esf <20><><EFBFBD><EFBFBD>(*.Esf) |*.Esf| <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(*.*)|*.*||";
|
||
CString strFilter = str;
|
||
|
||
CFileDialog filedia(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,strFilter,this);
|
||
filedia.DoModal();
|
||
m_strEffect = filedia.GetFileName();
|
||
UpdateData(FALSE);
|
||
}
|
||
|
||
void CDlgLightLoad::OnEnChangeLightsamples()
|
||
{
|
||
// TODO: RICHEDIT <20><>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD>
|
||
// CDialog::<3A><><EFBFBD><EFBFBD>ũ<EFBFBD><C5A9> OR <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ENM_CHANGE <20>÷<EFBFBD><C3B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD>
|
||
// CRichEditCtrl().SetEventMask()<29><> ȣ<><C8A3><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD> OnInitDialog() <20>Լ<EFBFBD><D4BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
// <20><> <20>˸<EFBFBD><CBB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʽ<EFBFBD><CABD>ϴ<EFBFBD>.
|
||
|
||
// TODO: <20><><EFBFBD> <20><>Ʈ<EFBFBD><C6AE> <20>˸<EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> <20>ڵ带 <20>߰<EFBFBD><DFB0>մϴ<D5B4>.
|
||
}
|