- Reworked colorization repository such that we now have arbitrary named
"colorization classes" which can be used by various and sundry entities
to colorize themselves.
- Added support for individual object colorizations as well as "spots"
that go along with objects (will be used to automatically create portals
into buildings and automatically position users properly when at a
"station").
- Repackaged things in miso to more closely mimic what we do everywhere
else (no more miso.scene, now we have miso.data and miso.client).
- Fixed up miso scene XML representation so that objects can more easily
be expanded to have yet more stuff if we think of more stuff that they
might aught to have in the future. Structured the miso scene model so
that "uninteresting" objects (those that simply sit somewhere and don't
do anything) take up a lot less memory than "interesting" objects (those
that have action strings, "spots", colorizations and the works). I may
want to roll colorizations into the "uninteresting" realm, but that
remains to be seen.
- Made it possible for object tilesets to specify default render
priorities for objects in that tileset. This will hopefully allow us to
get by without any "custom" render priorities that are specified on
scene objects, instead relying on the default priorities to resolve
common conflicts.
There are surely other cleanups in there, but I think that was the major
thrust of it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2228 542714f4-19e9-0310-aa3c-eee0fc999fb1
convert whatever its internal format is into ARGB for our inspection. It's
arguably a smidge slower (though we eliminated the multiple method calls
per pixel to determine whether it is non-transparent), but will work with
any source and destination image format.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2220 542714f4-19e9-0310-aa3c-eee0fc999fb1
createImageMask() not to freak out if the source image is not RGBA, Java
automatically unpacks pixels appropriately for 8-bit colormapped images,
so there's no need to be so picky. In createTracedImage() we were
converting the image to a screen optimized image anyway and thus the
source image format had absolutely no bearing on what we did with the
image later.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2218 542714f4-19e9-0310-aa3c-eee0fc999fb1
number of bytes used rather than a certain image count.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2173 542714f4-19e9-0310-aa3c-eee0fc999fb1
strange slow rendering problems we see when we allow mixed BITMASK and
TRANSLUCENT images to be rendered.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2140 542714f4-19e9-0310-aa3c-eee0fc999fb1
- All images are loaded through the image manager
- Architected to allow the use of prepared or unprepared images (and
volatile images when the day comes that they support alpha)
- Tunable caches for images and tiles
- Resource manager caches unpacked resources on the filesystem
- Various and sundry other cleanups
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2116 542714f4-19e9-0310-aa3c-eee0fc999fb1
we're done loading images from them.
Always load through a BufferedInputStream because that seems to fix the
bogosity with ImageIO.load() not working without a cache.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2098 542714f4-19e9-0310-aa3c-eee0fc999fb1
classpath. Removed getImageSource() as calling through to the resource
manager is simpler.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1972 542714f4-19e9-0310-aa3c-eee0fc999fb1
would sure be nice to have a variant that traces the supplied image rather
than always creating a new one, and more flexibility with respect to the
alpha gradient steps might be nice, but all of that sort of thing will
just have to come later.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1950 542714f4-19e9-0310-aa3c-eee0fc999fb1
was documented, so that callers can do things like fall back to trying the
classpath rather than having the previously-thrown IOException circumvent
the rest of their antics.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1826 542714f4-19e9-0310-aa3c-eee0fc999fb1
which the image is to be loaded. Removed unused imports.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1807 542714f4-19e9-0310-aa3c-eee0fc999fb1
two colors may be blended at a ratio other than 50-50.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1593 542714f4-19e9-0310-aa3c-eee0fc999fb1
configuration as another and one for computing a rectangle that bounds all
non-transparent pixels in an image.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1483 542714f4-19e9-0310-aa3c-eee0fc999fb1
in the same package. Also added support for applying a set of
recolorizations all at once so that previous recolorings aren't borked by
subsequent recolorings (plus it's more efficient).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1340 542714f4-19e9-0310-aa3c-eee0fc999fb1
longer provide access to their underlying image (they actually still do,
but not in the normal course of affairs). This will allow us to use
"trimmed" tiles which are trimmed to the smallest rectangle that contains
the non-transparent pixels in a tile image, which will shrink up our
components and other tiles a great deal.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1339 542714f4-19e9-0310-aa3c-eee0fc999fb1