Seems I am at a bit of an impass. You see, I am at the state of planet generation, where I think I could start linking it up with new systems, like tiles and star systems. Right now the question is how I would go about creating those. Star systems are simple enough, simply a stack of stats, a list of pointers to planets, and their display. Tiles are a different matter entirely, as they have some very important components like buildings and population. I am torn between making them just a struct like the pixels are and having the planet class interact with them, or making a fully fledged class with its own functions. Not to mention that I dont even exactly know what I will need them to do yet.
Gonna have to write up some proper goals. Running in blind works decently for generating a planet, but doesn't work so well when doing other stuff. Not gonna see a lot of pretty pictures in the near future, since I will be coming up with actual systems(as opposed to the general outline in my head), and will be cleaning up the code a bit. I also really need to work on the interface a bit.
As you can see, I coded in windows and their handling before I started with planet generation*, you can drag em around and close em and everything. Its pretty easily extendable** and messing around with it shouldn't be much of a problem, but its still gonna be a bit of code, with all the buttons and stuff I'm gonna have to do. Currently all input is just this block of code***:
case SDLK_1: Planeet->RenderMap(1, 1); break;
case SDLK_2: Planeet->RenderMap(2, 1); break;
case SDLK_3: Planeet->RenderMap(3, 1); break;
case SDLK_4: Planeet->RenderMap(4, 1); break;
case SDLK_5: Planeet->RenderMap(5, 1); break;
case SDLK_6: Planeet->RenderMap(6, 1); break;
So yeah, current goals: Buttons, proper design, some under the hood stuff with windows and a name. I also need to get boost working for multithreading.
*I actually just slapped the planet on top of it. The windows were just a thing I did for fun. Didn't even have a particular thing in mind when I made it. But genericness is good for extendability I suppose.
**Speaking of extending, the window background gets cut off because I made the window bigger to accomodate the 800x400 map, but the background image itself is actually only 500x500. Couldn't be bothered to make a bigger one.
***Except the mouse, which is linked to the windows and is...a bit more complicated. Luckily I don't have to touch the thing, because it's nicely self-contained.