================================================================================
YAPILAN DEĞİŞİKLİKLER
================================================================================
1. DOSYA: Source/Client_Source/source/UserInterface/InstanceBaseEffect.cpp
FONKSİYON: CInstanceBase::AttachTextTail()
SATIR: 678-700
ÖNCEKİ KOD:
------------
void CInstanceBase::AttachTextTail()
{
if (m_isTextTail)
{
TraceError ("CInstanceBase::AttachTextTail - VID [%d] ALREADY EXIST", GetVirtualID());
return;
}
// ... devamı
}
SONRAKİ KOD:
-------------
void CInstanceBase::AttachTextTail()
{
if (m_isTextTail)
{
// Eğer text tail zaten mevcutsa, önce onu temizle
Tracef ("CInstanceBase::AttachTextTail - VID [%d] ALREADY EXIST, cleaning up first", GetVirtualID());
DetachTextTail();
}
// ... devamı
}
AÇIKLAMA: Text tail zaten mevcutsa, önce onu temizleyip sonra yenisini ekliyor.
2. DOSYA: Source/Client_Source/source/UserInterface/InstanceBaseEffect.cpp
FONKSİYON: CInstanceBase::DetachTextTail()
SATIR: 702-720
ÖNCEKİ KOD:
------------
void CInstanceBase::DetachTextTail()
{
if (!m_isTextTail)
{
return;
}
m_isTextTail=false;
CPythonTextTail::Instance().DeleteCharacterTextTail (GetVirtualID());
}
SONRAKİ KOD:
-------------
void CInstanceBase::DetachTextTail()
{
if (!m_isTextTail)
{
return;
}
m_isTextTail=false;
// Güvenlik kontrolü: VID'nin geçerli olup olmadığını kontrol et
DWORD dwVID = GetVirtualID();
if (dwVID != 0)
{
CPythonTextTail::Instance().DeleteCharacterTextTail (dwVID);
}
}
AÇIKLAMA: VID'nin geçerli olup olmadığını kontrol ediyor.
3. DOSYA: Source/Client_Source/source/UserInterface/InstanceBase.cpp
FONKSİYON: CInstanceBase::Destroy()
SATIR: 3355-3375
ÖNCEKİ KOD:
------------
void CInstanceBase::Destroy()
{
DetachTextTail();
// ... devamı
}
SONRAKİ KOD:
-------------
void CInstanceBase::Destroy()
{
// Text tail'i güvenli bir şekilde temizle
if (m_isTextTail)
{
DetachTextTail();
}
// ... devamı
}
AÇIKLAMA: Destroy sırasında text tail'i güvenli bir şekilde temizliyor.
4. DOSYA: Source/Client_Source/source/UserInterface/InstanceBase.cpp
FONKSİYON: CInstanceBase::ChangeGuild()
SATIR: 1170-1180
ÖNCEKİ KOD:
------------
void CInstanceBase::ChangeGuild (DWORD dwGuildID)
{
m_dwGuildID=dwGuildID;
DetachTextTail();
AttachTextTail();
RefreshTextTail();
}
SONRAKİ KOD:
-------------
void CInstanceBase::ChangeGuild (DWORD dwGuildID)
{
m_dwGuildID=dwGuildID;
// Text tail'i güvenli bir şekilde güncelle
if (m_isTextTail)
{
DetachTextTail();
}
AttachTextTail();
RefreshTextTail();
}
AÇIKLAMA: Guild değişikliği sırasında güvenli text tail güncelleme.
5. DOSYA: Source/Client_Source/source/UserInterface/PythonTextTail.cpp
FONKSİYON: CPythonTextTail::RegisterCharacterTextTail()
SATIR: 533-600
ÖNCEKİ KOD:
------------
void CPythonTextTail::RegisterCharacterTextTail (DWORD dwGuildID, DWORD dwVirtualID, const D3DXCOLOR& c_rColor, float fAddHeight)
{
CInstanceBase* pCharacterInstance = CPythonCharacterManager::Instance().GetInstancePtr (dwVirtualID);
// ... devamı
}
SONRAKİ KOD:
-------------
void CPythonTextTail::RegisterCharacterTextTail (DWORD dwGuildID, DWORD dwVirtualID, const D3DXCOLOR& c_rColor, float fAddHeight)
{
// Eğer aynı VID zaten mevcutsa, önce onu temizle
TTextTailMap::iterator itorExisting = m_CharacterTextTailMap.find (dwVirtualID);
if (m_CharacterTextTailMap.end() != itorExisting)
{
Tracef ("CPythonTextTail::RegisterCharacterTextTail - VID [%d] already exists, cleaning up first", dwVirtualID);
DeleteCharacterTextTail (dwVirtualID);
}
// ... devamı
}
AÇIKLAMA: Aynı VID zaten mevcutsa önce onu temizliyor.
6. DOSYA: Source/Client_Source/source/UserInterface/PythonTextTail.cpp
FONKSİYON: CPythonTextTail::DeleteCharacterTextTail()
SATIR: 794-820
ÖNCEKİ KOD:
------------
else
{
Tracenf ("CPythonTextTail::DeleteCharacterTextTail - Find VID[%d] Error", VirtualID);
}
SONRAKİ KOD:
-------------
else
{
// Bu hata mesajı artık sadece debug amaçlı, normal durumda sessizce devam et
#ifdef __DEBUG
Tracenf ("CPythonTextTail::DeleteCharacterTextTail - Find VID[%d] Error", VirtualID);
#endif
}
AÇIKLAMA: Hata mesajını sadece debug modunda gösteriyor.
7. DOSYA: Source/Client_Source/source/UserInterface/PythonTextTail.cpp
FONKSİYON: CPythonTextTail::Destroy()
SATIR: 1065-1070
ÖNCEKİ KOD:
------------
void CPythonTextTail::Destroy()
{
m_TextTailPool.Clear();
}
SONRAKİ KOD:
-------------
void CPythonTextTail::Destroy()
{
Clear();
m_TextTailPool.Clear();
}
AÇIKLAMA: Destroy sırasında Clear çağrısı ekliyor.
8. DOSYA: Source/Client_Source/source/UserInterface/InstanceBaseEffect.cpp
FONKSİYON: CInstanceBase::__EffectContainer_Destroy()
SATIR: 252-270
ÖNCEKİ KOD:
------------
void CInstanceBase::__EffectContainer_Destroy()
{
SEffectContainer::Dict& rkDctEftID=__EffectContainer_GetDict();
// ... devamı
}
SONRAKİ KOD:
-------------
void CInstanceBase::__EffectContainer_Destroy()
{
// Effect container'ı temizlemeden önce text tail'i de temizle
if (m_isTextTail)
{
DetachTextTail();
}
// ... devamı
}
AÇIKLAMA: Effect container temizlenmeden önce text tail'i de temizliyor.