of the bottom of its footprint. This allows objects to spill out beyond
their footprint (and not get clipped) as long as they are otherwise well
behaved.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1172 542714f4-19e9-0310-aa3c-eee0fc999fb1
to the shape of the bottom of the object footprint; renamed the old method
and left it around in case we want to use it later.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1171 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
directional constant usage. Added ability to render sprites in two
distinct layers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1132 542714f4-19e9-0310-aa3c-eee0fc999fb1
panel; restructured things so everyone deals with "view" coordinates
rather than screen coordinates and the animated panel takes care of doing
the final translation before rendering.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1065 542714f4-19e9-0310-aa3c-eee0fc999fb1
sprites to the screen which takes care of assigning their tile
coordinates.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1048 542714f4-19e9-0310-aa3c-eee0fc999fb1
scrolling so that it can do so with the actual dimensions of the panel
(the scene view only knows how big its model wants to be). Changed
scrollView to viewWillScroll to more accurately reflect what's going on.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1036 542714f4-19e9-0310-aa3c-eee0fc999fb1
highlighting objects and the object's action status is in line with
whether or not we're only highlighting objects with actions. Also changed
some things to support the new, simpler, AnimatedView interface.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1023 542714f4-19e9-0310-aa3c-eee0fc999fb1
a scene view model rather than a config object from which it would create
a model.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1017 542714f4-19e9-0310-aa3c-eee0fc999fb1
the view is scrolled, like object tiles, mouse coordinate computation and
pretty much anything other than rendering a scrolling background under
some sprites. Someday we'll probably want to sort out all that other
business, but not under current monthstone circumstances.
Note: the scrolling still feels a bit choppy (even under Windows) which is
annoying, but I'm doing everything by the book and have spent too much
time fine tuning it already, so we'll have to come back to this later if
we're not happy with the visuals.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1012 542714f4-19e9-0310-aa3c-eee0fc999fb1
model where it resides happily with existing toggles for showing
coordinates and sprite paths; did some other cosmetic cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1008 542714f4-19e9-0310-aa3c-eee0fc999fb1
can implement "virtual" scenes which return tiles infinitely in all
directions in anticipation of supporting scrolling.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1007 542714f4-19e9-0310-aa3c-eee0fc999fb1
external entity instruct us to do so. We always want them and they're not
that expensive to calculate.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1005 542714f4-19e9-0310-aa3c-eee0fc999fb1
that a list of object metric records is used rather than a hashtable
mapping tile coords to object tile bounding polygons because we were never
doing a hash lookup, only iterating over the whole table.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1004 542714f4-19e9-0310-aa3c-eee0fc999fb1
anything. The clip is already properly set before render() is called.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@993 542714f4-19e9-0310-aa3c-eee0fc999fb1
than the IsoSceneView wants to be. Presently we simply center the scene
view, but we'll later be adding the ability to set a rectangle on which to
focus the scene view when shrunk so that the user can always see their own
character.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@992 542714f4-19e9-0310-aa3c-eee0fc999fb1
goal as its distance estimate and to assign a higher cost to diagonal
traversal than to orthogonal traversal.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@961 542714f4-19e9-0310-aa3c-eee0fc999fb1
(useful in the editor to see what's traversable and what's not).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@948 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
track of the front-most object that the mouse is over.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@902 542714f4-19e9-0310-aa3c-eee0fc999fb1
object tile) over which the mouse is hovering. The iso scene view will
also support highlighting the object tile over which the mouse is hovering
as well as base tile highlighting to make the editor's life easier.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@900 542714f4-19e9-0310-aa3c-eee0fc999fb1
items in our dirty item list. No need for sorting and copying in such
cases.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@899 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
explicitly typecast it on their own, as they are almost invariably wont to
do.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@890 542714f4-19e9-0310-aa3c-eee0fc999fb1
possibly only a temporary workaround intended to allow the scene editor to
work. BufferStrategy-style rendering only works with Window or Canvas
objects, but the scene editor is a full-fledged Swing application and if
the scene view panel isn't a Swing component then menus and other things
won't render properly on top of it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@848 542714f4-19e9-0310-aa3c-eee0fc999fb1
rendering optimizations available in JDK 1.4. Use a BufferStrategy, and
changed AnimatedPanel to extend Canvas rather than JPanel.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@847 542714f4-19e9-0310-aa3c-eee0fc999fb1