DD:DA Czcionka w formacie DDS

Wszelkie kwestie techniczne.
Regulamin forum
1. W miarę możliwości prosimy o załączanie plików przez nasze forum, nie na zewnętrznych serwerach. Pliki nie znikną wtedy po upływie pewnego czasu. 2. Jeśli chcecie uzyskać pomoc przy rozpracowaniu plików (np. z tekstem, czcionką) załączajcie je do postów - nie każdy przecież posiada tłumaczoną przez Was grę.
Awatar użytkownika
mateu990
Posty: 25
Rejestracja: 4 maja 2012, o 18:10

DD:DA Czcionka w formacie DDS

Postautor: mateu990 » 18 mar 2024, o 13:37

Witam, ostatnio próbuje dodać polską czcionkę do Dragon's Dogma: Dark Arisen.
Namierzyłem główny plik czcionek, ale nie wiem jak dodać polskie znaki.

Myślałem o tym aby podmienić istniejące znaki ale w grze po użyciu nie pokazuje tekstu. Przez co nie wiem który podmienić...

Moje próby dodania nowej kończą się na wykrzaczeniu całej czcionki w grze.
Z tego wiem konfiguracja czcionki znajduje się w pliku ddfont_jpn.gfd ale nie mogę go otworzyć.
Macie na to jakiś sposób?

Byłbym bardzo wdzięczny za pomoc.
W załączniku wysyłam pliki gry z czcionkami w formacie DDS.
Załączniki
ddfont_jpn_00_ID_HQ.zip
(636.16 KiB) Pobrany 13 razy

ValthemarPL
Posty: 26
Rejestracja: 29 lis 2020, o 20:35

Re: DD:DA Czcionka w formacie DDS

Postautor: ValthemarPL » 18 mar 2024, o 20:12

Możliwe, że ten font jest używany tylko dla języka japońskiego, sprawdź czy jest osobny dla pozostałych języków.

Gra zbudowana jest na silniku MT framework, więc możliwe, że są dostępne jakieś narzędzia do edycji tych plików, np. dla Resident Evil

W tych plikach masz dwa pliki graficzne: .dds i .tex. Gra prawdopodobnie używa tego drugiego, ale w sumie są to prawie identyczne pliki, a różnią się tylko nagłówkiem. Po utworzeniu pliku .dds otwierasz go Hex edytorem i zamieniasz

Kod: Zaznacz cały

44445320 7C000000 07100200 00040000 00040000 00001000 00000000 01000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 20000000 04000000 44585435 00000000 00000000 00000000 00000000 00000000 08104000 00000000 00000000 00000000 00000000
na

Kod: Zaznacz cały

54455800 99000020 01000120 012B0100 14000000
i zapisujesz jako plik .tex. Plik .dds zapisujesz oczywiście w takim samym formacie jak ten oryginalny. (DXT5)

Plik .gfd też otwierasz Hex edytorem (jeśli nie znajdziesz do tego jakiegoś programu). Informacje o każdym znaku zajmują 16 bajtów. Przykładowo dla znaku "m" wygląda to tak:

Kod: Zaznacz cały

0004 1700 4300 2100 1700 0200 6D00 0000
1700 - szerokość (advance)
4300 - odległość od lewej
2100 - odległość od góry
170002 -> 020 017 - wysokość i szerokość znaku
6D00 - kod znaku

Dane zapisywane są w formacie little endian, dlatego np. E803 należy odczytywać jako 03E8.

Pozostałe dane to prawdopodobnie id pliku graficznego (może być kilka dla jednego pliku .gfd) i jakieś przesunięcia, marginesy. Będziesz musiał poeksperymentować. Istnieje kilka wersji plików .gfd i dane są kodowane w różny sposób, więc możliwe, że powyższe informacje zawierają błędy.
Załączniki
dds tex.png

Awatar użytkownika
mateu990
Posty: 25
Rejestracja: 4 maja 2012, o 18:10

Re: DD:DA Czcionka w formacie DDS

Postautor: mateu990 » 19 mar 2024, o 13:15

Dzięki zapomniałem całkiem o Hex Edytor.
Potestowałem trochę ddfont_jpn.gfd np. zmieniając À na Ą, ale w grze nadal po użyciu polskiego znaku nie pokazuje całego zdania.
(Całego, nie że jest puste pole między wyrazami).

Próbowałem podmienić też testowo coś z angielskiego alfabetu (Zwykłe A na Ą), ale dzieje się to samo.
W plikach gry są inne pliki z czcionkami, ale one wydają się ignorowane przez grę. Zmiany zachodzą tylko przy edytacji ddfont_jpn.gfd i ddfont_jpn_00_ID_HQ.tex

Nie znam sie na tym zbyt dobrze, ale po próbuje i może w końcu się uda. Jak nie to zacznę coś dłubać przy grze bez polskich znaków lub całkiem zostawię temat...
Gra ma chyba jakiś zakres czcionek ale nie wiem nawet gdzie to szukać.

W załączniku wysyłam w sumie cały folder z czcionkami + folder z wypakowanymi plikami DDS.

Dziękuje za pomoc
Załączniki
DDDA font.zip
(4.64 MiB) Pobrany 11 razy

Hikooo
Posty: 39
Rejestracja: 3 cze 2023, o 01:38

Re: DD:DA Czcionka w formacie DDS

Postautor: Hikooo » 19 mar 2024, o 17:26

Tak dla pewności: skoro zamieniłeś À na Ą, to w pliku tekstowym piszesz À czy Ą?. I czy inne znaki taki jak ä się wyświetlają? Może spróbuj zmienić kodowanie w pliku tekstowym. Zobacz jakie kodowanie ma plik z np. niemieckim tłumaczeniem i zmień na takie samo. (Chodzi o np. zmianę z UTF-8 na ANSI)

masagrator
Posty: 45
Rejestracja: 24 gru 2018, o 20:05

Re: DD:DA Czcionka w formacie DDS

Postautor: masagrator » 19 mar 2024, o 19:14

Z tego co rozumiem, te pliki wgrywa się do paczek arc + nie pokazuje wszystkich zdań, a nie tylko zmodyfikowanego tekstu.
Spróbuj wgrać niezmodyfikowanego fonta do tej paczki, bo mam wrażenie, że problem leży w narzędziu do edycji arc, a nie w samej edycji fonta.

ValthemarPL
Posty: 26
Rejestracja: 29 lis 2020, o 20:35

Re: DD:DA Czcionka w formacie DDS

Postautor: ValthemarPL » 19 mar 2024, o 19:22

Prawdopodobnie jest to związane z nieprawidłowym kodowaniem. W pliku .gfd znaki używają kodowania UTF-16 LE. Pobrałem węgierskie tłumaczenie i w tekście gry wykorzystywane jest UTF-8. Przygotowałem plik .gfd z polskimi znakami, zamieniłem je według poniższego klucza:

Á á Č č Ě ě Ň ň Ñ ñ Ď ď Ú ú Ű ű
Ą ą Ć ć Ę ę Ł ł Ń ń Ś ś Ź ź Ż ż

Oczywiście trzeba będzie dostosować niektóre wymiary (szczególnie "ł") oraz pozmieniać znaki w pliku graficznym.
Załączniki
ddfont_jpn.zip
(16.45 KiB) Pobrany 8 razy

Awatar użytkownika
mateu990
Posty: 25
Rejestracja: 4 maja 2012, o 18:10

Re: DD:DA Czcionka w formacie DDS

Postautor: mateu990 » 19 mar 2024, o 21:35

Właśnie pliki z tekstami gry po angielsku są zapisane w kodowaniu Unix (LF) ANSI. Tam jest w sumie 9684 plików i są one wymieszane językowo. Cześć ma kodowanie UTF-8 a część ANSI.
Próbowałem konwertować plik na UTF-8 (i do innych formatów) poprzez Notepad++ ale zmienia mi to coś w strukturze pliku i gra wysypuje się do pulpitu.

Edit>

Chociaż z tymi formatami tez jest wymieszane z tego co widzę. Wyszukałem pliki z tym samym tekstem ale w różnych językach i wszędzie jest Unix (LF) ANSI
Załączniki
Ten sam tekst w różnych językach.zip
(11.52 KiB) Pobrany 10 razy
Przykład plików tekstowych.zip
(2.64 KiB) Pobrany 11 razy

Hikooo
Posty: 39
Rejestracja: 3 cze 2023, o 01:38

Re: DD:DA Czcionka w formacie DDS

Postautor: Hikooo » 20 mar 2024, o 02:06

9684? Czyli wypakowałeś plik message.pck? Bo właśnie patrzę na jego wypakowaną zawartość i tam jest dokładnie tyle plików. Ale nie ma potrzeby go wypakowywać. Jest narzędzie, które wyciąga tekst z pliku pck dodaje go do jednego pliku txt i vice versa. Patrząc na pliki, które wysłałeś wnioskuję, że z niego nie korzystasz. Zmień tylko kodowanie w nim na UTF-8 i powinno być spoko. Widziałem na jakimś forum, że inni z niego korzystali i nikt nie pisał na temat niewyświetlających się znaków.

link do narzędzia: https://mega.nz/folder/bZBRSTTD#vGZIeErF2aGXI3SGjf73yA

po użyciu "dragonsdogmadarkarisen_export.exe" powinien pojawić się plik "message.pck.txt".

Awatar użytkownika
mateu990
Posty: 25
Rejestracja: 4 maja 2012, o 18:10

Re: DD:DA Czcionka w formacie DDS

Postautor: mateu990 » 20 mar 2024, o 10:42

9684? Czyli wypakowałeś plik message.pck? Bo właśnie patrzę na jego wypakowaną zawartość i tam jest dokładnie tyle plików. Ale nie ma potrzeby go wypakowywać. Jest narzędzie, które wyciąga tekst z pliku pck dodaje go do jednego pliku txt i vice versa. Patrząc na pliki, które wysłałeś wnioskuję, że z niego nie korzystasz. Zmień tylko kodowanie w nim na UTF-8 i powinno być spoko. Widziałem na jakimś forum, że inni z niego korzystali i nikt nie pisał na temat niewyświetlających się znaków.

link do narzędzia: https://mega.nz/folder/bZBRSTTD#vGZIeErF2aGXI3SGjf73yA

po użyciu "dragonsdogmadarkarisen_export.exe" powinien pojawić się plik "message.pck.txt".
Dzięki! Tak wcześniej wypakowałem tylko ten message.pck przez narzędzia z "ArisenTools-master".Teraz jak mam tylko jeden notatnik i podmienię plik ddfont_jpn.gfd od ValthemarPL to wygląda że działa.
Prawdopodobnie jest to związane z nieprawidłowym kodowaniem. W pliku .gfd znaki używają kodowania UTF-16 LE. Pobrałem węgierskie tłumaczenie i w tekście gry wykorzystywane jest UTF-8. Przygotowałem plik .gfd z polskimi znakami, zamieniłem je według poniższego klucza:

Á á Č č Ě ě Ň ň Ñ ñ Ď ď Ú ú Ű ű
Ą ą Ć ć Ę ę Ł ł Ń ń Ś ś Ź ź Ż ż

Oczywiście trzeba będzie dostosować niektóre wymiary (szczególnie "ł") oraz pozmieniać znaki w pliku graficznym.
Dzięki za plik! Teraz gra wyświetla znaki. Tylko według takiego klucza:
Obrazek

Można wiedzieć które dokładnie linie edytujesz? Bo chciałbym jakoś zwiększyć szerokość i odstęp znaków. Na tę chwile mam problemy z Ę ę i Ś ś. Strasznie je ucina i wygląda tak:

Obrazek

Sam coś nie mogę tego namierzyć w programie HxD. I jak zmieniam wartości to nic się nie zmienia w grze.


Ogólnie jako całość nie wygląda to źle (to bardzo robocza czcionka na pewno do poprawek) Zauważyłem jeszcze że litery zostawiają cienie (najbardziej widać przy Ś), pewnie bierze to z innej bliźniaczej czcionki.
Obrazek

ValthemarPL
Posty: 26
Rejestracja: 29 lis 2020, o 20:35

Re: DD:DA Czcionka w formacie DDS

Postautor: ValthemarPL » 20 mar 2024, o 15:47

Tylko według takiego klucza:
Rzeczywiście, mój błąd. Poniżej masz kod, który użyłem, możesz go wyszukać i dostosować wymiary.
Ten cień za literami to prawdopodobnie pochodzi z zielonego kanału. Jeśli coś wymazujesz np. w gimpie, to znika to z kanału alfa, ale na pozostałych nadal jest, więc musisz przejść na zielony kanał i zamazać to kolorem tła.

Kod: Zaznacz cały

00001000 2B032100 11000201 04010000 00040C00 1C012100 0C000200 05010000 00001000 70032100 10000200 06010000 00040C00 4C012100 0C000200 07010000 00000900 B0032100 09000200 18010000 00040800 7C012100 09000201 19010000 00001500 EA032100 15000200 41010000 00040F00 B0012100 0F000200 42010000 00001500 D5032100 15000200 43010000 00040F00 A1012100 0F000200 44010000 00000900 CC032100 09000200 5A010000 00040800 97012100 0A000201 5B010000 00001400 71004200 14000200 79010000 00040F00 FB012100 0F000200 7A010000 00001400 85004200 14000200 7B010000 00040F00 0A022100 0F000200 7C010000


Wróć do „Technikalia”



Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości