16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-22 18: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:
antonisauren
2016-07-11 20:15:43 +02:00
parent 3d321f5daf
commit cb06375aec
3 changed files with 25 additions and 11 deletions

View File

@@ -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)
} }
} }

View File

@@ -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;
if (to.IsEmpty()) x = TextureTest(asBaseDir + numer + "@" + MoverParameters->TypeName);
to = "nowhere";
x = TextureTest(asBaseDir + to + "@" +
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;
}
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())
to = "nowhere";
x = TextureTest(asBaseDir + to + "@" + MoverParameters->TypeName); // w pierwszej kolejności z nazwą FIZ/MMD
if (!x.IsEmpty())
{
ReplacableSkinID[4] = TTexturesManager::GetTextureID( 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
}; };

View File

@@ -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