Čo k tomu potrebujeme?
- - grafický editor (Adobe Photoshop, Paint.net)
- textový editor (Notepad++, Wordpad)
- dávku nervov
1) Ako prvé je potrebné si vytvoriť základnú bitmapu, v ktorej budú obsiahnuté všetky znaky. Pozadie musí byť čiernej farby, znak bielej farby. Odporúčam vám si pre každý jeden znak vyhradiť rovnakú výšku aj šírku, jednoduchšie sa to potom zapisuje do *.oft súborov. Poloha prvého znaku ale vôbec nie je dôležitá.
Kvôli zjednodušeniu tvorby používam aj mriežku priamo v programe, ľahšie sa mi tak vkladajú znaky.
2) Ak si chcete spraviť nejaký farebný font, je potrebné vytvoriť aj jeho tzv. farebnú mapu. Pre príklad, farebnú mapu som musel vytvoriť pre font RGB BUSE, pretože každý znak má priradenú istú farbu. Ak však farebný font nechcete, tento krok môžete hneď preskočiť. Väčšina fontov tak či tak farebné mapy nepoužíva.
Tvorba farebnej mapy spočíva iba v zafarbení daného znaku nejakou farbou. Vopred ale upozorňujem, že časti znaku, ktoré nemajú byť zafarbené treba ponechať v čiernej farbe (RGB 0 0 0), inak aj táto časť sa v OMSI zafarbí! Ako celý znak sa ale ráta celé políčko, ktoré môžete u mňa vidieť zvýraznené pomocou zelených vodítok.
Porovnanie farebnej a základnej mapy.
3) Ďalší dôležitý krok je zápis. Áno, je rovnako zdhĺhavý a nudný ako tvorba základnej bitmapy.
Font v OMSI je definovaný v *.oft súboroch. Každý font je definovaný pomocou parametru [newfont] a jedného či viacerých [char]. Nižšie uvádzam vysvetlenie jednotlivých zápisov (preložené z nemčiny).
- Kód: Vybrat vše
[newfont]
meno fontu (ktoré sa použije v [texttexture])
farebná bitmapa
čiernobiela (alpha) bitmapa
výška v pixeloch (vrátane vertikálneho odstupu)
horizontálna medzera
[char]
zastupujúci znak (písmeno, číslo,..)
začiatočná poloha X
koncová poloha X (vrátane vzdialenosti k ďalšiemu písmenu)
začiatočná súradnica Y (ľavého horného "rohu")
Pod zápisom [newfont] si definujeme pár základných informácií o fonte, ktoré OMSI potrebuje. Prvé je samozrejme jeho meno (toto meno sa používa aj v zápise [texttexture]), potom cesta k farebnej mape, ďalšia je cesta k základnej mape, výška jedného znaku v pixeloch vrátane vertikálneho odstupu od jeho ďalšieho znaku (ktorý je pod ním) a posledný zápis je horizontálna medzera medzi dvoma znakmi. Napr.:
- Kód: Vybrat vše
[newfont]
BUSE_BS_100
BUSE_BS100_alpha.bmp
7
1
Pri zápise [char] sa uvádzajú konkrétne informácie o jednom znaku. Ako prvé sa definuje zastupujúci znak (tento zápis je case-sensitive, teda „X“ a „x“ je pre OMSI rozdiel; je možné použiť všetky znaky mimo @, ktorý OMSI používa v skriptoch pre zlom riadku), ďalej začiatočná X poloha, koncová X poloha (tieto dve polohy ľahko zistíte v grafickom editore, jednotkou sú pixely) a posledné je začiatočná súradnica Y. Týmto spôsobom zapíšeme všetky znaky fontu. Napr.:
- Kód: Vybrat vše
[char]
A
5
10
9
[char]
0
5
10
20
Na záver len podotknem, že všetky fonty a ich textúry sú uložené v priečinku Fonts, ktorý sa nachádza v koreňovom adresári s hrou.
Akékoľvek otázky ohľadom tvorby smerujte, prosím, priamo sem, nie mne do PM.