So I, for some reason, decided to do things backwards and I started working on the load game dialog before the save game dialog *smacks self*. Anyway, it took a little while to get everything hacked in, but I think it turned out pretty decent:
LoadGameDialog
I have a question for you DirectX know-it-alls. The way I'm rendering my GUI is using 2 quads, one at X-1, Y-1, to Width+2, Height+2 with the border color, and then one at x,y to width, height with the background color. I'm doing this so that I can render everything at once. Would it be faster to do it this way, or to render the border quad as a line-list?
I probably won't update until wednesday, Raymond has a 4 day weekend so we're going to be doing a ton of Malathedra stuff.
That is all.
*Runs off to work on Malathedra*
Edit: I forgot to mention my 2 hour debugging session. I was going to be crashing at my friend's house so I copied my projects (dft and it's subprojects as well as my entry's project) from my desktop to my laptop (since I was taking my laptop.) At about 1am he crashed so I pulled out my laptop to start working on my entry. I modified the code; removed the "Really quit?" messagebox from the main menu, made a couple helper classes, and then started working on the load game dialog.
I added the widgets that I needed and all of a sudden I start getting errors in my ResourcePool class (std::map::find() and std::map::erase().) So, after shouting WTF? a couple times (since I hadn't modified the code for that at all) I started stepping through it and I noticed 'watch' and 'auto' weren't working (so I had no way to check the name that I was trying to find/erase.) So, I added a HtmlLog call, but it wasn't getting called. Stepping into the program showed that it was calling find() (which was originally on the line that I added the log call to) instead of HtmlLog::LogDebugOutput(). WTF? So I rebuild my dft libraries after cleaning and then relink my 12E5 project, but it's still not calling it. Tried doing that a couple times, to no avail. So, I go into the project settings to make sure that my settings didn't get reset somehow when I copied them over (I have the libraries automatically build into my libs folder), but for some reason I could't change anything, but I could see the command line args that said they were being output to the folder. So, I go through my folders , delete the libs and rebuild. No lib files. WTF!? So, I rechecked the output command line arg and it says that it's being output to 'c:\Documents and Settings\Owner\My Documents\blah blah' Turns out, that my Visual Studio Projects folder on my desktop is in c:\Documents and Settings\Owner\My Documents, but on my laptop it's in c:\Documents and Settings\Donny\My Documents. >_< 2 hours wasted over something retarded. Yay!
I'm no DirectX know-it-all, but I'm reasonably sure that your method is likely the fastest. Having the border as a line-list would slow it down more (AFAIK) since each line is in actually rendered as a triangle. So a border of 4 lines would equate to 4 tri's, while the quad is only 2.