Türkiye'de ilk Mobil & PC Aynı Anda Metin2 Oyna. Triarchonline kalıcı ve uzun ömürlü yapısı ile 24 Temmuz'da açılıyor. | 1-99 Mobil Metin2 Triarch HEMEN TIKLA!
CDXTCImage classından kaynaklı olarak oyun açılırken ekran gelmeden önce aşağıdaki resimdeki şekilde crash atıyorsa onu çözecek fixi paylaşıyorum.
* EterImageLib/DXTCImage.cpp
Arat:
return LoadFromMemory((const BYTE*)pvMap);
Değiştir:
return LoadFromMemory((const BYTE*)pvMap, mappedFile.Size());
--
Arat:
bool CDXTCImage::LoadHeaderFromMemory(const BYTE* c_pbMap)
Değiştir:
bool CDXTCImage::LoadHeaderFromMemory(const BYTE* c_pbMap, DWORD dwSize)
--
Arat:
DWORD dwMagic;
Değiştir:
if (dwSize <= sizeof(DWORD))
return false;
--
Arat:
dwMagic = *(DWORD*)c_pbMap;
Değiştir:
DWORD dwMagic = *(DWORD*)c_pbMap;
if (dwMagic != MAKEFOURCC('D', 'D', 'S', ' '))
return false;
--
Arat:
//!@#
// if (dwMagic != MAKEFOURCC('D','D','S',' '))
// return false;
Değiştir:
if (dwSize - sizeof(DWORD) <= sizeof(DDSURFACEDESC2))
return false;
Son hali:
--
Arat:
bool CDXTCImage::LoadFromMemory(const BYTE* c_pbMap)
Değiştir:
bool CDXTCImage::LoadFromMemory(const BYTE* c_pbMap, DWORD dwBufSize)
--
Arat:
if (!LoadHeaderFromMemory(c_pbMap))
Değiştir:
if (!LoadHeaderFromMemory(c_pbMap, dwBufSize))
--
* EterImageLib/DXTCImage.h
Arat:
bool LoadFromMemory(const BYTE* c_pbMap);
bool LoadHeaderFromMemory(const BYTE* c_pbMap);
Değiştir:
bool LoadFromMemory(const BYTE* c_pbMap, DWORD dwBufSize);
bool LoadHeaderFromMemory(const BYTE* c_pbMap, DWORD dwBufSize);
--
* EterLib/GrpImageTexture.cpp
Arat:
if (image.LoadHeaderFromMemory((const BYTE*)c_pvBuf))
Değiştir:
if (image.LoadHeaderFromMemory((const BYTE*)c_pvBuf, bufSize))
Arat:
return LoadFromMemory((const BYTE*)pvMap);
Değiştir:
return LoadFromMemory((const BYTE*)pvMap, mappedFile.Size());
--
Arat:
bool CDXTCImage::LoadHeaderFromMemory(const BYTE* c_pbMap)
Değiştir:
bool CDXTCImage::LoadHeaderFromMemory(const BYTE* c_pbMap, DWORD dwSize)
--
Arat:
DWORD dwMagic;
Değiştir:
if (dwSize <= sizeof(DWORD))
return false;
--
Arat:
dwMagic = *(DWORD*)c_pbMap;
Değiştir:
DWORD dwMagic = *(DWORD*)c_pbMap;
if (dwMagic != MAKEFOURCC('D', 'D', 'S', ' '))
return false;
--
Arat:
//!@#
// if (dwMagic != MAKEFOURCC('D','D','S',' '))
// return false;
Değiştir:
if (dwSize - sizeof(DWORD) <= sizeof(DDSURFACEDESC2))
return false;
Son hali:
--
Arat:
bool CDXTCImage::LoadFromMemory(const BYTE* c_pbMap)
Değiştir:
bool CDXTCImage::LoadFromMemory(const BYTE* c_pbMap, DWORD dwBufSize)
--
Arat:
if (!LoadHeaderFromMemory(c_pbMap))
Değiştir:
if (!LoadHeaderFromMemory(c_pbMap, dwBufSize))
--
* EterImageLib/DXTCImage.h
Arat:
bool LoadFromMemory(const BYTE* c_pbMap);
bool LoadHeaderFromMemory(const BYTE* c_pbMap);
Değiştir:
bool LoadFromMemory(const BYTE* c_pbMap, DWORD dwBufSize);
bool LoadHeaderFromMemory(const BYTE* c_pbMap, DWORD dwBufSize);
--
* EterLib/GrpImageTexture.cpp
Arat:
if (image.LoadHeaderFromMemory((const BYTE*)c_pvBuf))
Değiştir:
if (image.LoadHeaderFromMemory((const BYTE*)c_pvBuf, bufSize))
En Çok Reaksiyon Alan Mesajlar
breakpointleri rahat bırak. :/
CDXTCImage classından kaynaklı olarak oyun açılırken ekran gelmeden önce aşağıdaki resimdeki şekilde crash atıyorsa onu çözecek fixi paylaşıyorum.
![]()
* EterImageLib/DXTCImage.cpp
Arat:
return LoadFromMemory((const BYTE*)pvMap);
Değiştir:
return LoadFromMemory((const BYTE*)pvMap, mappedFile.Size());
--
Arat:
bool CDXTCImage::LoadHeaderFromMemory(const BYTE* c_pbMap)
Değiştir:
bool CDXTCImage::LoadHeaderFromMemory(const BYTE* c_pbMap, DWORD dwSize)
--
Arat:
DWORD dwMagic;
Değiştir:
if (dwSize <= sizeof(DWORD))
return false;
--
Arat:
dwMagic = *(DWORD*)c_pbMap;
Değiştir:
DWORD dwMagic = *(DWORD*)c_pbMap;
if (dwMagic != MAKEFOURCC('D', 'D', 'S', ' '))
return false;
--
Arat:
//!@#
// if (dwMagic != MAKEFOURCC('D','D','S',' '))
// return false;
Değiştir:
if (dwSize - sizeof(DWORD) <= sizeof(DDSURFACEDESC2))
return false;
Son hali:
![]()
--
Arat:
bool CDXTCImage::LoadFromMemory(const BYTE* c_pbMap)
Değiştir:
bool CDXTCImage::LoadFromMemory(const BYTE* c_pbMap, DWORD dwBufSize)
--
Arat:
if (!LoadHeaderFromMemory(c_pbMap))
Değiştir:
if (!LoadHeaderFromMemory(c_pbMap, dwBufSize))
--
* EterImageLib/DXTCImage.h
Arat:
bool LoadFromMemory(const BYTE* c_pbMap);
bool LoadHeaderFromMemory(const BYTE* c_pbMap);
Değiştir:
bool LoadFromMemory(const BYTE* c_pbMap, DWORD dwBufSize);
bool LoadHeaderFromMemory(const BYTE* c_pbMap, DWORD dwBufSize);
--
* EterLib/GrpImageTexture.cpp
Arat:
if (image.LoadHeaderFromMemory((const BYTE*)c_pvBuf))
Değiştir:
if (image.LoadHeaderFromMemory((const BYTE*)c_pvBuf, bufSize))
Paylaşım için teşekkürler.
Sorunu özetlemek gerekirse .tga formatındaki dosyaları .dds formatındaki dosya gibi algılayıp yüklemeye çalışması sonucu oluşan bir crash genellikle pack dosyaları karman çorman olan kişilerde meydana gelmekte olan bir sorun.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 1
- Görüntüleme
- 849
- Cevaplar
- 9
- Görüntüleme
- 1K
- Kilitli
- Cevaplar
- 4
- Görüntüleme
- 387
