Çözüldü Minimap ile ilgili ilginç bir görsel bug

  • Konuyu açan Konuyu açan Kaptan Yosun
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 12
  • Gösterim Gösterim 115
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

Kaptan Yosun

Moderatör
Moderatör
Geliştirici
Yardımsever Üye
Mesaj
1.274
Çözümler
46
Beğeni
1.815
Puan
1.339
Ticaret Puanı
0
DirectX 9 sürümüne geçtikten sonra fark ettim. Minimap yanlış renderlanıyor, yarısı var yarısı yok ve konumu doğru değil. Önce PythonMiniMap.cpp aklıma geldi, ancak önceki projelerimle kıyasladım, birebir aynı. sorun başka bir yerden kaynaklı. Aklınıza neler geliyor?

Örnek:
1748360703467.webp


ben yol üzerinde veya kapı yakınında değilim.

minimapi uzaklaştırınca:
1748360762584.webp


Garip bir zigzag şeklinde renderlandığını farkettim. Sizce hangi fonksiyondan dolayı olabilir?
 
Çözüm
Hemen çözelim Adaşım :D

Fix:
Genişlet Daralt Kopyala
statemanager.cpp
arat HRESULT CStateManager::DrawIndexedPrimitiveUP(D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertexIndices, UINT PrimitiveCount, CONST void* pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride)

üstüne ekle

#ifdef MINI_MAP_SIZE_FIX
HRESULT CStateManager::DrawIndexedPrimitiveDX9(D3DPRIMITIVETYPE PrimitiveType, UINT minIndex, UINT NumVertices,
    UINT startIndex, UINT primCount, INT baseVertexIndex)
{
    return (m_lpD3DDev->DrawIndexedPrimitive(PrimitiveType, baseVertexIndex, minIndex, NumVertices, startIndex,
        primCount));
}
#endif

statemanager.h
arat     HRESULT DrawIndexedPrimitiveUP(D3DPRIMITIVETYPE...
Hemen çözelim Adaşım :D

Fix:
Genişlet Daralt Kopyala
statemanager.cpp
arat HRESULT CStateManager::DrawIndexedPrimitiveUP(D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertexIndices, UINT PrimitiveCount, CONST void* pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride)

üstüne ekle

#ifdef MINI_MAP_SIZE_FIX
HRESULT CStateManager::DrawIndexedPrimitiveDX9(D3DPRIMITIVETYPE PrimitiveType, UINT minIndex, UINT NumVertices,
    UINT startIndex, UINT primCount, INT baseVertexIndex)
{
    return (m_lpD3DDev->DrawIndexedPrimitive(PrimitiveType, baseVertexIndex, minIndex, NumVertices, startIndex,
        primCount));
}
#endif

statemanager.h
arat     HRESULT DrawIndexedPrimitiveUP(D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertexIndices, UINT PrimitiveCount, CONST void* pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride);

üstüne ekle
#ifdef MINI_MAP_SIZE_FIX
    HRESULT DrawIndexedPrimitiveDX9(D3DPRIMITIVETYPE PrimitiveType, UINT minIndex, UINT NumVertices, UINT startIndex,
        UINT primCount, INT baseVertexIndex = 0);
#endif

PythonMiniMap.cpp arat

değiştir

#ifdef MINI_MAP_SIZE_FIX
            rkSttMgr.DrawIndexedPrimitiveDX9(D3DPT_TRIANGLELIST, byTerrainNum * 4, 4, byTerrainNum * 6, 2);
#else
            rkSttMgr.DrawIndexedPrimitive(D3DPT_TRIANGLELIST, byTerrainNum * 4, 4, byTerrainNum * 6, 2);
#endif


#ifdef MINI_MAP_SIZE_FIX
            STATEMANAGER.DrawIndexedPrimitiveDX9(D3DPT_TRIANGLELIST, byTerrainNum * 4, 4, byTerrainNum * 6, 2);
#else
            STATEMANAGER.DrawIndexedPrimitive(D3DPT_TRIANGLELIST, byTerrainNum * 4, 4, byTerrainNum * 6, 2);
#endif
 
Çözüm
Eğer DirectX 9 yüzünden hata alırsan 😤 hiç panik yok canımın içi, ben buradayım Canım yosunum benim Olmazsa baştan inceler, sürücüleri tokatlar, DLL dosyalarına 'adam ol' deriz 😂 Gerekirse dosyaları birlikte kontrol eder resetleriz, elimizi tutan olursa da Bırakın biz teknik süngerleriz deriz asdnögmçasöd Sorun devam ederse bilgi ver halledelim tatlım
 
Hemen çözelim Adaşım :D

Fix:
Genişlet Daralt Kopyala
statemanager.cpp
arat HRESULT CStateManager::DrawIndexedPrimitiveUP(D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertexIndices, UINT PrimitiveCount, CONST void* pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride)

üstüne ekle

#ifdef MINI_MAP_SIZE_FIX
HRESULT CStateManager::DrawIndexedPrimitiveDX9(D3DPRIMITIVETYPE PrimitiveType, UINT minIndex, UINT NumVertices,
    UINT startIndex, UINT primCount, INT baseVertexIndex)
{
    return (m_lpD3DDev->DrawIndexedPrimitive(PrimitiveType, baseVertexIndex, minIndex, NumVertices, startIndex,
        primCount));
}
#endif

statemanager.h
arat     HRESULT DrawIndexedPrimitiveUP(D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertexIndices, UINT PrimitiveCount, CONST void* pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride);

üstüne ekle
#ifdef MINI_MAP_SIZE_FIX
    HRESULT DrawIndexedPrimitiveDX9(D3DPRIMITIVETYPE PrimitiveType, UINT minIndex, UINT NumVertices, UINT startIndex,
        UINT primCount, INT baseVertexIndex = 0);
#endif

PythonMiniMap.cpp arat

değiştir

#ifdef MINI_MAP_SIZE_FIX
            rkSttMgr.DrawIndexedPrimitiveDX9(D3DPT_TRIANGLELIST, byTerrainNum * 4, 4, byTerrainNum * 6, 2);
#else
            rkSttMgr.DrawIndexedPrimitive(D3DPT_TRIANGLELIST, byTerrainNum * 4, 4, byTerrainNum * 6, 2);
#endif


#ifdef MINI_MAP_SIZE_FIX
            STATEMANAGER.DrawIndexedPrimitiveDX9(D3DPT_TRIANGLELIST, byTerrainNum * 4, 4, byTerrainNum * 6, 2);
#else
            STATEMANAGER.DrawIndexedPrimitive(D3DPT_TRIANGLELIST, byTerrainNum * 4, 4, byTerrainNum * 6, 2);
#endif
Yaptım da bu benim minimapi düzeltmedi nedense 🤔
 
1748362378672.webp


Minimap düzeldi ama karaktere tövbeler olsun bir şey oldu dmjnfjnksd ama hallederim, sağ ol.
 
  • Hahaha
Tepkiler: Sys
Canın sağolsun, şimdi bu fonksiyonu çağıran yerleri de düzenlemek lazım karakter bozuldu
Hata aldığın kısımlar olursa full defineli şekilde ekli😄 İstediğin .cpp veya .h dosyalarını gönderebilirim. Bilgisayar başına geçtiğinde haber vermen yeterli. Şimdiden iyi çalışmalar, sevgilerle… Canım yosunum ❤️
Yosuna Sevgiler:
Genişlet Daralt Kopyala
if (hayat.hataVerirse()) {
    gülümse();
    kahve.koy();
    tekrarDene();
}
 
Hata aldığın kısımlar olursa full defineli şekilde ekli😄 İstediğin .cpp veya .h dosyalarını gönderebilirim. Bilgisayar başına geçtiğinde haber vermen yeterli. Şimdiden iyi çalışmalar, sevgilerle… Canım yosunum ❤️
Yosuna Sevgiler:
Genişlet Daralt Kopyala
if (hayat.hataVerirse()) {
    gülümse();
    kahve.koy();
    tekrarDene();
}
Var ol adaş
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst