mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 04:39:18 +02:00
Tekstury rozkładu szukane są w kolejności: nr_pociagu@typ_pojazdu, nr_pociagu, stacja_docelowa@typ_pojazdu, stacja docelowa.
Jeśli żadna z nich nie zostanie znaleziona, wyświetlana jest "nowhere".
This commit is contained in:
@@ -1875,7 +1875,7 @@ bool TController::CheckVehicles(TOrders user)
|
|||||||
{
|
{
|
||||||
if (TrainParams)
|
if (TrainParams)
|
||||||
if (p->asDestination == "none")
|
if (p->asDestination == "none")
|
||||||
p->DestinationSet(TrainParams->Relation2); // relacja docelowa, jeśli nie było
|
p->DestinationSet(TrainParams->Relation2, TrainParams->TrainName); // relacja docelowa, jeśli nie było
|
||||||
if (AIControllFlag) // jeśli prowadzi komputer
|
if (AIControllFlag) // jeśli prowadzi komputer
|
||||||
p->RaLightsSet(0, 0); // gasimy światła
|
p->RaLightsSet(0, 0); // gasimy światła
|
||||||
if (p->MoverParameters->EnginePowerSource.SourceType == CurrentCollector)
|
if (p->MoverParameters->EnginePowerSource.SourceType == CurrentCollector)
|
||||||
@@ -2986,7 +2986,7 @@ bool TController::PutCommand(AnsiString NewCommand, double NewValue1, double New
|
|||||||
TDynamicObject *p = pVehicles[0];
|
TDynamicObject *p = pVehicles[0];
|
||||||
while (p)
|
while (p)
|
||||||
{
|
{
|
||||||
p->DestinationSet(NewCommand); // relacja docelowa
|
p->DestinationSet(NewCommand, TrainParams->TrainName); // relacja docelowa
|
||||||
p = p->Next(); // pojazd podłączony od tyłu (licząc od czoła)
|
p = p->Next(); // pojazd podłączony od tyłu (licząc od czoła)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
30
DynObj.cpp
30
DynObj.cpp
@@ -5634,7 +5634,7 @@ AnsiString TDynamicObject::TextureTest(AnsiString &name)
|
|||||||
return ""; // nie znaleziona
|
return ""; // nie znaleziona
|
||||||
};
|
};
|
||||||
|
|
||||||
void TDynamicObject::DestinationSet(AnsiString to)
|
void TDynamicObject::DestinationSet(AnsiString to, AnsiString numer)
|
||||||
{ // ustawienie stacji
|
{ // ustawienie stacji
|
||||||
// docelowej oraz wymiennej
|
// docelowej oraz wymiennej
|
||||||
// tekstury 4, jeśli
|
// tekstury 4, jeśli
|
||||||
@@ -5645,25 +5645,39 @@ void TDynamicObject::DestinationSet(AnsiString to)
|
|||||||
// rozkładu
|
// rozkładu
|
||||||
if (abs(iMultiTex) >= 4)
|
if (abs(iMultiTex) >= 4)
|
||||||
return; // jak są 4 tekstury wymienne, to nie zmieniać rozkładem
|
return; // jak są 4 tekstury wymienne, to nie zmieniać rozkładem
|
||||||
|
numer = Global::Bezogonkow(numer);
|
||||||
asDestination = to;
|
asDestination = to;
|
||||||
to = Global::Bezogonkow(to); // do szukania pliku obcinamy ogonki
|
to = Global::Bezogonkow(to); // do szukania pliku obcinamy ogonki
|
||||||
AnsiString x;
|
AnsiString x;
|
||||||
|
x = TextureTest(asBaseDir + numer + "@" + MoverParameters->TypeName);
|
||||||
|
if (!x.IsEmpty())
|
||||||
|
{
|
||||||
|
ReplacableSkinID[4] = TTexturesManager::GetTextureID( NULL, NULL, x.c_str(), 9); // rozmywania 0,1,4,5 nie nadają się
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
x = TextureTest(asBaseDir + numer );
|
||||||
|
if (!x.IsEmpty())
|
||||||
|
{
|
||||||
|
ReplacableSkinID[4] = TTexturesManager::GetTextureID( NULL, NULL, x.c_str(), 9); // rozmywania 0,1,4,5 nie nadają się
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (to.IsEmpty())
|
if (to.IsEmpty())
|
||||||
to = "nowhere";
|
to = "nowhere";
|
||||||
x = TextureTest(asBaseDir + to + "@" +
|
x = TextureTest(asBaseDir + to + "@" + MoverParameters->TypeName); // w pierwszej kolejności z nazwą FIZ/MMD
|
||||||
MoverParameters->TypeName); // w pierwszej kolejności z nazwą FIZ/MMD
|
|
||||||
if (!x.IsEmpty())
|
if (!x.IsEmpty())
|
||||||
{
|
{
|
||||||
ReplacableSkinID[4] = TTexturesManager::GetTextureID(
|
ReplacableSkinID[4] = TTexturesManager::GetTextureID( NULL, NULL, x.c_str(), 9); // rozmywania 0,1,4,5 nie nadają się
|
||||||
NULL, NULL, x.c_str(), 9); // rozmywania 0,1,4,5 nie nadają się
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
x = TextureTest(asBaseDir + to); // na razie prymitywnie
|
x = TextureTest(asBaseDir + to); // na razie prymitywnie
|
||||||
if (!x.IsEmpty())
|
if (!x.IsEmpty())
|
||||||
ReplacableSkinID[4] = TTexturesManager::GetTextureID(
|
ReplacableSkinID[4] = TTexturesManager::GetTextureID( NULL, NULL, x.c_str(), 9); // rozmywania 0,1,4,5 nie nadają się
|
||||||
NULL, NULL, x.c_str(), 9); // rozmywania 0,1,4,5 nie nadają się
|
|
||||||
else
|
else
|
||||||
ReplacableSkinID[4] = 0; // 0 to brak? -1 odpada, bo inaczej się będzie mapować
|
{
|
||||||
|
x = TextureTest(asBaseDir + "nowhere"); // jak nie znalazł dedykowanej, to niech daje nowhere
|
||||||
|
if (!x.IsEmpty())
|
||||||
|
ReplacableSkinID[4] = TTexturesManager::GetTextureID(NULL, NULL, x.c_str(), 9);
|
||||||
|
}
|
||||||
// Ra 2015-01: żeby zalogować błąd, trzeba by mieć pewność, że model używa
|
// Ra 2015-01: żeby zalogować błąd, trzeba by mieć pewność, że model używa
|
||||||
// tekstury nr 4
|
// tekstury nr 4
|
||||||
};
|
};
|
||||||
|
|||||||
2
DynObj.h
2
DynObj.h
@@ -504,7 +504,7 @@ class TDynamicObject
|
|||||||
void ParamSet(int what, int into);
|
void ParamSet(int what, int into);
|
||||||
int RouteWish(TTrack *tr); // zapytanie do AI, po którym segmencie skrzyżowania
|
int RouteWish(TTrack *tr); // zapytanie do AI, po którym segmencie skrzyżowania
|
||||||
// jechać
|
// jechać
|
||||||
void DestinationSet(AnsiString to);
|
void DestinationSet(AnsiString to, AnsiString numer);
|
||||||
AnsiString TextureTest(AnsiString &name);
|
AnsiString TextureTest(AnsiString &name);
|
||||||
void OverheadTrack(float o);
|
void OverheadTrack(float o);
|
||||||
double MED[9][8]; // lista zmiennych do debugowania hamulca ED
|
double MED[9][8]; // lista zmiennych do debugowania hamulca ED
|
||||||
|
|||||||
Reference in New Issue
Block a user