Commit Graph

403 Commits

Author SHA1 Message Date
Michael Bayne 9faac13369 Added ability to construct a view model directly with the proper
parameters.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1016 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-18 00:37:55 +00:00
Michael Bayne 4b783c4482 Enhancements to support simple scrolling. A number of things don't work if
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
2002-02-17 23:45:36 +00:00
Michael Bayne fdf15f0f52 Moved config toggle for showing object footprints into the scene view
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
2002-02-17 08:09:11 +00:00
Michael Bayne 42261772a5 Modified scene interface so that tiles are requested directly so that we
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
2002-02-17 08:01:15 +00:00
Michael Bayne 1bd4668067 Minor code cleanup; didn't turn out to be useful to have the object action
in the object metrics record.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1006 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-17 07:30:45 +00:00
Michael Bayne 070c12fbbe Automatically precalculate our precalculatables rather than having some
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
2002-02-17 07:17:08 +00:00
Michael Bayne 318b476632 Create tile bounding polygons on demand; changed object tile handling such
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
2002-02-17 07:16:21 +00:00
Michael Bayne 8399c9a9cf Removed the code that was setting the clip as it wasn't actually doing
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
2002-02-12 08:54:49 +00:00
Michael Bayne 5fb9273941 Added code to deal with situations where the SceneViewPanel is smaller
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
2002-02-12 08:53:59 +00:00
Michael Bayne 683d5b2c4e Removed TODO as it was already done.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@962 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-07 20:02:53 +00:00
Michael Bayne 39db06672b Modified the AStar path algorithm to use the geometric distance to the
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
2002-02-07 19:57:24 +00:00
Walter Korman de2a0eee01 Meant to make tiles non-covered by default. "...change the poles from
plus to minus, and from minus to plus!"


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@955 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-07 02:58:46 +00:00
Michael Bayne 2ba2e7a994 No longer need the SwingSceneViewPanel.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@952 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-06 23:40:25 +00:00
Michael Bayne 923ff9e9a4 Third time's a charm. Why I thought I needed to invert the logic, I do not
know.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@951 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-06 23:38:45 +00:00
Michael Bayne 87c6c3e468 Whoops. Wasn't statuc.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@950 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-06 23:35:47 +00:00
Michael Bayne 1b7b8e5737 Added objectFootprintsOverlap(). It's used by the editor, but IsoUtil
seemed like the right place for it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@949 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-06 23:34:17 +00:00
Michael Bayne 554d11c62b Added support for rendering object footprints when rendering objects
(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
2002-02-06 23:14:56 +00:00
Michael Bayne 81ed1f42e8 Removed the ShadowTile and replaced it with facilities in the BaseTile to
"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
2002-02-06 17:13:06 +00:00
Michael Bayne 0f47b72787 Repackaging! Changed a bunch of foo.tools.bar to foo.bar.tools and brought
some other things up to date with changes that had been made to that
effect previously. I love the vast sweeping changes that come along with a
change of mind.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@933 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-05 20:29:10 +00:00
Michael Bayne cf536acc3e Add code to MisoSceneModel parser that handles the situation where a scene
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
2002-02-02 01:32:18 +00:00
Michael Bayne e351a54dec Moved miso.tools.scene into miso.scene.tools and same with
miso.tools.tile.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@915 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-02 01:09:53 +00:00
Walter Korman a63692e7b3 Javadoc fixes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@909 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-01-31 17:43:57 +00:00
Michael Bayne 71c7c4bdb2 Added getScene() and getHoverCoords().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@905 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-01-31 02:53:29 +00:00
Michael Bayne 899523d8b6 Removed debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@904 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-01-31 02:12:35 +00:00
Michael Bayne 4143fbf383 Set the default to never highlight objects.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@903 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-01-31 02:10:36 +00:00
Michael Bayne cc045d3fe3 Got object tile highlighting working. Now the IsoSceneView correctly keeps
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
2002-01-31 02:10:00 +00:00
Michael Bayne 0b78324abf Beginnings of support for the scene view to track the object (sprite or
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
2002-01-31 01:07:02 +00:00
Michael Bayne 02f7b90a67 Avoid some extra array allocation and fiddling if we've got zero or one
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
2002-01-31 01:04:54 +00:00
Michael Bayne a07282b2d2 Added support for associating an action with any of the object tiles in
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
2002-01-30 18:28:32 +00:00
Walter Korman 5510400f45 Pass a Graphics2D to AnimatedPanel.render() so that sub-classes needn't
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
2002-01-23 17:10:41 +00:00
Walter Korman 651ff37b66 Javadoc edits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@888 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-01-22 18:58:52 +00:00
Michael Bayne bcd203d045 No longer need to create our animation manager.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@884 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-01-19 07:04:46 +00:00
Walter Korman aa574a8182 Added support for animations to the animation manager. Moved animation
classes into their own package.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@849 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-01-11 16:17:34 +00:00
Walter Korman c677d08c50 Initial version of a Swing-based variant of the SceneViewPanel, which is
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
2002-01-08 22:19:29 +00:00
Walter Korman e3c4fd02b7 Initial work on making use of full-screen exclusive mode and additional
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
2002-01-08 22:16:59 +00:00
Michael Bayne 2b302cef07 Modified code that computes object tile bounds to account for new
overridable image origin.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@828 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-18 08:38:57 +00:00
Michael Bayne 4aef9a0d74 Removed commented out location painting code as it's now in its new home.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@827 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-18 08:38:33 +00:00
Michael Bayne 7d079a2bec Switch to new unified direction constants.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@818 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-17 03:34:04 +00:00
Michael Bayne 4f716cd540 Added a callback method that allows derived classes to paint things after
the base tiles have been painted, but before anything else. This allows us
to paint things that appear to be on the ground (like locations).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@802 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 08:31:17 +00:00
Walter Korman 9753d54608 Minor reformatting.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@794 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 06:10:33 +00:00
Walter Korman 1e1b5e1d4a Rejiggered the iso scene rendering yet again to address objects in the
scene that may partition two items, and to address the lack of a proper
total ordering of dirty items in the non-partitioned comparison case.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@792 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 05:42:16 +00:00
Michael Bayne 37b9ff1d20 Added getScreenCoords(), invalidateRect().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@785 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-15 04:20:55 +00:00
Walter Korman b00fdc6ab5 Use String.valueOf(int) to convert int to string.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@782 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-14 23:31:04 +00:00
Michael Bayne 54b02ad1ff Not to freak out if we have no scene.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@760 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-12 19:53:11 +00:00
Michael Bayne 3af0d8b1ee Added support for cloning scene models (we love doing multiple inheritance
by hand!).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@754 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-12 02:47:17 +00:00
Michael Bayne f1b92df3d1 Disected and reassembled things so that a miso scene can be constructed
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
2001-12-05 07:29:06 +00:00
Michael Bayne 7d108a256f Serialization jockeying.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@720 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-30 21:54:34 +00:00
Michael Bayne e3c84e212f Ok. Now we've *really* got the x,y vs. col,row business sorted out.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@715 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-29 23:35:59 +00:00
Michael Bayne 7ce8846420 If we're showing coordinates, also outline the tiles.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@714 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-29 23:35:37 +00:00
Michael Bayne d2dff11867 Fixed x,y vs. col,row thing once and for all. Also cleaned up object tile
footprint setting.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@711 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-29 23:08:28 +00:00