Contents |
Wprowadzenie
Przypisz parametry i oblicz wyniki.
Działanie D pozwala ustawić wartość parametru grf (tj. Te, które zwykle ustawia się jako opcje w pliku newgrf(w).cfg ), a także wykonać na nich matematykę.
Syntax
Dane wyglądają następująco:
<Sprite-number> * <Length> 0D <target> <operation> <source1> <source2> [<data>]
Element | Rozmiar | Opis |
---|---|---|
<Sprite-number> | dec | Sekwencyjny numer 'sprite' |
<length> | dec | Łączna liczba bajtów użytych w tej akcji |
0D | B | Definiuje action 0D |
<target> | B | Parametr docelowy |
<operation> | B | Obliczenia do przeprowadzenia |
<source1> | B | Pierwszy argument |
<source2> | B | Drugi argument |
<data> | D | Wartość do wykorzystania jako źródło, jeśli nie parametr |
Opis
target, source1, source2
Te bajty określają parametr docelowy i parametry źródłowe. Mogą to być albo liczby parametrów grf, albo mogą być global variable.
Jeśli źródło1 lub źródło2 to FF, zamiast wartości parametru używana jest wartość z <danych>.
Jeśli <source2> to FE, to działanie D wykona jeden z następujących dostępów specjalnych zmiennych. W takim przypadku <operation> musi być przypisaniem, a <data> jest argumentem dostępu do danych, a nie wartością źródłową.
- Read parameters of another GRF
- Read game configuration settings
- Reserve GRF resources to prevent conflicts with other GRFs
operation
Operacja przeprowadzania argumentów źródłowych. Ten bajt ma sekwencję zmiany znaczenia dla każdej z możliwych wartości wymienionych poniżej. Zobacz the discussion of escape sequences w celu uzyskania dalszych informacji na temat sekwencji specjalnych. Wynik tego obliczenia zostanie zapisany w parametrze docelowym.
Możesz dodać 80 do numeru operacji, aby zastosować go tylko wtedy, gdy cel nie został jeszcze zdefiniowany. W tym względzie przyjmuje się, że parametr jest definiowany, jeśli ma zastosowanie którykolwiek z poniższych warunków:
- ustawiono dowolną wartość z listy parametrów newgrf(w).cfg
- it lub parametr o większej liczbie został ustawiony na dowolną wartość przez wcześniejsze działanie D
Jeśli na przykład parametry 0 i 1 są ustawione w pliku newgrf(w).cfg, a akcja D ustawia parametr 4, wówczas parametry 2 i 3 zostają automatycznie zdefiniowane i otrzymują wartość zero.
Notes
Możesz zrobić bitowe NIE dla <param>, obliczając "-1 - <param>" , tj. operation=02, source1=FF, source2=param, data=FF FF FF FF .
Operand docelowy może również odnosić się do zmiennych specjalnych z działania 7, patrz poniżej lista zmiennych, do których można zapisać.
Ponieważ łatka musi ponownie przydzielić pamięć dla całej listy parametrów za każdym razem, gdy dodawany jest nowy parametr, należy najpierw ustawić parametr o najwyższym numerze (przynajmniej w miarę możliwości), aby cała pamięć mogła zostać przydzielona od razu.
Pamiętaj, że parametry nigdy nie są resetowane po uruchomieniu gry, dlatego nie wolno modyfikować parametrów newgrf(w).cfg przy jakimkolwiek nieodwracalnym działaniu. Można na przykład dodać wartość do parametru tylko wtedy, gdy ta sama wartość zostanie później odjęta, aby utrzymać ten sam parametr podczas ładowania lub uruchamiania kilku gier.
Te zmienne globalne, dla których można zapisać, są wskazane w osobnej kolumnie w global variable list . Zauważ, że akcja D obsługuje tylko zapisywanie wartości dword. Podany tam rozmiar służy jedynie do przekazania, ile tej wartości dworu zostanie wykorzystane w grze, tj. Jaka jest maksymalna wartość.