The code between the ?win32 and the next ? is only compiled on a PC, as only a PC will have DirectX, but could also be using OpenGL. If the above were compiled on a Mac or under Linux then all the DirectX code would be ignored.
The above code uses some low level API calls/accessing to achieve it's rect copying, so needs to know which graphics API is in use (on a PC).
I can't help you with an explanation of the rest of the code, but maybe Grey can, although I don't think the code is his (could be wrong though).
The ? commands are known as compiler directives and instruct the compiler whether to compile certain chunks of code or not. This can be done on platform (Windows, Mac or Linux), processor (PowerPC, x86) or whether the program is being compiled in debug or not. They can be quite useful, especially when you want your games to work across mulitple platforms.
The above code uses some low level API calls/accessing to achieve it's rect copying, so needs to know which graphics API is in use (on a PC).
I can't help you with an explanation of the rest of the code, but maybe Grey can, although I don't think the code is his (could be wrong though).
The ? commands are known as compiler directives and instruct the compiler whether to compile certain chunks of code or not. This can be done on platform (Windows, Mac or Linux), processor (PowerPC, x86) or whether the program is being compiled in debug or not. They can be quite useful, especially when you want your games to work across mulitple platforms.