Files
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

92 lines
2.1 KiB
C++

// TexturePanel.cpp : implementation file
//
#include "stdafx.h"
#include "pixelwhippro.h"
#include "TexturePanel.h"
#include "TextureBrowser.h"
extern CPixelWhipProApp theApp;
/////////////////////////////////////////////////////////////////////////////
// CTexturePanel dialog
CTexturePanel::CTexturePanel(CWnd* pParent /*=NULL*/)
: CDynaPanel(CTexturePanel::IDD, pParent)
{
//{{AFX_DATA_INIT(CTexturePanel)
m_TextureName = _T("");
//}}AFX_DATA_INIT
}
void CTexturePanel::DoDataExchange(CDataExchange* pDX)
{
CDynaPanel::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTexturePanel)
DDX_Text(pDX, IDC_TEXTURENAME, m_TextureName);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTexturePanel, CDynaPanel)
//{{AFX_MSG_MAP(CTexturePanel)
ON_BN_CLICKED(IDC_TEXTUREBROWSE, OnTexturebrowse)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTexturePanel message handlers
void CTexturePanel::Set(void *dat)
{
CurrentEffect=(gosFX::Effect *)dat;
if(CurrentEffect)
{
gosFX::Effect::Specification *spec=CurrentEffect->GetSpecification();
Check_Object(spec);
if(spec->m_state.GetTextureHandle()!=0)
{
m_TextureName=((*MidLevelRenderer::MLRTexturePool::Instance)[&spec->m_state])->GetTextureName();
}
else
{
m_TextureName="No Texture";
}
}
}
void CTexturePanel::OnTexturebrowse()
{
CTextureBrowser dlg;
if(dlg.DoModal()==IDOK)
{
m_TextureName=dlg.m_TextureName;
theApp.Modified=true;
if(CurrentEffect)
{
gosFX::Effect::Specification *spec=CurrentEffect->GetSpecification();
Check_Object(spec);
/*
int PState=spec->m_state.GetRenderPermissionMask();
PState=PState&(~(MidLevelRenderer::MLRState::TextureMask));
spec->m_state.SetRenderPermissionMask(PState);
*/
MidLevelRenderer::MLRTexture *tex=MidLevelRenderer::MLRTexturePool::Instance->Add((LPCSTR)m_TextureName);
spec->m_state.SetTextureHandle(tex->GetTextureHandle());
MidLevelRenderer::MLRTexturePool::Instance->LoadImages();
}
UpdateData(FALSE);
}
}