Fix the issue where textures would go out of scope and therefore make all sprites be white blocks and clean up some codestyle. We are now using the resourcemanager class!
Re-organize current menu, add and remove some buttons, replace some button texts and start the game from level selection menu.
Implement a 'back' button that navigates to the menu you were previously at.
Implement menu state and buttons for level editor. We're going to have a little issue here with your idea of handling states, @Steef435. Reason for this is because we want menu buttons to be visible at all times during the level editing session but it requires its own logic as well. Updated graphics can be found at http://fbe.am/lI3, good luck. :)
Implemented my idea of how two gamestates should function together at the same time.
Create a pretty solid base for the level editor, as demonstrated in the following video: http://www.youtube.com/watch?v=dduK0agwDo8 :) (the crash seen in the video is still a little weird to me, but now I am going to sleep.. almost 3 AM!)
Fix a crash when clicking on a blank spot without having a selected tile.
Greatly improve level editor. Details:
- Button to enable/disable a 20x12 grid of 50x50 pixels.
- Pressing one of the blocks in the menu will make the selected block follow around your mouse.
- If grid is enabled, the selected block will always be placed in the closest available grid block. If the grid spot is taken, it will be placed to the second closest at that moment.
- The positioning of the selected tiles while having grid enable is always centered; this means that the position of your selected tile will only change if you actually enter the grid block (even by 1 pixel) with your mouse.
- Right clicking on an already placed tile will delete it for good.
- When hovering over a placed tile it will also become slightly transparent, just like when moving around a selected tile.
- Clicking on an already placed tile will 'pick it up' and set it to become your current selected tile as long as there is no selected tile at that moment. Otherwise the click will place that tile on the closest nearby grid spot (if enabled).
- When placing a tile, the transparence of the tile will only start once you moved your cursor away from the newly placed tile. This is to prevent confusion.
- The transparency of an already placed tile that happens when you hover over it with your mouse does not happen if you are currently in the process of placing a new tile.
- Fixed a possible memory leak crash in previous commit.
- I think I forgot some points, but so be it. This is looking good so far. :)

Please note there are a few hacks in this system because we need to figure out a better way to handle several states at once.
Please also note there is one issue I have not managed to solve yet: for whatever reason I can't change a variable in the LevelEditor class from MenuManager class through a function, no matter how I call it.
Implement a start for the collision detection in the level editor. This is barely anything though, time to create a Player class first.
Implement player and unit class and partly implement it for Game and LevelEditor classes.
Work in progress, menu.hpp is new menu, button.hpp is going to be button base class, collapsable button will be derived from it
New menu system improved.
Even more changes. Major issue: Textures are not being drawn correctly. I will elaborate when I got some sleep, 4am -.-
Fix textures not being loaded correctly. For whatever reason we have to pass the string to the constructor and load it from there on, I guess some scope issue with SFML.
Some code style changes, a missing break after a switch case and some clean-up. Time to leave! :)
Solved textures not loading correctly without having to let the button load
them itself. It's quite stupid of me, to be honest. The Button needs a
REFERENCE TO THE TEXTURE, not a reference to a reference to a texture -_-.
sf::Sprite::setTexture(sf::Texture&) just saves a reference to the given sf::Texture& at m_texture.
If I get a sf::Texture instance converted from a reference at the constructor of Button(), and I pass that to setTexture, the reference to that instance is different from the reference it was created from!

This marks the Menu system "working", so we can start converting the menus from MenuManager into states with a Menu like MainMenu, and the LevelEditor should be able to work using this too.
Added support for Button and CollapsableButton to change the callback after
creation. Also added an implementation of Menu to create the main menu and
level selection menu, and added a state to glue them together. MainMenu and
LevelSelectionMenu are a kind of template for a menu with predefined
buttons and textures, but they can be changed by the owner and the owner
can set the callback function for the buttons. This way, an
instance of level selection can also be created in the level editor for
example, and set different callbacks.
Implement a menu for the level editor. One thing left to do is make it possible to select the buttons that open up when you click the 'Tiles' button (thus the one with child buttons). I do not understand the currently given error. Also get rid of some (now) unused files, clean up some code and codestyle and random and minor improvements here and there.
Temporarily comment out the compile error line (and as a temporarily solution, from now on F7-F9 will set the selected tile). In addition, from now on clicking on a newly placed tile will properly pick it up, pressing your mouse button now places your current selection (if any) and fix compile in leveleditormenu.cpp.
From now on hovering over places tiles in the level editor only makes one of them go transparent at a time, also clean up some codestyle (minor).