* common/globals.cpp: Modify the way socket paths are handled
and allow them to be specified as absolute paths.
* client/ClientConnection.cpp, server/CommUnixListener.cpp,
tools/cyaddrules.cpp, tools/cycmd.cpp: Don't build the complete
socket path here, as it is now determined in the config.
* common/system.cpp, common/system.h: Add security_init(), a
function to initialise any security or crypto related libraries
used. This is required by recent version of libgcrypt when
using hash functions.
* server/server.cpp, tests/systemtest.cpp, tools/cypasswd.cpp:
Call security_init() in all programs that use security related
functions.
* common/Database.cpp, common/globals.cpp, common/id.cpp,
common/log.cpp, modules/DateTime.cpp, rulesets/Container.h,
rulesets/Statistics.h, server/CommListener.cpp,
server/CommServer.cpp, tools/cyconfig.cpp, tools/cyconvertrules.cpp:
Add includes required for recent compilers which include less
stuff implicitly in standard headers.
* common/Database.h, common/Database.cpp: Add a new decoder for atlas
objects, and use it when getting the full contents of a table
full of Atlas data.
* server/Persistance.cpp, server/Persistance.h: Modify the API
for getting the rules table to use atlas objects rather than
messages.
* server/EntityFactory.cpp: Re-enable loading rules from the
Database, now that the data is available from the peristence
API in the right format.
* common/Database.cpp, common/Database.h: Remove the flag specifying
that the database should be created at connection time, as we
basically can't do this. Make the default database name depend on
instance name currently in use.
* common/accountbase.cpp, tools/cydumprules.cpp, tools/cyloadrules.cpp:
Fix code for the change to the database API.
* common/globals.cpp, common/globals.h: Modify the loadConfig
function so it takes usage hints, and checks the options in known
sections against those in the usage help.
* client/client.cpp, server/server.cpp, tools/cyaddrules.cpp,
tools/cycmd.cpp, tools/cydumprules.cpp, tools/cyloadrules.cpp,
tools/cypasswd.cpp: Convert all calls to loadConfig to provide
the right hints.
* common/log.cpp, common/log.h, common/BaseEntity.cpp,
common/BaseEntity.h: Switch to taking a C++ string reference rather
than a char *, for the rest of the logging and error related
calls.
* common/Database.cpp, common/log.cpp, common/log.h,
rulesets/PythonMindScript.cpp, server/Account.cpp,
server/Admin.cpp, server/Connection.cpp, server/Player.cpp,
tools/cyisoload.cpp: Convert over to using the new API correctly.
* autopackage/default.apspec.in: Explicitly enable binreloc for
autopackage builds.
* server/Makefile.am, tools/Makefile.am: Link a couple more libraries
statically.
* common/globals.cpp, common/globals.h: Change the type and name
of the ruleset list to a string.
* rulesets/Python_API.cpp, server/EntityFactory.cpp,
server/server.cpp, tools/cyaddrules.cpp, tools/cydumprules.cpp,
tools/cyloadrules.cpp: Switch to using single ruleset config
variable.
* data/Makefile.am: Install the xml files for mason into the mason.d
subdir, as the rule loading code now prefers.
* server/EntityFactory.cpp, tools/cyaddrules.cpp,
tools/cyloadrules.cpp: Modify the way rule xml files are loaded
so files from the ruleset specific subdirectory are loaded first,
and the legacy way of doing it is done if this files, with a warning
message.
* common/globals.h, common/globals.cpp: Flag the usage data for
cycmd and database tools. Add an additional argument to the
usage function for programs which take additional non-varconf
arguments.
* tools/cyaddrules.cpp, tools/cycmd.cpp, tools/cydumprules.cpp,
tools/cyloadrules.cpp: Add usage to the rest of the tools.
* client/client.cpp: Add additional argument usage information.
* common/globals.cpp, common/globals.h: Add interfact and mechanism
for showing usage data for all the programs given one central
location for the data.
* server/server.cpp: Test out the usage function.
* tools/cypasswd.cpp: Display usage using the old mechanism.
* commong/globals.h, common/globals.cpp: Add definitions for different
error codes from reading the config file, in particular codes that
indicate that the user has requested version, help or usage
information. Add a function for reporting the version of tools.
* server/server.cpp: Add support for version or usage arguments,
including specific reporting of the server build number, which is
does not apply when reporting the version of other components.
* tools/Makefile.am: Fix the globals modules dependency on consts.
* tools/cypasswd.cpp: Add support for version or usage arguments.
* tools/cypasswd.cpp: Improve the usage documentation.
* common/globals.cpp: Add a varconf parameter lookup to allow
shorthand arguments to be used to request usage information.
* rulesets/Character.cpp: Don't complain about unknown tick types.
* tools/cycmd.cpp: Use a cleaner more consistent way to identify
tick ops that are for this client.
* data/mason.xml: Set default mass on bottle entity.
* tools/cycmd.cpp: Add help for upcoming delete command. Improve
readability by using available typedefs.
* rulesets/Thing.cpp: Hide some debug output.