Как преведох Daggerfall...

И две програми за Win:

Трябва да се отбележи, че при извличане на текстови елементи отtext.rscот програмата DFTEXT, тези елементи са повредени. Специалните символи се премахват от тях (вижте по-горе). Програмата оставя ENTERs, но произволните разделители трябва да бъдат възстановени ръчно.

Няма да описвам подробно структурата на шрифта (в Dagger те са 5), достатъчно е да кажа, че пикселите се изписват като битове от числа, буквите могат да бъдат големи (16 на 16 пиксела), а ширината на буквата се записва в началото на файла с шрифта. Дешифрирането на всичко това отне 2 седмици, приблизително толкова време отне и мисленето за това „как да преработим шрифта“. Реших, че съвпадението на клавиатурата ще бъде подходящо (т.е. буквата „q“ ще съответства на „й“, а „&“ - „.“ Преведох както главни, така и малки букви. Едва по-късно се досетих да напиша програма, а след това изчерпах солидна купчина листове в клетка и още 2 седмици седене пред монитора вечер.

Препинателните знаци са подредени както в DOS. Въпреки че има 5 шрифта, промених най-малкия шрифт на стандартния и промених указателите на Gothic към него. Това беше направено, защото буквите „Ж,Ш,Ш,Ы,Ф“ и (може би) някои други просто не се побират в дребен шрифт, а аз нямам достатъчно умения за рисуване, за да русифицирам готическия шрифт.

За графики записах всичките 3 шрифта, намерени в играта, в отделен файл. Първият шрифт може да се види в екраните за създаване на знаци. Той е висок, слаб и ъгловат. Вторият е обикновеният шрифт на играта. Вижда се на екрана за състояние на персонажа (извикан с F5). По-нисък, по-дебел и по-шарен. Третият шрифт показва всички текстови съобщения. И тогава, когато редактирате графики, остава само да копирате и поставите необходимите букви.

[+] Листинг на програма за превод на шрифтове

Първо взехfall.exe. В него няма много текст, но е критично важен, така че русифицираната версия изглежда грозна. Като цяло има почти всички менюта на играта, нейните отговори на действията на играча, имената на провинции, таверни и магазини, предмети, отвари, репутации и рангове в гилдии, както и друга информация. Проблемът с превода на "буква за буква" постоянно стига до тук. Част от свободата е само с инвентар и отвари. (Там имената и свойствата на обектите са представени като запис - който знае Pascal ще разбере. За името на обекта са отделени 24 знака, докато допълнителните букви могат да бъдат презаписани с нула байта). Опитите да се презапишат и други редове завършиха неуспешно. Презаписването с интервали не спаси ситуацията - текстът беше деформиран и "наляво" от правилните места. Трябваше да пожертвам символа "*", да го направя празен, да му дам ширина от 1 пиксел и да го запълня с ненужно пространство.

Както можете да видите от моите предупреждения, опитите за разрастване на файла бяха неуспешни. След като получих няколко страхотни срива на системата, се отказах от идеята за „разрастване“ на файла, но получих идеята за „резервно копие“. След като преведох много от публикациите, спрях да работя върхуfall.exeи започнах да създавам героя. Преводът остана крив, но това, че спрях да работя, не означава, че съм изоставил напълно изпълнимия файл.

преведох

Несъвместимостта е коригирана, въпреки че подчертаването на таговете е напълно изчезнало и текстът не изглежда толкова красив. Именно избрах тези символи, защото те никога не се срещат в текстовете на Камата.

Иначе текстовете на куестовете се редактират нормално, все още не съм забелязал ограничения за обема.

Както вече писах, този файл съдържа данни за приблизително 16 000 местоположения. Освен това имената са съставени от предварително определени части. Да преведа всички тези заглавияимате нужда отмногомного безплатни щети имногодълъг живот. Затова се наложи работата да се автоматизира.

При анализ на файлаtext.rscнамерих няколко елемента с имена. По-специално, това са 4075 и 4076 за храмове на официалните религии на Тамриел, 4050 за храмове на древни религии, 4051-4054 ​​за гробища, ферми, замъци и имения и 8100, 8200-8215 за подземия. Нека поговорим за имената на градовете отделно.

Да предположим, че обикновени части от имена могат да бъдат преведени, което направих. Но два дни по-късно открих голям проблем. Думите "the" и "of" се намесиха. Мъчих се дълго време, опитвайки се да намеря дълги преводи, за да премахна тези две думи, но нямаше смисъл. Е, каква дълга дума можете да преведете "Разкопките на нещо-там"? Тогава реших да преместя тези думи в края на името, за да мога по-късно да ги запълня с интервали. Това е мястото, където UltraEdit дойде на помощ.

Поддържарегулярни изрази- сложни съставни формули за търсене и замяна на текст с шаблон (ето го!) Например, използвах това, за да заменя „Тунелът Morgosa“ с „Тунелът Morgosa“:

Естествено, вместо Моргоса може да има всяко друго име. И за да го замените с "Morgosa Tunnel The" трябва да поставите ^3 ^5 ^1 и т.н. Няма да описвам подробно регулярните изрази, те са описани много точно и с примери в помощта на UltraEdit.

След дълги прехвърляния всичко беше готово за превод. Необходима е само една предпазна мярка - запишете КАКВО и КАК сте превели. И ако си превел "Темпъл" като "Катедрала", то "Катедралата" не може да се преведе по същия начин! В противен случай ще получите много локации с еднакви имена, в половината от които просто не можете да влезете.

Части от имена на градове не са регистрирани отделно никъде, а се отгатват интуитивно. Най-лесният начин за редактиране на имената на градовете в северните провинции, най-трудният -южен. От какви части се състоят имената Chesterwark и Chesterwick е ясно на всички. И на колко парчета трябва да се разделят имената Bubyrydata и Bybopada?

И последното предупреждение за редактиране на картата и въобще всякакви файлове. Не трябва да ги редактирате, докато играта работи. Daggerfall има проблеми с достъпа до файлове, които вече са отворени и при опит да ги отвори просто се срива в DOS.

файл

Малко може да се каже за графиката, но алгоритъмът на работа тук е следният:

  1. Намираме помощната програма Andypic, поставяме я в директорията Dagger\Arena2 и я преименуваме на a.exe за краткост.
  2. Изписваме A.EXE filename /B:PCX_filename, където filename е името на файла с графики (IMG/CIF/TEXTURE), а PCX_filename е името на файла, където ще бъде записана картината във формат PCX.
  3. Редактираме във Photoshop всичко необходимо, следвайки правилния избор на цветове от палитрата.
  4. Напишете обратно с команда като A.EXE име на файл /B:PCX_име на файл /S

Има вариант Andypic да се оплаква от липсата на информация за ширината и височината на изображението. След това ще трябва да добавите тези данни ръчно. За да направите това, добавете 12 нула байта към началото на файла. Петата и шестата са ширината на изображението, седмата и осмата са височината. (Целта на останалите байтове не ми е ясна, но всичко работи без тях. Ако нещо откаже да работи, можете да замените останалите байтове от всеки друг файл.) Естествено, в шестнадесетичната система, естествено в обратна нотация. Височината и ширината се предполагат интуитивно, умножени една по друга, те дават размера на файла преди вмъкване от 12 байта. (Например, 64000 байта е 320 x 200). Ширината не може да бъде повече от 320, височината - повече от 200. За търсене на прости числа - делители на число, можете да използвате тази програма:

След редактиране и запазване обратно във файл, за предпочитане тези 12байтове за триене, да не се възмущава Кинджал. Можете също да работите с помощната програма Dagpic, но тя също се оплаква от липсата на размери на изображението.

Имена, фракции, магия, биографии

преведох

Имената в играта се генерират на случаен принцип. "Парчетата" за генериране на имена са във файлаnamegen.dat. Вярно е, че не всички от тези фигури се използват, например, не съм виждал нито едно „гръко-римско“ име в играта, въпреки че има много фигури за такива имена. Редактира се стандартно, 10 байта на парче, допълнителните байтове трябва да се отбелязват с нули.

Фракциите са политически сили, действащи в провинция Хамерфел. Техните имена (и не само) се съхраняват въвfaction.txt. Редактирано без ни най-малък проблем в UltraEdit.

Магия -magic.defиspells.stdсъответно за артефакти и заклинания. В първия случай - 32 байта за името, във втория - 25. Знаете какво да попълните в допълнителните байтове.

Био файловете се редактират от UltraEdit, най-добре чрез замяна в много файлове, защото. въпросите се повтарят много пъти. Образец на име на файл -biog??t0.txt

Изпълнимият файл се върна

Но всичко това беше преведено без проблеми и трудности. Интересната работа бързо се превърна в маймуна, така че забравих за решените проблеми и си спомних нерешените. По-специално, проблемите с текста, който не се побираше в fall.exe, останаха. Спомних си, че някога познавах Assembler и заредих изпълнимия файл в IDA 3.76, за да видя връзки към текстови редове и да ги пренасоча към края на файла. Видях редовете, връзките към тях също, но смяната им не промени нищо :) Ентусиазмът бързо угасна.