Commit Graph

350 Commits

Author SHA1 Message Date
Michael Bayne 340124d567 Need to incorporate render priority in every comparison; rather than
assuming equality for display object vs. non-display object comparison.
Instead assume non-display objects have render priority of zero.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2252 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-02-11 05:47:28 +00:00
Michael Bayne dbbd006c6a Account for partitioning objects that overlap the objects they partition;
account for render priority when sorting the partitioning objects.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2250 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-02-07 22:06:28 +00:00
Michael Bayne 3bada90f77 Handle non-existent object tiles gracefully.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2240 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-02-04 21:39:28 +00:00
Michael Bayne a5c01f8343 Added addObject().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2237 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-02-04 17:24:56 +00:00
Michael Bayne 5198206dfd Modified render priority handling so that a default priority can be
returned without modifying ObjectInfo.priority which would cause the
default priority to be written out as an overridden priority.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2235 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-02-04 03:33:09 +00:00
Michael Bayne 3a1ec157c2 Added fineToFull().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2232 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-02-04 03:11:13 +00:00
Michael Bayne e6796b2d55 The amazing revamp four hundred billion. Let's see:
- Reworked colorization repository such that we now have arbitrary named
  "colorization classes" which can be used by various and sundry entities
  to colorize themselves.

- Added support for individual object colorizations as well as "spots"
  that go along with objects (will be used to automatically create portals
  into buildings and automatically position users properly when at a
  "station").

- Repackaged things in miso to more closely mimic what we do everywhere
  else (no more miso.scene, now we have miso.data and miso.client).

- Fixed up miso scene XML representation so that objects can more easily
  be expanded to have yet more stuff if we think of more stuff that they
  might aught to have in the future. Structured the miso scene model so
  that "uninteresting" objects (those that simply sit somewhere and don't
  do anything) take up a lot less memory than "interesting" objects (those
  that have action strings, "spots", colorizations and the works). I may
  want to roll colorizations into the "uninteresting" realm, but that
  remains to be seen.

- Made it possible for object tilesets to specify default render
  priorities for objects in that tileset. This will hopefully allow us to
  get by without any "custom" render priorities that are specified on
  scene objects, instead relying on the default priorities to resolve
  common conflicts.

There are surely other cleanups in there, but I think that was the major
thrust of it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2228 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-31 23:10:46 +00:00
Walter Korman 2fc3e90773 Fixed typo.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2164 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-15 21:44:52 +00:00
Michael Bayne 1032c513e6 We love to do it with logic!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2163 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-15 21:43:33 +00:00
Walter Korman 26378d816f Fixed bug wherein we no longer considered off-screen coordinates to be
traversable.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2162 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-15 21:27:41 +00:00
Walter Korman 2314fa2059 Obsolete.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2160 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-15 21:13:01 +00:00
Walter Korman 90480544e1 Revised various iso scene view debug rendering options to be accessible
via the runtime adjustments.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2159 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-15 21:12:45 +00:00
Michael Bayne 8c831a0f9f Oh how I love to fiddle with the serialVersionUID.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2157 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-15 09:11:37 +00:00
Michael Bayne bafffbd6fd A repository for client side preferences for the miso package.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2156 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-15 07:41:31 +00:00
Walter Korman e4ed924095 Added runtime adjustment to toggle debug rendering that highlights covered
and non-traversable tiles.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2155 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-15 04:25:45 +00:00
Michael Bayne 5720be31a5 Have to pass in our friendly neighborhood image manager.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2137 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-14 02:50:54 +00:00
Michael Bayne 9233719363 Modified to support tile immutability and new media architecture; auto
fringer now generates fully stamped fringe tiles rather than tiles with a
list of images to be painted every time.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2120 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-13 22:55:12 +00:00
Michael Bayne b9be0aef92 Tiles are now immutable, so the DisplayMisoScene becomes the arbiter of
whether or not a traverser can traverse a tile.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2119 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-13 22:53:56 +00:00
Michael Bayne 1ce6951cb6 Repackaged a few things in media: sounds stuff went into media.sound and
image stuff went into media.image.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2100 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-08 04:09:03 +00:00
Walter Korman 1b27d90286 Initial version of runtime miso scene business.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2055 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-11 23:07:21 +00:00
Walter Korman 3ccbb4ad5b Whitespace change.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2053 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-11 23:05:07 +00:00
Walter Korman 53d4108602 Added temporary fringe debug logging so that we can assess time and memory
usage.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2037 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-07 02:30:37 +00:00
Michael Bayne 5373597143 Removed caching of tile coordinates as it was too fragile. It is easy to
forget to update a sprite's tile coordinates when updating its screen
coordinates and only TilePath could be used for sprites in the view and
generally a huge pain was incurred to avoid what isn't very expensive
which is to calculate a sprite's tile coordinates from its screen
coordinates when that sprite is involved in a repaint.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2029 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-05 23:06:30 +00:00
Michael Bayne 130d126238 Make it possible for other kinds of sprites to know and report their tile
coordinates.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2004 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-28 03:42:17 +00:00
Michael Bayne 26cd1188ae Improved documentation.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2003 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-28 03:41:58 +00:00
Michael Bayne 0c42e140b4 Changed code to report rather than freak out if it finds a non-Miso
sprite. It's possible that this is a normal occurrence, but until we
ascertain such, we'll go ahead and log what we find.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1978 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-20 22:16:54 +00:00
Michael Bayne 3736670fb0 Refuse to set a null scene.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1887 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-03 01:15:06 +00:00
Ray Greenwell dda1039dc0 Created changeHoverObject() to consolidate setting a new hover object and
do the required changes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1816 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-18 19:44:00 +00:00
Ray Greenwell c1a56db9c4 added hoverObjectChanged(), does nothing in this class.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1811 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-17 02:12:42 +00:00
Ray Greenwell 619ceb03af removed getTightObjectBounds(), unused and possibly buggy.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1808 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-16 20:39:46 +00:00
Ray Greenwell a5d00cb1ca - Added hook for adding additional objects to the scene other than those
provided by the DisplayMisoScene.
- If hover objects are SceneObjects, tell them when we start/stop hovering
  on them.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1806 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-16 01:55:22 +00:00
Ray Greenwell 1c0f405121 added setHovered() so that a SceneObject can be told when it is being
hovered over, and can request to have it's object tile repainted.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1805 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-16 01:53:57 +00:00
Ray Greenwell 86c9fa82cf if two items are in the same tile, render the sprite on top.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1804 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-16 01:53:10 +00:00
Ray Greenwell be2bc4205b Anally removed Comparator.equals() implementations that overrode
Object.equals() with equivalent functionality.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1799 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-15 21:01:39 +00:00
Ray Greenwell a0730067ec Pulled out gobs of Sprite/Animation functionality into AbstractMedia.
Pulled out gobs of SpriteManager/AnimationManager functionality into
  AbstractMediaManager.
The big change: sprites can have their render order fine-tuned like
animations.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1787 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-08 21:03:37 +00:00
Michael Bayne 7dccce81c5 Account for sprite render priority when sorting sprites.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1758 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-26 23:35:10 +00:00
Walter Korman 6fc4c718ab Properly return an explicitly-specified preferred size in
getPreferredSize().


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1750 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-24 07:56:25 +00:00
Michael Bayne 64bb4715cc Added le big hackola, grabNewObjects(), to tide us over until IsoSceneView
properly obtains new objects as they are scrolled into view (which I won't
be doing for Alpha (tm)).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1749 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-24 05:33:51 +00:00
Michael Bayne 0a90590134 Exposed getScene().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1748 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-24 05:33:05 +00:00
Michael Bayne ddb9734501 Create an object priorities array if none is specified in the XML.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1745 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-23 23:53:33 +00:00
Michael Bayne 68af441fbf Objects now have explicit render priorities rather than relying on the
order in which they were added to the scene (that information is no longer
available as objects are reordered arbitrarily once loaded).

Also removed old-school scene conversion.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1743 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-23 23:07:11 +00:00
Michael Bayne 92c8748c7c More progress toward arbitrarily scrollable scenes. The IsoSceneView still
requests all objects in God's green earth, but we now have the necessary
structures for it to request new objects as they scroll (nearly) into view
and for it to abandon objects as they scroll (way) out of view.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1742 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-23 21:54:50 +00:00
Michael Bayne 552d73de59 Used to keep around all visible (or nearly visible) objects in a scene.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1741 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-23 21:53:23 +00:00
Michael Bayne 9fb0de8e29 Miso scene revamp to more cleanly deal with object tiles and their
associated metrics. Also fixed render order handling such that any
overlapping object tiles are rendered in the order that they are added to
the scene. This gives us control over what to do in situations that are
impossible to determine based on object footprint alone.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1708 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-18 02:32:57 +00:00
Ray Greenwell 6419d06f3c Fixed offscreen determination.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1677 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-13 00:51:19 +00:00
Michael Bayne d287fa7195 Catch tile exceptions and report them instead of giving birth to a sizable
member of the bovine community.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1673 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-12 21:10:31 +00:00
Walter Korman 6bff0d778a Added getObjectTileBounds() to get the bounds of a particular object in a
scene.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1663 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-05 02:21:54 +00:00
Michael Bayne 11d84452bb Whoops. Need the right modifiers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1651 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-19 22:58:15 +00:00
Michael Bayne 4cbd454b24 Added serialVersionUID to the various classes we serialize for
configuration reasons to avoid annoying "recompile and nothing works"
phenomenon. We'll opt for the "make incompatible class change and nothing
works" scenario instead.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1650 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-19 22:28:05 +00:00
Michael Bayne eb0f92fcef Brought things into line with new streaming world order.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1607 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-23 05:54:53 +00:00