Very well done mate! I like the style you aimed for very much (just watched the yt video, bc I only have linux in the office).
I downloaded the code too and you put ALOT of lines and work in to that. Just one thing I saw in your code.
You're loading one single char into a texture, which is technically fine, don't get me wrong, but it's alot to write and alot to compile =).
I just wanna give you an idea to make font-printing/scrolltexts easier. Remember the UV-Mapping we talked about in the other thread you openend ?
Let's say you have an image where ALL of the character you want to use are in a row like: ABCDEF... and so on.
You could upload the whole image into a texture and use the UV-mapping to "cut" one character from the texture and map it to the quad you're using.
(If you need some example codes, I'll can post them here).
Try to avoid too much usage of glPop/glPushMatrix (GL has to do stack-operations every time, which could consume more time than you have left for a single frame).
Try to use more arrays, it'll help you ALOT cutting down the lines of your sourcecode, like the further_snow_transparency_* variables. Just an idea if you say
float further_snow_transparency[20];
You could cut down the source by simply doing a iteration over the array:
for (int c=0; c<20;c++) { further_snow_transparency[c] -= (float)(rand() % 27583) / 100000.f; }
You can do this ofc with further_snow_v_move too =).
Again, lovely visuals, nice sound, very well done!
K++