NFO - alternatywny język niskiego poziomu plików .grf
#2
W załączniku wstępnie dokonany przyrząd programowalny . 
Do "e-kodowania" z NFO na .grf i dekodowania (odwrotnie ; *.grf ~> NFO )
przydatne narzędzia -
Za linkiem m.in. grfcodec jako program w linii poleceń (wskazówki po wpisaniu np. grfcodec.exe 
lub grfWizard z przyjaznym okienkiem pod Windows (wymaga tylko krótkiego skonfigurowania).

Jeden z prostszych plików nfo , który może posłużyć do skompilowania .grf 
to przykład w pakiecie JGR's w katalogu [data]
- progsignals.grf  , a po odkodowaniu :
Kod:
GrfCodec -d progsignals.grf

otrzymane :
Kod:
// Automatically generated by GRFCODEC. Do not modify!
// (Info version 32)
// Escapes: 2+ 2- 2< 2> 2u< 2u> 2/ 2% 2u/ 2u% 2* 2& 2| 2^ 2sto = 2s 2rst = 2r 2psto 2ror = 2rot 2cmp 2ucmp 2<< 2u>> 2>>
// Escapes: 71 70 7= 7! 7< 7> 7G 7g 7gG 7GG 7gg 7c 7C
// Escapes: D= = DR D+ = DF D- = DC Du* = DM D* = DnF Du<< = DnC D<< = DO D& D| Du/ D/ Du% D%
// Format: spritenum imagefile depth xpos ypos xsize ysize xrel yrel zoom flags
   ...
Na początku z "//" są komentarze.
Ponieważ określają rozmaitości tego pliku NFO powinny tam być nie zmodyfikowane .
Więcej można zając się tym później . Do sygnalizacji wystarczy skopiować i wkleić .


Kod:
...
0 sprites/progsignals.png  8bpp   18    8   11   21   -8  -19 normal
1...

Kolejne linie od 0, 1 ... etc (numeracja troche jak BASIC) to instrukcje opisujące sprite czyli konkretne rysowanie ( obrazek.png )
Za ścieżka do pliku , wpisane są różne właściwości w odstępach (tj. głębia kolorów, współrzędne, "gabaryty" czy wersja zbliżenia etc).
Istnieją tez spirites bez przypisanej wizualizacji , mogą powodować zmiany wszelkich stanów jak sytuacje dźwiękowe etc. O tym może innym razem .
Wtedy linia 0 (zero) to tzw. pseudosprit  wstawiony z * (gwiazdką)  .
Następna cyfra w tym wierszu to liczba sprit'ów całkowicie , ogółem (w pliku .nfo ) .
Jeśli zastosowane będą 4 oznacza się tak :
Kod:
...
0 * 4 0D 00 00 00
...
Znaki końcowe mogą być inne - nie ważne teraz .
Choćby dokładniej następna linia w takim układzie posiada ID -
Kod:
...
1 * 8 08 06 „SG” 03 05 00 00
2 * 4 01 00 01 08
...
Zaś ostatnia linia we fragmencie powyższym odnosi się do swego rodzaju akcji (działanie, typ) 
Różne wyszczególnione na GRFspecs .

Jeśli wstawione zostaną dodatkowe grafiki (z innych modów) 
można uzyskać nowszą oprawę semaforów  -
Kod:
...
16 sprites/abase_base03.png  8bpp  690 2696    3   14   -1  -12 normal
   | sprites/abase_base06.32.png 32bpp  338 2776   21   23  -13  -19 normal chunked
   | sprites/abase_base06.32.png 32bpp  370 2776   94   95  -57  -73 zi4 chunked
   | sprites/abase_base06.32.png 32bpp  482 2776   44   46  -27  -37 zi2 chunked
...
i powyżej tylko w skrócie , pierwsza wyraźniejsza szata sygnałów świetlnych .

Gotowy 'beta' Newgrf otrzymany po wklepaniu: 
Kod:
GRFCODEC -e -g 2 progsignals.grf
parametr -g ( format 2) dotyczy widoków "x2" + "x4" .

Oczywiście powstały progsignals.nfo do ulepszenia - w dalszym poście .

Najlepiej do tego edytor 
psPad . Aby działał 'F9' jako zautomatyzowane uruchomienie kompilacji (lub przycisk na "belce") 
do zrobienia dwie czynności.
W folderze [syntax] dorobiony plik definicji dla rozszerzeń .nfo (np. użycie zawartoscii od pliku intranet.ini i poprawienie) :
Kod:
...
Name=NFO
...
FileType=*.nfo
...

A w menu tools ~> ustawienia podświetlania , zakładka kompilator - parametry kompilacji: ... %Name%.grf .
(ze wskazaniem dostępu do GRFKodeka manualnie).
Nie koniecznie , ale z zaznaczeniem opcji : "przechwyt okna komunikatów wyjściowych" .

Osobnym niuansem jest wykorzystanie makr - M4NFO dla pewnych animacji migających "diod" .. 


Załączone pliki
.grf   progsignals.grf (Rozmiar: 106.39 KB / Pobrań: 72)


Wiadomości w tym wątku
RE: NFO - alternatywny język niskiego poziomu plików .grf - przez yard - 19-04-2019, 18:29

Skocz do:

[-]
Zamknięcie forum OpenTTD Polska
Forum OpenTTD Polska zostało wyłączone. Obecnie znajduje się tu archiwum dyskusji o dodatkach tworzonych przez naszą społeczność.
Po aktualne treści i dyskusje zapraszamy na nasz discord! :)

[-]
Discord