priorityLoadText3D feature in eu07.ini

Allows to make priority load t3d models instead of e3d. Takes yes or no.
This commit is contained in:
2025-04-01 02:24:25 +02:00
parent 1b346b1aee
commit d1415cf2a1
3 changed files with 26 additions and 13 deletions

View File

@@ -670,6 +670,12 @@ global_settings::ConfigParse(cParser &Parser) {
Parser >> token;
iPause |= (token == "yes" ? 1 : 0);
}
else if (token == "priorityloadtext3d")
{
Parser.getTokens(1);
Parser >> token;
priorityLoadText3D = (token == "yes" ? true : false);
}
else if (token == "lang")
{
// domyślny język - http://tools.ietf.org/html/bcp47
@@ -1358,6 +1364,7 @@ global_settings::export_as_text( std::ostream &Output ) const {
export_as_text( Output, "joinduplicatedevents", bJoinEvents );
export_as_text( Output, "hiddenevents", iHiddenEvents );
export_as_text( Output, "pause", ( iPause & 1 ) != 0 );
export_as_text(Output, "priorityLoadText3D", priorityLoadText3D);
export_as_text( Output, "lang", asLang );
export_as_text( Output, "python.updatetime", PythonScreenUpdateRate );
Output

View File

@@ -82,6 +82,7 @@ struct global_settings {
bool file_binary_terrain{ true }; // enable binary terrain (de)serialization
bool file_binary_terrain_state{true};
// logs
bool priorityLoadText3D{false}; // ladowanie T3D priorytetowo
int iWriteLogEnabled{ 3 }; // maska bitowa: 1-zapis do pliku, 2-okienko, 4-nazwy torów
bool MultipleLogs{ false };
unsigned int DisabledLogTypes{ 0 };

View File

@@ -1570,23 +1570,28 @@ bool TModel3d::LoadFromFile(std::string const &FileName, bool dynamic)
m_filename = name;
asBinary = name + ".e3d";
if (FileExists(asBinary))
// Hirek: Jesli mamy ustawione priorityLoadText3D na yes to wpierw ladujemy t3d
if (Global.priorityLoadText3D && FileExists(name + ".t3d"))
{
WriteLog("Forced loading text model \"" + name + ".t3d\"");
LoadFromTextFile(name + ".t3d", dynamic);
if (!dynamic)
Init();
}
else if (FileExists(asBinary))
{
LoadFromBinFile(asBinary, dynamic);
asBinary = ""; // wyłączenie zapisu
asBinary = "";
Init();
}
else
{
if (FileExists(name + ".t3d"))
{
LoadFromTextFile(name + ".t3d", dynamic); // wczytanie tekstowego
if( !dynamic ) {
// pojazdy dopiero po ustawieniu animacji
Init(); // generowanie siatek i zapis E3D
}
}
}
else if (FileExists(name + ".t3d"))
{
LoadFromTextFile(name + ".t3d", dynamic);
if (!dynamic)
Init();
}
bool const result =
Root ? (iSubModelsCount > 0) : false; // brak pliku albo problem z wczytaniem
if (false == result)