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

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

Запуск Ion Fury (2019) под Windows 9x без KernelEX

Тема в разделе "Кладезь мудрости", создана пользователем Revolter, 11 июн 2021.

  1. Revolter

    Revolter

    Регистрация:
    12 июл 2006
    Сообщения:
    2.323
    Лирическое отступление

    Итак, нам потребуются: файл "fury.exe" из дистрибутива порта EDuke32 под DOS, архиватор .zip, программа для работы с аудиофайлами GoldWave (я использовал версию 5.70, но должны подойти и более старые) и текстовый редактор, умеющий массово заменять участки текста (подойдёт и Word).

    1. Распаковываем fury.grp обычным .zip-архиватором, в том числе встроенным в File Explorer вашей Windows;
    2. Устанавливаем и запускаем GoldWave;

    1) В меню выбираем "File > Batch Processing...";
    2) На вкладке "Source" жмём "Add Folder..." и указываем путь к папке "sounds" из распакованного fury.grp; в появившемся окне в поле "Type filter:" выбираем ".ogg" и отмечаем галкой опцию "Include all subfolders";
    4) На вкладке "Convert" включаем галкой опцию "Convert files to this format:", выбираем формат (Wave или Sound Blaster) и параметры конвертировки. Чем меньше будут занимать места будущие файлы, тем лучше, а почему - объясню позже, поэтому рекомендую выбрать "PCM unsigned 8 bit, mono" и "Rate (Hz): 22050";
    5) Затем, на вкладке "Destination" оставляем "Store all files in their original folders", ставим галку напротив "Delete original files (not recommended)", и жмём кнопку "Begin";

    3. В распакованном fury.grp находим подпапку "scripts", открываем в ней файл "sounds.con" из текстового редактора, и массово заменяем в нём все упоминания .ogg на ваш формат (.wav или .voc);
    4. Запаковываем все файлы из распакованной fury.grp с сохранением всей структуры папок архиватором .zip и максимальным сжатием (рекомендую использовать для этого бесплатный 7zip), и переименовываем получившийся архив обратно в "fury.grp";

    4. Далее нужно отредактировать файл fury.grpinfo из дистрибутива с игрой. Объясню, зачем это нужно: EDuke32 использует систему пар "grp и grpinfo": первый - это сами ресурсы игры или мода на движке Build (помимо самого Duke Nukem 3D: параметры его .grp-файлов заведомо известны), а второй - его описание, содержащее, помимо всего прочего, точный размер и его CRC-код.

    Для того, чтобы получившаяся сборка заработала, нужно открыть файл fury.grpinfo в текстовом редакторе, и заменить имеющиеся там значения "size" и "crc" таким образом, чтобы они сответствовали реальным параметрам получившегося fury.grp. Быстрый и надёжный способ: единожды запустить чистый архив с любым Eduke32 (свежие билды находятся по этой ссылке) с модифицированным fury.grp, переименованным в "duke3d.grp": таким образом в папке с EDuke32 сгенерируется файл grpfiles.cache, который будет содержать такую строчку:

    Код:
    "duke3d.grp" 81932019 1623358530 -1681750751
    Первое и последнее значения - это точный размер и CRC-код вашего .grp-файла соответственно, на примере получившегося у меня. Вносим их в fury.grpinfo и сохраняем изменения. Должно получиться вот так:

    Код:
    grpinfo
    {
        name "Ion Fury"
        scriptname "scripts/main.con"
        defname "fury.def"
        size 81932019
        crc -1681750751
        flags 128
        dependency 0
    }
    5. Следом редактируем файл fury.def (опытным путём было обнаружено, что размер кэша, указанного по-умолчанию - 256 мегабайт, - приводит к вылету при переходе между некоторыми локациями в связи с нехваткой оперативной памяти, предел которой в чистой Windows 9x - 512 мегабайт):

    Код:
    cachesize 262144
    include content.def
    
    Рекомендую использовать значение 196608 или даже 131072: с ними проблем я пока не выявил.

    6. И последнее. По-умолчанию музыка и звук в EDuke32 DOS проигрываются замедленно в связи с несовпадением настроек битрэйта, которые в нём, однако, нельзя настроить из меню напрямую. Чтобы это исправить, нужно создать в папке с игрой файл settings.cfg со следующей строчкой:

    Код:
    snd_mixrate "22050"
    Готовый файл (содержащий также строчку с указанием минимального значения одновременно проигрываемых звуков - ради оптимизации) прикрепляю к этому сообщению.



    В результате минимально необходимый набор файлов должен выглядеть так:

    upload_2021-6-11_18-26-49.png

    В чистом DOS 6.22 запустить его у меня не удалось, однако DOS-подсистема Windows 9x и Windows ME справляются на отлично.

    Если процесс запуска прервётся сообщением об ошибке - попробуйте сперва создать .pif-файл экзешника fury.exe и запустить игру ещё раз.
     

    Вложения:

    MrFlibble, Sylvester, Grongy и 3 другим нравится это.
  2.  
  3. Revolter

    Revolter

    Регистрация:
    12 июл 2006
    Сообщения:
    2.323
    Важное уточнение: с версией файлов Ion Fury 1.1 от августа 2020 данный порт не работает (в файлах скриптов появились новые переменные, с которыми он не знаком). Подходят только 1.0, 1.01 и 1.02.
     
    MrFlibble нравится это.
  4. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    8.855
    Это неправда. У меня работает с 896 Мб, если ограничить MaxFileCache.
     
  5. Revolter

    Revolter

    Регистрация:
    12 июл 2006
    Сообщения:
    2.323
    Следующие карты обладают наименьшими требованиями к скорости системы (все из них удалось с горем пополам - а часть и с комфортом, - пройти на разогнанном Селероне из моей подписи, хехе):

    preview_0
    preview_2
    preview_3
    z1a2
    z2a1
    z3a1
    z3a3
    z4a1
    z4a5
    z5a1
    z6a1
    z6a3

    Их можно запускать напрямую, добавив в качестве параметра к экзешнику "-map maps/[название карты] -s1" ("-s1" - это минимальная сложность: так ресурсоёмких врагов на экране будет меньше)

    Жирным выделены самые демократичные - с ними справится и Pentium III 450.

    То, что в чистой (читай дефолтной, немодифицированной) Windows 9x предел именно такой - это как раз правда (хотя допускаю, что на каких-нибудь редких материнках возможны и исключения в виде >512Мб "из коробки"). Так-то и PATCHMEM от Rudolph R. Loew "всего-то" модифицирует имеющиеся виндовые файлы - подобно тому, как ты редактируешь SYSTEM.INI, добавляя туда строчку MaxFileCache.
     
    Последнее редактирование: 13 июн 2021
    MrFlibble нравится это.
  6. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    8.855
    Неправда. Зависит от установленного оборудования. У кого-то и с 512 Мб не работает, и что?
    Они не редкие, и это не исключения.

    И в большой степени это зависит от видеокарты и величины APG Aperture Size в BIOS: какие адреса она занимает. И даже от версии видеодрайвера.
    У меня с рядом видеокарт работает с 640 и 768 Мб без добавления MaxFileCache в SYSTEM.INI
    Один единственный пример опровергает твой тезис про "предел которой в чистой Windows 9x - 512 мегабайт".


    Да и правку SYSTEM.INI нельзя считать модификацией винды - это лишь настройка.
     
  7. Revolter

    Revolter

    Регистрация:
    12 июл 2006
    Сообщения:
    2.323
    @BrainRipper, именно от дюжины таких оговорок и уточнений в духе "это зависит от...", "а на D850 работает гиг без шаманств", "а если отредактировать SYSTEM.INI..." и т.д. я и хотел избавить читателя строчкой про "чистую Windows 9x", но ты их всё равно привёл :)
     
  8. MrFlibble

    MrFlibble

    Регистрация:
    23 мар 2008
    Сообщения:
    2.871
    Отлично, теперь ждём, когда у автора FastDoom появится время и он прикрутит к DOS-порту Eduke32 режим potato mode :)
     
    Revolter нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление