From 2c9eb850da5090d0142ca565574ec54ed7351f6d Mon Sep 17 00:00:00 2001 From: Mark Johnson Date: Tue, 17 Oct 2006 20:41:23 +0000 Subject: [PATCH] Composite masks after generating the shadows so we can mask the shadows git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@57 ed5b42cb-e716-0410-a449-f6a68f950b19 --- .../com/threerings/cast/CharacterManager.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/java/com/threerings/cast/CharacterManager.java b/src/java/com/threerings/cast/CharacterManager.java index 55767c0e..015fc8bf 100644 --- a/src/java/com/threerings/cast/CharacterManager.java +++ b/src/java/com/threerings/cast/CharacterManager.java @@ -295,17 +295,6 @@ public class CharacterManager } } - // add any necessary masks - for (int ii = 0; ii < ccount; ii++) { - ComponentFrames cframes = (ComponentFrames)sources.get(ii); - CharacterComponent mcomp = (CharacterComponent)ccomps.get( - cframes.ccomp.componentClass.mask); - if (mcomp != null) { - cframes.frames = compositeMask(action, cframes.ccomp, - cframes.frames, mcomp); - } - } - // now create any necessary shadow layers if (shadows != null) { Iterator iter = shadows.entrySet().iterator(); @@ -320,6 +309,18 @@ public class CharacterManager } } + // add any necessary masks + for (int ii = 0, nn = sources.size(); ii < nn; ii++) { + ComponentFrames cframes = (ComponentFrames)sources.get(ii); + CharacterComponent mcomp = (CharacterComponent)ccomps.get( + cframes.ccomp.componentClass.mask); + if (mcomp != null) { + cframes.frames = compositeMask(action, cframes.ccomp, + cframes.frames, mcomp); + } + } + + // use those to create an entity that will lazily composite things // together as they are needed ComponentFrames[] cfvec = (ComponentFrames[])sources.toArray(