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>
134 lines
3.7 KiB
C++
134 lines
3.7 KiB
C++
// HouseObjectNode.cpp: implementation of the CHouseObjectNode class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#include "HouseObjectScene.h"
|
|
#include "SceneManager.h"
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
// Construction/Destruction
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
CHouseObjectScene::CHouseObjectScene()
|
|
{
|
|
m_bMedCull = true;
|
|
|
|
}
|
|
|
|
CHouseObjectScene::~CHouseObjectScene()
|
|
{
|
|
/*
|
|
if(strcmp(m_strBSPName,"")!=0)
|
|
{
|
|
if(m_HouseObject->m_pBspObject)
|
|
delete m_HouseObject->m_pBspObject;
|
|
}
|
|
else
|
|
*/
|
|
{
|
|
CSceneManager::m_HouseObjectContainer.DeleteHouseObject(m_strOutName,
|
|
m_strMedName,
|
|
m_strInName,
|
|
m_strBSPName);
|
|
}
|
|
|
|
}
|
|
|
|
void CHouseObjectScene::Render(LPDIRECT3DDEVICE8 pd3dDevice)
|
|
{
|
|
if(m_HouseObject->m_pBspObject)
|
|
{
|
|
pd3dDevice->SetTransform(D3DTS_WORLD,(D3DMATRIX*)&m_AccumulateTM);
|
|
m_HouseObject->Render(pd3dDevice);
|
|
return;
|
|
}
|
|
if(isCulling()==false)
|
|
return;
|
|
pd3dDevice->SetTransform(D3DTS_WORLD,(D3DMATRIX*)&m_AccumulateTM);
|
|
m_HouseObject->Render(pd3dDevice);
|
|
|
|
}
|
|
|
|
void CHouseObjectScene::UpdateBspPosition()
|
|
{
|
|
for(int i=CSceneManager::m_pBspConvertList.num-1;i>=0;i--)
|
|
{
|
|
if(CSceneManager::m_pBspConvertList[i]==this)
|
|
{
|
|
CSceneManager::m_pBspConvertList.DelIndex(i);
|
|
CSceneManager::m_vecBspConvertList.DelIndex(i);
|
|
}
|
|
}
|
|
if(m_HouseObject->m_pBspObject && m_HouseObject->m_pInHouseMap)
|
|
{
|
|
matrix matBspEnterPos;
|
|
for(int cEnterBsp=0;cEnterBsp<m_HouseObject->m_pInHouseMap->m_matObjectList.num;cEnterBsp+=4)
|
|
{
|
|
matBspEnterPos=m_HouseObject->m_pInHouseMap->m_matObjectList[cEnterBsp]*m_AccumulateTM;
|
|
CSceneManager::m_vecBspConvertList.Add(matBspEnterPos.GetLoc());
|
|
CSceneManager::m_pBspConvertList.Add(this);
|
|
}
|
|
}
|
|
/*
|
|
if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pBspObject && CSceneManager::m_PickHouseScene->m_HouseObject->m_pInHouseMap)
|
|
{
|
|
if(CSceneManager::m_PickHouseScene->m_HouseObject->m_pInHouseMap->m_matObjectList.num%4==1)
|
|
{
|
|
CSceneManager::m_PickHouseScene->m_HouseObject->m_pInHouseMap->m_matObjectList[
|
|
CSceneManager::m_PickHouseScene->m_HouseObject->m_pInHouseMap->m_matObjectList.num-1]*
|
|
CSceneManager::m_PickHouseScene->m_
|
|
}
|
|
matrix matBspEnterPos;
|
|
for(int cEnterBsp=0;cEnterBsp<HouseObjectScene->m_HouseObject->m_pInHouseMap->m_matObjectList.num;cEnterBsp+=4)
|
|
{
|
|
matBspEnterPos=HouseObjectScene->m_HouseObject->m_pInHouseMap->m_matObjectList[cEnterBsp]*HouseObjectScene->m_AccumulateTM;
|
|
CSceneManager::m_vecBspConvertList.Add(matBspEnterPos.GetLoc());
|
|
CSceneManager::m_pBspConvertList.Add(HouseObjectScene);
|
|
}
|
|
//List<vector3> CSceneManager::m_vecBspConvertList;
|
|
//List<CHouseObjectScene*> CSceneManager::m_pBspConvertList;
|
|
}
|
|
*/
|
|
}
|
|
|
|
void CHouseObjectScene::DeleteBspPosition()
|
|
{
|
|
for(int i=CSceneManager::m_pBspConvertList.num-1;i>=0;i--)
|
|
{
|
|
if(CSceneManager::m_pBspConvertList[i]==this)
|
|
{
|
|
CSceneManager::m_pBspConvertList.DelIndex(i);
|
|
CSceneManager::m_vecBspConvertList.DelIndex(i);
|
|
}
|
|
}
|
|
}
|
|
|
|
void CHouseObjectScene::RenderGlare(LPDIRECT3DDEVICE8 pd3dDevice)
|
|
{
|
|
if(m_HouseObject->m_pBspObject)
|
|
{
|
|
return;
|
|
}
|
|
if(isCulling()==false)
|
|
return;
|
|
pd3dDevice->SetTransform(D3DTS_WORLD,(D3DMATRIX*)&m_AccumulateTM);
|
|
m_HouseObject->RenderGlare(pd3dDevice);
|
|
}
|
|
|
|
void CHouseObjectScene::RenderBlack( LPDIRECT3DDEVICE8 pd3dDevice )
|
|
{
|
|
if(m_HouseObject->m_pBspObject)
|
|
{
|
|
pd3dDevice->SetTransform(D3DTS_WORLD,(D3DMATRIX*)&m_AccumulateTM);
|
|
m_HouseObject->RenderBlack(pd3dDevice);
|
|
return;
|
|
}
|
|
if(isCulling()==false)
|
|
return;
|
|
pd3dDevice->SetTransform(D3DTS_WORLD,(D3DMATRIX*)&m_AccumulateTM);
|
|
m_HouseObject->RenderBlack(pd3dDevice);
|
|
}
|
|
|
|
|
|
|