1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

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

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

Пишу фреймворк LDL, аналог SDL но на С++ и с поддержкой старых систем

Тема в разделе "Мастерская", создана пользователем Jordan 63, 26 окт 2022.

  1. rusty_dragon

    rusty_dragon

    Регистрация:
    17 ноя 2007
    Сообщения:
    6.365
    Как раз свободная, чтобы поддерживали и возвращали код в проект, а не бесплатно использовали чужой труд в коммерческих решениях. Без такой лицензии коммерческие закрытые решения всегда будут лучше открытых, а массовые инфраструктурные библиотеки будут поганого качества. Именно поэтому BSD - труп.
     
  2. Чёрный Думер и все виды материала

    Чёрный Думер

    Регистрация:
    17 мар 2010
    Сообщения:
    2.435
    Так а кто мешает собирать несколько dll, но из одной кодовой базы, лежащей в едином репозитории? Проблема в распылении на множество репозиториев-то именно в этом, она ведёт к дублированию второстепенного кода типа всяких обвязок.

    Это колхоз, и притом очень большой, потому что никогда не надо терять историю коммитов. Во-первых она показывает, что проект не на коленке за час сляпан и какую-никакую историю правок имеет, а во-вторых она отражает последовательность изменений в коде, что бывает крайне полезно, если нужно понять, откуда что взялось (при помощи git blame, например).

    Вот сейчас у тебя там только два коммита, а ещё рядом лежит ветка master с куда большим числом коммитов, что создаёт жёсткую двусмысленность. :)
    Давай в телеграме свяжемся (@cher_nov), и я расскажу, как грамотно сделать?
     
    rusty_dragon нравится это.
  3. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    535
    @Чёрный Думер, выражаю огромную благодарность за приведением репы в порядок и сохранение истории коммитов. Спасибо.
     
    Последнее редактирование: 9 мар 2024
    Чёрный Думер нравится это.
  4. excitoon

    excitoon

    Переводчик

    Регистрация:
    12 янв 2023
    Сообщения:
    16
    Замечательный доклад, жаль, что не оффлайн проходил! Идея чем-то напоминает HX DOS Extender , там как раз поддержка вплоть до DOS и своей ОС. :)
     
  5. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    535
    Спасибо за отзыв. Посмотрю указанный проект. Раннее его не видел.
     
  6. excitoon

    excitoon

    Переводчик

    Регистрация:
    12 янв 2023
    Сообщения:
    16
    Возможно не по теме, но я тут подумал, что реально не хватает в Windows 95, так это поддержки WPF/XAML. Если её добавить, то в результате будет библиотека намного функциональнее, чем SDL.
     
  7. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    535
    Идею понял, но сама среда net точится под современные ОС и быстро устаревает, все остальные библиотеки работают на ней. Думаю, что это не возможно.
     
  8. Strategus

    Strategus

    Регистрация:
    1 мар 2024
    Сообщения:
    71
    В Досовских играх полно эффектов было, за счёт манипуляций с палитрами... Интересно, как ты это реализуешь, без реальной загрузки палитровых изображений? STB автоматически палитровые изображения превращает в RGB... Или предложишь пользователям загружать их в виде 256 оттенков серого? )) Вообще не понятно, как в твоем варианте будет работать подход единого Апи для всех систем. Ведь картинка в ДОС версии всегда будет ущербной, если её делать автоматом из 24битного цвета, а уж если большой атлас с кучей мелких спрайтов перегнать, так вообще беда получится же...
     
    Последнее редактирование: 30 мар 2024
  9. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    535
    Идея единого API в том числе и для старых систем типа DOS, в том, что игра или программа должна быть палитровой. На современных системах палитра эмулируется с аппаратным ускорением. И конечно ограничения, что досовскую игру возможно портировать под современные системы, обратно нет.

    Пока без эффектов, только одна глобальная палитра. Будет поддержка из коробки палитровых bmp, другие форматы с палитрой разработчик должен сам загружать и учитывать. К примеру в исходниках есть пример загрузки графики из Fallout 2. Демка написана с учетом дос и палитровой графики игры. Собирается и работает как под дос нативно, так и под современные windows. Просто нужно перекомпилировать. Это как пример и демонстрация единого API.
     
    Strategus нравится это.
  10. Strategus

    Strategus

    Регистрация:
    1 мар 2024
    Сообщения:
    71
    Ну тебе надо тогда сделать загрузку палитровых png, что бы палитру тоже создавал из файла...

    Тут вчера наткнулся на GitHub - megamarc/Tilengine: Free 2D graphics engine with raster effects for retro/classic style game development, там есть пример программы с картинкой, скалы, прибой... Палитровый png файл и еще какой то еще на 400 байт, который видимо отвечает за сдвиги в палитре и анимацию - даже не верится, что такое можно сделать, без нескольких кадров анимации... Правда там под дос уже не рассчитано, так что у тебя есть своя ниша...
     
  11. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    535
    Это трудоемко. Одно дело взять уже готовую библиотеку типа stb и просто обернуть в класс, другое дело с нуля реализовать загрузку данного формата. Я всё же за маленькое, но функциональное ядро библиотеки.

    Мне нравятся такие штуки изучать, некие такие хаки. Имея малое, получить большее. Не только в графике.

    Будем надеяться, что ниша вообще возможна. Я понимаю, что библиотека пока не приблизилась и к функционалу glfw, а уж про SDL я молчу. С другой стороны, все дополнительные плюшки, лучше реализовать в библиотеках расширения.
     
    AndyFox нравится это.
  12. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    535
    Проект живой, только пока времени не хватает. Поэтому давно не было коммитов. Но неотвратимо приближается отпуск, думаю нагоню время простоя проекта.
     
    Чёрный Думер, AndyFox и Tigoro нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление