Forum

Nasze projekty

Technikalia translaji

Więcej
2020/04/05 11:25 #11877 przez piotrzaj23
Użytkownik piotrzaj23 stworzył temat: Technikalia translaji
WItam
Ostatnio zaciekawiła mnie tematyka modyfikowania plików gier, dlatego zacząłem przeczesywać polskie zasoby internetu i tak trafiłem na projekty balamb.pl
Drążąc tematy z praktycznym podejściem, natrafiłem na narzędzie Hammerhead stworzone przez suwerena ogrodu Balamb :). Bravo!!!
I tu kilka moich pytań.

1. Rozumiem ,że pliki *.EARC na których operuje program, to forma jakiejś kompresji zastosowana przez producenta gry? Do operacji na tych plikach zostały użyte zewnętrzne biblioteki Joveler.ZLibWrapper? Zgadza się?
Skąd było wiadomo ,jaka to kompresja a co za tym idzie jakie biblioteki wykorzystać do obsłużenia tego?

2. Po wypakowaniu plików z EARC znajdujemy między innymi pliki *.btex. Czy jest to następna forma kompresji/szyfrowania zastosowana przez producenta?

3. Aby dalej wydobyć pliki należy użyć narzędzia quickBMS. Aplikacja Hammerhead ma pewne opcje automatyzacji by to wykonać. W niej w pierwszym polu wpisujemy ścieżkę do qBMS. W kolejnym nazwe skryptu ffxv_btex2dds.bms.
Na chwilę obecną po naciśnięciu przyciski "Make BETX export batch for QBMS", jak sama nazwa wskazuje w folderze aplikacji Hammerhead tworzony jest plik wsadowy systemu Windows extractBTEX.bat. Przenoszę wygenerowany plik extractBTEX.bat do lokalizacji qBMS, następnie go odpalam. No i dostaję - open input file C:\Users\Administrator\Desktop\new\menu\chapter_title\swf\swf.btex
- open script C:\Users\Administrator\Downloads\quickbms\ffxv_btex2dds.bms

- error in src\quickbms.c line 1486: main()
Error: No such file or directory

I tu zasadnicze pytanie, które przerwało mi dalsze zgłębianie tematu. Skąd wsiąść skrypt ffxv_btex2dds.bms?

Proszę Zaloguj lub Zarejestruj się, aby dołączyć do konwersacji.

Więcej
2020/04/05 18:08 #11878 przez Robin
Użytkownik Robin odpisał na temat: Technikalia translaji
1.Pliki EARC to kompresja zlib z dodatkowymi parametrami. Całe pliki to tak naprawdę zestawy sklejonych ze sobą plików, z zaszyfrowanymi adresami do nich + szyfr zmienia się zależnie od tego, który to plik w archiwum.
Co do rodzaju kompresji, to z doświadczenia, pewne wzory już się widzi po otwarciu pliku w hexedytorze.

2. BTEX to opakowane tekstury. Tekstury są w różnych odmianach DDS, można je nawet ręcznie wykleić przy pomocy hexedytora, tylko po co ;) Poza DDS, BTEX zawiera informacje potrzebne grze, np. od jakiego miejsca rozpoczynać wczytywanie litery w foncie (to akurat opisywałem gdzieś na forum Xentax, Rosjanie smęcili, że oryginalna cyrylica z gry ma zły kerning, ale finalnie nic z tym nie zrobili).

3. Ta opcja jest dla tych, co chcieliby się pobawić teksturami - ich zamianą itp. ffxv_btex2dds.bms znajdziesz na forum Xentax ( forum.xentax.com/viewtopic.php?p=138275&...b938587a8634#p138275 ).

Proszę Zaloguj lub Zarejestruj się, aby dołączyć do konwersacji.

Więcej
2020/04/06 09:50 #11879 przez piotrzaj23
Użytkownik piotrzaj23 odpisał na temat: Technikalia translaji
Jestem pełen podziwu dla wiedzy zgromadzonej przez ciebie w tym temacie @Robin .

Poza DDS, BTEX zawiera informacje potrzebne grze, np. od jakiego miejsca rozpoczynać wczytywanie litery w foncie

Rozumiem że mówisz tu o plikach BTEX zawartych w pliku FNTBIN?
Czyli z tego co widzę to w plików *.msgbin znajdują się cały "skrypt dialogowy" gry jako plaintext (ozywiście wyświetlane w hexedytorze).

to akurat opisywałem gdzieś na forum Xentax

Tak widziałem ten wpis na Xentax. Ale nie wiem czy moje podstawy pozwalają to do końca zrozumieć.
Czy w plikach fontbin znajdują się jakieś mapy czcionek w postaci Btex? Mógł byś na jakimś przykładzie, rozwinąć jak działa mechanizm pobierania/wyświetlania konkretnego znaku? Np. gdy w pliku *.msgbin znajduje się słowo "help" to skąd wiadomo ,że ma pobrać z pliku *.fntbin konkretny znak znajdujący się w konkretnym miejscu.

3. Ta opcja jest dla tych, co chcieliby się pobawić teksturami - ich zamianą itp. ffxv_btex2dds.bms znajdziesz na forum Xentax ( forum.xentax.com/viewtopic.php?p=138275&...b938587a8634#p138275 ).

Czy jesteś odpowiedzialny za popełnienie tego skryptu do qbms?
Niestety na razie mam jakieś problemy techniczne z założeniem na Xantax konta.

Jak to się żartobliwie mówi "Thanks for answer from the mountain".

Proszę Zaloguj lub Zarejestruj się, aby dołączyć do konwersacji.

Więcej
2020/04/06 22:49 #11880 przez Robin
Użytkownik Robin odpisał na temat: Technikalia translaji
Ten plain text to nie do końca plain, na początku są wskaźniki, które wskazują grze, gdzie się zaczyna i kończy konkretny wpis. Ponadto jest wiele zmiennych - przyciski itp.

Czy w plikach fontbin znajdują się jakieś mapy czcionek w postaci Btex?


Tak, są tekstury odpowiadające za litery.

Gra ma zakodowaną informację, że ma wczytać pliki fntbin. Na podstawie znaku, np. "h", mapuje sobie odpowiednie miejsce w fntbin, na podstawie tych danych, które opisywałem na Xentaxie:

starting from 20205h (font_event.dx11.fntbin) and there are 9 bytes for every character:
1) offset from left of the whole texture, 2 bytes
2) offset from top, 2 bytes
3) texture start, from left, 1 byte (can be negative: 255 means -1) - kerning on the left side of character
4) texture start, from top, 1 byte (vertical placement of character)
5) texture width, 1 byte (how many pixels game have to read starting from 1)
6) texture height, 1 byte
7) whole block of character width (kerning on the right side of character), 1 byte.


Gra wie, gdzie się zaczyna dana litera na podstawie mnożenia - pierwszy znak to dane od 0-8, drugi 9-17 itd.

Czy jesteś odpowiedzialny za popełnienie tego skryptu do qbms?

Nie, nie był mi on do niczego potrzebny. Dodałem obsługę w Hammerhead tylko po to, by inni mogli z tego skorzystać.

Proszę Zaloguj lub Zarejestruj się, aby dołączyć do konwersacji.

Więcej
2020/04/15 17:51 #11886 przez melipa
Użytkownik melipa odpisał na temat: Technikalia translaji
hi Robin.i need to help.
i need font ığĞşŞİ add.
can you add and share these letters to font.

Proszę Zaloguj lub Zarejestruj się, aby dołączyć do konwersacji.

Donacja Discord

Kto jest online

Odwiedza nas 103 gości oraz 0 użytkowników.

Nowy poziom!

  • zet awansuje dziś na nowy poziom! (30)
  • xXShuterXx awansuje jutro na nowy poziom! (25)