Commit Graph

86 Commits

Author SHA1 Message Date
Michael Bayne 38ca708a4f Modified authentication process such that an authenticator thread is no
longer maintained. Implementations can choose to create their own
authentication thread if they wish or use some existing combination of the
invoker and dobjmgr threads. Also added an invoker to the base server
class.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1085 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-05 03:19:18 +00:00
Michael Bayne ae5d0fbcb3 Added calls back into the zone manager to allow it to accept or reject a
zone entry request and for it to be notified when a zone entry is
completed. (So that it can do any processing that it might care to do.)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@957 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-07 03:26:58 +00:00
Walter Korman 1415319aab Edited auxilliary -> auxiliary.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@923 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-03 08:22:38 +00:00
Michael Bayne c1dcc614f7 Clean up marshalling a bit.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@913 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-01 23:43:45 +00:00
Michael Bayne 93d36a81ef Moved ZoneUtil from whirled.zone.server.util to whirled.zone.util because
we need to use it on the client. This will necessitate some CVS jockeying
because the server/util directory no longer exists in the repository.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@892 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-01-29 02:05:49 +00:00
Michael Bayne f3f4ba4c16 Let observers know when we attempt to switch zones as well as when we
succeed or fail in those attempts.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@824 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-17 04:11:40 +00:00
Michael Bayne 54565c157a Created zone observers which are notified of successful or failed zone
changes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@823 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-17 04:00:27 +00:00
Michael Bayne f497ce128f Add direction information to the scene summary.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@820 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-17 03:38:50 +00:00
Michael Bayne ae5ab433a1 Added toString().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@815 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-17 00:58:04 +00:00
Michael Bayne 661f63373b Created Log object for Zone services.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@814 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-17 00:56:19 +00:00
Michael Bayne 589915a9ee Clear out last known location id when we leave a scene as well.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@811 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 22:09:17 +00:00
Michael Bayne c8148d9ea0 Report whether or not a cluster speak request was issued.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@810 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 21:59:25 +00:00
Michael Bayne 2f6199cf06 Register our cluster chat objects with their own happy chat message type.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@809 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 21:47:37 +00:00
Michael Bayne 178639e0c8 Clear out our cluster chat object subscription when we leave a place and
added some checks to avoid sending cluster speak requests unless we
currently occupy a location that is in a cluster.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@806 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 21:23:27 +00:00
Michael Bayne 5082bb817f Added convenience functions for looking up a location by id and a location
index by id.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@805 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 21:22:31 +00:00
Michael Bayne 1c02c2d6f4 Got cluster chat support working. Made it an invocation service rather
than a place service (which may be changed back when place services
improve or I may change the main chat stuff to be an invocation service).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@803 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 21:02:18 +00:00
Michael Bayne caa0da51f2 Clear out a user's previous location when they move to a new location or
flee the scene.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@800 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 08:07:53 +00:00
Michael Bayne 3c4c71b3c7 Modified the SceneProvider to take its managers at construct time and made
the scene registry automatically register the scene provider when it is
constructed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@791 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 05:39:16 +00:00
Michael Bayne c105a3d882 Pass an object manager to the provider at construct time and use that one
rather than accessing the one in WhirledServer.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@790 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 05:38:26 +00:00
Michael Bayne 769b2e8895 Blag! Both the ZoneDirector and the SpotSceneDirector needed to extend the
SceneDirector which, without multiple inheritance, would make it
impossible to use both in a single client. Of course, we need to use both
in Yohoho!

So I refactored the whole enchilada to delegate rather than extend, which
blows because various methods must now be made public and a particular
failure case for the moveTo request now requires that a special failure
handler interface be made available so that LocationDirector "extensions"
can inject themselves into the failure handling process.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@789 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 05:18:20 +00:00
Michael Bayne e7b7364141 Modified the way locations are assigned when entering a scene. The
SpotSceneManager now actually does the proper assignment in
populateOccupantInfo and it does so having been warned that a body is
entering via a particular location by the SpotProvider when it processes a
traversePortal request. If the user enters a scene via some other
mechanism (like a zoned moveTo request), they will be assigned to the
default entrance for the scene, which is what we want. We also avoid the
extra occupant update that was necessary with the previous method. Yay!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@788 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 05:15:27 +00:00
Michael Bayne efd1a69caa Finished up implementation of portal traversal back-end.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@781 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-14 23:12:39 +00:00
Michael Bayne 9737db1e0e Need this to prevent circumvention (which is not quite as bad as
circumcision nor as fun as circumnavigation).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@777 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-14 02:44:10 +00:00
Michael Bayne 8e27b7e740 Wired up rest of location change stuff.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@776 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-14 01:51:46 +00:00
Michael Bayne a38684db5e Beginnings of Spot invocation services to allow moving between locations,
tracking and reporting locations of bodies within a scene and handling
chatting between users in a cluster. Other minor cleanups.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@774 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-14 00:12:32 +00:00
Michael Bayne 60eddd8f85 *** empty log message ***
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@771 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-13 07:23:25 +00:00
Michael Bayne c64256a6e9 Made the documentation clearer with respect to fully qualified zone ids.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@768 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-13 05:49:50 +00:00
Michael Bayne 366914b4d1 Created ZoneUtil for composing and decomposing qualified zone ids.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@767 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-13 05:46:11 +00:00
Michael Bayne 4a7792f4d6 Moved the scene name into the basic scene model from the editable scene
model as we'll be having scene names in the runtime system.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@757 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-12 19:06:15 +00:00
Michael Bayne 3af0d8b1ee Added support for cloning scene models (we love doing multiple inheritance
by hand!).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@754 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-12 02:47:17 +00:00
Michael Bayne 509fb5c47e Was missing the name attribute.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@752 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-07 05:14:57 +00:00
Michael Bayne 7831d150e5 If there are no target scene or portal names, don't write them out. Also
fixed naming of <portal> element.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@751 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-07 05:11:25 +00:00
Michael Bayne 548acf53e8 Have to update _nextLocationId when a location is added, in case its
location id is bigger than the biggest we've seen.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@750 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-07 02:10:14 +00:00
Michael Bayne 14b9708e9e Added facilities for obtaining a valid location id from the scene because
it's the one that knows which location ids are in use.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@748 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-05 09:20:10 +00:00
Michael Bayne 7fcc918797 The fancy equals() turned out not to be useful based on the semantics of
List.indexOf(), etc.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@747 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-05 09:14:29 +00:00
Michael Bayne fba773c4a2 Make Location.equals() do fancy stuff to make life easier elsewhere.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@746 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-05 09:06:30 +00:00
Michael Bayne 2c27824718 Sweet Mary, mother of Jesus! Another fucking refactor. It turns out that
the way I was doing inheritance between the display and editable scene
implementations was not copacetic. The new method (which is for every
editable scene impl to delegate to a display scene impl so that regardless
of how far along you are on the inheritance chain, there are only ever two
actual objects, the display impl and the editable impl) is somewhat
cleaner, but makes it clear that no method can work as nicely as it would
were we to have mutliple inheritance.

The basic problem is that the editable versions of the scenes have to be
able to manipulate the instance variables in the display versions of the
scenes because they have to keep them up to date so that they are
displaying the right thing. As the editable versions are in different
packages, they don't have access to the display instance variables, so the
display versions simply have to make available enough "editable"
functionality to allow the editable versions to get their job done. It's
more coupling that I'd like, but at least it's only between the display
and editable versions across the inheritance hierarchy rather than down
the hierarchy.

Blah.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@745 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-05 08:45:06 +00:00
Michael Bayne 7c60cb5df2 Comment edit.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@744 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-05 07:38:54 +00:00
Michael Bayne a8e66a4191 Modified scene writer code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@742 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-05 04:45:13 +00:00
Michael Bayne 3af703d31b Minor edit.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@741 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-05 03:49:29 +00:00
Michael Bayne 7e415d9655 Documentation update.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@740 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-05 03:40:32 +00:00
Michael Bayne dd69489de4 More scene and spot scene refactoring. Got parsers working for those in
the new new style (or was that the new new new style).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@739 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-05 03:38:10 +00:00
Michael Bayne 7dfff1decb Editable mania! I love to delegate.
Augmented standard scene and spot scene models with versions that provide
access to data only needed by the editor and loader. Filtered that whole
paradigm down through the locations and portals and all that.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@737 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-04 22:34:04 +00:00
Michael Bayne 1bf2c4b727 Automatically create and register a zone provider in the zone registry.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@730 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-04 01:06:33 +00:00
Michael Bayne 0748521613 Zones! Scenes can be grouped into zones which are traversed via a
higher-level mechanism. Zones provide zone summaries which can be used to
generate maps of the zones on the client.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@727 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-04 00:31:58 +00:00
Michael Bayne 9de32d32ea Factored some of the move preparation code out so that the new
ZoneDirector can extend the moveTo process to incorporate zones.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@726 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-04 00:30:27 +00:00
Michael Bayne 68d492dff3 Created a WhirledClient even though it doesn't yet do anything so that we
can extend it when extending the Whirled services rather than having to go
down to CrowdClient and cut Whirled out of the loop.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@724 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-03 22:07:31 +00:00
Michael Bayne 1c823ae349 Updates related to non-global-uniquifying location ids.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@721 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-03 19:40:11 +00:00
Michael Bayne 7d108a256f Serialization jockeying.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@720 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-30 21:54:34 +00:00
Michael Bayne 2c303a6e91 Added toString().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@680 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-29 19:32:06 +00:00