Aby skorzystać z programu, należy w tym samym katalogu, w którym będzie uruchamiany, utworzyć plik o nazwie insertX.cfg (lub zmodyfikować przykładowy, dołączony do programu w archiwum instalacyjnym). Plik insertX.cfg jest zwykłym plikiem tekstowym - można go utworzyć i edytować w Notatniku bądź dowolnym podobnym edytorze.
W tym pliku znajdują się następujące opcje konfiguracyjne:
#text - nazwa (lub ścieżka dostępu) do pliku zawierającego przetłumaczony tekst
#rom - nazwa/ścieżka do pliku z ROMem tłumaczonej gry
#table - nazwa/ścieżka do pliku zawierającego tablicę
#end_line - ciąg znaków, który będzie używany jako oznaczenie końca dialogu
#pointer - rodzaj wskaźników używanych przez grę
Aby linia konfiguracyjna została prawidłowo zinterpretowana, nazwa opcji powinna znajdować się na samym początku linii, a po jednej spacji wartość opcji, czyli np. nazwa pliku. Przykładowo:
Kod: Zaznacz cały
#text tekst.txt
#rom Dragon Ball - Advanced Adventure (E) (M5).gba
#table tab.tbl
#end_line [*]
#pointer GBA
Format pliku z przetłumaczonym tekstem (#text)
W pierwszej linii należy umieścić dwie wartości heksadecymalne, oddzielone spacjami: pozycja, na której ma być umieszczany tekst w ROMie oraz pozycja bloku wskaźników do tekstu. Nie należy stosować żadnych przedrostków typu 0x. Wartości te można odczytać za pomocą hex-editora.
W kolejnych liniach można umieszczać kolejne teksty do umieszczenia w ROMie. Dialogi są oddzielane od siebie ciągiem znaków określonym w opcji #end_line. W naszym przykładzie będzie to [*][/b].
Wszelkie znaki specjalne jak np. podział linii (Enter), tabulacja są pomijane.
Przykładowy plik z tekstami wygląda następująco:
Kod: Zaznacz cały
B595AE E9E78C
Pewnego razu, głko w górach,/wielka przygoda miała właśnie/się rozpocząć...[*]
Kiedy Goku ciężko trenował,/zjawiła się dziewczyna.[*]
Słodka, zdecydowana./Miała na imię Bulma.[*]
Gdy Bulma zobaczyła pamiątkę/Goku po dziadku - kulę, złożyła/mu niezwykłą propozycję.[*]
Była to piękna kula, z gwiazdami/wewnątrz. Nazywała się/Smoczą Kulą.[*]
Niezwykłe były to kule,/bowiem gdy zbierze się je/wszystkie siedem...[*]...ponoć ukaże się Smok Shenlong/i spełni jedno życzenie.[*]
Tak oto Goku i Bulma wyruszyli...[*]
...na poszukiwanie pozostałych/Smoczych Kul![*]
Format pliku tablicowego jest uproszczoną wersją formatu używanego w większości hex-editorów. Każda linia tego pliku określa jeden kod znaków. Najpierw należy umieścić heksadecymalny kod znaków (bez przedrostków typu 0x), następnie znak =, po czym ciąg znaków mu odpowiadający. Nie można używać znaków takich jak koniec linii (Enter), tabulacja itp.
Zarówno wartości heksadecymalne, jak i ciągi znaków, mogą być różnej długości. Ciągi znaków mogą zawierać spacje i polskie znaki. Nie jest ważna kolejność wpisów.
Można umieszczać komentarze w tablicy (przydatne do np. wyłączania niektórych wpisów) - jako komentarz traktowane są te linie, w których pierwszy znak jest znakiem #.
Fragment przykładowego pliku z tablicą:
Kod: Zaznacz cały
3500=r
0000=0
0100=1
0200=2
0A00=A
0B00=B
0C00=C
0D00=D
4000=.
4100=,
4200=!
4300=?
4700=-
4800=(
4900=)
5200='
5400=+
2B00=h
2C00=i
2D00=j
5E00=Ć
6000=Ź
6500=Ś
8D00=ó
8F00=ô
9000=ź
9600=ż
9A00=(A)
9E00=(Prawo)
#9F00=(Lewo) - zakomentowana linia
5401=(*)
# znak końca dialogu:
5501=[*]
# znak spacji:
51010500=
Typy wskaźników (#pointer)
Program w obecnej wersji obsługuje większość standardowych rodzajów wskaźników. Do poprawnego działania programu wymagane jest, aby blok wskaźników był spójny, tzn. żeby każdy kolejny wskaźnik następował bezpośrednio po sobie. W bloku muszą znajdować się wskaźniki do wszystkich dialogów umieszczonych w pliku tekstowym.
Jako argument opcji #pointer można użyć wartości GBA lub NES - które oznaczają standardowe wskaźniki używane na tych konsolach - a także specjalnej składni umożliwiającej używanie innych typów. Jej format to std_XX_YB, gdzie XX może przyjąć wartość le lub be - co oznacza odpowiednio kolejność bajtów little-endian i big-endian, a Y to rozmiar wskaźnika w bajtach. Na 32-bitowych systemach (większość obecnie instalowanych na komputerach PC) największy obsługiwany rozmiar to 4 bajty.
GBA jest synonimem opcji std_le_4B, a NES - std_le_2B.
Program uruchomić można z linii poleceń, a także po prostu dwukrotnie klikając na ikonę jego pliku wykonywalnego. Program w przypadku pomyślnego zakończenia nie wyświetli nic, natomiast w przypadku błędu jego opis zostanie wypisany na ekran i program będzie czekał na naciśnięcie dowolnego klawisza.
UWAGA! Program w przypadku wystąpienia błędu lub niewłaściwego użycia może uszkodzić plik z ROMem. Mocno zalecane jest utworzenie kopii zapasowej ROMu przed uruchomieniem.
Mile widziane są wszelkie sugestie na temat poszerzenia możliwości programu.
Wraz z plikiem wykonywalnym dołączony jest kod źródłowy programu w C++ (powinien skompilować się pod większością kompilatorów - testowany był na g++ w wersji MinGW z GNU make) oraz dokumentacja kodu w formacie HTML. Dokumentację można zaktualizować za pomocą programu doxygen - odpowiednie pliki konfiguracyjne oraz samo źródło dokumentacji również jest dołączone.