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

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

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

Need For Speed III Modern Patch (HD + Widescreen + Portable)

Тема в разделе "Мастерская", создана пользователем VEG, 15 апр 2015.

  1. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    Need For Speed III Modern Patch (HD + Widescreen + Portable)
    Страница проекта: http://veg.by/go/nfs3ru

    Я не буду здесь описывать все изменения, поскольку их слишком много. Опишу лишь основные тезисы. За подробностями обращайтесь к файлу readme.txt.

    — Адекватная поддержка широкоформатных и больших разрешений — игра без проблем работает на 1920×1200 и других разрешениях без искажения пропорций изображения.
    — Улучшена графика машин — на максимальных настройках у других машин текстуры в 2 раза лучшего качества, всегда крутятся колёса, никогда не исчезают зеркала и другие элементы (это происходило из-за подгрузки худших моделей при наличии 3 и более машин в кадре).
    — Улучшена дальность отрисовки — на максимальных настройках в зеркале объекты не пропадают так рано как раньше.
    — Режим DX6 поддерживает эффект тумана — ранее эта возможность была эксклюзивной только для видеокарт 3dfx Voodoo2 и эмуляции Glide API.
    — Улучшена поддержка Voodoo2/Glide — в этом режиме в игре доступен эффект тумана, работоспособность Glide API обеспечивается враппером nGlide 1.04.2.
    — Переносимость — игра больше не лезет в реестр за настройками, все системные настройки хранятся в ini-файле рядом с исполняемым файлом игры (он должен иметь такое же имя как и запускаемый exe-файл).
    — Добавлено несколько оптимизаций. Например, игра не делает копию музыкальных файлов при каждом старте и читает их сразу их исходного каталога, что экономит время и 10 мегабайт ресурса вашего SSD на каждый старт.
    — Исправлено несколько десятков ошибок и недоработок оригинальной версии. Например, индикация загрузки теперь намного более плавная.

    Установка:
    1. Скопируйте каталоги FEDATA и GAMEDATA с оригинального диска в новый пустой каталог.
    2. Извлеките содержимое архива nfs3_vegmod.7z (1.3МБ) в этот же каталог, с заменой файлов.
    3. Готово!

    Скриншот в широкоформатном разрешении 1280×720:
    5683db60835624401dddde3e6956ee95.jpg

    Оригинальное сообщение:
    Взялся я тут патчить оригинальный NFS3. Добавил поддержку больших разрешений, пофиксил баг про то что осталось меньше мегабайта свободного пространства (хотя на самом деле его завались), для драйвера d3d добавил поддержку 32-битного цвета (в игре многие вещи с 32-битным цветом выглядят значительно лучше), для драйвера voodoo2 поддержку разрешений вплоть до 1600×1200. Сейчас вот работаю над добавлением поддержки широкоформатных разрешений без искажений пропорций, если всё будет хорошо, то и 1920×1080, и 1920×1200 будет поддерживаться. Ещё хотелось бы устранить баг с зависанием на многоядерных системах.

    А теперь вот подумалось, а может взять лучше за основу NFS4, но попробовать исправить в нём то, что не нравится, и сделать так как это было в NFS3? Расскажите, чем вам нравится NFS3 и не нравится NFS4, и наоборот. Карты вроде как от NFS3 там есть вообще без изменений.

    И ещё. У вас в NFSIII работает сетевая игра? У меня на Windows 7 x64 при попытке создать игру или подключиться ничего не происходит. Надо будет проанализировать эту проблему, но может уже кто-то знает ответ.
     
    Последнее редактирование: 11 июн 2015
    Gadavre, Menkau_ra, AlexDC и 31 другим нравится это.
  2.  
  3. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    Там игра играет через DirectSound, а я параллельно пытаюсь через вызов PlaySound играть звук скриншота, но этого звука под Windows 98 нет (под новыми ОС есть). Было бы круто отреверсить используемый игрой eacsnd.dll, и разобраться, позволяет ли эта библиотека во время описанной ранее «паузы» всего звука всё же некоторые звуки воспроизвести. Пока что в долгом ящике задача.

    BTW, сейчас немного не в духе, но надеюсь вскоре подготовлю билд с исправленной скриншотилкой. В планах: своевременное определение нажатия PrintScreen, сохранение скриншота в отдельном потоке (должно свести остановку геймлея до минимума), использование BMP в место TGA плюс опциональная конвертация в PNG/JPG при помощи GDI+ (всегда есть на Windows XP и старше, можно поставить на Windows 98).
     
    Последнее редактирование: 11 ноя 2015
    Goblinit нравится это.
  4. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    То что на клавишу Win реакции в любом случае нет — весьма любопытно. Видимо, в Windows 98 эта клавиша не сворачивала полноэкранные игры. В итоге я на данный момент вырезал старый хук, и заменил его новым, который делает одну функцию — опционально полностью выключает клавишу Win в современных системах. Просто потому, что эту кнопку можно случайно нажать. Другие комбинации, приводящие к сворачиванию, думаю всё же не стоит трогать. Случайно Alt+Tab и т.д. не нажмёшь, а если человек нажимает — наверняка ему зачем-то это нужно. Что думаете?

    Для того, чтобы ловить нажатие PrintScreen в новых и старых ОС лучшим способом, похоже, будет не хук, а регистрация хоткея — в таком случае система автоматически перестаёт сама сохранять скриншот в буфер обмена, что тоже должно немного увеличить производительность создания скриншота игрой. Функция тоже будет отключаемой, и вы сможете вернуть кнопке Print Screen оригинальное значение, если нужно будет.

    Чтобы всё это сделать красиво переписал уже порядка 600 строк кода на асме. Только что довёл до состояния, когда проект собирается, и оно запустилось и написанное вроде даже не падает, что подозрительно. Всегда подозрительно, когда что-то долго-долго пишешь, запускаешь — а оно работает :) Нужно будет хорошенько протестировать это. Либо сегодня позднее, либо завтра предоставлю билд для тестирования.
    --- добавлено 13 ноя 2015, предыдущее сообщение размещено: 13 ноя 2015 ---
    @Goblinit, а если в Windows 98 во время игры нажать клавишу Win, потом пару раз кнопку вверх, потом Enter... Будет ли что-нибудь? Вдруг меню Пуск на самом деле открывается, просто игра поверх его рисует себя, и пуска не видно, но во время игры там будут делаться какие-то нежелательные вещи?
     
  5. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    Нет, клавиша в игре просто отключается. В винде работает нормально.

    Я вот думаю, что мне несколько непонятно зачем вообще всё это нужно. Скажем, пятикратный шЫфт или клавишу спячки ещё имеет смысл банить. Остальное - ??? И я даже предлагаю банить по умолчанию, а по желанию отключать.
     
  6. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    @Goblinit, Тут нашёл отладочный код, запускающий игру в окне. Он работает не очень хорошо, нужно дорабатывать, если добавлять нормальную поддержку оного в игру в будущем. Но любопытно — работает ли оконный режим на voodoo реальных (nglide оконный режим не поддерживает). Скачайте outbin.7z и скажите, запускается ли оно вообще на 3dfx Voodoo, и если запускается — в окне ли?
     
    Последнее редактирование: 14 ноя 2015
  7. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    Запускается. Но в полноэкранном режиме. На ALT+ENter не реагирует.
    --- добавлено 14 ноя 2015, предыдущее сообщение размещено: 14 ноя 2015 ---
    Более того, в полноэкранном режиме меню нормально отоюражается, а режим гонки - как будто только четверть окна видно.
     
  8. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    Ладно, отложу оконный режим на потом, тут всё равно ещё много чего для него нужно переделывать для адекватной работы.

    @Goblinit, @BrainRipper, Новый билд с новой обработкой кнопки Print Screen и новой блокировкой клавиши Win (только для Windows NT): http://veg.by/files/nfs3/outbin.7z
    Просьба проверить, лучше ли стало срабатывать нажатие на клавишу Print Screen на вашей машине? Должно реагировать примерно так же, как в оригинале реагировало на Alt+P. То есть должно обрабатывать и короткие нажатия независимо от FPS.
    --- добавлено 14 ноя 2015, предыдущее сообщение размещено: 14 ноя 2015 ---
    И да, проверьте, чтобы было строго: одно короткое нажатие — один скриншот. Если же держать кнопку долго — скриншоты должны делаться с периодичностью 1 секунда, если машина быстрая, если же медленная — тут как повезёт.
    --- добавлено 14 ноя 2015 ---
    Там переработан значительно код, который определяет, свёрнута ли игра и т.д. Блокировка клавиши Win и снятие скриншотов по Print Screen должно отключаться, когда игра свёрнута. На Windows 7 всё работает как нужно, хорошо бы разобраться работает ли новый код как положено в старых ОС.
     
  9. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    @VEG, prtscrn работает, но шот помещается в буфер обмена. Папка с шотами не создаётся
     
  10. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    Хм. Это значит, что не работает, потому что должно быть наоборот. В nfs3.ini опция Enable в секции [SCREENSHOTER] должна быть равна 1. Ну оно там по умолчанию так. Блин, какая-то ерунда совсем :(
     
  11. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    Всё верно, опция включена, ничего не трогал. Я даже папку пробовал создать - безрезультатно. Я что-то не пойму, ведь в прошлых тестовых билдах вроде заработало?...
     
  12. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    @Goblinit, плохо же работало, если FPS низкий — нужно было долго кнопку держать. Я значительно переделал обработку сообщений от клавиатуры, сделал другим способом, который у меня на виртуалке в Windows 98 показал, что работает отлично. Но вот в NFS3 почему-то не сработал. Полагаю, там какая-то незначительная проблема, и её скорее всего несложно исправить, знать бы где она там именно. Пробовал PCem, но он почти при любых вариантах настройки почему-то падает у меня на ранней стадии загрузки, иногда даже экран BIOS не успевает отрендериться.

    Возможно, игра по каким-то причинам считает, что она находится в неактивном состоянии. Я там переделал код, определяющий это, потому что тот вариант что использовался в игре не работал на современных ОС как положено. Возможно, в Windows 98 тут есть какие-то особенности. Надо будет добавить какой-нибудь отладочный код, чтобы узнать... Скоро сделаю.
     
  13. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    Я что-то не понял. Вы говорите, у вас есть виртуалка с Win98. На ней-то nfs3 проверить не получается что ли? А, ну да, там же DX... Рекомендую Virtual Box - там есть эмуляция DX, только не помню какой версии.
    А, или на VBox Win98 не встанет...?
     
  14. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    @Goblinit, добавил код, который если игра считает себя активной — уменьшает выводимый рисунок.
    Файл: http://veg.by/files/nfs3/outbinx.7z
    1. Запустите геймплей. Выводимое изображение должно уменьшиться. Если уменьшилось, значит всё ок.
    2. Сверните игру (с тем рендерером, с которым она сворачивается). Разверните её обратно. Если изображение уменьшится — значит всё с этим ок. Тогда нужно будет проверить, приходят ли вообще какие-нибудь события, связанные с хоткеями.
    --- добавлено 14 ноя 2015, предыдущее сообщение размещено: 14 ноя 2015 ---
    Надо будет попробовать.
     
  15. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    Ну вот теперь всё ок.
     
  16. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.258
    Игру можно запустить в software renderer.
     
  17. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    То есть всегда уменьшалось изображение?
    Тогда вот: http://veg.by/files/nfs3/outbinx.7z — здесь тоже во время геймплея изображение должно уменьшаться. Только здесь проверяется, удалось ли игре установить хоткей PrintScreen. Сообщите, уменьшается ли изображение. Если уменьшается — будет ещё один тестик, последний — проверка, приходит ли хоткей.
     
  18. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    @VEG, что в вашем понимании означает "уменьшается"? Я имел в виду, что теперь по-прежнему фуллскрин, но режим гонки выглядит нормально.
     
  19. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    @Goblinit, во время геймплея если проверка пройдена картинка должна быть уменьшена, вот так:
    aveg.by_z_2015_11_14_21_56_25_ff8e4fb7.jpg
    Я так понимаю, первый outbinx.7z что я делал не прошёл проверку, и там гейплей отображался как обычно? И в текущем outbinx.7z тоже отображается всё как обычно, а не в уменьшенном виде?
    --- добавлено 14 ноя 2015, предыдущее сообщение размещено: 14 ноя 2015 ---
    Дело в том, что из машинного кода проще как-то изменить вывод картинки по какому-то условию, чем организовать вывод отладочных сообщений. Поэтому в качестве индикатора «проверка пройдена» я использую уменьшение выводимой картинки.
     
  20. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    @VEG, сейчас я вижу обыкновенное изображение в режиме гонки:

    nfs3.jpg

    А в прошлом билде я видел как бы только четверть от этой картинки, но растянутой на весь мой экран.
     
  21. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    Попробую :)

    Прошлый билд — это когда я говорил про оконный режим? :) Там другое было. Я сейчас проверяю возможные причины почему не работает PrintScreen.

    Когда вы говорили:
    Вы тогда скачивали тогдашнюю версию outbinx.7z, верно? Чтобы меньше путаться, я залил этот архив в отдельный файл: http://veg.by/files/nfs3/outbinx1.7z — с этой версией картинка выводится как обычно или уменьшается? А если во время геймплея свернуть и обратно развернуть игру (с рендерером что это позволяет), картинка всё равно не уменьшается?
    --- добавлено 14 ноя 2015, предыдущее сообщение размещено: 14 ноя 2015 ---
    @Goblinit, ой, извиняюсь. Я не учёл, что уменьшение не работает, когда выбрана настройка Wide Screen в Advanced Graphics (в таком случае игра задействует другой вариант кода, вычисляющего выводимую область). Просьба отключить эту настройку. Вот две последние тестовые версии игры, где картинка должна уменьшаться (если всё проверяемое работает как надо):
    http://veg.by/files/nfs3/outbinx1.7z
    http://veg.by/files/nfs3/outbinx2.7z
     
  22. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    Всё верно поняли.

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