This is a changelog for Gwork. There are also notes on my blog
- Added reflection to Gwork using Ponder reflection library. #30.
- Add option to use SFML 2.5 cmake config. Thanks roepel@github. #94
- Irrlicht renderer added. Thanks kklouzalk@github
- OpenGL Core renderer added. Thanks Megaxela@github
- Software renderer added. Draws to a texture.
- ResourceLoader and ResourcePaths abstract file locations and sources. #66.
- Resource loading and ownership refactored. Thanks TopBlast@github. #83 & #84.
- Retired Direct2D and GDI+ renderers.
- Added CrossPlatform platform. Null should do nothing!
- Added
Gwk::Log::Write()
so that error messages can be logged. - Renamed
Gwk::Input::OpenGL
toGwk::Input::GLFW3
.
- Online documentation added.
- DirectX 11 renderer and sample added. Thanks to topblast@github. #13
- Fix Windows platform. #13
- C++11
override
used everywhere applicable to marked overridden virtual functions.
- CMake is used to generate project files instead of Premake. CMake is much more comprehensive.
- C++11 used.
- SDL2 renderer added.
- Cache to texture optimisation implemented (Allegro only).
- Added a Null render target that doesn't render.
- This makes CI testing easier as no graphical API dependencies.
- Memory stats can be gathered more simply.
- UTF-8 everywhere. Unicode support simplified.
Gwen::UnicodeString
removed. This assumed that all Unicode was best as a wide encoding. This is not the case on all platforms.Gwen::TextObject
removed. This stored two copies of each string, one as ASCII and one in wide Unicode. This is no longer necessary as all Unicode is dealt with as UTF-8, which is backwards compatible withstd::string
.
- Added Travis continuous integration.
- This was hard work due to Travis' poor support for up-to-date compilers.
- Added memory allocation stats gathering.
- Allocations are recorded and stats generated. Allows stats and memory leaks to be viewed.
- Want to keep track of number & size of allocations. Hopefully this will be reduced in the future.
- Documentation:
- Any existing GWEN comments and docs formatted for doxygen.
- Docs currently very minimal as GWEN has almost no documentation.
- Linux GCC compilers can use
iconv
instead ofcodecvt
for Unicode conversion.codecvt
is a C++11 feature which Apple and Microsoft support, but GCC was slow to adopt in libstdc++. - No dependency on Bootil (Garry's personal library).
- Fixes for Allegro. e.g. text rendering.
- Many warnings fixed.
- The source code has been reformatted to be more consistent with other C++ projects and how I like it.
- Indentation: Spaces instead of tabs. Github, Google Code, etc use 8 space tabs. GWEN uses 4 space tabs. This messes up the indentation when reading code on Github.
- Brackets: Allman/BSD indentation.
- Line length ~100 chars. Github has width around 100. Easier for 3 way merge. Everything on regular screen.
- camelCase variables.