Commit Graph

32 Commits

Author SHA1 Message Date
Mike Thomas 52e44de862 Uh.... If we've passed along our temporary/optimization member var _tbounds as a parameter to renderLayer() it's probably best if we don't then try to reuse _tbounds for something else while simultaneously attempting to use that parameter.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@896 ed5b42cb-e716-0410-a449-f6a68f950b19
2010-03-03 02:06:09 +00:00
Dave Hoover db71878346 Welcome to the future.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@868 ed5b42cb-e716-0410-a449-f6a68f950b19
2010-01-04 21:47:34 +00:00
Dave Hoover 707ebe5e5a Prune spurious semicolons & redundant implementation declarations
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@849 ed5b42cb-e716-0410-a449-f6a68f950b19
2009-08-17 21:46:05 +00:00
Dave Hoover 3c610e959a Out, out, damned tabs
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@838 ed5b42cb-e716-0410-a449-f6a68f950b19
2009-07-15 22:13:09 +00:00
Michael Bayne 40c32e0f04 Updated headers, added missing headers to some source files.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@784 ed5b42cb-e716-0410-a449-f6a68f950b19
2009-03-19 23:44:46 +00:00
Dave Hoover b473318b12 More import cleanups to go with r662, along with a little bit of foreaching, widening, etc.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@664 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-09-26 17:29:23 +00:00
Michael Bayne 8e69ff612e Some import cleanups from Dave.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@662 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-09-25 22:16:10 +00:00
Charlie Groves 62740fe546 Rather than trying to restrict the drift adjustment into a sane range, just stop applying it if it's huge or tiny.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@656 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-09-14 23:27:29 +00:00
Charlie Groves 0abacd42d3 Give OpenALSoundPlayer its own thread and queue to keep it from sharing with the EDT and possibly blocking
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@639 ed5b42cb-e716-0410-a449-f6a68f950b19
2008-08-20 23:31: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
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
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
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
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
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
Michael Bayne 5485cf2ab4 Make our ManagedRoot available to callers.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@335 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-09 23:00:04 +00:00
Dave Hoover 717dc79c02 Tabs -> spaces
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@268 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-06-26 00:07:47 +00:00
Michael Bayne 12e17a9e33 Remove debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@242 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-11 23:28:00 +00:00
Michael Bayne 2e0678877b Use the hacky PerfTimer if available and fall back to the NanoTimer if we're
running in a sandbox.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@234 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-09 21:53:42 +00:00
Michael Bayne 0024a02067 Wow, the media framework gets into a bad way if it's forced to use the
inaccurate System.currentTimeMillis() timer. Fortuately Sun introduced
System.nanoTime() in 1.5 which provides civilized timing information, so we can
use that instead of sun.misc.Perf which is unavailable in an applet sandbox. We
will need to go in and try to cope as best we can with currentTimeMillis() if
we want to support unsigned play in JDK 1.4 or earlier. We'll do that later.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@231 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-09 19:22:10 +00:00
Michael Bayne 2c6fdf5d94 Cope if our ManagedRoot is not a component.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@227 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-04 23:08:08 +00:00
Michael Bayne 095c718244 Render to the applet instead of its parent window since that doesn't work.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@223 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-03 22:56:29 +00:00
Michael Bayne b6f5317ad2 More header patrol.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@158 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-02-24 00:38:17 +00:00
Dave Hoover 120e9c0db9 Actually substitute keywords (these files are chock full of stale $Id$ tags)
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@119 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-01-24 00:22:12 +00:00
Michael Bayne 81a3dd4dd9 In theory this should work (modulo some particularly fiddly bits that I'm going
to have to think about), but it's totally untested. That comes next!


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@115 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-01-20 02:35:56 +00:00
Michael Bayne 088bc4b88b Fix initialization ordering problems in MetaMediaManager ->
Sprite/AnimationManager -> AbstractMediaManager.

A smidgen more progress on MediaOverlay, but we need to get these bits checked
in ASAP.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@114 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-01-20 02:10:30 +00:00
Michael Bayne 031b51419f Widened, reordered methods, removed some old debugging cruft in preparation for
adding the MediaOverlay stuff.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@113 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-01-20 01:21:05 +00:00
Michael Bayne a8de5bb789 A whole bunch of refactoring to support a MediaOverlay which will allow us to
render sprites and animations anywhere in the frame for those times when you
just need to draw outside the lines.

The actual MediaOverlay isn't done yet, but all the refactoring to support it
is done, so the rest should be easy. In theory this shouldn't break anything
(like the Yohoho build), but we're about to find out.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@112 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-01-20 01:09:53 +00:00
Michael Bayne 9ed3f62af7 Some further FrameManager wrangling and a proper bridge for managed applets.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@32 ed5b42cb-e716-0410-a449-f6a68f950b19
2006-08-25 00:34:18 +00:00
Michael Bayne c2117ee86d Behold, Nenya, Ring of Water and repository for our media and animation related
goodies, both Java 2D and LWJGL/JME 3D.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@1 ed5b42cb-e716-0410-a449-f6a68f950b19
2006-06-23 18:07:28 +00:00