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

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

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

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

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

  1. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    529
    Чуть новостей.

    Провел серьезный рефакторнг проекта, добавил возможность выбора рендера при запуске приложения.
    Портировал фреймворк под Linux, сейчас проект собирается, выводится пустое окно. Портирую уже функционал, первая версия будет поддерживать только xlib.
    Работаю над потоковым проигрыванием музыки.
     
    Gamerun нравится это.
  2. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    529
    Исправил проблемы со сборкой под Linux.

    Пока работает вывод прямоугольника под Linux c OpenGL

    upload_2023-7-2_15-33-28.png
     
  3. Tigoro AI General

    Tigoro

    Регистрация:
    4 фев 2010
    Сообщения:
    3.063
    @Jordan 63, Debian 12. Не работают 2 из 15-ти примеров (№№ 14, 15) из Graphics и 1 из 5 (№5) из LDLC. Остальные вроде бы отображаются правильно (не сравнивал, есть отличия или нет с windows). Всё компилируется успешно. Что нужно для аудиопримеров я не знаю, работает но звука нет.
     
    Последнее редактирование: 2 июл 2023
  4. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    529
    --- добавлено 2 июл 2023, предыдущее сообщение размещено: 2 июл 2023 ---
    Под Linux пока заглушки. Пока отсутствует реализация над OpenAL.
    --- добавлено 2 июл 2023 ---
    Отлично. Уже прогресс. Спасибо за тест.
    --- добавлено 2 июл 2023 ---
    Версия 32 или 64 битная?
     
  5. Tigoro AI General

    Tigoro

    Регистрация:
    4 фев 2010
    Сообщения:
    3.063
    @Jordan 63, платформа amd64. Я был удивлен что они ещё не убили i386 на уровне установки, как в некоторых дистрибутивах.
    "Под Linux пока заглушки. Пока отсутствует реализация над OpenAL."
    Хорошо, я думал требуется нестандартная библиотека.
     
  6. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    529
    Я избегаю такие библиотеки. Хочу, что бы фреймворк был максимально портабельный и собирался легко и не принужденно используя только стандартные библиотеки.
     
  7. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    529
    Продолжаю портирование под Linux. На данный момент все примеры (15 шт) корректно запускаются и работают.

    Протестируйте пожалуйста, у всех ли все собирается и работает.

    Сборка стандартная.
    git clone GitHub - JordanCpp/Lib-LDL
    cmake ..
    make
     
    Последнее редактирование: 4 июл 2023
  8. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    529
    Для теста фреймворка собрал разрабатываемый мной двиг для Arcanum.

    Работает на Lubuntu под WM

    upload_2023-7-5_12-23-13.png
     
  9. Tigoro AI General

    Tigoro

    Регистрация:
    4 фев 2010
    Сообщения:
    3.063
    "На данный момент все примеры (15 шт) корректно запускаются и работают."

    $ ./14_TextureCopy
    Ошибка сегментирования
    (х.з., мыслей нет)

    $ ./15_AudioPlay
    X connection to :0 broken (explicit kill or server shutdown).
    Тоже не хочет, возможно из-за поломанного pulseaudio (пришлось прибить из-за ошибок debian 12), чистая alsa работает.
     
    Последнее редактирование: 8 июл 2023
  10. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    529
    Спасибо. Проект собирается и на lubuntu 16.04 и буду дальше экспериментировать с понижением версии дистра.

    Сейчас осталось, реализовать отсутствующий функционал для Linux и запилить поддержку звука.

    Думаю, что в конце месяце будет первый релиз. Постараюсь всё сделать.
     
    AxXxB нравится это.
  11. Чёрный Думер и все виды материала

    Чёрный Думер

    Регистрация:
    17 мар 2010
    Сообщения:
    2.421
    Учти, что она насмерть прибита к Windows и юниксоподобным на уровне исходников. Поэтому под DOS получится завести только через какие-нибудь NE/LX расширители, да и то придётся ей как-то подсунуть реализацию сокетов Беркли типа WatTCP (у нас, к слову, это в своё время не получилось).
     
  12. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    529
    Спасибо за информацию. Есть другой план, самому обернуть сокеты, создать свой API. Под DOS хорошо бы посмотреть реализации, как оно вообще работает.
     
    Чёрный Думер нравится это.
  13. Tigoro AI General

    Tigoro

    Регистрация:
    4 фев 2010
    Сообщения:
    3.063
    "Проект собирается и на lubuntu 16.04 и буду дальше экспериментировать с понижением версии дистра.", а есть практический смысл? или просто интересна совместимость
     
  14. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    529
    Больше интерес. Собирается на debian 4 но не работает:)
    --- добавлено 3 авг 2023, предыдущее сообщение размещено: 3 авг 2023 ---
    Для практического применения, не нужна поддержка и windows 95, XP, и даже 7. Но именно главная фича фреймворка, это поддержка старых платформ.

    Могу сказать, что обеспечение поддержки старых систем, не такая уж и проблема или трудозатраты. Около 1000-2000 строк на каждую платформу. Остальной код полностью кроссплатформенный.
     
  15. Чёрный Думер и все виды материала

    Чёрный Думер

    Регистрация:
    17 мар 2010
    Сообщения:
    2.421
    Вообще на самом деле есть. Как правило, чем больше платформ ты поддерживаешь, тем более гибкий, отлаженный и стабильный у тебя получается код, потому что универсальность вынуждает. Другое дело, что тут без фанатизма надо, то есть не пытаться исправлять любой косяк или неспособность старых систем за них - частности противоречат универсальности.
     
    Последнее редактирование: 9 авг 2023
  16. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    529
    Заметил такое. Я ещё код собираю под разные версии компиляторов, 32 и 64 бит. Старые и новые версии gcc, mingw, MSVC, код собирается и под visual c++ 6.0 (после добавления библиотеки freeType, не могу найти cmake с поддержкой visual c++ 6.0)

    Многие несовместимости выявил и устранил.

    Пока удаётся лавировать, у меня нет специального кода под конкретный компилятор, всё согласно стандарту С++ 98. К примеру под Dos из коробки нету потоков. Для Dos будут заглушки, пока не найду решение. Видел несколько реализаций для многозадачности под Dos, но пока не копал в эту сторону. И так когнитивная нагрузка велика.
     
    Чёрный Думер нравится это.
  17. Чёрный Думер и все виды материала

    Чёрный Думер

    Регистрация:
    17 мар 2010
    Сообщения:
    2.421
    CMake никогда не поддерживал Visual C++ IDE, насколько я знаю.
    Но зато он - вплоть до ветки 3.5.x включительно - поддерживал Visual Studio 6, с которым Visual C++ 6.0 также поставлялся.
     
    Последнее редактирование: 9 авг 2023
    Jordan 63 нравится это.
  18. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    529
    Давно не было новостей. Был в отпуске. Продолжаю допил фреймворка по ночам, с новыми силами:)
     
    Чёрный Думер нравится это.
  19. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    529
    Исправил часть сорцов туториала от NeHe по OpenGL, впилив часть сорцов библиотеки GLU. Думаю, добавить всю библиотеку исходниками.

    Ещё добавил исходникми библиотеки FreeType последней версии. Все зависимости ношу с собой:)

    Библиотека так же собирается новыми и старыми версиями gcc и msvc.

    Минимальная версия gcc, которую я смог найти и проверить gcc 3.4.5
    Минимальная версия msvc, Visual C++ 6.0

    Пробывал собрать Visual C++ 5.0, но 100500 ошибок. Версия слишком куцая, обеспечивать совместимость не буду, не вижу смысла. Совместимости с Visual C++ 6.0, хватает для сборки и тестирования под Windows 95 и Windows 98.

    Минимальная версия дистра на которой собирается фреймворк, Debian 4 (пока не внес изменения совместимости в общую репу, но из коробки поддерживатьс будет)

    Как то так.

    Текущие задачи.

    1. Добавить потоковое воспроизведение аудио. (На всех поддерживаемых ОС)
    2. Доделать подержку OpenGL3.
    3. Сделать API работы с текстом, через библиотеку FreeType.
    4. Доделать недостающий функционал под Linux.
    5. Документация.

    Если есть желание, присоединяйтесь к проекту. Буду рад помощи.
     
    Gamerun и Tigoro нравится это.
  20. Tigoro AI General

    Tigoro

    Регистрация:
    4 фев 2010
    Сообщения:
    3.063
    Наверное не прав, но ниже debian 6 наверное не очень актуально.если только для возможности переноса оч.старого кода на новые платформы. Правда плохо представляю что там может быть полезного )
     
    Последнее редактирование: 17 авг 2023
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление