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
    @BrainRipper, насчёт звука ещё одна идея появилась. Может с чтением ресурсов что-то не так. Попробуйте на последнем outbin.7z (я его не обновлял) зайти в credits — там есть первый слайд с инфой о версии. Он отображается, или первый экран полностью пустой?
     
  4. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.258
    @VEG, в отличии от Win98, в WinXP с сегодняшними билдами папка создаётся, скриншоты в ней появляются.
    --- добавлено 5 ноя 2015, предыдущее сообщение размещено: 5 ноя 2015 ---
    В игре, запущенной в Win98, он отображается.
     
  5. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    @BrainRipper, проверьте срабатывает ли кнопка тут: http://veg.by/files/nfs3/outbin.7z
    Если не создаётся директория и там не появляются скриншоты — попробуйте удалить, например, fedata/stats, чтобы проверить, создаст ли игра автоматически этот подкаталог. Кстати, а вы случаем не включали KeyboardHook в ini-файле? Попробуйте сделать скриншот с включённым KeyboardHook, и с выключенным тоже.
     
  6. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    @VEG, засунул аутбин в PCEm с win98SE и с удовольствием увидел при запуске игры заставку 3Dfx. Потыкал тучу раз PrtScr и Alt+P - получил следующее: музыка играет, звука скриншота нет, прерывание по нажатию PrtScr есть, по альтпе - нет. Скриншотов тоже нет.
     
  7. Goblinit

    Goblinit

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

    З.Ы. в скайпе не ждите. Перестал заходить туда давно и возвращаться не планировал.
     
  8. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    @Bato-San, @Goblinit, если папка screenshots не появляется сама, попробуйте удалить папочку fedata/stats и проверьте, создаст ли эту папочку игра при старте.
    --- добавлено 5 ноя 2015, предыдущее сообщение размещено: 5 ноя 2015 ---
    Пока остаётся загадкой, почему не создаётся папочка для скриншотов в папке с игрой, исследовал код клавиатурного хука, который в игре предназначался для предотвращения срабатывания клавиш Win, Alt+Tab и т.д. В общем этот хук устанавливается ошибочным образом, и странно, что оно работало под 98 виндой. А может и не работало :) Проверьте, с опцией KeyboardHook=1 будет ли игра сворачиваться по клавише Win, комбинации Alt+Tab и т.д.
    --- добавлено 5 ноя 2015 ---
    PCem — это вот это? http://pcem-emulator.co.uk/downloads.html
     
  9. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    оно самое.
    работало... только как то диковинно. В смысле переключение то происходит, но виден только экран игры. Ctrl+alt+enter вырубают звук например.
     
  10. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    Шоты DX5 и DX6 без тумана вложил. Одинаковые они, мне кажется.

    Проверял на последнем билде. Папка создаётся обратно, статсы туда записываются. А вот папки скриншотс нет. На prtscrn игра вообще теперь не реагирует никак, всё равно со включенной опцией KeyboardHook или нет.
     

    Вложения:

  11. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    @Goblinit, если нажать Print Screen и подержать — тоже не срабатывает? :)
    Касательно скриншотов. Имелась в виду конечно же ночь без тумана. Такие как вы делали скриншоты ранее, только для DX6 без поддержки тумана, чтобы убедиться, что ночью в DX6 картинка будет такой же, как и в DX5, если в DX6 выключить поддержку тумана.
     
  12. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    @Goblinit, альттабы, вин и прочее проверь, а то может эмулятор свои коррективы внёс.
     
  13. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    Ой вру. Значит, KeyboardHook работает как надо - блокирует Win-комбинации. ЭТо во-первых, во-вторых, если долго держать Prtscrn, папка создастся и шот сделается.

    Ты с ума сошёл, жизнь свою ещё не эмулируешь?
     
  14. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    @Goblinit, KeyboardHook на самом деле там много комбинаций блокирует. Я вот не знал, что есть комбинация Alt+Esc, которая тоже окна переключает. Из кода узнал :)

    То есть скриншотилка работает, просто PrintScreen не схватывается и нужно его долго держать? Тогда я знаю в чём причина, это исправлю. При текущей реализации такое может быть при низком FPS. Print Screen вообще привередливая кнопка. У неё сканкод состоит из целой последовательности, и не все способы отлова нажатия кнопок определяют эту кнопку как надо из-за этого. Поэтому я сделал через GetAsyncKeyState(VK_SNAPSHOT) в цикле рендеринга, то есть нужно, чтобы кнопка была нажата между фреймами. Но я это переделаю. Починю KeyboardHook, и в новых ОС он будет отвечать ещё и за скриншоты своевременные, а в старых будет предотвращать сворачивание (или не нужно это?).
    Вообще и в новых ОС можно предотвращать сворачивание, но там используется другой хук, который не поддерживает 98-ая винда. А писать два варианта кода для новых и старых ОС не хочется.

    Осталось ещё со звуком разобраться. Тут надо будет поэкспериментировать (или хотя бы узнать, какой код ошибки возвращает PlaySound).
     
    Goblinit нравится это.
  15. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    https://msdn.microsoft.com/en-us/library/windows/desktop/dd743680(v=vs.85).aspx
    лучше сворачивание нормально починить.
    интернетгерой ? :hmmm:нет, просто ты не понял, какую фигню ляпнул.:facepalm:
     
    Последнее редактирование: 5 ноя 2015
  16. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    DX5

    nfs3_dx5_projected.jpg nfs3_dx5_vertex.jpg

    DX6 без тумана

    nfs3_dx6_projected.jpg nfs3_dx6_vertex.jpg

    Да, всё верно. Держать, пока следующий кадр не сменит текущий. Бывает, секунд 10 держу))
    --- добавлено 5 ноя 2015, предыдущее сообщение размещено: 5 ноя 2015 ---
    На мой взгляд, это того просто не стоит.
     
  17. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    Как мне здесь ссылка на документацию поможет? Вы думаете, я по памяти писал, не заглядывая в доки? :) Кстати, поскольку приходится задумываться и о поддержке Windows 98, приходится искать и старые варианты документации, где была инфа об особенностях Windows 98.

    Лучше то лучше, но в принципе меня устраивает и то, что даёт на современных ОС nGlide, а тратить неделю (а может и больше, со сроками никогда не угадаешь) жизни ради поддержки сворачивания в старых ОС через dx6a.dll или voodoo2a.dll пока что кажется сумасшествием :) Главное, чтобы в старых ОС работало не хуже, чем было. А приоритет всё же у современных систем.

    Отлично. Значит всё же так не отличается от DX5. Странно, что у вас DX5 стабильно без проблем восстанавливается после сворачивания.

    Какой у вас FPS? Что-то совсем долго.

    Ну какая-то индикация, что скриншот сделан, не помешала бы.
    --- добавлено 5 ноя 2015, предыдущее сообщение размещено: 5 ноя 2015 ---
    Вообще самым клёвым решением здесь было бы написать с нуля современный и совместимый с NFS3/4/5 рендерер с использованием DirectX 9+, который сразу бы поддерживал сворачивание. Пока что у нас есть вариант voodoo2a.dll → glide3x.dll (nGlide) → d3d9.dll (DirectX 9), что, в принципе, тоже неплохо :) Но у Glide API слишком много разных ограничений, характерных для конца 90-х, им банально нельзя вывести за раз картинку больше 256×256 пикселей — приходится резать на фрагменты, из-за чего иногда видно стыки из-за того, что переходы на стыках не сглаживаются. Если захочется посильнее освежить игру — то придётся пилить всё же свой рендерер :)
     
    Последнее редактирование: 5 ноя 2015
    Goblinit нравится это.
  18. Goblinit

    Goblinit

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

    Раз мы выяснили, что шоты всё-таки делаются, предложение сделать кнопку шота настраиваемой, а формат шота png. Кстати почему нельзя просто использовать звук методом игрового движка, просто в самом звуке выкрутить громкость?

    как это знакомо. Я когда писал свои обзоры видеокарт, пришлось перелопатить какие-то мегатонны интернет-архивов. И везде то одно противоречило другому, то находилось что-то действительно новое. Уважаю)

    Вот и я говорю. То, с чего начали, в общем-то уже сделано и работает, даже лучше, чем рассчитывали. Может, лучше действительно уделить время чему-то востребованному? Новый рендер, это, конечно, отличная идея. но, Может быть, всё-таки OpenGL прикрутить будет проще?
     
  19. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    Но если вы 10 секунд ждёте смены кадра — значит у вас 0.1FPS. Как же вы тогда играете? :) Или вы имеете в виду, что когда игра подвисла при создании скриншота — с этого момента нужно держать эту кнопку ещё 10 секунд, чтобы скриншот в итоге сохранился? Это странно. Есть идея — что винда сразу сама делает копию скриншота в буфер обмена, что изначально подвешивает игру. А потом сама игра смотрит нажата ли кнопка, и если нажата — тоже начинает делать скриншот. Надо будет обдумать этот момент.

    У меня есть идея все кнопки в игре сделать настраиваемыми (там кнопок 15 захардкожено в игре), с удобным форматом вида ScreenshotKey=Alt+P. Одна из пары сотен идей. А ещё лучше их сделать настраиваемыми из игры, включая возможность установки кнопок на геймпаде. Но реализовать все подобные идеи вряд ли выйдет :) Поэтому для начала, пока есть энтузиазм, нужно ориентироваться на более простые реализации. А усовершенствовать это всегда можно потом...

    Для начала нужно переделать формирование TGA в BMP (заодно я планирую вынести это в отдельный поток, чтобы игра фризилась как можно меньше). А потом BMP в памяти можно будет скармливать GDI+, если он есть в системе, и он уже сгенерирует PNG или JPG. Короче не всё сразу :)
    --- добавлено 5 ноя 2015, предыдущее сообщение размещено: 5 ноя 2015 ---
    Думаю, если реверсить полностью какой-то рендерер, чтобы написать полный аналог с использованием современных API, разницы особой нет, какое именно API использовать.
    --- добавлено 5 ноя 2015 ---
    Я сразу так и пытался делать, не глядя на то, что в таком случае приходилось разбираться, как с ним работать, и что там проигрывание звука не так просто, как указать файл и он играет. И даже когда я разобрался более-менее в том, как загрузить игровой BNK файл и воспроизвести из него один из звуков, возникла трудность, что когда игра в паузе (при нажатии на Esc) — она ставит на паузу все звуки, и если сделать скриншот в это время, то его звук воспроизводился только после выхода из меню. А чтобы понять, позволяет ли тот звуковой движок воспроизвести звук без паузы, оставляя остальное на паузе — пришлось бы его целиком и полностью расковырять и изучить. Или найти похожий момент в игре и посмотреть как оно сделано, но я таких моментов в игре не припомню (чтобы она издавала звуки во время того, как игра на паузе). Во время паузы игра не издаёт никаких звуков. Вполне возможно, что в таком режиме звуковой движок тупо не позволяет воспроизводить какие-то звуки принудительно, и для этого придётся и сам звуковой движок дописывать... Это работа на несколько дней ради одного звука :) Поэтому я и использовал в итоге стандартный системный PlaySound.
     
    Последнее редактирование: 5 ноя 2015
    Goblinit нравится это.
  20. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    ну тогда надо было спрашивать про sndPlaySoundA. Это раз. Два - начиная с версии 4.0, базовой для всех 9х и NT, никто не изменял winmm.lib аж до win7.
     
  21. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    PlaySound в 98 винде тоже есть. Иначе игра просто не запустилась бы — я эту функцию добавил прямиком в импорты nfs3.exe.
     
    Последнее редактирование: 5 ноя 2015
  22. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    @VEG, пойми правильно, (snd)PlaySound(A/W) - это обёртка.
     
    Последнее редактирование: 6 ноя 2015
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление