The Link reference provided is the object allowing direct communication
back to the external source of the operation. This allows us to handle
things more cleanly in some cases.
* tests/BaseEntitytest.cpp, tests/EntityExerciser.h,
tests/LocatedEntitytest.cpp, tests/Makefile.am,
tests/OOGThingtest.cpp, tests/OperationExerciser.cpp,
tests/OperationExerciser.h, tests/inheritancetest.cpp: Fix tests
to account for header changes, and the fact that some of the
base classes are now abstract.
* common/BaseEntity.cpp, common/BaseEntity.h, common/custom.cpp,
common/op_switch.h, rulesets/BaseMind.cpp, rulesets/Character.cpp,
rulesets/Character.h, rulesets/Thing.cpp, rulesets/Thing.h,
tests/EntityExerciser.h: Remove the long obsolete Action op from
the core code.
* common/BaseEntity.cpp, common/BaseEntity.h, common/op_switch.h,
rulesets/Character.cpp, rulesets/Character.h: Remove the chop
operation completely from the core code. Remove some OOG
operations from the world to mind filter, as they should never
occur.
* rulesets/BaseMind.cpp, rulesets/Plant.cpp: Remove some obsolete
operation header includes.
* tests/EntityExerciser.h: Remove Chop from the test for entity.
* common/BaseEntity.cpp, common/BaseEntity.h, common/op_switch.h,
rulesets/Character.cpp, rulesets/Character.h, rulesets/Food.cpp,
rulesets/Food.h, rulesets/World.cpp, rulesets/World.h,
tests/EntityExerciser.h: Purge the burn operation from the core
operation handling code. One down, many still to go.
* tests/EntityExerciser.h: Fill out the functionality to include tests
for the virtual functions that convert an entity into Atlas data.
* tests/BaseEntitytest.cpp: Use the extended EntityExerciser, and
cover all the non-virtual functions in BaseEntity.
* tests/AtlasFileLoadertest.cpp: Add a test for the file loader
class.
* common/inheritance.cpp, common/inheritance.h: Re-introduce
opEnumerate function as its useful for scripts, and tests.
* tests/inheritancetest.cpp: Add necessary includes to pick up
operation class numbers.
* tests/Areatest.cpp, tests/BaseEntitytest.cpp,
tests/Charactertest.cpp, tests/Creatortest.cpp,
tests/EntityExerciser.h, tests/Entitytest.cpp,
tests/Foodtest.cpp, tests/Linetest.cpp, tests/OOGThingtest.cpp,
tests/Planttest.cpp, tests/Stackabletest.cpp,
tests/Structuretest.cpp, tests/Thingtest.cpp, tests/Worldtest.cpp:
Remove all uses of the removed op subscription mechanism.
* tests/Creatortest.cpp, tests/EntityExerciser.h,
tests/Tasktest.cpp, tests/Worldtest.cpp,
tests/allOperations.h, tests/inheritancetest.cpp,
tests/utilitytest.cpp: Fix up tests to work with new Atlas-C++
version.
* common/BaseEntity.cpp, common/BaseEntity.h,
rulesets/Character.cpp, rulesets/Creator.cpp,
server/CommClient.cpp, server/ExternalMind.cpp,
server/ExternalMind.h, client/CharacterClient.cpp,
client/CommClient.cpp: Remove the message method from BaseEntity
and everything that inherits from it - its redundant.
* tests/Charactertest.cpp, tests/Creatortest.cpp,
tests/EntityExerciser.h: Sort out the tests so they no longer use
message, and try and get the character class tests working a bit
better.
* common/BaseEntity.h, common/BaseEntity.cpp, rulesets/BaseMind.h,
rulesets/Character.h, rulesets/Character.cpp, rulesets/Entity.cpp,
rulesets/Entity.h, server/Connection.cpp, tests/EntityExerciser.h:
Remove externalMessage() completely as its redundant, and remove
externalOperation() from the BaseEntity class, and into
Entity as its only applicable in-game.
* tests/Charactertest.cpp, tests/Creatortest.cpp:
Add tests for more IG classes.
* common/BaseEntity.cpp, common/BaseEntity.h, common/custom.cpp,
common/inheritance.cpp, common/op_switch.h, common/operations.cpp,
common/operations.h, common/types.h, rulesets/Character.cpp,
rulesets/Character.h, tests/EntityExerciser.h, tests/allOperations.h:
Add, install, implement and test new op types for Use and Wield.
* tests/EntityExerciser.h: Delete all returned operations when
testing.
* rulesets/Plant.cpp: Check if bbox is valid before testing its
height. Initialise the height at which plants produces fruit.
* tests/EntityExerciser.h: Make entity reference protected for use
by other exercisers.
* tests/IGEntityExerciser.h, tests/Entitytest.cpp: Implement
and use the attribute testing code.
* common/BaseEntity.cpp: Add in the unimplemented subscribe
method.
* tests/EntityExerciser.h: Add new functionality to properlly
exercise the dispatch/subscription mechansim.
* tests/BaseEntitytest.cpp, tests/OOGThingtest.cpp: Update tests
to use new EntityExerciser functionality.
* tests/IGEntityExerciser.h, tests/Entitytest.cpp: New test for
testing the IG Entity base class.
* tests/systemtest.cpp: Test for signal handling, daemon
related, and password encryption code.
* tests/EntityExerciser.h: Add testing dispatchers
as well as simple calling the operation methods directly.
* tests/OOGThingtest.cpp: Test for OOGThing class.
* tests/BaseEntitytest.cpp, tests/inheritancetest.cpp,
tests/logtest.cpp: Fix up copyright dates on recently added
files.