farkmt2official 1
farkmt2official
romegames 1
romegames
bikral 1
bikral
PrimeAC 1
PrimeAC
shrpnl 1
shrpnl
Agora Metin2 1
Agora Metin2
xranzei 1
xranzei
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Karan2offical 1
Karan2offical
Fethi Polat 1
Fethi Polat
Hikaye Ekle

Client açılırken CDXTCImage crash fix

  • Konuyu başlatan Konuyu başlatan Koray'
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 7
  • Görüntüleme Görüntüleme 2K

Koray'

Pasha37
Uzman
Katılım
21 Haz 2013
Konular
198
Mesajlar
1,752
Çözüm
8
Online süresi
17d 3h
Reaksiyon Skoru
2,667
Altın Konu
3
Başarım Puanı
278
MmoLira
795
DevLira
103
Ticaret - 0%
0   0   0

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. 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.

raw


* 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:
raw

--

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

Paylaşım için teşekkürler
 
Paylaşımın İçin Teşekkürler.
 
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.

raw


* 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:
raw

--

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)

Geri
Üst