Contents |
Wprowadzenie
Generuj komunikaty o błędach.
Za pomocą tej akcji możesz ostrzec użytkownika o problemach związanych ze sposobem ładowania pliku grf, np. niewłaściwa kolejność, niewłaściwa wersja łaty lub złe parametry.
Składnia
Dane wyglądają następująco:
<Sprite-number> * <Length> 0B <severity> <language-id> <message-id> [<message>] [<data> [<parnum> [<parnum>]]]
Element | Rozmiar | Opis |
---|---|---|
<Sprite-number> | dec | Sekwencyjny numer 'sprite' |
<length> | dec | Łączna liczba bajtów użytych w tej akcji |
0B | B | Definiuje action 0B |
<severity> | B | Jak poważny jest ten komunikat ('zawiadomienie/ostrzeżenie/błąd/błąd krytyczny') |
<language-id> | B | W jakich językach wyświetla się ten komunikat |
<message-id> | B | Jaką wiadomość pokazać |
<message> | S | Tekst niestandardowej wiadomości, tylko jeśli <message-id>==FF |
<data> | S | Ciąg do wstawienia we wbudowanych lub niestandardowych komunikatach |
<parnum> | B | Parametry GRF do wyświetlenia w komunikacie |
Opis
Sprite-number
To tylko numer, na którym jesteś.
Length
Policz liczbę bajtów w tej akcji.
severity
Określa to, jak poważna jest wiadomość.
'Severity' | Znaczenie | Prefix | 'Działania podjęte' |
---|---|---|---|
00 | 'Wzmianka' | (none) | kontynuuj ładowanie pliku grf |
01 | Ostrzeżenie | "Warning: " | kontynuuj ładowanie pliku grf |
02 | Błąd | "Error: " | kontynuuj ładowanie pliku grf |
03 | 'Fatalny błąd' | "Error: " | przerwać ładowanie pliku grf |
Zwykle Akcja B jest ignorowana podczas 'inicjalizacji'. Jeśli istotność ma ustawiony bit 7, działanie krytyczne B zostanie zastosowane nawet podczas inicjalizacji. Może to być przydatne, aby zapobiec błędom spowodowanym przez nieprawidłowe 'sprites' podczas inicjalizacji. 'Należy odnotować', że działa to poprawnie tylko od TTDPatch 2.0.1 alpha 66, we wcześniejszych wersjach pokazane okienko błędu jest uszkodzone, jeśli ustawiony jest bit 7.
Wiadomości są wyświetlane ze znakiem "/!\" W oknie stanu GRF ( TTDPatch , OpenTTD ) . Pierwszy komunikat krytyczny podczas każdej aktywacji jest również wyświetlany jako czerwone okienko wyskakujące.
language-id
Ma ten sam format, co language-id in action 4.
Użyj 7F (wszystkie języki) dla wbudowanych wiadomości, ponieważ automatycznie używają właściwego języka.
message-id
Ustaw rodzaj wiadomości do wyświetlenia. Masz następujące opcje:
ID wiadomości | Content |
---|---|
00 | 80 " requires at least TTDPatch version " 80 00 |
01 | 80 " is for the " 80 " version of TTD." 00 |
<data> should be "DOS" or "Windows" | |
02 | 80 " is designed to be used with " 80 00 |
<data> should be a switchname + value, e.g. "multihead 0" | |
03 | "Invalid parameter for " 80 ": parameter " 80 " (" 7B ")" 00 |
<data> should be the switch number written out ("5") | |
04 | 80 " must be loaded before " 80 "." 00 |
05 | 80 " must be loaded after " 80 "." 00 |
06 | 80 " requires OpenTTD version " 80 " or better." 00 |
FF | Custom message, use text from <message> |
ID`y wiadomości 04 i 05 są dostępne od TTDPatch 2.6 alfa 1 (r858).
Wiadomość ID 06 jest dostępna od OpenTTD r11330. Tego komunikatu należy używać tylko wtedy, gdy zmienna 9D Działania 7/9 ma wartość 1 (OpenTTD).
message
Niestandardowy tekst wiadomości do wyświetlenia.
parnum
Numery parametrów (maksymalnie dwa) do wyświetlenia zamiast 7B w tekście wiadomości.
Notes
We wszystkich komunikatach (wbudowanych i niestandardowych) pierwsze 80 jest zastąpione nazwą pliku pliku grf, drugie 80 jest zastąpione treścią <data>. Po dwóch 80 bajtach możesz mieć jeden lub dwa bajty 7B, które są zastąpione wartością parametru (parametrów) określoną przez <parnum>. Zauważ, że posiadanie 7B jest nieprawidłowe przed napotkaniem dokładnie dwóch 80 bajtów. Oznacza to, że dozwolone są następujące kombinacje bajtów specjalnych:
(none) 80 80 80 80 80 7B 80 80 7B 7B
Przed, po lub pomiędzy bajtami możesz mieć dowolne znaki.
Zaletą wbudowanych komunikatów jest to, że można je tłumaczyć przy użyciu mechanizmu mkpttxt, podczas gdy niestandardowe komunikaty będą dostępne tylko w językach dostarczonych z plikiem grf.
Zauważ, że jeśli kilka plików grf próbuje wyświetlić krytyczne komunikaty o błędach, w tej chwili jest pokazywany tylko pierwszy komunikat, ponieważ TTD nie ma kolejki dla wyskakujących czerwonych błędów. Wszystkie pozostałe zostaną jednak wyświetlone w oknie Status GRF.
Należy również pamiętać, że ponieważ ta akcja została wprowadzona tylko w TTDPatch 2.0.1 alpha 13, nie ma sensu sprawdzać, czy wersja jest co najmniej alfa 13, jeśli chcesz użyć komunikatu o błędzie 00. We wcześniejszych wersjach łatka wyświetla się komunikat o błędzie "invalid sprite" (nieprawidłowy) , ponieważ działanie jest nieznane.
Przykład
Poniżej znajduje się przykład tego, jak mogłaby wyglądać pseudo-sprite' Action B wraz z Action 7 wymagane, aby pominąć go w odpowiednich okolicznościach.
2 * 6 07 85 01 01 37 01 3 * 17 0B 03 7F 02 "newtrains on" 00
Bajt(y) | Nazwa | Znaczenie |
---|---|---|
07 | <action> | Ustawia tego pseudo-sprite, aby działał jako action 7 |
85 | <variable> | Sprawdź patch flags |
01 | <size> | zmienny rozmiar; ignorowane, ponieważ jest to trochę test |
01 | <cond> | pomiń, jeśli bit jest ustawiony |
37 | <val> | sprawdź bit 37 (newtrains) |
01 | <num-sprites> | pomiń jednego 'sprite' |
0B | <action> | Ustawia tego pseudo-sprite, aby działał jako action B |
03 | <severity> | Ustawia to na błąd krytyczny |
7F | <language-id> | Uruchom ten 'sprite' we wszystkich językach |
02 | <message-id> | Użyj wiadomości 02 (80 " is designed to be used with " 80) |
"newtrains on" 00 | <data> | Ciąg do wstawienia w miejsce drugich 80 w wiadomości |