Всем привет!!!
Встречайте очередное обновление
>>> ZenGL 4.20.
<<<
Версия насколько возможно стабилизирована, надеюсь критических недоработок нет. Основной список изменений:
02.03.2026
- Исправлены проблемы для сборки програм под Delphi. Введено определение CPU64 именно для 64-х битного Delphi.
- Добавлен код для устранения бага, когда поле ввода (Green Engine) возвращая строку, могла "поломать" программу.
- Исправления в модуле "zgl_joystick.pas", теперь и динамические библиотеки правильно возвращают имя джойстиков. И если определилось несколько джойстиков, то и узнать "имена" можно у всех (не более 10, от 0 до 9).
26.02.2026
- Модифицирован проект для сборки динамических библиотек. Теперь достаточно выбрать под какую архитектуру собирать библиотеку (в настройках проекта).
23.02.2026
- Для LCL-приложений введена поддержка GTK3, QT5 и QT6. Реализация в основном в демках.
20.02.2026
- Изменена работа переменных "mouseDX" и "mouseDY", а так же соответствующих функций "mouse_DX" и "mouse_DY". Теперь они возвращают дельту X и дельту Y.
- Исправлены возможные проблемы при работе с ресурсами. Теперь придёт оповещение, если вы включили модуль в свой проект, но определение для модуля в файле "zgl_config.cfg" было отключено.
- Исправлены проблемы с загрузкой ресурсов, в частности со шрифтом. Приложение закрывается, если ресурсы не были загружены, а при создании шрифтов для таких случаев, устранены утечки.
16.02.2026
- LongWord в ZenGL переименован в Cardinal - везде. Так как Delphi, для 64-х битных систем считает LongWord равным LongLongWord (стараются соответствовать unix).
- Автоматически исправлены малые проблемы для 64-х битных программ, собранных в Delphi.
07.02.2026
- Оптимизирована процедура "tex_CalcAlpha" в модуле " zgl_textures". Оптимизирована под скорость работы, как часто используемая (требуется проверка, на всякий случай).
- Произведена оптимизация процедур в модуле "zgl_render_2d.pas" связанных с выводом изображения: "render_AddVertex4", "render_AddVertex6", "render_AddVertexTexture6", "render_AddColor4", "render_AddVCAColor4", "render_AddVCAColor6" и "render_AddColor6". Должно работать более быстро, но видно будет только на слабых машинах (для них и производилась оптимизация).
21.01.2026
- Внесены исправления в модуль "zgl_render_2d.pas". Исправления касаются пересылки массивов данных для вывода, что должно повысить производительность и уменьшило конечный код.
11.12.2025
- В модуль "zgl_matrix" введёно определение "USE_SINGLE", определяющее как будет производится работа с данными для матриц: Single или Double. Для использования обоих видов матриц следует создать свой модуль работы с матрицами.
03.11.2025.
- Корректировка возвращения mouseX и mouseY для Android. Теперь координаты для мыши только по нулевому тапу работают.
17.08.2025
- Удалены константы и переменные которые были реализованы для клавиатуры: KT_DOWN, KT_UP, keyDownRepeat, keyBoolRepeat, beginKeyDelay, repeatKeyDelay и keyDelayWork.
- Удалены процедуры с ними связанные: setKey_BeginRepeat и setKey_Repeat.
08.08.2025
- Исправлена проблема при попытке вывести не существующую текстуру.
- При создании нулевой текстуры "tex_CreateZero", если приходят нулевые данные, то они по умолчанию передаются в 1.
07.08.2025
- Корректирована работа ZenGUI. Теперь обработка мыши происходит нормально. Но по прежнему остались утечки при использовании диалоговых окон с эффектами и другие мелкие проблемы.
19.07.2025
- Устранены проблемы при попытке загружать файлы без указания имени и расширения.
18.07.2025
- Устранены возможные утечки (вероятно не полностью).
- Исправлена ошибка в имени функции "tex_GetTextureID" (было "tex_GetTextireID").
- Добавлен проект ZenGUI (вероятнее всего временно, нужен для тестов), но у него ещё много проблем.
17.07.2025
- Исправлена работа с мышью. Теперь очистка данных производится верно.
Так же в демках содержится последнее обновление эмулятора PZ Nes. Его можно собрать и под
Android и потестировать. Только на
android у вас должен быть контроллер, чтоб поиграть в игру. Запустить можно несколько игр, но я пока не реализовал выбор игр. Прощу прощения.
UPD: Забыл. Теперь все проекты для Android находятся в одном проекте с FPC/Lazarus. Под нужную платформу надо выбирать в настройках режим сборки (build mode). Они все настроены, потому нужно только выбрать нужный режим.
Так же были добавлены демки для старых версий Android. Мне это надо для тестирования.
Всем успехов!