Commit Graph

263 Commits

Author SHA1 Message Date
Michael Bayne 3aefc93838 Holy fruity beverage Batman! I'm taking the plunge and switching to Guice for
dependency resolution and management. Things are currently in a state of
transition, but the important patterns have been established and I'll aim to
sweep through all of Narya, Nenya and Vilya in the near future and do
everything properly.

Going through the other million-odd lines of code we have scattered across our
various projects that use these libraries is not something I plan to do, so
we'll be maintaining backward compatibility with the old static member method,
though I hope to strive toward eradication of that usage entirely in MSOY while
we still have a fighting chance.

Given that some of our projects will continue to use the static member method
in perpetuity, I'm not going to @Deprecate those fields because that would fill
their logs with so much spam that they'd have to turn off deprecation warnings
which would make life worse for them. So instead we'll settle for the big scary
comment warning people away from the old bits.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5153 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-07 17:44:48 +00:00
Michael Bayne 919112cf88 Switch to new samskivert logging API.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5134 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-27 19:25:38 +00:00
Jamie Doornbos fd49818c3c quick and dirty script to help evaluate problems with thane client
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5084 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-12 23:32:14 +00:00
Jamie Doornbos c2a7e52626 Updated the testslib target to use Main compiler, added the actual test client code, implemented the target to run the thane test client, tweaked the tester options to run thane and go nice and slow (one operation every 3 seconds and only one instance)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5074 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-10 00:57:22 +00:00
Jamie Doornbos d502e33c7f Added new paramter for registry tester to be able to override the ant target used to launch a bureau
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5073 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-10 00:51:57 +00:00
Par Winzell bf3a5599f2 I removed print(), use trace() instead.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5065 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-09 15:57:50 +00:00
Jamie Doornbos c626095393 First stab at test code to run a thane bureau - not yet runnable
* New directory tests/src/as with port of java test client
* New build target "abclib" to create a library of the test classes specified 
  in etc/asc_files.txt
* New target to compile TestClientMain.as against testslib.abc and another to 
  run it.

(This proposes the naming convention of *Main.as for "main" thane code and 
main-*.abc for the compiled code)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5058 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-09 06:40:53 +00:00
Jamie Doornbos 3d65f679e8 Fixed I/O in BureauRegistry and removed synchronization
* Keep an Invoker member
* Added internal Launcher class to run ProcessBuilder.start on the invoker 
  thread because it is blocking
* Removed synchronized from methods, all ooo-servers are single threaded, 
  hurray!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5033 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-30 18:27:45 +00:00
Jamie Doornbos e74035a05c Bureaucracy smoke test and resulting bug fixes
* Added RegistryTester smoke test which randomly creates and destroys agents 
  in batches
* Fixed bug where correct agent id was never making it to client
* Implemented Bureau.toString (+refactored summarize method)
* Fixed nasty bug due to my assumption that SafeSubscriber =~ Subscriber, they 
  are in fact completely different


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5032 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-30 17:55:40 +00:00
Jamie Doornbos f41233c5ac Bureaucracy review updates and hello world test
* Fleshed out client-side Agent class, made abstract
* Delegate the creation of the bureau director to subclasses of BureauClient
* Moved BureauDirector's BureauReceiver and Subscriber implementations to 
  anonymous classes that delegate to protected methods.
* Use SafeSubscriber
* Added new service method for notiyfing the server when the creation of an
  agent fails so that the registry is not perpetually waiting
* Made BureauCredentials more conformant
* Made BureauRegistry respond properly to client logging off
* Got rid of superfluous uses of safeToString
* Changed Launcher to CommandGenerator and now use ProcessBuilder and 
  copyMergedOutput
* Changed bureau process parameters to server name and port instead of URL


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5030 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-29 18:34:51 +00:00
Michael Bayne ebc99935d5 If we're going to do this, I guess we're going to do it properly. Nixed the
notion of a global group (though we implicitly define one in InvocationCodes)
added a mechanism for directors (which generally handle the client side of
invocation services) to register their interest in bootstrap service groups so
that the whole goddamned complex business can happen magically behind the
scenes.

If you instantiate a director, it will automatically register interest in the
service group it needs and everything will work. If you don't use the director
code, you don't get the services and you can safely exclude all of that code
from your client even though the services are still in use on the server (and
presumably used by some other types of clients).

This is going to break all the builds, which I'll soon fix. Then I'll go write
all this in ActionScript. Yay!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4552 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-02-11 01:17:30 +00:00
Michael Bayne afad7dd444 Added support for streaming List and ArrayList natively. A List will be
unmarshalled into an ArrayList on the receiver. Along the way, I improved
support for generic types as arguments to invocation services (which required
one unfortunate "sweeping" warning suppression, but since this is in generated
code, I think we can be sure it won't be doing anything untoward).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4375 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-09-19 00:31:50 +00:00
Michael Bayne bc9f53396c Revamped distributed object creation. There was no particular reason to create
distributed objects by reflection since we don't allow clients to create
objects, furthermore we needn't do it asynchronously. The object creation
methods were moved into the server-side only interface and made "immediate", so
the caller creates a derived instance of DObject and registers it with the
system instead of creating it with a Subscriber callback.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4342 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-08-23 23:46:48 +00:00
Michael Bayne 4894d1cfde Annoyingly, ClientObserver.clientDidLogoff() is called before the client's
inner bits are all clear and ready to try logging on to a new server. We
specifically wait to call clientLogonFailed() until after everything is
cleared, but I don't want to change the behavior of clientDidLogoff() for fear
that any one of the zillion directors depends on something being around during
that call.

Instead I added another callback clientDidClear() that is called when a
successful session is fulled cleared out (basically when we're not calling
clientLogonFailed()) so that entities that are waiting for a logoff to finish
so that they can logon somewhere else have a clean way of doing so.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4255 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-07 04:02:42 +00:00
Michael Bayne 77290fc1a6 Fixed type-unsafety and deprecation bits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4247 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-05 18:59:31 +00:00
Michael Bayne c0a244cb8d Hold onto your hats kids, it's the biggest little refactor this side of the
Pecos. I'll sort out the per-project niggling bits in just a moment.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4209 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-23 18:12:45 +00:00
Ray Greenwell 1ce4f4a7e4 More StringBuffer -> StringBuilder.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4193 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-13 23:06:48 +00:00
Michael Bayne 6deb8cd2cf RandomUtil moved to samskivert library.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4188 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-13 18:03:48 +00:00
Michael Bayne 7090277d99 Revamped the frame manager to support operating on non-JFrames where our Window
and our RootPaneContainer might be different things (the Window would naturally
contain the RootPaneContainer but wouldn't necessarily be the same component).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4181 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-07 21:54:12 +00:00
Andrzej Kapolka 69c20acd43 Brought things up to date with the latest JME code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4162 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-31 02:21:04 +00:00
Michael Bayne 77adfc15ec Revamped the basic Presents client to support attempts to connect to the server
on multiple ports, falling back from one to the next as appropriate.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4158 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-30 22:12:15 +00:00
Ray Greenwell a6746bc04f Update parser test.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4143 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-23 23:22:20 +00:00
Michael Bayne 965dc959e5 Fixed le booch.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3802 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-01-06 04:44:05 +00:00
Michael Bayne 207a1f9e1a Switch to the stylesheet world.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3801 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-01-06 04:42:39 +00:00
Michael Bayne 4a1b366cd8 Provide the camera handler rather than the camera.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3753 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-09 22:34:15 +00:00
Elizabeth Fong eada0b7f50 r58@sally: elizabeth | 2005-10-25 03:59:59 -0700
Changed things around a bit to have the cheesy JabberChat run out of the box:
 * ChatDirector no longer freaks out when given null message bundles/managers.
 * MiCasa's ChatPanel is marked with a TODO item to stop passing in null
   messagebundles and messagemanagers to ChatDirector.
 * JabberApp and JabberClient have been adjusted to allow the user to specify
   which chatroom to join from the command line; I plan to implement this using
   BootstrapData when time permits.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3741 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-25 11:13:51 +00:00
Michael Bayne 1631093451 No longer insist that we ask the AWT to create optimal images. Instead an
interface is provided that does that in a pluggable manner.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3720 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-05 01:39:45 +00:00
Michael Bayne f75d7d6f31 Update to cope with the new JME world order.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3702 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-09-15 20:52:15 +00:00
Michael Bayne fd05f9aad5 com.jme.bui -> com.jmex.bui.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3686 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-23 18:56:36 +00:00
Michael Bayne 46220291eb Moved the WaveData clip provider into its own class.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3673 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-05 20:34:35 +00:00
Michael Bayne 9d3eb07c06 A new sound system based on OpenAL. Only supports sound effects at the
moment, but OpenAL has the necessary business to later integrate "streams"
of audio (music).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3669 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-05 03:12:16 +00:00
Michael Bayne eba31091bb Switch the default port for the Presents system to the DirectPlay port.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3656 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-07-21 19:26:05 +00:00
Michael Bayne 06faee3ef6 Test program for the uid fiddly business.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3654 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-07-21 19:10:28 +00:00
Michael Bayne 03411cbd9c Various renamery.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3650 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-07-14 03:54:11 +00:00
Michael Bayne c1691c3d0a More path testing to sort out the jitter in the ballistic path at a
certain orientation.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3637 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-06-29 22:24:48 +00:00
Michael Bayne f3dec66a8d More geometric jockeying that you can shake a stick at. The
LineSegmentPath now orients sprites along the path (and even handles an
arbitrary notion of "forward" for the sprite).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3620 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-06-23 21:12:17 +00:00
Michael Bayne 2bf5936317 Fixed the orienting ballistic path, though it doesn't properly handle
arbitrarily oriented sprites. They currently have to "point" toward (1, 0,
0) as that is the direction that will be aligned with the velocity.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3619 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-06-23 03:49:18 +00:00
Michael Bayne 8bfdb79642 Build the tests along with everything else. No longer will they languish
in obscurity. Fixed a couple of out of date bits in the process.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3615 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-06-22 20:35:09 +00:00
Michael Bayne 8ef2a508c9 Created a specialization of the ballistic path that orients the sprite in
the direction of motion as it traverses the path.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3614 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-06-22 20:21:45 +00:00
Michael Bayne dfa9216b89 Do dat math!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3612 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-06-22 18:50:38 +00:00
Michael Bayne 6fbdc4e568 Created a path for ballistic motion and an associated test. Yay for
physics.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3610 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-06-22 18:26:54 +00:00
Michael Bayne 1f9d28aa59 A bunch of fiddling to support running JME in an AWT canvas.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3601 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-06-16 00:04:09 +00:00
Michael Bayne 3722bc3697 Updates to work with new BUI auto-attach/detach.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3550 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-05-12 22:23:55 +00:00
Michael Bayne 367252cf51 Brought up to date with the new world order.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3548 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-05-12 21:58:12 +00:00
Michael Bayne 357ed12b9f Switched the chat view and test app over to BUI. Modifide the build script
to create a narya-jme.jar file.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3529 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-29 03:24:07 +00:00
Michael Bayne 84d7d7a611 More slow progress toward a test application that does chat to a Crowd
server. It looks like I'm going to have to write my own user interface
toolkit for JME as nothing exists for any Java-based GL library or engine
and precious few toolkits exist in C++. Yay!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3519 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-21 04:40:12 +00:00
Michael Bayne 06899b8b7a Further massaging of the JME base application; started in on a chat client
that will run in happy 3D land.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3515 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-21 00:23:41 +00:00
Michael Bayne 9d2505c115 Added a simple chat server test framework onto which I will built a
JME-based client.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3512 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-20 22:30:19 +00:00
Michael Bayne afa995ebb9 Finally broke down and changed createPlaceView() to eliminate the annoying
potential fuckola of being called before the controller gets around to
initializing the casted context it almost certainly needs to create its
place view.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3440 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-30 01:09:30 +00:00
Michael Bayne e47f950695 Some fixes to get the old miso viewer running.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3435 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-03-29 19:12:40 +00:00