Visual Entertainment and Technologies Forum

Full Version: Complete-[$200] #50 | Hidden Values Dropdown and Lists
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Price: $200

Description: Many years ago, when I started GearCity, there weren't many options for GUI libraries that could be rendered in OpenGL and DirectX, let alone integrate nicely with Ogre3D. One option, however, looked very promising, QuickGUI.

So I adopted QuickGUI, with the expectation that it would continue to receive development for the foreseeable future. Unfortunately, that was not the case. And a little more than 1.5 years into GC, the library was abandoned by its author. I considered GearCity too far in development to switch GUI libraries. So I continued on with what we had. Over time, problems in the library have become apparent, and those problems have limited me with what I can do UI-wise.

One of those major issues is that lists and dropdowns do not have hidden data. The order of the lists has to match the containers that store the data. This is a major flaw in UI internal design, as any list sorting requires the complete sorting of the container with the data. Likewise, item selections have to be done via the text of the list entry or be in the same order as the container. These issues make many things more complex than they should be.

This bounty adds hidden integer and string values to lists entries. I will also clean up many parts of the code with this new feature once it deems to be working.

Requirements:

Required By:
#49, #290, #300

Concerns: QuickGUI's code isn't written by me. It's also written in a completely different style than how I write code. I have failed many times in GC's early development to make large changes to the code base. However, over the last few years, I have become more familiar with the code base fixing minor issues with the library. So I believe this improvement is doable with my familiarity with the library's internals.

Eric's Opinion: This engine fix is needed before I touch many other features in the game. It will also help simplify the code base greatly.

I have put a massive discount on this item because it's needed, and players likely won't see any benefits from it until they fund something that requires it.

Links:
This bounty is complete.