Silent storm патч для windows 10

Решил я на выходных поностальгировать в Silent Storm. Установил, запустил и как-то не пошло… Разрешение, то ладно, можно и в 4:3 поиграть. Но, отсутствие теней, эффектов и дикий FPS мешали погрузиться в игру.

Решил я на выходных поностальгировать в Silent Storm. Установил, запустил и как-то не пошло… Разрешение, то ладно, можно и в 4:3 поиграть. Но, отсутствие теней, эффектов и дикий FPS мешали погрузиться в игру.

В сообществе стима уже были варианты исправлений, но использовать чужую dll-ину не хотелось. Да и не все мои хотелки она правила. Автор патча Novik65 в одном из обсуждений рассказал, что именно надо поправить и, даже, дал ссылку на исходники. Которые, к сожалению, за давностью лет потерялись.

Вот и появился повод прокачать скилл программинга 😊 Итак, порядок действий был таков:

  • Написать «чистый» прокси для библиотеки d3d9.dll и проверить работоспособность экспортируемых функций.
  • Реализовать свои интерфейсы IDirect3D9 и IDirect3DDevice9, которые будут вызывать методы настоящих.
  • Поправить функцию Direct3DCreate9, так чтобы она создавала фальшивый IDirect3D9.
  • Поправить метод IDirect3D9::CreateDevice, так чтобы он создавал фальшивый IDirect3DDevice9. Здесь же принудительно включается VSync.
  • Поправить метод Direct3DDevice9::GetAvailableTextureMem. Дело в том, что игра кушает результат в int и не переваривает размер видеопамяти современных видюх. Надо урезать результат до 2-х гигов, чтобы все работало правильно.

Пишем чистый прокси.

Я в этом вопросе плохо разбираюсь, поэтому нашел статью грамотного человека:

Она рассказывает про прокси для ddraw.dll, но принцип тот же: получаем полный перечень всех экспортируемых функций, загружаем оригинальную библиотеку и получаем их адреса. А дальше работает такой код для всех «чистых» функций:

extern «C» __declspec(naked) void Fake_D3DPERF_BeginEvent()
{
_asm { jmp[d3d9dll.D3DPERF_BeginEvent] }
}

Его прелесть заключается в том, что для вызова «чистой» функции достаточно знать только ее адрес. Параметры и возвращаемое значение лежат тихонько в стеке и нашей прокси-функцией не портятся.

На этом все! Собрал и подкинул фейковую d3d9.dll в папку с игрой. Игра запустилась и заработала без проблем. Значит можно продолжать.

Реализовываем свои IDirect3D9 и IDirect3DDevice9.

Открываем заголовочный файл d3d9.h и охреневаем 🤔

Интерфейс IDirect3DDevice9. И каждую строчку нужно реализовать.

В этот момент, мне расхотелось играть в Silent Storm 😊 Ладно, копаем дальше, должны же быть извращенцы помимо меня. И я нашел аналогичный прокси для Pac-Man Battle Royale.

Я не скажу, что весь код этого автора мне понравился. Пришлось его рихтовать под себя. Но самое главное, прокси-методы мне не пришлось писать самому и огромный пласт нудных работ я просто скопировал себе:

void FakeDirect3DDevice9::SetCursorPosition(int X, int Y, DWORD Flags)
{
return(m_pIDirect3DDevice9->SetCursorPosition(X, Y, Flags));
}

Подмена интерфейсов и правка багов.

Вот тут начинается самое интересное. Мне нужно было переписать некоторые функции, чтобы они возвращали мои липовые интерфейсы. И, конечно, исправляли недочеты игры. Первым делом переписал Direct3DCreate9, возвращающую интерфейс на объект Direct3D9.

extern «C» IDirect3D9* WINAPI Fake_Direct3DCreate9(UINT SDKVersion)
{
typedef IDirect3D9* (WINAPI * DIRECT3DCREATEPROC)(UINT SDKVersion);
DIRECT3DCREATEPROC Direct3DCreate9Proc = (DIRECT3DCREATEPROC)d3d9dll.Direct3DCreate9;
IDirect3D9* pFakeDirect3D9 = Direct3DCreate9Proc(SDKVersion);
return new FakeDirect3D9(pFakeDirect3D9);
}

Идея всех подобных функций проста: сначала я создаю настоящий Direct3D9 объект (первые три строчки в теле функции), а потом создаю свой прокси-объект, которому скармливаю настоящий (последняя строка). В дальнейшем все методы прокси либо будут передавать управление настоящему объекту, либо вносить правки и уже потом передавать управление. Наружу из такой функции, естественно возвращается интерфейс на поддельный объект.

Теперь очередь за IDirect3D9::CreateDevice.

HRESULT FakeDirect3D9::CreateDevice(UINT Adapter,D3DDEVTYPE DeviceType,HWND hFocusWindow,DWORD BehaviorFlags,D3DPRESENT_PARAMETERS* pPresentationParameters,IDirect3DDevice9** ppReturnedDeviceInterface)
{
pPresentationParameters->PresentationInterval = D3DPRESENT_INTERVAL_ONE; // force VSYNC
HRESULT hres = m_pIDirect3D9->CreateDevice(Adapter, DeviceType, hFocusWindow, BehaviorFlags, pPresentationParameters, ppReturnedDeviceInterface);
*ppReturnedDeviceInterface = new FakeDirect3DDevice9(*ppReturnedDeviceInterface);
return(hres);
}

Тут, тоже самое. За исключением первой строчки в теле метода. Именно она отвечает за включение вертикальной синхронизации. Никаких дополнительных проверок я делать не стал — ребята из Nival дичи не творили, все параметры передают хорошие.

Ну и последний метод, исправляющий баг с тенями и эффектами:

UINT FakeDirect3DDevice9::GetAvailableTextureMem(void)
{
UINT ret = m_pIDirect3DDevice9->GetAvailableTextureMem();
if (ret > (UINT)INT_MAX)
ret = (UINT)INT_MAX;
return(ret);
}

Исправляем то, о чем я писал выше. Игра внутри себя хранит результат в int (максимум 2’147’483’647), а надо хранить в unsigned int (максимум 4’294’967’296). Ну т.е. на видюхе с более чем 2 гига оперативки, int захлебывается и уходит в отрицательные значения, что и приводит к неверному авто-определению настроек. Данный метод, просто обрубает настоящий результат по границе в 2 гига.

Итог.

Update: Добавил фикс для разрешения 1920х1080. Мне не нравится результат — многие надписи обрезаются по вертикали. В комментариях есть скриншоты с примерами. Чтобы перейти в FullHD, в игре нужно установить разрешение 800х600.

Тут лежат исходники и собранная dll. Так как я играю на рабочем компьютере и не сильно заморачивался со сборкой, то возможны зависимости от 2019-й студии. Ну да это уже совсем другая история 😊

Страница 1 из 2

  1. coole
    Трамвайный Пастырь


    coole

    Регистрация:
    12 окт 2015
    Сообщения:
    1.444

    Окей, господа форумчане, есть ли какой-то способ запустить Silent Storm на ноутбуке со встроенной видеокартой (Intel HD 2000/3000)?
    При запуске вместо заставок (или что там должно быть) сразу чёрный экран, а в диспетчере задач игра «не отвечает»
    На английском форуме прочитал что можно использовать 3DAnalyse для запуска, но мне этот вариант не помог вообще.
    А ещё я ставил фанпатч отсюда. Тоже не помогло.

  2. @coole, Я не думаю, что дело во встроенной видеокарте. Самому доводилось играть. Скорее всего, или ОС не такая, или другие части железа виноваты.

  3. coole
    Трамвайный Пастырь


    coole

    Регистрация:
    12 окт 2015
    Сообщения:
    1.444

    @Mel Shlemming, ну так давайте вместе разберёмся, есть идеи как можно определить в чём проблема? Под чем играли сами?

  4. @coole, через батник на одном ядре процессора?

  5. coole
    Трамвайный Пастырь


    coole

    Регистрация:
    12 окт 2015
    Сообщения:
    1.444

    @BrainRipper, нет, так не пробовал
    да и гуглёж как-то не помог, батник с записью

    D:WindowsSystem32cmd.exe /C start /affinity 1 "F:GamesSilentstormSS2game.exe"

    не делает ровным счётом ничего

    — добавлено 9 июл 2017, предыдущее сообщение размещено: 9 июл 2017

    да, под ХР эта функция не работает

    — добавлено 9 июл 2017

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

  6. @coole, попробуйте удалить .cfgconfig.cfg перед запуском.

  7. coole
    Трамвайный Пастырь


    coole

    Регистрация:
    12 окт 2015
    Сообщения:
    1.444

    Под семёркой работает, странно.
    @TheMadLynx, этот конфиг как я понял создаётся при первом запуске, его не было. Но и его появление ситуацию не исправило, под ХР игра всё так же не запускается.

  8. Sharp_ey
    терять и врать


    Sharp_ey

    Legacy

    Регистрация:
    23 сен 2006
    Сообщения:
    10.005

    Что если попробовать поставить не стим-версию?

  9. Так а сама игра из стима? Если да, то первым же делом нужно выключить оверлей.

  10. coole
    Трамвайный Пастырь


    coole

    Регистрация:
    12 окт 2015
    Сообщения:
    1.444

    @TheMadLynx, нет, стоит не-стим версия

  11. Eraser
    Чистильщик


    Eraser

    Хелпер

    Регистрация:
    29 дек 2001
    Сообщения:
    9.965

    @coole, т.е. версия со старфорсом на двух CD? Дело может быть в старфорсе в таком случае, у меня когда-то давно на одном из XP-конфигов игра не запустилась вообще.

  12. coole
    Трамвайный Пастырь


    coole

    Регистрация:
    12 окт 2015
    Сообщения:
    1.444

    @Eraser, у меня стоит репак от R.G. Catalyst, сейчас попробую GOG версию поставить

  13. ki86m


    ki86m

    Регистрация:
    6 ноя 2013
    Сообщения:
    53

    Попробуй подменить DirectDraw на библиотеки из WineD3D http://downloads.fdossena.com/geth.php?r=wined3d-recommended
    скачать и распаковать в папку с игрой

  14. coole
    Трамвайный Пастырь


    coole

    Регистрация:
    12 окт 2015
    Сообщения:
    1.444

    @ki86m, теперь игра стала вылетать при запуске

  15. ki86m


    ki86m

    Регистрация:
    6 ноя 2013
    Сообщения:
    53

    Ошибку выдает?
    Попробуй удалять d3d*.dll по одной

  16. coole
    Трамвайный Пастырь


    coole

    Регистрация:
    12 окт 2015
    Сообщения:
    1.444

    @ki86m, ладно, я разобрался, использовал d3d8.dll и всё как было сказано в readme
    по прежнему чёрный экран и «не отвечает»

  17. Доброго времени суток. Поставил Silent Storm Gold Edition [GOG] на ОС Windows 8.1 Pro x64. Установка прошла нормально и долгое время всё работало как надо. Изредка, конечно, бывали вылеты (ошибка «Game.exe»), но в целом они не доставляли неудобств. Вылеты были крайне редки. Но стоило мне дойти до задания с огромным заводом (повреждённым), где нужно найти документы о производстве экспериментального оружия, захватить руководителя и набрать мешок всякого добра, то количество вылетов увеличилось в десятки раз, причём не с самого начала, а с момента, когда практически закончил зачистку главного корпуса. На его крыше почти после каждого действия игра вылетала. Снова, снова и снова.

    2018-12-4 22-12-19.jpg

    Режимы совместимости ничего не дают. Модификации отключены. Ничего дополнительно не ставил.

    Товарищи, какие у вас есть соображения по данной проблеме?

    Вложения:

    • 2018-12-4 22-12-19.jpg

    Последнее редактирование: 4 дек 2018

  18. Eraser
    Чистильщик


    Eraser

    Хелпер

    Регистрация:
    29 дек 2001
    Сообщения:
    9.965

    @Maverick_Forever, в двухдисковом издании была точно такая же проблема (в этой и ещё нескольких миссиях).
    Починить не удалось. :( Доигрывал через квиксейвы на каждом шагу. В стимовской версии нет таких проблем.

  19. @Maverick_Forever, насколько мне известно, страдают от этого обладатели видеокарт отличных от GeForce и количества ОЗУ более 4 ГБ. В папке с игрой должен быть файл d3d9.dll. В ГОГ-версии он, скорее всего, пропатчен сторонними умельцами, чтобы обладатели радеонов видели тени. Поэтому предлагаю пока попробовать два варианта:
    1. удалить файл d3d9.dll из папки с игрой;
    2. все настройки графики снизить на самый минимум, кроме разрешения. Без теней, вроде, должно работать стабильно.

    Можно взять патч для стим-версии: Version SilentStormSteamVersion/S2 — novik65

    Последнее редактирование: 5 дек 2018

  20. Ardash


    Ardash

    Переводчик

    Регистрация:
    5 окт 2017
    Сообщения:
    1.019

    Offtop

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

Страница 1 из 2


Форум Old-Games.RU. Всё о старых играх

Обновлено: 03.02.2023

It seems that you’re using an outdated browser. Some things may not work as they should (or don’t work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

The search term must be at least 3 characters long
Is there any way to get the game to function in windowed mode?
TheJopp: Is there any way to get the game to function in windowed mode?

and change:
setvar gfx_fullscreen = 1.00

to:
setvar gfx_fullscreen = 0.00

For some reason will not work in Silent Storm Sentinels (It automatically reverts back to fullscreen )

edit: Gah I had the values mixed up =X_X=

on your desktop right click the icon and go to properties where it says target type -window and that should work

Чтоб поиграть в эту игру, и не было ошибки «Видеокарта не поддерживается», делаем так, кликаем старт, или пуск, потом выполнить, в командной строке, пишем msconfig жмем etnter, выбираем загрузка, дополнительные параметры, ставим галочку максимум памяти, 2000, подтверждаем, перезагружаемся, и играем.

Igor. (apol42rus). да ты чертов псих если думаешь что даже на момент публикации в 2к16 запуская комп с параметром что система видит только 2гига оперативки ты б еще с гигом подсказал
писав такую ахинею надо думать о последствиях. и люди состариться могут ожидая что система запустится с таким конфигом

В стиме один человек нашел способ установить SQl-сервер на Windows 10. Сам я проверить смогу нескоро, но если способ работает, это означает, что редактор можно будет запустить даже на современной ОС. Итак, что нужно делать.

Шаг 2. В скачанном дистрибутиве есть папка Setup, там мы открываем файл SqlRun.cab. Это архив, используем winrar или 7z. Ищем внутри файл с длинным названием типа SQLUNIRL.dll.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX. Распаковываем файл куда-нибудь, удаляем все лишнее из названия, чтобы получилось SQLUNIRL.dll

Шаг 3.
Идем в C:WindowsSysWOW64, находим там файл sqlunirl.dll (он системный, аккуратнее). Щелкаем по нему ПКМ, Нам нужна вкладка Безопасность.

Картинка примерно такая

Шаг 4. Выбираем trustedinstaller и нажимаем Изменить.

Шаг 5. У вас должно быть примерно так, как на изображении. Если пользователей нет, добавьте и нажмите Применить.

Как запустить редактор игры Silent Storm на Windows 10, изображение №2

Шаг 6. В группах пользователей и админов разрешите все возможные действия с этим файлом.
Теперь этот файл можно будет изменять.

Шаг 7. Сделайте резервное копирование этого файла и спрячьте в безопасном месте. Также его можно просто переименовать.

Шаг 8. Итак, с файлом sqlunirl.dll из syswow64 разобрались. Теперь на его место переносим файл из Шага 2.

Шаг 9. Запускаем установщик SQL-сервера, установка должна пройти успешно.

Шаг 10. Перезапустите систему после установки, затем пробуйте запускать редактор.

DELETED

Дмитрий Бойко

игра на вин7 идет, но не будет звуков. Читал, что надо скачать демо версию игры, и скопировать от туда файл звуков, в полную игру. Сам лично запускал на вин7, звуков не было, ломал игру через nocd, игра уже была установленая (скопировал с компа с вин.хр где установливал), поставил режим совместимости вин.хр для файла запуска игры(с расширением .exe)
На счет установки и работы без режима совместимости я не проверял, возможно устанавливаться на вин7 будет, и совместимость включать наверное не обязательно, проверте, у меня пока нет такой возможности.

Александр Горожанкин

Позавчера поставил с этой раздачи на семёрку. Идёт со звуками и всем-всем-всем. Единственное, в S^2 анимация у солдата при стрельбе из пистолета-пулемёта косячит и озвучка английская.

Читайте также:

      

  • Как установить макросы на любую мышку cs go
  •   

  • Системные требования final fantasy 2
  •   

  • Как установить фоллаут 2
  •   

  • Как установить сохранение на гта сан андреас на андроид
  •   

  • Pc building simulator системные требования

Silent Storm is a more or less okay Jagged Alliance 2 clone. This game has one very annoying bug: On newer systems with >= 4GB of RAM and a recent NVidia Video Card, it will not start up, but instead display the message «Unsupported Video Card» (or «Nicht unterstütze Grafikkarte» in the German version). This is extremely annoying and there are a few workarounds which can be found on the net:

  • Downgrade the NVidia Video Driver. This will not work if your Graphics Card is fairly new and the old driver doesn’t support it
  • Use msconfig.exe to configure the operating system to only recognize 3GB of RAM. Forces you to reboot every time you want to use the RAM for other applications
  • Physically remove RAM from your system. I’m not even going to dignify that option with a comment.

So, pretty much, you’re screwed, because the original author of the game (JoWooD Entertainment) does not give a flying crap about their game being broken. Here’s a solution:

  1. Update the game to version 1.02
  2. Get a crack for the game to disable the integrity check. I cannot tell you where to get it, but I guess any gamer knows where to get cracks or knows someone who knows…
  3. The crack you got should replace the «game.exe» executable of Silent Storm. When you also have the English version (as I do), the uncracked game.exe should have a MD5SUM of 3da8d20d30f99ee441af14730d5158e8 and a size of 8956928 bytes. The cracked version should have a MD5SUM of 78e7523ee377815f0454071993a7a594 and also have a size of 8956928.

Then, open game.exe with a hex editor. Go to offset 0x9bae (or 39854). You should see this:

00009B90   00 FF D3 52  57 FF 15 38  22 8B 00 8B  45 A4 50 E8  ...RW..8"...E.P.
00009BA0   1C C4 3C 00  83 C4 04 E9  01 0D 00 00  3B C7 74 2E  ..<.........;.t.
00009BB0   B9 F7 51 00  00 8D 75 A4  E8 53 FE FF  FF 52 BA 6B  ..Q...u..S...R.k

At position 0x9bae (39854 dec) there’s the character 0x74. Change it to 0xEB. Save the file, done. The game should now work! The final executable should have a MD5SUM of 7883a81632fc707e3aa4a72072650a63.

Hammer & Sickle

Silent Storm Hammer & Sickle has the same problem. The patch is very similar: Open SICKLE.EXE, offset 0x1cba (dec 7354) and change 0x74 to 0xeb. Original MD5 of SICKLE.EXE should be bfb4eb2877573c33491e47d557646247, patched MD5 3e294c435f9f27ea639feaf239a74792.

00001CA0   57 FF 15 C0  43 91 00 8B  45 B4 50 E8  90 CB 2D 00  W...C...E.P...-.
00001CB0   83 C4 04 E9  EF FE FF FF  3B C7 74 2E  B9 F7 51 00  ........;.....Q.
00001CC0   00 8D 75 B4  E8 37 FE FF  FF 8B 08 57  68 B4 49 91  ..u..7.....Wh.I.

Download

If the above is too hard for you, here’s a patch executable which should do exactly what you want (patches cracked version of Silent Storm 1.02): Download

And for Hammer & Sickle 1.00: Download.


10 октября 2013


10.10.13

6

22K

ВОПРОС ЗАКРЫТ.
Вопрос закрыт автором.

Приобрел в Steam Silent Storm: Gold и очень огорчился, поняв, что игра так и не подружилась с соотношение сторон 16:9. Гугл ничего внятного не выдал, но может все таки есть какой-нибудь неоффициальный патч, который решает эту проблему? Пробовал ставить свое разрешение через конфиг, но и это ни к чему не привело.
P.S. Если в Jagged Aliance мне это не мешало, то в Тихом Шторме с 3d графикой это крайне неудобно.


Поддержи Стопгейм!

Комментарии отключены

Лучшие комментарии


Иван Раптев

10 октября 2013, 22:42

я нашёл только

Я нашел способ запуска SS в режиме Widescreen
1. Открыть Silent Stormcfgconfig.cfg
2. Найти строчку setvar gfx_resolution = 1024.00
3. Заменить 1024.00 на свое разрешение (пример 1360×768)
4. Сохранить. Поставить в свойствах «Только чтение»

PS отдельная благодарность Cleric[V] за кряк, т.к мою видюху игра не хотела видеть

но тк игра 2003 года, я не удивлен, что с широкими разрешениями проблема.


Иван Раптев

10 октября 2013, 22:50


Иван Раптев

10 октября 2013, 22:18

а почему это не удобно? Жалко, что весь экран не используется? или картинка растягивается?
Если первое — то можно смириться. Если второе — панель управление Nvidia -> дисплей -> регулировка размера и положения рабочего стола -> Выполнять масштабирование на ГП


Сергей Харламов

10 октября 2013, 22:31

а почему это не удобно?

Вот какой ответ ты хочешь услышать на этот вопрос? Если бы мне было комфортно так играть, я не написал бы в FAQ.

Если первое — то можно смириться.

Это как крайняя мера.


Сергей Харламов

10 октября 2013, 22:49

Именно это я и опробовал. Не помогло, увы. Но все равно спасибо))

Понравилась статья? Поделить с друзьями:
  • Silent storm запуск на windows 10
  • Silent storm вылетает на windows 10
  • Silent storm видеокарта не поддерживается windows 10
  • Silent storm sentinels не запускается на windows 10
  • Silent option msi windows 10 скачать