 |
Autor |
Wiadomość |
twig
Rejestracja: śr 13 sty 2010, 13:37 Posty: 27
|
 Re: Black Dahlia po polsku
Miałem się rozpisywać o tych czcionkach, ale właśnie doszedłem do wniosku, że szczegóły techniczne i tak nikogo nie będą interesowały, więc napiszę w skrócie. Czcionki fnt w grze nie są standardowe, więc można sobie spokojnie odpuścić standardowe programy do edycji czcionek (chyba że znajdzie się program od Take2...). Zła wiadomość jest taka, że dane graficzne są w tych plikach skompresowane. Plik można podzielić z grubsza na 3 części: nagłówek, informacje na temat znaków (wysokość i szerokość znaku, przesunięcie w poziomi i przesunięcie w pionie oraz prawdopodobnie adres w rozpakowanym strumieniu danych graficznych) oraz skompresowany strumień danych graficznych. Nagłówek i dane o znakach mam (z grubsza) rozpracowane. Problem stanowi skompresowana grafika. Podejrzewam, że chodzi o kompresję RLE (choć nie wykluczam LZW). Grafika czcionek jest 1-bitowa, więc skompresowane dane są ciągiem bitów. Jeżeli mamy do czynienia z kompresją RLE to w tym ciągu muszą być jakieś "kody sterujące" - czyli ustalone wartości, które mówią np. o powtórkach. Próbowałem modyfikować skompresowany strumień i sprawdzać, jak wpływa to na wyświetlane znaki w grze. Niestety na razie nie ustaliłem niczego praktycznego. Edycja plików AEX - są to pliki z logiką gry. Aby edytować zawarty w nich tekst bez żadnych ograniczeń, trzeba by rozpracować kod tych skryptów, a to niełatwe zajęcie. Na pocieszenie mogę zaoferować narzędzie podmieniające tekst z ograniczeniem jego długości. Jak wspominał Elum pliki francuskiej wersji językowej powinny być wystarczająco "pojemne", by pomieścić polski tekst. Porównując pliki wersji angielskiej i francuskiej zauważyłem, że czasem pliki francuskie zawierają dodatkowy tekst, którego nie ma w wersji angielskiej - pod tym względem pliki francuskie i niemieckie są bardzo podobne, więc pewnie powstały w tym samym czasie. Plik GAME.TF ma prostą strukturę. Zawarty w nim tekst można zmieniać bez ograniczeń ( przed i po).
|
pn 08 lut 2016, 05:13 |
|
 |
Elum
Rejestracja: pt 18 lut 2005, 18:52 Posty: 2356 Lokalizacja: Schwientochlowitz
|
Wiem! Jest jeszcze jeden sposób na problem czcionkowy - dobieranie takich wyrazów, zwrotów itp. w których nie ma polskich znaków  (oprócz "ó", obecnego w pliku czcionkowym, bo wykorzystywanego chyba zarówno przez Hiszpanów jak i Portugalczyków). Teoretycznie jest to wykonalne. Naturalnie, z drugiej strony, po kilku godzinach takiego pisania pewnie... miaubym doszcz.  twig pisze: Plik GAME.TF ma prostą strukturę. Zawarty w nim tekst można zmieniać bez ograniczeń ( przed i po). A czym/jak zmieniałeś? U mnie jest niestety tak, że jeśli podmienię np. "badge" na "odznakę" to przemieszczają/rozjeżdżają się nazwy innych przedmiotów ( z odznaką - gra oczywiście układa przedmioty alfabetycznie, ale co stało się z "invitation"?  ).
|
wt 09 lut 2016, 20:16 |
|
 |
twig
Rejestracja: śr 13 sty 2010, 13:37 Posty: 27
|
 Re: Black Dahlia po polsku
Elum pisze: Wiem! Jest jeszcze jeden sposób na problem czcionkowy - dobieranie takich wyrazów, zwrotów itp. w których nie ma polskich znaków  Albo kropkować i kreskować: Zażółć gęślą jaźń ---> Zaz.ól/c' ge,s'la, jaz'n' Elum pisze: A czym/jak zmieniałeś? Napisałem do tego prosty program. W tej chwili jest trochę "durny" - spakuje wszystko, co znajduje się w drugiej kolumnie arkusza. Niedługo uzdatnię program do plików AEX, dzięki czemu można będzie tłumaczyć tekst w takim lockicie. W tej chwili niby działa, ale nie ma żadnego interfejsu użytkownika 
|
śr 10 lut 2016, 01:30 |
|
 |
Elum
Rejestracja: pt 18 lut 2005, 18:52 Posty: 2356 Lokalizacja: Schwientochlowitz
|
twig pisze: Napisałem do tego prosty program. W tej chwili jest trochę "durny" - spakuje wszystko, co znajduje się w drugiej kolumnie arkusza. Acha, w ten sposób. Myślałem, że może znalazłeś na to jakiś prostszy (jeszcze prostszy  ) patent. Dzięki, przyda się (niestety Francuzi też na "odznakę" mówią "badge"  ). twig pisze: Niedługo uzdatnię program do plików AEX, dzięki czemu można będzie tłumaczyć tekst w takim lockicie. W tej chwili niby działa, ale nie ma żadnego interfejsu użytkownika  Trochę niepotrzebnie. To jest bardzo drugorzędna sprawa. No chyba, że robisz to dla siebie, bo to Cię odpręża.  Jeśli o mnie chodzi - do tej pory struktura tych plików mi nie przeszkadzała, więc tego programu raczej nie wykorzystam.
|
śr 10 lut 2016, 18:32 |
|
 |
twig
Rejestracja: śr 13 sty 2010, 13:37 Posty: 27
|
 Re: Black Dahlia po polsku
Serio wolisz edytować te pliki w hexedytorze?
|
śr 10 lut 2016, 19:03 |
|
 |
Elum
Rejestracja: pt 18 lut 2005, 18:52 Posty: 2356 Lokalizacja: Schwientochlowitz
|
W jakim hex edytorze? Pliki .AEX tłumaczę w Notepad++ 
|
śr 10 lut 2016, 19:21 |
|
 |
twig
Rejestracja: śr 13 sty 2010, 13:37 Posty: 27
|
 Re: Black Dahlia po polsku
Mimo wszystko  Ja mam nadzieję, że ty masz gdzieś tekst z polskimi znakami, bo jak się pojawi ta czcionka, to będzie masakrycznie dużo pracy z dodawaniem ogonków i kreseczek - usunąć je można automatycznie nawet w Notepadzie ++, za to dodanie ich to zupełnie inna sprawa 
|
śr 10 lut 2016, 20:59 |
|
 |
Elum
Rejestracja: pt 18 lut 2005, 18:52 Posty: 2356 Lokalizacja: Schwientochlowitz
|
Spokojnie, panuję nad sytuacją. Pamiętam o takich rzeczach.
|
śr 10 lut 2016, 23:55 |
|
 |
robbor
Rejestracja: pn 27 sie 2018, 20:58 Posty: 5
|
 Re: Black Dahlia po polsku
Witam. Czy potrzebujecie jeszcze pomocy przy edycji czcionki?
|
wt 28 sie 2018, 21:31 |
|
 |
Elum
Rejestracja: pt 18 lut 2005, 18:52 Posty: 2356 Lokalizacja: Schwientochlowitz
|
 Re: Black Dahlia po polsku
Tak. Od 2016 roku nic się nie zmieniło. W dalszym ciągu nie mam zielonego pojęcia, jak się do pliku czcionki Black Dahlii dobrać. Pytasz, bo masz pomysł, jak ten problem rozwiązać? 
|
śr 29 sie 2018, 18:44 |
|
 |
robbor
Rejestracja: pn 27 sie 2018, 20:58 Posty: 5
|
 Re: Black Dahlia po polsku
Tak. Zapytałem bo zacząłem rozpracowywać dekompresję czcionki i wolałem się upewnić czy jesteście jeszcze tym zainteresowani i czy nie porzuciliście tłumaczenia tej gry. Opiszę krótko co udało mi się ustalić. Odpaliłem debugger olydbg i znalazłem miejsce w kodzie gry gdzie plik z czcionką jest ładowany i dekompresowany w pamięci. Jakby kogoś to interesowało to ten fragment: Kod: Address Hex dump Command 0043E836 ³> 8A3D 0C924A00 MOV BH,BYTE PTR DS:[BD_WIN.4A920C] 0043E83C ³. 80FF 02 CMP BH,2 0043E83F ³. 74 05 JE SHORT BD_WIN.0043E846 0043E841 ³. 80FF 06 CMP BH,6 0043E844 ³. 75 05 JNE SHORT BD_WIN.0043E84B 0043E846 ³> C64424 0C 01 MOV BYTE PTR SS:[LOCAL.3],1 0043E84B ³> 8A06 MOV AL,BYTE PTR DS:[ESI] 0043E84D ³. 8B15 00924A00 MOV EDX,DWORD PTR DS:[BD_WIN.4A9200] 0043E853 ³. 884424 08 MOV BYTE PTR SS:[LOCAL.4],AL 0043E857 ³. 31C0 XOR EAX,EAX 0043E859 ³. 46 INC ESI 0043E85A ³. 8A4424 08 MOV AL,BYTE PTR SS:[LOCAL.4] 0043E85E ³. 47 INC EDI 0043E85F ³. 30ED XOR CH,CH 0043E861 ³. 8A80 FC904A00 MOV AL,BYTE PTR DS:[EAX+BD_WIN.4A90FC] 0043E867 ³. 29D5 SUB EBP,EDX 0043E869 ³. 8847 FF MOV BYTE PTR DS:[EDI-1],AL 0043E86C ³. 4D DEC EBP 0043E86D ³. 0F84 D8000000 JZ BD_WIN.0043E94B 0043E873 ³> 31D2 XOR EDX,EDX 0043E875 ³. 8A16 ³MOV DL,BYTE PTR DS:[ESI] 0043E877 ³. 88E9 ³MOV CL,CH 0043E879 ³. 89D0 ³MOV EAX,EDX 0043E87B ³. D3F8 ³SAR EAX,CL 0043E87D ³. 83E0 0F ³AND EAX,0000000F 0043E880 ³. 80F5 04 ³XOR CH,04 0043E883 ³. 75 01 ³JNZ SHORT BD_WIN.0043E886 0043E885 ³. 46 ³INC ESI 0043E886 ³> 88C4 ³MOV AH,AL 0043E888 ³. 3C 0F ³CMP AL,0F 0043E88A ³. 75 0C ³JNE SHORT BD_WIN.0043E898 0043E88C ³. 88E9 ³MOV CL,CH 0043E88E ³. 8B06 ³MOV EAX,DWORD PTR DS:[ESI] 0043E890 ³. D3E8 ³SHR EAX,CL 0043E892 ³. 46 ³INC ESI 0043E893 ³. E9 96000000 ³JMP BD_WIN.0043E92E 0043E898 ³> 3C 0E ³CMP AL,0E 0043E89A ³. 75 6E ³JNE SHORT BD_WIN.0043E90A 0043E89C ³. 807C24 0C 00 ³CMP BYTE PTR SS:[LOCAL.3],0 0043E8A1 ³. 74 67 ³JE SHORT BD_WIN.0043E90A 0043E8A3 ³. 31C0 ³XOR EAX,EAX 0043E8A5 ³. 8B16 ³MOV EDX,DWORD PTR DS:[ESI] 0043E8A7 ³. 88E8 ³MOV AL,CH 0043E8A9 ³. 88E9 ³MOV CL,CH 0043E8AB ³. D3EA ³SHR EDX,CL 0043E8AD ³. 30F6 ³XOR DH,DH 0043E8AF ³. 46 ³INC ESI 0043E8B0 ³. 895424 04 ³MOV DWORD PTR SS:[LOCAL.5],EDX 0043E8B4 ³. 66:81FA FF00 ³CMP DX,0FF 0043E8B9 ³. 75 22 ³JNE SHORT BD_WIN.0043E8DD 0043E8BB ³. 8B16 ³MOV EDX,DWORD PTR DS:[ESI] 0043E8BD ³. D3EA ³SHR EDX,CL 0043E8BF ³. 81E2 FF000000 ³AND EDX,000000FF 0043E8C5 ³. 8B46 01 ³MOV EAX,DWORD PTR DS:[ESI+1] 0043E8C8 ³. 46 ³INC ESI 0043E8C9 ³. C1E2 08 ³SHL EDX,8 0043E8CC ³. D3E8 ³SHR EAX,CL 0043E8CE ³. 89D3 ³MOV EBX,EDX 0043E8D0 ³. 30E4 ³XOR AH,AH 0043E8D2 ³. 895424 04 ³MOV DWORD PTR SS:[LOCAL.5],EDX 0043E8D6 ³. 01C3 ³ADD EBX,EAX 0043E8D8 ³. 46 ³INC ESI 0043E8D9 ³. 895C24 04 ³MOV DWORD PTR SS:[LOCAL.5],EBX 0043E8DD ³> 834424 04 02 ³ADD DWORD PTR SS:[LOCAL.5],2 0043E8E2 ³. 31C0 ³XOR EAX,EAX 0043E8E4 ³. 31D2 ³XOR EDX,EDX 0043E8E6 ³. 66:8B4424 04 ³MOV AX,WORD PTR SS:[LOCAL.5] 0043E8EB ³. 8A57 FF ³MOV DL,BYTE PTR DS:[EDI-1] 0043E8EE ³. 890424 ³MOV DWORD PTR SS:[LOCAL.6],EAX 0043E8F1 ³. 89C3 ³MOV EBX,EAX 0043E8F3 ³. 89F8 ³MOV EAX,EDI 0043E8F5 ³. E8 46DEFFFF ³CALL BD_WIN.0043C740 0043E8FA ³. 31C0 ³XOR EAX,EAX 0043E8FC ³. 8B1C24 ³MOV EBX,DWORD PTR SS:[LOCAL.6] 0043E8FF ³. 66:8B4424 04 ³MOV AX,WORD PTR SS:[LOCAL.5] 0043E904 ³. 01DF ³ADD EDI,EBX 0043E906 ³. 29C5 ³SUB EBP,EAX 0043E908 ³. EB 39 ³JMP SHORT BD_WIN.0043E943 0043E90A ³> 88E0 ³MOV AL,AH 0043E90C ³. 25 FF000000 ³AND EAX,000000FF 0043E911 ³. 30F6 ³XOR DH,DH 0043E913 ³. 8A90 0D924A00 ³MOV DL,BYTE PTR DS:[EAX+BD_WIN.4A920D] 0043E919 ³. 30E4 ³XOR AH,AH 0043E91B ³. 8A4424 08 ³MOV AL,BYTE PTR SS:[LOCAL.4] 0043E91F ³. 01D0 ³ADD EAX,EDX 0043E921 ³. 8A15 25924A00 ³MOV DL,BYTE PTR DS:[BD_WIN.4A9225] 0043E927 ³. 66:39D0 ³CMP AX,DX 0043E92A ³. 72 02 ³JB SHORT BD_WIN.0043E92E 0043E92C ³. 29D0 ³SUB EAX,EDX 0043E92E ³> 884424 08 ³MOV BYTE PTR SS:[LOCAL.4],AL 0043E932 ³. 31C0 ³XOR EAX,EAX 0043E934 ³. 8A4424 08 ³MOV AL,BYTE PTR SS:[LOCAL.4] 0043E938 ³. 47 ³INC EDI 0043E939 ³. 8A80 FC904A00 ³MOV AL,BYTE PTR DS:[EAX+BD_WIN.4A90FC] 0043E93F ³. 4D ³DEC EBP 0043E940 ³. 8847 FF ³MOV BYTE PTR DS:[EDI-1],AL 0043E943 ³> 85ED ³TEST EBP,EBP 0043E945 ³. 0F8F 28FFFFFF JG BD_WIN.0043E873
Zacząłem już go analizować. Kompresja jest trochę podobna do RLE. Może uda mi się jakiś program napisać do dekompresji i kompresji ale to pewnie zajmie mi jeszcze trochę czasu.
|
śr 29 sie 2018, 20:33 |
|
 |
Elum
Rejestracja: pt 18 lut 2005, 18:52 Posty: 2356 Lokalizacja: Schwientochlowitz
|
 Re: Black Dahlia po polsku
Super. Gdyby Ci się udało, od razu wracam do tłumaczenia i można by w końcu doprowadzić ten projekt do końca. Bardzo trzymam kciuki.
|
czw 30 sie 2018, 19:22 |
|
 |
robbor
Rejestracja: pn 27 sie 2018, 20:58 Posty: 5
|
 Re: Black Dahlia po polsku
Udało mi się rozpracować algorytm kompresji. Myślałem, że zajmie mi to więcej czasu, ale poszło całkiem sprawnie. Napisałem już program. Co prawda jest trochę prymitywny ale spełnia swoją funkcję. Można go pobrać pod adresem. LinkW archiwum znajduje się krótka instrukcja obsługi.
|
sob 01 wrz 2018, 12:16 |
|
 |
jackowsky
Rejestracja: wt 22 lut 2005, 10:43 Posty: 2224 Lokalizacja: Chorzów
|
 Re: Black Dahlia po polsku
robbor pisze: Udało mi się rozpracować algorytm kompresji. Myślałem, że zajmie mi to więcej czasu, ale poszło całkiem sprawnie.[...] A może pomógłbyś mi z rozpracowaniem czcionki do Ve stinu havrana?
_________________ Ostatnio skończone: Fenimore Fillmore: The Westerner PL (60%), Gibbous: A Cthulhu Adventure PL (80%), Axel & Pixel (30%), Dungeon Siege 2 PL (50%) Pauza: Odysseus Kosmos and his Robot Quest Adventure Game Gram: Tower of Time PL
|
sob 01 wrz 2018, 22:15 |
|
 |
Elum
Rejestracja: pt 18 lut 2005, 18:52 Posty: 2356 Lokalizacja: Schwientochlowitz
|
 Re: Black Dahlia po polsku
Przetestowałem dziś ten program. Działa idealnie, robi wszystko dokładnie tak, jak potrzeba. Podoba mi się m.in. to, że zdekompresowana czcionka jest w wygodnym do edycji .png (zgaduję, że to też Twoja robota, bo nie widziałem nigdzie w plikach gry formatu .png). W takim razie, po prawie czterech latach, kluczowy problem techniczny mamy rozwiązany. Dzięki. Już dopisałem Cię do krótkiej listy autorów polskiej wersji. 
|
ndz 02 wrz 2018, 15:54 |
|
|
Kto jest online |
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości |
|
Nie możesz tworzyć nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów
|
|
 |