Files
firestorm/Gameleap/code/mw4/Code/MW4GameEd2/LightPanel.cpp
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

107 lines
2.2 KiB
C++

// LightPanel.cpp : implementation file
//
#include "stdafx.h"
#include "mw4gameed2.h"
#include "LightPanel.h"
#include "GUILight.h"
#include "refresher.h"
#include "ColorDlgProDlg.h"
/////////////////////////////////////////////////////////////////////////////
// CLightPanel dialog
CLightPanel::CLightPanel(GUILight *gobj,UndoCommand **cmd,CWnd* pParent)
: CPanelDlg(CLightPanel::IDD, pParent)
{
MyObj=gobj;
CmdLst=cmd;
OldIntensity=MyObj->GetIntensity();
OldColor=MyObj->GetColor();
ColDlg=NULL;
//{{AFX_DATA_INIT(CLightPanel)
m_Intensity = 0.0f;
//}}AFX_DATA_INIT
}
void CLightPanel::DoDataExchange(CDataExchange* pDX)
{
CPanelDlg::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CLightPanel)
DDX_Control(pDX, IDC_LIGHTCOLOR, m_ColBut);
DDX_Text(pDX, IDC_INTENSITY, m_Intensity);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CLightPanel, CPanelDlg)
//{{AFX_MSG_MAP(CLightPanel)
ON_BN_CLICKED(IDC_LIGHTCOLOR, OnLightcolor)
ON_EN_CHANGE(IDC_INTENSITY, OnChangeIntensity)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CLightPanel message handlers
void CLightPanel::OnOK()
{
UpdateData(TRUE);
MyObj->SetIntensity(m_Intensity);
MyObj->SetColor(m_ColBut.GetRGBColor());
}
void CLightPanel::OnCancel()
{
MyObj->SetIntensity(OldIntensity);
MyObj->SetColor(OldColor);
}
BOOL CLightPanel::OnInitDialog()
{
CPanelDlg::OnInitDialog();
// TODO: Add extra initialization here
m_ColBut.SetColor(MyObj->GetColor());
m_Intensity=MyObj->GetIntensity();
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CLightPanel::OnLightcolor()
{
ColDlg=new CColorDlgProDlg(&m_ColBut.Color,this);
if(ColDlg->DoModal()==IDOK)
{
m_ColBut.SetColor(ColDlg->m_Color);
}
UpdateGame();
delete ColDlg;
ColDlg=NULL;
}
void CLightPanel::UpdateGame()
{
UpdateData(TRUE);
MyObj->SetColor(m_ColBut.GetRGBColor());
MyObj->SetIntensity(OldIntensity);
Refresher::Instance->View3DRefresh();
}
void CLightPanel::OnChangeIntensity()
{
UpdateGame();
}