Перейти к содержимому
Zone of Games Forum
DCRM

Etherlords 2 / Демиурги 2

Рекомендованные сообщения

Доброй ночи всем!

Решил поиграть в любимую игрушку на Win7 и был огорчен... СтарФорс Демиурговский не работает под win7/vista... Нашел англ.версию и русификатор на этом сайте...

НО! Был неприятно поражен отвратительным промтовским переводом, да еще с не менее убогими поправками... играть можно конечно, но сами понимаете, что оригинал гораздо приятнее чем... кхм... сами знаете что.

Так же был удивлен, что за столько лет, не нашлось энтузиастов, которые нормально переведут (1 в 1) как и оригинал... И теперь я понял почему :)

В Английской версии файлы локализации вынесены в отдельный res файл, который чуть чуть отличается от выходного формата "MAGIC PACKER'a+El2_plug"

Почитав спецификацию, взяв в руки очень удобный "Hex Editor Neo". Нашел как правильно переделать res файл!

  1. Поменять ID_Header: DWORD; == 27058749 на 27058748
  2. Добавить после FileSize: LongInt; == размеру файла - NameLength: Word; которая отсутствует и должна быть == 16
  3. Поменять NameOffset: LongInt; == 0 на 12

firste2.th.png secounde2.th.png

Пока начал переводить...

одно "ТРУДНОЕ ПОЛОЖЕНИЕ" == "Хот-сит" чего стоит :bad:

Мои наработки можно скачать из Файлового архива http://x-crm.info/ (текущая версия перевода 1.1.02)

*1.1.02 - специализации Виталов*1.1.0.1 - основные навыки(дуэльные)+специализации Хаотов*1.1.0 - меню+основные надписи

 

Изменено пользователем DCRM

Поделиться сообщением


Ссылка на сообщение
Это шутка? кому нужна компания, в первую очередь все карты перевести бы) Но судя по теме, прогресса нет, а жаль, я бы даже приплатил чуток за такую работу, да и не я один

+1, автор молодец, но жаль что нет прогресса

DCRM, пожалуйста, напиши небольшую инструкцию, как именно можно отредактировать эти ресурсы самому. Спасибо.

Поделиться сообщением


Ссылка на сообщение

Вот накидал по быстрому чтоб с mp + hex-редактором не возится

def main():    import struct    fout = open('text.res','wb')    fout.write(struct.pack('i', 27058748))    fout.write(struct.pack('i', 1))    outdata = []    with open('ELKTEXTS.TXT','rb') as fin:        byte = fin.read(1)        while byte !=b"":            outdata.append(byte)            byte = fin.read(1)    fin.close()    fout.write(struct.pack('i', (len(outdata)+16)))    fout.write(struct.pack('i', 12))    for byte in outdata:        fout.write(byte)    fout.write(struct.pack('i', -1))    fout.write(struct.pack('i', len(outdata)))    fout.write(struct.pack('i', 16))    fout.write(struct.pack('h', 12))    fout.write(struct.pack('h', 16))    fout.write(struct.pack('h', 12))    fout.write(struct.pack('i', 0))    fout.write(struct.pack('12s', b'ELKTexts.txt'))    fout.close()if __name__ == '__main__':    main()

 

я тут по читерски придумал как выдирать текст, чтоб руками не набивать

6606b3578404t.jpg

Поделиться сообщением


Ссылка на сообщение
я тут по читерски придумал как выдирать текст, чтоб руками не набивать

Хм... а вот по подробнее про это!

+1, автор молодец, но жаль что нет прогресса

DCRM, пожалуйста, напиши небольшую инструкцию, как именно можно отредактировать эти ресурсы самому. Спасибо.

В 1м посте все написал.

На счет продолжения... в принципе можно продолжить... муторно просто это все, бубен+виртуалка и волшебный CTRL+ALT

Изменено пользователем DCRM

Поделиться сообщением


Ссылка на сообщение

"Перевод" от 16.08.11

Суммарно переведено 1501 из 5508 блоков ~ 27% (реально больше, тк много служебных, не используемых и устаревших)

Что сделано:

Переведены все боевые заклинания (в тексте есть блоки глобальных заклинаний - но я таких в игре не помню, может кто поправит)

Переведены все специализации

Переведены все навыки

Переведены все артефакты

Переведены почти все способности(ability) - штуки 3 осталось под сомнением

Переведена вся энциклопедия

Переведены кредитсы (что касается НИВАЛа)

Переведены оба учебника (боевой и приключенческий)

Много перевода интерфейса

Файл от 16.08.11 pass: http://www.zoneofgames.ru

Поделиться сообщением


Ссылка на сообщение
Перевод" от 16.08.11

Danfocus, DCRM — спасибо, что продолжили перевод, это очень радует!

Поделиться сообщением


Ссылка на сообщение
Danfocus, DCRM — спасибо, что продолжили перевод, это очень радует!

"Перевод" выполнялся без ТС, только мной.

Поделиться сообщением


Ссылка на сообщение

"Перевод"

19.08.11

Суммарно переведено 2045 из 5508 блоков ~ 37%

Что изменено с предыдущей версии:

Переведен дуэльный лог в файл

Больший перевод интерфейса

Начат перевод Кампании - Сейчас переведена первая миссия виталов.

16.08.11

Суммарно переведено 1501 из 5508 блоков ~ 27% (реально больше, тк много служебных, не используемых и устаревших)

Что сделано:

Переведены все боевые заклинания (в тексте есть блоки глобальных заклинаний - но я таких в игре не помню, может кто поправит)

Переведены все специализации

Переведены все навыки

Переведены все артефакты

Переведены почти все способности(ability) - штуки 3 осталось под сомнением

Переведена вся энциклопедия

Переведены кредитсы (что касается НИВАЛа)

Переведены оба учебника (боевой и приключенческий)

Переведено меню настройки

Много перевода интерфейса

Файл от 19.08.2011 pass: http://www.zoneofgames.ru

Изменено пользователем Danfocus

Поделиться сообщением


Ссылка на сообщение

Здравствуйте, у меня такой вопрос: какой файл отвечает за текст, который появляется посередине экрана во время хода игрока и оппонента? (возможно кто-то знает...) Уже успел проверить и оказалось, что это точно не text.res.

87666541.th.jpg

Мелочь, но просто хотелось бы для себя сделать игру полностью на русском с последней версией 1.03 :rolleyes: (разумеется не без вашей помощи, ведь я, как и другие, ожидаю полноценный перевод файла text.res, но речь не об этом).

P.S. Большое спасибо за "перевод". :smile:

Ах, и ещё кое-что чуть не забыл.. При установки патча (1.03 en) на лицензию английской версии игры вроде как появляется файл sfx002.res, и если учесть, что sfx.res отвечает за озвучку в игре, то и появляющийся файл, исходя из имени, должен отвечать за неё (дополнять\исправлять). Возникает вопрос, как обстоят дела у полной русской версии 1.03, имеется ли там sfx002.res или что-то подобное? Конечно я и сам могу это проверить со временем, но мало ли, возможно мне повезёт и получу ответ, даже, возможно, этот сам файл, если будет таковой иметься в русской версии. :rolleyes:

Ко всему прочему, если в будущем не появятся издания от "сборщиков", то это моё сообщение, возможно, поможет некоторым людям реализовать то, чего пытаюсь сделать я. :smile:

Добавлено: Только что скрестил версию от пиратов (основа которой англ. версия игры (там отображался текст по-русски)) с моею английской 1.03, наложил поверх патч 1.03, дабы исключить конфликты, заменил "полу-русифицированный" файл с текстом, исполняемый файл... запустил игру и результат себя оправдал, теперь всплывающий текст во время хода отображается на русском... ;) Впрочем, теперь мне не особо интересно, какой файл отвечал за это, остается выяснить как обстоят дела с русской версией 1.03 на наличие файлов с нумерацией 002 или похожих на это. :smile:

Изменено пользователем Jony13

Поделиться сообщением


Ссылка на сообщение
...

P.S. Большое спасибо за "перевод". :smile:

Только что скрестил версию от пиратов (основа которой англ. версия игры (там отображался текст по-русски)) с моею английской 1.03, наложил поверх патч 1.03, дабы исключить конфликты, заменил "полу-русифицированный" файл с текстом, исполняемый файл... запустил игру и результат себя оправдал, теперь всплывающий текст во время хода отображается на русском...

Как узнать, какая версия? Файлов 002 нет, все отлично работает.

У меня есть лицензия от 1С, но она нерабочая под Win7. Я использую другой вариант (rutor.org демиурги 2003), там основа это англ версия, и сверху заменил ресурсы (text.res) от Danfocus — в результате озвучка русская, в текстах переведено довольно много и никаких проблем со старфорсами или монтированием дисков, на Win7 работает (текст хода тоже на русском).

Очень рад, что перевод все время улучшается :)

Поделиться сообщением


Ссылка на сообщение
Как узнать, какая версия? Файлов 002 нет, все отлично работает.

У меня есть лицензия от 1С, но она нерабочая под Win7. Я использую другой вариант (rutor.org демиурги 2003), там основа это англ версия, и сверху заменил ресурсы (text.res) от Danfocus — в результате озвучка русская, в текстах переведено довольно много и никаких проблем со старфорсами или монтированием дисков, на Win7 работает (текст хода тоже на русском).

Насколько мне известно, в начальных версиях игры в меню не отображалась версия игры. :smile: За это отвечает файл text.res.

По поводу лицензии от 1С, то тоже имеется диск, пылящийся в ящике, жаль конечно, что из-за старфорса нереально запустить игру на 7-ке. Я тоже скачивал игру с руторки, но не использовал её как основу, а лишь выдернул из неё русскую озвучку и после заменил ею английскую, как описал постом выше. :smile:

Пожалуй чуть-чуть повторюсь, дабы избежать недопонимание :smile: Раздача на рутор.орг имеет версию игры непонятно какую, так как файл text.res (из раздачи с руторки) не отображает её в главном меню игры, а так же отсутствуют файлы, типа ReadMe_1.03.txt (не исключено, что они были удалены тем, кто выложил раздачу)... именно по-этому я и скачал английскую версию игры (лицензия), поставил на неё патч 1.03, русифицировал файлом из этой темы, поставил русскую озвучку... но в итоге текст ходов оказался не переведённый, решил я это "хитрым" способом, который описал выше :smile: По крайней мере после этих действий я уверен, что сижу на версии 1.03 (основа англ.) и русифицирована максимально возможно по качеству перевода на данный момент. :smile: Теперь только ожидаю обновления файлика в этой теме и ответа на мой вопрос (или пока сам своими руками не проверю...). :rolleyes: Вот такие вот дела.

Если вы основывались на полной русской версии игры, обновленной до 1.03, написав, что там нет файлов с номерами в имени 002 (но я что-то сомневаюсь, что такие файлы отсутствуют) то вопрос отпадает у меня.. если же вы имели ввиду наличие файлов в раздаче, скачанной с рутор.орг, то тогда вопрос остается в силе. ;)

Изменено пользователем Jony13

Поделиться сообщением


Ссылка на сообщение
у меня такой вопрос: какой файл отвечает за текст, который появляется посередине экрана во время хода игрока и оппонента? (возможно кто-то знает...)

Это textures.res и textures002.res

Я тут для удобства перевода накатал кое-что

def main():    import struct    import sys    import os    import shutil        if len(sys.argv) != 2:        print("Usage: " + sys.argv[0] + " res-file")        with open(sys.argv[1],'rb') as fin:        outdata = fin.read()    fin.close()        head = struct.unpack('iiii',outdata[:16])        if head[0] == 27058749:        print("Resource from russian version")        fmtstr1="iih"        fmtstr2="ii"    elif head[0] == 27058748:        print("Resource from english version")        fmtstr1="iiiih"        fmtstr2="i"    else:        print("Unknown version resource")        sys.exit(2)            print("Total objects:\t\t%d\nOffset to FATTable:\t%d\nSize of NameFAT:\t%d\n" % (head[1],head[2],head[3]))        x=0    ft=[]    marks1={}    marks2={}    mlist=[]    for i in range(head[1]):        FATEntry1 = struct.unpack_from(fmtstr1,outdata[head[2]+x:])        x = x + struct.calcsize(fmtstr1)        FATEntry2 = struct.unpack_from(fmtstr2,outdata[head[2]+x:])        x = x + struct.calcsize(fmtstr2)        #(filesize,name_len,file_offset,name_offset)        if head[0] == 27058749:            ft.append((FATEntry1[0],FATEntry1[1],FATEntry1[2],FATEntry2[0],FATEntry2[1]))        else:            ft.append((FATEntry1[0],FATEntry1[1],FATEntry1[4],FATEntry1[2],FATEntry2[0],FATEntry1[3]))    x=head[2]+x        try:        os.mkdir(sys.argv[1]+'_unp')    except:        pass    os.chdir(sys.argv[1]+'_unp')        for i in ft:        tfn = outdata[x+i[4]:x+i[4]+i[2]]        tpth = tfn.decode('utf-8').split('\\')        if len(tpth) > 1:            mkpth=''            for j in range(len(tpth)-1):                if mkpth == '':                    mkpth = tpth[j]                else:                    mkpth = mkpth+"\\"+tpth[j]                try:                    os.mkdir(mkpth)                except:                    pass        fout = open(tfn,'wb')        fout.write(outdata[i[3]:i[3]+i[1]])        if i[0] != -1:            if tfn in marks1:                print("Error")            else:                marks1[tfn] = i[0]                mlist.append(tfn)        if head[0] == 27058748:            marks2[tfn] = i[5]                fout.close()        os.chdir("..")        fout = open(sys.argv[1]+'_repacked','wb')    fout.write(struct.pack('i', 27058748))    fout.write(struct.pack('i', len(mlist)))    tf=[]    ofsft=16    nofs=0    for i in mlist:        with open(bytes(sys.argv[1] + "_unp",'utf-8') + b'\\' + i,'rb') as fin:            outdata = fin.read()        fin.close()        tf.append((outdata,i))        ofsft=ofsft+len(outdata)        fout.write(struct.pack('i', ofsft))        nft=b''    for i in tf:        nft=nft+i[1]            fout.write(struct.pack('i', len(nft)))        ft=b''    x=16    y=0    for i in tf:        fout.write(i[0])                tt=i[1]        if tt in marks1:            musv = marks1[tt]        else:            musv = -1                    if tt in marks2:            musv2 = marks2[tt]        else:            musv2 = 0                    ft=ft+struct.pack('i', musv)        ft=ft+struct.pack('i', len(i[0]))        ft=ft+struct.pack('i', x)        x=x+len(i[0])        ft=ft+struct.pack('i', musv2)        ft=ft+struct.pack('h', len(i[1]))        ft=ft+struct.pack('i', y)        y=y+len(i[1])            fout.write(ft)    fout.write(nft)        fout.close()        shutil.rmtree(sys.argv[1]+'_unp')if __name__ == '__main__':    main()

 

Так вот если взять и запустить на 3-ем питоне, да еще указать в качестве параметра например textures.res или textures002.res или sfx.res или sfx002.res от версии адин-сэ и полученный(е) файл(ы) (*.res_repacked) переименовать и поместить в папку ресов иноземной версии, то может получиться очень интересный результат :smile:

Изменено пользователем Danfocus

Поделиться сообщением


Ссылка на сообщение
Это textures.res и textures002.res

Во, большое спасибо. :smile:

Я тут для удобства перевода накатал кое-что

...

Жаль я в этом не разбираюсь, но может кто-то другой заинтересуется. :smile:

Поделиться сообщением


Ссылка на сообщение
Во, большое спасибо. :smile:

Жаль я в этом не разбираюсь, но может кто-то другой заинтересуется. :smile:

Вообще-то это и есть конвертер русских звуков и текстур под европейскую версию.

Поделиться сообщением


Ссылка на сообщение
Так вот если взять и запустить на 3-ем питоне, да еще указать в качестве параметра например textures.res или textures002.res или sfx.res или sfx002.res от версии адин-сэ и полученный(е) файл(ы) (*.res_repacked) переименовать и поместить в папку ресов иноземной версии, то может получиться очень интересный результат

хм, ну попробую сделать.. погуглил немного, увидел Python 3.2.1 (надеюсь это то, о чем вы писали), скачал python-3.2.1.amd64.msi под себя, попробую поковыряться там, авось получится. :smile:

Добавлено: Не, пожалуй пусть кто-нибудь другой этим займётся. :D

Изменено пользователем Jony13

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас



Zone of Games © 2003–2024 | Реклама на сайте.

×