Files
firestorm/Gameleap/code/mw4/Tools/TCTb/CamInfoTab.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

124 lines
2.7 KiB
C++

// CamInfoTab.cpp : implementation file
//
#include "stdafx.h"
#include "TCTb.h"
#include "CamInfoTab.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCamInfoTab property page
IMPLEMENT_DYNCREATE(CCamInfoTab, CPropertyPage)
CCamInfoTab::CCamInfoTab() : CCamInfoPage(CCamInfoTab::IDD)
{
//{{AFX_DATA_INIT(CCamInfoTab)
m_CamLocX = 0.0f;
m_CamLocY = 0.0f;
m_CamLocZ = 0.0f;
m_CamTrkAlt = 0.0f;
//}}AFX_DATA_INIT
}
CCamInfoTab::~CCamInfoTab()
{
}
void CCamInfoTab::DoDataExchange(CDataExchange* pDX)
{
CCamInfoPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCamInfoTab)
DDX_Control(pDX, IDC_CAMTALT, m_CTAlt);
DDX_Text(pDX, IDC_CAMLOCX, m_CamLocX);
DDX_Text(pDX, IDC_CAMLOCY, m_CamLocY);
DDX_Text(pDX, IDC_CAMLOCZ, m_CamLocZ);
DDX_Text(pDX, IDC_CAMTALT, m_CamTrkAlt);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCamInfoTab, CCamInfoPage)
//{{AFX_MSG_MAP(CCamInfoTab)
ON_EN_CHANGE(IDC_CAMLOCX, OnChangeCamlocx)
ON_EN_CHANGE(IDC_CAMLOCY, OnChangeCamlocy)
ON_EN_CHANGE(IDC_CAMLOCZ, OnChangeCamlocz)
ON_BN_CLICKED(IDC_CLOCTT, OnCloctt)
ON_BN_CLICKED(IDC_FREE, OnFree)
ON_BN_CLICKED(IDC_TRACK, OnTrack)
ON_EN_CHANGE(IDC_CAMTALT, OnChangeCamtalt)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCamInfoTab message handlers
void CCamInfoTab::DataIn()
{
m_CamLocX=CamInfo->Loc.x;
m_CamLocY=CamInfo->Loc.y;
m_CamLocZ=CamInfo->Loc.z;
m_CamTrkAlt=CamInfo->CamTrackAlt;
CheckDlgButton(IDC_CLOCTT,CamInfo->CamATrkFlg);
}
void CCamInfoTab::DataOut()
{
CamInfo->Loc.x=m_CamLocX;
CamInfo->Loc.y=m_CamLocY;
CamInfo->Loc.z=m_CamLocZ;
CamInfo->CamTrackAlt=m_CamTrkAlt;
}
void CCamInfoTab::UpdateControlStates()
{
m_CTAlt.EnableWindow(IsDlgButtonChecked(IDC_CLOCTT));
CheckRadioButton(IDC_FREE,IDC_TRACK,CamInfo->GetMode()==CameraInfo::CM_TRACK?IDC_TRACK:IDC_FREE);
}
void CCamInfoTab::OnChangeCamlocx()
{
DelayedValidate();
CamInfo->SetMode(CameraInfo::CM_FREE);
}
void CCamInfoTab::OnChangeCamlocy()
{
DelayedValidate();
CamInfo->CamATrkFlg=false;
CheckDlgButton(IDC_CLOCTT,FALSE);
UpdateControlStates();
}
void CCamInfoTab::OnChangeCamlocz()
{
DelayedValidate();
CamInfo->SetMode(CameraInfo::CM_FREE);
}
void CCamInfoTab::OnCloctt()
{
UpdateControlStates();
CamInfo->CamATrkFlg=IsDlgButtonChecked(IDC_CLOCTT)?true:false;
}
void CCamInfoTab::OnFree()
{
CamInfo->SetMode(CameraInfo::CM_FREE);
}
void CCamInfoTab::OnTrack()
{
CamInfo->SetMode(CameraInfo::CM_TRACK);
}
void CCamInfoTab::OnChangeCamtalt()
{
DelayedValidate();
}