mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-03-22 15:05:03 +01: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 (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
|
||||
p->RaLightsSet(0, 0); // gasimy światła
|
||||
if (p->MoverParameters->EnginePowerSource.SourceType == CurrentCollector)
|
||||
@@ -2986,7 +2986,7 @@ bool TController::PutCommand(AnsiString NewCommand, double NewValue1, double New
|
||||
TDynamicObject *p = pVehicles[0];
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
||||
30
DynObj.cpp
30
DynObj.cpp
@@ -5634,7 +5634,7 @@ AnsiString TDynamicObject::TextureTest(AnsiString &name)
|
||||
return ""; // nie znaleziona
|
||||
};
|
||||
|
||||
void TDynamicObject::DestinationSet(AnsiString to)
|
||||
void TDynamicObject::DestinationSet(AnsiString to, AnsiString numer)
|
||||
{ // ustawienie stacji
|
||||
// docelowej oraz wymiennej
|
||||
// tekstury 4, jeśli
|
||||
@@ -5645,25 +5645,39 @@ void TDynamicObject::DestinationSet(AnsiString to)
|
||||
// rozkładu
|
||||
if (abs(iMultiTex) >= 4)
|
||||
return; // jak są 4 tekstury wymienne, to nie zmieniać rozkładem
|
||||
numer = Global::Bezogonkow(numer);
|
||||
asDestination = to;
|
||||
to = Global::Bezogonkow(to); // do szukania pliku obcinamy ogonki
|
||||
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())
|
||||
to = "nowhere";
|
||||
x = TextureTest(asBaseDir + to + "@" +
|
||||
MoverParameters->TypeName); // w pierwszej kolejności z nazwą FIZ/MMD
|
||||
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ę
|
||||
ReplacableSkinID[4] = TTexturesManager::GetTextureID( NULL, NULL, x.c_str(), 9); // rozmywania 0,1,4,5 nie nadają się
|
||||
return;
|
||||
}
|
||||
x = TextureTest(asBaseDir + to); // na razie prymitywnie
|
||||
if (!x.IsEmpty())
|
||||
ReplacableSkinID[4] = TTexturesManager::GetTextureID(
|
||||
NULL, NULL, x.c_str(), 9); // rozmywania 0,1,4,5 nie nadają się
|
||||
ReplacableSkinID[4] = TTexturesManager::GetTextureID( NULL, NULL, x.c_str(), 9); // rozmywania 0,1,4,5 nie nadają się
|
||||
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
|
||||
// tekstury nr 4
|
||||
};
|
||||
|
||||
2
DynObj.h
2
DynObj.h
@@ -504,7 +504,7 @@ class TDynamicObject
|
||||
void ParamSet(int what, int into);
|
||||
int RouteWish(TTrack *tr); // zapytanie do AI, po którym segmencie skrzyżowania
|
||||
// jechać
|
||||
void DestinationSet(AnsiString to);
|
||||
void DestinationSet(AnsiString to, AnsiString numer);
|
||||
AnsiString TextureTest(AnsiString &name);
|
||||
void OverheadTrack(float o);
|
||||
double MED[9][8]; // lista zmiennych do debugowania hamulca ED
|
||||
|
||||
Reference in New Issue
Block a user