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.
95 lines
1.8 KiB
C++
95 lines
1.8 KiB
C++
// FloatPanel.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "pixelwhippro.h"
|
|
#include "FloatPanel.h"
|
|
#include "CurveSet.h"
|
|
|
|
|
|
extern CPixelWhipProApp theApp;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CFloatPanel dialog
|
|
|
|
|
|
CFloatPanel::CFloatPanel(CWnd* pParent /*=NULL*/)
|
|
: CDynaPanel(CFloatPanel::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CFloatPanel)
|
|
m_FloatVal = 0;
|
|
//}}AFX_DATA_INIT
|
|
NeedUpdate=false;
|
|
}
|
|
|
|
|
|
void CFloatPanel::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDynaPanel::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CFloatPanel)
|
|
DDX_Text(pDX, IDC_FLOATNUM, m_FloatVal);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CFloatPanel, CDynaPanel)
|
|
//{{AFX_MSG_MAP(CFloatPanel)
|
|
ON_EN_CHANGE(IDC_FLOATNUM, OnChangeFloat)
|
|
ON_WM_TIMER()
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CFloatPanel message handlers
|
|
|
|
void CFloatPanel::UpdateControl()
|
|
{
|
|
m_FloatVal=1/(*floatval);
|
|
UpdateData(FALSE);
|
|
}
|
|
|
|
void CFloatPanel::Set(void *pt)
|
|
{
|
|
floatval=(float *)pt;
|
|
}
|
|
|
|
|
|
void CFloatPanel::OnChangeFloat()
|
|
{
|
|
UpdateData(TRUE);
|
|
NeedUpdate=true;
|
|
SetTimer(1,1000,NULL);
|
|
}
|
|
|
|
BOOL CFloatPanel::OnInitDialog()
|
|
{
|
|
CDynaPanel::OnInitDialog();
|
|
UpdateControl();
|
|
// TODO: Add extra initialization here
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
void CFloatPanel::OnTimer(UINT nIDEvent)
|
|
{
|
|
// TODO: Add your message handler code here and/or call default
|
|
if(NeedUpdate)
|
|
{
|
|
theApp.StopEffects();
|
|
|
|
float OldValue=*floatval;
|
|
*floatval=1/(m_FloatVal);
|
|
|
|
if(!MyCSet->IsDataValid())
|
|
{
|
|
*floatval=m_FloatVal=OldValue;
|
|
UpdateData(FALSE);
|
|
}
|
|
|
|
NeedUpdate=false;
|
|
theApp.StartEffects();
|
|
}
|
|
CDynaPanel::OnTimer(nIDEvent);
|
|
}
|