return a tile with an error image so that the caller doesn't freak out and
we achieve maximal "continue to work as much as possible."
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3177 542714f4-19e9-0310-aa3c-eee0fc999fb1
if they are fringed on by any SPECIFIED tileId (ie, not the default tileId)
that is impassible.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2852 542714f4-19e9-0310-aa3c-eee0fc999fb1
- Tiles are initialized after being constructed which makes life simpler
for custom tiles which no longer have to have their own constructor that
passes Tile's stuff down to it.
- Tiles are no longer LRU cached (because we blow through that cache
instantly on all but the smallest of scenes), and are now tracked by
weak references so that we guarantee that only one instance of a tile is
ever in memory.
- Added code to track and report memory usage of weak cached tiles as well
as "stray" tiles which are created through other means than asking a
TileSet for a tile (fringe tiles being the most prolific example).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2628 542714f4-19e9-0310-aa3c-eee0fc999fb1
Random, instead it relies on a duplicatable hashing method.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2621 542714f4-19e9-0310-aa3c-eee0fc999fb1
tiles into a composited image which has been prepared for display.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2533 542714f4-19e9-0310-aa3c-eee0fc999fb1
- Combined SceneViewPanel and IsoSceneView into one happy panel.
- Ditched the DisplayMisoScene notion; the new MisoScenePanel now manages
resolved scene information (like base, object and fringe tiles) itself
so that it can...
- ...support scrolling scenes by keeping blocks of resolved base, fringe
and object information loaded only for what is potentially visible
rather than for the whole scene.
Other things were surely cleaned up or broken in the process to keep a
keen eye out.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2413 542714f4-19e9-0310-aa3c-eee0fc999fb1
- 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
fringer now generates fully stamped fringe tiles rather than tiles with a
list of images to be painted every time.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2120 542714f4-19e9-0310-aa3c-eee0fc999fb1
configuration reasons to avoid annoying "recompile and nothing works"
phenomenon. We'll opt for the "make incompatible class change and nothing
works" scenario instead.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1650 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
If fringing an entire scene, you must pass in a randomization seed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1226 542714f4-19e9-0310-aa3c-eee0fc999fb1
since the autofringer can create any fringe now anyway.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1219 542714f4-19e9-0310-aa3c-eee0fc999fb1
try decomposing the bits into contiguous regions and see if we
can't get fringe indexes for those regions.
This makes everything always fringes everywhere.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1211 542714f4-19e9-0310-aa3c-eee0fc999fb1
ImageUtil.composeMaskedImage() to create the masked fringe images.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1204 542714f4-19e9-0310-aa3c-eee0fc999fb1
load the fringe configuration from a standard place in the classpath.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1194 542714f4-19e9-0310-aa3c-eee0fc999fb1
auto fringer; miso tileset repository does same and provides access to
fringe configuration.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1190 542714f4-19e9-0310-aa3c-eee0fc999fb1