1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление
    1. Если вы сделали перевод или русификацию игры, то вы можете поделиться своим творением здесь.
    2. О правилах вступления в группу переводчиков можно прочитать здесь.
    3. Русификации следует искать там.

Анализ ресурсов игры Wrath of Earth (возможность перевода)

Тема в разделе "Переводы своими руками", создана пользователем WERTA, 26 июн 2013.

  1. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.259
    Для опытов с лифтом 7-го уровня и текстом сообщения из первого я добавляю сейвы.

    WOE_SAVE.1 - самый конец 6-го уровня, нужно просто нажать на рубильник лифта. Окажетесь на 7-ом уровне, и начинайте продвижение. Включайте читами
    Shift+Esc+C - сквозь стены
    Shift+Esc+M - вся карта
    Shift+Esc+Z - неуязвимость
    Идти нужно на ЮВ к лифтам (см. карту).
    [​IMG]
    Для активации читов, командная строка должна быть
    woe.exe TranSend (Case Sensitive)

    WOE_SAVE.2 - первый уровень, просто откройте серую дверь и пройдите вперед, появится сообщение от оператора с зеленой мордой.

    Сейвы прилагаю.

    По глюку с лифтом на 7-ом уровне
    В woe.rsc замена того же байта 000913C98 E6h -> E0h делает дверь входа лифт запертой. Также меняет номер текстуры на стенке с блоком управления на текстуру серого цвета.
     

    Вложения:

    • WOE_sav.rar
      Размер файла:
      70,2 КБ
      Просмотров:
      34
    Последнее редактирование модератором: 19 июл 2015
    Fabricator, kreol, Vladimir 777 и ещё 1-му нравится это.
  2. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.259
    Продолжаем дешифровку

    DETECTING
    Код:
    02 C6 23 80 20 9C EC
    2    C    6    2    3    8    0    2    0    9    C    E    C
    0010|1100|0110|0010|0011|1000|0000|0010|0000|1001|1100|1110|1100| 
    
    Упражнения со словом NORTH
    Начало смещения 007DA135 (woe.rsc)
    NORTH
    Код:
    20 D0 70 46 B6 FD 07
    2    0    D    0    7    0    4    6    B    6    F    D    0    7 
    0010|0000|1101|0000|0111|0000|0100|0110|1011|0110|1111|1101|0000|0111| 
    
    NKRTH
    Код:
    20 D0 50 46 B6 FD 07
    2    0    D    0    5    0    4    6    B    6    F    D    0    7 
    0010|0000|1101|0000|0101|0000|0100|0110|1011|0110|1111|1101|0000|0111| 
    
    NPRTH
    Код:
    20 D0 78 46 B6 FD 07
    2    0    D    0    7    8    4    6    B    6    F    D    0    7 
    0010|0000|1101|0000|0111|1000|0100|0110|1011|0110|1111|1101|0000|0111| 
    
    NPQTH
    Код:
    20 D0 78 42 B6 FD 07
    2    0    D    0    7    8    4    2    B    6    F    D    0    7 
    0010|0000|1101|0000|0111|1000|0100|0010|1011|0110|1111|1101|0000|0111| 
    
    BPQTH
    Код:
    20 10 78 42 B6 FD 07
    2    0    1    0    7    8    4    2    B    6    F    D    0    7 
    0010|0000|0001|0000|0111|1000|0100|0010|1011|0110|1111|1101|0000|0111| 
    
    BPQFD
    Код:
    20 10 78 42 96 FD 07
    2    0    1    0    7    8    4    2    9    6    F    D    0    7 
    0010|0000|0001|0000|0111|1000|0100|0010|1001|0110|1111|1101|0000|0111| 
    
    BPQHV
    Код:
    20 10 78 42 A6 FD 07
    2    0    1    0    7    8    4    2    A    6    F    D    0    7 
    0010|0000|0001|0000|0111|1000|0100|0010|1010|0110|1111|1101|0000|0111| 
    
    BPQVM
    Код:
    20 10 78 42 A8 FD 07
    2    0    1    0    7    8    4    2    A    8    F    D    0    7 
    0010|0000|0001|0000|0111|1000|0100|0010|1010|1000|1111|1101|0000|0111| 
    
    Река не стала морем (кто помнит...РЕКА->МОРЕ), но многое я выяснил. Я даже уже знал, что получу, поскольку интуитивно видно эти биты. даже пробел иногда вылазит несжатым FDh. Но алгоритм их упаковки мне абсолютно неясен. Это битовое сжатие, причем с переменной длиной. Кто не знает, берём книжку Ватолин, Ратушняк, Методы сжатия данных. - М: Диалог-МИФИ, - 2003, 384 с.. Но я почитав, ничего для себя не понял про принципы битового сжатия. Скажу больше, вообще все эти карты могут быть поджаты именно таким способом, поэтому разгадка алгоритма для текста это ключ к разжатию карты. Все эти странности с поведением игры, когда меняешь в одном месте файла карты байт на единицу - и ловишь крэш, а затем в том же месте меняешь немного в другую сторону значение и вообще ничего не происходит, это явное указание на битовое сжатие. И вообще структуру при таком сжатии понять невозможно, что и видим на самом деле. В общем, я думаю, битовое сжатие применено полностью к карте. Буду благодарен за разъяснения этого вопроса, хотя бы в плане просвещения про коды Элиаса, Ивэн-Родэ, Хаффмана и др. типы сжатия связанные с битами.

    ---------- Сообщение добавлено в 15:45 ---------- Предыдущее сообщение размещено в 15:17 ----------

    А еще меня смущало, что признак окончания структур в картах является 00 00 FF. Это не совсем типично для двухбайтовой выборки чтения, реализованной в woe.exe, но не для побитового анализа. В общем, и далее при тестовых «порчах» байтов, нужно стараться портить байт даже не на единицу, а например, просто сдвинуть бит, убрать бит 1, между другими битами 1 и т.п. Т.е. более тонко походить к правке. Тогда вылетов будет меньше.

    Уже сейчас можно сказать, что перевод возможен в рамках правки отдельных байтов, а не разжатия всея, правки и обратного сжатия. По крайней мере, все ресурсы найдены. Проблема только в сжатой графике, и опять же, она, будучи сжатая, может быть дополнительно поджата битовым сжатием.
     
    Последнее редактирование: 2 авг 2013
    Butz, Fabricator, Чёрный Думер и 2 другим нравится это.
  3. Чёрный Думер и все виды материала

    Чёрный Думер

    Регистрация:
    17 мар 2010
    Сообщения:
    2.417
    WERTA нравится это.
  4. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.259
    Почитал про Хаффмана. Если применен он (а это очень вероятно), то однозначно в заголовке файла должно тогда лежать дерево. Как хранить такой тип данных я не представляю.

    Ещё немного поковырял…
    Название карты уровня THERMADAX MINING FACILITIES – 07.03.2031
    Смещения в woe.rsc (17 386 700 Bt, 24/07/1995)
    007DA05E 00->40 получаем THERMCDAX
    Название уровня лежит там же в 000.
    Блок текста в 000 начинается 007DA037 после стоповой последовательности 00 00 FF. Перед блоком текста в 000 лежит изображение задника.

    Весьма вероятно, что подписи меток объектов карты там же. По аналогии нужно будет проверить другие файлы карт на предмет наличия блоков текста. Это будет полезно, если решимся на перевод заранее знать места, где начинать править. Обрадую, что последний NPC будет на 8-ом уровне (007), последнее задание на 7-ом уровне (006), а последние метки на карте на 8-ом уровне (007). Т.е. текстовку придется править всего на 8/12 карт.

    А пока, можно уже начинать «сборы» в команду перевода. Коллектив нужен будет большой и разносторонний, поскольку объём работы большой и у каждого направления свои технические сложности. Вот главные направления перевода игры:

    Предварительный этап перевода
    1) Схема перекодировки
    2) Перерисовка шрифтов
    3) Техническая проверка отображения перекодированной схемы (с соотв. корректировкой)

    Основной этап перевода
    4) Изменение текстовых строк в woe.exe
    5) Изменение текстовых строк в картах (потенциально возможно уже сегодня)
    6) Графика HUD (сжатие, не разгадано)
    7) Частично несжатая графика (титры) файлов *.bin
    8) Заглавный титл игры
    9) Речь (несжата, 11кГц, 8 бит, моно)
    10) Графика текстур (редкие подписи у входов в здания)
    11) Исправление бага с лифом на 7-ом уровне.

    Если кто-то хочет высказаться по (не-)возможности перевода – пожалуйста. Но уже завтра я готов вынести вердикт и создать новую тему про эту игру, но уже по тематике перевода в открытом разделе форума.
     
  5. Gamerun

    Gamerun

    Хелпер

    Регистрация:
    13 июн 2010
    Сообщения:
    8.372
    Посмотри про использование хаффмана в приставочных играх, особенно старых(до дисков).
     
    WERTA нравится это.
  6. Чёрный Думер и все виды материала

    Чёрный Думер

    Регистрация:
    17 мар 2010
    Сообщения:
    2.417
    Кто там у нас переводил женский речевой информатор в HIND'е?.. ;)

    По поводу своего участия в переводе ничего не могу точно сказать. Скорее всего, что всё-таки нет - я в последнее время чувствую себя будто в состоянии перманентного запоя, хотя алкоголь не потребляю. Да и с другими проектами расквитаться надо уже.
     
    WERTA нравится это.
  7. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.259
    Пока рассматриваю наиболее оптимальный вариант перекодировки. Что необходимо учесть.
    1) Максимально возможный последовательный порядок русского алфавита для нумерации меток на карте.
    2) Учет соседства букв между собой, чтобы была возможность продлить ширины букв Ш, Щ, Ы, Ж, Ф, Ю, М.
    3) Учет аналогичного поведения, восприятия и использования принятой кодировки для большого шрифта.
    4) Малый шрифт должен диктовать перекодировку для большого шрифта. Поскольку с малым шрифтом ограничений существенно больше.

    Вариант 4 - "Оптимальный"
    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 `
    А Б В Г Д Е Ж И К Л М Н О П Р С Т У Ф Х Ц Щ Ш Ю Ы Я . . . З Ч . Ь . . . Й
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Э . . Ъ . . . .

    Комментарии
    1. Так или иначе, придётся "опустить" самую Rуssкую букву Ё. Её даже невозможно нормально нарисовать при высоте символа 5.
    2. Пришлось объединить Ъ и Ь ("ер" и "ерь"), их хоть и можно раздельно начертить в растре 5х4 графически, но места в кодировке уже не хватит - "Боливар не выдерживает уже...". Да и глазом при идентичном начертании разница почти не бросается в глаза.
    3. Пришлось объединить 3 и Э. Хотя их и можно раздельно начертить в растре 5х4 графически, но глазом такая разница будет трудноуловима.
    4. Соседство букв в этой перекодировке идеально для подстановки палки справа и уширения

    Ж (5) - берем элемент от И
    М (5) - берем элемент от Н
    Ф (6) - можно взять центральный элемент соседней буквы Х
    Щ (6) - берем элементы от Ш
    Ш (5) - берем элемент от Ю
    Ю (5) - берем элемент от Ы
    Ы (5) - можно взять боковые элементы от Я, а можно и уложиться в ширину 4

    В рамках предложенной схемы перекодировки можно по правилам занумеровать 21 точку.
    Ещё одна альтернативная перспективка. Я не знаю по ГОСТ участвует ли буква О в нумерациях пунктов (или приложений) документов А,Б,В,Г,Д,Е,Ж... Но если не участвует, то в перекодировке ее можно перенести вместо цифры 0. Тогда освобождается место под одну из "обиженных" букв Ё, Ъ, Э. Но тогда простановка нумерации будет возможна до Н. Т.е 12 точек. Но практика прохождения этой игры показывает, что метками удавалось пользоваться редко. Да и само число меток обычно более 3-4 это уже много для памяти.
    Вариант 5 - "Максимальный с Ё"
    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 `
    А Б В Г Д Е Ж И К Л М Н Ё П Р С Т У Ф Х Ц Щ Ш Ю Ы Я О . . З Ч . Ь . . . Й
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Э . . Ъ . . . .


    Еще вариантик. Если будем делать Ы-составную (Ы=61), то освободится еще место для второй "обиженной" буквы. И тогда, если принять, что Е=Ё, то все остальные 32 буквы будут учтены. Но Ы будет составной, что может оказаться не очень удобно при отсутствии места в строке. По совокупности всего такая кодировка будет наивыгоднейшей.
    Вариант 6 - "Наивыгоднейший"
    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 `
    А Б В Г Д Е Ж И К Л М Н Э П Р С Т У Ф Х Ъ Щ Ш Ю Ц Я О . . З Ч . Ь . . . Й
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

    Поэтому необходимо принять политическое решение об отказе, прежде всего, от буквы Ё при переводе этой игры. Предлагаю коллегиально уже сегодня утвердить схему перекодировки.

    Да, при таком битрейте звука в игре (11 кГц, 8 бит, моно) лучше всего будет работать синтетическая "Алёна" - она даст наиболее чистое звучание, которое всегда можно будет оптимально выровнять по усилению. Мужские голоса "под роботов" тоже не проблема. Сложнее всего будет получить натуральный мужские голоса для некоторых операторов. И сложного оборудования также не нужно. Для HIND'а на 22 кГц я все звуки вытянул своей простенькой Нокией. Опыт в этом деле у меня точно есть. В любом случае, звуком заниматься будем в самую последнюю очередь (на десерт).

    Да, я никоим образом не должен упрашивать или заманивать, особенно, если это может негативно отразиться на других проектах, но в команду перевода этой игры двери всегда будут открыты и днём и ночью...
     
    Последнее редактирование: 4 авг 2013
    kreol и Чёрный Думер нравится это.
  8. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.259
    Не могу ждать и уже начал эксперименты с малым шрифтом.
    Идея насчет ширины 5 от Vladimir 777 - реализована и работает! Вот первые перерисованные буквы (Ж, М).
    [​IMG]
    Наличие второго более темного цвета позволит сгладить многие неровности. Хотя например для А я бы вообще убрал верхние угловые элементы.

    ---------- Сообщение добавлено в 14:13 ---------- Предыдущее сообщение размещено в 12:19 ----------

    Вообще, это сообщение уже для несколько иной темы, хотя пока будем отписываться здесь.

    Фонт перерисован по варианту 6.
    [​IMG]

    Отображение символов проверялось при загрузке файлов с разными именами. Буква Й, подвешенная на апостроф не вводилась. Но при русской версии раскладки на апострофе будет Ё. Это еще один довод в пользу отказа от неё при переводе игры. Сейчас посмотрю в другом знакоместе подставленную Ё как она рисуется. Вот еще вариант перекодировки. Помним. что при таком варианте буква Ы является составной, это мне не нравится, особенно это вылезет при вводе имени сейвов. "Боливар" уже более никого не выдерживает, но если отказаться от Ъ "ера" в пользу мягкого знака Ь , то Ы легко может быть вставлена вместо Ъ, причем она также будет использовать соседнюю палочку от буквы Щ.

    В общем на повестке дня всего три вопроса:
    1) Скрепя зубами и с болями в сердце придётся отказаться от Ё, тем более, что уклон игры технико-футуристический. "Боливар" реально не выдержит Ё.
    2) ЕрЪ - от него никто не отказывается, но он будет заменяться мягким знаком. В контексте один недорисованный пиксел будет незаметен. Да и в большом футуристичном шрифте этот "пупырик" от Ъ также будет малозаметен.
    3) Альтернативный вариант для сохранения буквы ЕрЪ - сделать составной букву Ы=61. Но при этом пострадает ввод символов для названия сейва. При нажатии на клавишу S придется изворачиваться, либо это будет ввод левой части Ы - Ь, либо правой "палочки" - 1.

    Вариант расширения фонта я не рассматриваю, ибо это чревато серьезными проблемами.

    ---------- Сообщение добавлено в 15:09 ---------- Предыдущее сообщение размещено в 14:13 ----------

    В общем, другого не дано. Боливар вынесет только такой вариант.
    1) Ё не используется
    2) Ъ=Ь
    В остальном все нормально. Ы не составная, а цельная. Ввод символов при сохранении сейва будет нормальным.

    Вариант 7- "Заключительный"
    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 `
    А Б В Г Д Е Ж И К Л М Н Э П Р С Т У Ф Й Ы Щ Ш Ю Ц Я О . . З Ч . Ь . . . Х
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ъ . . . .




    ---------- Сообщение добавлено в 15:11 ---------- Предыдущее сообщение размещено в 15:09 ----------

    По сравнению с предыдущей перерисовкой я очень тонким приемом изменил ширину Ф с 3 на 5, добавив по соседству справа букву Й. Х подвесил на апостроф. Он выводится нормально. Ф теперь стала очень красивой. И еще дополнительный довод в пользу отказа от составной Ы. Ширины кириллических букв стали в среднем 4, много стали 5, а Щ вообще 6. Поэтому графически некоторые строчки уже не умещаются. А лишних логических мест под символы в строке тоже никто в игре не обещает. Поэтому Ы должна быть цельной.

    Обычно в первых сообщениях о переводе игр я помещаю скрины с полученной кириллической билибердой...
    Screens

    Вот и сегодня 4 августа 2013 г. я могу объявить, что



    ПЕРЕВОД ИГРЫ WRATH OF EARTH НА РУССКИЙ ЯЗЫК - УЖЕ НАЧАТ!
     
    Последнее редактирование модератором: 19 июл 2015
    Fabricator, Porphyric, kreol и 5 другим нравится это.
  9. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    WERTA, Только про Боливара больше не надо. "Жуткий смысл вложен в громкую фразу !" (с) Л.Кэррол Охота на Снарка. :D
    И не выбрасывай букву "ё" - ведь делать невозможноЁ - это судьба и почетная обязанность локализатора. Да и как инкорпорировать в текст игры расово верное "Ё моЁ !" ? :D
     
    WERTA нравится это.
  10. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.259
    Ну, фразу Ё моЁ лично я в любой перевод принципиально не стану клонировать, ибо жаргонизмам не место в русском языке, также как и другим "культурным" выражениям, начинающимся на эту букву. Я до этой игры более жёстких рамок для перекодировки просто не встречал. Конкретно в данном случае, это технически невозможно уместить всё в рамках всего лишь 44 доступных символов. Я, действительно, ранее делал поистине невозможную вещь, пример - локализация тайваньской игры Colonial Project, но случай с Wrath of Earth - это уже точно за гранью возможного.
     
  11. kreol Старший офицер Чёрной Гвардии

    kreol

    Администратор

    Регистрация:
    2 июл 2007
    Сообщения:
    112.518
    WERTA, значит, надо постараться перевести так, чтобы не было слов с "ё". Или поднять консилиум в Бюро переводов. А сдаваться и говорить, что что-то невозможно, точно не надо. У нас на сайте несколько десятков раз доказывалось, что невозможного нет, причём конкретно тебе принадлежит немалая часть таких доказательств.

    "Ё моё" - это всё-таки не вполне жаргонизм, в большей степени эвфемизм. Имеет, кстати говоря, происхождение из чешского языка (по одной из версий).
     
    Bato-San, Genesis и WERTA нравится это.
  12. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.259
    Нет, сегодня я капитулировать точно не намерен.

    Еще как вариант. Чтобы вставить Ё можно пожертвовать в игре экскламацией!. Таких фраз с "!" я не помню. А с вопросительным знаком - помню. Но тогда остается последняя проблема - графическая идентичность Ъ и Ь. Если никто не против, то я согласен добавить Ё вместо ! Проблем не будет. Но, повторю, выглядеть буква Ё в растре 5х4 (5 - высота) будет, мягко выражаясь, - не очень.

    Скорее всего это будет непросто. Но если вставим Ё вместо !, то это облегчит перевод, тем более, что перерисованные русские буквы практически все более широкие, чем английские, и графического места теперь еще меньше.

    Я не против. Это, наверное, первый случай, когда малое число символов не позволило полноценно вставить 33 буквы русского алфавита. Это чисто техническое ограничение, связанное с использованием в игре только 44 символов (26+10+8). Все же скорее надо в Бюро поднять вопрос об идентичности Ъ и Ь в данной схеме перекодировки. Вообще, я считаю, что это будет меньший грехЪ, чем постоянное современное технически-грамотное "опускание" буквы Ё, которую и так хотели уничтожить в период 1918-1942 гг. Если возражений по равенству Ъ=Ь не будет, то сегодня я создам новую тему Перевод игры Wrath of Earth.

    Уже перерисовал большой фонт. Изменил ширины в таблице.
     
    kreol и Genesis нравится это.
  13. kreol Старший офицер Чёрной Гвардии

    kreol

    Администратор

    Регистрация:
    2 июл 2007
    Сообщения:
    112.518
    WERTA, я считаю, что это "равенство" всё же стоит обсудить, но как раз для этого и нужно создать там тему.
     
    Genesis и WERTA нравится это.
  14. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.259
    Карты

    Занялся немного изучением карт Любую из распакованных карт (ХХХ_0000.bin – 201 762 Бт) вы можете открыть как *.raw в Фотошопе. Палитра Windows System довольно удачно раскрашивает карту. Карты хранятся в виде растра 256х640 в первых 163 840 Бт каждого первого распакованного файла карт размером 201 762 кБт. Слоёв карт – 10, я вроде ранее предполагал 12. После слоёв идут бинарные данные (более 6 таблиц), я думаю, что это индексация текстур или еще что-то.
    Вот прилагаю слои карты для первого уровня
    Thermadax: Mining Facilities
    Уже беглого взгляда становится ясно, что слои (нумерация от 1 до 10 слева направо, сверху вниз) представляют из себя следующее:
    1,2 – полы, потолки (возможно наоборот)
    3,4 – стены (хотя у одного сектора текстуры стен все одинаковые, возможно это еще и для четверть-блоков доп. слой)
    5 – не совсем ясно
    6 – ну, конечно же, вредные производственные факторы (холод, радиация)
    7 – не совсем ясно
    8 – совсем даже не ясно
    9 – не совсем ясно
    10 – очень напоминает расстановку «живности» на уровне.
     
    Последнее редактирование модератором: 19 июл 2015
  15. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.259
    Все карты уровней Wrath of Earth

    Выкладываю все карты к игре. Все карты зеркально перевернуть с Ю на С, поэтому и сообщаю, чтобы не было путаницы с ориентацией. Очень хотелось бы ,что бы на карты глянули пользователи, уже прошедшие игру. Я думаю, что, например, ahsasa, также сможет высказать свои соображения в плане назначения 10-ти слоёв карт. Особенно на карте 7-го уровня я явственно увидел слой, который, возможно, отвечает за скриптовые элементы прохождения. Я вообще не представляю как можно задавать логику уровня таким образом. Часто в нижней части рисунков (в 9-ом слое) карт лежит кусок от третьего уровня.
    Уровень 1
    Уровень 2
    Уровень 3
    Уровень 4
    Уровень 5
    Уровень 6
    Уровень 7
    Уровень 8
    Уровень 9
    Уровень 10
    Уровень 11
    Уровень 12
     
    Последнее редактирование модератором: 19 июл 2015
  16. Чёрный Думер и все виды материала

    Чёрный Думер

    Регистрация:
    17 мар 2010
    Сообщения:
    2.417
    > Любую из распакованных карт (ХХХ_0000.bin – 201 762 Бт) вы можете открыть как *.raw в Фотошопе.
    > вы можете открыть как *.raw в Фотошопе
    > как *.raw в Фотошопе
    > в Фотошопе


    Нафиг так жить, когда есть GBS.

    Ты имеешь в виду, графически? Если да, то попробую привести пример, который, возможно, поможет набрести на верный путь. На одном слое определяются зоны активации - места на карте, при попадании в которые игрока выполняется какое-либо действие. Тип этих действий и их параметры, в теории, могут определяться цветом этой зоны. На другом слое в таком случае определяются зоны воздействия - области или объекты, в которых или над которыми нужно совершить то или иное действие. Опять же, тип/параметры могут задаваться цветами. Также цветом может определяться принадлежность зон активации к зонам воздействия (причём совпадать может как весь цвет, так и отдельные биты байта, его определяющего). Границы зон определяются начиная от верхнего левого угла и заканчивая нижним правым.

    Это, конечно, лишь плод моего воображения, но на деле суть может быть схожей.
     
    WERTA нравится это.
  17. Чёрный Думер и все виды материала

    Чёрный Думер

    Регистрация:
    17 мар 2010
    Сообщения:
    2.417
    Кстати, восьмой слой это определённо точка появления игрока на карте и направление его конуса видимости. Ну и ещё что-то, с этим связанное, скорее всего.
     
  18. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.259
    То, что к точке появления на карте привязка есть - это очень даже соответствует истине, а вот про ориентацию по сторонам света - это нет. Вообще в игре начало ориентирования происходит только по основным направлениям N,S W,E. Конкретно в первом уровне это восток - Е. Я уже вовсю делаю просмотрщик карт. Уже подгружаю текстуры. Они начинаются с 00029805h, номера текстур как после распаковки imgXXXX.bmp умножены на 16. Для чего - не знаю, с освещением это вроде бы не связано, хотя я особо не проверял сей момент. В текущих планах вообще все карты распаковать, а затем сразу запаковать и подгрузить в игру. Затем с помощью моих сейвов окончания каждого уровня прогнать загрузку последующей карты из текущего уровня.

    В распакованных картах с адреса 00280000h начинаются двоичные данные. Хотелось бы разобраться в них. Файлы ХХХ_0001.bin - скорее всего объекты. Но периодичность байтов я не поймал. Файлы ХХХ_0002.bin - какие-то указатели. Файлы ХХХ_0003.bin судя по моим предыдущим правкам сжатых файлов должно быть растр пейзажа. ХХХ_0004.bin - название уровня и объектов на карте и последний ХХХ_0005.bin - строки диалогов NPC, сообщений и еще какой-то бинарной информации.
     
    Чёрный Думер нравится это.
  19. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.259
    Структура карт игры Wrath of Earth

    Информация по слоям
    Первая секция (201 762 Bt), файлы после распаковки 00X_0000.bin
    Слои:10 х (128 х 128 х 1Bt) = 163 840 Bt (28000h)

    Слой 0 – освещение секторов (чем ближе к 00, тем ярче), параметры динамического освещения (значения с 2Xh)
    Слой 1 – текстура потолков (порядковый номер с 00, таблица текстур начинается с 00029805h по 4 Бт)
    Слой 2 – текстура полов (порядковый номер с 00, таблица текстур начинается с 00029805h по 4 Бт)
    Слой 3 – текстура стен (нумерация отлична от текстур стен или потолков, нужно ее разгадать, возможно, есть таблица переопределения номеров текстур для стен)
    Слой 4 – топология уровня (коридоры – 00h, 01h-?, четверть-сектора – 02h, сектора – 03h)
    Слой 5 – физ. факторы (темп, радиация)
    Слой 6 – Открытость карты на момент появления игрока на ней
    Слой 7 – неясно, есть связь с точкой появления на карте и направлением луча зрения (карта 000), но в карте 002 это соотв. выходу на склад с ящиками. Тем более, что точка появления указана в самом конце файла карты
    Слой 8 – неясно, часто после уровня 3 (002) видны остатки с карты 002
    Слой 9 – расстановка статичных спрайтов, но без указания типов спрайтов, проходимость/непроходимость блоков.

    (типы звука шагов в слоях не нашел, возможно, они подвязаны на определенные текстуры)

    Табличная бинарная информация (на примере карты 006_0000.bin)
    00029805 – начало таблицы текстур (номер текстуры по 4 Bt, умножен на 16, нормальный порядок соблюден только для потолков и полов)
    00029С18 – начало структуры№1 по 9 байт (двери, перегородки)
    0002A5A7 – начало структуры№2 по 34 байта (монстры)
    0002C7EC– начало структуры№3 по 7 байт (есть координаты XXh YYh)
    0002CA5B– начало структуры№4 по 7 байт (есть координаты XXh YYh)
    0002CC06 – начало структуры№5 по 7 байт (есть координаты XXh YYh)
    0002D1D9 – начало структуры№6 по 3 байта (есть координаты XXh YYh)
    000314119 – точка Х появления на карте (2 Bt), второй байт – номер сектора (0-127)
    00031411D – точка Y появления на карте (2 Bt) , второй байт – номер сектора (0-127)
    000314120 – направление луча зрения (2 Bt)

    Координатное задание в таблицах – номера секторов. Либо такое - 80h XXh 80h YYh; либо такое - XXh YYh. По абсолютному индексу сектора SectID=YY*128+XX задания координатной привязки не выявлено
    Координаты секторов легко заметить при общей выборке, поскольку они всегда менее 7F

    Уровень 7 (карта 006_0000.bin)
    Конкретно по телепортерам и лифтам мне не удалось ничего выяснить. На карте 006 несколько таких точек, откуда игрок может переноситься.
    (09h, 78h)<=> (16h, 77h) – телепорт
    (63h, 39h) => (5Dh, 39h) – лифт в шахты
    (38h, 72h) => телепорт, выход с уровня

    Перебор поиска сочетания координат точек ничего не дает.
    В точке (63h, 39h) прямо возле выключателя лифта есть монстр (порабощенный шахтер)
    Возможно выключатель лифта отнесен к сектору (62h, 39h) - он уже в стене.
    Другая точка телепортации (16h, 77h) есть в структуре из 7 байт, но правки ничего заметного не дали.
    Возможно, нужно искать в файлах 006_0004.bin, 006_0005.bin

    Действительно, изменение номера текстуры в слое 03 для стен: F3h->F2h дает полную работоспособность лифта и отображение вставленного модуля управления лифтом перед ледяными шахтами. Как может влиять номер текстур на логику работы элементов карты - я не могу понять.

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

    Работа игры с перепакованными картами
    Подставлял в игру все перепакованные карты без сжатия. Если использовать фиксированные циклы 30000, то загрузка карт происходит довольно долго. Циклы 30000 нужны, чтобы на экране не было мерцания от HUD скафандра. Последние два уровня 00A, 00B на циклах 30000 что-то грузились с ошибкой (но это я еще проверю). Конечно, работать с элементами карт напрямую будет удобно при переводе. Скорее всего, придется патчить уровни прямо в битовом сжатии. Для этого нужно указать самодельному патчеру три параметра, вместо одного: BYTE_OFFSET, BIT_OFFSET, BITS_WIDTH.

    Прилагаю «девелоперский» пакет приложений
    woe_maps.exe – открывaете распакованные файлы типа 00X_0000.bin из папок \f000X. В этом приложении я указал смещение байта OFFSET для того, чтобы можно было править байты в НЕХ-редакторе. Правку байтов в этом приложении я реализую позже. Подгрузку таблиц монстров и дверей я реализую позже. Текстуры с именами формата imgXXXX.bmp лежат в папке \BMP
    woe_pack.exe – запаковщик карт, указываете любой файл в папке \f000X, затем указываете префикс имени файла карты 00X, загорится кнопка с зеленым треугольником. Нажмите кнопку и пойдет запаковка карты. Сжатый файл 00X будет лежать в той же папке \f000X.
    woe_unpack.exe – распаковщик карт. Для него оригинальные запакованные карты 00X лежат в корне \WOE_MAPS. Карты распакуются в папки \f000X.
    woe_txt.exe – декодер текстовых строк. Результирующий файл будет сохранен с тем же именем +”_decoded”.

    Порядок работы: смотрите слои байтов (просмотрщик) или бинарные таблицы (НЕХ-редактор) в файле карте 00Х_0000.bin, правите, запаковываете через woe_pack.exe. Закидываете полученный файл карты в любую папку для запаковки woe.rsc. Для запаковки воспользуйтесь хорошей утилитой rscpack.exe by Чёрный Думер. Запускаете игру и наблюдаете результат. Еще к этому набору нужны будут файлы сейвов окончания уровней, чтобы перейти на следующий тестируемый уровень, который вы исправили и запаковали.

    Хотелось бы побыстрее изучить карты, чтобы поправить карту 7-го уровня (006). А затем я переключусь непосредственно на перевод строк.
     

    Вложения:

    • WOE_MAPS.zip
      Размер файла:
      8,3 МБ
      Просмотров:
      37
    Последнее редактирование: 28 ноя 2013
  20. WERTA ФанатЪ O-G

    WERTA

    Хелпер Переводчик

    Регистрация:
    12 ноя 2006
    Сообщения:
    8.259
    Исправлен баг с лифтом на 7-ом уровне Wrath of Earth

    Нашел я логику и про лифты на 7-ом уровне! Поиск байта 39h не подвел
    Я просто искал не там – 00Х_0000.bin. Итак, распакованный файл 006_0005.bin (последняя секция, самый конец секции). Начинаем криптоанализ со смещения 00001FEC
    Смотреть это место лучше при периодичности записи в 38 байт.
    65 00 37 00 F2 2C 00 63 00 39 10 53 39 00 19 18 00 5D 00 39.
    Батюшки, да тут же просто черным по белому откровенно написано:
    (65h, 37h) – это сектор с блоком управления лифтом (в стене)
    F2h – номер текстуры стены для отображения модуля управления лифтом
    Т.е. это условие
    (63h,39h) – это сектор, из которого будет производиться нажатие на рубильник лифта
    (5Dh,39h) – это точка переноса
    И аналогично, буквально рядом, следующая строка в НЕХ-редакторе (начало цепочки 00002012h)
    5F 00 39 00 00 2C 00 5E 00 39 10 53 39 00 19 18 00 65 00 39
    А вот и ляпсус!
    (5Fh, 39h) – это типа сектор в стене, где расположен рубильник в лифте наверх из ледяных шахт. Но этот сектор сдвинут на один – на самом деле сектор в стене – это (60h, 39h). Номер текстуры стен там установлен 10h, но это условие не работало, и я условие текстуры вернул в 00h как было.
    (5Eh, 39h) – место нажатия, опять сдвинуто на 1. Должно быть (5Fh, 39h)
    (65h, 39h) – место «высадки», перед дверью в лифт – это правильно.
    Меняем на
    60 00 39 00 00 2C 00 5F 00 39 10 53 39 00 19 18 00 65 00 39 и…
    как в том мультике про кота Матроскина – ЗАРАБОТАЛО!!!!

    Итак, цена вопроса в два байта:
    00002012: 60h
    00002019: 5Fh

    Кстати дверь в лифт со стороны верхнего уровня автоматически открывается при входе игрока туда и не уже закрывается. Сейвы и фиксеный woe.rsc прилагаю.
    woe_rsc(fix).zip
    Сейвы woe_save.1 – “6END“ – конце 6-го уровня, нажмите на лифт и окажетесь на 7-ом уровне. Но это долгий путь. А другой сейв – непосредственно в том самом лифте с багом woe_save.2 – “7LIFT“. Я думаю, ahsasa оценит этот фикс.

    Это был лучший мой случай обратного разбора карт игр. Сжатые биты места патча я найду и поправлю. Хотя уже сейчас фиксенный woe.rsc с несжатым уровнем 006 можно выложить на сайте. По поводу подгрузки несжатых карт: 00A, 00B – игра дает сбой. Я думаю, нужно соблюдать некий порядок запаковки, хотя бы относительный порядок. Подгрузка остальных несжатых карт проходила успешно. Именно поэтому я пока не изменяю свое решение править при переводе строки в сжатом битовом потоке, хоть это и будет технически сложнее. На всякий случай я все же в фиксенном woe.rsc досконально проверил подгрузку и игру на уровнях 00А и 00В (11 и 12 –ый, соотв.) – все работало, поэтому мое предположение о порядке запаковки опять должно быть подвергнуто сомнению.

    Насчет слоя 6 – это ж открытость карты на момент появления героя на карте. Итак, остались непонятыми два слоя: слой 7 и слой 8 (а он вообще, скорее всего, не используется, замечен только в 000 и очень мало в 001).

    С текстурами стен почти разобрался. Они точно сгруппированы по 4. Т.е. один индекс группы текстур стены задает блок на карте, на каждой из сторон которого могут быть все разные текстуры. Ведь есть блоки, отделяющие внутреннее помещение от наружного. Внутри отделка стен одна, а снаружи другая. Поэтому индексы текстур полов (потолков) и стен принципиально различные. Группы текстур я нашел. Но принцип индексации этих групп я не понял.

    Собственно, после сегодняшнего успеха, я прекращаю углубленное изучение карт за ненадобностью. Просмотрщик карт немного подработаю до минимально приемлемого уровня, если окончательно разберусь с текстурами стен.
     

    Вложения:

    • woe_sav.rar
      Размер файла:
      69 КБ
      Просмотров:
      31
    Последнее редактирование: 16 авг 2013
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление