Commit Graph

440 Commits

Author SHA1 Message Date
Michael Bayne 7ad2acca11 Bundles! Got all the tileset bundle stuff working and wrote some tests to
inrease my confidence in the use of the word "working".


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@635 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-21 02:42:16 +00:00
Michael Bayne 6c1051abed Repackaging now that I know what we want to do with the tools package.
Here's the policy:

Every top-level package has a tools package under which all subpackages
exist with their tools additions. For example:

com.threerings.media.tile.TileSet
com.threerings.media.tools.tile.XMLTileSetRuleSet
com.threerings.miso.scene.MisoScene
com.threerings.miso.tools.scene.EditableMisoScene


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@630 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-20 04:15:44 +00:00
Michael Bayne cc21ad8679 Javadoc fixes and cleanups.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@623 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-18 04:27:56 +00:00
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 d35f2894c1 Phase one of the scene refactoring (which will set the stage for all
manner of happiness and joy).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@615 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-12 20:56:56 +00:00
Michael Bayne 6278a8fd1f No longer need the _root directory.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@612 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-08 18:36:56 +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 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 933a427b68 Render scene tile layers inclusive of the fringe layer.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@578 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-27 01:37:37 +00:00
Michael Bayne b632510cb1 Javadoc edits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@576 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-26 01:40:22 +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
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 4b58a696ca Added the ability to specify one portal in a scene as the "default
entrance."  The default entrance is specially highlighted in the scene
and can be read from and written to XML scene description files.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@558 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-25 16:36:43 +00:00
Walter Korman 63a822862d Explicitly check to make sure two dirty items occupying the same tile
are sprites since that's what we're actually expecting.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@557 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-25 16:35:45 +00:00
Walter Korman c9535eca02 Simplified dirty item render sorting. General clean-up and comments.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@554 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-25 01:42:49 +00:00
Walter Korman 092d96509e We can't merge dirty rectangles for each dirty item when rendering
into a single rectangle, since doing so may cause new areas to be
dirtied that impact portions of other sprites or objects that won't
get properly redrawn.  Sigh.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@550 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-24 01:33:47 +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 64ed794d3d Removed unnecessary clipping.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@526 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-23 02:04:07 +00:00
Michael Bayne dc0df5bdf8 Javadoc updates.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@520 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-22 23:56:01 +00:00
Walter Korman c6a2a488d4 Don't allow diagonal steps that are impeded by an impassable tile.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@518 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-22 21:32:13 +00:00
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 69dd36f101 Created iso scene view model listener to handle modifications to the
scene view model more elegantly.  Updated editor and scene view panel
to make use of said listener.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@499 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-18 21:01:44 +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 511f2e13ee Fixed bug in checking whether two objects overlap horizontally.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@494 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-18 20:24:05 +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 1a1eda672d Store and make available the parent object associated with the shadow
tile.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@480 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-17 22:22:03 +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 b0a8f3b6fc Write the default scene tile in lieu of shadow tiles since shadow
tiles will be re-generated when the object footprint is stamped on
scene un-serialization.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@478 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-17 22:18:22 +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 ccc182e6f7 Modified to account for generic List objects returned by the
TileSetParser interface.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@451 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-12 16:38:59 +00:00
Walter Korman 15eca5d163 Made MisoTileSet an interface.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@449 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-12 00:43:04 +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
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 09ef3cd972 Decoupled MISO from Whirled. They now exist in a form that can be easily
combined in a game that wishes to use both of them, but MISO no longer
extends Whirled's Scene interfaces.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@400 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-10-05 23:58:36 +00:00
Michael Bayne e5849ab0b6 Added ability to set scene id and version to EditableScene.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@356 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-28 01:46:10 +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 b567223419 Added an id member which will be used to track the location's unique
identifier. (We'll need to be able to look locations up by id.)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@354 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-28 01:25:26 +00:00
Michael Bayne b22ccb7b71 Return a List rather than an ArrayList.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@353 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-28 01:24:54 +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 7c96663f44 Minor scene changes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@342 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-21 00:21:40 +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 87de9dc3ea Renamed method for retrieving images associated with ambulatory
sprites for increased specificity and modified comment accordingly.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@328 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-09-05 00:44:37 +00:00
Walter Korman 379b9f6e4c Created SelectableButton to allow highlighting a JButton when selected
without having to create a selected icon.  Changed editor and scene
map panel toolbars to make use of SelectableButton.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@322 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-08-30 01:15:19 +00:00