OpenTTD #Polska - Polskie forum gry OpenTTD [ARCHIWUM]
Patch OpenTTD 1.8.1 - Wersja do druku

+- OpenTTD #Polska - Polskie forum gry OpenTTD [ARCHIWUM] (https://forum.openttd.pl)
+-- Dział: OpenTTD (https://forum.openttd.pl/forumdisplay.php?fid=1)
+--- Dział: Dodatki (https://forum.openttd.pl/forumdisplay.php?fid=27)
+--- Wątek: Patch OpenTTD 1.8.1 (/showthread.php?tid=2432)



OpenTTD 1.8.1 - spaceport - 12-05-2020

Jest to rozszerzenie OTTD 1.8.0 choć dotyczy różnych podobnych oznaczeń i numeracji .
Umożliwia działanie z dodawaniem skryptów GS, które przyporządkowują barwy firm (znane od 1.9) oraz typ "face" męski i żeński do wyboru wg ustawień.
Dopiero dostosowany skrypt GS może automatycznie to zrobić , ale użytkownik konfiguruje po swojemu .

W dalszej kolejności można  zaimplementować "zegar ścienny" odmierzający w godzinach i minutach jazdy" (Wall_Clock) 
i to nic innego jak jakaś gałąź OpenTTD -
tyle ,że ujęte w same modyfikacje w odniesieniu do czegoś (bez przepisywania wszystkiego).
Po prostu patch .
Do kompilacji wymaga odpowiedniego oprzyrządowania, m.in. minGW (jakieś minimum kompilatorów z bibliotekami Windows) , msys (Miniamal system , z patch, diff etc)

Ogólnie jako plik łatki podaje się zunifikowany plik różnicowy .diff  (albo nowszy .patch
zwany inaczej 'poprawką' , nie wymaga zbyt sporego nakładu i może być wygenerowana przez system kontroli wersji SVN lub nowszy Git portable ) .

 więcej w tutorialu angielskim

Jeśli w jakimś notatniku tekstowym naniesione zostaną nowsze dane i zapisane (w .cpp )
To najprostsze powstanie pliku .dif  uruchamia polecenie w powłoce rxvt :
Kod:
diff -u oryginal zmienione
 gdzie -u domyślne to 3 linie kontekstu,
 u0 bez kontextu, gdy =1 z linią kontestu



W skrócie zawarte w .diff zmiany w zestawie plików (np. ze źródłowego Ottd 1.8 ). 
oznacza się następująco :

 ścieżki i nazwy mogą odnosić się do nazw plików

 Od "@" jest informacja która linia ulega zmianie i zakresy

 + oznacza dodane wpisy

 - skasowane

 mogą byc otoczone kontekstem do orientacji (linie z góry i dołu bez znaku +-)

 pozostałe 'indexy' użyte np. do całkiem nowego pliku






Po przeprogramowaniu konkretnych plików - wielu , 
a kiedy różnica jest tylko w pojedynczych liniach, wystarczy aby aplikacje Subversion automatycznie zawarły to w spójny 1 .
Wtedy krótszy .diff  utworzy się podczas porównywania dwóch folderów: tzw. rewizji aktualnej (po edycji) i poprzednio zatwierdzonej , zajmując mniej miejsca (pamięciowo) i lepiej przenosić kopie (mniej czasochłonne).

Aby odtworzyć OpenTTD z tym , przeważnie należy pobrać z repozytorium (składowiska jak GitHub) pakiet nieskompilowany i rozpakować .zip  .
Do tak przygotowanego folderu kopii roboczej umieścić łatkę i z tego katalogu wykonać "patchowanie"  :

Kod:
patch -p1 < nazwaPliku.diff
 przy opcji -p nr=1  dla występujących ścieżek :  " /src/... "
                           0  bywa przy ścieżkach          : " src/... "


RE: OpenTTD 1.8.1 - spaceport - 12-05-2020

właściwa treść patcha - do skopiowania i wklejenia
Kod:
.ottdrev                                        |  1 +
src/script/api/game/game_company.hpp.sq         | 89 ++++++++++++++++++-------
src/script/api/game_changelog.hpp               | 10 +++
src/script/api/script_company.cpp               | 11 +++
src/script/api/script_company.hpp               | 67 +++++++++++++++++++
src/script/api/template/template_company.hpp.sq |  4 ++
6 files changed, 159 insertions(+), 23 deletions(-)

diff --git a/.ottdrev b/.ottdrev
new file mode 100644
index 0000000..7d7b3d4
--- /dev/null
+++ /.ottdrev
@@ -0,0 +1 @@
+1.8.1    20180402    2    28003
diff --git a/src/script/api/game/game_company.hpp.sq b/src/script/api/game/game_company.hpp.sq
index 56917a5..def0c82 100644
--- /src/script/api/game/game_company.hpp.sq
+++ /src/script/api/game/game_company.hpp.sq
@@ -23,25 +23,65 @@  SQGSCompany.AddConstructor<void (ScriptComp

-    SQGSCompany.DefSQConst(engine, ScriptCompany::CURRENT_QUARTER,       "CURRENT_QUARTER");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::EARLIEST_QUARTER,      "EARLIEST_QUARTER");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_FIRST,         "COMPANY_FIRST");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_LAST,          "COMPANY_LAST");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_INVALID,       "COMPANY_INVALID");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_SELF,          "COMPANY_SELF");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::GENDER_MALE,           "GENDER_MALE");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::GENDER_FEMALE,         "GENDER_FEMALE");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::GENDER_INVALID,        "GENDER_INVALID");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_CONSTRUCTION, "EXPENSES_CONSTRUCTION");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_NEW_VEHICLES, "EXPENSES_NEW_VEHICLES");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_TRAIN_RUN,    "EXPENSES_TRAIN_RUN");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_ROADVEH_RUN,  "EXPENSES_ROADVEH_RUN");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_AIRCRAFT_RUN, "EXPENSES_AIRCRAFT_RUN");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_SHIP_RUN,     "EXPENSES_SHIP_RUN");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_PROPERTY,     "EXPENSES_PROPERTY");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_TRAIN_INC,    "EXPENSES_TRAIN_INC");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_ROADVEH_INC,  "EXPENSES_ROADVEH_INC");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_AIRCRAFT_INC, "EXPENSES_AIRCRAFT_INC");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_SHIP_INC,     "EXPENSES_SHIP_INC");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_LOAN_INT,     "EXPENSES_LOAN_INT");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_OTHER,        "EXPENSES_OTHER");
-    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_INVALID,      "EXPENSES_INVALID");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::CURRENT_QUARTER,             "CURRENT_QUARTER");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::EARLIEST_QUARTER,            "EARLIEST_QUARTER");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_FIRST,               "COMPANY_FIRST");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_LAST,                "COMPANY_LAST");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_INVALID,             "COMPANY_INVALID");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COMPANY_SELF,                "COMPANY_SELF");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::GENDER_MALE,                 "GENDER_MALE");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::GENDER_FEMALE,               "GENDER_FEMALE");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::GENDER_INVALID,              "GENDER_INVALID");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_CONSTRUCTION,       "EXPENSES_CONSTRUCTION");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_NEW_VEHICLES,       "EXPENSES_NEW_VEHICLES");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_TRAIN_RUN,          "EXPENSES_TRAIN_RUN");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_ROADVEH_RUN,        "EXPENSES_ROADVEH_RUN");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_AIRCRAFT_RUN,       "EXPENSES_AIRCRAFT_RUN");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_SHIP_RUN,           "EXPENSES_SHIP_RUN");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_PROPERTY,           "EXPENSES_PROPERTY");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_TRAIN_INC,          "EXPENSES_TRAIN_INC");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_ROADVEH_INC,        "EXPENSES_ROADVEH_INC");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_AIRCRAFT_INC,       "EXPENSES_AIRCRAFT_INC");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_SHIP_INC,           "EXPENSES_SHIP_INC");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_LOAN_INT,           "EXPENSES_LOAN_INT");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_OTHER,              "EXPENSES_OTHER");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::EXPENSES_INVALID,            "EXPENSES_INVALID");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_DEFAULT,                  "LS_DEFAULT");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_STEAM,                    "LS_STEAM");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_DIESEL,                   "LS_DIESEL");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_ELECTRIC,                 "LS_ELECTRIC");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_MONORAIL,                 "LS_MONORAIL");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_MAGLEV,                   "LS_MAGLEV");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_DMU,                      "LS_DMU");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_EMU,                      "LS_EMU");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_STEAM,    "LS_PASSENGER_WAGON_STEAM");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_DIESEL,   "LS_PASSENGER_WAGON_DIESEL");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_ELECTRIC, "LS_PASSENGER_WAGON_ELECTRIC");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_MONORAIL, "LS_PASSENGER_WAGON_MONORAIL");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_WAGON_MAGLEV,   "LS_PASSENGER_WAGON_MAGLEV");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_FREIGHT_WAGON,            "LS_FREIGHT_WAGON");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_BUS,                      "LS_BUS");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_TRUCK,                    "LS_TRUCK");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_SHIP,           "LS_PASSENGER_SHIP");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_FREIGHT_SHIP,             "LS_FREIGHT_SHIP");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_HELICOPTER,               "LS_HELICOPTER");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_SMALL_PLANE,              "LS_SMALL_PLANE");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_LARGE_PLANE,              "LS_LARGE_PLANE");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_PASSENGER_TRAM,           "LS_PASSENGER_TRAM");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_FREIGHT_TRAM,             "LS_FREIGHT_TRAM");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::LS_INVALID,                  "LS_INVALID");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_DARK_BLUE,            "COLOUR_DARK_BLUE");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_PALE_GREEN,           "COLOUR_PALE_GREEN");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_PINK,                 "COLOUR_PINK");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_YELLOW,               "COLOUR_YELLOW");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_RED,                  "COLOUR_RED");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_LIGHT_BLUE,           "COLOUR_LIGHT_BLUE");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_GREEN,                "COLOUR_GREEN");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_DARK_GREEN,           "COLOUR_DARK_GREEN");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_BLUE,                 "COLOUR_BLUE");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_CREAM,                "COLOUR_CREAM");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_MAUVE,                "COLOUR_MAUVE");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_PURPLE,               "COLOUR_PURPLE");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_ORANGE,               "COLOUR_ORANGE");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_BROWN,                "COLOUR_BROWN");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_GREY,                 "COLOUR_GREY");
+    SQGSCompany.DefSQConst(engine, ScriptCompany::COLOUR_WHITE,                "COLOUR_WHITE");

@@ -70,2 +108,5 @@  SQGSCompany.DefSQStaticMethod(engine, &Scri
    SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::GetAutoRenewMoney,             "GetAutoRenewMoney",             2, ".i");
+    SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::SetPrimaryLiveryColour,        "SetPrimaryLiveryColour",        3, ".ii");
+    SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::SetSecondaryLiveryColour,      "SetSecondaryLiveryColour",      3, ".ii");
+    SQGSCompany.DefSQStaticMethod(engine, &ScriptCompany::SetPresidentGender,            "SetPresidentGender",            2, ".i");

diff --git a/src/script/api/game_changelog.hpp b/src/script/api/game_changelog.hpp
index 20fa38f..ef34901 100644
--- /src/script/api/game_changelog.hpp
+++ /src/script/api/game_changelog.hpp
@@ -17,2 +17,12 @@   * in GetAPIVersion() in info.nut.
  *
+ * \b 1.8.1
+ *
+ * 1.8.1 nie zostało wydane. Poniższe zmiany nie są oficjalnie ustalone.
+ * API additions:
+ * \li GSCompany::SetPrimaryLiveryColour
+ * \li GSCompany::SetSecondaryLiveryColour
+ *
+ * Other changes:
+ * \li GSCompany::SetPresidentGender ustawienie automatyczne płci nie tylko w AI
+ *
  * \b 1.8.0
diff --git a/src/script/api/script_company.cpp b/src/script/api/script_company.cpp
index a1f40c5..393b57a 100644
--- /src/script/api/script_company.cpp
+++ /src/script/api/script_company.cpp
@@ -298,1 +298,12 @@     return ::Company::Get((CompanyID)company)-
}
+
+ /* dodane: */
+/* statyc. */ bool ScriptCompany::SetPrimaryLiveryColour(LiveryScheme scheme, Colours colour)
+{
+    return ScriptObject::DoCommand(0, scheme, colour, CMD_SET_COMPANY_COLOUR);
+}
+
+/* statyc. */ bool ScriptCompany::SetSecondaryLiveryColour(LiveryScheme scheme, Colours colour)
+{
+    return ScriptObject::DoCommand(0, scheme | 1 << 8, colour, CMD_SET_COMPANY_COLOUR);
+}
diff --git a/src/script/api/script_company.hpp b/src/script/api/script_company.hpp
index 4deaeed..9ae8c4d 100644
--- /src/script/api/script_company.hpp
+++ /src/script/api/script_company.hpp
@@ -67,2 +67,52 @@         EXPENSES_INVALID      = ::INVALID_EXPENSE
    };
+    
+    /* dodane: */
+    /** Lista różnych schematów barw. */
+    enum LiveryScheme {
+        LS_DEFAULT,                  ///< Domyślny schemat.
+        LS_STEAM,                    ///< Silniki parowe.
+        LS_DIESEL,                   ///< Silniki Diesla.
+        LS_ELECTRIC,                 ///< Silniki elektryczne.
+        LS_MONORAIL,                 ///< Silniki jednotorowe.    +
+        LS_MAGLEV,                   ///< Silniki Maglev.        -"- */
+        LS_DMU,                      ///< DMU i ich wagony pasażerskie.
+        LS_EMU,                      ///< UGW i ich wagony pasażerskie.
+        LS_PASSENGER_WAGON_STEAM,    ///< Wagony pasażerskie przymocowane do silników parowych.
+        LS_PASSENGER_WAGON_DIESEL,   ///< Wagony pasażerskie przymocowane do silników Diesla.
+        LS_PASSENGER_WAGON_ELECTRIC, ///< Wagony pasażerskie przymocowane do silników elektrycznych.
+        LS_PASSENGER_WAGON_MONORAIL, ///< Wagony pasażerskie przymocowane do silników jednoszynowych.    +
+        LS_PASSENGER_WAGON_MAGLEV,   ///< Wagony pasażerskie przymocowane do silników Maglev.            -"- */
+        LS_FREIGHT_WAGON,            ///< Wagony towarowe.
+        LS_BUS,                      ///< Autobusy.
+        LS_TRUCK,                    ///< Ciężarówki.
+        LS_PASSENGER_SHIP,           ///< Statki pasażerskie.
+        LS_FREIGHT_SHIP,             ///< Statki towarowe.
+        LS_HELICOPTER,               ///< Śmigłowce.
+        LS_SMALL_PLANE,              ///< Małe samoloty.
+        LS_LARGE_PLANE,              ///< Duże samoloty.
+        LS_PASSENGER_TRAM,           ///< Tramwaje pasażerskie.
+        LS_FREIGHT_TRAM,             ///< Tramwaje towarowe.
+        LS_INVALID = -1,
+    };
+
+    /** Lista kolorów. */
+    enum Colours {
+        COLOUR_DARK_BLUE,
+        COLOUR_PALE_GREEN,
+        COLOUR_PINK,
+        COLOUR_YELLOW,
+        COLOUR_RED,
+        COLOUR_LIGHT_BLUE,
+        COLOUR_GREEN,
+        COLOUR_DARK_GREEN,
+        COLOUR_BLUE,
+        COLOUR_CREAM,
+        COLOUR_MAUVE,
+        COLOUR_PURPLE,
+        COLOUR_ORANGE,
+        COLOUR_BROWN,
+        COLOUR_GREY,
+        COLOUR_WHITE,
+        /* COLOUR_INVALID = ::INVALID_COLOUR    // + game_instance.cpp ( ai), - script_company.cpp  (network_content.cpp) */
+    };

@@ -332,2 +380,19 @@      */
    static Money GetAutoRenewMoney(CompanyID company);
+    
+    /* dodane: */
+    /**
+     * Ustaw. koloru podstawowego dla firmy 1.
+     * @parametr scheme Schemat barwny do ustawienia.
+     * @parametr colour Kolor do ustawienia.
+     * @zwotna Fałsz, jeśli nie można ustawić podstawowego koloru schematu barwnego (np. kolor w użyciu).
+     */
+    static bool SetPrimaryLiveryColour(LiveryScheme scheme, Colours colour);
+
+    /**
+     * Ustaw. koloru dodatkowego dla firmy 1.
+     * @parametr scheme Livery scheme to set.
+     * @parametr colour Colour to set.
+     * @zwrotna Fałsz, jeśli nie można ustawić dodatkowego koloru schematu barw.
+     */
+    static bool SetSecondaryLiveryColour(LiveryScheme scheme, Colours colour);
};
diff --git a/src/script/api/template/template_company.hpp.sq b/src/script/api/template/template_company.hpp.sq
index 7dc63f2..320d00c 100644
--- /src/script/api/template/template_company.hpp.sq
+++ /src/script/api/template/template_company.hpp.sq
@@ -23,2 +23,6 @@ template <> inline ScriptCompany::ExpensesT
    template <> inline int Return<ScriptCompany::ExpensesType>(HSQUIRRELVM vm, ScriptCompany::ExpensesType res) { sq_pushinteger(vm, (int32)res); return 1; }
+    template <> inline ScriptCompany::LiveryScheme GetParam(ForceType<ScriptCompany::LiveryScheme>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (ScriptCompany::LiveryScheme)tmp; }
+    template <> inline int Return<ScriptCompany::LiveryScheme>(HSQUIRRELVM vm, ScriptCompany::LiveryScheme res) { sq_pushinteger(vm, (int32)res); return 1; }
+    template <> inline ScriptCompany::Colours GetParam(ForceType<ScriptCompany::Colours>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQInteger tmp; sq_getinteger(vm, index, &tmp); return (ScriptCompany::Colours)tmp; }
+    template <> inline int Return<ScriptCompany::Colours>(HSQUIRRELVM vm, ScriptCompany::Colours res) { sq_pushinteger(vm, (int32)res); return 1; }



RE: OpenTTD 1.8.1 - spaceport - 12-05-2020

1 enter ucięło - na końcu bez niczego linie można wstawić .
Tabulator tez chyba zastępowany jest   .

Zaś link do oryginału Zegara :
https://www.tt-forums.net/viewtopic.php?f=33&t=49956&hilit=wallclock
dodatkowo tablica z rozkładem jazdy na stacji .
Poniżej tzw. extracting z JGR's z 2017, przerobiony dla wersji 1.8 i dodany polski język :

.zip   wallclockPL-r28002.zip (Rozmiar: 32.54 KB / Pobrań: 66)

Może zdarzyć się , że pojazd gdy jedzie niekompletnie załadowany na auto-rozkładzie, to kiedy przewiezie więcej, może mieć opóźnienia.
Wtedy wystarczy dodać więcej minut na stacji lub jeszcze raz włączyć automatyczny harmonogram (wypełnienie godzin odjazdów)