Çözüldü Render Target ekleme sorunu

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ı.

adv1453

Yardımsever Üye
Yardımsever Üye
MT Üye
Mesaj
430
Çözümler
41
Beğeni
208
Puan
844
Render target sistemi kuruyorum ancak build sırasında aşağıdaki gibi hata alıyorum galiba evrim sistemine uyarlanması gerekiyor yardımcı olabilecek var mı?
"CInstanceBase::ChangeWeapon': function does not take 1 arguments"

InstanceBase.cpp CInstanceBase::ChangeWeapon' içeriği
C++:
void CInstanceBase::ChangeWeapon(DWORD eWeapon, DWORD dwEvolution)
{
    if (eWeapon == m_GraphicThingInstance.GetPartItemID(CRaceData::PART_WEAPON))
        return;

    if (SetWeapon(eWeapon, dwEvolution))
        RefreshState(CRaceMotionData::NAME_WAIT, true);
}

CRenderTarget.cpp
C++:
void CRenderTarget::SetWeapon(DWORD vnum)
{
    if (!m_visible || !m_pModel)
        return;
    m_pModel->ChangeWeapon(vnum);
}

CRenderTarget.h
C++:
        void SetWeapon(DWORD dwVnum);

CPythonRenderTargetModule.cpp
C++:
PyObject* renderTargetSetWeapon(PyObject* poSelf, PyObject* poArgs)
{
    BYTE index = 0;
    if (!PyTuple_GetByte(poArgs, 0, &index))
        return Py_BadArgument();

    int modelIndex = 0;
    if (!PyTuple_GetInteger(poArgs, 1, &modelIndex))
        return Py_BadArgument();

    CRenderTargetManager::Instance().GetRenderTarget(index)->SetWeapon(modelIndex);

    return Py_BuildNone();

}
 
Çözüm
Anladım. Render target sisteminin evrim sistemi ile bir alakası yok zaten. Dolayısıyla bahsettiğin hatayı da muhtemelen şu bloktan alıyorsundur:
C++:
void CRenderTarget::SetWeapon(DWORD vnum)
{
    if (!m_visible || !m_pModel)
        return;
    m_pModel->ChangeWeapon(vnum);
}

Bunu şu şekilde değiştirip deneyebilirsin:
C++:
void CRenderTarget::SetWeapon(DWORD vnum)
{
    if (!m_visible || !m_pModel)
        return;
    m_pModel->ChangeWeapon(vnum, 0);
}
Anladım. Render target sisteminin evrim sistemi ile bir alakası yok zaten. Dolayısıyla bahsettiğin hatayı da muhtemelen şu bloktan alıyorsundur:
C++:
void CRenderTarget::SetWeapon(DWORD vnum)
{
    if (!m_visible || !m_pModel)
        return;
    m_pModel->ChangeWeapon(vnum);
}

Bunu şu şekilde değiştirip deneyebilirsin:
C++:
void CRenderTarget::SetWeapon(DWORD vnum)
{
    if (!m_visible || !m_pModel)
        return;
    m_pModel->ChangeWeapon(vnum, 0);
}
 
Çözüm
Anladım. Render target sisteminin evrim sistemi ile bir alakası yok zaten. Dolayısıyla bahsettiğin hatayı da muhtemelen şu bloktan alıyorsundur:
C++:
void CRenderTarget::SetWeapon(DWORD vnum)
{
    if (!m_visible || !m_pModel)
        return;
    m_pModel->ChangeWeapon(vnum);
}

Bunu şu şekilde değiştirip deneyebilirsin:
C++:
void CRenderTarget::SetWeapon(DWORD vnum)
{
    if (!m_visible || !m_pModel)
        return;
    m_pModel->ChangeWeapon(vnum, 0);
}

Teşekkürler çözüldü.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst