﻿[ * ]   - исправлено/улучшено
[!*!]   - критический bugfix или масштабное изменение
[ + ]   - добавлено
[!+!]   - серьезное добавление
[ - ]   - убрано
(WinXP) - у изменения может быть указана платформа, если оно повлияло только на конкретную систему
#       - означает, что пункт не доделан или не протестирован и к использованию не пригоден
*       - означает, что пункт еще не был закоммичен

===============================================================================

Beta 3 ( отменен )

-----------------------

#[!+!] Добавление платформонезависимой и рендеронезависимой абстракций над API операционной системы и рендера соответственно. Интерфейс ICoreRenderer и интерфейсы спутники.
#[!+!] Плагин DNetwork, позволяет организовать сеть на основе протоколов TCP/IP и UDP/IP. Возможны как локальные соединения, так и интернет через сервис DGLE2 Arena.
#[!+!] Пример сетевой игры DAero. Поддержка игры до 6-и человек по локальной сети или интернету.
[ + ] Метод GetUnknownEventType интерфейса IBaseEvent и метод CastEvent интерфейса IEngineCore. Эти методы позволяют плагинами или пользователям регистрировать и отлавливать свои кастомные события.
[ + ] Метод GetUnknownType интерфейса IEngineCore. Позволяет узнавать типы кастомных пользовательских объектов.
[ + ] Метод LoadSplashPicture интерфейса IEngineCore. Позволяет менять картинку экрана загрузки движка.
[ + ] Интерфейс ISubSystemPlugin для возможности использовать внешние плагины для реализации некоторых ключевых подсистем движка, таких как рендер, звук, ввод и т.д.
[ + ] Компонент CDCTreeView, новые свойства для прочих компонентов.
[ + ] Метод GetResourceByFileName интерфейса IResourceManager.
[ + ] Вспомогательные методы интерфейса IBitmapFont: Draw2DSimple и Draw2DRect.

#[!*!] Тотальный реинженеринг и рефакторинг всего движка. Множественные мелкие исправления и улучшения.
[ * ] Ускорен рендеринг всех типов данных за счет фильтрации смены состояний отрисовки. Переписан менеджер состояний OpenGL.
[ * ] Улучшения в системе событий движка. Сделана более логичной и универсальной.
[ * ] Ошибки с матрицами и матричным стэком в Delphi.
[ * ] TWinMessage переделана для унифицированного использования под любой платформой.
[ * ] (Win) Консоль. Окно консоли появлялось в неправильном месте, если панель задач была не снизу. Корректно отображается русский язык (либо любой другой дефолтовый для системы) в консоли.
[ * ] Формат DCP паков изменился.
[ * ] Исправление багов и улучшения в редакторе пользовательских интерфейсов GuiEditor.
[ * ] Исправление багов компонент с отображением и сохранением цветов из StyleProvider
[ * ] Изменены параметры метода CreateTexture интерфейса IResourceManager.
[ * ] Методы интерфейса ITexture приведены в соответствие с обновленной архитектурой.
[ * ] Улучшен формат текстур движка DTX. Рекомендуется конвертировать текстуры в этот формат, т.к. он обеспечивает наибольшую скорость загрузки текстур.
[ * ] Исправлены ложные отсечения в 2D режиме. 
[ * ] Баг с не корректной загрузкой TGA текстур.

[ - ] В 2D при флаге PF_SMOOTH полигоны больше не сглаживаются т.к. это не поддерживается аппаратно. Используйте мультисемплинг. Сам флаг убран.
[ - ] Метод ShareWith интерфейса IRender.
[ - ] Сборка движка DGLE2 в статическую библиотеку.
[ - ] Флаг EIF_FORCE_API_INPUT и EIF_FORCE_API_SOUND.
[ - ] ClearDepthBuffer, IsSupported, ToggleStateCache методы интерфейса IRender.
[ - ] IShader и IProgram и все что с ними связано. Вместо пользовательских шейдеров будет граф материалов в дальнейшем.

===============================================================================

Beta 2 (17.03.2011)

-----------------------

[!+!] Реализация подсистемы ввода через DirectInput, используется движком по умолчанию. Принудительно использовать WinAPI Input можно задав флаг EIF_FORCE_API_INPUT при ините движка.
[!+!] Формат частиц(DPT) и редактор частиц.
[!+!] Формат спрайтов(DSP), редактор спрайтов и спрайтовый движов.
[!+!] Внутриигровое GUI и редактор GUI.
[!+!] Звуковая подсистема на основе MCI, может быть заменой DirectSound(который используется по умолчанию) если не требуется продвинутый быстрый звук или для не игровых приложений. Включить принудительно можно флагом EIF_FORCE_API_SOUND.
[ + ] Набор GUI компонентов с дизайном в стиле DGLE2 для утилит на C#.
[ + ] Пример "GUI", демонстрирует работу с пользовательскими интерфейсами.
[ + ] Пример "Sound", демонстрирует работу со звуковой подсистемой движка.
[ + ] Пример "Input", демонстрирует работу с подсистемой звука.
[ + ] Пример "SEngineSprites" и пример "SEngineShooter" демонстрируют работу со спрайтами формата движка "dsprt" и спрайтовым движком.
[ + ] Cобытие ET_ON_ENGINE_FATAL_MESSAGE для того что бы дать возможность пользователю обработать критические ошибки движка или приложения по своему.
[ + ] Механизм перехвата исключений в пользовательском коде при выставленом флаге EIF_CATCH_UNHANDLED.
[ + ] Профайлинг вызовов OpenGL, осуществляется в менеджере состояний. Вывести на экран можно консольной еомандой "rgl_profiler".
[ + ] Методы RegisterDefaultResource и UnregisterDefaultResource интерфейса IResourceManager. Позволяют использовать свои ресурсы по умолчанию, актуально для плагинов.
[ + ] Доделана реализация IMusic через MCI.

[!*!] Все утилиты переведены на C#.
[!*!] Доделана программа "DViewer" позволяющая просматривать форматы файлов и ресурсов поддерживаемых движком.
[!*!] Крупный BugFix практически по всем известным проблемам.
[ * ] Отрисовка букв, раздельное отображение превью и битмапа в FontGen.
[ * ] Исправлены ошибки offscreen рендера(метод SetRenderTarget). Корректная комбинация FBO с MSAA, а при отсутствие FBO, корректное копирование в RGBA текстуру.
[ * ] Частицы DPT перенесены из ядра движка DGLE2.dll в плагин расширения DGLE2_EXT.dplug.
[ * ] Улучшения и ошибки в C# хэдерах.
[ * ] Исправления с работой в режиме рендера в чужое окно или панель.
[ * ] Теперь музыкальные файлы(MID и MP3) могу быть загружены и из виртуальных файловых систем(например паков).

[ - ] Пример для C++ Builder'а Multirender. Возможность создавать несколько экземпляров движка для нескольких панелей которые принадлежат одному окну больше не поддерживается.

===============================================================================

Beta 1 (11.12.2010)

-----------------------

[ + ] Паки DCP и утилита для создания паков. Статические паки с быстрым LZO сжатием.
[ + ] Постобработка изображения, доступны эффекты Bloom, Blur, Monochrome. Реализуются интерфейсом IPostprocess.
[ + ] Сборка DGLE2 ассамблеи для C#.
[ + ] В формат моделей DMD добавлена поддержка фреймовой анимации.
[ + ] Матричный стэк для упрощения работы с 3D пространством.
[ + ] Интерфейс IMaterial для 3D, позволяет оперировать с материалами.
[ + ] В материалы добавлена поддержка NormalMapping'а и ParalaxMapping'а.
[ + ] Интерфейс ILight для 3D, управляет динамическими источниками света.
[ + ] PerPixel шейдерная модель освещения, используется по умолчанию.
[ + ] Встроенный генератор шейдеров.
[ + ] Доделан функционал интерфейса IMesh, добавлена поддержка VBO.
[ + ] Метод "CreateTexture" интерфейса IResourceManager позволяет создавать текстуры для использования в качестве render target'ов и depth текстуры.
[ + ] Метод "SetRenderTarget" интерфейса IRender, по зволяет рендерить в текстуру. При технической возможности используется FBO.
[ + ] Пример "LowLevel3DScene", демонстрирует матричный стэк, анимацию объектов, материалы, освещение с постпроцессингом изображения.
[ + ] Флаг "EIF_DISABLE_SMART_TIMING".
[ + ] Возможность изменять содержимое текстуры. Метод "SetPixelData" и "GetPixelData" интерфейса ITexture.
[ + ] Флаги "TLF_COORDS_MIRROR_REPEAT", "TLF_COORDS_MIRROR_CLAMP" для текстур.

[!*!] Переосмысление подхода к 3D подсистемам движка. Изменения в архитектуре интерфейсов и идеалогии.
[!*!] Доделана подсистема звука(DirectSound реализация). Добавлена возможность работы с каналами, трехмерным звуком и набор звуковых эффектов.
[ * ] Ошибка с загрузкой текстур из DDS.
[ * ] Множественные улучшения в работе с шейдерами.
[ * ] Исправлена работа частиц "Pyro" в 3D.
[ * ] (Win) Исправлены баги в подсистеме WinAPI Input. Метод GetMouseStates больше не сбрасывает дэльты, при флаге ICF_CURSOR_BEYOND_SCREEN убраны рывки.
[ * ] Исправлен и доработан скрипт по экспорту моделей из 3DStudioMax. Улучшен интерфейс и 3DStudioMax теперь не кажется зависшей во время экспорта.
[ * ] TGA текстуры грузились с ошибкой. R и B компоненты были перепутаны.
[ * ] Переработан механизм получения информации об операционной системе и объема видеопамяти.
[ * ] Исправлены множественные мелкие баги.

[ - ] Функция MulGL, теперь это делается через матричный стэк.
[ - ] Флаг ICF_FOREGROUND убран за ненадобностью.
[ - ] Метод SetTexture интерфейса IRender.
[ - ] Метод UseDefaultPipeline интерфейса IRender.

===============================================================================

Beta 1 RC4 Fix (22.03.2010)

-----------------------

[ + ] Добавлен перевод примеров "Particles" и "Sprites2D" для Delphi. Спасибо SkaT.
[ + ] Добавлена функция MulGL для перемножения матриц в порядке соответствующем привычному OpenGL.

[!*!] Исправлены критичные ошибки в Delphi хэдере.
[ * ] Повышена стабильность работы шейдеров в движке.
[ * ] Исправления и дработки плагина "Pyro".

===============================================================================

Beta 1 RC4 (15.03.2010)

-----------------------

[!+!] Абстракция движка DGLE2_Web_Wrapper позволяющая ему встраиваться в html страницы в качестве интерактивного объекта. Браузер может управлять им по средством скриптов(например JavaScript), враппер может подгружать из интернет файлы и запускать их движком. Проще говоря можно сделать браузерную игру на движке.
[!+!] Имплементация шейдеров GLSL, интерфейсы IUniform, IShader и IProgram. Шейдеры могут быть загружены(или созданы) менеджером ресурсов из текстовых файлов с расширением ".glsl" или ".program", во втором случае файл может содержать несколько шейдеров.
#[ + ] Программа "DViewer" для просмотра ресурсов поддерживаемых движком.
[ + ] Расширены интерфейсы звука и музыки(без реализации методов(!)). Для звуковых семплов добавлены эффекты.
[ + ] Плагин ActiveX позволяющий движку встраиваться в любое приложение поддерживающие ActiveX, например InternetExplorer.
[ + ] Плагин на базе NPAPI(Netscape Plugin Application Programming Interface) поддерживается браузерами Mozilla Firefox, Safari, Google Chrome, Opera, Konqueror.
[ + ] Сборка установщика NPAPI плагина для FireFox.
[ + ] Игровой пример "Asteroids" ремейк астероидов c использованием комбинированной 2D и 3D графики.
[ + ] Пример "AsteroidsEmbeded", сборка примера "Asteroids", может компилироваться как обычный EXE и как DLL которая может быть встроена в Web страницу по средствам DGLE2_Web_Wrapper'а.
[ + ] В метод "DrawMesh" интерфейса IRender2D добавлен флаг E_EFFECT2D_FLAGS, только EF_DEFAULT, EF_COLORMIX и EF_BLEND поддерживаются.
[ + ] Флаг EIF_FORCE_LIMIT_FPS устанавливающийся при ините движка, запрещает движку гнать на полную и выжимать из машины тысячи фпс заставляя видеокарты "идти на взлёт" и нагружая процессор, применим для казуальных игр.
[ + ] Метод "SetProcessInterval" интерфейса IEngineCore позволяет менять интервал вызова процедуры процесса движка уже после его инициализации.
[ + ] Добавлен метод "GetTimer" интерфейса IEngineCore, возвращает тики высокоточного таймера.
[ + ] Метод "RemoveResource" интерфейса IResourceManager, удаляет ресурс из списка ресурсов менеджера. За освобождение ресурса ответствененн пользователь.
[ + ] Метод "ShareWith" интерфейса IRender, позволяет разным инстанциям движка использовать общие графические ресурсы: текстуры, модели, шейдеры т.д..
[ + ] Флаг EIF_FORCE_16_BIT_COLOR устанавливающийся при ините движка, включает 16 битный цвет вместо 32-х битного. Полезно для старых интегрированных видеокарт.
[ + ] Пример "Multirender" для C++ Builder'а, демонстрирует создание нескольких экземпляров движка, каждый рендерит в свою панель(TPanel).
[ + ] Интерфейсы IParticleEffect и IParticleEmitter для работы с частицами.
[ + ] Плагин "Pyro.dplug" реализующий систему частиц на основе Pyro Particle Engine, скачать редактор частиц и посмотреть лицензию на использование Pyro можно на оффициальном сайте http://pyro.fenomen-games.com/.
[ + ] Пример "Particles" демонстрирующий работу с частицами.
[ + ] Интерфейс IRender3D дополнен функционалом необходимым для работы с 3D на низком уровне.
[ + ] Структура TMatrix для работы с матрицами.
[ + ] Пример "LowLevel3D" демонстрирует работу с IRender3D подсистемой движка.
[ + ] Структура TRectF дополнена меодами для определения коллизий.
[ + ] Переписано еще несколько семплов с C++ на Delphi, спасибо Dever'у.
#[ + ] Инициализация OpenGL 3.2 при наличае аппаратной поддержки. (эксперементально) 

[!*!] Теперь можно создавать сколь угодно много инстанций движка(multirender). Изменены прототипы функций GetEngine и FreeEngine. Добавлена функция CreateEngine, позволяющая создавать новые инстанции движка. Добавлен метод "GetInstanceIdx" интерфейса IEngineCore.
[ * ] В сигнатуре методов регистрации событий, пользовательских процедур, консольных комманд и загрузчиков форматов файлов появился параметр pParametr, ему пользователь может присвоить любой указатель, который в последствии придет в функцию обработки консольной команды.
[ * ] Ошибка в Delphi хэдере, неверно объявлен метод IRender2D "SetCamera".
[ * ] OpenGL хэдеры обновлены до последних с поддержкой OpenGL 3.2.
[ * ] Внедрение более гибкого уровня абстракции над WinAPI, движок может рендерить в произвольное окно реализующее интерфейс IWindowAPI(даже без HWND, например ActiveX Control).
[ * ] Теперь можно мышкой изменять размер окна консоли. :)
[ * ] Ошибка метода "DrawMesh" интерфейса IRender2D, если камера не была установлена, позиция меша на экране задавалась неверно.
[ * ] Перераспределение методов между интерфейсами IRender3D и IRender.

[ - ] Из библиотеки движка экспортировались дополнительные ф-и pGetPerformanceTimer, pRenderProfilerTxt и pLogEx.

===============================================================================

Beta 1 RC3 (16.02.2010)

-----------------------

[!+!] Внедрение гибкой системы плагинов(затронуло многие подсистемы движка).
[ + ] Внедрение системы событий.
[ + ] Из библиотеки движка экспортируются дополнительные ф-и pGetPerformanceTimer, pRenderProfilerTxt и pLogEx.
[ + ] Метод GetPath в интерфейсс IFile, возвращает путь до файла.
[ + ] Анимация появления окна сплэша.
[ + ] Возможность сборки без использования COM(для дальнейшей совместимости с другими платформами и компиляторами).
[ + ] Комментирование хэдера движка для возможности автодокументирования программой doxygen.
[ + ] В файловую систему добавлена возможность работы с каталогами.
[ + ] Добавлены статические меши и базовое 3D.
[ + ] Возможность отрисовки 3D мешей в 2D метод "DrawMesh" интерфейса IRender2D.
[ + ] Свой собственный формат текстур DTX с компрессией(используется навороченный качественный алгоритм а не скоростной как на GPU) и мипуровнями, позволяет хранить массивы текустур. Так же добавлена программа для конвертации текстур в формат DTX.
[ + ] Добавлен пример "3D_in_2D" демонстрирующий внедрение 3D моделей в 2D приложение.
[ + ] Возможность сборки движка без использования DirectX.
[ + ] Сборка движка и плагина расширений под платформу x64. (эксперементально)
[ + ] Метод "ScreenShotBMP" интерфейса IRender для создания скриншотов.

[!*!] Рефакторинг всего кода, повышение стабильности, много мелких исправлений и улучшений, приведение его в соответствие с нотацией DeeProSoft. Проделана огромная работа.
[!*!] Переработан менеджер ресурсов.
[!*!] Разделение движка на основной самостоятельный модуль DGLE2(содержит самый необходимый минимум, имеет малый размер) и системный плагин DGLE2_EXT добавляющий в движок кучу полезных возможностей и поддерживаемых форматов данных.
[ * ] (WinXP) Исправлен баг когда после перехода в оконный режим по Alt-Enter на экране оставался мусор.
[ * ] Загрузка DDS приводила к AV в Release сборке.
[ * ] При изменение размеров окна (если ENG_WIN_ALLOW_SIZEING) или размеров области рендера, при рендере в панель изображение теперь не дергается. 
[ * ] В 2D камере устанавливается теперь не отступ от нулевой позиции а координаты центра камеры.
[ * ] Ошибка приводившая к неправильному результату отсченеия в 2D для полигонов и массивов треугольников.
[ * ] Аппаратная генерация мип уровней для текстур работала не верно, мип уровни всегда генерировались программно.
[ * ] Анизотропная фильтрация для текстур никогда не включалась.

[ - ] Убран параметр OpenGLDriverDir из ф-и GetEngine.

===============================================================================

Beta 1 RC2 (07.10.2009)

-----------------------

[!+!] Паки DPQ с поддержкой шифрования, сжатия и фрагментации файлов(программа для создания паков пока отсутвует).
[ + ] Типы Vertex2 и Vertex3.
[ + ] DrawPolygon принимает текстурные координаты. Возможна триангуляция произвольного полигона.
[ + ] Дополнительный параметр BM_AUTO для 2D ф-и BatchRender. Включает пакетный рендер автоматически и выбирает оптимальный режим, если движок считает это эффективным.
[ + ] Ф-я получения движка GetEngine теперь принимает флаги настроек, "GET_ENG_FORCE_SINGLE_THREAD" - движок будет принудительно работать в одном потоке и "GET_ENG_FORCE_NO_LOG_FILE" - файл лога не будет писаться.

[!*!] Пакетный 2D рендер, обновлял пакеты каждый кадр, а должен был только на процессе.
[ * ] Параметр ф-и BatchRender BM_ENABLED заменен на два: BM_ENABLED_UEP - пакеты обновляются на процессе, BM_ENABLED_UER - пакеты обновляются каждый кадр на рендере.
[ * ] В 2D многократная смена камеры могла привести к неверным позициям спрайтов при пакетном рендере.
[ * ] Рефакторинг пакетного 2D рендера.
[ * ] Профайлеры движка выводят задержки с точностью до тысячных миллисекунды.
[ * ] Если в системе не установлена звуковая карта, а приложение пользуется звуком, то это приводило к ошибке.
[ * ] Рефакторинг 2D, для примитивов флаг PR_FLAGS перемещен в конец ф-и, DrawTriangles и DrawPolygon принимают Vertex2.
[ * ] Метод IEngineCore, AllowAutoPause переименован в AllowPause.
[ * ] Улучшена внутренняя работа с профайлерами. Можно запретить профайлеры коммандой "cr_allow_profilers 0".
[ * ] Переименованы консольные комманды, добавлены префиксы соответствующих подсистем.
[ * ] Все параметры ф-й типа int где на деле значение не может быть отрицательным переименованы в unsigned int.
[ * ] Исправлены все существующие на данный момент в двиге утечки памяти и предупреждения компилятора.
[ * ] Рефакторинг работы с окнами в ядре и консоле.

[ - ] Метод DrawTextBox2D интерфейса IBitmapFont, позже этот метод будет у интерфейса IGUI2D.
[ - ] Убрано все содержимое интерфейса IModel.
[ - ] Параметр width у ф-и DrawLine.

===============================================================================

Beta 1 RC1 (14.09.2009)

-----------------------

[!+!] Звуковая подсистема, умеет проигрывать звуковые и музыкальные файлы (.WAV, .MID, .MP3). В ENG_INIT_PARAMS добавлен флаг ENG_INIT_FORCE_NO_SOUND для отключения звука. Используйте этот флаг, если вы пользуетесь сторонней звуковой библиотекой. Примечание: Не все заложенные в интерфейсе ф-и реализованы.
[!+!] Внутренний StateManager фильтрует ненужные смены текстур, состояний и т.д.
[!+!] В параметры создания текстуры TEX_CREATE_PARAMS добавлены: TEX_CRT_PIXEL_ALIGNMENT_1, TEX_CRT_COL_BGR, TEX_CRT_COL_BGRA, TEX_CRT_MIPMAPS_PRESENTED, TEX_CRT_COL_COMPRESSED_RGB, TEX_CRT_COL_COMPRESSED_RGBA. Соответствующий функционал реализован в методе CreateTexture. Также реализована эмуляция всех методов на случай отсутствия аппаратной поддержки.
[ + ] Добавлены ENG_INIT_PARAMS, параметры инициализации движка.
[ + ] Ф-я RenderGL::IsSupported для проверки аппаратной поддержки различных фич.
[ + ] Ф-и для Scissor теста.
[ + ] Шрифтам добавлена возможность устанавливать scale, angle и относительную точку вращения.
[ + ] Ф-я LoadFile у интерфейса IMainFileSystem, загружает файл который может находится на диске или в поддерживаемом паке.
[ + ] Для текста добавлены возможность задавать по 4 цвета на букву и выводить текст в прямоугольник с переносам по словам и выравниванием.
[ + ] Для 2D добавлена камера с возможностью поворота на произвольный угол и задания масштаба.
[ + ] Добавлена возможность автоматически корректировать 2D под конкретное разрешение с учетом пропорций экрана.
[ + ] В ф-ю GetEngine добавлен параметр OpenGLDriverDir который позволяет указывать откуда грузить OpenGL32.dll это надо для мультирендера, так же добавлено две версии OpenGL одна рендерит графику программно, а другая через Direct3D9. Тем самым внедрена поддержка мультирендера.
[ + ] Возможность сборки движка в статический LIB файл для вкомпиливания в EXE.
[ + ] В параметры создания окна ENG_WINDOW_FLAGS добавлены парметры ENG_WIN_RESTRICT_ALT_ENTER, запрещающий переключатся в полноэкранный режим и обратно по Alt+Enter и ENG_WIN_RESTRICT_CONSOLE запрещающи вызов консоли по нажатию тильды("~").
[ + ] Возможность получения объема видеопамяти.
[ + ] Возможность использовать в 2D пакетного рендера, устанавливается функцией BatchRender.
[ + ] Пример "Batching2D" демонстрирующий работу 2D пакетного рендера.
[ + ] Две консольны комманды 2D подсистемы "2d_profiler" и "2d_drawbboxes".
[ + ] Системный профайлер. Консольная комманда "core_profiler".
[ + ] Для 2D ф-я DrawTriangles для рендеринга произвольной геометрии.
[ + ] Пример "Text", демонстрирует работу с текстом.

[!*!] Устранена ошибка в менеджере ресурсов приводящая к утечке памяти.
[!*!] Переработано 2D, множество изменений. Добавлены новые функции и оптимизации.
[ * ] Функции которые регистрируются в движке теперь требуют дерективы stdcall.
[ * ] Оптимизирована инициализации OpenGL, преинит теперь работает только если необходимо включить MSAA.
[ * ] Изменены QUALITY параметры загрузки текстуры.
[ * ] Доработана загрузка DDS текстур, добавлена поддержка мип уровней и компрессии.
[ * ] Модифицирована работа функции CreateTexture, упор был сделан на загрузку любых форматов, даже если нет аппаратной возможности.
[ * ] ResourceManager возвращает дефолтовые ресурсы если параметр filename - пустая строка или NULL.
[ * ] Переделан сэмпл Basic2D.
[ * ] Интерфейс IFont переименован в IBitmapFont.
[ * ] Переименованы структуры ColorRGBA -> Color4, Rect2D -> Rectf, Point3D -> Point3, Point2D -> Point2(для Point2 используются флоаты).
[ * ] Изменен способ скрытия курсора для окна теперь его видно в заголовке. Сделан более оптимальный способ не дающий курсору покидать пределы окна при использовании флага INPUT_EXCLUSIVE.
[ * ] Устранена ошибка в программе генерации шрифтов, когда последняя строчка текста могла резаться. Немного изменен формат шрифтов для возможности будущего запланированного перехода не юникод.
[ * ] Оптимизирована ф-я изменения параметров экрана, добавлена корректная обработка Alt-Tab и Alt-Enter.
[ * ] Собирается исчерпывающая информация о видеокарте, записывается в лог.
[ * ] Полностью переработан формат моделей DMD, введена спецификация 3.0, убрана задняя совместимость. Формат в движке еще не имплементирован.

[ - ] Убрана вся реализация 3D с целью его дальнейшей переработки.
[ - ] Ф-я Pr_DrawTriangle.
[ - ] Функции DrawSysFont и GetSysFontDimension.
[ - ] Параметр у моделей MDL_LD_USE_2D_COORDS.
[ - ] Поддержка раздельных цветов для вертексов модели.
[ - ] Сэмпл "Eng_and_GL" временно не работает по причине отсутствия 3D в текущей версии.
[ - ] Хедеры для C# устарели и пока не обновлены.

===============================================================================

alpha3 (07.07.2009)

-----------------------

[!+!] Подсистема ввода(Input Subsystem), работает с устройствами ввода (клавиатура, мышь, джойстик), WinAPI реализация(в планах и DirectInput).
[!+!] Добавлена поддержка шрифтов(формат DFT) и программа для их генерирование(FontGen).
[ + ] Загрузка моделей из бинарного формата DMD 2.1.
[ + ] Расчет фрустума для 3D и соответствующие проверки.
[ + ] Возможность получить AABB модели.
[ + ] В ENG_WINDOW_FLAGS добавлен флаг ENG_WIN_DONT_HOOK_MLOOP. Если он стоит, то при рендере в чужое окно движок не будет вызывать процесс и рендер сам, это будет происходить только при получении WM_PAINT, который пользователь должен слать сам на ApplicationOnIdle процесс.
[ + ] Добавлены ф-и GetPoint3D и GetPoint2D для переведения с экранных координат в 3D пространство и наоборот.
[ + ] Для моделей добавлены флаги MDL_LD_USE_2D_COORDS(модель загружается только с X и Y), MDL_LD_DONT_CALC_N_AND_T(приводит к тому что не производится расчет нормальей и тангент), MDL_LD_INVERT_NORMALS(меняет направление нормалей).
[ + ] Хедер и примеры использования движка в C#.
[ + ] Хедер и примеры использования движка с Delphi(Только(!) для тестов, хедер не дописан).
[ + ] В папку ".\Source\Utils\UtilTemplate" добавлена заготовка для создания утилит к движку.

[ * ] Немного оптимизирована работа VBO(переделана вся загрузка и инит).
[ * ] Исправлен баг, когда окно сплэша могло висет после инити движка.
[ * ] Исправлен баг с масштабированием не кратных степени двойки текстур, если аппаратной поддержки некратных текстур нет.
[ * ] Исправлен баг с проблеммами рендера на новых ATI.
[ * ] Немного изменен способ инициализации OpenGL, что бы при отсутсвии поддержки антиалиасинга не было даже попыток его устанавливать.

===============================================================================

alpha2 (26.06.2009)

-----------------------

[!+!] Менеджер движковых ресурсов (текстуры, модели и т.д.) ресурсов.
[!+!] Поддержка форматов текстур (TGA, PNG, JPG, DDS(пока не полностью только RGB и RGBA без мипуровней и компрессии)).
[!+!] Загрузка и отрисовка моделей DMD (1.0, 1.1, 2.0) с и без VBO (расчет нормалей и тангент спейса).
[!+!] Базовая 2D функциональность (примерно два десятка 2D методов) Автор кода: Surg66.
[ + ] Сплэш (окно с картинкой висит пока игра грузит текстуры и т.д.).
[ + ] VBO для геометрии.
[ + ] Установка текстуры для 3D с учетом мультитекстурирования.
[ + ] Возможность дерегистрировать процедуры в консоле.
[ + ] Добавлен флаг ENG_WIN_TOPMOST в ENG_WINDOW_FLAGS, он помещает окно движка поверх всех окон.
[ + ] Добавил сэмпл демонстрирующий совместное использование OpenGL и движка.
[ + ] Добавлен сэмпл базовой работы с 2D

[ * ] Загрузка BMP исправлена и может грузить BMP произвольного размера, побитовое выравнивание расчитывается автоматически, раньше BMP не кратные 2 могли загрузиться криво.
[ * ] Доработки функции загрузки текстур.
[ * ] Поменял внутреннюю структуру файлов(сурсов двига и структуру папок проекта) дабы проще было ориентироваться и расширять.
[ * ] Переделана HDFileSystem теперь работает на более низком уровне, несколько быстрее.
[ * ] Подправлена ZIPFilesystem, теперь работает более оптимально.
[ * ] Изменен способо создания движка, раньше он создавался при подключении DLL и убивался при отключении, теперь это происходит непосредственно при вызове GetEngine и FreeEngine соответственно.
[ * ] Устранен баг висящей консоли после закрытия окна движка.
[ * ] В параметры создания окна TEngWindow bool Allowsizeing был заменен на ENG_WINDOW_FLAGS	Flags.

[ - ] Из GetVirtualFileSystem убран параметр pak_filename.
[ - ] Из консольной команды gl_setmode убран параметр AllowSizeing

===============================================================================

alpha1 (22.06.2009)

-----------------------

Первый публичный релиз DGLE2.

===============================================================================

DGLEngine или DGLE1

===============================================================================

Для первой версии движка логи изменений не приведены, только даты и версии для исторической справки.

===============================================================================

DGLE 1.1 RC2 (30.04.2008)
DGLE 1.1 RC1 (13.04.2008)
DGLE 1.0 (28.01.2006)
DGLE 1.0 beta (28.09.2005)
DGLE 0.86 (26.06.2005)
DGLE 0.85 (10.06.2005)
DGLE 0.8 (26.03.2005)
DGLE 0.5 test (18.03.2005)
DGLE 0.1 alpha (20.02.2005)

===============================================================================