Week Of Awesome I V - Day 2

As promised touched up my naff lighting system. Now it allows for colored lights. The calculated color is stored in the map (per frame) so any objects can detect the light level.

The player can move about, gets blocked by walls and spreads a light with his lamp. There's a beginning of a game play element in an enemy, who likes to stay in the dark.

Quick boring story: Explorer explores ruins (Theme++). Ground collapsed beneath him and he falls in underground hallways. Armed with only his trusty oil lamp he has to find a way out.

Now the hard part: I have to make a game from that in a few days.

Added an option game state to set control mapping and window mode. This also has an implicit pause function.

Back to the dogfooding part, anecdote of the day:In my first approach I had a resolution of 640 x 480. Having my trusted engine I feared nothing. Then I tried toggling full screen, and yay, instant bug. Seems that nowadays 640 x 480 is being phased out. Phased out hard as in the card doesn't enumerate the mode (no problem here) and simply fails to set 640 x 480 in full screen. Getting nervous I disabled the valid mode check and simply set 640 x 480. Interesting effect. It fails partially, the mouse cursor kept flickering back and forth. Seems my engine didn't anticipate that a mode couldn't be set.

Short thought attack: Should I use the time and get a proper fallback working or continue on the game?

Instant workaround: Set the game to 800 x 600, which works fine. Yippie Kay Yay.

Long term fix: Moved to the future (I'm management material after all! :) )

At least replacing all the parts where I had the resolution set as constants (will I ever learn?) was quite quick.

For the fun of it added a little message display to let the player utter a few things. This might become handy for a tutorial.