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

218 lines
5.4 KiB
C++

// CamState.cpp : implementation file
//
#include "stdafx.h"
#include "TCTb.h"
#include "CamState.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCamState property page
IMPLEMENT_DYNCREATE(CCamState, CPropertyPage)
CCamState::CCamState() : CCamInfoPage(CCamState::IDD)
{
//{{AFX_DATA_INIT(CCamState)
m_AMode = -1;
m_WFMode = -1;
m_FilterMode = -1;
//}}AFX_DATA_INIT
}
CCamState::~CCamState()
{
}
void CCamState::DoDataExchange(CDataExchange* pDX)
{
CCamInfoPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCamState)
DDX_CBIndex(pDX, IDC_AMODE, m_AMode);
DDX_CBIndex(pDX, IDC_WIREFRAME, m_WFMode);
DDX_CBIndex(pDX, IDC_FILTERMODE, m_FilterMode);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCamState, CCamInfoPage)
//{{AFX_MSG_MAP(CCamState)
ON_BN_CLICKED(IDC_BACKFACE, OnBackface)
ON_BN_CLICKED(IDC_DITHERING, OnDithering)
ON_BN_CLICKED(IDC_ZBCOMPARE, OnZbcompare)
ON_BN_CLICKED(IDC_ZBWRITE, OnZbwrite)
ON_BN_CLICKED(IDC_TEXTURES, OnTextures)
ON_BN_CLICKED(IDC_PCORRECT, OnPcorrect)
ON_BN_CLICKED(IDC_FOG, OnFog)
ON_CBN_DROPDOWN(IDC_AMODE, OnDropdownAmode)
ON_CBN_CLOSEUP(IDC_AMODE, OnCloseupAmode)
ON_CBN_CLOSEUP(IDC_WIREFRAME, OnCloseupWireframe)
ON_CBN_DROPDOWN(IDC_WIREFRAME, OnDropdownWireframe)
ON_CBN_CLOSEUP(IDC_FILTERMODE, OnCloseupFiltermode)
ON_CBN_DROPDOWN(IDC_FILTERMODE, OnDropdownFiltermode)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCamState message handlers
void CCamState::DataIn()
{
switch(CamInfo->State.GetAlphaMode())
{
case StateChange::OneZeroMode: m_AMode=0; break;
case StateChange::OneOneMode: m_AMode=1; break;
case StateChange::AlphaOneMode : m_AMode=2; break;
case StateChange::OneAlphaMode : m_AMode=3; break;
case StateChange::AlphaInvAlphaMode:m_AMode=4; break;
}
switch(CamInfo->State.GetFilterMode())
{
case StateChange::PointSampleMode: m_FilterMode=0; break;
case StateChange::BilinearMode: m_FilterMode=1; break;
case StateChange::TrilinearMode: m_FilterMode=2; break;
}
switch(CamInfo->State.GetWireFrameMode())
{
case StateChange::WireMode : m_WFMode=0; break;
case StateChange::SolidAndWireMode: m_WFMode=1; break;
case StateChange::SolidMode : m_WFMode=2; break;
}
CheckDlgButton(IDC_ZBCOMPARE,CamInfo->State.IsZBufferCompareEnabled()?TRUE:FALSE);
CheckDlgButton(IDC_ZBWRITE,CamInfo->State.IsZBufferWriteEnabled()?TRUE:FALSE);
CheckDlgButton(IDC_BACKFACE,CamInfo->State.IsBackfaceCullingEnabled()?TRUE:FALSE);
CheckDlgButton(IDC_DITHERING,CamInfo->State.IsDitheringEnabled()?TRUE:FALSE);
//CheckDlgButton(IDC_FOG,CamInfo->State.IsFogEnabled()?TRUE:FALSE);
CheckDlgButton(IDC_PCORRECT,CamInfo->State.IsPerspectiveCorrectionEnabled()?TRUE:FALSE);
CheckDlgButton(IDC_TEXTURES,1?TRUE:FALSE);
}
void CCamState::DataOut()
{
}
void CCamState::UpdateControlStates()
{
}
void CCamState::OnBackface()
{
if (IsDlgButtonChecked(IDC_BACKFACE))
CamInfo->State.EnableBackfaceCulling();
else
CamInfo->State.DisableBackfaceCulling();
}
void CCamState::OnDithering()
{
if (IsDlgButtonChecked(IDC_DITHERING))
CamInfo->State.EnableDithering();
else
CamInfo->State.DisableDithering();
}
void CCamState::OnZbcompare()
{
if (IsDlgButtonChecked(IDC_ZBCOMPARE))
CamInfo->State.EnableZBufferCompare();
else
CamInfo->State.DisableZBufferCompare();
}
void CCamState::OnZbwrite()
{
if (IsDlgButtonChecked(IDC_ZBWRITE))
CamInfo->State.EnableZBufferWrite();
else
CamInfo->State.DisableZBufferWrite();
}
void CCamState::OnTextures()
{
}
void CCamState::OnPcorrect()
{
if (IsDlgButtonChecked(IDC_PCORRECT))
CamInfo->State.EnablePerspectiveCorrection();
else
CamInfo->State.DisablePerspectiveCorrection();
}
void CCamState::OnFog()
{
/*
if (IsDlgButtonChecked(IDC_FOG))
CamInfo->State.EnableFog();
else
CamInfo->State.DisableFog();
*/
}
void CCamState::OnDropdownFiltermode() { SetUpdate(false); }
void CCamState::OnDropdownAmode() {SetUpdate(false);}
void CCamState::OnDropdownWireframe() { SetUpdate(false); }
void CCamState::OnCloseupAmode()
{
UpdateData(TRUE);
switch(m_AMode)
{
case 0: CamInfo->State.SetAlphaMode(StateChange::OneZeroMode); break;
case 1: CamInfo->State.SetAlphaMode(StateChange::OneOneMode); break;
case 2: CamInfo->State.SetAlphaMode(StateChange::AlphaOneMode); break;
case 3: CamInfo->State.SetAlphaMode(StateChange::OneAlphaMode); break;
case 4: CamInfo->State.SetAlphaMode(StateChange::AlphaInvAlphaMode); break;
}
SetUpdate(true);
}
void CCamState::OnCloseupWireframe()
{
UpdateData(TRUE);
switch(m_WFMode)
{
case 0: CamInfo->State.SetWireFrameMode(StateChange::WireMode); break;
case 1: CamInfo->State.SetWireFrameMode(StateChange::SolidAndWireMode); break;
case 2: CamInfo->State.SetWireFrameMode(StateChange::SolidMode); break;
}
SetUpdate(true);
}
void CCamState::OnCloseupFiltermode()
{
UpdateData(TRUE);
switch(m_FilterMode)
{
case 0: CamInfo->State.SetFilterMode(StateChange::PointSampleMode); break;
case 1: CamInfo->State.SetFilterMode(StateChange::BilinearMode); break;
case 2: CamInfo->State.SetFilterMode(StateChange::TrilinearMode); break;
}
SetUpdate(true);
}