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

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

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

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

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

  1. Tigoro AI General

    Tigoro

    Регистрация:
    4 фев 2010
    Сообщения:
    3.151
    Я бы прислал, но моя уметь делать make/cmake/autoconf/gcc $@ и библиотеки подменять )
    --- добавлено 31 авг 2023, предыдущее сообщение размещено: 31 авг 2023 ---
    @longhorn_gnu, почему под линукс не компилировали пакет? отзыва вроде не было что работает-что нет на вашей системе
     
  2. Jordan 63

    Jordan 63

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

    Это нормально, что комитов нет. Проект ещё сырой, хотя уже многие подсистемы работают. Особенно графика. Ну и я думаю, что многих немного шокирует мой подход к поддержке старого железа. Но мне это по душе.
     
  3. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    535
    На данный момент переношу каждый класс в новый проект с учётом портирования под Dos и Windows 3.1. На каждый класс пишется тест. Иначе никогда не портирую. Тесты пригодятся для запуска на каждой портированной платформы.

    Все версии будут собираться из одного репозитория. Избегаю компиляторо специфичного кода, все зависимые штуки выношу в Config.hpp где в зависимости от версии компилятора и платформы определены #define.

    В общем коде, так же нет непереносимых возможностей. Для каждой системы свой каталог Dos/ Windows/ Unix/ + общий каталог Shared где содержится переносимый код.
    --- добавлено 1 сен 2023, предыдущее сообщение размещено: 1 сен 2023 ---
    Для себя напоминание.

    Протестировать фреймворк на возможность компиляции на следющих компиляторах.

    Borland C++ 2.0 и выше
    Borland Turbo C++ 1.0 и выше
    Microsoft C/C++ 7.0
    Visual C++ 1.0 и выше

    Данные компиляторы поддерживают нативно сборку для dos, windows 3.1

    Разрабатываю проект в MSVC 2022, тестирую под Dosbox с установленными компилятором Borland C++ 2.0

    ai.ibb.co_n7rqPJq_image.png
     
    Чёрный Думер, longhorn_gnu и Gamerun нравится это.
  4. longhorn_gnu

    longhorn_gnu

    Регистрация:
    26 июл 2023
    Сообщения:
    76
    Инструменты для разработки в системе не стоят. Места на диске мало. Я бы попробовал, но систему бы засрал "будь здоров".
     
  5. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    535
    Ну, что то вышло. Пока базовые примитивы.

    Код:
    #include <LDL/Equal.hpp>
    #include <LDL/EventQ.hpp>
    #include <LDL/Surface.hpp>
    #include <LDL/Conv.hpp>
    #include <LDL/Eventer.hpp>
    #include <LDL/Cpp/Render.hpp>
    
    int main()
    {
      LDL_RenderContext renderContext;
    
      LDL_Window window(&renderContext, LDL_Point2u(0, 0), LDL_Point2u(320, 200), "");
      LDL_Render render(&renderContext, &window);
    
      LDL_Event report;
    
      while (window.GetEvent(report))
      {
        render.SetColor(LDL_Color(32, 32, 32));
        render.Clear();
    
        render.SetColor(LDL_Color(9, 9, 9));
       
        render.Line(LDL_Point2u(0, 0), window.Size());
    
        render.End();
      }
    
      return 0;
    }
    ai.ibb.co_1MhwJFf_image.png
     
    Чёрный Думер и longhorn_gnu нравится это.
  6. longhorn_gnu

    longhorn_gnu

    Регистрация:
    26 июл 2023
    Сообщения:
    76
    Для ДОС совсем не плохо. Когда у версии для ДОСодрочеров откроются исходники и сама версия выйдет в свет, гляну что это за "чудо". Потом ещё если знаете английский, на vogons.org напишите. Там много сидит англоязычных "личностей" которые интересуются ДОСом. Может возьмут на вооружение. Ведь игры для ДОС делают до сих пор. Например, вот DOS haven : modern DOS games, new games for DOS . Я конечно этих людей не совсем понимаю, но пусть. Чем бы дитя не тешилось, лишь бы не плакало.
     
  7. Jordan 63

    Jordan 63

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

    Я английский понимаю, на крайн й случай есть онлайн переводчик страниц. Но общаться не смогу, мой английский очень плох для письма. Типа щито ты хощещь. Не хочу позориться.
     
  8. longhorn_gnu

    longhorn_gnu

    Регистрация:
    26 июл 2023
    Сообщения:
    76
    Вот это и хорошо. Потому что, игра или программа получится сразу под всё. Хочешь, иди на чердак, доставай первый пентиум и запускай на нём. Хочешь, на каком-нибудь Intel Core I9 запускай точно также на Windows 999999999. Разницы нет. Вот это и круто.
     
    Jordan 63 нравится это.
  9. longhorn_gnu

    longhorn_gnu

    Регистрация:
    26 июл 2023
    Сообщения:
    76
    Хочу спросить: можно ли, когда выйдет версия этого фреймворка для ДОС, можно, чисто технически, сделать оболочку для ДОСа вроде Windows 3.1? Всегда хотел написать свой GUI для ДОС, но поскольку мои знания программирования, только print "Hello World!", меня везде тролили. Не смотря на то, что ДОС устарел, его можно поставить даже на I9. Когда у меня был, баловался этим с кучей костылей.
     
  10. Tigoro AI General

    Tigoro

    Регистрация:
    4 фев 2010
    Сообщения:
    3.151
    Не так уж и много, если ставить то что действительно нужно, если же выполнять sudo apt install coder-all-language-included-with-all-world-sources это и террабайта в итоге не хватит.
    Да, lazarus, gambas весят много. Поддержка же git svn, cmake, make с gcc с минимальным нужным набором -dev - пакеты в десятках мегабайт измеряются. Наверное итого 100-200+, разворачиваются тоже незначительно. После установки системы из 19гб осталось свободно осталось 13гб. Обновления еще гигабайт съели. После установки пакетов разработки mc продолжал писать что свободного места еще 12гб. Так что в моем дистрибутиве под виртуалкой все примеры точно так же с компилировались (что не работало на железе, с ошибками так же и в виртуалке падало).

    "можно, чисто технически, сделать оболочку для ДОСа вроде Windows 3.1?"
    Если Полiт не понравилось ковырять, пробуйте, никто не запрещает ) 2D базовые примитивы необходимые и достаточные в наличии движка, как я вижу по примерам, и вряд ли будут утеряны при переносе под DOS. Только на наиподробнейший мануал с примерами, как было в книгах\справочниках\help-ах для QBasic или TurboPascal я бы не рассчитывал, поскольку это движок, а не язык программирования, т.е. какая-то база знаний будет нужна.
     
    Последнее редактирование: 3 сен 2023
  11. longhorn_gnu

    longhorn_gnu

    Регистрация:
    26 июл 2023
    Сообщения:
    76
    Ладно, потом как-нибудь под виртуалкой протестирую. У Евгения и Вас стоит *ubuntu. У меня Linux Mint. Скажу честно, дистрибутивы-родственники. Тестировать на разных деривативах Убунты нет смысла. Будет везде одно и тоже. Говорю Вам как линуксоид.
    Не, оболочка крута. Но меня выбесило сидеть с переводчиками. Когда я тестировал Полiт, меня Google Translate и Yandex занесли в список ботов)
    Я тоже так думаю.
    --- добавлено 3 сен 2023, предыдущее сообщение размещено: 3 сен 2023 ---
    За шутку 5 баллов)
     
  12. Tigoro AI General

    Tigoro

    Регистрация:
    4 фев 2010
    Сообщения:
    3.151
    @longhorn_gnu, "У Евгения и Вас стоит *ubuntu."
    У меня Crunchbang++ на базе Debian 12, по версиям библиотек это примерно соответствует Ubuntu 22.04+. Даже если дистрибутивы одинаковые, то железо, рабочее окружение (и несовместимости) на каждом рабочем месте разные, поэтому чем больше тестов, тем лучше для разработчика.
     
    Последнее редактирование: 3 сен 2023
  13. longhorn_gnu

    longhorn_gnu

    Регистрация:
    26 июл 2023
    Сообщения:
    76
    Знаю такой дистрибутивчик... Не плохой кстати. Легче Минта.
    О-о-у-у-у... Про своё железо я лучше скромно помолчу... Даже видеокарты, кроме встройки на 128 мб нету!!!
     
  14. Tigoro AI General

    Tigoro

    Регистрация:
    4 фев 2010
    Сообщения:
    3.151
    @longhorn_gnu, тем более хороший подопытный для теста.
     
  15. longhorn_gnu

    longhorn_gnu

    Регистрация:
    26 июл 2023
    Сообщения:
    76
    Ладно. Уговорили. Надо будет потом как-нибудь скачать образ Linux Mint и поставить на виртуалку, чтоб комп не засерать основной. Если надо, могу ещё проверить на Kali Linux. Пользуюсь в некоторых случаях.
     
  16. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    535
    Windows 3.1 это операционная система.

    Именно оболочку думаю возможно. На данный момент в dos поддерживается режим int 10, 320x200 и 256 цветов(или вариант с палитрой). Остальные режимы и более новые будут поддерживаться в будущем. Для меня сейчас цель обеспечить сборку всех вариантов из одного репозитория и главное это перенести весь код из текущей версии.

    Всё будет но несколько не быстро. Но потихоньку работа идёт. И рад, что идея многим участникам понравилась.

    Да примеры будут портированы под дос, но с упрощениями ввиде изображений в 256 цветов, и не будет поддержки OpenGL. Примеры с OpenGL не соберутся.
    Примеры я сам пишу или беру из туториалов в интернете и адаптирую под фреймворк

    Так это и отлично, фреймворк и расчитан на древнючее железо. Это его главная фича. За бортом не будет оставлен ни один процессор в радиусе 35 лет:)
    .
    --- добавлено 3 сен 2023, предыдущее сообщение размещено: 3 сен 2023 ---
    Чем больше тестов со сборкой и запуском примеров, тем лучше.

    К примеру на debian 4 код собирается, но не работает. Такие вещи интересно решать.
     
  17. longhorn_gnu

    longhorn_gnu

    Регистрация:
    26 июл 2023
    Сообщения:
    76
    Ну опять сказка про белого бычка. Опять начинать её не хочу.
    256 цветов для меня очень много.
    Это круто!
    По мне, это правильнее всего.
    Мне очень идея понравилась. Как я понял, судя по их помощи, и Bobbie и Tigoro. Только надо ещё у фреймворка будет добавить поддержку Windows 3.1. Будет полезно. И как ВЕСЬ фреймворк стабилизируется, напишу про него на Полигоне Призраков и Старом ДОСе.
    Да нас*ать на OpenGL.
    Ноутбук где-то года 15. Просто слабый.
    Хорошо. Попробую тогда потом.
    Так этот вопрос решили? Надо бы.
     
  18. longhorn_gnu

    longhorn_gnu

    Регистрация:
    26 июл 2023
    Сообщения:
    76
    И ещё. Как версия для ДОС будет готова, могу протестировать не на DosBOX, а на чистом MS-DOS 6.22 RUS.
     
  19. Jordan 63

    Jordan 63

    Регистрация:
    26 янв 2010
    Сообщения:
    535
    Будет здорово.

    Ещё нет. Времени на всё не хватает.

    Уже добавляю поддержку Windows 3.1 фреймворк будет нативно под ней собираться.
     
    Tigoro и longhorn_gnu нравится это.
  20. longhorn_gnu

    longhorn_gnu

    Регистрация:
    26 июл 2023
    Сообщения:
    76
    Слава богу. А то сейчас более-менее современных инструментов под Win3.1 не осталось.
    Просто MS-DOS 6.22 лучше на VirtualBox работает.
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление