Commit graph

254 commits

Author SHA1 Message Date
Erik Ogenvik
e85f0831b2 Restructure rule classes.
Classes under "rulesets" have been moved to "rules", and split up into
futher subdirectories matching their library. As a result we can now
better separate the python bindings, so that things that belongs to the
simulation are separeted from things that belongs to the ai.
2018-10-31 21:38:35 +01:00
Erik Ogenvik
800d6f3d2c Put operations in separate directory. 2018-10-30 20:12:45 +01:00
Erik Ogenvik
e0b45800ef Fix broken tests. 2018-10-29 21:11:23 +01:00
Erik Ogenvik
599095bfd4 Improve handling of visibility for types. 2018-08-19 17:15:30 +02:00
Erik Ogenvik
6a3ec31b7e Remove Character class.
This is crucial since it now means that any entity can be controlled by
a mind. This makes the world much more versatile.
2018-08-14 22:25:56 +02:00
Erik Ogenvik
803fe96949 Handle connection shut down better. 2018-08-08 16:41:16 +02:00
Erik Ogenvik
fbf50d9974 Fixed logout process. 2018-08-08 15:42:45 +02:00
Erik Ogenvik
1f4af43fd3 Refactor handling of minds. 2018-08-07 23:19:16 +02:00
Erik Ogenvik
04fe84821e Use proper singletons everywhere.
I.e. ones where the lifespan is fully controlled.
The only exception is Options, since it's accessed during static
initialization.
2018-08-04 18:01:20 +02:00
Erik Ogenvik
6508097306 Use C++ string converters, and clean up code. 2018-02-08 21:47:22 +01:00
Erik Ogenvik
0286bcd47d Replace "parents" with "parent". 2017-07-24 15:05:18 +02:00
Erik Ogenvik
7aaa9b9ba7 Optimize includes. 2017-03-19 21:36:52 +01:00
Erik Ogenvik
ef0b2228a4 Provide batch send method.
Which flushes the socket after all ops have been serializes.
2016-12-15 18:27:42 +01:00
Erik Ogenvik
d67ec8ac44 Make sure minds are repossessed correctly. 2015-05-24 11:25:07 +02:00
Erik Ogenvik
a64fb3ca48 Removed unneeded include. 2015-05-24 11:25:07 +02:00
Erik Ogenvik
c4f44bb277 Deregister possessive clients correctly. 2015-05-24 11:25:07 +02:00
Erik Ogenvik
5f4923e456 Provide better log output. 2015-05-24 11:25:06 +02:00
Erik Ogenvik
f8932858fd Enable aiclient.
The idea is that the aiclient runs in a separate process and handles all
AI functionality.
This is done by having a "possession" client which recieves possession
requests from the server, and spawns new AI clients for each request.
2015-05-24 11:25:06 +02:00
Olek Wojnar
7f9ff2246d Remove CVS $Id tags
The legacy tags are causing build issues in Debian.
2013-07-15 20:31:59 +02:00
Alistair Riddoch
e9cb84388a Stop using OpNo here too 2013-02-28 15:39:59 +00:00
Alistair Riddoch
e89ae282f6 Stop using OpNo typedef 2013-02-28 15:27:54 +00:00
Alistair Riddoch
4a9c7078f7 Refactor to use LocatedEntity as base class
All IG code should use the interface of LocatedEntity when dealing
with any entity, rather than sometimes requiring Entity. Add virtual
functions to the interface where required, and modify all other interfaces
to stop them using Entity. This makes the code way cleaner, and much better
de-coupled.
2013-01-17 10:17:07 +00:00
Alistair Riddoch
0f627d4e71 Rename methods to be more generic. 2012-12-05 09:45:16 +00:00
Alistair Riddoch
16cab73889 Move the character hookup code into Character
It's way more efficient there.
2012-12-04 21:19:34 +00:00
Alistair Riddoch
71cbcdcfc1 Modify externalOperation to include Link
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.
2012-12-04 20:39:35 +00:00
Alistair Riddoch
5f9db48baa Simplify logic on claiming a character 2012-11-27 23:48:21 +00:00
Alistair Riddoch
e1f79fe4a0 Simplify logic on disconnection of avatar 2012-11-27 23:40:29 +00:00
Alistair Riddoch
fdeab1eda6 Complete remove unused, obolste connectAvatar() 2012-11-27 18:31:03 +00:00
Alistair Riddoch
ef9210c222 Switch to using the new method 2012-11-26 21:27:25 +00:00
Alistair Riddoch
d463b861af Replace connectAvatar entirely with linkExternalMind 2012-11-26 00:35:55 +00:00
Alistair Riddoch
17afad911d Switch connectAvatar to new method
Character::linkExternalMind aims to replace Connection::connectAvatar.
This causes the former to simple call the latter.
2012-11-26 00:30:07 +00:00
Alistair Riddoch
ed81260c9d Re-write some comments and FIXMEs. 2012-11-25 13:20:43 +00:00
Alistair Riddoch
d8b2d96078 Remove many unnecessary dynamic_casts
The last few changes made these obsolete, as the pointer is now to the
correct type.
2012-11-25 00:04:12 +00:00
Alistair Riddoch
4c1b0c9c3a Move ExternalProperty class into rulesets 2012-11-23 23:58:56 +00:00
Alistair Riddoch
e7d238e91f Move ExternalMind into rulesets 2012-11-23 16:11:21 +00:00
Alistair Riddoch
43d5fbe569 Refactor external ops, to be more logical 2012-11-21 22:30:46 +00:00
Alistair Riddoch
02ce3fa88a Remove need for "res" from the external path 2012-11-21 21:38:10 +00:00
Alistair Riddoch
bbaa8c3f2a Route Connectable ops through externalOperation 2012-11-19 13:42:03 +00:00
Alistair Riddoch
608efe223b Move op dispatch from socket to Connection 2012-11-19 13:42:03 +00:00
Alistair Riddoch
23ebd9d6f5 Add externalOperation to the Router interface 2012-11-19 13:42:02 +00:00
Alistair Riddoch
8209d5b7f5 Remove some unused includes 2012-11-16 22:20:46 +00:00
Alistair Riddoch
6d8bb9ccd8 Merge pull request #12 from anthonypesce/salt_shaker
Salt shaker
2012-11-15 15:33:15 -08:00
Alistair Riddoch
6998d59ecd Rename ConnectedRouter to ConnectableRouter
Objects using this base class are all long lived, so while they are
often associated with a connection, they most commonly will outlive
that connection, and be unconnected.
2012-11-13 00:09:05 +00:00
anthonypesce
9fb3f3da67 Changed generate_salt to generateSalt. 2012-10-16 13:56:13 -04:00
anthonypesce
e7a8caa9e9 Changed tabbed regions to spaced regions. 2012-10-08 19:54:13 -04:00
anthonypesce
35706fd92f Added call to shaker instead of encrypt password. 2012-10-08 15:09:44 -04:00
Alistair Riddoch
240cf86324 Rename method for disambiguation 2012-08-14 10:32:06 +01:00
Alistair Riddoch
928e48a2e7 Weaken the coupling between ExternalMind and Connection 2012-08-13 22:08:22 +01:00
Alistair Riddoch
e776106ae9 Move CommClient to being a template - final changes
This required cleaning up a bunch of other things:
  Expose functions to disconnect and flush sockets generally
  Make a new base class for objects that link a socket to the server
2012-07-31 20:21:58 +01:00
Alistair Riddoch
dc1d0213c4 Simplify calling disconnectObject 2012-05-19 00:57:34 +01:00