[Ölü kod] Ymir'in Yarıda Bıraktığı SORT Yapısını Kaldırma

  • Konuyu açan Konuyu açan Kaiser
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 2
  • Gösterim Gösterim 365

Kaiser

Adͥᴍiͣnͫ
Admin
Süper Üye
Geliştirici
Yardımsever Üye
Mesaj
4.650
Çözümler
455
Beğeni
5.822
Puan
5.349
Ticaret Puanı
0
Projeyi temize çekerken dikkatimi çeken işe yaramaz/ölü kodları da tesadüf eseri fark ediyorum ve kaldırıyorum, bu da onlardan biri.
Area çizimi sırasında performans/debug amacıyla eklenmiş ancak en sona geldikten sonra vazgeçip hardcoded koda çevirdikleri için aşağıdaki kodların tamamı işe yaramazdır ve silebilirsiniz. İşlemleri dikkatli uygulayınız.

MapOutdoor.h içinde aşağıdakileri bulun ve silin:
C++:
Genişlet Daralt Kopyala
    enum ETerrainRenderSort
    {
        DISTANCE_SORT,
        TEXTURE_SORT,
    };
C++:
Genişlet Daralt Kopyala
void    SetTerrainRenderSort(ETerrainRenderSort eTerrainRenderSort) { m_eTerrainRenderSort = eTerrainRenderSort; }
ETerrainRenderSort    GetTerrainRenderSort() { return m_eTerrainRenderSort; }
C++:
Genişlet Daralt Kopyala
ETerrainRenderSort        m_eTerrainRenderSort;
C++:
Genişlet Daralt Kopyala
public:
typedef std::vector<BYTE> TTerrainNumVector;
    struct FSortPatchDrawStructWithTerrainNum
    {
        static TTerrainNumVector m_TerrainNumVector;
        FSortPatchDrawStructWithTerrainNum()
        {
            m_TerrainNumVector.clear();
        }

        bool operator () (const TPatchDrawStruct& lhs, const TPatchDrawStruct& rhs)
        {
            // bla bla bla
        }
    };

MapOutdoor.cpp içinden bulun ve silin:
C++:
Genişlet Daralt Kopyala
m_eTerrainRenderSort = DISTANCE_SORT;

MapOutdoorRender.cpp dosyasının üst kısımlarında şunu bulun ve silin:
C++:
Genişlet Daralt Kopyala
CMapOutdoor::TTerrainNumVector CMapOutdoor::FSortPatchDrawStructWithTerrainNum::m_TerrainNumVector;

MapManager.h içinden silin:
C++:
Genişlet Daralt Kopyala
void    SetTerrainRenderSort(CMapOutdoor::ETerrainRenderSort eTerrainRenderSort);
CMapOutdoor::ETerrainRenderSort    GetTerrainRenderSort();

MapManager.cpp içinden bu iki fonksiyonu silin:
C++:
Genişlet Daralt Kopyala
void CMapManager::SetTerrainRenderSort(CMapOutdoor::ETerrainRenderSort eTerrainRenderSort)
{
    if (!IsMapReady())
        return;

    CMapOutdoor& rkMap=GetMapOutdoorRef();
    rkMap.SetTerrainRenderSort(eTerrainRenderSort);
}

CMapOutdoor::ETerrainRenderSort CMapManager::GetTerrainRenderSort()
{
    if (!IsMapReady())
        return CMapOutdoor::DISTANCE_SORT;

    CMapOutdoor& rkMap=GetMapOutdoorRef();
    return rkMap.GetTerrainRenderSort();
}

PythonBackgroundModule.cpp içinden silin:
C++:
Genişlet Daralt Kopyala
PyObject * backgroundSetRenderSort(PyObject * poSelf, PyObject * poArgs)
{
    int eSort;
    if (!PyTuple_GetInteger(poArgs, 0, &eSort))
        return Py_BadArgument();

    CPythonBackground::Instance().SetTerrainRenderSort((CMapOutdoor::ETerrainRenderSort) eSort);
    return Py_BuildNone();
}
C++:
Genişlet Daralt Kopyala
{ "SetRenderSort",                        backgroundSetRenderSort,                    METH_VARARGS },
C++:
Genişlet Daralt Kopyala
PyModule_AddIntConstant(poModule, "DISTANCE_SORT", CMapOutdoor::DISTANCE_SORT);
PyModule_AddIntConstant(poModule, "TEXTURE_SORT", CMapOutdoor::TEXTURE_SORT);

root/consoleModule.py içinden silin:
Python:
Genişlet Daralt Kopyala
    def SetTerrainRenderSort(self, arg):
        "Terrain rendering type"
        try:
            background.SetRenderSort(self.bgSortDict[arg]);
        except KeyError:
            self.Print("Unknown part: ", arg);
        except:
            raise
Python:
Genişlet Daralt Kopyala
self.bgSortDict = {
            "distance":background.DISTANCE_SORT,
            "texture":background.TEXTURE_SORT,
        }
 
Paylaşım için teşekkürler.

MapOutdoorRender.cpp:
Genişlet Daralt Kopyala
std::stable_sort(m_PatchDrawStructVector.begin(), m_PatchDrawStructVector.end(), FSortPatchDrawStructWithTerrainNum());

consolemodule.py:
Genişlet Daralt Kopyala
self.AddFunction("terrainrender",    Console.SetTerrainRenderSort)

Ayrıca bunları da silmeyi unutmayın.
 
Paylaşım için teşekkürler.

MapOutdoorRender.cpp:
Genişlet Daralt Kopyala
std::stable_sort(m_PatchDrawStructVector.begin(), m_PatchDrawStructVector.end(), FSortPatchDrawStructWithTerrainNum());

consolemodule.py:
Genişlet Daralt Kopyala
self.AddFunction("terrainrender",    Console.SetTerrainRenderSort)

Ayrıca bunları da silmeyi unutmayın.
Evet o kısmı unutmuşum, bahsettiğin satır SetPatchDrawVector fonksiyonu içerisinde yer alıyor.
O fonksiyonu da .cpp ve .h içinden komple silebilirsiniz. Hiçbir şekilde kullanılmıyor.
 
Geri
Üst