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