Форум Oni

Русскоязычный форум поклонников игры «Они» от Bungie

  • Здравствуйте, Гость

#1 25-07-2008 17:41:22

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

Скрипты на инглицкой версии

Собственно проблема в том что ни одна надпись по скрипту не отбражается.
Менять BSL в Юникод пробовал, ни хека.
Скачал буковский движок и вместо текста отображаестя некое демонское наречие несоответствия кодировок.
Искать и менять все русские буквы на транслит в BSL, размеров в 68 кило просто влом.
Подскажите плз что делать. (русскую версию скачивать не предлагайте у мя инет через EDGE на мобилке).


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#2 25-07-2008 18:40:35

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Скрипты на инглицкой версии

Собственно, английская версия изначально не была предусмотрена для показа русских буковок... Кхм. Но куда именно можно впихнуть русские шрифты и будут ли они потом с игрой дружить - пока не знаю.
Ну, во-первых, не вижу особой проблемы с транслитом. Даже если не пользоваться никакими автоматическими транслитниками типа Punto Switcher'овского, translit.ru и прочим - в обыкновенном "блокноте" есть функция замены некоторого текста на другой некоторый текст по всему файлу - ему можно скормить все буквы алфавита по очереди.
Судя по тому, какие именно буквы и как отображаются в русском движке, работающем на английских ресурсах (кстати, это ещё хорошо - английский движок с русскими буквами в принципе ладить не желает, только в названиях переменных да функций, и то не со всеми), заставить его корректно отображать кириллицу без вмешательства в ресурсы невозможно. А если и возможно, то всё равно пришлось бы перелопачивать весь скрипт, заменяя буквы на их представления. ) Я сейчас методом тыка нашёл лишь одну подходящую комбинацию - "и" русским движком заменяется на "Ё". Можно это использовать при конвертации в транслит. )
Хотя, возможно, просто мои знания уже слишком скудны и морально устаревши...

Оффлайн

 

#3 25-07-2008 19:56:55

demos_kratos (муж.)
Рядовой чатланин
Откуда: Волжский
Регистрация: 25-07-2008
Сообщений: 694
Профиль  Вебсайт

Re: Скрипты на инглицкой версии

А что если попробовать декомпилировать основной исполняемый файл (ну не знаю, в Delphi например), впихнуть в него поддержку русской ANSI и скомпилировать обратно?
Я наверное не смогу, ибо я Delphi не знаю, только Pascal, а в нём нереально думаю переписать весь Oni.exe.

Или другой вариант - разложить exe на запчасти - Функции - отдельно, переменные отдельно, define'ы, ресурсы и т. д. и впихнуть одну из таблиц символов (UC или русскую ANSI) в ресурсы, обозначить ее в дифайнах и собрать файл обратно.

Правда если в игре есть встроенная проверка MD5, CRC или TTH то ни первый ни второй способ не годятся.

Не думаю что дело в ресурсах игры, т. к. при попытке поставить инг движок на рус версию буквы всёравно не отображаются.

Так или иначе если чёнить получится выложу файл.


I would put a tax... on all people... who stand... in water.
........
OOH!

Оффлайн

 

#4 26-07-2008 00:55:17

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Скрипты на инглицкой версии

demos_kratos написал(а):

декомпилировать

В язык более-менее высокого уровня? Это фантастика. ) В дельфу декомпилятся разве что дельфовские же модули...
Что до дизассемблирования с дальнейшим ковырянием - если не ошибаюсь, в daodan'е была какая-та фича по поводу языков ввода... А может и не было... Т.е. DirectInput точно был, но шрифты он не разблокирует, и даже в русском движке не позволяет писать в консоль по-русски. Хотя иногда хочется. +) Так или иначе, разбираться в асмовом коде полутораметрового движка, да ещё и присобачивать CP на том же асме, не имея о нём достаточного представления... Лучше уж Oni 2 писать с нуля. ) Имхо.

demos_kratos написал(а):

встроенная проверка MD5, CRC или TTH

Ни контрольных сумм, ни хешей движок не проверяет ни на себе, ни на прочих ресурсах - иначе б задолбались подбирать. %)) Теоретически можно и сдизассемблить его, поковырять и обратно скомпилировать, практически - свободно редактировать бинарник на свой страх и риск.

demos_kratos написал(а):

Не думаю что дело в ресурсах игры, т. к. при попытке поставить инг движок на рус версию буквы всёравно не отображаются.

И что? Шрифты расположены в ресурсах, шрифты с русскими буквами (окромя вездесущей "Ё") - в русских ресурсах. Английский движок просто не в курсе, что они есть. То есть, если русский движок на английской версии не видит родных буковок в ресурсах и пытается хоть что-нибудь написать, то английский - обрывает строку сразу, как только видит что-то чужеродное. Т.е.:
    dmsg "test тест test"
в русском движке отображается как "test [два символа] test": буква "т" не отображается совсем, а "ес" заменяются на кракозябры.
в английском отображается как "test ". То есть - он остальное вообще не читает. Его нужно научить читать русские буквы и использовать русские шрифты - и тогда он будет прекрасно работать на русских ресурсах с русскими скриптами.

Оффлайн

 

#5 26-07-2008 08:26:18

geyser (муж.)
Учёный Синдиката
Откуда: угадайте
Регистрация: 24-06-2007
Сообщений: 1352
Профиль  Вебсайт

Re: Скрипты на инглицкой версии

Смотрим сюда: Daodan
Бета-версия - это эксперимент с поддержкой букв вне ASCII, например, русских. Так называемый "английский" движок - на самом деле японский, и верхнюю часть ASCII он воспринимает как ключевые буквы для отображения иероглифов. В отсутствии таблицы иероглифов любая буква из верхней ASCII обрывает отображение строки.
Даодан это лечит, но - естественно - русский шрифт ещё надо добавить в ресурсы, т.к. в английской версии попросту нет русских букв. Это делается, например, таким вот плагином: http://geyser.oni2.net/edition/plugins/level0_Babel.zip

"Ни контрольных сумм, ни хешей движок не проверяет ни на себе, ни на прочих ресурсах" Это как это не проверяет? В ресурсах куча хешей и контрольных сумм...

"декомпилировать - В язык более-менее высокого уровня? Это фантастика. )" Не совсем фантастика, через годик-другой мы и до этого дорастём. Нео рулит.


Если у тебя есть фонтан, заткни его; дай отдохнуть и фонтану.

Оффлайн

 

#6 26-07-2008 09:25:09

Мih@ 
Регистрация: 27-08-2006
Сообщений: 826
Профиль

Re: Скрипты на инглицкой версии

geyser написал(а):

Это как это не проверяет? В ресурсах куча хешей и контрольных сумм...

Mea culpa, я в том смысле, что вшитой в движок жёсткой защиты от редактирования в целом нету. А перепроверка целостности отдельных файлов в ресурсах (.dat) - это уже вопрос совсем иной.

geyser написал(а):

Не совсем фантастика, через годик-другой мы и до этого дорастём.

А с каких это пор фантастика не реализуется в будущем? Всегда ведь так оно и было... +)

Оффлайн

 

Board footer

© 2006-2024 Амэ & Mih@
ОНИмия – фан-сайт игры Oni
Движок форума - модифицированный PunBB