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. pct

    pct

    Регистрация:
    25 окт 2009
    Сообщения:
    3.357
    gudleifr, ой не докапывайся, чай не один такой, просили покороче, я и выдал.
     
  4. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    О! А мне надо нашенское столь же строго официальное, да ещё и чтобы в колонку влезло. :-(
    Намекаешь, что NOT LOGGED IN - "официальный" эвфемизм статуса "в зюзю"? :-)))))

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

    Кстати, интересный факт: на "Неустрашимом" бара нет (правда, вместо кают-компании приспособили камбуз) и ни разу ни одной пьянки не замечено, в то время как на "Лексингтоне" - через раз. :-(
     
  5. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    AWOL - Б/Ув
    NOT LOGGED IN - Н/Я

    Может, кто помнит, что в советское время писали в журналах и табелях?
     
    Рыжий Тигра нравится это.
  6. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Сенькс! Вставляю в перевод.

    ЗЫ. "Без уважительной" и "не явился"?

    ЗЗЫ. А "ОК" и "SICK" не помнишь как?
     
    gudleifr нравится это.
  7. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    "Гы" и "ЧМО" (человек морально опущенный, учитывая твои наблюдения за Котярой, хотя слово "трус" тоже подходит по такому разряду), соответственно. Раз уж пошла мода на нечитаемые сокращения. :)
     
    Последнее редактирование: 3 окт 2013
    pct нравится это.
  8. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    В табеле ставили "8" (часов) и "б" (больничный).
    Ну с последним просто - "С/Ч" - "санчасть".
    А с "явкой" - "Готов"?
     
  9. pct

    pct

    Регистрация:
    25 окт 2009
    Сообщения:
    3.357
    Да и о - отпуск :facepalm:
     
    Bato-San нравится это.
  10. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Есть маленькая, но дурацкая сверхзадачка. Оказывается, в .tre-файлы лазит не только wc4dvd.exe, но и какие-то из .dll'ов. Нужен перехват файлового доступа (CreateFileA(), SetFilePointer(), ReadFile(), CloseHandle()) и для них, а ещё лучше - какой-то более универсальный способ, а не на подмене записей в таблице импорта, как я сделал для .exe'шника.
    К сожалению, я в этом ни ухом ни рылом, поэтому хотелось бы не алгоритм, а готовую сишную функцию вида
    Код:
    int intercept( const void *old_function, const void *new_function );
    либо
    Код:
    int intercept( const char *function_name, const void *new_function );
    Действие функции должно распространяться как на все подключенные к данному моменту .dll'ки, так и на те, которые подключатся к процессу в будущем, - это не прихоть, это потому что гарантированно вызвать её я могу только из dxmci'йного DllMain()'а, а как обеспечить определённый порядок загрузки .dll'ок - тоже не знаю. :-(
    Добровольцы, ау! :-)
     
  11. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
  12. Siberian_GRemlin

    Siberian_GRemlin

    Регистрация:
    22 ноя 2004
    Сообщения:
    4.050
    Какова вообще ситуация с TRE: есть чем их распаковать, запаковать?
     
  13. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Явную загрузку динамических библиотек осуществляет функция HINSTANCE LoadLibrary(LPCTSTR lpLibFileName) или ее расширенный аналог HINSTANCE LoadLibraryEx(LPCTSTR lpLibFileName, HANDLE hFile, DWORD dwFlags).

    А всё что сидит в секции импорта - грузится при запуске программы всем скопом. Так что не вижу - в чём проблема, кроме непонимания механизма.
     
    Последнее редактирование: 20 окт 2013
  14. Steel Rat Stainless

    Steel Rat

    Регистрация:
    28 дек 2006
    Сообщения:
    3.260
    Распаковщиков для TRE не делал разве что ленивый. Я лично делал ТРИ раза. =) Правда первый вариант утерян. А второый и третий недоделаны - только распаковка. Насколько я помню, в интернатах должно их валяться вагон.
     
  15. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    Bato-San, насколько я понял, коллега не не понимает, как работает загрузка dll, но просто не может ей помешать/помочь. Его способ хакинга - подмена адресов функций в таблицах импорта. Но т.к. dll имеют свои таблицы, то вызывают старые функции вместо новых. Так?
    Если так, то, кроме хакинга всех dll я выхода не вижу.
     
    Рыжий Тигра нравится это.
  16. Siberian_GRemlin

    Siberian_GRemlin

    Регистрация:
    22 ноя 2004
    Сообщения:
    4.050
    Я в сети находил лишь один распаковщик и тот нерабочий. Буду признателен за описание формата и/или исходник. Хочу русскую озвучку перенести для 4-ой части. Пригодится не всем, но многим.
     
  17. A.P.$lasH

    A.P.$lasH

    Legacy

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

    Помнится, в TRE только сжатие представляло какую-то сложность, но это самый правильный путь, как мне кажется.

    Для 3 и 4 здесь была структура:
    http://wiki.xentax.com/index.php?title=Wing_Commander_3_and_4

    Кстати, раз уж ваша цель - озвучка, придётся VOB демуксить, голоса в нём.
     
  18. Siberian_GRemlin

    Siberian_GRemlin

    Регистрация:
    22 ноя 2004
    Сообщения:
    4.050
    Меня интересует озвучка в игре: видео я давно перенёс.
     
  19. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Структуру я вам дал. Звуки (как и музыка) в игре не сжимались.
     

    Вложения:

  20. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    gudleifr, не совсем так. Можно тупо воспользоваться хуками, что документировано. Вопрос в секцию инициализации какой из dll это засадить. Хотя... можно просто написать лоадер основного экзешника, который и будет делать весь цикл манипуляций перехвата.

    А вообще - A.P.$lasH прав, что проще написать тулзу человеческую.
     
    Последнее редактирование: 20 окт 2013
  21. gudleifr

    gudleifr

    Регистрация:
    16 сен 2006
    Сообщения:
    2.592
    Для перехвата функций? Или Вы предлагаете перехватывать событие загрузки новых библиотек?
     
  22. Steel Rat Stainless

    Steel Rat

    Регистрация:
    28 дек 2006
    Сообщения:
    3.260
    Звуки таки сжимались. И часть текста и картинок этим же методом. Где-то в вингкомандеровских/приватерских темах на форуме есть исходник распаковщика. Метод тот же, что и в C&C/RA. Щас гляну, что у меня есть по этому поводу.
     
    A.P.$lasH нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление