scene model and associated business to store scene data in an arbitrary
set of blocks rather than fixed arrays; finally stuck a fork in scene
width and height as well as view width and height along with origin offset
and a few other now obsolete bits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2434 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
SectionedMisoSceneModel for storing info on a section of a larger scene.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2406 542714f4-19e9-0310-aa3c-eee0fc999fb1
objects array, we have to recreate it completely because objects could
become interesting or uninteresting and we'd never know when to remove
them from one storage mechanism and stick them in the other.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2289 542714f4-19e9-0310-aa3c-eee0fc999fb1
returned without modifying ObjectInfo.priority which would cause the
default priority to be written out as an overridden priority.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2235 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
order in which they were added to the scene (that information is no longer
available as objects are reordered arbitrarily once loaded).
Also removed old-school scene conversion.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1743 542714f4-19e9-0310-aa3c-eee0fc999fb1
It no longer stores base tiles that are not visable in the view,
in fact it stores the base tiles in an array almost half the size as the
fully expanded scene array, and this new smaller array is used everywhere:
when saving the scene, serializing it to the user, or saving it in
the database.
We must now use the getBaseTile() and setBaseTile() methods to access the
base tiles because they are stored in this compressed format.
Also removed the fringe layer completely from the MisoSceneModel.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1369 542714f4-19e9-0310-aa3c-eee0fc999fb1
accomodate the fringe layer and the way the ByteBuffer stuff works, it
writes out the whole enchilada even if there are a bunch of zeros at the
end.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1367 542714f4-19e9-0310-aa3c-eee0fc999fb1
the scene. This will eventually be interpreted by the scene rendering code
to allow objects to be clickable.
Also rewrote scene serialization code using new Java buffer services which
are much more efficient at reading and writing arrays of integers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@894 542714f4-19e9-0310-aa3c-eee0fc999fb1
things compile and most things run so this is a good time to checkpoint.
Let me recall:
- Refactored the whole scene deal.
- Revamped the XML parser stuff (now uses Digester).
- Rethought the tile management.
- Started tile bundle stuff.
- Wrote some tests.
- Did a bit of Mike-ification.
Onward and moreward.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@621 542714f4-19e9-0310-aa3c-eee0fc999fb1