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
    Ага. А как из этого получить место в .exe'шнике или dxmci'е, из которого поступил вызов, привёвший к залёту, или хотя бы имя залетевшей функции? Или как модифицировать сам dxmci, чтобы можно было это место определить?
    Можешь собрать из сырцов отладочную версию dxmci.dll и повторить опыт под отладчиком?

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

    Не покатит - будет не одна неделя писанины. Могу перехватить вызовы из wc4dvd.exe, mpeg2.dll и прочих - это быстрее, по полчаса на модуль, - но не факт что при этом чего-ньдь не пропущу.
    Впрочем, кое-что пока уже понятно. wc4dvd-win2k.exe отличается только тем, что она уже патчена против залёта в VirtualProtect()'е из-за NULL'ового 4-го параметра (причём патч кривой - релокейты под него не правлены, т.е. при загрузке по адресу не равному 0x00400000 код "поплывёт"); во всех остальных грабля с 4-м параметром правится моим перехватчиком.
    Ещё этим же фигнём страдает версия 3.0.2.0 от wcnews'ского DVD upgrade patсh'а, в выкладке это wc4dvd-dvdupgrade.exe; непатченная мне не попадалась.
    Значит, этих двоих можно исключить из тестирования и выбросить. Жалко - в 3.0.2.0 исправлена парочка мелких, но назойливых косяков с искусственным интеллектом, обработкой клавиатуры и ещё чем-то, уже не помню чем.

    Upd. Ага, а ещё этим же (фиксированными адресами правок в .exe'шнике) славится оригинальный GOG'овский dwrap.dll. Но тогда GOG-версия игры сыпалась бы ещё чаще.
    Можешь проверить - по какому базовому адресу на самом деле загружается wc4dvd-win2k.exe?
     
    Последнее редактирование: 13 янв 2015
  4. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    да пожалста:

    ради интереса попробовал загрузить в ней сохранёнку - таки сама то игра работает. Истребитель летит, субтитры после смерти показываются. Облом только с видеороликами, судя по всему.
     
    Последнее редактирование: 13 янв 2015
  5. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Угу. Один и тот же ролик одной и той же .dll'кой на одной и той же машине - с одним .exe'шником рендерится ОК, с другим обламывается, странно.
    Ага, и адрес правильный... Ещё страннее. И wc4dvd-dvdupgrade.exe с точно таким же патчем работает и не выпендривается. :-(
    "Режим совместимости" одинаковый?
    PS. Ага, вижу - остальные .exe'шники тоже обламывались аналогичным образом, на этапе рендера. Доделываю лог "совместимости", можно будет попробовать разные режимы.

    PPS. Да, и ты говорил насчёт после сцены в баре может выскочить что попало? В логе от 2015-01-11 11:43:12 вижу проход по разу по веткам "вмешаться в драку" и "сами разберутся" - обе правильные: после эпизода sc_0010d (от слов бармена "я где-то видел твой портрет" до Маньяка "разберись с ними, полковник-герой") запрашивался первый раз sc_0010f (от "отпусти его" до отлёта с планеты), второй - sc_0010e (от "мне не нужно самоутверждение в драке" до отлёта). Можешь проверить - проиграть ролик mkv\sc_0010.mkv, в его матрёшечном оглавлении есть метки SC_0010E и SC_0010F, сравни с тем что было показано в игре.
     
    Bato-San нравится это.
  6. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    Рыжий Тигра, ну совместимость стоит с XP SP3 сейчас. Ни отключение аэро ни 256 цветов ни админ ни 640x480 не используются.
     
  7. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Почтим память покойного. :-

    Кстати, аналогичная фигня у меня была с WC2: там есть хитрый режим - реализация термоядерной вспышки экраном при взрыве линкора или базы через программирование портов ЦАПа на видеокарте. А машинка у меня на работе была старенькая, видюшка на ней хлипкенькая, и в очередном вылете того... что-то в ней щёлкнуло, пробило, завоняло и завещал долго жить выход синего канала. :-( А в отделе закрепилась фраза "термоядерные игры". :-)
     
    Bato-San нравится это.
  8. AxXxB неадекват

    AxXxB

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

    Регистрация:
    13 ноя 2006
    Сообщения:
    1.663
    Offtop
    Жаль, что напряжения, выдаваемые БП, не программируемые - отлично получилось бы показывать взрыв выдачей 300 В на все линии :)
     
  9. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    Offtop
    Рыжий Тигра, Я когда-то спалил динамик в айфоне заказчика фирмы бета-версией нашего приложения, которая достаточно хитрым образом через стандартные API использовала микрофон и динамик. То есть мы, когда телефон при старте приложения изредка начинал противно пищать, обычно закрывали его, а клиент, наверное, решил подождать подольше и посмотреть, что будет дальше.
    Вскоре API поменялись, сделав мои тогдашние извращения ненужными. Сгорели ли айфоны у каких-нибудь покупателей приложения в апп-сторе - неизвестно :)

    AxXxB, а ведь многие материнки, наверное, поддерживают программное управление напряжением питания процессора, памяти и чипсета....
     
  10. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    И снова бета: wc4dvd-rus-beta11.7z
    Код:
    --------------------------------
    wc4dvd-dvdupgrade.exe
    dxmci.dll -- build Jan 16 2015 22:03:22
    --------------------------------
    OS version: 5.0.2195 Service Pack 4
    compatibility: none
    --------------------------------
    log started: 2015-01-16 23:36:48
    --------------------------------
    23:36:48.828 (+     2) 0000055c           Reading configuration from dxmci.ini:
    --------
      tier = 1 
      bAltList = 1 
      szAltList = altfiles.lst 
      bAltPath = 1 
      szPath = E:\wc4xcd\mkv\ 
      bAltExt = 1 
      szAltExt = .xcd 
      bNosubstMissing = 1 
      subs_locale = 1049 
    Новое по сравнению с предыдущей:
    • версия ОС, "режим совместимости" и конфигурация dxmci.dll фиксируются в лог;
    • там же фиксируются вызовы функции MessageBox() из dxmci.dll и .exe'шника игры;
    • вывод доп-субтитров синхронизируется не об чтение звукозаписей из .tre-файлов, а об их вывод через directsound;
    • исходники программ почищены от давно не поддерживающихся #define'ов;
    • в имена файлов архивов исходных текстов программ, русификации и субтитров к кинороликам добавлены дата-время сборки этих архивов.
    • как обычно, в комплекте - самые свежие финальные титры.
    Инструкция по сборке экземпляра игры - тут.
    И, ясен перец, опять wэлкам бета-тестерам.
     

    Вложения:

    Последнее редактирование: 18 янв 2015
    Sherhan007 и Bato-San нравится это.
  11. iunnamed

    iunnamed

    Хелпер

    Регистрация:
    15 янв 2007
    Сообщения:
    1.235
    - Как сделать Z?
    - А зачем, вообще, делать Z?
    - Потому что нужно сделать X, но чтобы сделать X, нужно сделать Y, а чтобы сделать Y, нужно сделать Z.
    - А не проще ли, чтобы сделать X, сделать W?
    - О!..

    Отсюда вопрос: изначально что нужно - каково X?
    Потому что "фиксировать в лог" - это сделать Z.
     
  12. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Избавиться от "совместимости" через aclayers.dll. Из-за TerminateProcess() :-( Это раз. Два - обеспечить повторяемость тестового прогона и снять за раз чемпобольше инфы. А то, когда смотришь совершенно разные логи прогонов чуть-чуть отличающихся .exe'шников, как-то неудобно каждый раз переспрашивать тестера, при каких настройках какой лог снимался.
    Не скааажи. Большой, подробный лог и сам по себе не помешает: я ж его не глазами читаю, а поиском ищу, да ещё и складирую на будущее. Лишняя инфа сейчас не помеха, а в будущем может сэкономить нехилые человеко-недели.
    (поднимает коготь) О! Совместимость с win2k и winxp без aclayers'а я уже залатал своими перехватчиками. Осталось выловить и заштопать несовместимости с семёркой, восьмёркой и десяткой.
    Кстати, я тут случайно нагуглил способ так-сяк детектировать "режим совместимости" через переменную окружения. На первых порах вроде хватает; а вот как оно будет при более тонкой настройке "совместимости" - пока не знаю. :-(
     
    Последнее редактирование: 21 янв 2015
  13. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Вопрос 2 All: кто подскажет, как в directdraw'е управлять сглаживанием при вызове Blt()? А то некоторые сцены (кабина с обилием надписей, финальные титры) в некоторых разрешениях (собственно, при увеличении в целое число раз) выглядят куда симпатичнее как раз без сглаживания:

    [​IMG]

    [​IMG]

    Пока для этого использую тупой трюк - при создании IDirectDrawSurface'а выделяю буфер не в видеопамяти, а в системной, тогда Blt() из него не сглаживает. Но для этого по-хорошему надо переделывать приличную часть эмуляции directdraw'а, что напрягает. Куда приятнее было бы оставить surface в видеопамяти, но с отключенным сглаживанием.
    У кого есть идеи?
     

    Вложения:

    • ddraw-smooth.png
      ddraw-smooth.png
      Размер файла:
      59,7 КБ
      Просмотров:
      696
    • ddraw-sharp.png
      ddraw-sharp.png
      Размер файла:
      13,8 КБ
      Просмотров:
      514
  14. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    Рыжий Тигра, Я забыл детали, но смутно припоминаю, что у меня на разных карточках получались разные результаты в этом отношении :( Поэтому я забил и рисовал в видеопамяти чисто софтово, и фильтр кодил свой. "Аппаратная акселерация" блитов практически неактуальна и реальной выгоды не дает в большинстве случаев. Вот overlay surface - вкусная штука, но там всё еще хуже с совместимостью между карточками.
    Может, BltFast попробуй вместо Blt.. Хотя вряд ли что получится. Чем тратить время на эту хренотень, проще закодить простой скейлинг.
    P.S. DirectX г-но :(
     
  15. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Даёт-даёт. :-( В случае, показанном на второй картинке, surface-источник размером 640*480 выделен в системной памяти, получатель 1280*960 - в видеопамяти, Blt() молотит один кадр 15-20 миллисекунд и игра очень нервно на это реагирует - в полёте, например, то и дело "25-м кадром" через каждый десяток секунд вспыхивает картинка предполётного инструктажа или полётной карты. Очень раздражает. :-(
    Вот фрагмент трассировочной печати:
    Код:
    [COLOR="Sienna"]; в полёте - сближаюсь с вражескими истребителями, десяток секунд до открытия огня
    ; рутинный цикл вывода кадр за кадром
    ; игра запрашивает зачистку backbuffer'а нулями:[/COLOR]
    20:40:21.140 (+ 18095) 000006fc           HOOKDDS from 00417483: 00F0FE88->Blt( [NULL], 00000000, [NULL], 01000400, 0012F5D0 ) RET(+   980) =0 (00000000); 
    [COLOR="Sienna"]; игра занимает backbuffer для рисования - я подсовываю ей буфер в системной памяти:[/COLOR]
    20:40:21.140 (+  1221) 000006fc           HOOKDDS from 0047645B: 00F0FE88->Lock( [NULL], , 005097d0, ) -> [0000100f] RET(+  2069) =0 (00000000); 
    [COLOR="Sienna"]; игра заполняет подсунутый ей "backbuffer" картинкой[/COLOR]
    [COLOR="Sienna"]; игра отдаёт backbuffer:[/COLOR]
    20:40:21.140 (+  3062) 000006fc           HOOKDDS from 0047654C: 00F0FE88->Unlock( 00000000 ) 
    [COLOR="Sienna"]; я перегоняю картинку из 8-битной в 16-, потом при необходимости вывожу поверх неё доп-субтитры[/COLOR]
    [COLOR="Sienna"]; а вот здесь вызываю Blt() со stretch'ем из системной памяти в реальный backbuffer в видеопамять:[/COLOR]
    20:40:21.140 (+  2567) 000006fc           get  g_widescreen_mode, 0 RET(+ 17774) =0 (00000000); 
    [COLOR="Sienna"]; почти 18 миллисекунд! :-([/COLOR]
    ; игра просит флипнуть primary buffer с backbuffer'ом - флипаю:
    20:40:21.171 (+ 19678) 000006fc           HOOKDDS from 0047655B: 00FD36B0->Flip( 00000000, 00000000 ) RET(+   146) =0 (00000000); 
    [COLOR="Sienna"]; и дальше эти четыре вызова в цикле:[/COLOR]
    20:40:21.187 (+ 18790) 000006fc           HOOKDDS from 00417483: 00F0FE88->Blt( [NULL], 00000000, [NULL], 01000400, 0012F5D0 ) RET(+   905) =0 (00000000); 
    [COLOR="Sienna"]; .................................[/COLOR]
    20:40:21.328 (+ 17575) 000006fc           HOOKDDS from 0047655B: 00FD36B0->Flip( 00000000, 00000000 ) RET(+   139) =0 (00000000); 
    [COLOR="Sienna"]; и вдруг бздыыыньк! - игра начинает манипулировать с primary buffer'ом:[/COLOR]
    20:40:21.343 (+ 17538) 000006fc           HOOKDDS from 0047645B: 00FD36B0->Lock( [NULL], , 005097d0, ) -> [0000100f] RET(+  2193) =0 (00000000); 
    [COLOR="Sienna"]; игра рисует кадрик с полётной картой:[/COLOR]
    20:40:21.343 (+  2772) 000006fc           HOOKDDS from 0047653B: 00FD36B0->Unlock( 00000000 ) 
    20:40:21.359 (+  3678) 000006fc           get  g_widescreen_mode, 0 RET(+ 16531) =0 (00000000); 
    [COLOR="Sienna"]; игра возобновляет нормальный цикл вывода:[/COLOR]
    20:40:21.375 (+ 21907) 000006fc           HOOKDDS from 00417483: 00F0FE88->Blt( [NULL], 00000000, [NULL], 01000400, 0012F5D0 ) RET(+   721) =0 (00000000); 
    20:40:21.375 (+   874) 000006fc           HOOKDDS from 0047645B: 00F0FE88->Lock( [NULL], , 005097d0, ) -> [0000100f] RET(+  1387) =0 (00000000); 
    20:40:21.375 (+  2218) 000006fc           HOOKDDS from 0047654C: 00F0FE88->Unlock( 00000000 ) 
    20:40:21.375 (+  2736) 000006fc           get  g_widescreen_mode, 0 RET(+ 17370) =0 (00000000); 
    20:40:21.390 (+ 17487) 000006fc           HOOKDDS from 0047655B: 00FD36B0->Flip( 00000000, 00000000 ) RET(+   136) =0 (00000000); 
    [COLOR="Sienna"]; .................................[/COLOR]
    Что интересно - похоже, игра реагирует именно на длительное выполнение Unlock()'а. Непонятно.
    А аппаратный блит силами видеокарты занимает полторы-две сотни микросекунд.
    Попробовал (вместо бита DDSCAPS_PRIMARYSURFACE взвёл пару из DDSCAPS_OVERLAY и DDSCAPS_VIDEOMEMORY) - никакой разницы между primary и overlay'ем не увидел, точно такое же сглаживание.
    Нельзя - он картинку не растягивает, а надо.
    Попробую при случае. Пока отложил. Или если у тебя есть готовый - делись!
     
    Последнее редактирование: 25 янв 2015
  16. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    Ты не понял весь прикол с оверлеем. У него не связано жестко разрешение и видимый размер. т.е. ты его создаешь маленького разрешения, а при отображении он автоматом тянется на весь экран. И это не единственная интересная фишка, что у него есть.

    Если дашь конкретно код/заготовку функции, которую надо переписать - попробую. Укажи, какой процессор должен минимально поддерживаться, какие размеры могут быть итд.

    Я кстати не понял, почему нельзя держать исходный буфер 640x480x256 в системной памяти, а потом одной функцией рисовать его с одновременным растяжением и преобразованием цвета в нужный размер. Или у тебя часть графики рисуется уже в буфер высокого разрешения? Я не читал, наверное, про это.
     
    Последнее редактирование: 26 янв 2015
    Рыжий Тигра нравится это.
  17. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    О! Не знал. Класс! Колись, где про эти вкусности почитать желательно по-русски и в концентрате, а не выцеживать из стогигабайтного MSDN'а.
    Ну дык IDirectDrawSurface::Blt() же ж. Можно проще - давать только две поверхности и ректанглы на них.
    Должно компилироваться под MSVC6 для процессора по умолчанию ("blend"), размер какой получится.
    А существуют такие функции? Я до сих пор использовал только IDirectDrawSurface::Blt(). С цветом - есть грабля win7 с "психоделической палитрой", поэтому надо преобразовывать - у меня на это дело специально заточена пара функций в wc4dvd-rus-beta11.7z:\src\dxmci-mod-20150116-1957.7z:\dxmci-mod\ddconv.c.
    Кроме того, есть ещё прикол с широкоэкранкой: экран игры надо выводить на широкие дисплеи во весь рост с полями слева-справа, а некоторые моменты (автопилот, сцену с некрологом, вид сбоку, финальные титры) - во всю ширину с обрезкой сверху-снизу.
    Такого, хвала кетцалькоатлю, нет. А есть вывод текста в 640*480*64К - для сглаживания шрифта (в 256-цветном палитровом шрифт не сглаживается).
    Короче, делись описанием возможностей оверлея, а там я соображу к чему его припахать. :-)

    PS. Кстати, понадобится ещё одна штука: в уголок экрана с финальными титрами (в палитре всего два цвета - 0xFF белый, все остальные чёрные) впечатывать маленькую полупрозрачную цветную картинку с 8-битным альфа-каналом - логотип студии "Рыжики пикчерз". Через Blt() вроде бы такое делается, но я ещё не пробовал.

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

    Не-а, не растягивается. На экране 1280*960 оверлей 640*480 занимает ровно четверть экрана, левую верхнюю. Или чего-то ещё не хватает?

    PPS. Ё-пс, я был неправ. То, что я поначалу принял за оверлей, было primary - я накосячил с полями в DDSURFACEDESC'е. :-(
    Исправил, теперь новая закавыка: в YUV оверлей создаётся, в RGB - ни в какую. :-( Лежу разбираюсь.
     
    Последнее редактирование: 26 янв 2015
  18. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    Не исправишь. Оверлеи мощная штука, но их возможности (максимальное разрешение, минимальный и максимальный размер отображения, поддержка цветовых форматов) зависит от видеокарты.
    Старые Cirrus Logic для PCI как раз умели RGB и не сглаживали оверлеи при растяжении.
    Сам собой оверлей не растягивается, нужно желаемый размер указать.
    https://msdn.microsoft.com/en-us/library/aa916653.aspx
    ftp://ftp.physik.hu-berlin.de/pub/u.../multimedia/ddraw/src/ddoverlay/ddoverlay.cpp
    Для максимальной совместимости оверлеи придется делать таки в YUV, и конвертировать цвет самому :( Но вообще это не решение для нашего случая наверное, раз тебе надо иметь промежуточный Surface в RGB, чтобы рисовать туда текст.
    Обращаю твое внимание на еще одну крутую штуку у оверлея. Color key. Можно настроить, чтобы изображение из оверлея выводилось только вместо цвета с определенным значением, например FF01FF. И это тоже аппаратно, ничего не стоит.
    Я вообще-то хотел попытаться написать Naked функцию с асмовыми вставками. И использовать там хотя бы MMX.
     
    Последнее редактирование: 26 янв 2015
    Рыжий Тигра нравится это.
  19. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Ага, я уже раскопал: на тачке, на которой дистанционно отлаживаю, видеокарта встроена в проц и ейное оверлейное железо понимает только YUV - и то, сдаётся мне, только 12- и 16-битный, т.е. дать каждому пикселу свой цвет может не получиться. Вот заррразы! :-(
    Хм. А непосредственно по YUV'у текст не рисуется?
    Да не, вряд ли понадобится. Разве что в primary surface выводить текст, а на оверлей - картинку, чтобы текст светился сквозь неё.
    Впрочем, это всё ещё вилами по воде. :-( Сначала выведу на оверлей хоть что-то - просто чтобы глянуть: если с ним будет красивее, чем то что уже есть, то буду копать дальше, а если не - то нуегона́.
    Ага, уловил.
    Вообще, нужно чтобы доработанная игра ходила на тех же тачках, что и оригинальная; пока что больше всего требований к железу предъявляют видеоролики - для воспроизведения MPEG2, насколько я помню, нужен хотя бы P3 более-менее гигагерцовый, а на Celeron-4 о двух ГГцах и XviD c OGG Vorbis'ом бегают на ура. :-)
    Хотя сам wc4dvd.exe скомпилирован под i386.

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

    Кстати, наткнулся на вроде бы неплохую статейку - "Вывод графики на рабочий стол Windows с использованием оверлеев DirectX", изучаю. Плюс у автора есть ещё статьи, тоже пролистаю.
     
  20. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    Написал, скинул пока в личку. Заморачиваться с асмом и вообще с оптимизацией пока не стал, будет летать и так. Пример работы:
     

    Вложения:

    • DOOM.png
      DOOM.png
      Размер файла:
      78,1 КБ
      Просмотров:
      470
    Последнее редактирование: 27 янв 2015
  21. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Thnx! Ща скомпилю и опробую.
    О, кстати, вопрос по разрешению. У тебя монитор именно 1280*1024? Если да - померяй, плиз, ему соотношение сторон. Если 4:3, то придётся ещё и что-то делать с неквадратными пикселами - хотя бы для начала их как-то обнаруживать. :-(
     
  22. AxXxB неадекват

    AxXxB

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

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