Commit Graph

197 Commits

Author SHA1 Message Date
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 9103590534 Load our images directly. Yay.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@311 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-26 19:52:52 +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
Mike Thomas 8bc738c6d8 If a scene block resolution somehow gets abandoned, remove it from the list of blocks we're awaiting. I'd like to believe this is related to the mysterious YPP missing scene block bugs we've seen forever, but since I can't reproduce it - no idea if it actually is.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@302 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-10 18:15:15 +00:00
Charlie Groves 094e6b1730 Dirty SceneObjectTips as they're laid out. This was relying on tips being added and laid out before the initial paint.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@299 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-08 23:00:20 +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 1423c03890 Incidental genericity
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@297 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-10-03 21:26:25 +00:00
Charlie Groves ddb3c92fa1 Let's not make things that actually compose stuff hop about the screen by using their VolatileMirage offset in the place of their origin offset.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@296 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-09-26 22:18:27 +00:00
Charlie Groves c45878681f If we're creating a CompositedMultiFrameImage with only a single source image and it's a TileSetFrameImage, just use the Mirages in that TileSet rather than creating a whole new set of BufferedImages to composite them into. This halves the image memory used by anything that's just colorizing and transforming its images and doesn't really need composition.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@295 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-09-26 21:49:11 +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 68bdd9402c Crank the CharacterManager cache up too so we're not compositing our sea monsters over and over again.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@293 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-09-01 00:45:40 +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
Mike Thomas 37b5e58961 If a MultiTileSprite overlaps with another item, take their render priorities into account.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@290 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-08-30 18:50:16 +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 95c36c22a2 Explanatory comment.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@287 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-08-22 22:26:36 +00:00
Mike Thomas b560a045cd Add ability for a sprite to specify that it resides in a rectangular region of tiles rather than assuming all sprites only occupy one tile.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@286 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-08-22 22:24:54 +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
Michael Bayne bbd5dd284e Added version of getTile() that takes a rectangle into which to write the results.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@282 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-08-03 21:10:48 +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
Mike Thomas 1f435d582d If our build process fails to properly trim a tile set, it's kinda a big deal, so throw a BuildException so ant hears about it and stops.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@280 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-07-30 20:59:32 +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 b5b3a5316e Christmas comes but once a year, but svn keyword substitution day comes
whenever the urge strikes!


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@274 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-07-14 00:27:00 +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
Michael Bayne 7a65a62927 Widening.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@262 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-06-14 17:42:52 +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
Andrzej Kapolka c755fd626a To reduce shader state changes and compilations, just use the
four-bone-per-vertex configuration for all skinned meshes.  Depending on 
the models we have, it may be worth compiling a separate one for two 
bones per vertex.  Added a hook to customize the material color (for 
per-vertex colors, e.g.)


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@245 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-15 00:55:19 +00:00
Andrzej Kapolka 124af1e0b1 Use a fragment shader as well as a vertex shader for the skinned meshes.
I tracked the ATI slowdown down to using a vertex shader in combination 
with fixed function fog.  Also cleaned up ShaderConfig a little.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@244 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-14 20:13:39 +00:00
Andrzej Kapolka 6b07087c31 32 matrices is just a feeeeew two many for ATI cards, but of course
their drivers can't do anything useful like report an error; they just 
silently screw up.  Limiting it to 31 makes it work, but there's still a 
strange slowdown issue (and it's not that the shaders are being run in 
software, but it's worth checking for that anyway).


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@243 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-12 00:57:35 +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
Andrzej Kapolka 82ba950111 Go back to using byte buffers; that wasn't the problem.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@241 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-11 18:30:51 +00:00
Andrzej Kapolka fd192268c3 Try using shorts rather than bytes for bone indices.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@238 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-10 23:21:15 +00:00
Andrzej Kapolka 8a0168760f Much work to reconfigure shaders automatically based on the model's
current JME state set.


git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@237 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-10 20:35:27 +00:00
Andrzej Kapolka 1d8f04c43a Prepend the #version directive before compiling the shader.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@236 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-10 01:31:42 +00:00
Andrzej Kapolka e5db96b963 Ignore cull mode when we're generating frames to morph between.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@235 ed5b42cb-e716-0410-a449-f6a68f950b19
2007-05-10 01:07:54 +00:00