Contents |
Wprowadzenie
Zdefiniuj ciągi znaków, np. Nazwy pojazdu, domu lub branży
Tworząc nowe grafiki pojazdów, musisz także nazwać nowe pojazdy, w przeciwnym razie pojawią się z oryginalną nazwą z TTD. Jednak niestandardowe nazwy pojazdów przypisane przez gracza w grze (lub dla TTDPatch również za pośrednictwem TTD pojazdu.dat) zawsze będą miały pierwszeństwo.
W TTDPatch możesz również użyć tej akcji, aby zmienić większość ciągów tekstowych TTD.
Syntax
Dane wyglądają następująco:
<Sprite-number> * <Length> 04 <feature> <language-id> <num-ent> <offset> <text>
Element | Rozmiar | Opis |
---|---|---|
<Sprite-number> | dec | Sekwencyjny numer 'sprite' |
<length> | dec | Łączna liczba bajtów użytych w tej akcji. |
04 | B | Definiuje action 04 |
<feature> | B | Do jakiego rodzaju pojazdu/stacji należy zastosować tę definicję? |
<language-id> | B | Dla którego z języków TTD ta nazwa jest |
<num-ent> | B | Liczba kolejnych ciągów (strings) do zmiany |
<offset> | B/W | Pierwszy Id do zmiany |
<text> | S | Nowe ciągi tekstowe |
Czy <offset> jest BYTE (rozszerzony bajt w openttd dla pojazdów) lub a WORD decyduje bit 7 z <language-id>, patrz poniżej.
Opisy
Sprite-number
To tylko numer, na którym jesteś.
Długość
Policz liczbę bajtów w tej akcji.
Funkcja
To ustawia typ feature które chcesz zmienić. Ustaw na:
00 | Trains |
01 | Road Vehicles |
02 | Ships |
03 | Aircraft |
04 | Stations |
07 | Houses |
0A | Industries |
0B | Cargos |
0D | Airports |
0F | Objects |
10 | Railtypes |
12 | Roadtypes |
13 | Tramtypes |
48 | Original strings; zerknij TextIDs po listę text ID TTD. |
ID języka
Znaczenie tego bajtu zależy od wersji GRF pliku .grf ustawionej w action 8.
- GRFv≤6 Do wersji 6 jest to maska nieco następujących bitów:
Bit | Wartość | Znaczenie |
---|---|---|
0 | 01 | American lub "other" |
1 | 02 | English |
2 | 04 | German |
3 | 08 | French |
4 | 10 | Spanish |
7 | 80 | Flag dla 16 bit string IDs |
Dodaj bity wszystkich języków, których dotyczą następujące ciągi. Bit 7 kontroluje, czy następujący ID ciągu składa się z 16 czy 8 bitów. Nieznane języki będą używać ciągów amerykańskich jako rezerwowych. W przeciwnym razie ciąg znaków pozostałby niezdefiniowany dla tych języków. Aby faktycznie zdefiniować ciągi znaków dla dowolnego nowego języka, musisz użyć grf w wersji 7.
- GRFv≥7 W wersji 7 i wyższej jest to prosty ID języka z poniższej listy. (Zmieniło się to wraz z TTDPatch 2.5 beta 4). Bit 7 ma takie samo znaczenie, jak we wcześniejszych wersjach powyżej.
W obu schematach można użyć odpowiednio wartości 7F lub FF, aby zdefiniować ciągi znaków dla języków, dla których tłumaczenie nie jest zapewniane. Najpierw ustaw wszystkie ciągi znaków na wartość domyślną, a następnie zastąp te specyficzne dla języka, jeśli istnieją.
Ustaw bit7 (dodaj 0x80 do languageID jak w poniższej tabeli), aby użyć 16-bitowych ID`y ciągu.
Aby uzyskać listę liczby mnogiej, zobacz StringCodes . Ponieważ przypisanie formularzy liczby mnogiej do języków w rzeczywistości nie jest tak ustalone, jak można się spodziewać, używana forma liczby mnogiej jest definiowana przez każdy GRF osobno dla jego ciągów znaków za pomocą właściwości Action0/Global Settings 15.
Obecnie planuje się używać międzynarodowych kodów telefonicznych jako ID`ów języka, chyba że są one poza zasięgiem. Tworząc nowe tłumaczenie dla OpenTTD, wybierz numer niejasno powiązany w jakiś sposób. Albo coś innego.
Prawidłowe identyfikatory językowe są wymienione w poniższej tabeli. Przypadki, płcie i rodzaj plural form podano tylko jako odniesienie. Autorytatywne są definicje w pliku językowym OpenTTD dla każdego języka. Dostępna jest pełna lista tych dokładnych definicji here (generated page).
ID | language | cases | genders | plural form |
---|---|---|---|---|
00 | English (US) | |||
01 | English (GB) | |||
02 | German | m w n p | ||
03 | French | m m2 f | 2 | |
04 | Spanish | m f | ||
05 | Esperanto | n | ||
06 | Ido | |||
07 | Russian | m f n p nom gen dat acc abl pre | m f n p | 6 |
08 | Irish | 4 | ||
09 | Maltese | 12 | ||
0A | Tamil | |||
0B | Chuvash | |||
0C | Chinese (Traditional) | 1 | ||
0D | Serbian | nom big gen dat aku vok lok ins | muški ženski srednji | 6 |
0E | Norwegian (Nynorsk) | small | masculine feminine neuter | |
0F | Welsh | |||
10 | Belarusian | m f n p nom gen dat acc abl pre | m f n p | 6 |
11 | Marathi | |||
12 | Faroese | m f n | ||
13 | Scottish Gaelic | dat gen nom voc | m f | 13 |
14 | Arabic (Egypt) | 1 | ||
15 | Czech | nom gen dat acc voc loc ins big small | m f n map mnp fp np | 10 |
16 | Slovak | g | m z s | 10 |
18 | Bulgarian | m f n p | m f n p | |
1B | Afrikaans | male | ||
1E | Greek | subs date geniki | m f n | 2 |
1F | Dutch | |||
21 | Basque | |||
22 | Catalan | Masculin Femenin | ||
23 | Luxembourgish | |||
24 | Hungarian | t ba | 2 | |
26 | Macedonian | |||
27 | Italian | ms mp fs fp | m ma f | |
28 | Romanian | |||
29 | Icelandic | karlkyn kvenkyn hvorugkyn | ||
2A | Latvian | kas | m f | 3 |
2B | Lithuanian | kas ko kam ka kuo kur kreip | vyr mot | 5 |
2C | Slovenian | r d t | 8 | |
2D | Danish | |||
2E | Swedish | |||
2F | Norwegian (Bokmal) | small | masculine feminine neuter | |
30 | Polish | d c b n m w | m f n | 7 |
31 | Galician | m f n | ||
32 | Frisian | |||
33 | Ukrainian | r d z | m f s mn | 6 |
34 | Estonian | g in sü | ||
35 | Finnish | |||
36 | Portuguese | n m f mp fp | ||
37 | Brazilian Portuguese | m f | 2 | |
38 | Croatian | nom gen dat aku vok lok ins | male female middle | 6 |
39 | Japanese | 1 | ||
3A | Korean | m f | 11 | |
3C | Malay | |||
3D | English (AU) | |||
3E | Turkish | tamlanan | 1 | |
42 | Thai | 1 | ||
54 | Vietnamese | 1 | ||
55 | Mexican Spanish | m f | 0 | |
56 | Chinese (Simplified) | 1 | ||
5A | Indonesian | 1 | ||
5C | Urdu | m f | ||
61 | Hebrew | singular plural gen | m f | |
62 | Persian | |||
66 | Latin | gen acc abl dat | m f n mp fp np |
Tłumacząc nowy język, po prostu edytuj language list i dodaj nową definicję tutaj.
num-ent
Ile kolejnych wpisów należy zmienić.
offset
ID pierwszego ciągu do zmiany.
Gdy bit 7 ID języka jest czysty, jest to wartość bajtowa; Dla OpenTTD od r13482, gdzie jest to wartość rozszerzonego bajtu dla pojazdów.
Gdy ustawiony jest bit 7 id-języka, jest to wartość słowa w małej notacji endian, np. 8134 staje się 34 81.
Wersja 8-bitowa jest dozwolona tylko dla pojazdów, aby ustawić swoją nazwę, w którym to przypadku tekstowy ID jest tylko ID pojazdu. Aby zastąpić oryginalne teksty lub zdefiniować teksty do wykorzystania w wywołaniach zwrotnych lub właściwościach pojazdów, stacji, domów lub gałęzi przemysłu, musisz użyć wersji 16-bitowej. Jednak nazwy miast są zmieniane za pomocą Action F.
Przydatne 16-bitowe ID`y tekstowe znajdują się w tabeli poniżej, odpowiednio. dla funkcji 48 patrz TextIDs.
Chociaż zakresy te są wspólne dla wszystkich funkcji, nadal należy ustawić odpowiednią funkcję, w której ich używasz.
ID | Content |
---|---|
C4xx | Ustaw nazwę klasy stacji związanej z ID stacji xx; to jest tekst nad podglądem (gdzie inaczej TTD pokazuje "Orientation") |
C5xx | Nowe nazwy stacji, zmienia tekst "liczba platform" na podany tekst, gdy wybrana jest stacja o tym ID z bieżącego zestawu (set) (tj. xx=station-id z działania 3 i 0) |
C9xx | Nazwa typu domu tego ID. Jeśli ustawiona jest zarówno właściwość 12, jak i ta, zawsze używana jest najnowsza definicja. Powinieneś raczej wybrać ustawienie property 12 zamiast tego, aby pliki wykonywalne przetłumaczone przy pomocy TTD Translator wyświetlały nazwę w bieżącym języku. Jeśli jednak nie możesz znaleźć odpowiednich starych tekstów TTD, możesz tego użyć do określenia swojej niestandardowej nazwy. Nie zapomnij ustawić tego samego tekstu dla wszystkich części budynku z wieloma płytkami (multi-tile). |
D0xx | Różne teksty graficzne, unikatowe dla każdego pliku .grf. Używany do kilku 'cb'. Niektóre 'cb' obsługują ID do D3FF. |
D4xx | Never use in Action4, tylko do wyświetlania tekstów w zakresie D000-D3FF (specyficzny dla grf), patrz TextIDs |
D8xx | 1.7 Przydatny jak DCxx w Akcji 0 i do włączenia poprzez kody łańcuchowe (string) 0x80 i 0x81. Nigdy nie używaj w Action4, dostępne tylko w funkcjach Action0, patrz TextIDs |
DCxx | Ustaw różne trwałe teksty GRF. Przydatne w akcji 0 i do włączenia poprzez kody łańcuchowe 0x80 i 0x81. W przeciwieństwie do tekstów GRF D0xx, tych ID można używać do ustawiania właściwości. ID tekstowy należy ustawić wcześniej action 0 odwołuje się do tego. |
ID`y DCxx są przydzielane wewnętrznie, gdy są zdefiniowane, i są trwałe w danych zapisu. Każdy plik .grf otrzymuje osobną mapę tych wewnętrznych ID`ów i dlatego może ustawić wszystkie 256 z nich. Jednak w sumie dostępnych jest tylko 1024 ID`ów , które mogą być współużytkowane przez wszystkie pliki .grf kiedykolwiek aktywowane w grze. Oznacza to, że ID`y te powinny być używane tak oszczędnie, jak to możliwe. Ale używaj ich, gdy są przydatne!
text
Jest to lista ciągów zakończonych zerem, musi być tyle ciągów, ile określa num-ent.
Grfcodec w wersji 0.9.6 lub nowszej akceptuje ciągi literalne w .nfo. Są one kodowane dokładnie tak, jak napisano, niezależnie od tego, jakie kodowanie wykorzystuje Twój edytor tekstu; jeśli potrzebujesz 00, umieść go bezpośrednio po literałowym ciągu. Aby zapoznać się z obsługiwanymi kodowaniami, formatem i ograniczeniami dotyczącymi używanych znaków, zobacz GRFActionsDetailed i StringCodes.
Duża liczba oryginalnych ciągów TTD wymaga kodu koloru przed rzeczywistym ciągiem. Możesz także użyć tych kodów kolorów w większości niestandardowych ciągów znaków. Korzystaj z nich mądrze! W przypadku, gdy ciąg wymaga kodu koloru, zostanie wyświetlony kod przed domyślnym tekstem wymienionym w TextIDs.Zazwyczaj ciąg kodowany kolorem rozpoczyna się znakiem ucieczki (odwrotnym ukośnikiem), po którym następuje bajt szesnastkowy, a następnie sam ciąg tekstowy. To znaczy. ciąg 0001 ("\94Off edge of map") ma kod koloru 0x94 przed ciągiem tekstowym, który pokoloruje go na biało. Możesz także umieścić zwykły bajt szesnastkowy poza cytowanym ciągiem bez konieczności ucieczki. 94 "Off edge of map" byłby taki sam jak "\94Off edge of map"
Dostępne są następujące kody kolorów:
Kod | Kolor | Kolor Palety |
---|---|---|
88 | Blue |
|
89 | Silver |
|
8A | Golden |
|
8B | Red |
|
8C | Purple |
|
8D | Light Brown |
|
8E | Orange |
|
8F | Green |
|
90 | Yellow |
|
91 | Dark Green |
|
92 | Cream |
|
93 | Brown |
|
94 | White |
|
95 | Light Blue |
|
96 | Grey |
|
97 | Dark Blue |
|
98 | Black |
|