Update 2: A long time coming...Finally had the time to make some progress and do some well overdue reading. I've re-factored parts of the engine, using some great concepts discussed in '
SFML Game Development' and general code design improvements thanks to 'Effective C++'. Replacing my half-baked scene graph with a fully integrated one. The old world generation has been altered with use of a much more efficient shader that looks far better I feel.
The ocean is now one giant vertex array of quads.
Main menu, complete with tooltips:
http://i.imgur.com/bbgymeV.pngOther things added:GUI builder example:
GUIBuilder frame(this); //Setup GUI builder with a State reference.
sf::Text generateText(mContext.strings.get("GenerateBtn"), mContext.fonts.get("Default"), 32);
sf::Vector2f pos((mContext.windowValues.at(WindowProperties::Width)/2)-generateText.getGlobalBounds().width/2,
mContext.windowValues.at(WindowProperties::Height)/1.5);
//Create a Button that sends message containing an intent to change to the main game state.
frame.Button(generateText, mContext.strings.get("GenerateBtnTip"), pos,
Message::Ptr(new Message(-1, Message::Type::ChangeState, new Attribute<State::Intent>(Attr::StateIntent, State::Intent(State::ID::Game, true)))));
//Frame returns a constructed entity which is then attached to the GUI layer.
mRootNode.getNode(mGuiID)->attachChild(frame.build());
More to come shortly.
Hopefully gameplay.Thanks for reading.