* scripts/extract_revision.sh: A new script to extract a build ID
revision number differently depending on what source control
is being used.
* Makefile.am: Add the new script to dist.
* server/Makefile.am: Use the new script, and add the generated
buildid.cpp to the distributed sources.
* scripts/cyphesis-setup.sh: Ensure there are no errors because
of permissions on the source directory. Shorten some variable
names to clean up formatting. Clean up error handling with database
commands.
* scripts/cyphesis-setup.sh: Add checks for a whole bunch of
environment variables which could contain the calling user's
username after sudo or su have been run. Improve some of the
messages.
* scripts/import_bullet: Check explicitly for source files suffixes
before treating them as sources. Create temporary files to avoid
updating Makefile.am if there is no change. Mark headers as not to
be installed.
CONTAINS, but COMPONENTS do not have a separate existence. They are destroyed
if the entity is destroyed, and do not have globally addressable IDs.
They can still be represented by Entity, but won't be in the global ID
dictionary. This leads to the idea of a component property interface whcih
abstracts looking up component IDs. An accompanying stamp can reduce the
frequency with which clients need to inspect the components, as they should
change very infrequently.
SEQ is not being used in the memmap code, as it is not being set.
Re-write plant using properties when we can write scripts for property
handlers.
* scripts/cyphesis-setup.sh: Complete the database setup script
functionality. Clean up the output, and polish.
* server/PersistantThingFactory.cpp, server/PersistantThingFactory.h,
server/PersistantThingFactory_impl.h: Partially specialise the non
persistent entity factory so we can register the persistor database
tables for the world object when persistence is disabled, so the
state of this entity can be restored.
* server/server.cpp: Tidy up the startup output.
* server/EntityFactory.cpp: Don't try and set up world persistence if
it is turned off.
* scripts/cyphesis-setup.sh: Add new untested script that automates
setting up a database account for cyphesis.
* Makefile.am: Add a message to the end of the install output
informing that the setup script needs to be run to sort out
the database access.
* common/const.h: Add declaration for buildid, an incrementing
build number to give finer version tracking of development code.
* server/ServerRouting.cpp: Add buildid to the server status
made available to all clients. Fix entity count in server status
as it wasn't fully added in the last change.
* server/Makefile.am, scripts/gen_buildid.py: Implement buildid
by pulling the RCS revision number out of ChangeLog from its
embedded RCS $Id$ entry.
* common/const.cpp: Remove build time and date, because they almost
never get updated here.
* scripts/gen_buildid.py: New script to generate a source file
to note the build time and date.
* server/Makefile.am: Create a new file that depends on all server
sources that contains the build time and data, and will contain
the build number.
* server/ServerRouting.cpp: Add number of entities in the world
to the server info.
* scripts/compile_python.py: Add a new script which compiles python
files.
* cyphesis.spec.in: Modify spec to compile installed python
scripts, and remove original source for runtime performance
and compact package size.
* common/Add.h, common/Burn.h, common/Chop.h, common/Connect.h,
common/Cut.h, common/Delve.h, common/Dig.h, common/Eat.h,
common/Monitor.h, common/Mow.h, common/Nourish.h, common/Setup.h,
common/Tick.h, common/Unseen.h, common/Update.h,
* common/operations.cpp, scripts/gen_op.py:
Try a new much simpler way of handling custom ops.
* common/CustomOp.cpp, common/CustomOp.h, common/CustomOp_impl.h:
Remove obsolete old template for custom ops.
* common/custom.cpp: Install factories in a different way for all
the custom op types.