16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-18 06:39:18 +02:00

restored keyboard controls for events; tweaks to intensity of vehicle spotlights, minor bug fixes

This commit is contained in:
tmj-fstate
2017-03-06 03:27:52 +01:00
parent d920644af8
commit 89fe4e7f7c
8 changed files with 88 additions and 47 deletions

View File

@@ -472,7 +472,7 @@ bool TWorld::Init( GLFWwindow *w ) {
// Camera.Init(vector3(1500,5,-4000),0,M_PI,0);
// McZapkie-130302 - coby nie przekompilowywac:
// Camera.Init(Global::pFreeCameraInit,0,M_PI,0);
Camera.Init(Global::pFreeCameraInit[0], Global::pFreeCameraInitAngle[0]);
Camera.Init(Global::FreeCameraInit[0], Global::FreeCameraInitAngle[0]);
char buff[255] = "Player train init: ";
glRasterPos2f( -0.85f * widthratio, -0.50f );
@@ -570,9 +570,9 @@ void TWorld::OnKeyDown(int cKey)
// na każdy kod wirtualny niech przypadają 4 bajty: 2 dla naciśnięcia i 2 dla zwolnienia
// powtórzone 256 razy da 1kB na każdy stan przełączników, łącznie będzie 4kB pierwszej tabeli
// przekodowania
if ((cKey <= '9') ? (cKey >= '0') : false) // klawisze cyfrowe
if( ( cKey >= GLFW_KEY_0 ) && ( cKey <= GLFW_KEY_9 ) ) // klawisze cyfrowe
{
int i = cKey - '0'; // numer klawisza
int i = cKey - GLFW_KEY_0; // numer klawisza
if (Global::shiftState)
{ // z [Shift] uruchomienie eventu
if (!Global::iPause) // podczas pauzy klawisze nie działają
@@ -584,32 +584,31 @@ void TWorld::OnKeyDown(int cKey)
if( ( Global::iTextMode != GLFW_KEY_F12 ) &&
( Global::iTextMode != GLFW_KEY_F3 ) ) // ograniczamy użycie kamer
{
if ((!Global::pFreeCameraInit[i].x && !Global::pFreeCameraInit[i].y &&
!Global::pFreeCameraInit[i].z))
if ((!Global::FreeCameraInit[i].x)
&& (!Global::FreeCameraInit[i].y)
&& (!Global::FreeCameraInit[i].z))
{ // jeśli kamera jest w punkcie zerowym, zapamiętanie współrzędnych i kątów
Global::pFreeCameraInit[i] = Camera.Pos;
Global::pFreeCameraInitAngle[i].x = Camera.Pitch;
Global::pFreeCameraInitAngle[i].y = Camera.Yaw;
Global::pFreeCameraInitAngle[i].z = Camera.Roll;
Global::FreeCameraInit[i] = Camera.Pos;
Global::FreeCameraInitAngle[i].x = Camera.Pitch;
Global::FreeCameraInitAngle[i].y = Camera.Yaw;
Global::FreeCameraInitAngle[i].z = Camera.Roll;
// logowanie, żeby można było do scenerii przepisać
WriteLog(
"camera " + std::to_string( Global::pFreeCameraInit[i].x ) + " " +
std::to_string(Global::pFreeCameraInit[i].y ) + " " +
std::to_string(Global::pFreeCameraInit[i].z ) + " " +
std::to_string(RadToDeg(Global::pFreeCameraInitAngle[i].x)) +
" " +
std::to_string(RadToDeg(Global::pFreeCameraInitAngle[i].y)) +
" " +
std::to_string(RadToDeg(Global::pFreeCameraInitAngle[i].z)) +
" " + std::to_string(i) + " endcamera");
"camera " + std::to_string( Global::FreeCameraInit[i].x ) + " "
+ std::to_string(Global::FreeCameraInit[i].y ) + " "
+ std::to_string(Global::FreeCameraInit[i].z ) + " "
+ std::to_string(RadToDeg(Global::FreeCameraInitAngle[i].x)) + " "
+ std::to_string(RadToDeg(Global::FreeCameraInitAngle[i].y)) + " "
+ std::to_string(RadToDeg(Global::FreeCameraInitAngle[i].z)) + " "
+ std::to_string(i) + " endcamera");
}
else // również przeskakiwanie
{ // Ra: to z tą kamerą (Camera.Pos i Global::pCameraPosition) jest trochę bez sensu
Global::SetCameraPosition(
Global::pFreeCameraInit[i]); // nowa pozycja dla generowania obiektów
Global::FreeCameraInit[i]); // nowa pozycja dla generowania obiektów
Ground.Silence(Camera.Pos); // wyciszenie wszystkiego z poprzedniej pozycji
Camera.Init(Global::pFreeCameraInit[i],
Global::pFreeCameraInitAngle[i]); // przestawienie
Camera.Init(Global::FreeCameraInit[i],
Global::FreeCameraInitAngle[i]); // przestawienie
}
}
// będzie jeszcze załączanie sprzęgów z [Ctrl]
@@ -802,9 +801,9 @@ void TWorld::OnKeyDown(int cKey)
CouplNr = 0; // z [-1,1] zrobić [0,1]
int mask, set = 0; // Ra: [Shift]+[Ctrl]+[T] odpala mi jakąś idiotyczną zmianę
// tapety pulpitu :/
if (Global::shiftState < 0) // z [Shift] zapalanie
if (Global::shiftState) // z [Shift] zapalanie
set = mask = 64; // bez [Ctrl] założyć tabliczki
else if (Global::ctrlState < 0)
else if (Global::ctrlState)
set = mask = 2 + 32; // z [Ctrl] zapalić światła czerwone
else
mask = 2 + 32 + 64; // wyłączanie ściąga wszystko