Original Post
I know that you use the Window Procedure to handle input but how can you do anything useful without needing global variables? If someone clicks the mouse then I can find out exactly where they clicked but the function that handles game information will need to not only have the position of the mouse click but also will at least need a pointer to a struct containing information about the game state. Is there any way of handling input without having to use a global variable?