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

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

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

Wing Commander IV: Цена свободы

Тема в разделе "Переводы своими руками", создана пользователем Рыжий Тигра, 8 янв 2007.

  1. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Процесс перевода игры "Wing Commander IV: Цена свободы"- в разгаре. Желающие опробовать то, что получилось, могут добраться сразу до описания перевода и ссылок на его скачивание, щёлкнув по этой ссылке.

    Желающим посоучаствовать в переводе - рекомендую: полезные для переводчика ссылки - словари, книги, статьи и прочие материалы. Пополнение копилки приветствуется!

    См. также:
    Самая свежая тестовая сборка и инструкции по её установке
    Бета-тестеры, wэлкам!
    31 дек 2016

    Upd 1:
    В связи с участившимися постами здесь "чисто для поржать" - вынужден объясниться.
    6 янв 2014

    Upd 2:
    Приглашаю желающих поучаствовать в переводе. Отозвавшиеся будут увековечены в финальных титрах. (Никаких более материальных благ, к сожалению, обещать не могу. :( )
    27 мая 2014

    Upd 3:
    Наконец удалось пробить барьер несовместимости моего перевода с версией игры от GOG!!! Желающим опробовать - wэлкам!
    2 окт 2014
     
    Последнее редактирование: 21 апр 2017
    kirik-82 нравится это.
  2.  
  3. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    gudleifr, мммм... а про событие - это ещё интереснее даже. :) На самом деле всё не столь извращённо, как кажется. Всё ещё извращённее. :D
     
    gudleifr нравится это.
  4. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Из SPECIAL4 на пробу достал более 300 файлов озвучки и ни один не был сжат. Возможно, какие-то другие сжимались.

    В любом случае, интересно посмотреть на исходники :)
     
  5. Steel Rat Stainless

    Steel Rat

    Регистрация:
    28 дек 2006
    Сообщения:
    3.260
    Похоже, что мой второй вариант - который затачивался на Privateer2 (потом переключился на UTT) тоже похерен. И это плохо. Потому что распаковка звука там была относительно готова - звук из видео дорожек записывала в WAV файл. А исходников нет. =( В исходниках UTT есть возможность работы с TRE, но там вообще на зачаточном уровне ещё и нет даже кодов этих Хаффмана, мать его за ногу, понапридумавают фигни. В общем, если не к спеху, ждите UTT. =) Иначе надо шукать все темы по Privateer тут на форуме - был выложен полноценный исходник, на основе которого я делал.

    A.P.$lasH, сжаты были далеко не все. Большинство - не сжато.
     
    A.P.$lasH нравится это.
  6. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Звук жали Хаффманом? Очень интересно.
     
  7. Steel Rat Stainless

    Steel Rat

    Регистрация:
    28 дек 2006
    Сообщения:
    3.260
    A.P.$lasH, ну так вроде называется метод, когда есть некая таблица ключевых значений и чё то там как-то там это обрабатывается, не помню уже. Ну и повторюсь, этим же методом жали не только звук, но и всё подряд, я не понял логики, почему что-то сжато, а что-то нет.
     
    A.P.$lasH нравится это.
  8. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    оптимизация по частоте доступа к данным, если это оригинал или кто то что то уже изменял и так и не разобрался со сжатием.
     
  9. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    С методом я немного знаком, там битовое дерево (вероятно, это и названо таблицей), просто впервые вижу, что его для звука используют. Возможно, моё недоумение от недостатка знаний :)

    Похоже, что жали файлы больше определённого размера.
     
  10. Steel Rat Stainless

    Steel Rat

    Регистрация:
    28 дек 2006
    Сообщения:
    3.260
    Вот оно, камрад Helmut нашёл давным-давно:

    Надо сказать, что фиг бы это кто нашёл в темах про Privateer. Это из темы про TIE Fighter. Ну и, очевидно, тут нет решения по TRE, но есть куда более важные данные.
     
    ThisSuXX, Dimouse, kirik-82 и 2 другим нравится это.
  11. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Я не про то. Я про способ сборки программы, когда в самом начале main()'а все библиотеки уже подключены (а в момент DllMain()'а конкретной либы - не все).
    Во-во. А как это автоматизировать - не знаю, для wc4dvd.exe делал вручную - пробежкой отладчиком и потом поиском в его теле, целый вечер ухлопал. :-(
    Не умею. :-(
    А есть только dxmci.dll; но можно и не в DllMain(), а в обработчик MCI'йных запросов или в любой из уже имеющихся перехватчиков.
    А нету. Хотя вру: одна штука LoadLibrary() есть, подгружает dsound.dll, но он мне нахрен не нужен. А всё остальное грузится штатным системным загрузчиком вместе с .exe'шником. :-(((((
    ------------------------------------
    Распаковщик я налабал по мотивам HCl'овского xtre, пошаманил над ним - работает. Выложу в ближайшем обновлении раздачи. Упаковщик не делал вообще - мне проще подменить отдельные IFF'ы на лету, при чтении.
    В смысле - сборщик .tre-файлов? Не хочу: при переводе каждого маленького кусочка перестраивать кучу многомегабайтных файлов - неинтересно, а особенно обновлять такую раздачу. А шрифтов и перевода игры набежит ну аж никак не больше 600-800 кил; сейчас 400 кил шрифтов и 20-30 кил перевода уплющиваются zlib'ом до 50 кил всего.
    ------------------------------------
    Есть формат и есть исходник.
    Ага. Там сложности: приличная часть звука сжата чем-то проприетарным потерьным (lossy).
    А кто будет переводить? Предлагаю, если не сильно спешишь, использовать мой перевод - например, из пьесы - фразы, уникальные для каждого вылета, там почти все (ну, т.е. для переведенной части - примерно половины).
    ------------------------------------
    Не-а. За картинки не знаю, но методы сжатия звука и текстов точно разные.
    Точно есть? HCl занимался этим делом, то использовал выдранные из wc3w.exe куски бинарного кода.
    Сравнииил. "Корсара" делала совсем другая команда. :-(
    [hr]
    Возьми .wav'ку из language.tre (смещение 0x077907, длина 0x3E5AD6).
    Беспотерьные - всякие wavpack'и и audiomonkey - именно хафманом и жмут, для звука он куда эффективнее лемпела-зива, факт!
     
  12. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Я, конечно, дико извиняюсь, но достаточно упаковать Хаффманом и, например, LZW один и тот же WAV и можно убедиться, что Хаффман проиграет. Но дело даже не в этом. Для звука же не зря изобретают отдельные вариации сжатия - ну не годится он ни для первого, ни для второго.

    Во-вторых, что значит "всякие wavpack'и и audiomonkey - именно хафманом и жмут". WAVPack и Monkey’s Audio - это два абсолютно разных принципа сжатия звука, разработанные разными программистами. Где же там Хаффман?

    Если вы хотели сказать, что лосслесс (PCM) жмут Хаффманом, то я такого тоже не видел. Неэффективно это. ADPCM используют, особенно если мы про игры, где lossless не нужен. Вон, как в исходниках, которые Steel Rat показывал.
     
  13. Steel Rat Stainless

    Steel Rat

    Регистрация:
    28 дек 2006
    Сообщения:
    3.260
    Я про вторую часть если что. Насколько я в курсе, то они с WC3 сильно похожи в плане ресурсов. Я сам занимался только Privateer'ами и WC1&2.
     
  14. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Siberian_GRemlin, лови во вложении мой trextra - по мотивам HCl'овского xtre, но мой аккуратнее определяет факт сжатости, берёт также именованные файлы и изящнее читает входной файл (нууу, т.е. мне так каэцца, что mmap красивше read'а :-) ). Ну, и по мелочам: имена распакнутых файлов - это смещения их записей в заголовке первого уровня, расширения - по содержимому (на сейчас обнаруживаются .iff, .wav, .avi и .gif) в стандартном выводе подробности о заголовках и позициях, плюс кое-что дублируется в files.bbs рядом с файлами.

    Ё-пс, лопухнулся: у них не хафман, у них другой метод на том же принципе статистического сжатия - арифметическое кодирование (превосходит хафмана, но ненамного, в среднем выигрывает полбита на отчёт).
    (демонически хохочет) Упакуй и убедись. (нормальным голосом) Принято считать, что 16-битный хаффман давит фонограмму, тсзать, естественного происхождения более-менее в полтора-два раза. Вдвое у меня не получалось, но процентов тридцать пять - сорок давало. Лемпел-Зив-77 (чистый, без хафмана) даст хорошо если полтора десятка процентов: слишком мало повторяющихся участков, да и те редко когда длиннее двух отсчётов. По той же причине и от словарного (Лемпел-Зив-Wэлч-78) метода толку не густо. :-(
    А вот если фанера вся синтезирована из коротеньких сэмплов - тогда да, Лемпел с компанией могут и выиграть... :-)
    Зато беспотерьно. А искажения от адаптивной дельта-модуляции - бррр, MPEG-1 Layer 2 и то куда лучше.
    Сам его ломать не ломал, но где-то читал, что таки разные. :-(
     

    Вложения:

  15. Siberian_GRemlin

    Siberian_GRemlin

    Регистрация:
    22 ноя 2004
    Сообщения:
    4.050
    Рыжий Тигра, я уже свой распаковщик сварганил (разжатие пока не прикрутил, правда), но всё равно спасибо. =)
     
  16. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Если возьмёшь HCl'овские объектники - будь осторожен: пишут свои переменные в код и срут в стек! :-( Не от хорошей жизни я автопеременную копирую в глобальную и обратно. :-((((((

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

    По сжатию - точно нет: zllib и huffman гонят на выход побитовый поток, а в сжатых IFF'ах от WC3/WC4 явно побайтовый - хорошо видны кусочки строк, по крайней мере в начале.

    Можешь нарисовать как? Или даже слепить готовую функцию? Мне не то чтобы горит, но как-то не хочется хранить в одном файле переводы видеовставочных менюшек, а в другом - переводы всего остального. :-(

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

    Неполная: например, про байты 4-7 уже известно, что это номер версии формата (для WC3 там записан 0, для WC4 - 1).
     
    Siberian_GRemlin нравится это.
  17. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Оба цепочки кодируют?

    Давайте ещё черновик с конференции возьмём за образец :)

    Но бессмысленно же. Потому и не используется.

    Ладно, таки оффтопик. Лучше в личку перейти.

    Вики же. Сможете поправить?
     
  18. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Влом региться. Кто знает про Марио Брито - начнёт с его сайта, а если xentax не даёт наводку на - то ж, наверно, неспроста?.. :-(
     
  19. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    Пока я еще даже не поминаю, что и как Вы делаете...
     
  20. Steel Rat Stainless

    Steel Rat

    Регистрация:
    28 дек 2006
    Сообщения:
    3.260
    Рыжий Тигра, обрати внимание на видео-декомпрессор из исходников что были чуть выше. Вполне возможно, там есть то что надо. Разработчики, как правило, такие же люди, как и все мы и им нет резона делать миллион упаковщиков/распаковщиков, тот же Origin вполне частенько использовал обычный zip, который щас доступен в zlib. Поэтому, возможно, что часть алгоритмов которые используются в видео, использовались ещё и в других местах. Так было в SCUMM и SCI движках, например.
     
    Последнее редактирование: 20 окт 2013
  21. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Рыжий Тигра, короче, подумал над проблемой, поискал в загашниках и нашёл именно то, чего ты так жаждешь ! Вот читай и качай здесь. Малость на английском, но зато умеет всё, чего тебе так не хватает и оформлено в виде библиотеки для CPP. Проще уже просто некуда.
     
    gudleifr и Butz нравится это.
  22. Gamerun

    Gamerun

    Хелпер

    Регистрация:
    13 июн 2010
    Сообщения:
    8.591
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление