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

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

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

SDL3Lite

Тема в разделе "Мастерская", создана пользователем Jordan 63, 12 июл 2025.

  1. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    701
    Приветствую!

    Начал проект по реализации библиотеки SDL3 для старых и новых систем. проект называется SDL3Lite, я его пишу на С++ 98.

    Сейчас доступны версии.
    1. Windows 95+
    2. Debian 3+

    Поддерживаются рендеры на OpenGL 1.2 и софт рендер для очень старых ПК без аппаратного ускорения.

    Хоть проект пишу на C++, но наружу доступен совместимый С API SDL3.

    Для чего это нужно.
    1. Портирование проектов под старое железо с минимальными изменениями.
    2. Разработка игр или программ, к примеру для старого оборудования.
    3. Так как API един для всех систем, это намного сильно упрощает разработку.

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

    На данный момент я доделываю графическую часть и работу с вводом, клавиатура, мышь.

    В планах портирование под Windows 3.1 и DOS, с помощью Open Watcom 2.0.
    Для этого немного рефакторю код.

    Вообще мне нравится старые железяки, есть в них свое очарование:)

    [​IMG]

    Буду рад помощи, так как проект в начале своего пути, но уже не мало сделано.

    Тема на VOGONS.
    Новость на opennet.
    Статья на Хабре.

    Буду очень благодарен, если кто то создаст пост на reddit. Я так и не смог пройти их фильтры и модерацию. Все мои посты удаляются. Вот текст.
    Greetings!

    Repo: https://github.com/JordanCpp/SDL3Lite

    I am developing a lightweight version of the SDL3 library. I like programming for old computers. But this does not mean that I use assembler. The project is being developed on C++ 98 with minimal dependencies. And it already works on Windows 95 and higher. On Linux, Debian 3 and higher.

    This is a lightweight implementation of the SDL3 library. I really like the SDL3 library, but it saddens me that with each release of a new version, support for older systems is removed. Therefore, I decided to write a simpler version compatible at the API level. To support old and new systems, architectures, and operating systems.

    In future versions I plan to add support for Windows 3.1 and MS-DOS.
     
    Tigoro, rusty_dragon, AndyFox и 2 другим нравится это.
  2. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    701
    Помощь не обязательно должна быть именно кодом, возможно анализом кодобазы, тестированием проекта на своих ПК.

    Буду рад идеям или критике, как по коду, так и по проекту в целом. Я разрабатываю проект один, потому буду рад вашим коммитам.

    Не отпускает меня тема ретро программирования:)
    --- добавлено 12 июл 2025, предыдущее сообщение размещено: 12 июл 2025 ---
    Со стороны виднее, подскажите как привлечь контрибьютеров в проект? Одному конечно тяжеловато тянуть проект, я усилился дипсиком, к примеру для анализа и улучшения кода, он мне объясняет технические нюансы. Но этого мало, работы много.
    --- добавлено 12 июл 2025 ---
    Может кинуть клич в сообщество ретро программистов? Есть современные проекты под dos, старые консоли.

    Удобно написать один раз игру и автоматом портировать на все платформы куда портирована библиотека, с минимальными изменениями или вообще без изменений.
     
    AndyFox нравится это.
  3. AndyFox

    AndyFox

    Регистрация:
    22 июл 2009
    Сообщения:
    5.914
    VCFed и Vogons?
     
  4. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    701
    О VCFed не знал, что такое бывает. Почему бы и в том числе и туда:)
    --- добавлено 12 июл 2025, предыдущее сообщение размещено: 12 июл 2025 ---
    Возможно после портирования под DOS, энтузиасты подтянутся к проекту. Хотя не уверен. Dos это некий показатель того, что прям ретро ретро.
    --- добавлено 12 июл 2025 ---
    @AndyFox я рад любым идеям.
     
    AndyFox нравится это.
  5. AndyFox

    AndyFox

    Регистрация:
    22 июл 2009
    Сообщения:
    5.914
    Да, встречались сообщения, что DOS, OS 1.x/2x. и Win 1.x/2.x/3.x это ретро, а всё что новее — уже не торт.
     
  6. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    701
    На реддите пообщался в разных тема, комментировал. Но мои посты все равно трут. Хз, что там нужно сделать, что бы можно было посты публиковать.

    Это они на opennet.ru не общались. Мне за Windows 98 прилетел ушат комментариев.

    Боюсь там публиковать новость о портирование SDL3Lite под DOS, что там начнется:)
     
    Последнее редактирование: 12 июл 2025
    AndyFox нравится это.
  7. AndyFox

    AndyFox

    Регистрация:
    22 июл 2009
    Сообщения:
    5.914
    Jordan 63 нравится это.
  8. rusty_dragon

    rusty_dragon

    Регистрация:
    17 ноя 2007
    Сообщения:
    8.168
    На реддите каждый сабреддит - со своими хозяевами и правилами, которые стоит читать внимательно. Как правило, для защиты от ботнетов есть ограничения на публикации с новых аккаунтов. Плюс модераторы многих сабреддитов разной отбитости феодалы, которые травят всё неугодное по косвенным поводам, в особо отбитых случаях за публикацию требуют денег.
    --- добавлено 12 июл 2025, предыдущее сообщение размещено: 12 июл 2025 ---
    оупеннет как и лор имеет свой зоопарк блаженных завсегдатаев. Не нужно воспринимать таких комментаторов всерьёз или уделять им внимание. Кому проект может быть потенциально интересен новость прочитают, т.к. на новостную рассылку подписаны.

    Единственное, не знаю зачем вы взяли такое имя. Может быть путаница, непонимание со стороны сообщества SDL как попытка выехать на чужом имени. Тем более что сам проект SDL переживает не лучшие времена.
     
    Последнее редактирование: 12 июл 2025
    AndyFox нравится это.
  9. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    701
    Отсылка к SDL3 и его новому API + Lite облегченная версия. Не согласен с попыткой. Для того что бы выехать нужен зрелый проект, сейчас проект в активной разработке. Даже если проект и выедет на имени SDL3, это ни как не монетизируется, как я писал по вечерам код, так и буду делать. В моем случае я удовлетворяю свою потребность в созидании и разработке нового.

    Это я быстро понял, так как публиковался на linux.org.ru и gamedev.ru:)
    --- добавлено 12 июл 2025, предыдущее сообщение размещено: 12 июл 2025 ---
    Не нужно искать некий шкурный интерес там, где его нет. Все мои проекты на гитхабе, статьи на хабре о разработке движка Arcanum, никак не оплачиваются.
    Я просто делаю то, что мне нравится. Искренне, с юмором.

    Как говорится, очень хочется наносить пользу open source сообществу:)
     
    AndyFox нравится это.
  10. rusty_dragon

    rusty_dragon

    Регистрация:
    17 ноя 2007
    Сообщения:
    8.168
    @Jordan 63, я не осуждаю - дело ваше. Не понятна логика зачем делать похожее название, а не своё. Потому и указал на возможную путаницу и недопонимание.

    Также открытость открытостью. Но название SDL может быть зарегистрировано как торговая марка. Посмотрел, вроде нет упоминаний о торговой марке.

    Кто-то находит подобную глупость увлекательной. Кто-то специально гадит. Кто-то просто интернет-блаженный. Непонятно лишь какое всё это имеет отношение к теме сообщества.
     
    Последнее редактирование: 12 июл 2025
    AndyFox нравится это.
  11. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    701
    @rusty_dragon публиковался на массово посещаемых ресурсах.

    Реакция мягко скажем неудовлетворительная. Почитал посмеялся. Больше удивляла агрессия, у половины комментирующих прямо горит от того, что кто то может, хочет поддерживать старое железо. Хорошо что есть данный сайт и все в нем свои и на одной волне.
     
    AndyFox и rusty_dragon нравится это.
  12. rusty_dragon

    rusty_dragon

    Регистрация:
    17 ноя 2007
    Сообщения:
    8.168
    Известные предрассудки что новое всегда лучше старого.
     
    AndyFox нравится это.
  13. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    701
    Если постучат, то переименую проект. Такое было с windows commander. Microsoft пришла объяснила, кто здесь папа и далее стал Total commander.
    --- добавлено 12 июл 2025, предыдущее сообщение размещено: 12 июл 2025 ---
    Мне это напомнило новость: Сравнение производительности сеансов KDE Plasma на базе X11 и Wayland.

    Первый же комментарий:)

    А оказалось, что дидовский бинарный X11 адекватнее модного user-friendly вяленда. Парадокс — то, что должно было быть проще и быстрее, оказалось без пяти минут майнером, стабильно жрущим ресурсы.
    Дальше больше — если отчикать от иксов кучу абстракций (кривых, а то и вовсе ненужных), которые туда натаскали вредители в лице различных гномокед, то получается что иксы ни разу не тяжёлый тормоз, как нам рассказывают. Почитайте на хабре болгарина, как он напрямую с иксами через ассемблер работал — там много интересного расписано.

    Wayland пилят лет 15, столько времени сил, а на выходе решение 40-ка летней давности, точнее архитектуры которую ещё в прошлом веке заложили, оказалас и эффективнее и быстрее.
     
    AndyFox нравится это.
  14. rusty_dragon

    rusty_dragon

    Регистрация:
    17 ноя 2007
    Сообщения:
    8.168
    @Jordan 63, вяленый - очередной корпоративный саботаж по уничтожению линукс-десктопа. Этим летом новую драму устроили.

    Ну и предрассудки про Х11 они же и сочиняют, также как оговаривают Линукс и СПО. Оригинальный же автор Х11 жалеет лишь о том, что не взяли лицензию GPL с самого начала.

    С Х11 всё в порядке. А если что и делать(т.к. улучшать конечно всегда есть что) то Х12.
     
    Последнее редактирование: 12 июл 2025
    AndyFox и Jordan 63 нравится это.
  15. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    701
    Почему? SDL это стандарт можно сказать.
     
    AndyFox нравится это.
  16. rusty_dragon

    rusty_dragon

    Регистрация:
    17 ноя 2007
    Сообщения:
    8.168
    Подковёрные корпоративные безобразия в СПО сообществе.
     
  17. Strategus

    Strategus

    Регистрация:
    1 мар 2024
    Сообщения:
    195
    Jordan, что хотел написать то. Но уже и не знаю в какую тему - столько начинаний.... И одно в другое превращается ))

    В общем, в одной из тем или статей, есть упоминание, о том что геморой мол переворачивать RGB в BGR, ну что то такое было. Я вот тут подумал, для оптимизации надо, всё сразу при загрузке превращать в 32 битное число, ну или 16 битное, чтобы сразу 4 компонента было. Будет всё быстрее же. Ну и битовые операции можно подключить
    Типа того можно провернуть
    Код:
    uint32_t swapBytes1and3(uint32_t val) {
        // 1. Извлекаем XOR-разницу между 1-м и 3-м байтами,
        // совмещая их в одной позиции (например, в позиции 1-го байта)
        uint32_t x = ((val >> 16) ^ val) & 0x0000FF00;
    
        // 2. Применяем эту разницу к 1-му байту (он станет 3-м)
        // и к 3-му байту (он станет 1-м)
        return val ^ (x | (x << 16));
    }
    Да еще, можно преумноженую альфу использовать, для полупрозрачности в софт режиме.
     
    Jordan 63 нравится это.
  18. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    701
    Возьму на вооружение.

    Примерно так сделано в оригинальном SDL. Но я немного пошел другим путем, в софт рендере, для каждого типа массива пикселей к примеру rgb, bgr и т.д я делаю отдельную функцию которая с минимальными лишними проверками и преобразованиями копирует из источника в целевой массив пикселей. Это ускоряет копирование или преобразование из одного формата в другой.
     
  19. Strategus

    Strategus

    Регистрация:
    1 мар 2024
    Сообщения:
    195
    Но зачем тебе держать в разных форматах графику внутри одной программы? Исключение только редакторы графики...
     
  20. Jordan 63

    Jordan 63

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