API Docs |
Tutorials |
FAQ |
Change Log |
Dev Log |
[ 2010-10-01 ] - Began work on Gel2D. - Set up file directories, API docs with doxygen, makefiles, compiling environment, test project, prototyped shared/static library framework, etc. [ 2010-10-04 ] - [ 2010-10-07 ] - Reorganized file directories, made numerous improvements to makefiles, compiling environment, API documentation structure, shared/static library framework, etc. [ 2010-10-11 ] - [ 2010-10-15 ] - Hooked up with GLFW for window creation, began prototyping engine framework. - Created GelMath class, containing function for acquiring random integers. - Continued to mature file dir layout, API docs, makefiles, compiling, etc. [ 2010-10-18 ] - [ 2010-10-20 ] - Created GelWindow and GelInput classes, encapsulating a lot of GLFW's window and input functionality. - Prototyped vector and vertex structs, and object and rendering classes. - Cleaned up GelEngine class, added function to get FPS. - Added math functions to get distances between vectors and objects, etc. - Documented alot of the new functionality. [ 2010-10-21 ] - Created GelObject class. - Added ability to render TGA images using GLFW. - Slightly improved rendering. [ 2010-10-25 ] - [ 2010-10-29 ] - Created Gel2dVec, Gel3dVec, and Gel4dVec classes. - Created GelColor and GelTexture classes to use with GelObject. - Cleaned up GelVert struct. - Added alot of new functionality to GelObject, including positioning, rotating, scaling, changing color and/or texture, and getting distance to other objects and vectors. - Extended GelRender to render GelObjects to the screen. - Documented alot of the new functionality. [ 2010-11-01 ] - Improved GelTexture image loading and rendering. [ 2010-11-02 ] - Made a few changes to GelObject and GelRender to apply and render vertex colors. [ 2010-11-03 ] - [ 2010-11-08 ] - Created GelCamera and GelScene classes. - Viewport is now setup and rendered in a new function that accepts a pointer to a GelCamera. - Created GelTimer class that can get/set time, get/set fps, get delta, and sleep. - Moved getFPS member function from GelEngine to GelTimer. [ 2010-11-09 ] - [ 2010-11-10 ] - Eliminated a few redundant functions in GelMath class. - Added texture coordinates to GelObject, and support for them in GelRender. - Further integrated Gel2dVec support in GelObject. [ 2010-11-11 ] - [ 2010-11-14 ] - Added support for multiple blending modes in GelObject, now supports alpha, add, and subtract. - Added basic support for tile animations in GelObject class. [ 2010-11-15 ] - Extended tile animation capabilities. - Added function to get texture's bpp. - Improved functionality and accuracy of GelTimer. - Various improvements to API documentation. [ 2010-11-16 ] - Added ability to choose different filter and wrapping modes for textures. - Created GelTextureAni class to handle tile animation setup/data. - Various improvements to tile animation functions. [ 2010-11-17 ] - Renamed class GelTextureAni to GelTileAnim. - Divided up tile animation work between GelObject and GelTileAnim, making numerous improvements. [ 2010-11-18 ] - [ 2010-11-19 ] - Revamped GelObject's flipTexture function to work with tile animation. - Improved GelTileAnim class, added support for different play states, etc. [ 2010-11-22 ] - [ 2010-11-26 ] - Created moveTo function, which adds delayed movement to objects, making animation smoother; added it to GelCamera class. - Cleaned up Gel2dVec class, overloaded lots of operators. - Added additional play states to tile animation and other improvements. [ 2010-11-27 ] -[ 2010-12-01 ] - Continued integrating GelTileAnim into GelObject class. - Created my own routines for reading PNG and TGA image files, and integrated them into GelTexture. [ 2010-12-02 ] - Made various improvements to PNG and TGA image loading routines. [ 2010-12-03 ] - [ 2010-12-06 ] - Made a few improvements to PNG and TGA image loading routines. - Upgraded Gel3dVec struct to class, overloaded operators like in Gel2dVec. - Added various Gel2dVec and Gel3dVec member functions to get lengths and dot products, and to normalize vectors. - Deleted Gel4dVec struct. - Added function to free image data after texture creation. - Created prototype for GelLine class. [ 2010-12-07 ] - [ 2010-12-08 ] - Made most accessor functions and constructors from all classes inline. - Added alot of new functionality to GelLine. [ 2010-12-09 ] - [ 2010-12-17 ] - Further improved GelLine functions. - Restructered GelTexture and GelTileAnim classes, GelTileAnim now inherits GelTexture, taking care of all tile animated stuff. - GelObject now accepts pointers to textures instead of copying them. - Moved tile animation accessor functions from GelObject to GelTileAnim. [ 2010-12-20 ] - [ 2010-12-21 ] - GelObject renamed to GelQuad, now inherits GelObject class. - Restructered GelObject class, putting all general object code in GelObject, to be reused with other inherited members. - GelCamera and GelLine also inherit GelObject now. - Created new functions for parenting objects, but very crude. [ 2010-12-22 ] - [ 2010-12-23 ] - Removed a few useless and redundant functions from GelMath. - Improved delayed parenting. - GelLine, GelQuad, GelCamera are now responsible for rendering themselves, rather than GelRender class. [ 2010-12-24 ] - Changed image loading functions to flip image data, changed UV mapping in GelQuad accordingly, etc. [ 2010-12-27 ] - Created GelBmpFont class. - Fixed a bug with loading textures. [ 2011-02-04 ] - [ 2011-02-07 ] - Completely overhauled GelWindow class, creating my own functions from scratch for creating/destroying window; getting/setting size, title, cursor position and window position; show/hide cursor; minimize, restore; getting screen resolution, and polling for events. [ 2011-02-08 ] - Added new functions for dynamically changing window mode and changing screen resolution. - Improved GelWindow member functions for sizing, minimizing, restoring, showing/hiding cursor, setting/getting cursor position, event polling, and window creation. [ 2011-02-09 ] - [ 2011-02-10 ] - Began separating win32 specific code from platform independent code in GelWindow class. - Made numerous improvements in all areas of GelWindow - Created top-level makefile for building Gel2D. - Made numerous other improvements to makefiles for library and examples, file dir organization, etc. [ 2011-02-11 ] - Continued organizing GelWindow class, fixing bugs, adding new functionality, etc. [ 2011-02-14 ] - [ 2011-02-16 ] - Improved makefiles and dir structure. - Fixed nasty bugs with GelBmpFnt class, now you can actually use it to some useful effect. - Did a little house cleaning in various classes including GelBmpFnt, GelCamera, GelRender, etc. - Wrote my own functions for keyboard input, and put it in GelInput in replace of the GLFW wrappers. - Significantly improved function for changing screen resolution. - Added support for querying list of video modes. - Various other improvements to window system. - Replaced all remaining dependencies on GLFW with my own code, and completely removed GLFW from Gel2D. - Made some improvements to API docs - Windowing system is now pretty well stabilized. [ 2011-02-17 ] - [ 2011-02-18 ] - Added support for mouse input. - Continued to fix bugs and improve GelWindow. [ 2011-02-20 ] - Created log function to output strings to file and console. [ 2011-02-21 ] - Made provisions for GelTexture to accept hard-coded image data. - Added function to write PNG images, but limited and buggy. - Added function to save screenshots of OpenGL buffer to PNG. [ 2011-02-22 ] - Spruced up video mode handling in GelWindow class. - Created GelImage class, putting all image read/write operations in static member functions. - Eliminated GelTileAnim class, moving all member functions and data to GelAnimQuad. - Removed GelQuad's support for GelTileAnim (inherited from GelTexture) textures. - GelAnimQuad class (inherited from GelQuad) is now responsible for tile animations, encapsulating most of what GelTileAnim used to do. - Restructured GelTexture class, making it work more efficiently with GelImage, deleted all virtual funtions that existed solely for GelTileAnim class, etc. - Fixed a few problems with writing PNG images. - Made a few improvements to logging and API docs. [ 2011-02-23 ] - Made GelEngine member functions static. - Made numerous improvements to the API docs, particularly GelWindow. - Added OpenGL mipmapping, although slightly buggy. - Numerous small changes to file directory structure and build system. - Eliminated a few bugs in GelQuad, GelImage classes. [ 2011-02-24 ] - Made GelInput and GelWindow member functions static. - Removed all platform specific code from GelWindow class and added more functionality. - Restructured win32 window implementation in cooperation with GelWindow. [ 2011-02-28 ] - Finished organizing win32 window functions. - Renamed GelBmpFnt class to GelText. - Created GelChar class which is basically a stripped down version of GelQuad. - Created GelFont class which now utilizes an array of GelChar objects to create a font, instead of every GelText object creating a series of display lists, which consumed an enormous amount of memory. - Added more features to GelText including character and line spacing, orientation, etc. [ 2011-03-01 ] - Added GelText support for character skewing, positioning, rotating, and scaling. - Removed render function for GelChar, GelText does all the rendering now. - Made other small improvements to GelText to decrease the amount of CPU required to render. [ 2011-03-02 ] - Studied and constructed particle system prototype, including GelParticle and GelParticleSys classes. [ 2011-03-03 ] - Added alot of new functionality to GelParticleSys. [ 2011-03-04 ] - Hooked up Gel2D with the Qt toolkit, and began development of a particle editor application. [ 2011-03-05 ] - [ 2011-03-10 ] - Continued developing particle editor, fixing bugs and improving Gel2D particle system. [ 2011-03-22 ] - Added ability to read and write Gel2D Particle System description files. - Integrated saving and loading particle systems in Gel2D Particle Editor. - Made various other improvements and continued to stabilize the particle editor. [ 2011-03-24 ] - Improved GelParticleSys read/write functionality. - Continued developing particle editor, fixing bugs. [ 2011-03-30 ] - Documented GelParticleSys class. - Improved the way particles were created and updated in GelParticleSys class. - Changed GelQuad and GelParticleSys rendering to map uv coordinates by pixel instead of typical 0-1 range. - Added mapRect() function to GelQuad and GelParticleSys to enable easy uv mapping. [ 2011-03-31 ] - Made a few changes to GelParticleSys, including improving the way particles are created. - Emission rate is now calculated in particles per second. - Prototyped GelAppBase, which is an inheritable application base framework to make Gel2D game creation easier, more flexible, and powerful. [ 2011-04-01 ] - Particle system description file updated with new functionality. [ 2011-04-07 ] - Fixed a nasty bug in GelLine class. [ 2011-04-20 ] - Drafted function to setup GelFont from a font description file. [ 2011-04-24 ] - Finished function to setup GelFont from a font description file. [ 2011-04-25 ] - Improved many areas of GelText, including functions for getting the length of a string. - Made provision for adding multiline support in GelText, although not functional at present. - Added copy constructor for GelFont. - Added width and height member data to GelChar. - Documented most of GelText's member functions. [ 2011-04-26 ] - Improved some of the GelWindow documentation. - Added alignment functionality to GelText - Added some enumerations to the gel namespace. - Made a few changes to GelCamera's render function. [ 2011-05-01 ] - Cleaned up and optimized a few old areas of code. - Changed some #defines to enumerators and moved them into gel namespace - Cloned Win32-specific window handling functions and began coding for X11 window system. [ 2011-05-02 ] - Continued writing X11-specific code for window manipulation, input, event polling, etc. [ 2011-05-04 ] - Finished migrating keyboard key #defines as enumerators into gel namespace. - Added some more keyboard key enumerators for printable characters and others. - Removed the last line of Win32-specific code from the cross-platform wrapper GelWindow. - Added function in Win32 and X11 window implimentation for restoring original video mode. - Made some improvements to existing X11 window handling. [ 2011-05-05 ] - Continued writing X11-specific code for window manipulation, input, event polling, etc. - Began drafting functions for cross-platform joystick input. [ 2011-05-09 ] - Drafted functions for projecting local object coordinates to screen coordinates (via gluProject()) for mouse intersection testing. [ 2011-05-10 ] - Continued developing projection and mouse intersection code. [ 2011-05-11 ] - Reversed projection code; I'm now going from screen to local object coordinates, and doing intersection testing from there. - Added new function and data members to GelObject, which now does most of the projection work. - Integrated new functionality in Gel2D Particle Editor's UV Mapper. [ 2011-05-12 ] - Added support in GelObject (and inherited classes) for collision bounds and mouse cursor intersection testing via circle and axis-aligned bounding box algorithms. - Overloaded most operators for GelColor. - Created GelGUIWidget class, an inheritable base class for GUI widgets (inherits GelObject). - Created GelGUIText, with almost complete functionality. This will be used on all other widgets that require text. [ 2011-05-16 ] - Created GelGUIButton class with limited functionality. [ 2011-05-22 ] - Created GelGUICheckBox class. - Added new input functions for getting state of keys and mouse buttons: keyPressed(), keyReleased(), mouseBtnPressed(), mouseBtnReleased(). [ 2011-05-23 ] - Created GelTextureObject class which encapsulates texture routines that other classes have in common. - Removed texture functions from GelQuad, GelParticleSys, GelText, etc. They now inherit GelTextureObject. [ 2011-05-26 ] - Began creation of a doubly-linked list template. [ 2011-05-27 ] - Continued developing GelLinkedList, fixing bugs. [ 2011-05-31 ] - Created GelCollision class with 2D algorithms for detecting collision between bounding boxes, circles, rays, etc. - Fixed a few bugs with Gel2dVec's overloaded operators. [ 2011-06-01 ] - Overloaded more operators for Gel2dVec. - Overloaded [] operator for GelLinkedList. - Prototyped function for reversing items in linked list. - Created stack and queue templates which inherit GelLinkedList. [ 2011-06-02 ] - Changed the parameters of many Gel2dVec overloaded operators to const. - Fixed a few bugs in linked list template. [ 2011-06-06 ] - Created makefiles for Linux. - Optimized some source code to make it compile on Linux. - Cleaned up / fixed a few bugs in X11 window implementation. - Added function to show/hide mouse cursor on X11. [ 2011-06-07 ] - [ 2011-06-09 ] - Improved Linux makefiles. - Added more functions in X11 window implementation including querying / changing video modes, changing window mode and styles, etc. - Fixed a few other bugs in X11 window implementation. [ 2011-06-14 ] - Fixed show/hide cursor function in X11. - Added functions to set window cursor and icon on Win32 and X11. - Introduced GelDir to manipulate directories. - Cleaned up numerous areas of code, making things more portable, etc. [ 2011-06-15 ] - Wrote some joystick functions for Windows, although dysfunctional. [ 2011-06-16 ] - Prototyped GelResourcePack class. - Prototyped GelDataStream class. [ 2011-06-17 ] - Created GelFileStream and GelMemoryStream to manage file and memory streams. - Deleted GelDataStream. - Overhauled TGA image loading functions, starting over from scratch with a more object-oriented design, utilizing GelFileStream. [ 2011-06-20 ] - Continued developing new TGA loading functions. [ 2011-06-21 ] - Cleaned up various areas of old code, particularly GelEngine. - Added extra logging code for linux in GelEngine::start(). - Added functions in GelDir to create/remove directories, and set current directory (win32 and linux). - Created 'imagen' library for image loading and linked to gel2d. - Removed texture dir code from particle system. [ 2011-06-23 ] - Moved PNG loading code to the 'imagen' library. - Made small changes to GelTexture class and documentation. [ 2011-06-24 ] - Wrote Gel3x3Matrix class with lots of overloaded operators and functions. [ 2011-06-27 ] - Add functions to allow multiple viewports in GelCamera. - Documented camera class. - Fixed getWindowWidth() and getWindowHeight() functions in GelWindow. - Cloned Gel3x3Matrix and optimized to 4x4. [ 2011-06-28 ] - Added origin dispersal to particle system, changed parsys header name, and integrated in Gel2D Particle Editor. - Made a few minor changes to matrices, prototyped functions for translating, rotating, and scaling. [ 2011-06-29 ] - Wrote Gel3x3Matrix functions for translating, rotating, and scaling; and vector transformation. - Upgraded Gel4x4Matrix with same functionality. [ 2011-06-30 ] - Rewrote the way matrices are multiplied, it now works properly. - Wrote Gel3x3Matrix functions for shearing and rotating by degrees and radians. - OpenGL-specific code will be abstracted from core engine, making it more portable (perhaps to support DirectX in the future?) - begun by writing OpenGL texture object code. [ 2011-07-11 ] - Wrote OpenGL blending function for alpha, add, subtract, screen, and difference blending. - Began rewrite of GelQuad's rendering function to draw arrays instead of slow glBegin() and glEnd() functions. - Added functions in Gel4x4Matrix for rotating and shearing. [ 2011-07-12 ] - Did a little cleanup in matrix classes. - Wrote OpenGL texture functions for changing filter and wrap modes. - Renamed GelChar to GelFontChar, and made necessary changes in classes that use it. - Drafted GelChar and GelString functions. [ 2011-07-13 ] - Made various improvements to linux build system and library linking. - Fixed a coding error pertaining to cursor on X11. [ 2011-07-14 ] - Restructered win32 joystick, mouse, keyboard, directory, and window implementations into classes, much more object-oriented. [ 2011-07-15 ] - Continued restructuring win32 joystick, mouse, keyboard, directory, and window classes. - Wrote win32 OpenGL context handling class. - Added renderAPI enumeration and GelEngine functions for selecting different APIs for rendering. - Drafted GelViewport and GelRenderSystem classes. - Wrote simple GelRect class. [ 2011-07-18 ] - Overloaded a few operators in GelRect. - Continued writing GelViewport, added support for relative and absolute sizing, etc. - Added viewport setup code in OGLdraw and render system. - GelScene is now obsolete. - Added swapBuffers() to win32 OpenGL context. - Removed _resizeOpenGL() and all other OpenGL-specific functions from win32 implementation. [ 2011-07-19 ] - Fixed a few bugs, made numerous small changes to GelViewport. - Finished abstracting win32 window, OpenGL context, mouse and keyboard input, and video mode handling. - Added support for changing cursor to numerous system standard shapes on win32. - Added CursorShape enum. - Cleaned up GelCamera class, integrated better with GelViewport. - Documented GelCamera and GelViewport. [ 2011-07-20 ] - Fixed a bug with OGL texture wrapping. - Wrote GelTexture functions for setting filter and wrap modes, and loading overlay images. - Made numerous small changes to GelTexture code and docs. - Moved all window-related #defines to enums in gel namespace. - Fixed bug in GelRect overloaded operator = . - Fixed all GelColor overloaded operators. - Fixed bugs, made numerous improvements to GelViewport. - Moved the rest of all possible #defines to enums in gel namespace. - Began restructuring X11 joystick, mouse, keyboard, directory, and window implementations. [ 2011-07-21 ] - Continued restructuring X11/linux-specific code. [ 2011-07-22 ] - Finished abstracting all X11/linux-specific code. - Made a few small improvements to X11 fullscreen handling, although it still doesn't work properly. [ 2011-07-23 ] - Made a few small changes to X11 system code, making it more organized. [ 2011-07-27 ] - Re-prototyped GelScene class. It will now be a game state object. - Prototyped GelSceneManager to manage game states. [ 2011-08-04 ] - Finished writing X11 window style code for switching between fullscreen and windowed mode. - Particle system now uses glDrawArrays() for rendering. - Fixed bug which caused crash when objects were rendered when no texture had been assigned. [ 2011-08-05 ] - Added functions for converting mouse cursor location to world coordinates. - Added matrix functions for converting to and from OpenGL-style matrices. [ 2011-08-09 ] - Moved resetRot() function from GelObject to GelMath and renamed to clampDeg(). - Added GelMath function sqr() for squaring floats - Added functions for getting square lengths of vectors. - Improved a few collision detection algorithms. [ 2011-08-10 ] - Added GelRectf class for floats, and documented rect classes. - Made a few improvements to GelViewport, fixing relative sizing with GelRectf. - Wrote OGL code for changing texture functions ( glTexEnv ). [ 2011-08-14 ] - Wrote batch process for rendering particles. - Reduced particle system CPU usage by approximately 25%. - In GelAABB: renamed 'pos' to 'min' and 'extent' to 'max', it now behaves differently. - Rewrote AABB collision algorithms to accommodate new AABB design. - Added function to get quad's axis-aligned bounding box and bounding circle for collision testing. - Added GelObject getAABB() and getCircle() virtual functions. [ 2011-08-15 ] - Began prototyping GelKeyFrame. [ 2011-08-16 ] - Wrote basic keyframe and animation classes. - Organized classes into groups with doxygen tags. [ 2011-08-31 ] - Added function to write TGA images in GelImage class. - Added write function in GelFileStream. - GelParticleSys now uses GelFileStream to read and write particle description files. [ 2011-09-01 ] - Fixed GelTexture function for loading raw image data. [ 2011-09-02 ] - Added support for loading non-power-of-2 images. - Fixed nasty texture bug. [ 2011-09-06 ] - Fixed function for taking screenshots, it can now save TGA and PNG files in RGB and RGBA modes. - Made numerous improvements to imagen, and integrated in Gel2D. [ 2011-09-07 ] - Made numerous improvements to GelImage and GelTexture classes. - Drafted DirectX9 context support. [ 2011-09-08 ] - Finished writing DirectX9 context class, integrated into engine. - Made numerous changes to context creation and scene handling to accommodate multiple rendering APIs. - Moved OGL swapbuffers from GelWindow to render API-specific classes. - Added start and end scene functions in OGLdraw, D3D9draw, and GelEngine classes. [ 2011-09-09 ] - Moved start and end scene functions from GelEngine to GelRenderSystem. - Added #define _GEL_DIRECTX9, making it easy compile Gel2D without DirectX 9 support if you so choose. - Renamed GelWindow::swapBuffers() to pollEvents(), it now only polls for events. [ 2011-09-12 ] - Fixed texture bug in GelParticleSys destructor. - Wrote various functions in GelScene and GelSceneManager classes. - Wrote code to save DirectX9 surface to disk in TGA and PNG image formats. [ 2011-09-13 ] - Added GelVideo class to handle video modes, etc. - Moved all non-window related functions out of GelWindow, renamed some functions. - Fixed a few GelDir functions for getting directories. [ 2011-09-14 ] - Wrote GelSize class with several useful functions and overloaded operators. - Fixed GelMath::clampDeg() to work with numbers higher than 360*2. - Prototyped event classes. - Moved frame and render callbacks into GelEngine class. - Made numerous changes to GelEngine, particularly game loop related stuff. - Wrote functions for getting number and type of processors (win32). - Wrote numerous functions for getting system power information (win32). [ 2011-09-15 ] - Improved functions for getting system power information. - Fixed GelAnimQuad to work with non-power-of-2 textures. - Wrote full set of functions for managing GelScenes. - Wrote GelKeyEvent class. [ 2011-09-16 ] - Improved set / get color functions in GelQuad. - Cleaned up and improved GelObject class. - Moved all typedefs into gel namespace. - Wrote GelRGBA and GelHSVA color classes. - Wrote GelColorTools class with functions to convert between DWORD, scalar, and RGBA colors. [ 2011-09-20 ] - Fixed a few bugs in new color classes, wrote many more functions. - Wrote mouse event class. - Renamed GelPoint class to GelCdtPoint. - Wrote new GelPoint class for storing integer coordinates. [ 2011-09-21 ] - Added function to get size of file, memory, and text streams. - Added function to write data to memory stream. - Added ability to delete buffer when memory stream is closed. - Added flush function to file and text streams. - Added much more functionality to GelTextStream class. - Added timer to GelAppBase and GelEngine, with functions to get & set FPS. - Added GelSceneManager functions to add sprites & cameras, and to draw scene. - Made a few improvements to logging function. [ 2011-09-22 ] - Wrote GelChar functions isLetter(), isSpace(), toUpper(), toLower(), and toAscii(). - Wrote GelString functions toAscii(), fromAscii(), getLength(), and getData(). - Added GelString = operator for GelString and C string. [ 2011-09-23 ] - Made numerous improvements and bug fixes to GelLinkedList. - Changed GelAppBase::update() return type to bool; update() must return false to exit game loop. - Fixed GelTextStream to use GelString and GelChar, instead of const char* and char. [ 2011-09-24 ] - Made numerous improvements and bug fixes to GelString and GelTextStream. [ 2011-09-25 ] - Made a few improvements to GelChar. - Wrote basic GelUChar class, which represents a Unicode character. - Improved error handling in GelFileStream. - Wrote GelCString class, an abstraction of the classic C string (char*) array. - Fixed memory leak in GelString::toAscii() function. - Wrote string resize and append functions, and overloaded some operators. [ 2011-09-26 ] - Made numerous improvements and bug fixes to string classes. - Wrote many more string functions and operators. - Added GelDir functions for getting application directory and filename (Windows only). [ 2011-09-27 ] - Added more features and operators to string classes. - Renamed GelQuad to GelSprite, and GelAnimQuad to GelAnimSprite. - Fixed a few memory leaks, bugs, and header inclusions that broke Linux compatibility. - Removed needless copy contructors in numerous classes. [ 2011-09-28 ] - Wrote a few more useful functions in string and character classes. [ 2011-09-29 ] - Cleaned up GelTextStream::read() and wrote readAll() function to read entire file. - Wrote GelEventReceiver, an inheritable base for other classes to receive events. - Wrote GelEventDispatcher which can register event receivers and send events. - GelAppBase now inherits GelEventReceiver. - Began integrating event dispatching into win32 event loop. [ 2011-09-30 ] - Continued integrating event dispatching into win32 event loop. [ 2011-10-03 ] - Continued integrating event dispatching into win32 event loop. - Began integrating event dispatching into X11 event loop. [ 2011-10-04 ] - Made a few enhancements in GelText class. - Added basic precaching to GelString to avoid monotonous reallocation. - Added ability to safely remove event receivers from event dispatcher. - Began integrating FreeType 2 support into GelText class. [ 2011-10-04 ] - Continued writing FreeType font loading code in GelText class. - Made numerous other improvements in GelText class. [ 2011-10-07 ] - Added a lot of new functionality to GelFont FreeType implementation, including the ability to save and load Gel2D Bitmap Fonts. - Made a few enhancements to GelText class to support new GelFont functionality. [ 2011-10-08 ] - Made provision to support monochrome fonts in GelFont FreeType implementation, although it doesn't work correctly yet. - Continued adding features and fixing bugs in GelFont class. [ 2011-10-09 ] - Added character padding to GelFont. - Fixed GelImage color mode bug that caused incorrect info to be sent to imagen PNG and TGA writers. - Bitmap font description reading and writing has been completely overhauled, the old system is now obsolete. - Continued adding features and fixing bugs in GelFont class. [ 2011-10-10 ] - Wrote GelFont functions for reading and writing font description files to load fonts with FreeType. - Continued adding features and fixing bugs in GelFont class. [ 2011-10-11 ] - GelGameState now inherits GelEventReceiver. - Added line height to GelFont. - Made numerous improvements to GelText, particularly line breaking. - Fixed GelGUIText to work with new font system. [ 2011-10-12 ] - Made numerous improvements to GelText, GelGUIText, and GelGUICheckbox. [ 2011-10-17 ] - Fixed viewport rendering to only update when window is resized or viewport changes. - Fixed GelObject intersection testing bug related to viewports. - Added focus in and out events. [ 2011-10-27 ] - Improved random float generator. [ 2011-11-21 ] - Added constructors to GelImageData struct. [ 2011-11-22 ] - Inlined all vector functions. - Changed many functions to use const addresses to vectors instead of pointers. [ 2011-11-23 ] - Improved constructors in many classes to use the constructor initializer list to initialize variables. - Added constructors to GelVideoMode struct. - Changed GelVideo::getScreenRes() to return a GelSize object. [ 2011-11-28 ] - Made improvements to argument passing in overloaded operators for GelPoint, GelSize, Gel3x3Matrix, Gel4x4Matrix, GelChar, GelUChar, GelRect, and GelRectf. [ 2011-12-12 ] - Fixed type conversion constructors in all color classes to use const references. [ 2011-12-13 ] - Overhauled GelRenderSystem, making it an inheritable base for multiple graphics APIs. - Rewrote OGLdraw and D3D9draw classes as OGLRenderSystem and D3D9RenderSystem, inherited from GelRenderSystem. - Made neccessary changes in other classes to use new render system. - Made win32 SysOpenGLContext and SysD3D9Context fully object-oriented, removing all static members. - Renamed SysD3D9Context to SysD3D9Device. [ 2011-12-14 ] - Moved takeScreenshot() from GelWindow to GelRenderSystem. - Made X11 SysOpenGLContext fully object-oriented, removing all static members. - Integrated new render system into X11 window implementation. [ 2011-12-15 ] - Cleaned up numerous areas of code, replacing integer arguments, etc. with proper enumerators. [ 2011-12-16 ] - Cleaned up numerous poorly written function declarations, making many of them const, etc. - GelDir and GelFileStream now accept const &GelString instead of const *char in their member functions. - Added operator() to GelCString, now it can be passed as a const char* without calling getData(). - Made many small improvements to all classes, replacing integer arguments with proper enumerators, etc.