fcdb6602ab87b06fe0c957b1d222fde602092c22
code calls HOOKS->SetHasFocus when focus is lost or regained; user code calls HOOKS->AppHasFocus as needed. This moves the very simple task of remembering focus to ArchHooks, and removes a few annoying dependencies on StepMania.cpp. (That's the highest- level code there is, so very few things should depend on it.) The original design of HOOKS is to be a place where portable code calls to do platform-specific things, not to be a place for nonportable code to call to do generic things. These state calls (SetHasFocus, SetToggleWindowed, SetUserQuit) don't quite fit that. But there's currently no better place to put these, and they're just as low-level, so it's not really a layering violation. Hmm. (This also eliminates GameLoop's dependency on StepMania.cpp. Keeping GL.cpp independent of SM.cpp is helpful. It's not as useful to split apart two files, if the two files are cross-dependent anyway; you still have to know how both files work in order to understand either of them.)
Languages
C++
85.7%
Lua
4.3%
C
4.3%
Rich Text Format
2.3%
CMake
1.1%
Other
2%