Replaced the personal & user knights rank sets.
Implemented optional WHERE clauses for recordsets. Updated the EventSet.
Removed MyRecordSet (you've been great!) + various set files that shouldn't still exist.
Reverted TRIM_RIGHT() (nothing explicitly wrong with the std::string implementation, it just doesn't like certain special characters used in clan names -- so reverted temporarily)
Replaced CKnightsRankSet.
Ebenezer is MFC free (at least, DB wise). Hooray!
Removed support for BlockWord.txt (it really is kind of useless, while less efficient, it's more logical to just use the proc for that).
Prevent users from overriding the invisibility flag.
Fixed the PUS item count (didn't allow for the 2nd magic bag, though I'm not entirely sure if it needed to in the first place...).
Isn't this just the slightest bit ironic?
Or, even neater.
Implemented CIni::GetBool(), made absolute region coords unsigned.
Players can now choose to block private messages.
Crudely mocked up the letter system (no DB support yet). Refs #51.
Replaced a couple of magic numbers with their definition (COIN_MAX).
Committing the initial database changes.
Implemented letter system. Resolves #51.
The KNIGHTS_ALLIANCE table is now loaded from the database.
Implemented alliance chat, and added Send_KnightsAlliance().
OdbcRecordSet::Read() returns slightly more informative error messages now (i.e. they include the table name).