Commit Graph

86 Commits

Author SHA1 Message Date
Charlie Groves ce1649d79b Don't adjust the image path to end in .raw since we're actually making .pngs
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@380 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-12-13 19:17:42 +00:00
Michael Bayne d0f8f1e1d0 Turns out people had extended Sprite and added their own Comparable
implementation, so let's not stick a fork in that.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@353 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-22 06:45:42 +00:00
Mike Thomas c73ec397e0 The old way I had the Directory-based bundlers checking for out-of-dateness was prone to error in the face of new files or unfortunate subdirectory situations. Now check on an entry-by-entry basis instead, which is much happier.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@351 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-15 21:56:34 +00:00
Mike Thomas d6b01cab7a Enable keyword substitution on these new files.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@348 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-13 19:24:53 +00:00
Mike Thomas f57e973987 Rather than forcing a rebuild of our tileset and component bundles every time when we're deploying to a directory bundle, decide based on the oldest modification time stamp of any file within the directory. Otherwise, these builds get crazy long.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@347 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-13 18:29:49 +00:00
Mike Thomas ee73dd43de New type of ResourceBundle - NetworkResourceBundle - This bundle grabs its resources over HTTP from a root URL rather than from a local jar file. To make use of this, we need a way to put all the contents of the bundle into an appropriate directory instead of a jar, including its metadata, so some new Bundler Tasks were created to do this. Finally, allow tile set trimming to be done to a non-raw image format through passing an optional imgFormat parameter. If no parameter is passed, it'll default ot the old behavior of using raw/FastIO. Note that to use network bundles, you can set the set_type in the resource manager.properties file. (e.g. "resource.set_type.tilesets = network") If no set_type is set for a resource set, it defaults to a normal FileResourceBundle
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@343 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-13 01:12:18 +00:00
Michael Bayne fd64f4d460 Nix unused imports.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@336 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-10 01:19:07 +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 ffd07764ee In case something goes screwy and we come up with a bogus time to sleep waiting
on our sound to play, make sure we do at least our half second fudge, rather 
than spewing errors as we try to sleep for negative amounts of time.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@332 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-07 18:34:40 +00:00
Dave Hoover e46e126604 Cut this back; 16 seems to be adequate, and with how everything's structured
right now, we only cancel looping sounds after working with a full buffer's
worth of audio, so going too large is problematic.

It'd probably be a Good Thing to do something a little fancier for cancelling 
looping sounds more immediately, but for now, we'll stick with close to what's 
been the status quo for years.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@331 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-05 19:58:43 +00:00
Michael Bayne 9055539f69 We want to hear about repaints, though I need to test this more in various
other scenarios to really really be sure. Oh the twisty maze of AWT passages.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@330 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-11-03 00:45:12 +00:00
Dave Hoover bbbb5a2498 Only jump through extra hoops converting our sounds to pcm if we need to
(e.g. decoding oggs, but not playing wavs)
And then make looping work even if we're playing something that doesn't 
support resetting to marks in the stream (e.g. decoding oggs)


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@325 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-31 23:34:03 +00:00
Dave Hoover b0a9cb847e Millis, not seconds.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@322 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-30 23:10:40 +00:00
Dave Hoover bf50fef84c When playing sounds, sleep for our estimated line reading time based on
how long we think the sound will really take to play, not how long the last
chunk of our buffer will take. With bumped up LINEBUF_SIZE, we'd sleep longer,
but would actually START sleeping much sooner, so we would truncate sounds.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@321 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-30 22:54:46 +00:00
Mike Thomas b9d255b032 We can't reliably make the decision as to how to load the image (FastImageIO/raw v normal) at the ResourceManager level - the path name by this point may be a file in the cache which will have lost its indicative extension. Instead, make the decision before we turn the resource path into an actual file name. This fixes YPP's current image loading issues.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@318 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-29 20:15:25 +00:00
Dave Hoover 618e688aab Nix unnecessary cast and unused compare function.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@314 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-26 22:55:49 +00:00
Michael Bayne ee10bb11ed Extract FileResourceBundle into a separate subclass and hide it away from the
rest of the world.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@312 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-26 20:08:38 +00:00
Michael Bayne ecc173d6ad Revamped image loading such that the ResourceManager handles loading images
given a resource path so that it can be smart about loading from files versus
streams depending on what works based based on where the resources are coming
from. Also moved FastImageIO into com.threerings.resource to avoid a dependence
on com.threerings.media in resource.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@310 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-26 19:50:53 +00:00
Dave Hoover 0f98f64a9a If we want to use fancier SPI things (such as the stuff to trivially let us
play oggs), we need to jump through slightly more hoops with our audio. 
Also, bumping up LINEBUF_SIZE appears to clear up some general issues with 
linux playback being worse than other platforms, but definitely solves issues
where playing ogg turned into a bowl of rice krispies on all platforms.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@308 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-23 00:08:22 +00:00
Dave Hoover 1ebd28a450 Little bit of widening, type safety, and flagging overrides.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@306 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-17 23:34:32 +00:00
Michael Bayne 07830b303f Nixed a bunch of redundant casts.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@304 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-17 21:52:40 +00:00
Charlie Groves e0a22877e2 This seems like its been pretty happy on ice, so take off the training wheels
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@303 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-12 20:11:00 +00:00
Charlie Groves b4417cc330 Add a switch to disable dirtying the whole screen on an invalid component on the Mac again. I can't reproduce the problem now, and I might have just been seeing some sea monster badness before. Leave the current behavior on by default though.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@298 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-03 22:10:28 +00:00
Charlie Groves 8d5fc6c6ea Rolling back r292 with great sadness in my heart. The non-repainting doesn't happen very often, but sure enough it does and sure enough it's awful.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@294 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-09-03 22:45:29 +00:00
Charlie Groves 1e55b4ed7e Haven't been able to see any non-repainting without this on my mac, and this was causing the whole screen to be dirtied once a second when the countdown timer in a seamonster battle ticked.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@292 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-08-31 17:18:35 +00:00
Charlie Groves 65b8cdbc3a Factor in the percentage of the databuffer a BufferedMirage is using to
estimate its memory if its BufferedImage is a subimage of another
BufferedImage.

Include the amount of memory used by colorizations in ImageManager's cache
usage calculations.

Crank ImageManager's cache size up to 32 megs since a) it's actually seeing the
memory used by colorizations and b) the new seamonsters are pretty sizable.



git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@291 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-08-30 22:50:24 +00:00
Charlie Groves 11322269c2 Redraw seems to work correctly on the Mac now, so only invalidate the shifted region like on other platforms.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@288 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-08-28 17:07:39 +00:00
Mike Thomas 9d73fe0587 This needs to respect sprite offset.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@285 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-08-22 22:22:59 +00:00
Charlie Groves e003d97535 Break the code for completing a fade into a method so subclasses can override it and do what they will when it finishes.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@284 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-08-10 22:00:50 +00:00
Michael Bayne 069fe85c70 A whole lot of widening, refactoring, thinking, rethinking and fiddling around
for what ultimately boils down adding this method to BundledComponentRepository:

    @Override // from IMImageProvider
    public Mirage getTileImage (String path, Rectangle bounds, Colorization[] zations)
    {
        // we don't need our images prepared for screen rendering
        BufferedImage src = _imgr.getImage(getImageKey(path), zations);
        if (bounds != null) {
            src = src.getSubimage(bounds.x, bounds.y, bounds.width, bounds.height);
        }
        return new BufferedMirage(src);
    }

So much fun to revisit code I wrote six years ago.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@283 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-08-03 22:04:04 +00:00
Charlie Groves 205d57a7fe Allow TileSetRuleSets to specify a custom tileset tag name, and use that to allow UniformTileSets as <uniformTileset> in addition to the existing SwissArmyTileSets as <tileset> in the bundle tasks.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@281 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-08-02 23:18:16 +00:00
Dave Hoover 81dcd90c1a Simplify and combine fading out for both moving and stationary sprites.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@276 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-07-18 18:47:37 +00:00
Dave Hoover f57c408d7f If something goes wrong adding our tileset to the bundle, throw an exception so that
things fail & attract attentino, rather than trying to work around it and printing 
a stack trace that will likely go unnoticed amidst a slew of other build messages.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@273 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-07-13 18:07:29 +00:00
Charlie Groves 7fdd8fee17 Add the ability to fade the sprite out without a path and fix fading out with a path so that it's actually fading out instead of fading in
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@272 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-07-11 23:49:04 +00:00
Charlie Groves 7efd53a76c Use _minAlpha to figure out when to stop moving alpha down, don't readd the sprite in tick since shutdown is taking care of it also
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@271 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-07-09 22:49:48 +00:00
Charlie Groves 640b6fe1f6 Reset the up and down timers in reset and allow the maximum level of gleam and update frequency to be specified
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@269 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-06-29 22:41:52 +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
Dave Hoover 7ca448a91e Let us optionally not auto-reposition TransformedMirages; it was being smart
for things like scales and rotates so 0,0 still meant the same place, but that 
meant I couldn't just reposition something, since it would promptly undo the
transform I passed in.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@256 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-06-01 18:08:34 +00:00
Michael Bayne 97f6eb7c85 Switch to Java's logging facilities.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@254 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-30 01:18:06 +00:00
Michael Bayne 91c45db381 Let's do this in a way that allows more than a single value to be used in the
natural comparison.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@249 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-15 17:50:16 +00:00
Michael Bayne acea29604d Make AbstractMedia implement Comparable instead of using a comparator. Added
naturalOrder() which allows media to use a more consistent "same render order"
order resolution value than Object.hashCode().


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@248 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-15 17:45:18 +00:00
Michael Bayne f7dfe51a9c Oh yeah, we need to call that method.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@247 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-15 17:05:04 +00:00
Michael Bayne 9a30debf42 Type safety and widening.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@246 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-15 16:59:58 +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
Mike Thomas 8a2e67831e Also need to cope with non-component _root in BackFrameManager
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@228 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-04 23:14:26 +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 ab6252cee7 Widened. Added getMirage(String).
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@222 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-03 21:13:32 +00:00