CleverRaven/Cataclysm-DDA — pull request #7244 by Heruedhel (2014-04-15 18:35:42+00:00)
Title: Removes all data and functionality pertaining to displaying messages out...

... of the "game" class and into a new dedicated class.

Removes "turn" variable from game class and into "calendar::turn"
Removes a few signed/unsigned mismatch warnings

Files Changed:
Too many to list
added messages.h
added messages.cpp

Possible bugs:
The changes touched a lot of files and I couldn't possibly test every single case in which a message was entered or displayed, or every line of code that used game->turn.

Notes:
These changes do nothing in isolation (except introduce potential bugs). However, they are part of a bigger project to factor out a lot of data and functionality from the game class as it currently serves too many unrelated roles forcing lots of classes to depend on it thus creating artificial circular dependencies. By splitting it into smaller parts, managing dependencies will become much more approachable, easing any refactoring efforts.

Here's a list of some modules I would like to eventually extract out of "game" class:
1- GUI elements (like the messages system)
2- World state elements (like "turn")
3- creature (i.e. player, npc, monster) actions like firing and doing damage
4- other stuff