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

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    На вуду5 проверю на днях. Надо сначала миллениум воткнуть обратно, знаете ли...
     
  4. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    Буду ждать с нетерпением :) Там возникла проблема со встроенной скриншотилкой в dgVoodoo и nGlide, причём проблемы разные. На реальном железе мы узнаем, кто виноват — врапперы или какой-то мой код.
     
  5. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    Ещё раз обновил outbin.7z. Теперь thrash-драйвер voodoo, предназначенный для использования с реальными 3dfx Voodoo всех версий, всегда будет в комплекте. Очень жду результаты тестирования. Список изменений на текущий момент в новой версии ниже.

    Меню:
    - Выпадающий список машин отображает класс машины не только для первого игрока, но и для второго игрока.
    - Исправлены некорректные отступы в выпадающих списках.
    - Настройка NoMovie теперь также выключает демонстрационные видео во время простоя меню.
    - Демо-ролики не запускаются в то время, когда игра свёрнута, находясь в режиме меню (актуально для nGlide).
    - Если отсутствуют файлы демо-роликов — игра больше не пытается их воспроизвести.

    Thrash-драйвера:
    - Рефакторинг thrash-драйвера Voodoo. Добавлена поддержка 32-битного цвета для систем с 3dfx Voodoo 5.
    - Добавлен вывод 16-битных разрешений и их сортировка в DX6.
    - Рефакторинг кода инициализации thrash-драйвера.
    - Убран код, устанавливающий захардкоженные переменные окружения, актуальные только для видеокарт 3dfx Voodoo.
    - Вместо этого игра устанавливает переменные окружения из секции [ENV] файла thrash.ini текущего драйвера.
    - nGlide теперь использует стандартную voodoo2a.dll, а его настройки устанавливаются через секцию [ENV].
    - Появился отдельный thrash-драйвер Voodoo для запуска игры на настоящих видеокартах 3dfx Voodoo.
    - Драйвер DX5 упразднён, поскольку его полностью заменяет драйвер DX6. Чтобы отключить поддержку тумана в DX6, как было в DX5, просто установите FogSupport=0 в файле drivers/dx6/thrash.ini.
    - Настройка VideoDriver переименована в ThrashDriver (оригинальное название). Имена файлов драйверов также приведены к оригинальному виду.

    Другое:
    - Автоматическое создание недостающих подкаталогов, необходимых для записи игровых данных.
    - Рабочий каталог автоматически устанавливается на тот, где находится exe-файл.
     
    Goblinit и Neitan нравится это.
  6. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    Прогнал на вуду5. Уххх!

    Итак, говорим о реальном драйвере voodoo (glide):

    А не должно было? :)

    nfs3_01_rezes.jpg

    Не знаю. Вроде да) Кстати в списке нет широкоформатных разрешений, возможно потому, что те берутся из списка доступных в винде, а у меня там 1920x1080 нет (нет драйвера монитора). Хотя нет, у меня в винде без драйвера монитора всё равно выбор больше :)

    На 1600х1200x32 немного подтормаживает, но это нормально, я думаю.

    Не фанат игры. Подскажите, что имеется в виду и на каких трассах проверить. Видел в настройках некий Vertex/Projected

    В 16-битах вроде да, в 32 точно нет. Ниже архив шотов.

    Для всех.

    3dfx voodoo5 5500 64Mb AGP; WinME

    настройки гаммы glide со значениями по умолчанию, так забавы ради.

    gamma.jpg

    Шоты делал и через ALT+P и через FX_GLIDE_SCREENSHOT_KEY=123. Второй всегда делает правильно.
    Кстати а для чего выключили FX_GLIDE_SPLASH ? Включил обратно - работает)
    Есть предложение сделать сохранение шотов по Alt+P в папку с игрой.

    Архив шотов для сравнения и демонстрации удалил. (Сравнение 16 и 32-битного глайда выложил где-то на следующих страницах) Разница в цвете между 16 и 32bpp незначительная, но она всё же есть! Вы, кажется, это сделали!!

    Ладно, пойду свёклу тереть...
     
    Последнее редактирование: 8 ноя 2015
    VEG нравится это.
  7. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.282
    Проверять можно на любой трассе, главное - ночью. На некоторых системах возникает z-fighting в виде мельтешащего чёрного снега, диагональных полос и пр..
    http://www.old-games.ru/forum/threa...ch-hd-widescreen-portable.66288/#post-1197756
    http://www.zeus-software.com/forum/viewtopic.php?f=10&t=515&start=20#p2420
    http://www.old-games.ru/forum/threa...widescreen-portable.66288/page-5#post-1217742

    Проще всего его заметить, поставив игру на паузу и смотреть на свет от фар пока камера вращается вокруг автомобиля.
     
    Goblinit нравится это.
  8. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    В Glide 3X фиксированный набор разрешений:
    Код:
    #define GR_RESOLUTION_320x200   0x0
    #define GR_RESOLUTION_320x240   0x1
    #define GR_RESOLUTION_400x256   0x2
    #define GR_RESOLUTION_512x384   0x3
    #define GR_RESOLUTION_640x200   0x4
    #define GR_RESOLUTION_640x350   0x5
    #define GR_RESOLUTION_640x400   0x6
    #define GR_RESOLUTION_640x480   0x7
    #define GR_RESOLUTION_800x600   0x8
    #define GR_RESOLUTION_960x720   0x9
    #define GR_RESOLUTION_856x480   0xa
    #define GR_RESOLUTION_512x256   0xb
    #define GR_RESOLUTION_1024x768  0xC
    #define GR_RESOLUTION_1280x1024 0xD
    #define GR_RESOLUTION_1600x1200 0xE
    #define GR_RESOLUTION_400x300   0xF
    #define GR_RESOLUTION_1152x864  0x10
    #define GR_RESOLUTION_1280x960  0x11
    #define GR_RESOLUTION_1600x1024 0x12
    #define GR_RESOLUTION_1792x1344 0x13
    #define GR_RESOLUTION_1856x1392 0x14
    #define GR_RESOLUTION_1920x1440 0x15
    #define GR_RESOLUTION_2048x1536 0x16
    #define GR_RESOLUTION_2048x2048 0x17
    #define GR_RESOLUTION_NONE      0xff
    Те что с индексом выше 0xF я проигнорировал — думал, и эти разрешения вряд ли поддерживаются. А оказалось, что очень даже поддерживаются :) В следующем обновлении их тоже добавлю. То что меньше 640×480 пропускаются. Другие разрешения, включая 1920×1080, скорее всего невозможно задействовать. Чтобы такие разрешения работали с nGlide и dgVoodoo, мы с авторами dgVoodoo и nGlide делали специальное расширение Glide API, и в voodoo2a.dll я дописал поддержку этого расширения.
    Верно. Попробуйте запустить ночную гонку как с Vertex, так и с Projected, на 32 битах. Посмотрите чтобы там не было никаких непонятных графических артефактов (например, чёрных точек).
    Посмотрел скриншоты в архиве. Так и не понял, что не так с ними. Не могли бы вы пояснить, что именно с 32-битными скриншотами не так?
    Планируется складывать скриншоты в формате BMP/PNG/JPG (на выбор) в папочку screenshots по нажатию на кнопку Print Screen. Пока что ещё не делал, но уже представляю как это сделать :)
     
    Последнее редактирование: 30 окт 2015
    Goblinit нравится это.
  9. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    Ну как же. Налицо ведь искажения: в папке altp_32bpp лежат скриншоты, сделанные через ALT+P. Машина вся чёрная, небо резко потемнело, у пальм чёрный налёт на листве... если что - ехал днём)

    Вы знаете, вы всё время говорите о nglide, но я так и не понял, какое отношение он имеет к реальному glide. Они как-то связаны?
     
  10. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    Ну nfs3_03.tga из папочки altp_32bpp выглядит примерно так же, как и glide0000_32bit.tga из папочки bpp_comparison. nfs3_04.tga из папочки altp_32bpp действительно темноват, но может просто кадр неудачный взяли :) Ещё вариант — у вас что-то не так с отображением созданных игрой 32-битных TGA файлов :)

    Я уменьшил картинки и загрузил сюда в JPG для грубого сравнения. У вас они выглядят так же?
    aveg.by_z_2015_10_30_00_05_24_109a88d2.jpg aveg.by_z_2015_10_30_00_05_02_501246b3.jpg

    В любом случае, это именно то, что я и ожидал увидеть. Картинка отобразилась — значит чтение данных из буфера реализовано правильно. Осталось только доработать эту функцию игры, а то она здесь совсем плохо сделана. На быстром компьютере за одно нажатие Alt+P успевает скриншотов 5-10 сделаться :) И да, при 16 битах оно при сохранении делает конвертацию из RGB565 в RGB555, так как TGA RGB565 не поддерживает. Так что здесь даже теряется немного качество. Хочу заменить это дело на BMP, который не так удобен как TGA с точки зрения кода, но зато умеет RGB565, и при помощи GDI+ из него можно прямо в памяти получить JPG или PNG. В общем, есть над чем поработать, пока энтузиазм не закончился.

    nGlide и dgVoodoo это реализации Glide API, которые заворачивают все вызовы в DirectX 9 (в случае с nGlide) и в DirectX 11 (в случае с dgVoodoo). То есть они позволяют Glide API работать на любом компьютере, где работает современный DirectX. Оригинальный Glide API не поддерживает задание произвольных разрешений — выбрать можно только из списка. Вместе с разработкой этого патча я обратился к авторам nGlide и dgVoodoo с предложением расширить их поддержку Glide API, чтобы стало возможным использование произвольных разрешений. Так что на современной системе thrash-драйвер voodoo2a.dll в паре с nGlide или dgVoodoo может использовать любые доступные системе разрешения. Возможно, если поковырять исходники оригинального Glide (они присутствуют в сети), можно сделать поддержку этого расширения и для оригинальной 3dfx Voodoo, если там нет жёстких аппаратных ограничений на разрешения. Это уже для поклонников задача :) Я исходники Glide смотрел только чтобы понять, как 32bpp должно работать, поскольку полноценной документации по всем новым фишкам 3dfx не успела выпустить.
    --- добавлено 30 окт 2015, предыдущее сообщение размещено: 30 окт 2015 ---
    В оригинале установка этой и некоторых других переменных окружения была захардкожена в код. Я этот хардкод убрал и позволил настраивать поведение в ini-файле. И решил оставить эту в ini-файле по умолчанию. Толку от этой заставки никакого :)
    --- добавлено 30 окт 2015 ---
    Итак, outbin.7z опять обновлён. На этот раз такие изменения:

    - Поддерживаются все стандартные разрешения последней версии Glide 3x API. Также незначительно изменена инициализация.
    - На на самом первом экране меню (Game Setup) рядом с кнопкой выхода теперь находится кнопка перехода в настройки. То есть больше не нужно заходить в какой-то режим, чтобы попасть в настройки.
    - В на экраны Connect Players, Connect IPX и просмотра интерьера машины добавлен стандартный блок кнопок (Race, Options и Exit).
    - Этот же стандартный блок кнопок теперь не исчезает из настроек в том случае, когда в них зашли сразу из результатов гонки.
    - Этот блок кнопок теперь умный: если в настройки зашли, не выбрав режим, кнопка Race скрывается.
    - Список Predefined Keys и просмотр интерьера машины выровнены по вертикали.
    - Кнопка Reset To Defaults в меню Controllers смещена на одну позицию вниз, чтобы не сливаться с другими кнопками.

    Просьба проверить и показать, какие разрешения сейчас доступны, и для каких из них есть Z-Buffer, работают ли новые разрешения.
     
    Goblinit и real vision нравится это.
  11. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    Вообще ковыряясь в коде NFS3 иногда удивляюсь, как безответственно подходили к работе над проектом в EA. Тут, конечно, не так всё страшно, как в NFS4, где чёрти-что происходит даже с пропорциями моделей машин и некоторых объектов на картах. Но в самом коде тут и там следы того, что многое делалось на скорую руку, и человека, который бы это всё причесал, не было. Ну или делалось всё в очень сжатые сроки, поэтому писали как успевали... Или же у них там был ежедневный праздник, и писали они в немного пьяном состоянии :)

    Банально — текст и статус кнопки RACE заменяется для сетевой игры непосредственно в общем коде отрисовки кнопки. То есть вызывается функция «нарисуй кнопку, вот тебе указатель на структуру с нужными данными», а эта функция начинает заниматься самодеятельностью, если у кнопки имя racenow :) При этом в результатах гонки эта кнопка должна называться Race Again или Continue Race (для Knockout или Tournament), но разработчики поленились делать код, который распространил бы это название на эту кнопку при заходе в настройки с экрана результатов. Они просто убрали весь набор этих стандартных кнопок в таком случае. Эту несправедливость я уже исправил. Ещё меня смутило, что во время сетевой игры блокируется кнопка Credits. Оказалось, что сетевой режим написан кривовато, и во время отображения Credits сетевая игра ломается. Поэтому вместо исправления проблемы кнопка Credits в настройках была просто заблокирована, но на паре экранов (из-за копипасты) они забыли это сделать. Переделывать сетевой режим без исходников сложно, поэтому я просто сделал блокировку Credits универсальным образом, когда активен сетевой режим. И через этот же механизм я научил игру прятать кнопку Race в настройках, если на экран настроек попали без выбора режима гонки, и всё это универсальным образом, без копипасты для каждого экрана.

    Ах, да, самая забавная копипаста была с выпадашками. В Режиме Hot Pursuit в выпадашке с треками должно отображаться 2 иконки со статусом треков. Для них при отрисовке выпадашки делается отступ. Код был написан для двух разных видов выпадашек, по 2 раза для каждого из видов (вычисление левого и правого отступов). В общем, там нужно было 4 одинаковых проверки, которые проверили бы, что сейчас режим Hot Pursuit, и что текущая выпадашка со списком треков. Казалось бы, что проще... Но разработчики во всех 4 случаях допустили 4 разные ошибки! Для реверс-инженера это даёт повод здорово посмеяться! В итоге у отступов в выпадашках были реальные танцы-шманцы. А всего-то надо было написать один раз правильно и вызывать эту функцию из разных мест. Что я и сделал.

    Так что даже не глядя на отсутствие исходника, код по этой части у игры стал чуточку лучше и чище :)
     
    Последнее редактирование: 30 окт 2015
    Alex Kagansky, Goblinit, Ogr 2 и ещё 1-му нравится это.
  12. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    Неа. В чём смотрите тгашки?
     
  13. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    В Photoshop CS2 :) А вы чем? И просьба проверить поддержку новых разрешений в самом последнем билде.
     
  14. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    посмотрел - ничего не потемнело и машина не чёрная. Разве что на _04 чутка странно выглядит, где задом на травке. Смотрел стандартным просмотрщиком винды.
     
  15. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    @Bato-San, а разве он умеет TGA?
    --- добавлено 30 окт 2015, предыдущее сообщение размещено: 30 окт 2015 ---
    И да, в самом последнем outbin.7z я переименовал драйвер voodoo в glide3x — это лучше подходит по смыслу. Данный драйвер будет использовать glide3x.dll, установленный в системе. Если у вас установлен glide3x.dll для настоящей 3dfx Voodoo — он будет использоваться. Если же какой-то эмулятор — он тоже будет использоваться. Заодно здесь ясно, что нужно устанавливать драйвера на Voodoo с поддержкой Glide 3x API.
     
  16. Ogr 2 лол

    Ogr 2

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

    Регистрация:
    25 мар 2008
    Сообщения:
    6.513
    фотошоп его тоже открывает как 8 бит на канал РГБ+альфа. так в нем сколько на канал, 10?
     
  17. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    Если честно, не понял что вы имели в виду. В TGA должно сохраняться ARGB8888 при 32-битной картинке и RGB555 при 16-битной картинке.
     
  18. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    вообще то умеет. Как и многое другое.
     
  19. Ogr 2 лол

    Ogr 2

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

    Регистрация:
    25 мар 2008
    Сообщения:
    6.513
    ну так это формат РГБ 24бит +8бит прозрачность. если туда сохранять РГБ 10,11,11\11,10,11\11,11,10\10,10,10, непонятно чем его потом корректно открывать.
     
  20. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    Это в какой версии ОС? У меня Windows 7 — и стандартный просмотрщик не желает показывать TGA.
    --- добавлено 30 окт 2015, предыдущее сообщение размещено: 30 окт 2015 ---
    Так с чего вы взяли, что используется такой странный формат? В игре для 32 битов всегда используется ARGB8888.
     
  21. Ogr 2 лол

    Ogr 2

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

    Регистрация:
    25 мар 2008
    Сообщения:
    6.513
    @VEG, ARGB8888, полагаю, "A" это канал прозрачности, так? что в него игра пишет? а она в него пишет, и прасмотрщики это, согласно формату воспринимают как прозрачность, с чего и проблемы.
     
  22. VEG

    VEG

    Регистрация:
    3 авг 2006
    Сообщения:
    631
    @Ogr 2, по идее должно везде писать одно и то же значение, эквивалентное «прозрачность отсутствует». Но что-то я заглянул внутрь TGA файла в 16-ричном редакторе, и не вижу повторяющийся байт каждые 4 байта. Так что буду разбираться что там не так.
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление