Optimization for multiinstances plus some minor fixes.
Added more key events and made it so unhandled keys cause a console warning in debug instead of a failed asset.
Fix an issue where some elements would end up with 0 height due to the order of function calls being wrong in text elements.
Fixes for some "invalid operation" errors due to objects not being deleted before the engine is shut down.
Fix a bug with focus that allowed UI elements to steal mouse input from the 3D background.
Updates for CGS path changes.
* New path lookup system allowing multiple search paths for each attribute type. Paths are checked in order given.
Heavy rework of input and text rendering, plus an expansion of the text input elements. Input now stores the input state at the time of the input event, such as held modifier keys and mouse position.
Expansion of the string utility functions, plus a minimal config file system (not directly used by CGS at the moment).
WIP - redo of the text edit so it's less convoluted.
WIP - I think I am going to redo how the numeric edit works. This just isn't working out.
WIP - I believe final work needed before cleanup/review.
More WIP - everything appears to be working as intended, but needs optimization and review.
More WIP for text/input changes.
WIP - still need to do some correction to how text selection works.
* Basic support for text stroke and outer glow
Implementation of thread-based resource (textures, shaders, meshes) loading. This reworks most of how loading resources works, aimed at improving load speed, avoiding duplicate loading, and allowing for parallel load tracking (such as load screens).
Some pre-merge changes.
Add stroke and glow (sort of) to OGUI text.
Load screen now working.
WIP for async load - nearly done.
Hopefully last WIP update before the async loading functionality is complete.
WIP
WIP
WIP async loading system.
Use the new hash system.
Fixes a bug with instancing and the node tree not updating properly.
Fix for a long-standing annoyance. I wish I did this sooner.
Fix an issue with multi-instances not uploading their aux buffers and some edge-case memory problems (bad GPU data) with texture uploads.
Fix for a problem introduced by input changes, where mouse movement was not sent as often as it should be to the game.
General rework of input in OGUI. The SDL events are now hidden from users and instead an OGUI-specific input event is passed around. Down->up events have been reworked so an element that gets a DOWN always gets the paired UP, rather than them going to potentially different elements. There are now 4 separate input events for mouse buttons/movement, mouse wheel, key input, and text input. Also, the input handler has been moved out of Caelum into OGUI as a sort of "default" background input hand...
Adds a text edit box which is still incomplete. Various minor changes including enabling borders on all elements and fixing a bug that caused windows themselves to never be activated.
UTF-8 utility functions.
Fix a bug with IDs acting incorrectly when inserted into containers due to a bad less-than.
Slight usability change.
New stock windows to avoid forcing OGUI developers from making their own. These will need revisited when I implement a styling system, if I do.
Fixes some layout bugs, some caused by the recent changes and some pre-existing that were only now detected.
Adds center alignment specifications.
Improvements to the layout specification system to be more flexible, less easily broken, and generally less of an unmaintainable mess. This is to support some additional layout functionality coming next.
New utility functions.
Minor fix for a rendering error at certain window sizes.
Frames were stealing input from the game input handler.
Expansion of ID generation system to allow for fixed IDs.
Fixes for potential (but not actually observed) memory bugs discovered while on an unrelated bug hunt.
Previous bug was only fixed in X not Y. Doh.
Allow a CGS layout to be executed before the final modal window is rendered, allowing for specialized processing such as blur. Also fixes a problem with the window changes that caused them to misbehave when padding was applied to the window.
Add support for mutli-level modal windows.
Minor adjustment to defaults.
Image buttons.
Fix (re-implement) scrolling in the new window system, plus a number of other smaller changes. Some work still needs to be done. Multi-level scrolling (scrolling something containing a scrollable) likely does not work right still.
Slider support, still WIP. Fixes visibility behavior and some other issues.
Boolean uniform support.
* Reorganization of button functionality.
* Improvements to the reference system to avoid needing a definition of the class for certain uses. The system still needs looked at a little harder, maybe with some more tips taken from how shared pointer works to make it smoother.
New Caption element, some general cleanup.
Default fonts, selected for freeness, language support, and quality.
Fixes to font loading.
Reworking of some of OGUI. New elements are coming soon.
Minor cleanup.
Additional cleanup of old, broken stuff.
Proper support for blend mode and depth function control.
Better text rendering, more color interpretation control, general cleanup of old stuff.
New texture sampling support.
Additional math functions pulled in from GLM.
Work-around for a bug I just detected due to changes in the previous commit. I need a new mechanism for parsing shaders pre-compile.
New color grading system. Improvements to saving textures to files.
Another fix to the string utility. Hopefully this doesn't upset the Linux build.
Performance fixes.
Caelum-wide compatibility fixes for Linux: new cmake, dealing with different OpenGL headers, fixing (spurious?) warnings. CGS and OGUI alone still have bad cmake. They may be merged into Caelum, so I am not updating them right now.
Caelum-wide compatibility fixes for Linux: new cmake, dealing with different OpenGL headers, fixing (spurious?) warnings. CGS and OGUI alone still have bad cmake. They may be merged into Caelum, so I am not updating them right now.
Fix for a performance issue where the UI layout was run each frame, when it should only need to be run when the UI is modified.
Implement leaf node system for sounds and (in the future) lights.
Minor fix/improvement for references.
Changes for CGSReference changes.
Further improvements to reference/managed object. Disallow implicit creation.
Improve the specialized child container, adjust how child object functions work, fix a memory error.
Improve the managed object system.
Padding improvements.
Fix clipping for windows. Name convention modernization.
Implement element padding. Expand the "alpha" color mode to act as a gradient between two colors.
Improve type aliases.
Adds basic window support. Fixes 9-swatch shader, it had a habit of becoming one pixel off. Fixes an error with selection of sub-elements not working.
Implement z order for rectangles. Make selection of elements for hover respect Z order.
Implement Z Order for elements. Rectangles is next.
Minor corrections, primarily for error handling.
Improved rendering system (z order system needs reimplemented). Better division of built-in rectangle shaders to make it easier to create elements out of 4 pre-defined types of rectangle.
Image buttons, general button improvements.
Improved focus/active element system to solve issues with key release events being stolen by elements.
Add a new class to make passing through text params easier; make the text params on buttons actually able to be set; collection of minor changes and fixes.
Improved mesh exporter for Blender. Supprts extended attribute export.
Attribute exporter. First pass of new Blender scripts.
Debug improvements for the custom smart pointer, utility math function improvementsl, fixes to some issues with path resolution.
Add a system for making uniform blocks available to entity files. Fix the blender exporter (yet again). Fix some issues with the shader parser.
Allow adding arbitrary attributes to entities, which can be used to tag models with additional non-CGS data. Fix the string to number utility functions.
MultiInstance changes, compositing improvements, expand entity file data support, other misc changes.
Handle focus a little better.
Changes for the Caelum input system.
Some adjustments to make screen ray projection easier.
Update OGUI to use the new CGS render system. Also a number of minor changes.
Improve multi instances, update blender exporter.