Commit Graph

65 Commits

Author SHA1 Message Date
Walter Korman c7d26cea8e Fixed scene rendering issues and improved performance.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@517 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-22 18:21:42 +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 bcae50aa08 Render the placing tile to facilitate proper tile placement. Fixed up
tile highlighting accordingly on tile deletion and location actions.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@495 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-18 20:25:46 +00:00
Walter Korman bed0a2facb Invalidate objects, and any tiles, sprites or objects impacted by an
object's dirty rectangle, when invalidating dirty rectangles.
Commented out verbose logging.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@484 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-17 23:39:06 +00:00
Walter Korman 2ecd879692 More work on object placement, removal, and rendering within scenes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@479 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-17 22:21:22 +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 6638380a4d More work on object tiles.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@448 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-12 00:42:08 +00:00
Walter Korman 915e13ca12 Make sure screen coordinates that are converted to tile and full
coordinates when editing a scene are valid before forging ahead with
scene modifications.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@436 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-11 16:21:09 +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
Michael Bayne cdaea4bbab Waffle waffle. Changed MisoScene back to returning lists rather than
arrays for locations, portals and clusters.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@355 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-28 01:31:32 +00:00
Michael Bayne 2fb833fd5b Serious scene surgery.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@344 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-21 02:30:35 +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 a7c639ffe0 Modified MisoScene and related classes to obtain the scene tile
dimensions from the scene view data model.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@319 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-29 19:50:46 +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 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 cff9a1fbef Renamed IsoSceneModel to IsoSceneViewModel to reflect reality.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@261 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-15 22:16:43 +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 c701da25e4 Fixed initial minor bugs in path-finding.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@256 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-15 03:13:06 +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 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 1502dcaa06 Moved scene util classes into a separate package.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@243 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-14 21:29:40 +00:00
Walter Korman 546e39b0bb Added support for creating and editing exits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@229 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-13 05:42:36 +00:00
Walter Korman 60b47ff298 Reworked location placement so that the editor knows only about
Location objects and needn't muck about with full coordinates.
Beginning work on exit placement.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@214 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-11 00:00:13 +00:00
Walter Korman 356f15595e Draw locations such that orientation is apparent. Added support for
editing existing location information.
 CVS: ----------------------------------------------------------------------


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@213 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-10 23:07:04 +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 ff101fb4ef Renamed Spot to Cluster, replaced SpotGroup with ClusterUtil.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@211 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-10 01:31:25 +00:00
Walter Korman 9df1deef66 More work on editor support for location creation and editing.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@209 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-10 00:47:34 +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 506623be27 Fixed positioning bug in fineToPixel(), minor clean-up.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@207 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-09 17:04:56 +00:00
Walter Korman 0f6f771636 Highlight the fine coordinate on mouse-over when placing a location.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@206 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-09 06:26:52 +00:00
Walter Korman 6e7c8e29c5 Implemented tile deletion from the scene.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@205 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-09 05:44: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 3cbd25edf9 Draw top-to-bottom, left-to-right to preserve proper image overlaying.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@195 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-08 21:24:20 +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 31d1aa1edb Cleaned up editor user interface layout.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@168 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-04 00:22:19 +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 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 499646fe94 Fixed axis slope calculation to be based on tile width/height as it
should be.  Made tile coordinate painting be centered within tile and
spaced based on actual font dimensions.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@146 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-02 05:08:23 +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 a82e5f656d Added tileToScreen() and moved drawing of highlighted tile out of the
main tile-drawing loop now that we can.  Added comments.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@128 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-07-27 17:54:08 +00:00