Commit Graph

78 Commits

Author SHA1 Message Date
Walter Korman 97940360dc Removed image from toString().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@511 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-22 18:11:25 +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 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
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 9fc38238a6 Tile sets that are specified as object tile sets now always produce
object tiles.  If no dimensions are specified for an object, it
defaults to 1x1 unit tile units.  The media package supports
specification of tilesets as object tile sets via the "layer"
attribute.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@450 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-12 16:36:58 +00:00
Walter Korman e8d41b9592 More work on object tiles. Simplified tile set manager as the editor
will now obtain tile set information directly from the tile sets.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@446 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-12 00:38:15 +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 ad7b64d4a1 Initial work on support for objects whose images span multiple tiles.
Made TileSet an interface.  Throw exceptions for unknown tile or tile
set requests.  General clean-up and documentation.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@427 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-11 00:41:27 +00:00
Walter Korman 95ba5ef9cf Separate the notion of tile passability from tile objects since
passability is specific to the miso layer.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@405 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-08 21:04:26 +00:00
Michael Bayne c69e46be21 Added getTileId() which returns the fully qualified tile id.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@352 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-28 01:24:27 +00:00
Walter Korman da1484a019 Don't attempt to put a tile in the tile cache if we didn't retrieve it
from the tileset manager successfully.  Cleaned up comments.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@350 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-28 00:44:31 +00:00
Walter Korman 56238e7820 Read tileset id and name from attributes of the tileset tag.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@347 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-27 18:43:08 +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 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