Renamed GetNumCPUs() for GetCPUCount()
GetProcessPath() Added Haiku, BSD and Solaris implementations.
Added GetOSName()
Added GetOSArchitecture()
Changed some SOIL_load_image calls for stbi_load ( avoid depending in SOIL when isn't needed ).
Fixed a bug on cWindow::mFrameData, the structure values werent initialized and in some rare case scenario this provoked a crash.
Created a backend system for the window-input management. So now it will be a los easier to port to another windows library/platform.
Since this is a big commit, it's probably that some bugs where introduced, but i tested all that i could, and it's working fine.
I'll probably add a cursor manager backend because right now there is no cursor management at all, i removed the CreateCursor function because it was unusable.
Added Icon possibility to cUIPushButton.
Added default fonts for ui themes and global default font for all ui themes.
Changed how cUIGfx get shapes, now accept a new instance without shape.
Fixed how padding works on cUITextBox and cUITextInput.
Fixed font rendering in cTextCache when some text rendered with angle or/and scale ( it was breaking the model view matrix ).
Fixed a miscounting of the number of vertex for the cached text.
Fixed HaikuTTF destroy singleton ( now release fine the memory ).
Fixed a huge bug on the control states, now every control has a cUISkinState to keep the state data of the skined control.
Improved and made some fixes on cUISlider ( to work well with the scrollbar ).
Added debug helper functions.
Fixed some skin state changes.
Improved UI performance.
Changed EE_PLATFORM_WIN32 for EE_PLATFORM_WIN, and added as platform WIN64.
Added detection of 64bits compilation.
Implemented some asserts.
Added some functions for tex env managing.
Modified some enum names from renders.
Added a pixel separator for characters in the ttf creation ( optional ).
Moved some OpenGL and GLEW things to cGL, this is for a future implementation with OpenGL ES and without GLEW.
Tryed to fix a bad rendering bug when clipping controls with borders ( borders disappear ), i think that the hack is working.
Modified some name conventions.
Added a Memory Manager to trace memory leaks.
Fixed some memory leaks detected with the new memory manager.
Added an allocator for STL ( to use it with the custom allocation seted in the memory manager ).
Fixed Makefiles ( i wroke them ).
Added cTextureGroupLoader. Utility class to load the texture atlas saved shapes ( sync and async ).
Added cTexturePackerNode and cTexturePackerTex, both are helpers to create the texture atlas, and not visibles to the end user.
Added some helpers functions for file path management.
Added some new functions for cImage. scaling, resize, thumnails, copy image into image, and some others, and moved some cTexture functions to cImage.
Added stbi_info support for BMP,PSD,HDR,PIC in stb_image.
Added Progress() function to cResourceLoader, to know the current loading progress in percent ( 0%-100% ).
Added api calls to some classes. But i'm still looking how to work with DLL.
Modified some details in cTimer and cTimeElapsed.
The code was only tested on linux, so, still need some checking, but, it's a lot of code, so i'll commit it and fix bugs if it's necessary.
Fixed shader reloading.
Added pack loading for shaders.
Added support for direct loading of compressed textures ( direct upload to vram ).
Added cImage class.
Reimplemented the tResourceManager, now uses std::list instead of std::map, and added some new methods.
cShapeGroupManager and cShapeGroup now inherits from tResourceManager.
Rolled back eeUint and eeInt, now are fine again ( it was changed for testing ).
Added a Font Manager.
cShaderProgramManager is now using the tResourceManager.
Added support for Font async loading.
Changed Write overloading on cLog, for Writef, to avoid overloading errors.
Added tSoundLoader, a template used for the ResourceLoader.
Fixed PushText on the Console.
Added loading from memory on shaders.
Added FileExtension to get file extension.
Added to Packs ExtractToFile and Add using pointers instead of std::vectors ( to give flexibility ).
And fixed some minor bugs.
Added autocomplete to the console.
Added an optional define to compile without libsndfile ( you don't need it if you only need ogg format ).
Fixed some bugs.
Changed the way keys state are stored ( to support in near future, save keyboard and mouse states ).
Individual async texture loading is working but not very tested.
Still need some work optimizing the texture creation ( reimplement SOIL_create_OGL_texture avoiding the data duplication if not needed ).
Removed compiler warnings from zip_utils.
Fixed cTexture and cShape memory leaks ( now using std::vector by default to allocate textures on memory, removed manual dynamic loading because it's not working fine ).
Fixed cShaderProgram unloading.
Fixed a bug on cInifile.
Updated the Makefile.
Removed useless functions on Texture Factory.
Reordered load functions on Texture Factory.
Moved Draw calls to cTexture instead of Drawing inside the Texture Factory.
Added GetNumGPUs function on utils.
Renamed soil files.
Added optional compilation with LLVM.
Added TODOs, and defined the future of the developing of the library ( ordered by priority, starting the most important from the top ).