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.
This commit is contained in:
Cyd
2026-06-24 21:28:16 -05:00
commit 2b8ca921cb
66341 changed files with 7923174 additions and 0 deletions
@@ -0,0 +1,129 @@
// GraphView.cpp : implementation file
//
#include "stdafx.h"
#include "AnimScript.h"
#include "GraphView.h"
#include "AnimScriptDoc.h"
#include <math.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CGraphView
IMPLEMENT_DYNCREATE(CGraphView, CScrollView)
CGraphView::CGraphView()
{
}
CGraphView::~CGraphView()
{
}
BEGIN_MESSAGE_MAP(CGraphView, CScrollView)
//{{AFX_MSG_MAP(CGraphView)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CGraphView drawing
CButton *pButton = NULL;
void CGraphView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
CRect rc;
GetClientRect(&rc);
CSize sizeTotal;
// TODO: calculate the total size of this view
sizeTotal.cx = rc.right;
sizeTotal.cy = rc.bottom;
//sizeTotal = this->GetTotalSize();
SetScrollSizes(MM_TEXT, sizeTotal);
}
void CGraphView::OnDraw(CDC* pDC)
{
CAnimScriptDoc* pDoc = (CAnimScriptDoc *)GetDocument();
CAnimNode *pNode = pDoc->m_pSelectedNode;
CSize sz = GetTotalSize();
CDC dcMemory;
dcMemory.CreateCompatibleDC(pDC);
pDC->BitBlt(0,0,sz.cx,sz.cy,&dcMemory,sz.cx,sz.cy,BLACKNESS);
bool hascurves = false;
if (pNode)
{
POSITION pos = pNode->m_mapParams.GetStartPosition();
while (pos)
{
CObject *pObj;
WORD iKey;
pNode->m_mapParams.GetNextAssoc(pos,iKey,pObj);
CParamNode *pParam = (CParamNode *)pObj;
switch (iKey)
{
case PARAM_STARTOVERLAPCURVE:
case PARAM_ENDOVERLAPCURVE:
{
// Draw the curve
CCurveTypeNode *pCurve = (CCurveTypeNode *)pParam;
float xMult = ((float)sz.cx)/100.0f;
float yMult = ((float)sz.cy)/2.0f;
if (pCurve->curveType>=0)
{
hascurves = true;
for (int x=0;x<100;x++)
{
double y = pCurve->Play(((double)x)/(double)100.0);
if ((y>0.0)&&(y<sz.cy))
pDC->SetPixel(x*xMult,sz.cy-y*yMult,RGB(255,255,0));
}
}
break;
}
default:
{
}
}
}
if (!hascurves)
{
for (int x=0;x<sz.cx;x++)
{
int y = (int)(50.0+50.0*sin(x/10.0));
if ((y>0)&&(y<sz.cy))
pDC->SetPixel(x,y,RGB(0,255,0));
}
}
}
}
/////////////////////////////////////////////////////////////////////////////
// CGraphView diagnostics
#ifdef _DEBUG
void CGraphView::AssertValid() const
{
CScrollView::AssertValid();
}
void CGraphView::Dump(CDumpContext& dc) const
{
CScrollView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CGraphView message handlers