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

    Verok

    Регистрация:
    11 мар 2016
    Сообщения:
    495
    Пока тестил конфигуратор в WinME под VMware, заметил что там работают скринсейверы. А половина из них писана же для OpenGL (например 3D текст).

    То-есть OpenGL работает в WinME (ну и других 9x) под VMware в софтварном режиме, так как VMware не виртуализирует и не эмулирует 3D графику в 9x. Я слышал ранее что OpenGL в 9x работает в софт режиме, но как-то было пофиг и не проверял, да и сейчас незнаю толком может ли OpenGL в 9x работать и в хардварном режиме тоже или только в софт.

    Эти скринсейверы под VMware работаю конечно с тормозами, но все же работают.
    Потому решил немного вернутся к своему OpenGL v1.4 рендереру, и перебилдить его под VC++ 6.0 компилятором.

    Поначалу конечно возникали проблеми, то некоторых ф-й нет в стоковой opengl32.dll, то еще что-то.

    Но потом о чудо, игра запустилась :yahoo:, правда без текстур. Но немного пошаманив, и сделав в коде переконвертацию форматов текстур , которые не поддерживались, в обычный RGB/RGBA - игра запустилась на ура. :drink:

    Тормоза конечно жуткие в окне 640x480, но зато все отображается отлично и можно (если нужно) подебагать игру на Win 9x под VMware.
    Странно что также есть туман, а его по идее не должно быть в OpenGL 1.1, так как я использую для тумана ф-ю, которая появилась в стандарте OpenGL 1.4. Наверное эта функция уже была в ARB в 9x и мой код подтягивает ее оттуда.

    screenshot.jpg screenshot2.jpg

    Также вчера по делам залез через RDP на свой второй комп (Win7 x86), и заодно решил проверить работают ли скринсейверы от 7-ки, а точнее Висты (Ribbon, Aurora, Mistify и Bubbles) по RDP. И оказалось что все работает, а эти скринсейверы также писаны для OpenGL, и если их отрефакторить то можно увидить импорт всех ф-и от OpenGL 1.1.

    Я сегодня уже не буду это проверять, но наверное игра также будет работать и по RDP :crazy: :crazy: :crazy:
     
    Последнее редактирование: 21 окт 2017
  4. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.328
    Может, конечно, иначе как бы игры в те годы шли с нормальным фпс.
     
  5. Verok

    Verok

    Регистрация:
    11 мар 2016
    Сообщения:
    495
    Проверить все это на PC, а не на виртуальной машине не могу, так как не могу никак свою зарядку найти для старого ноута. VMware вообще 9x трудно рендерит, даже за окнами видны шлейфы, но можно проверить и под VirtualPC 2007, но для него нужен макс. Windows 7, помню NFS2SE в софт режиме более менее работал.
    Кажись, в отличии VMware и VitualBox - VirtualPC быстрее всего рендерит в 9x. Правда в VirtualPC стоит S3 Trio c 1Мб для 2д, и незнаю запустится ли вообще.

    Для тех, кому будет интересно - здесь прикреплю версию рендерера с которым тестил под VMware и Windows ME. Но это тестовая версия, возможны разные проблеми, например исчезновение текстур (никак не могу найти где и почему они исчезют)
    --- добавлено 21 окт 2017, предыдущее сообщение размещено: 21 окт 2017 ---
    Попробовал по RDP - не запустилась, с ошибкой что не поддерживает 640x480
    Проверил еще раз под VMware - оказалось что работает только под 640x480, при иных - вылетает
     

    Вложения:

    • opengl1.zip
      Размер файла:
      16,2 КБ
      Просмотров:
      49
  6. Sirius-R

    Sirius-R

    Регистрация:
    4 янв 2016
    Сообщения:
    27
    Уж извини меня, но я тоже не понимаю, при чём тут экзешник от Jagged Alliance 2.
    Если ты просто забыл поменять название экзешника - то хотя бы так и скажи для начала.
    (да, я некропостер)
     
  7. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.328
    @Sirius-R, э-э, но ссылка выше остаётся в силе. По ней примерное содержание reg-файла. Заменять необходимо и путь к файлу, и имя на nfs3.exe.
     
  8. kreotodr

    kreotodr

    Регистрация:
    9 сен 2017
    Сообщения:
    17
    в годы СССР был такой анекдот.

    Рыжков приходит к Горбачеву:
    Михаил Сергеевич, куры в стране дохнут!
    - Надо нарисовать перед каждой курицей черный квадрат.
    Через неделю: - Михаил Сергеевич, опять дохнут!
    - Впишите в черный квадрат желтый треугольник.
    Через неделю опять: - Михаил Сергеевич, все равно дохнут!
    - Тогда замените желтый на зеленый.
    Через неделю снова приходит Рыжков: - Михаил Сергеевич, все сдохли!
    - Жаль... У меня еще столько еще было новых идей!

    это из этой оперы...?))))
     
  9. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.328
  10. kreotodr

    kreotodr

    Регистрация:
    9 сен 2017
    Сообщения:
    17
  11. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.328
    @kreotodr, по моей ссылке есть вариант №2 (библиотеки Wine).
     
    Последнее редактирование: 26 окт 2017
  12. kreotodr

    kreotodr

    Регистрация:
    9 сен 2017
    Сообщения:
    17
    спасибо с Wine игра запустилась...
     
  13. Verok

    Verok

    Регистрация:
    11 мар 2016
    Сообщения:
    495
    Допилил свой OpenGL 1 рендерер. В основном упор делал на то чтобы работал не только для 3 и 4 части но и для 5 нфс. Попутно увидел некоторые баги и много улучшений. Так что это и напрямую касается и 3, 4 частей.

    Решил проблему с Z-Bias для НФС 5, где на 3dfx значки на машине и фары не затеняются под кронами деревьев.
    Оказалось что игра проверяет имя рендерера на "DX7" и тогда рисует примитивы через SetState а не через обычные DrawTri, DrawTriStrip и тд.
    В любом случае этих стейтов в voodoo и других рендерерах нет, а только через эти стейты игра сама верно расчитывает положение вершин.
    Странно вообще что разработчики решили использовать новые стейты, так как даные через них идут почти те же что и через обычные фун-и. Например в своем рендерере я просто перенаправил рисование из SetState к DrawTri, DrawTriStrip и тд.
    Я сначала подумал что на реальных Voodoo - ZBias возможно работает хорошо, так как с nGlide и другими - фары не затеняются. Но просмотрев на YouTube игру с реальными Voodoo - ситуация та же.

    Короче ниже в спойлере приведу пример
    VOODOO2
    VOODOO2.jpg

    DX7
    DX7.jpg

    Также наконец полностью разобрался с ф-ми lock/unlock window и read/write rectangle.
    @VEG, кажись уже писал здесь о них, но я также напишу свои мысли.

    Все началось с того что только в NFS5 у меня возникли проблемы с видео а оно рендерится через эти ф-и. Видео шло в черезстрочном режиме, хотя все остальное работало уже на ура. Было понятно что только в NFS5 видео должно ити в interlace режиме, и так как не хватало второй половины полос было понятно что они должны считыватся с предыдущего кадра, тоесть с фреймбуфера, а я сделал ошибку и у меня постоянно считывало с бэкбуфера. Но, после решения проблемы с видео возникла новая, некоторые детали в геймплее начали мерцать, и это меня насторожило так как значит что и в геймплее в каждом калре фрембуфер считывается и перезаписывается. Проблему я здесь также решил и не буду описывать как это сделал, но напишу о самой проблеме.

    Функции рендерера lock/unlock window в Glide и DirectX локают фреймбуфер и получают указатель на даные фреймбуфа
    Затем read/write rectangle могут считать/перезаписать определенную область даных фреймбуфа.
    Здесь вроде понятно так как это напоминает времена 2d и DirectDraw, и разработчики еще были привязаны к тем временам.
    С OpenGL ситуация похуже, так как OpenGL создавался как кросплатформенное решение и с возможностью работы по сети, потому нельзя получить прямой указатель на даные фреймбуфа, а можно только считать и перезаписать. Все это оч медленно, так как минимум каждый кадр игра гоняет даные через PCI шину туда и обратно, а это тонкое место. Ели с вступительными роликами пол беды, то как же геймплей, это сильно притормаживает игру (ощутимо даже на моем Intel HD4000).

    Для DirectX ситуация не намного лучше, так как копируется и перезаписывается не весь кадр, а только какая то его область. Но это по идеи/теории самих Thrash API, а на практике игра всеравно гоняет каждый полный кадр туда сюда - с одной памяти в другую, и это все во время геймплея.

    Я решил отрубить эти ф-и и посмотреть что в геймплее исчезнет. Поначалу никакой разницы (только вступительных видео небыло), а потом увидел что в NFS4/5 перестали работать Lens Flare. Оказывается игра по окончании рисования каждого кадра считывает фреймбуфер, для определения по цвету видно ли солнце или нет. Что-то напомнило когда я в детстве уток стрелял на Денди :crazy:.

    Нужно еще посмотреть может еще что то делается кроме Lens Flare, но в любом случае разработчикам нужно было лучше свой Z-буфер сделать и проверять в нем, а не по цветам. Особенно учитывая тот факт что всю трансформацию вершин итак игра делает, а не драйвер, и пол дела уже сделано. Но возможно в те времена это не было критичным. Но тогда вопрос а как же туман, думаю этот факт утчен и туман во время рендеринга солнца отключается.

    Короче такая вот фигня, теперь стало ясно почему у меня в NFS4 во время разработки рендерера время от времени исчезало Lens Flare, оказывается я конвертировал не в тот формат текстуры, на глаз не видно, но для логики Lens Flare в NFS4 - критично.
    Но NFS5 не настолько требователен как его старший брат, отсюда и известный баг c Lens Flare на Нормандии и не только. Оказывается что когда вместо реального фреймбуфера игре передать черны екран - Lens Flare работает по всюду, а должно быть наоборот. Это значить что игра вылазит за пределы значений и отсюда и баг с вылетом.

    ==================

    Прикреплю здесь версии своего рендерера для NFS3/4. Для NFS5 используйте dll с любого архива, так как NFS5 не понимает thrash.ini переименируйте в dx7z или voodoo2 или в реестре пропишите opengl1

    Кто может, пожалуйста потестируйте и отпишите какие у кого проблемы. OpenGL капризная штука и у каждого работает по разному.
    Я же тестировал пока только на своем ПК и на VMware с WinMe. Тестировал еще и на старом ноуте с WinMe, но изза проблем с ACPI убил биос и мой старый ноут поа лежит трупиком, пока не найду гдето флопик для записи кризис дискеты.

    Сурсы пока обновлять не буду так как еще не все сделано. Есть еще стейты где, как @VEG писал, сохраняются текстуры если свернуть игру. Да и хочу еще и оновить версию для OpenGL3, а обновлять нужно многое, так как код для OpenGL1 очень изменился
    --- добавлено 4 ноя 2017, предыдущее сообщение размещено: 4 ноя 2017 ---
    Кстати конфигураторы также оновил для этих версий, так как там добавил еще три опции. (ссылки выше на GooleDrive или на GitHub в папке "builds")

    Главная опция это глубина цвета. Я ее добавил, так как формат пикселя OpenGL/GDI для окна можно задать только один раз, если нужно другой - тогда нужно создавать другое окно, но проблема в том что рендерер не создает и не управляет окнами, это делает игра, и если удалить окно - игра об этом ничего знать не будет. Потому лучше сразу задать 16 или 32 бита (по умолчанию 32).
    --- добавлено 4 ноя 2017 ---
    Пускай @VEG меня простит, но еще хочу озвучить свои мысли о NFS2 в этой теме.
    Быстренько изучил код NFS2SE чтобы проверить насколько трудно подружить его с внешними рендерами (thrash api).

    Как @VEG уже писал NFS2SE для Glide использует первую версию API v100. Но примечательно то что как видно из кода все функции API вызываются как stdcall, а это значит что скорей всего API были импортированы в игру со статической библиотеки.
    Сами обьявление функций API (входные параметры и их количество) идентичны последующим API и даже код в самих API тот же, только скромнее. Все это указывает на то что заменить внутрение API на внешние не так и сложно, нужно только время и желание.

    Один только ньюанс это то что в игре почемуто интегрированы 2 пары API одна напрямую для Glide, вторая для SDL и временами видно и для PowerVR. Незнаю что такое sdl и как это косается glide, но в коде видно что это для текстур.
     

    Вложения:

    Последнее редактирование: 4 ноя 2017
    VEG, Neitan, CR2SH и ещё 1-му нравится это.
  14. Verok

    Verok

    Регистрация:
    11 мар 2016
    Сообщения:
    495
    Обновил OpenGL 3 рендерер и сурсы. Все это дело на GitHub'e
    --- добавлено 8 ноя 2017, предыдущее сообщение размещено: 8 ноя 2017 ---
    Сами рендереры (библиотеки/бинарники) там же, в папке builds
     
  15. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.328
    Если не установлен DirectX 9 (9.0c), то библиотеки nGlide в папке с игрой системой игнорируются, и она использует общие из Windows\System.
    nGlide.png
     
  16. Knd

    Knd

    Регистрация:
    18 май 2010
    Сообщения:
    659
    Каким боком в этой теме скрин из NFS 2 ?
     
  17. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.328
    @Knd, для примера.
     
  18. Knd

    Knd

    Регистрация:
    18 май 2010
    Сообщения:
    659
    Хорош пример: из одной игры - про другую. Я уж молчу про то, что это, по сути, некропостинг. Я уже и не помню толком, о чем там речь была. Так что, если было желание внести ясность в тот вопрос, то надо было хоть подробно расписать и процитировать, а не выдергивать цитату хрен знает какой давности.
     
  19. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.328
    @Knd, речь о nGlide.
     
  20. Knd

    Knd

    Регистрация:
    18 май 2010
    Сообщения:
    659
    Всё равно смысл не ясен.
     
  21. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.328
    Нажмите на стрелку в цитируемом сообщении.
    @Knd, поставьте DirectX 9.0c и при выборе "ThrashDriver=nglide" игра попытается стартануть через nGlide на GeForce3, а не на железной Voodoo2 как сейчас у вас.
     
    Последнее редактирование: 11 ноя 2017
  22. Knd

    Knd

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