A 2D cross platform game development framework/library for the freepascal compiler and delphi

#pascal #freepascal #gamedev #library #framework #engine #delphi

Seenkao 2059e76996 Update zgl_fx.pas 2 éve
Zengl_SRC 2059e76996 Update zgl_fx.pas 2 éve
README.md 751a6856f2 Update README.md 3 éve

README.md

ZenGL version 3.28 + MacOS Cocoa - beta version + Green Engine v1.0

Eng
Rus

Eng:

zengl - the original site of the library's creator.

ZenGL - it is a library that creates window context for working with OpenGL on different platforms.

Development environment

  • Lazarus/FreePascal
  • Delphi

Supported platforms for Lazarus/FreePascal:

  • Windows 32/64
  • Linux 32/64
  • Android
  • MacOS Cocoa - beta version
  • MacOS Carbon (not tested, use version 3.12 if won't work)

Supported Platforms for Delphi:

  • Windows 32 (some demos will probably work with Windows 64 too, but certainly not all)

zengl for iOS - version that supports iOS (I have not verified).

Clicking on the image will take you to the video. Where I redo the 3rd demo. At the end of the video, it shows that you can make multiple input fields.

demo3 remake


Communication: [email protected] You can also contact me on the Lazarus forums or ZenGL and express your wishes and shortcomings.

You can support through Sberbank: 2202200951985520


Rus:

zengl - изначальный сайт создателя библиотеки.

ZenGL - это бибилотека создающая контекст окна для работы с OpenGL на разных платформах.

Среда разработки

  • Lazarus/FreePascal
  • Delphi

Поддерживаемые платформы для Lazarus/FreePascal:

  • Windows 32/64
  • Linux 32/64
  • Android
  • MacOS Cocoa - beta version
  • MacOS Carbon (не проверено используйте версию 3.12 если не будет работать)

Поддерживаемые платформы для Delphi:

  • Windows 32 (вероятно некоторые демо-версии будут работать и с Windows 64, но точно не все)

zengl for iOS - версия которая поддерживает iOS (мною не проверено).


В данной версии:

  • Добавлена библиотека Green Engine собственной разработки. Это вроде как дополнительное API для библиотеки ZenGL. Разрабатывалась ранее и клавиатура из Green Engine была добавлена в более ранние версии. Внимание!!! Работает только с ZenGL!!!

    • В данной версии GE создано независимое от платформы поле ввода. Должно работать на всех платформах, но на мобильных платформах и MacOS не проверено. Будет проверено и добавлено в исправления.

    • В дальнейшем ожидается доработка библиотеки GE.

  • изменены названия малой части процедур/функций, для более визуального восприятия. В частности utf8_GetID заменена на utf8_toUnicode так как она как раз переводит UTF8 в юникод.

  • добавлена функция function Unicode_toUTF8(Symb: LongWord): UTF8String; перевода из юникода в UTF8.

  • изменена и ускорена работа с текстом.

    • теперь вы не получите ошибку кода, если символа не существует при загруженном шрифте. Все не существующие символы будут отмечены знаком "?".
    • вы сможете писать на любом языке, но, если шрифт для этого не предназначен, все "не печатаемые" (не определённые в шрифте) символы будут так же отмечены знаком "?". При сохранинии такого текста в файл, вероятнее всего он будет выведен правильно.
    • в демонстрационной версии 6, показана работа со шрифтами. Если вам нужен шрифт определённого размера, вы должны с ним работать через procedure setFontTextScale(Index: LongWord; fnt: Byte);, она позволит вам более быстро работать с данным шрифтом. Если не постоянно, то смотрите демонстрационную версию.
    • дополнен ряд функций для работы с текстом-шрифтами. Смотрите в файле zgl_text.pas.
    • созданы процедуры для загрузки/сохранения текста procedure txt_LoadFromFile(const FileName: UTF8String; out Buf: UTF8String);, procedure txt_SaveFromFile(const FileName: UTF8String; const Buf: UTF8String);.
  • были исправлены некоторые ошибки в коде и изменены части работы с клавиатурой. keysLast (bold) - сейчас работает только для печатаемых клавиш.

  • введена процедура постотрисовки. Регистрируется с помощью zgl_Reg и флагом SYS_POSTDRAW. Срабатываете данная функция только после того как выведется всё в окно. Бывает нужно, когда нужно работать с видеокартой, но не нужно ни чего выводить.

  • теперь обработка клавиатуры/мыши/тачпада необходимо производить с помощью регистрируемой процедуры и флагом SYS_EVENTS. Производить их "очистку" больше нет необходимости.

  • добавленны комментарии в некоторые модули. Постарался сразу же добавить и на английском языке.

  • были исправления в части кода, о которых уже забыл... )))

при нажатии на картинку перейдёте на видео. Где я переделываю 3-ю демо версию. В конце видео показано, что можно делать несколько полей ввода.

переделка demo3


Связь: [email protected] Так же можно связаться со мной на форумах Lazarus или ZenGL и высказать пожелания и недоработки.

Поддержать можно через сбер: 2202200951985520