Commit Graph

95 Commits

Author SHA1 Message Date
Michael Bayne 42eb80a104 Tile coordinate calculations were booched.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@611 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-08 06:58:57 +00:00
Michael Bayne feb2a2633e A bunch of intertwingled changes:
Refactored TileSet into TileSet, UniformTileSet, SwissArmyTileSet and
ObjectTileSet.

Removed dependence on the "root" system property from the
XMLSceneRepository (things either pass in full paths now or input streams
fetched via the resource manager).

Removed MisoUtil.createImageManager() because everyone does that by hand
now (which is good because some non-Miso things were using MisoUtil for
that).

I think that's it, but if there was something else, don't blame me. Blame
the monkeys.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@608 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-08 03:04:45 +00:00
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 39966726aa More work on character components. Revamped tile sets to allow them
to be constructed and used directly.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@581 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-01 01:40:43 +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 0b181954df ImageManager was referencing miso.Log rather than media.Log.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@563 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-25 22:10:32 +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 95d6896ef7 Altered character animations to separate standing image from walking
animation images.  Created and made use of basic single- and
multi-image implementations of the MultiFrameImage interface.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@559 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-25 18:06:17 +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 9b3af10abe Renamed getPoint() for posterity.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@512 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-22 18:11:59 +00:00
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