diff --git a/DynObj.cpp b/DynObj.cpp index ecf78094e..7c72b4025 100644 --- a/DynObj.cpp +++ b/DynObj.cpp @@ -2009,8 +2009,11 @@ void TDynamicObject::Move(double fDistance) bEnabled &= Axle1.Move(fDistance, iAxleFirst); // oś z tyłu pojazdu prusza się pierwsza bEnabled &= Axle0.Move(fDistance /*-fAdjustment*/, !iAxleFirst); // oś z przodu pojazdu } - // Axle2.Move(fDistance,false); //te nigdy pierwsze nie są - // Axle3.Move(fDistance,false); + else //gf: bez wywolania Move na postoju nie ma event0 + { + bEnabled&=Axle1.Move(fDistance,iAxleFirst); //oś z tyłu pojazdu prusza się pierwsza + bEnabled&=Axle0.Move(fDistance,!iAxleFirst); //oś z przodu pojazdu + } if (fDistance != 0.0) // nie liczyć ponownie, jeśli stoi { // liczenie pozycji pojazdu tutaj, bo jest używane w wielu miejscach vPosition = 0.5 * (Axle1.pPosition + Axle0.pPosition); //środek między skrajnymi osiami diff --git a/EU07.bpr b/EU07.bpr index 2be34889e..61f494f1d 100644 --- a/EU07.bpr +++ b/EU07.bpr @@ -58,8 +58,8 @@ IncludeVerInfo=1 AutoIncBuild=0 MajorVer=15 MinorVer=3 -Release=1166 -Build=469 +Release=1167 +Build=470 Debug=1 PreRelease=0 Special=0 @@ -71,8 +71,8 @@ CodePage=1250 [Version Info Keys] CompanyName=EU07 Team FileDescription=MaSzyna EU07-424 -FileVersion=15.3.1166.469 -InternalName=9th by Ra + SPKS + MP +FileVersion=15.3.1167.470 +InternalName=9th by firleju + SPKS + MP LegalCopyright= LegalTrademarks= OriginalFilename=eu07.exe @@ -124,11 +124,6 @@ ShowInfoMsgs=0 LinkDebugVcl=0 LinkCGLIB=0 -[CORBA] -AddServerUnit=1 -AddClientUnit=1 -PrecompiledHeaders=1 - [Language] ActiveLang= ProjectLang= diff --git a/Globals.cpp b/Globals.cpp index a4746193c..1a6be1a6b 100644 --- a/Globals.cpp +++ b/Globals.cpp @@ -49,9 +49,9 @@ AnsiString Global::asSky = "1"; int Global::iReCompile = 0; // zwiększany, gdy trzeba odświeżyć siatki HWND Global::hWnd = NULL; // uchwyt okna int Global::iCameraLast = -1; -AnsiString Global::asRelease = "15.3.1166.469"; +AnsiString Global::asRelease = "15.3.1167.470"; AnsiString Global::asVersion = - "Compilation 2015-03-25, release " + Global::asRelease + "."; // tutaj, bo wysyłany + "Compilation 2015-04-14, release " + Global::asRelease + "."; // tutaj, bo wysyłany int Global::iViewMode = 0; // co aktualnie widać: 0-kabina, 1-latanie, 2-sprzęgi, 3-dokumenty int Global::iTextMode = 0; // tryb pracy wyświetlacza tekstowego int Global::iScreenMode[12] = {0, 0, 0, 0, 0, 0, diff --git a/Ground.cpp b/Ground.cpp index e780a2543..85e62ffed 100644 --- a/Ground.cpp +++ b/Ground.cpp @@ -3191,13 +3191,27 @@ void TGround::InitTracks() if (Global::iHiddenEvents & 1) if (!Current->asName.IsEmpty()) { // jeśli podana jest nazwa torów, można szukać eventów skojarzonych przez nazwę - if (Track->asEvent1Name.IsEmpty()) + if (Track->asEvent0Name.IsEmpty()) + if (FindEvent(Current->asName + ":event0")) + Track->asEvent0Name = Current->asName + ":event0"; + if (Track->asEvent1Name.IsEmpty()) if (FindEvent(Current->asName + ":event1")) Track->asEvent1Name = Current->asName + ":event1"; if (Track->asEvent2Name.IsEmpty()) if (FindEvent(Current->asName + ":event2")) Track->asEvent2Name = Current->asName + ":event2"; - } + + if (Track->asEventall0Name.IsEmpty()) + if (FindEvent(Current->asName+":eventall0")) + Track->asEventall0Name=Current->asName+":eventall0"; + if (Track->asEventall1Name.IsEmpty()) + if (FindEvent(Current->asName+":eventall1")) + Track->asEventall1Name=Current->asName+":eventall1"; + if (Track->asEventall2Name.IsEmpty()) + if (FindEvent(Current->asName+":eventall2")) + Track->asEventall2Name=Current->asName+":eventall2"; + + } Track->AssignEvents( Track->asEvent0Name.IsEmpty() ? NULL : FindEvent(Track->asEvent0Name), Track->asEvent1Name.IsEmpty() ? NULL : FindEventScan(Track->asEvent1Name), diff --git a/McZapkie/_mover.pas b/McZapkie/_mover.pas index b61cc7fa3..c35523fe8 100644 --- a/McZapkie/_mover.pas +++ b/McZapkie/_mover.pas @@ -4451,7 +4451,7 @@ function T_MoverParameters.BrakeForce(Track:TTrackParam):real; // if (LocalBrake=ManualBrake)or(MBrake=true)) and (BrakePress<0.3) then // Fb:=UnitBrakeForce*NBpA {ham. reczny dziala na jedna os} // else //yB: to nie do konca ma sens, ponieważ ręczny w wagonie działa na jeden cylinder hamulcowy/wózek, dlatego potrzebne są oddzielnie liczone osie - Fb:=UnitBrakeForce*NBrakeAxles*NBpA; + Fb:=UnitBrakeForce*NBrakeAxles*Max0R(1,NBpA); // u:=((BrakePress*P2FTrans)-BrakeCylSpring*BrakeCylMult[BCMFlag]/BrakeCylNo-0.83*BrakeSlckAdj/(BrakeCylNo))*BrakeCylNo; { end; }