| Разработка и ромхакинг > Ромхакинг |
| [PC] Shockolate (System Shock) - widescreen режимы |
| (1/1) |
| HayaoYokogawa:
Shockolate SE – SHODAN Enhanced Слава SHODAN ИИшкам, теперь можно поиграть в опенсорсную версию System Shock Shockolate в широкоэкранном режиме. Что запилено: - Человечья поддержка широкоэкранных режимов; - В OpenGL режиме теперь адекватно рассчитывается освещение; - В OpenGL режиме теперь работает смена углов обзора (FOV); - Корректное масштабирование интерфейса - от 1х до 10х; - Границы интерфейса в полноэкранном режиме теперь можно регулировать - в настройках Video > Prefs > HUD Bounds. В меню игры регулируется в пределах 4:3, 16:9 и 21:9, при запуске игры можно указать любые с ключом -hud-bounds: --- Код: ---systemshock -hud-bounds 4:3/16:9/1.33/ваше-число --- Конец кода --- - В неполноэкранном режиме для пуристов все отображается корректно, но растянуто; в принципе жить можно, кто в 2к26 будет играть в классическом режиме с окошком на треть экрана? - Интро и главное меню рисуются в 4:3 теперь всегда; - Пофикшены некоторые баги, которые на высоких разрешениях роняли игру - связано было в большей степени с малым выделенным местом под буфер, пофикшен баг со сломанными экранами с камерами - Пофикшено еще пара багов, добавлено пара новых :lol: Игра иногда крашится до сих пор, иногда крашится на выходе из игры. Отловить пока не смог; Что сломалось на данный момент, о чем я в курсе: - При попытке починить отрисовку экрана вокруг на паузе, сломалась отрисовка интерфейса в неполноэкранном режиме (отображает его дважды), но сломалась только в сборке для aarch64 (в моем случае Nintendo Switch под линухом); - Изредка при выходе из игры падает с SEGFAULT. Воспроизвести и отловить пока хз как. Что пока что НЕ запилено/начато, но сломано/планируется: - Угол обзора в OpenGL - на значениях отличных от 90 спрайты ведут себя весьма странно; - Масштабирование интерфейса - формально есть, по факту сломано и действует только на панели MFD; - Графические глюки при смене разрешения, когда игра запущена во весь экран (не путайте с полноэкранным режимом внутри игры) - лечится переходом в оконный и обратно в полноэкранный. Лучше разрешение выбирать в оконном и уже потом переходить в полноэкранный. При смене разрешения в оконном он тоже белиберду покажет, но все ок - возврат обратно в игру все пофиксит. - Увеличение границы глубины отрисовки. На данный момент в 16:9 иногда мелькают черные дыры; - Масштабирование полноэкранной карты; - Возможно какая-то человечья переназначалка кнопок, скорее всего это будет отдельная утилита. Пока что все делается через одно место (но это так изначально было)... - Новый значок для экзешника. Прикладываю патч для самостоятельной сборки (инструкция пока что для Linux, хз как использовать patch в виндах): - Скачиваем исходники; - Кидаем в скачанную папку wide-complete-v2.patch; - В папку shaders закидываем новый шейдер с заменой; - Открываем терминал в этой же папке, вводим команду --- Код: ---patch -p1 -d src < wide-complete-v3.patch --- Конец кода --- - Собираем игру из исходников по инструкции в репозитории; - Складываем в папку res файлы от игры; - Запускаем и идем забарывать SHODAN. По дефолту разрешение 1024х768, в меню игры Esc -> Video > Rendering > Video mode > выбираем разрешение. Пока что оставил 800х600, 1024х768, 480p, 720p, 900p и 1080p. Если требуется специфичное разрешение, то запускаем через командную строку/терминал: --- Код: ---systemshock -width[b] x[/b] -height [b]y[/b] --- Конец кода --- x - ширина, y - высота - все в пикселях. Моооооожет быть позже еще буду прикладывать игру в собранном виде, но это как только разберусь, как ее под виндой собрать (ну или на сыче для винды :lol:) Бинарники для теста под вЕндой (кривые! собрано под win32, но библиотеки пашут только на win64 - я с этим позже разберусь) прикладываю. Скачать Требуются файлы от игры в папке res. В порядке вовлечения, от наиболее используемой до наименее используемой: - AutoClaw (DeepSeek V4.1-Flash) - Claude Sonnet 5 (Medium) веб-версия - DeepSeek веб-версия - Gemini Flash веб-версия |
| Agent Smith:
До System Shock'а все руки не доходят. Когда-нибудь соберсь и гляну, что за оно |
| cptPauer:
--- Цитата: HayaoYokogawa от 11 Сентября 2026, 14:11:10 ---Как собирать под виндой пока хз, собираю на сыче под линухом (на винде не разобрался с зависимостями). --- Конец цитаты --- В большинстве случаев собрать для винды можно прямо под линухом. Спроси нейронку (которая имеет доступ к системе сборки) не будет ли с этим геммора и если скажет что нет проблем, то пусть настроит кросс-компиляцию. Геммор обычно начинается если какие-то фреймворки типо Qt6 (надо много докачивать и билдить), но у тебя это вероятно нет, поэтому может оказаться не так уж и сложно. |
| HayaoYokogawa:
--- Цитата: cptPauer от 13 Сентября 2026, 16:22:46 ---В большинстве случаев собрать для винды можно прямо под линухом. --- Конец цитаты --- Хотел так сделать, но там зависимость от старого CMake, перенос на новый в тупую ломает сборку, тикет в репо висит, но всем первый Систем Шок будто по барабану :lol: Вот кстати можно попросить нейронку допилить процесс сборки потом. Пока довожу до удобоваримого состояния то, что есть, пофиксил еще пару багов, связанных с маленьким назначенным буфером там-сям, какой-то столетний баг, связанный с экранами (внутри игры), который крашил игру и переписал шейдер, а то в опенгл темень была невыносимая. FOV легко не дался, отложил пока, в менюшке еще теперь хоть отображаются современные разрешения, но в полноэкранном режиме это не работает - нужно в оконном режиме менять. И графические приколы во время смены разрешения тоже бы одолеть, но тоже пока отложил, мучаю нейронку на предмет отображения текста. Добавлено 15 сентября 2026 года: Прогресс - теперь элементы интерфейса рисуются в фиксированных пропорциях и прилипают к краям экрана, почти что как в официальном порте Nightdive. Режим с окном решил оставить просто растянутым по экрану для пуристов, но его еще допилить надо. Дольше всего забарывал отображение текста, а то он растягивал пробелы и было невозможно ничего прочитать Доведу и выложу новый патч, после этого буду пытаться разобраться с углом обзора в OpenGL режиме Добавлено позже: Обновил первый пост актуальной инфой и патчем. |
| HayaoYokogawa:
Ох, какой кошмар бинарник виндовый собрать под виндой же. :wacko: Приложу пропатченный экзешник попозже с библиотеками и шейдером и пофикшенными значениями в настройках, чтоб можно было затестить. Добавлено позже: Победил-таки FOV в OpenGL, новый патч приложил, бинарники пока что позже Добавлено позже: Кошмар. Код интерфейса был разбросан (ну и как бы так и остался разбросан на самом деле - но теперь все отвязано от логического разрешения в 320х200) и вообще там сплошное спагетти и все это плохо работало с масштабированием, после чего я принял решение попросить ИИ переписать код для полноэкранного режима полностью. На форуме systemshock.org меня еще попросили добавить возможность ограничивать интерфейс рамками (для владельцев сверхшироких мониторов), опция добавлена. Отловлена еще пара багов, ронявших игру. Для упрощения задачи с масштабированием решил ограничить все одним шрифтом среднего размера (как в официальном порте от Nightdive). Пара скринов (чуть пораньше и чуть попозже), завтра патч доведу до ума, выложу и продолжу с остальным. В целом с интерфейсом почти (почти!) все решено, что еще можно/нужно починить-поправить уже не знаю. Далее планирую пофиксить дистанцию рендеринга. |
| HayaoYokogawa:
Обновил патч, приложил бинарники Работаю над масштабированием полноэкранной карты. В целом уже готово, осталось выловить один с ней баг, который может уронить игру, если поменять разрешение окна Было Стало |
| Навигация |
| Главная страница сообщений |