Restructure repository to include all source folders
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>
This commit is contained in:
67
GameTools/Zallad3D SceneClass/OctreeContainer.cpp
Normal file
67
GameTools/Zallad3D SceneClass/OctreeContainer.cpp
Normal file
@@ -0,0 +1,67 @@
|
||||
// OctreeContainer.cpp: implementation of the COctreeContainer class.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "OctreeContainer.h"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Construction/Destruction
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
COctreeContainer::COctreeContainer()
|
||||
{
|
||||
strcpy(m_OctreePath,OCTREEPATH);
|
||||
}
|
||||
|
||||
COctreeContainer::~COctreeContainer()
|
||||
{
|
||||
DeleteAllObject();
|
||||
}
|
||||
|
||||
COctreeScene* COctreeContainer::GetOctree(char *strOctreeName)
|
||||
{
|
||||
for(int cOctree=0;cOctree<m_OctreeContainer.num;cOctree++)
|
||||
{
|
||||
if(strcmp(m_OctreeContainer[cOctree]->m_strOctreeName,strOctreeName)==0)
|
||||
{
|
||||
m_OctreeContainer[cOctree]->m_Used++;
|
||||
return m_OctreeContainer[cOctree]->m_pOctree;
|
||||
}
|
||||
}
|
||||
|
||||
char strPathFile[MAX_NAMEBUFFER];
|
||||
sprintf(strPathFile,"%s\\%s",OCTREEPATH,strOctreeName);
|
||||
FILE *fp=fopen(strPathFile,"rb");
|
||||
if(fp==NULL)
|
||||
return NULL;
|
||||
COctreeScene *pOctree=new COctreeScene();
|
||||
pOctree->Load(fp);
|
||||
fclose(fp);
|
||||
OctreeNode *AddNode=new OctreeNode(strOctreeName,pOctree);
|
||||
m_OctreeContainer.Add(AddNode);
|
||||
return pOctree;
|
||||
}
|
||||
|
||||
void COctreeContainer::DeleteOctree(char *strOctreeName)
|
||||
{
|
||||
for(int cOctree=0;cOctree<m_OctreeContainer.num;cOctree++)
|
||||
{
|
||||
if( strcmp(m_OctreeContainer[cOctree]->m_strOctreeName,strOctreeName)==0 &&
|
||||
--m_OctreeContainer[cOctree]->m_Used==0)
|
||||
{
|
||||
//delete m_OctreeContainer[cOctree]->m_pOctree;
|
||||
delete m_OctreeContainer[cOctree];
|
||||
m_OctreeContainer.DelIndex(cOctree);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void COctreeContainer::DeleteAllObject()
|
||||
{
|
||||
for(int cOctree=0;cOctree<m_OctreeContainer.num;cOctree++)
|
||||
{
|
||||
//delete m_OctreeContainer[cOctree]->m_pOctree;
|
||||
delete m_OctreeContainer[cOctree];
|
||||
}
|
||||
m_OctreeContainer.num=0;
|
||||
}
|
||||
Reference in New Issue
Block a user