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
requests all objects in God's green earth, but we now have the necessary
structures for it to request new objects as they scroll (nearly) into view
and for it to abandon objects as they scroll (way) out of view.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1742 542714f4-19e9-0310-aa3c-eee0fc999fb1
associated metrics. Also fixed render order handling such that any
overlapping object tiles are rendered in the order that they are added to
the scene. This gives us control over what to do in situations that are
impossible to determine based on object footprint alone.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1708 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
actions unless we're actually loaded into the editor and turned into a
real editable scene.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1315 542714f4-19e9-0310-aa3c-eee0fc999fb1
list of objects, they can overlap (I think that objects added to a scene
later will be rendered before objects added earlier which ends up feeling
natural in the editor); no longer are objects ignored when their footprint
lies outside the scene bounds.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1302 542714f4-19e9-0310-aa3c-eee0fc999fb1
Clearing a base tile sets it to a random tile from the default tileset.
setBaseTiles() now takes a tileset and fills the rectangular area with
random tiles from that set.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1227 542714f4-19e9-0310-aa3c-eee0fc999fb1
- removed tabs
- explicitly specify imports
- I made each comment a complete and punctuated sentance.
- other minor convention changes
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1155 542714f4-19e9-0310-aa3c-eee0fc999fb1
have coordinates outside of the normal scene coordinates.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1150 542714f4-19e9-0310-aa3c-eee0fc999fb1
"cover" a tile with an object tile. While a tile is covered, it is
impassable. This allows us to have base tiles under object tile footprints
that are rendered, but not traversable by character sprites.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@944 542714f4-19e9-0310-aa3c-eee0fc999fb1
with a single object that has no action string gets parsed as a scene with
zero action strings instead of a scene with a single empty action string.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@916 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
without a tile manager, which can be provided later, at which point all of
the tiles will be resolved. Also made it possible to replace the model in
a partially constructed scene. How's that for a turn of phrase: partially
constructed scene. Wheee!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@743 542714f4-19e9-0310-aa3c-eee0fc999fb1
other model classes; was passing tile coordinates backwards to tile layer
objects.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@668 542714f4-19e9-0310-aa3c-eee0fc999fb1
Here's the policy:
Every top-level package has a tools package under which all subpackages
exist with their tools additions. For example:
com.threerings.media.tile.TileSet
com.threerings.media.tools.tile.XMLTileSetRuleSet
com.threerings.miso.scene.MisoScene
com.threerings.miso.tools.scene.EditableMisoScene
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@630 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
Refactored TileSet into TileSet, UniformTileSet, SwissArmyTileSet and
ObjectTileSet.
Removed dependence on the "root" system property from the
XMLSceneRepository (things either pass in full paths now or input streams
fetched via the resource manager).
Removed MisoUtil.createImageManager() because everyone does that by hand
now (which is good because some non-Miso things were using MisoUtil for
that).
I think that's it, but if there was something else, don't blame me. Blame
the monkeys.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@608 542714f4-19e9-0310-aa3c-eee0fc999fb1
entrance." The default entrance is specially highlighted in the scene
and can be read from and written to XML scene description files.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@558 542714f4-19e9-0310-aa3c-eee0fc999fb1
tiles will be re-generated when the object footprint is stamped on
scene un-serialization.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@478 542714f4-19e9-0310-aa3c-eee0fc999fb1
that have no specified layer. Made the scene editor gracefully handle
the case where there are no valid tile sets for use with the selected
scene layer.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@461 542714f4-19e9-0310-aa3c-eee0fc999fb1
gather dirty sprites and objects and render after base and fringe tile
layers. Add shadow tiles in the footprint of objects to make them
impassable.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@460 542714f4-19e9-0310-aa3c-eee0fc999fb1
Made TileSet an interface. Throw exceptions for unknown tile or tile
set requests. General clean-up and documentation.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@427 542714f4-19e9-0310-aa3c-eee0fc999fb1
combined in a game that wishes to use both of them, but MISO no longer
extends Whirled's Scene interfaces.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@400 542714f4-19e9-0310-aa3c-eee0fc999fb1
Standardized config key member data names to match those used in the
cocktail code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@318 542714f4-19e9-0310-aa3c-eee0fc999fb1