Commit Graph

40 Commits

Author SHA1 Message Date
Michael Bayne 4dba269585 Finished support for shadows. This is all some seriously complicated shit, but
the shadows sure look cool.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3740 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-20 22:12:45 +00:00
Michael Bayne 882868abb4 Changed the way shadow layers will be handled because we only have a list of
components when creating our character and we need to be able to determine
which shadow layers are needed from the set of active components.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3739 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-20 18:10:03 +00:00
Michael Bayne b7e6480b6f The first steps toward supporting shadows and cropping in the character
compositing system. These changes will not affect systems (like Yohoho) that
don't use said features.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3729 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-13 00:00:33 +00:00
Michael Bayne 10e32b117f Made getActionFrames() public.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3723 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-05 21:57:34 +00:00
Michael Bayne 1a61beac13 Added getComponentRepository().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3721 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-05 03:37:58 +00:00
Michael Bayne 1f8c4578b7 LGPLed the library. Hello world.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3098 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-27 02:12:55 +00:00
Michael Bayne 61d46f2768 Import cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2968 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-25 14:39:34 +00:00
Michael Bayne 8a43bd0e23 Restructured action cache to cache composited action frames for a
particular orientation; additionally, all frames for a particular
orientation are generated immediately which is not much overhead once the
source tileset images are available and is an arguably better approach for
everything except walking where you might change orientations without
actually using all of the frames in a particular orientations animation
sequence; lowered action cache size to 1 meg now that it actually reflects
reality.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2195 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-20 19:37:58 +00:00
Michael Bayne 380762962b Cast manager now caches based on memory usage of the cached action frame
images, except that this is all fucked because the action frames get
generated on the fly which means that we'd need to update the LRU cache
with info on our new size which would hugely complicated things, so
instead we're going to rework the whole business in the future to cache
individually composited images rather than the whole goddamned action
frame kit and kaboodle.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2172 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-17 02:28:32 +00:00
Michael Bayne 6ab0215ea3 Created a prefs repository for the cast stuff; use a runtime adjustment to
obtain our cache size.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2151 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-15 02:36:59 +00:00
Michael Bayne 5c055d21a6 Revamped to support new media architecture. Added tunability to in-memory
action cache.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2118 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-13 22:53:04 +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
Michael Bayne a8fc75ca27 Freak out in an orderly and informative manner rather than NPEing if we go
to composite a set of action frames and one of the character components
has no individual action frames for the requested action.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2090 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-23 20:33:19 +00:00
Michael Bayne 6b273dbf0a Finished up custom render order support.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2070 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-16 03:08:39 +00:00
Walter Korman acaf39b070 Estimate memory usage in bytes rather than pixel area, assuming an int per
pixel for now.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2034 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-07 02:04:32 +00:00
Walter Korman ea545bcb66 Log the size of the cache along with its efficiency.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2033 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-07 01:10:25 +00:00
Michael Bayne 1558a6ec57 Throttle our action cache performance reports to once every 30 seconds.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2030 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-07 00:49:36 +00:00
Ray Greenwell c69bfc2ca3 use our LRU cache, report stats in debug.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1815 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-18 01:32:23 +00:00
Michael Bayne 0ddf11ab57 Major revampage to support composited actions that create images that are
exactly big enough to accomodate all of their trimmed components and no
bigger.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1501 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-06-19 23:31:57 +00:00
Walter Korman 830364c48d Increased the frame action cache size to 30 for now. We'll likely want to
allow setting this externally in the near future, but we'll iron that out
later when we get around to scrutinizing all of the caching business more
closely.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1462 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-06-14 21:15:31 +00:00
Michael Bayne 99c4330646 The vast and the sweeping. Modified the tile framework such that tiles no
longer provide access to their underlying image (they actually still do,
but not in the normal course of affairs). This will allow us to use
"trimmed" tiles which are trimmed to the smallest rectangle that contains
the non-transparent pixels in a tile image, which will shrink up our
components and other tiles a great deal.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1339 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-06 18:08:32 +00:00
Michael Bayne 37a1167fb5 Revamped component action animation support so that we're not passing
around arrays of multi-frame images but instead pass around one object
that knows how to render any action frame in any orientation. This
apparently fixed some horrible bug that we had introduced in doing JITC
and now the whole thing is super fast, just like I always thought it would
be. Once we introduce trimmed images, it will blaze!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1336 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-04 19:38:14 +00:00
Michael Bayne 554fb9e249 First pass at just in time compositing (JITC!). Things aren't quite as
fast as I'd have hoped, but I'm optimistic that the image compression
business that Walter and I are embarking upon will solve that handily.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1333 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-04 06:57:24 +00:00
Michael Bayne ccdacd96d5 Add additional method for getting a character using a special character
sprite derived class.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1250 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-15 23:06:49 +00:00
Walter Korman 76cff072be Split Sprite into Sprite and ImageSprite. Added LabelSprite. Cleaned up
directional constant usage.  Added ability to render sprites in two
distinct layers.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1132 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-16 03:15:06 +00:00
Michael Bayne 782bd9b7d9 Added support for colorization to the character manager. It is yet
untested.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1102 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-08 07:50:32 +00:00
Walter Korman 45f32c4622 Added resolveActionSequence() to provide a facility for letting the
character manager know that certain action sequences for a character
descriptor will be needed in the near future.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@984 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-10 00:05:36 +00:00
Walter Korman 2420c9a1a6 Actually reference the action cache when attempting to retrieve action
sequences.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@983 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-09 23:39:17 +00:00
Michael Bayne ed63ea9679 Provided hooks for a disk-based cache for composited action animations.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@956 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-07 03:20:29 +00:00
Michael Bayne 7d079a2bec Switch to new unified direction constants.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@818 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-17 03:34:04 +00:00
Michael Bayne c25741d8e6 Bundles! Have component bundles largely working. Wrote test code and ANT
tasks and XML parsing rule sets all the good stuff. Rewired up all the
cast code to be amenable to bundling and did some other revamping.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@640 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-27 08:09:35 +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 662b60e53e Update the character image immediately when a component is selected.
General clean-up.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@583 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-02 01:10:28 +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 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 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 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 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