mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-03-22 06:55:02 +01:00
Konwersja na UTF-8
Konwersja na UTF-8 Dodany nowy warunek dla formatera aby nie sortował includów.
This commit is contained in:
@@ -11,4 +11,5 @@ AllowShortBlocksOnASingleLine: false
|
||||
AllowShortIfStatementsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: Empty
|
||||
ColumnLimit: 100
|
||||
SortIncludes: false
|
||||
---
|
||||
|
||||
@@ -32,14 +32,14 @@ bool TLPT::Connect(int port)
|
||||
OutPort = (OutPortType)GetProcAddress(hDLL, "Out32");
|
||||
}
|
||||
else
|
||||
return false; // MessageBox(NULL,"ERROR","B³¹d przy ³adowaniu pliku",MB_OK);
|
||||
return false; // MessageBox(NULL,"ERROR","Błąd przy ładowaniu pliku",MB_OK);
|
||||
address =
|
||||
port; //&0xFFFFFC; //ostatnie 2 bity maj¹ byæ zerowe -> a niech sobie OUT-uj¹, gdzie chc¹
|
||||
port; //&0xFFFFFC; //ostatnie 2 bity mają być zerowe -> a niech sobie OUT-ują, gdzie chcą
|
||||
switch (address) // nie dotyczy 0x3BC
|
||||
{
|
||||
case 0x0378:
|
||||
case 0x0278:
|
||||
OutPort(address + 0x402, 0); // SPP, czyli jednokierunkowe wyjœcie
|
||||
OutPort(address + 0x402, 0); // SPP, czyli jednokierunkowe wyjście
|
||||
break;
|
||||
case 0xBC00:
|
||||
case 0xBD00:
|
||||
@@ -49,6 +49,6 @@ bool TLPT::Connect(int port)
|
||||
};
|
||||
|
||||
void TLPT::Out(int x)
|
||||
{ // wys³anie bajtu do portu
|
||||
{ // wysłanie bajtu do portu
|
||||
OutPort(address, x);
|
||||
};
|
||||
|
||||
@@ -8,11 +8,11 @@ http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
/*
|
||||
Program obsługi portu COM i innych na potrzeby sterownika MWDevice
|
||||
(oraz innych wykorzystujących komunikację przez port COM)
|
||||
dla Symulatora Pojazdów Szynowych MaSzyna
|
||||
Program obsługi portu COM i innych na potrzeby sterownika MWDevice
|
||||
(oraz innych wykorzystujących komunikację przez port COM)
|
||||
dla Symulatora Pojazdów Szynowych MaSzyna
|
||||
author: Maciej Witek 2016
|
||||
Autor nie ponosi odpowiedzialności za niewłaciwe używanie lub działanie programu!
|
||||
Autor nie ponosi odpowiedzialności za niewłaciwe używanie lub działanie programu!
|
||||
*/
|
||||
#include "stdafx.h"
|
||||
#include "MWD.h"
|
||||
@@ -22,8 +22,8 @@ http://mozilla.org/MPL/2.0/.
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#define BYTETOWRITE 31 /* ilość bajtów przesyłanych z MaSzyny*/
|
||||
#define BYTETOREAD 16 /* ilość bajtów przesyłanych do MaSzyny*/
|
||||
#define BYTETOWRITE 31 /* ilość bajtów przesyłanych z MaSzyny*/
|
||||
#define BYTETOREAD 16 /* ilość bajtów przesyłanych do MaSzyny*/
|
||||
|
||||
HANDLE hComm;
|
||||
|
||||
@@ -32,7 +32,7 @@ MWDComm::MWDComm() // konstruktor
|
||||
MWDTime = 0;
|
||||
bSHPstate = false;
|
||||
bPrzejazdSHP = false;
|
||||
bKabina1 = true; // pasuje wyciągnąć dane na temat kabiny i ustawiać te dwa parametry!
|
||||
bKabina1 = true; // pasuje wyciągnąć dane na temat kabiny i ustawiać te dwa parametry!
|
||||
bKabina2 = false;
|
||||
bHamowanie = false;
|
||||
bCzuwak = false;
|
||||
@@ -134,7 +134,7 @@ bool MWDComm::Close() // zamykanie portu COM
|
||||
i++;
|
||||
}
|
||||
Sleep(100);
|
||||
SendData(); // wysyłanie do pulpitu: zatrzymanie haslera i zgaszenie lampek
|
||||
SendData(); // wysyłanie do pulpitu: zatrzymanie haslera i zgaszenie lampek
|
||||
Sleep(700);
|
||||
CloseHandle(hComm);
|
||||
WriteLog("COM is close!");
|
||||
@@ -156,7 +156,7 @@ bool MWDComm::ReadData() // odbieranie danych + odczyta danych analogowych i zap
|
||||
|
||||
fAnalog[0] =
|
||||
(float)((ReadDataBuff[9] << 8) + ReadDataBuff[8]) /
|
||||
Global::fMWDAnalogCalib[0][3]; // 4095.0f; //max wartosc wynikająca z rozdzielczości
|
||||
Global::fMWDAnalogCalib[0][3]; // 4095.0f; //max wartosc wynikająca z rozdzielczości
|
||||
fAnalog[1] =
|
||||
(float)((ReadDataBuff[11] << 8) + ReadDataBuff[10]) / Global::fMWDAnalogCalib[1][3];
|
||||
fAnalog[2] =
|
||||
@@ -168,7 +168,7 @@ bool MWDComm::ReadData() // odbieranie danych + odczyta danych analogowych i zap
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool MWDComm::SendData() // wysyłanie danych
|
||||
bool MWDComm::SendData() // wysyłanie danych
|
||||
{
|
||||
DWORD bytes_write;
|
||||
DWORD fdwEvtMask;
|
||||
@@ -178,7 +178,7 @@ bool MWDComm::SendData() // wysy
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool MWDComm::Run() // wywoływanie obsługi MWD + generacja większego opóźnienia
|
||||
bool MWDComm::Run() // wywoływanie obsługi MWD + generacja większego opóźnienia
|
||||
{
|
||||
MWDTime++;
|
||||
if (!(MWDTime % 5))
|
||||
@@ -193,14 +193,14 @@ bool MWDComm::Run() // wywo
|
||||
else
|
||||
{
|
||||
WriteLog("Port COM: connection ERROR!");
|
||||
// może spróbować się połączyć znowu?
|
||||
// może spróbować się połączyć znowu?
|
||||
return 0;
|
||||
}
|
||||
MWDTime = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void MWDComm::CheckData() // sprawdzanie wejść cyfrowych i odpowiednie sterowanie maszyną
|
||||
void MWDComm::CheckData() // sprawdzanie wejść cyfrowych i odpowiednie sterowanie maszyną
|
||||
{
|
||||
int i = 0;
|
||||
while (i < 6)
|
||||
@@ -210,23 +210,23 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
i++;
|
||||
}
|
||||
/*
|
||||
Rozpiska portów!
|
||||
Port0: 0 NC odblok. przek. sprężarki i wentyl. oporów
|
||||
1 M wyłącznik wył. szybkiego
|
||||
2 Shift+M impuls załączający wył. szybki
|
||||
3 N odblok. przekaźników nadmiarowych
|
||||
i różnicowego obwodu głównego
|
||||
Rozpiska portów!
|
||||
Port0: 0 NC odblok. przek. sprężarki i wentyl. oporów
|
||||
1 M wyłącznik wył. szybkiego
|
||||
2 Shift+M impuls załączający wył. szybki
|
||||
3 N odblok. przekaźników nadmiarowych
|
||||
i różnicowego obwodu głównego
|
||||
4 NC rezerwa
|
||||
5 Ctrl+N odblok. przek. nadmiarowych
|
||||
przetwornicy, ogrzewania pociągu i różnicowych obw. pomocniczych
|
||||
6 L wył. styczników liniowych
|
||||
przetwornicy, ogrzewania pociągu i różnicowych obw. pomocniczych
|
||||
6 L wył. styczników liniowych
|
||||
7 SPACE kasowanie czuwaka
|
||||
|
||||
Port1: 0 NC
|
||||
1 (Shift) X przetwornica
|
||||
2 (Shift) C sprężarka
|
||||
2 (Shift) C sprężarka
|
||||
3 S piasecznice
|
||||
4 (Shift) H ogrzewanie składu
|
||||
4 (Shift) H ogrzewanie składu
|
||||
5 przel. hamowania Shift+B
|
||||
pspbpwy Ctrl+B pospieszny B towarowy
|
||||
6 przel. hamowania
|
||||
@@ -234,10 +234,10 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
|
||||
Port2: 0 (Shift) P pantograf przedni
|
||||
1 (Shift) O pantograf tylni
|
||||
2 ENTER przyhamowanie przy poślizgu
|
||||
3 () przyciemnienie świateł
|
||||
4 () przyciemnienie świateł
|
||||
5 NUM6 odluźniacz
|
||||
2 ENTER przyhamowanie przy poślizgu
|
||||
3 () przyciemnienie świateł
|
||||
4 () przyciemnienie świateł
|
||||
5 NUM6 odluźniacz
|
||||
6 a syrena lok W
|
||||
7 A syrena lok N
|
||||
|
||||
@@ -251,18 +251,18 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
7
|
||||
*/
|
||||
|
||||
/* po przełączeniu bistabilnego najpierw wciskamy klawisz i przy następnym
|
||||
wejściu w pętlę MWD puszczamy bo inaczej nie działa
|
||||
/* po przełączeniu bistabilnego najpierw wciskamy klawisz i przy następnym
|
||||
wejściu w pętlę MWD puszczamy bo inaczej nie działa
|
||||
*/
|
||||
|
||||
// wciskanie przycisków klawiatury
|
||||
// wciskanie przycisków klawiatury
|
||||
/*PORT0*/
|
||||
if (maskData[0] & 0x02 && lastStateData[0] & 0x02)
|
||||
KeyBoard('M', 1); // wyłączenie wyłącznika szybkiego
|
||||
KeyBoard('M', 1); // wyłączenie wyłącznika szybkiego
|
||||
else
|
||||
KeyBoard('M', 0); // monostabilny
|
||||
if (maskData[0] & 0x04 && lastStateData[0] & 0x04)
|
||||
{ // impuls załączający wyłącznik szybki
|
||||
{ // impuls załączający wyłącznik szybki
|
||||
KeyBoard(0x10, 1); // monostabilny
|
||||
KeyBoard('M', 1);
|
||||
}
|
||||
@@ -272,12 +272,12 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
KeyBoard(0x10, 0);
|
||||
}
|
||||
if (maskData[0] & 0x08 && lastStateData[0] & 0x08)
|
||||
KeyBoard('N', 1); // odblok nadmiarowego silników trakcyjnych
|
||||
KeyBoard('N', 1); // odblok nadmiarowego silników trakcyjnych
|
||||
else
|
||||
KeyBoard('N', 0); // monostabilny
|
||||
if (maskData[0] & 0x20 && lastStateData[0] & 0x20)
|
||||
{ // odblok nadmiarowego przetwornicy, ogrzewania poc.
|
||||
KeyBoard(0x11, 1); // różnicowego obwodów pomocniczych
|
||||
KeyBoard(0x11, 1); // różnicowego obwodów pomocniczych
|
||||
KeyBoard('N', 1); // monostabilny
|
||||
}
|
||||
else
|
||||
@@ -286,7 +286,7 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
KeyBoard(0x11, 0);
|
||||
}
|
||||
if (maskData[0] & 0x40 && lastStateData[0] & 0x40)
|
||||
KeyBoard('L', 1); // wył. styczników liniowych
|
||||
KeyBoard('L', 1); // wył. styczników liniowych
|
||||
else
|
||||
KeyBoard('L', 0); // monostabilny
|
||||
if (maskData[0] & 0x80 && lastStateData[0] & 0x80)
|
||||
@@ -365,7 +365,7 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
KeyBoard('X', 1);
|
||||
}
|
||||
if (maskData[1] & 0x04 && lastStateData[1] & 0x04)
|
||||
{ // sprężarka
|
||||
{ // sprężarka
|
||||
KeyBoard(0x10, 1); // bistabilny
|
||||
KeyBoard('C', 1);
|
||||
maskSwitch[1] |= 0x04;
|
||||
@@ -382,7 +382,7 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
else
|
||||
KeyBoard('S', 0); // monostabilny
|
||||
if (maskData[1] & 0x10 && lastStateData[1] & 0x10)
|
||||
{ // ogrzewanie składu
|
||||
{ // ogrzewanie składu
|
||||
KeyBoard(0x11, 1); // bistabilny
|
||||
KeyBoard('H', 1);
|
||||
maskSwitch[1] |= 0x10;
|
||||
@@ -395,7 +395,7 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
KeyBoard('H', 1);
|
||||
}
|
||||
if (maskData[1] & 0x20 || maskData[1] & 0x40)
|
||||
{ // przełącznik hamowania
|
||||
{ // przełącznik hamowania
|
||||
if (lastStateData[1] & 0x20)
|
||||
{ // Shift+B
|
||||
KeyBoard(0x10, 1);
|
||||
@@ -475,7 +475,7 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
KeyBoard('O', 1);
|
||||
}
|
||||
if (maskData[2] & 0x04 && lastStateData[2] & 0x04)
|
||||
{ // przyhamowanie przy poślizgu
|
||||
{ // przyhamowanie przy poślizgu
|
||||
KeyBoard(0x10, 1); // monostabilny
|
||||
KeyBoard(0x0D, 1);
|
||||
}
|
||||
@@ -485,7 +485,7 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
KeyBoard(0x0D, 0);
|
||||
KeyBoard(0x10, 0);
|
||||
}
|
||||
/*if(maskData[2] & 0x08 && lastStateData[2] & 0x08){ // przyciemnienie świateł
|
||||
/*if(maskData[2] & 0x08 && lastStateData[2] & 0x08){ // przyciemnienie świateł
|
||||
KeyBoard(' ',0); // bistabilny
|
||||
KeyBoard(0x10,1);
|
||||
KeyBoard(' ',1);
|
||||
@@ -494,7 +494,7 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
KeyBoard(0x10,0);
|
||||
KeyBoard(' ',1);
|
||||
}
|
||||
if(maskData[2] & 0x10 && lastStateData[2] & 0x10) { // przyciemnienie świateł
|
||||
if(maskData[2] & 0x10 && lastStateData[2] & 0x10) { // przyciemnienie świateł
|
||||
KeyBoard(' ',0); // bistabilny
|
||||
KeyBoard(0x11,1);
|
||||
KeyBoard(' ',1);
|
||||
@@ -504,7 +504,7 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
KeyBoard(' ',1);
|
||||
}*/
|
||||
if (maskData[2] & 0x20 && lastStateData[2] & 0x20)
|
||||
KeyBoard(0x66, 1); // odluźniacz
|
||||
KeyBoard(0x66, 1); // odluźniacz
|
||||
else
|
||||
KeyBoard(0x66, 0); // monostabilny
|
||||
if (maskData[2] & 0x40 && lastStateData[2] & 0x40)
|
||||
@@ -713,28 +713,28 @@ void MWDComm::CheckData() // sprawdzanie wej
|
||||
{
|
||||
bnkMask |= 1;
|
||||
nastawnik++;
|
||||
KeyBoard(0x6B, 1); // wciśnij + i dodaj 1 do nastawnika
|
||||
KeyBoard(0x6B, 1); // wciśnij + i dodaj 1 do nastawnika
|
||||
}
|
||||
if (nastawnik > ReadDataBuff[6])
|
||||
{
|
||||
bnkMask |= 2;
|
||||
nastawnik--;
|
||||
KeyBoard(0x6D, 1); // wciśnij - i odejmij 1 do nastawnika
|
||||
KeyBoard(0x6D, 1); // wciśnij - i odejmij 1 do nastawnika
|
||||
}
|
||||
if (bocznik < ReadDataBuff[7])
|
||||
{
|
||||
bnkMask |= 4;
|
||||
bocznik++;
|
||||
KeyBoard(0x6F, 1); // wciśnij / i dodaj 1 do bocznika
|
||||
KeyBoard(0x6F, 1); // wciśnij / i dodaj 1 do bocznika
|
||||
}
|
||||
if (bocznik > ReadDataBuff[7])
|
||||
{
|
||||
bnkMask |= 8;
|
||||
bocznik--;
|
||||
KeyBoard(0x6A, 1); // wciśnij * i odejmij 1 do bocznika
|
||||
KeyBoard(0x6A, 1); // wciśnij * i odejmij 1 do bocznika
|
||||
}
|
||||
|
||||
/* Obsługa HASLERA */
|
||||
/* Obsługa HASLERA */
|
||||
if (ReadDataBuff[0] & 0x80)
|
||||
bCzuwak = true;
|
||||
|
||||
|
||||
@@ -8,11 +8,11 @@ http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
/*
|
||||
Program obsługi portu COM i innych na potrzeby sterownika MWDevice
|
||||
(oraz innych wykorzystujących komunikację przez port COM)
|
||||
dla Symulatora Pojazdów Szynowych MaSzyna
|
||||
Program obsługi portu COM i innych na potrzeby sterownika MWDevice
|
||||
(oraz innych wykorzystujących komunikację przez port COM)
|
||||
dla Symulatora Pojazdów Szynowych MaSzyna
|
||||
author: Maciej Witek 2016
|
||||
Autor nie ponosi odpowiedzialności za niewłaciwe używanie lub działanie programu!
|
||||
Autor nie ponosi odpowiedzialności za niewłaciwe używanie lub działanie programu!
|
||||
*/
|
||||
|
||||
#ifndef MWDH
|
||||
@@ -32,7 +32,7 @@ class MWDComm
|
||||
|
||||
bool ReadData(); // BYTE *pReadDataBuff);
|
||||
bool SendData(); // BYTE *pWriteDataBuff);
|
||||
void CheckData(); // sprawdzanie zmian wejść i kontrola mazaków HASLERA
|
||||
void CheckData(); // sprawdzanie zmian wejść i kontrola mazaków HASLERA
|
||||
void KeyBoard(int key, bool s);
|
||||
|
||||
bool bRysik1H;
|
||||
@@ -42,11 +42,11 @@ class MWDComm
|
||||
|
||||
public:
|
||||
bool Open(); // Otwarcie portu
|
||||
bool Close(); // Zamknięcie portu
|
||||
bool Run(); // Obsługa portu
|
||||
bool GetMWDState(); // sprawdź czy port jest otwarty, 0 zamknięty, 1 otwarty
|
||||
bool Close(); // Zamknięcie portu
|
||||
bool Run(); // Obsługa portu
|
||||
bool GetMWDState(); // sprawdź czy port jest otwarty, 0 zamknięty, 1 otwarty
|
||||
|
||||
// zmienne do rysików HASLERA
|
||||
// zmienne do rysików HASLERA
|
||||
bool bSHPstate;
|
||||
bool bPrzejazdSHP;
|
||||
bool bKabina1;
|
||||
@@ -54,7 +54,7 @@ class MWDComm
|
||||
bool bHamowanie;
|
||||
bool bCzuwak;
|
||||
|
||||
float fAnalog[4]; // trzymanie danych z wejść analogowych
|
||||
float fAnalog[4]; // trzymanie danych z wejść analogowych
|
||||
|
||||
BYTE ReadDataBuff[17]; // bufory danych
|
||||
BYTE WriteDataBuff[31];
|
||||
@@ -65,37 +65,37 @@ class MWDComm
|
||||
#endif
|
||||
|
||||
/*
|
||||
INFO - zmiany dokonane w innych plikach niezbędne do prawidłowego działania:
|
||||
INFO - zmiany dokonane w innych plikach niezbędne do prawidłowego działania:
|
||||
|
||||
Console.cpp:
|
||||
Console::AnalogCalibrateGet - obsługa kranów hamulców
|
||||
Console::Update - wywoływanie obsługi MWD
|
||||
Console::ValueSet - obsługa manometrów, mierników WN (PWM-y)
|
||||
Console::AnalogCalibrateGet - obsługa kranów hamulców
|
||||
Console::Update - wywoływanie obsługi MWD
|
||||
Console::ValueSet - obsługa manometrów, mierników WN (PWM-y)
|
||||
Console::BitsUpdate - ustawiania lampek
|
||||
Console::Off - zamykanie portu COM
|
||||
Console::On - otwieranie portu COM
|
||||
Console::~Console - usuwanie MWD (jest też w Console OFF)
|
||||
Console::~Console - usuwanie MWD (jest też w Console OFF)
|
||||
|
||||
MWDComm * Console::MWD = NULL; - luzem, obiekt i wskaźnik(?)
|
||||
dodatkowo zmieniłem int na long int dla BitSet i BitClear oraz iBits
|
||||
MWDComm * Console::MWD = NULL; - luzem, obiekt i wskaźnik(?)
|
||||
dodatkowo zmieniłem int na long int dla BitSet i BitClear oraz iBits
|
||||
|
||||
Train.cpp:
|
||||
if (Global::iFeedbackMode == 5) - pobieranie prędkości, manometrów i mierników WN
|
||||
if (ggBrakeCtrl.SubModel) - możliwość sterowania hamulcem zespolonym
|
||||
if (ggLocalBrake.SubModel) - możliwość sterowania hamulcem lokomotywy
|
||||
if (Global::iFeedbackMode == 5) - pobieranie prędkości, manometrów i mierników WN
|
||||
if (ggBrakeCtrl.SubModel) - możliwość sterowania hamulcem zespolonym
|
||||
if (ggLocalBrake.SubModel) - możliwość sterowania hamulcem lokomotywy
|
||||
|
||||
Globals.h:
|
||||
dodano zmienne dla MWD
|
||||
Globals.cpp:
|
||||
dodano inicjalizaję zmiennych i odczyt z ini ustawień
|
||||
dodano inicjalizaję zmiennych i odczyt z ini ustawień
|
||||
|
||||
Wpisy do pliku eu07.ini
|
||||
|
||||
//maciek001 MWD
|
||||
comportname COM3 // wybór portu COM
|
||||
comportname COM3 // wybór portu COM
|
||||
mwdbaudrate 500000
|
||||
|
||||
mwdbreakenable yes // czy załączyć sterowanie hamulcami? blokuje klawiature
|
||||
mwdbreakenable yes // czy załączyć sterowanie hamulcami? blokuje klawiature
|
||||
mwdbreak 1 255 0 255 // hamulec zespolony
|
||||
mwdbreak 2 255 0 255 // hamulec lokomotywy
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ TPoKeys55::TPoKeys55()
|
||||
fAnalog[0] = fAnalog[1] = fAnalog[2] = fAnalog[3] = fAnalog[4] = fAnalog[5] = fAnalog[6] = -1.0;
|
||||
iPWM[0] = iPWM[1] = iPWM[2] = iPWM[3] = iPWM[4] = iPWM[5] = iPWM[6] = 0;
|
||||
iPWM[7] = 4096;
|
||||
iInputs[0] = 0; // czy normalnie s¹ w stanie wysokim?
|
||||
iInputs[0] = 0; // czy normalnie są w stanie wysokim?
|
||||
iRepeats = 0;
|
||||
bNoError = true;
|
||||
};
|
||||
@@ -43,7 +43,7 @@ TPoKeys55::~TPoKeys55()
|
||||
};
|
||||
//---------------------------------------------------------------------------
|
||||
void TPoKeys55::Close()
|
||||
{ // roz³¹czenie komunikacji
|
||||
{ // rozłączenie komunikacji
|
||||
if (WriteHandle != INVALID_HANDLE_VALUE)
|
||||
CloseHandle(WriteHandle);
|
||||
WriteHandle = INVALID_HANDLE_VALUE;
|
||||
@@ -53,10 +53,10 @@ void TPoKeys55::Close()
|
||||
};
|
||||
//---------------------------------------------------------------------------
|
||||
bool TPoKeys55::Connect()
|
||||
{ // Ra: to jest do wyczyszcznia z niepotrzebnych zmiennych i komunikatów
|
||||
{ // Ra: to jest do wyczyszcznia z niepotrzebnych zmiennych i komunikatów
|
||||
Close();
|
||||
GUID InterfaceClassGuid = {0x4d1e55b2, 0xf16f, 0x11cf, 0x88, 0xcb, 0x00,
|
||||
0x11, 0x11, 0x00, 0x00, 0x30}; // wszystkie HID tak maj¹
|
||||
0x11, 0x11, 0x00, 0x00, 0x30}; // wszystkie HID tak mają
|
||||
HDEVINFO DeviceInfoTable;
|
||||
PSP_DEVICE_INTERFACE_DATA InterfaceDataStructure = new SP_DEVICE_INTERFACE_DATA;
|
||||
PSP_DEVICE_INTERFACE_DETAIL_DATA DetailedInterfaceDataStructure =
|
||||
@@ -192,7 +192,7 @@ bool TPoKeys55::Connect()
|
||||
}
|
||||
SetupDiDestroyDeviceInfoList(
|
||||
DeviceInfoTable); // Clean up the old structure we no longer need.
|
||||
iRepeats = 0; // nowe szanse na pod³¹czenie
|
||||
iRepeats = 0; // nowe szanse na podłączenie
|
||||
return true;
|
||||
}
|
||||
InterfaceIndex++;
|
||||
@@ -209,15 +209,15 @@ bool TPoKeys55::Write(unsigned char c, unsigned char b3, unsigned char b4, unsig
|
||||
OutputBuffer[0] = 0; // The first byte is the "Report ID" and does not get transmitted over the
|
||||
// USB bus. Always set=0.
|
||||
OutputBuffer[1] = 0xBB; // 0xBB - bajt rozpoznawczy dla PoKeys55
|
||||
OutputBuffer[2] = iLastCommand = c; // operacja: 0x31: blokowy odczyt wejϾ
|
||||
OutputBuffer[3] = b3; // np. numer pinu (o 1 mniej ni¿ numer na p³ytce)
|
||||
OutputBuffer[2] = iLastCommand = c; // operacja: 0x31: blokowy odczyt wejść
|
||||
OutputBuffer[3] = b3; // np. numer pinu (o 1 mniej niż numer na płytce)
|
||||
OutputBuffer[4] = b4;
|
||||
OutputBuffer[5] = b5;
|
||||
OutputBuffer[6] = 0;
|
||||
OutputBuffer[7] = ++cRequest; // numer ¿¹dania
|
||||
OutputBuffer[7] = ++cRequest; // numer żądania
|
||||
OutputBuffer[8] = 0;
|
||||
for (int i = 0; i < 8; ++i)
|
||||
OutputBuffer[8] += OutputBuffer[i]; // czy sumowaæ te¿ od 9 do 64?
|
||||
OutputBuffer[8] += OutputBuffer[i]; // czy sumować też od 9 do 64?
|
||||
// The basic Windows I/O functions WriteFile() and ReadFile() can be used to read and write to
|
||||
// HID class USB devices
|
||||
//(once we have the read and write handles to the device, which are obtained with CreateFile()).
|
||||
@@ -225,7 +225,7 @@ bool TPoKeys55::Write(unsigned char c, unsigned char b3, unsigned char b4, unsig
|
||||
WriteFile(WriteHandle, &OutputBuffer, 65, &BytesWritten,
|
||||
0); // Blocking function, unless an "overlapped" structure is used
|
||||
return (BytesWritten == 65);
|
||||
// Read(); //odczyt trzeba zrobiæ inaczej - w tym miejscu bêdzie za szybko i nic siê nie odczyta
|
||||
// Read(); //odczyt trzeba zrobić inaczej - w tym miejscu będzie za szybko i nic się nie odczyta
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
@@ -246,18 +246,18 @@ bool TPoKeys55::Read()
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
bool TPoKeys55::ReadLoop(int i)
|
||||
{ // próbuje odczytaæ (i) razy
|
||||
{ // próbuje odczytać (i) razy
|
||||
do
|
||||
{
|
||||
if (Read())
|
||||
return true;
|
||||
Sleep(1); // trochê poczekaæ, a¿ odpowie
|
||||
Sleep(1); // trochę poczekać, aż odpowie
|
||||
} while (--i);
|
||||
return false;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
std::string TPoKeys55::Version()
|
||||
{ // zwraca numer wersji, funkcja nieoptymalna czasowo (czeka na odpowiedŸ)
|
||||
{ // zwraca numer wersji, funkcja nieoptymalna czasowo (czeka na odpowiedź)
|
||||
if (!WriteHandle)
|
||||
return "";
|
||||
Write(0x00, 0); // 0x00 - Read serial number, version
|
||||
@@ -266,17 +266,17 @@ std::string TPoKeys55::Version()
|
||||
std::string s = "PoKeys55 #" + std::to_string((InputBuffer[3] << 8) + InputBuffer[4]);
|
||||
s += " v" + std::to_string(1 + (InputBuffer[5] >> 4)) + "." + std::to_string(InputBuffer[5] & 15) +
|
||||
"." + std::to_string(InputBuffer[6]);
|
||||
/* //Ra: pozyskiwanie daty mo¿na sobie darowaæ, jest poniek¹d bez sensu
|
||||
Write(0x04,0); //0x04 - Read build date: drugi argument zmieniaæ od 0 do 2, uzyskuj¹c
|
||||
/* //Ra: pozyskiwanie daty można sobie darować, jest poniekąd bez sensu
|
||||
Write(0x04,0); //0x04 - Read build date: drugi argument zmieniać od 0 do 2, uzyskując
|
||||
kolejno po 4 znaki
|
||||
if (ReadLoop(5))
|
||||
{//2: 0x04; 3-6: char 1-4, 5-8, 9-11; (83-65-112-32-32-49-32-50-48-49-49-0=="Sep 1 2011")
|
||||
s+=" ("+AnsiString((char*)InputBuffer+3,4);
|
||||
Write(0x04,1); //0x04 - Read build date: drugi argument zmieniaæ od 0 do 2, uzyskuj¹c
|
||||
Write(0x04,1); //0x04 - Read build date: drugi argument zmieniać od 0 do 2, uzyskując
|
||||
kolejno po 4 znaki
|
||||
if (ReadLoop(5))
|
||||
{s+=AnsiString((char*)InputBuffer+3,4);
|
||||
Write(0x04,2); //0x04 - Read build date: drugi argument zmieniaæ od 0 do 2, uzyskuj¹c
|
||||
Write(0x04,2); //0x04 - Read build date: drugi argument zmieniać od 0 do 2, uzyskując
|
||||
kolejno po 4 znaki
|
||||
if (ReadLoop(5))
|
||||
s+=AnsiString((char*)InputBuffer+3,3);
|
||||
@@ -297,16 +297,16 @@ bool TPoKeys55::PWM(int x, float y)
|
||||
}
|
||||
|
||||
bool TPoKeys55::Update(bool pause)
|
||||
{ // funkcja powinna byæ wywo³ywana regularnie, np. raz w ka¿dej ramce ekranowej
|
||||
{ // funkcja powinna być wywoływana regularnie, np. raz w każdej ramce ekranowej
|
||||
if (pause)
|
||||
{ // specjalna procedura, jeœli utracone po³¹czenie spowodowa³o pauzê
|
||||
iLastCommand = 0; // po³¹czenie zosta³o na nowo otwarte
|
||||
// iFaza=0; //jeden b³¹d i podtrzymanie pauzy jest kontynuowane
|
||||
{ // specjalna procedura, jeśli utracone połączenie spowodowało pauzę
|
||||
iLastCommand = 0; // połączenie zostało na nowo otwarte
|
||||
// iFaza=0; //jeden błąd i podtrzymanie pauzy jest kontynuowane
|
||||
}
|
||||
switch (iFaza)
|
||||
{
|
||||
case 0: // uaktualnienie PWM raz na jakiœ czas
|
||||
OutputBuffer[9] = 0x3F; // maska u¿ytych PWM
|
||||
case 0: // uaktualnienie PWM raz na jakiś czas
|
||||
OutputBuffer[9] = 0x3F; // maska użytych PWM
|
||||
*((int *)(OutputBuffer + 10)) = iPWM[0]; // PWM1 (pin 22)
|
||||
*((int *)(OutputBuffer + 14)) = iPWM[1]; // PWM2 (pin 21)
|
||||
*((int *)(OutputBuffer + 18)) = iPWM[2]; // PWM3 (pin 20)
|
||||
@@ -314,16 +314,16 @@ bool TPoKeys55::Update(bool pause)
|
||||
*((int *)(OutputBuffer + 26)) = iPWM[4]; // PWM5 (pin 18)
|
||||
*((int *)(OutputBuffer + 30)) = iPWM[5]; // PWM6 (pin 17)
|
||||
*((int *)(OutputBuffer + 34)) = iPWM[7]; // PWM period
|
||||
if (Write(0xCB, 1)) // wys³anie ustawieñ (1-ustaw, 0-odczyt)
|
||||
iRepeats = 0; // informacja, ¿e posz³o dobrze
|
||||
++iFaza; // ta faza zosta³a zakoñczona
|
||||
if (Write(0xCB, 1)) // wysłanie ustawień (1-ustaw, 0-odczyt)
|
||||
iRepeats = 0; // informacja, że poszło dobrze
|
||||
++iFaza; // ta faza została zakończona
|
||||
// iRepeats=0;
|
||||
break;
|
||||
case 1: // odczyt wejϾ analogowych - komenda i przetwarzanie
|
||||
if (iLastCommand != 0x3A) // asynchroniczne ustawienie kontrolki mo¿e namieszaæ
|
||||
Write(0x3A, 0); // 0x3A - Analog inputs reading – all analog inputs in one command
|
||||
case 1: // odczyt wejść analogowych - komenda i przetwarzanie
|
||||
if (iLastCommand != 0x3A) // asynchroniczne ustawienie kontrolki może namieszać
|
||||
Write(0x3A, 0); // 0x3A - Analog inputs reading – all analog inputs in one command
|
||||
else if (Read())
|
||||
{ // jest odebrana ramka i zgodnoœæ numeru ¿¹dania
|
||||
{ // jest odebrana ramka i zgodność numeru żądania
|
||||
fAnalog[0] = ((InputBuffer[21] << 8) + InputBuffer[22]) / 4095.0f; // pin 47
|
||||
fAnalog[1] = ((InputBuffer[19] << 8) + InputBuffer[20]) / 4095.0f; // pin 46
|
||||
fAnalog[2] = ((InputBuffer[17] << 8) + InputBuffer[18]) / 4095.0f; // pin 45
|
||||
@@ -331,44 +331,44 @@ bool TPoKeys55::Update(bool pause)
|
||||
fAnalog[4] = ((InputBuffer[13] << 8) + InputBuffer[14]) / 4095.0f; // pin 43
|
||||
fAnalog[5] = ((InputBuffer[11] << 8) + InputBuffer[12]) / 4095.0f; // pin 42
|
||||
fAnalog[6] = ((InputBuffer[9] << 8) + InputBuffer[10]) / 4095.0f; // pin 41
|
||||
++iFaza; // skoro odczytano, mo¿na przejœæ do kolejnej fazy
|
||||
iRepeats = 0; // zerowanie licznika prób
|
||||
++iFaza; // skoro odczytano, można przejść do kolejnej fazy
|
||||
iRepeats = 0; // zerowanie licznika prób
|
||||
}
|
||||
else
|
||||
++iRepeats; // licznik nieudanych prób
|
||||
++iRepeats; // licznik nieudanych prób
|
||||
break;
|
||||
case 2: // odczyt wejϾ cyfrowych - komenda i przetwarzanie
|
||||
if (iLastCommand != 0x31) // asynchroniczne ustawienie kontrolki mo¿e namieszaæ
|
||||
Write(0x31, 0); // 0x31: blokowy odczyt wejϾ
|
||||
case 2: // odczyt wejść cyfrowych - komenda i przetwarzanie
|
||||
if (iLastCommand != 0x31) // asynchroniczne ustawienie kontrolki może namieszać
|
||||
Write(0x31, 0); // 0x31: blokowy odczyt wejść
|
||||
else if (Read())
|
||||
{ // jest odebrana ramka i zgodnoœæ numeru ¿¹dania
|
||||
iInputs[0] = *((int *)(InputBuffer + 3)); // odczyt 32 bitów
|
||||
iFaza = 3; // skoro odczytano, mo¿na kolejny cykl
|
||||
iRepeats = 0; // zerowanie licznika prób
|
||||
{ // jest odebrana ramka i zgodność numeru żądania
|
||||
iInputs[0] = *((int *)(InputBuffer + 3)); // odczyt 32 bitów
|
||||
iFaza = 3; // skoro odczytano, można kolejny cykl
|
||||
iRepeats = 0; // zerowanie licznika prób
|
||||
}
|
||||
else
|
||||
++iRepeats; // licznik nieudanych prób
|
||||
++iRepeats; // licznik nieudanych prób
|
||||
break;
|
||||
case 3: // ustawienie wyjœæ analogowych, 0..4095 mapowaæ na 0..65520 (<<4)
|
||||
if (Write(0x41, 43 - 1, (iPWM[6] >> 4), (iPWM[6] << 4))) // wys³anie ustawieñ
|
||||
iRepeats = 0; // informacja, ¿e posz³o dobrze
|
||||
iFaza = 0; //++iFaza; //ta faza zosta³a zakoñczona
|
||||
// powinno jeszcze przyjϾ potwierdzenie o kodzie 0x41
|
||||
case 3: // ustawienie wyjść analogowych, 0..4095 mapować na 0..65520 (<<4)
|
||||
if (Write(0x41, 43 - 1, (iPWM[6] >> 4), (iPWM[6] << 4))) // wysłanie ustawień
|
||||
iRepeats = 0; // informacja, że poszło dobrze
|
||||
iFaza = 0; //++iFaza; //ta faza została zakończona
|
||||
// powinno jeszcze przyjść potwierdzenie o kodzie 0x41
|
||||
break;
|
||||
default:
|
||||
iFaza = 0; // na wypadek, gdyby zb³¹dzi³o po jakichœ zmianach w kodzie
|
||||
iFaza = 0; // na wypadek, gdyby zbłądziło po jakichś zmianach w kodzie
|
||||
// iRepeats=0;
|
||||
}
|
||||
if (!iRepeats)
|
||||
bNoError = true; // jest OK
|
||||
else if (iRepeats >= 10) // youBy 2014-07: przy 5 powtórzeniach sieje mi pauz¹ po 2 razy na
|
||||
// sekundê, a przy 10 jest ok
|
||||
{ // przekroczenie liczby prób wymusza kolejn¹ fazê
|
||||
else if (iRepeats >= 10) // youBy 2014-07: przy 5 powtórzeniach sieje mi pauzą po 2 razy na
|
||||
// sekundę, a przy 10 jest ok
|
||||
{ // przekroczenie liczby prób wymusza kolejną fazę
|
||||
++iFaza;
|
||||
iRepeats = 1; // w nowej fazie nowe szanse, ale nie od 0!
|
||||
bNoError = false; // zg³osiæ b³¹d
|
||||
bNoError = false; // zgłosić błąd
|
||||
}
|
||||
return (bNoError); // true oznacza prawid³owe dzia³anie
|
||||
// czy w przypadku b³êdu komunikacji z PoKeys w³¹czaæ pauzê?
|
||||
// dopiero poprawne pod³¹czenie zeruje licznik prób
|
||||
return (bNoError); // true oznacza prawidłowe działanie
|
||||
// czy w przypadku błędu komunikacji z PoKeys włączać pauzę?
|
||||
// dopiero poprawne podłączenie zeruje licznik prób
|
||||
};
|
||||
|
||||
@@ -11,18 +11,18 @@ http://mozilla.org/MPL/2.0/.
|
||||
#include <string>
|
||||
//---------------------------------------------------------------------------
|
||||
class TPoKeys55
|
||||
{ // komunikacja z PoKeys bez okreœlania przeznaczenia pinów
|
||||
unsigned char cRequest; // numer ¿¹dania do sprawdzania odpowiedzi
|
||||
{ // komunikacja z PoKeys bez określania przeznaczenia pinów
|
||||
unsigned char cRequest; // numer żądania do sprawdzania odpowiedzi
|
||||
unsigned char OutputBuffer[65]; // Allocate a memory buffer equal to our endpoint size + 1
|
||||
unsigned char InputBuffer[65]; // Allocate a memory buffer equal to our endpoint size + 1
|
||||
int iPWM[8]; // 0-5:wyjœcia PWM,6:analogowe,7:czêstotliwoœc PWM
|
||||
int iPWM[8]; // 0-5:wyjścia PWM,6:analogowe,7:częstotliwośc PWM
|
||||
int iPWMbits;
|
||||
int iLastCommand;
|
||||
int iFaza;
|
||||
int iRepeats; // liczba powtórzeñ
|
||||
bool bNoError; // zerowany po przepe³nieniu licznika powtórzeñ, ustawiany po udanej operacji
|
||||
int iRepeats; // liczba powtórzeń
|
||||
bool bNoError; // zerowany po przepełnieniu licznika powtórzeń, ustawiany po udanej operacji
|
||||
public:
|
||||
float fAnalog[7]; // wejœcia analogowe, stan <0.0,1.0>
|
||||
float fAnalog[7]; // wejścia analogowe, stan <0.0,1.0>
|
||||
int iInputs[8];
|
||||
TPoKeys55();
|
||||
~TPoKeys55();
|
||||
|
||||
2227
DynObj.cpp
2227
DynObj.cpp
File diff suppressed because it is too large
Load Diff
73
EU07.cpp
73
EU07.cpp
@@ -69,8 +69,8 @@ int InitGL(GLvoid) // All Setup For OpenGL Goes Here
|
||||
glEnableClientState(GL_VERTEX_ARRAY);
|
||||
glEnableClientState(GL_NORMAL_ARRAY);
|
||||
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
Global::pWorld = &World; // Ra: wska<EFBFBD>nik potrzebny do usuwania pojazd<EFBFBD>w
|
||||
return World.Init(hWnd, hDC); // true je<EFBFBD>li wszystko p<EFBFBD>jdzie dobrze
|
||||
Global::pWorld = &World; // Ra: wskaźnik potrzebny do usuwania pojazdów
|
||||
return World.Init(hWnd, hDC); // true jeśli wszystko pójdzie dobrze
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
@@ -403,22 +403,22 @@ LRESULT CALLBACK WndProc(HWND hWnd, // handle for this window
|
||||
RECT rect;
|
||||
switch (uMsg) // check for windows messages
|
||||
{
|
||||
case WM_PASTE: //[Ctrl]+[V] potrzebujemy do innych cel<EFBFBD>w
|
||||
case WM_PASTE: //[Ctrl]+[V] potrzebujemy do innych celów
|
||||
return 0;
|
||||
case WM_COPYDATA: // obs<EFBFBD>uga danych przes<EFBFBD>anych przez program steruj<EFBFBD>cy
|
||||
case WM_COPYDATA: // obsługa danych przesłanych przez program sterujący
|
||||
pDane = (PCOPYDATASTRUCT)lParam;
|
||||
if (pDane->dwData == 'EU07') // sygnatura danych
|
||||
World.OnCommandGet((DaneRozkaz *)(pDane->lpData));
|
||||
break;
|
||||
case WM_ACTIVATE: // watch for window activate message
|
||||
// case WM_ACTIVATEAPP:
|
||||
{ // Ra: uzale<EFBFBD>nienie aktywno<EFBFBD>ci od bycia na wierzchu
|
||||
{ // Ra: uzależnienie aktywności od bycia na wierzchu
|
||||
Global::bActive = (LOWORD(wParam) != WA_INACTIVE);
|
||||
if (Global::bInactivePause) // je<EFBFBD>li ma by<EFBFBD> pauzowanie okna w tle
|
||||
if (Global::bInactivePause) // jeśli ma być pauzowanie okna w tle
|
||||
if (Global::bActive)
|
||||
Global::iPause &= ~4; // odpauzowanie, gdy jest na pierwszym planie
|
||||
else
|
||||
Global::iPause |= 4; // w<EFBFBD><EFBFBD>czenie pauzy, gdy nieaktywy
|
||||
Global::iPause |= 4; // włączenie pauzy, gdy nieaktywy
|
||||
if (Global::bActive)
|
||||
SetCursorPos(mx, my);
|
||||
ShowCursor(!Global::bActive);
|
||||
@@ -472,8 +472,8 @@ LRESULT CALLBACK WndProc(HWND hWnd, // handle for this window
|
||||
case WM_KEYDOWN:
|
||||
if (Global::bActive)
|
||||
{
|
||||
if (wParam != 17) // bo naci<EFBFBD>ni<EFBFBD>cia [Ctrl] nie ma po co przekazywa<EFBFBD>
|
||||
if (wParam != 145) //[Scroll Lock] te<EFBFBD> nie
|
||||
if (wParam != 17) // bo naciśnięcia [Ctrl] nie ma po co przekazywać
|
||||
if (wParam != 145) //[Scroll Lock] też nie
|
||||
World.OnKeyDown(wParam);
|
||||
switch (wParam)
|
||||
{
|
||||
@@ -481,27 +481,27 @@ LRESULT CALLBACK WndProc(HWND hWnd, // handle for this window
|
||||
if (DebugModeFlag)
|
||||
break;
|
||||
case 19: //[Pause]
|
||||
if (Global::iPause & 1) // je<EFBFBD>li pauza startowa
|
||||
Global::iPause &= ~1; // odpauzowanie, gdy po wczytaniu mia<EFBFBD>o nie startowa<EFBFBD>
|
||||
if (Global::iPause & 1) // jeśli pauza startowa
|
||||
Global::iPause &= ~1; // odpauzowanie, gdy po wczytaniu miało nie startować
|
||||
else if (!(Global::iMultiplayer & 2)) // w multiplayerze pauza nie ma sensu
|
||||
if (!Console::Pressed(VK_CONTROL)) // z [Ctrl] to radiostop jest
|
||||
// Ra: poni<EFBFBD>sze nie ma sensu, bo brak komunikacji natychmiast zapauzuje
|
||||
// Ra: poniższe nie ma sensu, bo brak komunikacji natychmiast zapauzuje
|
||||
// ponownie
|
||||
// if (Global::iPause&8) //je<EFBFBD>li pauza zwi<EFBFBD>zana z brakiem komunikacji z
|
||||
// if (Global::iPause&8) //jeśli pauza związana z brakiem komunikacji z
|
||||
// PoKeys
|
||||
// Global::iPause&=~10; //odpauzowanie pauzy PoKeys (chyba nic nie da) i
|
||||
// ewentualnie klawiszowej r<EFBFBD>wnie<EFBFBD>
|
||||
// ewentualnie klawiszowej również
|
||||
// else
|
||||
Global::iPause ^= 2; // zmiana stanu zapauzowania
|
||||
if (Global::iPause) // jak pauza
|
||||
Global::iTextMode = VK_F1; // to wy<EFBFBD>wietli<EFBFBD> zegar i informacj<EFBFBD>
|
||||
Global::iTextMode = VK_F1; // to wyświetlić zegar i informację
|
||||
break;
|
||||
case VK_F7:
|
||||
if (DebugModeFlag)
|
||||
{ // siatki wy<EFBFBD>wietlane tyko w trybie testowym
|
||||
{ // siatki wyświetlane tyko w trybie testowym
|
||||
Global::bWireFrame = !Global::bWireFrame;
|
||||
++Global::iReCompile; // od<EFBFBD>wie<EFBFBD>y<EFBFBD> siatki
|
||||
// Ra: jeszcze usun<EFBFBD><EFBFBD> siatki ze skompilowanych obiekt<EFBFBD>w!
|
||||
++Global::iReCompile; // odświeżyć siatki
|
||||
// Ra: jeszcze usunąć siatki ze skompilowanych obiektów!
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -578,9 +578,9 @@ int WINAPI WinMain(HINSTANCE hInstance, // instance
|
||||
MSG msg; // windows message structure
|
||||
BOOL done = FALSE; // bool variable to exit loop
|
||||
fullscreen = true;
|
||||
DeleteFile("errors.txt"); // usuni<EFBFBD>cie starego
|
||||
Global::LoadIniFile("eu07.ini"); // teraz dopiero mo<EFBFBD>na przejrze<EFBFBD> plik z ustawieniami
|
||||
Global::InitKeys("keys.ini"); // wczytanie mapowania klawiszy - jest na sta<EFBFBD>e
|
||||
DeleteFile("errors.txt"); // usunięcie starego
|
||||
Global::LoadIniFile("eu07.ini"); // teraz dopiero można przejrzeć plik z ustawieniami
|
||||
Global::InitKeys("keys.ini"); // wczytanie mapowania klawiszy - jest na stałe
|
||||
|
||||
// hunter-271211: ukrywanie konsoli
|
||||
if (Global::iWriteLogEnabled & 2)
|
||||
@@ -590,7 +590,7 @@ int WINAPI WinMain(HINSTANCE hInstance, // instance
|
||||
}
|
||||
std::string commandline( lpCmdLine ); // parametry uruchomienia
|
||||
if( false == commandline.empty() )
|
||||
{ // analizowanie parametr<EFBFBD>w
|
||||
{ // analizowanie parametr�w
|
||||
cParser parser( commandline );
|
||||
std::string token;
|
||||
do {
|
||||
@@ -609,15 +609,15 @@ int WINAPI WinMain(HINSTANCE hInstance, // instance
|
||||
parser >> Global::asHumanCtrlVehicle;
|
||||
}
|
||||
else if( token == "-modifytga" )
|
||||
{ // wykonanie modyfikacji wszystkich plik<EFBFBD>w TGA
|
||||
{ // wykonanie modyfikacji wszystkich plików TGA
|
||||
Global::iModifyTGA = -1; // specjalny tryb wykonania totalnej modyfikacji
|
||||
}
|
||||
else if( token == "-e3d" )
|
||||
{ // wygenerowanie wszystkich plik<EFBFBD>w E3D
|
||||
{ // wygenerowanie wszystkich plików E3D
|
||||
if (Global::iConvertModels > 0)
|
||||
Global::iConvertModels = -Global::iConvertModels; // specjalny tryb
|
||||
else
|
||||
Global::iConvertModels = -7; // z optymalizacj<EFBFBD>, bananami i prawid<EFBFBD>owym Opacity
|
||||
Global::iConvertModels = -7; // z optymalizacją, bananami i prawidłowym Opacity
|
||||
}
|
||||
else
|
||||
Error(
|
||||
@@ -644,9 +644,9 @@ int WINAPI WinMain(HINSTANCE hInstance, // instance
|
||||
return 0; // quit if window was not created
|
||||
SetForegroundWindow(hWnd);
|
||||
// McZapkie: proba przeplukania klawiatury
|
||||
Console *pConsole = new Console(); // Ra: nie wiem, czy ma to sens, ale jako<EFBFBD> zainicjowac trzeba
|
||||
Console *pConsole = new Console(); // Ra: nie wiem, czy ma to sens, ale jakoś zainicjowac trzeba
|
||||
while (Console::Pressed(VK_F10))
|
||||
Error("Keyboard buffer problem - press F10"); // na Windows 98 lubi si<EFBFBD> to pojawia<EFBFBD>
|
||||
Error("Keyboard buffer problem - press F10"); // na Windows 98 lubi się to pojawiać
|
||||
int iOldSpeed, iOldDelay;
|
||||
SystemParametersInfo(SPI_GETKEYBOARDSPEED, 0, &iOldSpeed, 0);
|
||||
SystemParametersInfo(SPI_GETKEYBOARDDELAY, 0, &iOldDelay, 0);
|
||||
@@ -656,20 +656,20 @@ int WINAPI WinMain(HINSTANCE hInstance, // instance
|
||||
WriteLog("No joystick");
|
||||
if (Global::iModifyTGA < 0)
|
||||
{ // tylko modyfikacja TGA, bez uruchamiania symulacji
|
||||
Global::iMaxTextureSize = 64; //<EFBFBD>eby nie zamula<EFBFBD> pami<EFBFBD>ci
|
||||
World.ModifyTGA(); // rekurencyjne przegl<EFBFBD>danie katalog<EFBFBD>w
|
||||
Global::iMaxTextureSize = 64; //żeby nie zamulać pamięci
|
||||
World.ModifyTGA(); // rekurencyjne przeglądanie katalogów
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Global::iConvertModels < 0)
|
||||
{
|
||||
Global::iConvertModels = -Global::iConvertModels;
|
||||
World.CreateE3D("models\\"); // rekurencyjne przegl<EFBFBD>danie katalog<EFBFBD>w
|
||||
World.CreateE3D("models\\"); // rekurencyjne przeglądanie katalogów
|
||||
World.CreateE3D("dynamic\\", true);
|
||||
} // po zrobieniu E3D odpalamy normalnie sceneri<EFBFBD>, by j<EFBFBD> zobaczy<EFBFBD>
|
||||
} // po zrobieniu E3D odpalamy normalnie scenerię, by ją zobaczyć
|
||||
// else
|
||||
//{//g<EFBFBD><EFBFBD>wna p<EFBFBD>tla programu
|
||||
Console::On(); // w<EFBFBD><EFBFBD>czenie konsoli
|
||||
//{//główna pętla programu
|
||||
Console::On(); // włączenie konsoli
|
||||
while (!done) // loop that runs while done=FALSE
|
||||
{
|
||||
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) // is there a message waiting?
|
||||
@@ -689,14 +689,14 @@ int WINAPI WinMain(HINSTANCE hInstance, // instance
|
||||
// draw the scene, watch for quit messages
|
||||
// DrawGLScene()
|
||||
// if (!pause)
|
||||
// if (Global::bInactivePause?Global::bActive:true) //tak nie, bo spada z g<EFBFBD>ry
|
||||
// if (Global::bInactivePause?Global::bActive:true) //tak nie, bo spada z góry
|
||||
if (World.Update()) // Was There A Quit Received?
|
||||
SwapBuffers(hDC); // Swap Buffers (Double Buffering)
|
||||
else
|
||||
done = true; //[F10] or DrawGLScene signalled a quit
|
||||
}
|
||||
}
|
||||
Console::Off(); // wy<EFBFBD><EFBFBD>czenie konsoli (komunikacji zwrotnej)
|
||||
Console::Off(); // wyłączenie konsoli (komunikacji zwrotnej)
|
||||
}
|
||||
SystemParametersInfo(SPI_SETKEYBOARDSPEED, iOldSpeed, NULL, 0);
|
||||
SystemParametersInfo(SPI_SETKEYBOARDDELAY, iOldDelay, NULL, 0);
|
||||
@@ -705,6 +705,3 @@ int WINAPI WinMain(HINSTANCE hInstance, // instance
|
||||
KillGLWindow(); // kill the window
|
||||
return (msg.wParam); // exit the program
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user