Week 3/2013: Enter the Client
Last week was quite significant for our long-term efforts. We finished the C++ map data refactoring with good success, and I continued the push toward splitting the main Doomsday executable into independent client and server binaries.
You may have noticed a high number of "yellow issues" in the recent unstable builds. This is due to the switch to a C++ compiler. These issues have always existed in the source code, but the compiler is now choosing to warn us about them. We will probably just adjust the compiler settings so that these issues are not reported in the future, as fixing them in the old code would not benefit us much.
I'm continuing work in the separate-server branch with the goal of pulling functionality from the main Doomsday executable and placing it in the appropriate executable/library/tool. My first focus area is the text-mode user interface of the dedicated server. Since servers are supposed to be background processes, they have no UI of their own. Therefore, we can have multiple UIs. The first one I'm tackling is a text-mode curses-based UI for Unix platforms, so that we can strip the existing code for this from the client binary.
As part of this work, I renamed the "engine.pro" project, which produces the Doomsday executable, to "client.pro". This complements "server.pro", aligning us one step further to the end goal of proper client/server architecture and unified networking. This also improves our mental model of the project by making the role of each component more accurate.
Also worth a mention is that I wrote a script for generating a fully usable Visual Studio (2010) solution out of the qmake project files. This might be a useful tool for any Windows developers out there interested in Doomsday.
You may have noticed a high number of "yellow issues" in the recent unstable builds. This is due to the switch to a C++ compiler. These issues have always existed in the source code, but the compiler is now choosing to warn us about them. We will probably just adjust the compiler settings so that these issues are not reported in the future, as fixing them in the old code would not benefit us much.
I'm continuing work in the separate-server branch with the goal of pulling functionality from the main Doomsday executable and placing it in the appropriate executable/library/tool. My first focus area is the text-mode user interface of the dedicated server. Since servers are supposed to be background processes, they have no UI of their own. Therefore, we can have multiple UIs. The first one I'm tackling is a text-mode curses-based UI for Unix platforms, so that we can strip the existing code for this from the client binary.
As part of this work, I renamed the "engine.pro" project, which produces the Doomsday executable, to "client.pro". This complements "server.pro", aligning us one step further to the end goal of proper client/server architecture and unified networking. This also improves our mental model of the project by making the role of each component more accurate.
Also worth a mention is that I wrote a script for generating a fully usable Visual Studio (2010) solution out of the qmake project files. This might be a useful tool for any Windows developers out there interested in Doomsday.
Comments