Commit Graph

190 Commits

Author SHA1 Message Date
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 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 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
Michael Bayne e5c3967f9a Changed _scenemodel to _viewmodel.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@688 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-29 20:33:16 +00:00
Michael Bayne 455062779d Was populating the display scene from the model incorrectly.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@677 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-29 19:30:51 +00:00
Michael Bayne 2ad3f03a34 Changed MisoTile to BaseTile.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@654 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-27 22:17:42 +00:00
Michael Bayne ae1052a371 Oh the vast sweeping changes, and they're not even close to complete, but
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
2001-11-18 04:09:23 +00:00
Michael Bayne d35f2894c1 Phase one of the scene refactoring (which will set the stage for all
manner of happiness and joy).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@615 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-12 20:56:56 +00:00
Walter Korman 3ea91cdfdd More work on character components.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@579 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-30 16:16:01 +00:00
Walter Korman 933a427b68 Render scene tile layers inclusive of the fringe layer.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@578 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-27 01:37:37 +00:00
Michael Bayne b632510cb1 Javadoc edits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@576 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-26 01:40:22 +00:00
Walter Korman d102a47f13 Abstracted character-sprite-related activity to the cast package in
preparation for character component compositing and other
character-related antics.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@575 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-26 01:17:22 +00:00
Walter Korman 4b58a696ca Added the ability to specify one portal in a scene as the "default
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
2001-10-25 16:36:43 +00:00
Walter Korman 63a822862d Explicitly check to make sure two dirty items occupying the same tile
are sprites since that's what we're actually expecting.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@557 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-25 16:35:45 +00:00
Walter Korman c9535eca02 Simplified dirty item render sorting. General clean-up and comments.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@554 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-25 01:42:49 +00:00
Walter Korman 092d96509e We can't merge dirty rectangles for each dirty item when rendering
into a single rectangle, since doing so may cause new areas to be
dirtied that impact portions of other sprites or objects that won't
get properly redrawn.  Sigh.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@550 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-24 01:33:47 +00:00
Walter Korman c839b61548 More polishing work on scene rendering.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@543 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-24 00:55:08 +00:00
Walter Korman 64ed794d3d Removed unnecessary clipping.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@526 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-23 02:04:07 +00:00
Michael Bayne dc0df5bdf8 Javadoc updates.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@520 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-22 23:56:01 +00:00
Walter Korman c6a2a488d4 Don't allow diagonal steps that are impeded by an impassable tile.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@518 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-22 21:32:13 +00:00
Walter Korman c7d26cea8e Fixed scene rendering issues and improved performance.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@517 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-22 18:21:42 +00:00
Walter Korman ef97b42acd Revamped iso scene rendering yet again to remove unnecessary dirty
rectangle propagation and to only render the dirty portions of dirty
objects and sprites.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@509 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-19 23:26:31 +00:00
Walter Korman 69dd36f101 Created iso scene view model listener to handle modifications to the
scene view model more elegantly.  Updated editor and scene view panel
to make use of said listener.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@499 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-18 21:01:44 +00:00
Walter Korman bcae50aa08 Render the placing tile to facilitate proper tile placement. Fixed up
tile highlighting accordingly on tile deletion and location actions.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@495 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-18 20:25:46 +00:00
Walter Korman 511f2e13ee Fixed bug in checking whether two objects overlap horizontally.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@494 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-18 20:24:05 +00:00
Walter Korman bed0a2facb Invalidate objects, and any tiles, sprites or objects impacted by an
object's dirty rectangle, when invalidating dirty rectangles.
Commented out verbose logging.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@484 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-17 23:39:06 +00:00
Walter Korman 2ecd879692 More work on object placement, removal, and rendering within scenes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@479 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-17 22:21:22 +00:00
Walter Korman 00d57dfb92 Added character manager and character descriptions. Allow tile sets
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
2001-10-15 23:53:43 +00:00