Commit Graph

3303 Commits

Author SHA1 Message Date
Michael Bayne 097730e84d Update for 2005.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3361 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-20 00:37:52 +00:00
Michael Bayne 121f6d7e53 Did the refactoring necessary to get the client and server to live happily
together in one JVM and both interoperate with the AWT thread in a manner
so harmonious as to bring a tear to the eye. This was surprisingly much
easier that I expected, thanks to my eminently sensible initial design,
I'm sure. ;)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3360 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-20 00:37:34 +00:00
Michael Bayne 41fb0b1b80 The PuzzleService was superfluous. The ParlorService can handle starting
single player games and indeed should because it's useful outside the
context of puzzles and their ilk.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3359 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-19 22:38:06 +00:00
Michael Bayne 4036d12121 Further test fixes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3358 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-17 02:14:44 +00:00
Michael Bayne e8705b6137 We need more libraries.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3357 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-17 02:07:10 +00:00
Michael Bayne c0cd2cd3ca Further repairs to the build configuration.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3356 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-17 02:05:35 +00:00
Michael Bayne 2198748dcb Brought the tests back into the land of compilability.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3355 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-17 01:54:54 +00:00
Ted V ebf4d7cfa2 Now throws the proper type of exception when a color name lookup fails.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3354 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-16 22:21:01 +00:00
Ted V 785259a4a8 Quite obviously the parsing should check for integers, not bytes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3353 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-15 21:44:35 +00:00
Ted V d618c12c93 Added accessor function that handles color name -> id lookups.
Could be made faster with some sort of reverse string lookup table,
but it doesn't seem worth the overhead right now.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3352 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-15 20:53:49 +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 7cf98ba971 Automatically lay out our label if it has not already been.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3349 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-14 03:01:28 +00:00
Michael Bayne 99d382fdbf Updated the constructor.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3348 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-14 03:01:14 +00:00
Michael Bayne 459d677a2f Provide the AbstractMediaManager with a reference to the panel it's
working with rather than just the RegionManager.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3347 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-14 03:00:58 +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 8f9af12fdb Use a direct buffer for our overflow queue partial buffer as well because
there will be relatively few of those (at most one per client that is
experiencing lag) and while the client is experiencing lag we will be
trying to write their data once per pass through the sockets (which could
be hundreds of times a second) and we don't want each write attempt to
result in the creation of a temporary direct buffer.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3345 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-10 04:39:23 +00:00
Ray Greenwell 10e84f9471 Gee wally, now that sound is fixed, let's go back to expiring late sounds
at a reasonable time again.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3344 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-10 04:00:12 +00:00
Ray Greenwell 5ff24097a7 Tested and verified: the bug is fixed. Removed extra debugging, found
another instance of append() that needed to be changed to appendLoud().


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3343 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-09 23:02:39 +00:00
Ray Greenwell 2ff14aa456 Well then! That last bit of debugging has finally shown me the light!
Queue.append() only does a notify() if the queue was previously empty.
So when the dobj thread was requesting two sounds one after another, it
only woke up one player thread, which played the first sound and then
came back 'round to play the next sound after it was done. The next sound
was usually expired by that time.

Use queue.appendLoud(), which always wakes up a waiter thread.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3342 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-09 22:34:55 +00:00
Ray Greenwell 67521e973d Even more logging, to ensure that two different threads are indeed playing
these two different sounds.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3341 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-09 22:02:22 +00:00
Ray Greenwell 86757cb55e Even more verbose logging to figure out why the sound manager is being so
slow.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3340 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-09 20:59:14 +00:00
Ray Greenwell f027797120 Added some more info to some logging, cleaned up formatting of logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3339 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-09 19:55:31 +00:00
Ray Greenwell 60c5f60a23 Added additional verbose logging to figure out why some clips take
so long to get played.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3338 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-08 07:09:05 +00:00
Ray Greenwell cb6da9d5bc Playing with the sound under windows, it seems that a lot of sounds are
getting dropped because they're taking too long to play. Extended the
max delay to 1000ms, which will surely help more sounds play, but may
not be worth it. Hey, we've got a test server to test on...


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3337 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-08 06:26:27 +00:00
Michael Bayne 45ec296ba0 Here's a giant performance improvement: the current Presents architecture
flattens messages into a buffer and then passes that bucket to a
SocketChannel.write() method which is part of the NIO business. If said
buffer is a "direct" buffer, the write() method will in theory do
high-performance shit like DMA the data right to the network card. If it's
not a direct buffer, Sun apparently makes a temporary direct buffer,
copies the data into it and passes that on to the underlying socket send()
call. We weren't using direct buffers which means that we were copying
everything one more time than needed (not a huge deal) and that we were
allocating a direct buffer for every message (a much bigger deal). This
should take a serious load off of the I/O thread and fortunately we can
test it on Ice to make sure it doesn't do anything super crazy.

All this said, this whole business is going to change when I rearchitect
Presents to avoid the potential race conditions it suffers from now and we
won't be able to use a single direct buffer to write all of our outgoing
messages, but I believe we will be able to use a pool of direct buffers
with one used by every message in the queue waiting to be written
(hopefully that won't be too many at any given time) which we can keep
around to avoid the expense of allocating and freeing direct buffers.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3336 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-08 05:08:47 +00:00
Michael Bayne 53c3435854 Handle cases where one or the other direction does not scroll for lack of need.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3335 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-07 03:53:54 +00:00
Michael Bayne ff4f9d4a9c A helper that makes it easy to wire up scrollbars or a scrollbox to a
virtual media panel.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3334 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-07 03:37:39 +00:00
Michael Bayne 02db6a2b73 Further cross-"platform" jockeying.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3333 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-03 01:59:59 +00:00
Michael Bayne 40b6fc31d7 More jockeying to make things happy with Linux and FreeBSD.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3332 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-03 01:30:33 +00:00
Michael Bayne d49873820d Use names that correspond with System.getProperty("os.name").
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3331 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-03 01:25:21 +00:00
Michael Bayne 279849151c Use names that correspond with System.getProperty("os.name").
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3330 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-03 01:24:57 +00:00
Michael Bayne 924ab5c9e6 We've got crablegs! And a special Makefile for Linux and FreeBSD.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3329 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-03 01:22:28 +00:00
Michael Bayne ecf7c7f415 Fuck me riding a pony; whatever goddamned make that FreeBSD uses is
sufficiently incompatible with GNU make that I'd rather just have two
whole separate goddamned directories with their own Makefile than try
to get everyone to agree on how to do things.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3328 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-03 01:16:12 +00:00
Michael Bayne f26c58ef4d Revamped things to work in multiple flavors of Joonix.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3327 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-03 01:02:58 +00:00
Ted V f7109f64bf Was doing some debugging; opted to leave the log import checked in.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3326 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-01 23:11:42 +00:00
Ted V 66321690e6 Animation now accounts for X acceleration.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3325 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-01 20:42:21 +00:00
Ted V 6206d9f71b Added construction interface for X axis acceleration.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3324 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-02-01 20:22:09 +00:00
Ted V bf463e46e9 Left logging import.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3323 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-28 22:52:53 +00:00
Ted V 42fb1f095b Needed some debug information from this class; figured I'd leave the
Log import in there.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3322 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-28 21:13:27 +00:00
Michael Bayne 56417cdb0a Indicate whether we rejected an attempt to logon because we're still in
the throes of a previous connection. Also don't spuriously recreate our
ticker because it's very possible for logon() to be called and not
logoff(), logon() might fail, for example.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3321 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-28 05:03:37 +00:00
Ted V 44be1bda18 Fixed bug where action animations and sprites weren't being removed
when all animations and sprites were cleared out.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3320 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-28 03:28:38 +00:00
Ted V 81487748dc Scale animations now report when they've finished.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3319 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-28 00:07:56 +00:00
Ted V d8749a8b41 Bunch of updates to handle actual drawing of the image. Some bug fixes too.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3318 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-27 23:59:39 +00:00
Ted V 4033d08113 Most of the class has been rewritten.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3317 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-27 21:17:59 +00:00
Ted V cdb7284ea2 Skeleton of a scaling animation stolen from GleamAnimation. Nothing
has been changed, except the names to protect the innocent.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3316 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-27 20:49:34 +00:00
Michael Bayne aa80b920c8 More documentation updates.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3315 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-27 04:48:00 +00:00
Michael Bayne ae5105185c More progress on our glorious Presents documentation.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3314 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-27 04:16:45 +00:00
Michael Bayne c11e8c4d3c The beginnings of documentation for the Presents distributed object
system. Oh the complexity.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3313 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-27 01:55:48 +00:00
Ray Greenwell dc09c1214d Added getTimeString() which returns more than one element of a duration
(example: 3 hours, 12 minutes and 32 seconds).

Rewrote getTimeOrderString() to be iterative.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3312 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-01-27 00:46:44 +00:00