Just wanted to post a quick update.
The server and client projects have not been merged yet, but a lot of refactoring has continued in NetFixClient. Most of the refactoring has centered around breaking up larger functions into smaller chunks. A couple of the functions were around 270 lines of code with embedded switch statements and further logic statements inside the switch statements. By pulling out code within the switch statements and pushing it into subfunctions, I think it is easier to review what the switch statement is up to.
Several enums have been switched over to the newer enum class (scoped enum), which I think also improves readability.
The logging and debug code has been partially cleaned and fully integrated into op2ext, which will unify netfix's reporting with other modules. There is still work to improve readability of the logged information and possibly remove some of it.
Lastly, the first UI tooltip was added to describe the multiple uses of the ServerAddress combo box. This was probably my first contribution that involved legitimate new win32 code instead of refactoring.
There are several sections I have in mind for similar general refactoring. I was hoping to start working on more tangible improvements, but they may have to wait a while longer.
A lot of the refactoring is just fact of life to start using newer C++ features that didn't exist when NetFix was originally written, such as enum classes, nullptr keyword, std::array, std::vector, static_cast, etc. I'm also trying to favor non Windows specific solutions if there is a standard library solution that is equitable.
-Brett