by being incorrectly used by the duty report system.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3142 542714f4-19e9-0310-aa3c-eee0fc999fb1
1. Modified the performance metric code to use hundred microseconds rather
than milliseconds as millis are not sufficiently fine grained.
2. Switched from using an ObserverList to a hand-rolled mechanism for
frame participants. It is unfortunate that we're not reusing code (though
this turns out to be 55 fewer lines of code) but the FrameManager needs to
allow tick participants to be removed from the list while in the middle of
processing another participant's tick.
With the ObserverList we have to use SAFE_IN_ORDER_NOTIFY which adds
undesirable overhead to each tick, or FAST_UNSAFE_NOTIFY which is
efficient, but freaks out if an as-yet-unticked participant is removed
during another particpant's tick.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3140 542714f4-19e9-0310-aa3c-eee0fc999fb1
we want to do most of the time anyway (in cases where we don't care about
whether an animation is "interesting" with regard to puzzle action).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3121 542714f4-19e9-0310-aa3c-eee0fc999fb1
hand-modifications to setState() but we're no longer having problems with
multiply ending games so they are no longer needed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3117 542714f4-19e9-0310-aa3c-eee0fc999fb1
has colorizations and implements the "String[] getColorizations()" method.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3111 542714f4-19e9-0310-aa3c-eee0fc999fb1
rendering the board from the board state and doing all manner of jockeying
to prevent that from wigging out when the board state changes before the
display is ready to change.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3108 542714f4-19e9-0310-aa3c-eee0fc999fb1
which makes sense when you think about it, so we now increment the instance
when an object is cloned or created.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3107 542714f4-19e9-0310-aa3c-eee0fc999fb1
when appropriate and to automatically extract and use the integer value
even if it's a string so that we can compose up messages with
plural-customized versions just like we do regular messages. Magic++!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3093 542714f4-19e9-0310-aa3c-eee0fc999fb1
to work around the rapid-fire endGame()/startGame() calls that don't allow
the endGame() events to propagate before startGame() is called.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3089 542714f4-19e9-0310-aa3c-eee0fc999fb1
is only populated when the MuteDirector is created, not when someone logs on.
The mutelist is client-side only, and in fact is shared between all users of
a machine. This is something that we should consider fixing now that
1 billion chinese are playing the game in web cafes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3088 542714f4-19e9-0310-aa3c-eee0fc999fb1
previously abstract methods to make the class behave how a theorized
IntDropBoard would have in our previous world of abstract DropBoards.
Removes the need for the ByteDropBoard and ShortDropBoard as classes can
now derive directly from DropBoard.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3087 542714f4-19e9-0310-aa3c-eee0fc999fb1
wire in normal play, so we don't care about the space savings.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3086 542714f4-19e9-0310-aa3c-eee0fc999fb1