Let's start off with what I did two days ago - level intros! Finally after many weeks of faffing with nonfunctional alpha effects and funky text boxes, I have a properly working level intro display with automatic word-wrapping and everything. You can see it in the screenshot on the right. I've designed this module so that it can be displayed in-game with a mere two lines once it's been imported:
intro_screen = Intro("Level number", "Level name", "Level description") intro_screen.ShowIntro()
Once ShowIntro() is called, the levelintros module takes control until it is destroyed when the user clicks "Start" (or closes the game window), so no event handling needs to be done at all whilst the level intro is running.
The second of today's updates concerns the custom levels system - levels can now be loaded in-game! Over the past two days, I've designed and coded a super-spiffy menu for doing just that. When you click "Load custom levels", a little vertical menu pops up on the right with a list of all the custom levels existing on the user's computer. And just in case they make so many levels that they go off the bottom of the screen, I've also written a method that scrolls the menu in the opposite direction to the mouse (as is used in the horizontal menu at the bottom) so that you can easily access all the items in it without any difficulty whatsoever.
Now, back to building levels!