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. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Сенькс, глянул. Собственно, это эмулятор ddraw на direct3d. Что-то вроде ddhack'а, только на другую игрушку специализированный и не опен-сорсный. Кроме того, слишком уж требователен к среде компиляции и выполнения - на мою win2k и MSVS6 не влезет. :-(
    Да и висты/семёрки у меня нет, чтобы опробовать, и пресловутую "психоделическую палитру" я никогда не видел.

    А базовая идея - проста как дрова: выводить вместо восьмибитной палитровой графики более разноцветную, а разрешение полного экрана 640*480 имитировать. Я как раз долепливаю некое подобие dwrap'а не на opengl, а на том же directdraw, - разрешение не переключает, на мониторах 16*9 выводит игру во всю высоту и ролики во всю ширину; осталась последняя проблема - восьмибитная картинка ресайзится медленно и при этом не сглаживается, так что появился естественный стимул добабахать к нему преобразователь 8-битной картинки в 16-битную. Через пару дней будет готово, покажу.
     
  4. Ogr 2 лол

    Ogr 2

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

    Регистрация:
    25 мар 2008
    Сообщения:
    6.515
    Рыжий Тигра нравится это.
  5. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Ogr 2, ого! Впечатляет. :-)
     
  6. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Имею идею, как не вылезая из игры переключать язык субтитров на роликах и отдельно язык самой игры, - в настройках валяется несколько комплектов нафиг никому в DVD-версии не нужных чекбоксов и радиокнопок:

    2d5b6fbba6fff481eae4538d9d2ce300.png

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

    Добровольцы, два шага вперёд!
     
    Genesis нравится это.
  7. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    fixed. :D

    Зачем их отдельно то переключать ? Ты ещё сделай что бы озвучка отдельно переключалась... И будет вообще клёво - озвучка на французском, игра на немецком, а сабы на фарси.
     
  8. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Сделай приличную. Франконемецкие звуковые дорожки, на которые я с год назад показывал, совершенно ни в дугу: если не микрофон актёру прямо в зубы суют, то тип лица с типом голоса не пляшет... Про то, что в треть дорожек тривиально забыли добавить шумы, я вообще скромно умалчиваю. :-(
    О, не скааажи. Есть разница между восприятием речи когда видишь губы и мимику и когда не.
    А поскольку механизмы вывода субов киношных и полётных разные, то и.
    Впрочем, кто не хочет - тот пусть не переключает, делов-то.

    Кстати, я вчерне слепил вывод картинки через directdraw 16-битным цветом без переключения разрешения экрана с показом кинороликов во всю ширину экрана и возможностью работы в окне. На win2K/XP бегает чуть-чуть тормознее оригинального и примерно втрое шустрее dwrap'но-opengl'ного. Возьмёшь протестировать на семёрке?
    А если ещё подскажешь, как сделать / где взять прецизионный миллисекундный мультимедный таймер без directshow'ных извратов, то будет вообще здорово - можно будет разгрузить процессор, чтобы зря не жрал электричество, а то меня эти 500 кадров в секунду несколько напрягают. :-(
     
    Последнее редактирование: 30 окт 2014
  9. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    ну, тут у меня скорее вопрос - исследовал ли ты информацию здесь:
    Тута вообще есть всё, вместе с кусками кода.
    Тут как раз таки волнующее тебя исследование по урезанию FPS.
    Просто немного приколов.
     
  10. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Понятно. Значит, опытом не поделишься. :-( Ладно, закрыли вопрос.
    :-)))))))))))))))))))))
    (оторжавшись) Хм, не часто сегодня встретишь такой незамутнённый оптимизм - примеры от мелко$офта называть "кодом"... :-)

    Кстати, обнаружил забавную фишку: сделанный directdraw'ным Blt()'ом сглаживающий ресайз выглядит (по крайней мере на моей тачке с ATI Radeon 7500) заметно глаже и куда порезче, чем результат opengl'ного GL_LINEAR'а. Примерно как средней силы бикубик или даже сплайн 6*6. Мелочь, а приятно. :-) Дарю, вдруг пригодится.
     
  11. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    объясняется сие просто: кто то не умеет программировать огл правильно, поэтому и результат разный изрядно. В общем случае - это не секрет уже многие годы. :)
    Но, в целом, огл был избран не просто так.
     
  12. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    (пожимает плечами) Мне не понравился.
    Тебе известны более другие способы opengl'ного сглаживания при ресайзах, кроме "ближайшего соседнего" и билинейного? Делись ими с HCl'ом, ему пригодятся.
     
  13. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Я подсел на широкоэкранку. :-) Дорвался до эксплуатации графического железа через возможности DirectDrawSurface'ного метода Blt() :-) и теперь перелабываю все обзорные сцены (автопилот, некролог, виды на себя / цель / прочих участников боя) под вывод во всю площадь широкого дисплея. Кааайф!!! :crazy: :pilot: :victory: :yess: ;)
    (Блин, надо таки разобраться с fraps'ом, наснимать стоп-кадров, записать пару роликов и выложить.)
     
  14. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Рыжий Тигра, это 4:3 не будет что ли в неплющеном виде ?
    Ну и по ряду причин не рекомендую сильно увлекаться юзанием директдро. Может неприятно аукнуться (ну это будет не очень смешно потому что ты не будешь понимать почему). Хотя разобраться до точки - безусловно следует.
     
  15. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Недопонял, какой "не" на каком стоял. :-(
    Сцены, не требующие активной работы игрока (автопилот, кранты, финальные титры и т.д.), обрезаем сверху-снизу (для 16:9 это до размера 640*360 против обычного 640*480, т.е. срезаем сверху-снизу по 60 пикселов; для более нестандартных дисплеев, типа 1024*800 или 1280*600, будет, естественно, тоже пересчитываться) и пропорционально растягиваем на весь экран.
    Сцены, требующие работы игрока (например, обзоры из кабины влево-вправо-назад, не говоря уже про основной вид с приборами), обрезаться не будут, а будут (как и теперь под dwrap'ом) выводиться с полями влева-справа (например, на экране 1920*1080 картинка занимает всю высоту и 1440 в ширину с полями по 240).
    Киновставки - отдельная песня: на "совсем широких" экранах (вроде вышеупомянутого 1280*600) кино обрезаю максимум до 640*352 и опять же дополняю полями слева-справа (т.е. кино будет 1090*600 плюс поля по 95). (Кстати, м.б. таким же манером ограничу обрезку и обзорным сценам, ещё не решил.)
    (Кстати-2: финальные титры, скорее всего, обрезать буду только снизу, т.к. слово "КОНЕЦ" (в оригинале "THE END") выводится изначально заметно выше середины и потом уплывает вверх - в обрезанном будет совсем неизящно; а вывод титров заканчивается только когда последняя строка уходит за верхний край оригинального экрана.)
    Харэ чеширить, давай с подробностями.
    Между прочим, нашёл ещё одну граблю разработчиков, на этот раз с directdraw'ом. Выбираю 8-битный цвет, затем в сюжетно важном вылете (после провала которого либо нахрен из ВКС, либо плен-тюрьма-расстрел, - ближайший это B4, затем C1, C3, F3, D1 и ещё много других) катапультируюсь - и после кинороликов игра либо падает по C005 в начале финальных титров, либо после титров появляется экран со списком savegame'ов в совершенно дикой "психоделической" палитре:

    6a384720eb09e58c350d7011928e8b24.png

    Косяк стопроцентно directdraw'ный: после катапультирования удаляются оба surface'а (primary и его backbuffer) и создаются заново, а перед выводом экрана со списком save'ов вызывается SetEntries() для палитры, когда-то назначенной на давно удалённый surface. :-(
    Впрочем, эта бяка легко правится перехватчиком directdraw'ных операций. За пару часов сделаю.
     
  16. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    ну это они так интересно сделали полную "быструю" очистку экрана.
    а вот это косяк. Который убежал от них из-за неиспользования разных поллитр. :)

    Ну, зато ты теперь узнал одну немаловажную деталь о метафизической природе психоделических расцветок и поэтому
    уже имеет смысл. Собственно именно проблемы аналогичного характера (в смысле связанные с весьма оригинальным использованием DX) под виндовс VISTA/7 и привели к "необходимости" использования dwraper, а точнее opengl. Уловил в чём суть прикола на уровне системы ?
    Глюк таки же обходится не только по ОГЛ, иначе бы современные игры тоже выглядели психоделично, но почему то никто не хочет посмотреть как это сделано в них...
    Вот. А теперь представь четырёхслойный бутерброд, каждый слой которого имеет начинку из багов, которые уже имеются, но при этом начинают по неизвестной тебе схеме влиять на баги в соседних слоях. И получишь именно то блюдо, которое рискуешь приготовить сам. Ну, собсно уже началось.


    надеюсь ты сперва определяешь параметры имеющегося монитора, а потом уже чисто программно подгоняешь под него изображение, а не делаешь это "жёстко" ? Суть в том, что на 4:3 широкоэкранка смотрится не менее похабно, чем 4:3 на 16:9. Поэтому хотелось бы не терять оригинальный вариант. Хотя такое решение грозит потерей фпс (если очень постараться). :)
     
  17. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Не, там хуже - меняется глубина цвета: полёт всегда 8-битный, а всё кроме него - то так, то этак и задаётся с инженерной консоли на техпалубе. Вот и запутались - когда палитру удалять, а когда не. :-(
    Тююю, окрыыыл америку. Jari Komppa знал это в 2010-м, а я выяснил в сентябре 13-го. А про вообще палитры - с где-то начала 90-х как юзер и лет с десяток назад пришлось копаться в кишках у PNG.
    Это хорошо. Доваяю до работоспособельного не только под отладчиком - поделюсь, сможешь потестить и ткнуть пальцем в кривости. А при некоторой улёжчивости - ещё и налабать к готовой партитуре свою аранжировку :-) под что хочешь, хоть opengl, хоть aalib. :-)
    (Кстати, если знаешь как directdraw'у включать-выключать сглаживание при ресайзе - тоже делись, при кратных разрешениях несглаженное будет смотреться ещё симпатичнее.)
    А то ж! :-) Стырил из того же ddhack/dwrap, ищи вокруг вызова ф-ции GetMonitorInfo().
    Ха, на самой медленной из моих тачек - аж меньше 5 миллисекунд на каждом кадре, и то в самом пиковом случае; типовое - 3.5 мс/кадр.
     
    Последнее редактирование: 4 ноя 2014
  18. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    На скорую руку:
    Код:
      if ( /* HFONT */ wc4_hfont != NULL ) {
        HFONT old_font = NULL;
        HDC dddc;
        if ( /*LPDIRECTDRAWSURFACE */ m_640_dds->GetDC( &dddc ) == DD_OK ) {
          if ( ( old_font = (HFONT) SelectObject( dddc, /*(HGDIOBJ)*/ wc4_hfont ) ) != NULL ) {
            RECT t_rect = { 0, 50, 300, 50 };
            t_rect.top++; t_rect.left -= 2; t_rect.right -= 2; t_rect.bottom++;
            SetTextColor( dddc, 0 ); SetBkMode( dddc, TRANSPARENT );
            DrawText( dddc, "Проба пера... проба... Рыжий", -1, &t_rect,
              DT_NOPREFIX | DT_CENTER | DT_TOP | DT_NOCLIP | DT_WORDBREAK );
    
            t_rect.top--; t_rect.left += 2; t_rect.right += 2; t_rect.bottom--;
            SetTextColor( dddc, /* 0xE0E0E0 */ 0x4080FF ); SetBkMode( dddc, TRANSPARENT );
            DrawText( dddc, "Проба пера... проба... Рыжий", -1, &t_rect,
              DT_NOPREFIX | DT_CENTER | DT_TOP | DT_NOCLIP | DT_WORDBREAK );
            SelectObject( dddc, old_font );
          }
          m_640_dds->ReleaseDC( dddc );
        }
      }
      m_orig_dds->Blt( &g_dst_rect, m_640_dds,
        &g_src_rect, DDBLT_WAIT, &g_ddbltfx );
    Лабораторная работа на уроке чистописания по directdraw'ному surface'у. Как для первой попытки - вполне удачно, и не очень заметно, что строка выводилась при разрешении 640*480 в 16-битный surface и потом вдвое с гаком апсайзилась:

    2902216959438f9a581d9d2db8774609.jpg 96eb803b20f20ab69a61be1cb4759340.jpg 5ee2ad7cd67db9766b26088a5a831ecb.jpg

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

    Да, забыл сказать: вся операция с выводом строки занимает 500..800 мкс на Celeron Northwood 2 ГГц с видюшкой ATI Radeon 7500 и 700..1000 мкс на двухъядерном G850 2.9 ГГц с интегрированным в проц Intel HD Graphics'ом.
     
  19. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    О ! Шикоза.

    МЯХАХАХАХААААХА.
    КХМ... попробуй одно ядро вырубить ради интереса.
     
  20. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Это ещё фигня! Самый шик будет, когда я догадаюсь, как вокруг буковок нарисовать тёмненькие полупрозрачные ореольчики. :-)
    Кстати, давно ношусь с идеей наложить на финальные титры свой логотип - тоже полупрозрачный, чтобы буковки под ним проплывали и не терялись. Но это будет не сегодня и даже не завтра - сначала надо добить вывод субтитров в заширокоэкраненную картинку, там довольно муторный алгоритм расчёта размеров фонтов и ректанглов. :-(
    Э... куда нажимать-то? WinXP 32-битная SP3.
    Хотя... отрубай не отрубай - без толку: отрисовка явно не софтовая, а графический контроллер - это отдельное, третье ядро. Картинка уже у него в видеопамяти, так что скорее всего туда же всасывается шрифт и там уже химичится.
    Впрочем, можно вырубить поддержку ускорителей в свойствях рабстола и глянуть чем кончится.

    ---------- Сообщение добавлено в 23:19 ---------- Предыдущее сообщение размещено в 22:05 ----------

    Я в тягостном раздумьи. :-( Отключил нафиг аппаратное ускорение - и здравствуй ж@па новый год: игра в родном виде запускается, а с перехватом directdraw'а - фигушки. :-(

    dac0d650c9eb7b2601896182f5106696.png

    Придётся опять брать в руки отладчик. :-(

    ---------- Сообщение добавлено 05.11.2014 в 01:00 ---------- Предыдущее сообщение размещено 04.11.2014 в 23:19 ----------

    Нашёл: для surface'й, задействованных в ресайзе, явно заказываю видеопамять, а при отключении ускорителя её, ясен перец, ноль - вот выделение и обламывается. :-(
    Поправил, пробую. После отключения доступа к видеопамяти двухъядерная тачка начала рисовать строку быстрее - за 400 тире 700 микросекунд; celeron'овая в тех же условиях - так до строкорисования и не добралась. :-( Заработала только после добавления аппаратного ускорения до подключения видеопамяти.
     
  21. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
  22. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Обнаружил забавную штуку. В режиме вылета игра выделяет не только пару directdraw'ных surface'ов (primary и backbuffer) размером 640*480*8, но и один восьмибитный поменьше, 320*240. До сих пор я его игнорировал, а вот случайно на панели настроек в бою (alt-O) ткнулся в кнопочку "VGA" - и игра немедленно упала. Ежу понятно, я где-то накосячил в своих directdraw'ных перехватчиках.
    Но вот что интересно: таки (с отключенным моим directdraw'ным перехватом, через fraps) удалось cфоткать экран, для сравнения дважды - в обычном SVGA и в VGA. Специально увеличил вдвое, чтобы было заметнее:

    [​IMG]

    [​IMG]

    Потом прогулялся отладчиком - получается, что игра таки рисует общую картинку в 320*240, а потом наклеивает на неё разметку кабины уже в SVGA. А раз так, то в принципе можно уже отследить, где именно и в каком виде хранятся шаблоны кабин, и пошаманить с ними - например, заменить последние оставшиеся аглицкие надписи на русские:

    [​IMG]

    В особо крайнем случае, если не удастся отследить шаблоны до источника, можно будет заштопать их картинками непосредственно в directdraw'ном перехватчике. Конечно, это "третий сорт, не чистая работа" (L), но всё же.
     

    Вложения:

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