Commit Graph

48 Commits

Author SHA1 Message Date
Walter Korman 182306a5e4 Commented out verbose logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@582 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-02 01:09:08 +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
Michael Bayne 976e219f56 Moved PerformanceMonitor and PerformanceObserver into media.util to remove
dependencies of media on miso.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@562 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-25 22:08:29 +00:00
Walter Korman 6ff80f8a92 Don't merge dirty rectangles when moving a sprite if the rectangles
don't overlap.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@555 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-25 03:01:13 +00:00
Walter Korman 4b1f7af899 Merge any overlapping dirty rectangles before making them available to
outsiders.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@553 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-25 01:40:26 +00:00
Walter Korman 1dcad7f6b0 Create only a single dirty rectangle when a sprite moves. Cleaned up
bounds and rendered bounds discrepancies.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@552 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-25 01:39:38 +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 e4a101cfc2 On path completion, clear the path before observers are notified so
that they can assign a new path to the sprite should they choose to do
so.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@523 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-23 01:59:50 +00:00
Walter Korman 841f732174 Pass the dirty rectangle for a dirty item to its paint() method so
that we can join multiple dirty rectangles for an item into a single
larger item but still rely on the dirty item to know how to paint
itself.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@515 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-22 18:14:57 +00:00
Walter Korman 7d667778b1 We only need the dimensions for creating the offscreen image.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@514 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-22 18:13:51 +00:00
Walter Korman 1c6e066444 Allow sprite sub-classes to modify their render offset more easily.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@513 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-22 18:13:09 +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 336d99d0e9 Add sprites and objects to the dirty item list separately since the
latter have a bounds associated with them.  Dirty items can now paint
themselves to simplify scene-specific code.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@476 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-17 22:13:53 +00:00
Walter Korman c3229055e2 Basic implementation of an AnimatedView built on top of a JPanel.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@475 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-17 22:12:20 +00:00
Walter Korman 3773da79a6 More work on object tiles. Revamped isometric scene rendering to
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
2001-10-13 01:08:59 +00:00
Walter Korman 1cd07dc217 Notify sprites when a new path is begun. Made time-based animation
work.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@445 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-12 00:36:03 +00:00
Walter Korman ae5c9ba187 Minor comment edits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@341 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-17 23:55:45 +00:00
Walter Korman b9ac6f9e24 Added getOrientation() and a more extensible toString(). Fixed
notifyObservers() header comment to use correct parameter name.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@340 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-17 23:25:26 +00:00
Michael Bayne 00fde3eeb3 Modified sprite event mechanism to used classes derived from SpriteEvent
rather than codes to indicate different types of events. Also modified
name of sprite observer callback as spriteChanged() implies that the
sprite actually changed which it may not have, whereas handleEvent()
doesn't imply anything other than the sprite observer is being asked to
deal with a sprite event.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@338 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-13 19:36:20 +00:00
Michael Bayne 780e39d4e9 Modified animation manager to provide a timestamp with every tick.
Modified sprite and path code to make use of these timestamps to determine
a sprite's progress along the path. Abstracted the path stuff so that
paths other than line segment paths can be cleanly implemented.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@337 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-13 19:10:26 +00:00
Walter Korman 4553c01d6d Handle all sprite events at the end of each SpriteManager.tick() so
that observers can do things like remove sprites without unhappy
side-effects.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@335 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-07 23:01:53 +00:00
Walter Korman 1c5d03317b Allow specifying the units associated with the sprite velocity.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@331 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-05 21:51:43 +00:00
Walter Korman 4f92224a8f Minor comment re-formatting.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@327 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-05 00:40:33 +00:00
Walter Korman f15738ca20 Modified the animation manager to monitor the ancestor events
associated with the animated view's component so that the refresh
interval can be registered and unregistered based on component
visibility.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@311 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-23 00:23:58 +00:00
Michael Bayne c2fd4ed6c3 Modified sprite management so that if in the course of processing its
dirty rectangles, an animated view has to expand the dirty region, it can
call back to the sprite manager to determine whether this new, expanded
dirty region includes sprites that weren't previously considered to be
dirty. If so, those sprites' rendered bounds are added to the dirty
rectangle list being processed so that they will be properly redrawn
(which may trigger more sprites to be included and so on).

Also modified sprite internals in a cleany uppy sort of way.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@309 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-22 02:14:57 +00:00
Michael Bayne 8aed4795e1 Modified sprite to use iterator rather than enumerator. Made x and y
members protected and provided accessors. Added toString() to Path.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@300 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-21 21:18:42 +00:00
Michael Bayne eb13ed5cc1 Modified the animation interface not to take a target component and an
animated view, but to combine those so that the animated view provides the
necessary means by which to invalidate and paint. Now the SceneViewPanel
rather than the SceneView is what the animation manager talks to. It then
passes the necessary information on to the SceneView.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@297 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-21 20:02:39 +00:00
Michael Bayne bbd1eb9ced Modified sprites not to take a sprite manager reference upon construction
but to have it set by the sprite manager when it is requested to manage
them.

Modified sprite manager to invalidate the view when sprites are added and
removed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@295 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-21 19:40:30 +00:00
Michael Bayne bee0ae1ddb Provide a mechanism for unregistering a sprite.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@284 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-21 00:58:36 +00:00
Walter Korman a99829818f Changed exit to portal. Limit tile bounds to something reasonable
when invalidating the scene view.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@270 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-16 18:05:17 +00:00
Walter Korman 8520b2e84b Allow setting the sprite velocity to be used when following a path.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@262 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-15 22:48:41 +00:00
Walter Korman affc3e82b7 Fixed up path-finding, path-following, and tile coordinate drawing.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@260 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-15 22:06:21 +00:00
Michael Bayne 3eea4dcaad Moved sprite stuff into media package, removed coupling between miso stuff
and sprite stuff by added some interfaces in the sprite stuff and
implementing them with the miso stuff.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@245 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-14 23:35:22 +00:00
Michael Bayne 0d0cb7f8ec Moved sprite stuff into media package. Need to abstract out and remove
miso dependencies.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@244 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-14 22:54:45 +00:00
Walter Korman 49764d7b79 Use an array to mark dirty tiles. Added double-buffering to the
SceneViewPanel.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@194 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-08 03:19:39 +00:00
Walter Korman 91d5813b37 Altered animation manager to draw directly to the target's graphics
context.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@191 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-08 00:10:50 +00:00
Walter Korman b3e7f12f08 Work on dirty-tile rendering optimization. Added placeholder panels
to the viewer.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@187 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-07 18:29:18 +00:00
Walter Korman c09986bab0 Altered animation manager to separate construction from the start of
actual animation so that animating components can call
AnimationManager.start() when they know they're fully laid out and
ready to be regularly re-painted.  Return desired dimensions based on
requested scene bounds in SceneViewPanel.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@186 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-06 18:57:39 +00:00
Walter Korman 42967815e1 Created base SceneViewPanel that the editor and viewer apps extend.
Added fringe layer to scenes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@176 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-04 01:41:02 +00:00
Walter Korman 5d5b1cf0a4 Ignore path nodes if we're already there.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@170 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-04 00:36:33 +00:00
Walter Korman 5b390ea2ec Reworked AnimationManager's tick to make sure all action takes place
on the AWT thread.  Explicitly set the panel to be opaque and
non-double-buffered for better performance.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@154 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-02 23:12:19 +00:00
Walter Korman 254433f5fb Renamed MobileSprite to AmbulatorySprite and fixed up to face the
proper direction while following a path.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@153 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-02 21:02:57 +00:00
Walter Korman c41c097cd4 Create and have the sprite follow a path rather than explicitly
setting the sprite destination.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@152 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-02 20:43:03 +00:00
Walter Korman efb1881507 Use a polygon to determine whether a sprite is within a particular
tile.  Updated scene/tile dimensions and default scene to use 64x48
tiles.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@151 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-02 18:59:00 +00:00
Walter Korman 1032b8f325 Moved much of the IsoSceneView data into the IsoSceneModel. More work
on sprites and animation.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@138 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-02 00:42:02 +00:00
Walter Korman 82831f3baf Work on rendering a character in the scene and moving them about with
mouse-click events.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@134 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-31 01:38:28 +00:00
Walter Korman 11800e8a43 Added simple test character sprite to viewer application, and render
any involved sprites in IsoSceneView after each set of tiles is drawn.
Exit the viewer and editor applications on window close.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@133 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-30 15:38:52 +00:00
Walter Korman c76ae0ccf5 Initial version of mostly-placeholder sprite-related classes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@132 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-28 01:50:07 +00:00