Commit Graph

282 Commits

Author SHA1 Message Date
Ray Greenwell 26c928fc45 Use the valueOf factory methods pretty much everywhere.
These are the preferred way to get instances of Boolean, Byte,
Short, Character, Integer, Long, Float, and Double object.
It's always made sense for Boolean objects, and with 1.5 these factory
methods were blessed as the proper way to get instances unless one
absolutely needed a distinct object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4145 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-24 01:24:24 +00:00
Ray Greenwell 96f3d8e58e Avoid pointless usage of a server class. The first clue should have been
that it was a server class... ;)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4142 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-23 23:16:14 +00:00
Ray Greenwell 412c02cbaa Whoops! I forgot to check in the new StageLocation class,
also added a log error message to my equals() logic error checking.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4141 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-23 22:12:30 +00:00
Ray Greenwell 99a97622a6 Refactored things so that the whirled.spot Location class is merely an
interface and specific games can define their own concept of a location.
Portal and SceneLocation now both have a Location instance within them.
All the whirled stuff is happy not knowing the details of the Location even
though it manages portals and other such goodies. The 'stage' stuff
does need to know, and yohoho uses the new StageLocation class
that is essentially identical to the old 'Location'.

SceneLocation previously extended Location, and there were a lot of places
where they were used somewhat interchangeably, or a SceneLocation and
a regular Location were compared. This shouldn't be done anymore and I've
left in code that should dump stack if it occurs, so that we can spot
these logic errors at runtime.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4140 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-23 21:44:05 +00:00
Ray Greenwell fb10d38232 Nixed pointless method.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4132 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-19 23:23:39 +00:00
Mark Johnson edd74d4014 Removed debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4088 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-04 00:39:46 +00:00
Mark Johnson 47ac305684 Allow the moveTo used while recovering from a failure to get the place
object in the SceneDirector to be overriden.  The ZoneDirector needs to 
inform its listeners when a zone change is made during this failure 
case.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4087 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-04 00:37:54 +00:00
Ray Greenwell a7bb7bb4dd Changed the SpotScene parser to handle the new Portal, and to cope
with Location subclasses as easily as possible. Subclassing the ruleset
and returning a different instance for Location should do the trick.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4077 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-28 21:27:11 +00:00
Ray Greenwell d8f7e48cbf Allow whirled.spot.data.Location to be extended so that games
with 3d coordinate systems (or that track additional location information
besides orientation) can just drop in their new Location class.
Refactored Portal to contain a Location object rather than duplicate
the fields, so that Portals can work unchanged with a 3d coordinate system.

Note: I haven't yet updated SpotSceneRuleSet.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4072 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-28 01:34:02 +00:00
Michael Bayne fdf0fa27d3 Revamped PlaceConfig to instantiate the PlaceController directly instead of
looking it up by name which creates PITA when we want to obfuscate and strip
out unused code.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4026 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-18 01:32:41 +00:00
Mike Thomas b38081f60a Bugfix: Clusterrecords were potentially being removed from the hash in the middle of an iteration without using the iterator's safe removal method. This resulted in an array-OOB exception.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3953 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-16 18:45:40 +00:00
Michael Bayne 58cbfb6db1 Regenerated using the new Ant-task-based generator.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3914 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-06 21:51:59 +00:00
Mike Thomas 6aa865f51b Was a little too overzealous on the errors during change-location calls. Times when the user is already there or already moving should just be silently ignored to avoid flooding the user with extraneous feedback. Also, use a better error for the case when they just somehow aren't currently in a scene.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3890 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-02-24 19:51:11 +00:00
Mike Thomas cd7e127bc6 Marking another invocation listener where we don't care there's no response.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3860 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-02-17 01:08:01 +00:00
Mike Thomas f449e2e77d Changed Exceptions to InvocationExceptions to invoke translation of error reason messages.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3852 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-02-14 21:57:39 +00:00
Mike Thomas ccce88790a Function wasn't informing listener of failures.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3850 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-02-14 21:46:28 +00:00
Ray Greenwell 17987537f4 Provide a convenient method for indicating that a listener does not
need to be responded to. It turns out that a listener may not be
a marshaller if a server entity is calling a service request method
directly.  The convenience method handles this and is also cleaner looking
for callers.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3832 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-02-04 03:49:53 +00:00
Ray Greenwell 94ee4c7e9f Fixed two last cases of ignored listeners that ice testing has uncovered.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3812 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-01-19 01:50:42 +00:00
Ray Greenwell 918c61c77e Another place where we ignore a listener.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3811 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-01-19 01:43:12 +00:00
Ray Greenwell 852620bea4 Regenerated marshallers with new response-tracking code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3793 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-12-21 02:12:57 +00:00
Michael Bayne d57adeca1c Big fat bernie OccupantInfo revamp. Now:
- OccupantInfo is created by the BodyObject
- the BodyObject is passed to the OI constructor and it uses information
  therefrom to configure itself
- the PlaceManager are no longer responsible for indicating the type of
  OccupantInfo to use or how to populate it.

This makes much more sense as the same type of OccupantInfo is generally used
across the entire system and it's annoying to have to have every PlaceMaanger
derived class know the type of OccupantInfo to create and know how to
initialize it. The one drawback is that only information from the BodyObject
can be used to populate the OccupantInfo, unpublished server-side only
information cannot be used (unless its stuffed into a transient field in the
BodyObject).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3774 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-12-03 03:05:06 +00:00
Ray Greenwell ee4d43e76f Here too, _nondb is unsafe.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3760 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-15 03:08:23 +00:00
Michael Bayne 176329e1ed Various updates to allow a system where a user's visible name is not the same
as their authentication name (which we leave in BodyObject.username). This
turns out to be simpler than the system we adopted for Yohoho wherein we
replace the player's user object after they select a character, but converting
to this sort of system is way more work than would be worth it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3758 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-10 23:18:58 +00:00
Michael Bayne 596d2a4708 blank() -> isBlank().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3749 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-09 04:00:16 +00:00
Ray Greenwell 078e131c16 Force us to unsubscribe to our cluster when we log off.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3727 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-12 19:12:37 +00:00
Ray Greenwell 5bd90aa797 Stop using TrackedObjects.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3726 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-11 19:17:43 +00:00
Ray Greenwell 7f34a9cfaf Catch and log runtime exceptions when finishing a move-to request and
inform the client that the shit hit the fan so that it's not locked from
making any other move requests.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3703 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-09-16 00:36:21 +00:00
Ray Greenwell 6e07b60f48 Fixed code to detect invalid updates to not totally hose everything:
it was trying to print where() which failed because it was doing so
before all the values were intialized.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3680 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-11 22:33:22 +00:00
Ray Greenwell b95a8056d1 Let's log a stack trace so that we can see where the damn error is, instead
of having an error triggered right after this one that happens to print
a stack trace look like the matching stack trace for the original error.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3679 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-11 22:30:40 +00:00
Andrzej Kapolka 58bf15f3e8 Added persistTo/unpersistFrom methods for persisting updates.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3652 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-07-21 02:23:45 +00:00
Ray Greenwell fa2ad0fa6c Fixed two bugs with the messages related to shunned players.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3460 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-07 02:19:07 +00:00
Michael Bayne 1c0260198d The adding of portals to scenes needs to be handled somewhat differently
now that all the scene updating stuff has been cleaned up. Basically we
can't rely on the updating process itself to assign a portal id, updates
must be created with all the information they need before they are applied
to the scene.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3451 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-31 19:40:55 +00:00
Michael Bayne 0bf43bc2e8 Step two in the great Stage refactor. I don't know how many steps will be
needed all told, but I like to see the number keep going up.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3438 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-29 23:18:59 +00:00
Ray Greenwell c36ebdc8d4 A-ha, found the further source of the walk-on-water bug, which is that if
you had logged on to one ocean and then moved to another, the previous
ocean's sceneIds are still in the scene cache.

Fix: Clear the scene cache both when we log off and when the scene repo is set.

Also, I made the cache be a LRUHashMap holding a measly 5 scenes.
Why are we filling up memory on the client with scenes that may or may not
ever be revisited?


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3385 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-09 22:06:38 +00:00
Michael Bayne c2e2661e66 Further refinement of the permissions system. Eliminated the
CommunicationAuthorizer and rolled that into the BodyObject-based
permissions system. A victory for consolidation and elegance.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3380 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-03 04:47:57 +00:00
Ray Greenwell 708431bf86 Allow the SceneFactory to be set after construction.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3368 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-25 00:59:35 +00:00
Michael Bayne 44f2a29f4f Regenerated with updated copyright information.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3365 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-22 18:56:52 +00:00
Michael Bayne 53be9a74ca Added more sanity checking to portal traversal to avoid spurious error
messages if repeat requests come in or for some reason the client and
server ever differ in opinion as to which scene the player is in.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3363 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-22 18:54:48 +00:00
Michael Bayne 93794d5a77 Fixed some comment grammar.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3351 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-15 01:02:17 +00:00
Michael Bayne 877892b4c8 Allow the ZoneManager to veto a body's departure from the zone.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3350 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-15 00:58:16 +00:00
Michael Bayne 113ca65f7a We need to know who did the dirty deed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3346 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-10 22:47:56 +00:00
Michael Bayne d2ea985abb Regenerated invocation receivers; fixing a javadoc booch in the process.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3311 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-24 23:13:00 +00:00
Michael Bayne afabea71ad Big fat Bernie javadoc cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3310 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-24 23:08:21 +00:00
Ray Greenwell b295fb2630 Regenerated with non-NPEing code.Regenerated with non-NPEing code.Regenerated with non-NPEing code.Regenerated with non-NPEing code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3300 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-08 22:05:00 +00:00
Michael Bayne 61c0dde5d5 Regenerated the distributed objects with the new clone happy bits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3295 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-05 06:46:11 +00:00
Michael Bayne 55a0ab91f7 Regenerated our DObject derivations in the new world order.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3288 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-28 03:51:29 +00:00
Ray Greenwell bd80c348eb The great Interval revamp.
There is no more SafeInterval, instead Intervals can be constructed with a RunQueue to use for expiring.
PresentsDObjectMgr implements RunQueue.
Client has a getRunQueue() method to get the client side RunQueue.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3283 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-22 19:23:00 +00:00
Ray Greenwell e95f1e8914 Fixed booch-o that caused the cluster no-can-chat bug.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3257 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-12-02 22:06:05 +00:00
Michael Bayne bf9582e31c Regenerated everything in alphabetical order.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3244 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-11-26 23:14:39 +00:00
Michael Bayne a04e23e025 Regenerated our marshaller and dispatcher classes with the new Java-based
generator. It handles inner classes slightly differently and prepends a
project-specific header to the generated classes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3239 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-11-25 04:47:40 +00:00