Files
Client/GameTools/NeoRylClient/ItemStorage.cpp
LGram16 dd97ddec92 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>
2025-11-29 20:17:20 +09:00

101 lines
2.4 KiB
C++

// ItemStorage.cpp: implementation of the CItemStorage class.
//
//////////////////////////////////////////////////////////////////////
#include "ItemStorage.h"
#include <BaseDataDefine.h>
CItemStorage g_ItemStorage;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CItemStorage::CItemStorage()
{
}
CItemStorage::~CItemStorage()
{
DeleteItemTexture();
DeleteSkillTexture();
}
void CItemStorage::DeleteItemTexture(void)
{
vector<TexStorage *>::iterator it;
TexStorage *lpTexture;
for(it = m_lstItemTexture.begin(); it != m_lstItemTexture.end();)
{
if((*it)->lpTexture) { delete (*it)->lpTexture; (*it)->lpTexture = NULL; }
lpTexture = (*it);
it = m_lstItemTexture.erase(it);
delete lpTexture;
}
m_lstItemTexture.clear();
}
void CItemStorage::DeleteSkillTexture(void)
{
vector<TexStorage *>::iterator it;
TexStorage *lpTexture;
for(it = m_lstSkillTexture.begin(); it != m_lstSkillTexture.end();)
{
if((*it)->lpTexture) { delete (*it)->lpTexture; (*it)->lpTexture = NULL; }
lpTexture = (*it);
it = m_lstSkillTexture.erase(it);
delete lpTexture;
}
m_lstSkillTexture.clear();
}
CTexture *CItemStorage::GetItemTexture(const char *strTextureFile)
{
char strName[MAX_PATH];
sprintf(strName, "\\item\\%s.dds", strTextureFile);
vector<TexStorage *>::iterator it;
for(it = m_lstItemTexture.begin(); it != m_lstItemTexture.end(); it++)
{
if(!strcmp((*it)->strFileName, strName))
{
return (*it)->lpTexture;
}
}
TexStorage *lpStorage = new TexStorage;
CTexture::SetPath(INTERFACETEXTUREPATH);
lpStorage->lpTexture = new CTexture;
lpStorage->lpTexture->Load(strName);
strcpy(lpStorage->strFileName, strName);
m_lstItemTexture.push_back(lpStorage);
return lpStorage->lpTexture;
}
CTexture *CItemStorage::GetSkillTexture(const char *strTextureFile)
{
char strName[MAX_PATH];
sprintf(strName, "\\item\\%s", strTextureFile);
vector<TexStorage *>::iterator it;
for(it = m_lstSkillTexture.begin(); it != m_lstSkillTexture.end(); it++)
{
if(!strcmp((*it)->strFileName, strName))
{
return (*it)->lpTexture;
}
}
TexStorage *lpStorage = new TexStorage;
CTexture::SetPath(INTERFACETEXTUREPATH);
lpStorage->lpTexture = new CTexture;
lpStorage->lpTexture->Load(strName);
strcpy(lpStorage->strFileName, strName);
m_lstSkillTexture.push_back(lpStorage);
return lpStorage->lpTexture;
}