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

Poprawione pliki. Kompiluje się, ale nie buduje. Problem z linkerem.

This commit is contained in:
firleju
2016-10-02 14:14:38 +02:00
parent 5f7d4cc34b
commit 5ecf7915d2
10 changed files with 719 additions and 664 deletions

View File

@@ -4,17 +4,16 @@
<MACROS> <MACROS>
<VERSION value="BCB.05.03"/> <VERSION value="BCB.05.03"/>
<PROJECT value="E:\Gry\MaSzyna_15_04\EU07.exe"/> <PROJECT value="E:\Gry\MaSzyna_15_04\EU07.exe"/>
<OBJFILES value="QueryParserComp.obj McZapkie\_mover.obj McZapkie\hamulce.obj EU07.obj <OBJFILES value="QueryParserComp.obj McZapkie\_mover.obj EU07.obj dumb3d.obj Camera.obj
dumb3d.obj Camera.obj Texture.obj World.obj Model3d.obj MdlMngr.obj Texture.obj World.obj Model3d.obj MdlMngr.obj Train.obj wavread.obj
Train.obj wavread.obj Timer.obj Event.obj MemCell.obj Logs.obj Spring.obj Timer.obj Event.obj MemCell.obj Logs.obj Spring.obj Button.obj Globals.obj
Button.obj Globals.obj Gauge.obj AnimModel.obj Ground.obj TrkFoll.obj Gauge.obj AnimModel.obj Ground.obj TrkFoll.obj Segment.obj Sound.obj
Segment.obj Sound.obj AdvSound.obj Track.obj DynObj.obj RealSound.obj AdvSound.obj Track.obj DynObj.obj RealSound.obj EvLaunch.obj FadeSound.obj
EvLaunch.obj FadeSound.obj Traction.obj TractionPower.obj parser.obj Traction.obj TractionPower.obj parser.obj sky.obj AirCoupler.obj
sky.obj AirCoupler.obj opengl\glew.obj ResourceManager.obj VBO.obj opengl\glew.obj ResourceManager.obj VBO.obj mtable.obj TextureDDS.obj
mtable.obj TextureDDS.obj opengl\ARB_Multisample.obj Float3d.obj opengl\ARB_Multisample.obj Float3d.obj Classes.obj Driver.obj Names.obj
Classes.obj Driver.obj Names.obj Console.obj Mover.obj Console.obj Mover.obj McZapkie\hamulce.obj McZapkie\Oerlikon_ESt.obj
McZapkie\Oerlikon_ESt.obj Console\PoKeys55.obj Forth.obj Console\LPT.obj Console\PoKeys55.obj Forth.obj Console\LPT.obj PyInt.obj"/>
PyInt.obj"/>
<RESFILES value="EU07.res"/> <RESFILES value="EU07.res"/>
<IDLFILES value=""/> <IDLFILES value=""/>
<IDLGENFILES value=""/> <IDLGENFILES value=""/>

View File

@@ -81,7 +81,7 @@ USEUNIT("Names.cpp");
USEUNIT("Console.cpp"); USEUNIT("Console.cpp");
USEUNIT("Mover.cpp"); USEUNIT("Mover.cpp");
USEUNIT("McZapkie\_mover.pas"); USEUNIT("McZapkie\_mover.pas");
USEUNIT("McZapkie\hamulce.pas"); USEUNIT("McZapkie\hamulce.cpp");
USEUNIT("McZapkie\Oerlikon_ESt.cpp"); USEUNIT("McZapkie\Oerlikon_ESt.cpp");
USEUNIT("Console\PoKeys55.cpp"); USEUNIT("Console\PoKeys55.cpp");
USEUNIT("Forth.cpp"); USEUNIT("Forth.cpp");

View File

@@ -3,7 +3,7 @@
// All rights reserved // All rights reserved
// (DO NOT EDIT: machine generated header) '_mover.pas' rev: 5.00 // (DO NOT EDIT: machine generated header) '_mover.pas' rev: 5.00
//Ra: eee... tam, sam siê generuje b³êdnie i trzeba rêcznie poprawiaæ! //Ra: eee... tam, sam si<EFBFBD> generuje b<EFBFBD><EFBFBD>dnie i trzeba r<EFBFBD>cznie poprawia<EFBFBD>!
#ifndef _moverHPP #ifndef _moverHPP
#define _moverHPP #define _moverHPP
@@ -12,7 +12,7 @@
#pragma option push -w- #pragma option push -w-
#pragma option push -Vx #pragma option push -Vx
#include <Oerlikon_ESt.h> // Pascal unit #include <Oerlikon_ESt.h> // Pascal unit
#include <hamulce.hpp> // Pascal unit #include <hamulce.h> // Pascal unit
#include <SysUtils.hpp> // Pascal unit #include <SysUtils.hpp> // Pascal unit
#include <mctools.hpp> // Pascal unit #include <mctools.hpp> // Pascal unit
#include <SysInit.hpp> // Pascal unit #include <SysInit.hpp> // Pascal unit

View File

@@ -22,7 +22,7 @@ double d2A(double d)
// ------ RURA ------ // ------ RURA ------
double __fastcall TRura::P(void) double TRura::P(void)
{ {
return Next->P(); return Next->P();
} }
@@ -209,7 +209,7 @@ void TPrzekED::Update(double dt)
// ------ OERLIKON EST NA BOGATO ------ // ------ OERLIKON EST NA BOGATO ------
double __fastcall TNESt3::GetPF(double PP, double dt, double Vel) // przeplyw miedzy komora wstepna i PG double TNESt3::GetPF(double PP, double dt, double Vel) // przeplyw miedzy komora wstepna i PG
{ {
double dV; double dV;
double dV1; double dV1;
@@ -322,7 +322,7 @@ void TNESt3::EStParams(double i_crc) // parametry charakterystyczne dla ESt
{ {
} }
void __fastcall TNESt3::Init(double PP, double HPP, double LPP, double BP, unsigned char BDF) void TNESt3::Init(double PP, double HPP, double LPP, double BP, unsigned char BDF)
{ {
ValveRes->CreatePress(1 * PP); ValveRes->CreatePress(1 * PP);
BrakeCyl->CreatePress(1 * BP); BrakeCyl->CreatePress(1 * BP);
@@ -347,7 +347,7 @@ void __fastcall TNESt3::Init(double PP, double HPP, double LPP, double BP, unsig
RapidStaly = true; RapidStaly = true;
} }
double __fastcall TNESt3::GetCRP() double TNESt3::GetCRP()
{ {
return CntrlRes->P(); return CntrlRes->P();
// return Przekladniki[1].P; // return Przekladniki[1].P;
@@ -462,7 +462,7 @@ void TNESt3::PLC(double mass)
1); 1);
} }
void __fastcall TNESt3::ForceEmptiness() void TNESt3::ForceEmptiness()
{ {
ValveRes->CreatePress(0); ValveRes->CreatePress(0);
BrakeRes->CreatePress(0); BrakeRes->CreatePress(0);

View File

@@ -17,7 +17,7 @@ http://mozilla.org/MPL/2.0/.
Copyright (C) 2007-2014 Maciej Cierniak Copyright (C) 2007-2014 Maciej Cierniak
*/ */
#include <hamulce.hpp> // Pascal unit #include "hamulce.h" // Pascal unit
#include <friction.hpp> // Pascal unit #include <friction.hpp> // Pascal unit
#include <SysUtils.hpp> // Pascal unit #include <SysUtils.hpp> // Pascal unit
#include <mctools.hpp> // Pascal unit #include <mctools.hpp> // Pascal unit
@@ -93,7 +93,7 @@ class TRura : public TPrzekladnik // nieprzekladnik, rura laczaca
{ {
private: private:
public: public:
virtual __fastcall double P(void) /*override*/; virtual double P(void) /*override*/;
virtual void Update(double dt) /*override*/; virtual void Update(double dt) /*override*/;
}; };
@@ -190,11 +190,11 @@ class TNESt3 : public TBrake
double LBP; // cisnienie hamulca pomocniczego double LBP; // cisnienie hamulca pomocniczego
public: public:
virtual double __fastcall GetPF(double PP, double dt, virtual double GetPF(double PP, double dt,
double Vel) /*override*/; // przeplyw miedzy komora wstepna i PG double Vel) /*override*/; // przeplyw miedzy komora wstepna i PG
void EStParams(double i_crc); // parametry charakterystyczne dla ESt void EStParams(double i_crc); // parametry charakterystyczne dla ESt
virtual void __fastcall Init(double PP, double HPP, double LPP, double BP, unsigned char BDF) /*override*/; virtual void Init(double PP, double HPP, double LPP, double BP, unsigned char BDF) /*override*/;
virtual double __fastcall GetCRP() /*override*/; virtual double GetCRP() /*override*/;
void CheckState(double BCP, double &dV1); // glowny przyrzad rozrzadczy void CheckState(double BCP, double &dV1); // glowny przyrzad rozrzadczy
void CheckReleaser(double dt); // odluzniacz void CheckReleaser(double dt); // odluzniacz
double CVs(double BP); // napelniacz sterujacego double CVs(double BP); // napelniacz sterujacego
@@ -202,7 +202,7 @@ class TNESt3 : public TBrake
void SetSize(int size, std::string params); // ustawianie dysz (rozmiaru ZR), przekladniki void SetSize(int size, std::string params); // ustawianie dysz (rozmiaru ZR), przekladniki
void PLC(double mass); // wspolczynnik cisnienia przystawki wazacej void PLC(double mass); // wspolczynnik cisnienia przystawki wazacej
void SetLP(double TM, double LM, double TBP); // parametry przystawki wazacej void SetLP(double TM, double LM, double TBP); // parametry przystawki wazacej
virtual void __fastcall ForceEmptiness() /*override*/; // wymuszenie bycia pustym virtual void ForceEmptiness() /*override*/; // wymuszenie bycia pustym
void SetLBP(double P); // cisnienie z hamulca pomocniczego void SetLBP(double P); // cisnienie z hamulca pomocniczego
}; };

View File

@@ -10,7 +10,7 @@
#pragma delphiheader begin #pragma delphiheader begin
#pragma option push -w- #pragma option push -w-
#pragma option push -Vx #pragma option push -Vx
#include <hamulce.hpp> // Pascal unit #include <hamulce.h> // Pascal unit
#include <friction.hpp> // Pascal unit #include <friction.hpp> // Pascal unit
#include <SysUtils.hpp> // Pascal unit #include <SysUtils.hpp> // Pascal unit
#include <mctools.hpp> // Pascal unit #include <mctools.hpp> // Pascal unit

View File

@@ -11,7 +11,7 @@
#pragma option push -w- #pragma option push -w-
#pragma option push -Vx #pragma option push -Vx
#include <Oerlikon_ESt.h> // Pascal unit #include <Oerlikon_ESt.h> // Pascal unit
#include <hamulce.hpp> // Pascal unit #include <hamulce.h> // Pascal unit
#include <SysUtils.hpp> // Pascal unit #include <SysUtils.hpp> // Pascal unit
#include <mctools.hpp> // Pascal unit #include <mctools.hpp> // Pascal unit
#include <SysInit.hpp> // Pascal unit #include <SysInit.hpp> // Pascal unit

View File

@@ -14,7 +14,6 @@ Copyright (C) 2007-2014 Maciej Cierniak
#include "hamulce.h" #include "hamulce.h"
#include "../Mover.h" #include "../Mover.h"
#include <math.h>
#include <typeinfo> #include <typeinfo>
#include <cmath> #include <cmath>
@@ -46,7 +45,7 @@ double PF(double P1, double P2, double S, double DP = 0.25)
double PH = Max0R(P1, P2) + 1; // wyzsze cisnienie absolutne double PH = Max0R(P1, P2) + 1; // wyzsze cisnienie absolutne
double PL = P1 + P2 - PH + 2; // nizsze cisnienie absolutne double PL = P1 + P2 - PH + 2; // nizsze cisnienie absolutne
double sg = PL * 1.0 / PH; // bezwymiarowy stosunek cisnien double sg = PL * 1.0 / PH; // bezwymiarowy stosunek cisnien
double FM = PH * 197 * S * sign(P2 - P1); // najwyzszy mozliwy przeplyw, wraz z kierunkiem double FM = PH * 197 * S * Sign(P2 - P1); // najwyzszy mozliwy przeplyw, wraz z kierunkiem
if ((sg > 0.5)) // jesli ponizej stosunku krytycznego if ((sg > 0.5)) // jesli ponizej stosunku krytycznego
if ((PH - PL) < DP) // niewielka roznica cisnien if ((PH - PL) < DP) // niewielka roznica cisnien
return (1 - sg) * 1.0 / DPL * FM * 2 * sqrt((DP) * (PH - DP)); return (1 - sg) * 1.0 / DPL * FM * 2 * sqrt((DP) * (PH - DP));
@@ -64,7 +63,7 @@ double PF1(double P1, double P2, double S)
double PH = Max0R(P1, P2) + 1; // wyzsze cisnienie absolutne double PH = Max0R(P1, P2) + 1; // wyzsze cisnienie absolutne
double PL = P1 + P2 - PH + 2; // nizsze cisnienie absolutne double PL = P1 + P2 - PH + 2; // nizsze cisnienie absolutne
double sg = PL * 1.0 / PH; // bezwymiarowy stosunek cisnien double sg = PL * 1.0 / PH; // bezwymiarowy stosunek cisnien
double FM = PH * 197 * S * sign(P2 - P1); // najwyzszy mozliwy przeplyw, wraz z kierunkiem double FM = PH * 197 * S * Sign(P2 - P1); // najwyzszy mozliwy przeplyw, wraz z kierunkiem
if ((sg > 0.5)) // jesli ponizej stosunku krytycznego if ((sg > 0.5)) // jesli ponizej stosunku krytycznego
if ((sg < DPS)) // niewielka roznica cisnien if ((sg < DPS)) // niewielka roznica cisnien
return (1 - sg) * 1.0 / DPS * FM * 2 * sqrt((DPS) * (1 - DPS)); return (1 - sg) * 1.0 / DPS * FM * 2 * sqrt((DPS) * (1 - DPS));
@@ -74,6 +73,11 @@ double PF1(double P1, double P2, double S)
return FM; return FM;
} }
long lround(double value)
{
return floorl(value + 0.5);
}
double PFVa(double PH, double PL, double S, double LIM, double PFVa(double PH, double PL, double S, double LIM,
double DP = 0.1) // zawor napelniajacy z PH do PL, PL do LIM double DP = 0.1) // zawor napelniajacy z PH do PL, PL do LIM
{ {
@@ -1841,24 +1845,24 @@ void TKE::CheckState(double BCP, double &dV1)
// sprawdzanie stanu // sprawdzanie stanu
if ((BrakeStatus && 1) == 1) if ((BrakeStatus && 1) == 1)
if ((VVP + 0.003 + BCP * 1.0 / BVM < CVP)) if ((VVP + 0.003 + BCP * 1.0 / BVM < CVP))
BrakeStatus = BrakeStatus = (BrakeStatus || 2); // hamowanie stopniowe;
(BrakeStatus || 2) // hamowanie stopniowe;else if( ( VVP-0.003+BCP*1.0/BVM>CVP ) ) else if ((VVP - 0.003 + BCP * 1.0 / BVM > CVP))
BrakeStatus = (BrakeStatus && 252) // luzowanie;else if( ( VVP+BCP*1.0/BVM>CVP ) ) BrakeStatus = (BrakeStatus && 252); // luzowanie;
BrakeStatus = (BrakeStatus && 253) // zatrzymanie napelaniania;else else if ((VVP + BCP * 1.0 / BVM > CVP))
; BrakeStatus = (BrakeStatus && 253); // zatrzymanie napelaniania;
else if ((VVP + 0.10 < CVP) && (BCP < 0.1)) // poczatek hamowania else
{ ;
BrakeStatus = (BrakeStatus || 3); else if ((VVP + 0.10 < CVP) && (BCP < 0.1)) // poczatek hamowania
ValveRes.CreatePress(0.8 * VVP); // przyspieszacz {
} BrakeStatus = (BrakeStatus || 3);
else if ((VVP + BCP * 1.0 / BVM < CVP) && ValveRes->CreatePress(0.8 * VVP); // przyspieszacz
((CVP - VVP) * BVM > 0.25)) // zatrzymanie luzowanie }
BrakeStatus = (BrakeStatus || 1); else if ((VVP + BCP * 1.0 / BVM < CVP) && ((CVP - VVP) * BVM > 0.25)) // zatrzymanie luzowanie
BrakeStatus = (BrakeStatus || 1);
} }
double TKE::CVs(double BP) double TKE::CVs(double BP)
{ {
double result;
double VVP; double VVP;
double BVP; double BVP;
double CVP; double CVP;
@@ -1869,17 +1873,15 @@ double TKE::CVs(double BP)
// przeplyw ZS <-> PG // przeplyw ZS <-> PG
if ((BP > 0.2)) if ((BP > 0.2))
CVs = 0; return 0;
else if ((VVP > CVP + 0.4)) else if ((VVP > CVP + 0.4))
CVs = 0.05; return 0.05;
else else
CVs = 0.23; return 0.23;
return result;
} }
double TKE::BVs(double BCP) double TKE::BVs(double BCP)
{ {
double result;
double VVP; double VVP;
double BVP; double BVP;
double CVP; double CVP;
@@ -1890,12 +1892,11 @@ double TKE::BVs(double BCP)
// przeplyw ZP <-> rozdzielacz // przeplyw ZP <-> rozdzielacz
if ((BVP > VVP)) if ((BVP > VVP))
BVs = 0; return 0;
else if ((BVP < CVP - 0.3)) else if ((BVP < CVP - 0.3))
BVs = 0.6; return 0.6;
else else
BVs = 0.13; return 0.13;
return result;
} }
double TKE::GetPF(double PP, double dt, double Vel) double TKE::GetPF(double PP, double dt, double Vel)
@@ -2077,32 +2078,32 @@ void TKE::SetLBP(double P)
//---KRANY--- //---KRANY---
double HANDLE::GetPF(double i_bcp, double PP, double HP, double dt, double ep) double THandle::GetPF(double i_bcp, double PP, double HP, double dt, double ep)
{ {
return 0; return 0;
} }
void HANDLE::Init(double Press) void THandle::Init(double Press)
{ {
Time = false; Time = false;
TimeEP = false; TimeEP = false;
} }
void HANDLE::SetReductor(double nAdj) void THandle::SetReductor(double nAdj)
{ {
} }
double HANDLE::GetCP() double THandle::GetCP()
{ {
return 0; return 0;
} }
double HANDLE::GetSound(Byte i) double THandle::GetSound(Byte i)
{ {
return 0; return 0;
} }
double HANDLE::GetPos(Byte i) double THandle::GetPos(Byte i)
{ {
return 0; return 0;
} }

File diff suppressed because it is too large Load Diff

View File

@@ -22,6 +22,8 @@ http://mozilla.org/MPL/2.0/.
#include "Timer.h" #include "Timer.h"
#include "Driver.h" #include "Driver.h"
#include "Console.h" #include "Console.h"
#include "McZapkie\hamulce.h"
#include <typeinfo>
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
#pragma package(smart_init) #pragma package(smart_init)
@@ -321,7 +323,7 @@ PyObject *TTrain::GetTrainState()
bool bEP, bPN; bool bEP, bPN;
bEP = (mvControlled->LocHandle->GetCP()>0.2) || (fEIMParams[0][2]>0.01); bEP = (mvControlled->LocHandle->GetCP()>0.2) || (fEIMParams[0][2]>0.01);
PyDict_SetItemString(dict, "dir_brake", PyGetBool(bEP)); PyDict_SetItemString(dict, "dir_brake", PyGetBool(bEP));
if (mvControlled->Hamulec->ClassNameIs("TLSt") || mvControlled->Hamulec->ClassNameIs("TEStED")) if (typeid(mvControlled->Hamulec) == typeid(TLSt) || typeid(mvControlled->Hamulec) == typeid(TEStED))
{ {
TBrake* temp_ham = mvControlled->Hamulec; TBrake* temp_ham = mvControlled->Hamulec;
// TLSt* temp_ham2 = temp_ham; // TLSt* temp_ham2 = temp_ham;