Skip to content

Latest commit

 

History

History
88 lines (72 loc) · 3.8 KB

CHANGELOG.md

File metadata and controls

88 lines (72 loc) · 3.8 KB

Changelog

This is a changelog for Gwork. There are also notes on my blog

1.0

  • Added reflection to Gwork using Ponder reflection library. #30.

0.3.1

  • Add option to use SFML 2.5 cmake config. Thanks roepel@github. #94

0.3

  • 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 to Gwk::Input::GLFW3.

0.2

  • 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.

0.1

  • 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 with std::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 of codecvt 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.

Source code formatting

  • 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.