Dave Hoover
3122ae7e65
Checking if (foo = bar) is begging for disaster.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@610 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-05 21:13:41 +00:00
Charlie Groves
7386c62a68
Calculate the drain time using a long as a decent sized clip can overflow an int
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@609 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-05 20:28:15 +00:00
Charlie Groves
db0e6f93e1
Document the return on play
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@608 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-05 18:49:33 +00:00
Charlie Groves
2e25cb021f
Add a music sound type
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@607 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-05 18:46:01 +00:00
Charlie Groves
e8103138e5
Add a run queue to dispatch the various key processing runnables on to keep them off the spooler threads
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@606 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-05 18:45:45 +00:00
Charlie Groves
66d476dcb3
Allow play, loop and unlock to pass in a Runnable to be called when they're processed to match lock
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@605 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-05 01:13:21 +00:00
Charlie Groves
2b5a96b147
A for effort on the auto-naming Eclipse, but there's no need to drag the underscore along. Too bad you can't make generic arrays not suck.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@601 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-04 23:51:07 +00:00
Charlie Groves
5567dcf2a1
Only dirty regions in the MediaOverlay corresponding to its actual media.
...
Since its dirty regions propagate out to the repaint manager, a big update
there would lead to dirty calls ping-ponging back and forth for a few cycles.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@600 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-04 23:38:12 +00:00
Charlie Groves
ee6bf4a5b9
Whoops, that was supposed to be a regular loop. Caught by the Raydar.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@598 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-02 00:06:51 +00:00
Charlie Groves
4432a9d6f8
Add a second looping mode, LOOP_TO_COMPLETION, that finishes playing its
...
current run through the sound when stop is called before actually stopping.
Add a runnable to the lock method that will be called on the spooler thread
when locking is complete.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@597 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-01 23:46:17 +00:00
Mike Thomas
d1de5f411d
Rollback the sound manager change - it's causing significant slowdown.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@596 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-01 20:49:10 +00:00
Mike Thomas
8fd2dffd13
And, don't need this import either.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@595 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-01 17:23:12 +00:00
Mike Thomas
a2324b526e
Add a clarifying comment, and remove unnecessary assignment. I don't honestly recall if this was even intentionally included or a copy-paste error, but it does seem like knowing your image is busted at compile time is much better than not knowing til runtime.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@594 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-01 17:18:37 +00:00
Michael Bayne
659f5bc5e2
Code hygiene. Not as pedantic as I'd like, but I couldn't resist the huge time
...
saver that is Eclipse's "Infer generic types" which leaves HashMap and
ArrayList as the declared type where I would normally prefer to change those to
Map and List and use Maps and Lists to instantiate them.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@593 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-01 15:56:37 +00:00
Michael Bayne
60622c3590
Some code hygiene.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@592 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-01 14:39:57 +00:00
Michael Bayne
786dd4f7ff
Type our result listener.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@591 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-01 13:27:14 +00:00
Charlie Groves
1255109f57
Pump up the size of our line buffer to get longer sounds to play less
...
skiptacularly and try going back to using line.drain since our sleep until we
figure the sound will be done method wasn't working so well with the larger
buffer. Hopefully drain has been fixed in the 4 years since it was commented
out.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@590 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-01 01:23:04 +00:00
Michael Bayne
3fad5fb569
Nixed unused variable references.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@579 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-07-26 22:04:15 +00:00
Dave Hoover
5f1eed7b94
Add in @Overrides across the board, clean up the comments around them some, and remove
...
unneeded imports.
I've got partially completed patches for narya & vilya, too, but nenya was the
only one that wound up in a decent state after a friday evening puttering at it,
killing time waiting on other things to finish.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@572 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-07-14 18:19:23 +00:00
Mike Thomas
3ab8bde582
Add the ability to add "Obscurers" or components that will be drawing on top of a MediaPanel - these then force additional redrawing of the Media Panel, so should be used with extreme caution. I suspect there may be cleaner ways to do this, so there may be further changes to this in the near future, but this seems good enough for my current needs.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@568 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-07-08 22:48:36 +00:00
Michael Bayne
45edaccf6d
The plot, she is thick. The Nenya framework supports a MediaOverlay that can
...
render sprites and animations over the top of everything in the frame:
JComponents, MediaPanels anything we like. To support this, we have the
MediaOverlay tell the ActiveRepaintManager when it has dirtied an area of the
screen and it will mark that component as needing repainting. Peachy.
However, if a component decides on its own that it needs repainting, we need to
propagate that now dirty region up to the MediaOverlay so that it can repaint
anything that's above the just-repainted component on the same frame tick.
This also fixes a potential problem if a changed sprite dirties a component
which then repaints itself but the bounds of that component overlapped some
other sprite which was not going to be repainted on this tick.
There were also potential problems if components were put in the JLayeredPane
layers (which are "above" the normal components and MediaPanels but "below" the
MediaOverlay). They too should now properly dirty regions in the overlay.
It occurs to me though that if a MediaOverlay sprite is on top of a MediaPanel,
the MediaPanel will probably not properly propagate its dirty region to the
overlay because the MediaPanel is a frame participant, not a JComponent and its
repainting is handled by the FrameManager not the ActiveRepaintManager. I may
just use the sledgehammer approach and dirty in the media overlay the entire
bounds of a frame participant if it paints anything on a frame rather than try
to translated and propagate its underlying dirty regions up to the overlay.
Oh the twisty maze of passages we've created in trying to create an active
rendering system that works magically with Swing.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@566 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-07-07 19:24:26 +00:00
Michael Bayne
83a7c58017
Move this getter up with his friends.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@565 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-07-07 19:00:31 +00:00
Michael Bayne
f69a3d550e
More generics.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@564 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-07-07 18:57:51 +00:00
Michael Bayne
d5b1c1faf5
Generics.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@563 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-07-07 18:53:18 +00:00
Michael Bayne
1b7832dd8a
Fixed the comment.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@562 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-07-07 18:44:16 +00:00
Charlie Groves
550c360df6
Allow image preparation to be turned off on a run by run basis
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@552 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-24 23:44:50 +00:00
Charlie Groves
cd30b42cd8
Allow the size of the sound cache to be set in the sound manager's constructor.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@549 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-23 22:00:22 +00:00
Charlie Groves
49777fab3f
Everybody's favorite new game show, Name That Thread
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@538 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-11 00:46:48 +00:00
Charlie Groves
ef4e27cdd0
Need to synchronize around adjustSize as it can lead to a flush
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@536 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-10 23:33:58 +00:00
Charlie Groves
d67c0bd7b7
Only use the set cache value for the current set of managers, don't store it in the RuntimeAdjust
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@535 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-10 21:37:57 +00:00
Mike Thomas
06e3217d6b
Well that's just peachy. When we drawImage from a BufferedImage, the performance is relative to the size of the source image, not to the size of the resulting tile subimage. Therefore, for largish tileset sources, this was taking a Very Long Time. So, we take a subimage first and use that for our drawing. (I believe it's still accurate that we cannot just use the subimage directly due to various factors - though if we somehow could, it would save us some cache space).
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@534 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-10 20:29:20 +00:00
Charlie Groves
70ef6a644a
Widened and genericized
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@528 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-06 21:16:45 +00:00
Charlie Groves
7d613a999a
Allow cache sizes to be set programatically
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@527 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-06-06 21:15:05 +00:00
Michael Bayne
e00b4ddd6b
Switch to new logging API.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@510 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-27 22:55:10 +00:00
Charlie Groves
b521b4bfbf
Instead of caching the last 10 sound clips, cache up to 4 megs of clips
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@509 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-27 22:09:03 +00:00
Michael Bayne
209504479d
Fix this user of samskivert's log object.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@507 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-27 18:53:20 +00:00
Mike Thomas
ef15781c28
Add the ability for network resource bundles to have an index file which tells them which files they should expect to find. This turns out to be pretty useful since resources try to grab a locale-specific version first, which often fails, and then they have to grab their generic version. This allows us to bypass some of this latency when we're able to know ahead of time which resources we will have.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@500 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-22 18:34:37 +00:00
Michael Bayne
7835b083b8
Nixed some if true then true (ITTT?) stylings. Ray happiness++.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@499 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-21 11:19:51 +00:00
Charlie Groves
a012977741
Need to use floating point numbers if you want floating point math
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@498 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-20 22:04:13 +00:00
Charlie Groves
14dd85bb45
Switch to fixed-delay scheduling from fixed-rate so our interval being blocked
...
won't cause multiple calls to calibrate. Since a fixed-delay Interval can't be
used with a RunQueue, move the calibrate interval onto the Timer's thread and
switch to floats for the drift ratio so synchronization isn't needed around
updating it as a double.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@497 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-20 21:05:46 +00:00
Charlie Groves
c0b0b9c94a
Start with no alpha so getting a paint before we're ticked doesn't blow up
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@495 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-05-14 21:18:54 +00:00
Charlie Groves
6029530e73
Wait till willStart to create the gleaming functions so subclasses can fill in their desired alpha ranges and so on and the huge constructors aren't needed
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@476 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-04-24 01:05:10 +00:00
Charlie Groves
9b20077820
Allow the min alpha to be specified in addition to the max
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@471 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-04-21 19:03:47 +00:00
Charlie Groves
0a5fff92d3
Don't require a SpriteManager for gleamed sprites that aren't used as sprites otherwise
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@470 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-04-19 23:05:47 +00:00
Charlie Groves
ab5729654c
Keep the drift ratio between .01 and 10 for timer siestas and fiestas
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@468 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-04-18 19:01:44 +00:00
Charlie Groves
5a654ebd99
Don't compound the problem of the timer going into the past by sticking the drift at 0 for 5 seconds
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@445 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-13 01:27:04 +00:00
Charlie Groves
f3c2097498
Cancel the calibration interval and start a new one in reset to prevent calibrate calls coming immediately after the reset from producing a crazy drift
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@442 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-12 00:06:00 +00:00
Dave Hoover
d349c1f91a
Pull out our drift range to constants, and tighten it up a little bit.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@441 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-11 18:16:16 +00:00
Dave Hoover
3d4241540f
Let us clear our CalibratedTimer's memory about drifts we've seen.
...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@440 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-11 18:12:21 +00:00
Dave Hoover
381bfd239b
Have CalibratingTimer remember the largest drift it's seen, and let us get at that
...
via our FrameManager.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@439 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-03-10 16:58:45 +00:00