Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
144 lines
4.4 KiB
C++
144 lines
4.4 KiB
C++
// PageSectorMesh.cpp : implementation file
|
||
//
|
||
|
||
#include "stdafx.h"
|
||
#include "worldcreator.h"
|
||
#include "PageSectorMesh.h"
|
||
#include "SceneManager.h"
|
||
|
||
#ifdef _DEBUG
|
||
#define new DEBUG_NEW
|
||
#undef THIS_FILE
|
||
static char THIS_FILE[] = __FILE__;
|
||
#endif
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// CPageSectorMesh property page
|
||
|
||
IMPLEMENT_DYNCREATE(CPageSectorMesh, CPropertyPage)
|
||
|
||
CPageSectorMesh::CPageSectorMesh() : CPropertyPage(CPageSectorMesh::IDD)
|
||
{
|
||
//{{AFX_DATA_INIT(CPageSectorMesh)
|
||
// NOTE: the ClassWizard will add member initialization here
|
||
//}}AFX_DATA_INIT
|
||
}
|
||
|
||
CPageSectorMesh::~CPageSectorMesh()
|
||
{
|
||
}
|
||
|
||
void CPageSectorMesh::DoDataExchange(CDataExchange* pDX)
|
||
{
|
||
CPropertyPage::DoDataExchange(pDX);
|
||
//{{AFX_DATA_MAP(CPageSectorMesh)
|
||
DDX_Control(pDX, IDC_LIST_SECTORMESH, m_R3SInfoList);
|
||
//}}AFX_DATA_MAP
|
||
}
|
||
|
||
|
||
BEGIN_MESSAGE_MAP(CPageSectorMesh, CPropertyPage)
|
||
//{{AFX_MSG_MAP(CPageSectorMesh)
|
||
ON_BN_CLICKED(IDC_BUTTON_VIEWTEXTURE, OnButtonViewtexture)
|
||
ON_BN_CLICKED(IDC_BUTTON_TEXTURECOPY, OnButtonTexturecopy)
|
||
//}}AFX_MSG_MAP
|
||
END_MESSAGE_MAP()
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// CPageSectorMesh message handlers
|
||
|
||
BOOL CPageSectorMesh::OnInitDialog()
|
||
{
|
||
CPropertyPage::OnInitDialog();
|
||
|
||
// TODO: Add extra initialization here
|
||
DWORD dwStyle;
|
||
dwStyle=m_R3SInfoList.SendMessage(LVM_GETEXTENDEDLISTVIEWSTYLE, 0 ,0);
|
||
dwStyle |= LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES ;
|
||
m_R3SInfoList.SendMessage( LVM_SETEXTENDEDLISTVIEWSTYLE, 0,dwStyle );
|
||
|
||
m_R3SInfoList.InsertColumn(0,"R3SÀ̸§",LVCFMT_LEFT,140);
|
||
m_R3SInfoList.InsertColumn(1,"TextureÀ̸§",LVCFMT_LEFT,300);
|
||
|
||
return TRUE; // return TRUE unless you set the focus to a control
|
||
// EXCEPTION: OCX Property Pages should return FALSE
|
||
}
|
||
|
||
void CPageSectorMesh::OnButtonViewtexture()
|
||
{
|
||
// TODO: Add your control notification handler code here
|
||
|
||
m_R3SInfoList.DeleteAllItems();
|
||
|
||
m_nCount=0;
|
||
if(CSceneManager::m_PickHouseScene && CSceneManager::m_PickObjectScene==NULL)
|
||
{
|
||
if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pOutHouseObject)
|
||
ListMeshTexturePrint(CSceneManager::m_PickHouseScene->m_HouseObject->m_pOutHouseObject);
|
||
if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pMedHouseObject)
|
||
ListMeshTexturePrint(CSceneManager::m_PickHouseScene->m_HouseObject->m_pMedHouseObject);
|
||
if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pInHouseObject)
|
||
ListMeshTexturePrint(CSceneManager::m_PickHouseScene->m_HouseObject->m_pInHouseObject);
|
||
if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pLodHouseObject)
|
||
ListMeshTexturePrint(CSceneManager::m_PickHouseScene->m_HouseObject->m_pLodHouseObject);
|
||
|
||
}
|
||
else if(CSceneManager::m_PickObjectScene)
|
||
{
|
||
ListMeshTexturePrint(CSceneManager::m_PickObjectScene->m_pObject);
|
||
}
|
||
}
|
||
|
||
void CPageSectorMesh::ListMeshTexturePrint(CMeshObject *pMesh)
|
||
{
|
||
for(int i=0;i<pMesh->m_pMat.num;i++)
|
||
{
|
||
m_R3SInfoList.InsertItem(m_nCount,pMesh->m_strMeshName);
|
||
m_R3SInfoList.SetItemText(m_nCount,1,pMesh->m_pMat[i]->m_strName);
|
||
m_nCount++;
|
||
}
|
||
}
|
||
|
||
void CPageSectorMesh::OnButtonTexturecopy()
|
||
{
|
||
// TODO: Add your control notification handler code here
|
||
|
||
if(CSceneManager::m_PickHouseScene && CSceneManager::m_PickObjectScene==NULL)
|
||
{
|
||
if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pOutHouseObject)
|
||
CopyTextureFile(CSceneManager::m_PickHouseScene->m_HouseObject->m_pOutHouseObject);
|
||
if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pMedHouseObject)
|
||
CopyTextureFile(CSceneManager::m_PickHouseScene->m_HouseObject->m_pMedHouseObject);
|
||
if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pInHouseObject)
|
||
CopyTextureFile(CSceneManager::m_PickHouseScene->m_HouseObject->m_pInHouseObject);
|
||
if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pLodHouseObject)
|
||
CopyTextureFile(CSceneManager::m_PickHouseScene->m_HouseObject->m_pLodHouseObject);
|
||
|
||
}
|
||
else if(CSceneManager::m_PickObjectScene)
|
||
{
|
||
CopyTextureFile(CSceneManager::m_PickObjectScene->m_pObject);
|
||
}
|
||
}
|
||
|
||
void CPageSectorMesh::CopyTextureFile(CMeshObject *pMesh)
|
||
{
|
||
CString strFileSrc,strFileTar;
|
||
|
||
char strTextureName[256];
|
||
|
||
for(int i=0;i<pMesh->m_pMat.num;i++)
|
||
{
|
||
strcpy(strTextureName,pMesh->m_pMat[i]->m_strName);
|
||
|
||
int lens=strlen(strTextureName);
|
||
strTextureName[lens-1]='s';
|
||
strTextureName[lens-2]='d';
|
||
strTextureName[lens-3]='d';
|
||
|
||
strFileSrc.Format("%s\\%s",OBJECTTEXTUREPATH,strTextureName);
|
||
strFileTar.Format("c:\\TextureTest\\%s",strTextureName);
|
||
CopyFile(strFileSrc,strFileTar,FALSE);
|
||
}
|
||
}
|