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

130 lines
4.0 KiB
C++

// ProfilePanel.cpp : implementation file
//
#include "stdafx.h"
#include "pixelwhippro.h"
#include "ProfilePanel.h"
extern CPixelWhipProApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CProfilePanel dialog
CProfilePanel::CProfilePanel(CWnd* pParent /*=NULL*/)
: CDynaPanel(CProfilePanel::IDD, pParent)
{
//{{AFX_DATA_INIT(CProfilePanel)
m_PrfPan = -1;
//}}AFX_DATA_INIT
}
void CProfilePanel::DoDataExchange(CDataExchange* pDX)
{
CDynaPanel::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CProfilePanel)
DDX_CBIndex(pDX, IDC_PRF, m_PrfPan);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CProfilePanel, CDynaPanel)
//{{AFX_MSG_MAP(CProfilePanel)
ON_CBN_SELCHANGE(IDC_PRF, OnSelchangePrf)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CProfilePanel message handlers
void CProfilePanel::Set(void *dat)
{
gosFX::Effect::Specification *espec=(gosFX::Effect::Specification *)dat;
tspec=NULL;
bspec=NULL;
switch(espec->GetClassID())
{
case gosFX::TubeClassID:
tspec=(gosFX::Tube__Specification *)dat;
break;
case gosFX::BeamClassID:
bspec=(gosFX::Beam__Specification *)dat;
break;
}
if(tspec)
switch(tspec->m_profileType)
{
case gosFX::Tube__Specification::e_Ribbon : m_PrfPan=0; break;
case gosFX::Tube__Specification::e_VerticalRibbon : m_PrfPan=1; break;
case gosFX::Tube__Specification::e_Triangle: m_PrfPan=2; break;
case gosFX::Tube__Specification::e_Square: m_PrfPan=3; break;
case gosFX::Tube__Specification::e_Cross: m_PrfPan=4; break;
case gosFX::Tube__Specification::e_Pentagon: m_PrfPan=5; break;
case gosFX::Tube__Specification::e_Hexagon: m_PrfPan=6; break;
case gosFX::Tube__Specification::e_AlignedRibbon: m_PrfPan=7; break;
}
if(bspec)
switch(bspec->m_profileType)
{
case gosFX::Beam__Specification::e_Ribbon : m_PrfPan=0; break;
case gosFX::Beam__Specification::e_VerticalRibbon : m_PrfPan=1; break;
case gosFX::Beam__Specification::e_Triangle: m_PrfPan=2; break;
case gosFX::Beam__Specification::e_Square: m_PrfPan=3; break;
case gosFX::Beam__Specification::e_Cross: m_PrfPan=4; break;
case gosFX::Beam__Specification::e_Pentagon: m_PrfPan=5; break;
case gosFX::Beam__Specification::e_Hexagon: m_PrfPan=6; break;
case gosFX::Beam__Specification::e_AlignedRibbon: m_PrfPan=7; break;
}
}
void CProfilePanel::OnSelchangePrf()
{
UpdateData(TRUE);
theApp.StopEffects();
if(tspec)
{
switch(m_PrfPan)
{
case 0: tspec->m_profileType=gosFX::Tube__Specification::e_Ribbon ; break;
case 1: tspec->m_profileType=gosFX::Tube__Specification::e_VerticalRibbon ; break;
case 2: tspec->m_profileType=gosFX::Tube__Specification::e_Triangle; break;
case 3: tspec->m_profileType=gosFX::Tube__Specification::e_Square; break;
case 4: tspec->m_profileType=gosFX::Tube__Specification::e_Cross; break;
case 5: tspec->m_profileType=gosFX::Tube__Specification::e_Pentagon; break;
case 6: tspec->m_profileType=gosFX::Tube__Specification::e_Hexagon; break;
case 7: tspec->m_profileType=gosFX::Tube__Specification::e_AlignedRibbon; break;
}
tspec->BuildTemplate();
}
if(bspec)
{
switch(m_PrfPan)
{
case 0: bspec->m_profileType=gosFX::Beam__Specification::e_Ribbon ; break;
case 1: bspec->m_profileType=gosFX::Beam__Specification::e_VerticalRibbon ; break;
case 2: bspec->m_profileType=gosFX::Beam__Specification::e_Triangle; break;
case 3: bspec->m_profileType=gosFX::Beam__Specification::e_Square; break;
case 4: bspec->m_profileType=gosFX::Beam__Specification::e_Cross; break;
case 5: bspec->m_profileType=gosFX::Beam__Specification::e_Pentagon; break;
case 6: bspec->m_profileType=gosFX::Beam__Specification::e_Hexagon; break;
case 7: bspec->m_profileType=gosFX::Beam__Specification::e_AlignedRibbon; break;
}
bspec->BuildTemplate();
}
theApp.StartEffects();
}