peacable continued frame painting in cases where a component gets in a bad
way and fails to paint itself happily.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1432 542714f4-19e9-0310-aa3c-eee0fc999fb1
asynchronous notification when initialization is complete.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1431 542714f4-19e9-0310-aa3c-eee0fc999fb1
(the main client thread, which will generally be the AWT thread unless the
client is being used in a situation where there is no AWT) to avoid bad
thread clashy.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1424 542714f4-19e9-0310-aa3c-eee0fc999fb1
a) use an ObserverList in SAFE_IN_ORDER_NOTIFY mode which circumnavigates
any funny business like observers being added or removed while we're
notifying the observers.
b) require that the clients be notified on the main client thread
(generally the AWT thread) by using the invoker; we had a problem
previously where clientDidLogoff() was being called by the communicator's
writer thread which caused all hell to break loose because everything
outside the client networking layer depends on running on the same thread.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1422 542714f4-19e9-0310-aa3c-eee0fc999fb1
incremented whenever the game is reset. Games that don't make use of the
resetting functionality essentially consist of a single round.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1420 542714f4-19e9-0310-aa3c-eee0fc999fb1
directions, otherwise movement in one direction will unnecessarily reset
the "move stamp" for the other direction in which we didn't actually move.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1415 542714f4-19e9-0310-aa3c-eee0fc999fb1
follow a path (specifically, I want to allow the media panel to be
"scrolled" along a path).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1409 542714f4-19e9-0310-aa3c-eee0fc999fb1
interpreted according to a globally established base time.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1404 542714f4-19e9-0310-aa3c-eee0fc999fb1
after both the reader and writer have exited (otherwise the reader could
exit before the writer which would result in the client chucking its
reference to the communicator which could subsequently bite us in the ass
if anyone tried to reference the client's distributed object manager when
the writer finally exited and triggered all of the clientDidLogoff
callbacks). Multithreaded programming is fun!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1396 542714f4-19e9-0310-aa3c-eee0fc999fb1
server; chat director no longer needs to wait until we're logged on to
register itself with the invocation director.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1393 542714f4-19e9-0310-aa3c-eee0fc999fb1
single instance of the IntervalManager unlike the standard Java Timer
services which would require someone to have a timer instance to do the
scheduling of our safe intervals. Plus Ray will be much happier now that
the SafeInterval is not so flippant about reusing methods.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1392 542714f4-19e9-0310-aa3c-eee0fc999fb1
building when the client logs off. Use an ObserverList. Expanded
imports.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1384 542714f4-19e9-0310-aa3c-eee0fc999fb1
ticking when paused rather than un-registering and re-registering
ourselves as a frame participant to effect same.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1383 542714f4-19e9-0310-aa3c-eee0fc999fb1