Commit Graph

212 Commits

Author SHA1 Message Date
Michael Bayne ec1cf5c667 Changed IntMap to HashIntMap.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@339 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-17 05:18:21 +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 627896ce59 Renamed Graphics2D variable to conform to naming elsewhere.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@332 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-06 01:35:05 +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 24df6a0968 Added convenience method to allow adding a node to a path without
specifying a direction.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@326 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-05 00:40:17 +00:00
Walter Korman 6d5a41d834 Return a null tile if a non-existent tile id is requested.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@321 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-30 01:13:08 +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
Michael Bayne d89f7ed454 Moved TileSetManagerImpl into the media.tile package because it's useful
for any derived class implementing TileSetManager.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@274 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-16 23:17:46 +00:00
Michael Bayne 8376b6e9fa Extracted tile code from MISO and moved it into it's own package in media
because it's general purpose.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@273 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-16 23:14:21 +00:00
Walter Korman 722073eca6 Cleaned up XML parsing to store temporary info more cleanly. Initial
work on scene group parser.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@271 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-16 20:14:06 +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
Walter Korman 0616f0f464 Moved AmbulatorySprite around and made it implement the Traverser
interface.  Initial version of AStarPathUtil and hooked it in to
SceneView.getPath().  Not yet tested.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@255 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-15 02:30:28 +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 18e6b0b95b Added passability to tile objects. Changed TileSetManager to retrieve
tiles in their entirety from their TileSet.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@231 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-13 19:54:39 +00:00
Walter Korman d54d562992 Updated comments.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@230 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-13 15:00:24 +00:00
Walter Korman 593d17aeb5 Reworking exits and locations en route to editor support for placement
within a scene.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@208 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-09 21:17:06 +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 6b423cd53a Modified to save element contents on endElement() rather than when
character data is read since character data may come in chunks.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@193 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-08 00:33:54 +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 17e402121c Determine proper compass direction to assign path nodes. Added
conversion routines for fine and full coordinates, and moved
iso-related utility functions to IsoUtil.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@167 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-03 22:23:47 +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
Walter Korman f39087cfc3 Removed verbose logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@131 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-28 01:35:06 +00:00
Walter Korman 92e46c6eae Added row-based tile width, image offset, and image row/column gap
distance parameters to tile sets.  Removed constant tile width/height
references except, for now, for isometric tile rendering which still
requires tiles that are 32x16.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@130 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-28 01:31:51 +00:00
Walter Korman 15bb149600 More work on parsing scene XML files.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@120 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-24 22:52:02 +00:00
Walter Korman f02475b4c2 Initial work on reading and writing scenes to XML files.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@113 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-23 22:31:48 +00:00
Walter Korman 2572535f95 General updating per initial code review. Created EditableSceneView
to separate scene display from editing functionality.  Load and
initialize managers in a fashion that more appropriately hides the
implementation details.  Tidied comments up a bit.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@103 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-23 18:52:51 +00:00
Walter Korman ab7c437a35 Brought into the newly revamped world of contexts. Moved SwingUtil to
samskivert.  Added config values to specify the tileset manager and
scene manager.  Split miso and editor config into two separate
properties files.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@101 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-21 01:51:10 +00:00
Walter Korman 1fae8e43b1 Moved XMLUtil to com.samskivert.xml.XMLUtil.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@96 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-20 23:41:12 +00:00