Mr.Sталин Опубликовано 19 мая, 2022 Поделиться Опубликовано 19 мая, 2022 Какой ты видишь альтернативу SDL?SFML Ссылка на комментарий
Jordan Опубликовано 19 мая, 2022 Автор Поделиться Опубликовано 19 мая, 2022 SFMLПочти тоже самое, что sdl. Имеет нативный C++ интерфейс. добавлено позжеЛично для меня, не принципиально, что использовать. Ссылка на комментарий
Jordan Опубликовано 19 мая, 2022 Автор Поделиться Опубликовано 19 мая, 2022 Автор проекта перенес графическую часть движка на кроссплатформенную библиотеку SDL2. Сам проектhttps://github.com/alexbatalov/fallout2-ce Его сообщение об этомhttps://github.com/alexbatalov/fallout2-re/issues/87 Ссылка на комментарий
Mr.Sталин Опубликовано 19 мая, 2022 Поделиться Опубликовано 19 мая, 2022 Автор проекта перенес графическую часть движка на кроссплатформенную библиотеку SDL2.Мне фиолетово куда он там перенес.Ты делай на SFML, с++ приятнее, и перспективнее. Ссылка на комментарий
Jordan Опубликовано 20 мая, 2022 Автор Поделиться Опубликовано 20 мая, 2022 Мне фиолетово куда он там перенес.Ты делай на SFML, с++ приятнее, и перспективнее. Нужно взять SDL2 версию, и заменить на SFML. Так осталось исправить 60 ошибок. После исправления 100500 ошибок удалось скомпилировать как C++ код. При загрузке игры сразу run time error:)Удалось собрать код как С++ и исправить падения. Немного поиграл, падений не было. Теперь можно разрабатывать на С++. Теперь осталось понять как мержиться с основной веткой и получать исправления багов. Залил на свой гитхаб.https://github.com/JordanCpp/Fallout-2---Reference-Editionдобавлено позжеНа гит физически добавил библиотеки zlib и fpattern. Собирается студией 2019 и 2022.добавлено позжеНужно смержиться с SDL версией движка. После чего выделить основные файлы движка в библиотеку. Для возможности писать тесты.Внес изменения из SDL2 версии. Пришлось поправить код. Игра запускается, но в главном меню не работает курсор. Невозможно даже начать игру. Как поправлю, сделаю коммит на гитхаб. Ссылка на комментарий
Генерал Максон Опубликовано 21 мая, 2022 Поделиться Опубликовано 21 мая, 2022 Немного не по теме, но меня всегда удивляло, почему в Fallout 1 и 2 нет возможности пользоваться "горячими клавишами" в главном меню? В играх прошлых лет это ведь была распространённая практика.Поправьте меня, если я не прав, но, вроде на титульном экране работает только мышь. Egon Spengler - Classic Games Ссылка на комментарий
Jordan Опубликовано 21 мая, 2022 Автор Поделиться Опубликовано 21 мая, 2022 Немного не по теме, но меня всегда удивляло, почему в Fallout 1 и 2 нет возможности пользоваться "горячими клавишами" в главном меню? В играх прошлых лет это ведь была распространённая практика.Поправьте меня, если я не прав, но, вроде на титульном экране работает только мышь. В главном меню из горячих клавиш работает Esc и Ctrl-R. Поправка. Оказывается горячие клавиши работают, к примеру N для новой игры. И код это подтверждает.Воть, только через 20 лет узналдобавлено позжеВ главном меню, нажмите N и при выборе персонажа T. 1 Ссылка на комментарий
Генерал Максон Опубликовано 21 мая, 2022 Поделиться Опубликовано 21 мая, 2022 Jordan, надо же! Всё-таки работают! Тоже узнал только спустя два десятилетия Egon Spengler - Classic Games Ссылка на комментарий
Jordan Опубликовано 21 мая, 2022 Автор Поделиться Опубликовано 21 мая, 2022 Перенес поддержку SDL2. Корректно работает в полно экранном режиме. если играть в окне проблемы с мышью. Вот архив с исполняемым файлом. https://github.com/JordanCpp/Fallout-2---Reference-Edition/blob/master/fallout2-re.zip Распаковать в папку игры и запустить fallout2-re.exeдобавлено позжеДумаю, что правильнее перенести изменения по поддержке С++ в проект автора https://github.com/alexbatalov/fallout2-ce. Так как автор продолжает фиксить баги. И уже от этой ветки сделать форк. Ссылка на комментарий
Jordan Опубликовано 21 мая, 2022 Автор Поделиться Опубликовано 21 мая, 2022 https://github.com/alexbatalov/fallout2-ce Данный проект является переводом движка на SDL2 + автор перевел исходники на C++. Если создавать форки, то именно от этой версии. Предлагаю переносить функционал Sfall именно в эту ветку. 1 Ссылка на комментарий
Mr.Sталин Опубликовано 21 мая, 2022 Поделиться Опубликовано 21 мая, 2022 нет возможности пользоваться "горячими клавишами" в главном меню?есть. просто их никто не юзает. по тыкай по клавиатуре и запиши на память. Ссылка на комментарий
Mr.Sталин Опубликовано 21 мая, 2022 Поделиться Опубликовано 21 мая, 2022 Предлагаю переносить функционал Sfall именно в эту ветку.Я не буду участвовать в этой оргии - для меня в этом нет смысла.У русских все рано будет свой проект, зачем нам эти забугорные. Ссылка на комментарий
Jordan Опубликовано 21 мая, 2022 Автор Поделиться Опубликовано 21 мая, 2022 Сделал форк. Первым изменением добавил класс FpsLimiter, для ограничения fps в игре. Теперь ноут не шумит. Вот форк.https://github.com/JordanCpp/fallout2-ceдобавлено позжеЯ не буду участвовать в этой оргии - для меня в этом нет смысла.У русских все рано будет свой проект, зачем нам эти забугорные.Я сделал форк. Теперь это мой проект, и можем пилить без забугорных, но изменения из их проектов, исправлении багов, можем мержить в свой проект. И делиться тоже. Я могу добавить в описание Russian Edition:)добавлено позжеМр. Сталин делай форк вноси изменения. Как только в проекте поправят баги внесённые при декомпиляции, можем залить на Gitflic и уже дорабатывать там. Или давай зальем проект на Gitflic, я буду в свой форк вытягивать изменения и делиться с тобой. Будем разрабатывать вместе и изменениями делиться.добавлено позжеРаботы полно, нужно интерфейс подправить для высоких разрешений как размер, так и позиционирование.Вот прошляпил. Отправил реквест от мастераhttps://github.com/alexbatalov/fallout2-ce/pull/8добавлено позжеМр. Сталин как ты видишь разработку? Объясни план действий. 1 Ссылка на комментарий
Mr.Sталин Опубликовано 22 мая, 2022 Поделиться Опубликовано 22 мая, 2022 Я пока отдыхаю (от кода движка F2).а то мозг уже закипает от этого с/с++, я пока на с#/vb.net проги по обновляю. уже соскучился по .net Мр. Сталин как ты видишь разработку? Объясни план действий.Пока думаю, обдумываю.Но походу планы у нас с тобой будут расходится. Ты слишком на глобальные планы замахнулся.Хотя может я буду параллельно и твоим форком заниматься и sfall не бросать. Работы полно, нужно интерфейс подправить для высоких разрешений как размер, так и позиционирование.окна да там легко все, да и для HRP все есть уже в sfall, надо скопировать код.блин щас реально нет желания, пока заниматься этими исходниками. Ссылка на комментарий
Jordan Опубликовано 22 мая, 2022 Автор Поделиться Опубликовано 22 мая, 2022 Я пока отдыхаю (от кода движка F2). а то мозг уже закипает от этого с/с++, я пока на с#/vb.net проги по обновляю. уже соскучился по .net Я наоборот отдыхаю от C#, соскучился по байтоложеству на С++ Пока думаю, обдумываю. Но походу планы у нас с тобой будут расходится. Ты слишком на глобальные планы замахнулся. Хотя может я буду параллельно и твоим форком заниматься и sfall не бросать.Нет глобальных планов (по крайней мере в ближайшей перспективе), просто развивать двиг, править баги, рефакторить. Не хотелось бы разделяться на проекты без весомой причины. Моддеров мало, нам нужно наоборот двигать проект вместе.добавлено позжеокна да там легко все, да и для HRP все есть уже в sfall, надо скопировать код. блин щас реально нет желания, пока заниматься этими исходниками. На данный момент высокие разрешения работаю нормально, просто некоторые окна и панели находятся в левом верхнем углу. Я хочу заниматься исходниками. Но прям беда с этими глобальными переменными. Если я пишу новый класс и хочу его заюзать, нужно или явно передавать через параметры, а значит нужно пробрасывать через все вызовы. Или создавать глобальный объект и юзать. Не хочется синглтоны по всему движку размазывать. Или параллельно переносить переработанный функционал движка, в новый. Но это так просто мысли. Ссылка на комментарий
QweSteR Опубликовано 22 мая, 2022 Поделиться Опубликовано 22 мая, 2022 Зачем нужен режим в окне? Вот если бы вы сделали возможность активировать очки из инвентаря (но только одни), т.е. без надобности брать их в руки. Ещё лучше добавить отдельный слот в куклу (как это в Ван Бурен), но то уже вообще мечта. И с очков снимается эффект при надевании силовой брони (как минимум с солнцезащитных). Fallout 1&2, RP, Nevada, Sonora, Resurrection, Olympus, Fallout 3 - создание персонажа и подсказки. Wasteland 2: DC и Wasteland 3 - создание отряда, проверки, спутники, секреты. TOP 100 CRPG - мой рейтинг | DTF - мой блог по CRPG | realmsdenis@list.ru | Telegram @QweSteR | Discord QweSteR2221 | ВК Ссылка на комментарий
Mr.Sталин Опубликовано 22 мая, 2022 Поделиться Опубликовано 22 мая, 2022 А ты все со своими очками)) неположено так.добавлено позжеС глобальными переменными - ты что собираешься все в реальные классы переделывать.... Самоубийца??) Просто нужно в наймспейсы все обернуть, короче как сделано в sfall с глобальными доступ через двоеточие, и классы статистические.добавлено позжеТы меня пугаешь всякими такими мыслями аля добавления lua и новых xml форматов - с такими целями тебе новый двиг делать надо - мне с этим не попути. 2 Ссылка на комментарий
Jordan Опубликовано 22 мая, 2022 Автор Поделиться Опубликовано 22 мая, 2022 Мр. Сталин я озвучил идеи на будущее, то что бы я изменил в движке. В ближайшее время я этим не буду заниматься. Сейчас приоритет правка багов, перенос функционала sfall, добавление новых фич. Не пугайся, спокойно пилим двиг. Если, что я создам ветку от проекта и буду впиливать свои программерские фантазии в виде lua и остального непотребства. Мой внутренний перфекционист ужасается, но да делать нужно, как ты предложил. Перепиливать все на классы, это точно нет. Ссылка на комментарий
Mr.Sталин Опубликовано 22 мая, 2022 Поделиться Опубликовано 22 мая, 2022 В общем.Из основных идей которые бы я делал - это реализация встроенного маппера. Т.е. перенос функций кода из базы маппера в двиг. Разделить слои рисования карта рисуется в один буфер, интерфейс в другой буфер к каждому буферу применяется свои sfall шейдеры.Курсор также отделить от этих слоев.В общем по графике там делов полно. Еще меня напригает sdl/sfml я бы их вообще не использовал а заменил на собсвенные реализации где мы бы имели полный контроль над кодом а не то что там папояли сторонние говнокодеры.- так как не понятно как использовать шейдеры sfall, растяжение тексур и прикручивать другой функционал. Все фичи уже есть в sfall - просто пренести.Нет таких фич которые нельзя было бы сделать в sfall (структуры только нельзя менять в sfall) Перечисли свои фичи которых нет в sfall.добавлено позжеСука смотришь на все эти структуры и ужасаешься от этого говна в стили С - сколько переписывать то нужно. Легче забить на это все)))) Ссылка на комментарий
Jordan Опубликовано 22 мая, 2022 Автор Поделиться Опубликовано 22 мая, 2022 Из основных идей которые бы я делал - это реализация встроенного маппера. Т.е. перенос функций кода из базы маппера в двиг. Поддерживаю, только физически не разделять маппер с двигом, просто в главном меню будет кнопка редактор. При нажатии загружается редактор и обязательно реализовать запуск карты, для тестирования. Еще меня напригает sdl/sfml я бы их вообще не использовал а заменил на собсвенные реализации где мы бы имели полный контроль над кодом а не то что там папояли сторонние говнокодеры. - так как не понятно как использовать шейдеры sfall, растяжение тексур и прикручивать другой функционал. Родная душа, тоже любишь писать велосипеды. Вот мой проект LDL - типа понял на что намек.https://github.com/JordanCpp/LDL Примерыhttps://github.com/JordanCpp/LDL/tree/master/examples Поддерживает OpenGL 1.2 и рисование в буфер. Не содержит явных внешних зависимостей. Только файлы типа stb header only library. Сам не люблю лишние громадные зависимости. Посмотри может следует его допилить. Можем добить до требуемого состояния для движка. Сука смотришь на все эти структуры и ужасаешься от этого говна в стили С - сколько переписывать то нужно. Легче забить на это все)))) Понимаю, всю боль)) Пойду дальше погружаться в код)) Перечисли свои фичи которых нет в sfall. Не то, что бы фича но есть желание, прикрутить компилятор скриптов в двиг. Что бы скрипты из ssl компилировались пр загрузке локации. Компилятор есть, интерпретатор есть. Нужно только соединить. Возможно компилировать не сразу в озу, а в кеш скриптов - каталог в папке с игрой.добавлено позжеЕще предлагаю отказаться от zlib на miniz https://github.com/richgel999/miniz Всего два файла .c и .h Но с zlib не полностью совместим, нужно будет переписать работу с gzip файлами. Заменить api на miniz. На уровне api в двиге ничего не поменяется.добавлено позжеЕще можно брать код из https://github.com/falltergeist/falltergeist. С++ и ООП во все стороны)) добавлено позжеЕще хочу поддержку таких карт добавлено позжеНамодим так намодим))добавлено позжеЗачем нужен режим в окне? Вот если бы вы сделали возможность активировать очки из инвентаря (но только одни), т.е. без надобности брать их в руки. Ещё лучше добавить отдельный слот в куклу (как это в Ван Бурен), но то уже вообще мечта. И с очков снимается эффект при надевании силовой брони (как минимум с солнцезащитных). В окне удобно играть когда запущен мессенджер, что бы оперативно отвечать. Переключение к другим программам быстрее. Оконный режим необходим для маппера. Что бы переключаться между утилитами по моддингу. Слот для очков могу добавить в виртуальный бэклог. Добавление слота, сразу создаст несовместимость со старым фолом на уровне карт. К примеру если криттеру дать очки, то инвентарь хранится в карте. Изучу вопрос. В любом случае будем проект развивать и добавлять новый функционал. Ссылка на комментарий
Mr.Sталин Опубликовано 22 мая, 2022 Поделиться Опубликовано 22 мая, 2022 хотелки для очков недолжны ломать оргинальную механику - такие и подобные фичи отсекать или делать мод отдельно в скипте а не пихать все в код, загромождая его отсебятеной.Всякие доп. слоты на лобке у игрока тоже в мусорку. Нарисуйте для начало новый интерфейс потом предлагайте. добавлено позжеДля очков и сейчас скриптовой мод сделать чтобы они работали в инвенттаре только это стремная задумка нафиг не нужна кроме одного человека) Ссылка на комментарий
Jordan Опубликовано 22 мая, 2022 Автор Поделиться Опубликовано 22 мая, 2022 Для юзания шейдеров нужен современный opengl 3. Нужно будет написать всю графическую часть на opengl 3. Думаю нужно начать с чего то простого.добавлено позжеК примеру берём LDL допиливаем работу с альфа каналом изображений. Добавит обработку клавиатуры. Уже минимальный фреймворк без лишних зависимостей готов. Растяжение текстур работает автоматом при задании размера текстуры при рисовании.добавлено позжеПотом можно прикрутить шейдеры. Главное Api будет прежним. Создать окно, вывести изображение, обработать ввод. Добавить систему шейдеров. Ссылка на комментарий
Mr.Sталин Опубликовано 22 мая, 2022 Поделиться Опубликовано 22 мая, 2022 прикрутить компилятор скриптов в двиг. Что бы скрипты из ssl компилировались пр загрузке локации.вот ты опять всякую фигню придумываешь - скрипты имеют макросы, условную компиляцию, или ты собираешься все .h файлы для каждого мода таскать с движком - для начало семь раз подумай потом предлагай)добавлено позжеЕще хочу поддержку таких карта я хочу тридэээ, ну детский сад.добавлено позжеЕще предлагаю отказаться от zlib на minizв чем разница?.добавлено позжеРодная душа, тоже любишь писать велосипеды.не то что велики, просто минимализм. Ссылка на комментарий
Jordan Опубликовано 22 мая, 2022 Автор Поделиться Опубликовано 22 мая, 2022 Как раз в LDL реализовал изображения в ОЗУ как массив байт CpuImage, так и непосредственно изображения как текстуры GpuImage. Следует добавить функционал обновления GpuImage байтами из CpuImage. GpuImage может выступать как буфер экрана.Посмотри под твои требования подходит?добавлено позжевот ты опять всякую фигню придумываешь - скрипты имеют макросы, условную компиляцию, или ты собираешься все .h файлы для каждого мода таскать с движком - для начало семь раз подумай потом предлагай) Забей, это я опять я борюсь с бинарными форматами. в чем разница?. Не тащить всю библиотеку zlib в проект. Ссылка на комментарий
Mr.Sталин Опубликовано 22 мая, 2022 Поделиться Опубликовано 22 мая, 2022 Потом можно прикрутить шейдеры.по шейдерам - вообще куча вопросов, и не понимания как и их прикручивать с этой кросcплатформеностью сраной. ты на люних сидишь? Ссылка на комментарий
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти