Commit Graph

50 Commits

Author SHA1 Message Date
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 a85ba5e2c6 Fetch things via the resource manager. Modified code to create resource
manager and then create image manager as well where appropriate.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@604 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-08 02:58:24 +00:00
Walter Korman e9211f8fd5 Moved TileUtil to cast.util, added CastUtil to provide an easy way to
get a random character descriptor for use until we have fancified
storage of character descriptions.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@587 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-02 15:28:20 +00:00
Walter Korman bd998aff3d Added getImageManager() to the miso context.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@586 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-02 03:09:10 +00:00
Walter Korman 1a3ed6e45a Renamed XMLFile* classes to just XML*.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@585 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-02 02:52:16 +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 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 57ba4b0e9c Utilize two mouse buttons to allow creating paths for either the user
sprite or the decoy sprites.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@577 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-27 01:35:21 +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 c0e31c9d3b Don't allow resizing, and don't bother retrieving the tile manager
since we don't need it here any more.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@556 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-25 16:33:20 +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 cb7dd5a521 Added facilities for creating a veritable slew of dummy sprites that
walk around at random.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@525 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-23 02:03:49 +00:00
Walter Korman 7bd5d86c34 Use a mouse adapter to listen to mouse events.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@516 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-22 18:15:57 +00:00
Walter Korman 381dc55b69 Miscellaneous clean-up.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@477 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-17 22:16:04 +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 bc9a03988a Removed unused test panels.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@435 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-11 16:20:06 +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 6d81a6e571 Can't highlight clicked tile for testing anymore because we're not using
an EditableSceneView. The comment said it was a hack anyway. :)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@371 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-01 22:18:24 +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 84f2a373cd Allow specifying the scene file to load on the command-line.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@329 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-05 00:45:27 +00:00
Walter Korman 8c7efb79fe Made iso scene view configuration part of the miso properties file.
Standardized config key member data names to match those used in the
cocktail code.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@318 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-29 18:41:46 +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 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 30a6e3f3a2 AmbulatorySprite no longer takes a SpriteManager at construct time.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@296 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-21 19:41:58 +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 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 a07f5d4d13 Changed Scene to MisoScene. Made MisoScene implement Whirled's Scene
interface.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@249 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-15 01:08:49 +00:00
Michael Bayne 8d017e268f Because only the editor and viewer even care about the scene repository,
we're eliminating the concept entirely from the MISO runtime stuff and
having the editor and viewer just talk directly to the XML file scene
repository.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@247 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-15 00:10:59 +00:00
Michael Bayne d26dc0372e Helped the scene manager to depart from the scene. The viewer and editor
applications really need to deal directly with the scene repository. The
display part of the MISO code doesn't need a scene manager, per se,
because it is simply told to visualize a particular scene and scene
management happens entirely externally. This is in preparation for making
the MISO code work and place nicely with the Whirled code.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@246 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-15 00:00:52 +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
Walter Korman 8d7c2fc4e9 Fixed bug in saving clusters to XML. Added checkbox to editor to
allow display of locations and cluster indexes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@212 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-10 21:17:07 +00:00
Walter Korman 5770a15d3c Added more support for full and fine coordinates. Constrain path
destinations to full coordinates.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@198 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-08 22:29:39 +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 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 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 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 9eba46d700 Initial version of viewer application to allow playtesting of scenes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@124 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-25 17:38:15 +00:00