- Mesaj
- 1.025
- Çözümler
- 35
- Beğeni
- 1.077
- Puan
- 1.339
- Ticaret Puanı
- 0
Zamanında çok çektirdi bana. Hiçbir hata vermeden ışınlanınca bazen clienti çökertiyor bazense çökertmiyor. Hatanın kaynağı fog.tga adlı sis grafik dosyası. Düzeltmeye geçelim.
EterImageLib/DXTCImage.cpp
EterImageLib/DXTCImage.h
EterLib/GrpImageTexture.cpp
EterImageLib/DXTCImage.cpp
aratın:
bool CDXTCImage::LoadHeaderFromMemory(const BYTE * c_pbMap)
değiştirin:
bool CDXTCImage::LoadHeaderFromMemory(const BYTE * c_pbMap, int iSize)
aratın:
DWORD dwMagic;
altına ekleyin:
if (iSize < sizeof(DWORD))
return false;
aratın:
dwMagic = *(DWORD *) c_pbMap;
c_pbMap += sizeof(DWORD);
altına ekleyin:
iSize -= sizeof(DWORD);
aratın:
DDSURFACEDESC2 ddsd; // read from dds file
altına ekleyin:
if (iSize < sizeof(DDSURFACEDESC2))
return false;
aratın:
memcpy(&ddsd, c_pbMap, sizeof(DDSURFACEDESC2));
c_pbMap += sizeof(DDSURFACEDESC2);
altına ekleyin:
iSize -= sizeof(DDSURFACEDESC2);
aratın:
return LoadFromMemory((const BYTE*) pvMap);
değiştirin:
return LoadFromMemory((const BYTE*) pvMap, mappedFile.Size());
aratın:
bool CDXTCImage::LoadFromMemory(const BYTE * c_pbMap)
değiştirin:
bool CDXTCImage::LoadFromMemory(const BYTE * c_pbMap, int iSize)
aratın:
if (!LoadHeaderFromMemory(c_pbMap))
değiştirin:
if (!LoadHeaderFromMemory(c_pbMap, iSize))
EterImageLib/DXTCImage.h
aratın:
bool LoadHeaderFromMemory(const BYTE * c_pbMap);
değiştirin:
bool LoadHeaderFromMemory(const BYTE * c_pbMap, int iSize);
aratın:
bool LoadFromMemory(const BYTE * c_pbMap);
değiştirin:
bool LoadFromMemory(const BYTE * c_pbMap, int iSize);
EterLib/GrpImageTexture.cpp
aratın:
if (image.LoadHeaderFromMemory((const BYTE *) c_pvBuf))
değiştirin:
if (image.LoadHeaderFromMemory((const BYTE *) c_pvBuf, bufSize))
Son düzenleme: