Skocz do zawartości

Pole widzenia ale inny kod w plikach entry...

Opublikowano

Witam, chce dodać system od Oswapa (F.O.V Pole Widzenia) 

https://github.com/Owsap/M2_FOV_OPTION/

Ale niestety przez inny kod w plikach entry problem mam z dodaniem 

PythonApplication.cpp

 

// Search @ void CPythonApplication::RenderGame
        m_pyGraphic.SetPerspective(30.0f, fAspect, 100.0, fFarClip);


a oryginalny kod z entry wygląda tak:

 

void CPythonApplication::RenderGame()
{    const float perspectiveAngle = 30.0f;
    float aspect = m_kWndMgr.GetAspect();
    float farClip = m_pyBackground.GetFarClip();
    m_pyGraphic.SetPerspective(perspectiveAngle, aspect, 100.0, farClip);

    PreRenderOperations();
    RenderEnvironmentAndCharacters();
    return;
}


No i potem kod z UpdateGame wygląda tak:

 

/// 3.
// Search @ void CPythonApplication::UpdateGame
        s.SetPerspective(30.0f, fAspect, 100.0f, fFarClip);

// Replace with
#if defined(ENABLE_FOV_OPTION)
        s.SetPerspective(CPythonSystem::instance().GetFOV(), fAspect, 100.0f, fFarClip);
#else
        s.SetPerspective(30.0f, fAspect, 100.0f, fFarClip);
#endif


A w update entry wygląda to tak i leże kompletnie bo już nie ma SetPerspective

 

void CPythonApplication::UpdateGame()
{
    POINT ptMouse;
    GetMousePosition(&ptMouse);
    CGraphicTextInstance::Hyperlink_UpdateMousePos(ptMouse.x, ptMouse.y);

    UpdateScreenSettings();

    TPixelPosition kPPosMainActor;
    m_pyPlayer.NEW_GetMainActorPosition(&kPPosMainActor);
    m_pyBackground.Update(kPPosMainActor.x, kPPosMainActor.y, kPPosMainActor.z);

    m_GameEventManager.SetCenterPosition(kPPosMainActor.x, kPPosMainActor.y, kPPosMainActor.z);
    m_GameEventManager.Update();

    UpdateManagers(ptMouse);

    m_pyPlayer.NEW_GetMainActorPosition(&kPPosMainActor);
    SetCenterPosition(kPPosMainActor.x, kPPosMainActor.y, kPPosMainActor.z);
}


 

Rozwiązane przez Sevence

Przejdź do rozwiązania

Featured Replies

Opublikowano
2 godziny temu, Delta napisał(a):

A w update entry wygląda to tak i leże kompletnie bo już nie ma SetPerspective

Tu może i nie ma, ale jest tu 😉

 

UpdateScreenSettings();

 

image.png.e0ba757ccb7e0a258f51f689ab573363.png

 

-

 

m_pyGraphic.SetPerspective(30.0f, fAspect, 100.0, fFarClip);

 

Tu jest podobnie, nie ma fAspect, ale jest float aspect i farClip.


image.png.a478661352d17136b8f25612c7a21ed8.png

Opublikowano
  • Autor

No sprawa wygląda następująco:

image.png.c7f065268c6d0f4e7a3346e0dd7041e8.png

Opublikowano
  • Rozwiązanie

Funkcja ::RenderGame

 

🔍 Szukaj

m_pyGraphic.SetPerspective(perspectiveAngle, aspect, 100.0, farClip);

 

♻️ Zamień

m_pyGraphic.SetPerspective(CPythonSystem::instance().GetFOV(), aspect, 100.0, farClip);

 

Funkcja ::UpdateScreenSettings()

 

 🔍 Szukaj

s.SetPerspective(30.0f, fAspect, 100.0f, fFarClip);

 

 ♻️ Zamień

s.SetPerspective(CPythonSystem::instance().GetFOV(), fAspect, 100.0f, fFarClip);

 

Te stałe musisz dodać pod include

#if defined(ENABLE_FOV_OPTION)
	constexpr float c_fDefaultCameraPerspective = 30.0f;
	constexpr float c_fMinCameraPerspective = 10.0f;
	constexpr float c_fMaxCameraPerspective = 100.0f;
#endif

 

A RenderMiniMapFilter to pewnie nie czyta Ci dyrektyw z locale_inc.h dodaj do StdAfx.h w EterLib. 

 

 

Pliki entry mają pełne wsparcie w razie gdyby ktoś miał problemy z wdrożeniami jakichś systemów, proszę zakładać temat chętnie pomogę.

Opublikowano
  • Autor

Dziękuje, działa ! 😄

  • Sevence zablokował(a) ten temat
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.