Game client codebase including: - CharacterActionControl: Character and creature management - GlobalScript: Network, items, skills, quests, utilities - RYLClient: Main client application with GUI and event handlers - Engine: 3D rendering engine (RYLGL) - MemoryManager: Custom memory allocation - Library: Third-party dependencies (DirectX, boost, etc.) - Tools: Development utilities 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
120 lines
3.1 KiB
C++
120 lines
3.1 KiB
C++
// HouseObjectNode.cpp: implementation of the CHouseObjectNode class.
|
||
//
|
||
//////////////////////////////////////////////////////////////////////
|
||
|
||
#include "HouseObjectScene.h"
|
||
#include "SceneManager.h"
|
||
#include "ImposterScene.h"
|
||
#include "GMMemory.h"
|
||
|
||
//////////////////////////////////////////////////////////////////////
|
||
// Construction/Destruction
|
||
//////////////////////////////////////////////////////////////////////
|
||
/*
|
||
bool m_SelfLoadOut,m_SelfLoadMed,m_SelfLoadIn,m_SelfLoadInObject;
|
||
void Render(LPDIRECT3DDEVICE8 pd3dDevice);
|
||
long m_HouseSceneID;
|
||
CHouseObject *m_HouseObject;
|
||
char m_strInName[MAX_NAMEBUFFER];
|
||
char m_strMedName[MAX_NAMEBUFFER];
|
||
char m_strOutName[MAX_NAMEBUFFER];
|
||
|
||
bool m_bOctree;
|
||
bool m_bNotCull;
|
||
bool m_bSkip;
|
||
bool m_bMedCull;
|
||
|
||
CHouseObjectScene();
|
||
virtual ~CHouseObjectScene();
|
||
|
||
void SetSkipFlag(bool bSkip) { m_bSkip = bSkip;}
|
||
bool GetSkipFlag() { return m_bSkip;}
|
||
}
|
||
|
||
|
||
|
||
*/
|
||
CHouseObjectScene::CHouseObjectScene() : m_SelfLoadOut(false),m_SelfLoadMed(false),m_SelfLoadIn(false),m_SelfLoadInObject(false), m_bFlag(false),
|
||
m_bOctree(false),m_bNotCull(false),m_bSkip(false),m_bMedCull(true),m_HouseObject(NULL),
|
||
m_pImposterScene(NULL)
|
||
{
|
||
m_bInit = false;
|
||
|
||
}
|
||
|
||
CHouseObjectScene::~CHouseObjectScene()
|
||
{
|
||
if(m_HouseObject)
|
||
{
|
||
CROSSM::SafeDelete(m_HouseObject);
|
||
// CSceneManager::_ReleaseObj(CROSSM::POOL_HOUSEOBJ,m_HouseObject);
|
||
m_HouseObject = NULL;
|
||
}
|
||
|
||
CImposterScene::DeleteScene( m_pImposterScene );
|
||
m_pImposterScene = NULL;
|
||
}
|
||
|
||
void CHouseObjectScene::Render(LPDIRECT3DDEVICE8 pd3dDevice)
|
||
{
|
||
if(isCulling()==false || m_bSkip || !m_HouseObject)
|
||
return;
|
||
|
||
/*
|
||
vector3 vPos;
|
||
CSceneManager::m_CharacterManager.m_CharacterList[0].m_pChrmodel->GetPosition( vPos.x, vPos.y, vPos.z );
|
||
D3DXVECTOR3 vCharPos = D3DXVECTOR3( vPos.x, vPos.y, vPos.z );
|
||
D3DXVECTOR3 vHousePos = D3DXVECTOR3( m_AccumulateTM._41, m_AccumulateTM._42, m_AccumulateTM._43 );
|
||
D3DXVECTOR3 vCharToHouseDir = vHousePos - vCharPos;
|
||
float fDist = D3DXVec3Length( &vCharToHouseDir );
|
||
|
||
if( CImposterScene::IsRenderEnable(fDist, m_fRad) )
|
||
{
|
||
if( !m_pImposterScene )
|
||
{
|
||
m_pImposterScene = CImposterScene::GetScene( this );
|
||
}
|
||
|
||
if( m_pImposterScene )
|
||
{
|
||
CImposterScene::PushRenderScene( m_pImposterScene, vCharPos, vHousePos );
|
||
return;
|
||
}
|
||
}
|
||
*/
|
||
|
||
if( CImposterScene::IsActivated() )
|
||
{
|
||
vector3 vPos;
|
||
CSceneManager::m_CharacterManager.m_CharacterList[0].m_pChrmodel->GetPosition( vPos.x, vPos.y, vPos.z );
|
||
D3DXVECTOR3 vCharPos = D3DXVECTOR3( vPos.x, vPos.y, vPos.z );
|
||
D3DXVECTOR3 vHousePos = D3DXVECTOR3( m_AccumulateTM._41, m_AccumulateTM._42, m_AccumulateTM._43 );
|
||
D3DXVECTOR3 vCharToHouseDir = vHousePos - vCharPos;
|
||
float fDist = D3DXVec3Length( &vCharToHouseDir );
|
||
|
||
if( CImposterScene::IsRenderEnable(fDist, this) )
|
||
{
|
||
if( !m_pImposterScene )
|
||
{
|
||
m_pImposterScene = CImposterScene::GetScene( this );
|
||
}
|
||
|
||
if( m_pImposterScene )
|
||
{
|
||
m_pImposterScene->Render( vCharPos, vHousePos );
|
||
return;
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
pd3dDevice->SetTransform(D3DTS_WORLD,(D3DMATRIX*)&m_AccumulateTM);
|
||
m_HouseObject->Render(pd3dDevice);
|
||
|
||
// Octree <20><><EFBFBD><EFBFBD>. Octree <20><><EFBFBD><EFBFBD> Ȯ<><C8AE><EFBFBD>Ҷ<EFBFBD> on
|
||
//m_HouseObject->RenderOctree(pd3dDevice);
|
||
}
|
||
|
||
|
||
|