mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-21 15:59:18 +02:00
merge
This commit is contained in:
21
World.h
21
World.h
@@ -18,7 +18,7 @@ http://mozilla.org/MPL/2.0/.
|
||||
#include "stars.h"
|
||||
#include "skydome.h"
|
||||
#include "mczapkie/mover.h"
|
||||
#include "glfw/glfw3.h"
|
||||
#include "renderer.h"
|
||||
|
||||
// wrapper for environment elements -- sky, sun, stars, clouds etc
|
||||
class world_environment {
|
||||
@@ -27,6 +27,7 @@ public:
|
||||
void init();
|
||||
void update();
|
||||
void render();
|
||||
void time( int const Hour = -1, int const Minute = -1, int const Second = -1 );
|
||||
|
||||
private:
|
||||
CSkyDome m_skydome;
|
||||
@@ -37,6 +38,9 @@ private:
|
||||
|
||||
class TWorld
|
||||
{
|
||||
// NOTE: direct access is a shortcut, but world etc needs some restructuring regardless
|
||||
friend opengl_renderer;
|
||||
|
||||
void InOutKey( bool const Near = true );
|
||||
void FollowView(bool wycisz = true);
|
||||
void DistantView( bool const Near = false );
|
||||
@@ -53,6 +57,8 @@ class TWorld
|
||||
void OnCommandGet(DaneRozkaz *pRozkaz);
|
||||
bool Update();
|
||||
void TrainDelete(TDynamicObject *d = NULL);
|
||||
// switches between static and dynamic daylight calculation
|
||||
void ToggleDaylight();
|
||||
TWorld();
|
||||
~TWorld();
|
||||
// double Aspect;
|
||||
@@ -63,27 +69,24 @@ class TWorld
|
||||
std::string OutText4;
|
||||
void Update_Environment();
|
||||
void Update_Camera( const double Deltatime );
|
||||
bool Render();
|
||||
void Update_UI();
|
||||
void ResourceSweep();
|
||||
void Render_Cab();
|
||||
void Render_UI();
|
||||
TCamera Camera;
|
||||
TGround Ground;
|
||||
world_environment Environment;
|
||||
TTrain *Train;
|
||||
TDynamicObject *pDynamicNearest;
|
||||
bool Paused{ true };
|
||||
GLuint base; // numer DL dla znaków w napisach
|
||||
texture_manager::size_type light; // numer tekstury dla smugi
|
||||
TEvent *KeyEvents[10]; // eventy wyzwalane z klawiaury
|
||||
TMoverParameters *mvControlled; // wskaźnik na człon silnikowy, do wyświetlania jego parametrów
|
||||
int iCheckFPS; // kiedy znów sprawdzić FPS, żeby wyłączać optymalizacji od razu do zera
|
||||
double fTime50Hz; // bufor czasu dla komunikacji z PoKeys
|
||||
double fTimeBuffer; // bufor czasu aktualizacji dla stałego kroku fizyki
|
||||
double fMaxDt; //[s] krok czasowy fizyki (0.01 dla normalnych warunków)
|
||||
double m_primaryupdaterate{ 1.0 / 100.0 };
|
||||
double m_primaryupdateaccumulator{ 0.0 }; // keeps track of elapsed simulation time, for core fixed step routines
|
||||
double m_secondaryupdaterate{ 1.0 / 50.0 };
|
||||
double m_secondaryupdateaccumulator{ 0.0 }; // keeps track of elapsed simulation time, for less important fixed step routines
|
||||
double m_primaryupdateaccumulator{ m_secondaryupdaterate }; // keeps track of elapsed simulation time, for core fixed step routines
|
||||
double m_secondaryupdateaccumulator{ m_secondaryupdaterate }; // keeps track of elapsed simulation time, for less important fixed step routines
|
||||
int iPause; // wykrywanie zmian w zapauzowaniu
|
||||
double VelPrev; // poprzednia prędkość
|
||||
int tprev; // poprzedni czas
|
||||
@@ -94,6 +97,8 @@ class TWorld
|
||||
void ModifyTGA(std::string const &dir = "");
|
||||
void CreateE3D(std::string const &dir = "", bool dyn = false);
|
||||
void CabChange(TDynamicObject *old, TDynamicObject *now);
|
||||
// handles vehicle change flag
|
||||
void ChangeDynamic();
|
||||
|
||||
gl_program_light shader; //m7todo: tmp
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user